aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMario Vavti <mario@mariovavti.com>2016-10-12 12:13:44 +0200
committerMario Vavti <mario@mariovavti.com>2016-10-12 12:13:44 +0200
commitcf547be1d6900d12719a9372cbc1a5d433d31863 (patch)
tree03a525cf40905adafc21b0c4146e467bad288437
parent29617737ca2c03c800ebbe4701dc21cf9f25ce22 (diff)
parent16da1a4e810889448eecbd13d68183a820bcebe2 (diff)
downloadvolse-hubzilla-cf547be1d6900d12719a9372cbc1a5d433d31863.tar.gz
volse-hubzilla-cf547be1d6900d12719a9372cbc1a5d433d31863.tar.bz2
volse-hubzilla-cf547be1d6900d12719a9372cbc1a5d433d31863.zip
Merge branch '1.14RC'
-rw-r--r--CHANGELOG86
-rw-r--r--Zotlabs/Daemon/Cron.php4
-rw-r--r--Zotlabs/Daemon/Externals.php2
-rw-r--r--Zotlabs/Daemon/Notifier.php2
-rw-r--r--Zotlabs/Daemon/Onepoll.php11
-rw-r--r--Zotlabs/Daemon/Poller.php6
-rw-r--r--Zotlabs/Lib/Api_router.php24
-rw-r--r--Zotlabs/Lib/Apps.php2
-rw-r--r--Zotlabs/Lib/Enotify.php68
-rw-r--r--Zotlabs/Lib/ExtendedZip.php57
-rw-r--r--Zotlabs/Lib/SuperCurl.php2
-rw-r--r--Zotlabs/Lib/System.php2
-rw-r--r--Zotlabs/Lib/ThreadItem.php18
-rw-r--r--Zotlabs/Module/Acl.php2
-rw-r--r--Zotlabs/Module/Admin.php2005
-rw-r--r--Zotlabs/Module/Admin/Account_edit.php64
-rw-r--r--Zotlabs/Module/Admin/Accounts.php206
-rw-r--r--Zotlabs/Module/Admin/Channels.php186
-rw-r--r--Zotlabs/Module/Admin/Dbsync.php68
-rw-r--r--Zotlabs/Module/Admin/Features.php74
-rw-r--r--Zotlabs/Module/Admin/Logs.php101
-rw-r--r--Zotlabs/Module/Admin/Plugins.php470
-rw-r--r--Zotlabs/Module/Admin/Profs.php169
-rw-r--r--Zotlabs/Module/Admin/Queue.php54
-rw-r--r--Zotlabs/Module/Admin/Security.php123
-rw-r--r--Zotlabs/Module/Admin/Site.php323
-rw-r--r--Zotlabs/Module/Admin/Themes.php233
-rw-r--r--Zotlabs/Module/Api.php57
-rw-r--r--Zotlabs/Module/Apps.php1
-rw-r--r--Zotlabs/Module/Attach.php2
-rw-r--r--Zotlabs/Module/Channel.php13
-rw-r--r--Zotlabs/Module/Connect.php4
-rw-r--r--Zotlabs/Module/Connedit.php8
-rw-r--r--Zotlabs/Module/Directory.php10
-rw-r--r--Zotlabs/Module/Dirsearch.php4
-rw-r--r--Zotlabs/Module/Display.php3
-rw-r--r--Zotlabs/Module/Dreport.php2
-rw-r--r--Zotlabs/Module/Events.php4
-rw-r--r--Zotlabs/Module/Fhublocs.php4
-rw-r--r--Zotlabs/Module/Filestorage.php4
-rw-r--r--Zotlabs/Module/Getfile.php35
-rw-r--r--Zotlabs/Module/Help.php98
-rw-r--r--Zotlabs/Module/Import.php4
-rw-r--r--Zotlabs/Module/Invite.php15
-rw-r--r--Zotlabs/Module/Item.php269
-rw-r--r--Zotlabs/Module/Lostpass.php47
-rw-r--r--Zotlabs/Module/Magic.php2
-rw-r--r--Zotlabs/Module/Mail.php4
-rw-r--r--Zotlabs/Module/Manage.php2
-rw-r--r--Zotlabs/Module/Network.php8
-rw-r--r--Zotlabs/Module/New_channel.php9
-rw-r--r--Zotlabs/Module/Oembed.php4
-rw-r--r--Zotlabs/Module/Pdledit.php8
-rw-r--r--Zotlabs/Module/Photo.php57
-rw-r--r--Zotlabs/Module/Photos.php64
-rw-r--r--Zotlabs/Module/Profiles.php2
-rw-r--r--Zotlabs/Module/Pubsites.php23
-rw-r--r--Zotlabs/Module/Rate.php10
-rw-r--r--Zotlabs/Module/Ratings.php14
-rw-r--r--Zotlabs/Module/Register.php15
-rw-r--r--Zotlabs/Module/Removeaccount.php2
-rw-r--r--Zotlabs/Module/Removeme.php2
-rw-r--r--Zotlabs/Module/Rpost.php4
-rw-r--r--Zotlabs/Module/Search_ac.php95
-rw-r--r--Zotlabs/Module/Settings.php1255
-rw-r--r--Zotlabs/Module/Settings/Account.php135
-rw-r--r--Zotlabs/Module/Settings/Channel.php556
-rw-r--r--Zotlabs/Module/Settings/Display.php240
-rw-r--r--Zotlabs/Module/Settings/Featured.php37
-rw-r--r--Zotlabs/Module/Settings/Features.php53
-rw-r--r--Zotlabs/Module/Settings/Oauth.php160
-rw-r--r--Zotlabs/Module/Settings/Tokens.php172
-rw-r--r--Zotlabs/Module/Setup.php86
-rw-r--r--Zotlabs/Module/Theme_info.php71
-rw-r--r--Zotlabs/Module/Update_channel.php2
-rw-r--r--Zotlabs/Module/Webpages.php326
-rw-r--r--Zotlabs/Module/Xrd.php2
-rw-r--r--Zotlabs/Render/Comanche.php70
-rwxr-xr-xZotlabs/Render/SmartyTemplate.php12
-rw-r--r--Zotlabs/Render/Theme.php11
-rw-r--r--Zotlabs/Storage/Browser.php29
-rw-r--r--Zotlabs/Storage/Directory.php90
-rw-r--r--Zotlabs/Web/SubModule.php43
-rwxr-xr-xboot.php101
-rw-r--r--doc/Developers.md2
-rw-r--r--doc/Features.md2
-rw-r--r--doc/Plugins.md12
-rw-r--r--doc/Privacy.md6
-rw-r--r--doc/Translations.md2
-rw-r--r--doc/account_basics.bb2
-rw-r--r--doc/addons_gnusocial.bb8
-rw-r--r--doc/ca/general.bb2
-rw-r--r--doc/campaign.bb18
-rw-r--r--doc/channels.bb2
-rw-r--r--doc/cloud.bb2
-rw-r--r--doc/comanche.bb51
-rw-r--r--doc/connecting_to_channels.bb2
-rw-r--r--doc/connecting_to_channels.md2
-rw-r--r--doc/context/en/connedit/help.html12
-rw-r--r--doc/context/en/settings/features/help.html12
-rw-r--r--doc/context/es-es/settings/features/help.html12
-rw-r--r--doc/contributor/covenant.html106
-rw-r--r--doc/de/general.bb2
-rw-r--r--doc/develop.bb4
-rw-r--r--doc/developers.bb4
-rw-r--r--doc/diaspora_compat.bb68
-rw-r--r--doc/diaspora_compat.md60
-rw-r--r--doc/extra_features.bb2
-rw-r--r--doc/faq_admins.bb2
-rw-r--r--doc/faq_members.bb4
-rw-r--r--doc/feature/access_tokens.bb47
-rw-r--r--doc/feature/saved_search.bb19
-rw-r--r--doc/feature/techlevels.bb15
-rw-r--r--doc/general.bb4
-rw-r--r--doc/hidden_configs.bb4
-rw-r--r--doc/hook/bbcode.bb5
-rw-r--r--doc/hook/bbcode_filter.bb7
-rw-r--r--doc/hook/event_store_event.bb11
-rw-r--r--doc/hook/get_profile_photo.bb18
-rw-r--r--doc/hooklist.bb11
-rw-r--r--doc/permissions.bb2
-rw-r--r--doc/plugins.bb6
-rw-r--r--doc/problems-following-an-update.bb2
-rw-r--r--doc/project/governance.bb45
-rw-r--r--doc/project/history.md (renamed from doc/history.md)18
-rw-r--r--doc/project/toc.html6
-rw-r--r--doc/project/versions.bb30
-rw-r--r--doc/red2pi.bb2
-rw-r--r--doc/server_roles.bb27
-rw-r--r--doc/sv/main.bb4
-rw-r--r--doc/toc.html6
-rw-r--r--doc/zot.md2
-rw-r--r--include/account.php93
-rw-r--r--include/acl_selectors.php126
-rw-r--r--include/api.php336
-rw-r--r--include/attach.php269
-rw-r--r--include/bb2diaspora.php16
-rw-r--r--include/bbcode.php32
-rw-r--r--include/channel.php35
-rw-r--r--include/connections.php2
-rw-r--r--include/contact_widgets.php2
-rw-r--r--include/conversation.php46
-rw-r--r--include/datetime.php22
-rwxr-xr-xinclude/dba/dba_driver.php27
-rw-r--r--include/dir_fns.php6
-rw-r--r--include/event.php14
-rw-r--r--include/features.php439
-rw-r--r--include/feedutils.php4
-rw-r--r--include/help.php114
-rw-r--r--include/html2bbcode.php2
-rw-r--r--include/import.php237
-rwxr-xr-xinclude/items.php230
-rw-r--r--include/message.php24
-rw-r--r--include/nav.php5
-rw-r--r--include/network.php74
-rwxr-xr-xinclude/oembed.php80
-rw-r--r--include/permissions.php6
-rw-r--r--include/photo/photo_driver.php14
-rw-r--r--include/photos.php2
-rwxr-xr-xinclude/plugin.php12
-rw-r--r--include/security.php2
-rw-r--r--include/text.php137
-rw-r--r--include/widgets.php114
-rw-r--r--include/zot.php51
-rw-r--r--install/INSTALL.txt4
-rwxr-xr-xinstall/htconfig.sample.php4
-rw-r--r--install/sample-nginx.conf2
-rw-r--r--install/schema_mysql.sql129
-rw-r--r--install/schema_postgres.sql3
-rw-r--r--install/update.php95
-rw-r--r--library/IXR_Library.php26
-rw-r--r--library/bootstrap/css/bootstrap-theme.css.map1
-rw-r--r--library/bootstrap/css/bootstrap-theme.min.css.map1
-rw-r--r--library/bootstrap/css/bootstrap.css.map1
-rw-r--r--library/bootstrap/css/bootstrap.min.css.map1
-rw-r--r--library/foundation/css/foundation.css8912
-rw-r--r--library/foundation/css/foundation.min.css3
-rw-r--r--library/foundation/js/foundation.js9069
-rw-r--r--library/foundation/js/foundation/foundation.abide.js408
-rw-r--r--library/foundation/js/foundation/foundation.accordion.js88
-rw-r--r--library/foundation/js/foundation/foundation.alert.js43
-rw-r--r--library/foundation/js/foundation/foundation.clearing.js586
-rw-r--r--library/foundation/js/foundation/foundation.dropdown.js463
-rw-r--r--library/foundation/js/foundation/foundation.equalizer.js104
-rw-r--r--library/foundation/js/foundation/foundation.interchange.js359
-rw-r--r--library/foundation/js/foundation/foundation.joyride.js932
-rw-r--r--library/foundation/js/foundation/foundation.js725
-rw-r--r--library/foundation/js/foundation/foundation.magellan.js215
-rw-r--r--library/foundation/js/foundation/foundation.offcanvas.js152
-rw-r--r--library/foundation/js/foundation/foundation.orbit.js476
-rw-r--r--library/foundation/js/foundation/foundation.reveal.js498
-rw-r--r--library/foundation/js/foundation/foundation.slider.js281
-rw-r--r--library/foundation/js/foundation/foundation.tab.js249
-rw-r--r--library/foundation/js/foundation/foundation.tooltip.js339
-rw-r--r--library/foundation/js/foundation/foundation.topbar.js458
-rw-r--r--library/fullcalendar/CHANGELOG.txt79
-rw-r--r--library/fullcalendar/CONTRIBUTING.txt27
-rw-r--r--library/fullcalendar/fullcalendar.css204
-rw-r--r--library/fullcalendar/fullcalendar.js2430
-rw-r--r--library/fullcalendar/fullcalendar.min.css4
-rw-r--r--library/fullcalendar/fullcalendar.min.js10
-rw-r--r--library/fullcalendar/fullcalendar.print.css12
-rw-r--r--library/fullcalendar/gcal.js2
-rw-r--r--library/fullcalendar/lang-all.js4
-rw-r--r--library/fullcalendar/locale-all.js5
-rw-r--r--library/justifiedGallery/jquery.justifiedGallery.js196
-rw-r--r--library/justifiedGallery/jquery.justifiedGallery.min.js6
-rw-r--r--library/justifiedGallery/justifiedGallery.css116
-rw-r--r--library/justifiedGallery/justifiedGallery.min.css6
-rwxr-xr-xutil/add_addon_repo20
-rwxr-xr-xutil/add_theme_repo20
-rwxr-xr-xutil/add_widget_repo20
-rwxr-xr-xutil/config8
-rw-r--r--util/hmessages.po9623
-rwxr-xr-xutil/pconfig7
-rw-r--r--util/typo.php7
-rw-r--r--view/css/conversation.css61
-rw-r--r--view/css/mod_webpages.css74
-rw-r--r--view/de/hmessages.po11358
-rw-r--r--view/de/hstrings.php2800
-rw-r--r--view/es-es/hmessages.po11075
-rw-r--r--view/es-es/hstrings.php2774
-rw-r--r--view/it/hmessages.po12398
-rw-r--r--view/it/hstrings.php2992
-rw-r--r--view/js/acl.js128
-rw-r--r--view/js/autocomplete.js13
-rw-r--r--view/js/main.js23
-rw-r--r--view/js/mod_connections.js12
-rw-r--r--view/js/mod_network.js2
-rw-r--r--view/js/mod_settings.js35
-rw-r--r--view/nl/hmessages.po11396
-rw-r--r--view/nl/hstrings.php2767
-rw-r--r--view/pdl/mod_search.pdl2
-rw-r--r--view/pdl/mod_webpages.pdl2
-rw-r--r--view/theme/redbasic/css/narrow_navbar.css20
-rw-r--r--view/theme/redbasic/css/style.css13
-rw-r--r--view/theme/redbasic/php/config.php264
-rw-r--r--view/theme/redbasic/php/theme.php3
-rw-r--r--view/theme/redbasic/tpl/theme_settings.tpl3
-rwxr-xr-xview/tpl/acl_selector.tpl16
-rw-r--r--view/tpl/admin_account_edit.tpl14
-rwxr-xr-xview/tpl/admin_accounts.tpl4
-rwxr-xr-xview/tpl/admin_plugins_details.tpl3
-rwxr-xr-xview/tpl/admin_security.tpl3
-rwxr-xr-xview/tpl/admin_site.tpl9
-rw-r--r--view/tpl/cloud_actionspanel.tpl1
-rwxr-xr-xview/tpl/comment_item.tpl2
-rwxr-xr-xview/tpl/conv_item.tpl20
-rwxr-xr-xview/tpl/cover_photo_widget.tpl51
-rwxr-xr-xview/tpl/event_head.tpl18
-rwxr-xr-xview/tpl/field_combobox.tpl10
-rwxr-xr-xview/tpl/field_themeselect.tpl10
-rwxr-xr-xview/tpl/filer_dialog.tpl2
-rwxr-xr-xview/tpl/install_settings.tpl2
-rwxr-xr-xview/tpl/jot-header.tpl45
-rwxr-xr-xview/tpl/jot.tpl166
-rwxr-xr-xview/tpl/msg-header.tpl53
-rwxr-xr-xview/tpl/nav.tpl43
-rwxr-xr-xview/tpl/photo_view.tpl3
-rwxr-xr-xview/tpl/profed_head.tpl36
-rwxr-xr-xview/tpl/settings_account.tpl7
-rwxr-xr-xview/tpl/settings_display.tpl3
-rw-r--r--view/tpl/sitesearch.tpl5
-rw-r--r--view/tpl/webpage_export_list.tpl124
-rw-r--r--view/tpl/website_import_tools.tpl37
-rw-r--r--view/tpl/website_portation_tools.tpl72
-rw-r--r--view/tpl/zcard_embed.tpl4
267 files changed, 56673 insertions, 51725 deletions
diff --git a/CHANGELOG b/CHANGELOG
index 67077b767..53d8a0f2e 100644
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -1,3 +1,89 @@
+Hubzilla 1.14 (2016-10-13)
+ - New hook bbcode_filter
+ - Unify the various mail sending instance to enotify::send() and z_mail()
+ - Provide ability for admin to change account password
+ - Replace deprecated Sabre functions
+ - Add plugin hook for 'get_profile_photo'
+ - Convert NULL_DATE to a legal date for compatibility with MySQL strict mode
+ - Allow a site to over-ride the help table-of-contents files
+ - Autoscroll to target post/comment when in single-thread mode
+ - Indicator for own response verb activity
+ - Add server role documentation
+ - Pro: remove 'Additional Features' link for techlevel 0
+ - Upgrade fullcalendar library to version 3
+ - Whitelist button tag in htmlpurifier
+ - Upgrade justifiedGallery library to version 3.6.3
+ - Pubsites improvements
+ - Upgrade foundation library to version 6.2.3
+ - Ability to move photos to another album
+ - Submodules for settings page
+ - Submodules for admin page
+ - Remove chatroom suggestions
+ - Revamped and improved theme select backend
+ - Theme preview
+ - Implement techlevels for pro server role
+ - BBcode checklist
+ - Improve save to folder modal dialog
+ - Case insensitive sort apps
+ - Add authors to post distribution
+ - Redirect to plugin page after enabling to show configuration settings if applicable
+ - Move allowed email domains to admin->security page
+ - Display text around the searched query in documentation search
+ - Comanche observer conditionals
+ - Remove ratings
+ - Context help for /connedit
+ - Provide configurable sidebar table-of-contents indexes for different levels of the help hierarchy
+ - Comanche conditionals
+ - Cover photo enhancements (does not disappear after initial scrolldown)
+ - Website import/export
+ - Server roles (basic, standard and pro)
+
+ Bugfixes
+ - Fix connected time not shown on ajax loaded connections
+ - API issues
+ - Fix readmore.js collapsing on scrolldirection change in some mobile browsers
+ - Personalize Server Emails
+ - Audio player doesn't automatically show for m4a files
+ - Fix ajax page update with /channel?f=&mid=hash
+ - Angle bracket characters in DB password not recognised
+ - Regression: files/photos were not synchronising to channel clones properly
+ - Missing categories in preview mode
+ - attach_store() sql issue
+ - Rename id share_container to distr_container - share_container seem to be blacklisted in various security browser plugins
+ - Add 'map' extension to files served natively by nginx without using the project controller
+ - Zot discovery wasn't returning in all cases (after discovering zot)
+ - Do not show hidden channels in /randprof
+ - Numerous postgres fixes
+ - Illegal offset errors in include/conversation:status_editor() when no permissions array is passed
+ - Patch foundation-6.2.3 to work with jquery-3.1
+ - Custom/expert permissions bug
+ - Mail: return array instead of object
+ - Don't send purge_all notification to self
+ - Saved search: tags and connection searches weren't being saved
+ - Do not allow PERMS_PUBLIC as a choice for writable permission limits
+ - Force cover photos as well as profile photos to be public. As a side effect 'thing' photos will also be considered public
+ - Make lock switching actually work with multiple acl forms
+ - Create smarty dir before any templates can be initialised
+ - Fix aconfig
+ - Broken doc search
+ - Public forum check with custom/expert permissions
+
+ Plugins
+ - Standard Embed: update to convert old corporate bbcodes
+ - Cdav security: fix rw permission check
+ - Cdav: add partial support for recurring events in the browser client (editing/creating is not implemented)
+ - New plugin phpmailer: use phpmailer class instead of php's built-in mail() function
+ - Diaspora: third party on other network comment issue
+ - Diaspora: comment fix (hubzilla originated comment with plugin activated by comment author not making it to Diaspora)
+ - Cdav: provide calendar list view
+ - Diaspora: allow comments on public diaspora posts which were imported by subscribing to public tags.
+ - Wppost: add blog_id parameter for WordPress MU sites such as WordPress.com
+ - Wppost: don't log the password in normal mode
+ - Hubwall: provide choice of sender addresses, the real admin email, postmaster, or noreply.
+ - Chord: General cleanup of chord app
+ - Chord: Update chord binary for modern linux systems
+ - Start grouping addons by server_role
+
Hubzilla 1.12
- extensible permissions so you can create a new permission rule such as "can write to my wiki" or "can see me naked".
- guest access tokens can do anything you let them, including create posts and administer your channel
diff --git a/Zotlabs/Daemon/Cron.php b/Zotlabs/Daemon/Cron.php
index ec974ad61..350dda7a0 100644
--- a/Zotlabs/Daemon/Cron.php
+++ b/Zotlabs/Daemon/Cron.php
@@ -43,7 +43,7 @@ class Cron {
// expire any expired mail
- q("delete from mail where expires != '%s' and expires < %s ",
+ q("delete from mail where expires > '%s' and expires < %s ",
dbesc(NULL_DATE),
db_utcnow()
);
@@ -63,7 +63,7 @@ class Cron {
// delete expired access tokens
- $r = q("select atoken_id from atoken where atoken_expires != '%s' && atoken_expires < %s",
+ $r = q("select atoken_id from atoken where atoken_expires > '%s' and atoken_expires < %s",
dbesc(NULL_DATE),
db_utcnow()
);
diff --git a/Zotlabs/Daemon/Externals.php b/Zotlabs/Daemon/Externals.php
index 24cfe64ec..a9988a509 100644
--- a/Zotlabs/Daemon/Externals.php
+++ b/Zotlabs/Daemon/Externals.php
@@ -58,7 +58,7 @@ class Externals {
}
if($url) {
- if($r[0]['site_pull'] !== NULL_DATE)
+ if($r[0]['site_pull'] > NULL_DATE)
$mindate = urlencode(datetime_convert('','',$r[0]['site_pull'] . ' - 1 day'));
else {
$days = get_config('externals','since_days');
diff --git a/Zotlabs/Daemon/Notifier.php b/Zotlabs/Daemon/Notifier.php
index ebc9d83a5..c0997138e 100644
--- a/Zotlabs/Daemon/Notifier.php
+++ b/Zotlabs/Daemon/Notifier.php
@@ -238,7 +238,7 @@ class Notifier {
$channel = $s[0];
$uid = $item_id;
$recipients = array();
- $r = q("select abook_xchan from abook where abook_channel = %d",
+ $r = q("select abook_xchan from abook where abook_channel = %d and abook_self = 0",
intval($item_id)
);
if($r) {
diff --git a/Zotlabs/Daemon/Onepoll.php b/Zotlabs/Daemon/Onepoll.php
index 21c46cec5..33b244dc5 100644
--- a/Zotlabs/Daemon/Onepoll.php
+++ b/Zotlabs/Daemon/Onepoll.php
@@ -54,7 +54,7 @@ class Onepoll {
logger("onepoll: poll: ({$contact['id']}) IMPORTER: {$importer['xchan_name']}, CONTACT: {$contact['xchan_name']}");
- $last_update = ((($contact['abook_updated'] === $contact['abook_created']) || ($contact['abook_updated'] === NULL_DATE))
+ $last_update = ((($contact['abook_updated'] === $contact['abook_created']) || ($contact['abook_updated'] <= NULL_DATE))
? datetime_convert('UTC','UTC','now - 7 days')
: datetime_convert('UTC','UTC',$contact['abook_updated'] . ' - 2 days')
);
@@ -102,11 +102,20 @@ class Onepoll {
$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)
$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)
+ $fetch_feed = false;
+
if($fetch_feed) {
$feedurl = str_replace('/poco/','/zotfeed/',$contact['xchan_connurl']);
diff --git a/Zotlabs/Daemon/Poller.php b/Zotlabs/Daemon/Poller.php
index 75efbf8f7..e4bc9c143 100644
--- a/Zotlabs/Daemon/Poller.php
+++ b/Zotlabs/Daemon/Poller.php
@@ -117,7 +117,7 @@ class Poller {
// if we've never connected with them, start the mark for death countdown from now
- if($c == NULL_DATE) {
+ if($c <= NULL_DATE) {
$r = q("update abook set abook_connected = '%s' where abook_id = %d",
dbesc(datetime_convert()),
intval($contact['abook_id'])
@@ -171,7 +171,7 @@ class Poller {
}
if($dirmode == DIRECTORY_MODE_SECONDARY || $dirmode == DIRECTORY_MODE_PRIMARY) {
- $r = q("SELECT u.ud_addr, u.ud_id, u.ud_last FROM updates AS u INNER JOIN (SELECT ud_addr, max(ud_id) AS ud_id FROM updates WHERE ( ud_flags & %d ) = 0 AND ud_addr != '' AND ( ud_last = '%s' OR ud_last > %s - INTERVAL %s ) GROUP BY ud_addr) AS s ON s.ud_id = u.ud_id ",
+ $r = q("SELECT u.ud_addr, u.ud_id, u.ud_last FROM updates AS u INNER JOIN (SELECT ud_addr, max(ud_id) AS ud_id FROM updates WHERE ( ud_flags & %d ) = 0 AND ud_addr != '' AND ( ud_last <= '%s' OR ud_last > %s - INTERVAL %s ) GROUP BY ud_addr) AS s ON s.ud_id = u.ud_id ",
intval(UPDATE_FLAGS_UPDATED),
dbesc(NULL_DATE),
db_utcnow(), db_quoteinterval('7 DAY')
@@ -182,7 +182,7 @@ class Poller {
// If they didn't respond when we attempted before, back off to once a day
// After 7 days we won't bother anymore
- if($rr['ud_last'] != NULL_DATE)
+ if($rr['ud_last'] > NULL_DATE)
if($rr['ud_last'] > datetime_convert('UTC','UTC', 'now - 1 day'))
continue;
Master::Summon(array('Onedirsync',$rr['ud_id']));
diff --git a/Zotlabs/Lib/Api_router.php b/Zotlabs/Lib/Api_router.php
new file mode 100644
index 000000000..404678bd9
--- /dev/null
+++ b/Zotlabs/Lib/Api_router.php
@@ -0,0 +1,24 @@
+<?php
+
+namespace Zotlabs\Lib;
+
+
+class Api_router {
+
+ static private $routes = array();
+
+ static function register($path,$fn,$auth_required) {
+ self::$routes[$path] = [ 'func' => $fn, 'auth' => $auth_required ];
+ }
+
+ static function find($path) {
+ if(array_key_exists($path,self::$routes))
+ return self::$routes[$path];
+ return null;
+ }
+
+ static function dbg() {
+ return self::$routes;
+ }
+
+} \ No newline at end of file
diff --git a/Zotlabs/Lib/Apps.php b/Zotlabs/Lib/Apps.php
index 19ed1b612..a646d8a30 100644
--- a/Zotlabs/Lib/Apps.php
+++ b/Zotlabs/Lib/Apps.php
@@ -112,7 +112,7 @@ class Apps {
static public function app_name_compare($a,$b) {
- return strcmp($a['name'],$b['name']);
+ return strcasecmp($a['name'],$b['name']);
}
diff --git a/Zotlabs/Lib/Enotify.php b/Zotlabs/Lib/Enotify.php
index 56c717468..9a8628968 100644
--- a/Zotlabs/Lib/Enotify.php
+++ b/Zotlabs/Lib/Enotify.php
@@ -70,7 +70,22 @@ class Enotify {
$hostname = substr($hostname,0,strpos($hostname,':'));
// Do not translate 'noreply' as it must be a legal 7-bit email address
- $sender_email = 'noreply' . '@' . $hostname;
+
+ $reply_email = get_config('system','reply_address');
+ if(! $reply_email)
+ $reply_email = 'noreply' . '@' . $hostname;
+
+ $sender_email = get_config('system','from_email');
+ if(! $sender_email)
+ $sender_email = 'Administrator' . '@' . \App::get_hostname();
+
+
+ $sender_name = get_config('system','from_email_name');
+ if(! $sender_name)
+ $sender_name = \Zotlabs\Lib\System::get_site_name();
+
+
+
$additional_mail_header = "";
@@ -101,7 +116,7 @@ class Enotify {
if ($params['type'] == NOTIFY_MAIL) {
logger('notification: mail');
- $subject = sprintf( t('[Hubzilla:Notify] New mail received at %s'),$sitename);
+ $subject = sprintf( t('[$Projectname:Notify] New mail received at %s'),$sitename);
$preamble = sprintf( t('%1$s, %2$s sent you a new private message at %3$s.'),$recip['channel_name'], $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]');
@@ -116,10 +131,13 @@ class Enotify {
$itemlink = $params['link'];
- // ignore like/unlike activity on posts - they probably require a sepearate notification preference
+ // ignore like/unlike activity on posts - they probably require a separate notification preference
- if (array_key_exists('item',$params) && (! visible_activity($params['item'])))
+ if (array_key_exists('item',$params) && (! visible_activity($params['item']))) {
+ logger('notification: not a visible activity. Ignoring.');
+ pop_lang();
return;
+ }
$parent_mid = $params['parent_mid'];
@@ -189,7 +207,7 @@ class Enotify {
// Before this we have the name of the replier on the subject rendering
// differents subjects for messages on the same thread.
- $subject = sprintf( t('[Hubzilla:Notify] Comment to conversation #%1$d by %2$s'), $parent_id, $sender['xchan_name']);
+ $subject = sprintf( t('[$Projectname:Notify] Comment to conversation #%1$d by %2$s'), $parent_id, $sender['xchan_name']);
$preamble = sprintf( t('%1$s, %2$s commented on an item/conversation you have been following.'), $recip['channel_name'], $sender['xchan_name']);
$epreamble = $dest_str;
@@ -199,7 +217,7 @@ class Enotify {
}
if($params['type'] == NOTIFY_WALL) {
- $subject = sprintf( t('[Hubzilla:Notify] %s posted to your profile wall') , $sender['xchan_name']);
+ $subject = sprintf( t('[$Projectname:Notify] %s posted to your profile wall') , $sender['xchan_name']);
$preamble = sprintf( t('%1$s, %2$s posted to your profile wall at %3$s') , $recip['channel_name'], $sender['xchan_name'], $sitename);
@@ -227,7 +245,7 @@ class Enotify {
return;
}
- $subject = sprintf( t('[Hubzilla:Notify] %s tagged you') , $sender['xchan_name']);
+ $subject = sprintf( t('[$Projectname:Notify] %s tagged you') , $sender['xchan_name']);
$preamble = sprintf( t('%1$s, %2$s tagged you at %3$s') , $recip['channel_name'], $sender['xchan_name'], $sitename);
$epreamble = sprintf( t('%1$s, %2$s [zrl=%3$s]tagged you[/zrl].') ,
$recip['channel_name'],
@@ -241,7 +259,7 @@ class Enotify {
}
if ($params['type'] == NOTIFY_POKE) {
- $subject = sprintf( t('[Hubzilla:Notify] %1$s poked you') , $sender['xchan_name']);
+ $subject = sprintf( t('[$Projectname:Notify] %1$s poked you') , $sender['xchan_name']);
$preamble = sprintf( t('%1$s, %2$s poked you at %3$s') , $recip['channel_name'], $sender['xchan_name'], $sitename);
$epreamble = sprintf( t('%1$s, %2$s [zrl=%2$s]poked you[/zrl].') ,
$recip['channel_name'],
@@ -259,7 +277,7 @@ class Enotify {
}
if ($params['type'] == NOTIFY_TAGSHARE) {
- $subject = sprintf( t('[Hubzilla:Notify] %s tagged your post') , $sender['xchan_name']);
+ $subject = sprintf( t('[$Projectname:Notify] %s tagged your post') , $sender['xchan_name']);
$preamble = sprintf( t('%1$s, %2$s tagged your post at %3$s') , $recip['channel_name'],$sender['xchan_name'], $sitename);
$epreamble = sprintf( t('%1$s, %2$s tagged [zrl=%3$s]your post[/zrl]') ,
$recip['channel_name'],
@@ -273,7 +291,7 @@ class Enotify {
}
if ($params['type'] == NOTIFY_INTRO) {
- $subject = sprintf( t('[Hubzilla:Notify] Introduction received'));
+ $subject = sprintf( t('[$Projectname:Notify] Introduction received'));
$preamble = sprintf( t('%1$s, you\'ve received an new connection request from \'%2$s\' at %3$s'), $recip['channel_name'], $sender['xchan_name'], $sitename);
$epreamble = sprintf( t('%1$s, you\'ve received [zrl=%2$s]a new connection request[/zrl] from %3$s.'),
$recip['channel_name'],
@@ -288,7 +306,7 @@ class Enotify {
}
if ($params['type'] == NOTIFY_SUGGEST) {
- $subject = sprintf( t('[Hubzilla:Notify] Friend suggestion received'));
+ $subject = sprintf( t('[$Projectname:Notify] Friend suggestion received'));
$preamble = sprintf( t('%1$s, you\'ve received a friend suggestion from \'%2$s\' at %3$s'), $recip['channel_name'], $sender['xchan_name'], $sitename);
$epreamble = sprintf( t('%1$s, you\'ve received [zrl=%2$s]a friend suggestion[/zrl] for %3$s from %4$s.'),
$recip['channel_name'],
@@ -386,8 +404,11 @@ class Enotify {
// Mark some notifications as seen right away
// Note! The notification have to be created, because they are used to send emails
// So easiest solution to hide them from Notices is to mark them as seen right away.
- // Another option would be to not add them to the DB, and change how emails are handled (probably would be better that way)
+ // Another option would be to not add them to the DB, and change how emails are handled
+ // (probably would be better that way)
+
$always_show_in_notices = get_pconfig($recip['channel_id'],'system','always_show_in_notices');
+
if (!$always_show_in_notices) {
if (($params['type'] == NOTIFY_WALL) || ($params['type'] == NOTIFY_MAIL) || ($params['type'] == NOTIFY_INTRO)) {
$seen = 1;
@@ -459,7 +480,7 @@ class Enotify {
// use $_SESSION['zid_override'] to force zid() to use
// the recipient address instead of the current observer
- $_SESSION['zid_override'] = $recip['channel_address'] . '@' . \App::get_hostname();
+ $_SESSION['zid_override'] = channel_reddress($recip);
$_SESSION['zrl_override'] = z_root() . '/channel/' . $recip['channel_address'];
$textversion = zidify_links($textversion);
@@ -515,7 +536,7 @@ class Enotify {
$private_activity = true;
case NOTIFY_MAIL:
$datarray['textversion'] = $datarray['htmlversion'] = $datarray['title'] = '';
- $datarray['subject'] = preg_replace('/' . preg_quote(t('[Hubzilla:Notify]')) . '/','$0*',$datarray['subject']);
+ $datarray['subject'] = preg_replace('/' . preg_quote(t('[$Projectname:Notify]')) . '/','$0*',$datarray['subject']);
break;
default:
break;
@@ -577,7 +598,7 @@ class Enotify {
self::send(array(
'fromName' => $sender_name,
'fromEmail' => $sender_email,
- 'replyTo' => $sender_email,
+ 'replyTo' => $reply_email,
'toEmail' => $recip['account_email'],
'messageSubject' => $datarray['subject'],
'htmlVersion' => $email_html_body,
@@ -606,6 +627,16 @@ class Enotify {
*/
static public function send($params) {
+ $params['sent'] = false;
+ $params['result'] = false;
+
+ call_hooks('email_send', $params);
+
+ if($params['sent']) {
+ logger("notification: enotify::send (addon) returns " . $params['result'], LOGGER_DEBUG);
+ return $params['result'];
+ }
+
$fromName = email_header_encode(html_entity_decode($params['fromName'],ENT_QUOTES,'UTF-8'),'UTF-8');
$messageSubject = email_header_encode(html_entity_decode($params['messageSubject'],ENT_QUOTES,'UTF-8'),'UTF-8');
@@ -646,6 +677,7 @@ class Enotify {
$messageHeader // message headers
);
logger("notification: enotify::send returns " . $res, LOGGER_DEBUG);
+ return $res;
}
static public function format($item) {
@@ -654,12 +686,12 @@ class Enotify {
require_once('include/conversation.php');
- // Call localize_item with the "brief" flag to get a one line status for activities.
+ // Call localize_item to get a one line status for activities.
// This should set $item['localized'] to indicate we have a brief summary.
localize_item($item);
- if($item_localize) {
+ if($item['localize']) {
$itemem_text = $item['localize'];
}
else {
@@ -671,7 +703,7 @@ class Enotify {
// convert this logic into a json array just like the system notifications
return array(
- 'notify_link' => $item['llink'],
+ 'notify_link' => $item['llink'],
'name' => $item['author']['xchan_name'],
'url' => $item['author']['xchan_url'],
'photo' => $item['author']['xchan_photo_s'],
diff --git a/Zotlabs/Lib/ExtendedZip.php b/Zotlabs/Lib/ExtendedZip.php
new file mode 100644
index 000000000..a40110c55
--- /dev/null
+++ b/Zotlabs/Lib/ExtendedZip.php
@@ -0,0 +1,57 @@
+<?php
+
+/*
+ * To change this license header, choose License Headers in Project Properties.
+ * To change this template file, choose Tools | Templates
+ * and open the template in the editor.
+ */
+
+namespace Zotlabs\Lib;
+
+/**
+ * Description of ExtendedZip
+ *
+ * @author andrew
+ */
+class ExtendedZip extends \ZipArchive {
+
+ // Member function to add a whole file system subtree to the archive
+ public function addTree($dirname, $localname = '') {
+ if ($localname)
+ $this->addEmptyDir($localname);
+ $this->_addTree($dirname, $localname);
+ }
+
+ // Internal function, to recurse
+ protected function _addTree($dirname, $localname) {
+ $dir = opendir($dirname);
+ while ($filename = readdir($dir)) {
+ // Discard . and ..
+ if ($filename == '.' || $filename == '..')
+ continue;
+
+ // Proceed according to type
+ $path = $dirname . '/' . $filename;
+ $localpath = $localname ? ($localname . '/' . $filename) : $filename;
+ if (is_dir($path)) {
+ // Directory: add & recurse
+ $this->addEmptyDir($localpath);
+ $this->_addTree($path, $localpath);
+ }
+ else if (is_file($path)) {
+ // File: just add
+ $this->addFile($path, $localpath);
+ }
+ }
+ closedir($dir);
+ }
+
+ // Helper function
+ public static function zipTree($dirname, $zipFilename, $flags = 0, $localname = '') {
+ $zip = new self();
+ $zip->open($zipFilename, $flags);
+ $zip->addTree($dirname, $localname);
+ $zip->close();
+ }
+
+}
diff --git a/Zotlabs/Lib/SuperCurl.php b/Zotlabs/Lib/SuperCurl.php
index 1c8583ff5..462a62b36 100644
--- a/Zotlabs/Lib/SuperCurl.php
+++ b/Zotlabs/Lib/SuperCurl.php
@@ -105,7 +105,7 @@ class SuperCurl {
$opts['cookie'] = 'PHPSESSID=' . trim(file_get_contents('store/[data]/cookien_' . $this->magicauth));
$c = channelx_by_n($this->magicauth);
if($c)
- $url = zid($this->url,$c['channel_address'] . '@' . \App::get_hostname());
+ $url = zid($this->url,channel_reddress($c));
}
if($this->custom)
$opts['custom'] = $this->custom;
diff --git a/Zotlabs/Lib/System.php b/Zotlabs/Lib/System.php
index 4479bf597..6ccfd664c 100644
--- a/Zotlabs/Lib/System.php
+++ b/Zotlabs/Lib/System.php
@@ -45,7 +45,7 @@ class System {
static public function get_server_role() {
if(is_array(\App::$config) && is_array(\App::$config['system']) && \App::$config['system']['server_role'])
return \App::$config['system']['server_role'];
- return 'pro';
+ return 'standard';
}
static public function get_std_version() {
diff --git a/Zotlabs/Lib/ThreadItem.php b/Zotlabs/Lib/ThreadItem.php
index eee3b2a4f..a3e871810 100644
--- a/Zotlabs/Lib/ThreadItem.php
+++ b/Zotlabs/Lib/ThreadItem.php
@@ -174,6 +174,11 @@ class ThreadItem {
$responses = get_responses($conv_responses,$response_verbs,$this,$item);
+ $my_responses = [];
+ foreach($response_verbs as $v) {
+ $my_responses[$v] = (($conv_responses[$v][$item['mid'] . '-m']) ? 1 : 0);
+ }
+
$like_count = ((x($conv_responses['like'],$item['mid'])) ? $conv_responses['like'][$item['mid']] : '');
$like_list = ((x($conv_responses['like'],$item['mid'])) ? $conv_responses['like'][$item['mid'] . '-l'] : '');
if (count($like_list) > MAX_LIKERS) {
@@ -246,10 +251,11 @@ class ThreadItem {
}
$server_role = get_config('system','server_role');
+
$has_bookmarks = false;
if(is_array($item['term'])) {
foreach($item['term'] as $t) {
- if(($server_role != 'basic') && ($t['ttype'] == TERM_BOOKMARK))
+ if((get_account_techlevel() > 0) && ($t['ttype'] == TERM_BOOKMARK))
$has_bookmarks = true;
}
}
@@ -343,7 +349,7 @@ class ThreadItem {
'isotime' => datetime_convert('UTC', date_default_timezone_get(), $item['created'], 'c'),
'localtime' => datetime_convert('UTC', date_default_timezone_get(), $item['created'], 'r'),
'editedtime' => (($item['edited'] != $item['created']) ? sprintf( t('last edited: %s'), datetime_convert('UTC', date_default_timezone_get(), $item['edited'], 'r')) : ''),
- 'expiretime' => (($item['expires'] !== NULL_DATE) ? sprintf( t('Expires: %s'), datetime_convert('UTC', date_default_timezone_get(), $item['expires'], 'r')):''),
+ 'expiretime' => (($item['expires'] > NULL_DATE) ? sprintf( t('Expires: %s'), datetime_convert('UTC', date_default_timezone_get(), $item['expires'], 'r')):''),
'lock' => $lock,
'verified' => $verified,
'unverified' => $unverified,
@@ -380,6 +386,7 @@ class ThreadItem {
'list_unseen_txt' => $list_unseen_txt,
'markseen' => t('Mark all seen'),
'responses' => $responses,
+ 'my_responses' => $my_responses,
'like_count' => $like_count,
'like_list' => $like_list,
'like_list_part' => $like_list_part,
@@ -396,6 +403,7 @@ class ThreadItem {
'comment' => $this->get_comment_box($indent),
'previewing' => ($conv->is_preview() ? ' preview ' : ''),
'wait' => t('Please wait'),
+ 'submid' => substr($item['mid'],0,32),
'thread_level' => $thread_level
);
@@ -411,6 +419,12 @@ class ThreadItem {
if($visible_comments === false)
$visible_comments = 3;
+// needed for scroll to comment from notification but needs more work
+// as we do not want to open all comments unless there is actually an #item_xx anchor
+// and the url fragment is not sent to the server.
+// if(in_array(\App::$module,['display','update_display']))
+// $visible_comments = 99999;
+
if(($this->get_display_mode() === 'normal') && ($nb_children > 0)) {
foreach($children as $child) {
$result['children'][] = $child->get_template_data($conv_responses, $thread_level + 1);
diff --git a/Zotlabs/Module/Acl.php b/Zotlabs/Module/Acl.php
index 8c62f4de9..1acd8e320 100644
--- a/Zotlabs/Module/Acl.php
+++ b/Zotlabs/Module/Acl.php
@@ -66,7 +66,7 @@ class Acl extends \Zotlabs\Web\Controller {
// These queries require permission checking. We'll create a simple array of xchan_hash for those with
// the requisite permissions which we can check against.
- $x = q("select xchan from abconfig where chan = %d and cat = 'their_perms' and k = '%s' and v = 1",
+ $x = q("select xchan from abconfig where chan = %d and cat = 'their_perms' and k = '%s' and v = '1'",
intval(local_channel()),
dbesc(($type === 'm') ? 'post_mail' : 'tag_deliver')
);
diff --git a/Zotlabs/Module/Admin.php b/Zotlabs/Module/Admin.php
index 085d13fd7..e3702992f 100644
--- a/Zotlabs/Module/Admin.php
+++ b/Zotlabs/Module/Admin.php
@@ -1,7 +1,6 @@
<?php
namespace Zotlabs\Module;
-use \Zotlabs\Storage\GitRepo as GitRepo;
/**
* @file mod/admin.php
@@ -19,94 +18,29 @@ require_once('include/account.php');
class Admin extends \Zotlabs\Web\Controller {
+ private $sm = null;
+
+ function __construct() {
+ $this->sm = new \Zotlabs\Web\SubModule();
+ }
+
function post(){
logger('admin_post', LOGGER_DEBUG);
if(! is_site_admin()) {
return;
}
-
- // urls
if (argc() > 1) {
- switch (argv(1)) {
- case 'site':
- $this->admin_page_site_post($a);
- break;
- case 'accounts':
- $this->admin_page_accounts_post($a);
- break;
- case 'channels':
- $this->admin_page_channels_post($a);
- break;
- case 'plugins':
- if (argc() > 2 && argv(2) === 'addrepo') {
- $this->admin_page_plugins_post('addrepo');
- break;
- }
- if (argc() > 2 && argv(2) === 'installrepo') {
- $this->admin_page_plugins_post('installrepo');
- break;
- }
- if (argc() > 2 && argv(2) === 'removerepo') {
- $this->admin_page_plugins_post('removerepo');
- break;
- }
- if (argc() > 2 && argv(2) === 'updaterepo') {
- $this->admin_page_plugins_post('updaterepo');
- break;
- }
- if (argc() > 2 &&
- is_file("addon/" . argv(2) . "/" . argv(2) . ".php")){
- @include_once("addon/" . argv(2) . "/" . argv(2) . ".php");
- if(function_exists(argv(2).'_plugin_admin_post')) {
- $func = argv(2) . '_plugin_admin_post';
- $func($a);
- }
- }
- goaway(z_root() . '/admin/plugins/' . argv(2) );
- break;
- case 'themes':
- $theme = argv(2);
- if (is_file("view/theme/$theme/php/config.php")){
- require_once("view/theme/$theme/php/config.php");
- // fixme add parent theme if derived
- if (function_exists("theme_admin_post")){
- theme_admin_post($a);
- }
- }
- info(t('Theme settings updated.'));
- if(is_ajax()) return;
-
- goaway(z_root() . '/admin/themes/' . $theme );
- break;
- case 'logs':
- $this->admin_page_logs_post($a);
- break;
- case 'hubloc':
- $this->admin_page_hubloc_post($a);
- break;
- case 'security':
- $this->admin_page_security_post($a);
- break;
- case 'features':
- $this->admin_page_features_post($a);
- break;
- case 'dbsync':
- $this->admin_page_dbsync_post($a);
- break;
- case 'profs':
- $this->admin_page_profs_post($a);
- break;
- }
+ $this->sm->call('post');
}
goaway(z_root() . '/admin' );
}
/**
- * @param App &$a
* @return string
*/
+
function get() {
logger('admin_content', LOGGER_DEBUG);
@@ -119,59 +53,25 @@ class Admin extends \Zotlabs\Web\Controller {
/*
* Page content
*/
+
$o = '';
- // urls
- if (argc() > 1){
- switch (argv(1)) {
- case 'site':
- $o = $this->admin_page_site($a);
- break;
- case 'accounts':
- $o = $this->admin_page_accounts($a);
- break;
- case 'channels':
- $o = $this->admin_page_channels($a);
- break;
- case 'plugins':
- $o = $this->admin_page_plugins($a);
- break;
- case 'themes':
- $o = $this->admin_page_themes($a);
- break;
- // case 'hubloc':
- // $o = $this->admin_page_hubloc($a);
- // break;
- case 'security':
- $o = $this->admin_page_security($a);
- break;
- case 'features':
- $o = $this->admin_page_features($a);
- break;
- case 'logs':
- $o = $this->admin_page_logs($a);
- break;
- case 'dbsync':
- $o = $this->admin_page_dbsync($a);
- break;
- case 'profs':
- $o = $this->admin_page_profs($a);
- break;
- case 'queue':
- $o = $this->admin_page_queue($a);
- break;
- default:
- notice( t('Item not found.') );
+ if(argc() > 1) {
+ $o = $this->sm->call('get');
+ if($o === false) {
+ notice( t('Item not found.') );
}
- } else {
- $o = $this->admin_page_summary($a);
+ }
+ else {
+ $o = $this->admin_page_summary();
}
if(is_ajax()) {
echo $o;
killme();
return '';
- } else {
+ }
+ else {
return $o;
}
}
@@ -183,11 +83,11 @@ class Admin extends \Zotlabs\Web\Controller {
* @param App &$a
* @return string HTML from parsed admin_summary.tpl
*/
- function admin_page_summary(&$a) {
+ function admin_page_summary() {
// list total user accounts, expirations etc.
$accounts = array();
- $r = q("SELECT COUNT(*) AS total, COUNT(CASE WHEN account_expires > %s THEN 1 ELSE NULL END) AS expiring, COUNT(CASE WHEN account_expires < %s AND account_expires != '%s' THEN 1 ELSE NULL END) AS expired, COUNT(CASE WHEN (account_flags & %d)>0 THEN 1 ELSE NULL END) AS blocked FROM account",
+ $r = q("SELECT COUNT(*) AS total, COUNT(CASE WHEN account_expires > %s THEN 1 ELSE NULL END) AS expiring, COUNT(CASE WHEN account_expires < %s AND account_expires > '%s' THEN 1 ELSE NULL END) AS expired, COUNT(CASE WHEN (account_flags & %d)>0 THEN 1 ELSE NULL END) AS blocked FROM account",
db_utcnow(),
db_utcnow(),
dbesc(NULL_DATE),
@@ -255,1870 +155,5 @@ class Admin extends \Zotlabs\Web\Controller {
}
- /**
- * @brief POST handler for Admin Site Page.
- *
- * @param App &$a
- */
- function admin_page_site_post(&$a){
- if (!x($_POST, 'page_site')){
- return;
- }
-
- check_form_security_token_redirectOnErr('/admin/site', 'admin_site');
-
- $sitename = ((x($_POST,'sitename')) ? notags(trim($_POST['sitename'])) : '');
- $banner = ((x($_POST,'banner')) ? trim($_POST['banner']) : false);
- $admininfo = ((x($_POST,'admininfo')) ? trim($_POST['admininfo']) : false);
- $language = ((x($_POST,'language')) ? notags(trim($_POST['language'])) : '');
- $theme = ((x($_POST,'theme')) ? notags(trim($_POST['theme'])) : '');
- $theme_mobile = ((x($_POST,'theme_mobile')) ? notags(trim($_POST['theme_mobile'])) : '');
- // $site_channel = ((x($_POST,'site_channel')) ? notags(trim($_POST['site_channel'])) : '');
- $maximagesize = ((x($_POST,'maximagesize')) ? intval(trim($_POST['maximagesize'])) : 0);
-
- $register_policy = ((x($_POST,'register_policy')) ? intval(trim($_POST['register_policy'])) : 0);
-
- $access_policy = ((x($_POST,'access_policy')) ? intval(trim($_POST['access_policy'])) : 0);
- $invite_only = ((x($_POST,'invite_only')) ? True : False);
- $abandon_days = ((x($_POST,'abandon_days')) ? intval(trim($_POST['abandon_days'])) : 0);
-
- $register_text = ((x($_POST,'register_text')) ? notags(trim($_POST['register_text'])) : '');
- $frontpage = ((x($_POST,'frontpage')) ? notags(trim($_POST['frontpage'])) : '');
- $mirror_frontpage = ((x($_POST,'mirror_frontpage')) ? intval(trim($_POST['mirror_frontpage'])) : 0);
- $directory_server = ((x($_POST,'directory_server')) ? trim($_POST['directory_server']) : '');
- $allowed_sites = ((x($_POST,'allowed_sites')) ? notags(trim($_POST['allowed_sites'])) : '');
- $allowed_email = ((x($_POST,'allowed_email')) ? notags(trim($_POST['allowed_email'])) : '');
- $not_allowed_email = ((x($_POST,'not_allowed_email')) ? notags(trim($_POST['not_allowed_email'])) : '');
- $force_publish = ((x($_POST,'publish_all')) ? True : False);
- $disable_discover_tab = ((x($_POST,'disable_discover_tab')) ? False : True);
- $login_on_homepage = ((x($_POST,'login_on_homepage')) ? True : False);
- $enable_context_help = ((x($_POST,'enable_context_help')) ? True : False);
- $global_directory = ((x($_POST,'directory_submit_url')) ? notags(trim($_POST['directory_submit_url'])) : '');
- $no_community_page = !((x($_POST,'no_community_page')) ? True : False);
- $default_expire_days = ((array_key_exists('default_expire_days',$_POST)) ? intval($_POST['default_expire_days']) : 0);
-
- $verifyssl = ((x($_POST,'verifyssl')) ? True : False);
- $proxyuser = ((x($_POST,'proxyuser')) ? notags(trim($_POST['proxyuser'])) : '');
- $proxy = ((x($_POST,'proxy')) ? notags(trim($_POST['proxy'])) : '');
- $timeout = ((x($_POST,'timeout')) ? intval(trim($_POST['timeout'])) : 60);
- $delivery_interval = ((x($_POST,'delivery_interval'))? intval(trim($_POST['delivery_interval'])) : 0);
- $delivery_batch_count = ((x($_POST,'delivery_batch_count') && $_POST['delivery_batch_count'] > 0)? intval(trim($_POST['delivery_batch_count'])) : 1);
- $poll_interval = ((x($_POST,'poll_interval')) ? intval(trim($_POST['poll_interval'])) : 0);
- $maxloadavg = ((x($_POST,'maxloadavg')) ? intval(trim($_POST['maxloadavg'])) : 50);
- $feed_contacts = ((x($_POST,'feed_contacts')) ? intval($_POST['feed_contacts']) : 0);
- $verify_email = ((x($_POST,'verify_email')) ? 1 : 0);
-
- set_config('system', 'feed_contacts', $feed_contacts);
- set_config('system', 'delivery_interval', $delivery_interval);
- set_config('system', 'delivery_batch_count', $delivery_batch_count);
- set_config('system', 'poll_interval', $poll_interval);
- set_config('system', 'maxloadavg', $maxloadavg);
- set_config('system', 'frontpage', $frontpage);
- set_config('system', 'mirror_frontpage', $mirror_frontpage);
- set_config('system', 'sitename', $sitename);
- set_config('system', 'login_on_homepage', $login_on_homepage);
- set_config('system', 'enable_context_help', $enable_context_help);
- set_config('system', 'verify_email', $verify_email);
- set_config('system', 'default_expire_days', $default_expire_days);
-
- if($directory_server)
- set_config('system','directory_server',$directory_server);
-
- if ($banner == '') {
- del_config('system', 'banner');
- } else {
- set_config('system', 'banner', $banner);
- }
-
- if ($admininfo == ''){
- del_config('system', 'admininfo');
- } else {
- require_once('include/text.php');
- linkify_tags($a, $admininfo, local_channel());
- set_config('system', 'admininfo', $admininfo);
- }
- set_config('system', 'language', $language);
- set_config('system', 'theme', $theme);
- if ( $theme_mobile === '---' ) {
- del_config('system', 'mobile_theme');
- } else {
- set_config('system', 'mobile_theme', $theme_mobile);
- }
- // set_config('system','site_channel', $site_channel);
- set_config('system','maximagesize', $maximagesize);
-
- set_config('system','register_policy', $register_policy);
- set_config('system','invitation_only', $invite_only);
- set_config('system','access_policy', $access_policy);
- set_config('system','account_abandon_days', $abandon_days);
- set_config('system','register_text', $register_text);
- set_config('system','allowed_sites', $allowed_sites);
- set_config('system','allowed_email', $allowed_email);
- set_config('system','not_allowed_email', $not_allowed_email);
- set_config('system','publish_all', $force_publish);
- set_config('system','disable_discover_tab', $disable_discover_tab);
- if ($global_directory == '') {
- del_config('system', 'directory_submit_url');
- } else {
- set_config('system', 'directory_submit_url', $global_directory);
- }
-
- set_config('system','no_community_page', $no_community_page);
- set_config('system','no_utf', $no_utf);
- set_config('system','verifyssl', $verifyssl);
- set_config('system','proxyuser', $proxyuser);
- set_config('system','proxy', $proxy);
- set_config('system','curl_timeout', $timeout);
-
- info( t('Site settings updated.') . EOL);
- goaway(z_root() . '/admin/site' );
- }
-
- /**
- * @brief Admin page site.
- *
- * @param App $a
- * @return string
- */
- function admin_page_site(&$a) {
-
- /* Installed langs */
- $lang_choices = array();
- $langs = glob('view/*/hstrings.php');
-
- if(is_array($langs) && count($langs)) {
- if(! in_array('view/en/hstrings.php',$langs))
- $langs[] = 'view/en/';
- asort($langs);
- foreach($langs as $l) {
- $t = explode("/",$l);
- $lang_choices[$t[1]] = $t[1];
- }
- }
-
- /* Installed themes */
- $theme_choices_mobile["---"] = t("Default");
- $theme_choices = array();
- $files = glob('view/theme/*');
- if($files) {
- foreach($files as $file) {
- $vars = '';
- $f = basename($file);
- if (file_exists($file . '/library'))
- continue;
- if (file_exists($file . '/mobile'))
- $vars = t('mobile');
- if (file_exists($file . '/experimental'))
- $vars .= t('experimental');
- if (file_exists($file . '/unsupported'))
- $vars .= t('unsupported');
- if ($vars) {
- $theme_choices[$f] = $f . ' (' . $vars . ')';
- $theme_choices_mobile[$f] = $f . ' (' . $vars . ')';
- }
- else {
- $theme_choices[$f] = $f;
- $theme_choices_mobile[$f] = $f;
- }
- }
- }
-
- $dir_choices = null;
- $dirmode = get_config('system','directory_mode');
- $realm = get_directory_realm();
-
- // directory server should not be set or settable unless we are a directory client
-
- if($dirmode == DIRECTORY_MODE_NORMAL) {
- $x = q("select site_url from site where site_flags in (%d,%d) and site_realm = '%s'",
- intval(DIRECTORY_MODE_SECONDARY),
- intval(DIRECTORY_MODE_PRIMARY),
- dbesc($realm)
- );
- if($x) {
- $dir_choices = array();
- foreach($x as $xx) {
- $dir_choices[$xx['site_url']] = $xx['site_url'];
- }
- }
- }
-
- /* Banner */
-
- $banner = get_config('system', 'banner');
- if($banner === false)
- $banner = get_config('system','sitename');
-
- $banner = htmlspecialchars($banner);
-
- /* Admin Info */
- $admininfo = get_config('system', 'admininfo');
-
- /* Register policy */
- $register_choices = Array(
- REGISTER_CLOSED => t("No"),
- REGISTER_APPROVE => t("Yes - with approval"),
- REGISTER_OPEN => t("Yes")
- );
-
- /* Acess policy */
- $access_choices = Array(
- ACCESS_PRIVATE => t("My site is not a public server"),
- ACCESS_PAID => t("My site has paid access only"),
- ACCESS_FREE => t("My site has free access only"),
- ACCESS_TIERED => t("My site offers free accounts with optional paid upgrades")
- );
-
- // $ssl_choices = array(
- // SSL_POLICY_NONE => t("No SSL policy, links will track page SSL state"),
- // SSL_POLICY_FULL => t("Force all links to use SSL")
- // );
-
- $discover_tab = get_config('system','disable_discover_tab');
- // $disable public streams by default
- if($discover_tab === false)
- $discover_tab = 1;
- // now invert the logic for the setting.
- $discover_tab = (1 - $discover_tab);
-
-
- $homelogin = get_config('system','login_on_homepage');
- $enable_context_help = get_config('system','enable_context_help');
-
- $t = get_markup_template("admin_site.tpl");
- return replace_macros($t, array(
- '$title' => t('Administration'),
- '$page' => t('Site'),
- '$submit' => t('Submit'),
- '$registration' => t('Registration'),
- '$upload' => t('File upload'),
- '$corporate' => t('Policies'),
- '$advanced' => t('Advanced'),
-
- '$baseurl' => z_root(),
- // name, label, value, help string, extra data...
- '$sitename' => array('sitename', t("Site name"), htmlspecialchars(get_config('system','sitename'), ENT_QUOTES, 'UTF-8'),''),
- '$banner' => array('banner', t("Banner/Logo"), $banner, ""),
- '$admininfo' => array('admininfo', t("Administrator Information"), $admininfo, t("Contact information for site administrators. Displayed on siteinfo page. BBCode can be used here")),
- '$language' => array('language', t("System language"), get_config('system','language'), "", $lang_choices),
- '$theme' => array('theme', t("System theme"), get_config('system','theme'), t("Default system theme - may be over-ridden by user profiles - <a href='#' id='cnftheme'>change theme settings</a>"), $theme_choices),
- '$theme_mobile' => array('theme_mobile', t("Mobile system theme"), get_config('system','mobile_theme'), t("Theme for mobile devices"), $theme_choices_mobile),
- // '$site_channel' => array('site_channel', t("Channel to use for this website's static pages"), get_config('system','site_channel'), t("Site Channel")),
- '$feed_contacts' => array('feed_contacts', t('Allow Feeds as Connections'),get_config('system','feed_contacts'),t('(Heavy system resource usage)')),
- '$maximagesize' => array('maximagesize', t("Maximum image size"), intval(get_config('system','maximagesize')), t("Maximum size in bytes of uploaded images. Default is 0, which means no limits.")),
- '$register_policy' => array('register_policy', t("Does this site allow new member registration?"), get_config('system','register_policy'), "", $register_choices),
- '$invite_only' => array('invite_only', t("Invitation only"), get_config('system','invitation_only'), t("Only allow new member registrations with an invitation code. Above register policy must be set to Yes.")),
- '$access_policy' => array('access_policy', t("Which best describes the types of account offered by this hub?"), get_config('system','access_policy'), "This is displayed on the public server site list.", $access_choices),
- '$register_text' => array('register_text', t("Register text"), htmlspecialchars(get_config('system','register_text'), ENT_QUOTES, 'UTF-8'), t("Will be displayed prominently on the registration page.")),
- '$frontpage' => array('frontpage', t("Site homepage to show visitors (default: login box)"), get_config('system','frontpage'), t("example: 'public' to show public stream, 'page/sys/home' to show a system webpage called 'home' or 'include:home.html' to include a file.")),
- '$mirror_frontpage' => array('mirror_frontpage', t("Preserve site homepage URL"), get_config('system','mirror_frontpage'), t('Present the site homepage in a frame at the original location instead of redirecting')),
- '$abandon_days' => array('abandon_days', t('Accounts abandoned after x days'), get_config('system','account_abandon_days'), t('Will not waste system resources polling external sites for abandonded accounts. Enter 0 for no time limit.')),
- '$allowed_sites' => array('allowed_sites', t("Allowed friend domains"), get_config('system','allowed_sites'), t("Comma separated list of domains which are allowed to establish friendships with this site. Wildcards are accepted. Empty to allow any domains")),
- '$allowed_email' => array('allowed_email', t("Allowed email domains"), get_config('system','allowed_email'), t("Comma separated list of domains which are allowed in email addresses for registrations to this site. Wildcards are accepted. Empty to allow any domains")),
- '$not_allowed_email' => array('not_allowed_email', t("Not allowed email domains"), get_config('system','not_allowed_email'), t("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.")),
- '$verify_email' => array('verify_email', t("Verify Email Addresses"), get_config('system','verify_email'), t("Check to verify email addresses used in account registration (recommended).")),
- '$force_publish' => array('publish_all', t("Force publish"), get_config('system','publish_all'), t("Check to force all profiles on this site to be listed in the site directory.")),
- '$disable_discover_tab' => array('disable_discover_tab', t('Import Public Streams'), $discover_tab, t('Import and allow access to public content pulled from other sites. Warning: this content is unmoderated.')),
- '$login_on_homepage' => array('login_on_homepage', t("Login on Homepage"),((intval($homelogin) || $homelogin === false) ? 1 : '') , t("Present a login box to visitors on the home page if no other content has been configured.")),
- '$enable_context_help' => array('enable_context_help', t("Enable context help"),((intval($enable_context_help) === 1 || $enable_context_help === false) ? 1 : 0) , t("Display contextual help for the current page when the help button is pressed.")),
-
- '$directory_server' => (($dir_choices) ? array('directory_server', t("Directory Server URL"), get_config('system','directory_server'), t("Default directory server"), $dir_choices) : null),
-
- '$proxyuser' => array('proxyuser', t("Proxy user"), get_config('system','proxyuser'), ""),
- '$proxy' => array('proxy', t("Proxy URL"), get_config('system','proxy'), ""),
- '$timeout' => array('timeout', t("Network timeout"), (x(get_config('system','curl_timeout'))?get_config('system','curl_timeout'):60), t("Value is in seconds. Set to 0 for unlimited (not recommended).")),
- '$delivery_interval' => array('delivery_interval', t("Delivery interval"), (x(get_config('system','delivery_interval'))?get_config('system','delivery_interval'):2), t("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.")),
- '$delivery_batch_count' => array('delivery_batch_count', t('Deliveries per process'),(x(get_config('system','delivery_batch_count'))?get_config('system','delivery_batch_count'):1), t("Number of deliveries to attempt in a single operating system process. Adjust if necessary to tune system performance. Recommend: 1-5.")),
- '$poll_interval' => array('poll_interval', t("Poll interval"), (x(get_config('system','poll_interval'))?get_config('system','poll_interval'):2), t("Delay background polling processes by this many seconds to reduce system load. If 0, use delivery interval.")),
- '$maxloadavg' => array('maxloadavg', t("Maximum Load Average"), ((intval(get_config('system','maxloadavg')) > 0)?get_config('system','maxloadavg'):50), t("Maximum system load before delivery and poll processes are deferred - default 50.")),
- '$default_expire_days' => array('default_expire_days', t('Expiration period in days for imported (grid/network) content'), intval(get_config('system','default_expire_days')), t('0 for no expiration of imported content')),
- '$form_security_token' => get_form_security_token("admin_site"),
- ));
- }
-
- function admin_page_hubloc_post(&$a){
- check_form_security_token_redirectOnErr('/admin/hubloc', 'admin_hubloc');
- require_once('include/zot.php');
-
- //prepare for ping
-
- if ( $_POST['hublocid']) {
- $hublocid = $_POST['hublocid'];
- $arrhublocurl = q("SELECT hubloc_url FROM hubloc WHERE hubloc_id = %d ",
- intval($hublocid)
- );
- $hublocurl = $arrhublocurl[0]['hubloc_url'] . '/post';
-
- //perform ping
- $m = zot_build_packet(\App::get_channel(),'ping');
- $r = zot_zot($hublocurl,$m);
- //handle results and set the hubloc flags in db to make results visible
- $r2 = $r['body'];
- $r3 = $r2['success'];
- if ( $r3['success'] == True ){
- //set HUBLOC_OFFLINE to 0
- logger(' success = true ',LOGGER_DEBUG);
- } else {
- //set HUBLOC_OFFLINE to 1
- logger(' success = false ', LOGGER_DEBUG);
- }
-
- //unfotunatly zping wont work, I guess return format is not correct
- //require_once('mod/zping.php');
- //$r = zping_content($hublocurl);
- //logger('zping answer: ' . $r, LOGGER_DEBUG);
-
- //in case of repair store new pub key for tested hubloc (all channel with this hubloc) in db
- //after repair set hubloc flags to 0
- }
-
- goaway(z_root() . '/admin/hubloc' );
- }
-
- function trim_array_elems($arr) {
- $narr = array();
-
- if($arr && is_array($arr)) {
- for($x = 0; $x < count($arr); $x ++) {
- $y = trim($arr[$x]);
- if($y)
- $narr[] = $y;
- }
- }
- return $narr;
- }
-
- function admin_page_security_post(&$a){
- check_form_security_token_redirectOnErr('/admin/security', 'admin_security');
-
- logger('post: ' . print_r($_POST,true));
-
- $block_public = ((x($_POST,'block_public')) ? True : False);
- set_config('system','block_public',$block_public);
-
- $ws = $this->trim_array_elems(explode("\n",$_POST['whitelisted_sites']));
- set_config('system','whitelisted_sites',$ws);
-
- $bs = $this->trim_array_elems(explode("\n",$_POST['blacklisted_sites']));
- set_config('system','blacklisted_sites',$bs);
-
- $wc = $this->trim_array_elems(explode("\n",$_POST['whitelisted_channels']));
- set_config('system','whitelisted_channels',$wc);
-
- $bc = $this->trim_array_elems(explode("\n",$_POST['blacklisted_channels']));
- set_config('system','blacklisted_channels',$bc);
-
- $embed_sslonly = ((x($_POST,'embed_sslonly')) ? True : False);
- set_config('system','embed_sslonly',$embed_sslonly);
-
- $we = $this->trim_array_elems(explode("\n",$_POST['embed_allow']));
- set_config('system','embed_allow',$we);
-
- $be = $this->trim_array_elems(explode("\n",$_POST['embed_deny']));
- set_config('system','embed_deny',$be);
-
- $ts = ((x($_POST,'transport_security')) ? True : False);
- set_config('system','transport_security_header',$ts);
-
- $cs = ((x($_POST,'content_security')) ? True : False);
- set_config('system','content_security_policy',$cs);
-
- goaway(z_root() . '/admin/security');
- }
-
-
-
-
- function admin_page_features_post(&$a) {
-
- check_form_security_token_redirectOnErr('/admin/features', 'admin_manage_features');
-
- logger('postvars: ' . print_r($_POST,true));
-
- $arr = array();
- $features = get_features(false);
-
- foreach($features as $fname => $fdata) {
- foreach(array_slice($fdata,1) as $f) {
- $feature = $f[0];
-
- if(array_key_exists('feature_' . $feature,$_POST))
- $val = intval($_POST['feature_' . $feature]);
- else
- $val = 0;
- set_config('feature',$feature,$val);
-
- if(array_key_exists('featurelock_' . $feature,$_POST))
- set_config('feature_lock',$feature,$val);
- else
- del_config('feature_lock',$feature);
- }
- }
-
- goaway(z_root() . '/admin/features' );
-
- }
-
- function admin_page_features(&$a) {
-
- if((argc() > 1) && (argv(1) === 'features')) {
- $arr = array();
- $features = get_features(false);
-
- foreach($features as $fname => $fdata) {
- $arr[$fname] = array();
- $arr[$fname][0] = $fdata[0];
- foreach(array_slice($fdata,1) as $f) {
-
- $set = get_config('feature',$f[0]);
- if($set === false)
- $set = $f[3];
- $arr[$fname][1][] = array(
- array('feature_' .$f[0],$f[1],$set,$f[2],array(t('Off'),t('On'))),
- array('featurelock_' .$f[0],sprintf( t('Lock feature %s'),$f[1]),(($f[4] !== false) ? 1 : 0),'',array(t('Off'),t('On')))
- );
- }
- }
-
- $tpl = get_markup_template("admin_settings_features.tpl");
- $o .= replace_macros($tpl, array(
- '$form_security_token' => get_form_security_token("admin_manage_features"),
- '$title' => t('Manage Additional Features'),
- '$features' => $arr,
- '$submit' => t('Submit'),
- ));
-
- return $o;
- }
- }
-
-
-
-
-
- function admin_page_hubloc(&$a) {
- $hubloc = q("SELECT hubloc_id, hubloc_addr, hubloc_host, hubloc_status FROM hubloc");
-
- if(! $hubloc){
- notice( t('No server found') . EOL);
- goaway(z_root() . '/admin/hubloc');
- }
-
- $t = get_markup_template('admin_hubloc.tpl');
- return replace_macros($t, array(
- '$hubloc' => $hubloc,
- '$th_hubloc' => array(t('ID'), t('for channel'), t('on server'), t('Status')),
- '$title' => t('Administration'),
- '$page' => t('Server'),
- '$queues' => $queues,
- //'$accounts' => $accounts, /*$accounts is empty here*/
- '$pending' => array( t('Pending registrations'), $pending),
- '$plugins' => array( t('Active plugins'), \App::$plugins ),
- '$form_security_token' => get_form_security_token('admin_hubloc')
- ));
- }
-
- function admin_page_security(&$a) {
-
- $whitesites = get_config('system','whitelisted_sites');
- $whitesites_str = ((is_array($whitesites)) ? implode($whitesites,"\n") : '');
-
- $blacksites = get_config('system','blacklisted_sites');
- $blacksites_str = ((is_array($blacksites)) ? implode($blacksites,"\n") : '');
-
-
- $whitechannels = get_config('system','whitelisted_channels');
- $whitechannels_str = ((is_array($whitechannels)) ? implode($whitechannels,"\n") : '');
-
- $blackchannels = get_config('system','blacklisted_channels');
- $blackchannels_str = ((is_array($blackchannels)) ? implode($blackchannels,"\n") : '');
-
-
- $whiteembeds = get_config('system','embed_allow');
- $whiteembeds_str = ((is_array($whiteembeds)) ? implode($whiteembeds,"\n") : '');
-
- $blackembeds = get_config('system','embed_deny');
- $blackembeds_str = ((is_array($blackembeds)) ? implode($blackembeds,"\n") : '');
-
- $embed_coop = intval(get_config('system','embed_coop'));
-
- if((! $whiteembeds) && (! $blackembeds)) {
- $embedhelp1 = t("By default, unfiltered HTML is allowed in embedded media. This is inherently insecure.");
- }
-
- $embedhelp2 = t("The recommended setting is to only allow unfiltered HTML from the following sites:");
- $embedhelp3 = t("https://youtube.com/<br />https://www.youtube.com/<br />https://youtu.be/<br />https://vimeo.com/<br />https://soundcloud.com/<br />");
- $embedhelp4 = t("All other embedded content will be filtered, <strong>unless</strong> embedded content from that site is explicitly blocked.");
-
- $t = get_markup_template('admin_security.tpl');
- return replace_macros($t, array(
- '$title' => t('Administration'),
- '$page' => t('Security'),
- '$form_security_token' => get_form_security_token('admin_security'),
- '$block_public' => array('block_public', t("Block public"), get_config('system','block_public'), t("Check to block public access to all otherwise public personal pages on this site unless you are currently authenticated.")),
- '$transport_security' => array('transport_security', t('Set "Transport Security" HTTP header'),intval(get_config('system','transport_security_header')),''),
- '$content_security' => array('content_security', t('Set "Content Security Policy" HTTP header'),intval(get_config('system','content_security_policy')),''),
- '$whitelisted_sites' => array('whitelisted_sites', t('Allow communications only from these sites'), $whitesites_str, t('One site per line. Leave empty to allow communication from anywhere by default')),
- '$blacklisted_sites' => array('blacklisted_sites', t('Block communications from these sites'), $blacksites_str, ''),
- '$whitelisted_channels' => array('whitelisted_channels', t('Allow communications only from these channels'), $whitechannels_str, t('One channel (hash) per line. Leave empty to allow from any channel by default')),
- '$blacklisted_channels' => array('blacklisted_channels', t('Block communications from these channels'), $blackchannels_str, ''),
- '$embed_sslonly' => array('embed_sslonly',t('Only allow embeds from secure (SSL) websites and links.'), intval(get_config('system','embed_sslonly')),''),
- '$embed_allow' => array('embed_allow', t('Allow unfiltered embedded HTML content only from these domains'), $whiteembeds_str, t('One site per line. By default embedded content is filtered.')),
- '$embed_deny' => array('embed_deny', t('Block embedded HTML from these domains'), $blackembeds_str, ''),
-
-// '$embed_coop' => array('embed_coop', t('Cooperative embed security'), $embed_coop, t('Enable to share embed security with other compatible sites/hubs')),
-
- '$submit' => t('Submit')
- ));
- }
-
-
-
-
- function admin_page_dbsync(&$a) {
- $o = '';
-
- if(argc() > 3 && intval(argv(3)) && argv(2) === 'mark') {
- set_config('database', 'update_r' . intval(argv(3)), 'success');
- if(intval(get_config('system','db_version')) <= intval(argv(3)))
- set_config('system','db_version',intval(argv(3)) + 1);
- info( t('Update has been marked successful') . EOL);
- goaway(z_root() . '/admin/dbsync');
- }
-
- if(argc() > 2 && intval(argv(2))) {
- require_once('install/update.php');
- $func = 'update_r' . intval(argv(2));
- if(function_exists($func)) {
- $retval = $func();
- if($retval === UPDATE_FAILED) {
- $o .= sprintf( t('Executing %s failed. Check system logs.'), $func);
- }
- elseif($retval === UPDATE_SUCCESS) {
- $o .= sprintf( t('Update %s was successfully applied.'), $func);
- set_config('database',$func, 'success');
- }
- else
- $o .= sprintf( t('Update %s did not return a status. Unknown if it succeeded.'), $func);
- }
- else
- $o .= sprintf( t('Update function %s could not be found.'), $func);
-
- return $o;
- }
-
- $failed = array();
- $r = q("select * from config where `cat` = 'database' ");
- if(count($r)) {
- foreach($r as $rr) {
- $upd = intval(substr($rr['k'],8));
- if($rr['v'] === 'success')
- continue;
- $failed[] = $upd;
- }
- }
- if(! count($failed))
- return '<div class="generic-content-wrapper-styled"><h3>' . t('No failed updates.') . '</h3></div>';
-
- $o = replace_macros(get_markup_template('failed_updates.tpl'),array(
- '$base' => z_root(),
- '$banner' => t('Failed Updates'),
- '$desc' => '',
- '$mark' => t('Mark success (if update was manually applied)'),
- '$apply' => t('Attempt to execute this update step automatically'),
- '$failed' => $failed
- ));
-
- return $o;
- }
-
- function admin_page_queue($a) {
- $o = '';
-
- $expert = ((array_key_exists('expert',$_REQUEST)) ? intval($_REQUEST['expert']) : 0);
-
- if($_REQUEST['drophub']) {
- require_once('hubloc.php');
- hubloc_mark_as_down($_REQUEST['drophub']);
- remove_queue_by_posturl($_REQUEST['drophub']);
- }
-
- if($_REQUEST['emptyhub']) {
- remove_queue_by_posturl($_REQUEST['emptyhub']);
- }
-
- $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'),
- '$priority' => t('Priority'),
- '$desturl' => t('Destination URL'),
- '$nukehub' => t('Mark hub permanently offline'),
- '$empty' => t('Empty queue for this hub'),
- '$lastconn' => t('Last known contact'),
- '$hasentries' => ((count($r)) ? true : false),
- '$entries' => $r,
- '$expert' => $expert
- ));
-
- return $o;
- }
-
- /**
- * @brief Handle POST actions on accounts admin page.
- *
- * This function is called when on the admin user/account page the form was
- * submitted to handle multiple operations at once. If one of the icons next
- * to an entry are pressed the function admin_page_accounts() will handle this.
- *
- * @param App $a
- */
- function admin_page_accounts_post($a) {
- $pending = ( x($_POST, 'pending') ? $_POST['pending'] : array() );
- $users = ( x($_POST, 'user') ? $_POST['user'] : array() );
- $blocked = ( x($_POST, 'blocked') ? $_POST['blocked'] : array() );
-
- check_form_security_token_redirectOnErr('/admin/accounts', 'admin_accounts');
-
- // change to switch structure?
- // account block/unblock button was submitted
- if (x($_POST, 'page_users_block')) {
- for ($i = 0; $i < count($users); $i++) {
- // if account is blocked remove blocked bit-flag, otherwise add blocked bit-flag
- $op = ($blocked[$i]) ? '& ~' : '| ';
- q("UPDATE account SET account_flags = (account_flags $op%d) WHERE account_id = %d",
- intval(ACCOUNT_BLOCKED),
- intval($users[$i])
- );
- }
- notice( sprintf( tt("%s account blocked/unblocked", "%s account blocked/unblocked", count($users)), count($users)) );
- }
- // account delete button was submitted
- if (x($_POST, 'page_accounts_delete')) {
- foreach ($users as $uid){
- account_remove($uid, true, false);
- }
- notice( sprintf( tt("%s account deleted", "%s accounts deleted", count($users)), count($users)) );
- }
- // registration approved button was submitted
- if (x($_POST, 'page_users_approve')) {
- foreach ($pending as $hash) {
- account_allow($hash);
- }
- }
- // registration deny button was submitted
- if (x($_POST, 'page_users_deny')) {
- foreach ($pending as $hash) {
- account_deny($hash);
- }
- }
-
- goaway(z_root() . '/admin/accounts' );
- }
-
- /**
- * @brief Generate accounts admin page and handle single item operations.
- *
- * This function generates the accounts/account admin page and handles the actions
- * if an icon next to an entry was clicked. If several items were selected and
- * the form was submitted it is handled by the function admin_page_accounts_post().
- *
- * @param App &$a
- * @return string
- */
- function admin_page_accounts(&$a){
- if (argc() > 2) {
- $uid = argv(3);
- $account = q("SELECT * FROM account WHERE account_id = %d",
- intval($uid)
- );
-
- if (! $account) {
- notice( t('Account not found') . EOL);
- goaway(z_root() . '/admin/accounts' );
- }
-
- check_form_security_token_redirectOnErr('/admin/accounts', 'admin_accounts', 't');
-
- switch (argv(2)){
- case 'delete':
- // delete user
- account_remove($uid,true,false);
-
- notice( sprintf(t("Account '%s' deleted"), $account[0]['account_email']) . EOL);
- break;
- case 'block':
- q("UPDATE account SET account_flags = ( account_flags | %d ) WHERE account_id = %d",
- intval(ACCOUNT_BLOCKED),
- intval($uid)
- );
-
- notice( sprintf( t("Account '%s' blocked") , $account[0]['account_email']) . EOL);
- break;
- case 'unblock':
- q("UPDATE account SET account_flags = ( account_flags & ~%d ) WHERE account_id = %d",
- intval(ACCOUNT_BLOCKED),
- intval($uid)
- );
-
- notice( sprintf( t("Account '%s' unblocked"), $account[0]['account_email']) . EOL);
- break;
- }
-
- goaway(z_root() . '/admin/accounts' );
- }
-
- /* get pending */
- $pending = q("SELECT account.*, register.hash from account left join register on account_id = register.uid where (account_flags & %d )>0 ",
- intval(ACCOUNT_PENDING)
- );
-
- /* get accounts */
-
- $total = q("SELECT count(*) as total FROM account");
- if (count($total)) {
- \App::set_pager_total($total[0]['total']);
- \App::set_pager_itemspage(100);
- }
-
- $serviceclass = (($_REQUEST['class']) ? " and account_service_class = '" . dbesc($_REQUEST['class']) . "' " : '');
-
- $key = (($_REQUEST['key']) ? dbesc($_REQUEST['key']) : 'account_id');
- $dir = 'asc';
- if(array_key_exists('dir',$_REQUEST))
- $dir = ((intval($_REQUEST['dir'])) ? 'asc' : 'desc');
-
- $base = z_root() . '/admin/accounts?f=';
- $odir = (($dir === 'asc') ? '0' : '1');
-
- $users = q("SELECT `account_id` , `account_email`, `account_lastlog`, `account_created`, `account_expires`, " . "`account_service_class`, ( account_flags & %d ) > 0 as `blocked`, " .
- "(SELECT %s FROM channel as ch " .
- "WHERE ch.channel_account_id = ac.account_id and ch.channel_removed = 0 ) as `channels` " .
- "FROM account as ac where true $serviceclass order by $key $dir limit %d offset %d ",
- intval(ACCOUNT_BLOCKED),
- db_concat('ch.channel_address', ' '),
- intval(\App::$pager['itemspage']),
- intval(\App::$pager['start'])
- );
-
- // function _setup_users($e){
- // $accounts = Array(
- // t('Normal Account'),
- // t('Soapbox Account'),
- // t('Community/Celebrity Account'),
- // t('Automatic Friend Account')
- // );
-
- // $e['page_flags'] = $accounts[$e['page-flags']];
- // $e['register_date'] = relative_date($e['register_date']);
- // $e['login_date'] = relative_date($e['login_date']);
- // $e['lastitem_date'] = relative_date($e['lastitem_date']);
- // return $e;
- // }
- // $users = array_map("_setup_users", $users);
-
- $t = get_markup_template('admin_accounts.tpl');
- $o = replace_macros($t, array(
- // strings //
- '$title' => t('Administration'),
- '$page' => t('Accounts'),
- '$submit' => t('Submit'),
- '$select_all' => t('select all'),
- '$h_pending' => t('Registrations waiting for confirm'),
- '$th_pending' => array( t('Request date'), t('Email') ),
- '$no_pending' => t('No registrations.'),
- '$approve' => t('Approve'),
- '$deny' => t('Deny'),
- '$delete' => t('Delete'),
- '$block' => t('Block'),
- '$unblock' => t('Unblock'),
- '$odir' => $odir,
- '$base' => $base,
- '$h_users' => t('Accounts'),
- '$th_users' => array(
- [ t('ID'), 'account_id' ],
- [ t('Email'), 'account_email' ],
- [ t('All Channels'), 'channels' ],
- [ t('Register date'), 'account_created' ],
- [ t('Last login'), 'account_lastlog' ],
- [ t('Expires'), 'account_expires' ],
- [ t('Service Class'), 'account_service_class'] ),
-
- '$confirm_delete_multi' => t('Selected accounts will be deleted!\n\nEverything these accounts had posted on this site will be permanently deleted!\n\nAre you sure?'),
- '$confirm_delete' => t('The account {0} will be deleted!\n\nEverything this account has posted on this site will be permanently deleted!\n\nAre you sure?'),
-
- '$form_security_token' => get_form_security_token("admin_accounts"),
-
- // values //
- '$baseurl' => z_root(),
-
- '$pending' => $pending,
- '$users' => $users,
- ));
- $o .= paginate($a);
-
- return $o;
- }
-
-
- /**
- * @brief Channels admin page.
- *
- * @param App &$a
- */
- function admin_page_channels_post(&$a) {
- $channels = ( x($_POST, 'channel') ? $_POST['channel'] : Array() );
-
- check_form_security_token_redirectOnErr('/admin/channels', 'admin_channels');
-
- $xor = db_getfunc('^');
-
- if (x($_POST,'page_channels_block')){
- foreach($channels as $uid){
- q("UPDATE channel SET channel_pageflags = ( channel_pageflags $xor %d ) where channel_id = %d",
- intval(PAGE_CENSORED),
- intval( $uid )
- );
- \Zotlabs\Daemon\Master::Summon(array('Directory',$uid,'nopush'));
- }
- notice( sprintf( tt("%s channel censored/uncensored", "%s channels censored/uncensored", count($channels)), count($channels)) );
- }
- if (x($_POST,'page_channels_code')){
- foreach($channels as $uid){
- q("UPDATE channel SET channel_pageflags = ( channel_pageflags $xor %d ) where channel_id = %d",
- intval(PAGE_ALLOWCODE),
- intval( $uid )
- );
- }
- notice( sprintf( tt("%s channel code allowed/disallowed", "%s channels code allowed/disallowed", count($channels)), count($channels)) );
- }
- if (x($_POST,'page_channels_delete')){
- foreach($channels as $uid){
- channel_remove($uid,true);
- }
- notice( sprintf( tt("%s channel deleted", "%s channels deleted", count($channels)), count($channels)) );
- }
-
- goaway(z_root() . '/admin/channels' );
- }
-
- /**
- * @brief
- *
- * @param App &$a
- * @return string
- */
- function admin_page_channels(&$a){
- if (argc() > 2) {
- $uid = argv(3);
- $channel = q("SELECT * FROM channel WHERE channel_id = %d",
- intval($uid)
- );
-
- if (! $channel) {
- notice( t('Channel not found') . EOL);
- goaway(z_root() . '/admin/channels' );
- }
-
- switch(argv(2)) {
- case "delete":{
- check_form_security_token_redirectOnErr('/admin/channels', 'admin_channels', 't');
- // delete channel
- channel_remove($uid,true);
-
- notice( sprintf(t("Channel '%s' deleted"), $channel[0]['channel_name']) . EOL);
- }; break;
-
- case "block":{
- check_form_security_token_redirectOnErr('/admin/channels', 'admin_channels', 't');
- $pflags = $channel[0]['channel_pageflags'] ^ PAGE_CENSORED;
- q("UPDATE channel SET channel_pageflags = %d where channel_id = %d",
- intval($pflags),
- intval( $uid )
- );
- \Zotlabs\Daemon\Master::Summon(array('Directory',$uid,'nopush'));
-
- notice( sprintf( (($pflags & PAGE_CENSORED) ? t("Channel '%s' censored"): t("Channel '%s' uncensored")) , $channel[0]['channel_name'] . ' (' . $channel[0]['channel_address'] . ')' ) . EOL);
- }; break;
-
- case "code":{
- check_form_security_token_redirectOnErr('/admin/channels', 'admin_channels', 't');
- $pflags = $channel[0]['channel_pageflags'] ^ PAGE_ALLOWCODE;
- q("UPDATE channel SET channel_pageflags = %d where channel_id = %d",
- intval($pflags),
- intval( $uid )
- );
-
- notice( sprintf( (($pflags & PAGE_ALLOWCODE) ? t("Channel '%s' code allowed"): t("Channel '%s' code disallowed")) , $channel[0]['channel_name'] . ' (' . $channel[0]['channel_address'] . ')' ) . EOL);
- }; break;
-
- default:
- break;
- }
- goaway(z_root() . '/admin/channels' );
- }
-
-
- $key = (($_REQUEST['key']) ? dbesc($_REQUEST['key']) : 'channel_id');
- $dir = 'asc';
- if(array_key_exists('dir',$_REQUEST))
- $dir = ((intval($_REQUEST['dir'])) ? 'asc' : 'desc');
-
- $base = z_root() . '/admin/channels?f=';
- $odir = (($dir === 'asc') ? '0' : '1');
-
-
-
- /* get channels */
-
- $total = q("SELECT count(*) as total FROM channel where channel_removed = 0 and channel_system = 0");
- if($total) {
- \App::set_pager_total($total[0]['total']);
- \App::set_pager_itemspage(100);
- }
-
- $channels = q("SELECT * from channel where channel_removed = 0 and channel_system = 0 order by $key $dir limit %d offset %d ",
- intval(\App::$pager['itemspage']),
- intval(\App::$pager['start'])
- );
-
- if($channels) {
- for($x = 0; $x < count($channels); $x ++) {
- if($channels[$x]['channel_pageflags'] & PAGE_CENSORED)
- $channels[$x]['blocked'] = true;
- else
- $channels[$x]['blocked'] = false;
-
- if($channels[$x]['channel_pageflags'] & PAGE_ALLOWCODE)
- $channels[$x]['allowcode'] = true;
- else
- $channels[$x]['allowcode'] = false;
- }
- }
-
- $t = get_markup_template("admin_channels.tpl");
- $o = replace_macros($t, array(
- // strings //
- '$title' => t('Administration'),
- '$page' => t('Channels'),
- '$submit' => t('Submit'),
- '$select_all' => t('select all'),
- '$delete' => t('Delete'),
- '$block' => t('Censor'),
- '$unblock' => t('Uncensor'),
- '$code' => t('Allow Code'),
- '$uncode' => t('Disallow Code'),
- '$h_channels' => t('Channel'),
- '$base' => $base,
- '$odir' => $odir,
- '$th_channels' => array(
- [ t('UID'), 'channel_id' ],
- [ t('Name'), 'channel_name' ],
- [ t('Address'), 'channel_address' ]),
-
- '$confirm_delete_multi' => t('Selected channels will be deleted!\n\nEverything that was posted in these channels on this site will be permanently deleted!\n\nAre you sure?'),
- '$confirm_delete' => t('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?'),
-
- '$form_security_token' => get_form_security_token("admin_channels"),
-
- // values //
- '$baseurl' => z_root(),
- '$channels' => $channels,
- ));
- $o .= paginate($a);
-
- return $o;
- }
-
-
- /**
- * Plugins admin page
- *
- * @param App $a
- * @return string
- */
- function admin_page_plugins(&$a){
-
- /*
- * Single plugin
- */
- if (\App::$argc == 3){
- $plugin = \App::$argv[2];
- if (!is_file("addon/$plugin/$plugin.php")){
- notice( t("Item not found.") );
- return '';
- }
-
- $enabled = in_array($plugin,\App::$plugins);
- $info = get_plugin_info($plugin);
- $x = check_plugin_versions($info);
-
- // disable plugins which are installed but incompatible versions
-
- if($enabled && ! $x) {
- $enabled = false;
- $idz = array_search($plugin, \App::$plugins);
- if ($idz !== false) {
- unset(\App::$plugins[$idz]);
- uninstall_plugin($plugin);
- set_config("system","addon", implode(", ",\App::$plugins));
- }
- }
- $info['disabled'] = 1-intval($x);
-
- if (x($_GET,"a") && $_GET['a']=="t"){
- check_form_security_token_redirectOnErr('/admin/plugins', 'admin_plugins', 't');
-
- // Toggle plugin status
- $idx = array_search($plugin, \App::$plugins);
- if ($idx !== false){
- unset(\App::$plugins[$idx]);
- uninstall_plugin($plugin);
- info( sprintf( t("Plugin %s disabled."), $plugin ) );
- } else {
- \App::$plugins[] = $plugin;
- install_plugin($plugin);
- info( sprintf( t("Plugin %s enabled."), $plugin ) );
- }
- set_config("system","addon", implode(", ",\App::$plugins));
- goaway(z_root() . '/admin/plugins' );
- }
- // display plugin details
- require_once('library/markdown.php');
-
- if (in_array($plugin, \App::$plugins)){
- $status = 'on';
- $action = t('Disable');
- } else {
- $status = 'off';
- $action = t('Enable');
- }
-
- $readme = null;
- if (is_file("addon/$plugin/README.md")){
- $readme = file_get_contents("addon/$plugin/README.md");
- $readme = Markdown($readme);
- } else if (is_file("addon/$plugin/README")){
- $readme = "<pre>". file_get_contents("addon/$plugin/README") ."</pre>";
- }
-
- $admin_form = '';
-
- $r = q("select * from addon where plugin_admin = 1 and aname = '%s' limit 1",
- dbesc($plugin)
- );
-
- if($r) {
- @require_once("addon/$plugin/$plugin.php");
- if(function_exists($plugin.'_plugin_admin')) {
- $func = $plugin.'_plugin_admin';
- $func($a, $admin_form);
- }
- }
-
-
- $t = get_markup_template('admin_plugins_details.tpl');
- return replace_macros($t, array(
- '$title' => t('Administration'),
- '$page' => t('Plugins'),
- '$toggle' => t('Toggle'),
- '$settings' => t('Settings'),
- '$baseurl' => z_root(),
-
- '$plugin' => $plugin,
- '$status' => $status,
- '$action' => $action,
- '$info' => $info,
- '$str_author' => t('Author: '),
- '$str_maintainer' => t('Maintainer: '),
- '$str_minversion' => t('Minimum project version: '),
- '$str_maxversion' => t('Maximum project version: '),
- '$str_minphpversion' => t('Minimum PHP version: '),
- '$str_requires' => t('Requires: '),
- '$disabled' => t('Disabled - version incompatibility'),
-
- '$admin_form' => $admin_form,
- '$function' => 'plugins',
- '$screenshot' => '',
- '$readme' => $readme,
-
- '$form_security_token' => get_form_security_token('admin_plugins'),
- ));
- }
-
-
- /*
- * List plugins
- */
- $plugins = array();
- $files = glob('addon/*/');
- if($files) {
- foreach($files as $file) {
- if (is_dir($file)){
- list($tmp, $id) = array_map('trim', explode('/', $file));
- $info = get_plugin_info($id);
- $enabled = in_array($id,\App::$plugins);
- $x = check_plugin_versions($info);
-
- // disable plugins which are installed but incompatible versions
-
- if($enabled && ! $x) {
- $enabled = false;
- $idz = array_search($id, \App::$plugins);
- if ($idz !== false) {
- unset(\App::$plugins[$idz]);
- uninstall_plugin($id);
- set_config("system","addon", implode(", ",\App::$plugins));
- }
- }
- $info['disabled'] = 1-intval($x);
-
- $plugins[] = array( $id, (($enabled)?"on":"off") , $info);
- }
- }
- }
-
- usort($plugins,'self::plugin_sort');
-
-
- $admin_plugins_add_repo_form= replace_macros(
- get_markup_template('admin_plugins_addrepo.tpl'), array(
- '$post' => 'admin/plugins/addrepo',
- '$desc' => t('Enter the public git repository URL of the plugin repo.'),
- '$repoURL' => array('repoURL', t('Plugin repo git URL'), '', ''),
- '$repoName' => array('repoName', t('Custom repo name'), '', '', t('(optional)')),
- '$submit' => t('Download Plugin Repo')
- )
- );
- $newRepoModalID = random_string(3);
- $newRepoModal = replace_macros(
- get_markup_template('generic_modal.tpl'), array(
- '$id' => $newRepoModalID,
- '$title' => t('Install new repo'),
- '$ok' => t('Install'),
- '$cancel' => t('Cancel')
- )
- );
-
- $reponames = $this->listAddonRepos();
- $addonrepos = [];
- foreach($reponames as $repo) {
- $addonrepos[] = array('name' => $repo, 'description' => '');
- // TODO: Parse repo info to provide more information about repos
- }
-
- $t = get_markup_template('admin_plugins.tpl');
- return replace_macros($t, array(
- '$title' => t('Administration'),
- '$page' => t('Plugins'),
- '$submit' => t('Submit'),
- '$baseurl' => z_root(),
- '$function' => 'plugins',
- '$plugins' => $plugins,
- '$disabled' => t('Disabled - version incompatibility'),
- '$form_security_token' => get_form_security_token('admin_plugins'),
- '$managerepos' => t('Manage Repos'),
- '$installedtitle' => t('Installed Plugin Repositories'),
- '$addnewrepotitle' => t('Install a New Plugin Repository'),
- '$expandform' => false,
- '$form' => $admin_plugins_add_repo_form,
- '$newRepoModal' => $newRepoModal,
- '$newRepoModalID' => $newRepoModalID,
- '$addonrepos' => $addonrepos,
- '$repoUpdateButton' => t('Update'),
- '$repoBranchButton' => t('Switch branch'),
- '$repoRemoveButton' => t('Remove')
- ));
- }
-
- function listAddonRepos() {
- $addonrepos = [];
- $addonDir = __DIR__ . '/../../extend/addon/';
- if(is_dir($addonDir)) {
- if ($handle = opendir($addonDir)) {
- while (false !== ($entry = readdir($handle))) {
- if ($entry != "." && $entry != "..") {
- $addonrepos[] = $entry;
- }
- }
- closedir($handle);
- }
- }
- return $addonrepos;
- }
-
- static public function plugin_sort($a,$b) {
- return(strcmp(strtolower($a[2]['name']),strtolower($b[2]['name'])));
- }
-
-
- /**
- * @param array $themes
- * @param string $th
- * @param int $result
- */
- function toggle_theme(&$themes, $th, &$result) {
- for($x = 0; $x < count($themes); $x ++) {
- if($themes[$x]['name'] === $th) {
- if($themes[$x]['allowed']) {
- $themes[$x]['allowed'] = 0;
- $result = 0;
- }
- else {
- $themes[$x]['allowed'] = 1;
- $result = 1;
- }
- }
- }
- }
-
- /**
- * @param array $themes
- * @param string $th
- * @return int
- */
- function theme_status($themes, $th) {
- for($x = 0; $x < count($themes); $x ++) {
- if($themes[$x]['name'] === $th) {
- if($themes[$x]['allowed']) {
- return 1;
- }
- else {
- return 0;
- }
- }
- }
- return 0;
- }
-
-
- /**
- * @param array $themes
- * @return string
- */
- function rebuild_theme_table($themes) {
- $o = '';
- if(count($themes)) {
- foreach($themes as $th) {
- if($th['allowed']) {
- if(strlen($o))
- $o .= ',';
- $o .= $th['name'];
- }
- }
- }
- return $o;
- }
-
-
- /**
- * @brief Themes admin page.
- *
- * @param App &$a
- * @return string
- */
- function admin_page_themes(&$a){
-
- $allowed_themes_str = get_config('system', 'allowed_themes');
- $allowed_themes_raw = explode(',', $allowed_themes_str);
- $allowed_themes = array();
- if(count($allowed_themes_raw))
- foreach($allowed_themes_raw as $x)
- if(strlen(trim($x)))
- $allowed_themes[] = trim($x);
-
- $themes = array();
- $files = glob('view/theme/*');
- if($files) {
- foreach($files as $file) {
- $f = basename($file);
- $is_experimental = intval(file_exists($file . '/.experimental'));
- $is_supported = 1-(intval(file_exists($file . '/.unsupported'))); // Is not used yet
- $is_allowed = intval(in_array($f,$allowed_themes));
- $themes[] = array('name' => $f, 'experimental' => $is_experimental, 'supported' => $is_supported, 'allowed' => $is_allowed);
- }
- }
-
- if(! count($themes)) {
- notice( t('No themes found.'));
- return '';
- }
-
- /*
- * Single theme
- */
-
- if (\App::$argc == 3){
- $theme = \App::$argv[2];
- if(! is_dir("view/theme/$theme")){
- notice( t("Item not found.") );
- return '';
- }
-
- if (x($_GET,"a") && $_GET['a']=="t"){
- check_form_security_token_redirectOnErr('/admin/themes', 'admin_themes', 't');
-
- // Toggle theme status
-
- $this->toggle_theme($themes, $theme, $result);
- $s = $this->rebuild_theme_table($themes);
- if($result)
- info( sprintf('Theme %s enabled.', $theme));
- else
- info( sprintf('Theme %s disabled.', $theme));
-
- set_config('system', 'allowed_themes', $s);
- goaway(z_root() . '/admin/themes' );
- }
-
- // display theme details
- require_once('library/markdown.php');
-
- if ($this->theme_status($themes,$theme)) {
- $status="on"; $action= t("Disable");
- } else {
- $status="off"; $action= t("Enable");
- }
-
- $readme=Null;
- if (is_file("view/theme/$theme/README.md")){
- $readme = file_get_contents("view/theme/$theme/README.md");
- $readme = Markdown($readme);
- } else if (is_file("view/theme/$theme/README")){
- $readme = "<pre>". file_get_contents("view/theme/$theme/README") ."</pre>";
- }
-
- $admin_form = '';
- if (is_file("view/theme/$theme/php/config.php")){
- require_once("view/theme/$theme/php/config.php");
- if(function_exists("theme_admin")){
- $admin_form = theme_admin($a);
- }
- }
-
- $screenshot = array( get_theme_screenshot($theme), t('Screenshot'));
- if(! stristr($screenshot[0],$theme))
- $screenshot = null;
-
- $t = get_markup_template('admin_plugins_details.tpl');
- return replace_macros($t, array(
- '$title' => t('Administration'),
- '$page' => t('Themes'),
- '$toggle' => t('Toggle'),
- '$settings' => t('Settings'),
- '$baseurl' => z_root(),
-
- '$plugin' => $theme,
- '$status' => $status,
- '$action' => $action,
- '$info' => get_theme_info($theme),
- '$function' => 'themes',
- '$admin_form' => $admin_form,
- '$str_author' => t('Author: '),
- '$str_maintainer' => t('Maintainer: '),
- '$screenshot' => $screenshot,
- '$readme' => $readme,
-
- '$form_security_token' => get_form_security_token('admin_themes'),
- ));
- }
-
- /*
- * List themes
- */
-
- $xthemes = array();
- if($themes) {
- foreach($themes as $th) {
- $xthemes[] = array($th['name'],(($th['allowed']) ? "on" : "off"), get_theme_info($th['name']));
- }
- }
-
- $t = get_markup_template('admin_plugins.tpl');
- return replace_macros($t, array(
- '$title' => t('Administration'),
- '$page' => t('Themes'),
- '$submit' => t('Submit'),
- '$baseurl' => z_root(),
- '$function' => 'themes',
- '$plugins' => $xthemes,
- '$experimental' => t('[Experimental]'),
- '$unsupported' => t('[Unsupported]'),
- '$form_security_token' => get_form_security_token('admin_themes'),
- ));
- }
-
-
- /**
- * @brief POST handler for logs admin page.
- *
- * @param App &$a
- */
- function admin_page_logs_post(&$a) {
- if (x($_POST, 'page_logs')) {
- check_form_security_token_redirectOnErr('/admin/logs', 'admin_logs');
-
- $logfile = ((x($_POST,'logfile')) ? notags(trim($_POST['logfile'])) : '');
- $debugging = ((x($_POST,'debugging')) ? true : false);
- $loglevel = ((x($_POST,'loglevel')) ? intval(trim($_POST['loglevel'])) : 0);
-
- set_config('system','logfile', $logfile);
- set_config('system','debugging', $debugging);
- set_config('system','loglevel', $loglevel);
- }
-
- info( t('Log settings updated.') );
- goaway(z_root() . '/admin/logs' );
- }
-
- /**
- * @brief Logs admin page.
- *
- * @param App $a
- * @return string
- */
- function admin_page_logs(&$a){
-
- $log_choices = Array(
- LOGGER_NORMAL => 'Normal',
- LOGGER_TRACE => 'Trace',
- LOGGER_DEBUG => 'Debug',
- LOGGER_DATA => 'Data',
- LOGGER_ALL => 'All'
- );
-
- $t = get_markup_template('admin_logs.tpl');
-
- $f = get_config('system', 'logfile');
-
- $data = '';
-
- if(!file_exists($f)) {
- $data = t("Error trying to open <strong>$f</strong> log file.\r\n<br/>Check to see if file $f exist and is
- readable.");
- }
- else {
- $fp = fopen($f, 'r');
- if(!$fp) {
- $data = t("Couldn't open <strong>$f</strong> log file.\r\n<br/>Check to see if file $f is readable.");
- }
- else {
- $fstat = fstat($fp);
- $size = $fstat['size'];
- if($size != 0)
- {
- if($size > 5000000 || $size < 0)
- $size = 5000000;
- $seek = fseek($fp,0-$size,SEEK_END);
- if($seek === 0) {
- $data = escape_tags(fread($fp,$size));
- while(! feof($fp))
- $data .= escape_tags(fread($fp,4096));
- }
- }
- fclose($fp);
- }
- }
-
- return replace_macros($t, array(
- '$title' => t('Administration'),
- '$page' => t('Logs'),
- '$submit' => t('Submit'),
- '$clear' => t('Clear'),
- '$data' => $data,
- '$baseurl' => z_root(),
- '$logname' => get_config('system','logfile'),
-
- // name, label, value, help string, extra data...
- '$debugging' => array('debugging', t("Debugging"),get_config('system','debugging'), ""),
- '$logfile' => array('logfile', t("Log file"), get_config('system','logfile'), t("Must be writable by web server. Relative to your top-level webserver directory.")),
- '$loglevel' => array('loglevel', t("Log level"), get_config('system','loglevel'), "", $log_choices),
-
- '$form_security_token' => get_form_security_token('admin_logs'),
- ));
- }
-
- function admin_page_plugins_post($action) {
- switch ($action) {
- case 'updaterepo':
- if (array_key_exists('repoName', $_REQUEST)) {
- $repoName = $_REQUEST['repoName'];
- } else {
- json_return_and_die(array('message' => 'No repo name provided.', 'success' => false));
- }
- $extendDir = __DIR__ . '/../../store/[data]/git/sys/extend';
- $addonDir = $extendDir . '/addon';
- if (!file_exists($extendDir)) {
- if (!mkdir($extendDir, 0770, true)) {
- logger('Error creating extend folder: ' . $extendDir);
- json_return_and_die(array('message' => 'Error creating extend folder: ' . $extendDir, 'success' => false));
- } else {
- if (!symlink(__DIR__ . '/../../extend/addon', $addonDir)) {
- logger('Error creating symlink to addon folder: ' . $addonDir);
- json_return_and_die(array('message' => 'Error creating symlink to addon folder: ' . $addonDir, 'success' => false));
- }
- }
- }
- $repoDir = __DIR__ . '/../../store/[data]/git/sys/extend/addon/' . $repoName;
- if (!is_dir($repoDir)) {
- logger('Repo directory does not exist: ' . $repoDir);
- json_return_and_die(array('message' => 'Invalid addon repo.', 'success' => false));
- }
- if (!is_writable($repoDir)) {
- logger('Repo directory not writable to web server: ' . $repoDir);
- json_return_and_die(array('message' => 'Repo directory not writable to web server.', 'success' => false));
- }
- $git = new GitRepo('sys', null, false, $repoName, $repoDir);
- try {
- if ($git->pull()) {
- $files = array_diff(scandir($repoDir), array('.', '..'));
- foreach ($files as $file) {
- if (is_dir($repoDir . '/' . $file) && $file !== '.git') {
- $source = '../extend/addon/' . $repoName . '/' . $file;
- $target = realpath(__DIR__ . '/../../addon/') . '/' . $file;
- unlink($target);
- if (!symlink($source, $target)) {
- logger('Error linking addons to /addon');
- json_return_and_die(array('message' => 'Error linking addons to /addon', 'success' => false));
- }
- }
- }
- json_return_and_die(array('message' => 'Repo updated.', 'success' => true));
- } else {
- json_return_and_die(array('message' => 'Error updating addon repo.', 'success' => false));
- }
- } catch (\PHPGit\Exception\GitException $e) {
- json_return_and_die(array('message' => 'Error updating addon repo.', 'success' => false));
- }
- case 'removerepo':
- if (array_key_exists('repoName', $_REQUEST)) {
- $repoName = $_REQUEST['repoName'];
- } else {
- json_return_and_die(array('message' => 'No repo name provided.', 'success' => false));
- }
- $extendDir = __DIR__ . '/../../store/[data]/git/sys/extend';
- $addonDir = $extendDir . '/addon';
- if (!file_exists($extendDir)) {
- if (!mkdir($extendDir, 0770, true)) {
- logger('Error creating extend folder: ' . $extendDir);
- json_return_and_die(array('message' => 'Error creating extend folder: ' . $extendDir, 'success' => false));
- } else {
- if (!symlink(__DIR__ . '/../../extend/addon', $addonDir)) {
- logger('Error creating symlink to addon folder: ' . $addonDir);
- json_return_and_die(array('message' => 'Error creating symlink to addon folder: ' . $addonDir, 'success' => false));
- }
- }
- }
- $repoDir = __DIR__ . '/../../store/[data]/git/sys/extend/addon/' . $repoName;
- if (!is_dir($repoDir)) {
- logger('Repo directory does not exist: ' . $repoDir);
- json_return_and_die(array('message' => 'Invalid addon repo.', 'success' => false));
- }
- if (!is_writable($repoDir)) {
- logger('Repo directory not writable to web server: ' . $repoDir);
- json_return_and_die(array('message' => 'Repo directory not writable to web server.', 'success' => false));
- }
- // TODO: remove directory and unlink /addon/files
- if (rrmdir($repoDir)) {
- json_return_and_die(array('message' => 'Repo deleted.', 'success' => true));
- } else {
- json_return_and_die(array('message' => 'Error deleting addon repo.', 'success' => false));
- }
- case 'installrepo':
- require_once('library/markdown.php');
- if (array_key_exists('repoURL', $_REQUEST)) {
- require __DIR__ . '/../../library/PHPGit.autoload.php'; // Load PHPGit dependencies
- $repoURL = $_REQUEST['repoURL'];
- $extendDir = __DIR__ . '/../../store/[data]/git/sys/extend';
- $addonDir = $extendDir . '/addon';
- if (!file_exists($extendDir)) {
- if (!mkdir($extendDir, 0770, true)) {
- logger('Error creating extend folder: ' . $extendDir);
- json_return_and_die(array('message' => 'Error creating extend folder: ' . $extendDir, 'success' => false));
- } else {
- if (!symlink(__DIR__ . '/../../extend/addon', $addonDir)) {
- logger('Error creating symlink to addon folder: ' . $addonDir);
- json_return_and_die(array('message' => 'Error creating symlink to addon folder: ' . $addonDir, 'success' => false));
- }
- }
- }
- if (!is_writable($extendDir)) {
- logger('Directory not writable to web server: ' . $extendDir);
- json_return_and_die(array('message' => 'Directory not writable to web server.', 'success' => false));
- }
- $repoName = null;
- if (array_key_exists('repoName', $_REQUEST) && $_REQUEST['repoName'] !== '') {
- $repoName = $_REQUEST['repoName'];
- } else {
- $repoName = GitRepo::getRepoNameFromURL($repoURL);
- }
- if (!$repoName) {
- logger('Invalid git repo');
- json_return_and_die(array('message' => 'Invalid git repo', 'success' => false));
- }
- $repoDir = $addonDir . '/' . $repoName;
- $tempRepoBaseDir = __DIR__ . '/../../store/[data]/git/sys/temp/';
- $tempAddonDir = $tempRepoBaseDir . $repoName;
-
- if (!is_writable($addonDir) || !is_writable($tempAddonDir)) {
- logger('Temp repo directory or /extend/addon not writable to web server: ' . $tempAddonDir);
- json_return_and_die(array('message' => 'Temp repo directory not writable to web server.', 'success' => false));
- }
- rename($tempAddonDir, $repoDir);
-
- if (!is_writable(realpath(__DIR__ . '/../../addon/'))) {
- logger('/addon directory not writable to web server: ' . $tempAddonDir);
- json_return_and_die(array('message' => '/addon directory not writable to web server.', 'success' => false));
- }
- $files = array_diff(scandir($repoDir), array('.', '..'));
- foreach ($files as $file) {
- if (is_dir($repoDir . '/' . $file) && $file !== '.git') {
- $source = '../extend/addon/' . $repoName . '/' . $file;
- $target = realpath(__DIR__ . '/../../addon/') . '/' . $file;
- unlink($target);
- if (!symlink($source, $target)) {
- logger('Error linking addons to /addon');
- json_return_and_die(array('message' => 'Error linking addons to /addon', 'success' => false));
- }
- }
- }
- $git = new GitRepo('sys', $repoURL, false, $repoName, $repoDir);
- $repo = $git->probeRepo();
- json_return_and_die(array('repo' => $repo, 'message' => '', 'success' => true));
- }
- case 'addrepo':
- require_once('library/markdown.php');
- if (array_key_exists('repoURL', $_REQUEST)) {
- require __DIR__ . '/../../library/PHPGit.autoload.php'; // Load PHPGit dependencies
- $repoURL = $_REQUEST['repoURL'];
- $extendDir = __DIR__ . '/../../store/[data]/git/sys/extend';
- $addonDir = $extendDir . '/addon';
- $tempAddonDir = __DIR__ . '/../../store/[data]/git/sys/temp';
- if (!file_exists($extendDir)) {
- if (!mkdir($extendDir, 0770, true)) {
- logger('Error creating extend folder: ' . $extendDir);
- json_return_and_die(array('message' => 'Error creating extend folder: ' . $extendDir, 'success' => false));
- } else {
- if (!symlink(__DIR__ . '/../../extend/addon', $addonDir)) {
- logger('Error creating symlink to addon folder: ' . $addonDir);
- json_return_and_die(array('message' => 'Error creating symlink to addon folder: ' . $addonDir, 'success' => false));
- }
- }
- }
- if (!is_dir($tempAddonDir)) {
- if (!mkdir($tempAddonDir, 0770, true)) {
- logger('Error creating temp plugin repo folder: ' . $tempAddonDir);
- json_return_and_die(array('message' => 'Error creating temp plugin repo folder: ' . $tempAddonDir, 'success' => false));
- }
- }
- $repoName = null;
- if (array_key_exists('repoName', $_REQUEST) && $_REQUEST['repoName'] !== '') {
- $repoName = $_REQUEST['repoName'];
- } else {
- $repoName = GitRepo::getRepoNameFromURL($repoURL);
- }
- if (!$repoName) {
- logger('Invalid git repo');
- json_return_and_die(array('message' => 'Invalid git repo: ' . $repoName, 'success' => false));
- }
- $repoDir = $tempAddonDir . '/' . $repoName;
- if (!is_writable($tempAddonDir)) {
- logger('Temporary directory for new addon repo is not writable to web server: ' . $tempAddonDir);
- json_return_and_die(array('message' => 'Temporary directory for new addon repo is not writable to web server.', 'success' => false));
- }
- // clone the repo if new automatically
- $git = new GitRepo('sys', $repoURL, true, $repoName, $repoDir);
-
- $remotes = $git->git->remote();
- $fetchURL = $remotes['origin']['fetch'];
- if ($fetchURL !== $git->url) {
- if (rrmdir($repoDir)) {
- $git = new GitRepo('sys', $repoURL, true, $repoName, $repoDir);
- } else {
- json_return_and_die(array('message' => 'Error deleting existing addon repo.', 'success' => false));
- }
- }
- $repo = $git->probeRepo();
- $repo['readme'] = $repo['manifest'] = null;
- foreach ($git->git->tree('master') as $object) {
- if ($object['type'] == 'blob' && (strtolower($object['file']) === 'readme.md' || strtolower($object['file']) === 'readme')) {
- $repo['readme'] = Markdown($git->git->cat->blob($object['hash']));
- } else if ($object['type'] == 'blob' && strtolower($object['file']) === 'manifest.json') {
- $repo['manifest'] = $git->git->cat->blob($object['hash']);
- }
- }
- json_return_and_die(array('repo' => $repo, 'message' => '', 'success' => true));
- } else {
- json_return_and_die(array('message' => 'No repo URL provided', 'success' => false));
- }
- break;
- default:
- break;
- }
- }
-
- function admin_page_profs_post(&$a) {
-
- if(array_key_exists('basic',$_REQUEST)) {
- $arr = explode(',',$_REQUEST['basic']);
- for($x = 0; $x < count($arr); $x ++)
- if(trim($arr[$x]))
- $arr[$x] = trim($arr[$x]);
- set_config('system','profile_fields_basic',$arr);
-
- if(array_key_exists('advanced',$_REQUEST)) {
- $arr = explode(',',$_REQUEST['advanced']);
- for($x = 0; $x < count($arr); $x ++)
- if(trim($arr[$x]))
- $arr[$x] = trim($arr[$x]);
- set_config('system','profile_fields_advanced',$arr);
- }
- goaway(z_root() . '/admin/profs');
- }
-
-
- if(array_key_exists('field_name',$_REQUEST)) {
- if($_REQUEST['id']) {
- $r = q("update profdef set field_name = '%s', field_type = '%s', field_desc = '%s' field_help = '%s', field_inputs = '%s' where id = %d",
- dbesc($_REQUEST['field_name']),
- dbesc($_REQUEST['field_type']),
- dbesc($_REQUEST['field_desc']),
- dbesc($_REQUEST['field_help']),
- dbesc($_REQUEST['field_inputs']),
- intval($_REQUEST['id'])
- );
- }
- else {
- $r = q("insert into profdef ( field_name, field_type, field_desc, field_help, field_inputs ) values ( '%s' , '%s', '%s', '%s', '%s' )",
- dbesc($_REQUEST['field_name']),
- dbesc($_REQUEST['field_type']),
- dbesc($_REQUEST['field_desc']),
- dbesc($_REQUEST['field_help']),
- dbesc($_REQUEST['field_inputs'])
- );
- }
- }
-
-
- // add to chosen array basic or advanced
-
- goaway(z_root() . '/admin/profs');
- }
-
- function admin_page_profs(&$a) {
-
- if((argc() > 3) && argv(2) == 'drop' && intval(argv(3))) {
- $r = q("delete from profdef where id = %d",
- intval(argv(3))
- );
- // remove from allowed fields
-
- goaway(z_root() . '/admin/profs');
- }
-
- if((argc() > 2) && argv(2) === 'new') {
- return replace_macros(get_markup_template('profdef_edit.tpl'),array(
- '$header' => t('New Profile Field'),
- '$field_name' => array('field_name',t('Field nickname'),$_REQUEST['field_name'],t('System name of field')),
- '$field_type' => array('field_type',t('Input type'),(($_REQUEST['field_type']) ? $_REQUEST['field_type'] : 'text'),''),
- '$field_desc' => array('field_desc',t('Field Name'),$_REQUEST['field_desc'],t('Label on profile pages')),
- '$field_help' => array('field_help',t('Help text'),$_REQUEST['field_help'],t('Additional info (optional)')),
- '$submit' => t('Save')
- ));
- }
-
- if((argc() > 2) && intval(argv(2))) {
- $r = q("select * from profdef where id = %d limit 1",
- intval(argv(2))
- );
- if(! $r) {
- notice( t('Field definition not found') . EOL);
- goaway(z_root() . '/admin/profs');
- }
-
- return replace_macros(get_markup_template('profdef_edit.tpl'),array(
- '$id' => intval($r[0]['id']),
- '$header' => t('Edit Profile Field'),
- '$field_name' => array('field_name',t('Field nickname'),$r[0]['field_name'],t('System name of field')),
- '$field_type' => array('field_type',t('Input type'),$r[0]['field_type'],''),
- '$field_desc' => array('field_desc',t('Field Name'),$r[0]['field_desc'],t('Label on profile pages')),
- '$field_help' => array('field_help',t('Help text'),$r[0]['field_help'],t('Additional info (optional)')),
- '$submit' => t('Save')
- ));
- }
-
- $basic = '';
- $barr = array();
- $fields = get_profile_fields_basic();
- if(! $fields)
- $fields = get_profile_fields_basic(1);
- if($fields) {
- foreach($fields as $k => $v) {
- if($basic)
- $basic .= ', ';
- $basic .= trim($k);
- $barr[] = trim($k);
- }
- }
-
- $advanced = '';
- $fields = get_profile_fields_advanced();
- if(! $fields)
- $fields = get_profile_fields_advanced(1);
- if($fields) {
- foreach($fields as $k => $v) {
- if(in_array(trim($k),$barr))
- continue;
- if($advanced)
- $advanced .= ', ';
- $advanced .= trim($k);
- }
- }
-
- $all = '';
- $fields = get_profile_fields_advanced(1);
- if($fields) {
- foreach($fields as $k => $v) {
- if($all)
- $all .= ', ';
- $all .= trim($k);
- }
- }
-
- $r = q("select * from profdef where true");
- if($r) {
- foreach($r as $rr) {
- if($all)
- $all .= ', ';
- $all .= $rr['field_name'];
- }
- }
-
-
- $o = replace_macros(get_markup_template('admin_profiles.tpl'),array(
- '$title' => t('Profile Fields'),
- '$basic' => array('basic',t('Basic Profile Fields'),$basic,''),
- '$advanced' => array('advanced',t('Advanced Profile Fields'),$advanced,t('(In addition to basic fields)')),
- '$all' => $all,
- '$all_desc' => t('All available fields'),
- '$cust_field_desc' => t('Custom Fields'),
- '$cust_fields' => $r,
- '$edit' => t('Edit'),
- '$drop' => t('Delete'),
- '$new' => t('Create Custom Field'),
- '$submit' => t('Submit')
- ));
-
- return $o;
-
-
- }
}
diff --git a/Zotlabs/Module/Admin/Account_edit.php b/Zotlabs/Module/Admin/Account_edit.php
new file mode 100644
index 000000000..ddb7e19f4
--- /dev/null
+++ b/Zotlabs/Module/Admin/Account_edit.php
@@ -0,0 +1,64 @@
+<?php
+
+namespace Zotlabs\Module\Admin;
+
+
+
+class Account_edit {
+
+ function post() {
+
+ $account_id = $_REQUEST['aid'];
+
+ if(! $account_id)
+ return;
+
+ $pass1 = trim($_REQUEST['pass1']);
+ $pass2 = trim($_REQUEST['pass2']);
+ if($pass1 && $pass2 && ($pass1 === $pass2)) {
+ $salt = random_string(32);
+ $password_encoded = hash('whirlpool', $salt . $pass1);
+ $r = q("update account set account_salt = '%s', account_password = '%s',
+ account_password_changed = '%s' where account_id = %d",
+ dbesc($salt),
+ dbesc($password_encoded),
+ dbesc(datetime_convert()),
+ intval($account_id)
+ );
+ if($r)
+ info( sprintf( t('Password changed for account %d.'), $account_id). EOL);
+
+ }
+ goaway(z_root() . '/admin/accounts');
+ }
+
+
+ function get() {
+ if(argc() > 2)
+ $account_id = argv(2);
+
+ $x = q("select * from account where account_id = %d limit 1",
+ intval($account_id)
+ );
+
+ if(! $x) {
+ notice ( t('Account not found.') . EOL);
+ return '';
+ }
+
+ $a = replace_macros(get_markup_template('admin_account_edit.tpl'), [
+ '$account' => $x[0],
+ '$title' => t('Account Edit'),
+ '$pass1' => [ 'pass1', t('New Password'), ' ','' ],
+ '$pass2' => [ 'pass2', t('New Password again'), ' ','' ],
+ '$submit' => t('Submit'),
+ ]
+ );
+
+ return $a;
+
+
+ }
+
+
+} \ No newline at end of file
diff --git a/Zotlabs/Module/Admin/Accounts.php b/Zotlabs/Module/Admin/Accounts.php
new file mode 100644
index 000000000..143d00a3b
--- /dev/null
+++ b/Zotlabs/Module/Admin/Accounts.php
@@ -0,0 +1,206 @@
+<?php
+
+namespace Zotlabs\Module\Admin;
+
+
+
+class Accounts {
+
+ /**
+ * @brief Handle POST actions on accounts admin page.
+ *
+ * This function is called when on the admin user/account page the form was
+ * submitted to handle multiple operations at once. If one of the icons next
+ * to an entry are pressed the function admin_page_accounts() will handle this.
+ *
+ */
+
+ function post() {
+ $pending = ( x($_POST, 'pending') ? $_POST['pending'] : array() );
+ $users = ( x($_POST, 'user') ? $_POST['user'] : array() );
+ $blocked = ( x($_POST, 'blocked') ? $_POST['blocked'] : array() );
+
+ check_form_security_token_redirectOnErr('/admin/accounts', 'admin_accounts');
+
+ // change to switch structure?
+ // account block/unblock button was submitted
+ if (x($_POST, 'page_users_block')) {
+ for ($i = 0; $i < count($users); $i++) {
+ // if account is blocked remove blocked bit-flag, otherwise add blocked bit-flag
+ $op = ($blocked[$i]) ? '& ~' : '| ';
+ q("UPDATE account SET account_flags = (account_flags $op%d) WHERE account_id = %d",
+ intval(ACCOUNT_BLOCKED),
+ intval($users[$i])
+ );
+ }
+ notice( sprintf( tt("%s account blocked/unblocked", "%s account blocked/unblocked", count($users)), count($users)) );
+ }
+ // account delete button was submitted
+ if (x($_POST, 'page_accounts_delete')) {
+ foreach ($users as $uid){
+ account_remove($uid, true, false);
+ }
+ notice( sprintf( tt("%s account deleted", "%s accounts deleted", count($users)), count($users)) );
+ }
+ // registration approved button was submitted
+ if (x($_POST, 'page_users_approve')) {
+ foreach ($pending as $hash) {
+ account_allow($hash);
+ }
+ }
+ // registration deny button was submitted
+ if (x($_POST, 'page_users_deny')) {
+ foreach ($pending as $hash) {
+ account_deny($hash);
+ }
+ }
+
+ goaway(z_root() . '/admin/accounts' );
+ }
+
+ /**
+ * @brief Generate accounts admin page and handle single item operations.
+ *
+ * This function generates the accounts/account admin page and handles the actions
+ * if an icon next to an entry was clicked. If several items were selected and
+ * the form was submitted it is handled by the function admin_page_accounts_post().
+ *
+ * @return string
+ */
+
+ function get(){
+ if (argc() > 2) {
+ $uid = argv(3);
+ $account = q("SELECT * FROM account WHERE account_id = %d",
+ intval($uid)
+ );
+
+ if (! $account) {
+ notice( t('Account not found') . EOL);
+ goaway(z_root() . '/admin/accounts' );
+ }
+
+ check_form_security_token_redirectOnErr('/admin/accounts', 'admin_accounts', 't');
+
+ switch (argv(2)){
+ case 'delete':
+ // delete user
+ account_remove($uid,true,false);
+
+ notice( sprintf(t("Account '%s' deleted"), $account[0]['account_email']) . EOL);
+ break;
+ case 'block':
+ q("UPDATE account SET account_flags = ( account_flags | %d ) WHERE account_id = %d",
+ intval(ACCOUNT_BLOCKED),
+ intval($uid)
+ );
+
+ notice( sprintf( t("Account '%s' blocked") , $account[0]['account_email']) . EOL);
+ break;
+ case 'unblock':
+ q("UPDATE account SET account_flags = ( account_flags & ~%d ) WHERE account_id = %d",
+ intval(ACCOUNT_BLOCKED),
+ intval($uid)
+ );
+
+ notice( sprintf( t("Account '%s' unblocked"), $account[0]['account_email']) . EOL);
+ break;
+ }
+
+ goaway(z_root() . '/admin/accounts' );
+ }
+
+ /* get pending */
+ $pending = q("SELECT account.*, register.hash from account left join register on account_id = register.uid where (account_flags & %d )>0 ",
+ intval(ACCOUNT_PENDING)
+ );
+
+ /* get accounts */
+
+ $total = q("SELECT count(*) as total FROM account");
+ if (count($total)) {
+ \App::set_pager_total($total[0]['total']);
+ \App::set_pager_itemspage(100);
+ }
+
+ $serviceclass = (($_REQUEST['class']) ? " and account_service_class = '" . dbesc($_REQUEST['class']) . "' " : '');
+
+ $key = (($_REQUEST['key']) ? dbesc($_REQUEST['key']) : 'account_id');
+ $dir = 'asc';
+ if(array_key_exists('dir',$_REQUEST))
+ $dir = ((intval($_REQUEST['dir'])) ? 'asc' : 'desc');
+
+ $base = z_root() . '/admin/accounts?f=';
+ $odir = (($dir === 'asc') ? '0' : '1');
+
+ $users = q("SELECT `account_id` , `account_email`, `account_lastlog`, `account_created`, `account_expires`, " . "`account_service_class`, ( account_flags & %d ) > 0 as `blocked`, " .
+ "(SELECT %s FROM channel as ch " .
+ "WHERE ch.channel_account_id = ac.account_id and ch.channel_removed = 0 ) as `channels` " .
+ "FROM account as ac where true $serviceclass order by $key $dir limit %d offset %d ",
+ intval(ACCOUNT_BLOCKED),
+ db_concat('ch.channel_address', ' '),
+ intval(\App::$pager['itemspage']),
+ intval(\App::$pager['start'])
+ );
+
+ // function _setup_users($e){
+ // $accounts = Array(
+ // t('Normal Account'),
+ // t('Soapbox Account'),
+ // t('Community/Celebrity Account'),
+ // t('Automatic Friend Account')
+ // );
+
+ // $e['page_flags'] = $accounts[$e['page-flags']];
+ // $e['register_date'] = relative_date($e['register_date']);
+ // $e['login_date'] = relative_date($e['login_date']);
+ // $e['lastitem_date'] = relative_date($e['lastitem_date']);
+ // return $e;
+ // }
+ // $users = array_map("_setup_users", $users);
+
+ $t = get_markup_template('admin_accounts.tpl');
+ $o = replace_macros($t, array(
+ // strings //
+ '$title' => t('Administration'),
+ '$page' => t('Accounts'),
+ '$submit' => t('Submit'),
+ '$select_all' => t('select all'),
+ '$h_pending' => t('Registrations waiting for confirm'),
+ '$th_pending' => array( t('Request date'), t('Email') ),
+ '$no_pending' => t('No registrations.'),
+ '$approve' => t('Approve'),
+ '$deny' => t('Deny'),
+ '$delete' => t('Delete'),
+ '$block' => t('Block'),
+ '$unblock' => t('Unblock'),
+ '$odir' => $odir,
+ '$base' => $base,
+ '$h_users' => t('Accounts'),
+ '$th_users' => array(
+ [ t('ID'), 'account_id' ],
+ [ t('Email'), 'account_email' ],
+ [ t('All Channels'), 'channels' ],
+ [ t('Register date'), 'account_created' ],
+ [ t('Last login'), 'account_lastlog' ],
+ [ t('Expires'), 'account_expires' ],
+ [ t('Service Class'), 'account_service_class'] ),
+
+ '$confirm_delete_multi' => t('Selected accounts will be deleted!\n\nEverything these accounts had posted on this site will be permanently deleted!\n\nAre you sure?'),
+ '$confirm_delete' => t('The account {0} will be deleted!\n\nEverything this account has posted on this site will be permanently deleted!\n\nAre you sure?'),
+
+ '$form_security_token' => get_form_security_token("admin_accounts"),
+
+ // values //
+ '$baseurl' => z_root(),
+
+ '$pending' => $pending,
+ '$users' => $users,
+ ));
+ $o .= paginate($a);
+
+ return $o;
+ }
+
+
+} \ No newline at end of file
diff --git a/Zotlabs/Module/Admin/Channels.php b/Zotlabs/Module/Admin/Channels.php
new file mode 100644
index 000000000..b9b345105
--- /dev/null
+++ b/Zotlabs/Module/Admin/Channels.php
@@ -0,0 +1,186 @@
+<?php
+
+namespace Zotlabs\Module\Admin;
+
+
+class Channels {
+
+
+ /**
+ * @brief Channels admin page.
+ *
+ * @param App &$a
+ */
+ function post() {
+
+ $channels = ( x($_POST, 'channel') ? $_POST['channel'] : Array() );
+
+ check_form_security_token_redirectOnErr('/admin/channels', 'admin_channels');
+
+ $xor = db_getfunc('^');
+
+ if (x($_POST,'page_channels_block')){
+ foreach($channels as $uid){
+ q("UPDATE channel SET channel_pageflags = ( channel_pageflags $xor %d ) where channel_id = %d",
+ intval(PAGE_CENSORED),
+ intval( $uid )
+ );
+ \Zotlabs\Daemon\Master::Summon(array('Directory',$uid,'nopush'));
+ }
+ notice( sprintf( tt("%s channel censored/uncensored", "%s channels censored/uncensored", count($channels)), count($channels)) );
+ }
+ if (x($_POST,'page_channels_code')){
+ foreach($channels as $uid){
+ q("UPDATE channel SET channel_pageflags = ( channel_pageflags $xor %d ) where channel_id = %d",
+ intval(PAGE_ALLOWCODE),
+ intval( $uid )
+ );
+ }
+ notice( sprintf( tt("%s channel code allowed/disallowed", "%s channels code allowed/disallowed", count($channels)), count($channels)) );
+ }
+ if (x($_POST,'page_channels_delete')){
+ foreach($channels as $uid){
+ channel_remove($uid,true);
+ }
+ notice( sprintf( tt("%s channel deleted", "%s channels deleted", count($channels)), count($channels)) );
+ }
+
+ goaway(z_root() . '/admin/channels' );
+ }
+
+
+ /**
+ * @brief
+ *
+ * @return string
+ */
+
+ function get() {
+ if(argc() > 2) {
+ $uid = argv(3);
+ $channel = q("SELECT * FROM channel WHERE channel_id = %d",
+ intval($uid)
+ );
+
+ if(! $channel) {
+ notice( t('Channel not found') . EOL);
+ goaway(z_root() . '/admin/channels' );
+ }
+
+ switch(argv(2)) {
+ case "delete":{
+ check_form_security_token_redirectOnErr('/admin/channels', 'admin_channels', 't');
+ // delete channel
+ channel_remove($uid,true);
+
+ notice( sprintf(t("Channel '%s' deleted"), $channel[0]['channel_name']) . EOL);
+ }; break;
+
+ case "block":{
+ check_form_security_token_redirectOnErr('/admin/channels', 'admin_channels', 't');
+ $pflags = $channel[0]['channel_pageflags'] ^ PAGE_CENSORED;
+ q("UPDATE channel SET channel_pageflags = %d where channel_id = %d",
+ intval($pflags),
+ intval( $uid )
+ );
+ \Zotlabs\Daemon\Master::Summon(array('Directory',$uid,'nopush'));
+
+ notice( sprintf( (($pflags & PAGE_CENSORED) ? t("Channel '%s' censored"): t("Channel '%s' uncensored")) , $channel[0]['channel_name'] . ' (' . $channel[0]['channel_address'] . ')' ) . EOL);
+ }; break;
+
+ case "code":{
+ check_form_security_token_redirectOnErr('/admin/channels', 'admin_channels', 't');
+ $pflags = $channel[0]['channel_pageflags'] ^ PAGE_ALLOWCODE;
+ q("UPDATE channel SET channel_pageflags = %d where channel_id = %d",
+ intval($pflags),
+ intval( $uid )
+ );
+
+ notice( sprintf( (($pflags & PAGE_ALLOWCODE) ? t("Channel '%s' code allowed"): t("Channel '%s' code disallowed")) , $channel[0]['channel_name'] . ' (' . $channel[0]['channel_address'] . ')' ) . EOL);
+ }; break;
+
+ default:
+ break;
+ }
+ goaway(z_root() . '/admin/channels' );
+ }
+
+
+ $key = (($_REQUEST['key']) ? dbesc($_REQUEST['key']) : 'channel_id');
+ $dir = 'asc';
+ if(array_key_exists('dir',$_REQUEST))
+ $dir = ((intval($_REQUEST['dir'])) ? 'asc' : 'desc');
+
+ $base = z_root() . '/admin/channels?f=';
+ $odir = (($dir === 'asc') ? '0' : '1');
+
+
+
+ /* get channels */
+
+ $total = q("SELECT count(*) as total FROM channel where channel_removed = 0 and channel_system = 0");
+ if($total) {
+ \App::set_pager_total($total[0]['total']);
+ \App::set_pager_itemspage(100);
+ }
+
+ $channels = q("SELECT * from channel where channel_removed = 0 and channel_system = 0 order by $key $dir limit %d offset %d ",
+ intval(\App::$pager['itemspage']),
+ intval(\App::$pager['start'])
+ );
+
+ if($channels) {
+ for($x = 0; $x < count($channels); $x ++) {
+ if($channels[$x]['channel_pageflags'] & PAGE_CENSORED)
+ $channels[$x]['blocked'] = true;
+ else
+ $channels[$x]['blocked'] = false;
+
+ if($channels[$x]['channel_pageflags'] & PAGE_ALLOWCODE)
+ $channels[$x]['allowcode'] = true;
+ else
+ $channels[$x]['allowcode'] = false;
+ }
+ }
+
+ $t = get_markup_template("admin_channels.tpl");
+ $o = replace_macros($t, array(
+ // strings //
+ '$title' => t('Administration'),
+ '$page' => t('Channels'),
+ '$submit' => t('Submit'),
+ '$select_all' => t('select all'),
+ '$delete' => t('Delete'),
+ '$block' => t('Censor'),
+ '$unblock' => t('Uncensor'),
+ '$code' => t('Allow Code'),
+ '$uncode' => t('Disallow Code'),
+ '$h_channels' => t('Channel'),
+ '$base' => $base,
+ '$odir' => $odir,
+ '$th_channels' => array(
+ [ t('UID'), 'channel_id' ],
+ [ t('Name'), 'channel_name' ],
+ [ t('Address'), 'channel_address' ]),
+
+ '$confirm_delete_multi' => t('Selected channels will be deleted!\n\nEverything that was posted in these channels on this site will be permanently deleted!\n\nAre you sure?'),
+ '$confirm_delete' => t('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?'),
+
+ '$form_security_token' => get_form_security_token("admin_channels"),
+
+ // values //
+ '$baseurl' => z_root(),
+ '$channels' => $channels,
+ ));
+ $o .= paginate($a);
+
+ return $o;
+ }
+
+
+
+
+
+
+
+} \ No newline at end of file
diff --git a/Zotlabs/Module/Admin/Dbsync.php b/Zotlabs/Module/Admin/Dbsync.php
new file mode 100644
index 000000000..305126c7d
--- /dev/null
+++ b/Zotlabs/Module/Admin/Dbsync.php
@@ -0,0 +1,68 @@
+<?php
+
+namespace Zotlabs\Module\Admin;
+
+
+
+class Dbsync {
+
+
+
+
+ function get() {
+ $o = '';
+
+ if(argc() > 3 && intval(argv(3)) && argv(2) === 'mark') {
+ set_config('database', 'update_r' . intval(argv(3)), 'success');
+ if(intval(get_config('system','db_version')) <= intval(argv(3)))
+ set_config('system','db_version',intval(argv(3)) + 1);
+ info( t('Update has been marked successful') . EOL);
+ goaway(z_root() . '/admin/dbsync');
+ }
+
+ if(argc() > 2 && intval(argv(2))) {
+ require_once('install/update.php');
+ $func = 'update_r' . intval(argv(2));
+ if(function_exists($func)) {
+ $retval = $func();
+ if($retval === UPDATE_FAILED) {
+ $o .= sprintf( t('Executing %s failed. Check system logs.'), $func);
+ }
+ elseif($retval === UPDATE_SUCCESS) {
+ $o .= sprintf( t('Update %s was successfully applied.'), $func);
+ set_config('database',$func, 'success');
+ }
+ else
+ $o .= sprintf( t('Update %s did not return a status. Unknown if it succeeded.'), $func);
+ }
+ else
+ $o .= sprintf( t('Update function %s could not be found.'), $func);
+
+ return $o;
+ }
+
+ $failed = array();
+ $r = q("select * from config where `cat` = 'database' ");
+ if(count($r)) {
+ foreach($r as $rr) {
+ $upd = intval(substr($rr['k'],8));
+ if($rr['v'] === 'success')
+ continue;
+ $failed[] = $upd;
+ }
+ }
+ if(! count($failed))
+ return '<div class="generic-content-wrapper-styled"><h3>' . t('No failed updates.') . '</h3></div>';
+
+ $o = replace_macros(get_markup_template('failed_updates.tpl'),array(
+ '$base' => z_root(),
+ '$banner' => t('Failed Updates'),
+ '$desc' => '',
+ '$mark' => t('Mark success (if update was manually applied)'),
+ '$apply' => t('Attempt to execute this update step automatically'),
+ '$failed' => $failed
+ ));
+
+ return $o;
+ }
+} \ No newline at end of file
diff --git a/Zotlabs/Module/Admin/Features.php b/Zotlabs/Module/Admin/Features.php
new file mode 100644
index 000000000..504caae79
--- /dev/null
+++ b/Zotlabs/Module/Admin/Features.php
@@ -0,0 +1,74 @@
+<?php
+
+namespace Zotlabs\Module\Admin;
+
+
+
+class Features {
+
+
+ function post() {
+
+ check_form_security_token_redirectOnErr('/admin/features', 'admin_manage_features');
+
+ logger('postvars: ' . print_r($_POST,true));
+
+ $arr = array();
+ $features = get_features(false);
+
+ foreach($features as $fname => $fdata) {
+ foreach(array_slice($fdata,1) as $f) {
+ $feature = $f[0];
+
+ if(array_key_exists('feature_' . $feature,$_POST))
+ $val = intval($_POST['feature_' . $feature]);
+ else
+ $val = 0;
+ set_config('feature',$feature,$val);
+
+ if(array_key_exists('featurelock_' . $feature,$_POST))
+ set_config('feature_lock',$feature,$val);
+ else
+ del_config('feature_lock',$feature);
+ }
+ }
+
+ goaway(z_root() . '/admin/features' );
+
+ }
+
+ function get() {
+
+ if((argc() > 1) && (argv(1) === 'features')) {
+ $arr = array();
+ $features = get_features(false);
+
+ foreach($features as $fname => $fdata) {
+ $arr[$fname] = array();
+ $arr[$fname][0] = $fdata[0];
+ foreach(array_slice($fdata,1) as $f) {
+
+ $set = get_config('feature',$f[0]);
+ if($set === false)
+ $set = $f[3];
+ $arr[$fname][1][] = array(
+ array('feature_' .$f[0],$f[1],$set,$f[2],array(t('Off'),t('On'))),
+ array('featurelock_' .$f[0],sprintf( t('Lock feature %s'),$f[1]),(($f[4] !== false) ? 1 : 0),'',array(t('Off'),t('On')))
+ );
+ }
+ }
+
+ $tpl = get_markup_template("admin_settings_features.tpl");
+ $o .= replace_macros($tpl, array(
+ '$form_security_token' => get_form_security_token("admin_manage_features"),
+ '$title' => t('Manage Additional Features'),
+ '$features' => $arr,
+ '$submit' => t('Submit'),
+ ));
+
+ return $o;
+ }
+ }
+
+
+} \ No newline at end of file
diff --git a/Zotlabs/Module/Admin/Logs.php b/Zotlabs/Module/Admin/Logs.php
new file mode 100644
index 000000000..c83fc6a9a
--- /dev/null
+++ b/Zotlabs/Module/Admin/Logs.php
@@ -0,0 +1,101 @@
+<?php
+
+namespace Zotlabs\Module\Admin;
+
+
+class Logs {
+
+
+
+ /**
+ * @brief POST handler for logs admin page.
+ *
+ */
+
+ function post() {
+ if (x($_POST, 'page_logs')) {
+ check_form_security_token_redirectOnErr('/admin/logs', 'admin_logs');
+
+ $logfile = ((x($_POST,'logfile')) ? notags(trim($_POST['logfile'])) : '');
+ $debugging = ((x($_POST,'debugging')) ? true : false);
+ $loglevel = ((x($_POST,'loglevel')) ? intval(trim($_POST['loglevel'])) : 0);
+
+ set_config('system','logfile', $logfile);
+ set_config('system','debugging', $debugging);
+ set_config('system','loglevel', $loglevel);
+ }
+
+ info( t('Log settings updated.') );
+ goaway(z_root() . '/admin/logs' );
+ }
+
+ /**
+ * @brief Logs admin page.
+ *
+ * @return string
+ */
+
+ function get() {
+
+ $log_choices = Array(
+ LOGGER_NORMAL => 'Normal',
+ LOGGER_TRACE => 'Trace',
+ LOGGER_DEBUG => 'Debug',
+ LOGGER_DATA => 'Data',
+ LOGGER_ALL => 'All'
+ );
+
+ $t = get_markup_template('admin_logs.tpl');
+
+ $f = get_config('system', 'logfile');
+
+ $data = '';
+
+ if(!file_exists($f)) {
+ $data = t("Error trying to open <strong>$f</strong> log file.\r\n<br/>Check to see if file $f exist and is
+ readable.");
+ }
+ else {
+ $fp = fopen($f, 'r');
+ if(!$fp) {
+ $data = t("Couldn't open <strong>$f</strong> log file.\r\n<br/>Check to see if file $f is readable.");
+ }
+ else {
+ $fstat = fstat($fp);
+ $size = $fstat['size'];
+ if($size != 0)
+ {
+ if($size > 5000000 || $size < 0)
+ $size = 5000000;
+ $seek = fseek($fp,0-$size,SEEK_END);
+ if($seek === 0) {
+ $data = escape_tags(fread($fp,$size));
+ while(! feof($fp))
+ $data .= escape_tags(fread($fp,4096));
+ }
+ }
+ fclose($fp);
+ }
+ }
+
+ return replace_macros($t, array(
+ '$title' => t('Administration'),
+ '$page' => t('Logs'),
+ '$submit' => t('Submit'),
+ '$clear' => t('Clear'),
+ '$data' => $data,
+ '$baseurl' => z_root(),
+ '$logname' => get_config('system','logfile'),
+
+ // name, label, value, help string, extra data...
+ '$debugging' => array('debugging', t("Debugging"),get_config('system','debugging'), ""),
+ '$logfile' => array('logfile', t("Log file"), get_config('system','logfile'), t("Must be writable by web server. Relative to your top-level webserver directory.")),
+ '$loglevel' => array('loglevel', t("Log level"), get_config('system','loglevel'), "", $log_choices),
+
+ '$form_security_token' => get_form_security_token('admin_logs'),
+ ));
+ }
+
+
+
+} \ No newline at end of file
diff --git a/Zotlabs/Module/Admin/Plugins.php b/Zotlabs/Module/Admin/Plugins.php
new file mode 100644
index 000000000..9e48b4b86
--- /dev/null
+++ b/Zotlabs/Module/Admin/Plugins.php
@@ -0,0 +1,470 @@
+<?php
+
+namespace Zotlabs\Module\Admin;
+
+use \Zotlabs\Storage\GitRepo as GitRepo;
+
+class Plugins {
+
+
+ function post() {
+
+ if(argc() > 2 && is_file("addon/" . argv(2) . "/" . argv(2) . ".php")) {
+ @include_once("addon/" . argv(2) . "/" . argv(2) . ".php");
+ if(function_exists(argv(2).'_plugin_admin_post')) {
+ $func = argv(2) . '_plugin_admin_post';
+ $func($a);
+ }
+
+ goaway(z_root() . '/admin/plugins/' . argv(2) );
+
+ }
+ elseif(argc() > 2) {
+ switch(argv(2)) {
+ case 'updaterepo':
+ if (array_key_exists('repoName', $_REQUEST)) {
+ $repoName = $_REQUEST['repoName'];
+ }
+ else {
+ json_return_and_die(array('message' => 'No repo name provided.', 'success' => false));
+ }
+ $extendDir = 'store/[data]/git/sys/extend';
+ $addonDir = $extendDir . '/addon';
+ if (!file_exists($extendDir)) {
+ if (!mkdir($extendDir, 0770, true)) {
+ logger('Error creating extend folder: ' . $extendDir);
+ json_return_and_die(array('message' => 'Error creating extend folder: ' . $extendDir, 'success' => false));
+ }
+ else {
+ if (!symlink('extend/addon', $addonDir)) {
+ logger('Error creating symlink to addon folder: ' . $addonDir);
+ json_return_and_die(array('message' => 'Error creating symlink to addon folder: ' . $addonDir, 'success' => false));
+ }
+ }
+ }
+ $repoDir = 'store/[data]/git/sys/extend/addon/' . $repoName;
+ if (!is_dir($repoDir)) {
+ logger('Repo directory does not exist: ' . $repoDir);
+ json_return_and_die(array('message' => 'Invalid addon repo.', 'success' => false));
+ }
+ if (!is_writable($repoDir)) {
+ logger('Repo directory not writable to web server: ' . $repoDir);
+ json_return_and_die(array('message' => 'Repo directory not writable to web server.', 'success' => false));
+ }
+ $git = new GitRepo('sys', null, false, $repoName, $repoDir);
+ try {
+ if ($git->pull()) {
+ $files = array_diff(scandir($repoDir), array('.', '..'));
+ foreach ($files as $file) {
+ if (is_dir($repoDir . '/' . $file) && $file !== '.git') {
+ $source = 'extend/addon/' . $repoName . '/' . $file;
+ $target = realpath('addon/') . '/' . $file;
+ unlink($target);
+ if (!symlink($source, $target)) {
+ logger('Error linking addons to /addon');
+ json_return_and_die(array('message' => 'Error linking addons to /addon', 'success' => false));
+ }
+ }
+ }
+ json_return_and_die(array('message' => 'Repo updated.', 'success' => true));
+ } else {
+ json_return_and_die(array('message' => 'Error updating addon repo.', 'success' => false));
+ }
+ } catch (\PHPGit\Exception\GitException $e) {
+ json_return_and_die(array('message' => 'Error updating addon repo.', 'success' => false));
+ }
+ case 'removerepo':
+ if (array_key_exists('repoName', $_REQUEST)) {
+ $repoName = $_REQUEST['repoName'];
+ } else {
+ json_return_and_die(array('message' => 'No repo name provided.', 'success' => false));
+ }
+ $extendDir = 'store/[data]/git/sys/extend';
+ $addonDir = $extendDir . '/addon';
+ if (!file_exists($extendDir)) {
+ if (!mkdir($extendDir, 0770, true)) {
+ logger('Error creating extend folder: ' . $extendDir);
+ json_return_and_die(array('message' => 'Error creating extend folder: ' . $extendDir, 'success' => false));
+ } else {
+ if (!symlink('extend/addon', $addonDir)) {
+ logger('Error creating symlink to addon folder: ' . $addonDir);
+ json_return_and_die(array('message' => 'Error creating symlink to addon folder: ' . $addonDir, 'success' => false));
+ }
+ }
+ }
+ $repoDir = 'store/[data]/git/sys/extend/addon/' . $repoName;
+ if (!is_dir($repoDir)) {
+ logger('Repo directory does not exist: ' . $repoDir);
+ json_return_and_die(array('message' => 'Invalid addon repo.', 'success' => false));
+ }
+ if (!is_writable($repoDir)) {
+ logger('Repo directory not writable to web server: ' . $repoDir);
+ json_return_and_die(array('message' => 'Repo directory not writable to web server.', 'success' => false));
+ }
+ // TODO: remove directory and unlink /addon/files
+ if (rrmdir($repoDir)) {
+ json_return_and_die(array('message' => 'Repo deleted.', 'success' => true));
+ } else {
+ json_return_and_die(array('message' => 'Error deleting addon repo.', 'success' => false));
+ }
+ case 'installrepo':
+ require_once('library/markdown.php');
+ if (array_key_exists('repoURL', $_REQUEST)) {
+ require_once('library/PHPGit.autoload.php'); // Load PHPGit dependencies
+ $repoURL = $_REQUEST['repoURL'];
+ $extendDir = 'store/[data]/git/sys/extend';
+ $addonDir = $extendDir . '/addon';
+ if (!file_exists($extendDir)) {
+ if (!mkdir($extendDir, 0770, true)) {
+ logger('Error creating extend folder: ' . $extendDir);
+ json_return_and_die(array('message' => 'Error creating extend folder: ' . $extendDir, 'success' => false));
+ } else {
+ if (!symlink('extend/addon', $addonDir)) {
+ logger('Error creating symlink to addon folder: ' . $addonDir);
+ json_return_and_die(array('message' => 'Error creating symlink to addon folder: ' . $addonDir, 'success' => false));
+ }
+ }
+ }
+ if (!is_writable($extendDir)) {
+ logger('Directory not writable to web server: ' . $extendDir);
+ json_return_and_die(array('message' => 'Directory not writable to web server.', 'success' => false));
+ }
+ $repoName = null;
+ if (array_key_exists('repoName', $_REQUEST) && $_REQUEST['repoName'] !== '') {
+ $repoName = $_REQUEST['repoName'];
+ } else {
+ $repoName = GitRepo::getRepoNameFromURL($repoURL);
+ }
+ if (!$repoName) {
+ logger('Invalid git repo');
+ json_return_and_die(array('message' => 'Invalid git repo', 'success' => false));
+ }
+ $repoDir = $addonDir . '/' . $repoName;
+ $tempRepoBaseDir = 'store/[data]/git/sys/temp/';
+ $tempAddonDir = $tempRepoBaseDir . $repoName;
+
+ if (!is_writable($addonDir) || !is_writable($tempAddonDir)) {
+ logger('Temp repo directory or /extend/addon not writable to web server: ' . $tempAddonDir);
+ json_return_and_die(array('message' => 'Temp repo directory not writable to web server.', 'success' => false));
+ }
+ rename($tempAddonDir, $repoDir);
+
+ if (!is_writable(realpath('addon/'))) {
+ logger('/addon directory not writable to web server: ' . $tempAddonDir);
+ json_return_and_die(array('message' => '/addon directory not writable to web server.', 'success' => false));
+ }
+ $files = array_diff(scandir($repoDir), array('.', '..'));
+ foreach ($files as $file) {
+ if (is_dir($repoDir . '/' . $file) && $file !== '.git') {
+ $source = 'extend/addon/' . $repoName . '/' . $file;
+ $target = realpath('addon/') . '/' . $file;
+ unlink($target);
+ if (!symlink($source, $target)) {
+ logger('Error linking addons to /addon');
+ json_return_and_die(array('message' => 'Error linking addons to /addon', 'success' => false));
+ }
+ }
+ }
+ $git = new GitRepo('sys', $repoURL, false, $repoName, $repoDir);
+ $repo = $git->probeRepo();
+ json_return_and_die(array('repo' => $repo, 'message' => '', 'success' => true));
+ }
+ case 'addrepo':
+ require_once('library/markdown.php');
+ if (array_key_exists('repoURL', $_REQUEST)) {
+ require_once('library/PHPGit.autoload.php'); // Load PHPGit dependencies
+ $repoURL = $_REQUEST['repoURL'];
+ $extendDir = 'store/[data]/git/sys/extend';
+ $addonDir = $extendDir . '/addon';
+ $tempAddonDir = 'store/[data]/git/sys/temp';
+ if (!file_exists($extendDir)) {
+ if (!mkdir($extendDir, 0770, true)) {
+ logger('Error creating extend folder: ' . $extendDir);
+ json_return_and_die(array('message' => 'Error creating extend folder: ' . $extendDir, 'success' => false));
+ } else {
+ if (!symlink('extend/addon', $addonDir)) {
+ logger('Error creating symlink to addon folder: ' . $addonDir);
+ json_return_and_die(array('message' => 'Error creating symlink to addon folder: ' . $addonDir, 'success' => false));
+ }
+ }
+ }
+ if (!is_dir($tempAddonDir)) {
+ if (!mkdir($tempAddonDir, 0770, true)) {
+ logger('Error creating temp plugin repo folder: ' . $tempAddonDir);
+ json_return_and_die(array('message' => 'Error creating temp plugin repo folder: ' . $tempAddonDir, 'success' => false));
+ }
+ }
+ $repoName = null;
+ if (array_key_exists('repoName', $_REQUEST) && $_REQUEST['repoName'] !== '') {
+ $repoName = $_REQUEST['repoName'];
+ } else {
+ $repoName = GitRepo::getRepoNameFromURL($repoURL);
+ }
+ if (!$repoName) {
+ logger('Invalid git repo');
+ json_return_and_die(array('message' => 'Invalid git repo: ' . $repoName, 'success' => false));
+ }
+ $repoDir = $tempAddonDir . '/' . $repoName;
+ if (!is_writable($tempAddonDir)) {
+ logger('Temporary directory for new addon repo is not writable to web server: ' . $tempAddonDir);
+ json_return_and_die(array('message' => 'Temporary directory for new addon repo is not writable to web server.', 'success' => false));
+ }
+ // clone the repo if new automatically
+ $git = new GitRepo('sys', $repoURL, true, $repoName, $repoDir);
+
+ $remotes = $git->git->remote();
+ $fetchURL = $remotes['origin']['fetch'];
+ if ($fetchURL !== $git->url) {
+ if (rrmdir($repoDir)) {
+ $git = new GitRepo('sys', $repoURL, true, $repoName, $repoDir);
+ } else {
+ json_return_and_die(array('message' => 'Error deleting existing addon repo.', 'success' => false));
+ }
+ }
+ $repo = $git->probeRepo();
+ $repo['readme'] = $repo['manifest'] = null;
+ foreach ($git->git->tree('master') as $object) {
+ if ($object['type'] == 'blob' && (strtolower($object['file']) === 'readme.md' || strtolower($object['file']) === 'readme')) {
+ $repo['readme'] = Markdown($git->git->cat->blob($object['hash']));
+ } else if ($object['type'] == 'blob' && strtolower($object['file']) === 'manifest.json') {
+ $repo['manifest'] = $git->git->cat->blob($object['hash']);
+ }
+ }
+ json_return_and_die(array('repo' => $repo, 'message' => '', 'success' => true));
+ } else {
+ json_return_and_die(array('message' => 'No repo URL provided', 'success' => false));
+ }
+ break;
+ default:
+ break;
+ }
+ }
+ }
+
+
+ function get() {
+
+ /*
+ * Single plugin
+ */
+
+ if (\App::$argc == 3){
+ $plugin = \App::$argv[2];
+ if (!is_file("addon/$plugin/$plugin.php")){
+ notice( t("Item not found.") );
+ return '';
+ }
+
+ $enabled = in_array($plugin,\App::$plugins);
+ $info = get_plugin_info($plugin);
+ $x = check_plugin_versions($info);
+
+ // disable plugins which are installed but incompatible versions
+
+ if($enabled && ! $x) {
+ $enabled = false;
+ $idz = array_search($plugin, \App::$plugins);
+ if ($idz !== false) {
+ unset(\App::$plugins[$idz]);
+ uninstall_plugin($plugin);
+ set_config("system","addon", implode(", ",\App::$plugins));
+ }
+ }
+ $info['disabled'] = 1-intval($x);
+
+ if (x($_GET,"a") && $_GET['a']=="t"){
+ check_form_security_token_redirectOnErr('/admin/plugins', 'admin_plugins', 't');
+ $pinstalled = false;
+ // Toggle plugin status
+ $idx = array_search($plugin, \App::$plugins);
+ if ($idx !== false){
+ unset(\App::$plugins[$idx]);
+ uninstall_plugin($plugin);
+ $pinstalled = false;
+ info( sprintf( t("Plugin %s disabled."), $plugin ) );
+ } else {
+ \App::$plugins[] = $plugin;
+ install_plugin($plugin);
+ $pinstalled = true;
+ info( sprintf( t("Plugin %s enabled."), $plugin ) );
+ }
+ set_config("system","addon", implode(", ",\App::$plugins));
+
+ if($pinstalled) {
+ @require_once("addon/$plugin/$plugin.php");
+ if(function_exists($plugin.'_plugin_admin'))
+ goaway(z_root() . '/admin/plugins/' . $plugin);
+ }
+ goaway(z_root() . '/admin/plugins' );
+ }
+ // display plugin details
+ require_once('library/markdown.php');
+
+ if (in_array($plugin, \App::$plugins)){
+ $status = 'on';
+ $action = t('Disable');
+ } else {
+ $status = 'off';
+ $action = t('Enable');
+ }
+
+ $readme = null;
+ if (is_file("addon/$plugin/README.md")){
+ $readme = file_get_contents("addon/$plugin/README.md");
+ $readme = Markdown($readme);
+ } else if (is_file("addon/$plugin/README")){
+ $readme = "<pre>". file_get_contents("addon/$plugin/README") ."</pre>";
+ }
+
+ $admin_form = '';
+
+ $r = q("select * from addon where plugin_admin = 1 and aname = '%s' limit 1",
+ dbesc($plugin)
+ );
+
+ if($r) {
+ @require_once("addon/$plugin/$plugin.php");
+ if(function_exists($plugin.'_plugin_admin')) {
+ $func = $plugin.'_plugin_admin';
+ $func($a, $admin_form);
+ }
+ }
+
+
+ $t = get_markup_template('admin_plugins_details.tpl');
+ return replace_macros($t, array(
+ '$title' => t('Administration'),
+ '$page' => t('Plugins'),
+ '$toggle' => t('Toggle'),
+ '$settings' => t('Settings'),
+ '$baseurl' => z_root(),
+
+ '$plugin' => $plugin,
+ '$status' => $status,
+ '$action' => $action,
+ '$info' => $info,
+ '$str_author' => t('Author: '),
+ '$str_maintainer' => t('Maintainer: '),
+ '$str_minversion' => t('Minimum project version: '),
+ '$str_maxversion' => t('Maximum project version: '),
+ '$str_minphpversion' => t('Minimum PHP version: '),
+ '$str_serverroles' => t('Compatible Server Roles: '),
+ '$str_requires' => t('Requires: '),
+ '$disabled' => t('Disabled - version incompatibility'),
+
+ '$admin_form' => $admin_form,
+ '$function' => 'plugins',
+ '$screenshot' => '',
+ '$readme' => $readme,
+
+ '$form_security_token' => get_form_security_token('admin_plugins'),
+ ));
+ }
+
+
+ /*
+ * List plugins
+ */
+ $plugins = array();
+ $files = glob('addon/*/');
+ if($files) {
+ foreach($files as $file) {
+ if (is_dir($file)){
+ list($tmp, $id) = array_map('trim', explode('/', $file));
+ $info = get_plugin_info($id);
+ $enabled = in_array($id,\App::$plugins);
+ $x = check_plugin_versions($info);
+
+ // disable plugins which are installed but incompatible versions
+
+ if($enabled && ! $x) {
+ $enabled = false;
+ $idz = array_search($id, \App::$plugins);
+ if ($idz !== false) {
+ unset(\App::$plugins[$idz]);
+ uninstall_plugin($id);
+ set_config("system","addon", implode(", ",\App::$plugins));
+ }
+ }
+ $info['disabled'] = 1-intval($x);
+
+ $plugins[] = array( $id, (($enabled)?"on":"off") , $info);
+ }
+ }
+ }
+
+ usort($plugins,'self::plugin_sort');
+
+
+ $admin_plugins_add_repo_form= replace_macros(
+ get_markup_template('admin_plugins_addrepo.tpl'), array(
+ '$post' => 'admin/plugins/addrepo',
+ '$desc' => t('Enter the public git repository URL of the plugin repo.'),
+ '$repoURL' => array('repoURL', t('Plugin repo git URL'), '', ''),
+ '$repoName' => array('repoName', t('Custom repo name'), '', '', t('(optional)')),
+ '$submit' => t('Download Plugin Repo')
+ )
+ );
+ $newRepoModalID = random_string(3);
+ $newRepoModal = replace_macros(
+ get_markup_template('generic_modal.tpl'), array(
+ '$id' => $newRepoModalID,
+ '$title' => t('Install new repo'),
+ '$ok' => t('Install'),
+ '$cancel' => t('Cancel')
+ )
+ );
+
+ $reponames = $this->listAddonRepos();
+ $addonrepos = [];
+ foreach($reponames as $repo) {
+ $addonrepos[] = array('name' => $repo, 'description' => '');
+ // TODO: Parse repo info to provide more information about repos
+ }
+
+ $t = get_markup_template('admin_plugins.tpl');
+ return replace_macros($t, array(
+ '$title' => t('Administration'),
+ '$page' => t('Plugins'),
+ '$submit' => t('Submit'),
+ '$baseurl' => z_root(),
+ '$function' => 'plugins',
+ '$plugins' => $plugins,
+ '$disabled' => t('Disabled - version incompatibility'),
+ '$form_security_token' => get_form_security_token('admin_plugins'),
+ '$managerepos' => t('Manage Repos'),
+ '$installedtitle' => t('Installed Plugin Repositories'),
+ '$addnewrepotitle' => t('Install a New Plugin Repository'),
+ '$expandform' => false,
+ '$form' => $admin_plugins_add_repo_form,
+ '$newRepoModal' => $newRepoModal,
+ '$newRepoModalID' => $newRepoModalID,
+ '$addonrepos' => $addonrepos,
+ '$repoUpdateButton' => t('Update'),
+ '$repoBranchButton' => t('Switch branch'),
+ '$repoRemoveButton' => t('Remove')
+ ));
+ }
+
+ function listAddonRepos() {
+ $addonrepos = [];
+ $addonDir = 'extend/addon/';
+ if(is_dir($addonDir)) {
+ if ($handle = opendir($addonDir)) {
+ while (false !== ($entry = readdir($handle))) {
+ if ($entry != "." && $entry != "..") {
+ $addonrepos[] = $entry;
+ }
+ }
+ closedir($handle);
+ }
+ }
+ return $addonrepos;
+ }
+
+ static public function plugin_sort($a,$b) {
+ return(strcmp(strtolower($a[2]['name']),strtolower($b[2]['name'])));
+ }
+
+
+} \ No newline at end of file
diff --git a/Zotlabs/Module/Admin/Profs.php b/Zotlabs/Module/Admin/Profs.php
new file mode 100644
index 000000000..b3da09cb7
--- /dev/null
+++ b/Zotlabs/Module/Admin/Profs.php
@@ -0,0 +1,169 @@
+<?php
+
+namespace Zotlabs\Module\Admin;
+
+
+class Profs {
+
+ function post() {
+
+ if(array_key_exists('basic',$_REQUEST)) {
+ $arr = explode(',',$_REQUEST['basic']);
+ for($x = 0; $x < count($arr); $x ++)
+ if(trim($arr[$x]))
+ $arr[$x] = trim($arr[$x]);
+ set_config('system','profile_fields_basic',$arr);
+
+ if(array_key_exists('advanced',$_REQUEST)) {
+ $arr = explode(',',$_REQUEST['advanced']);
+ for($x = 0; $x < count($arr); $x ++)
+ if(trim($arr[$x]))
+ $arr[$x] = trim($arr[$x]);
+ set_config('system','profile_fields_advanced',$arr);
+ }
+ goaway(z_root() . '/admin/profs');
+ }
+
+
+ if(array_key_exists('field_name',$_REQUEST)) {
+ if($_REQUEST['id']) {
+ $r = q("update profdef set field_name = '%s', field_type = '%s', field_desc = '%s' field_help = '%s', field_inputs = '%s' where id = %d",
+ dbesc($_REQUEST['field_name']),
+ dbesc($_REQUEST['field_type']),
+ dbesc($_REQUEST['field_desc']),
+ dbesc($_REQUEST['field_help']),
+ dbesc($_REQUEST['field_inputs']),
+ intval($_REQUEST['id'])
+ );
+ }
+ else {
+ $r = q("insert into profdef ( field_name, field_type, field_desc, field_help, field_inputs ) values ( '%s' , '%s', '%s', '%s', '%s' )",
+ dbesc($_REQUEST['field_name']),
+ dbesc($_REQUEST['field_type']),
+ dbesc($_REQUEST['field_desc']),
+ dbesc($_REQUEST['field_help']),
+ dbesc($_REQUEST['field_inputs'])
+ );
+ }
+ }
+
+
+ // add to chosen array basic or advanced
+
+ goaway(z_root() . '/admin/profs');
+ }
+
+ function get() {
+
+ if((argc() > 3) && argv(2) == 'drop' && intval(argv(3))) {
+ $r = q("delete from profdef where id = %d",
+ intval(argv(3))
+ );
+ // remove from allowed fields
+
+ goaway(z_root() . '/admin/profs');
+ }
+
+ if((argc() > 2) && argv(2) === 'new') {
+ return replace_macros(get_markup_template('profdef_edit.tpl'),array(
+ '$header' => t('New Profile Field'),
+ '$field_name' => array('field_name',t('Field nickname'),$_REQUEST['field_name'],t('System name of field')),
+ '$field_type' => array('field_type',t('Input type'),(($_REQUEST['field_type']) ? $_REQUEST['field_type'] : 'text'),''),
+ '$field_desc' => array('field_desc',t('Field Name'),$_REQUEST['field_desc'],t('Label on profile pages')),
+ '$field_help' => array('field_help',t('Help text'),$_REQUEST['field_help'],t('Additional info (optional)')),
+ '$submit' => t('Save')
+ ));
+ }
+
+ if((argc() > 2) && intval(argv(2))) {
+ $r = q("select * from profdef where id = %d limit 1",
+ intval(argv(2))
+ );
+ if(! $r) {
+ notice( t('Field definition not found') . EOL);
+ goaway(z_root() . '/admin/profs');
+ }
+
+ return replace_macros(get_markup_template('profdef_edit.tpl'),array(
+ '$id' => intval($r[0]['id']),
+ '$header' => t('Edit Profile Field'),
+ '$field_name' => array('field_name',t('Field nickname'),$r[0]['field_name'],t('System name of field')),
+ '$field_type' => array('field_type',t('Input type'),$r[0]['field_type'],''),
+ '$field_desc' => array('field_desc',t('Field Name'),$r[0]['field_desc'],t('Label on profile pages')),
+ '$field_help' => array('field_help',t('Help text'),$r[0]['field_help'],t('Additional info (optional)')),
+ '$submit' => t('Save')
+ ));
+ }
+
+ $basic = '';
+ $barr = array();
+ $fields = get_profile_fields_basic();
+ if(! $fields)
+ $fields = get_profile_fields_basic(1);
+ if($fields) {
+ foreach($fields as $k => $v) {
+ if($basic)
+ $basic .= ', ';
+ $basic .= trim($k);
+ $barr[] = trim($k);
+ }
+ }
+
+ $advanced = '';
+ $fields = get_profile_fields_advanced();
+ if(! $fields)
+ $fields = get_profile_fields_advanced(1);
+ if($fields) {
+ foreach($fields as $k => $v) {
+ if(in_array(trim($k),$barr))
+ continue;
+ if($advanced)
+ $advanced .= ', ';
+ $advanced .= trim($k);
+ }
+ }
+
+ $all = '';
+ $fields = get_profile_fields_advanced(1);
+ if($fields) {
+ foreach($fields as $k => $v) {
+ if($all)
+ $all .= ', ';
+ $all .= trim($k);
+ }
+ }
+
+ $r = q("select * from profdef where true");
+ if($r) {
+ foreach($r as $rr) {
+ if($all)
+ $all .= ', ';
+ $all .= $rr['field_name'];
+ }
+ }
+
+
+ $o = replace_macros(get_markup_template('admin_profiles.tpl'),array(
+ '$title' => t('Profile Fields'),
+ '$basic' => array('basic',t('Basic Profile Fields'),$basic,''),
+ '$advanced' => array('advanced',t('Advanced Profile Fields'),$advanced,t('(In addition to basic fields)')),
+ '$all' => $all,
+ '$all_desc' => t('All available fields'),
+ '$cust_field_desc' => t('Custom Fields'),
+ '$cust_fields' => $r,
+ '$edit' => t('Edit'),
+ '$drop' => t('Delete'),
+ '$new' => t('Create Custom Field'),
+ '$submit' => t('Submit')
+ ));
+
+ return $o;
+
+
+ }
+
+
+
+
+
+} \ No newline at end of file
diff --git a/Zotlabs/Module/Admin/Queue.php b/Zotlabs/Module/Admin/Queue.php
new file mode 100644
index 000000000..4986de925
--- /dev/null
+++ b/Zotlabs/Module/Admin/Queue.php
@@ -0,0 +1,54 @@
+<?php
+
+namespace Zotlabs\Module\Admin;
+
+
+
+class Queue {
+
+
+
+ function get() {
+
+ $o = '';
+
+ $expert = ((array_key_exists('expert',$_REQUEST)) ? intval($_REQUEST['expert']) : 0);
+
+ if($_REQUEST['drophub']) {
+ require_once('hubloc.php');
+ hubloc_mark_as_down($_REQUEST['drophub']);
+ remove_queue_by_posturl($_REQUEST['drophub']);
+ }
+
+ if($_REQUEST['emptyhub']) {
+ remove_queue_by_posturl($_REQUEST['emptyhub']);
+ }
+
+ $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'),
+ '$priority' => t('Priority'),
+ '$desturl' => t('Destination URL'),
+ '$nukehub' => t('Mark hub permanently offline'),
+ '$empty' => t('Empty queue for this hub'),
+ '$lastconn' => t('Last known contact'),
+ '$hasentries' => ((count($r)) ? true : false),
+ '$entries' => $r,
+ '$expert' => $expert
+ ));
+
+ return $o;
+ }
+
+
+
+
+} \ No newline at end of file
diff --git a/Zotlabs/Module/Admin/Security.php b/Zotlabs/Module/Admin/Security.php
new file mode 100644
index 000000000..a1e4bf537
--- /dev/null
+++ b/Zotlabs/Module/Admin/Security.php
@@ -0,0 +1,123 @@
+<?php
+
+namespace Zotlabs\Module\Admin;
+
+
+class Security {
+
+ function post() {
+ check_form_security_token_redirectOnErr('/admin/security', 'admin_security');
+
+ $allowed_email = ((x($_POST,'allowed_email')) ? notags(trim($_POST['allowed_email'])) : '');
+ $not_allowed_email = ((x($_POST,'not_allowed_email')) ? notags(trim($_POST['not_allowed_email'])) : '');
+
+ set_config('system','allowed_email', $allowed_email);
+ set_config('system','not_allowed_email', $not_allowed_email);
+
+ $block_public = ((x($_POST,'block_public')) ? True : False);
+ set_config('system','block_public',$block_public);
+
+ $ws = $this->trim_array_elems(explode("\n",$_POST['whitelisted_sites']));
+ set_config('system','whitelisted_sites',$ws);
+
+ $bs = $this->trim_array_elems(explode("\n",$_POST['blacklisted_sites']));
+ set_config('system','blacklisted_sites',$bs);
+
+ $wc = $this->trim_array_elems(explode("\n",$_POST['whitelisted_channels']));
+ set_config('system','whitelisted_channels',$wc);
+
+ $bc = $this->trim_array_elems(explode("\n",$_POST['blacklisted_channels']));
+ set_config('system','blacklisted_channels',$bc);
+
+ $embed_sslonly = ((x($_POST,'embed_sslonly')) ? True : False);
+ set_config('system','embed_sslonly',$embed_sslonly);
+
+ $we = $this->trim_array_elems(explode("\n",$_POST['embed_allow']));
+ set_config('system','embed_allow',$we);
+
+ $be = $this->trim_array_elems(explode("\n",$_POST['embed_deny']));
+ set_config('system','embed_deny',$be);
+
+ $ts = ((x($_POST,'transport_security')) ? True : False);
+ set_config('system','transport_security_header',$ts);
+
+ $cs = ((x($_POST,'content_security')) ? True : False);
+ set_config('system','content_security_policy',$cs);
+
+ goaway(z_root() . '/admin/security');
+ }
+
+
+
+ function get() {
+
+ $whitesites = get_config('system','whitelisted_sites');
+ $whitesites_str = ((is_array($whitesites)) ? implode($whitesites,"\n") : '');
+
+ $blacksites = get_config('system','blacklisted_sites');
+ $blacksites_str = ((is_array($blacksites)) ? implode($blacksites,"\n") : '');
+
+
+ $whitechannels = get_config('system','whitelisted_channels');
+ $whitechannels_str = ((is_array($whitechannels)) ? implode($whitechannels,"\n") : '');
+
+ $blackchannels = get_config('system','blacklisted_channels');
+ $blackchannels_str = ((is_array($blackchannels)) ? implode($blackchannels,"\n") : '');
+
+
+ $whiteembeds = get_config('system','embed_allow');
+ $whiteembeds_str = ((is_array($whiteembeds)) ? implode($whiteembeds,"\n") : '');
+
+ $blackembeds = get_config('system','embed_deny');
+ $blackembeds_str = ((is_array($blackembeds)) ? implode($blackembeds,"\n") : '');
+
+ $embed_coop = intval(get_config('system','embed_coop'));
+
+ if((! $whiteembeds) && (! $blackembeds)) {
+ $embedhelp1 = t("By default, unfiltered HTML is allowed in embedded media. This is inherently insecure.");
+ }
+
+ $embedhelp2 = t("The recommended setting is to only allow unfiltered HTML from the following sites:");
+ $embedhelp3 = t("https://youtube.com/<br />https://www.youtube.com/<br />https://youtu.be/<br />https://vimeo.com/<br />https://soundcloud.com/<br />");
+ $embedhelp4 = t("All other embedded content will be filtered, <strong>unless</strong> embedded content from that site is explicitly blocked.");
+
+ $t = get_markup_template('admin_security.tpl');
+ return replace_macros($t, array(
+ '$title' => t('Administration'),
+ '$page' => t('Security'),
+ '$form_security_token' => get_form_security_token('admin_security'),
+ '$block_public' => array('block_public', t("Block public"), get_config('system','block_public'), t("Check to block public access to all otherwise public personal pages on this site unless you are currently authenticated.")),
+ '$transport_security' => array('transport_security', t('Set "Transport Security" HTTP header'),intval(get_config('system','transport_security_header')),''),
+ '$content_security' => array('content_security', t('Set "Content Security Policy" HTTP header'),intval(get_config('system','content_security_policy')),''),
+ '$allowed_email' => array('allowed_email', t("Allowed email domains"), get_config('system','allowed_email'), t("Comma separated list of domains which are allowed in email addresses for registrations to this site. Wildcards are accepted. Empty to allow any domains")),
+ '$not_allowed_email' => array('not_allowed_email', t("Not allowed email domains"), get_config('system','not_allowed_email'), t("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.")),
+ '$whitelisted_sites' => array('whitelisted_sites', t('Allow communications only from these sites'), $whitesites_str, t('One site per line. Leave empty to allow communication from anywhere by default')),
+ '$blacklisted_sites' => array('blacklisted_sites', t('Block communications from these sites'), $blacksites_str, ''),
+ '$whitelisted_channels' => array('whitelisted_channels', t('Allow communications only from these channels'), $whitechannels_str, t('One channel (hash) per line. Leave empty to allow from any channel by default')),
+ '$blacklisted_channels' => array('blacklisted_channels', t('Block communications from these channels'), $blackchannels_str, ''),
+ '$embed_sslonly' => array('embed_sslonly',t('Only allow embeds from secure (SSL) websites and links.'), intval(get_config('system','embed_sslonly')),''),
+ '$embed_allow' => array('embed_allow', t('Allow unfiltered embedded HTML content only from these domains'), $whiteembeds_str, t('One site per line. By default embedded content is filtered.')),
+ '$embed_deny' => array('embed_deny', t('Block embedded HTML from these domains'), $blackembeds_str, ''),
+
+// '$embed_coop' => array('embed_coop', t('Cooperative embed security'), $embed_coop, t('Enable to share embed security with other compatible sites/hubs')),
+
+ '$submit' => t('Submit')
+ ));
+ }
+
+
+ function trim_array_elems($arr) {
+ $narr = array();
+
+ if($arr && is_array($arr)) {
+ for($x = 0; $x < count($arr); $x ++) {
+ $y = trim($arr[$x]);
+ if($y)
+ $narr[] = $y;
+ }
+ }
+ return $narr;
+ }
+
+
+} \ No newline at end of file
diff --git a/Zotlabs/Module/Admin/Site.php b/Zotlabs/Module/Admin/Site.php
new file mode 100644
index 000000000..8397cabbd
--- /dev/null
+++ b/Zotlabs/Module/Admin/Site.php
@@ -0,0 +1,323 @@
+<?php
+
+namespace Zotlabs\Module\Admin;
+
+
+class Site {
+
+
+ /**
+ * @brief POST handler for Admin Site Page.
+ *
+ * @param App &$a
+ */
+ function post(){
+ if (!x($_POST, 'page_site')) {
+ return;
+ }
+
+ check_form_security_token_redirectOnErr('/admin/site', 'admin_site');
+
+ $sitename = ((x($_POST,'sitename')) ? notags(trim($_POST['sitename'])) : '');
+ $server_role = ((x($_POST,'server_role')) ? notags(trim($_POST['server_role'])) : 'standard');
+
+ $banner = ((x($_POST,'banner')) ? trim($_POST['banner']) : false);
+
+ $admininfo = ((x($_POST,'admininfo')) ? trim($_POST['admininfo']) : false);
+ $language = ((x($_POST,'language')) ? notags(trim($_POST['language'])) : '');
+ $theme = ((x($_POST,'theme')) ? notags(trim($_POST['theme'])) : '');
+ $theme_mobile = ((x($_POST,'theme_mobile')) ? notags(trim($_POST['theme_mobile'])) : '');
+ // $site_channel = ((x($_POST,'site_channel')) ? notags(trim($_POST['site_channel'])) : '');
+ $maximagesize = ((x($_POST,'maximagesize')) ? intval(trim($_POST['maximagesize'])) : 0);
+
+ $register_policy = ((x($_POST,'register_policy')) ? intval(trim($_POST['register_policy'])) : 0);
+
+ $access_policy = ((x($_POST,'access_policy')) ? intval(trim($_POST['access_policy'])) : 0);
+ $invite_only = ((x($_POST,'invite_only')) ? True : False);
+ $abandon_days = ((x($_POST,'abandon_days')) ? intval(trim($_POST['abandon_days'])) : 0);
+
+ $register_text = ((x($_POST,'register_text')) ? notags(trim($_POST['register_text'])) : '');
+ $frontpage = ((x($_POST,'frontpage')) ? notags(trim($_POST['frontpage'])) : '');
+ $mirror_frontpage = ((x($_POST,'mirror_frontpage')) ? intval(trim($_POST['mirror_frontpage'])) : 0);
+ $directory_server = ((x($_POST,'directory_server')) ? trim($_POST['directory_server']) : '');
+ $allowed_sites = ((x($_POST,'allowed_sites')) ? notags(trim($_POST['allowed_sites'])) : '');
+ $force_publish = ((x($_POST,'publish_all')) ? True : False);
+ $disable_discover_tab = ((x($_POST,'disable_discover_tab')) ? False : True);
+ $login_on_homepage = ((x($_POST,'login_on_homepage')) ? True : False);
+ $enable_context_help = ((x($_POST,'enable_context_help')) ? True : False);
+ $global_directory = ((x($_POST,'directory_submit_url')) ? notags(trim($_POST['directory_submit_url'])) : '');
+ $no_community_page = !((x($_POST,'no_community_page')) ? True : False);
+ $default_expire_days = ((array_key_exists('default_expire_days',$_POST)) ? intval($_POST['default_expire_days']) : 0);
+
+ $verifyssl = ((x($_POST,'verifyssl')) ? True : False);
+ $proxyuser = ((x($_POST,'proxyuser')) ? notags(trim($_POST['proxyuser'])) : '');
+ $proxy = ((x($_POST,'proxy')) ? notags(trim($_POST['proxy'])) : '');
+ $timeout = ((x($_POST,'timeout')) ? intval(trim($_POST['timeout'])) : 60);
+ $delivery_interval = ((x($_POST,'delivery_interval'))? intval(trim($_POST['delivery_interval'])) : 0);
+ $delivery_batch_count = ((x($_POST,'delivery_batch_count') && $_POST['delivery_batch_count'] > 0)? intval(trim($_POST['delivery_batch_count'])) : 1);
+ $poll_interval = ((x($_POST,'poll_interval')) ? intval(trim($_POST['poll_interval'])) : 0);
+ $maxloadavg = ((x($_POST,'maxloadavg')) ? intval(trim($_POST['maxloadavg'])) : 50);
+ $feed_contacts = ((x($_POST,'feed_contacts')) ? intval($_POST['feed_contacts']) : 0);
+ $verify_email = ((x($_POST,'verify_email')) ? 1 : 0);
+ $techlevel_lock = ((x($_POST,'techlock')) ? intval($_POST['techlock']) : 0);
+
+ $techlevel = null;
+ if(array_key_exists('techlevel',$_POST))
+ $techlevel = intval($_POST['techlevel']);
+
+
+
+ set_config('system', 'server_role', $server_role);
+ set_config('system', 'feed_contacts', $feed_contacts);
+ set_config('system', 'delivery_interval', $delivery_interval);
+ set_config('system', 'delivery_batch_count', $delivery_batch_count);
+ set_config('system', 'poll_interval', $poll_interval);
+ set_config('system', 'maxloadavg', $maxloadavg);
+ set_config('system', 'frontpage', $frontpage);
+ set_config('system', 'mirror_frontpage', $mirror_frontpage);
+ set_config('system', 'sitename', $sitename);
+ set_config('system', 'login_on_homepage', $login_on_homepage);
+ set_config('system', 'enable_context_help', $enable_context_help);
+ set_config('system', 'verify_email', $verify_email);
+ set_config('system', 'default_expire_days', $default_expire_days);
+ set_config('system', 'techlevel_lock', $techlevel_lock);
+
+ if(! is_null($techlevel))
+ set_config('system', 'techlevel', $techlevel);
+
+ if($directory_server)
+ set_config('system','directory_server',$directory_server);
+
+ if ($banner == '') {
+ del_config('system', 'banner');
+ } else {
+ set_config('system', 'banner', $banner);
+ }
+
+ if ($admininfo == ''){
+ del_config('system', 'admininfo');
+ } else {
+ require_once('include/text.php');
+ linkify_tags($a, $admininfo, local_channel());
+ set_config('system', 'admininfo', $admininfo);
+ }
+ set_config('system', 'language', $language);
+ set_config('system', 'theme', $theme);
+ if ( $theme_mobile === '---' ) {
+ del_config('system', 'mobile_theme');
+ } else {
+ set_config('system', 'mobile_theme', $theme_mobile);
+ }
+ // set_config('system','site_channel', $site_channel);
+ set_config('system','maximagesize', $maximagesize);
+
+ set_config('system','register_policy', $register_policy);
+ set_config('system','invitation_only', $invite_only);
+ set_config('system','access_policy', $access_policy);
+ set_config('system','account_abandon_days', $abandon_days);
+ set_config('system','register_text', $register_text);
+ set_config('system','allowed_sites', $allowed_sites);
+ set_config('system','publish_all', $force_publish);
+ set_config('system','disable_discover_tab', $disable_discover_tab);
+ if ($global_directory == '') {
+ del_config('system', 'directory_submit_url');
+ } else {
+ set_config('system', 'directory_submit_url', $global_directory);
+ }
+
+ set_config('system','no_community_page', $no_community_page);
+ set_config('system','no_utf', $no_utf);
+ set_config('system','verifyssl', $verifyssl);
+ set_config('system','proxyuser', $proxyuser);
+ set_config('system','proxy', $proxy);
+ set_config('system','curl_timeout', $timeout);
+
+ info( t('Site settings updated.') . EOL);
+ goaway(z_root() . '/admin/site' );
+ }
+
+ /**
+ * @brief Admin page site.
+ *
+ * @return string
+ */
+
+ function get() {
+
+ /* Installed langs */
+ $lang_choices = array();
+ $langs = glob('view/*/hstrings.php');
+
+ if(is_array($langs) && count($langs)) {
+ if(! in_array('view/en/hstrings.php',$langs))
+ $langs[] = 'view/en/';
+ asort($langs);
+ foreach($langs as $l) {
+ $t = explode("/",$l);
+ $lang_choices[$t[1]] = $t[1];
+ }
+ }
+
+ /* Installed themes */
+ $theme_choices_mobile["---"] = t("Default");
+ $theme_choices = array();
+ $files = glob('view/theme/*');
+ if($files) {
+ foreach($files as $file) {
+ $vars = '';
+ $f = basename($file);
+ if (file_exists($file . '/library'))
+ continue;
+ if (file_exists($file . '/mobile'))
+ $vars = t('mobile');
+ if (file_exists($file . '/experimental'))
+ $vars .= t('experimental');
+ if (file_exists($file . '/unsupported'))
+ $vars .= t('unsupported');
+ if ($vars) {
+ $theme_choices[$f] = $f . ' (' . $vars . ')';
+ $theme_choices_mobile[$f] = $f . ' (' . $vars . ')';
+ }
+ else {
+ $theme_choices[$f] = $f;
+ $theme_choices_mobile[$f] = $f;
+ }
+ }
+ }
+
+ $dir_choices = null;
+ $dirmode = get_config('system','directory_mode');
+ $realm = get_directory_realm();
+
+ // directory server should not be set or settable unless we are a directory client
+
+ if($dirmode == DIRECTORY_MODE_NORMAL) {
+ $x = q("select site_url from site where site_flags in (%d,%d) and site_realm = '%s'",
+ intval(DIRECTORY_MODE_SECONDARY),
+ intval(DIRECTORY_MODE_PRIMARY),
+ dbesc($realm)
+ );
+ if($x) {
+ $dir_choices = array();
+ foreach($x as $xx) {
+ $dir_choices[$xx['site_url']] = $xx['site_url'];
+ }
+ }
+ }
+
+ /* Banner */
+
+ $banner = get_config('system', 'banner');
+ if($banner === false)
+ $banner = get_config('system','sitename');
+
+ $banner = htmlspecialchars($banner);
+
+ /* Admin Info */
+ $admininfo = get_config('system', 'admininfo');
+
+ /* Register policy */
+ $register_choices = Array(
+ REGISTER_CLOSED => t("No"),
+ REGISTER_APPROVE => t("Yes - with approval"),
+ REGISTER_OPEN => t("Yes")
+ );
+
+ /* Acess policy */
+ $access_choices = Array(
+ ACCESS_PRIVATE => t("My site is not a public server"),
+ ACCESS_PAID => t("My site has paid access only"),
+ ACCESS_FREE => t("My site has free access only"),
+ ACCESS_TIERED => t("My site offers free accounts with optional paid upgrades")
+ );
+
+ $discover_tab = get_config('system','disable_discover_tab');
+ // $disable public streams by default
+ if($discover_tab === false)
+ $discover_tab = 1;
+ // now invert the logic for the setting.
+ $discover_tab = (1 - $discover_tab);
+
+ $server_roles = [
+ 'basic' => t('Basic/Minimal Social Networking'),
+ 'standard' => t('Standard Configuration (default)'),
+ 'pro' => t('Professional')
+ ];
+
+
+ $techlevels = [
+ '0' => t('Beginner/Basic'),
+ '1' => t('Novice - not skilled but willing to learn'),
+ '2' => t('Intermediate - somewhat comfortable'),
+ '3' => t('Advanced - very comfortable'),
+ '4' => t('Expert - I can write computer code'),
+ '5' => t('Wizard - I probably know more than you do')
+ ];
+
+
+
+
+ $homelogin = get_config('system','login_on_homepage');
+ $enable_context_help = get_config('system','enable_context_help');
+
+ $t = get_markup_template("admin_site.tpl");
+ return replace_macros($t, array(
+ '$title' => t('Administration'),
+ '$page' => t('Site'),
+ '$submit' => t('Submit'),
+ '$registration' => t('Registration'),
+ '$upload' => t('File upload'),
+ '$corporate' => t('Policies'),
+ '$advanced' => t('Advanced'),
+
+ '$baseurl' => z_root(),
+ // name, label, value, help string, extra data...
+ '$sitename' => array('sitename', t("Site name"), htmlspecialchars(get_config('system','sitename'), ENT_QUOTES, 'UTF-8'),''),
+
+ '$server_role' => array('server_role', t("Server Configuration/Role"), get_config('system','server_role'),'',$server_roles),
+
+ '$techlevel' => [ 'techlevel', t('Site default technical skill level'), get_config('system','techlevel'), t('Used to provide a member experience matched to technical comfort level'), $techlevels ],
+
+ '$techlock' => [ 'techlock', t('Lock the technical skill level setting'), get_config('system','techlevel_lock'), t('Members can set their own technical comfort level by default') ],
+
+
+ '$banner' => array('banner', t("Banner/Logo"), $banner, ""),
+ '$admininfo' => array('admininfo', t("Administrator Information"), $admininfo, t("Contact information for site administrators. Displayed on siteinfo page. BBCode can be used here")),
+ '$language' => array('language', t("System language"), get_config('system','language'), "", $lang_choices),
+ '$theme' => array('theme', t("System theme"), get_config('system','theme'), t("Default system theme - may be over-ridden by user profiles - <a href='#' id='cnftheme'>change theme settings</a>"), $theme_choices),
+ '$theme_mobile' => array('theme_mobile', t("Mobile system theme"), get_config('system','mobile_theme'), t("Theme for mobile devices"), $theme_choices_mobile),
+ // '$site_channel' => array('site_channel', t("Channel to use for this website's static pages"), get_config('system','site_channel'), t("Site Channel")),
+ '$feed_contacts' => array('feed_contacts', t('Allow Feeds as Connections'),get_config('system','feed_contacts'),t('(Heavy system resource usage)')),
+ '$maximagesize' => array('maximagesize', t("Maximum image size"), intval(get_config('system','maximagesize')), t("Maximum size in bytes of uploaded images. Default is 0, which means no limits.")),
+ '$register_policy' => array('register_policy', t("Does this site allow new member registration?"), get_config('system','register_policy'), "", $register_choices),
+ '$invite_only' => array('invite_only', t("Invitation only"), get_config('system','invitation_only'), t("Only allow new member registrations with an invitation code. Above register policy must be set to Yes.")),
+ '$access_policy' => array('access_policy', t("Which best describes the types of account offered by this hub?"), get_config('system','access_policy'), "This is displayed on the public server site list.", $access_choices),
+ '$register_text' => array('register_text', t("Register text"), htmlspecialchars(get_config('system','register_text'), ENT_QUOTES, 'UTF-8'), t("Will be displayed prominently on the registration page.")),
+ '$frontpage' => array('frontpage', t("Site homepage to show visitors (default: login box)"), get_config('system','frontpage'), t("example: 'public' to show public stream, 'page/sys/home' to show a system webpage called 'home' or 'include:home.html' to include a file.")),
+ '$mirror_frontpage' => array('mirror_frontpage', t("Preserve site homepage URL"), get_config('system','mirror_frontpage'), t('Present the site homepage in a frame at the original location instead of redirecting')),
+ '$abandon_days' => array('abandon_days', t('Accounts abandoned after x days'), get_config('system','account_abandon_days'), t('Will not waste system resources polling external sites for abandonded accounts. Enter 0 for no time limit.')),
+ '$allowed_sites' => array('allowed_sites', t("Allowed friend domains"), get_config('system','allowed_sites'), t("Comma separated list of domains which are allowed to establish friendships with this site. Wildcards are accepted. Empty to allow any domains")),
+ '$verify_email' => array('verify_email', t("Verify Email Addresses"), get_config('system','verify_email'), t("Check to verify email addresses used in account registration (recommended).")),
+ '$force_publish' => array('publish_all', t("Force publish"), get_config('system','publish_all'), t("Check to force all profiles on this site to be listed in the site directory.")),
+ '$disable_discover_tab' => array('disable_discover_tab', t('Import Public Streams'), $discover_tab, t('Import and allow access to public content pulled from other sites. Warning: this content is unmoderated.')),
+ '$login_on_homepage' => array('login_on_homepage', t("Login on Homepage"),((intval($homelogin) || $homelogin === false) ? 1 : '') , t("Present a login box to visitors on the home page if no other content has been configured.")),
+ '$enable_context_help' => array('enable_context_help', t("Enable context help"),((intval($enable_context_help) === 1 || $enable_context_help === false) ? 1 : 0) , t("Display contextual help for the current page when the help button is pressed.")),
+
+ '$directory_server' => (($dir_choices) ? array('directory_server', t("Directory Server URL"), get_config('system','directory_server'), t("Default directory server"), $dir_choices) : null),
+
+ '$proxyuser' => array('proxyuser', t("Proxy user"), get_config('system','proxyuser'), ""),
+ '$proxy' => array('proxy', t("Proxy URL"), get_config('system','proxy'), ""),
+ '$timeout' => array('timeout', t("Network timeout"), (x(get_config('system','curl_timeout'))?get_config('system','curl_timeout'):60), t("Value is in seconds. Set to 0 for unlimited (not recommended).")),
+ '$delivery_interval' => array('delivery_interval', t("Delivery interval"), (x(get_config('system','delivery_interval'))?get_config('system','delivery_interval'):2), t("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.")),
+ '$delivery_batch_count' => array('delivery_batch_count', t('Deliveries per process'),(x(get_config('system','delivery_batch_count'))?get_config('system','delivery_batch_count'):1), t("Number of deliveries to attempt in a single operating system process. Adjust if necessary to tune system performance. Recommend: 1-5.")),
+ '$poll_interval' => array('poll_interval', t("Poll interval"), (x(get_config('system','poll_interval'))?get_config('system','poll_interval'):2), t("Delay background polling processes by this many seconds to reduce system load. If 0, use delivery interval.")),
+ '$maxloadavg' => array('maxloadavg', t("Maximum Load Average"), ((intval(get_config('system','maxloadavg')) > 0)?get_config('system','maxloadavg'):50), t("Maximum system load before delivery and poll processes are deferred - default 50.")),
+ '$default_expire_days' => array('default_expire_days', t('Expiration period in days for imported (grid/network) content'), intval(get_config('system','default_expire_days')), t('0 for no expiration of imported content')),
+ '$form_security_token' => get_form_security_token("admin_site"),
+ ));
+ }
+
+
+
+
+} \ No newline at end of file
diff --git a/Zotlabs/Module/Admin/Themes.php b/Zotlabs/Module/Admin/Themes.php
new file mode 100644
index 000000000..63a9a1670
--- /dev/null
+++ b/Zotlabs/Module/Admin/Themes.php
@@ -0,0 +1,233 @@
+<?php
+
+namespace Zotlabs\Module\Admin;
+
+
+class Themes {
+
+ function post() {
+
+ $theme = argv(2);
+ if (is_file("view/theme/$theme/php/config.php")){
+ require_once("view/theme/$theme/php/config.php");
+ // fixme add parent theme if derived
+ if (function_exists("theme_admin_post")){
+ theme_admin_post($a);
+ }
+ }
+ info(t('Theme settings updated.'));
+ if(is_ajax())
+ return;
+
+ goaway(z_root() . '/admin/themes/' . $theme );
+ }
+
+
+
+
+
+ /**
+ * @brief Themes admin page.
+ *
+ * @return string
+ */
+
+ function get(){
+
+ $allowed_themes_str = get_config('system', 'allowed_themes');
+ $allowed_themes_raw = explode(',', $allowed_themes_str);
+ $allowed_themes = array();
+ if(count($allowed_themes_raw))
+ foreach($allowed_themes_raw as $x)
+ if(strlen(trim($x)))
+ $allowed_themes[] = trim($x);
+
+ $themes = array();
+ $files = glob('view/theme/*');
+ if($files) {
+ foreach($files as $file) {
+ $f = basename($file);
+ $is_experimental = intval(file_exists($file . '/.experimental'));
+ $is_supported = 1-(intval(file_exists($file . '/.unsupported'))); // Is not used yet
+ $is_allowed = intval(in_array($f,$allowed_themes));
+ $themes[] = array('name' => $f, 'experimental' => $is_experimental, 'supported' => $is_supported, 'allowed' => $is_allowed);
+ }
+ }
+
+ if(! count($themes)) {
+ notice( t('No themes found.'));
+ return '';
+ }
+
+ /*
+ * Single theme
+ */
+
+ if (\App::$argc == 3){
+ $theme = \App::$argv[2];
+ if(! is_dir("view/theme/$theme")){
+ notice( t("Item not found.") );
+ return '';
+ }
+
+ if (x($_GET,"a") && $_GET['a']=="t"){
+ check_form_security_token_redirectOnErr('/admin/themes', 'admin_themes', 't');
+
+ // Toggle theme status
+
+ $this->toggle_theme($themes, $theme, $result);
+ $s = $this->rebuild_theme_table($themes);
+ if($result)
+ info( sprintf('Theme %s enabled.', $theme));
+ else
+ info( sprintf('Theme %s disabled.', $theme));
+
+ set_config('system', 'allowed_themes', $s);
+ goaway(z_root() . '/admin/themes' );
+ }
+
+ // display theme details
+ require_once('library/markdown.php');
+
+ if ($this->theme_status($themes,$theme)) {
+ $status="on"; $action= t("Disable");
+ } else {
+ $status="off"; $action= t("Enable");
+ }
+
+ $readme=Null;
+ if (is_file("view/theme/$theme/README.md")){
+ $readme = file_get_contents("view/theme/$theme/README.md");
+ $readme = Markdown($readme);
+ } else if (is_file("view/theme/$theme/README")){
+ $readme = "<pre>". file_get_contents("view/theme/$theme/README") ."</pre>";
+ }
+
+ $admin_form = '';
+ if (is_file("view/theme/$theme/php/config.php")){
+ require_once("view/theme/$theme/php/config.php");
+ if(function_exists("theme_admin")){
+ $admin_form = theme_admin($a);
+ }
+ }
+
+ $screenshot = array( get_theme_screenshot($theme), t('Screenshot'));
+ if(! stristr($screenshot[0],$theme))
+ $screenshot = null;
+
+ $t = get_markup_template('admin_plugins_details.tpl');
+ return replace_macros($t, array(
+ '$title' => t('Administration'),
+ '$page' => t('Themes'),
+ '$toggle' => t('Toggle'),
+ '$settings' => t('Settings'),
+ '$baseurl' => z_root(),
+
+ '$plugin' => $theme,
+ '$status' => $status,
+ '$action' => $action,
+ '$info' => get_theme_info($theme),
+ '$function' => 'themes',
+ '$admin_form' => $admin_form,
+ '$str_author' => t('Author: '),
+ '$str_maintainer' => t('Maintainer: '),
+ '$screenshot' => $screenshot,
+ '$readme' => $readme,
+
+ '$form_security_token' => get_form_security_token('admin_themes'),
+ ));
+ }
+
+ /*
+ * List themes
+ */
+
+ $xthemes = array();
+ if($themes) {
+ foreach($themes as $th) {
+ $xthemes[] = array($th['name'],(($th['allowed']) ? "on" : "off"), get_theme_info($th['name']));
+ }
+ }
+
+ $t = get_markup_template('admin_plugins.tpl');
+ return replace_macros($t, array(
+ '$title' => t('Administration'),
+ '$page' => t('Themes'),
+ '$submit' => t('Submit'),
+ '$baseurl' => z_root(),
+ '$function' => 'themes',
+ '$plugins' => $xthemes,
+ '$experimental' => t('[Experimental]'),
+ '$unsupported' => t('[Unsupported]'),
+ '$form_security_token' => get_form_security_token('admin_themes'),
+ ));
+ }
+
+
+
+ /**
+ * @param array $themes
+ * @param string $th
+ * @param int $result
+ */
+ function toggle_theme(&$themes, $th, &$result) {
+ for($x = 0; $x < count($themes); $x ++) {
+ if($themes[$x]['name'] === $th) {
+ if($themes[$x]['allowed']) {
+ $themes[$x]['allowed'] = 0;
+ $result = 0;
+ }
+ else {
+ $themes[$x]['allowed'] = 1;
+ $result = 1;
+ }
+ }
+ }
+ }
+
+ /**
+ * @param array $themes
+ * @param string $th
+ * @return int
+ */
+ function theme_status($themes, $th) {
+ for($x = 0; $x < count($themes); $x ++) {
+ if($themes[$x]['name'] === $th) {
+ if($themes[$x]['allowed']) {
+ return 1;
+ }
+ else {
+ return 0;
+ }
+ }
+ }
+ return 0;
+ }
+
+
+ /**
+ * @param array $themes
+ * @return string
+ */
+ function rebuild_theme_table($themes) {
+ $o = '';
+ if(count($themes)) {
+ foreach($themes as $th) {
+ if($th['allowed']) {
+ if(strlen($o))
+ $o .= ',';
+ $o .= $th['name'];
+ }
+ }
+ }
+ return $o;
+ }
+
+
+
+
+
+
+
+
+} \ No newline at end of file
diff --git a/Zotlabs/Module/Api.php b/Zotlabs/Module/Api.php
index e4744c29f..4fd59acc4 100644
--- a/Zotlabs/Module/Api.php
+++ b/Zotlabs/Module/Api.php
@@ -8,20 +8,15 @@ require_once('include/api.php');
class Api extends \Zotlabs\Web\Controller {
function post() {
-
if(! local_channel()) {
notice( t('Permission denied.') . EOL);
return;
}
- if(count(\App::$user) && x(\App::$user,'uid') && \App::$user['uid'] != local_channel()) {
- notice( t('Permission denied.') . EOL);
- return;
- }
-
}
- function get() {
+ function get() {
+
if(\App::$cmd=='api/oauth/authorize'){
/*
@@ -33,7 +28,8 @@ class Api extends \Zotlabs\Web\Controller {
// get consumer/client from request token
try {
$request = OAuth1Request::from_request();
- } catch(Exception $e) {
+ }
+ catch(\Exception $e) {
echo "<pre>"; var_dump($e); killme();
}
@@ -41,17 +37,20 @@ class Api extends \Zotlabs\Web\Controller {
if(x($_POST,'oauth_yes')){
$app = $this->oauth_get_client($request);
- if (is_null($app)) return "Invalid request. Unknown token.";
+ if (is_null($app))
+ return "Invalid request. Unknown token.";
+
$consumer = new OAuth1Consumer($app['client_id'], $app['pw'], $app['redirect_uri']);
$verifier = md5($app['secret'].local_channel());
set_config("oauth", $verifier, local_channel());
- if($consumer->callback_url!=null) {
+ if($consumer->callback_url != null) {
$params = $request->get_parameters();
- $glue="?";
- if (strstr($consumer->callback_url,$glue)) $glue="?";
+ $glue = '?';
+ if(strstr($consumer->callback_url,$glue))
+ $glue = '?';
goaway($consumer->callback_url . $glue . "oauth_token=" . OAuth1Util::urlencode_rfc3986($params['oauth_token']) . "&oauth_verifier=" . OAuth1Util::urlencode_rfc3986($verifier));
killme();
}
@@ -59,7 +58,7 @@ class Api extends \Zotlabs\Web\Controller {
$tpl = get_markup_template("oauth_authorize_done.tpl");
$o = replace_macros($tpl, array(
'$title' => t('Authorize application connection'),
- '$info' => t('Return to your app and insert this Securty Code:'),
+ '$info' => t('Return to your app and insert this Security Code:'),
'$code' => $verifier,
));
@@ -72,14 +71,11 @@ class Api extends \Zotlabs\Web\Controller {
notice( t('Please login to continue.') . EOL );
return login(false,'api-login',$request->get_parameters());
}
- //FKOAuth1::loginUser(4);
$app = $this->oauth_get_client($request);
- if (is_null($app)) return "Invalid request. Unknown token.";
-
-
-
-
+ if (is_null($app))
+ return "Invalid request. Unknown token.";
+
$tpl = get_markup_template('oauth_authorize.tpl');
$o = replace_macros($tpl, array(
'$title' => t('Authorize application connection'),
@@ -94,29 +90,24 @@ class Api extends \Zotlabs\Web\Controller {
return $o;
}
- echo api_call($a);
+ echo api_call();
killme();
}
function oauth_get_client($request){
-
$params = $request->get_parameters();
- $token = $params['oauth_token'];
+ $token = $params['oauth_token'];
- $r = q("SELECT `clients`.*
- FROM `clients`, `tokens`
- WHERE `clients`.`client_id`=`tokens`.`client_id`
- AND `tokens`.`id`='%s' AND `tokens`.`auth_scope`='request'",
- dbesc($token));
+ $r = q("SELECT clients.* FROM clients, tokens WHERE clients.client_id = tokens.client_id
+ AND tokens.id = '%s' AND tokens.auth_scope = 'request' ",
+ dbesc($token)
+ );
+ if($r)
+ return $r[0];
- if (!count($r))
- return null;
+ return null;
- return $r[0];
}
-
-
-
}
diff --git a/Zotlabs/Module/Apps.php b/Zotlabs/Module/Apps.php
index 4bdec4573..4dab621b2 100644
--- a/Zotlabs/Module/Apps.php
+++ b/Zotlabs/Module/Apps.php
@@ -1,7 +1,6 @@
<?php
namespace Zotlabs\Module;
-//require_once('include/apps.php');
use \Zotlabs\Lib as Zlib;
diff --git a/Zotlabs/Module/Attach.php b/Zotlabs/Module/Attach.php
index de941d52c..94f46978a 100644
--- a/Zotlabs/Module/Attach.php
+++ b/Zotlabs/Module/Attach.php
@@ -14,7 +14,7 @@ class Attach extends \Zotlabs\Web\Controller {
return;
}
- $r = attach_by_hash(argv(1),((argc() > 2) ? intval(argv(2)) : 0));
+ $r = attach_by_hash(argv(1),get_observer_hash(),((argc() > 2) ? intval(argv(2)) : 0));
if(! $r['success']) {
notice( $r['message'] . EOL);
diff --git a/Zotlabs/Module/Channel.php b/Zotlabs/Module/Channel.php
index 59cb9f06c..209d86236 100644
--- a/Zotlabs/Module/Channel.php
+++ b/Zotlabs/Module/Channel.php
@@ -120,8 +120,9 @@ class Channel extends \Zotlabs\Web\Controller {
'deny_gid' => $channel['channel_deny_gid']
);
}
- else
- $channel_acl = array();
+ else {
+ $channel_acl = [ 'allow_cid' => '', 'allow_gid' => '', 'deny_cid' => '', 'deny_gid' => '' ];
+ }
if($perms['post_wall']) {
@@ -133,14 +134,15 @@ class Channel extends \Zotlabs\Web\Controller {
'nickname' => \App::$profile['channel_address'],
'lockstate' => (((strlen(\App::$profile['channel_allow_cid'])) || (strlen(\App::$profile['channel_allow_gid'])) || (strlen(\App::$profile['channel_deny_cid'])) || (strlen(\App::$profile['channel_deny_gid']))) ? 'lock' : 'unlock'),
'acl' => (($is_owner) ? populate_acl($channel_acl,true, \Zotlabs\Lib\PermissionDescription::fromGlobalPermission('view_stream'), get_post_aclDialogDescription(), 'acl_dialog_post') : ''),
- 'permissions' => (($is_owner) ? $channel_acl : ''),
+ 'permissions' => $channel_acl,
'showacl' => (($is_owner) ? 'yes' : ''),
'bang' => '',
'visitor' => (($is_owner || $observer) ? true : false),
'profile_uid' => \App::$profile['profile_uid'],
'editor_autocomplete' => true,
'bbco_autocomplete' => 'bbcode',
- 'bbcode' => true
+ 'bbcode' => true,
+ 'jotnets' => true
);
$o .= status_editor($a,$x);
@@ -176,10 +178,11 @@ class Channel extends \Zotlabs\Web\Controller {
if($mid) {
$r = q("SELECT parent AS item_id from item where mid like '%s' and uid = %d $item_normal
- AND item_wall = 1 AND item_unseen = 1 $sql_extra limit 1",
+ AND item_wall = 1 $simple_update $sql_extra limit 1",
dbesc($mid . '%'),
intval(\App::$profile['profile_uid'])
);
+ $_SESSION['loadtime'] = datetime_convert();
}
else {
$r = q("SELECT distinct parent AS `item_id`, created from item
diff --git a/Zotlabs/Module/Connect.php b/Zotlabs/Module/Connect.php
index 962c05cce..dec375104 100644
--- a/Zotlabs/Module/Connect.php
+++ b/Zotlabs/Module/Connect.php
@@ -60,13 +60,13 @@ class Connect extends \Zotlabs\Web\Controller {
$observer = \App::get_observer();
if(($observer) && ($_POST['submit'] === t('Continue'))) {
if($observer['xchan_follow'])
- $url = sprintf($observer['xchan_follow'],urlencode(\App::$data['channel']['channel_address'] . '@' . \App::get_hostname()));
+ $url = sprintf($observer['xchan_follow'],urlencode(channel_reddress(\App::$data['channel'])));
if(! $url) {
$r = q("select * from hubloc where hubloc_hash = '%s' order by hubloc_id desc limit 1",
dbesc($observer['xchan_hash'])
);
if($r)
- $url = $r[0]['hubloc_url'] . '/follow?f=&url=' . urlencode(\App::$data['channel']['channel_address'] . '@' . \App::get_hostname());
+ $url = $r[0]['hubloc_url'] . '/follow?f=&url=' . urlencode(channel_reddress(\App::$data['channel']));
}
}
if($url)
diff --git a/Zotlabs/Module/Connedit.php b/Zotlabs/Module/Connedit.php
index 217249469..43feac189 100644
--- a/Zotlabs/Module/Connedit.php
+++ b/Zotlabs/Module/Connedit.php
@@ -663,13 +663,9 @@ class Connedit extends \Zotlabs\Web\Controller {
$rating_text = $xl[0]['xlink_rating_text'];
}
- $poco_rating = get_config('system','poco_rating_enable');
+ $rating_enabled = get_config('system','rating_enabled');
- // if unset default to enabled
- if($poco_rating === false)
- $poco_rating = true;
-
- if($poco_rating) {
+ if($rating_enabled) {
$rating = replace_macros(get_markup_template('rating_slider.tpl'),array(
'$min' => -10,
'$val' => $rating_val
diff --git a/Zotlabs/Module/Directory.php b/Zotlabs/Module/Directory.php
index 560038ffc..e1068223b 100644
--- a/Zotlabs/Module/Directory.php
+++ b/Zotlabs/Module/Directory.php
@@ -84,10 +84,9 @@ class Directory extends \Zotlabs\Web\Controller {
$search = ((x($_GET,'search')) ? notags(trim(rawurldecode($_GET['search']))) : '');
- if(strpos($search,'=') && local_channel() && get_pconfig(local_channel(),'feature','expert'))
+ if(strpos($search,'=') && local_channel() && feature_enabled(local_channel(), 'advanced_dirsearch'))
$advanced = $search;
-
$keywords = (($_GET['keywords']) ? $_GET['keywords'] : '');
// Suggest channels if no search terms or keywords are given
@@ -239,7 +238,9 @@ class Directory extends \Zotlabs\Web\Controller {
$page_type = '';
- if($rr['total_ratings'])
+ $rating_enabled = get_config('system','rating_enabled');
+
+ if($rr['total_ratings'] && $rating_enabled)
$total_ratings = sprintf( tt("%d rating", "%d ratings", $rr['total_ratings']), $rr['total_ratings']);
else
$total_ratings = '';
@@ -264,6 +265,7 @@ class Directory extends \Zotlabs\Web\Controller {
$keywords = ((x($profile,'keywords')) ? $profile['keywords'] : '');
+
$out = '';
if($keywords) {
@@ -312,7 +314,7 @@ class Directory extends \Zotlabs\Web\Controller {
'gender' => $gender,
'total_ratings' => $total_ratings,
'viewrate' => true,
- 'canrate' => ((local_channel()) ? true : false),
+ 'canrate' => (($rating_enabled && local_channel()) ? true : false),
'pdesc' => $pdesc,
'pdesc_label' => t('Description:'),
'marital' => $marital,
diff --git a/Zotlabs/Module/Dirsearch.php b/Zotlabs/Module/Dirsearch.php
index 8f60910f1..ebd6c3715 100644
--- a/Zotlabs/Module/Dirsearch.php
+++ b/Zotlabs/Module/Dirsearch.php
@@ -448,9 +448,9 @@ class Dirsearch extends \Zotlabs\Web\Controller {
$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']);
+ $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
- $insecure[] = array('url' => $rr['site_url'], 'access' => $access, 'register' => $register, 'sellpage' => $rr['site_sellpage'], 'location' => $rr['site_location'], 'project' => $rr['site_project']);
+ $insecure[] = 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']);
}
if($insecure) {
$ret['sites'] = array_merge($ret['sites'],$insecure);
diff --git a/Zotlabs/Module/Display.php b/Zotlabs/Module/Display.php
index 35ed0c894..e9441bbdf 100644
--- a/Zotlabs/Module/Display.php
+++ b/Zotlabs/Module/Display.php
@@ -73,7 +73,8 @@ class Display extends \Zotlabs\Web\Controller {
'expanded' => true,
'editor_autocomplete' => true,
'bbco_autocomplete' => 'bbcode',
- 'bbcode' => true
+ 'bbcode' => true,
+ 'jotnets' => true
);
$o = '<div id="jot-popup">';
diff --git a/Zotlabs/Module/Dreport.php b/Zotlabs/Module/Dreport.php
index d2933b464..3fdeff369 100644
--- a/Zotlabs/Module/Dreport.php
+++ b/Zotlabs/Module/Dreport.php
@@ -74,7 +74,7 @@ class Dreport extends \Zotlabs\Web\Controller {
if(! $r) {
notice( t('no results') . EOL);
- return;
+// return;
}
for($x = 0; $x < count($r); $x++ ) {
diff --git a/Zotlabs/Module/Events.php b/Zotlabs/Module/Events.php
index d27de9989..2bff4676e 100644
--- a/Zotlabs/Module/Events.php
+++ b/Zotlabs/Module/Events.php
@@ -118,7 +118,7 @@ class Events extends \Zotlabs\Web\Controller {
goaway($onerror_url);
}
- $share = ((intval($_POST['share'])) ? intval($_POST['share']) : 0);
+ $share = ((intval($_POST['distr'])) ? intval($_POST['distr']) : 0);
$channel = \App::get_channel();
@@ -469,7 +469,7 @@ class Events extends \Zotlabs\Web\Controller {
'$t_orig' => $t_orig,
'$sh_text' => t('Share this event'),
'$sh_checked' => $sh_checked,
- '$share' => array('share', t('Share this event'), $sh_checked, '', array(t('No'),t('Yes'))),
+ '$share' => array('distr', t('Share this event'), $sh_checked, '', array(t('No'),t('Yes'))),
'$preview' => t('Preview'),
'$perms_label' => t('Permission settings'),
// populating the acl dialog was a permission description from view_stream because Cal.php, which
diff --git a/Zotlabs/Module/Fhublocs.php b/Zotlabs/Module/Fhublocs.php
index f5b439421..cdf323a41 100644
--- a/Zotlabs/Module/Fhublocs.php
+++ b/Zotlabs/Module/Fhublocs.php
@@ -42,7 +42,7 @@ class Fhublocs extends \Zotlabs\Web\Controller {
if($y)
$primary_address = $y[0]['xchan_addr'];
- $hub_address = $rr['channel']['channel_address'] . '@' . \App::get_hostname();
+ $hub_address = channel_reddress($rr['channel']);
$primary = (($hub_address === $primary_address) ? 1 : 0);
@@ -61,7 +61,7 @@ class Fhublocs extends \Zotlabs\Web\Controller {
dbesc($rr['channel_guid']),
dbesc($rr['channel_guid_sig']),
dbesc($rr['channel_hash']),
- dbesc($rr['channel_address'] . '@' . \App::get_hostname()),
+ dbesc(channel_reddress($rr)),
intval($primary),
dbesc(z_root()),
dbesc(base64url_encode(rsa_sign(z_root(),$rr['channel_prvkey']))),
diff --git a/Zotlabs/Module/Filestorage.php b/Zotlabs/Module/Filestorage.php
index a401f4822..8b8620d6f 100644
--- a/Zotlabs/Module/Filestorage.php
+++ b/Zotlabs/Module/Filestorage.php
@@ -44,14 +44,14 @@ class Filestorage extends \Zotlabs\Web\Controller {
//get the object before permissions change so we can catch eventual former allowed members
$object = get_file_activity_object($channel_id, $resource, $cloudPath);
- attach_change_permissions($channel_id, $resource, $x['allow_cid'], $x['allow_gid'], $x['deny_cid'], $x['deny_gid'], $recurse);
+ attach_change_permissions($channel_id, $resource, $x['allow_cid'], $x['allow_gid'], $x['deny_cid'], $x['deny_gid'], $recurse, true);
file_activity($channel_id, $object, $x['allow_cid'], $x['allow_gid'], $x['deny_cid'], $x['deny_gid'], 'post', $notify);
goaway($cloudPath);
}
- function get() {
+ function get() {
if(argc() > 1)
$which = argv(1);
diff --git a/Zotlabs/Module/Getfile.php b/Zotlabs/Module/Getfile.php
index 09d761887..3d859d94b 100644
--- a/Zotlabs/Module/Getfile.php
+++ b/Zotlabs/Module/Getfile.php
@@ -27,10 +27,12 @@ require_once('include/attach.php');
class Getfile extends \Zotlabs\Web\Controller {
function post() {
+
+ logger('post: ' . print_r($_POST,true),LOGGER_DEBUG,LOG_INFO);
- $hash = $_POST['hash'];
- $time = $_POST['time'];
- $sig = $_POST['signature'];
+ $hash = $_POST['hash'];
+ $time = $_POST['time'];
+ $sig = $_POST['signature'];
$resource = $_POST['resource'];
$revision = intval($_POST['revision']);
@@ -38,9 +40,11 @@ class Getfile extends \Zotlabs\Web\Controller {
killme();
$channel = channelx_by_hash($hash);
-
- if((! $channel) || (! $time) || (! $sig))
+
+ if((! $channel) || (! $time) || (! $sig)) {
+ logger('error: missing info');
killme();
+ }
$slop = intval(get_pconfig($channel['channel_id'],'system','getfile_time_slop'));
if($slop < 1)
@@ -58,16 +62,15 @@ class Getfile extends \Zotlabs\Web\Controller {
logger('verify failed.');
killme();
}
-
-
- $r = attach_by_hash($resource,$revision);
+
+ $r = attach_by_hash($resource,$channel['channel_hash'],$revision);
if(! $r['success']) {
+ logger('attach_by_hash failed: ' . $r['message']);
notice( $r['message'] . EOL);
return;
}
-
-
+
$unsafe_types = array('text/html','text/css','application/javascript');
if(in_array($r['data']['filetype'],$unsafe_types)) {
@@ -76,10 +79,10 @@ class Getfile extends \Zotlabs\Web\Controller {
else {
header('Content-type: ' . $r['data']['filetype']);
}
-
+
header('Content-disposition: attachment; filename="' . $r['data']['filename'] . '"');
if(intval($r['data']['os_storage'])) {
- $fname = dbunescbin($r['data']['data']);
+ $fname = dbunescbin($r['data']['content']);
if(strpos($fname,'store') !== false)
$istream = fopen($fname,'rb');
else
@@ -91,11 +94,9 @@ class Getfile extends \Zotlabs\Web\Controller {
fclose($ostream);
}
}
- else
- echo dbunescbin($r['data']['data']);
+ else {
+ echo dbunescbin($r['data']['content']);
+ }
killme();
-
-
-
}
}
diff --git a/Zotlabs/Module/Help.php b/Zotlabs/Module/Help.php
index 479925b66..54d4aecfb 100644
--- a/Zotlabs/Module/Help.php
+++ b/Zotlabs/Module/Help.php
@@ -17,6 +17,7 @@ require_once('include/help.php');
class Help extends \Zotlabs\Web\Controller {
function get() {
+
nav_set_selected('help');
if($_REQUEST['search']) {
@@ -36,8 +37,9 @@ class Help extends \Zotlabs\Web\Controller {
$fname = substr($fname,0,strrpos($fname,'.'));
$path = trim(substr($dirname,4),'/');
- $o .= '<li><a href="help/' . (($path) ? $path . '/' : '') . $fname . '" >' . ucwords(str_replace('_',' ',notags($fname))) . '</a><br />' .
- str_replace('$Projectname',\Zotlabs\Lib\System::get_platform_name(),substr($rr['text'],0,200)) . '...<br /><br /></li>';
+ $o .= '<li><a href="help/' . (($path) ? $path . '/' : '') . $fname . '" >' . ucwords(str_replace('_',' ',notags($fname))) . '</a><br />'
+ . '<b><i>' . 'help/' . (($path) ? $path . '/' : '') . $fname . '</i></b><br />' .
+ '...' . str_replace('$Projectname',\Zotlabs\Lib\System::get_platform_name(),$rr['text']) . '...<br /><br /></li>';
}
$o .= '</ul>';
@@ -47,100 +49,18 @@ class Help extends \Zotlabs\Web\Controller {
return $o;
}
-
- global $lang;
-
- $doctype = 'markdown';
-
- $text = '';
-
- if(argc() > 1) {
- $path = '';
- for($x = 1; $x < argc(); $x ++) {
- if(strlen($path))
- $path .= '/';
- $path .= argv($x);
- }
- $title = basename($path);
-
- $text = load_doc_file('doc/' . $path . '.md');
- \App::$page['title'] = t('Help:') . ' ' . ucwords(str_replace('-',' ',notags($title)));
-
- if(! $text) {
- $text = load_doc_file('doc/' . $path . '.bb');
- if($text)
- $doctype = 'bbcode';
- \App::$page['title'] = t('Help:') . ' ' . ucwords(str_replace('_',' ',notags($title)));
- }
- if(! $text) {
- $text = load_doc_file('doc/' . $path . '.html');
- if($text)
- $doctype = 'html';
- \App::$page['title'] = t('Help:') . ' ' . ucwords(str_replace('-',' ',notags($title)));
- }
- }
-
- if(! $text) {
- $text = load_doc_file('doc/Site.md');
- \App::$page['title'] = t('Help');
- }
- if(! $text) {
- $doctype = 'bbcode';
- $text = load_doc_file('doc/main.bb');
- \App::$page['title'] = t('Help');
- }
-
- if(! strlen($text)) {
- header($_SERVER["SERVER_PROTOCOL"] . ' 404 ' . t('Not Found'));
- $tpl = get_markup_template("404.tpl");
- return replace_macros($tpl, array(
- '$message' => t('Page not found.' )
- ));
- }
-
- if($doctype === 'html')
- $content = $text;
- if($doctype === 'markdown') {
- require_once('library/markdown.php');
- # escape #include tags
- $text = preg_replace('/#include/ism', '%%include', $text);
- $content = Markdown($text);
- $content = preg_replace('/%%include/ism', '#include', $content);
- }
- if($doctype === 'bbcode') {
- require_once('include/bbcode.php');
- $content = bbcode($text);
- // bbcode retargets external content to new windows. This content is internal.
- $content = str_replace(' target="_blank"','',$content);
- }
-
- $content = preg_replace_callback("/#include (.*?)\;/ism", 'self::preg_callback_help_include', $content);
-
+
+ $content = get_help_content();
+
+
return replace_macros(get_markup_template("help.tpl"), array(
'$title' => t('$Projectname Documentation'),
- '$content' => translate_projectname($content)
+ '$content' => $content
));
}
- private static function preg_callback_help_include($matches) {
-
- if($matches[1]) {
- $include = str_replace($matches[0],load_doc_file($matches[1]),$matches[0]);
- if(preg_match('/\.bb$/', $matches[1]) || preg_match('/\.txt$/', $matches[1])) {
- require_once('include/bbcode.php');
- $include = bbcode($include);
- $include = str_replace(' target="_blank"','',$include);
- }
- elseif(preg_match('/\.md$/', $matches[1])) {
- require_once('library/markdown.php');
- $include = Markdown($include);
- }
- return $include;
- }
-
- }
}
diff --git a/Zotlabs/Module/Import.php b/Zotlabs/Module/Import.php
index d27f013b9..9574de07c 100644
--- a/Zotlabs/Module/Import.php
+++ b/Zotlabs/Module/Import.php
@@ -209,7 +209,7 @@ class Import extends \Zotlabs\Web\Controller {
dbesc($channel['channel_guid']),
dbesc($channel['channel_guid_sig']),
dbesc($channel['channel_hash']),
- dbesc($channel['channel_address'] . '@' . \App::get_hostname()),
+ dbesc(channel_reddress($channel)),
dbesc('zot'),
intval(($seize) ? 1 : 0),
dbesc(z_root()),
@@ -252,7 +252,7 @@ class Import extends \Zotlabs\Web\Controller {
dbesc(z_root() . "/photo/profile/l/" . $channel['channel_id']),
dbesc(z_root() . "/photo/profile/m/" . $channel['channel_id']),
dbesc(z_root() . "/photo/profile/s/" . $channel['channel_id']),
- dbesc($channel['channel_address'] . '@' . \App::get_hostname()),
+ dbesc(channel_reddress($channel)),
dbesc(z_root() . '/channel/' . $channel['channel_address']),
dbesc(z_root() . '/follow?f=&url=%s'),
dbesc(z_root() . '/poco/' . $channel['channel_address']),
diff --git a/Zotlabs/Module/Invite.php b/Zotlabs/Module/Invite.php
index 3d7438484..5198b1231 100644
--- a/Zotlabs/Module/Invite.php
+++ b/Zotlabs/Module/Invite.php
@@ -59,12 +59,15 @@ class Invite extends \Zotlabs\Web\Controller {
$account = \App::get_account();
-
- $res = mail($recip, sprintf( t('Please join us on $Projectname'), \App::$config['sitename']),
- $nmessage,
- "From: " . $account['account_email'] . "\n"
- . 'Content-type: text/plain; charset=UTF-8' . "\n"
- . 'Content-transfer-encoding: 8bit' );
+ $res = z_mail(
+ [
+ 'toEmail' => $recip,
+ 'fromName' => ' ',
+ 'fromEmail' => $account['account_email'],
+ 'messageSubject' => t('Please join us on $Projectname'),
+ 'textVersion' => $nmessage,
+ ]
+ );
if($res) {
$total ++;
diff --git a/Zotlabs/Module/Item.php b/Zotlabs/Module/Item.php
index 2d0c1ba02..a2128e47a 100644
--- a/Zotlabs/Module/Item.php
+++ b/Zotlabs/Module/Item.php
@@ -20,6 +20,8 @@ namespace Zotlabs\Module;
require_once('include/crypto.php');
require_once('include/items.php');
require_once('include/attach.php');
+require_once('include/bbcode.php');
+
use \Zotlabs\Lib as Zlib;
@@ -81,6 +83,7 @@ class Item extends \Zotlabs\Web\Controller {
$api_source = ((x($_REQUEST,'api_source') && $_REQUEST['api_source']) ? true : false);
$consensus = intval($_REQUEST['consensus']);
+ $nocomment = intval($_REQUEST['nocomment']);
// 'origin' (if non-zero) indicates that this network is where the message originated,
// for the purpose of relaying comments to other conversation members.
@@ -549,6 +552,8 @@ class Item extends \Zotlabs\Web\Controller {
$body = preg_replace_callback('/\[url(.*?)\[\/(url)\]/ism','\red_escape_codeblock',$body);
$body = preg_replace_callback('/\[zrl(.*?)\[\/(zrl)\]/ism','\red_escape_codeblock',$body);
+
+ $body = preg_replace_callback("/([^\]\='".'"'."\/]|^|\#\^)(https?\:\/\/[a-zA-Z0-9\:\/\-\?\&\;\.\=\@\_\~\#\%\$\!\+\,]+)/ism", 'nakedoembed', $body);
$body = preg_replace_callback("/([^\]\='".'"'."\/]|^|\#\^)(https?\:\/\/[a-zA-Z0-9\:\/\-\?\&\;\.\=\@\_\~\#\%\$\!\+\,]+)/ism", '\red_zrl_callback', $body);
$body = preg_replace_callback('/\[\$b64zrl(.*?)\[\/(zrl)\]/ism','\red_unescape_codeblock',$body);
@@ -625,9 +630,9 @@ class Item extends \Zotlabs\Web\Controller {
*/
if(! $preview) {
- $this->fix_attached_photo_permissions($profile_uid,$owner_xchan['xchan_hash'],((strpos($body,'[/crypt]')) ? $_POST['media_str'] : $body),$str_contact_allow,$str_group_allow,$str_contact_deny,$str_group_deny);
+ fix_attached_photo_permissions($profile_uid,$owner_xchan['xchan_hash'],((strpos($body,'[/crypt]')) ? $_POST['media_str'] : $body),$str_contact_allow,$str_group_allow,$str_contact_deny,$str_group_deny);
- $this->fix_attached_file_permissions($channel,$observer['xchan_hash'],((strpos($body,'[/crypt]')) ? $_POST['media_str'] : $body),$str_contact_allow,$str_group_allow,$str_contact_deny,$str_group_deny);
+ fix_attached_file_permissions($channel,$observer['xchan_hash'],((strpos($body,'[/crypt]')) ? $_POST['media_str'] : $body),$str_contact_allow,$str_group_allow,$str_contact_deny,$str_group_deny);
}
@@ -707,6 +712,7 @@ class Item extends \Zotlabs\Web\Controller {
$item_wall = (($post_type === 'wall' || $post_type === 'wall-comment') ? 1 : 0);
$item_origin = (($origin) ? 1 : 0);
$item_consensus = (($consensus) ? 1 : 0);
+ $item_nocomment = (($nocomment) ? 1 : 0);
// determine if this is a wall post
@@ -753,71 +759,64 @@ class Item extends \Zotlabs\Web\Controller {
$plink = z_root() . '/channel/' . $channel['channel_address'] . '/?f=&mid=' . $mid;
}
-
-
-
-
- $datarray['aid'] = $channel['channel_account_id'];
- $datarray['uid'] = $profile_uid;
-
- $datarray['owner_xchan'] = (($owner_hash) ? $owner_hash : $owner_xchan['xchan_hash']);
- $datarray['author_xchan'] = $observer['xchan_hash'];
- $datarray['created'] = $created;
- $datarray['edited'] = (($orig_post) ? datetime_convert() : $created);
- $datarray['expires'] = $expires;
- $datarray['commented'] = (($orig_post) ? datetime_convert() : $created);
- $datarray['received'] = (($orig_post) ? datetime_convert() : $created);
- $datarray['changed'] = (($orig_post) ? datetime_convert() : $created);
- $datarray['mid'] = $mid;
- $datarray['parent_mid'] = $parent_mid;
- $datarray['mimetype'] = $mimetype;
- $datarray['title'] = $title;
- $datarray['body'] = $body;
- $datarray['app'] = $app;
- $datarray['location'] = $location;
- $datarray['coord'] = $coord;
- $datarray['verb'] = $verb;
- $datarray['obj_type'] = $obj_type;
- $datarray['allow_cid'] = $str_contact_allow;
- $datarray['allow_gid'] = $str_group_allow;
- $datarray['deny_cid'] = $str_contact_deny;
- $datarray['deny_gid'] = $str_group_deny;
- $datarray['item_private'] = $private;
- $datarray['item_wall'] = $item_wall;
- $datarray['attach'] = $attachments;
- $datarray['thr_parent'] = $thr_parent;
- $datarray['postopts'] = $postopts;
- $datarray['item_unseen'] = $item_unseen;
- $datarray['item_wall'] = $item_wall;
- $datarray['item_origin'] = $item_origin;
- $datarray['item_type'] = $webpage;
- $datarray['item_thread_top'] = $item_thread_top;
- $datarray['item_unseen'] = $item_unseen;
- $datarray['item_starred'] = $item_starred;
- $datarray['item_uplink'] = $item_uplink;
- $datarray['item_consensus'] = $item_consensus;
- $datarray['item_notshown'] = $item_notshown;
- $datarray['item_nsfw'] = $item_nsfw;
- $datarray['item_relay'] = $item_relay;
- $datarray['item_mentionsme'] = $item_mentionsme;
- $datarray['item_nocomment'] = $item_nocomment;
- $datarray['item_obscured'] = $item_obscured;
- $datarray['item_verified'] = $item_verified;
- $datarray['item_retained'] = $item_retained;
- $datarray['item_rss'] = $item_rss;
- $datarray['item_deleted'] = $item_deleted;
- $datarray['item_hidden'] = $item_hidden;
- $datarray['item_unpublished'] = $item_unpublished;
- $datarray['item_delayed'] = $item_delayed;
- $datarray['item_pending_remove'] = $item_pending_remove;
- $datarray['item_blocked'] = $item_blocked;
-
- $datarray['layout_mid'] = $layout_mid;
- $datarray['public_policy'] = $public_policy;
- $datarray['comment_policy'] = map_scope($comment_policy);
- $datarray['term'] = $post_tags;
- $datarray['plink'] = $plink;
- $datarray['route'] = $route;
+ $datarray['aid'] = $channel['channel_account_id'];
+ $datarray['uid'] = $profile_uid;
+ $datarray['owner_xchan'] = (($owner_hash) ? $owner_hash : $owner_xchan['xchan_hash']);
+ $datarray['author_xchan'] = $observer['xchan_hash'];
+ $datarray['created'] = $created;
+ $datarray['edited'] = (($orig_post) ? datetime_convert() : $created);
+ $datarray['expires'] = $expires;
+ $datarray['commented'] = (($orig_post) ? datetime_convert() : $created);
+ $datarray['received'] = (($orig_post) ? datetime_convert() : $created);
+ $datarray['changed'] = (($orig_post) ? datetime_convert() : $created);
+ $datarray['mid'] = $mid;
+ $datarray['parent_mid'] = $parent_mid;
+ $datarray['mimetype'] = $mimetype;
+ $datarray['title'] = $title;
+ $datarray['body'] = $body;
+ $datarray['app'] = $app;
+ $datarray['location'] = $location;
+ $datarray['coord'] = $coord;
+ $datarray['verb'] = $verb;
+ $datarray['obj_type'] = $obj_type;
+ $datarray['allow_cid'] = $str_contact_allow;
+ $datarray['allow_gid'] = $str_group_allow;
+ $datarray['deny_cid'] = $str_contact_deny;
+ $datarray['deny_gid'] = $str_group_deny;
+ $datarray['attach'] = $attachments;
+ $datarray['thr_parent'] = $thr_parent;
+ $datarray['postopts'] = $postopts;
+ $datarray['item_unseen'] = intval($item_unseen);
+ $datarray['item_wall'] = intval($item_wall);
+ $datarray['item_origin'] = intval($item_origin);
+ $datarray['item_type'] = $webpage;
+ $datarray['item_private'] = intval($private);
+ $datarray['item_thread_top'] = intval($item_thread_top);
+ $datarray['item_unseen'] = intval($item_unseen);
+ $datarray['item_starred'] = intval($item_starred);
+ $datarray['item_uplink'] = intval($item_uplink);
+ $datarray['item_consensus'] = intval($item_consensus);
+ $datarray['item_notshown'] = intval($item_notshown);
+ $datarray['item_nsfw'] = intval($item_nsfw);
+ $datarray['item_relay'] = intval($item_relay);
+ $datarray['item_mentionsme'] = intval($item_mentionsme);
+ $datarray['item_nocomment'] = intval($item_nocomment);
+ $datarray['item_obscured'] = intval($item_obscured);
+ $datarray['item_verified'] = intval($item_verified);
+ $datarray['item_retained'] = intval($item_retained);
+ $datarray['item_rss'] = intval($item_rss);
+ $datarray['item_deleted'] = intval($item_deleted);
+ $datarray['item_hidden'] = intval($item_hidden);
+ $datarray['item_unpublished'] = intval($item_unpublished);
+ $datarray['item_delayed'] = intval($item_delayed);
+ $datarray['item_pending_remove'] = intval($item_pending_remove);
+ $datarray['item_blocked'] = intval($item_blocked);
+ $datarray['layout_mid'] = $layout_mid;
+ $datarray['public_policy'] = $public_policy;
+ $datarray['comment_policy'] = map_scope($comment_policy);
+ $datarray['term'] = $post_tags;
+ $datarray['plink'] = $plink;
+ $datarray['route'] = $route;
if($iconfig)
$datarray['iconfig'] = $iconfig;
@@ -927,7 +926,9 @@ class Item extends \Zotlabs\Web\Controller {
$post = item_store($datarray,$execflag);
$post_id = $post['item_id'];
-
+
+ $datarray = $post['item'];
+
if($post_id) {
logger('mod_item: saved item ' . $post_id);
@@ -1088,138 +1089,6 @@ class Item extends \Zotlabs\Web\Controller {
}
- function fix_attached_photo_permissions($uid,$xchan_hash,$body,
- $str_contact_allow,$str_group_allow,$str_contact_deny,$str_group_deny) {
-
- if(get_pconfig($uid,'system','force_public_uploads')) {
- $str_contact_allow = $str_group_allow = $str_contact_deny = $str_group_deny = '';
- }
-
- $match = null;
- // match img and zmg image links
- if(preg_match_all("/\[[zi]mg(.*?)\](.*?)\[\/[zi]mg\]/",$body,$match)) {
- $images = $match[2];
- if($images) {
- foreach($images as $image) {
- if(! stristr($image,z_root() . '/photo/'))
- continue;
- $image_uri = substr($image,strrpos($image,'/') + 1);
- if(strpos($image_uri,'-') !== false)
- $image_uri = substr($image_uri,0, strpos($image_uri,'-'));
- if(strpos($image_uri,'.') !== false)
- $image_uri = substr($image_uri,0, strpos($image_uri,'.'));
- if(! strlen($image_uri))
- continue;
- $srch = '<' . $xchan_hash . '>';
-
- $r = q("select folder from attach where hash = '%s' and uid = %d limit 1",
- dbesc($image_uri),
- intval($uid)
- );
- if($r && $r[0]['folder']) {
- $f = q("select * from attach where hash = '%s' and is_dir = 1 and uid = %d limit 1",
- dbesc($r[0]['folder']),
- intval($uid)
- );
- if(($f) && (($f[0]['allow_cid']) || ($f[0]['allow_gid']) || ($f[0]['deny_cid']) || ($f[0]['deny_gid']))) {
- $str_contact_allow = $f[0]['allow_cid'];
- $str_group_allow = $f[0]['allow_gid'];
- $str_contact_deny = $f[0]['deny_cid'];
- $str_group_deny = $f[0]['deny_gid'];
- }
- }
-
- $r = q("SELECT id FROM photo
- WHERE allow_cid = '%s' AND allow_gid = '' AND deny_cid = '' AND deny_gid = ''
- AND resource_id = '%s' AND uid = %d LIMIT 1",
- dbesc($srch),
- dbesc($image_uri),
- intval($uid)
- );
-
- if($r) {
- $r = q("UPDATE photo SET allow_cid = '%s', allow_gid = '%s', deny_cid = '%s', deny_gid = '%s'
- WHERE resource_id = '%s' AND uid = %d ",
- dbesc($str_contact_allow),
- dbesc($str_group_allow),
- dbesc($str_contact_deny),
- dbesc($str_group_deny),
- dbesc($image_uri),
- intval($uid)
- );
-
- // also update the linked item (which is probably invisible)
-
- $r = q("select id from item
- WHERE allow_cid = '%s' AND allow_gid = '' AND deny_cid = '' AND deny_gid = ''
- AND resource_id = '%s' and resource_type = 'photo' AND uid = %d LIMIT 1",
- dbesc($srch),
- dbesc($image_uri),
- intval($uid)
- );
- if($r) {
- $private = (($str_contact_allow || $str_group_allow || $str_contact_deny || $str_group_deny) ? true : false);
-
- $r = q("UPDATE item SET allow_cid = '%s', allow_gid = '%s', deny_cid = '%s', deny_gid = '%s', item_private = %d
- WHERE id = %d AND uid = %d",
- dbesc($str_contact_allow),
- dbesc($str_group_allow),
- dbesc($str_contact_deny),
- dbesc($str_group_deny),
- intval($private),
- intval($r[0]['id']),
- intval($uid)
- );
- }
- $r = q("select id from attach where hash = '%s' and uid = %d limit 1",
- dbesc($image_uri),
- intval($uid)
- );
- if($r) {
- q("update attach SET allow_cid = '%s', allow_gid = '%s', deny_cid = '%s', deny_gid = '%s'
- WHERE id = %d AND uid = %d",
- dbesc($str_contact_allow),
- dbesc($str_group_allow),
- dbesc($str_contact_deny),
- dbesc($str_group_deny),
- intval($r[0]['id']),
- intval($uid)
- );
- }
- }
- }
- }
- }
- }
-
-
- function fix_attached_file_permissions($channel,$observer_hash,$body,
- $str_contact_allow,$str_group_allow,$str_contact_deny,$str_group_deny) {
-
- if(get_pconfig($channel['channel_id'],'system','force_public_uploads')) {
- $str_contact_allow = $str_group_allow = $str_contact_deny = $str_group_deny = '';
- }
-
- $match = false;
-
- if(preg_match_all("/\[attachment\](.*?)\[\/attachment\]/",$body,$match)) {
- $attaches = $match[1];
- 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' => $str_contact_allow,
- 'allow_gid' => $str_group_allow,
- 'deny_cid' => $str_contact_deny,
- 'deny_gid' => $str_group_deny
- ));
- }
- }
- }
- }
function item_check_service_class($channel_id,$iswebpage) {
$ret = array('success' => false, 'message' => '');
diff --git a/Zotlabs/Module/Lostpass.php b/Zotlabs/Module/Lostpass.php
index eeddd0a13..072657d7b 100644
--- a/Zotlabs/Module/Lostpass.php
+++ b/Zotlabs/Module/Lostpass.php
@@ -43,18 +43,19 @@ class Lostpass extends \Zotlabs\Web\Controller {
$subject = email_header_encode(sprintf( t('Password reset requested at %s'),get_config('system','sitename')), 'UTF-8');
- $res = mail($email, $subject ,
- $message,
- 'From: Administrator@' . $_SERVER['SERVER_NAME'] . "\n"
- . 'Content-type: text/plain; charset=UTF-8' . "\n"
- . 'Content-transfer-encoding: 8bit' );
-
-
+ $res = z_mail(
+ [
+ 'toEmail' => $email,
+ 'messageSubject' => sprintf( t('Password reset requested at %s'), get_config('system','sitename')),
+ 'textVersion' => $message,
+ ]
+ );
+
goaway(z_root());
}
- function get() {
+ function get() {
if(x($_GET,'verify')) {
@@ -102,20 +103,22 @@ class Lostpass extends \Zotlabs\Web\Controller {
$email_tpl = get_intltext_template("passchanged_eml.tpl");
$message = replace_macros($email_tpl, array(
- '$sitename' => \App::$config['sitename'],
- '$siteurl' => z_root(),
- '$username' => sprintf( t('Site Member (%s)'), $email),
- '$email' => $email,
- '$new_password' => $new_password,
- '$uid' => $newuid ));
-
- $subject = email_header_encode( sprintf( t('Your password has changed at %s'), get_config('system','sitename')), 'UTF-8');
-
- $res = mail($email,$subject,$message,
- 'From: ' . 'Administrator@' . $_SERVER['SERVER_NAME'] . "\n"
- . 'Content-type: text/plain; charset=UTF-8' . "\n"
- . 'Content-transfer-encoding: 8bit' );
-
+ '$sitename' => \App::$config['sitename'],
+ '$siteurl' => z_root(),
+ '$username' => sprintf( t('Site Member (%s)'), $email),
+ '$email' => $email,
+ '$new_password' => $new_password,
+ '$uid' => $newuid )
+ );
+
+ $res = z_mail(
+ [
+ 'toEmail' => $email,
+ 'messageSubject' => sprintf( t('Your password has changed at %s'), get_config('system','sitename')),
+ 'textVersion' => $message,
+ ]
+ );
+
return $o;
}
diff --git a/Zotlabs/Module/Magic.php b/Zotlabs/Module/Magic.php
index 6798f72a9..9ee5f9324 100644
--- a/Zotlabs/Module/Magic.php
+++ b/Zotlabs/Module/Magic.php
@@ -140,7 +140,7 @@ class Magic extends \Zotlabs\Web\Controller {
\Zotlabs\Zot\Verify::create('auth',$channel['channel_id'],$token,$x[0]['hubloc_url']);
- $target_url = $x[0]['hubloc_callback'] . '/?f=&auth=' . urlencode($channel['channel_address'] . '@' . \App::get_hostname())
+ $target_url = $x[0]['hubloc_callback'] . '/?f=&auth=' . urlencode(channel_reddress($channel))
. '&sec=' . $token . '&dest=' . urlencode($dest) . '&version=' . ZOT_REVISION;
if($delegate)
diff --git a/Zotlabs/Module/Mail.php b/Zotlabs/Module/Mail.php
index 043c28078..a61b02cdf 100644
--- a/Zotlabs/Module/Mail.php
+++ b/Zotlabs/Module/Mail.php
@@ -60,7 +60,7 @@ class Mail extends \Zotlabs\Web\Controller {
if($j['permissions']['data']) {
$permissions = crypto_unencapsulate($j['permissions'],$channel['channel_prvkey']);
if($permissions)
- $permissions = json_decode($permissions);
+ $permissions = json_decode($permissions, true);
logger('decrypted permissions: ' . print_r($permissions,true), LOGGER_DATA);
}
else
@@ -332,7 +332,7 @@ class Mail extends \Zotlabs\Web\Controller {
'delete' => t('Delete message'),
'dreport' => t('Delivery report'),
'recall' => t('Recall message'),
- 'can_recall' => (($channel['channel_hash'] == $message['from_xchan']) ? true : false),
+ 'can_recall' => (($channel['channel_hash'] == $message['from_xchan'] && get_account_techlevel() > 0) ? true : false),
'is_recalled' => (intval($message['mail_recalled']) ? t('Message has been recalled.') : ''),
'date' => datetime_convert('UTC',date_default_timezone_get(),$message['created'], 'c'),
);
diff --git a/Zotlabs/Module/Manage.php b/Zotlabs/Module/Manage.php
index 8f815d6d4..ec9ef4c06 100644
--- a/Zotlabs/Module/Manage.php
+++ b/Zotlabs/Module/Manage.php
@@ -143,7 +143,7 @@ class Manage extends \Zotlabs\Web\Controller {
$create = array( 'new_channel', t('Create a new channel'), t('Create New'));
$delegates = q("select * from abook left join xchan on abook_xchan = xchan_hash where
- abook_channel = %d and abook_xchan in ( select xchan from abconfig where chan = %d and cat = 'their_perms' and k = 'delegate' and v = 1 )",
+ abook_channel = %d and abook_xchan in ( select xchan from abconfig where chan = %d and cat = 'their_perms' and k = 'delegate' and v = '1' )",
intval(local_channel()),
intval(local_channel())
);
diff --git a/Zotlabs/Module/Network.php b/Zotlabs/Module/Network.php
index 0128adc2c..4f831c050 100644
--- a/Zotlabs/Module/Network.php
+++ b/Zotlabs/Module/Network.php
@@ -61,6 +61,7 @@ class Network extends \Zotlabs\Web\Controller {
$search = (($_GET['search']) ? $_GET['search'] : '');
if($search) {
+ $_GET['netsearch'] = escape_tags($search);
if(strpos($search,'@') === 0) {
$r = q("select abook_id from abook left join xchan on abook_xchan = xchan_hash where xchan_name = '%s' and abook_channel = %d limit 1",
dbesc(substr($search,1)),
@@ -138,7 +139,7 @@ class Network extends \Zotlabs\Web\Controller {
if($_GET['pf'] === '1')
$deftag = '@' . t('forum') . '+' . intval($cid) . '+';
else
- $def_acl = array('allow_cid' => '<' . $r[0]['abook_xchan'] . '>');
+ $def_acl = [ 'allow_cid' => '<' . $r[0]['abook_xchan'] . '>', 'allow_gid' => '', 'deny_cid' => '', 'deny_gid' => '' ];
}
if(! $update) {
@@ -159,7 +160,7 @@ class Network extends \Zotlabs\Web\Controller {
'allow_gid' => $channel['channel_allow_gid'],
'deny_cid' => $channel['channel_deny_cid'],
'deny_gid' => $channel['channel_deny_gid']
- );
+ );
$private_editing = ((($group || $cid) && (! intval($_GET['pf']))) ? true : false);
@@ -176,7 +177,8 @@ class Network extends \Zotlabs\Web\Controller {
'profile_uid' => local_channel(),
'editor_autocomplete' => true,
'bbco_autocomplete' => 'bbcode',
- 'bbcode' => true
+ 'bbcode' => true,
+ 'jotnets' => true
);
if($deftag)
$x['pretext'] = $deftag;
diff --git a/Zotlabs/Module/New_channel.php b/Zotlabs/Module/New_channel.php
index 26883b6e2..8e6fd1d37 100644
--- a/Zotlabs/Module/New_channel.php
+++ b/Zotlabs/Module/New_channel.php
@@ -125,11 +125,16 @@ class New_channel extends \Zotlabs\Web\Controller {
}
}
+ $privacy_role = ((x($_REQUEST,'permissions_role')) ? $_REQUEST['permissions_role'] : "" );
+
+ $perm_roles = \Zotlabs\Access\PermissionRoles::roles();
+ if((get_account_techlevel() < 4) && $privacy_role !== 'custom')
+ unset($perm_roles[t('Other')]);
+
$name = array('name', t('Name or caption'), ((x($_REQUEST,'name')) ? $_REQUEST['name'] : ''), t('Examples: "Bob Jameson", "Lisa and her Horses", "Soccer", "Aviation Group"'), "*");
$nickhub = '@' . \App::get_hostname();
$nickname = array('nickname', t('Choose a short nickname'), ((x($_REQUEST,'nickname')) ? $_REQUEST['nickname'] : ''), sprintf( t('Your nickname will be used to create an easy to remember channel address e.g. nickname%s'), $nickhub), "*");
- $privacy_role = ((x($_REQUEST,'permissions_role')) ? $_REQUEST['permissions_role'] : "" );
- $role = array('permissions_role' , t('Channel role and privacy'), ($privacy_role) ? $privacy_role : 'social', t('Select a channel role with your privacy requirements.') . ' <a href="help/roles" target="_blank">' . t('Read more about roles') . '</a>',get_roles());
+ $role = array('permissions_role' , t('Channel role and privacy'), ($privacy_role) ? $privacy_role : 'social', t('Select a channel role with your privacy requirements.') . ' <a href="help/roles" target="_blank">' . t('Read more about roles') . '</a>',$perm_roles);
$o = replace_macros(get_markup_template('new_channel.tpl'), array(
'$title' => t('Create Channel'),
diff --git a/Zotlabs/Module/Oembed.php b/Zotlabs/Module/Oembed.php
index b02182053..9394e5942 100644
--- a/Zotlabs/Module/Oembed.php
+++ b/Zotlabs/Module/Oembed.php
@@ -22,10 +22,10 @@ class Oembed extends \Zotlabs\Web\Controller {
}
else {
- echo "<html><body>";
+ echo "<html><head><base target=\"_blank\" /></head><body>";
$src = base64url_decode(argv(1));
$j = oembed_fetch_url($src);
- echo $j->html;
+ echo $j['html'];
// logger('mod-oembed ' . $h, LOGGER_ALL);
echo "</body></html>";
}
diff --git a/Zotlabs/Module/Pdledit.php b/Zotlabs/Module/Pdledit.php
index 5cb00f165..618444480 100644
--- a/Zotlabs/Module/Pdledit.php
+++ b/Zotlabs/Module/Pdledit.php
@@ -9,6 +9,9 @@ class Pdledit extends \Zotlabs\Web\Controller {
return;
if(! $_REQUEST['module'])
return;
+ if(! feature_enabled(local_channel(),'advanced_theming'))
+ return;
+
if(! trim($_REQUEST['content'])) {
del_pconfig(local_channel(),'system','mod_' . $_REQUEST['module'] . '.pdl');
goaway(z_root() . '/pdledit/' . $_REQUEST['module']);
@@ -26,6 +29,11 @@ class Pdledit extends \Zotlabs\Web\Controller {
notice( t('Permission denied.') . EOL);
return;
}
+
+ if(! feature_enabled(local_channel(),'advanced_theming')) {
+ notice( t('Feature disabled.') . EOL);
+ return;
+ }
if(argc() > 1)
$module = 'mod_' . argv(1) . '.pdl';
diff --git a/Zotlabs/Module/Photo.php b/Zotlabs/Module/Photo.php
index 66aaec49f..4332fd6e9 100644
--- a/Zotlabs/Module/Photo.php
+++ b/Zotlabs/Module/Photo.php
@@ -59,20 +59,33 @@ class Photo extends \Zotlabs\Web\Controller {
}
$uid = $person;
-
- $r = q("SELECT * FROM photo WHERE imgscale = %d AND uid = %d AND photo_usage = %d LIMIT 1",
- intval($resolution),
- intval($uid),
- intval(PHOTO_PROFILE)
- );
- if($r) {
- $data = dbunescbin($r[0]['content']);
- $mimetype = $r[0]['mimetype'];
+
+ $d = [ 'imgscale' => $resolution, 'channel_id' => $uid, 'default' => $default, 'data' => '', 'mimetype' => '' ];
+ call_hooks('get_profile_photo',$d);
+
+ $resolution = $d['imgscale'];
+ $uid = $d['channel_id'];
+ $default = $d['default'];
+ $data = $d['data'];
+ $mimetype = $d['mimetype'];
+
+ if(! $data) {
+ $r = q("SELECT * FROM photo WHERE imgscale = %d AND uid = %d AND photo_usage = %d LIMIT 1",
+ intval($resolution),
+ intval($uid),
+ intval(PHOTO_PROFILE)
+ );
+ if($r) {
+ $data = dbunescbin($r[0]['content']);
+ $mimetype = $r[0]['mimetype'];
+ }
+ if(intval($r[0]['os_storage']))
+ $data = file_get_contents($data);
}
- if(intval($r[0]['os_storage']))
- $data = file_get_contents($data);
- if(! isset($data)) {
+ if(! $data) {
$data = file_get_contents($default);
+ }
+ if(! $mimetype) {
$mimetype = 'image/png';
}
}
@@ -88,6 +101,7 @@ class Photo extends \Zotlabs\Web\Controller {
Project link: https://github.com/Retina-Images/Retina-Images
License link: http://creativecommons.org/licenses/by/3.0/
*/
+
$cookie_value = false;
if (isset($_COOKIE['devicePixelRatio'])) {
$cookie_value = intval($_COOKIE['devicePixelRatio']);
@@ -114,15 +128,15 @@ class Photo extends \Zotlabs\Web\Controller {
}
// If using resolution 1, make sure it exists before proceeding:
- if ($resolution == 1)
- {
+ if($resolution == 1) {
$r = q("SELECT uid FROM photo WHERE resource_id = '%s' AND imgscale = %d LIMIT 1",
dbesc($photo),
intval($resolution)
- );
- if (!($r))
+ );
+ if(! $r) {
$resolution = 2;
- }
+ }
+ }
$r = q("SELECT uid FROM photo WHERE resource_id = '%s' AND imgscale = %d LIMIT 1",
dbesc($photo),
@@ -133,7 +147,16 @@ class Photo extends \Zotlabs\Web\Controller {
$allowed = (($r[0]['uid']) ? perm_is_allowed($r[0]['uid'],$observer_xchan,'view_storage') : true);
$sql_extra = permissions_sql($r[0]['uid']);
+
+ if(! $sql_extra)
+ $sql_extra = ' and true ';
+
+ // Only check permissions on normal photos. Those photos we don't check includes
+ // profile photos, xchan photos (which are also profile photos), 'thing' photos,
+ // and cover photos
+ $sql_extra = " and (( photo_usage = 0 $sql_extra ) or photo_usage != 0 )";
+
$channel = channelx_by_n($r[0]['uid']);
// Now we'll see if we can access the photo
diff --git a/Zotlabs/Module/Photos.php b/Zotlabs/Module/Photos.php
index 6aeac7af7..040a90aaa 100644
--- a/Zotlabs/Module/Photos.php
+++ b/Zotlabs/Module/Photos.php
@@ -50,7 +50,7 @@ class Photos extends \Zotlabs\Web\Controller {
- function post() {
+ function post() {
logger('mod-photos: photos_post: begin' , LOGGER_DEBUG);
@@ -106,24 +106,6 @@ class Photos extends \Zotlabs\Web\Controller {
/*
- * RENAME photo album
- */
-
- $newalbum = notags(trim($_REQUEST['albumname']));
- if($newalbum != $album) {
-
- // @fixme - syncronise with DAV or disallow completely
-
- goaway(z_root() . '/' . $_SESSION['photo_return']);
-
- // $x = photos_album_rename($page_owner_uid,$album,$newalbum);
- // if($x) {
- // $newurl = str_replace(bin2hex($album),bin2hex($newalbum),$_SESSION['photo_return']);
- // goaway(z_root() . '/' . $newurl);
- // }
- }
-
- /*
* DELETE photo album and all its photos
*/
@@ -229,15 +211,25 @@ class Photos extends \Zotlabs\Web\Controller {
goaway(z_root() . '/photos/' . \App::$data['channel']['channel_address'] . '/album/' . $_SESSION['album_return']);
}
-
-
- if((\App::$argc > 2) && ((x($_POST,'desc') !== false) || (x($_POST,'newtag') !== false)) || (x($_POST,'albname') !== false)) {
-
+
+ if((argc() > 2) && array_key_exists('move_to_album',$_POST)) {
+ $m = q("select folder from attach where hash = '%s' and uid = %d limit 1",
+ dbesc(argv(2)),
+ intval($page_owner_uid)
+ );
+ if(($m) && ($m[0]['folder'] != $_POST['move_to_album'])) {
+ attach_move($page_owner_uid,argv(2),$_POST['move_to_album']);
+ if(! ($_POST['desc'] && $_POST['newtag']))
+ goaway(z_root() . '/' . $_SESSION['photo_return']);
+ }
+ }
+
+ if((argc() > 2) && ((x($_POST,'desc') !== false) || (x($_POST,'newtag') !== false))) {
$desc = ((x($_POST,'desc')) ? notags(trim($_POST['desc'])) : '');
$rawtags = ((x($_POST,'newtag')) ? notags(trim($_POST['newtag'])) : '');
$item_id = ((x($_POST,'item_id')) ? intval($_POST['item_id']) : 0);
- $albname = ((x($_POST,'albname')) ? notags(trim($_POST['albname'])) : '');
+
$is_nsfw = ((x($_POST,'adult')) ? intval($_POST['adult']) : 0);
$acl->set_from_array($_POST);
@@ -245,10 +237,6 @@ class Photos extends \Zotlabs\Web\Controller {
$resource_id = argv(2);
- if(! strlen($albname))
- $albname = datetime_convert('UTC',date_default_timezone_get(),'now', 'Y');
-
-
if((x($_POST,'rotate') !== false) &&
( (intval($_POST['rotate']) == 1) || (intval($_POST['rotate']) == 2) )) {
logger('rotate');
@@ -464,14 +452,15 @@ class Photos extends \Zotlabs\Web\Controller {
}
}
-
- goaway(z_root() . '/' . $_SESSION['photo_return']);
- return; // NOTREACHED
-
+
$sync = attach_export_data(\App::$data['channel'],$resource_id);
if($sync)
build_sync_packet($page_owner_uid,array('file' => array($sync)));
+
+ goaway(z_root() . '/' . $_SESSION['photo_return']);
+ return; // NOTREACHED
+
}
@@ -1023,12 +1012,22 @@ class Photos extends \Zotlabs\Web\Controller {
$edit = null;
if($can_post) {
+
+ $m = q("select folder from attach where hash = '%s' and uid = %d limit 1",
+ dbesc($ph[0]['resource_id']),
+ intval($ph[0]['uid'])
+ );
+ if($m)
+ $album_hash = $m[0]['folder'];
+
$album_e = $ph[0]['album'];
$caption_e = $ph[0]['description'];
$aclselect_e = (($_is_owner) ? populate_acl($ph[0], true, \Zotlabs\Lib\PermissionDescription::fromGlobalPermission('view_storage')) : '');
$albums = ((array_key_exists('albums', \App::$data)) ? \App::$data['albums'] : photos_albums_list(\App::$data['channel'],\App::$data['observer']));
$_SESSION['album_return'] = bin2hex($ph[0]['album']);
+
+ $folder_list = attach_folder_select_list($ph[0]['uid']);
$edit = array(
'edit' => t('Edit photo'),
@@ -1037,6 +1036,7 @@ class Photos extends \Zotlabs\Web\Controller {
'rotateccw' => t('Rotate CCW (left)'),
'albums' => $albums['albums'],
'album' => $album_e,
+ 'album_select' => [ 'move_to_album', t('Move photo to album'), $album_hash, '', $folder_list ],
'newalbum_label' => t('Enter a new album name'),
'newalbum_placeholder' => t('or select an existing one (doubleclick)'),
'nickname' => \App::$data['channel']['channel_address'],
diff --git a/Zotlabs/Module/Profiles.php b/Zotlabs/Module/Profiles.php
index 4b05182c2..788673296 100644
--- a/Zotlabs/Module/Profiles.php
+++ b/Zotlabs/Module/Profiles.php
@@ -724,7 +724,7 @@ class Profiles extends \Zotlabs\Web\Controller {
'$marital' => marital_selector($r[0]['marital']),
'$marital_min' => marital_selector_min($r[0]['marital']),
'$with' => array('with', t("Who (if applicable)"), $r[0]['partner'], t('Examples: cathy123, Cathy Williams, cathy@example.com')),
- '$howlong' => array('howlong', t('Since (date)'), ($r[0]['howlong'] === NULL_DATE ? '' : datetime_convert('UTC',date_default_timezone_get(),$r[0]['howlong']))),
+ '$howlong' => array('howlong', t('Since (date)'), ($r[0]['howlong'] <= NULL_DATE ? '' : datetime_convert('UTC',date_default_timezone_get(),$r[0]['howlong']))),
'$sexual' => sexpref_selector($r[0]['sexual']),
'$sexual_min' => sexpref_selector_min($r[0]['sexual']),
'$about' => array('about', t('Tell us about yourself'), $r[0]['about']),
diff --git a/Zotlabs/Module/Pubsites.php b/Zotlabs/Module/Pubsites.php
index 0dda08e6d..1c9cd5121 100644
--- a/Zotlabs/Module/Pubsites.php
+++ b/Zotlabs/Module/Pubsites.php
@@ -16,7 +16,9 @@ class Pubsites extends \Zotlabs\Web\Controller {
$url = $directory['url'] . '/dirsearch';
}
$url .= '/sites';
-
+
+ $rating_enabled = get_config('system','rating_enabled');
+
$o .= '<div class="generic-content-wrapper">';
$o .= '<div class="section-title-wrapper"><h2>' . t('Public Hubs') . '</h2></div>';
@@ -28,12 +30,20 @@ class Pubsites extends \Zotlabs\Web\Controller {
if($ret['success']) {
$j = json_decode($ret['body'],true);
if($j) {
- $o .= '<table class="table table-striped table-hover"><tr><td>' . t('Hub URL') . '</td><td>' . t('Access Type') . '</td><td>' . t('Registration Policy') . '</td><td>' . t('Stats') . '</td><td>' . t('Software') . '</td><td colspan="2">' . t('Ratings') . '</td></tr>';
+ $o .= '<table class="table table-striped table-hover"><tr><td>' . t('Hub URL') . '</td><td>' . t('Access Type') . '</td><td>' . t('Registration Policy') . '</td><td>' . t('Stats') . '</td><td>' . t('Software') . '</td>';
+ if($rating_enabled)
+ $o .= '<td colspan="2">' . t('Ratings') . '</td>';
+ $o .= '</tr>';
if($j['sites']) {
foreach($j['sites'] as $jj) {
- $m = parse_url($jj['url']);
- if(strpos($jj['project'],\Zotlabs\Lib\System::get_platform_name()) === false)
+ if(! $jj['project'])
continue;
+ if(strpos($jj['version'],' ')) {
+ $x = explode(' ', $jj['version']);
+ if($x[1])
+ $jj['version'] = $x[1];
+ }
+ $m = parse_url($jj['url']);
$host = strtolower(substr($jj['url'],strpos($jj['url'],'://')+3));
$rate_links = ((local_channel()) ? '<td><a href="rate?f=&target=' . $host . '" class="btn-btn-default"><i class="fa fa-check-square-o"></i> ' . t('Rate') . '</a></td>' : '');
$location = '';
@@ -44,7 +54,10 @@ class Pubsites extends \Zotlabs\Web\Controller {
$location = '<br />&nbsp;';
}
$urltext = str_replace(array('https://'), '', $jj['url']);
- $o .= '<tr><td><a href="'. (($jj['sellpage']) ? $jj['sellpage'] : $jj['url'] . '/register' ) . '" ><i class="fa fa-link"></i> ' . $urltext . '</a>' . $location . '</td><td>' . $jj['access'] . '</td><td>' . $jj['register'] . '</td><td>' . '<a target="stats" href="https://hubchart-tarine.rhcloud.com/hub.jsp?hubFqdn=' . $m['host'] . '"><i class="fa fa-area-chart"></i></a></td><td>' . ucwords($jj['project']) . '</td><td><a href="ratings/' . $host . '" class="btn-btn-default"><i class="fa fa-eye"></i> ' . t('View') . '</a></td>' . $rate_links . '</tr>';
+ $o .= '<tr><td><a href="'. (($jj['sellpage']) ? $jj['sellpage'] : $jj['url'] . '/register' ) . '" ><i class="fa fa-link"></i> ' . $urltext . '</a>' . $location . '</td><td>' . $jj['access'] . '</td><td>' . $jj['register'] . '</td><td>' . '<a target="stats" href="https://hubchart-tarine.rhcloud.com/hub.jsp?hubFqdn=' . $m['host'] . '"><i class="fa fa-area-chart"></i></a></td><td>' . ucwords($jj['project']) . (($jj['version']) ? ' ' . $jj['version'] : '') . '</td>';
+ if($rating_enabled)
+ $o .= '<td><a href="ratings/' . $host . '" class="btn-btn-default"><i class="fa fa-eye"></i> ' . t('View') . '</a></td>' . $rate_links ;
+ $o .= '</tr>';
}
}
diff --git a/Zotlabs/Module/Rate.php b/Zotlabs/Module/Rate.php
index 2f769b36b..c03aaa54f 100644
--- a/Zotlabs/Module/Rate.php
+++ b/Zotlabs/Module/Rate.php
@@ -119,8 +119,8 @@ class Rate extends \Zotlabs\Web\Controller {
// return;
// }
- $poco_rating = get_config('system','poco_rating_enable');
- if((! $poco_rating) && ($poco_rating !== false)) {
+ $rating_enabled = get_config('system','rating_enabled');
+ if(! $rating_enabled) {
notice('Ratings are disabled on this site.');
return;
}
@@ -141,11 +141,7 @@ class Rate extends \Zotlabs\Web\Controller {
$rating_text = '';
}
- // if unset default to enabled
- if($poco_rating === false)
- $poco_rating = true;
-
- if($poco_rating) {
+ if($rating_enabled) {
$rating = replace_macros(get_markup_template('rating_slider.tpl'),array(
'$min' => -10,
'$val' => $rating_val
diff --git a/Zotlabs/Module/Ratings.php b/Zotlabs/Module/Ratings.php
index 969fb5015..055b16ca3 100644
--- a/Zotlabs/Module/Ratings.php
+++ b/Zotlabs/Module/Ratings.php
@@ -21,12 +21,9 @@ class Ratings extends \Zotlabs\Web\Controller {
if($x)
$url = $x['url'];
- $poco_rating = get_config('system','poco_rating_enable');
- // if unset default to enabled
- if($poco_rating === false)
- $poco_rating = true;
+ $rating_enabled = get_config('system','rating_enabled');
- if(! $poco_rating)
+ if(! $rating_enabled)
return;
if(argc() > 1)
@@ -87,12 +84,9 @@ class Ratings extends \Zotlabs\Web\Controller {
return;
}
- $poco_rating = get_config('system','poco_rating_enable');
- // if unset default to enabled
- if($poco_rating === false)
- $poco_rating = true;
+ $rating_enabled = get_config('system','rating_enabled');
- if(! $poco_rating)
+ if(! $rating_enabled)
return;
$site_target = ((array_key_exists('target',\App::$data) && array_key_exists('site_url',\App::$data['target'])) ?
diff --git a/Zotlabs/Module/Register.php b/Zotlabs/Module/Register.php
index 0b16d4a66..1d8944d8e 100644
--- a/Zotlabs/Module/Register.php
+++ b/Zotlabs/Module/Register.php
@@ -174,7 +174,7 @@ class Register extends \Zotlabs\Web\Controller {
- function get() {
+ function get() {
$registration_is = '';
$other_sites = '';
@@ -205,6 +205,12 @@ class Register extends \Zotlabs\Web\Controller {
return;
}
}
+
+ $privacy_role = ((x($_REQUEST,'permissions_role')) ? $_REQUEST['permissions_role'] : "");
+
+ $perm_roles = \Zotlabs\Access\PermissionRoles::roles();
+ if((get_account_techlevel() < 4) && $privacy_role !== 'custom')
+ unset($perm_roles[t('Other')]);
// Configurable terms of service link
@@ -231,8 +237,7 @@ class Register extends \Zotlabs\Web\Controller {
$name = array('name', t('Name or caption'), ((x($_REQUEST,'name')) ? $_REQUEST['name'] : ''), t('Examples: "Bob Jameson", "Lisa and her Horses", "Soccer", "Aviation Group"'));
$nickhub = '@' . str_replace(array('http://','https://','/'), '', get_config('system','baseurl'));
$nickname = array('nickname', t('Choose a short nickname'), ((x($_REQUEST,'nickname')) ? $_REQUEST['nickname'] : ''), sprintf( t('Your nickname will be used to create an easy to remember channel address e.g. nickname%s'), $nickhub));
- $privacy_role = ((x($_REQUEST,'permissions_role')) ? $_REQUEST['permissions_role'] : "");
- $role = array('permissions_role' , t('Channel role and privacy'), ($privacy_role) ? $privacy_role : 'social', t('Select a channel role with your privacy requirements.') . ' <a href="help/roles" target="_blank">' . t('Read more about roles') . '</a>',get_roles());
+ $role = array('permissions_role' , t('Channel role and privacy'), ($privacy_role) ? $privacy_role : 'social', t('Select a channel role with your privacy requirements.') . ' <a href="help/roles" target="_blank">' . t('Read more about roles') . '</a>',$perm_roles);
$tos = array('tos', $label_tos, '', '', array(t('no'),t('yes')));
$server_role = get_config('system','server_role');
@@ -254,11 +259,11 @@ class Register extends \Zotlabs\Web\Controller {
'$invite_code' => $invite_code,
'$auto_create' => $auto_create,
'$name' => $name,
- '$role' => $role,
+ '$role' => $role,
'$default_role' => $default_role,
'$nickname' => $nickname,
'$enable_tos' => $enable_tos,
- '$tos' => $tos,
+ '$tos' => $tos,
'$email' => $email,
'$pass1' => $password,
'$pass2' => $password2,
diff --git a/Zotlabs/Module/Removeaccount.php b/Zotlabs/Module/Removeaccount.php
index 9fac7838e..9d2bbd0de 100644
--- a/Zotlabs/Module/Removeaccount.php
+++ b/Zotlabs/Module/Removeaccount.php
@@ -29,7 +29,7 @@ class Removeaccount extends \Zotlabs\Web\Controller {
if(! ($x && $x['account']))
return;
- if($account['account_password_changed'] != NULL_DATE) {
+ if($account['account_password_changed'] > NULL_DATE) {
$d1 = datetime_convert('UTC','UTC','now - 48 hours');
if($account['account_password_changed'] > d1) {
notice( t('Account removals are not allowed within 48 hours of changing the account password.') . EOL);
diff --git a/Zotlabs/Module/Removeme.php b/Zotlabs/Module/Removeme.php
index bc18fe0f8..ca2080e83 100644
--- a/Zotlabs/Module/Removeme.php
+++ b/Zotlabs/Module/Removeme.php
@@ -29,7 +29,7 @@ class Removeme extends \Zotlabs\Web\Controller {
if(! ($x && $x['account']))
return;
- if($account['account_password_changed'] != NULL_DATE) {
+ if($account['account_password_changed'] > NULL_DATE) {
$d1 = datetime_convert('UTC','UTC','now - 48 hours');
if($account['account_password_changed'] > d1) {
notice( t('Channel removals are not allowed within 48 hours of changing the account password.') . EOL);
diff --git a/Zotlabs/Module/Rpost.php b/Zotlabs/Module/Rpost.php
index 28a1f1bb0..1349cd1c5 100644
--- a/Zotlabs/Module/Rpost.php
+++ b/Zotlabs/Module/Rpost.php
@@ -127,7 +127,9 @@ class Rpost extends \Zotlabs\Web\Controller {
'return_path' => 'rpost/return',
'bbco_autocomplete' => 'bbcode',
'editor_autocomplete'=> true,
- 'bbcode' => true
+ 'bbcode' => true,
+ 'jotnets' => true
+
);
$editor = status_editor($a,$x);
diff --git a/Zotlabs/Module/Search_ac.php b/Zotlabs/Module/Search_ac.php
index 4e936d97b..24b724c5d 100644
--- a/Zotlabs/Module/Search_ac.php
+++ b/Zotlabs/Module/Search_ac.php
@@ -18,49 +18,68 @@ class Search_ac extends \Zotlabs\Web\Controller {
$search = $_REQUEST['query'];
}
+ $do_people = true;
+ $do_tags = true;
+
+ if(substr($search,0,1) === '@') {
+ $do_tags = false;
+ $search = substr($search,1);
+ }
+
+ if(substr($search,0,1) === '#') {
+ $do_people = false;
+ $search = substr($search,1);
+ }
+
// Priority to people searches
if ($search) {
- $people_sql_extra = protect_sprintf(" AND `xchan_name` LIKE '%". dbesc($search) . "%' ");
- $tag_sql_extra = protect_sprintf(" AND term LIKE '%". dbesc($search) . "%' ");
+ $people_sql_extra = protect_sprintf(" AND xchan_name LIKE '%" . dbesc($search) . "%' ");
+ $tag_sql_extra = protect_sprintf(" AND term LIKE '%" . dbesc($search) . "%' ");
}
-
-
- $r = q("SELECT `abook_id`, `xchan_name`, `xchan_photo_s`, `xchan_url`, `xchan_addr` FROM `abook` left join xchan on abook_xchan = xchan_hash WHERE abook_channel = %d
- $people_sql_extra
- ORDER BY `xchan_name` ASC ",
- intval(local_channel())
- );
-
- $results = array();
- if($r) {
- foreach($r as $g) {
- $results[] = array(
- "photo" => $g['xchan_photo_s'],
- "name" => '@'.$g['xchan_name'],
- "id" => $g['abook_id'],
- "link" => $g['xchan_url'],
- "label" => '',
- "nick" => '',
- );
+
+ $results = [];
+
+ if($do_people) {
+ $r = q("SELECT abook_id, xchan_name, xchan_photo_s, xchan_url, xchan_addr FROM abook
+ left join xchan on abook_xchan = xchan_hash WHERE abook_channel = %d
+ $people_sql_extra
+ ORDER BY xchan_name ASC ",
+ intval(local_channel())
+ );
+
+ if($r) {
+ foreach($r as $g) {
+ $results[] = [
+ 'photo' => $g['xchan_photo_s'],
+ 'name' => '@' . $g['xchan_name'],
+ 'id' => $g['abook_id'],
+ 'link' => $g['xchan_url'],
+ 'label' => '',
+ 'nick' => '',
+ ];
+ }
}
}
-
- $r = q("select distinct term, tid, url from term where ttype in ( %d, %d ) $tag_sql_extra group by term order by term asc",
- intval(TERM_HASHTAG),
- intval(TERM_COMMUNITYTAG)
- );
-
- if(count($r)) {
- foreach($r as $g) {
- $results[] = array(
- "photo" => z_root() . '/images/hashtag.png',
- "name" => '#'.$g['term'],
- "id" => $g['tid'],
- "link" => $g['url'],
- "label" => '',
- "nick" => '',
- );
+
+ if($do_tags) {
+ $r = q("select distinct term, tid, url from term
+ where ttype in ( %d, %d ) $tag_sql_extra group by term order by term asc",
+ intval(TERM_HASHTAG),
+ intval(TERM_COMMUNITYTAG)
+ );
+
+ if($r) {
+ foreach($r as $g) {
+ $results[] = [
+ 'photo' => z_root() . '/images/hashtag.png',
+ 'name' => '#' . $g['term'],
+ 'id' => $g['tid'],
+ 'link' => $g['url'],
+ 'label' => '',
+ 'nick' => '',
+ ];
+ }
}
}
@@ -72,7 +91,7 @@ class Search_ac extends \Zotlabs\Web\Controller {
);
echo json_encode($o);
- logger('search_ac: ' . print_r($x,true));
+ logger('search_ac: ' . print_r($x,true),LOGGER_DATA,LOG_INFO);
killme();
}
diff --git a/Zotlabs/Module/Settings.php b/Zotlabs/Module/Settings.php
index 12157944f..76794e21c 100644
--- a/Zotlabs/Module/Settings.php
+++ b/Zotlabs/Module/Settings.php
@@ -6,6 +6,8 @@ require_once('include/security.php');
class Settings extends \Zotlabs\Web\Controller {
+ private $sm = null;
+
function init() {
if(! local_channel())
return;
@@ -22,6 +24,8 @@ class Settings extends \Zotlabs\Web\Controller {
\App::$argc = 2;
\App::$argv[] = 'channel';
}
+
+ $this->sm = new \Zotlabs\Web\SubModule();
}
@@ -33,611 +37,24 @@ class Settings extends \Zotlabs\Web\Controller {
if($_SESSION['delegate'])
return;
- $channel = \App::get_channel();
-
// logger('mod_settings: ' . print_r($_REQUEST,true));
-
- if((argc() > 1) && (argv(1) === 'oauth') && x($_POST,'remove')){
- check_form_security_token_redirectOnErr('/settings/oauth', 'settings_oauth');
-
- $key = $_POST['remove'];
- q("DELETE FROM tokens WHERE id='%s' AND uid=%d",
- dbesc($key),
- local_channel());
- goaway(z_root()."/settings/oauth/");
- return;
- }
-
- if((argc() > 2) && (argv(1) === 'oauth') && (argv(2) === 'edit'||(argv(2) === 'add')) && x($_POST,'submit')) {
-
- check_form_security_token_redirectOnErr('/settings/oauth', 'settings_oauth');
-
- $name = ((x($_POST,'name')) ? $_POST['name'] : '');
- $key = ((x($_POST,'key')) ? $_POST['key'] : '');
- $secret = ((x($_POST,'secret')) ? $_POST['secret'] : '');
- $redirect = ((x($_POST,'redirect')) ? $_POST['redirect'] : '');
- $icon = ((x($_POST,'icon')) ? $_POST['icon'] : '');
- $ok = true;
- if($name == '') {
- $ok = false;
- notice( t('Name is required') . EOL);
- }
- if($key == '' || $secret == '') {
- $ok = false;
- notice( t('Key and Secret are required') . EOL);
- }
-
- if($ok) {
- if ($_POST['submit']==t("Update")){
- $r = q("UPDATE clients SET
- client_id='%s',
- pw='%s',
- clname='%s',
- redirect_uri='%s',
- icon='%s',
- uid=%d
- WHERE client_id='%s'",
- dbesc($key),
- dbesc($secret),
- dbesc($name),
- dbesc($redirect),
- dbesc($icon),
- intval(local_channel()),
- dbesc($key));
- } else {
- $r = q("INSERT INTO clients (client_id, pw, clname, redirect_uri, icon, uid)
- VALUES ('%s','%s','%s','%s','%s',%d)",
- dbesc($key),
- dbesc($secret),
- dbesc($name),
- dbesc($redirect),
- dbesc($icon),
- intval(local_channel())
- );
- $r = q("INSERT INTO xperm (xp_client, xp_channel, xp_perm) VALUES ('%s', %d, '%s') ",
- dbesc($key),
- intval(local_channel()),
- dbesc('all')
- );
- }
- }
- goaway(z_root()."/settings/oauth/");
- return;
- }
-
- if((argc() > 1) && (argv(1) == 'featured')) {
- check_form_security_token_redirectOnErr('/settings/featured', 'settings_featured');
-
- call_hooks('feature_settings_post', $_POST);
-
- build_sync_packet();
- return;
- }
-
-
- if((argc() > 1) && (argv(1) == 'tokens')) {
- check_form_security_token_redirectOnErr('/settings/tokens', 'settings_tokens');
- $token_errs = 0;
- if(array_key_exists('token',$_POST)) {
- $atoken_id = (($_POST['atoken_id']) ? intval($_POST['atoken_id']) : 0);
- $name = trim(escape_tags($_POST['name']));
- $token = trim($_POST['token']);
- if((! $name) || (! $token))
- $token_errs ++;
- if(trim($_POST['expires']))
- $expires = datetime_convert(date_default_timezone_get(),'UTC',$_POST['expires']);
- else
- $expires = NULL_DATE;
- $max_atokens = service_class_fetch(local_channel(),'access_tokens');
- if($max_atokens) {
- $r = q("select count(atoken_id) as total where atoken_uid = %d",
- intval(local_channel())
- );
- if($r && intval($r[0]['total']) >= $max_tokens) {
- notice( sprintf( t('This channel is limited to %d tokens'), $max_tokens) . EOL);
- return;
- }
- }
- }
- if($token_errs) {
- notice( t('Name and Password are required.') . EOL);
- return;
- }
- if($atoken_id) {
- $r = q("update atoken set atoken_name = '%s', atoken_token = '%s', atoken_expires = '%s'
- where atoken_id = %d and atoken_uid = %d",
- dbesc($name),
- dbesc($token),
- dbesc($expires),
- intval($atoken_id),
- intval($channel['channel_id'])
- );
- }
- else {
- $r = q("insert into atoken ( atoken_aid, atoken_uid, atoken_name, atoken_token, atoken_expires )
- values ( %d, %d, '%s', '%s', '%s' ) ",
- intval($channel['channel_account_id']),
- intval($channel['channel_id']),
- dbesc($name),
- dbesc($token),
- dbesc($expires)
- );
- }
-
- $atoken_xchan = substr($channel['channel_hash'],0,16) . '.' . $name;
-
- $all_perms = \Zotlabs\Access\Permissions::Perms();
-
- if($all_perms) {
- foreach($all_perms as $perm => $desc) {
- if(array_key_exists('perms_' . $perm, $_POST)) {
- set_abconfig($channel['channel_id'],$atoken_xchan,'my_perms',$perm,intval($_POST['perms_' . $perm]));
- }
- else {
- set_abconfig($channel['channel_id'],$atoken_xchan,'my_perms',$perm,0);
- }
- }
- }
-
-
- info( t('Token saved.') . EOL);
- return;
- }
-
-
-
- if((argc() > 1) && (argv(1) === 'features')) {
- check_form_security_token_redirectOnErr('/settings/features', 'settings_features');
-
- // Build list of features and check which are set
- $features = get_features();
- $all_features = array();
- foreach($features as $k => $v) {
- foreach($v as $f)
- $all_features[] = $f[0];
- }
- foreach($all_features as $k) {
- if(x($_POST,"feature_$k"))
- set_pconfig(local_channel(),'feature',$k, 1);
- else
- set_pconfig(local_channel(),'feature',$k, 0);
- }
- build_sync_packet();
- return;
- }
-
- if((argc() > 1) && (argv(1) == 'display')) {
-
- check_form_security_token_redirectOnErr('/settings/display', 'settings_display');
-
- $theme = ((x($_POST,'theme')) ? notags(trim($_POST['theme'])) : \App::$channel['channel_theme']);
- $mobile_theme = ((x($_POST,'mobile_theme')) ? notags(trim($_POST['mobile_theme'])) : '');
- $preload_images = ((x($_POST,'preload_images')) ? intval($_POST['preload_images']) : 0);
- $user_scalable = ((x($_POST,'user_scalable')) ? intval($_POST['user_scalable']) : 0);
- $nosmile = ((x($_POST,'nosmile')) ? intval($_POST['nosmile']) : 0);
- $title_tosource = ((x($_POST,'title_tosource')) ? intval($_POST['title_tosource']) : 0);
- $channel_list_mode = ((x($_POST,'channel_list_mode')) ? intval($_POST['channel_list_mode']) : 0);
- $network_list_mode = ((x($_POST,'network_list_mode')) ? intval($_POST['network_list_mode']) : 0);
-
- $channel_divmore_height = ((x($_POST,'channel_divmore_height')) ? intval($_POST['channel_divmore_height']) : 400);
- if($channel_divmore_height < 50)
- $channel_divmore_height = 50;
- $network_divmore_height = ((x($_POST,'network_divmore_height')) ? intval($_POST['network_divmore_height']) : 400);
- if($network_divmore_height < 50)
- $network_divmore_height = 50;
-
- $browser_update = ((x($_POST,'browser_update')) ? intval($_POST['browser_update']) : 0);
- $browser_update = $browser_update * 1000;
- if($browser_update < 10000)
- $browser_update = 10000;
-
- $itemspage = ((x($_POST,'itemspage')) ? intval($_POST['itemspage']) : 20);
- if($itemspage > 100)
- $itemspage = 100;
-
-
- if ($mobile_theme == "---")
- del_pconfig(local_channel(),'system','mobile_theme');
- else {
- set_pconfig(local_channel(),'system','mobile_theme',$mobile_theme);
- }
-
- set_pconfig(local_channel(),'system','preload_images',$preload_images);
- set_pconfig(local_channel(),'system','user_scalable',$user_scalable);
- set_pconfig(local_channel(),'system','update_interval', $browser_update);
- set_pconfig(local_channel(),'system','itemspage', $itemspage);
- set_pconfig(local_channel(),'system','no_smilies',1-intval($nosmile));
- set_pconfig(local_channel(),'system','title_tosource',$title_tosource);
- set_pconfig(local_channel(),'system','channel_list_mode', $channel_list_mode);
- set_pconfig(local_channel(),'system','network_list_mode', $network_list_mode);
- set_pconfig(local_channel(),'system','channel_divmore_height', $channel_divmore_height);
- set_pconfig(local_channel(),'system','network_divmore_height', $network_divmore_height);
-
- if ($theme == \App::$channel['channel_theme']){
- // call theme_post only if theme has not been changed
- if( ($themeconfigfile = $this->get_theme_config_file($theme)) != null){
- require_once($themeconfigfile);
- theme_post($a);
- }
- }
-
- $r = q("UPDATE channel SET channel_theme = '%s' WHERE channel_id = %d",
- dbesc($theme),
- intval(local_channel())
- );
-
- call_hooks('display_settings_post', $_POST);
- build_sync_packet();
- goaway(z_root() . '/settings/display' );
- return; // NOTREACHED
- }
-
-
- if(argc() > 1 && argv(1) === 'account') {
-
- check_form_security_token_redirectOnErr('/settings/account', 'settings_account');
-
- call_hooks('account_settings_post', $_POST);
- // call_hooks('settings_account', $_POST);
-
- $errs = array();
-
- $email = ((x($_POST,'email')) ? trim(notags($_POST['email'])) : '');
- $account = \App::get_account();
- if($email != $account['account_email']) {
- if(! valid_email($email))
- $errs[] = t('Not valid email.');
- $adm = trim(get_config('system','admin_email'));
- if(($adm) && (strcasecmp($email,$adm) == 0)) {
- $errs[] = t('Protected email address. Cannot change to that email.');
- $email = \App::$user['email'];
- }
- if(! $errs) {
- $r = q("update account set account_email = '%s' where account_id = %d",
- dbesc($email),
- intval($account['account_id'])
- );
- if(! $r)
- $errs[] = t('System failure storing new email. Please try again.');
- }
- }
-
- if($errs) {
- foreach($errs as $err)
- notice($err . EOL);
- $errs = array();
- }
-
-
- if((x($_POST,'npassword')) || (x($_POST,'confirm'))) {
-
- $origpass = trim($_POST['origpass']);
-
- require_once('include/auth.php');
- if(! account_verify_password($email,$origpass)) {
- $errs[] = t('Password verification failed.');
- }
-
- $newpass = trim($_POST['npassword']);
- $confirm = trim($_POST['confirm']);
-
- if($newpass != $confirm ) {
- $errs[] = t('Passwords do not match. Password unchanged.');
- }
-
- if((! x($newpass)) || (! x($confirm))) {
- $errs[] = t('Empty passwords are not allowed. Password unchanged.');
- }
-
- if(! $errs) {
- $salt = random_string(32);
- $password_encoded = hash('whirlpool', $salt . $newpass);
- $r = q("update account set account_salt = '%s', account_password = '%s', account_password_changed = '%s'
- where account_id = %d",
- dbesc($salt),
- dbesc($password_encoded),
- dbesc(datetime_convert()),
- intval(get_account_id())
- );
- if($r)
- info( t('Password changed.') . EOL);
- else
- $errs[] = t('Password update failed. Please try again.');
- }
- }
-
-
- if($errs) {
- foreach($errs as $err)
- notice($err . EOL);
- }
- goaway(z_root() . '/settings/account' );
- }
-
-
- check_form_security_token_redirectOnErr('/settings', 'settings');
-
- call_hooks('settings_post', $_POST);
-
- $set_perms = '';
-
- $role = ((x($_POST,'permissions_role')) ? notags(trim($_POST['permissions_role'])) : '');
- $oldrole = get_pconfig(local_channel(),'system','permissions_role');
-
- if(($role != $oldrole) || ($role === 'custom')) {
-
- if($role === 'custom') {
- $hide_presence = (((x($_POST,'hide_presence')) && (intval($_POST['hide_presence']) == 1)) ? 1: 0);
- $publish = (((x($_POST,'profile_in_directory')) && (intval($_POST['profile_in_directory']) == 1)) ? 1: 0);
- $def_group = ((x($_POST,'group-selection')) ? notags(trim($_POST['group-selection'])) : '');
- $r = q("update channel set channel_default_group = '%s' where channel_id = %d",
- dbesc($def_group),
- intval(local_channel())
- );
-
- $global_perms = \Zotlabs\Access\Permissions::Perms();
-
- foreach($global_perms as $k => $v) {
- \Zotlabs\Access\PermissionLimits::Set(local_channel(),$k,intval($_POST[$k]));
- }
- $acl = new \Zotlabs\Access\AccessList($channel);
- $acl->set_from_array($_POST);
- $x = $acl->get();
-
- $r = q("update channel set channel_allow_cid = '%s', channel_allow_gid = '%s',
- channel_deny_cid = '%s', channel_deny_gid = '%s' where channel_id = %d",
- dbesc($x['allow_cid']),
- dbesc($x['allow_gid']),
- dbesc($x['deny_cid']),
- dbesc($x['deny_gid']),
- intval(local_channel())
- );
- }
- else {
- $role_permissions = \Zotlabs\Access\PermissionRoles::role_perms($_POST['permissions_role']);
- if(! $role_permissions) {
- notice('Permissions category could not be found.');
- return;
- }
- $hide_presence = 1 - (intval($role_permissions['online']));
- if($role_permissions['default_collection']) {
- $r = q("select hash from groups where uid = %d and gname = '%s' limit 1",
- intval(local_channel()),
- dbesc( t('Friends') )
- );
- if(! $r) {
- require_once('include/group.php');
- group_add(local_channel(), t('Friends'));
- group_add_member(local_channel(),t('Friends'),$channel['channel_hash']);
- $r = q("select hash from groups where uid = %d and gname = '%s' limit 1",
- intval(local_channel()),
- dbesc( t('Friends') )
- );
- }
- if($r) {
- q("update channel set channel_default_group = '%s', channel_allow_gid = '%s', channel_allow_cid = '', channel_deny_gid = '', channel_deny_cid = '' where channel_id = %d",
- dbesc($r[0]['hash']),
- dbesc('<' . $r[0]['hash'] . '>'),
- intval(local_channel())
- );
- }
- else {
- notice( sprintf('Default privacy group \'%s\' not found. Please create and re-submit permission change.', t('Friends')) . EOL);
- return;
- }
- }
- // no default collection
- else {
- q("update channel set channel_default_group = '', channel_allow_gid = '', channel_allow_cid = '', channel_deny_gid = '',
- channel_deny_cid = '' where channel_id = %d",
- intval(local_channel())
- );
- }
-
- $x = \Zotlabs\Access\Permissions::FilledPerms($role_permissions['perms_connect']);
- foreach($x as $k => $v) {
- set_abconfig(local_channel(),$channel['channel_hash'],'my_perms',$k, $v);
- if($role_permissions['perms_auto']) {
- set_pconfig(local_channel(),'autoperms',$k,$v);
- }
- else {
- del_pconfig(local_channel(),'autoperms',$k);
- }
- }
-
- if($role_permissions['limits']) {
- foreach($role_permissions['limits'] as $k => $v) {
- \Zotlabs\Access\PermissionLimits::Set(local_channel(),$k,$v);
- }
- }
- if(array_key_exists('directory_publish',$role_permissions)) {
- $publish = intval($role_permissions['directory_publish']);
- }
- }
-
- set_pconfig(local_channel(),'system','hide_online_status',$hide_presence);
- set_pconfig(local_channel(),'system','permissions_role',$role);
- }
-
- $username = ((x($_POST,'username')) ? notags(trim($_POST['username'])) : '');
- $timezone = ((x($_POST,'timezone_select')) ? notags(trim($_POST['timezone_select'])) : '');
- $defloc = ((x($_POST,'defloc')) ? notags(trim($_POST['defloc'])) : '');
- $openid = ((x($_POST,'openid_url')) ? notags(trim($_POST['openid_url'])) : '');
- $maxreq = ((x($_POST,'maxreq')) ? intval($_POST['maxreq']) : 0);
- $expire = ((x($_POST,'expire')) ? intval($_POST['expire']) : 0);
- $evdays = ((x($_POST,'evdays')) ? intval($_POST['evdays']) : 3);
- $photo_path = ((x($_POST,'photo_path')) ? escape_tags(trim($_POST['photo_path'])) : '');
- $attach_path = ((x($_POST,'attach_path')) ? escape_tags(trim($_POST['attach_path'])) : '');
-
- $channel_menu = ((x($_POST['channel_menu'])) ? htmlspecialchars_decode(trim($_POST['channel_menu']),ENT_QUOTES) : '');
-
- $expire_items = ((x($_POST,'expire_items')) ? intval($_POST['expire_items']) : 0);
- $expire_starred = ((x($_POST,'expire_starred')) ? intval($_POST['expire_starred']) : 0);
- $expire_photos = ((x($_POST,'expire_photos'))? intval($_POST['expire_photos']) : 0);
- $expire_network_only = ((x($_POST,'expire_network_only'))? intval($_POST['expire_network_only']) : 0);
-
- $allow_location = (((x($_POST,'allow_location')) && (intval($_POST['allow_location']) == 1)) ? 1: 0);
-
- $blocktags = (((x($_POST,'blocktags')) && (intval($_POST['blocktags']) == 1)) ? 0: 1); // this setting is inverted!
- $unkmail = (((x($_POST,'unkmail')) && (intval($_POST['unkmail']) == 1)) ? 1: 0);
- $cntunkmail = ((x($_POST,'cntunkmail')) ? intval($_POST['cntunkmail']) : 0);
- $suggestme = ((x($_POST,'suggestme')) ? intval($_POST['suggestme']) : 0);
-
- $post_newfriend = (($_POST['post_newfriend'] == 1) ? 1: 0);
- $post_joingroup = (($_POST['post_joingroup'] == 1) ? 1: 0);
- $post_profilechange = (($_POST['post_profilechange'] == 1) ? 1: 0);
- $adult = (($_POST['adult'] == 1) ? 1 : 0);
-
- $cal_first_day = (((x($_POST,'first_day')) && (intval($_POST['first_day']) == 1)) ? 1: 0);
-
- $channel = \App::get_channel();
- $pageflags = $channel['channel_pageflags'];
- $existing_adult = (($pageflags & PAGE_ADULT) ? 1 : 0);
- if($adult != $existing_adult)
- $pageflags = ($pageflags ^ PAGE_ADULT);
-
-
- $notify = 0;
-
- if(x($_POST,'notify1'))
- $notify += intval($_POST['notify1']);
- if(x($_POST,'notify2'))
- $notify += intval($_POST['notify2']);
- if(x($_POST,'notify3'))
- $notify += intval($_POST['notify3']);
- if(x($_POST,'notify4'))
- $notify += intval($_POST['notify4']);
- if(x($_POST,'notify5'))
- $notify += intval($_POST['notify5']);
- if(x($_POST,'notify6'))
- $notify += intval($_POST['notify6']);
- if(x($_POST,'notify7'))
- $notify += intval($_POST['notify7']);
- if(x($_POST,'notify8'))
- $notify += intval($_POST['notify8']);
-
-
- $vnotify = 0;
-
- if(x($_POST,'vnotify1'))
- $vnotify += intval($_POST['vnotify1']);
- if(x($_POST,'vnotify2'))
- $vnotify += intval($_POST['vnotify2']);
- if(x($_POST,'vnotify3'))
- $vnotify += intval($_POST['vnotify3']);
- if(x($_POST,'vnotify4'))
- $vnotify += intval($_POST['vnotify4']);
- if(x($_POST,'vnotify5'))
- $vnotify += intval($_POST['vnotify5']);
- if(x($_POST,'vnotify6'))
- $vnotify += intval($_POST['vnotify6']);
- if(x($_POST,'vnotify7'))
- $vnotify += intval($_POST['vnotify7']);
- if(x($_POST,'vnotify8'))
- $vnotify += intval($_POST['vnotify8']);
- if(x($_POST,'vnotify9'))
- $vnotify += intval($_POST['vnotify9']);
- if(x($_POST,'vnotify10'))
- $vnotify += intval($_POST['vnotify10']);
- if(x($_POST,'vnotify11'))
- $vnotify += intval($_POST['vnotify11']);
-
- $always_show_in_notices = x($_POST,'always_show_in_notices') ? 1 : 0;
-
- $channel = \App::get_channel();
-
- $err = '';
-
- $name_change = false;
-
- if($username != $channel['channel_name']) {
- $name_change = true;
- require_once('include/channel.php');
- $err = validate_channelname($username);
- if($err) {
- notice($err);
+ if(argc() > 1) {
+ if($this->sm->call('post') !== false) {
return;
}
}
- if($timezone != $channel['channel_timezone']) {
- if(strlen($timezone))
- date_default_timezone_set($timezone);
- }
-
- set_pconfig(local_channel(),'system','use_browser_location',$allow_location);
- set_pconfig(local_channel(),'system','suggestme', $suggestme);
- set_pconfig(local_channel(),'system','post_newfriend', $post_newfriend);
- set_pconfig(local_channel(),'system','post_joingroup', $post_joingroup);
- set_pconfig(local_channel(),'system','post_profilechange', $post_profilechange);
- set_pconfig(local_channel(),'system','blocktags',$blocktags);
- set_pconfig(local_channel(),'system','channel_menu',$channel_menu);
- set_pconfig(local_channel(),'system','vnotify',$vnotify);
- set_pconfig(local_channel(),'system','always_show_in_notices',$always_show_in_notices);
- set_pconfig(local_channel(),'system','evdays',$evdays);
- set_pconfig(local_channel(),'system','photo_path',$photo_path);
- set_pconfig(local_channel(),'system','attach_path',$attach_path);
- set_pconfig(local_channel(),'system','cal_first_day',$cal_first_day);
-
- $r = q("update channel set channel_name = '%s', channel_pageflags = %d, channel_timezone = '%s', channel_location = '%s', channel_notifyflags = %d, channel_max_anon_mail = %d, channel_max_friend_req = %d, channel_expire_days = %d $set_perms where channel_id = %d",
- dbesc($username),
- intval($pageflags),
- dbesc($timezone),
- dbesc($defloc),
- intval($notify),
- intval($unkmail),
- intval($maxreq),
- intval($expire),
- intval(local_channel())
- );
- if($r)
- info( t('Settings updated.') . EOL);
-
- if(! is_null($publish)) {
- $r = q("UPDATE profile SET publish = %d WHERE is_default = 1 AND uid = %d",
- intval($publish),
- intval(local_channel())
- );
- }
-
- if($name_change) {
- $r = q("update xchan set xchan_name = '%s', xchan_name_date = '%s' where xchan_hash = '%s'",
- dbesc($username),
- dbesc(datetime_convert()),
- dbesc($channel['channel_hash'])
- );
- $r = q("update profile set fullname = '%s' where uid = %d and is_default = 1",
- dbesc($username),
- intval($channel['channel_id'])
- );
- }
-
- \Zotlabs\Daemon\Master::Summon(array('Directory',local_channel()));
-
- build_sync_packet();
-
-
- //$_SESSION['theme'] = $theme;
- if($email_changed && \App::$config['system']['register_policy'] == REGISTER_VERIFY) {
-
- // FIXME - set to un-verified, blocked and redirect to logout
- // Why? Are we verifying people or email addresses?
-
- }
-
goaway(z_root() . '/settings' );
return; // NOTREACHED
}
-
+
function get() {
- $o = '';
nav_set_selected('settings');
-
if((! local_channel()) || ($_SESSION['delegate'])) {
notice( t('Permission denied.') . EOL );
return login();
@@ -648,662 +65,14 @@ class Settings extends \Zotlabs\Web\Controller {
if($channel)
head_set_icon($channel['xchan_photo_s']);
- $yes_no = array(t('No'),t('Yes'));
-
- if((argc() > 1) && (argv(1) === 'oauth')) {
-
- if((argc() > 2) && (argv(2) === 'add')) {
- $tpl = get_markup_template("settings_oauth_edit.tpl");
- $o .= replace_macros($tpl, array(
- '$form_security_token' => get_form_security_token("settings_oauth"),
- '$title' => t('Add application'),
- '$submit' => t('Submit'),
- '$cancel' => t('Cancel'),
- '$name' => array('name', t('Name'), '', t('Name of application')),
- '$key' => array('key', t('Consumer Key'), random_string(16), t('Automatically generated - change if desired. Max length 20')),
- '$secret' => array('secret', t('Consumer Secret'), random_string(16), t('Automatically generated - change if desired. Max length 20')),
- '$redirect' => array('redirect', t('Redirect'), '', t('Redirect URI - leave blank unless your application specifically requires this')),
- '$icon' => array('icon', t('Icon url'), '', t('Optional')),
- ));
- return $o;
- }
-
- if((argc() > 3) && (argv(2) === 'edit')) {
- $r = q("SELECT * FROM clients WHERE client_id='%s' AND uid=%d",
- dbesc(argv(3)),
- local_channel());
-
- if (!count($r)){
- notice(t('Application not found.'));
- return;
- }
- $app = $r[0];
-
- $tpl = get_markup_template("settings_oauth_edit.tpl");
- $o .= replace_macros($tpl, array(
- '$form_security_token' => get_form_security_token("settings_oauth"),
- '$title' => t('Add application'),
- '$submit' => t('Update'),
- '$cancel' => t('Cancel'),
- '$name' => array('name', t('Name'), $app['clname'] , ''),
- '$key' => array('key', t('Consumer Key'), $app['client_id'], ''),
- '$secret' => array('secret', t('Consumer Secret'), $app['pw'], ''),
- '$redirect' => array('redirect', t('Redirect'), $app['redirect_uri'], ''),
- '$icon' => array('icon', t('Icon url'), $app['icon'], ''),
- ));
- return $o;
- }
-
- if((argc() > 3) && (argv(2) === 'delete')) {
- check_form_security_token_redirectOnErr('/settings/oauth', 'settings_oauth', 't');
-
- $r = q("DELETE FROM clients WHERE client_id='%s' AND uid=%d",
- dbesc(argv(3)),
- local_channel());
- goaway(z_root()."/settings/oauth/");
- return;
- }
-
-
- $r = q("SELECT clients.*, tokens.id as oauth_token, (clients.uid=%d) AS my
- FROM clients
- LEFT JOIN tokens ON clients.client_id=tokens.client_id
- WHERE clients.uid IN (%d,0)",
- local_channel(),
- local_channel());
-
-
- $tpl = get_markup_template("settings_oauth.tpl");
- $o .= replace_macros($tpl, array(
- '$form_security_token' => get_form_security_token("settings_oauth"),
- '$baseurl' => z_root(),
- '$title' => t('Connected Apps'),
- '$add' => t('Add application'),
- '$edit' => t('Edit'),
- '$delete' => t('Delete'),
- '$consumerkey' => t('Client key starts with'),
- '$noname' => t('No name'),
- '$remove' => t('Remove authorization'),
- '$apps' => $r,
- ));
- return $o;
-
- }
- if((argc() > 1) && (argv(1) === 'featured')) {
- $settings_addons = "";
-
- $o = '';
-
- $r = q("SELECT * FROM `hook` WHERE `hook` = 'feature_settings' ");
- if(! $r)
- $settings_addons = t('No feature settings configured');
-
- call_hooks('feature_settings', $settings_addons);
-
- $tpl = get_markup_template("settings_addons.tpl");
- $o .= replace_macros($tpl, array(
- '$form_security_token' => get_form_security_token("settings_featured"),
- '$title' => t('Feature/Addon Settings'),
- '$settings_addons' => $settings_addons
- ));
- return $o;
- }
-
-
- /*
- * ACCOUNT SETTINGS
- */
-
-
- if((argc() > 1) && (argv(1) === 'account')) {
- $account_settings = "";
-
- call_hooks('account_settings', $account_settings);
-
- $email = \App::$account['account_email'];
-
-
- $tpl = get_markup_template("settings_account.tpl");
- $o .= replace_macros($tpl, array(
- '$form_security_token' => get_form_security_token("settings_account"),
- '$title' => t('Account Settings'),
- '$origpass' => array('origpass', t('Current Password'), ' ',''),
- '$password1'=> array('npassword', t('Enter New Password'), '', ''),
- '$password2'=> array('confirm', t('Confirm New Password'), '', t('Leave password fields blank unless changing')),
- '$submit' => t('Submit'),
- '$email' => array('email', t('Email Address:'), $email, ''),
- '$removeme' => t('Remove Account'),
- '$removeaccount' => t('Remove this account including all its channels'),
- '$account_settings' => $account_settings
- ));
- return $o;
- }
-
- if((argc() > 1) && (argv(1) === 'tokens')) {
- $atoken = null;
- $atoken_xchan = '';
-
- if(argc() > 2) {
- $id = argv(2);
-
- $atoken = q("select * from atoken where atoken_id = %d and atoken_uid = %d",
- intval($id),
- intval(local_channel())
- );
-
- if($atoken) {
- $atoken = $atoken[0];
- $atoken_xchan = substr($channel['channel_hash'],0,16) . '.' . $atoken['atoken_name'];
- }
-
- if($atoken && argc() > 3 && argv(3) === 'drop') {
- atoken_delete($id);
- $atoken = null;
- $atoken_xchan = '';
- }
- }
-
- $t = q("select * from atoken where atoken_uid = %d",
- intval(local_channel())
- );
-
- $desc = t('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.');
-
- $desc2 = t('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:');
-
- $global_perms = \Zotlabs\Access\Permissions::Perms();
-
- $existing = get_all_perms(local_channel(),(($atoken_xchan) ? $atoken_xchan : ''));
-
- if($atoken_xchan) {
- $theirs = q("select * from abconfig where chan = %d and xchan = '%s' and cat = 'their_perms'",
- intval(local_channel()),
- dbesc($atoken_xchan)
- );
- $their_perms = array();
- if($theirs) {
- foreach($theirs as $t) {
- $their_perms[$t['k']] = $t['v'];
- }
- }
- }
- foreach($global_perms as $k => $v) {
- $thisperm = get_abconfig(local_channel(),$contact['abook_xchan'],'my_perms',$k);
-//fixme
-
- $checkinherited = \Zotlabs\Access\PermissionLimits::Get(local_channel(),$k);
-
- if($existing[$k])
- $thisperm = "1";
-
- $perms[] = array('perms_' . $k, $v, ((array_key_exists($k,$their_perms)) ? intval($their_perms[$k]) : ''),$thisperm, 1, (($checkinherited & PERMS_SPECIFIC) ? '' : '1'), '', $checkinherited);
- }
-
-
-
- $tpl = get_markup_template("settings_tokens.tpl");
- $o .= replace_macros($tpl, array(
- '$form_security_token' => get_form_security_token("settings_tokens"),
- '$title' => t('Guest Access Tokens'),
- '$desc' => $desc,
- '$desc2' => $desc2,
- '$tokens' => $t,
- '$atoken' => $atoken,
- '$url1' => z_root() . '/channel/' . $channel['channel_address'],
- '$url2' => z_root() . '/photos/' . $channel['channel_address'],
- '$name' => array('name', t('Login Name') . ' <span class="required">*</span>', (($atoken) ? $atoken['atoken_name'] : ''),''),
- '$token'=> array('token', t('Login Password') . ' <span class="required">*</span>',(($atoken) ? $atoken['atoken_token'] : autoname(8)), ''),
- '$expires'=> array('expires', t('Expires (yyyy-mm-dd)'), (($atoken['atoken_expires'] && $atoken['atoken_expires'] != NULL_DATE) ? datetime_convert('UTC',date_default_timezone_get(),$atoken['atoken_expires']) : ''), ''),
- '$them' => t('Their Settings'),
- '$me' => t('My Settings'),
- '$perms' => $perms,
- '$inherited' => t('inherited'),
- '$notself' => '1',
- '$permlbl' => t('Individual Permissions'),
- '$permnote' => t('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.'),
- '$submit' => t('Submit')
- ));
+ $o = $this->sm->call('get');
+ if($o !== false)
return $o;
- }
+ $o = '';
-
-
- if((argc() > 1) && (argv(1) === 'features')) {
- $arr = array();
- $features = get_features();
-
- foreach($features as $fname => $fdata) {
- $arr[$fname] = array();
- $arr[$fname][0] = $fdata[0];
- foreach(array_slice($fdata,1) as $f) {
- $arr[$fname][1][] = array('feature_' .$f[0],$f[1],((intval(feature_enabled(local_channel(),$f[0]))) ? "1" : ''),$f[2],array(t('Off'),t('On')));
- }
- }
-
- $tpl = get_markup_template("settings_features.tpl");
- $o .= replace_macros($tpl, array(
- '$form_security_token' => get_form_security_token("settings_features"),
- '$title' => t('Additional Features'),
- '$features' => $arr,
- '$submit' => t('Submit'),
- ));
-
- return $o;
- }
-
-
-
-
-
- if((argc() > 1) && (argv(1) === 'connectors')) {
-
- $settings_connectors = "";
-
- call_hooks('connector_settings', $settings_connectors);
-
- $r = null;
-
- $tpl = get_markup_template("settings_connectors.tpl");
-
- $o .= replace_macros($tpl, array(
- '$form_security_token' => get_form_security_token("settings_connectors"),
- '$title' => t('Connector Settings'),
- '$submit' => t('Submit'),
- '$settings_connectors' => $settings_connectors
- ));
-
- call_hooks('display_settings', $o);
- return $o;
- }
-
- /*
- * DISPLAY SETTINGS
- */
-
- if((argc() > 1) && (argv(1) === 'display')) {
- $default_theme = get_config('system','theme');
- if(! $default_theme)
- $default_theme = 'default';
- $default_mobile_theme = get_config('system','mobile_theme');
- if(! $mobile_default_theme)
- $mobile_default_theme = 'none';
-
- $allowed_themes_str = get_config('system','allowed_themes');
- $allowed_themes_raw = explode(',',$allowed_themes_str);
- $allowed_themes = array();
- if(count($allowed_themes_raw))
- foreach($allowed_themes_raw as $x)
- if(strlen(trim($x)) && is_dir("view/theme/$x"))
- $allowed_themes[] = trim($x);
-
-
- $themes = array();
- $files = glob('view/theme/*');
- if($allowed_themes) {
- foreach($allowed_themes as $th) {
- $f = $th;
- $is_experimental = file_exists('view/theme/' . $th . '/experimental');
- $unsupported = file_exists('view/theme/' . $th . '/unsupported');
- $is_mobile = file_exists('view/theme/' . $th . '/mobile');
- $is_library = file_exists('view/theme/'. $th . '/library');
- $mobile_themes["---"] = t("No special theme for mobile devices");
-
- if (!$is_experimental or ($is_experimental && (get_config('experimentals','exp_themes')==1 or get_config('experimentals','exp_themes')===false))){
- $theme_name = (($is_experimental) ? sprintf(t('%s - (Experimental)'), $f) : $f);
- if (! $is_library) {
- if($is_mobile) {
- $mobile_themes[$f] = $themes[$f] = $theme_name . ' (' . t('mobile') . ')';
- }
- else {
- $mobile_themes[$f] = $themes[$f] = $theme_name;
- }
- }
- }
-
- }
- }
- $theme_selected = (!x($_SESSION,'theme')? $default_theme : $_SESSION['theme']);
- $mobile_theme_selected = (!x($_SESSION,'mobile_theme')? $default_mobile_theme : $_SESSION['mobile_theme']);
-
- $preload_images = get_pconfig(local_channel(),'system','preload_images');
- $preload_images = (($preload_images===false)? '0': $preload_images); // default if not set: 0
-
- $user_scalable = get_pconfig(local_channel(),'system','user_scalable');
- $user_scalable = (($user_scalable===false)? '1': $user_scalable); // default if not set: 1
-
- $browser_update = intval(get_pconfig(local_channel(), 'system','update_interval'));
- $browser_update = (($browser_update == 0) ? 80 : $browser_update / 1000); // default if not set: 40 seconds
-
- $itemspage = intval(get_pconfig(local_channel(), 'system','itemspage'));
- $itemspage = (($itemspage > 0 && $itemspage < 101) ? $itemspage : 20); // default if not set: 20 items
-
- $nosmile = get_pconfig(local_channel(),'system','no_smilies');
- $nosmile = (($nosmile===false)? '0': $nosmile); // default if not set: 0
-
- $title_tosource = get_pconfig(local_channel(),'system','title_tosource');
- $title_tosource = (($title_tosource===false)? '0': $title_tosource); // default if not set: 0
-
- $theme_config = "";
- if( ($themeconfigfile = $this->get_theme_config_file($theme_selected)) != null){
- require_once($themeconfigfile);
- $theme_config = theme_content($a);
- }
-
- $tpl = get_markup_template("settings_display.tpl");
- $o = replace_macros($tpl, array(
- '$ptitle' => t('Display Settings'),
- '$d_tset' => t('Theme Settings'),
- '$d_ctset' => t('Custom Theme Settings'),
- '$d_cset' => t('Content Settings'),
- '$form_security_token' => get_form_security_token("settings_display"),
- '$submit' => t('Submit'),
- '$baseurl' => z_root(),
- '$uid' => local_channel(),
-
- '$theme' => (($themes) ? array('theme', t('Display Theme:'), $theme_selected, '', $themes, 'preview') : false),
- '$mobile_theme' => (($mobile_themes) ? array('mobile_theme', t('Mobile Theme:'), $mobile_theme_selected, '', $mobile_themes, '') : false),
- '$preload_images' => array('preload_images', t("Preload images before rendering the page"), $preload_images, t("The subjective page load time will be longer but the page will be ready when displayed"), $yes_no),
- '$user_scalable' => array('user_scalable', t("Enable user zoom on mobile devices"), $user_scalable, '', $yes_no),
- '$ajaxint' => array('browser_update', t("Update browser every xx seconds"), $browser_update, t('Minimum of 10 seconds, no maximum')),
- '$itemspage' => array('itemspage', t("Maximum number of conversations to load at any time:"), $itemspage, t('Maximum of 100 items')),
- '$nosmile' => array('nosmile', t("Show emoticons (smilies) as images"), 1-intval($nosmile), '', $yes_no),
- '$title_tosource' => array('title_tosource', t("Link post titles to source"), $title_tosource, '', $yes_no),
- '$layout_editor' => t('System Page Layout Editor - (advanced)'),
- '$theme_config' => $theme_config,
- '$expert' => feature_enabled(local_channel(),'expert'),
- '$channel_list_mode' => array('channel_list_mode', t('Use blog/list mode on channel page'), get_pconfig(local_channel(),'system','channel_list_mode'), t('(comments displayed separately)'), $yes_no),
- '$network_list_mode' => array('network_list_mode', t('Use blog/list mode on grid page'), get_pconfig(local_channel(),'system','network_list_mode'), t('(comments displayed separately)'), $yes_no),
- '$channel_divmore_height' => array('channel_divmore_height', t('Channel page max height of content (in pixels)'), ((get_pconfig(local_channel(),'system','channel_divmore_height')) ? get_pconfig(local_channel(),'system','channel_divmore_height') : 400), t('click to expand content exceeding this height')),
- '$network_divmore_height' => array('network_divmore_height', t('Grid page max height of content (in pixels)'), ((get_pconfig(local_channel(),'system','network_divmore_height')) ? get_pconfig(local_channel(),'system','network_divmore_height') : 400) , t('click to expand content exceeding this height')),
-
-
- ));
-
- return $o;
- }
-
- if(argv(1) === 'channel') {
-
- require_once('include/acl_selectors.php');
- require_once('include/permissions.php');
-
-
- $p = q("SELECT * FROM `profile` WHERE `is_default` = 1 AND `uid` = %d LIMIT 1",
- intval(local_channel())
- );
- if(count($p))
- $profile = $p[0];
-
- load_pconfig(local_channel(),'expire');
-
- $channel = \App::get_channel();
-
- $global_perms = \Zotlabs\Access\Permissions::Perms();
-
- $permiss = array();
-
- $perm_opts = array(
- array( t('Nobody except yourself'), 0),
- array( t('Only those you specifically allow'), PERMS_SPECIFIC),
- array( t('Approved connections'), PERMS_CONTACTS),
- array( t('Any connections'), PERMS_PENDING),
- array( t('Anybody on this website'), PERMS_SITE),
- array( t('Anybody in this network'), PERMS_NETWORK),
- array( t('Anybody authenticated'), PERMS_AUTHED),
- array( t('Anybody on the internet'), PERMS_PUBLIC)
- );
-
- $limits = \Zotlabs\Access\PermissionLimits::Get(local_channel());
-
- foreach($global_perms as $k => $perm) {
- $options = array();
- foreach($perm_opts as $opt) {
- $options[$opt[1]] = $opt[0];
- }
- $permiss[] = array($k,$perm,$limits[$k],'',$options);
- }
-
-
- //logger('permiss: ' . print_r($permiss,true));
-
-
-
- $username = $channel['channel_name'];
- $nickname = $channel['channel_address'];
- $timezone = $channel['channel_timezone'];
- $notify = $channel['channel_notifyflags'];
- $defloc = $channel['channel_location'];
-
- $maxreq = $channel['channel_max_friend_req'];
- $expire = $channel['channel_expire_days'];
- $adult_flag = intval($channel['channel_pageflags'] & PAGE_ADULT);
- $sys_expire = get_config('system','default_expire_days');
-
- // $unkmail = \App::$user['unkmail'];
- // $cntunkmail = \App::$user['cntunkmail'];
-
- $hide_presence = intval(get_pconfig(local_channel(), 'system','hide_online_status'));
-
-
- $expire_items = get_pconfig(local_channel(), 'expire','items');
- $expire_items = (($expire_items===false)? '1' : $expire_items); // default if not set: 1
-
- $expire_notes = get_pconfig(local_channel(), 'expire','notes');
- $expire_notes = (($expire_notes===false)? '1' : $expire_notes); // default if not set: 1
-
- $expire_starred = get_pconfig(local_channel(), 'expire','starred');
- $expire_starred = (($expire_starred===false)? '1' : $expire_starred); // default if not set: 1
-
- $expire_photos = get_pconfig(local_channel(), 'expire','photos');
- $expire_photos = (($expire_photos===false)? '0' : $expire_photos); // default if not set: 0
-
- $expire_network_only = get_pconfig(local_channel(), 'expire','network_only');
- $expire_network_only = (($expire_network_only===false)? '0' : $expire_network_only); // default if not set: 0
-
-
- $suggestme = get_pconfig(local_channel(), 'system','suggestme');
- $suggestme = (($suggestme===false)? '0': $suggestme); // default if not set: 0
-
- $post_newfriend = get_pconfig(local_channel(), 'system','post_newfriend');
- $post_newfriend = (($post_newfriend===false)? '0': $post_newfriend); // default if not set: 0
-
- $post_joingroup = get_pconfig(local_channel(), 'system','post_joingroup');
- $post_joingroup = (($post_joingroup===false)? '0': $post_joingroup); // default if not set: 0
-
- $post_profilechange = get_pconfig(local_channel(), 'system','post_profilechange');
- $post_profilechange = (($post_profilechange===false)? '0': $post_profilechange); // default if not set: 0
-
- $blocktags = get_pconfig(local_channel(),'system','blocktags');
- $blocktags = (($blocktags===false) ? '0' : $blocktags);
-
- $timezone = date_default_timezone_get();
-
- $opt_tpl = get_markup_template("field_checkbox.tpl");
- if(get_config('system','publish_all')) {
- $profile_in_dir = '<input type="hidden" name="profile_in_directory" value="1" />';
- }
- else {
- $profile_in_dir = replace_macros($opt_tpl,array(
- '$field' => array('profile_in_directory', t('Publish your default profile in the network directory'), $profile['publish'], '', $yes_no),
- ));
- }
-
- $suggestme = replace_macros($opt_tpl,array(
- '$field' => array('suggestme', t('Allow us to suggest you as a potential friend to new members?'), $suggestme, '', $yes_no),
-
- ));
-
- $subdir = ((strlen(\App::get_path())) ? '<br />' . t('or') . ' ' . z_root() . '/channel/' . $nickname : '');
-
- $tpl_addr = get_markup_template("settings_nick_set.tpl");
-
- $prof_addr = replace_macros($tpl_addr,array(
- '$desc' => t('Your channel address is'),
- '$nickname' => $nickname,
- '$subdir' => $subdir,
- '$basepath' => \App::get_hostname()
- ));
-
- $stpl = get_markup_template('settings.tpl');
-
- $acl = new \Zotlabs\Access\AccessList($channel);
- $perm_defaults = $acl->get();
-
- require_once('include/group.php');
- $group_select = mini_group_select(local_channel(),$channel['channel_default_group']);
-
- require_once('include/menu.php');
- $m1 = menu_list(local_channel());
- $menu = false;
- if($m1) {
- $menu = array();
- $current = get_pconfig(local_channel(),'system','channel_menu');
- $menu[] = array('name' => '', 'selected' => ((! $current) ? true : false));
- foreach($m1 as $m) {
- $menu[] = array('name' => htmlspecialchars($m['menu_name'],ENT_COMPAT,'UTF-8'), 'selected' => (($m['menu_name'] === $current) ? ' selected="selected" ' : false));
- }
- }
-
- $evdays = get_pconfig(local_channel(),'system','evdays');
- if(! $evdays)
- $evdays = 3;
-
- $permissions_role = get_pconfig(local_channel(),'system','permissions_role');
- if(! $permissions_role)
- $permissions_role = 'custom';
-
- $permissions_set = (($permissions_role != 'custom') ? true : false);
-
- $vnotify = get_pconfig(local_channel(),'system','vnotify');
- $always_show_in_notices = get_pconfig(local_channel(),'system','always_show_in_notices');
- if($vnotify === false)
- $vnotify = (-1);
-
- $o .= replace_macros($stpl,array(
- '$ptitle' => t('Channel Settings'),
-
- '$submit' => t('Submit'),
- '$baseurl' => z_root(),
- '$uid' => local_channel(),
- '$form_security_token' => get_form_security_token("settings"),
- '$nickname_block' => $prof_addr,
- '$h_basic' => t('Basic Settings'),
- '$username' => array('username', t('Full Name:'), $username,''),
- '$email' => array('email', t('Email Address:'), $email, ''),
- '$timezone' => array('timezone_select' , t('Your Timezone:'), $timezone, '', get_timezones()),
- '$defloc' => array('defloc', t('Default Post Location:'), $defloc, t('Geographical location to display on your posts')),
- '$allowloc' => array('allow_location', t('Use Browser Location:'), ((get_pconfig(local_channel(),'system','use_browser_location')) ? 1 : ''), '', $yes_no),
-
- '$adult' => array('adult', t('Adult Content'), $adult_flag, t('This channel frequently or regularly publishes adult content. (Please tag any adult material and/or nudity with #NSFW)'), $yes_no),
-
- '$h_prv' => t('Security and Privacy Settings'),
- '$permissions_set' => $permissions_set,
- '$server_role' => \Zotlabs\Lib\System::get_server_role(),
- '$perms_set_msg' => t('Your permissions are already configured. Click to view/adjust'),
-
- '$hide_presence' => array('hide_presence', t('Hide my online presence'),$hide_presence, t('Prevents displaying in your profile that you are online'), $yes_no),
-
- '$lbl_pmacro' => t('Simple Privacy Settings:'),
- '$pmacro3' => t('Very Public - <em>extremely permissive (should be used with caution)</em>'),
- '$pmacro2' => t('Typical - <em>default public, privacy when desired (similar to social network permissions but with improved privacy)</em>'),
- '$pmacro1' => t('Private - <em>default private, never open or public</em>'),
- '$pmacro0' => t('Blocked - <em>default blocked to/from everybody</em>'),
- '$permiss_arr' => $permiss,
- '$blocktags' => array('blocktags',t('Allow others to tag your posts'), 1-$blocktags, t('Often used by the community to retro-actively flag inappropriate content'), $yes_no),
-
- '$lbl_p2macro' => t('Advanced Privacy Settings'),
-
- '$expire' => array('expire',t('Expire other channel content after this many days'),$expire, t('0 or blank to use the website limit.') . ' ' . ((intval($sys_expire)) ? sprintf( t('This website expires after %d days.'),intval($sys_expire)) : t('This website does not expire imported content.')) . ' ' . t('The website limit takes precedence if lower than your limit.')),
- '$maxreq' => array('maxreq', t('Maximum Friend Requests/Day:'), intval($channel['channel_max_friend_req']) , t('May reduce spam activity')),
- '$permissions' => t('Default Post and Publish Permissions'),
- '$permdesc' => t("\x28click to open/close\x29"),
- '$aclselect' => populate_acl($perm_defaults, false, \Zotlabs\Lib\PermissionDescription::fromDescription(t('Use my default audience setting for the type of object published'))),
- '$allow_cid' => acl2json($perm_defaults['allow_cid']),
- '$allow_gid' => acl2json($perm_defaults['allow_gid']),
- '$deny_cid' => acl2json($perm_defaults['deny_cid']),
- '$deny_gid' => acl2json($perm_defaults['deny_gid']),
- '$suggestme' => $suggestme,
- '$group_select' => $group_select,
- '$role' => array('permissions_role' , t('Channel permissions category:'), $permissions_role, '', get_roles()),
-
- '$profile_in_dir' => $profile_in_dir,
- '$hide_friends' => $hide_friends,
- '$hide_wall' => $hide_wall,
- '$unkmail' => $unkmail,
- '$cntunkmail' => array('cntunkmail', t('Maximum private messages per day from unknown people:'), intval($channel['channel_max_anon_mail']) ,t("Useful to reduce spamming")),
-
-
- '$h_not' => t('Notification Settings'),
- '$activity_options' => t('By default post a status message when:'),
- '$post_newfriend' => array('post_newfriend', t('accepting a friend request'), $post_newfriend, '', $yes_no),
- '$post_joingroup' => array('post_joingroup', t('joining a forum/community'), $post_joingroup, '', $yes_no),
- '$post_profilechange' => array('post_profilechange', t('making an <em>interesting</em> profile change'), $post_profilechange, '', $yes_no),
- '$lbl_not' => t('Send a notification email when:'),
- '$notify1' => array('notify1', t('You receive a connection request'), ($notify & NOTIFY_INTRO), NOTIFY_INTRO, '', $yes_no),
- '$notify2' => array('notify2', t('Your connections are confirmed'), ($notify & NOTIFY_CONFIRM), NOTIFY_CONFIRM, '', $yes_no),
- '$notify3' => array('notify3', t('Someone writes on your profile wall'), ($notify & NOTIFY_WALL), NOTIFY_WALL, '', $yes_no),
- '$notify4' => array('notify4', t('Someone writes a followup comment'), ($notify & NOTIFY_COMMENT), NOTIFY_COMMENT, '', $yes_no),
- '$notify5' => array('notify5', t('You receive a private message'), ($notify & NOTIFY_MAIL), NOTIFY_MAIL, '', $yes_no),
- '$notify6' => array('notify6', t('You receive a friend suggestion'), ($notify & NOTIFY_SUGGEST), NOTIFY_SUGGEST, '', $yes_no),
- '$notify7' => array('notify7', t('You are tagged in a post'), ($notify & NOTIFY_TAGSELF), NOTIFY_TAGSELF, '', $yes_no),
- '$notify8' => array('notify8', t('You are poked/prodded/etc. in a post'), ($notify & NOTIFY_POKE), NOTIFY_POKE, '', $yes_no),
-
-
- '$lbl_vnot' => t('Show visual notifications including:'),
-
- '$vnotify1' => array('vnotify1', t('Unseen grid activity'), ($vnotify & VNOTIFY_NETWORK), VNOTIFY_NETWORK, '', $yes_no),
- '$vnotify2' => array('vnotify2', t('Unseen channel activity'), ($vnotify & VNOTIFY_CHANNEL), VNOTIFY_CHANNEL, '', $yes_no),
- '$vnotify3' => array('vnotify3', t('Unseen private messages'), ($vnotify & VNOTIFY_MAIL), VNOTIFY_MAIL, t('Recommended'), $yes_no),
- '$vnotify4' => array('vnotify4', t('Upcoming events'), ($vnotify & VNOTIFY_EVENT), VNOTIFY_EVENT, '', $yes_no),
- '$vnotify5' => array('vnotify5', t('Events today'), ($vnotify & VNOTIFY_EVENTTODAY), VNOTIFY_EVENTTODAY, '', $yes_no),
- '$vnotify6' => array('vnotify6', t('Upcoming birthdays'), ($vnotify & VNOTIFY_BIRTHDAY), VNOTIFY_BIRTHDAY, t('Not available in all themes'), $yes_no),
- '$vnotify7' => array('vnotify7', t('System (personal) notifications'), ($vnotify & VNOTIFY_SYSTEM), VNOTIFY_SYSTEM, '', $yes_no),
- '$vnotify8' => array('vnotify8', t('System info messages'), ($vnotify & VNOTIFY_INFO), VNOTIFY_INFO, t('Recommended'), $yes_no),
- '$vnotify9' => array('vnotify9', t('System critical alerts'), ($vnotify & VNOTIFY_ALERT), VNOTIFY_ALERT, t('Recommended'), $yes_no),
- '$vnotify10' => array('vnotify10', t('New connections'), ($vnotify & VNOTIFY_INTRO), VNOTIFY_INTRO, t('Recommended'), $yes_no),
- '$vnotify11' => array('vnotify11', t('System Registrations'), ($vnotify & VNOTIFY_REGISTER), VNOTIFY_REGISTER, '', $yes_no),
- '$always_show_in_notices' => array('always_show_in_notices', t('Also show new wall posts, private messages and connections under Notices'), $always_show_in_notices, 1, '', $yes_no),
-
- '$evdays' => array('evdays', t('Notify me of events this many days in advance'), $evdays, t('Must be greater than 0')),
-
- '$h_advn' => t('Advanced Account/Page Type Settings'),
- '$h_descadvn' => t('Change the behaviour of this account for special situations'),
- '$pagetype' => $pagetype,
- '$expert' => feature_enabled(local_channel(),'expert'),
- '$hint' => t('Please enable expert mode (in <a href="settings/features">Settings > Additional features</a>) to adjust!'),
- '$lbl_misc' => t('Miscellaneous Settings'),
- '$photo_path' => array('photo_path', t('Default photo upload folder'), get_pconfig(local_channel(),'system','photo_path'), t('%Y - current year, %m - current month')),
- '$attach_path' => array('attach_path', t('Default file upload folder'), get_pconfig(local_channel(),'system','attach_path'), t('%Y - current year, %m - current month')),
- '$menus' => $menu,
- '$menu_desc' => t('Personal menu to display in your channel pages'),
- '$removeme' => t('Remove Channel'),
- '$removechannel' => t('Remove this channel.'),
- '$firefoxshare' => t('Firefox Share $Projectname provider'),
- '$cal_first_day' => array('first_day', t('Start calendar week on monday'), ((get_pconfig(local_channel(),'system','cal_first_day')) ? 1 : ''), '', $yes_no),
- ));
-
- call_hooks('settings_form',$o);
-
- //$o .= '</form>' . "\r\n";
-
- return $o;
- }
- }
-
- function get_theme_config_file($theme){
+ }
+}
- $base_theme = \App::$theme_info['extends'];
-
- if (file_exists("view/theme/$theme/php/config.php")){
- return "view/theme/$theme/php/config.php";
- }
- if (file_exists("view/theme/$base_theme/php/config.php")){
- return "view/theme/$base_theme/php/config.php";
- }
- return null;
- }
-
-}
diff --git a/Zotlabs/Module/Settings/Account.php b/Zotlabs/Module/Settings/Account.php
new file mode 100644
index 000000000..cd5ed1fca
--- /dev/null
+++ b/Zotlabs/Module/Settings/Account.php
@@ -0,0 +1,135 @@
+<?php
+
+namespace Zotlabs\Module\Settings;
+
+class Account {
+
+ function post() {
+ check_form_security_token_redirectOnErr('/settings/account', 'settings_account');
+
+ call_hooks('account_settings_post', $_POST);
+
+ $errs = array();
+
+ $email = ((x($_POST,'email')) ? trim(notags($_POST['email'])) : '');
+ $techlevel = ((array_key_exists('techlevel',$_POST)) ? intval($_POST['techlevel']) : 0);
+
+ $account = \App::get_account();
+ if($email != $account['account_email']) {
+ if(! valid_email($email))
+ $errs[] = t('Not valid email.');
+ $adm = trim(get_config('system','admin_email'));
+ if(($adm) && (strcasecmp($email,$adm) == 0)) {
+ $errs[] = t('Protected email address. Cannot change to that email.');
+ $email = \App::$account['account_email'];
+ }
+ if(! $errs) {
+ $r = q("update account set account_email = '%s' where account_id = %d",
+ dbesc($email),
+ intval($account['account_id'])
+ );
+ if(! $r)
+ $errs[] = t('System failure storing new email. Please try again.');
+ }
+ }
+ if($techlevel != $account['account_level']) {
+ $r = q("update account set account_level = %d where account_id = %d",
+ intval($techlevel),
+ intval($account['account_id'])
+ );
+ info( t('Technical skill level updated') . EOL);
+ }
+
+ if($errs) {
+ foreach($errs as $err)
+ notice($err . EOL);
+ $errs = array();
+ }
+
+
+ if((x($_POST,'npassword')) || (x($_POST,'confirm'))) {
+
+ $origpass = trim($_POST['origpass']);
+
+ require_once('include/auth.php');
+ if(! account_verify_password($email,$origpass)) {
+ $errs[] = t('Password verification failed.');
+ }
+
+ $newpass = trim($_POST['npassword']);
+ $confirm = trim($_POST['confirm']);
+
+ if($newpass != $confirm ) {
+ $errs[] = t('Passwords do not match. Password unchanged.');
+ }
+
+ if((! x($newpass)) || (! x($confirm))) {
+ $errs[] = t('Empty passwords are not allowed. Password unchanged.');
+ }
+
+ if(! $errs) {
+ $salt = random_string(32);
+ $password_encoded = hash('whirlpool', $salt . $newpass);
+ $r = q("update account set account_salt = '%s', account_password = '%s', account_password_changed = '%s'
+ where account_id = %d",
+ dbesc($salt),
+ dbesc($password_encoded),
+ dbesc(datetime_convert()),
+ intval(get_account_id())
+ );
+ if($r)
+ info( t('Password changed.') . EOL);
+ else
+ $errs[] = t('Password update failed. Please try again.');
+ }
+ }
+
+
+ if($errs) {
+ foreach($errs as $err)
+ notice($err . EOL);
+ }
+ goaway(z_root() . '/settings/account' );
+ }
+
+
+
+ function get() {
+ $account_settings = "";
+
+ call_hooks('account_settings', $account_settings);
+
+ $email = \App::$account['account_email'];
+
+ $techlevels = [
+ '0' => t('Beginner/Basic'),
+ '1' => t('Novice - not skilled but willing to learn'),
+ '2' => t('Intermediate - somewhat comfortable'),
+ '3' => t('Advanced - very comfortable'),
+ '4' => t('Expert - I can write computer code'),
+ '5' => t('Wizard - I probably know more than you do')
+ ];
+
+
+ $def_techlevel = \App::$account['account_level'];
+ $techlock = get_config('system','techlevel_lock');
+
+ $tpl = get_markup_template("settings_account.tpl");
+ $o .= replace_macros($tpl, array(
+ '$form_security_token' => get_form_security_token("settings_account"),
+ '$title' => t('Account Settings'),
+ '$origpass' => array('origpass', t('Current Password'), ' ',''),
+ '$password1'=> array('npassword', t('Enter New Password'), '', ''),
+ '$password2'=> array('confirm', t('Confirm New Password'), '', t('Leave password fields blank unless changing')),
+ '$techlevel' => [ 'techlevel', t('Your technical skill level'), $def_techlevel, t('Used to provide a member experience matched to your comfort level'), $techlevels ],
+ '$techlock' => $techlock,
+ '$submit' => t('Submit'),
+ '$email' => array('email', t('Email Address:'), $email, ''),
+ '$removeme' => t('Remove Account'),
+ '$removeaccount' => t('Remove this account including all its channels'),
+ '$account_settings' => $account_settings
+ ));
+ return $o;
+ }
+
+}
diff --git a/Zotlabs/Module/Settings/Channel.php b/Zotlabs/Module/Settings/Channel.php
new file mode 100644
index 000000000..a7d8b883f
--- /dev/null
+++ b/Zotlabs/Module/Settings/Channel.php
@@ -0,0 +1,556 @@
+<?php
+
+namespace Zotlabs\Module\Settings;
+
+
+class Channel {
+
+
+ function post() {
+
+ $channel = \App::get_channel();
+
+ check_form_security_token_redirectOnErr('/settings', 'settings');
+
+ call_hooks('settings_post', $_POST);
+
+ $set_perms = '';
+
+ $role = ((x($_POST,'permissions_role')) ? notags(trim($_POST['permissions_role'])) : '');
+ $oldrole = get_pconfig(local_channel(),'system','permissions_role');
+
+ if(($role != $oldrole) || ($role === 'custom')) {
+
+ if($role === 'custom') {
+ $hide_presence = (((x($_POST,'hide_presence')) && (intval($_POST['hide_presence']) == 1)) ? 1: 0);
+ $publish = (((x($_POST,'profile_in_directory')) && (intval($_POST['profile_in_directory']) == 1)) ? 1: 0);
+ $def_group = ((x($_POST,'group-selection')) ? notags(trim($_POST['group-selection'])) : '');
+ $r = q("update channel set channel_default_group = '%s' where channel_id = %d",
+ dbesc($def_group),
+ intval(local_channel())
+ );
+
+ $global_perms = \Zotlabs\Access\Permissions::Perms();
+
+ foreach($global_perms as $k => $v) {
+ \Zotlabs\Access\PermissionLimits::Set(local_channel(),$k,intval($_POST[$k]));
+ }
+ $acl = new \Zotlabs\Access\AccessList($channel);
+ $acl->set_from_array($_POST);
+ $x = $acl->get();
+
+ $r = q("update channel set channel_allow_cid = '%s', channel_allow_gid = '%s',
+ channel_deny_cid = '%s', channel_deny_gid = '%s' where channel_id = %d",
+ dbesc($x['allow_cid']),
+ dbesc($x['allow_gid']),
+ dbesc($x['deny_cid']),
+ dbesc($x['deny_gid']),
+ intval(local_channel())
+ );
+ }
+ else {
+ $role_permissions = \Zotlabs\Access\PermissionRoles::role_perms($_POST['permissions_role']);
+ if(! $role_permissions) {
+ notice('Permissions category could not be found.');
+ return;
+ }
+ $hide_presence = 1 - (intval($role_permissions['online']));
+ if($role_permissions['default_collection']) {
+ $r = q("select hash from groups where uid = %d and gname = '%s' limit 1",
+ intval(local_channel()),
+ dbesc( t('Friends') )
+ );
+ if(! $r) {
+ require_once('include/group.php');
+ group_add(local_channel(), t('Friends'));
+ group_add_member(local_channel(),t('Friends'),$channel['channel_hash']);
+ $r = q("select hash from groups where uid = %d and gname = '%s' limit 1",
+ intval(local_channel()),
+ dbesc( t('Friends') )
+ );
+ }
+ if($r) {
+ q("update channel set channel_default_group = '%s', channel_allow_gid = '%s', channel_allow_cid = '', channel_deny_gid = '', channel_deny_cid = '' where channel_id = %d",
+ dbesc($r[0]['hash']),
+ dbesc('<' . $r[0]['hash'] . '>'),
+ intval(local_channel())
+ );
+ }
+ else {
+ notice( sprintf('Default privacy group \'%s\' not found. Please create and re-submit permission change.', t('Friends')) . EOL);
+ return;
+ }
+ }
+ // no default collection
+ else {
+ q("update channel set channel_default_group = '', channel_allow_gid = '', channel_allow_cid = '', channel_deny_gid = '',
+ channel_deny_cid = '' where channel_id = %d",
+ intval(local_channel())
+ );
+ }
+
+ $x = \Zotlabs\Access\Permissions::FilledPerms($role_permissions['perms_connect']);
+ foreach($x as $k => $v) {
+ set_abconfig(local_channel(),$channel['channel_hash'],'my_perms',$k, $v);
+ if($role_permissions['perms_auto']) {
+ set_pconfig(local_channel(),'autoperms',$k,$v);
+ }
+ else {
+ del_pconfig(local_channel(),'autoperms',$k);
+ }
+ }
+
+ if($role_permissions['limits']) {
+ foreach($role_permissions['limits'] as $k => $v) {
+ \Zotlabs\Access\PermissionLimits::Set(local_channel(),$k,$v);
+ }
+ }
+ if(array_key_exists('directory_publish',$role_permissions)) {
+ $publish = intval($role_permissions['directory_publish']);
+ }
+ }
+
+ set_pconfig(local_channel(),'system','hide_online_status',$hide_presence);
+ set_pconfig(local_channel(),'system','permissions_role',$role);
+ }
+
+ $username = ((x($_POST,'username')) ? notags(trim($_POST['username'])) : '');
+ $timezone = ((x($_POST,'timezone_select')) ? notags(trim($_POST['timezone_select'])) : '');
+ $defloc = ((x($_POST,'defloc')) ? notags(trim($_POST['defloc'])) : '');
+ $openid = ((x($_POST,'openid_url')) ? notags(trim($_POST['openid_url'])) : '');
+ $maxreq = ((x($_POST,'maxreq')) ? intval($_POST['maxreq']) : 0);
+ $expire = ((x($_POST,'expire')) ? intval($_POST['expire']) : 0);
+ $evdays = ((x($_POST,'evdays')) ? intval($_POST['evdays']) : 3);
+ $photo_path = ((x($_POST,'photo_path')) ? escape_tags(trim($_POST['photo_path'])) : '');
+ $attach_path = ((x($_POST,'attach_path')) ? escape_tags(trim($_POST['attach_path'])) : '');
+
+ $channel_menu = ((x($_POST['channel_menu'])) ? htmlspecialchars_decode(trim($_POST['channel_menu']),ENT_QUOTES) : '');
+
+ $expire_items = ((x($_POST,'expire_items')) ? intval($_POST['expire_items']) : 0);
+ $expire_starred = ((x($_POST,'expire_starred')) ? intval($_POST['expire_starred']) : 0);
+ $expire_photos = ((x($_POST,'expire_photos'))? intval($_POST['expire_photos']) : 0);
+ $expire_network_only = ((x($_POST,'expire_network_only'))? intval($_POST['expire_network_only']) : 0);
+
+ $allow_location = (((x($_POST,'allow_location')) && (intval($_POST['allow_location']) == 1)) ? 1: 0);
+
+ $blocktags = (((x($_POST,'blocktags')) && (intval($_POST['blocktags']) == 1)) ? 0: 1); // this setting is inverted!
+ $unkmail = (((x($_POST,'unkmail')) && (intval($_POST['unkmail']) == 1)) ? 1: 0);
+ $cntunkmail = ((x($_POST,'cntunkmail')) ? intval($_POST['cntunkmail']) : 0);
+ $suggestme = ((x($_POST,'suggestme')) ? intval($_POST['suggestme']) : 0);
+
+ $post_newfriend = (($_POST['post_newfriend'] == 1) ? 1: 0);
+ $post_joingroup = (($_POST['post_joingroup'] == 1) ? 1: 0);
+ $post_profilechange = (($_POST['post_profilechange'] == 1) ? 1: 0);
+ $adult = (($_POST['adult'] == 1) ? 1 : 0);
+
+ $cal_first_day = (((x($_POST,'first_day')) && (intval($_POST['first_day']) == 1)) ? 1: 0);
+
+ $pageflags = $channel['channel_pageflags'];
+ $existing_adult = (($pageflags & PAGE_ADULT) ? 1 : 0);
+ if($adult != $existing_adult)
+ $pageflags = ($pageflags ^ PAGE_ADULT);
+
+
+ $notify = 0;
+
+ if(x($_POST,'notify1'))
+ $notify += intval($_POST['notify1']);
+ if(x($_POST,'notify2'))
+ $notify += intval($_POST['notify2']);
+ if(x($_POST,'notify3'))
+ $notify += intval($_POST['notify3']);
+ if(x($_POST,'notify4'))
+ $notify += intval($_POST['notify4']);
+ if(x($_POST,'notify5'))
+ $notify += intval($_POST['notify5']);
+ if(x($_POST,'notify6'))
+ $notify += intval($_POST['notify6']);
+ if(x($_POST,'notify7'))
+ $notify += intval($_POST['notify7']);
+ if(x($_POST,'notify8'))
+ $notify += intval($_POST['notify8']);
+
+
+ $vnotify = 0;
+
+ if(x($_POST,'vnotify1'))
+ $vnotify += intval($_POST['vnotify1']);
+ if(x($_POST,'vnotify2'))
+ $vnotify += intval($_POST['vnotify2']);
+ if(x($_POST,'vnotify3'))
+ $vnotify += intval($_POST['vnotify3']);
+ if(x($_POST,'vnotify4'))
+ $vnotify += intval($_POST['vnotify4']);
+ if(x($_POST,'vnotify5'))
+ $vnotify += intval($_POST['vnotify5']);
+ if(x($_POST,'vnotify6'))
+ $vnotify += intval($_POST['vnotify6']);
+ if(x($_POST,'vnotify7'))
+ $vnotify += intval($_POST['vnotify7']);
+ if(x($_POST,'vnotify8'))
+ $vnotify += intval($_POST['vnotify8']);
+ if(x($_POST,'vnotify9'))
+ $vnotify += intval($_POST['vnotify9']);
+ if(x($_POST,'vnotify10'))
+ $vnotify += intval($_POST['vnotify10']);
+ if(x($_POST,'vnotify11'))
+ $vnotify += intval($_POST['vnotify11']);
+
+ $always_show_in_notices = x($_POST,'always_show_in_notices') ? 1 : 0;
+
+ $err = '';
+
+ $name_change = false;
+
+ if($username != $channel['channel_name']) {
+ $name_change = true;
+ require_once('include/channel.php');
+ $err = validate_channelname($username);
+ if($err) {
+ notice($err);
+ return;
+ }
+ }
+
+ if($timezone != $channel['channel_timezone']) {
+ if(strlen($timezone))
+ date_default_timezone_set($timezone);
+ }
+
+ set_pconfig(local_channel(),'system','use_browser_location',$allow_location);
+ set_pconfig(local_channel(),'system','suggestme', $suggestme);
+ set_pconfig(local_channel(),'system','post_newfriend', $post_newfriend);
+ set_pconfig(local_channel(),'system','post_joingroup', $post_joingroup);
+ set_pconfig(local_channel(),'system','post_profilechange', $post_profilechange);
+ set_pconfig(local_channel(),'system','blocktags',$blocktags);
+ set_pconfig(local_channel(),'system','channel_menu',$channel_menu);
+ set_pconfig(local_channel(),'system','vnotify',$vnotify);
+ set_pconfig(local_channel(),'system','always_show_in_notices',$always_show_in_notices);
+ set_pconfig(local_channel(),'system','evdays',$evdays);
+ set_pconfig(local_channel(),'system','photo_path',$photo_path);
+ set_pconfig(local_channel(),'system','attach_path',$attach_path);
+ set_pconfig(local_channel(),'system','cal_first_day',$cal_first_day);
+
+ $r = q("update channel set channel_name = '%s', channel_pageflags = %d, channel_timezone = '%s', channel_location = '%s', channel_notifyflags = %d, channel_max_anon_mail = %d, channel_max_friend_req = %d, channel_expire_days = %d $set_perms where channel_id = %d",
+ dbesc($username),
+ intval($pageflags),
+ dbesc($timezone),
+ dbesc($defloc),
+ intval($notify),
+ intval($unkmail),
+ intval($maxreq),
+ intval($expire),
+ intval(local_channel())
+ );
+ if($r)
+ info( t('Settings updated.') . EOL);
+
+ if(! is_null($publish)) {
+ $r = q("UPDATE profile SET publish = %d WHERE is_default = 1 AND uid = %d",
+ intval($publish),
+ intval(local_channel())
+ );
+ }
+
+ if($name_change) {
+ $r = q("update xchan set xchan_name = '%s', xchan_name_date = '%s' where xchan_hash = '%s'",
+ dbesc($username),
+ dbesc(datetime_convert()),
+ dbesc($channel['channel_hash'])
+ );
+ $r = q("update profile set fullname = '%s' where uid = %d and is_default = 1",
+ dbesc($username),
+ intval($channel['channel_id'])
+ );
+ }
+
+ \Zotlabs\Daemon\Master::Summon(array('Directory',local_channel()));
+
+ build_sync_packet();
+
+
+ if($email_changed && \App::$config['system']['register_policy'] == REGISTER_VERIFY) {
+
+ // FIXME - set to un-verified, blocked and redirect to logout
+ // Why? Are we verifying people or email addresses?
+
+ }
+
+ goaway(z_root() . '/settings' );
+ return; // NOTREACHED
+ }
+
+ function get() {
+
+ require_once('include/acl_selectors.php');
+ require_once('include/permissions.php');
+
+
+ $yes_no = array(t('No'),t('Yes'));
+
+
+ $p = q("SELECT * FROM `profile` WHERE `is_default` = 1 AND `uid` = %d LIMIT 1",
+ intval(local_channel())
+ );
+ if(count($p))
+ $profile = $p[0];
+
+ load_pconfig(local_channel(),'expire');
+
+ $channel = \App::get_channel();
+
+ $global_perms = \Zotlabs\Access\Permissions::Perms();
+
+ $permiss = array();
+
+ $perm_opts = array(
+ array( t('Nobody except yourself'), 0),
+ array( t('Only those you specifically allow'), PERMS_SPECIFIC),
+ array( t('Approved connections'), PERMS_CONTACTS),
+ array( t('Any connections'), PERMS_PENDING),
+ array( t('Anybody on this website'), PERMS_SITE),
+ array( t('Anybody in this network'), PERMS_NETWORK),
+ array( t('Anybody authenticated'), PERMS_AUTHED),
+ array( t('Anybody on the internet'), PERMS_PUBLIC)
+ );
+
+ $limits = \Zotlabs\Access\PermissionLimits::Get(local_channel());
+
+ foreach($global_perms as $k => $perm) {
+ $options = array();
+ foreach($perm_opts as $opt) {
+ if((! strstr($perm,'view')) && $opt[1] == PERMS_PUBLIC)
+ continue;
+ $options[$opt[1]] = $opt[0];
+ }
+ $permiss[] = array($k,$perm,$limits[$k],'',$options);
+ }
+
+
+ //logger('permiss: ' . print_r($permiss,true));
+
+
+
+ $username = $channel['channel_name'];
+ $nickname = $channel['channel_address'];
+ $timezone = $channel['channel_timezone'];
+ $notify = $channel['channel_notifyflags'];
+ $defloc = $channel['channel_location'];
+
+ $maxreq = $channel['channel_max_friend_req'];
+ $expire = $channel['channel_expire_days'];
+ $adult_flag = intval($channel['channel_pageflags'] & PAGE_ADULT);
+ $sys_expire = get_config('system','default_expire_days');
+
+// $unkmail = \App::$user['unkmail'];
+// $cntunkmail = \App::$user['cntunkmail'];
+
+ $hide_presence = intval(get_pconfig(local_channel(), 'system','hide_online_status'));
+
+
+ $expire_items = get_pconfig(local_channel(), 'expire','items');
+ $expire_items = (($expire_items===false)? '1' : $expire_items); // default if not set: 1
+
+ $expire_notes = get_pconfig(local_channel(), 'expire','notes');
+ $expire_notes = (($expire_notes===false)? '1' : $expire_notes); // default if not set: 1
+
+ $expire_starred = get_pconfig(local_channel(), 'expire','starred');
+ $expire_starred = (($expire_starred===false)? '1' : $expire_starred); // default if not set: 1
+
+ $expire_photos = get_pconfig(local_channel(), 'expire','photos');
+ $expire_photos = (($expire_photos===false)? '0' : $expire_photos); // default if not set: 0
+
+ $expire_network_only = get_pconfig(local_channel(), 'expire','network_only');
+ $expire_network_only = (($expire_network_only===false)? '0' : $expire_network_only); // default if not set: 0
+
+
+ $suggestme = get_pconfig(local_channel(), 'system','suggestme');
+ $suggestme = (($suggestme===false)? '0': $suggestme); // default if not set: 0
+
+ $post_newfriend = get_pconfig(local_channel(), 'system','post_newfriend');
+ $post_newfriend = (($post_newfriend===false)? '0': $post_newfriend); // default if not set: 0
+
+ $post_joingroup = get_pconfig(local_channel(), 'system','post_joingroup');
+ $post_joingroup = (($post_joingroup===false)? '0': $post_joingroup); // default if not set: 0
+
+ $post_profilechange = get_pconfig(local_channel(), 'system','post_profilechange');
+ $post_profilechange = (($post_profilechange===false)? '0': $post_profilechange); // default if not set: 0
+
+ $blocktags = get_pconfig(local_channel(),'system','blocktags');
+ $blocktags = (($blocktags===false) ? '0' : $blocktags);
+
+ $timezone = date_default_timezone_get();
+
+ $opt_tpl = get_markup_template("field_checkbox.tpl");
+ if(get_config('system','publish_all')) {
+ $profile_in_dir = '<input type="hidden" name="profile_in_directory" value="1" />';
+ }
+ else {
+ $profile_in_dir = replace_macros($opt_tpl,array(
+ '$field' => array('profile_in_directory', t('Publish your default profile in the network directory'), $profile['publish'], '', $yes_no),
+ ));
+ }
+
+ $suggestme = replace_macros($opt_tpl,array(
+ '$field' => array('suggestme', t('Allow us to suggest you as a potential friend to new members?'), $suggestme, '', $yes_no),
+
+ ));
+
+ $subdir = ((strlen(\App::get_path())) ? '<br />' . t('or') . ' ' . z_root() . '/channel/' . $nickname : '');
+
+ $tpl_addr = get_markup_template("settings_nick_set.tpl");
+
+ $prof_addr = replace_macros($tpl_addr,array(
+ '$desc' => t('Your channel address is'),
+ '$nickname' => $nickname,
+ '$subdir' => $subdir,
+ '$basepath' => \App::get_hostname()
+ ));
+
+ $stpl = get_markup_template('settings.tpl');
+
+ $acl = new \Zotlabs\Access\AccessList($channel);
+ $perm_defaults = $acl->get();
+
+ require_once('include/group.php');
+ $group_select = mini_group_select(local_channel(),$channel['channel_default_group']);
+
+ require_once('include/menu.php');
+ $m1 = menu_list(local_channel());
+ $menu = false;
+ if($m1) {
+ $menu = array();
+ $current = get_pconfig(local_channel(),'system','channel_menu');
+ $menu[] = array('name' => '', 'selected' => ((! $current) ? true : false));
+ foreach($m1 as $m) {
+ $menu[] = array('name' => htmlspecialchars($m['menu_name'],ENT_COMPAT,'UTF-8'), 'selected' => (($m['menu_name'] === $current) ? ' selected="selected" ' : false));
+ }
+ }
+
+ $evdays = get_pconfig(local_channel(),'system','evdays');
+ if(! $evdays)
+ $evdays = 3;
+
+ $permissions_role = get_pconfig(local_channel(),'system','permissions_role');
+ if(! $permissions_role)
+ $permissions_role = 'custom';
+
+ $permissions_set = (($permissions_role != 'custom') ? true : false);
+
+ $perm_roles = \Zotlabs\Access\PermissionRoles::roles();
+ if((get_account_techlevel() < 4) && $permissions_role !== 'custom')
+ unset($perm_roles[t('Other')]);
+
+ $vnotify = get_pconfig(local_channel(),'system','vnotify');
+ $always_show_in_notices = get_pconfig(local_channel(),'system','always_show_in_notices');
+ if($vnotify === false)
+ $vnotify = (-1);
+
+ $o .= replace_macros($stpl,array(
+ '$ptitle' => t('Channel Settings'),
+
+ '$submit' => t('Submit'),
+ '$baseurl' => z_root(),
+ '$uid' => local_channel(),
+ '$form_security_token' => get_form_security_token("settings"),
+ '$nickname_block' => $prof_addr,
+ '$h_basic' => t('Basic Settings'),
+ '$username' => array('username', t('Full Name:'), $username,''),
+ '$email' => array('email', t('Email Address:'), $email, ''),
+ '$timezone' => array('timezone_select' , t('Your Timezone:'), $timezone, '', get_timezones()),
+ '$defloc' => array('defloc', t('Default Post Location:'), $defloc, t('Geographical location to display on your posts')),
+ '$allowloc' => array('allow_location', t('Use Browser Location:'), ((get_pconfig(local_channel(),'system','use_browser_location')) ? 1 : ''), '', $yes_no),
+
+ '$adult' => array('adult', t('Adult Content'), $adult_flag, t('This channel frequently or regularly publishes adult content. (Please tag any adult material and/or nudity with #NSFW)'), $yes_no),
+
+ '$h_prv' => t('Security and Privacy Settings'),
+ '$permissions_set' => $permissions_set,
+ '$server_role' => \Zotlabs\Lib\System::get_server_role(),
+ '$perms_set_msg' => t('Your permissions are already configured. Click to view/adjust'),
+
+ '$hide_presence' => array('hide_presence', t('Hide my online presence'),$hide_presence, t('Prevents displaying in your profile that you are online'), $yes_no),
+
+ '$lbl_pmacro' => t('Simple Privacy Settings:'),
+ '$pmacro3' => t('Very Public - <em>extremely permissive (should be used with caution)</em>'),
+ '$pmacro2' => t('Typical - <em>default public, privacy when desired (similar to social network permissions but with improved privacy)</em>'),
+ '$pmacro1' => t('Private - <em>default private, never open or public</em>'),
+ '$pmacro0' => t('Blocked - <em>default blocked to/from everybody</em>'),
+ '$permiss_arr' => $permiss,
+ '$blocktags' => array('blocktags',t('Allow others to tag your posts'), 1-$blocktags, t('Often used by the community to retro-actively flag inappropriate content'), $yes_no),
+
+ '$lbl_p2macro' => t('Channel Permission Limits'),
+
+ '$expire' => array('expire',t('Expire other channel content after this many days'),$expire, t('0 or blank to use the website limit.') . ' ' . ((intval($sys_expire)) ? sprintf( t('This website expires after %d days.'),intval($sys_expire)) : t('This website does not expire imported content.')) . ' ' . t('The website limit takes precedence if lower than your limit.')),
+ '$maxreq' => array('maxreq', t('Maximum Friend Requests/Day:'), intval($channel['channel_max_friend_req']) , t('May reduce spam activity')),
+ '$permissions' => t('Default Access Control List (ACL)'),
+ '$permdesc' => t("\x28click to open/close\x29"),
+ '$aclselect' => populate_acl($perm_defaults, false, \Zotlabs\Lib\PermissionDescription::fromDescription(t('Use my default audience setting for the type of object published'))),
+ '$allow_cid' => acl2json($perm_defaults['allow_cid']),
+ '$allow_gid' => acl2json($perm_defaults['allow_gid']),
+ '$deny_cid' => acl2json($perm_defaults['deny_cid']),
+ '$deny_gid' => acl2json($perm_defaults['deny_gid']),
+ '$suggestme' => $suggestme,
+ '$group_select' => $group_select,
+ '$role' => array('permissions_role' , t('Channel permissions category:'), $permissions_role, '', $perm_roles),
+
+ '$profile_in_dir' => $profile_in_dir,
+ '$hide_friends' => $hide_friends,
+ '$hide_wall' => $hide_wall,
+ '$unkmail' => $unkmail,
+ '$cntunkmail' => array('cntunkmail', t('Maximum private messages per day from unknown people:'), intval($channel['channel_max_anon_mail']) ,t("Useful to reduce spamming")),
+
+
+ '$h_not' => t('Notification Settings'),
+ '$activity_options' => t('By default post a status message when:'),
+ '$post_newfriend' => array('post_newfriend', t('accepting a friend request'), $post_newfriend, '', $yes_no),
+ '$post_joingroup' => array('post_joingroup', t('joining a forum/community'), $post_joingroup, '', $yes_no),
+ '$post_profilechange' => array('post_profilechange', t('making an <em>interesting</em> profile change'), $post_profilechange, '', $yes_no),
+ '$lbl_not' => t('Send a notification email when:'),
+ '$notify1' => array('notify1', t('You receive a connection request'), ($notify & NOTIFY_INTRO), NOTIFY_INTRO, '', $yes_no),
+ '$notify2' => array('notify2', t('Your connections are confirmed'), ($notify & NOTIFY_CONFIRM), NOTIFY_CONFIRM, '', $yes_no),
+ '$notify3' => array('notify3', t('Someone writes on your profile wall'), ($notify & NOTIFY_WALL), NOTIFY_WALL, '', $yes_no),
+ '$notify4' => array('notify4', t('Someone writes a followup comment'), ($notify & NOTIFY_COMMENT), NOTIFY_COMMENT, '', $yes_no),
+ '$notify5' => array('notify5', t('You receive a private message'), ($notify & NOTIFY_MAIL), NOTIFY_MAIL, '', $yes_no),
+ '$notify6' => array('notify6', t('You receive a friend suggestion'), ($notify & NOTIFY_SUGGEST), NOTIFY_SUGGEST, '', $yes_no),
+ '$notify7' => array('notify7', t('You are tagged in a post'), ($notify & NOTIFY_TAGSELF), NOTIFY_TAGSELF, '', $yes_no),
+ '$notify8' => array('notify8', t('You are poked/prodded/etc. in a post'), ($notify & NOTIFY_POKE), NOTIFY_POKE, '', $yes_no),
+
+
+ '$lbl_vnot' => t('Show visual notifications including:'),
+
+ '$vnotify1' => array('vnotify1', t('Unseen grid activity'), ($vnotify & VNOTIFY_NETWORK), VNOTIFY_NETWORK, '', $yes_no),
+ '$vnotify2' => array('vnotify2', t('Unseen channel activity'), ($vnotify & VNOTIFY_CHANNEL), VNOTIFY_CHANNEL, '', $yes_no),
+ '$vnotify3' => array('vnotify3', t('Unseen private messages'), ($vnotify & VNOTIFY_MAIL), VNOTIFY_MAIL, t('Recommended'), $yes_no),
+ '$vnotify4' => array('vnotify4', t('Upcoming events'), ($vnotify & VNOTIFY_EVENT), VNOTIFY_EVENT, '', $yes_no),
+ '$vnotify5' => array('vnotify5', t('Events today'), ($vnotify & VNOTIFY_EVENTTODAY), VNOTIFY_EVENTTODAY, '', $yes_no),
+ '$vnotify6' => array('vnotify6', t('Upcoming birthdays'), ($vnotify & VNOTIFY_BIRTHDAY), VNOTIFY_BIRTHDAY, t('Not available in all themes'), $yes_no),
+ '$vnotify7' => array('vnotify7', t('System (personal) notifications'), ($vnotify & VNOTIFY_SYSTEM), VNOTIFY_SYSTEM, '', $yes_no),
+ '$vnotify8' => array('vnotify8', t('System info messages'), ($vnotify & VNOTIFY_INFO), VNOTIFY_INFO, t('Recommended'), $yes_no),
+ '$vnotify9' => array('vnotify9', t('System critical alerts'), ($vnotify & VNOTIFY_ALERT), VNOTIFY_ALERT, t('Recommended'), $yes_no),
+ '$vnotify10' => array('vnotify10', t('New connections'), ($vnotify & VNOTIFY_INTRO), VNOTIFY_INTRO, t('Recommended'), $yes_no),
+ '$vnotify11' => array('vnotify11', t('System Registrations'), ($vnotify & VNOTIFY_REGISTER), VNOTIFY_REGISTER, '', $yes_no),
+ '$always_show_in_notices' => array('always_show_in_notices', t('Also show new wall posts, private messages and connections under Notices'), $always_show_in_notices, 1, '', $yes_no),
+
+ '$evdays' => array('evdays', t('Notify me of events this many days in advance'), $evdays, t('Must be greater than 0')),
+
+ '$h_advn' => t('Advanced Account/Page Type Settings'),
+ '$h_descadvn' => t('Change the behaviour of this account for special situations'),
+ '$pagetype' => $pagetype,
+ '$lbl_misc' => t('Miscellaneous Settings'),
+ '$photo_path' => array('photo_path', t('Default photo upload folder'), get_pconfig(local_channel(),'system','photo_path'), t('%Y - current year, %m - current month')),
+ '$attach_path' => array('attach_path', t('Default file upload folder'), get_pconfig(local_channel(),'system','attach_path'), t('%Y - current year, %m - current month')),
+ '$menus' => $menu,
+ '$menu_desc' => t('Personal menu to display in your channel pages'),
+ '$removeme' => t('Remove Channel'),
+ '$removechannel' => t('Remove this channel.'),
+ '$firefoxshare' => t('Firefox Share $Projectname provider'),
+ '$cal_first_day' => array('first_day', t('Start calendar week on monday'), ((get_pconfig(local_channel(),'system','cal_first_day')) ? 1 : ''), '', $yes_no),
+ ));
+
+ call_hooks('settings_form',$o);
+
+ //$o .= '</form>' . "\r\n";
+
+ return $o;
+ }
+}
diff --git a/Zotlabs/Module/Settings/Display.php b/Zotlabs/Module/Settings/Display.php
new file mode 100644
index 000000000..8da875de7
--- /dev/null
+++ b/Zotlabs/Module/Settings/Display.php
@@ -0,0 +1,240 @@
+<?php
+
+namespace Zotlabs\Module\Settings;
+
+
+class Display {
+
+ /*
+ * DISPLAY SETTINGS
+ */
+
+ function post() {
+ check_form_security_token_redirectOnErr('/settings/display', 'settings_display');
+
+ $themespec = explode(':', \App::$channel['channel_theme']);
+ $existing_theme = $themespec[0];
+ $existing_schema = $themespec[1];
+
+ $theme = ((x($_POST,'theme')) ? notags(trim($_POST['theme'])) : $existing_theme);
+
+ if(! $theme)
+ $theme = 'redbasic';
+
+ $mobile_theme = ((x($_POST,'mobile_theme')) ? notags(trim($_POST['mobile_theme'])) : '');
+ $preload_images = ((x($_POST,'preload_images')) ? intval($_POST['preload_images']) : 0);
+ $user_scalable = ((x($_POST,'user_scalable')) ? intval($_POST['user_scalable']) : 0);
+ $nosmile = ((x($_POST,'nosmile')) ? intval($_POST['nosmile']) : 0);
+ $title_tosource = ((x($_POST,'title_tosource')) ? intval($_POST['title_tosource']) : 0);
+ $channel_list_mode = ((x($_POST,'channel_list_mode')) ? intval($_POST['channel_list_mode']) : 0);
+ $network_list_mode = ((x($_POST,'network_list_mode')) ? intval($_POST['network_list_mode']) : 0);
+
+ $channel_divmore_height = ((x($_POST,'channel_divmore_height')) ? intval($_POST['channel_divmore_height']) : 400);
+ if($channel_divmore_height < 50)
+ $channel_divmore_height = 50;
+ $network_divmore_height = ((x($_POST,'network_divmore_height')) ? intval($_POST['network_divmore_height']) : 400);
+ if($network_divmore_height < 50)
+ $network_divmore_height = 50;
+
+ $browser_update = ((x($_POST,'browser_update')) ? intval($_POST['browser_update']) : 0);
+ $browser_update = $browser_update * 1000;
+ if($browser_update < 10000)
+ $browser_update = 10000;
+
+ $itemspage = ((x($_POST,'itemspage')) ? intval($_POST['itemspage']) : 20);
+ if($itemspage > 100)
+ $itemspage = 100;
+
+ if ($mobile_theme == "---")
+ del_pconfig(local_channel(),'system','mobile_theme');
+ else {
+ set_pconfig(local_channel(),'system','mobile_theme',$mobile_theme);
+ }
+
+ set_pconfig(local_channel(),'system','preload_images',$preload_images);
+ set_pconfig(local_channel(),'system','user_scalable',$user_scalable);
+ set_pconfig(local_channel(),'system','update_interval', $browser_update);
+ set_pconfig(local_channel(),'system','itemspage', $itemspage);
+ set_pconfig(local_channel(),'system','no_smilies',1-intval($nosmile));
+ set_pconfig(local_channel(),'system','title_tosource',$title_tosource);
+ set_pconfig(local_channel(),'system','channel_list_mode', $channel_list_mode);
+ set_pconfig(local_channel(),'system','network_list_mode', $network_list_mode);
+ set_pconfig(local_channel(),'system','channel_divmore_height', $channel_divmore_height);
+ set_pconfig(local_channel(),'system','network_divmore_height', $network_divmore_height);
+
+ $newschema = '';
+ if($theme == $existing_theme){
+ // call theme_post only if theme has not been changed
+ if( ($themeconfigfile = $this->get_theme_config_file($theme)) != null){
+ require_once($themeconfigfile);
+ if(class_exists('\\Zotlabs\\Theme\\' . ucfirst($theme) . 'Config')) {
+ $clsname = '\\Zotlabs\\Theme\\' . ucfirst($theme) . 'Config';
+ $theme_config = new $clsname();
+ $schemas = $theme_config->get_schemas();
+ if(array_key_exists($_POST['schema'],$schemas))
+ $newschema = $_POST['schema'];
+ if($newschema === '---')
+ $newschema = '';
+ $theme_config->post();
+ }
+ }
+ }
+
+ logger('theme: ' . $theme . (($newschema) ? ':' . $newschema : ''));
+
+ $_SESSION['theme'] = $theme . (($newschema) ? ':' . $newschema : '');
+
+ $r = q("UPDATE channel SET channel_theme = '%s' WHERE channel_id = %d",
+ dbesc($theme . (($newschema) ? ':' . $newschema : '')),
+ intval(local_channel())
+ );
+
+ call_hooks('display_settings_post', $_POST);
+ build_sync_packet();
+ goaway(z_root() . '/settings/display' );
+ return; // NOTREACHED
+ }
+
+
+ function get() {
+
+ $yes_no = array(t('No'),t('Yes'));
+
+ $default_theme = get_config('system','theme');
+ if(! $default_theme)
+ $default_theme = 'redbasic';
+
+ $themespec = explode(':', \App::$channel['channel_theme']);
+ $existing_theme = $themespec[0];
+ $existing_schema = $themespec[1];
+
+ $theme = (($existing_theme) ? $existing_theme : $default_theme);
+
+ $default_mobile_theme = get_config('system','mobile_theme');
+ if(! $mobile_default_theme)
+ $mobile_default_theme = 'none';
+
+ $allowed_themes_str = get_config('system','allowed_themes');
+ $allowed_themes_raw = explode(',',$allowed_themes_str);
+ $allowed_themes = array();
+ if(count($allowed_themes_raw))
+ foreach($allowed_themes_raw as $x)
+ if(strlen(trim($x)) && is_dir("view/theme/$x"))
+ $allowed_themes[] = trim($x);
+
+
+ $themes = array();
+ $files = glob('view/theme/*');
+ if($allowed_themes) {
+ foreach($allowed_themes as $th) {
+ $f = $th;
+ $is_experimental = file_exists('view/theme/' . $th . '/experimental');
+ $unsupported = file_exists('view/theme/' . $th . '/unsupported');
+ $is_mobile = file_exists('view/theme/' . $th . '/mobile');
+ $is_library = file_exists('view/theme/'. $th . '/library');
+ $mobile_themes["---"] = t("No special theme for mobile devices");
+
+ if (!$is_experimental or ($is_experimental && (get_config('experimentals','exp_themes')==1 or get_config('experimentals','exp_themes')===false))){
+ $theme_name = (($is_experimental) ? sprintf(t('%s - (Experimental)'), $f) : $f);
+ if (! $is_library) {
+ if($is_mobile) {
+ $mobile_themes[$f] = $themes[$f] = $theme_name . ' (' . t('mobile') . ')';
+ }
+ else {
+ $mobile_themes[$f] = $themes[$f] = $theme_name;
+ }
+ }
+ }
+
+ }
+ }
+
+ $theme_selected = ((array_key_exists('theme',$_SESSION) && $_SESSION['theme']) ? $_SESSION['theme'] : $theme);
+
+ $mobile_theme_selected = (!x($_SESSION,'mobile_theme')? $default_mobile_theme : $_SESSION['mobile_theme']);
+
+ $preload_images = get_pconfig(local_channel(),'system','preload_images');
+ $preload_images = (($preload_images===false)? '0': $preload_images); // default if not set: 0
+
+ $user_scalable = get_pconfig(local_channel(),'system','user_scalable');
+ $user_scalable = (($user_scalable===false)? '1': $user_scalable); // default if not set: 1
+
+ $browser_update = intval(get_pconfig(local_channel(), 'system','update_interval'));
+ $browser_update = (($browser_update == 0) ? 80 : $browser_update / 1000); // default if not set: 40 seconds
+
+ $itemspage = intval(get_pconfig(local_channel(), 'system','itemspage'));
+ $itemspage = (($itemspage > 0 && $itemspage < 101) ? $itemspage : 20); // default if not set: 20 items
+
+ $nosmile = get_pconfig(local_channel(),'system','no_smilies');
+ $nosmile = (($nosmile===false)? '0': $nosmile); // default if not set: 0
+
+ $title_tosource = get_pconfig(local_channel(),'system','title_tosource');
+ $title_tosource = (($title_tosource===false)? '0': $title_tosource); // default if not set: 0
+
+ $theme_config = "";
+ if(($themeconfigfile = $this->get_theme_config_file($theme)) != null){
+ require_once($themeconfigfile);
+ if(class_exists('\\Zotlabs\\Theme\\' . ucfirst($theme) . 'Config')) {
+ $clsname = '\\Zotlabs\\Theme\\' . ucfirst($theme) . 'Config';
+ $thm_config = new $clsname();
+ $schemas = $thm_config->get_schemas();
+ $theme_config = $thm_config->get();
+ }
+ }
+
+ // logger('schemas: ' . print_r($schemas,true));
+
+ $tpl = get_markup_template("settings_display.tpl");
+ $o = replace_macros($tpl, array(
+ '$ptitle' => t('Display Settings'),
+ '$d_tset' => t('Theme Settings'),
+ '$d_ctset' => t('Custom Theme Settings'),
+ '$d_cset' => t('Content Settings'),
+ '$form_security_token' => get_form_security_token("settings_display"),
+ '$submit' => t('Submit'),
+ '$baseurl' => z_root(),
+ '$uid' => local_channel(),
+
+ '$theme' => (($themes) ? array('theme', t('Display Theme:'), $theme_selected, '', $themes, 'preview') : false),
+ '$schema' => array('schema', t('Select scheme'), $existing_schema, '' , $schemas),
+
+ '$mobile_theme' => (($mobile_themes) ? array('mobile_theme', t('Mobile Theme:'), $mobile_theme_selected, '', $mobile_themes, '') : false),
+ '$preload_images' => array('preload_images', t("Preload images before rendering the page"), $preload_images, t("The subjective page load time will be longer but the page will be ready when displayed"), $yes_no),
+ '$user_scalable' => array('user_scalable', t("Enable user zoom on mobile devices"), $user_scalable, '', $yes_no),
+ '$ajaxint' => array('browser_update', t("Update browser every xx seconds"), $browser_update, t('Minimum of 10 seconds, no maximum')),
+ '$itemspage' => array('itemspage', t("Maximum number of conversations to load at any time:"), $itemspage, t('Maximum of 100 items')),
+ '$nosmile' => array('nosmile', t("Show emoticons (smilies) as images"), 1-intval($nosmile), '', $yes_no),
+ '$title_tosource' => array('title_tosource', t("Link post titles to source"), $title_tosource, '', $yes_no),
+ '$layout_editor' => t('System Page Layout Editor - (advanced)'),
+ '$theme_config' => $theme_config,
+ '$expert' => feature_enabled(local_channel(),'advanced_theming'),
+ '$channel_list_mode' => array('channel_list_mode', t('Use blog/list mode on channel page'), get_pconfig(local_channel(),'system','channel_list_mode'), t('(comments displayed separately)'), $yes_no),
+ '$network_list_mode' => array('network_list_mode', t('Use blog/list mode on grid page'), get_pconfig(local_channel(),'system','network_list_mode'), t('(comments displayed separately)'), $yes_no),
+ '$channel_divmore_height' => array('channel_divmore_height', t('Channel page max height of content (in pixels)'), ((get_pconfig(local_channel(),'system','channel_divmore_height')) ? get_pconfig(local_channel(),'system','channel_divmore_height') : 400), t('click to expand content exceeding this height')),
+ '$network_divmore_height' => array('network_divmore_height', t('Grid page max height of content (in pixels)'), ((get_pconfig(local_channel(),'system','network_divmore_height')) ? get_pconfig(local_channel(),'system','network_divmore_height') : 400) , t('click to expand content exceeding this height')),
+
+
+ ));
+
+ call_hooks('display_settings',$o);
+ return $o;
+ }
+
+
+ function get_theme_config_file($theme){
+
+ $base_theme = \App::$theme_info['extends'];
+
+ if (file_exists("view/theme/$theme/php/config.php")){
+ return "view/theme/$theme/php/config.php";
+ }
+ if (file_exists("view/theme/$base_theme/php/config.php")){
+ return "view/theme/$base_theme/php/config.php";
+ }
+ return null;
+ }
+
+
+
+
+} \ No newline at end of file
diff --git a/Zotlabs/Module/Settings/Featured.php b/Zotlabs/Module/Settings/Featured.php
new file mode 100644
index 000000000..7d7b1a734
--- /dev/null
+++ b/Zotlabs/Module/Settings/Featured.php
@@ -0,0 +1,37 @@
+<?php
+
+namespace Zotlabs\Module\Settings;
+
+
+class Featured {
+
+ function post() {
+ check_form_security_token_redirectOnErr('/settings/featured', 'settings_featured');
+
+ call_hooks('feature_settings_post', $_POST);
+
+ build_sync_packet();
+ return;
+ }
+
+ function get() {
+ $settings_addons = "";
+
+ $o = '';
+
+ $r = q("SELECT * FROM `hook` WHERE `hook` = 'feature_settings' ");
+ if(! $r)
+ $settings_addons = t('No feature settings configured');
+
+ call_hooks('feature_settings', $settings_addons);
+
+ $tpl = get_markup_template("settings_addons.tpl");
+ $o .= replace_macros($tpl, array(
+ '$form_security_token' => get_form_security_token("settings_featured"),
+ '$title' => t('Feature/Addon Settings'),
+ '$settings_addons' => $settings_addons
+ ));
+ return $o;
+ }
+
+} \ No newline at end of file
diff --git a/Zotlabs/Module/Settings/Features.php b/Zotlabs/Module/Settings/Features.php
new file mode 100644
index 000000000..5b642acc3
--- /dev/null
+++ b/Zotlabs/Module/Settings/Features.php
@@ -0,0 +1,53 @@
+<?php
+
+namespace Zotlabs\Module\Settings;
+
+
+class Features {
+
+ function post() {
+ check_form_security_token_redirectOnErr('/settings/features', 'settings_features');
+
+ // Build list of features and check which are set
+ // We will not create any settings for features that are above our techlevel
+
+ $features = get_features();
+ $all_features = array();
+ foreach($features as $k => $v) {
+ foreach($v as $f)
+ $all_features[] = $f[0];
+ }
+ foreach($all_features as $k) {
+ if(x($_POST,"feature_$k"))
+ set_pconfig(local_channel(),'feature',$k, 1);
+ else
+ set_pconfig(local_channel(),'feature',$k, 0);
+ }
+ build_sync_packet();
+ return;
+ }
+
+ function get() {
+ $arr = array();
+ $features = get_features();
+
+ foreach($features as $fname => $fdata) {
+ $arr[$fname] = array();
+ $arr[$fname][0] = $fdata[0];
+ foreach(array_slice($fdata,1) as $f) {
+ $arr[$fname][1][] = array('feature_' .$f[0],$f[1],((intval(feature_enabled(local_channel(),$f[0]))) ? "1" : ''),$f[2],array(t('Off'),t('On')));
+ }
+ }
+
+ $tpl = get_markup_template("settings_features.tpl");
+ $o .= replace_macros($tpl, array(
+ '$form_security_token' => get_form_security_token("settings_features"),
+ '$title' => t('Additional Features'),
+ '$features' => $arr,
+ '$submit' => t('Submit'),
+ ));
+
+ return $o;
+ }
+
+}
diff --git a/Zotlabs/Module/Settings/Oauth.php b/Zotlabs/Module/Settings/Oauth.php
new file mode 100644
index 000000000..c612c7667
--- /dev/null
+++ b/Zotlabs/Module/Settings/Oauth.php
@@ -0,0 +1,160 @@
+<?php
+
+namespace Zotlabs\Module\Settings;
+
+
+class Oauth {
+
+
+ function post() {
+
+ if(x($_POST,'remove')){
+ check_form_security_token_redirectOnErr('/settings/oauth', 'settings_oauth');
+
+ $key = $_POST['remove'];
+ q("DELETE FROM tokens WHERE id='%s' AND uid=%d",
+ dbesc($key),
+ local_channel());
+ goaway(z_root()."/settings/oauth/");
+ return;
+ }
+
+ if((argc() > 2) && (argv(2) === 'edit' || argv(2) === 'add') && x($_POST,'submit')) {
+
+ check_form_security_token_redirectOnErr('/settings/oauth', 'settings_oauth');
+
+ $name = ((x($_POST,'name')) ? $_POST['name'] : '');
+ $key = ((x($_POST,'key')) ? $_POST['key'] : '');
+ $secret = ((x($_POST,'secret')) ? $_POST['secret'] : '');
+ $redirect = ((x($_POST,'redirect')) ? $_POST['redirect'] : '');
+ $icon = ((x($_POST,'icon')) ? $_POST['icon'] : '');
+ $ok = true;
+ if($name == '') {
+ $ok = false;
+ notice( t('Name is required') . EOL);
+ }
+ if($key == '' || $secret == '') {
+ $ok = false;
+ notice( t('Key and Secret are required') . EOL);
+ }
+
+ if($ok) {
+ if ($_POST['submit']==t("Update")){
+ $r = q("UPDATE clients SET
+ client_id='%s',
+ pw='%s',
+ clname='%s',
+ redirect_uri='%s',
+ icon='%s',
+ uid=%d
+ WHERE client_id='%s'",
+ dbesc($key),
+ dbesc($secret),
+ dbesc($name),
+ dbesc($redirect),
+ dbesc($icon),
+ intval(local_channel()),
+ dbesc($key));
+ } else {
+ $r = q("INSERT INTO clients (client_id, pw, clname, redirect_uri, icon, uid)
+ VALUES ('%s','%s','%s','%s','%s',%d)",
+ dbesc($key),
+ dbesc($secret),
+ dbesc($name),
+ dbesc($redirect),
+ dbesc($icon),
+ intval(local_channel())
+ );
+ $r = q("INSERT INTO xperm (xp_client, xp_channel, xp_perm) VALUES ('%s', %d, '%s') ",
+ dbesc($key),
+ intval(local_channel()),
+ dbesc('all')
+ );
+ }
+ }
+ goaway(z_root()."/settings/oauth/");
+ return;
+ }
+ }
+
+ function get() {
+
+ if((argc() > 2) && (argv(2) === 'add')) {
+ $tpl = get_markup_template("settings_oauth_edit.tpl");
+ $o .= replace_macros($tpl, array(
+ '$form_security_token' => get_form_security_token("settings_oauth"),
+ '$title' => t('Add application'),
+ '$submit' => t('Submit'),
+ '$cancel' => t('Cancel'),
+ '$name' => array('name', t('Name'), '', t('Name of application')),
+ '$key' => array('key', t('Consumer Key'), random_string(16), t('Automatically generated - change if desired. Max length 20')),
+ '$secret' => array('secret', t('Consumer Secret'), random_string(16), t('Automatically generated - change if desired. Max length 20')),
+ '$redirect' => array('redirect', t('Redirect'), '', t('Redirect URI - leave blank unless your application specifically requires this')),
+ '$icon' => array('icon', t('Icon url'), '', t('Optional')),
+ ));
+ return $o;
+ }
+
+ if((argc() > 3) && (argv(2) === 'edit')) {
+ $r = q("SELECT * FROM clients WHERE client_id='%s' AND uid=%d",
+ dbesc(argv(3)),
+ local_channel());
+
+ if (!count($r)){
+ notice(t('Application not found.'));
+ return;
+ }
+ $app = $r[0];
+
+ $tpl = get_markup_template("settings_oauth_edit.tpl");
+ $o .= replace_macros($tpl, array(
+ '$form_security_token' => get_form_security_token("settings_oauth"),
+ '$title' => t('Add application'),
+ '$submit' => t('Update'),
+ '$cancel' => t('Cancel'),
+ '$name' => array('name', t('Name'), $app['clname'] , ''),
+ '$key' => array('key', t('Consumer Key'), $app['client_id'], ''),
+ '$secret' => array('secret', t('Consumer Secret'), $app['pw'], ''),
+ '$redirect' => array('redirect', t('Redirect'), $app['redirect_uri'], ''),
+ '$icon' => array('icon', t('Icon url'), $app['icon'], ''),
+ ));
+ return $o;
+ }
+
+ if((argc() > 3) && (argv(2) === 'delete')) {
+ check_form_security_token_redirectOnErr('/settings/oauth', 'settings_oauth', 't');
+
+ $r = q("DELETE FROM clients WHERE client_id='%s' AND uid=%d",
+ dbesc(argv(3)),
+ local_channel());
+ goaway(z_root()."/settings/oauth/");
+ return;
+ }
+
+
+ $r = q("SELECT clients.*, tokens.id as oauth_token, (clients.uid=%d) AS my
+ FROM clients
+ LEFT JOIN tokens ON clients.client_id=tokens.client_id
+ WHERE clients.uid IN (%d,0)",
+ local_channel(),
+ local_channel());
+
+
+ $tpl = get_markup_template("settings_oauth.tpl");
+ $o .= replace_macros($tpl, array(
+ '$form_security_token' => get_form_security_token("settings_oauth"),
+ '$baseurl' => z_root(),
+ '$title' => t('Connected Apps'),
+ '$add' => t('Add application'),
+ '$edit' => t('Edit'),
+ '$delete' => t('Delete'),
+ '$consumerkey' => t('Client key starts with'),
+ '$noname' => t('No name'),
+ '$remove' => t('Remove authorization'),
+ '$apps' => $r,
+ ));
+ return $o;
+
+ }
+
+} \ No newline at end of file
diff --git a/Zotlabs/Module/Settings/Tokens.php b/Zotlabs/Module/Settings/Tokens.php
new file mode 100644
index 000000000..e63fed128
--- /dev/null
+++ b/Zotlabs/Module/Settings/Tokens.php
@@ -0,0 +1,172 @@
+<?php
+
+namespace Zotlabs\Module\Settings;
+
+
+
+class Tokens {
+
+ function post() {
+
+ $channel = \App::get_channel();
+
+ check_form_security_token_redirectOnErr('/settings/tokens', 'settings_tokens');
+ $token_errs = 0;
+ if(array_key_exists('token',$_POST)) {
+ $atoken_id = (($_POST['atoken_id']) ? intval($_POST['atoken_id']) : 0);
+ $name = trim(escape_tags($_POST['name']));
+ $token = trim($_POST['token']);
+ if((! $name) || (! $token))
+ $token_errs ++;
+ if(trim($_POST['expires']))
+ $expires = datetime_convert(date_default_timezone_get(),'UTC',$_POST['expires']);
+ else
+ $expires = NULL_DATE;
+ $max_atokens = service_class_fetch(local_channel(),'access_tokens');
+ if($max_atokens) {
+ $r = q("select count(atoken_id) as total where atoken_uid = %d",
+ intval(local_channel())
+ );
+ if($r && intval($r[0]['total']) >= $max_tokens) {
+ notice( sprintf( t('This channel is limited to %d tokens'), $max_tokens) . EOL);
+ return;
+ }
+ }
+ }
+ if($token_errs) {
+ notice( t('Name and Password are required.') . EOL);
+ return;
+ }
+ if($atoken_id) {
+ $r = q("update atoken set atoken_name = '%s', atoken_token = '%s', atoken_expires = '%s'
+ where atoken_id = %d and atoken_uid = %d",
+ dbesc($name),
+ dbesc($token),
+ dbesc($expires),
+ intval($atoken_id),
+ intval($channel['channel_id'])
+ );
+ }
+ else {
+ $r = q("insert into atoken ( atoken_aid, atoken_uid, atoken_name, atoken_token, atoken_expires )
+ values ( %d, %d, '%s', '%s', '%s' ) ",
+ intval($channel['channel_account_id']),
+ intval($channel['channel_id']),
+ dbesc($name),
+ dbesc($token),
+ dbesc($expires)
+ );
+ }
+
+ $atoken_xchan = substr($channel['channel_hash'],0,16) . '.' . $name;
+
+ $all_perms = \Zotlabs\Access\Permissions::Perms();
+
+ if($all_perms) {
+ foreach($all_perms as $perm => $desc) {
+ if(array_key_exists('perms_' . $perm, $_POST)) {
+ set_abconfig($channel['channel_id'],$atoken_xchan,'my_perms',$perm,intval($_POST['perms_' . $perm]));
+ }
+ else {
+ set_abconfig($channel['channel_id'],$atoken_xchan,'my_perms',$perm,0);
+ }
+ }
+ }
+
+
+ info( t('Token saved.') . EOL);
+ return;
+ }
+
+
+ function get() {
+
+ $channel = \App::get_channel();
+
+ $atoken = null;
+ $atoken_xchan = '';
+
+ if(argc() > 2) {
+ $id = argv(2);
+
+ $atoken = q("select * from atoken where atoken_id = %d and atoken_uid = %d",
+ intval($id),
+ intval(local_channel())
+ );
+
+ if($atoken) {
+ $atoken = $atoken[0];
+ $atoken_xchan = substr($channel['channel_hash'],0,16) . '.' . $atoken['atoken_name'];
+ }
+
+ if($atoken && argc() > 3 && argv(3) === 'drop') {
+ atoken_delete($id);
+ $atoken = null;
+ $atoken_xchan = '';
+ }
+ }
+
+ $t = q("select * from atoken where atoken_uid = %d",
+ intval(local_channel())
+ );
+
+ $desc = t('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.');
+
+ $desc2 = t('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:');
+
+ $global_perms = \Zotlabs\Access\Permissions::Perms();
+
+ $existing = get_all_perms(local_channel(),(($atoken_xchan) ? $atoken_xchan : ''));
+
+ if($atoken_xchan) {
+ $theirs = q("select * from abconfig where chan = %d and xchan = '%s' and cat = 'their_perms'",
+ intval(local_channel()),
+ dbesc($atoken_xchan)
+ );
+ $their_perms = array();
+ if($theirs) {
+ foreach($theirs as $t) {
+ $their_perms[$t['k']] = $t['v'];
+ }
+ }
+ }
+ foreach($global_perms as $k => $v) {
+ $thisperm = get_abconfig(local_channel(),$contact['abook_xchan'],'my_perms',$k);
+//fixme
+
+ $checkinherited = \Zotlabs\Access\PermissionLimits::Get(local_channel(),$k);
+
+ if($existing[$k])
+ $thisperm = "1";
+
+ $perms[] = array('perms_' . $k, $v, ((array_key_exists($k,$their_perms)) ? intval($their_perms[$k]) : ''),$thisperm, 1, (($checkinherited & PERMS_SPECIFIC) ? '' : '1'), '', $checkinherited);
+ }
+
+
+
+ $tpl = get_markup_template("settings_tokens.tpl");
+ $o .= replace_macros($tpl, array(
+ '$form_security_token' => get_form_security_token("settings_tokens"),
+ '$title' => t('Guest Access Tokens'),
+ '$desc' => $desc,
+ '$desc2' => $desc2,
+ '$tokens' => $t,
+ '$atoken' => $atoken,
+ '$url1' => z_root() . '/channel/' . $channel['channel_address'],
+ '$url2' => z_root() . '/photos/' . $channel['channel_address'],
+ '$name' => array('name', t('Login Name') . ' <span class="required">*</span>', (($atoken) ? $atoken['atoken_name'] : ''),''),
+ '$token'=> array('token', t('Login Password') . ' <span class="required">*</span>',(($atoken) ? $atoken['atoken_token'] : autoname(8)), ''),
+ '$expires'=> array('expires', t('Expires (yyyy-mm-dd)'), (($atoken['atoken_expires'] && $atoken['atoken_expires'] > NULL_DATE) ? datetime_convert('UTC',date_default_timezone_get(),$atoken['atoken_expires']) : ''), ''),
+ '$them' => t('Their Settings'),
+ '$me' => t('My Settings'),
+ '$perms' => $perms,
+ '$inherited' => t('inherited'),
+ '$notself' => '1',
+ '$permlbl' => t('Individual Permissions'),
+ '$permnote' => t('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.'),
+ '$submit' => t('Submit')
+ ));
+ return $o;
+ }
+
+} \ No newline at end of file
diff --git a/Zotlabs/Module/Setup.php b/Zotlabs/Module/Setup.php
index 4553b6866..88481b4b1 100644
--- a/Zotlabs/Module/Setup.php
+++ b/Zotlabs/Module/Setup.php
@@ -43,11 +43,12 @@ class Setup extends \Zotlabs\Web\Controller {
killme();
}
- if (x($_POST, 'pass'))
+ if (x($_POST, 'pass')) {
$this->install_wizard_pass = intval($_POST['pass']);
- else
+ }
+ else {
$this->install_wizard_pass = 1;
-
+ }
}
/**
@@ -73,7 +74,9 @@ class Setup extends \Zotlabs\Web\Controller {
$phpath = trim($_POST['phpath']);
$adminmail = trim($_POST['adminmail']);
$siteurl = trim($_POST['siteurl']);
- $advanced = ((intval($_POST['advanced'])) ? 1 : 0);
+ $server_role = trim($_POST['server_role']);
+ if(! $server_role)
+ $server_role = 'standard';
// $siteurl should not have a trailing slash
@@ -84,24 +87,26 @@ class Setup extends \Zotlabs\Web\Controller {
$db = \DBA::dba_factory($dbhost, $dbport, $dbuser, $dbpass, $dbdata, $dbtype, true);
if(! \DBA::$dba->connected) {
- echo 'Database Connect failed: ' . DBA::$dba->error;
+ echo 'Database Connect failed: ' . \DBA::$dba->error;
killme();
}
return;
// implied break;
case 4:
$urlpath = \App::get_path();
- $dbhost = notags(trim($_POST['dbhost']));
- $dbport = intval(notags(trim($_POST['dbport'])));
- $dbuser = notags(trim($_POST['dbuser']));
- $dbpass = notags(trim($_POST['dbpass']));
- $dbdata = notags(trim($_POST['dbdata']));
- $dbtype = intval(notags(trim($_POST['dbtype'])));
- $phpath = notags(trim($_POST['phpath']));
- $timezone = notags(trim($_POST['timezone']));
- $adminmail = notags(trim($_POST['adminmail']));
- $siteurl = notags(trim($_POST['siteurl']));
- $advanced = ((intval($_POST['advanced'])) ? 'pro' : 'basic');
+ $dbhost = trim($_POST['dbhost']);
+ $dbport = intval(trim($_POST['dbport']));
+ $dbuser = trim($_POST['dbuser']);
+ $dbpass = trim($_POST['dbpass']);
+ $dbdata = trim($_POST['dbdata']);
+ $dbtype = intval(trim($_POST['dbtype']));
+ $phpath = trim($_POST['phpath']);
+ $timezone = trim($_POST['timezone']);
+ $adminmail = trim($_POST['adminmail']);
+ $siteurl = trim($_POST['siteurl']);
+ $server_role = trim($_POST['server_role']);
+ if(! $server_role)
+ $server_role = 'standard';
if($siteurl != z_root()) {
$test = z_fetch_url($siteurl."/setup/testrewrite");
@@ -130,7 +135,7 @@ class Setup extends \Zotlabs\Web\Controller {
'$dbpass' => $dbpass,
'$dbdata' => $dbdata,
'$dbtype' => $dbtype,
- '$server_role' => $advanced,
+ '$server_role' => $server_role,
'$timezone' => $timezone,
'$siteurl' => $siteurl,
'$site_id' => random_string(),
@@ -274,15 +279,15 @@ class Setup extends \Zotlabs\Web\Controller {
case 2: { // Database config
- $dbhost = ((x($_POST,'dbhost')) ? notags(trim($_POST['dbhost'])) : '127.0.0.1');
- $dbuser = notags(trim($_POST['dbuser']));
- $dbport = intval(notags(trim($_POST['dbport'])));
- $dbpass = notags(trim($_POST['dbpass']));
- $dbdata = notags(trim($_POST['dbdata']));
- $dbtype = intval(notags(trim($_POST['dbtype'])));
- $phpath = notags(trim($_POST['phpath']));
- $adminmail = notags(trim($_POST['adminmail']));
- $siteurl = notags(trim($_POST['siteurl']));
+ $dbhost = ((x($_POST,'dbhost')) ? trim($_POST['dbhost']) : '127.0.0.1');
+ $dbuser = trim($_POST['dbuser']);
+ $dbport = intval(trim($_POST['dbport']));
+ $dbpass = trim($_POST['dbpass']);
+ $dbdata = trim($_POST['dbdata']);
+ $dbtype = intval(trim($_POST['dbtype']));
+ $phpath = trim($_POST['phpath']);
+ $adminmail = trim($_POST['adminmail']);
+ $siteurl = trim($_POST['siteurl']);
$tpl = get_markup_template('install_db.tpl');
$o .= replace_macros($tpl, array(
@@ -315,18 +320,24 @@ class Setup extends \Zotlabs\Web\Controller {
}; break;
case 3: { // Site settings
require_once('include/datetime.php');
- $dbhost = ((x($_POST,'dbhost')) ? notags(trim($_POST['dbhost'])) : '127.0.0.1');
- $dbport = intval(notags(trim($_POST['dbuser'])));
- $dbuser = notags(trim($_POST['dbuser']));
- $dbpass = notags(trim($_POST['dbpass']));
- $dbdata = notags(trim($_POST['dbdata']));
- $dbtype = intval(notags(trim($_POST['dbtype'])));
- $phpath = notags(trim($_POST['phpath']));
-
- $adminmail = notags(trim($_POST['adminmail']));
- $siteurl = notags(trim($_POST['siteurl']));
+ $dbhost = ((x($_POST,'dbhost')) ? trim($_POST['dbhost']) : '127.0.0.1');
+ $dbport = intval(trim($_POST['dbuser']));
+ $dbuser = trim($_POST['dbuser']);
+ $dbpass = trim($_POST['dbpass']);
+ $dbdata = trim($_POST['dbdata']);
+ $dbtype = intval(trim($_POST['dbtype']));
+ $phpath = trim($_POST['phpath']);
+
+ $adminmail = trim($_POST['adminmail']);
+ $siteurl = trim($_POST['siteurl']);
$timezone = ((x($_POST,'timezone')) ? ($_POST['timezone']) : 'America/Los_Angeles');
+ $server_roles = [
+ 'basic' => t('Basic/Minimal Social Networking'),
+ 'standard' => t('Standard Configuration (default)'),
+ 'pro' => t('Professional')
+ ];
+
$tpl = get_markup_template('install_settings.tpl');
$o .= replace_macros($tpl, array(
'$title' => $install_title,
@@ -344,7 +355,8 @@ class Setup extends \Zotlabs\Web\Controller {
'$adminmail' => array('adminmail', t('Site administrator email address'), $adminmail, t('Your account email address must match this in order to use the web admin panel.')),
'$siteurl' => array('siteurl', t('Website URL'), z_root(), t('Please use SSL (https) URL if available.')),
- '$advanced' => array('advanced', t('Enable $Projectname <strong>advanced</strong> features?'), 1, t('Some advanced features, while useful - may be best suited for technically proficient audiences')),
+
+ '$server_role' => array('server_role', t("Server Configuration/Role"), 'standard','',$server_roles),
'$timezone' => array('timezone', t('Please select a default timezone for your website'), $timezone, '', get_timezones()),
diff --git a/Zotlabs/Module/Theme_info.php b/Zotlabs/Module/Theme_info.php
new file mode 100644
index 000000000..e27ec9444
--- /dev/null
+++ b/Zotlabs/Module/Theme_info.php
@@ -0,0 +1,71 @@
+<?php
+
+namespace Zotlabs\Module;
+
+
+class Theme_info extends \Zotlabs\Web\Controller {
+
+ function get() {
+ $theme = argv(1);
+ if(! $theme)
+ killme();
+
+ $schemalist = array();
+
+ $theme_config = "";
+ if(($themeconfigfile = $this->get_theme_config_file($theme)) != null){
+ require_once($themeconfigfile);
+ if(class_exists('\\Zotlabs\\Theme\\' . ucfirst($theme) . 'Config')) {
+ $clsname = '\\Zotlabs\\Theme\\' . ucfirst($theme) . 'Config';
+ $th_config = new $clsname();
+ $schemas = $th_config->get_schemas();
+ if($schemas) {
+ foreach($schemas as $k => $v) {
+ $schemalist[] = [ 'key' => $k, 'val' => $v ];
+ }
+ }
+ $theme_config = $th_config->get();
+ }
+ }
+ $info = get_theme_info($theme);
+ if($info) {
+ // unfortunately there will be no translation for this string
+ $desc = $info['description'];
+ $version = $info['version'];
+ $credits = $info['credits'];
+ }
+ else {
+ $desc = '';
+ $version = '';
+ $credits = '';
+ }
+
+ $ret = [
+ 'theme' => $theme,
+ 'img' => get_theme_screenshot($theme),
+ 'desc' => $desc,
+ 'version' => $version,
+ 'credits' => $credits,
+ 'schemas' => $schemalist,
+ 'config' => $theme_config
+ ];
+ json_return_and_die($ret);
+
+ }
+
+
+ function get_theme_config_file($theme){
+
+ $base_theme = \App::$theme_info['extends'];
+
+ if (file_exists("view/theme/$theme/php/config.php")){
+ return "view/theme/$theme/php/config.php";
+ }
+ if (file_exists("view/theme/$base_theme/php/config.php")){
+ return "view/theme/$base_theme/php/config.php";
+ }
+ return null;
+ }
+
+
+} \ No newline at end of file
diff --git a/Zotlabs/Module/Update_channel.php b/Zotlabs/Module/Update_channel.php
index b1b2d5103..46ad19805 100644
--- a/Zotlabs/Module/Update_channel.php
+++ b/Zotlabs/Module/Update_channel.php
@@ -67,4 +67,4 @@ function get() {
killme();
}
-} \ No newline at end of file
+}
diff --git a/Zotlabs/Module/Webpages.php b/Zotlabs/Module/Webpages.php
index 0a48d43c6..0da699c73 100644
--- a/Zotlabs/Module/Webpages.php
+++ b/Zotlabs/Module/Webpages.php
@@ -41,7 +41,6 @@ class Webpages extends \Zotlabs\Web\Controller {
$uid = local_channel();
$owner = 0;
- $channel = null;
$observer = \App::get_observer();
$channel = \App::get_channel();
@@ -62,6 +61,28 @@ class Webpages extends \Zotlabs\Web\Controller {
case 'importselected':
$_SESSION['action'] = null;
break;
+ case 'export_select_list':
+ $_SESSION['action'] = null;
+ if(!$uid) {
+ $_SESSION['export'] = null;
+ break;
+ }
+ require_once('include/import.php');
+
+ $pages = get_webpage_elements($channel, 'pages');
+ $layouts = get_webpage_elements($channel, 'layouts');
+ $blocks = get_webpage_elements($channel, 'blocks');
+ $o .= replace_macros(get_markup_template('webpage_export_list.tpl'), array(
+ '$title' => t('Export Webpage Elements'),
+ '$exportbtn' => t('Export selected'),
+ '$action' => $_SESSION['export'], // value should be 'zipfile' or 'cloud'
+ '$pages' => $pages['pages'],
+ '$layouts' => $layouts['layouts'],
+ '$blocks' => $blocks['blocks'],
+ ));
+ $_SESSION['export'] = null;
+ return $o;
+
default :
$_SESSION['action'] = null;
break;
@@ -115,9 +136,11 @@ class Webpages extends \Zotlabs\Web\Controller {
'deny_gid' => $channel['channel_deny_gid']
);
}
- else
- $channel_acl = array();
+ else {
+ $channel_acl = [ 'allow_cid' => '', 'allow_gid' => '', 'deny_cid' => '', 'deny_gid' => '' ];
+ }
+
$is_owner = ($uid && $uid == $owner);
$o = profile_tabs($a, $is_owner, \App::$profile['channel_address']);
@@ -127,7 +150,7 @@ class Webpages extends \Zotlabs\Web\Controller {
'nickname' => \App::$profile['channel_address'],
'lockstate' => (($channel['channel_allow_cid'] || $channel['channel_allow_gid'] || $channel['channel_deny_cid'] || $channel['channel_deny_gid']) ? 'lock' : 'unlock'),
'acl' => (($is_owner) ? populate_acl($channel_acl,false, \Zotlabs\Lib\PermissionDescription::fromGlobalPermission('view_pages')) : ''),
- 'permissions' => (($is_owner) ? $channel_acl : ''),
+ 'permissions' => $channel_acl,
'showacl' => (($is_owner) ? true : false),
'visitor' => true,
'hide_location' => true,
@@ -233,7 +256,6 @@ class Webpages extends \Zotlabs\Web\Controller {
}
function post() {
-
$action = $_REQUEST['action'];
if( $action ){
switch ($action) {
@@ -313,7 +335,8 @@ class Webpages extends \Zotlabs\Web\Controller {
// If the website elements were imported from a zip file, delete the temporary decompressed files
if ($cloud === false && $website && $elements) {
- rrmdir($website); // Delete the temporary decompressed files
+ $_SESSION['tempimportpath'] = $website;
+ //rrmdir($website); // Delete the temporary decompressed files
}
break;
@@ -381,16 +404,299 @@ class Webpages extends \Zotlabs\Web\Controller {
if(!(empty($_SESSION['import_pages']) && empty($_SESSION['import_blocks']) && empty($_SESSION['import_layouts']))) {
info( t('Import complete.') . EOL);
}
+ if(isset($_SESSION['tempimportpath'])) {
+ rrmdir($_SESSION['tempimportpath']); // Delete the temporary decompressed files
+ unset($_SESSION['tempimportpath']);
+ }
+ break;
+
+ case 'exportzipfile':
+
+ if(isset($_POST['w_download'])) {
+ $_SESSION['action'] = 'export_select_list';
+ $_SESSION['export'] = 'zipfile';
+ if(isset($_POST['zipfilename']) && $_POST['zipfilename'] !== '') {
+ $filename = filter_var($_POST['zipfilename'], FILTER_SANITIZE_ENCODED);
+ } else {
+ $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)) {
+ 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
+ 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'])
+ );
+ if($b) {
+ $b = $b[0];
+ $blockinfo = array(
+ 'body' => $b['body'],
+ 'mimetype' => $b['mimetype'],
+ 'title' => $b['title'],
+ 'name' => $b['v'],
+ 'json' => array(
+ 'title' => $b['title'],
+ 'name' => $b['v'],
+ 'mimetype' => $b['mimetype'],
+ )
+ );
+ switch ($blockinfo['mimetype']) {
+ case 'text/html':
+ $block_ext = 'html';
+ break;
+ case 'text/bbcode':
+ $block_ext = 'bbcode';
+ break;
+ case 'text/markdown':
+ $block_ext = 'md';
+ break;
+ case 'application/x-pdl':
+ $block_ext = 'pdl';
+ break;
+ case 'application/x-php':
+ $block_ext = 'php';
+ break;
+ default:
+ $block_ext = 'bbcode';
+ break;
+ }
+ $block_filename = $blockinfo['name'] . '.' . $block_ext;
+ $tmp_blockfolder = $tmp_folderpath . '/blocks/' . $blockinfo['name'];
+ $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)) {
+ 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));
+ }
+ }
+ }
+
+ $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
+ 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'])
+ );
+ if($l) {
+ $l = $l[0];
+ $layoutinfo = array(
+ 'body' => $l['body'],
+ 'mimetype' => $l['mimetype'],
+ 'description' => $l['title'],
+ 'name' => $l['v'],
+ 'json' => array(
+ 'description' => $l['title'],
+ 'name' => $l['v'],
+ 'mimetype' => $l['mimetype'],
+ )
+ );
+ switch ($layoutinfo['mimetype']) {
+ case 'text/bbcode':
+ default:
+ $layout_ext = 'bbcode';
+ break;
+ }
+ $layout_filename = $layoutinfo['name'] . '.' . $layout_ext;
+ $tmp_layoutfolder = $tmp_folderpath . '/layouts/' . $layoutinfo['name'];
+ $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)) {
+ 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));
+ }
+ }
+ }
+
+ $checkedpages = $_POST['page'];
+ $pages = [];
+ if (!empty($checkedpages)) {
+ foreach ($checkedpages as $mid) {
+
+ $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
+ 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'])
+ );
+ if($l) {
+ $l = $l[0];
+ $layoutinfo = array(
+ 'body' => $l['body'],
+ 'mimetype' => $l['mimetype'],
+ 'description' => $l['title'],
+ 'name' => $l['v'],
+ 'json' => array(
+ 'description' => $l['title'],
+ 'name' => $l['v'],
+ )
+ );
+ switch ($layoutinfo['mimetype']) {
+ case 'text/bbcode':
+ default:
+ $layout_ext = 'bbcode';
+ break;
+ }
+ $layout_filename = $layoutinfo['name'] . '.' . $layout_ext;
+ $tmp_layoutfolder = $tmp_folderpath . '/layouts/' . $layoutinfo['name'];
+ $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)) {
+ 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));
+ }
+ }
+ switch ($pp['mimetype']) {
+ case 'text/html':
+ $page_ext = 'html';
+ break;
+ case 'text/bbcode':
+ $page_ext = 'bbcode';
+ break;
+ case 'text/markdown':
+ $page_ext = 'md';
+ break;
+ case 'application/x-pdl':
+ $page_ext = 'pdl';
+ break;
+ case 'application/x-php':
+ $page_ext = 'php';
+ break;
+ default:
+ break;
+ }
+ $pageinfo = array(
+ 'title' => $pp['title'],
+ 'body' => $pp['body'],
+ 'pagelink' => $pp['v'],
+ 'mimetype' => $pp['mimetype'],
+ 'contentfile' => $pp['v'] . '.' . $page_ext,
+ 'layout' => ((x($layoutinfo,'name')) ? $layoutinfo['name'] : ''),
+ 'json' => array(
+ 'title' => $pp['title'],
+ 'pagelink' => $pp['v'],
+ 'mimetype' => $pp['mimetype'],
+ 'layout' => ((x($layoutinfo,'name')) ? $layoutinfo['name'] : ''),
+ )
+ );
+ $page_filename = $pageinfo['pagelink'] . '.' . $page_ext;
+ $tmp_pagefolder = $tmp_folderpath . '/pages/' . $pageinfo['pagelink'];
+ $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)) {
+ 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') {
+ // Generate the zip file
+ \Zotlabs\Lib\ExtendedZip::zipTree($tmp_folderpath, $zip_filepath, \ZipArchive::CREATE);
+ // Output the file for download
+ header('Content-disposition: attachment; filename="' . $zip_filename . '"');
+ header("Content-Type: application/zip");
+ $success = readfile($zip_filepath);
+ } elseif ($action === 'cloud') { // Only zipfile or cloud should be possible values for $action here
+ if(isset($_SESSION['exportcloudpath'])) {
+ require_once('include/attach.php');
+ $cloudpath = urldecode($_SESSION['exportcloudpath']);
+ $channel = \App::get_channel();
+ $dirpath = get_dirpath_by_cloudpath($channel, $cloudpath);
+ 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
+
break;
-
default :
break;
}
+
}
-
-
-
}
}
diff --git a/Zotlabs/Module/Xrd.php b/Zotlabs/Module/Xrd.php
index d71fae695..3ed19962b 100644
--- a/Zotlabs/Module/Xrd.php
+++ b/Zotlabs/Module/Xrd.php
@@ -43,7 +43,7 @@ class Xrd extends \Zotlabs\Web\Controller {
header("Content-type: application/xrd+xml");
- $aliases = array('acct:' . $r[0]['channel_address'] . '@' . \App::get_hostname(), z_root() . '/channel/' . $r[0]['channel_address'], z_root() . '/~' . $r[0]['channel_address']);
+ $aliases = array('acct:' . channel_reddress($r[0]), z_root() . '/channel/' . $r[0]['channel_address'], z_root() . '/~' . $r[0]['channel_address']);
for($x = 0; $x < count($aliases); $x ++) {
if($aliases[$x] === $resource)
diff --git a/Zotlabs/Render/Comanche.php b/Zotlabs/Render/Comanche.php
index 820897ee9..562a9f791 100644
--- a/Zotlabs/Render/Comanche.php
+++ b/Zotlabs/Render/Comanche.php
@@ -99,18 +99,72 @@ class Comanche {
}
}
-
+ function get_condition_var($v) {
+ if($v) {
+ $x = explode('.',$v);
+ if($x[0] == 'config')
+ return get_config($x[1],$x[2]);
+ elseif($x[0] === 'observer') {
+ if(count($x) > 1) {
+ $y = \App::get_observer();
+ if(! $y)
+ return false;
+ if($x[1] == 'address')
+ return $y['xchan_addr'];
+ elseif($x[1] == 'name')
+ return $y['xchan_name'];
+ return false;
+ }
+ return get_observer_hash();
+ }
+ else
+ return false;
+ }
+ return false;
+ }
function test_condition($s) {
-
- // This is extensible. The first version of variable testing supports tests of the form
+ // This is extensible. The first version of variable testing supports tests of the forms:
+ // [if $config.system.foo == baz] which will check if get_config('system','foo') is the string 'baz';
+ // [if $config.system.foo != baz] which will check if get_config('system','foo') is not the string 'baz';
+ // You may check numeric entries, but these checks are evaluated as strings.
+ // [if $config.system.foo {} baz] which will check if 'baz' is an array element in get_config('system','foo')
+ // [if $config.system.foo {*} baz] which will check if 'baz' is an array key in get_config('system','foo')
// [if $config.system.foo] which will check for a return of a true condition for get_config('system','foo');
// The values 0, '', an empty array, and an unset value will all evaluate to false.
- if(preg_match("/[\$]config[\.](.*?)/",$s,$matches)) {
- $x = explode('.',$s);
- if(get_config($x[1],$x[2]))
+ if(preg_match('/[\$](.*?)\s\=\=\s(.*?)$/',$s,$matches)) {
+ $x = $this->get_condition_var($matches[1]);
+ if($x == trim($matches[2]))
+ return true;
+ return false;
+ }
+ if(preg_match('/[\$](.*?)\s\!\=\s(.*?)$/',$s,$matches)) {
+ $x = $this->get_condition_var($matches[1]);
+ if($x != trim($matches[2]))
+ return true;
+ return false;
+ }
+
+ if(preg_match('/[\$](.*?)\s\{\}\s(.*?)$/',$s,$matches)) {
+ $x = $this->get_condition_var($matches[1]);
+ if(is_array($x) && in_array(trim($matches[2]),$x))
+ return true;
+ return false;
+ }
+
+ if(preg_match('/[\$](.*?)\s\{\*\}\s(.*?)$/',$s,$matches)) {
+ $x = $this->get_condition_var($matches[1]);
+ if(is_array($x) && array_key_exists(trim($matches[2]),$x))
+ return true;
+ return false;
+ }
+
+ if(preg_match('/[\$](.*?)$/',$s,$matches)) {
+ $x = $this->get_condition_var($matches[1]);
+ if($x)
return true;
+ return false;
}
return false;
@@ -231,7 +285,7 @@ class Comanche {
$path = 'library/bootstrap/js/bootstrap.min.js';
break;
case 'foundation':
- $path = 'library/foundation/js/foundation.min.js';
+ $path = 'library/foundation/js/foundation.js';
$init = "\r\n" . '<script>$(document).ready(function() { $(document).foundation(); });</script>';
break;
}
@@ -403,4 +457,4 @@ class Comanche {
return;
}
-} \ No newline at end of file
+}
diff --git a/Zotlabs/Render/SmartyTemplate.php b/Zotlabs/Render/SmartyTemplate.php
index 532d6e42f..ffe58e286 100755
--- a/Zotlabs/Render/SmartyTemplate.php
+++ b/Zotlabs/Render/SmartyTemplate.php
@@ -15,7 +15,10 @@ class SmartyTemplate implements TemplateEngine {
? \App::$config['system']['smarty3_folder'] : '');
if (!$basecompiledir) $basecompiledir = str_replace('Zotlabs','',dirname(__dir__)) . "/" . TEMPLATE_BUILD_PATH;
if (!is_dir($basecompiledir)) {
- echo "<b>ERROR:</b> folder <tt>$basecompiledir</tt> does not exist."; killme();
+ @os_mkdir(TEMPLATE_BUILD_PATH, STORAGE_DEFAULT_PERMISSIONS, true);
+ if (!is_dir($basecompiledir)) {
+ echo "<b>ERROR:</b> folder <tt>$basecompiledir</tt> does not exist."; killme();
+ }
}
if(!is_writable($basecompiledir)){
echo "<b>ERROR:</b> folder <tt>$basecompiledir</tt> must be writable by webserver."; killme();
@@ -27,6 +30,13 @@ class SmartyTemplate implements TemplateEngine {
public function replace_macros($s, $r) {
$template = '';
+
+ // these are available for use in all templates
+
+ $r['$z_baseurl'] = z_root();
+ $r['$z_server_role'] = \Zotlabs\Lib\System::get_server_role();
+ $r['$z_techlevel'] = get_account_techlevel();
+
if(gettype($s) === 'string') {
$template = $s;
$s = new SmartyInterface();
diff --git a/Zotlabs/Render/Theme.php b/Zotlabs/Render/Theme.php
index a8b86f371..9f9009d72 100644
--- a/Zotlabs/Render/Theme.php
+++ b/Zotlabs/Render/Theme.php
@@ -66,6 +66,8 @@ class Theme {
$chosen_theme = $page_theme;
}
}
+ if(array_key_exists('theme_preview',$_GET))
+ $chosen_theme = $_GET['theme_preview'];
// Allow theme selection of the form 'theme_name:schema_name'
@@ -112,7 +114,7 @@ class Theme {
$theme = self::current();
$t = $theme[0];
- $s = ((count($theme) > 1) ? $t[1] : '');
+ $s = ((count($theme) > 1) ? $theme[1] : '');
$opts = '';
$opts = ((\App::$profile_uid) ? '?f=&puid=' . \App::$profile_uid : '');
@@ -127,5 +129,12 @@ class Theme {
return('view/theme/' . $t . '/css/style.css');
}
+
+ function debug() {
+ logger('system_theme: ' . self::$system_theme);
+ logger('session_theme: ' . self::$session_theme);
+
+ }
+
}
diff --git a/Zotlabs/Storage/Browser.php b/Zotlabs/Storage/Browser.php
index 948f7c733..4a7e49e86 100644
--- a/Zotlabs/Storage/Browser.php
+++ b/Zotlabs/Storage/Browser.php
@@ -99,10 +99,10 @@ class Browser extends DAV\Browser\Plugin {
$parent = $this->server->tree->getNodeForPath($path);
$parentpath = array();
- // only show parent if not leaving /cloud/; TODO how to improve this?
+ // only show parent if not leaving /cloud/; TODO how to improve this?
if ($path && $path != "cloud") {
- list($parentUri) = \Sabre\HTTP\URLUtil::splitPath($path);
- $fullPath = \Sabre\HTTP\URLUtil::encodePath($this->server->getBaseUri() . $parentUri);
+ list($parentUri) = \Sabre\Uri\split($path);
+ $fullPath = \Sabre\HTTP\encodePath($this->server->getBaseUri() . $parentUri);
$parentpath['icon'] = $this->enableAssets ? '<a href="' . $fullPath . '"><img src="' . $this->getAssetUrl('icons/parent' . $this->iconExtension) . '" width="24" alt="' . t('parent') . '"></a>' : '';
$parentpath['path'] = $fullPath;
@@ -114,9 +114,9 @@ class Browser extends DAV\Browser\Plugin {
$type = null;
// This is the current directory, we can skip it
- if (rtrim($file['href'],'/') == $path) continue;
+ if (rtrim($file['href'], '/') == $path) continue;
- list(, $name) = \Sabre\HTTP\URLUtil::splitPath($file['href']);
+ list(, $name) = \Sabre\Uri\split($file['href']);
if (isset($file[200]['{DAV:}resourcetype'])) {
$type = $file[200]['{DAV:}resourcetype']->getValue();
@@ -166,8 +166,7 @@ class Browser extends DAV\Browser\Plugin {
$size = isset($file[200]['{DAV:}getcontentlength']) ? (int)$file[200]['{DAV:}getcontentlength'] : '';
$lastmodified = ((isset($file[200]['{DAV:}getlastmodified'])) ? $file[200]['{DAV:}getlastmodified']->getTime()->format('Y-m-d H:i:s') : '');
- $fullPath = \Sabre\HTTP\URLUtil::encodePath('/' . trim($this->server->getBaseUri() . ($path ? $path . '/' : '') . $name, '/'));
-
+ $fullPath = \Sabre\HTTP\encodePath('/' . trim($this->server->getBaseUri() . ($path ? $path . '/' : '') . $name, '/'));
$displayName = isset($file[200]['{DAV:}displayname']) ? $file[200]['{DAV:}displayname'] : $name;
@@ -248,8 +247,8 @@ class Browser extends DAV\Browser\Plugin {
$current_theme = \Zotlabs\Render\Theme::current();
- $theme_info_file = "view/theme/" . $current_theme[0] . "/php/theme.php";
- if (file_exists($theme_info_file)){
+ $theme_info_file = 'view/theme/' . $current_theme[0] . '/php/theme.php';
+ if (file_exists($theme_info_file)) {
require_once($theme_info_file);
if (function_exists(str_replace('-', '_', $current_theme[0]) . '_init')) {
$func = str_replace('-', '_', $current_theme[0]) . '_init';
@@ -279,15 +278,14 @@ class Browser extends DAV\Browser\Plugin {
$aclselect = null;
$lockstate = '';
- if($this->auth->owner_id) {
+ if ($this->auth->owner_id) {
$channel = channelx_by_n($this->auth->owner_id);
- if($channel) {
+ if ($channel) {
$acl = new \Zotlabs\Access\AccessList($channel);
$channel_acl = $acl->get();
$lockstate = (($acl->is_private()) ? 'lock' : 'unlock');
$aclselect = ((local_channel() == $this->auth->owner_id) ? populate_acl($channel_acl,false, \Zotlabs\Lib\PermissionDescription::fromGlobalPermission('view_storage')) : '');
-
}
}
@@ -316,7 +314,7 @@ class Browser extends DAV\Browser\Plugin {
$quota['desc'] = $quotaDesc;
$quota['warning'] = ((($limit) && ((round($used / $limit, 1) * 100) >= 90)) ? t('WARNING:') : ''); // 10485760 bytes = 100MB
- $path = trim(str_replace('cloud/' . $this->auth->owner_nick, '', $path),'/');
+ $path = trim(str_replace('cloud/' . $this->auth->owner_nick, '', $path), '/');
$output .= replace_macros(get_markup_template('cloud_actionspanel.tpl'), array(
'$folder_header' => t('Create new folder'),
@@ -354,7 +352,7 @@ class Browser extends DAV\Browser\Plugin {
*
* Given the owner, the parent folder and and attach name get the attachment
* hash.
- *
+ *
* @param int $owner
* The owner_id
* @param string $hash
@@ -363,14 +361,13 @@ class Browser extends DAV\Browser\Plugin {
* The name of the attachment
* @return string
*/
-
protected function findAttachHash($owner, $parentHash, $attachName) {
$r = q("SELECT hash FROM attach WHERE uid = %d AND folder = '%s' AND filename = '%s' ORDER BY edited DESC LIMIT 1",
intval($owner),
dbesc($parentHash),
dbesc($attachName)
);
- $hash = "";
+ $hash = '';
if ($r) {
foreach ($r as $rr) {
$hash = $rr['hash'];
diff --git a/Zotlabs/Storage/Directory.php b/Zotlabs/Storage/Directory.php
index 15e06e28f..de4d90da4 100644
--- a/Zotlabs/Storage/Directory.php
+++ b/Zotlabs/Storage/Directory.php
@@ -3,7 +3,6 @@
namespace Zotlabs\Storage;
use Sabre\DAV;
-use Sabre\HTTP;
/**
* @brief RedDirectory class.
@@ -54,7 +53,7 @@ class Directory extends DAV\Node implements DAV\ICollection, DAV\IQuota {
logger('directory ' . $ext_path, LOGGER_DATA);
$this->ext_path = $ext_path;
// remove "/cloud" from the beginning of the path
- $modulename = \App::$module;
+ $modulename = \App::$module;
$this->red_path = ((strpos($ext_path, '/' . $modulename) === 0) ? substr($ext_path, strlen($modulename) + 1) : $ext_path);
if (! $this->red_path) {
$this->red_path = '/';
@@ -99,7 +98,6 @@ class Directory extends DAV\Node implements DAV\ICollection, DAV\IQuota {
/**
* @brief Returns a child by name.
*
- *
* @throw \Sabre\DAV\Exception\Forbidden
* @throw \Sabre\DAV\Exception\NotFound
* @param string $name
@@ -160,7 +158,7 @@ class Directory extends DAV\Node implements DAV\ICollection, DAV\IQuota {
throw new DAV\Exception\Forbidden('Permission denied.');
}
- list($parent_path, ) = HTTP\URLUtil::splitPath($this->red_path);
+ list($parent_path, ) = \Sabre\Uri\split($this->red_path);
$new_path = $parent_path . '/' . $name;
$r = q("UPDATE attach SET filename = '%s' WHERE hash = '%s' AND uid = %d",
@@ -169,12 +167,11 @@ class Directory extends DAV\Node implements DAV\ICollection, DAV\IQuota {
intval($this->auth->owner_id)
);
-
$ch = channelx_by_n($this->auth->owner_id);
- if($ch) {
- $sync = attach_export_data($ch,$this->folder_hash);
- if($sync)
- build_sync_packet($ch['channel_id'],array('file' => array($sync)));
+ if ($ch) {
+ $sync = attach_export_data($ch, $this->folder_hash);
+ if ($sync)
+ build_sync_packet($ch['channel_id'], array('file' => array($sync)));
}
$this->red_path = $new_path;
@@ -207,7 +204,6 @@ class Directory extends DAV\Node implements DAV\ICollection, DAV\IQuota {
throw new DAV\Exception\Forbidden('Permission denied.');
}
-
$mimetype = z_mime_content_type($name);
$c = q("SELECT * FROM channel WHERE channel_id = %d AND channel_removed = 0 LIMIT 1",
@@ -226,22 +222,22 @@ class Directory extends DAV\Node implements DAV\ICollection, DAV\IQuota {
$direct = null;
- if($this->folder_hash) {
+ if ($this->folder_hash) {
$r = q("select * from attach where hash = '%s' and is_dir = 1 and uid = %d limit 1",
dbesc($this->folder_hash),
intval($c[0]['channel_id'])
);
- if($r)
+ if ($r)
$direct = $r[0];
}
- if(($direct) && (($direct['allow_cid']) || ($direct['allow_gid']) || ($direct['deny_cid']) || ($direct['deny_gid']))) {
+ if (($direct) && (($direct['allow_cid']) || ($direct['allow_gid']) || ($direct['deny_cid']) || ($direct['deny_gid']))) {
$allow_cid = $direct['allow_cid'];
$allow_gid = $direct['allow_gid'];
$deny_cid = $direct['deny_cid'];
$deny_gid = $direct['deny_gid'];
}
- else {
+ else {
$allow_cid = $c[0]['channel_allow_cid'];
$allow_gid = $c[0]['channel_allow_gid'];
$deny_cid = $c[0]['channel_deny_cid'];
@@ -270,8 +266,6 @@ class Directory extends DAV\Node implements DAV\ICollection, DAV\IQuota {
dbesc($deny_gid)
);
-
-
// returns the number of bytes that were written to the file, or FALSE on failure
$size = file_put_contents($f, $data);
// delete attach entry if file_put_contents() failed
@@ -284,16 +278,13 @@ class Directory extends DAV\Node implements DAV\ICollection, DAV\IQuota {
// returns now
$edited = datetime_convert();
-
-
$is_photo = 0;
$x = @getimagesize($f);
- logger('getimagesize: ' . print_r($x,true), LOGGER_DATA);
- if(($x) && ($x[2] === IMAGETYPE_GIF || $x[2] === IMAGETYPE_JPEG || $x[2] === IMAGETYPE_PNG)) {
+ logger('getimagesize: ' . print_r($x,true), LOGGER_DATA);
+ if (($x) && ($x[2] === IMAGETYPE_GIF || $x[2] === IMAGETYPE_JPEG || $x[2] === IMAGETYPE_PNG)) {
$is_photo = 1;
}
-
// updates entry with filesize and timestamp
$d = q("UPDATE attach SET filesize = '%s', is_photo = %d, edited = '%s' WHERE hash = '%s' AND uid = %d",
dbesc($size),
@@ -329,28 +320,26 @@ class Directory extends DAV\Node implements DAV\ICollection, DAV\IQuota {
}
}
- if($is_photo) {
+ if ($is_photo) {
$album = '';
- if($this->folder_hash) {
+ if ($this->folder_hash) {
$f1 = q("select filename from attach WHERE hash = '%s' AND uid = %d",
dbesc($this->folder_hash),
intval($c[0]['channel_id'])
);
- if($f1)
+ if ($f1)
$album = $f1[0]['filename'];
}
require_once('include/photos.php');
$args = array( 'resource_id' => $hash, 'album' => $album, 'os_path' => $f, 'filename' => $name, 'getimagesize' => $x, 'directory' => $direct);
- $p = photo_upload($c[0],\App::get_observer(),$args);
+ $p = photo_upload($c[0], \App::get_observer(), $args);
}
- $sync = attach_export_data($c[0],$hash);
-
- if($sync)
- build_sync_packet($c[0]['channel_id'],array('file' => array($sync)));
-
+ $sync = attach_export_data($c[0], $hash);
+ if ($sync)
+ build_sync_packet($c[0]['channel_id'], array('file' => array($sync)));
}
/**
@@ -379,10 +368,10 @@ class Directory extends DAV\Node implements DAV\ICollection, DAV\IQuota {
logger('createDirectory: attach_export_data returns $sync:' . print_r($sync, true), LOGGER_DEBUG);
if($sync) {
- build_sync_packet($r[0]['channel_id'],array('file' => array($sync)));
+ build_sync_packet($r[0]['channel_id'], array('file' => array($sync)));
}
}
- else {
+ else {
logger('error ' . print_r($result, true), LOGGER_DEBUG);
}
}
@@ -391,7 +380,6 @@ class Directory extends DAV\Node implements DAV\ICollection, DAV\IQuota {
/**
* @brief delete directory
*/
-
public function delete() {
logger('delete file ' . basename($this->red_path), LOGGER_DEBUG);
@@ -408,13 +396,11 @@ class Directory extends DAV\Node implements DAV\ICollection, DAV\IQuota {
attach_delete($this->auth->owner_id, $this->folder_hash);
$ch = channelx_by_n($this->auth->owner_id);
- if($ch) {
- $sync = attach_export_data($ch,$this->folder_hash,true);
- if($sync)
- build_sync_packet($ch['channel_id'],array('file' => array($sync)));
+ if ($ch) {
+ $sync = attach_export_data($ch, $this->folder_hash, true);
+ if ($sync)
+ build_sync_packet($ch['channel_id'], array('file' => array($sync)));
}
-
-
}
@@ -573,14 +559,12 @@ class Directory extends DAV\Node implements DAV\ICollection, DAV\IQuota {
/**
* @brief Array with all Directory and File DAV\Node items for the given path.
*
- *
* @param string $file path to a directory
* @param \Zotlabs\Storage\BasicAuth &$auth
* @returns null|array \Sabre\DAV\INode[]
* @throw \Sabre\DAV\Exception\Forbidden
* @throw \Sabre\DAV\Exception\NotFound
*/
-
function CollectionData($file, &$auth) {
$ret = array();
@@ -649,7 +633,7 @@ class Directory extends DAV\Node implements DAV\ICollection, DAV\IQuota {
if ($errors) {
if ($permission_error) {
throw new DAV\Exception\Forbidden('Permission denied.');
- }
+ }
else {
throw new DAV\Exception\NotFound('A component of the request file path could not be found.');
}
@@ -663,7 +647,7 @@ class Directory extends DAV\Node implements DAV\ICollection, DAV\IQuota {
if(ACTIVE_DBTYPE == DBTYPE_POSTGRES) {
$prefix = 'DISTINCT ON (filename)';
$suffix = 'ORDER BY filename';
- }
+ }
else {
$prefix = '';
$suffix = 'GROUP BY filename';
@@ -677,7 +661,7 @@ class Directory extends DAV\Node implements DAV\ICollection, DAV\IQuota {
//logger('filename: ' . $rr['filename'], LOGGER_DEBUG);
if (intval($rr['is_dir'])) {
$ret[] = new Directory($path . '/' . $rr['filename'], $auth);
- }
+ }
else {
$ret[] = new File($path . '/' . $rr['filename'], $rr, $auth);
}
@@ -697,11 +681,10 @@ class Directory extends DAV\Node implements DAV\ICollection, DAV\IQuota {
* @param BasicAuth &$auth
* @return array Directory[]
*/
-
function ChannelList(&$auth) {
$ret = array();
- $r = q("SELECT channel_id, channel_address FROM channel WHERE channel_removed = 0
+ $r = q("SELECT channel_id, channel_address FROM channel WHERE channel_removed = 0
AND channel_system = 0 AND NOT (channel_pageflags & %d)>0",
intval(PAGE_HIDDEN)
);
@@ -720,8 +703,7 @@ class Directory extends DAV\Node implements DAV\ICollection, DAV\IQuota {
/**
- * @brief
- *
+ * @brief
*
* @param string $file
* path to file or directory
@@ -730,7 +712,6 @@ class Directory extends DAV\Node implements DAV\ICollection, DAV\IQuota {
* @return File|Directory|boolean|null
* @throw \Sabre\DAV\Exception\Forbidden
*/
-
function FileData($file, &$auth, $test = false) {
logger($file . (($test) ? ' (test mode) ' : ''), LOGGER_DATA);
@@ -739,12 +720,11 @@ class Directory extends DAV\Node implements DAV\ICollection, DAV\IQuota {
$file = substr($file, 6);
}
else {
- $x = strpos($file,'/dav');
+ $x = strpos($file, '/dav');
if($x === 0)
- $file = substr($file,4);
+ $file = substr($file, 4);
}
-
if ((! $file) || ($file === '/')) {
return new Directory('/', $auth);
}
@@ -780,7 +760,7 @@ class Directory extends DAV\Node implements DAV\ICollection, DAV\IQuota {
$errors = false;
- for ($x = 1; $x < count($path_arr); $x++) {
+ for ($x = 1; $x < count($path_arr); $x++) {
$r = q("select id, hash, filename, flags, is_dir from attach where folder = '%s' and filename = '%s' and uid = %d and is_dir != 0 $perms",
dbesc($folder),
dbesc($path_arr[$x]),
@@ -792,7 +772,7 @@ class Directory extends DAV\Node implements DAV\ICollection, DAV\IQuota {
$path = $path . '/' . $r[0]['filename'];
}
if (! $r) {
- $r = q("select id, uid, hash, filename, filetype, filesize, revision, folder, flags, is_dir, os_storage, created, edited from attach
+ $r = q("select id, uid, hash, filename, filetype, filesize, revision, folder, flags, is_dir, os_storage, created, edited from attach
where folder = '%s' and filename = '%s' and uid = %d $perms order by filename limit 1",
dbesc($folder),
dbesc(basename($file)),
@@ -801,7 +781,7 @@ class Directory extends DAV\Node implements DAV\ICollection, DAV\IQuota {
}
if (! $r) {
$errors = true;
- $r = q("select id, uid, hash, filename, filetype, filesize, revision, folder, flags, is_dir, os_storage, created, edited from attach
+ $r = q("select id, uid, hash, filename, filetype, filesize, revision, folder, flags, is_dir, os_storage, created, edited from attach
where folder = '%s' and filename = '%s' and uid = %d order by filename limit 1",
dbesc($folder),
dbesc(basename($file)),
diff --git a/Zotlabs/Web/SubModule.php b/Zotlabs/Web/SubModule.php
new file mode 100644
index 000000000..5f49b9292
--- /dev/null
+++ b/Zotlabs/Web/SubModule.php
@@ -0,0 +1,43 @@
+<?php
+
+namespace Zotlabs\Web;
+
+
+class SubModule {
+
+ private $controller = false;
+
+ /**
+ * Initiate sub-modules. By default the submodule name is in argv(1), though this is configurable.
+ * Example: Given a URL path such as /admin/plugins, and the Admin module initiates sub-modules.
+ * This means we'll look for a class Plugins in Zotlabs/Module/Admin/Plugins.php
+ * The specific methods and calling parameters are up to the top level module controller logic.
+ *
+ * **If** you were to provide sub-module support on the photos module, you would probably use
+ * $whicharg = 2, as photos are typically called with a URL path of /photos/channel_address/submodule_name
+ * where submodule_name might be something like album or image.
+ */
+
+
+ function __construct($whicharg = 1) {
+
+ if(argc() < ($whicharg + 1))
+ return;
+
+ $filename = 'Zotlabs/Module/' . ucfirst(argv(0)) . '/'. ucfirst(argv($whicharg)) . '.php';
+ $modname = '\\Zotlabs\\Module\\' . ucfirst(argv(0)) . '\\' . ucfirst(argv($whicharg));
+ if(file_exists($filename)) {
+ $this->controller = new $modname();
+ }
+ }
+
+ function call($method) {
+ if(! $this->controller)
+ return false;
+ if(method_exists($this->controller,$method))
+ return $this->controller->$method();
+ return false;
+ }
+
+}
+
diff --git a/boot.php b/boot.php
index 9f359d071..8160f8804 100755
--- a/boot.php
+++ b/boot.php
@@ -44,10 +44,10 @@ require_once('include/account.php');
define ( 'PLATFORM_NAME', 'hubzilla' );
-define ( 'STD_VERSION', '1.12.1' );
+define ( 'STD_VERSION', '1.14RC1' );
define ( 'ZOT_REVISION', '1.1' );
-define ( 'DB_UPDATE_VERSION', 1181 );
+define ( 'DB_UPDATE_VERSION', 1183 );
/**
@@ -150,15 +150,6 @@ define ( 'MAX_IMAGE_LENGTH', -1 );
define ( 'DEFAULT_DB_ENGINE', 'MyISAM' );
/**
- * SSL redirection policies
- */
-
-define ( 'SSL_POLICY_NONE', 0 );
-define ( 'SSL_POLICY_FULL', 1 );
-define ( 'SSL_POLICY_SELFSIGN', 2 ); // NOT supported in Red
-
-
-/**
* log levels
*/
@@ -168,6 +159,15 @@ define ( 'LOGGER_DEBUG', 2 );
define ( 'LOGGER_DATA', 3 );
define ( 'LOGGER_ALL', 4 );
+
+/**
+ * Server roles
+ */
+
+define ( 'SERVER_ROLE_BASIC', 0x0001 );
+define ( 'SERVER_ROLE_STANDARD', 0x0002 );
+define ( 'SERVER_ROLE_PRO', 0x0004 );
+
/**
* registration policies
*/
@@ -612,11 +612,11 @@ function sys_boot() {
if(UNO)
App::$config['system']['server_role'] = 'basic';
else
- App::$config['system']['server_role'] = 'pro';
+ App::$config['system']['server_role'] = 'standard';
}
if(! (array_key_exists('server_role',App::$config['system']) && App::$config['system']['server_role']))
- App::$config['system']['server_role'] = 'pro';
+ App::$config['system']['server_role'] = 'standard';
App::$timezone = ((App::$config['system']['timezone']) ? App::$config['system']['timezone'] : 'UTC');
date_default_timezone_set(App::$timezone);
@@ -697,6 +697,7 @@ function startup() {
class ZotlabsAutoloader {
static public function loader($className) {
+ $debug = false;
$filename = str_replace('\\', '/', $className) . ".php";
if(file_exists($filename)) {
include($filename);
@@ -760,7 +761,7 @@ class miniApp {
class App {
public static $install = false; // true if we are installing the software
-
+ public static $role = 0; // server role (constant, not the string)
public static $account = null; // account record of the logged-in account
public static $channel = null; // channel record of the current channel of the logged-in account
public static $observer = null; // xchan record of the page observer
@@ -1044,6 +1045,31 @@ class App {
}
}
+ public static function get_role() {
+ if(! self::$role)
+ return self::set_role();
+ return self::$role;
+ }
+
+ public static function set_role() {
+ $role_str = \Zotlabs\Lib\System::get_server_role();
+ switch($role_str) {
+ case 'basic':
+ $role = SERVER_ROLE_BASIC;
+ break;
+ case 'pro':
+ $role = SERVER_ROLE_PRO;
+ break;
+ case 'standard':
+ default:
+ $role = SERVER_ROLE_STANDARD;
+ break;
+ }
+ self::$role = $role;
+ return $role;
+ }
+
+
public static function get_scheme() {
return self::$scheme;
}
@@ -1583,13 +1609,13 @@ function fix_system_urls($oldurl, $newurl) {
);
if($r) {
- foreach($r as $rr) {
- $channel_address = substr($rr['hubloc_addr'],0,strpos($rr['hubloc_addr'],'@'));
+ foreach($r as $rv) {
+ $channel_address = substr($rv['hubloc_addr'],0,strpos($rv['hubloc_addr'],'@'));
// get the associated channel. If we don't have a local channel, do nothing for this entry.
$c = q("select * from channel where channel_hash = '%s' limit 1",
- dbesc($rr['hubloc_hash'])
+ dbesc($rv['hubloc_hash'])
);
if(! $c)
continue;
@@ -1611,19 +1637,19 @@ function fix_system_urls($oldurl, $newurl) {
// The xchan_url might point to another nomadic identity clone
- $replace_xchan_url = ((strpos($rr['xchan_url'],$oldurl) !== false) ? true : false);
+ $replace_xchan_url = ((strpos($rv['xchan_url'],$oldurl) !== false) ? true : false);
$x = q("update xchan set xchan_addr = '%s', xchan_url = '%s', xchan_connurl = '%s', xchan_follow = '%s', xchan_connpage = '%s', xchan_photo_l = '%s', xchan_photo_m = '%s', xchan_photo_s = '%s', xchan_photo_date = '%s' where xchan_hash = '%s'",
dbesc($channel_address . '@' . $rhs),
- dbesc(($replace_xchan_url) ? str_replace($oldurl,$newurl,$rr['xchan_url']) : $rr['xchan_url']),
- dbesc(str_replace($oldurl,$newurl,$rr['xchan_connurl'])),
- dbesc(str_replace($oldurl,$newurl,$rr['xchan_follow'])),
- dbesc(str_replace($oldurl,$newurl,$rr['xchan_connpage'])),
- dbesc(str_replace($oldurl,$newurl,$rr['xchan_photo_l'])),
- dbesc(str_replace($oldurl,$newurl,$rr['xchan_photo_m'])),
- dbesc(str_replace($oldurl,$newurl,$rr['xchan_photo_s'])),
+ dbesc(($replace_xchan_url) ? str_replace($oldurl,$newurl,$rv['xchan_url']) : $rv['xchan_url']),
+ dbesc(str_replace($oldurl,$newurl,$rv['xchan_connurl'])),
+ dbesc(str_replace($oldurl,$newurl,$rv['xchan_follow'])),
+ dbesc(str_replace($oldurl,$newurl,$rv['xchan_connpage'])),
+ dbesc(str_replace($oldurl,$newurl,$rv['xchan_photo_l'])),
+ dbesc(str_replace($oldurl,$newurl,$rv['xchan_photo_m'])),
+ dbesc(str_replace($oldurl,$newurl,$rv['xchan_photo_s'])),
dbesc(datetime_convert()),
- dbesc($rr['xchan_hash'])
+ dbesc($rv['xchan_hash'])
);
$y = q("update hubloc set hubloc_addr = '%s', hubloc_url = '%s', hubloc_url_sig = '%s', hubloc_host = '%s', hubloc_callback = '%s' where hubloc_hash = '%s' and hubloc_url = '%s'",
@@ -1632,13 +1658,13 @@ function fix_system_urls($oldurl, $newurl) {
dbesc(base64url_encode(rsa_sign($newurl,$c[0]['channel_prvkey']))),
dbesc($newhost),
dbesc($newurl . '/post'),
- dbesc($rr['xchan_hash']),
+ dbesc($rv['xchan_hash']),
dbesc($oldurl)
);
$z = q("update profile set photo = '%s', thumb = '%s' where uid = %d",
- dbesc(str_replace($oldurl,$newurl,$rr['xchan_photo_l'])),
- dbesc(str_replace($oldurl,$newurl,$rr['xchan_photo_m'])),
+ dbesc(str_replace($oldurl,$newurl,$rv['xchan_photo_l'])),
+ dbesc(str_replace($oldurl,$newurl,$rv['xchan_photo_m'])),
intval($c[0]['channel_id'])
);
@@ -1666,12 +1692,12 @@ function fix_system_urls($oldurl, $newurl) {
);
if($r) {
- foreach($r as $rr) {
+ foreach($r as $rv) {
$x = q("update xchan set xchan_photo_l = '%s', xchan_photo_m = '%s', xchan_photo_s = '%s' where xchan_hash = '%s'",
- dbesc(str_replace($oldurl,$newurl,$rr['xchan_photo_l'])),
- dbesc(str_replace($oldurl,$newurl,$rr['xchan_photo_m'])),
- dbesc(str_replace($oldurl,$newurl,$rr['xchan_photo_s'])),
- dbesc($rr['xchan_hash'])
+ dbesc(str_replace($oldurl,$newurl,$rv['xchan_photo_l'])),
+ dbesc(str_replace($oldurl,$newurl,$rv['xchan_photo_m'])),
+ dbesc(str_replace($oldurl,$newurl,$rv['xchan_photo_s'])),
+ dbesc($rv['xchan_hash'])
);
}
}
@@ -2029,8 +2055,8 @@ function load_contact_links($uid) {
intval($uid)
);
if($r) {
- foreach($r as $rr){
- $ret[$rr['xchan_hash']] = $rr;
+ foreach($r as $rv){
+ $ret[$rv['xchan_hash']] = $rv;
}
}
else
@@ -2211,6 +2237,9 @@ function construct_page(&$a) {
$current_theme = Zotlabs\Render\Theme::current();
+ // logger('current_theme: ' . print_r($current_theme,true));
+ // Zotlabs\Render\Theme::debug();
+
if (($p = theme_include($current_theme[0] . '.js')) != '')
head_add_js($p);
diff --git a/doc/Developers.md b/doc/Developers.md
index b19b4fc2f..ef02c8327 100644
--- a/doc/Developers.md
+++ b/doc/Developers.md
@@ -18,7 +18,7 @@ to notify us to merge your work.
**Translations**
-Our translations are managed through Transifex. If you wish to help out translating the $Projectname to another language, sign up on transifex.com, visit [https://www.transifex.com/projects/p/red-matrix/](https://www.transifex.com/projects/p/red-matrix/) and request to join one of the existing language teams or create a new one. Notify one of the core developers when you have a translation update which requires merging, or ask about merging it yourself if you're comfortable with git and PHP. We have a string file called 'messages.po' which is gettext compliant and a handful of email templates, and from there we automatically generate the application's language files.
+Our translations are managed through Transifex. If you wish to help out translating $Projectname to another language, sign up on transifex.com, visit [https://www.transifex.com/projects/p/red-matrix/](https://www.transifex.com/projects/p/red-matrix/) and request to join one of the existing language teams or create a new one. Notify one of the core developers when you have a translation update which requires merging, or ask about merging it yourself if you're comfortable with git and PHP. We have a string file called 'messages.po' which is gettext compliant and a handful of email templates, and from there we automatically generate the application's language files.
[Translations - More Info](help/Translations)
diff --git a/doc/Features.md b/doc/Features.md
index 3c5105582..a43fd73fa 100644
--- a/doc/Features.md
+++ b/doc/Features.md
@@ -1,7 +1,7 @@
Extra Features
==============
-The default interface of the $Projectname was designed to be uncluttered. There are a huge number of extra features (some of which are extremely useful) which you can turn on and get the most of the application. These are found under the [Extra Features](settings/features) link of your [Settings](settings) page.
+The default interface of $Projectname was designed to be uncluttered. There are a huge number of extra features (some of which are extremely useful) which you can turn on and get the most of the application. These are found under the [Extra Features](settings/features) link of your [Settings](settings) page.
**Content Expiration**
diff --git a/doc/Plugins.md b/doc/Plugins.md
index 90ff0fb7d..88b42185b 100644
--- a/doc/Plugins.md
+++ b/doc/Plugins.md
@@ -1,9 +1,9 @@
-Creating Plugins/Addons for the $Projectname
+Creating Plugins/Addons for $Projectname
==========================================
-So you want to make the $Projectname do something it doesn't already do. There are lots of ways. But let's learn how to write a plugin or addon.
+So you want to make $Projectname do something it doesn't already do. There are lots of ways. But let's learn how to write a plugin or addon.
In your $Projectname folder/directory, you will probably see a sub-directory called 'addon'. If you don't have one already, go ahead and create it.
@@ -49,7 +49,7 @@ In our case, we'll call them randplace_load() and randplace_unload(), as that is
* pluginname_uninstall()
-Next we'll talk about **hooks**. Hooks are places in the $Projectname code where we allow plugins to do stuff. There are a [lot of these](help/Hooks), and they each have a name. What we normally do is use the pluginname_load() function to register a "handler function" for any hooks you are interested in. Then when any of these hooks are triggered, your code will be called.
+Next we'll talk about **hooks**. Hooks are places in $Projectname code where we allow plugins to do stuff. There are a [lot of these](help/Hooks), and they each have a name. What we normally do is use the pluginname_load() function to register a "handler function" for any hooks you are interested in. Then when any of these hooks are triggered, your code will be called.
We register hook handlers with the 'register_hook()' function. It takes 3 arguments. The first is the hook we wish to catch, the second is the filename of the file to find our handler function (relative to the base of your $Projectname installation), and the third is the function name of your handler function. So let's create our randplace_load() function right now.
@@ -246,18 +246,18 @@ we will create an argc/argv list for use by your module functions
***Porting Friendica Plugins***
-The $Projectname uses a similar plugin architecture to the Friendica project. The authentication, identity, and permissions systems are completely different. Many Friendica can be ported reasonably easily by renaming a few functions - and then ensuring that the permissions model is adhered to. The functions which need to be renamed are:
+$Projectname uses a similar plugin architecture to the Friendica project. The authentication, identity, and permissions systems are completely different. Many Friendica plugins can be ported reasonably easily by renaming a few functions - and then ensuring that the permissions model is adhered to. The functions which need to be renamed are:
* Friendica's pluginname_install() is pluginname_load()
* Friendica's pluginname_uninstall() is pluginname_unload()
-The $Projectname has _install and _uninstall functions but these are used differently.
+$Projectname has _install and _uninstall functions but these are used differently.
* Friendica's "plugin_settings" hook is called "feature_settings"
* Friendica's "plugin_settings_post" hook is called "feature_settings_post"
-Changing these will often allow your plugin to function, but please double check all your permission and identity code because the concepts behind it are completely different in the $Projectname. Many structured data names (especially DB schema columns) are also quite different.
+Changing these will often allow your plugin to function, but please double check all your permission and identity code because the concepts behind it are completely different in $Projectname. Many structured data names (especially DB schema columns) are also quite different.
#include doc/macros/main_footer.bb;
diff --git a/doc/Privacy.md b/doc/Privacy.md
index 089977d7e..1ac019f5a 100644
--- a/doc/Privacy.md
+++ b/doc/Privacy.md
@@ -36,11 +36,11 @@ Any information or anything posted by you within $Projectname MAY be public or v
Your profile photo, your channel name, and the location (URL or network address) of your channel are visible to anybody on the internet and privacy controls will not affect the display of these items.
-You MAY additionally provide other profile information. Any information which you provide in your "default" or **public profile** MAY be transmitted to other hubs in the $Projectname and additionally MAY be displayed in the channel directory. You can restrict the viewing of this profile information. It may be restricted only to members of your hub, or only connections (friends), or other limited sets of viewers as you desire. If you wish for your profile to be restricted, you must set the appropriate privacy setting, or simply DO NOT provide additional information.
+You MAY additionally provide other profile information. Any information which you provide in your "default" or **public profile** MAY be transmitted to other hubs in $Projectname and additionally MAY be displayed in the channel directory. You can restrict the viewing of this profile information. It may be restricted only to members of your hub, or only connections (friends), or other limited sets of viewers as you desire. If you wish for your profile to be restricted, you must set the appropriate privacy setting, or simply DO NOT provide additional information.
**Content**
-Content you provide (status posts, photos, files, etc.) belongs to you. The $Projectname default is to publish content openly and visible to anybody on the internet (PUBLIC). You MAY control this in your channel settings and restrict the default permissions or you MAY restrict the visibility of any single published item separately (PRIVATE). $Projectname developers will ensure that restricted content is ONLY visible to those in the restriction list - to the best of their ability.
+Content you provide (status posts, photos, files, etc.) belongs to you. $Projectname default is to publish content openly and visible to anybody on the internet (PUBLIC). You MAY control this in your channel settings and restrict the default permissions or you MAY restrict the visibility of any single published item separately (PRIVATE). $Projectname developers will ensure that restricted content is ONLY visible to those in the restriction list - to the best of their ability.
Content (especially status posts) that you share with other networks or that you have made visible to anybody on the internet (PUBLIC) cannot easily be taken back once it has been published. It MAY be shared with other networks and made available through RSS/Atom feeds. It may also be syndicated on other $Projectname sites. It MAY appear on other networks and websites and be visible in internet searches. If you do not wish this default behaviour please adjust your channel settings and restrict who can see your content.
@@ -56,7 +56,7 @@ $Projectname developers will ensure that any content you provide which is design
Privacy for your identity is another aspect. Because you have a decentralized identity in $Projectname, your privacy extends beyond your home hub. If you want to have complete control of your privacy and security you should run your own hub on a dedicated server. For many people, this is complicated and may stretch their technical abilities. So let's list a few precautions you can make to assure your privacy as much as possible.
-A decentralized identity has a lot of advantages and gives you al lot of interesting features, but you should be aware of the fact that your identity is known by other hubs in the $Projectname network. One of those advantages is that other channels can serve you customized content and allow you to see private things (such as private photos which others wish to share with you). Because of this those channels need to know who you are. But we understand that sometimes those other channels know more from you than you might desire. For instance the plug-in Visage that can tell a channel owner the last time you visit their profile. You can easily OPT-OUT of this low level and we think, harmless tracking.
+A decentralized identity has a lot of advantages and gives you al lot of interesting features, but you should be aware of the fact that your identity is known by other hubs in $Projectname network. One of those advantages is that other channels can serve you customized content and allow you to see private things (such as private photos which others wish to share with you). Because of this those channels need to know who you are. But we understand that sometimes those other channels know more from you than you might desire. For instance the plug-in Visage that can tell a channel owner the last time you visit their profile. You can easily OPT-OUT of this low level and we think, harmless tracking.
* You can enable [Do Not Track (DNT)](http://donottrack.us/) in your web browser. We respect this new privacy policy proposal. All modern browsers support DNT. You will find it in the privacy settings of your browsers or else you can consult the web browser's manual. This will not affect the functionality of $Projectname. This setting is probably enough for most people.
diff --git a/doc/Translations.md b/doc/Translations.md
index 226fa2e1a..654ba1b83 100644
--- a/doc/Translations.md
+++ b/doc/Translations.md
@@ -1,4 +1,4 @@
-Translating the $Projectname
+Translating $Projectname
==========================
Translation Process
diff --git a/doc/account_basics.bb b/doc/account_basics.bb
index ba2380df7..664949d6e 100644
--- a/doc/account_basics.bb
+++ b/doc/account_basics.bb
@@ -10,7 +10,7 @@ Please provide a valid email address. Your email address is never published. Thi
[b]Password[/b]
-Enter a password of your choice, and repeat it in the second box to ensure it was typed correctly. As the $Projectname offers a decentralised identity, your account can log you in to many other websites.
+Enter a password of your choice, and repeat it in the second box to ensure it was typed correctly. As $Projectname offers a decentralised identity, your account can log you in to many other websites.
[b]Terms Of Service[/b]
diff --git a/doc/addons_gnusocial.bb b/doc/addons_gnusocial.bb
index dfdce5f6a..d9aed9ac5 100644
--- a/doc/addons_gnusocial.bb
+++ b/doc/addons_gnusocial.bb
@@ -8,7 +8,7 @@ https://yourgnusocialinstance.org/settings/oauthapps
Next, click the link to Register a new application. That brings up the new application form. Here's what to do on each field.
-Icon. I uploaded the $Projectname icon located at this link, after saving it to my computer:
+Icon. I uploaded $Projectname icon located at this link, after saving it to my computer:
https://github.com/redmatrix/hubzilla/blob/master/images/rm-32.png
@@ -39,7 +39,7 @@ Then click on the icon or the name of the application for the information you'll
Now open up a new tab or window and go to your $Projectname account, to Settings > Feature settings. Find the StatusNet Posting Settings.
-Insert the strings of numbers given on the GNUsocial site into the $Projectname fields for Consumer Key and Consumer Secret.
+Insert the strings of numbers given on the GNUsocial site into $Projectname fields for Consumer Key and Consumer Secret.
The Base API Path (remember the trailing /) will be your instance domain, plus the /api/ following. It will probably look like this:
@@ -51,9 +51,9 @@ StatusNet application name: Insert the name you gave to the application over on
Click Submit.
-A button will appear for you to "Sign in to StatusNet." Click it and that will open a tab or window on the GNUsocial site for you to click "Allow." Once clicked and successfully authorized, a security code number will appear. Copy it and go back to the $Projectname app you just left and insert it in the field: "Copy the security code from StatusNet here." Click Submit.
+A button will appear for you to "Sign in to StatusNet." Click it and that will open a tab or window on the GNUsocial site for you to click "Allow." Once clicked and successfully authorized, a security code number will appear. Copy it and go back to $Projectname app you just left and insert it in the field: "Copy the security code from StatusNet here." Click Submit.
-If successful, your information from the GNUsocial instance should appear in the $Projectname app.
+If successful, your information from the GNUsocial instance should appear in $Projectname app.
You now have several options to choose, if you desire, and those will need to be confirmed by clicking "Submit" also. The most interesting is "Send public postings to StatusNet by default." This option automatically sends any post of yours made in your $Projectname account to your GNUsocial instance.
diff --git a/doc/ca/general.bb b/doc/ca/general.bb
index f7d556130..dace92775 100644
--- a/doc/ca/general.bb
+++ b/doc/ca/general.bb
@@ -2,7 +2,7 @@
[zrl=[baseurl]/help/Privacy]Politica de Privacitat[/zrl]
-[zrl=[baseurl]/help/history]Història de $Projectname[/zrl]
+[zrl=[baseurl]/help/project/history]Història de $Projectname[/zrl]
[h3]Recursos Externs[/h3]
[zrl=[baseurl]/help/external-resource-links]Enllaços a Recursos Externs[/zrl]
diff --git a/doc/campaign.bb b/doc/campaign.bb
index 48f28f0c0..750412ba3 100644
--- a/doc/campaign.bb
+++ b/doc/campaign.bb
@@ -4,7 +4,7 @@
[b][color= grey][size=18]Single-click sign on, nomadic identity, censorship-resistance, privacy, self-hosting[/size][/color][/b]
-We started the $Projectname project by asking ourselves a few questions:
+We started $Projectname project by asking ourselves a few questions:
- Imagine if it was possible to just access the content of different web sites, without the need to enter usernames and passwords for every site. Such a feature would permit Single-Click user identification: the ability to access sites simply by clicking on links to remote sites.
Authentication just happens automagically behind the scenes. Forget about remembering multiple user names with multiple passwords when accessing different sites online.
@@ -52,7 +52,7 @@ Think of it this way: the internet is nothing, but a bunch of permissions and a
[b][color= grey][size=20]The Matrix is Born![/size][/color][/b]
-After asking and striving to answer a number of such questions, we realized that we were imagining a general purpose communication network with a number of unique, and potentially game-changing, features. We called it the $Projectname and started thinking of it as an over-lay on top of the internet as it exists today; an operating system re-invented as a communication network, with its own permissions, access control lists, protocol, connectors to others services, and open-ended possibilities via its API. The sum of the matrix is greater than it's parts. We're not building website, but a way for websites to link together and grow into something that is unique and ever-changing, with autonomy and privacy.
+After asking and striving to answer a number of such questions, we realized that we were imagining a general purpose communication network with a number of unique, and potentially game-changing, features. We called it $Projectname and started thinking of it as an over-lay on top of the internet as it exists today; an operating system re-invented as a communication network, with its own permissions, access control lists, protocol, connectors to others services, and open-ended possibilities via its API. The sum of the matrix is greater than it's parts. We're not building website, but a way for websites to link together and grow into something that is unique and ever-changing, with autonomy and privacy.
It's a lot of work, for anyone. So far, we've got a team of a handful of volunteers, code geeks, brave early adopters, system administrators and other good people, willing to give the project a shot. We're motivated by our commitment to a free web, where privacy is built-in, and corporations don't have a stranglehold on our daily communication.
@@ -60,7 +60,7 @@ We need your help to finish it and release it to the world!
[b][color= grey][size=20]What have we written so far[/size][/color][/b]
-As of the today, the $Projectname is in developer preview (alpha) state. It is not ready for everyday use, but some of the initial set of core features are implemented (again, in alpha state). These include:
+As of the today, $Projectname is in developer preview (alpha) state. It is not ready for everyday use, but some of the initial set of core features are implemented (again, in alpha state). These include:
- Zot, the protocol powering the matrix
- Single-signon logins.
@@ -71,7 +71,7 @@ As of the today, the $Projectname is in developer preview (alpha) state. It is
[b][color= grey][size=20]Our TO-DO List[/size][/color][/b]
-However, in addition to finishing and polishing the above, there are a number of features that have to implemented to make the $Projectname ready for daily use. If we meet our fundraising goal, we hope to dive into the following road map, by order of priority:
+However, in addition to finishing and polishing the above, there are a number of features that have to implemented to make $Projectname ready for daily use. If we meet our fundraising goal, we hope to dive into the following road map, by order of priority:
- A professionally designed user interface (UI), interface that is adaptive to any user level, from end users who want to use the Matrix as a social network, to tinkerers who will put together a customized blog using Comanche, to hackers who will develop and extend the matrix using a built-in code editor, that hooks to the API and the git.
@@ -145,7 +145,7 @@ You get one of your $Projectname t-shirts, as well as our undying gratitude.
Each contributor at this level gets their own $Projectname virtual private server, installed, hosted and supported by us for a period of 1 year.
-[b][color= grey][size=20]Why are we so excited about the $Projectname?[/size][/color][/b]
+[b][color= grey][size=20]Why are we so excited about $Projectname?[/size][/color][/b]
{SOMETHING ABOUT THE POTENTIAL IMPACT OF RED, ITS INNOVATIONS, ETC&gt;
@@ -167,7 +167,7 @@ Perhaps you're good at writing and documenting stuff. Grab an account at one of
[b]1. Is Red a social network?[/b]
-The $Projectname is not a social network. We're thinking of it as a general purpose communication network, with sharing, and public/private communications built into the matrix.
+$Projectname is not a social network. We're thinking of it as a general purpose communication network, with sharing, and public/private communications built into the matrix.
[b]2. What is the difference between Red and Friendica?[/b]
@@ -177,7 +177,7 @@ Friendica is really, really good at sending postcards. It can do all sorts of th
What Friendica can't do, is wave a postcard at somebody and expect them to believe that holding this postcard prove you are who you say you are. Sure, if you've been sending somebody postcards, they might accept that it is you in the picture, but somebody who has never heard of you will not accept ownership of a postcard as proof of identity.
-The $Projectname offers a passport.
+$Projectname offers a passport.
You can still use it to send postcards. At the same time, when you wave your passport at somebody, they do accept it as proof of identity. No longer do you need to register at every single site you use. You already have an account - it's just not necessarily at our site - so we'll ask to see your passport instead.
@@ -194,7 +194,7 @@ We use MySQL as our database (this include any forks such as, MariaDB or Percona
[b]5. How is the Affinity Slider different from Mozilla's Persona?[/b]
{COMPLETE}
-[b]6. Does the $Projectname use encryption? Details please![/b]
+[b]6. Does $Projectname use encryption? Details please![/b]
Yes, we do our best to use free and open source encryption libraries to help achieve privacy from general, mass surveillance.
@@ -207,7 +207,7 @@ For more info on our initial implementation of encrypted communication, check ou
[b]7. What do you mean by decentralization? [/b]
-[b]8. Can I build my own website with in the $Projectname?[/b]
+[b]8. Can I build my own website with in $Projectname?[/b]
Yes. The short explanation: We've got this spiffy idea we're calling &quot;Comanche&quot;, which will allow non-programmers to build complete custom websites, and any such website will be able to connect to any other website or channel in the matrix. The goal of Comanche is to hide the technical complexities of communicating in the matrix, while encouraging people to use their creativity and put together their own unique presence on the matrix.
diff --git a/doc/channels.bb b/doc/channels.bb
index 14d588266..eca8dd0e6 100644
--- a/doc/channels.bb
+++ b/doc/channels.bb
@@ -28,7 +28,7 @@ Once you have done this, your channel is ready to use. At [observer=1][observer.
[h3]The grid, permissions and delegation[/h3]
-The &quot;Grid&quot; page contains all recent posts from across the $Projectname network, again in reverse chronologial order. The exact posts that appear here depend largely on your permissions. At their most permissive, you will receive posts from complete strangers. At the other end of the scale, you may see posts from only your friends - or if you're feeling really anti-social, only your own posts.
+The &quot;Grid&quot; page contains all recent posts from across $Projectname network, again in reverse chronologial order. The exact posts that appear here depend largely on your permissions. At their most permissive, you will receive posts from complete strangers. At the other end of the scale, you may see posts from only your friends - or if you're feeling really anti-social, only your own posts.
As mentioned at the start, many other kinds of channel are possible, however, the creation procedure is the same. The difference between channels lies primarily in the permissions assigned. For example, a channel for sharing documents with colleagues at work would probably want more permissive settings for &quot;Can write to my &quot;public&quot; file storage&quot; than a personal account. For more information, see the [zrl=[baseurl]/help/roles]permissions section[/zrl].
diff --git a/doc/cloud.bb b/doc/cloud.bb
index 3e0ac1fd3..2ad22806b 100644
--- a/doc/cloud.bb
+++ b/doc/cloud.bb
@@ -1,6 +1,6 @@
[b]Personal Cloud Storage[/b]
-The $Projectname provides an ability to store privately and/or share arbitrary files with friends.
+$Projectname provides an ability to store privately and/or share arbitrary files with friends.
You may either upload files from your computer into your storage area, or copy them directly from the operating system using the WebDAV protocol.
diff --git a/doc/comanche.bb b/doc/comanche.bb
index 6a96d5251..4b198d657 100644
--- a/doc/comanche.bb
+++ b/doc/comanche.bb
@@ -65,17 +65,23 @@ By default, $nav is placed in the &quot;nav&quot; page region and $content is pl
To select a theme for your page, use the 'theme' tag.
[code]
- [theme]apw[/theme]
+ [theme]suckerberg[/theme]
[/code]
-This will select the theme named &quot;apw&quot;. By default your channel's preferred theme will be used.
+This will select the theme named &quot;suckerberg&quot;. By default your channel's preferred theme will be used.
[code]
- [theme=passion]apw[/theme]
+ [theme=passion]suckerberg[/theme]
[/code]
-This will select the theme named &quot;apw&quot; and select the &quot;passion&quot; schema (theme variant).
+This will select the theme named &quot;suckerberg&quot; and select the &quot;passion&quot; schema (theme variant). Alternatively it may be possible to use a condensed theme notation for this.
+[code]
+ [theme]suckerberg:passion[/theme]
+
+[/code]
+
+The condensed notation isn't part of Comanche itself but is recognised by $Projectname platform as a theme specifier.
[b]Regions[/b]
Each region has a name, as noted above. You will specify the region of interest using a 'region' tag, which includes the name. Any content you wish placed in this region should be placed between the opening region tag and the closing tag.
@@ -164,7 +170,42 @@ The 'comment' tag is used to delimit comments. These comments will not appear on
[comment]This is a comment[/comment]
[/code]
-
+
+[b]Conditional Execution[/b]
+You can use an 'if' construct to make decisions. These are currently based on system configuration variable or the current observer.
+
+[code]
+ [if $config.system.foo]
+ ... the configuration variable system.foo evaluates to 'true'.
+ [else]
+ ... the configuration variable system.foo evaluates to 'false'.
+ [/if]
+
+ [if $observer]
+ ... this content will only be show to authenticated viewers
+ [/if]
+
+[/code]
+
+ The 'else' clause is optional.
+
+ Several tests are supported besides boolean evaluation.
+
+[code]
+ [if $config.system.foo == bar]
+ ... the configuration variable system.foo is equal to the string 'bar'
+ [/if]
+ [if $config.system.foo != bar]
+ ... the configuration variable system.foo is not equal to the string 'bar'
+ [/if]
+ [if $config.system.foo {} bar ]
+ ... the configuration variable system.foo is a simple array containing a value 'bar'
+ [/if]
+ [if $config.system.foo {*} bar]
+ ... the configuration variable system.foo is a simple array containing a key named 'bar'
+ [/if]
+[/code]
+
[b]Complex Example[/b]
[code]
[comment]use an existing page template which provides a banner region plus 3 columns beneath it[/comment]
diff --git a/doc/connecting_to_channels.bb b/doc/connecting_to_channels.bb
index be37eb25c..291323f75 100644
--- a/doc/connecting_to_channels.bb
+++ b/doc/connecting_to_channels.bb
@@ -1,6 +1,6 @@
[b]Connecting To Channels[/b]
-Connections in the $Projectname can take on a great many different meanings. But let's keep it simple, you want to be friends with somebody like you are familiar with from social networking. How do you do it?
+Connections in $Projectname can take on a great many different meanings. But let's keep it simple, you want to be friends with somebody like you are familiar with from social networking. How do you do it?
First, you need to find some channels to connect to. There are two primary ways of doing this. Firstly, setting the &quot;Can send me their channel stream and posts&quot; permission to &quot;Anybody in this network&quot; will bring posts from complete strangers to your matrix. This will give you a lot of public content and should hopefully help you find interesting, entertaing people, forums, and channels.
diff --git a/doc/connecting_to_channels.md b/doc/connecting_to_channels.md
index 60834c244..349f58b67 100644
--- a/doc/connecting_to_channels.md
+++ b/doc/connecting_to_channels.md
@@ -1,6 +1,6 @@
# Connecting To Channels #
-Connections in the $Projectname can take on a great many different meanings. But let's keep it simple, you want to be friends with somebody like you are familiar with from social networking. How do you do it?
+Connections in $Projectname can take on a great many different meanings. But let's keep it simple, you want to be friends with somebody like you are familiar with from social networking. How do you do it?
First, you need to find some channels to connect to. There are two primary ways of doing this. Firstly, setting the "Can send me their channel stream and posts" permission to "Anybody in this network" will bring posts from complete strangers to your matrix. This will give you a lot of public content and should hopefully help you find interesting, entertaing people, forums, and channels.
diff --git a/doc/context/en/connedit/help.html b/doc/context/en/connedit/help.html
new file mode 100644
index 000000000..9eb62ecc7
--- /dev/null
+++ b/doc/context/en/connedit/help.html
@@ -0,0 +1,12 @@
+<dl class="dl-horizontal">
+ <dt>General</dt>
+ <dd>This page allows you to change or edit any individual settings for a particular connection or delete a connection completely. You may have arrived at this page after creating or approving a new connection. If so, you are not required to do anything. Your connection has already been established. You <strong>may</strong> wish to add them to a group or adjust special permissions, and this page is presented so that you may do this while the opportunity is fresh.</dd>
+ <dt><a href='#' onclick='contextualHelpFocus(".section-title-wrapper", 0); return false;' title="Click to highlight element...">Connection Tools</a></dt>
+ <dd>The <a href='#' onclick='contextualHelpFocus(".section-title-wrapper", 0); return false;' title="Click to highlight element...">Connection Tools</a> menu access several settings. View Profile, View Recent Activity, Refresh Permissions, set or reset flags (Block, Ignore, Archive, Hide) and Delete the connection.</dd>
+ <dt><a href='#' onclick='contextualHelpFocus("#group-sidebar", 0); return false;' title="Click to highlight element...">Privacy Groups</a></dt>
+ <dd>Each connection may be assigned to one or more Privacy Groups for grouping collections of friends with access to specific posts, media and other content. You may add them to an existing privacy group here, or create a new privacy group. When you add them to an existing group the action is immediate and you are not required to submit a form. </dd>
+ <dt><a href='#' onclick='contextualHelpFocus("#perms-tool", 0); return false;' title="Click to highlight element...">Individual Permissions</a></dt>
+ <dd>Granting of permissions is usually automatic and require no action on your part. However you may wish to adjust specific permsisions for this connection which are different than for others.</dd>
+ <dt>Feature Specific Settings</dt>
+ <dd>A number of individual settings are controlled through additional features which may or may not be activated on your hub or for your channel. Several optional features have settings for each connection, and those may be set on this page through additional form tabs which may be present.</dd>
+</dl>
diff --git a/doc/context/en/settings/features/help.html b/doc/context/en/settings/features/help.html
new file mode 100644
index 000000000..86e4f5dae
--- /dev/null
+++ b/doc/context/en/settings/features/help.html
@@ -0,0 +1,12 @@
+<dl class="dl-horizontal">
+ <dt>General</dt>
+ <dd>This page allows you to configure settings for the many additional features of Hubzilla.</dd>
+ <dt><a href='#' onclick='$("#general-settings-title h3 a").click(); setTimeout((function() {contextualHelpFocus("#general-settings-title", 0)}), 1000); return false;' title="Click to highlight element...">General Features</a></dt>
+ <dd>General feature settings include options relevant to your channel, such as webpage and wiki hosting.</dd>
+ <dt><a href='#' onclick='$("#composition-settings-title h3 a").click(); setTimeout((function() {contextualHelpFocus("#composition-settings-title", 0)}), 1000); return false;' title="Click to highlight element...">Post Composition Features</a></dt>
+ <dd>The post composition features provide extra options and capabilities when composing new posts.</dd>
+ <dt><a href='#' onclick='$("#net_module-settings-title h3 a").click(); setTimeout((function() {contextualHelpFocus("#net_module-settings-title", 0)}), 1000); return false;' title="Click to highlight element...">Network and Stream Filtering</a></dt>
+ <dd>These settings modify features associated with filtering and controlling your view of incoming posts.</dd>
+ <dt><a href='#' onclick='$("#tools-settings-title h3 a").click(); setTimeout((function() {contextualHelpFocus("#tools-settings-title", 0)}), 1000); return false;' title="Click to highlight element...">Post/Comment Tools</a></dt>
+ <dd>These provide additional tools for categorizing posts and allowing additional commenting methods such as emoji or community tagging.</dd>
+</dl> \ No newline at end of file
diff --git a/doc/context/es-es/settings/features/help.html b/doc/context/es-es/settings/features/help.html
new file mode 100644
index 000000000..a9c3c2d6c
--- /dev/null
+++ b/doc/context/es-es/settings/features/help.html
@@ -0,0 +1,12 @@
+<dl class="dl-horizontal">
+ <dt>General</dt>
+ <dd>Esta página le permite configurar los ajustes para muchas funcionalidades adicionales de Hubzilla.</dd>
+ <dt><a href='#' onclick='$("#general-settings-title h3 a").click(); setTimeout((function() {contextualHelpFocus("#general-settings-title", 0)}), 1000); return false;' title="Pulsar para resaltar el elemento...">Funcionalidades básicas</a></dt>
+ <dd>Las ajustes de las funcionalidades básicas incluyen opciones importantes para su canal, tales como el hospedaje de páginas web y wikis.</dd>
+ <dt><a href='#' onclick='$("#composition-settings-title h3 a").click(); setTimeout((function() {contextualHelpFocus("#composition-settings-title", 0)}), 1000); return false;' title="Pulsar para resaltar el elemento...">Opciones para la redacción de entradas</a></dt>
+ <dd>Los ajustes de la redacción de entradas incluyen opciones adicionales para la composición de nuevas publicaciones.</dd>
+ <dt><a href='#' onclick='$("#net_module-settings-title h3 a").click(); setTimeout((function() {contextualHelpFocus("#net_module-settings-title", 0)}), 1000); return false;' title="Pulsar para resaltar el elemento...">Filtrado del contenido</a></dt>
+ <dd>Estos ajustes modifican funcionalidades asociadas al filtrado del contenido y a cómo ver las publicaciones nuevas.</dd>
+ <dt><a href='#' onclick='$("#tools-settings-title h3 a").click(); setTimeout((function() {contextualHelpFocus("#tools-settings-title", 0)}), 1000); return false;' title="Pulsar para resaltar el elemento...">Gestión de entradas y comentarios</a></dt>
+ <dd>Estos ajustes proporcionan herramientas adicionales para establecer el tema de las entradas y permiten métodos adicionales para los comentarios, tales como los emojis y el etiquetado de la comunidad.</dd>
+</dl> \ No newline at end of file
diff --git a/doc/contributor/covenant.html b/doc/contributor/covenant.html
new file mode 100644
index 000000000..4facac24e
--- /dev/null
+++ b/doc/contributor/covenant.html
@@ -0,0 +1,106 @@
+<!DOCTYPE html>
+
+<html lang="en">
+<head>
+ <meta charset="utf-8"/>
+ <title>Contributor Covenant 1.4.0</title>
+ <style>
+ body {
+ font-family: monospace;
+ padding: 4em;
+ }
+ a {
+ color: #990000;
+ }
+ </style>
+ <link rel="alternate" hreflang="de" href="version/1/3/0/de/" />
+ <link rel="alternate" hreflang="es" href="version/1/4/es/" />
+ <link rel="alternate" hreflang="fr" href="version/1/3/0/fr/" />
+ <link rel="alternate" hreflang="hu" href="version/1/3/0/hu/" />
+ <link rel="alternate" hreflang="it" href="version/1/3/0/it/" />
+ <link rel="alternate" hreflang="ja" href="version/1/3/0/ja/" />
+ <link rel="alternate" hreflang="pl" href="version/1/4/pl/" />
+ <link rel="alternate" hreflang="pt" href="version/1/3/0/pt/" />
+ <link rel="alternate" hreflang="pt" href="version/1/3/0/pt_br/" />
+ <link rel="alternate" hreflang="ru" href="version/1/3/0/ru/" />
+ <link rel="alternate" hreflang="sl" href="version/1/4/sl/" />
+ <link rel="alternate" hreflang="uk" href="version/1/4/uk/" />
+</head>
+
+<body>
+
+<h1>Contributor Covenant Code of Conduct</h1>
+
+<h2>Our Pledge</h2>
+
+<p>In the interest of fostering an open and welcoming environment, we as
+contributors and maintainers pledge to making participation in our project and
+our community a harassment-free experience for everyone, regardless of age, body
+size, disability, ethnicity, gender identity and expression, level of experience,
+nationality, personal appearance, race, religion, or sexual identity and
+orientation.</p>
+
+<h2>Our Standards</h2>
+
+<p>Examples of behavior that contributes to creating a positive environment
+include:</p>
+
+<ul>
+ <li>Using welcoming and inclusive language</li>
+ <li>Being respectful of differing viewpoints and experiences</li>
+ <li>Gracefully accepting constructive criticism</li>
+ <li>Focusing on what is best for the community</li>
+ <li>Showing empathy towards other community members</li>
+</ul>
+
+<p>Examples of unacceptable behavior by participants include:</p>
+
+<ul>
+ <li>The use of sexualized language or imagery and unwelcome sexual attention or advances</li>
+ <li>Trolling, insulting/derogatory comments, and personal or political attacks</li>
+ <li>Public or private harassment</li>
+ <li>Publishing others' private information, such as a physical or electronic address, without explicit permission</li>
+ <li>Other conduct which could reasonably be considered inappropriate in a professional setting</li>
+</ul>
+
+<h2>Our Responsibilities</h2>
+
+<p>Project maintainers are responsible for clarifying the standards of acceptable
+behavior and are expected to take appropriate and fair corrective action in
+response to any instances of unacceptable behavior.</p>
+
+<p>Project maintainers have the right and responsibility to remove, edit, or
+reject comments, commits, code, wiki edits, issues, and other contributions
+that are not aligned to this Code of Conduct, or to ban temporarily or
+permanently any contributor for other behaviors that they deem inappropriate,
+threatening, offensive, or harmful.</p>
+
+<h2>Scope</h2>
+
+<p>This Code of Conduct applies both within project spaces and in public spaces
+when an individual is representing the project or its community. Examples of
+representing a project or community include using an official project e-mail
+address, posting via an official social media account, or acting as an appointed
+representative at an online or offline event. Representation of a project may be
+further defined and clarified by project maintainers.</p>
+
+<h2>Enforcement</h2>
+
+<p>Instances of abusive, harassing, or otherwise unacceptable behavior may be
+reported by contacting the project team at project&#x40;hubzilla.org. All
+complaints will be reviewed and investigated and will result in a response that
+is deemed necessary and appropriate to the circumstances. The project team is
+obligated to maintain confidentiality with regard to the reporter of an incident.
+Further details of specific enforcement policies may be posted separately.</p>
+
+<p>Project maintainers who do not follow or enforce the Code of Conduct in good
+faith may face temporary or permanent repercussions as determined by other
+members of the project's leadership.</p>
+
+<h2>Attribution</h2>
+
+<p>This Code of Conduct is adapted from the <a href="http://contributor-covenant.org">Contributor Covenant</a>, version 1.4,
+available at <a href="http://contributor-covenant.org/version/1/4/">http://contributor-covenant.org/version/1/4</a>.</p>
+
+</body>
+</html>
diff --git a/doc/de/general.bb b/doc/de/general.bb
index eb1c0f158..6660370d7 100644
--- a/doc/de/general.bb
+++ b/doc/de/general.bb
@@ -2,7 +2,7 @@
[zrl=[baseurl]/help/Privacy]Informationen zum Datenschutz[/zrl]
-[zrl=[baseurl]/help/history]Zur Geschichte von $Projectname[/zrl]
+[zrl=[baseurl]/help/project/history]Zur Geschichte von $Projectname[/zrl]
[h3]Externe Ressourcen[/h3]
[zrl=[baseurl]/help/external-resource-links]Links zu externen Ressourcen[/zrl]
diff --git a/doc/develop.bb b/doc/develop.bb
index ef3ea5bd0..20e987a5a 100644
--- a/doc/develop.bb
+++ b/doc/develop.bb
@@ -20,12 +20,12 @@
[zrl=[baseurl]/help/api_posting]Posting to $Projectname using the API[/zrl]
[zrl=[baseurl]/help/developer_function_primer]Red Functions 101[/zrl]
[zrl=[baseurl]/doc/html/]Code Reference (Doxygen generated - sets cookies)[/zrl]
-[zrl=[baseurl]/help/to_do_doco]To-Do list for the $Projectname Documentation Project[/zrl]
+[zrl=[baseurl]/help/to_do_doco]To-Do list for $Projectname Documentation Project[/zrl]
[zrl=[baseurl]/help/to_do_code]To-Do list for Developers[/zrl]
[zrl=[baseurl]/help/roadmap]Roadmap[/zrl]
[zrl=[baseurl]/help/git_for_non_developers]Git for Non-Developers[/zrl]
[zrl=[baseurl]/help/dev_beginner]Step-for-step manual for beginning developers[/zrl]
[h3]External Resources[/h3]
-[url=https://zothub.com/channel/one]Development Channel[/url]
+[url=https://grid.reticu.li/channel/hubzilla]Development Channel[/url]
[url=https://federated.social/channel/postgres]Postgres-specific $Projectname Admin Support Channel[/url]
diff --git a/doc/developers.bb b/doc/developers.bb
index 6f7752577..f8489640b 100644
--- a/doc/developers.bb
+++ b/doc/developers.bb
@@ -1,6 +1,6 @@
[b]$Projectname Developer Guide[/b]
-We're pretty relaxed when it comes to developers. We don't have a lot of rules. Some of us are over-worked and if you want to help we're happy to let you help. That said, attention to a few guidelines will make the process smoother and make it easier to work together. We have developers from across the globe with different abilities and different cultural backgrounds and different levels of patience. Our primary rule is to respect others. Sometimes this is hard and sometimes we have very different opinions of how things should work, but if everybody makes an effort, we'll get along just fine.
+We're pretty relaxed when it comes to developers. We don't have a lot of rules. Some of us are over-worked and if you want to help we're happy to let you help. That said, attention to a few guidelines will make the process smoother and make it easier to work together. All developers are expected to abide by our [zrl=[baseurl]/help/contributor/covenant]code of conduct[/zrl]. We have developers from across the globe with different abilities and different cultural backgrounds and different levels of patience. Our primary rule is to respect others. Sometimes this is hard and sometimes we have very different opinions of how things should work, but if everybody makes an effort, we'll get along just fine.
[b]Here is how you can join us.[/b]
@@ -19,7 +19,7 @@ to notify us to merge your work.
[b]Translations[/b]
-Our translations are managed through Transifex. If you wish to help out translating the $Projectname to another language, sign up on transifex.com, visit [url=https://www.transifex.com/projects/p/red-matrix/]https://www.transifex.com/projects/p/red-matrix/[/url] and request to join one of the existing language teams or create a new one. Notify one of the core developers when you have a translation update which requires merging, or ask about merging it yourself if you're comfortable with git and PHP. We have a string file called 'messages.po' which is gettext compliant and a handful of email templates, and from there we automatically generate the application's language files.
+Our translations are managed through Transifex. If you wish to help out translating $Projectname to another language, sign up on transifex.com, visit [url=https://www.transifex.com/projects/p/red-matrix/]https://www.transifex.com/projects/p/red-matrix/[/url] and request to join one of the existing language teams or create a new one. Notify one of the core developers when you have a translation update which requires merging, or ask about merging it yourself if you're comfortable with git and PHP. We have a string file called 'messages.po' which is gettext compliant and a handful of email templates, and from there we automatically generate the application's language files.
[zrl=[baseurl]/help/Translations]Translations - More Info[/zrl]
diff --git a/doc/diaspora_compat.bb b/doc/diaspora_compat.bb
new file mode 100644
index 000000000..f27a63b9d
--- /dev/null
+++ b/doc/diaspora_compat.bb
@@ -0,0 +1,68 @@
+[h3]Diaspora Compatibility[/h3]
+
+The Diaspora Protocol addon allows a site to communicate using the Diaspora protocol, which allows communications and connections to be made with Diaspora members (and also Friendica members, since that network also provides the Diaspora Protocol).
+
+This addon is available in the 'basic' and 'standard' server configurations. It is not available with and the plugin is disabled completely when you are using the 'pro' server configuration. The reason for this is that the Diaspora protocol is not very sophisticated and many $projectname features do not work well with it.
+
+Members will have to be aware of limitations of the protocol or limit their own activities to those which are compatible with Diaspora. The 'pro' server configuration is free from these limitations and you may use all of the project features and abilities without regard for how they translate to other networks. Many features are unique to $Projectname and are supported by the &quot;Zot&quot; protocol, which is our native communications language between servers/hubs.
+
+If you are using a configuration which allows direct Diaspora communications you should be aware of the limitations presented here.
+
+[ul]
+[*]Private mail retraction (unsend) is not possible for Diaspora connections.
+
+[*]Private posts and their associated comments are sent in plaintext email notifications in Diaspora and Friendica. This is a major privacy issue and affects any private communications you have where *any* member of the conversation is on another network. Be aware of it.
+
+[*]Access control only works on posts and comments. Diaspora members will get permission denied trying to access any other access controlled hubzilla objects such as files, photos, webpages, chatrooms, etc. In the case of private photos that are linked to posts, they will see a "prohibited sign" instead of the photo. Diaspora has no concept of private media and provides an illusion of photo privacy by using obscured URLs rather than protecting the photo from snooping by unauthorised viewers.
+
+There is no workaround except to make your media resources public (to everybody on the internet).
+
+
+[*]Edited posts will not be delivered. Diaspora members will see the original post/comment without edits. There is no mechanism in the protocol to update an existing post. We cannot delete it and submit another invisibly because the message-id will change and we need to keep the same message-id on our own network. The only workaround is to delete the post/comment and do it over. (If this is a post, this will delete any existing likes/comments). We may eventually provide a way to delete the out of date copy only from Diaspora and keep it intact on networks that can handle edits.
+
+[*]Nomadic identity ($projectname 'standard' only) will not work with Diaspora. We may eventually provide an **option** which will allow you to "start sharing" from all of your clones when you make the first connection. The Diaspora person does not have to accept this, but it will allow your communications to continue if they accept this connection. Without this option, if you go to another server from where you made the connection originally or you make the connection before creating the clone, you will need to connect with them again from the new location.
+
+[*]Post expiration is not supported on Diaspora. We may provide you an option to not send expiring posts to that network. In the future this may be provided with a remote delete request.
+
+[*]End-to-end encryption is not supported. We will translate these posts into a lock icon, which can never be unlocked from the Diaspora side.
+
+[*]Message verification will eventually be supported.
+
+[*]Multiple profiles are not supported. Diaspora members can only see your default profile.
+
+[*]Birthday events will not appear in Diaspora. Other events will be translated and sent as a post, but all times will either be in the origination channel's timezone or in GMT. We do not know the recipient's timezone because Diaspora doesn't have this concept.
+
+[*]We currently allow tags to be hijacked by default. An option is provided to allow you to prevent the other end of the network from hijacking your tags and point them at its own resources.
+
+[*]Community tags will not work. We will send a tagging activity as a comment. It won't do anything.
+
+[*]Privacy tags (@!somebody) will not be available to Diaspora members. These tags may have to be stripped or obscured to prevent them from being hijacked - which could result in privacy issues.
+
+[*]Plus-tagged hubzilla forums should work from Diaspora.
+
+
+[*]You cannot use Diaspora channels as channel sources.
+
+
+[*]Dislikes of posts will be converted to comments and you will have the option to send these as comments or not send them to Diaspora (which does not provide dislike). Currently they are not sent.
+
+[*]We will do the same for both likes and dislikes of [b][i]comments[/i][/b]. They can either be sent as comments or you will have the ability to prevent them from being transmitted to Diaspora. Currently they are not sent.
+
+[*]Emojis are currently untranslated.
+
+[*]"observer tags" will be converted to empty text.
+
+
+[*]Embedded apps will be translated into links.
+
+
+[*]Embedded page design elements (work in progress) will be either stripped or converted to an error message.
+
+[*]Diaspora members will not appear in the directory.
+
+
+[*]There are differences in oembed compatibility between the networks. Some embedded resources will turn into a link on one side or the other.
+
+[/ul]
+
+#include doc/macros/main_footer.bb;
diff --git a/doc/diaspora_compat.md b/doc/diaspora_compat.md
deleted file mode 100644
index 255b565a2..000000000
--- a/doc/diaspora_compat.md
+++ /dev/null
@@ -1,60 +0,0 @@
-##Diaspora Compatibility
-
-Diaspora protocol compatibility is presently considered an ***experimental*** feature. It may not be available on all sites and presents some serious compatibility issues with hubzilla. At the moment these compatibility issues will be shared with "Friendica-over-Diaspora" protocol communications.
-
-Private mail retraction (unsend) will not be possible on Diaspora.
-
-Private posts and their associated comments are sent in plaintext email notifications in Diaspora and Friendica. This is a major privacy issue and affects any private communications you have where *any* member of the conversation is on another network. Be aware of it.
-
-Access control only works on posts and comments. Diaspora members will get permission denied trying to access any other access controlled hubzilla objects such as files, photos, webpages, chatrooms, etc. In the case of private photos that are linked to posts, they will see a "prohibited sign" instead of the photo. Diaspora has no concept of private media. There is no workaround except to make your media resources public (to everybody on the internet).
-
-
-Edited posts will not be delivered. Diaspora members will see the original post/comment without edits. There is no mechanism in the protocol to update an existing post. We cannot delete it and submit another invisibly because the message-id will change and we need to keep the same message-id on our own network. The only workaround is to delete the post/comment and do it over. We may eventually provide a way to delete the out of date copy only from Diaspora and keep it intact on networks that can handle edits.
-
-Some comments from external services will not deliver to Diaspora, as they have no Diaspora service discovery. Currently this applies to comments from WordPress blogs which are imported into your stream; but will extend to most any service that has no Diaspora discover mechanism.
-
-
-Nomadic identity will not work with Diaspora. We will eventually provide an **option** which will allow you to "start sharing" from all of your clones when you make the first connection. The Diaspora person does not have to accept this, but it will allow your communications to continue if they accept this connection. Without this option, if you go to another server from where you made the connection originally or you make the connection before creating the clone, you will need to make friends with them again from the new location.
-
-Post expiration is not supported on Diaspora. We will provide you an option to not send expiring posts to that network. In the future this may be provided with a remote delete request.
-
-End-to-end encryption is not supported. We will translate these posts into a lock icon, which can never be unlocked from the Diaspora side.
-
-Message verification will eventually be supported.
-
-Multiple profiles are not supported. Diaspora members can only see your default profile.
-
-Birthday events will not appear in Diaspora. Other events will be translated and sent as a post, but all times will either be in the origination channel's timezone or in GMT. We do not know the recipient's timezone because Diaspora doesn't have this concept.
-
-We currently allow tags to be hijacked by default. We will provide an option to allow you to prevent the other end of the network from hijacking your tags and point them at its own resources.
-
-Community tags will not work. We will send a tagging activity as a comment. It won't do anything.
-
-Privacy tags (@!somebody) will not be available to Diaspora members. These tags may have to be stripped or obscured to prevent them from being hijacked - which could result in privacy issues.
-
-Plus-tagged hubzilla forums should work from Diaspora.
-
-Premium channel redirects will not be sent. If you allow Diaspora connections, they will not see that you have a premium channel.
-
-You cannot use Diaspora channels as channel sources.
-
-
-Dislikes of posts will be converted to comments and you will have the option to send these as comments or not send them to Diaspora (which does not provide dislike). Currently they are not sent.
-
-We will do the same for both likes and dislikes of comments. They can either be sent as comments or you will have the ability to prevent them from being transmitted to Diaspora. Currently they are not sent.
-
-
-"observer tags" will be converted to empty text.
-
-
-Embedded apps will be translated into links.
-
-
-Embedded page design elements (work in progress) will be either stripped or converted to an error message.
-
-Diaspora members will not appear in the directory.
-
-
-There are differences in oembed compatibility between the networks. Some embedded resources will turn into a link on one side or the other.
-
-#include doc/macros/main_footer.bb;
diff --git a/doc/extra_features.bb b/doc/extra_features.bb
index 9fb43d9a1..0044a06a7 100644
--- a/doc/extra_features.bb
+++ b/doc/extra_features.bb
@@ -1,7 +1,7 @@
// multiple of these have been enabled by default. should we note this here somewhere, move it or remove them from this file?
[b]Features[/b]
-The default interface of the $Projectname was designed to be uncluttered. There are a huge number of extra features (some of which are extremely useful) which you can turn on and get the most of the application. These are found under the Extra Features link of your Settings page.
+The default interface of $Projectname was designed to be uncluttered. There are a huge number of extra features (some of which are extremely useful) which you can turn on and get the most of the application. These are found under the Extra Features link of your Settings page.
[b]Content Expiration[/b]
diff --git a/doc/faq_admins.bb b/doc/faq_admins.bb
index 63418c1dc..0b54a41de 100644
--- a/doc/faq_admins.bb
+++ b/doc/faq_admins.bb
@@ -1,4 +1,4 @@
-[size=large][b]The $Projectname FAQ[/b][/size]
+[size=large][b]$Projectname FAQ[/b][/size]
[toc]
diff --git a/doc/faq_members.bb b/doc/faq_members.bb
index 7af61df9b..c7f50314d 100644
--- a/doc/faq_members.bb
+++ b/doc/faq_members.bb
@@ -1,11 +1,11 @@
-[size=large][b]The $Projectname FAQ[/b][/size]
+[size=large][b]$Projectname FAQ[/b][/size]
[toc]
[h3]I am able to edit a post's text after I saved it, but is there a way to change the permissions?[/h3]
Short anser: No, there isn't. There are reasons. You are able to change permissons to your files, photos and the likes, but not to posts after you have saved them. The main reason is: Once you have saved a post it is being distributed either to the public channel and from there to other $Projectname servers or to those you intended it to go. Just like you cannot reclaim something you gave to another person, you cannot change permissions to $Projectname posts. We would need to track everywhere your posting goes, keep track of everyone you allowed to see it and then keep track of from whom to delete it.
-If a posting is public this is even harder, as the $Projectname is a global network and there is no way to follow a post, let alone reclaim it reliably. Other networks that may receive your post have no reliable way to delete or reclaim the post.
+If a posting is public this is even harder, as $Projectname is a global network and there is no way to follow a post, let alone reclaim it reliably. Other networks that may receive your post have no reliable way to delete or reclaim the post.
[h3]I downloaded my channel and imported it (cloned my identity) to another site but there is no content, no posts, no photos. What is wrong???[/h3]
Posts and photos/files are provided separately from the channel basic information. This is due to memory limitations dealing with years of conversations and photo archives. Posts and conversations can be synced separately from the basic channel information. Photos and file archives can be transferred using a plugin tool such as 'redfiles', which is currently listed as "experimental". When creating this feature we thought that keeping all your contacts was the most important task. Your friends have already seen your old content. Posts/conversations were next in priority and these may now be synced. Files and photos are the last bit to get completely working. Once we find someone willing to finish implementing this, it will be done. :)
diff --git a/doc/feature/access_tokens.bb b/doc/feature/access_tokens.bb
new file mode 100644
index 000000000..eb5c03717
--- /dev/null
+++ b/doc/feature/access_tokens.bb
@@ -0,0 +1,47 @@
+Feature: Zot Access Tokens
+Status: Draft
+Date: 15 July 2016
+
+
+Purpose:
+
+In order to facilitate sharing of private resources with non-members or members of federation nodes with limited identification discovery, Hubzilla should provide members with a mechanism to create and manage temporary ("throwaway") logins, aka "Zot Access Tokens". These tokens/credentials may be used to authenticate to a hubzilla site for the sole purpose of accessing privileged or access controlled resources (files, photos, posts, webpages, chatrooms, etc.).
+
+
+Scope:
+
+Zot Access Tokens do not convey membership in the site or network. In particular, they do not provide an account or channel; which may be necessary to interact with the hub owner or with others in the network or federation of networks. In most cases they can only be used to consume restricted resources and do not have an ability to create those resources, however this ability may be provided by custom configurations or in future releases or addons.
+
+For instance the ability for a temporary login to access a chatroom may provide suitable permission to create chat messages inside that chatroom.
+
+
+Implementation:
+
+Zot Access Tokens are managed through a "tab" of the settings page. Access to this tab may be controlled by site configuration. On this page, channels may create, edit, list, and remove any access tokens under their control.
+
+The form to create/edit accepts three parameters, a human readable name, a password or access token, and an optional expiration. Once expired, the access token is no longer valid, may no longer be used, and will be automatically purged from the list of temporary accounts. The password field in the create/edit forms displays the text of the access token and not an obscured password. By default we will create a token using the autoname() function, which generally produces a random character sequence which is "pronounceable", hence easy to convey or remember. This can be changed to any other character sequence which is acceptable to the site password complexity policy. (In most Hubzilla installations this imposes a minimum of three characters, but may be extended by plugin or site policy).
+
+
+Usage:
+
+We do not specify mechanisms for sharing these tokens with others. Any communication method may be used. Any tokens you have created are added to the Access Control List selector and may be used anywhere that Access Control Lists are provided.
+
+ Example: A visitor arrives at your site. She has an access token you have provided, and attempts to visit one of your photo albums (which is restricted to be viewed only by yourself and one temporary identity). Permission is denied.
+
+The visitor now selects "Login" from the menu navigation bar. This presents a login page. She enters the name and password you have provided her, and she can now view the restricted photo album.
+
+
+Alternatively, you may share a link to a protected file by adding a parameter "&zat=abc123" to the URL, where the string "abc123" is the access token or password for the temporary login. No further negotiation is required, and the file is presented.
+
+Zot Acess Tokens are represented internally as an authenticated "observer". Querying the observer in code should return a pseudo or system generated xchan with an unknown protocol and a default profile photo. It will match (successfully) any access control rule which allows authenticated observers.
+
+Security Considerations:
+
+The URL form of authentication is inherently less secure than using a login, but may be preferable for some uses of this feature. It probably should not be transmitted over non-SSL links.
+
+
+Future development:
+
+It might be desirable for future implementations to provide an options for single-use, where the access token is removed promptly following first use.
+
+ \ No newline at end of file
diff --git a/doc/feature/saved_search.bb b/doc/feature/saved_search.bb
new file mode 100644
index 000000000..1e75f5a85
--- /dev/null
+++ b/doc/feature/saved_search.bb
@@ -0,0 +1,19 @@
+[h2]Saved Searches[/h2]
+
+In order to quickly find information, the 'saved search' widget may be used. This widget may be presented as a sidebar tool on your network page and possibly from your channel page. It is differentiated from the 'navigation bar' search tool in that it does not search the entire site, but only the subset of information available to your channel.
+
+Additionally the search terms you provide may activate a one-tme search or be saved in a list for re-use. Saving the search item also invokes the search in addition to adding it to the saved list (which is displayed below the search text entry box). Any item in the list may be discarded if it is no longer needed.
+
+The saved search widget will provide autocompletion of channels (the results are prefixed with '@'), and hashtags (prefixed with '#'). You do not need to enter these tags; although entering the desired tag will reduce the autocomplete results to only hold the relevant information. The behaviour maps as follows:
+
+[ul]
+
+[li]@name - search your network stream for posts or comments written by 'name'. This will also change the post editor permissions to include only 'name'; as if this was a privacy group.[/li]
+
+[li]#hashtag - search you network stream for posts containing #hashtag.[/li]
+
+[li]text - search your network stream for posts containing 'text'.[/li]
+
+
+[/li]
+
diff --git a/doc/feature/techlevels.bb b/doc/feature/techlevels.bb
new file mode 100644
index 000000000..9b07f086f
--- /dev/null
+++ b/doc/feature/techlevels.bb
@@ -0,0 +1,15 @@
+[h2]Techlevels[/h2]
+
+Techlevels is a unique feature of Hubzilla 'pro'. It is not available in other server_roles, although it expands on the concepts introduced in Hubzilla 'basic'.
+
+[h3]Background[/h3]
+
+We've implemented several different mechanisms in order to reduce the apparent complexity and learning curve presented to new members. At the same time, we do not wish to limit any functionality for people who are able to grasp some slightly advanced technical technical features. The first mechanism was to move several features to an optional 'Features' page where they could be enabled at will; with the default interface kept somewhat lean.
+
+The problem we had now is that the number of features began to grow dramatically, and the Feature page is daunting in possibilities. There are also features present which probably should not be available to all members, but may be extremely useful to those with technical backgrounds.
+
+The techlevels seeeks to remedy this by grouping features within different levels of technical ability; starting at 0 (uncomfortable with technology), and up to 5 (Unix wizard or equivalent).
+
+When a new member registers, their account is provided a techlevel setting of 0. On the account settings page they may change this to any available level. A higher level opens more advanced features and possible interactions.
+
+The account administrator may also lock a particular level, lock a maximum level, or change/re-arrange the features available to any level. Those with the minimum level are typically not very exploratory and are unlikely to discover the advanced modes. This is by design. Those that look around and desire more interactions will find them. In the absence of administrator defaults they may choose any level. As they look at the features available to the level in question, it is generally expected that they will discover some features are beyond their comprehension and it is hoped they will back off to a level where the interface and features are comfortable to their skill level. This is somewhat experimental at present and for that reason is not part of the 'standard' server role. The standard server role is preset to level '5', and the basic server role is preset to level '0', with no possibility of change. Members in these roles may find themselves overwhelmed or underwhelmed by the feature set and complexity.
diff --git a/doc/general.bb b/doc/general.bb
index bbc85c900..cc5de5a56 100644
--- a/doc/general.bb
+++ b/doc/general.bb
@@ -1,7 +1,9 @@
[h2]Project and site information[/h2]
[h3]$Projectname[/h3]
[zrl=[baseurl]/help/Privacy]Privacy Policy[/zrl]
-[zrl=[baseurl]/help/history]$Projectname history[/zrl]
+[zrl=[baseurl]/help/project/governance]Project Governance[/zrl]
+[zrl=[baseurl]/help/contributor/convenant]Project Covenant and Code of Conduct[/zrl]
+[zrl=[baseurl]/help/project/history]$Projectname history[/zrl]
[h3]External resources[/h3]
[zrl=[baseurl]/help/external-resource-links]List of external resources[/zrl]
[url=https://github.com/redmatrix/hubzilla]Main Website[/url]
diff --git a/doc/hidden_configs.bb b/doc/hidden_configs.bb
index 6e093dbfc..f34c253ce 100644
--- a/doc/hidden_configs.bb
+++ b/doc/hidden_configs.bb
@@ -41,7 +41,7 @@ Options are:
[*= system.block_public_search ] Similar to block_public, except only blocks public access to search features. Useful for sites that want to be public, but keep getting hammered by search engines.
[*= system.cron_hour ] Specify an hour in which to run cron_daily. By default with no config, this will run at midnight UTC.
[*= system.default_permissions_role ] If set to a valid permissions role name, use that role for the first channel created by a new account and don't ask for the "Channel Type" on the channel creation form. Examples of valid names are: 'social', 'social_restricted', 'social_private', 'forum', 'forum_restricted' and 'forum_private'. Read more about permissions roles [zrl=[baseurl]/help/roles]here[/zrl].
- [*= system.default_photo_profile ] Set the profile photo that new channels start with. This should contain the name of a directory located under [font=courier]images/default_profile_photos/[/font], or be left unset. If not set then 'rainbow_man' is assumed.
+ [*= system.default_profile_photo ] Set the profile photo that new channels start with. This should contain the name of a directory located under [font=courier]images/default_profile_photos/[/font], or be left unset. If not set then 'rainbow_man' is assumed.
[*= system.directorytags ] Set the number of keyword tags displayed on the directory page. Default is 50 unless set to a positive integer.
[*= system.disable_directory_keywords ] If '1', do not show directory keywords. If the hub is a directory server, prevent returning tags to any directory clients. Please do not set this for directory servers in the RED_GLOBAL realm.
[*= system.disable_discover_tab ] This allows you to completely disable the ability to discover public content from external sites.
@@ -67,7 +67,7 @@ Options are:
[*= system.paranoia ] As the pconfig, but on a site-wide basis. Can be overwritten by member settings.
[*= system.photo_cache_time ] How long to cache photos, in seconds. Default is 86400 (1 day). Longer time increases performance, but it also means it takes longer for changed permissions to apply.
[*= system.platform_name ] What to report as the platform name in webpages and statistics. (*) Must be set in .htconfig.php
- [*= system.poco_rating_enable ] Distributed reputation reporting and data collection may be disabled. If your site does not participate in distributed reputation you will also not be able to make use of the data from your connections on other sites. By default and in the absence of any setting it is enabled. Individual members can opt out by restricting who can see their connections or by not providing any reputation information for their connections.
+ [*= system.rating_enabled ] Distributed reputation reporting and data collection. This feature is currently being re-worked.
[*= system.poke_basic ] Reduce the number of poke verbs to exactly 1 ("poke"). Disable other verbs.
[*= system.proc_run_use_exec ] If 1, use the exec system call in proc_run to run background tasks. By default we use proc_open and proc_close. On some (currently rare) systems this does not work well.
[*= system.projecthome ] Display the project page on your home page for logged out viewers.
diff --git a/doc/hook/bbcode.bb b/doc/hook/bbcode.bb
index 2996a8528..f6b8711b0 100644
--- a/doc/hook/bbcode.bb
+++ b/doc/hook/bbcode.bb
@@ -1 +1,6 @@
[h2]bbcode[/h2]
+
+
+Called at end of bbcode to html conversion.
+
+Hook argument contains the converted text string.
diff --git a/doc/hook/bbcode_filter.bb b/doc/hook/bbcode_filter.bb
new file mode 100644
index 000000000..efeb2e1b0
--- /dev/null
+++ b/doc/hook/bbcode_filter.bb
@@ -0,0 +1,7 @@
+[h2]bbcode_filter[/h2]
+
+
+Called at beginning of bbcode to html conversion.
+
+Hook argument contains the text string to be converted.
+
diff --git a/doc/hook/event_store_event.bb b/doc/hook/event_store_event.bb
new file mode 100644
index 000000000..7015a8322
--- /dev/null
+++ b/doc/hook/event_store_event.bb
@@ -0,0 +1,11 @@
+[h2]event_store_event[/h2]
+
+Called from event_store_event() when an event record is being stored.
+
+Hook info is an array
+
+'event' => the passed event details, ready for storage
+'existing_event' => If the event already exists, a copy of the original event record from the database
+'cancel' => false - set to true to cancel the operation.
+
+
diff --git a/doc/hook/get_profile_photo.bb b/doc/hook/get_profile_photo.bb
new file mode 100644
index 000000000..ab07179ae
--- /dev/null
+++ b/doc/hook/get_profile_photo.bb
@@ -0,0 +1,18 @@
+[h2]get_profile_photo[/h2]
+
+Called when fetching the content of the default profile photo for a local channel in mod_photo.
+
+
+Hook arguments:
+
+'imgscale' => integer resolution requested (4, 5, or 6)
+'channel_id' => channel_id of requested profile photo
+'default' => filename of default profile photo of this imgscale
+'data' => empty string
+'mimetype' => empty string
+
+
+If 'data' is set, this data will be used instead of the data obtained from the database search for the profile photo.
+If 'mimetype' is set, this mimetype will be used instead of the mimetype obtained from the database or the default profile photo mimetype.
+
+
diff --git a/doc/hooklist.bb b/doc/hooklist.bb
index 66ff1cf71..d190166f0 100644
--- a/doc/hooklist.bb
+++ b/doc/hooklist.bb
@@ -68,7 +68,10 @@ Hooks allow plugins/addons to "hook into" the code at many points and alter the
called when converting bbcode to markdown
[zrl=[baseurl]/help/hook/bbcode]bbcode[/zrl]
- Called when converting bbcode to HTML
+ Called at end of converting bbcode to HTML
+
+[zrl=[baseurl]/help/hook/bbcode_filter]bbcode_filter[/zrl]
+ Called when beginning to convert bbcode to HTML
[zrl=[baseurl]/help/hook/bb_translate_video]bb_translate_video[/zrl]
Called when extracting embedded services from bbcode video elements (rarely used)
@@ -184,6 +187,9 @@ Hooks allow plugins/addons to "hook into" the code at many points and alter the
[zrl=[baseurl]/help/hook/event_created]event_created[/zrl]
called when an event record is created
+[zrl=[baseurl]/help/hook/event_store_event]event_store_event[/zrl]
+ called when an event record is created or updated
+
[zrl=[baseurl]/help/hook/event_updated]event_updated[/zrl]
called when an event record is modified
@@ -233,6 +239,9 @@ Hooks allow plugins/addons to "hook into" the code at many points and alter the
[zrl=[baseurl]/help/hook/get_features]get_features[/zrl]
Called when get_features() is called
+[zrl=[baseurl]/help/hook/get_profile_photo]get_profile_photo[/zrl]
+ Called when local profile photo content is fetched in mod_photo
+
[zrl=[baseurl]/help/hook/get_role_perms]get_role_perms[/zrl]
Called when get_role_perms() is called to obtain permissions for named permission roles
diff --git a/doc/permissions.bb b/doc/permissions.bb
index cc831dd61..0721c763d 100644
--- a/doc/permissions.bb
+++ b/doc/permissions.bb
@@ -28,7 +28,7 @@ We highly recommend that you use the "typical social network" settings when you
[*= Anybody On This Hub ] Anybody with a channel on the same hub/website as you will have permission approved. Anybody who is registered at a different hub will have this permission denied.
- [*= Anybody in this network ] Anybody in the $Projectname will have this permission approved. Even complete strangers. However, anybody not logged in/authenticated will have this permission denied.
+ [*= Anybody in this network ] Anybody in $Projectname will have this permission approved. Even complete strangers. However, anybody not logged in/authenticated will have this permission denied.
[*= Anybody authenticated ] This is similar to "anybody in this network" except that it can include anybody who can authenticate by any means - and therefore [i]may[/i] include visitors from other networks.
diff --git a/doc/plugins.bb b/doc/plugins.bb
index f2f0b04e8..a320de790 100644
--- a/doc/plugins.bb
+++ b/doc/plugins.bb
@@ -45,7 +45,7 @@ In our case, we'll call them randplace_load() and randplace_unload(), as that is
pluginname_uninstall()
[/code]
-Next we'll talk about [b]hooks[/b]. Hooks are places in the $Projectname code where we allow plugins to do stuff. There are a [url=[baseurl]/help/hooklist]lot of these[/url], and they each have a name. What we normally do is use the pluginname_load() function to register a &quot;handler function&quot; for any hooks you are interested in. Then when any of these hooks are triggered, your code will be called.
+Next we'll talk about [b]hooks[/b]. Hooks are places in $Projectname code where we allow plugins to do stuff. There are a [url=[baseurl]/help/hooklist]lot of these[/url], and they each have a name. What we normally do is use the pluginname_load() function to register a &quot;handler function&quot; for any hooks you are interested in. Then when any of these hooks are triggered, your code will be called.
We register hook handlers with the 'Zotlabs\Extend\Hook::register()' function. It typically takes 3 arguments. The first is the hook we wish to catch, the second is the filename of the file to find our handler function (relative to the base of your $Projectname installation), and the third is the function name of your handler function. So let's create our randplace_load() function right now.
@@ -295,13 +295,13 @@ If you want to keep your plugin hidden from the siteinfo page, simply create a f
***Porting Friendica Plugins***
-The $Projectname uses a similar plugin architecture to the Friendica project. The authentication, identity, and permissions systems are completely different. Many Friendica can be ported reasonably easily by renaming a few functions - and then ensuring that the permissions model is adhered to. The functions which need to be renamed are:
+$Projectname uses a similar plugin architecture to the Friendica project. The authentication, identity, and permissions systems are completely different. Many Friendica can be ported reasonably easily by renaming a few functions - and then ensuring that the permissions model is adhered to. The functions which need to be renamed are:
[li] Friendica's pluginname_install() is pluginname_load()[/li]
[li] Friendica's pluginname_uninstall() is pluginname_unload()[/li]
-The $Projectname has _install and _uninstall functions but these are used differently.
+$Projectname has _install and _uninstall functions but these are used differently.
[li] Friendica's &quot;plugin_settings&quot; hook is called &quot;feature_settings&quot;[/li]
diff --git a/doc/problems-following-an-update.bb b/doc/problems-following-an-update.bb
index 3bc7e9a51..2d1fefc5b 100644
--- a/doc/problems-following-an-update.bb
+++ b/doc/problems-following-an-update.bb
@@ -28,7 +28,7 @@ We use the Smarty3 template engine to generate pages. These templates are compi
[b]Theme Issues[/b]
-There are many themes for The $Projectname. Only Redbasic is officialy supported by the core developers. This applies [i]even if a core developer happens to support an additional theme[/i]. This means new features are only guaranteed to work in Redbasic.
+There are many themes for $Projectname. Only Redbasic is officialy supported by the core developers. This applies [i]even if a core developer happens to support an additional theme[/i]. This means new features are only guaranteed to work in Redbasic.
Redbasic uses a few javascript libraries that are done differently, or entirely absent in other themes. This means new features may only work properly in Redbasic. Before reporting an issue, therefore, you should switch to Redbasic to see if it exists there. If the issue goes away, this is not a bug - it's a theme that isn't up to date.
diff --git a/doc/project/governance.bb b/doc/project/governance.bb
new file mode 100644
index 000000000..e13f6218c
--- /dev/null
+++ b/doc/project/governance.bb
@@ -0,0 +1,45 @@
+[h2]$Projectname Governance[/h2]
+
+Governance relates to the management of a project and particularly how this relates to conflict resolution.
+
+This project uses a dual-governance model.
+
+The project as a whole and the repository were created initially by Mike Macgirvin; who controls the project copyright, and the project license, and manages the project as a Self Appointed Benevolent Dictator for Life. He holds veto power over any project proposal or decision and his word is final.
+
+That said, Mike has no interest in running the day to day activities of the project and influencing its direction, other than to protect his own work from sabotage.
+
+The internal project structure contains multiple "configurations" known as 'basic', 'standard', and 'pro'. Mike's veto power extends to any proposal or decision which he feels might adversely affect the 'pro' configuration.
+
+The 'basic and 'standard' configurations are controlled completely by the community. If the proposal or decision is crafted in such a way that its effects are limited to these configurations, Mike will consider relinquishing his power of veto and convert it to a normal community vote.
+
+Mario Vavti has done an incredible amount of work on the usability and theming of the project and holds veto power over any proposal or decision which might impact usability and "look and feel"; and his decision is also final.
+
+Mario's veto power is likewise restricted to anything using the standard project 'theme'. If a new theme is created and an otherwise vetoed decision is implemented entirely in this different theme and has no impact on the standard project theme, his veto [b]may[/b] also be turned into a normal community vote.
+
+This ability to work around a veto is at the discretion of Mike and Mario. They [b]may[/b] choose to relinquish their veto if the scope of the work is limited as described above, and in most circumstances they will leave the decision to the community. They are not obligated to do so.
+
+[h3]Community Governance[/h3]
+
+Beyond those two special cases, the project is maintained and decisions made by the 'community'. The governance structure is still evolving. Until the structure is finalised, decisions are made in the following order:
+
+[ol]
+[*] Lazy Consensus
+
+If a project proposal is made to one of the community governance forums and there are no serious objections in a "reasonable" amount of time from date of proposal (we usually provide 2-3 days for all interested parties to weigh in), no vote needs to be taken and the proposal will be considered approved. Some concerns may be raised at this time, but if these are addressed during discussion and work-arounds provided, it will still be considered approved.
+
+[*] Veto
+
+If a proposal is vetoed, it is not necessarily the final word. See above on how to convert a veto into a normal community vote. This can be done by framing the proposal so that it does not impact the 'pro' configuration or the standard theme.
+
+[*] Community Vote
+
+A decision which does not have a clear mandate or clear consensus, but is not vetoed, can be taken to a community vote. At present this is a simple popular vote in one of the applicable community forums. At this time, popular vote decides the outcome. This may change in the future if the community adopts a 'council' governance model. This document will be updated at that time with the updated governance rules.
+[/ol]
+
+Community Voting does not always provide a pleasant outcome and can generate polarised factions in the community (hence the reason why other models are under consideration). If the proposal is 'down voted' there are still several things which can be done and the proposal re-submitted with slightly different parameters (convert to an addon, convert to an optional feature which is disabled by default, etc.). If interest in the feature is high and the vote is "close", it can generate lots of bad feelings amongst the losing voters. On such close votes, it is [b]strongly recommended[/b] that the proposer take steps to address any concerns that were raised and re-submit.
+
+
+
+
+
+
diff --git a/doc/history.md b/doc/project/history.md
index 7360c6b22..99cbfec7a 100644
--- a/doc/history.md
+++ b/doc/project/history.md
@@ -53,4 +53,22 @@ The Redmatrix community held a vote and the project was renamed "Hubzilla", with
Mike stepped down as active coordinator for the project in early 2015 and turned management over to the community. He remains active as a Hubzilla developer.
+##And Then...
+
+In 2016, the project was re-architected to support multiple server "roles". These correspond to sub-projects which can be isolated from each other in terms of supported feature sets, but all use and support the same code-base and developers are able to work together on common features and goals. The roles primarily differ in target audience, project [governance](help/project/governance) and decision making structures, and this results in slightly different features and idealogy. They all share a common code repository.
+
+Those roles are:
+
+### Basic
+
+Entry level server. Supported by and governed by the Hubzilla community. Most advanced or complex features have been stripped away to ease federation with external services. It is best suited as a FOSS social network tool.
+
+### Standard
+
+The standard Hubzilla server. This provides a wide range of useful features and is supported by and governed by the Hubzilla community. It is best suited as an open source community and cloud server.
+
+### Pro
+
+This is a specially crafted server with a unique feature set. It is supported by and governed by Mike Macgirvin dba "Zotlabs". Federation with external services has been stripped away in order to support a wide range of more technically advanced and complex features; and also includes features and modes which may not have the support or backing of the Hubzilla open source community. It is best suited for business and workplace applications.
+
#include doc/macros/main_footer.bb;
diff --git a/doc/project/toc.html b/doc/project/toc.html
new file mode 100644
index 000000000..b9489de3d
--- /dev/null
+++ b/doc/project/toc.html
@@ -0,0 +1,6 @@
+<h3>Project Information</h3>
+<ul>
+<li><a href="help/project/governance">Project Governance</a></li>
+<li><a href="help/project/history">Project History</a></li>
+<li><a href="help/project/versions">Versions and Versioning</a></li>
+</ul>
diff --git a/doc/project/versions.bb b/doc/project/versions.bb
new file mode 100644
index 000000000..451cd0448
--- /dev/null
+++ b/doc/project/versions.bb
@@ -0,0 +1,30 @@
+[h2]Versions and Releases[/h2]
+
+$Projectname currently uses a standard version numbering sequence of $x.$y(.$z), for instance '1.12' or '1.12.1'. The first digit is the major version number. Major versions are released "roughly" once per year; often in December.
+
+The second digit is the minor release number. If this number is odd, it is a development version. If the number is even, it is a released version. Minor versions are released (moved from dev to master) typically once per month when development is 'stable', but this is likely to increase. Going forward minor releases will be made somewhere between one and three months; corresponding to a stable code point and when there is general community consensus that the current code base is stable enough to consider a release.
+
+The final digit is an interface or patch designator.
+
+The release process involves changing the version number (by definition the minor version number will be odd, and the minor number will be incremented). Once a year for a major release the major version will be incremented, and the minor number reset to 0.
+
+The release candidate is moved to a new branch; and testing will commence/continue for a period of 1-2 weeks afterward or until any significant issues have been resolved. This branch is usually labelled with RC (release candidate); for instance 1.8RC represents the pending release of version 1.8. At this time, the minor version number on the dev branch is incremented to the next odd number. (For instance 1.9). New development can then take place in the dev branch.
+
+Bug fixes should always be applied to 'dev' and from there merged forward (typically with git cherry-pick) to the RC branch and if necessary applied to the master or official release branch.
+
+At the time a release candidate is produced, the language strings file is frozen until a release is made. Translation work may continue, but all translations should be submitted to 'dev' and merged forward to RC.
+
+
+Once RC testing is completed, RC is merged to 'master' and the RC version designator removed; resulting in one final checkin to change the version number. The CHANGELOG file should also be updated at or just prior to this time. If there are merge conflicts during this final merge, the merge will be abandoned; and 'git merge -s ours' applied. This results in a replacement of master with the contents of the RC branch. Conflicts often arise with string updates which were made to master after the last release and cannot easily be resolved without hand editing. Since this is a release of tested code, hand editing is discouraged, and the replacement merge strategy should be used instead. It is assumed that RC now contains the most recent well-tested code.
+
+Once the release is live and merged to master, the RC branch may be removed.
+
+Fixes may be made to master after release. Where possible these should be made to dev and 'git cherry-pick' used to merge forward; which preserves the commit info and prevents merge conflicts in the next cycle. Only rarely does a patch only apply to the master branch. If necessary this can be made. If the change is severe, the interface version number should be incremented. This is at the discretion of the community. In any event, a 'git pull' of the master branch should always result in the latest release with any post-release patches applied.
+
+The interface number (the $z in $x.$y.$z) should be incremented in dev whenever a change is made which changes the interfaces or API in incompatible ways so that any external packages (especially addons and API clients) relying on a the current behaviour can discover and change their own interfaces accordingly at the point that it changed.
+
+
+
+
+
+ \ No newline at end of file
diff --git a/doc/red2pi.bb b/doc/red2pi.bb
index 18e7d325a..28db7dc70 100644
--- a/doc/red2pi.bb
+++ b/doc/red2pi.bb
@@ -1,4 +1,4 @@
-[b]How to install the $Projectname on a Raspberry Pi[/b]
+[b]How to install $Projectname on a Raspberry Pi[/b]
You just bought a Raspberry Pi and want to run the RED Matrix with your own domain name?
diff --git a/doc/server_roles.bb b/doc/server_roles.bb
new file mode 100644
index 000000000..ef6ec28ae
--- /dev/null
+++ b/doc/server_roles.bb
@@ -0,0 +1,27 @@
+[h2]Server Roles[/h2]
+
+$Projectname can be configured in many different ways. One of the configurations available at installation is to select a 'server role'. There are currently three server roles. We highly recommend that you use 'standard' unless you have special needs.
+
+
+[h3]Basic[/h3]
+
+The 'basic' server role is designed to be relatively simple, and it doesn't present options or complicated features. The hub admin may configure additional features at a site level. This role is designed for simple social networking and social network federation. Many features which do not federate easily have been removed, including (and this is somewhat important) "nomadic identity". You may move a channel to or from a basic server, but you may not clone it. Once moved, it becomes read-only on the origination site. No updates of any kind will be provided. It is recommended that after the move, the original channel be deleted - as it is no longer useable. The data remains only in case there are issues making a copy of the data.
+
+This role is supported by the hubzilla community.
+
+[h3]Standard[/h3]
+
+
+The 'standard' server role is recommended for most sites. All features of the software are available to everybody unless locked by the hub administrator. Some features will not federate easily with other networks, so there is often an increased support burden explaining why sharing events with Diaspora (for instance) presents a different experience on that network. Additionally any member can enable "advanced" or "expert" features, and these may be beyond their technical skill level. This may also result in an increased support burden.
+
+This role is supported by the hubzilla community.
+
+[h3]Pro[/h3]
+
+The 'pro' server role is primarily designed for communities which want to present a uniform experience and be relieved of many federation support issues. In this role there is [b]no federation with other networks[/b]. Additional features [b]may[/b] be provided, such as channel ratings, premium channels, and e-commerce.
+
+By default a channel may set a "techlevel" appropriate to their technical skill. Higher levels provide more features. Everybody starts with techlevel 0 (similar to the 'basic' role) where all complicated features are hidden from view. Increasing the techlevel provides more advanced or complex features.
+
+The hub admin may also lock individual channels or their entire site at a defined techlevel which provides an installation with a selection of advanced features consistent with the perceived technical skills of the members. For instance, a community for horse racing might have a different techlevel than a community for Linux kernel developers.
+
+This role is not supported by the hubzilla community. \ No newline at end of file
diff --git a/doc/sv/main.bb b/doc/sv/main.bb
index a5c1d4f7a..27a7a742e 100644
--- a/doc/sv/main.bb
+++ b/doc/sv/main.bb
@@ -13,7 +13,7 @@ Zot är en fantastisk ny kommunikationsprotokoll uppfunnit speciellt för $Proje
[h3]Kom igång[/h3]
[zrl=[baseurl]/help/Privacy]Privacy Policy[/zrl]
[zrl=[baseurl]/help/registration]Account Registration[/zrl]
-[zrl=[baseurl]/help/accounts_profiles_channels_basics]You at the $Projectname: accounts, profiles and channels in short[/zrl]
+[zrl=[baseurl]/help/accounts_profiles_channels_basics]You at $Projectname: accounts, profiles and channels in short[/zrl]
[zrl=[baseurl]/help/profiles]Profiles[/zrl]
[zrl=[baseurl]/help/channels]Channels[/zrl]
[zrl=[baseurl]/help/sv/roles]Behörighetsförval för kanaler[/zrl]
@@ -43,7 +43,7 @@ Zot är en fantastisk ny kommunikationsprotokoll uppfunnit speciellt för $Proje
[zrl=[baseurl]/help/faq_admins]FAQ For Admins[/zrl]
[h3]Teknisk dokumentation[/h3]
-[zrl=[baseurl]/help/history]$Projectname history[/zrl]
+[zrl=[baseurl]/help/project/history]$Projectname history[/zrl]
[zrl=[baseurl]/help/Zot---A-High-Level-Overview]A high level overview of Zot[/zrl]
[zrl=[baseurl]/help/zot]An introduction to Zot[/zrl]
[zrl=[baseurl]/help/zot_structures]Zot Stuctures[/zrl]
diff --git a/doc/toc.html b/doc/toc.html
new file mode 100644
index 000000000..ac21959cf
--- /dev/null
+++ b/doc/toc.html
@@ -0,0 +1,6 @@
+<ul>
+<li><a href="help/general">Project/Site Information</a></li>
+<li><a href="help/members">For Members</a></li>
+<li><a href="help/admins">For Administrators</a></li>
+<li><a href="help/develop">For Developers</a></li>
+</ul>
diff --git a/doc/zot.md b/doc/zot.md
index 1e454e495..06c4d6083 100644
--- a/doc/zot.md
+++ b/doc/zot.md
@@ -57,7 +57,7 @@ In order to implement high performance communications, the data transfer format
Bi-directional encryption is based on RSA 4096-bit keys expressed in DER/ASN.1 format using the PKCS#8 encoding variant, with AES-256-CBC used for block encryption of variable length or large items.
-Some aspects of well known "federation protocols" (webfinger, salmon, activitystreams, portablecontacts, etc.) may be used in zot, but we are not tied to them and will not be bound by them. The $Projectname project is attempting some rather novel developments in decentralised communications and if there is any need to diverge from such "standard protocols" we will do so without question or hesitation.
+Some aspects of well known "federation protocols" (webfinger, salmon, activitystreams, portablecontacts, etc.) may be used in zot, but we are not tied to them and will not be bound by them. $Projectname project is attempting some rather novel developments in decentralised communications and if there is any need to diverge from such "standard protocols" we will do so without question or hesitation.
In order to create a globally unique ID, we will base it on a whirlpool hash of the identity URL of the origination node and a psuedo-random number, which should provide us with a 256 bit ID with an extremely low probability of collision (256 bits represents approximately 115 quattuorviginitillion or 1.16 X 10^77 unique numbers). This will be represented in communications as a base64url-encoded string. We will not depend on probabilities however and the ID must also be attached to a public key with public key cryptography used to provide an assurance of identity which has not been copied or somehow collided in whirlpool hash space.
diff --git a/include/account.php b/include/account.php
index 5c44f13ca..b78c3e56d 100644
--- a/include/account.php
+++ b/include/account.php
@@ -14,6 +14,13 @@ require_once('include/crypto.php');
require_once('include/channel.php');
+function get_account_by_id($account_id) {
+ $r = q("select * from account where account_id = %d",
+ intval($account_id)
+ );
+ return (($r) ? $r[0] : false);
+}
+
function check_account_email($email) {
$result = array('error' => false, 'message' => '');
@@ -112,6 +119,7 @@ function create_account($arr) {
$flags = ((x($arr,'account_flags')) ? intval($arr['account_flags']) : ACCOUNT_OK);
$roles = ((x($arr,'account_roles')) ? intval($arr['account_roles']) : 0 );
$expires = ((x($arr,'expires')) ? intval($arr['expires']) : NULL_DATE);
+ $techlevel = ((array_key_exists('techlevel',$arr)) ? intval($arr['techlevel']) : intval(get_config('system','techlevel')));
$default_service_class = get_config('system','default_service_class');
@@ -171,16 +179,17 @@ function create_account($arr) {
$r = q("INSERT INTO account
( account_parent, account_salt, account_password, account_email, account_language,
- account_created, account_flags, account_roles, account_expires, account_service_class )
- VALUES ( %d, '%s', '%s', '%s', '%s', '%s', %d, %d, '%s', '%s' )",
+ account_created, account_flags, account_roles, account_level, account_expires, account_service_class )
+ VALUES ( %d, '%s', '%s', '%s', '%s', '%s', %d, %d, %d, '%s', '%s' )",
intval($parent),
dbesc($salt),
dbesc($password_encoded),
dbesc($email),
dbesc(get_best_language()),
dbesc(datetime_convert()),
- dbesc($flags),
- dbesc($roles),
+ intval($flags),
+ intval($roles),
+ intval($techlevel),
dbesc($expires),
dbesc($default_service_class)
);
@@ -237,20 +246,23 @@ function verify_email_address($arr) {
dbesc($arr['account']['account_language'])
);
+//@fixme - get correct language template
+
$email_msg = replace_macros(get_intltext_template('register_verify_member.tpl'), array(
'$sitename' => get_config('system','sitename'),
- '$siteurl' => z_root(),
+ '$siteurl' => z_root(),
'$email' => $arr['email'],
'$uid' => $arr['account']['account_id'],
'$hash' => $hash,
'$details' => $details
));
- $res = mail($arr['email'], email_header_encode(sprintf( t('Registration confirmation for %s'), get_config('system','sitename'))),
- $email_msg,
- 'From: ' . 'Administrator' . '@' . App::get_hostname() . "\n"
- . 'Content-type: text/plain; charset=UTF-8' . "\n"
- . 'Content-transfer-encoding: 8bit'
+ $res = z_mail(
+ [
+ 'toEmail' => $arr['email'],
+ 'messageSubject' => sprintf( t('Registration confirmation for %s'), get_config('system','sitename')),
+ 'textVersion' => $email_msg,
+ ]
);
if($res)
@@ -312,11 +324,12 @@ function send_reg_approval_email($arr) {
'$details' => $details
));
- $res = mail($admin['email'], sprintf( t('Registration request at %s'), get_config('system','sitename')),
- $email_msg,
- 'From: ' . t('Administrator') . '@' . App::get_hostname() . "\n"
- . 'Content-type: text/plain; charset=UTF-8' . "\n"
- . 'Content-transfer-encoding: 8bit'
+ $res = z_mail(
+ [
+ 'toEmail' => $admin['email'],
+ 'messageSubject' => sprintf( t('Registration request at %s'), get_config('system','sitename')),
+ 'textVersion' => $email_msg,
+ ]
);
if($res)
@@ -339,12 +352,14 @@ function send_register_success_email($email,$password) {
'$password' => t('your registration password'),
));
- $res = mail($email, sprintf( t('Registration details for %s'), get_config('system','sitename')),
- $email_msg,
- 'From: ' . t('Administrator') . '@' . App::get_hostname() . "\n"
- . 'Content-type: text/plain; charset=UTF-8' . "\n"
- . 'Content-transfer-encoding: 8bit'
+ $res = z_mail(
+ [
+ 'toEmail' => $email,
+ 'messageSubject' => sprintf( t('Registration details for %s'), get_config('system','sitename')),
+ 'textVersion' => $email_msg,
+ ]
);
+
return($res ? true : false);
}
@@ -390,7 +405,7 @@ function account_allow($hash) {
push_lang($register[0]['lang']);
$email_tpl = get_intltext_template("register_open_eml.tpl");
- $email_tpl = replace_macros($email_tpl, array(
+ $email_msg = replace_macros($email_tpl, array(
'$sitename' => get_config('system','sitename'),
'$siteurl' => z_root(),
'$username' => $account[0]['account_email'],
@@ -399,11 +414,13 @@ function account_allow($hash) {
'$uid' => $account[0]['account_id']
));
- $res = mail($account[0]['account_email'], sprintf( t('Registration details for %s'), get_config('system','sitename')),
- $email_tpl,
- 'From: ' . t('Administrator') . '@' . $_SERVER['SERVER_NAME'] . "\n"
- . 'Content-type: text/plain; charset=UTF-8' . "\n"
- . 'Content-transfer-encoding: 8bit' );
+ $res = z_mail(
+ [
+ 'toEmail' => $account[0]['account_email'],
+ 'messageSubject' => sprintf( t('Registration details for %s'), get_config('system','sitename')),
+ 'textVersion' => $email_msg,
+ ]
+ );
pop_lang();
@@ -539,8 +556,8 @@ function account_approve($hash) {
*/
function downgrade_accounts() {
- $r = q("select * from account where not ( account_flags & %d )>0
- and account_expires != '%s'
+ $r = q("select * from account where not ( account_flags & %d ) > 0
+ and account_expires > '%s'
and account_expires < %s ",
intval(ACCOUNT_EXPIRED),
dbesc(NULL_DATE),
@@ -751,3 +768,23 @@ function upgrade_bool_message($bbcode = false) {
$x = upgrade_link($bbcode);
return t('This action is not available under your subscription plan.') . (($x) ? ' ' . $x : '') ;
}
+
+
+function get_account_techlevel($account_id = 0) {
+
+ $role = \Zotlabs\Lib\System::get_server_role();
+ if($role == 'basic')
+ return 0;
+ if($role == 'standard')
+ return 5;
+
+ if(! $account_id) {
+ $x = \App::get_account();
+ }
+ else {
+ $x = get_account_by_id($account_id);
+ }
+
+ return (($x) ? intval($x['account_level']) : 0);
+
+} \ No newline at end of file
diff --git a/include/acl_selectors.php b/include/acl_selectors.php
index 148c67a6c..362776b44 100644
--- a/include/acl_selectors.php
+++ b/include/acl_selectors.php
@@ -13,7 +13,7 @@ function group_select($selname,$selclass,$preselected = false,$size = 4) {
$o .= "<select name=\"{$selname}[]\" id=\"$selclass\" class=\"$selclass\" multiple=\"multiple\" size=\"$size\" >\r\n";
- $r = q("SELECT * FROM `groups` WHERE `deleted` = 0 AND `uid` = %d ORDER BY `gname` ASC",
+ $r = q("SELECT * FROM groups WHERE deleted = 0 AND uid = %d ORDER BY gname ASC",
intval(local_channel())
);
@@ -44,112 +44,6 @@ function group_select($selname,$selclass,$preselected = false,$size = 4) {
return $o;
}
-/* MicMee 20130114 function contact_selector no longer in use, sql table contact does no longer exist
-function contact_selector($selname, $selclass, $preselected = false, $options) {
-
-
- $mutual = false;
- $networks = null;
- $single = false;
- $exclude = false;
- $size = 4;
-
- if(is_array($options)) {
- if(x($options,'size'))
- $size = $options['size'];
-
- if(x($options,'mutual_friends'))
- $mutual = true;
- if(x($options,'single'))
- $single = true;
- if(x($options,'multiple'))
- $single = false;
- if(x($options,'exclude'))
- $exclude = $options['exclude'];
-
- if(x($options,'networks')) {
- switch($options['networks']) {
- case 'DFRN_ONLY':
- $networks = array('dfrn');
- break;
- case 'PRIVATE':
- $networks = array('dfrn','face','mail', 'dspr');
- break;
- case 'TWO_WAY':
- $networks = array('dfrn','face','mail','dspr','stat');
- break;
- default:
- break;
- }
- }
- }
-
- $x = array('options' => $options, 'size' => $size, 'single' => $single, 'mutual' => $mutual, 'exclude' => $exclude, 'networks' => $networks);
-
- call_hooks('contact_select_options', $x);
-
- $o = '';
-
- $sql_extra = '';
-
- if($x['mutual']) {
- $sql_extra .= sprintf(" AND `rel` = %d ", intval(CONTACT_IS_FRIEND));
- }
-
- if(intval($x['exclude']))
- $sql_extra .= sprintf(" AND `id` != %d ", intval($x['exclude']));
-
- if(is_array($x['networks']) && count($x['networks'])) {
- for($y = 0; $y < count($x['networks']) ; $y ++)
- $x['networks'][$y] = "'" . dbesc($x['networks'][$y]) . "'";
- $str_nets = implode(',',$x['networks']);
- $sql_extra .= " AND `network` IN ( $str_nets ) ";
- }
-
- $tabindex = (x($options, 'tabindex') ? "tabindex=\"" . $options["tabindex"] . "\"" : "");
-
- if($x['single'])
- $o .= "<select name=\"$selname\" id=\"$selclass\" class=\"$selclass\" size=\"" . $x['size'] . "\" $tabindex >\r\n";
- else
- $o .= "<select name=\"{$selname}[]\" id=\"$selclass\" class=\"$selclass\" multiple=\"multiple\" size=\"" . $x['size'] . "$\" $tabindex >\r\n";
-
- $r = q("SELECT `id`, `name`, `url`, `network` FROM `contact`
- WHERE `uid` = %d AND `self` = 0 AND `blocked` = 0 AND `pending` = 0 AND `archive` = 0 AND `notify` != ''
- $sql_extra
- ORDER BY `name` ASC ",
- intval(local_channel())
- );
-
-
- $arr = array('contact' => $r, 'entry' => $o);
-
- // e.g. 'network_pre_contact_deny', 'profile_pre_contact_allow'
-
- call_hooks(App::$module . '_pre_' . $selname, $arr);
-
- if(count($r)) {
- foreach($r as $rr) {
- if((is_array($preselected)) && in_array($rr['id'], $preselected))
- $selected = " selected=\"selected\" ";
- else
- $selected = '';
-
- $trimmed = mb_substr($rr['name'],0,20);
-
- $o .= "<option value=\"{$rr['id']}\" $selected title=\"{$rr['name']}|{$rr['url']}\" >$trimmed</option>\r\n";
- }
-
- }
-
- $o .= "</select>\r\n";
-
- call_hooks(App::$module . '_post_' . $selname, $o);
-
- return $o;
-}*/
-
-
-
function contact_select($selname, $selclass, $preselected = false, $size = 4, $privmail = false, $celeb = false, $privatenet = false, $tabindex = null) {
@@ -254,20 +148,26 @@ function populate_acl($defaults = null,$show_jotnets = true, $emptyACL_descripti
array_walk($deny_cid,'fixacl');
array_walk($deny_gid,'fixacl');
}
-
- $jotnets = '';
- if($show_jotnets) {
- call_hooks('jot_networks', $jotnets);
+
+ $r = q("SELECT id, hash, gname FROM groups WHERE deleted = 0 AND uid = %d ORDER BY gname ASC",
+ intval(local_channel())
+ );
+
+ if($r) {
+ foreach($r as $rr) {
+ $groups .= '<option id="' . $rr['id'] . '" value="' . $rr['hash'] . '">' . $rr['gname'] . '</option>' . "\r\n";
+ }
}
$tpl = get_markup_template("acl_selector.tpl");
$o = replace_macros($tpl, array(
'$showall' => $showall_caption,
'$onlyme' => t('Only me'),
+ '$groups' => $groups,
'$showallOrigin' => $showall_origin,
'$showallIcon' => $showall_icon,
'$select_label' => t('Who can see this?'),
- '$showlimited' => t('Custom selection'),
+ '$custom' => t('Custom selection'),
'$showlimitedDesc' => t('Select "Show" to allow viewing. "Don\'t show" lets you override and limit the scope of "Show".'),
'$show' => t("Show"),
'$hide' => t("Don't show"),
@@ -276,8 +176,6 @@ function populate_acl($defaults = null,$show_jotnets = true, $emptyACL_descripti
'$allowgid' => json_encode($allow_gid),
'$denycid' => json_encode($deny_cid),
'$denygid' => json_encode($deny_gid),
- '$jnetModalTitle' => t('Other networks and post services'),
- '$jotnets' => $jotnets,
'$aclModalTitle' => t('Permissions'),
'$aclModalDesc' => $dialog_description,
'$aclModalDismiss' => t('Close'),
diff --git a/include/api.php b/include/api.php
index 2587a72bb..692baf563 100644
--- a/include/api.php
+++ b/include/api.php
@@ -61,10 +61,8 @@ require_once('include/api_auth.php');
}
- function api_register_func($path, $func, $auth=false){
- global $API;
- $API[$path] = array('func'=>$func,
- 'auth'=>$auth);
+ function api_register_func($path, $func, $auth=false) {
+ \Zotlabs\Lib\Api_router::register($path,$func,$auth);
}
@@ -72,76 +70,88 @@ require_once('include/api_auth.php');
* MAIN API ENTRY POINT *
**************************/
- function api_call($a){
- GLOBAL $API, $called_api;
+ function api_call(){
- // preset
- $type="json";
+ $p = App::$cmd;
+ $type = null;
- foreach ($API as $p=>$info){
- if (strpos(App::$query_string, $p)===0){
- $called_api= explode("/",$p);
- //unset($_SERVER['PHP_AUTH_USER']);
- if ($info['auth'] === true && api_user() === false) {
- api_login($a);
- }
+ if(strrpos($p,'.')) {
+ $type = substr($p,strrpos($p,'.')+1);
+ if(strpos($type,'/') === false) {
+ $p = substr($p,0,strrpos($p,'.'));
+ // recalculate App argc,argv since we just extracted the type from it
+ App::$argv = explode('/',$p);
+ App::$argc = count(App::$argv);
+ }
+ }
+
+ if((! $type) || (! in_array($type, [ 'json', 'xml', 'rss', 'as', 'atom' ])))
+ $type = 'json';
+
+ $info = \Zotlabs\Lib\Api_router::find($p);
+
+ logger('info: ' . $p . ' type: ' . $type . ' ' . print_r($info,true));
+
+ if($info) {
- load_contact_links(api_user());
+ if ($info['auth'] === true && api_user() === false) {
+ api_login($a);
+ }
- $channel = App::get_channel();
+ load_contact_links(api_user());
- logger('API call for ' . $channel['channel_name'] . ': ' . App::$query_string);
- logger('API parameters: ' . print_r($_REQUEST,true));
+ $channel = App::get_channel();
- $type="json";
+ logger('API call for ' . $channel['channel_name'] . ': ' . App::$query_string);
+ logger('API parameters: ' . print_r($_REQUEST,true));
- if (strpos(App::$query_string, ".xml")>0) $type="xml";
- if (strpos(App::$query_string, ".json")>0) $type="json";
- if (strpos(App::$query_string, ".rss")>0) $type="rss";
- if (strpos(App::$query_string, ".atom")>0) $type="atom";
- if (strpos(App::$query_string, ".as")>0) $type="as";
+ $r = call_user_func($info['func'],$type);
- $r = call_user_func($info['func'], $a, $type);
- if ($r===false) return;
+ if($r === false)
+ return;
- switch($type){
- case "xml":
- $r = mb_convert_encoding($r, "UTF-8",mb_detect_encoding($r));
- header ("Content-Type: text/xml");
- return '<?xml version="1.0" encoding="UTF-8"?>'."\n".$r;
- break;
- case "json":
- header ("Content-Type: application/json");
- foreach($r as $rr) {
- if(! $rr)
- $rr = array();
- $json = json_encode($rr);
+ switch($type) {
+ case "xml":
+ $r = mb_convert_encoding($r, "UTF-8",mb_detect_encoding($r));
+ header ("Content-Type: text/xml");
+ return '<?xml version="1.0" encoding="UTF-8"?>'."\n".$r;
+ break;
+ case "json":
+ header ("Content-Type: application/json");
+ if($r) {
+ foreach($r as $rv) {
+ $json = json_encode($rv);
}
- if ($_GET['callback'])
- $json = $_GET['callback']."(".$json.")";
- return $json;
- break;
- case "rss":
- header ("Content-Type: application/rss+xml");
- return '<?xml version="1.0" encoding="UTF-8"?>'."\n".$r;
- break;
- case "atom":
- header ("Content-Type: application/atom+xml");
- return '<?xml version="1.0" encoding="UTF-8"?>'."\n".$r;
- break;
- case "as":
- //header ("Content-Type: application/json");
- //foreach($r as $rr)
- // return json_encode($rr);
- return json_encode($r);
- break;
+ }
+ // Lookup JSONP to understand these lines. They provide cross-domain AJAX ability.
+ if ($_GET['callback'])
+ $json = $_GET['callback'] . '(' . $json . ')' ;
+ return $json;
+ break;
+ case "rss":
+ header ("Content-Type: application/rss+xml");
+ return '<?xml version="1.0" encoding="UTF-8"?>'."\n".$r;
+ break;
+ case "atom":
+ header ("Content-Type: application/atom+xml");
+ return '<?xml version="1.0" encoding="UTF-8"?>'."\n".$r;
+ break;
+ case "as":
+ if($r) {
+ foreach($r as $rv) {
+ $json = json_encode($rv);
+ }
+ }
+ return $json;
+ break;
- }
- //echo "<pre>"; var_dump($r); die();
}
+
}
+
+
header("HTTP/1.1 404 Not Found");
- logger('API call not implemented: '.App::$query_string." - ".print_r($_REQUEST,true));
+ logger('API call not implemented: ' . App::$query_string . ' - ' . print_r($_REQUEST,true));
$r = '<status><error>not implemented</error></status>';
switch($type){
case "xml":
@@ -166,7 +176,8 @@ require_once('include/api_auth.php');
/**
* RSS extra info
*/
- function api_rss_extra($a, $arr, $user_info){
+
+ function api_rss_extra( $arr, $user_info){
if (is_null($user_info)) $user_info = api_get_user($a);
$arr['$user'] = $user_info;
$arr['$rss'] = array(
@@ -186,8 +197,8 @@ require_once('include/api_auth.php');
* Returns user info array.
*/
- function api_get_user($a, $contact_id = null, $contact_xchan = null){
- global $called_api;
+ function api_get_user( $contact_id = null, $contact_xchan = null){
+
$user = null;
$extra_query = "";
@@ -212,26 +223,12 @@ require_once('include/api_auth.php');
if (api_user()!==false)
$extra_query .= " AND abook_channel = ".intval(api_user());
}
-
- if (is_null($user) && argc() > (count($called_api)-1) && (strstr(App::$cmd,'/users'))){
- $argid = count($called_api);
- list($xx, $null) = explode(".",argv($argid));
- if(is_numeric($xx)){
- $user = intval($xx);
- $extra_query = " AND abook_id = %d ";
- } else {
- $user = dbesc($xx);
- $extra_query = " AND xchan_addr like '%s@%%' ";
- if (api_user() !== false)
- $extra_query .= " AND abook_channel = ".intval(api_user());
- }
- }
}
if (! $user) {
if (api_user() === false) {
api_login($a);
- return False;
+ return false;
} else {
$user = local_channel();
$extra_query = " AND abook_channel = %d AND abook_self = 1 ";
@@ -239,7 +236,8 @@ require_once('include/api_auth.php');
}
- logger('api_user: ' . $extra_query . ', user: ' . $user);
+ logger('api_user: ' . $extra_query . ', user: ' . $user, LOGGER_DATA, LOG_INFO);
+
// user info
$uinfo = q("SELECT * from abook left join xchan on abook_xchan = xchan_hash
@@ -349,14 +347,13 @@ require_once('include/api_auth.php');
$x = api_get_status($uinfo[0]['xchan_hash']);
if($x)
$ret['status'] = $x;
-
// logger('api_get_user: ' . print_r($ret,true));
return $ret;
}
- function api_client_register($a,$type) {
+ function api_client_register($type) {
$ret = array();
$key = random_string(16);
@@ -389,12 +386,12 @@ require_once('include/api_auth.php');
- function api_item_get_user($a, $item) {
+ function api_item_get_user( $item) {
// The author is our direct contact, in a conversation with us.
if($item['author']['abook_id']) {
- return api_get_user($a,$item['author']['abook_id']);
+ return api_get_user($item['author']['abook_id']);
}
// We don't know this person directly.
@@ -461,9 +458,11 @@ require_once('include/api_auth.php');
$ret = replace_macros($tpl, $data);
break;
case "json":
+ default:
$ret = $data;
break;
}
+
return $ret;
}
@@ -473,17 +472,16 @@ require_once('include/api_auth.php');
* returns a 401 status code and an error message if not.
* http://developer.twitter.com/doc/get/account/verify_credentials
*/
- function api_account_verify_credentials($a, $type){
+ function api_account_verify_credentials( $type){
if (api_user()===false) return false;
$user_info = api_get_user($a);
-
return api_apply_template("user", $type, array('$user' => $user_info));
}
api_register_func('api/account/verify_credentials','api_account_verify_credentials', true);
- function api_account_logout($a, $type){
+ function api_account_logout( $type){
require_once('include/auth.php');
App::$session->nuke();
return api_apply_template("user", $type, array('$user' => null));
@@ -507,7 +505,7 @@ require_once('include/api_auth.php');
* Red basic channel export
*/
- function api_export_basic($a, $type) {
+ function api_export_basic( $type) {
if(api_user() === false) {
logger('api_export_basic: no user');
return false;
@@ -519,9 +517,10 @@ require_once('include/api_auth.php');
}
api_register_func('api/export/basic','api_export_basic', true);
api_register_func('api/red/channel/export/basic','api_export_basic', true);
+ api_register_func('api/hz/1.0/channel/export/basic','api_export_basic', true);
- function api_channel_stream($a, $type) {
+ function api_channel_stream( $type) {
if(api_user() === false) {
logger('api_channel_stream: no user');
return false;
@@ -536,18 +535,20 @@ require_once('include/api_auth.php');
}
}
api_register_func('api/red/channel/stream','api_channel_stream', true);
+ api_register_func('api/hz/1.0/channel/stream','api_channel_stream', true);
- function api_attach_list($a,$type) {
+ function api_attach_list($type) {
logger('api_user: ' . api_user());
json_return_and_die(attach_list_files(api_user(),get_observer_hash(),'','','','created asc'));
}
api_register_func('api/red/files','api_attach_list', true);
+ api_register_func('api/hz/1.0/files','api_attach_list', true);
- function api_file_meta($a,$type) {
+ function api_file_meta($type) {
if (api_user()===false) return false;
if(! $_REQUEST['file_id']) return false;
$r = q("select * from attach where uid = %d and hash = '%s' limit 1",
@@ -563,9 +564,10 @@ require_once('include/api_auth.php');
}
api_register_func('api/red/filemeta', 'api_file_meta', true);
+ api_register_func('api/hz/1.0/filemeta', 'api_file_meta', true);
- function api_file_data($a,$type) {
+ function api_file_data($type) {
if (api_user()===false) return false;
if(! $_REQUEST['file_id']) return false;
$start = (($_REQUEST['start']) ? intval($_REQUEST['start']) : 0);
@@ -606,10 +608,11 @@ require_once('include/api_auth.php');
}
api_register_func('api/red/filedata', 'api_file_data', true);
+ api_register_func('api/hz/1.0/filedata', 'api_file_data', true);
- function api_file_detail($a,$type) {
+ function api_file_detail($type) {
if (api_user()===false) return false;
if(! $_REQUEST['file_id']) return false;
$r = q("select * from attach where uid = %d and hash = '%s' limit 1",
@@ -631,20 +634,23 @@ require_once('include/api_auth.php');
}
api_register_func('api/red/file', 'api_file_detail', true);
+ api_register_func('api/hz/1.0/file', 'api_file_detail', true);
- function api_albums($a,$type) {
+ function api_albums($type) {
json_return_and_die(photos_albums_list(App::get_channel(),App::get_observer()));
}
api_register_func('api/red/albums','api_albums', true);
+ api_register_func('api/hz/1.0/albums','api_albums', true);
- function api_photos($a,$type) {
+ function api_photos($type) {
$album = $_REQUEST['album'];
json_return_and_die(photos_list_photos(App::get_channel(),App::get_observer(),$album));
}
api_register_func('api/red/photos','api_photos', true);
+ api_register_func('api/hz/1.0/photos','api_photos', true);
- function api_photo_detail($a,$type) {
+ function api_photo_detail($type) {
if (api_user()===false) return false;
if(! $_REQUEST['photo_id']) return false;
$scale = ((array_key_exists('scale',$_REQUEST)) ? intval($_REQUEST['scale']) : 0);
@@ -684,9 +690,10 @@ require_once('include/api_auth.php');
}
api_register_func('api/red/photo', 'api_photo_detail', true);
+ api_register_func('api/hz/1.0/photo', 'api_photo_detail', true);
- function api_group_members($a,$type) {
+ function api_group_members($type) {
if(api_user() === false)
return false;
@@ -706,11 +713,12 @@ require_once('include/api_auth.php');
}
api_register_func('api/red/group_members','api_group_members', true);
+ api_register_func('api/hz/1.0/group_members','api_group_members', true);
- function api_group($a,$type) {
+ function api_group($type) {
if(api_user() === false)
return false;
@@ -720,9 +728,10 @@ require_once('include/api_auth.php');
json_return_and_die($r);
}
api_register_func('api/red/group','api_group', true);
+ api_register_func('api/hz/1.0/group','api_group', true);
- function api_red_xchan($a,$type) {
+ function api_red_xchan($type) {
logger('api_xchan');
if(api_user() === false)
@@ -738,9 +747,10 @@ require_once('include/api_auth.php');
};
api_register_func('api/red/xchan','api_red_xchan',true);
+ api_register_func('api/hz/1.0/xchan','api_red_xchan',true);
- function api_statuses_mediap($a, $type) {
+ function api_statuses_mediap( $type) {
if (api_user() === false) {
logger('api_statuses_update: no user');
return false;
@@ -782,11 +792,11 @@ require_once('include/api_auth.php');
$mod->post();
// this should output the last post (the one we just posted).
- return api_status_show($a,$type);
+ return api_status_show($type);
}
api_register_func('api/statuses/mediap','api_statuses_mediap', true);
- function api_statuses_update($a, $type) {
+ function api_statuses_update( $type) {
if (api_user() === false) {
logger('api_statuses_update: no user');
return false;
@@ -901,13 +911,13 @@ require_once('include/api_auth.php');
$mod->post();
// this should output the last post (the one we just posted).
- return api_status_show($a,$type);
+ return api_status_show($type);
}
api_register_func('api/statuses/update_with_media','api_statuses_update', true);
api_register_func('api/statuses/update','api_statuses_update', true);
- function red_item_new($a, $type) {
+ function red_item_new( $type) {
if (api_user() === false) {
logger('api_red_item_new: no user');
@@ -939,9 +949,10 @@ require_once('include/api_auth.php');
}
api_register_func('api/red/item/new','red_item_new', true);
+ api_register_func('api/hz/1.0/item/new','red_item_new', true);
- function red_item($a, $type) {
+ function red_item( $type) {
if (api_user() === false) {
logger('api_red_item_full: no user');
@@ -977,6 +988,7 @@ require_once('include/api_auth.php');
}
api_register_func('api/red/item/full','red_item', true);
+ api_register_func('api/hz/1.0/item/full','red_item', true);
@@ -1042,7 +1054,7 @@ require_once('include/api_auth.php');
return $status_info;
}
- function api_status_show($a, $type){
+ function api_status_show( $type){
$user_info = api_get_user($a);
// get last public message
@@ -1120,7 +1132,7 @@ require_once('include/api_auth.php');
// FIXME - this is essentially the same as api_status_show except for the template formatting at the end. Consolidate.
- function api_users_show($a, $type){
+ function api_users_show( $type){
$user_info = api_get_user($a);
require_once('include/security.php');
@@ -1192,7 +1204,7 @@ require_once('include/api_auth.php');
* TODO: Add reply info
*/
- function api_statuses_home_timeline($a, $type){
+ function api_statuses_home_timeline( $type){
if (api_user() === false)
return false;
@@ -1259,10 +1271,10 @@ require_once('include/api_auth.php');
switch($type){
case "atom":
case "rss":
- $data = api_rss_extra($a, $data, $user_info);
+ $data = api_rss_extra( $data, $user_info);
break;
case "as":
- $as = api_format_as($a, $ret, $user_info);
+ $as = api_format_as( $ret, $user_info);
$as['title'] = App::$config['sitename']." Home Timeline";
$as['link']['url'] = z_root()."/".$user_info["screen_name"]."/all";
return($as);
@@ -1274,7 +1286,7 @@ require_once('include/api_auth.php');
api_register_func('api/statuses/home_timeline','api_statuses_home_timeline', true);
api_register_func('api/statuses/friends_timeline','api_statuses_home_timeline', true);
- function api_statuses_public_timeline($a, $type){
+ function api_statuses_public_timeline( $type){
if (api_user()===false) return false;
$user_info = api_get_user($a);
@@ -1320,10 +1332,10 @@ require_once('include/api_auth.php');
switch($type){
case "atom":
case "rss":
- $data = api_rss_extra($a, $data, $user_info);
+ $data = api_rss_extra( $data, $user_info);
break;
case "as":
- $as = api_format_as($a, $ret, $user_info);
+ $as = api_format_as( $ret, $user_info);
$as['title'] = App::$config['sitename']. " " . t('Public Timeline');
$as['link']['url'] = z_root()."/";
return($as);
@@ -1338,7 +1350,7 @@ require_once('include/api_auth.php');
*
*/
- function api_statuses_show($a, $type){
+ function api_statuses_show( $type){
if (api_user()===false) return false;
$user_info = api_get_user($a);
@@ -1377,7 +1389,7 @@ require_once('include/api_auth.php');
/*switch($type){
case "atom":
case "rss":
- $data = api_rss_extra($a, $data, $user_info);
+ $data = api_rss_extra( $data, $user_info);
}*/
return api_apply_template("status", $type, $data);
}
@@ -1388,7 +1400,7 @@ require_once('include/api_auth.php');
/**
*
*/
- function api_statuses_repeat($a, $type){
+ function api_statuses_repeat( $type){
if (api_user()===false) return false;
$user_info = api_get_user($a);
@@ -1434,7 +1446,7 @@ require_once('include/api_auth.php');
*
*/
- function api_statuses_destroy($a, $type){
+ function api_statuses_destroy( $type){
if (api_user()===false) return false;
$user_info = api_get_user($a);
@@ -1498,7 +1510,7 @@ require_once('include/api_auth.php');
*/
- function api_statuses_mentions($a, $type){
+ function api_statuses_mentions( $type){
if (api_user()===false) return false;
$user_info = api_get_user($a);
@@ -1548,10 +1560,10 @@ require_once('include/api_auth.php');
switch($type){
case "atom":
case "rss":
- $data = api_rss_extra($a, $data, $user_info);
+ $data = api_rss_extra( $data, $user_info);
break;
case "as":
- $as = api_format_as($a, $ret, $user_info);
+ $as = api_format_as( $ret, $user_info);
$as["title"] = App::$config['sitename']." Mentions";
$as['link']['url'] = z_root()."/";
return($as);
@@ -1565,7 +1577,7 @@ require_once('include/api_auth.php');
api_register_func('api/statuses/replies','api_statuses_mentions', true);
- function api_statuses_user_timeline($a, $type){
+ function api_statuses_user_timeline( $type){
if (api_user()===false) return false;
$user_info = api_get_user($a);
@@ -1633,7 +1645,7 @@ require_once('include/api_auth.php');
switch($type){
case "atom":
case "rss":
- $data = api_rss_extra($a, $data, $user_info);
+ $data = api_rss_extra( $data, $user_info);
}
return api_apply_template("timeline", $type, $data);
@@ -1649,7 +1661,7 @@ require_once('include/api_auth.php');
*
* api v1 : https://web.archive.org/web/20131019055350/https://dev.twitter.com/docs/api/1/post/favorites/create/%3Aid
*/
- function api_favorites_create_destroy($a, $type){
+ function api_favorites_create_destroy( $type){
logger('favorites_create_destroy');
@@ -1706,7 +1718,7 @@ require_once('include/api_auth.php');
switch($type){
case "atom":
case "rss":
- $data = api_rss_extra($a, $data, $user_info);
+ $data = api_rss_extra( $data, $user_info);
}
return api_apply_template("status", $type, $data);
@@ -1717,7 +1729,7 @@ require_once('include/api_auth.php');
- function api_favorites($a, $type){
+ function api_favorites( $type){
if (api_user()===false)
return false;
@@ -1770,10 +1782,10 @@ require_once('include/api_auth.php');
switch($type){
case "atom":
case "rss":
- $data = api_rss_extra($a, $data, $user_info);
+ $data = api_rss_extra( $data, $user_info);
break;
case "as":
- $as = api_format_as($a, $ret, $user_info);
+ $as = api_format_as( $ret, $user_info);
$as['title'] = App::$config['sitename']." Home Timeline";
$as['link']['url'] = z_root()."/".$user_info["screen_name"]."/all";
return($as);
@@ -1789,7 +1801,7 @@ require_once('include/api_auth.php');
- function api_format_as($a, $ret, $user_info) {
+ function api_format_as( $ret, $user_info) {
$as = array();
$as['title'] = App::$config['sitename']." Public Timeline";
@@ -1907,7 +1919,7 @@ require_once('include/api_auth.php');
localize_item($item);
- $status_user = (($item['author_xchan']==$user_info['guid'])?$user_info: api_item_get_user($a,$item));
+ $status_user = (($item['author_xchan']==$user_info['guid'])?$user_info: api_item_get_user($item));
if(array_key_exists('status',$status_user))
unset($status_user['status']);
@@ -1986,7 +1998,7 @@ require_once('include/api_auth.php');
}
- function api_account_rate_limit_status($a,$type) {
+ function api_account_rate_limit_status($type) {
$hash = array(
'reset_time_in_seconds' => strtotime('now + 1 hour'),
@@ -2002,7 +2014,7 @@ require_once('include/api_auth.php');
}
api_register_func('api/account/rate_limit_status','api_account_rate_limit_status',true);
- function api_help_test($a,$type) {
+ function api_help_test($type) {
if ($type == 'xml')
$ok = "true";
@@ -2019,7 +2031,7 @@ require_once('include/api_auth.php');
* This function is deprecated by Twitter
* returns: json, xml
**/
- function api_statuses_f($a, $type, $qtype) {
+ function api_statuses_f( $type, $qtype) {
if (api_user()===false) return false;
$user_info = api_get_user($a);
@@ -2054,20 +2066,20 @@ require_once('include/api_auth.php');
$ret = array();
foreach($r as $cid){
- $ret[] = api_get_user($a, $cid['abook_id']);
+ $ret[] = api_get_user( $cid['abook_id']);
}
return array('$users' => $ret);
}
- function api_statuses_friends($a, $type){
- $data = api_statuses_f($a,$type,"friends");
+ function api_statuses_friends( $type){
+ $data = api_statuses_f($type,"friends");
if ($data===false) return false;
return api_apply_template("friends", $type, $data);
}
- function api_statuses_followers($a, $type){
- $data = api_statuses_f($a,$type,"followers");
+ function api_statuses_followers( $type){
+ $data = api_statuses_f($type,"followers");
if ($data===false) return false;
return api_apply_template("friends", $type, $data);
}
@@ -2079,7 +2091,7 @@ require_once('include/api_auth.php');
- function api_statusnet_config($a,$type) {
+ function api_statusnet_config($type) {
load_config('system');
@@ -2115,8 +2127,9 @@ require_once('include/api_auth.php');
api_register_func('api/statusnet/config','api_statusnet_config',false);
api_register_func('api/friendica/config','api_statusnet_config',false);
api_register_func('api/red/config','api_statusnet_config',false);
+ api_register_func('api/hz/1.0/config','api_statusnet_config',false);
- function api_statusnet_version($a,$type) {
+ function api_statusnet_version($type) {
// liar
@@ -2134,7 +2147,7 @@ require_once('include/api_auth.php');
api_register_func('api/statusnet/version','api_statusnet_version',false);
- function api_friendica_version($a,$type) {
+ function api_friendica_version($type) {
if($type === 'xml') {
header("Content-type: application/xml");
@@ -2149,9 +2162,10 @@ require_once('include/api_auth.php');
}
api_register_func('api/friendica/version','api_friendica_version',false);
api_register_func('api/red/version','api_friendica_version',false);
+ api_register_func('api/hz/1.0/version','api_friendica_version',false);
- function api_ff_ids($a,$type,$qtype) {
+ function api_ff_ids($type,$qtype) {
if(! api_user())
return false;
@@ -2187,17 +2201,17 @@ require_once('include/api_auth.php');
}
}
- function api_friends_ids($a,$type) {
- api_ff_ids($a,$type,'friends');
+ function api_friends_ids($type) {
+ api_ff_ids($type,'friends');
}
- function api_followers_ids($a,$type) {
- api_ff_ids($a,$type,'followers');
+ function api_followers_ids($type) {
+ api_ff_ids($type,'followers');
}
api_register_func('api/friends/ids','api_friends_ids',true);
api_register_func('api/followers/ids','api_followers_ids',true);
- function api_direct_messages_new($a, $type) {
+ function api_direct_messages_new( $type) {
if (api_user()===false) return false;
if (!x($_POST, "text") || !x($_POST,"screen_name")) return;
@@ -2213,7 +2227,7 @@ require_once('include/api_auth.php');
dbesc($_POST['screen_name'] . '@%')
);
- $recipient = api_get_user($a, $r[0]['abook_id']);
+ $recipient = api_get_user( $r[0]['abook_id']);
$replyto = '';
$sub = '';
if (x($_REQUEST,'replyto')) {
@@ -2247,7 +2261,7 @@ require_once('include/api_auth.php');
switch($type){
case "atom":
case "rss":
- $data = api_rss_extra($a, $data, $user_info);
+ $data = api_rss_extra( $data, $user_info);
}
return api_apply_template("direct_messages", $type, $data);
@@ -2255,7 +2269,7 @@ require_once('include/api_auth.php');
}
api_register_func('api/direct_messages/new','api_direct_messages_new',true);
- function api_direct_messages_box($a, $type, $box) {
+ function api_direct_messages_box( $type, $box) {
if (api_user()===false) return false;
$user_info = api_get_user($a);
@@ -2292,10 +2306,10 @@ require_once('include/api_auth.php');
foreach($r as $item) {
if ($item['from_xchan'] == $channel['channel_hash']) {
$sender = $user_info;
- $recipient = api_get_user($a, null, $item['to_xchan']);
+ $recipient = api_get_user( null, $item['to_xchan']);
}
else {
- $sender = api_get_user($a, null, $item['from_xchan']);
+ $sender = api_get_user( null, $item['from_xchan']);
$recipient = $user_info;
}
@@ -2308,24 +2322,24 @@ require_once('include/api_auth.php');
switch($type){
case "atom":
case "rss":
- $data = api_rss_extra($a, $data, $user_info);
+ $data = api_rss_extra( $data, $user_info);
}
return api_apply_template("direct_messages", $type, $data);
}
- function api_direct_messages_sentbox($a, $type){
- return api_direct_messages_box($a, $type, "sentbox");
+ function api_direct_messages_sentbox( $type){
+ return api_direct_messages_box( $type, "sentbox");
}
- function api_direct_messages_inbox($a, $type){
- return api_direct_messages_box($a, $type, "inbox");
+ function api_direct_messages_inbox( $type){
+ return api_direct_messages_box( $type, "inbox");
}
- function api_direct_messages_all($a, $type){
- return api_direct_messages_box($a, $type, "all");
+ function api_direct_messages_all( $type){
+ return api_direct_messages_box( $type, "all");
}
- function api_direct_messages_conversation($a, $type){
- return api_direct_messages_box($a, $type, "conversation");
+ function api_direct_messages_conversation( $type){
+ return api_direct_messages_box( $type, "conversation");
}
api_register_func('api/direct_messages/conversation','api_direct_messages_conversation',true);
api_register_func('api/direct_messages/all','api_direct_messages_all',true);
@@ -2333,7 +2347,7 @@ require_once('include/api_auth.php');
api_register_func('api/direct_messages','api_direct_messages_inbox',true);
- function api_oauth_request_token($a, $type){
+ function api_oauth_request_token( $type){
try{
$oauth = new ZotOAuth1();
$req = OAuth1Request::from_request();
@@ -2348,7 +2362,7 @@ require_once('include/api_auth.php');
killme();
}
- function api_oauth_access_token($a, $type){
+ function api_oauth_access_token( $type){
try{
$oauth = new ZotOAuth1();
$req = OAuth1Request::from_request();
diff --git a/include/attach.php b/include/attach.php
index 172840b96..b5c334d3e 100644
--- a/include/attach.php
+++ b/include/attach.php
@@ -229,7 +229,7 @@ function attach_list_files($channel_id, $observer, $hash = '', $filename = '', $
* @param int $rev Revision
* @return array
*/
-function attach_by_hash($hash, $rev = 0) {
+function attach_by_hash($hash, $observer_hash, $rev = 0) {
$ret = array('success' => false);
@@ -249,12 +249,12 @@ function attach_by_hash($hash, $rev = 0) {
return $ret;
}
- if(! perm_is_allowed($r[0]['uid'], get_observer_hash(), 'view_storage')) {
+ if(! perm_is_allowed($r[0]['uid'], $observer_hash, 'view_storage')) {
$ret['message'] = t('Permission denied.');
return $ret;
}
- $sql_extra = permissions_sql($r[0]['uid']);
+ $sql_extra = permissions_sql($r[0]['uid'],$observer_hash);
// Now we'll see if we can access the attachment
@@ -269,7 +269,7 @@ function attach_by_hash($hash, $rev = 0) {
}
if($r[0]['folder']) {
- $x = attach_can_view_folder($r[0]['uid'],get_observer_hash(),$r[0]['folder']);
+ $x = attach_can_view_folder($r[0]['uid'],$observer_hash,$r[0]['folder']);
if(! $x) {
$ret['message'] = t('Permission denied.');
return $ret;
@@ -315,7 +315,7 @@ function attach_can_view_folder($uid,$ob_hash,$folder_hash) {
* * \e string \b message (optional) only when success is false
* * \e array \b data array of attach DB entry without data component
*/
-function attach_by_hash_nodata($hash, $rev = 0) {
+function attach_by_hash_nodata($hash, $observer_hash, $rev = 0) {
$ret = array('success' => false);
@@ -335,12 +335,12 @@ function attach_by_hash_nodata($hash, $rev = 0) {
return $ret;
}
- if(! perm_is_allowed($r[0]['uid'],get_observer_hash(),'view_storage')) {
+ if(! perm_is_allowed($r[0]['uid'],$observer_hash,'view_storage')) {
$ret['message'] = t('Permission denied.');
return $ret;
}
- $sql_extra = permissions_sql($r[0]['uid']);
+ $sql_extra = permissions_sql($r[0]['uid'],$observer_hash);
// Now we'll see if we can access the attachment
@@ -355,7 +355,7 @@ function attach_by_hash_nodata($hash, $rev = 0) {
}
if($r[0]['folder']) {
- $x = attach_can_view_folder($r[0]['uid'],get_observer_hash(),$r[0]['folder']);
+ $x = attach_can_view_folder($r[0]['uid'],$observer_hash,$r[0]['folder']);
if(! $x) {
$ret['message'] = t('Permission denied.');
return $ret;
@@ -709,6 +709,9 @@ function attach_store($channel, $observer_hash, $options = '', $arr = null) {
$os_relpath .= $hash;
+ // not yet used
+ $os_path = '';
+
if($src)
@file_put_contents($os_basepath . $os_relpath,@file_get_contents($src));
@@ -723,7 +726,7 @@ function attach_store($channel, $observer_hash, $options = '', $arr = null) {
$edited = $created;
if($options === 'replace') {
- $r = q("update attach set filename = '%s', filetype = '%s', folder = '%s', filesize = %d, os_storage = %d, is_photo = %d, content = '%s', edited = '%s' where id = %d and uid = %d",
+ $r = q("update attach set filename = '%s', filetype = '%s', folder = '%s', filesize = %d, os_storage = %d, is_photo = %d, content = '%s', edited = '%s', os_path = '%s' where id = %d and uid = %d",
dbesc($filename),
dbesc($mimetype),
dbesc($folder_hash),
@@ -732,13 +735,14 @@ function attach_store($channel, $observer_hash, $options = '', $arr = null) {
intval($is_photo),
dbesc($os_basepath . $os_relpath),
dbesc($created),
+ dbesc($os_path),
intval($existing_id),
intval($channel_id)
);
}
elseif($options === 'revise') {
- $r = q("insert into attach ( aid, uid, hash, creator, filename, filetype, folder, filesize, revision, os_storage, is_photo, content, created, edited, allow_cid, allow_gid, deny_cid, deny_gid )
- VALUES ( %d, %d, '%s', '%s', '%s', '%s', '%s', %d, %d, %d, %d, '%s', '%s', '%s', '%s', '%s', '%s', '%s' ) ",
+ $r = q("insert into attach ( aid, uid, hash, creator, filename, filetype, folder, filesize, revision, os_storage, is_photo, content, created, edited, os_path, allow_cid, allow_gid, deny_cid, deny_gid )
+ VALUES ( %d, %d, '%s', '%s', '%s', '%s', '%s', %d, %d, %d, %d, '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s' ) ",
intval($x[0]['aid']),
intval($channel_id),
dbesc($x[0]['hash']),
@@ -753,6 +757,7 @@ function attach_store($channel, $observer_hash, $options = '', $arr = null) {
dbesc($os_basepath . $os_relpath),
dbesc($created),
dbesc($created),
+ dbesc($os_path),
dbesc($x[0]['allow_cid']),
dbesc($x[0]['allow_gid']),
dbesc($x[0]['deny_cid']),
@@ -760,7 +765,7 @@ function attach_store($channel, $observer_hash, $options = '', $arr = null) {
);
}
elseif($options === 'update') {
- $r = q("update attach set filename = '%s', filetype = '%s', folder = '%s', edited = '%s', os_storage = %d, is_photo = %d,
+ $r = q("update attach set filename = '%s', filetype = '%s', folder = '%s', edited = '%s', os_storage = %d, is_photo = %d, os_path = '%s',
allow_cid = '%s', allow_gid = '%s', deny_cid = '%s', deny_gid = '%s' where id = %d and uid = %d",
dbesc((array_key_exists('filename',$arr)) ? $arr['filename'] : $x[0]['filename']),
dbesc((array_key_exists('filetype',$arr)) ? $arr['filetype'] : $x[0]['filetype']),
@@ -768,6 +773,7 @@ function attach_store($channel, $observer_hash, $options = '', $arr = null) {
dbesc($created),
dbesc((array_key_exists('os_storage',$arr)) ? $arr['os_storage'] : $x[0]['os_storage']),
dbesc((array_key_exists('is_photo',$arr)) ? $arr['is_photo'] : $x[0]['is_photo']),
+ dbesc((array_key_exists('os_path',$arr)) ? $arr['os_path'] : $x[0]['os_path']),
dbesc((array_key_exists('allow_cid',$arr)) ? $arr['allow_cid'] : $x[0]['allow_cid']),
dbesc((array_key_exists('allow_gid',$arr)) ? $arr['allow_gid'] : $x[0]['allow_gid']),
dbesc((array_key_exists('deny_cid',$arr)) ? $arr['deny_cid'] : $x[0]['deny_cid']),
@@ -778,8 +784,8 @@ function attach_store($channel, $observer_hash, $options = '', $arr = null) {
}
else {
- $r = q("INSERT INTO attach ( aid, uid, hash, creator, filename, filetype, folder, filesize, revision, os_storage, is_photo, content, created, edited, allow_cid, allow_gid,deny_cid, deny_gid )
- VALUES ( %d, %d, '%s', '%s', '%s', '%s', '%s', %d, %d, %d, %d, '%s', '%s', '%s', '%s', '%s', '%s', '%s' ) ",
+ $r = q("INSERT INTO attach ( aid, uid, hash, creator, filename, filetype, folder, filesize, revision, os_storage, is_photo, content, created, edited, os_path, allow_cid, allow_gid,deny_cid, deny_gid )
+ VALUES ( %d, %d, '%s', '%s', '%s', '%s', '%s', %d, %d, %d, %d, '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s' ) ",
intval($channel['channel_account_id']),
intval($channel_id),
dbesc($hash),
@@ -794,6 +800,7 @@ function attach_store($channel, $observer_hash, $options = '', $arr = null) {
dbesc($os_basepath . $os_relpath),
dbesc($created),
dbesc($created),
+ dbesc($os_path),
dbesc(($arr && array_key_exists('allow_cid',$arr)) ? $arr['allow_cid'] : $str_contact_allow),
dbesc(($arr && array_key_exists('allow_gid',$arr)) ? $arr['allow_gid'] : $str_group_allow),
dbesc(($arr && array_key_exists('deny_cid',$arr)) ? $arr['deny_cid'] : $str_contact_deny),
@@ -1191,7 +1198,11 @@ function attach_mkdirp($channel, $observer_hash, $arr = null) {
* @param string $deny_gid
* @param boolean $recurse (optional) default false
*/
-function attach_change_permissions($channel_id, $resource, $allow_cid, $allow_gid, $deny_cid, $deny_gid, $recurse = false) {
+function attach_change_permissions($channel_id, $resource, $allow_cid, $allow_gid, $deny_cid, $deny_gid, $recurse = false, $sync = false) {
+
+ $channel = channelx_by_n($channel_id);
+ if(! $channel)
+ return;
$r = q("select hash, flags, is_dir, is_photo from attach where hash = '%s' and uid = %d limit 1",
dbesc($resource),
@@ -1209,7 +1220,7 @@ function attach_change_permissions($channel_id, $resource, $allow_cid, $allow_gi
);
if($r) {
foreach($r as $rr) {
- attach_change_permissions($channel_id, $rr['hash'], $allow_cid, $allow_gid, $deny_cid, $deny_gid, $recurse);
+ attach_change_permissions($channel_id, $rr['hash'], $allow_cid, $allow_gid, $deny_cid, $deny_gid, $recurse, $sync);
}
}
}
@@ -1233,6 +1244,13 @@ function attach_change_permissions($channel_id, $resource, $allow_cid, $allow_gi
intval($channel_id)
);
}
+
+ if($sync) {
+ $data = attach_export_data($channel,$resource);
+
+ if($data)
+ build_sync_packet($channel['channel_id'],array('file' => array($data)));
+ }
}
/**
@@ -1994,3 +2012,222 @@ function get_filename_by_cloudname($cloudname, $channel, $storepath) {
}
return null;
}
+
+
+// recursively copy a directory into cloud files
+function copy_folder_to_cloudfiles($channel, $observer_hash, $srcpath, $cloudpath)
+{
+ if (!is_dir($srcpath) || !is_readable($srcpath)) {
+ logger('Error reading source path: ' . $srcpath, LOGGER_NORMAL);
+ return false;
+ }
+ $nodes = array_diff(scandir($srcpath), array('.', '..'));
+ foreach ($nodes as $node) {
+ $clouddir = $cloudpath . '/' . $node; // Sub-folder in cloud files destination
+ $nodepath = $srcpath . '/' . $node; // Sub-folder in source path
+ if(is_dir($nodepath)) {
+ $x = attach_mkdirp($channel, $observer_hash, array('pathname' => $clouddir));
+ if(!$x['success']) {
+ logger('Error creating cloud path: ' . $clouddir, LOGGER_NORMAL);
+ return false;
+ }
+ // Recursively call this function where the source and destination are the subfolders
+ $success = copy_folder_to_cloudfiles($channel, $observer_hash, $nodepath, $clouddir);
+ if(!$success) {
+ logger('Error copying contents of folder: ' . $nodepath, LOGGER_NORMAL);
+ return false;
+ }
+ } elseif (is_file($nodepath) && is_readable($nodepath)) {
+ $x = attach_store($channel, $observer_hash, 'import',
+ array(
+ 'directory' => $cloudpath,
+ 'src' => $nodepath,
+ 'filename' => $node,
+ 'filesize' => @filesize($nodepath),
+ 'preserve_original' => true)
+ );
+ if(!$x['success']) {
+ logger('Error copying file: ' . $nodepath , LOGGER_NORMAL);
+ logger('Return value: ' . json_encode($x), LOGGER_NORMAL);
+ return false;
+ }
+ } else {
+ logger('Error scanning source path', LOGGER_NORMAL);
+ return false;
+ }
+ }
+
+ return true;
+}
+/**
+ * attach_move()
+ * This function performs an in place directory-to-directory move of a stored attachment or photo.
+ * The data is physically moved in the store/nickname storage location and the paths adjusted
+ * in the attach structure (and if applicable the photo table). The new 'album name' is recorded
+ * for photos and will show up immediately there.
+ * This takes a channel_id, attach.hash of the file to move (this is the same as a photo resource_id), and
+ * the attach.hash of the new parent folder, which must already exist. If $new_folder_hash is blank or empty,
+ * the file is relocated to the root of the channel's storage area.
+ *
+ * @fixme: this operation is currently not synced to clones !!
+ */
+
+function attach_move($channel_id,$resource_id,$new_folder_hash) {
+
+ $c = channelx_by_n($channel_id);
+ if(! $c)
+ return false;
+
+ $r = q("select * from attach where hash = '%s' and uid = %d limit 1",
+ dbesc($resource_id),
+ intval($channel_id)
+ );
+ if(! $r)
+ return false;
+
+ $oldstorepath = $r[0]['content'];
+
+ if($new_folder_hash) {
+ $n = q("select * from attach where hash = '%s' and uid = %d limit 1",
+ dbesc($new_folder_hash),
+ intval($channel_id)
+ );
+ if(! $n)
+ return;
+ $newdirname = $n[0]['filename'];
+ $newstorepath = $n[0]['content'] . '/' . $resource_id;
+ }
+ else {
+ $newstorepath = 'store/' . $c['channel_address'] . '/' . $resource_id;
+ }
+
+ rename($oldstorepath,$newstorepath);
+
+ // duplicate detection. If 'overwrite' is specified, return false because we can't yet do that.
+
+ $filename = $r[0]['filename'];
+
+ $s = q("select filename, id, hash, filesize from attach where filename = '%s' and folder = '%s' ",
+ dbesc($filename),
+ dbesc($new_folder_hash)
+ );
+
+ if($s) {
+ $overwrite = get_pconfig($channel_id,'system','overwrite_dup_files');
+ if($overwrite) {
+ // @fixme
+ return;
+ }
+ else {
+ if(strpos($filename,'.') !== false) {
+ $basename = substr($filename,0,strrpos($filename,'.'));
+ $ext = substr($filename,strrpos($filename,'.'));
+ }
+ else {
+ $basename = $filename;
+ $ext = '';
+ }
+
+ $v = q("select filename from attach where ( filename = '%s' OR filename like '%s' ) and folder = '%s' ",
+ dbesc($basename . $ext),
+ dbesc($basename . '(%)' . $ext),
+ dbesc($new_folder_hash)
+ );
+
+ if($v) {
+ $x = 1;
+
+ do {
+ $found = false;
+ foreach($v as $vv) {
+ if($vv['filename'] === $basename . '(' . $x . ')' . $ext) {
+ $found = true;
+ break;
+ }
+ }
+ if($found)
+ $x++;
+ }
+ while($found);
+ $filename = $basename . '(' . $x . ')' . $ext;
+ }
+ else
+ $filename = $basename . $ext;
+ }
+ }
+
+ $t = q("update attach set content = '%s', folder = '%s', filename = '%s' where id = %d",
+ dbesc($newstorepath),
+ dbesc($new_folder_hash),
+ dbesc($filename),
+ intval($r[0]['id'])
+ );
+
+ if($r[0]['is_photo']) {
+ $t = q("update photo set album = '%s', filename = '%s' where resource_id = '%s' and uid = %d",
+ dbesc($newdirname),
+ dbesc($filename),
+ dbesc($resource_id),
+ intval($channel_id)
+ );
+
+ $t = q("update photo set content = '%s' where resource_id = '%s' and uid = %d and imgscale = 0",
+ dbesc($newstorepath),
+ dbesc($resource_id),
+ intval($channel_id)
+ );
+ }
+
+ return true;
+
+}
+
+
+function attach_folder_select_list($channel_id) {
+
+ $r = q("select * from attach where is_dir = 1 and uid = %d",
+ intval($channel_id)
+ );
+
+ $out = [];
+ $out[''] = '/';
+
+ if($r) {
+ foreach($r as $rv) {
+ $x = attach_folder_rpaths($r,$rv);
+ if($x)
+ $out[$x[0]] = $x[1];
+ }
+ }
+ return $out;
+}
+
+function attach_folder_rpaths($all_folders,$that_folder) {
+
+ $path = '/' . $that_folder['filename'];
+ $current_hash = $that_folder['hash'];
+ $parent_hash = $that_folder['folder'];
+ $error = false;
+ $found = false;
+
+ if($parent_hash) {
+ do {
+ foreach($all_folders as $selected) {
+ if(! $selected['is_dir'])
+ continue;
+ if($selected['hash'] == $parent_hash) {
+ $path = '/' . $selected['filename'] . $path;
+ $current_hash = $selected['hash'];
+ $parent_hash = $selected['folder'];
+ $found = true;
+ break;
+ }
+ }
+ if(! $found)
+ $error = true;
+ }
+ while((! $found) && (! $error) && ($parent_hash != ''));
+ }
+ return (($error) ? false : [ $current_hash , $path ]);
+
+} \ No newline at end of file
diff --git a/include/bb2diaspora.php b/include/bb2diaspora.php
index 16f67dc4a..d3f88e17c 100644
--- a/include/bb2diaspora.php
+++ b/include/bb2diaspora.php
@@ -268,7 +268,7 @@ function bb2dmention_callback($match) {
}
-function bb2diaspora_itemwallwall(&$item) {
+function bb2diaspora_itemwallwall(&$item,$uplink = false) {
// We will provide wallwall (embedded author on the Diaspora side) if
// 1. It is a wall-to-wall post
@@ -302,13 +302,19 @@ function bb2diaspora_itemwallwall(&$item) {
}
}
+ if($uplink)
+ $wallwall = true;
+
if(($wallwall) && (is_array($item['author'])) && $item['author']['xchan_url'] && $item['author']['xchan_name'] && $item['author']['xchan_photo_s']) {
logger('bb2diaspora_itemwallwall: wall to wall post',LOGGER_DEBUG);
// post will come across with the owner's identity. Throw a preamble onto the post to indicate the true author.
$item['body'] = "\n\n"
+ . '[quote]'
. '[img]' . $item['author']['xchan_photo_s'] . '[/img]'
- . '[url=' . $item['author']['xchan_url'] . ']' . $item['author']['xchan_name'] . '[/url]' . "\n\n"
- . $item['body'];
+ . ' '
+ . '[url=' . $item['author']['xchan_url'] . '][b]' . $item['author']['xchan_name'] . '[/b][/url]' . "\n\n"
+ . $item['body']
+ . '[/quote]';
}
// $item['author'] might cause a surprise further down the line if it wasn't expected to be here.
@@ -318,7 +324,7 @@ function bb2diaspora_itemwallwall(&$item) {
}
-function bb2diaspora_itembody($item, $force_update = false, $have_channel = false) {
+function bb2diaspora_itembody($item, $force_update = false, $have_channel = false, $uplink) {
if(! get_iconfig($item,'diaspora','fields')) {
@@ -362,7 +368,7 @@ function bb2diaspora_itembody($item, $force_update = false, $have_channel = fals
}
if(! $have_channel)
- bb2diaspora_itemwallwall($newitem);
+ bb2diaspora_itemwallwall($newitem,$uplink);
$title = $newitem['title'];
$body = preg_replace('/\#\^http/i', 'http', $newitem['body']);
diff --git a/include/bbcode.php b/include/bbcode.php
index db3a1011b..a82b658b1 100644
--- a/include/bbcode.php
+++ b/include/bbcode.php
@@ -12,16 +12,27 @@ require_once('include/hubloc.php');
function tryoembed($match) {
$url = ((count($match) == 2) ? $match[1] : $match[2]);
-
$o = oembed_fetch_url($url);
- if ($o->type == 'error')
+ if ($o['type'] == 'error')
return $match[0];
$html = oembed_format_object($o);
return $html;
}
+
+function nakedoembed($match) {
+ $url = ((count($match) == 2) ? $match[1] : $match[2]);
+
+ $o = oembed_fetch_url($url);
+
+ if ($o['type'] == 'error')
+ return $match[0];
+
+ return '[embed]' . $url . '[/embed]';
+}
+
function tryzrlaudio($match) {
$link = $match[1];
$zrl = is_matrix_url($link);
@@ -516,6 +527,9 @@ function bb_fixtable_lf($match) {
function bbcode($Text, $preserve_nl = false, $tryoembed = true, $cache = false) {
+
+ call_hooks('bbcode_filter', $Text);
+
// Hide all [noparse] contained bbtags by spacefying them
if (strpos($Text,'[noparse]') !== false) {
$Text = preg_replace_callback("/\[noparse\](.*?)\[\/noparse\]/ism", 'bb_spacefy',$Text);
@@ -642,6 +656,9 @@ function bbcode($Text, $preserve_nl = false, $tryoembed = true, $cache = false)
$urlchars = '[a-zA-Z0-9\:\/\-\?\&\;\.\=\@\_\~\#\%\$\!\+\,\@]';
if (strpos($Text,'http') !== false) {
+ if($tryoembed) {
+ $Text = preg_replace_callback("/([^\]\='".'"'."\/]|^|\#\^)(https?\:\/\/$urlchars+)/ism", 'tryoembed', $Text);
+ }
$Text = preg_replace("/([^\]\='".'"'."\/]|^|\#\^)(https?\:\/\/$urlchars+)/ism", '$1<a href="$2" target="_blank" >$2</a>', $Text);
}
@@ -666,8 +683,7 @@ function bbcode($Text, $preserve_nl = false, $tryoembed = true, $cache = false)
$Text = preg_replace("/\[zrl\=([$URLSearchString]*)\](.*?)\[\/zrl\]/ism", '<a class="zrl" href="$1" target="_blank" >$2</a>', $Text);
}
- // Remove bookmarks from UNO
- if (get_config('system','server_role') === 'basic')
+ if (get_account_techlevel() < 2)
$Text = str_replace('<span class="bookmark-identifier">#^</span>', '', $Text);
// Perform MAIL Search
@@ -769,11 +785,14 @@ function bbcode($Text, $preserve_nl = false, $tryoembed = true, $cache = false)
}
// Check for list text
$Text = str_replace("[*]", "<li>", $Text);
+ $Text = str_replace("[]", "<li><input type=\"checkbox\" disabled=\"disabled\">", $Text);
+ $Text = str_replace("[x]", "<li><input type=\"checkbox\" checked=\"checked\" disabled=\"disabled\">", $Text);
// handle nested lists
$endlessloop = 0;
while ((((strpos($Text, "[/list]") !== false) && (strpos($Text, "[list") !== false)) ||
+ ((strpos($Text, "[/checklist]") !== false) && (strpos($Text, "[checklist]") !== false)) ||
((strpos($Text, "[/ol]") !== false) && (strpos($Text, "[ol]") !== false)) ||
((strpos($Text, "[/ul]") !== false) && (strpos($Text, "[ul]") !== false)) ||
((strpos($Text, "[/dl]") !== false) && (strpos($Text, "[dl") !== false)) ||
@@ -785,6 +804,7 @@ function bbcode($Text, $preserve_nl = false, $tryoembed = true, $cache = false)
$Text = preg_replace("/\[list=((?-i)I)\](.*?)\[\/list\]/ism", '<ul class="listupperroman" style="list-style-type: upper-roman;">$2</ul>', $Text);
$Text = preg_replace("/\[list=((?-i)a)\](.*?)\[\/list\]/ism", '<ul class="listloweralpha" style="list-style-type: lower-alpha;">$2</ul>', $Text);
$Text = preg_replace("/\[list=((?-i)A)\](.*?)\[\/list\]/ism", '<ul class="listupperalpha" style="list-style-type: upper-alpha;">$2</ul>', $Text);
+ $Text = preg_replace("/\[checklist\](.*?)\[\/checklist\]/ism", '<ul class="checklist" style="list-style-type: none;">$1</ul>', $Text);
$Text = preg_replace("/\[ul\](.*?)\[\/ul\]/ism", '<ul class="listbullet" style="list-style-type: circle;">$1</ul>', $Text);
$Text = preg_replace("/\[ol\](.*?)\[\/ol\]/ism", '<ul class="listdecimal" style="list-style-type: decimal;">$1</ul>', $Text);
$Text = preg_replace("/\[li\](.*?)\[\/li\]/ism", '<li>$1</li>', $Text);
@@ -942,13 +962,13 @@ function bbcode($Text, $preserve_nl = false, $tryoembed = true, $cache = false)
$Text = preg_replace_callback("/\[video\](.*?\.(ogg|ogv|oga|ogm|webm|mp4|mpeg|mpg))\[\/video\]/ism", 'tryzrlvideo', $Text);
}
if (strpos($Text,'[/audio]') !== false) {
- $Text = preg_replace_callback("/\[audio\](.*?\.(ogg|ogv|oga|ogm|webm|mp4|mp3|opus))\[\/audio\]/ism", 'tryzrlaudio', $Text);
+ $Text = preg_replace_callback("/\[audio\](.*?\.(ogg|ogv|oga|ogm|webm|mp4|mp3|opus|m4a))\[\/audio\]/ism", 'tryzrlaudio', $Text);
}
if (strpos($Text,'[/zvideo]') !== false) {
$Text = preg_replace_callback("/\[zvideo\](.*?\.(ogg|ogv|oga|ogm|webm|mp4|mpeg|mpg))\[\/zvideo\]/ism", 'tryzrlvideo', $Text);
}
if (strpos($Text,'[/zaudio]') !== false) {
- $Text = preg_replace_callback("/\[zaudio\](.*?\.(ogg|ogv|oga|ogm|webm|mp4|mp3|opus))\[\/zaudio\]/ism", 'tryzrlaudio', $Text);
+ $Text = preg_replace_callback("/\[zaudio\](.*?\.(ogg|ogv|oga|ogm|webm|mp4|mp3|opus|m4a))\[\/zaudio\]/ism", 'tryzrlaudio', $Text);
}
// Try to Oembed
diff --git a/include/channel.php b/include/channel.php
index bfd300a0d..c86cea6f1 100644
--- a/include/channel.php
+++ b/include/channel.php
@@ -297,7 +297,7 @@ function create_identity($arr) {
dbesc($guid),
dbesc($sig),
dbesc($hash),
- dbesc($ret['channel']['channel_address'] . '@' . App::get_hostname()),
+ dbesc(channel_reddress($ret['channel'])),
intval($primary),
dbesc(z_root()),
dbesc(base64url_encode(rsa_sign(z_root(),$ret['channel']['channel_prvkey']))),
@@ -319,7 +319,7 @@ function create_identity($arr) {
dbesc(z_root() . "/photo/profile/l/{$newuid}"),
dbesc(z_root() . "/photo/profile/m/{$newuid}"),
dbesc(z_root() . "/photo/profile/s/{$newuid}"),
- dbesc($ret['channel']['channel_address'] . '@' . App::get_hostname()),
+ dbesc(channel_reddress($ret['channel'])),
dbesc(z_root() . '/channel/' . $ret['channel']['channel_address']),
dbesc(z_root() . '/follow?f=&url=%s'),
dbesc(z_root() . '/poco/' . $ret['channel']['channel_address']),
@@ -918,7 +918,7 @@ function profile_load($nickname, $profile = '') {
App::$profile = $p[0];
App::$profile_uid = $p[0]['profile_uid'];
- App::$page['title'] = App::$profile['channel_name'] . " - " . App::$profile['channel_address'] . "@" . App::get_hostname();
+ App::$page['title'] = App::$profile['channel_name'] . " - " . channel_reddress(App::$profile);
App::$profile['permission_to_view'] = $can_view_profile;
@@ -936,7 +936,7 @@ function profile_load($nickname, $profile = '') {
* load/reload current theme info
*/
- $_SESSION['theme'] = $p[0]['channel_theme'];
+// $_SESSION['theme'] = $p[0]['channel_theme'];
}
@@ -1033,7 +1033,7 @@ function profile_sidebar($profile, $block = 0, $show_connect = true, $zcard = fa
$connect_url = rconnect_url($profile['uid'],get_observer_hash());
$connect = (($connect_url) ? t('Connect') : '');
if($connect_url)
- $connect_url = sprintf($connect_url,urlencode($profile['channel_address'] . '@' . App::get_hostname()));
+ $connect_url = sprintf($connect_url,urlencode(channel_reddress($profile)));
// premium channel - over-ride
@@ -1103,8 +1103,8 @@ function profile_sidebar($profile, $block = 0, $show_connect = true, $zcard = fa
require_once('include/widgets.php');
- if(! feature_enabled($profile['uid'],'hide_rating'))
- $z = widget_rating(array('target' => $profile['channel_hash']));
+// if(! feature_enabled($profile['uid'],'hide_rating'))
+ $z = widget_rating(array('target' => $profile['channel_hash']));
$o .= replace_macros($tpl, array(
'$zcard' => $zcard,
@@ -1212,7 +1212,7 @@ function advanced_profile(&$a) {
if(App::$profile['partner'])
$profile['marital']['partner'] = bbcode(App::$profile['partner']);
- if(strlen(App::$profile['howlong']) && App::$profile['howlong'] !== NULL_DATE) {
+ if(strlen(App::$profile['howlong']) && App::$profile['howlong'] > NULL_DATE) {
$profile['howlong'] = relative_date(App::$profile['howlong'], t('for %1$d %2$s'));
}
@@ -1381,6 +1381,11 @@ function zid($s,$address = '') {
if (! strlen($s) || strpos($s,'zid='))
return $s;
+ $m = parse_url($s);
+ $fragment = ((array_key_exists('fragment',$m) && $m['fragment']) ? $m['fragment'] : false);
+ if($fragment !== false)
+ $s = str_replace('#' . $fragment,'',$s);
+
$has_params = ((strpos($s,'?')) ? true : false);
$num_slashes = substr_count($s, '/');
if (! $has_params)
@@ -1401,6 +1406,11 @@ function zid($s,$address = '') {
else
$zurl = $s;
+ // put fragment at the end
+
+ if($fragment)
+ $zurl .= '#' . $fragment;
+
$arr = array('url' => $s, 'zid' => urlencode($myaddr), 'result' => $zurl);
call_hooks('zid', $arr);
@@ -1769,7 +1779,7 @@ function get_zcard($channel,$observer_hash = '',$args = array()) {
// $translate = intval(($scale / 1.0) * 100);
- $channel['channel_addr'] = $channel['channel_address'] . '@' . App::get_hostname();
+ $channel['channel_addr'] = channel_reddress($channel);
$zcard = array('chan' => $channel);
$r = q("select height, width, resource_id, imgscale, mimetype from photo where uid = %d and imgscale = %d and photo_usage = %d",
@@ -1831,7 +1841,7 @@ function get_zcard_embed($channel,$observer_hash = '',$args = array()) {
$pphoto = array('mimetype' => $channel['xchan_photo_mimetype'], 'width' => 300 , 'height' => 300, 'href' => $channel['xchan_photo_l']);
}
- $channel['channel_addr'] = $channel['channel_address'] . '@' . App::get_hostname();
+ $channel['channel_addr'] = channel_reddress($channel);
$zcard = array('chan' => $channel);
$r = q("select height, width, resource_id, imgscale, mimetype from photo where uid = %d and imgscale = %d and photo_usage = %d",
@@ -1884,3 +1894,8 @@ function channelx_by_n($id) {
return(($r) ? $r[0] : false);
}
+function channel_reddress($channel) {
+ if(! ($channel && array_key_exists('channel_address',$channel)))
+ return '';
+ return strtolower($channel['channel_address'] . '@' . App::get_hostname());
+} \ No newline at end of file
diff --git a/include/connections.php b/include/connections.php
index 4f685388c..017117dda 100644
--- a/include/connections.php
+++ b/include/connections.php
@@ -608,7 +608,7 @@ function random_profile() {
for($i = 0; $i < $retryrandom; $i++) {
- $r = q("select xchan_url from xchan left join hubloc on hubloc_hash = xchan_hash where xchan_addr not like '%s' and hubloc_connected > %s - interval %s order by $randfunc limit 1",
+ $r = q("select xchan_url from xchan left join hubloc on hubloc_hash = xchan_hash where xchan_addr not like '%s' and xchan_hidden = 0 and hubloc_connected > %s - interval %s order by $randfunc limit 1",
dbesc('sys@%'),
db_utcnow(), db_quoteinterval('30 day')
);
diff --git a/include/contact_widgets.php b/include/contact_widgets.php
index 85c46b0d1..8f76bb4bc 100644
--- a/include/contact_widgets.php
+++ b/include/contact_widgets.php
@@ -13,7 +13,7 @@ function findpeople_widget() {
}
}
- $advanced_search = ((local_channel() && get_pconfig(local_channel(),'feature','expert')) ? t('Advanced') : false);
+ $advanced_search = ((local_channel() && feature_enabled(local_channel(),'advanced_dirsearch')) ? t('Advanced') : false);
return replace_macros(get_markup_template('peoplefind.tpl'),array(
'$findpeople' => t('Find Channels'),
diff --git a/include/conversation.php b/include/conversation.php
index b53498d20..287dd4983 100644
--- a/include/conversation.php
+++ b/include/conversation.php
@@ -712,10 +712,8 @@ function conversation(&$a, $items, $mode, $update, $page_mode = 'traditional', $
'forged' => $forged,
'txt_cats' => t('Categories:'),
'txt_folders' => t('Filed under:'),
- 'has_cats' => ((count($categories)) ? 'true' : ''),
- 'has_folders' => ((count($folders)) ? 'true' : ''),
- 'categories' => $categories,
- 'folders' => $folders,
+ 'has_cats' => ((count($body['categories'])) ? 'true' : ''),
+ 'has_folders' => ((count($body['folders'])) ? 'true' : ''),
'text' => strip_tags($body['html']),
'ago' => relative_date($item['created']),
'app' => $item['app'],
@@ -723,7 +721,7 @@ function conversation(&$a, $items, $mode, $update, $page_mode = 'traditional', $
'isotime' => datetime_convert('UTC', date_default_timezone_get(), $item['created'], 'c'),
'localtime' => datetime_convert('UTC', date_default_timezone_get(), $item['created'], 'r'),
'editedtime' => (($item['edited'] != $item['created']) ? sprintf( t('last edited: %s'), datetime_convert('UTC', date_default_timezone_get(), $item['edited'], 'r')) : ''),
- 'expiretime' => (($item['expires'] !== NULL_DATE) ? sprintf( t('Expires: %s'), datetime_convert('UTC', date_default_timezone_get(), $item['expires'], 'r')):''),
+ 'expiretime' => (($item['expires'] > NULL_DATE) ? sprintf( t('Expires: %s'), datetime_convert('UTC', date_default_timezone_get(), $item['expires'], 'r')):''),
'location' => $location,
'indent' => '',
'owner_name' => $owner_name,
@@ -941,12 +939,9 @@ function item_photo_menu($item){
$clean_url = normalise_link($item['author-link']);
}
- $poco_rating = get_config('system','poco_rating_enable');
- // if unset default to enabled
- if($poco_rating === false)
- $poco_rating = true;
+ $rating_enabled = get_config('system','rating_enabled');
- $ratings_url = (($poco_rating) ? z_root() . '/ratings/' . urlencode($item['author_xchan']) : '');
+ $ratings_url = (($rating_enabled) ? z_root() . '/ratings/' . urlencode($item['author_xchan']) : '');
$post_menu = Array(
t("View Source") => $vsrc_link,
@@ -1056,6 +1051,9 @@ function builtin_activity_puller($item, &$conv_responses) {
$conv_responses[$mode][$item['thr_parent']] ++;
$conv_responses[$mode][$item['thr_parent'] . '-l'][] = $url;
+ if(get_observer_hash() && get_observer_hash() === $item['author_xchan']) {
+ $conv_responses[$mode][$item['thr_parent'] . '-m'] = true;
+ }
// there can only be one activity verb per item so if we found anything, we can stop looking
return;
@@ -1121,6 +1119,10 @@ function status_editor($a, $x, $popup = false) {
$feature_voting = feature_enabled($x['profile_uid'], 'consensus_tools');
if(x($x, 'hide_voting'))
$feature_voting = false;
+
+ $feature_nocomment = feature_enabled($x['profile_uid'], 'disable_comments');
+ if(x($x, 'disable_comments'))
+ $feature_nocomment = false;
$feature_expire = ((feature_enabled($x['profile_uid'], 'content_expire') && (! $webpage)) ? true : false);
if(x($x, 'hide_expire'))
@@ -1190,12 +1192,12 @@ function status_editor($a, $x, $popup = false) {
'$modalerrorlist' => t('Error getting album list'),
'$modalerrorlink' => t('Error getting photo link'),
'$modalerroralbum' => t('Error getting album'),
+ '$nocomment_enabled' => t('Comments enabled'),
+ '$nocomment_disabled' => t('Comments disabled'),
));
$tpl = get_markup_template('jot.tpl');
- $jotplugins = '';
-
$preview = t('Preview');
if(x($x, 'hide_preview'))
$preview = '';
@@ -1212,8 +1214,18 @@ function status_editor($a, $x, $popup = false) {
if(! $cipher)
$cipher = 'aes256';
+ // avoid illegal offset errors
+ if(! array_key_exists('permissions',$x))
+ $x['permissions'] = [ 'allow_cid' => '', 'allow_gid' => '', 'deny_cid' => '', 'deny_gid' => '' ];
+
+ $jotplugins = '';
call_hooks('jot_tool', $jotplugins);
+ $jotnets = '';
+ if(x($x,'jotnets')) {
+ call_hooks('jot_networks', $jotnets);
+ }
+
$o .= replace_macros($tpl, array(
'$return_path' => ((x($x, 'return_path')) ? $x['return_path'] : App::$query_string),
'$action' => z_root() . '/item',
@@ -1239,6 +1251,10 @@ function status_editor($a, $x, $popup = false) {
'$voting' => t('Toggle voting'),
'$feature_voting' => $feature_voting,
'$consensus' => 0,
+ '$nocommenttitle' => t('Disable comments'),
+ '$nocommenttitlesub' => t('Toggle comments'),
+ '$feature_nocomment' => $feature_nocomment,
+ '$nocomment' => 0,
'$clearloc' => $clearloc,
'$title' => ((x($x, 'title')) ? htmlspecialchars($x['title'], ENT_COMPAT,'UTF-8') : ''),
'$placeholdertitle' => ((x($x, 'placeholdertitle')) ? $x['placeholdertitle'] : t('Title (optional)')),
@@ -1266,6 +1282,8 @@ function status_editor($a, $x, $popup = false) {
'$preview' => $preview,
'$source' => ((x($x, 'source')) ? $x['source'] : ''),
'$jotplugins' => $jotplugins,
+ '$jotnets' => $jotnets,
+ '$jotnets_label' => t('Other networks and post services'),
'$defexpire' => $defexpire,
'$feature_expire' => $feature_expire,
'$expires' => t('Set expiration date'),
@@ -1608,6 +1626,8 @@ function profile_tabs($a, $is_owner = false, $nickname = null){
$uid = ((App::$profile['profile_uid']) ? App::$profile['profile_uid'] : local_channel());
+ $account_id = ((App::$profile['profile_uid']) ? App::$profile['channel_account_id'] : App::$channel['channel_account_id']);
+
if($uid == local_channel()) {
$cal_link = '';
@@ -1710,7 +1730,7 @@ function profile_tabs($a, $is_owner = false, $nickname = null){
);
}
- if(feature_enabled($uid,'wiki') && (get_config('system','server_role') !== 'basic')) {
+ if(feature_enabled($uid,'wiki') && (get_account_techlevel($account_id) > 3)) {
$tabs[] = array(
'label' => t('Wiki'),
'url' => z_root() . '/wiki/' . $nickname,
diff --git a/include/datetime.php b/include/datetime.php
index 76bd6b8d6..cd08ab367 100644
--- a/include/datetime.php
+++ b/include/datetime.php
@@ -24,6 +24,13 @@ function timezone_cmp($a, $b) {
return ( t($a) < t($b)) ? -1 : 1;
}
+function is_null_date($s) {
+ if($s === '0000-00-00 00:00:00' || $s === '0001-01-01 00:00:00')
+ return true;
+ return false;
+}
+
+
/**
* @brief Return timezones grouped (primarily) by continent.
*
@@ -78,15 +85,20 @@ function datetime_convert($from = 'UTC', $to = 'UTC', $s = 'now', $fmt = "Y-m-d
if( ($s === '') || (! is_string($s)) )
$s = 'now';
+ if(is_null_date($s)) {
+ $d = new DateTime('0001-01-01 00:00:00', new DateTimeZone('UTC'));
+ return $d->format($fmt);
+ }
+
// Slight hackish adjustment so that 'zero' datetime actually returns what is intended
// otherwise we end up with -0001-11-30 ...
// add 32 days so that we at least get year 00, and then hack around the fact that
// months and days always start with 1.
- if(substr($s,0,10) == '0000-00-00') {
- $d = new DateTime($s . ' + 32 days', new DateTimeZone('UTC'));
- return str_replace('1', '0', $d->format($fmt));
- }
+// if(substr($s,0,10) == '0000-00-00') {
+// $d = new DateTime($s . ' + 32 days', new DateTimeZone('UTC'));
+// return str_replace('1', '0', $d->format($fmt));
+// }
try {
$from_obj = new DateTimeZone($from);
@@ -268,7 +280,7 @@ function relative_date($posted_date, $format = null) {
$abs = strtotime($localtime);
- if (is_null($posted_date) || $posted_date === NULL_DATE || $abs === false) {
+ if (is_null($posted_date) || is_null_date($posted_date) || $abs === false) {
return t('never');
}
diff --git a/include/dba/dba_driver.php b/include/dba/dba_driver.php
index 1905241a7..852dc16af 100755
--- a/include/dba/dba_driver.php
+++ b/include/dba/dba_driver.php
@@ -62,6 +62,8 @@ class DBA {
if(is_object(self::$dba) && self::$dba->connected) {
+ if($server === 'localhost')
+ $port = $set_port;
$dns = ((self::$dbtype == DBTYPE_POSTGRES) ? 'postgres' : 'mysql')
. ':host=' . $server . (is_null($port) ? '' : ';port=' . $port)
. ';dbname=' . $db;
@@ -84,7 +86,7 @@ class DBA {
abstract class dba_driver {
// legacy behavior
const INSTALL_SCRIPT='install/schema_mysql.sql';
- const NULL_DATE = '0000-00-00 00:00:00';
+ const NULL_DATE = '0001-01-01 00:00:00';
const UTC_NOW = 'UTC_TIMESTAMP()';
protected $db;
@@ -260,11 +262,8 @@ function dbg($state) {
*/
function dbesc($str) {
- if(ACTIVE_DBTYPE == DBTYPE_POSTGRES && $str === '0000-00-00 00:00:00') {
+ if(is_null_date($str))
$str = NULL_DATE;
- } else if(ACTIVE_DBTYPE != DBTYPE_POSTGRES && $str === '0001-01-01 00:00:00') {
- $str = NULL_DATE;
- }
if(\DBA::$dba && \DBA::$dba->connected)
return(\DBA::$dba->escape($str));
@@ -280,12 +279,9 @@ function dbunescbin($str) {
}
function dbescdate($date) {
- if(ACTIVE_DBTYPE == DBTYPE_POSTGRES && $date === '0000-00-00 00:00:00') {
- $date = NULL_DATE;
- } else if(ACTIVE_DBTYPE != DBTYPE_POSTGRES && $date === '0001-01-01 00:00:00') {
- $date = NULL_DATE;
- }
- return $date;
+ if(is_null_date($date))
+ return \DBA::$dba->escape(NULL_DATE);
+ return \DBA::$dba->escape($date);
}
function db_quoteinterval($txt) {
@@ -380,11 +376,8 @@ function dbq($sql) {
function dbesc_array_cb(&$item, $key) {
if(is_string($item)) {
- if($item == '0000-00-00 00:00:00' && ACTIVE_DBTYPE == DBTYPE_POSTGRES)
- $item = '0001-01-01 00:00:00';
- else if($item == '0001-01-01 00:00:00' && ACTIVE_DBTYPE == DBTYPE_MYSQL)
- $item = '0000-00-00 00:00:00';
-
+ if(is_null_date($item))
+ $item = NULL_DATE;
$item = dbesc($item);
}
}
@@ -439,4 +432,4 @@ function db_logger($s,$level = LOGGER_NORMAL,$syslog = LOG_INFO) {
logger($s,$level,$syslog);
\DBA::$logging = false;
\DBA::$dba->debug = $saved;
-} \ No newline at end of file
+}
diff --git a/include/dir_fns.php b/include/dir_fns.php
index 9f1be1a42..03cc2706a 100644
--- a/include/dir_fns.php
+++ b/include/dir_fns.php
@@ -227,7 +227,7 @@ function sync_directories($dirmode) {
$token = get_config('system','realm_token');
- $syncdate = (($rr['site_sync'] === NULL_DATE) ? datetime_convert('UTC','UTC','now - 2 days') : $rr['site_sync']);
+ $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'])
@@ -423,7 +423,7 @@ function local_dir_update($uid, $force) {
$arr = array('channel_id' => $uid, 'hash' => $hash, 'profile' => $profile);
call_hooks('local_dir_update', $arr);
- $address = $p[0]['channel_address'] . '@' . App::get_hostname();
+ $address = channel_reddress($p[0]);
if (perm_is_allowed($uid, '', 'view_profile')) {
import_directory_profile($hash, $arr['profile'], $address, 0);
@@ -439,5 +439,5 @@ function local_dir_update($uid, $force) {
}
$ud_hash = random_string() . '@' . App::get_hostname();
- update_modtime($hash, $ud_hash, $p[0]['channel_address'] . '@' . App::get_hostname(),(($force) ? UPDATE_FLAGS_FORCED : UPDATE_FLAGS_UPDATED));
+ update_modtime($hash, $ud_hash, channel_reddress($p[0]),(($force) ? UPDATE_FLAGS_FORCED : UPDATE_FLAGS_UPDATED));
}
diff --git a/include/event.php b/include/event.php
index 3d650cd14..153654120 100644
--- a/include/event.php
+++ b/include/event.php
@@ -343,6 +343,13 @@ function event_store_event($arr) {
}
}
+ $hook_info = [ 'event' => $arr, 'existing_event' => $existing_event, 'cancel' => false ];
+ call_hooks('event_store_event',$hook_info);
+ if($hook_info['cancel'])
+ return false;
+
+ $arr = $hook_info['event'];
+ $existing_event = $hook_info['existing_event'];
if($existing_event) {
@@ -371,6 +378,7 @@ function event_store_event($arr) {
`event_repeat` = '%s',
`event_sequence` = %d,
`event_priority` = %d,
+ `event_vdata` = '%s',
`allow_cid` = '%s',
`allow_gid` = '%s',
`deny_cid` = '%s',
@@ -392,6 +400,7 @@ function event_store_event($arr) {
dbesc($arr['event_repeat']),
intval($arr['event_sequence']),
intval($arr['event_priority']),
+ dbesc($arr['event_vdata']),
dbesc($arr['allow_cid']),
dbesc($arr['allow_gid']),
dbesc($arr['deny_cid']),
@@ -412,8 +421,8 @@ function event_store_event($arr) {
$hash = random_string() . '@' . App::get_hostname();
$r = q("INSERT INTO event ( uid,aid,event_xchan,event_hash,created,edited,dtstart,dtend,summary,description,location,etype,
- adjust,nofinish, event_status, event_status_date, event_percent, event_repeat, event_sequence, event_priority, allow_cid,allow_gid,deny_cid,deny_gid)
- VALUES ( %d, %d, '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', %d, %d, '%s', '%s', %d, '%s', %d, %d, '%s', '%s', '%s', '%s' ) ",
+ adjust,nofinish, event_status, event_status_date, event_percent, event_repeat, event_sequence, event_priority, event_vdata, allow_cid,allow_gid,deny_cid,deny_gid)
+ VALUES ( %d, %d, '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', %d, %d, '%s', '%s', %d, '%s', %d, %d, '%s', '%s', '%s', '%s', '%s' ) ",
intval($arr['uid']),
intval($arr['account']),
dbesc($arr['event_xchan']),
@@ -434,6 +443,7 @@ function event_store_event($arr) {
dbesc($arr['event_repeat']),
intval($arr['event_sequence']),
intval($arr['event_priority']),
+ dbesc($arr['event_vdata']),
dbesc($arr['allow_cid']),
dbesc($arr['allow_gid']),
dbesc($arr['deny_cid']),
diff --git a/include/features.php b/include/features.php
index 041c028c6..1ccdbf015 100644
--- a/include/features.php
+++ b/include/features.php
@@ -36,96 +36,419 @@ function get_feature_default($feature) {
}
+function feature_level($feature,$def) {
+ $x = get_config('feature_level',$feature);
+ if($x !== false)
+ return intval($x);
+ return $def;
+}
+
function get_features($filtered = true) {
- $server_role = get_config('system','server_role');
+ $server_role = \Zotlabs\Lib\System::get_server_role();
if($server_role === 'basic' && $filtered)
return array();
- $arr = array(
+ $arr = [
// General
- 'general' => array(
+ 'general' => [
+
t('General Features'),
- // This is per post, and different from fixed expiration 'expire' which isn't working yet
- array('content_expire', t('Content Expiration'), t('Remove posts/comments and/or private messages at a future time'), false, get_config('feature_lock','content_expire')),
- array('multi_profiles', t('Multiple Profiles'), t('Ability to create multiple profiles'), false, get_config('feature_lock','multi_profiles')),
- array('advanced_profiles', t('Advanced Profiles'), t('Additional profile sections and selections'),false,get_config('feature_lock','advanced_profiles')),
- array('profile_export', t('Profile Import/Export'), t('Save and load profile details across sites/channels'),false,get_config('feature_lock','profile_export')),
- array('webpages', t('Web Pages'), t('Provide managed web pages on your channel'),false,get_config('feature_lock','webpages')),
- array('wiki', t('Wiki'), t('Provide a wiki for your channel'),(($server_role === 'basic') ? false : true),get_config('feature_lock','wiki')),
- array('hide_rating', t('Hide Rating'), t('Hide the rating buttons on your channel and profile pages. Note: People can still rate you somewhere else.'),false,get_config('feature_lock','hide_rating')),
- array('private_notes', t('Private Notes'), t('Enables a tool to store notes and reminders (note: not encrypted)'),false,get_config('feature_lock','private_notes')),
- array('nav_channel_select', t('Navigation Channel Select'), t('Change channels directly from within the navigation dropdown menu'),false,get_config('feature_lock','nav_channel_select')),
- array('photo_location', t('Photo Location'), t('If location data is available on uploaded photos, link this to a map.'),false,get_config('feature_lock','photo_location')),
- array('ajaxchat', t('Access Controlled Chatrooms'), t('Provide chatrooms and chat services with access control.'),true,get_config('feature_lock','ajaxchat')),
- array('smart_birthdays', t('Smart Birthdays'), t('Make birthday events timezone aware in case your friends are scattered across the planet.'),true,get_config('feature_lock','smart_birthdays')),
- array('expert', t('Expert Mode'), t('Enable Expert Mode to provide advanced configuration options'),false,get_config('feature_lock','expert')),
- array('premium_channel', t('Premium Channel'), t('Allows you to set restrictions and terms on those that connect with your channel'),false,get_config('feature_lock','premium_channel')),
- ),
+
+
+ [
+ 'multi_profiles',
+ t('Multiple Profiles'),
+ t('Ability to create multiple profiles'),
+ false,
+ get_config('feature_lock','multi_profiles'),
+ feature_level('multi_profiles',3),
+ ],
+
+ [
+ 'advanced_profiles',
+ t('Advanced Profiles'),
+ t('Additional profile sections and selections'),
+ false,
+ get_config('feature_lock','advanced_profiles'),
+ feature_level('advanced_profiles',1),
+ ],
+
+ [
+ 'profile_export',
+ t('Profile Import/Export'),
+ t('Save and load profile details across sites/channels'),
+ false,
+ get_config('feature_lock','profile_export'),
+ feature_level('profile_export',3),
+ ],
+
+ [
+ 'webpages',
+ t('Web Pages'),
+ t('Provide managed web pages on your channel'),
+ false,
+ get_config('feature_lock','webpages'),
+ feature_level('webpages',3),
+ ],
+
+ [
+ 'wiki',
+ t('Wiki'),
+ t('Provide a wiki for your channel'),
+ false,
+ get_config('feature_lock','wiki'),
+ feature_level('wiki',2),
+ ],
+/*
+ [
+ 'hide_rating',
+ t('Hide Rating'),
+ t('Hide the rating buttons on your channel and profile pages. Note: People can still rate you somewhere else.'),
+ false,
+ get_config('feature_lock','hide_rating'),
+ feature_level('hide_rating',3),
+ ],
+*/
+ [
+ 'private_notes',
+ t('Private Notes'),
+ t('Enables a tool to store notes and reminders (note: not encrypted)'),
+ false,
+ get_config('feature_lock','private_notes'),
+ feature_level('private_notes',1),
+ ],
+
+ [
+ 'nav_channel_select',
+ t('Navigation Channel Select'),
+ t('Change channels directly from within the navigation dropdown menu'),
+ false,
+ get_config('feature_lock','nav_channel_select'),
+ feature_level('nav_channel_select',3),
+ ],
+
+ [
+ 'photo_location',
+ t('Photo Location'),
+ t('If location data is available on uploaded photos, link this to a map.'),
+ false,
+ get_config('feature_lock','photo_location'),
+ feature_level('photo_location',2),
+ ],
+
+ [
+ 'ajaxchat',
+ t('Access Controlled Chatrooms'),
+ t('Provide chatrooms and chat services with access control.'),
+ true,
+ get_config('feature_lock','ajaxchat'),
+ feature_level('ajaxchat',1),
+ ],
+
+ [
+ 'smart_birthdays',
+ t('Smart Birthdays'),
+ t('Make birthday events timezone aware in case your friends are scattered across the planet.'),
+ true,
+ get_config('feature_lock','smart_birthdays'),
+ feature_level('smart_birthdays',2),
+ ],
+
+ [
+ 'advanced_dirsearch',
+ t('Advanced Directory Search'),
+ t('Allows creation of complex directory search queries'),
+ false,
+ get_config('feature_lock','advanced_dirsearch'),
+ feature_level('advanced_dirsearch',4),
+ ],
+
+ [
+ 'advanced_theming',
+ t('Advanced Theme and Layout Settings'),
+ t('Allows fine tuning of themes and page layouts'),
+ false,
+ get_config('feature_lock','advanced_theming'),
+ feature_level('advanced_theming',4),
+ ],
+ ],
// Post composition
- 'composition' => array(
+ 'composition' => [
+
t('Post Composition Features'),
-// array('richtext', t('Richtext Editor'), t('Enable richtext editor'),falseget_config('feature_lock','richtext')),
-// array('markdown', t('Use Markdown'), t('Allow use of "Markdown" to format posts'),false,get_config('feature_lock','markdown')),
- array('large_photos', t('Large Photos'), t('Include large (1024px) photo thumbnails in posts. If not enabled, use small (640px) photo thumbnails'),false,get_config('feature_lock','large_photos')),
- array('channel_sources', t('Channel Sources'), t('Automatically import channel content from other channels or feeds'),false,get_config('feature_lock','channel_sources')),
- array('content_encrypt', t('Even More Encryption'), t('Allow optional encryption of content end-to-end with a shared secret key'),false,get_config('feature_lock','content_encrypt')),
- array('consensus_tools', t('Enable Voting Tools'), t('Provide a class of post which others can vote on'),false,get_config('feature_lock','consensus_tools')),
- array('delayed_posting', t('Delayed Posting'), t('Allow posts to be published at a later date'),false,get_config('feature_lock','delayed_posting')),
- array('suppress_duplicates', t('Suppress Duplicate Posts/Comments'), t('Prevent posts with identical content to be published with less than two minutes in between submissions.'),true,get_config('feature_lock','suppress_duplicates')),
- ),
+ [
+ 'large_photos',
+ t('Large Photos'),
+ t('Include large (1024px) photo thumbnails in posts. If not enabled, use small (640px) photo thumbnails'),
+ false,
+ get_config('feature_lock','large_photos'),
+ feature_level('large_photos',1),
+ ],
+
+ [
+ 'channel_sources',
+ t('Channel Sources'),
+ t('Automatically import channel content from other channels or feeds'),
+ false,
+ get_config('feature_lock','channel_sources'),
+ feature_level('channel_sources',3),
+ ],
+
+ [
+ 'content_encrypt',
+ t('Even More Encryption'),
+ t('Allow optional encryption of content end-to-end with a shared secret key'),
+ false,
+ get_config('feature_lock','content_encrypt'),
+ feature_level('content_encrypt',3),
+ ],
+
+ [
+ 'consensus_tools',
+ t('Enable Voting Tools'),
+ t('Provide a class of post which others can vote on'),
+ false,
+ get_config('feature_lock','consensus_tools'),
+ feature_level('consensus_tools',3),
+ ],
+
+ [
+ 'disable_comments',
+ t('Disable Comments'),
+ t('Provide the option to disable comments for a post'),
+ false,
+ get_config('feature_lock','disable_comments'),
+ feature_level('disable_comments',2),
+ ],
+
+ [
+ 'delayed_posting',
+ t('Delayed Posting'),
+ t('Allow posts to be published at a later date'),
+ false,
+ get_config('feature_lock','delayed_posting'),
+ feature_level('delayed_posting',2),
+ ],
+
+ [
+ 'content_expire',
+ t('Content Expiration'),
+ t('Remove posts/comments and/or private messages at a future time'),
+ false,
+ get_config('feature_lock','content_expire'),
+ feature_level('content_expire',1),
+ ],
+
+ [
+ 'suppress_duplicates',
+ t('Suppress Duplicate Posts/Comments'),
+ t('Prevent posts with identical content to be published with less than two minutes in between submissions.'),
+ true,
+ get_config('feature_lock','suppress_duplicates'),
+ feature_level('suppress_duplicates',1),
+ ],
+
+ ],
// Network Tools
- 'net_module' => array(
+ 'net_module' => [
+
t('Network and Stream Filtering'),
- array('archives', t('Search by Date'), t('Ability to select posts by date ranges'),false,get_config('feature_lock','archives')),
- array('groups', t('Privacy Groups'), t('Enable management and selection of privacy groups'),true,get_config('feature_lock','groups')),
- array('savedsearch', t('Saved Searches'), t('Save search terms for re-use'),false,get_config('feature_lock','savedsearch')),
- array('personal_tab', t('Network Personal Tab'), t('Enable tab to display only Network posts that you\'ve interacted on'),false,get_config('feature_lock','personal_tab')),
- array('new_tab', t('Network New Tab'), t('Enable tab to display all new Network activity'),false,get_config('feature_lock','new_tab')),
- array('affinity', t('Affinity Tool'), t('Filter stream activity by depth of relationships'),false,get_config('feature_lock','affinity')),
- array('connfilter', t('Connection Filtering'), t('Filter incoming posts from connections based on keywords/content'),false,get_config('feature_lock','connfilter')),
- array('suggest', t('Suggest Channels'), t('Show channel suggestions'),false,get_config('feature_lock','suggest')),
- ),
+
+ [
+ 'archives',
+ t('Search by Date'),
+ t('Ability to select posts by date ranges'),
+ false,
+ get_config('feature_lock','archives'),
+ feature_level('archives',1),
+ ],
+
+ [
+ 'groups',
+ t('Privacy Groups'),
+ t('Enable management and selection of privacy groups'),
+ true,
+ get_config('feature_lock','groups'),
+ feature_level('groups',0),
+ ],
+
+ [
+ 'savedsearch',
+ t('Saved Searches'),
+ t('Save search terms for re-use'),
+ false,
+ get_config('feature_lock','savedsearch'),
+ feature_level('savedsearch',2),
+ ],
+
+ [
+ 'personal_tab',
+ t('Network Personal Tab'),
+ t('Enable tab to display only Network posts that you\'ve interacted on'),
+ false,
+ get_config('feature_lock','personal_tab'),
+ feature_level('personal_tab',1),
+ ],
+
+ [
+ 'new_tab',
+ t('Network New Tab'),
+ t('Enable tab to display all new Network activity'),
+ false,
+ get_config('feature_lock','new_tab'),
+ feature_level('new_tab',2),
+ ],
+
+ [
+ 'affinity',
+ t('Affinity Tool'),
+ t('Filter stream activity by depth of relationships'),
+ false,
+ get_config('feature_lock','affinity'),
+ feature_level('affinity',1),
+ ],
+
+ [
+ 'suggest',
+ t('Suggest Channels'),
+ t('Show friend and connection suggestions'),
+ false,
+ get_config('feature_lock','suggest'),
+ feature_level('suggest',1),
+ ],
+
+ [
+ 'connfilter',
+ t('Connection Filtering'),
+ t('Filter incoming posts from connections based on keywords/content'),
+ false,
+ get_config('feature_lock','connfilter'),
+ feature_level('connfilter',3),
+ ],
+
+
+ ],
// Item tools
- 'tools' => array(
+ 'tools' => [
+
t('Post/Comment Tools'),
- array('commtag', t('Community Tagging'), t('Ability to tag existing posts'),false,get_config('feature_lock','commtag')),
- array('categories', t('Post Categories'), t('Add categories to your posts'),false,get_config('feature_lock','categories')),
- array('emojis', t('Emoji Reactions'), t('Add emoji reaction ability to posts'),true,get_config('feature_lock','emojis')),
- array('filing', t('Saved Folders'), t('Ability to file posts under folders'),false,get_config('feature_lock','filing')),
- array('dislike', t('Dislike Posts'), t('Ability to dislike posts/comments'),false,get_config('feature_lock','dislike')),
- array('star_posts', t('Star Posts'), t('Ability to mark special posts with a star indicator'),false,get_config('feature_lock','star_posts')),
- array('tagadelic', t('Tag Cloud'), t('Provide a personal tag cloud on your channel page'),false,get_config('feature_lock','tagedelic')),
- ),
- );
+
+ [
+ 'commtag',
+ t('Community Tagging'),
+ t('Ability to tag existing posts'),
+ false,
+ get_config('feature_lock','commtag'),
+ feature_level('commtag',1),
+ ],
+
+ [
+ 'categories',
+ t('Post Categories'),
+ t('Add categories to your posts'),
+ false,
+ get_config('feature_lock','categories'),
+ feature_level('categories',1),
+ ],
+
+ [
+ 'emojis',
+ t('Emoji Reactions'),
+ t('Add emoji reaction ability to posts'),
+ true,
+ get_config('feature_lock','emojis'),
+ feature_level('emojis',1),
+ ],
+
+ [
+ 'filing',
+ t('Saved Folders'),
+ t('Ability to file posts under folders'),
+ false,
+ get_config('feature_lock','filing'),
+ feature_level('filing',2),
+ ],
+
+ [
+ 'dislike',
+ t('Dislike Posts'),
+ t('Ability to dislike posts/comments'),
+ false,
+ get_config('feature_lock','dislike'),
+ feature_level('dislike',1),
+ ],
+
+ [
+ 'star_posts',
+ t('Star Posts'),
+ t('Ability to mark special posts with a star indicator'),
+ false,
+ get_config('feature_lock','star_posts'),
+ feature_level('star_posts',1),
+ ],
+
+ [
+ 'tagadelic',
+ t('Tag Cloud'),
+ t('Provide a personal tag cloud on your channel page'),
+ false,
+ get_config('feature_lock','tagadelic'),
+ feature_level('tagadelic',2),
+ ],
+ ],
+ ];
+
+
+ if($server_role === 'pro') {
+ $arr['general'][] = [
+ 'premium_channel',
+ t('Premium Channel'),
+ t('Allows you to set restrictions and terms on those that connect with your channel'),
+ false,
+ get_config('feature_lock','premium_channel'),
+ feature_level('premium_channel',4),
+ ];
+ }
+
+ $techlevel = get_account_techlevel();
// removed any locked features and remove the entire category if this makes it empty
if($filtered) {
+ $narr = [];
foreach($arr as $k => $x) {
+ $narr[$k] = [ $arr[$k][0] ];
$has_items = false;
- for($y = 0; $y < count($arr[$k]); $y ++) {
+ for($y = 0; $y < count($arr[$k]); $y ++) {
+ $disabled = false;
if(is_array($arr[$k][$y])) {
- if($arr[$k][$y][4] === false) {
- $has_items = true;
+ if($arr[$k][$y][5] > $techlevel) {
+ $disabled = true;
+ }
+ if($arr[$k][$y][4] !== false) {
+ $disabled = true;
}
- else {
- unset($arr[$k][$y]);
+ if(! $disabled) {
+ $has_items = true;
+ $narr[$k][$y] = $arr[$k][$y];
}
}
}
if(! $has_items) {
- unset($arr[$k]);
+ unset($narr[$k]);
}
}
}
-
- call_hooks('get_features',$arr);
- return $arr;
+ else {
+ $narr = $arr;
+ }
+ call_hooks('get_features',$narr);
+ return $narr;
}
diff --git a/include/feedutils.php b/include/feedutils.php
index 01ec0687e..1d58ec317 100644
--- a/include/feedutils.php
+++ b/include/feedutils.php
@@ -33,7 +33,7 @@ function get_public_feed($channel, $params) {
// put a sane lower limit on feed requests if not specified
-// if($params['begin'] === NULL_DATE)
+// if($params['begin'] <= NULL_DATE)
// $params['begin'] = datetime_convert('UTC','UTC','now - 1 month');
switch($params['type']) {
@@ -884,7 +884,7 @@ function consume_feed($xml, $importer, &$contact, $pass = 0) {
$datarray['owner_xchan'] = $contact['xchan_hash'];
- if(array_key_exists('created',$datarray) && $datarray['created'] != NULL_DATE && $expire_days) {
+ if(array_key_exists('created',$datarray) && $datarray['created'] > NULL_DATE && $expire_days) {
$t1 = $datarray['created'];
$t2 = datetime_convert('UTC','UTC','now - ' . $expire_days . 'days');
if($t1 < $t2) {
diff --git a/include/help.php b/include/help.php
index 7f57f3334..3081ae41f 100644
--- a/include/help.php
+++ b/include/help.php
@@ -1,5 +1,107 @@
<?php
+function get_help_content($tocpath = false) {
+
+ global $lang;
+
+ $doctype = 'markdown';
+
+ $text = '';
+
+ $path = (($tocpath !== false) ? $tocpath : '');
+
+ if($tocpath === false && argc() > 1) {
+ $path = '';
+ for($x = 1; $x < argc(); $x ++) {
+ if(strlen($path))
+ $path .= '/';
+ $path .= argv($x);
+ }
+ }
+
+ if($path) {
+ $title = basename($path);
+ if(! $tocpath)
+ \App::$page['title'] = t('Help:') . ' ' . ucwords(str_replace('-',' ',notags($title)));
+
+ $text = load_doc_file('doc/' . $path . '.md');
+
+ if(! $text) {
+ $text = load_doc_file('doc/' . $path . '.bb');
+ if($text)
+ $doctype = 'bbcode';
+ }
+ if(! $text) {
+ $text = load_doc_file('doc/' . $path . '.html');
+ if($text)
+ $doctype = 'html';
+ }
+ }
+
+ if(($tocpath) && (! $text))
+ return '';
+
+ if($tocpath === false) {
+ if(! $text) {
+ $text = load_doc_file('doc/Site.md');
+ \App::$page['title'] = t('Help');
+ }
+ if(! $text) {
+ $doctype = 'bbcode';
+ $text = load_doc_file('doc/main.bb');
+ \App::$page['title'] = t('Help');
+ }
+
+ if(! $text) {
+ header($_SERVER["SERVER_PROTOCOL"] . ' 404 ' . t('Not Found'));
+ $tpl = get_markup_template("404.tpl");
+ return replace_macros($tpl, array(
+ '$message' => t('Page not found.' )
+ ));
+ }
+ }
+
+ if($doctype === 'html')
+ $content = $text;
+ if($doctype === 'markdown') {
+ require_once('library/markdown.php');
+ # escape #include tags
+ $text = preg_replace('/#include/ism', '%%include', $text);
+ $content = Markdown($text);
+ $content = preg_replace('/%%include/ism', '#include', $content);
+ }
+ if($doctype === 'bbcode') {
+ require_once('include/bbcode.php');
+ $content = bbcode($text);
+ // bbcode retargets external content to new windows. This content is internal.
+ $content = str_replace(' target="_blank"','',$content);
+ }
+
+ $content = preg_replace_callback("/#include (.*?)\;/ism", 'preg_callback_help_include', $content);
+ return translate_projectname($content);
+
+}
+
+function preg_callback_help_include($matches) {
+
+ if($matches[1]) {
+ $include = str_replace($matches[0],load_doc_file($matches[1]),$matches[0]);
+ if(preg_match('/\.bb$/', $matches[1]) || preg_match('/\.txt$/', $matches[1])) {
+ require_once('include/bbcode.php');
+ $include = bbcode($include);
+ $include = str_replace(' target="_blank"','',$include);
+ }
+ elseif(preg_match('/\.md$/', $matches[1])) {
+ require_once('library/markdown.php');
+ $include = Markdown($include);
+ }
+ return $include;
+ }
+
+}
+
+
+
function load_doc_file($s) {
$lang = \App::$language;
if(! isset($lang))
@@ -17,8 +119,9 @@ function load_doc_file($s) {
}
function find_doc_file($s) {
- if(file_exists($s))
+ if(file_exists($s)) {
return file_get_contents($s);
+ }
return '';
}
@@ -40,8 +143,13 @@ function search_doc_files($s) {
$r = fetch_post_tags($r,true);
for($x = 0; $x < count($r); $x ++) {
-
- $r[$x]['text'] = $r[$x]['body'];
+ $position = stripos($r[$x]['body'], $s);
+ $dislen = 300;
+ $start = $position-floor($dislen/2);
+ if ( $start < 0) {
+ $start = 0;
+ }
+ $r[$x]['text'] = substr($r[$x]['body'], $start, $dislen);
$r[$x]['rank'] = 0;
if($r[$x]['term']) {
diff --git a/include/html2bbcode.php b/include/html2bbcode.php
index 9ffc85a82..29880a627 100644
--- a/include/html2bbcode.php
+++ b/include/html2bbcode.php
@@ -2,7 +2,7 @@
/*
html2bbcode.php
Converter for HTML to BBCode
-Made by: ike@piratenpartei.de
+Made by: Mike@piratenpartei.de
Originally made for the syncom project: http://wiki.piratenpartei.de/Syncom
https://github.com/annando/Syncom
*/
diff --git a/include/import.php b/include/import.php
index 5bbed828f..479e45cc2 100644
--- a/include/import.php
+++ b/include/import.php
@@ -422,9 +422,9 @@ function sync_apps($channel,$apps) {
);
}
- if(! $app['app_created'] || $app['app_created'] === NULL_DATE)
+ if((! $app['app_created']) || ($app['app_created'] <= NULL_DATE))
$app['app_created'] = datetime_convert();
- if(! $app['app_edited'] || $app['app_edited'] === NULL_DATE)
+ if((! $app['app_edited']) || ($app['app_edited'] <= NULL_DATE))
$app['app_edited'] = datetime_convert();
$app['app_channel'] = $channel['channel_id'];
@@ -536,9 +536,9 @@ function sync_chatrooms($channel,$chatrooms) {
unset($chatroom['cr_aid']);
unset($chatroom['cr_uid']);
- if(! $chatroom['cr_created'] || $chatroom['cr_created'] === NULL_DATE)
+ if((! $chatroom['cr_created']) || ($chatroom['cr_created'] <= NULL_DATE))
$chatroom['cr_created'] = datetime_convert();
- if(! $chatroom['cr_edited'] || $chatroom['cr_edited'] === NULL_DATE)
+ if((! $chatroom['cr_edited']) || ($chatroom['cr_edited'] <= NULL_DATE))
$chatroom['cr_edited'] = datetime_convert();
$chatroom['cr_aid'] = $channel['channel_account_id'];
@@ -629,6 +629,10 @@ function import_items($channel,$items,$sync = false,$relocate = null) {
$item_result = item_store($item,$allow_code,$deliver);
}
+ fix_attached_photo_permissions($channel['channel_id'],$item['author_xchan'],$item['body'],$item['allow_cid'],$item['allow_gid'],$item['deny_cid'],$item['deny_gid']);
+
+ fix_attached_file_permissions($channel,$item['author_xchan'],$item['body'],$item['allow_cid'],$item['allow_gid'],$item['deny_cid'],$item['deny_gid']);
+
if($sync && $item['item_wall']) {
// deliver singletons if we have any
if($item_result && $item_result['success']) {
@@ -1032,7 +1036,7 @@ function sync_files($channel,$files) {
}
$attach_exists = false;
- $x = attach_by_hash($att['hash']);
+ $x = attach_by_hash($att['hash'],$channel['channel_hash']);
logger('sync_files duplicate check: attach_exists=' . $attach_exists, LOGGER_DEBUG);
logger('sync_files duplicate check: att=' . print_r($att,true), LOGGER_DEBUG);
logger('sync_files duplicate check: attach_by_hash() returned ' . print_r($x,true), LOGGER_DEBUG);
@@ -1102,8 +1106,11 @@ function sync_files($channel,$files) {
// If the hash ever contains any escapable chars this could cause
// problems. Currently it does not.
- dbesc_array($att);
+ // @TODO implement os_path
+ if(!isset($att['os_path']))
+ $att['os_path'] = '';
+ dbesc_array($att);
if($attach_exists) {
logger('sync_files attach exists: ' . print_r($att,true), LOGGER_DEBUG);
@@ -1213,6 +1220,9 @@ function sync_files($channel,$files) {
$p['content'] = base64_decode($p['content']);
+ if(!isset($p['display_path']))
+ $p['display_path'] = '';
+
$exists = q("select * from photo where resource_id = '%s' and imgscale = %d and uid = %d limit 1",
dbesc($p['resource_id']),
intval($p['imgscale']),
@@ -1308,8 +1318,12 @@ function scan_webpage_elements($path, $type, $cloud = false) {
}
$content = file_get_contents($folder . '/' . $contentfilename);
if (!$content) {
- logger('Failed to get file content for ' . $metadata['contentfile']);
- return false;
+ if(is_readable($folder . '/' . $contentfilename)) {
+ $content = '';
+ } else {
+ logger('Failed to get file content for ' . $metadata['contentfile']);
+ return false;
+ }
}
$elements[] = $metadata;
}
@@ -1391,12 +1405,12 @@ function scan_webpage_elements($path, $type, $cloud = false) {
);
$arr['mid'] = $arr['parent_mid'] = $iteminfo[0]['mid'];
$arr['created'] = $iteminfo[0]['created'];
- $arr['edited'] = (($element['edited']) ? datetime_convert('UTC', 'UTC', $element['edited']) : datetime_convert());
} else { // otherwise, generate the creation times and unique id
- $arr['created'] = (($element['created']) ? datetime_convert('UTC', 'UTC', $element['created']) : datetime_convert());
- $arr['edited'] = datetime_convert('UTC', 'UTC', '0000-00-00 00:00:00');
+ $arr['created'] = datetime_convert('UTC', 'UTC');
$arr['mid'] = $arr['parent_mid'] = item_message_id();
}
+ // Update the edited time whether or not the element already exists
+ $arr['edited'] = datetime_convert('UTC', 'UTC');
// Import the actual element content
$arr['body'] = file_get_contents($element['path']);
// The element owner is the channel importing the elements
@@ -1411,7 +1425,7 @@ function scan_webpage_elements($path, $type, $cloud = false) {
'application/x-pdl',
'application/x-php'
];
- // Blocks and pages can have any mimetype, but layouts must be text/bbcode
+ // Blocks and pages can have any of the valid mimetypes, but layouts must be text/bbcode
if((in_array($element['mimetype'], $mimetypes)) && ($type === 'page' || $type === 'block') ) {
$arr['mimetype'] = $element['mimetype'];
} else {
@@ -1420,7 +1434,7 @@ function scan_webpage_elements($path, $type, $cloud = false) {
// Verify ability to use html or php!!!
$execflag = false;
- if ($arr['mimetype'] === 'application/x-php') {
+ if ($arr['mimetype'] === 'application/x-php' || $arr['mimetype'] === 'text/html') {
$z = q("select account_id, account_roles, channel_pageflags from account "
. "left join channel on channel_account_id = account_id where channel_id = %d limit 1",
intval(local_channel())
@@ -1428,10 +1442,15 @@ function scan_webpage_elements($path, $type, $cloud = false) {
if ($z && (($z[0]['account_roles'] & ACCOUNT_ROLE_ALLOWCODE) || ($z[0]['channel_pageflags'] & PAGE_ALLOWCODE))) {
$execflag = true;
+ } else {
+ logger('Unable to import element "' . $name .'" because AllowCode permission is denied.');
+ notice( t('Unable to import element "' . $name .'" because AllowCode permission is denied.') . EOL);
+ $element['import_success'] = 0;
+ return $element;
}
}
- $z = q("select * from iconfig where v = '%s' and k = '%s' and cat = 'service' limit 1",
+ $z = q("select * from iconfig where v = '%s' and k = '%s' and cat = 'system' limit 1",
dbesc($name),
dbesc($namespace)
);
@@ -1468,3 +1487,193 @@ function scan_webpage_elements($path, $type, $cloud = false) {
return $element;
}
+
+function get_webpage_elements($channel, $type = 'all') {
+ $elements = array();
+ if(!$channel['channel_id']) {
+ return null;
+ }
+ switch ($type) {
+ case 'all':
+ // If all, execute all the pages, layouts, blocks case statements
+ case 'pages':
+ $elements['pages'] = null;
+ $owner = $channel['channel_id'];
+
+ $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
+ $sql_extra order by item.created desc",
+ intval($owner),
+ intval(ITEM_TYPE_WEBPAGE)
+ );
+
+ $pages = null;
+
+ if($r) {
+ $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');
+
+ $element_arr = array(
+ 'type' => 'webpage',
+ 'title' => $rr['title'],
+ 'body' => $rr['body'],
+ 'created' => $rr['created'],
+ 'edited' => $rr['edited'],
+ 'mimetype' => $rr['mimetype'],
+ 'pagetitle' => $rr['v'],
+ 'mid' => $rr['mid'],
+ 'layout_mid' => $rr['layout_mid']
+ );
+ $pages[$rr['iid']][] = array(
+ 'url' => $rr['iid'],
+ 'pagetitle' => $rr['v'],
+ 'title' => $rr['title'],
+ 'created' => datetime_convert('UTC',date_default_timezone_get(),$rr['created']),
+ 'edited' => datetime_convert('UTC',date_default_timezone_get(),$rr['edited']),
+ 'bb_element' => '[element]' . base64url_encode(json_encode($element_arr)) . '[/element]',
+ //'lockstate' => $lockstate
+ );
+ $elements['pages'][] = $element_arr;
+ }
+
+ }
+ if($type !== 'all') {
+ break;
+ }
+
+ case 'layouts':
+ $elements['layouts'] = null;
+ $owner = $channel['channel_id'];
+
+ $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 = 'PDL' and item_type = %d
+ $sql_extra order by item.created desc",
+ intval($owner),
+ intval(ITEM_TYPE_PDL)
+ );
+
+ $layouts = null;
+
+ if($r) {
+ $elements['layouts'] = array();
+ $layouts = array();
+ foreach($r as $rr) {
+ unobscure($rr);
+
+ $elements['layouts'][] = array(
+ 'type' => 'layout',
+ 'description' => $rr['title'], // description of the layout
+ 'body' => $rr['body'],
+ 'created' => $rr['created'],
+ 'edited' => $rr['edited'],
+ 'mimetype' => $rr['mimetype'],
+ 'name' => $rr['v'], // name of reference for the layout
+ 'mid' => $rr['mid'],
+ );
+ }
+
+ }
+
+ if($type !== 'all') {
+ break;
+ }
+
+ case 'blocks':
+ $elements['blocks'] = null;
+ $owner = $channel['channel_id'];
+
+ $sql_extra = item_permissions_sql($owner);
+
+
+ $r = q("select iconfig.iid, iconfig.k, iconfig.v, mid, title, body, mimetype, created, edited from iconfig
+ left join item on iconfig.iid = item.id
+ where uid = %d and iconfig.cat = 'system' and iconfig.k = 'BUILDBLOCK'
+ and item_type = %d order by item.created desc",
+ intval($owner),
+ intval(ITEM_TYPE_BLOCK)
+ );
+
+ $blocks = null;
+
+ if($r) {
+ $elements['blocks'] = array();
+ $blocks = array();
+ foreach($r as $rr) {
+ unobscure($rr);
+
+ $elements['blocks'][] = array(
+ 'type' => 'block',
+ 'title' => $rr['title'],
+ 'body' => $rr['body'],
+ 'created' => $rr['created'],
+ 'edited' => $rr['edited'],
+ 'mimetype' => $rr['mimetype'],
+ 'name' => $rr['v'],
+ 'mid' => $rr['mid']
+ );
+ }
+
+ }
+
+ if($type !== 'all') {
+ break;
+ }
+
+ default:
+ break;
+ }
+ return $elements;
+}
+
+/* creates a compressed zip file */
+
+function create_zip_file($files = array(), $destination = '', $overwrite = false) {
+ //if the zip file already exists and overwrite is false, return false
+ if (file_exists($destination) && !$overwrite) {
+ return false;
+ }
+ //vars
+ $valid_files = array();
+ //if files were passed in...
+ if (is_array($files)) {
+ //cycle through each file
+ foreach ($files as $file) {
+ //make sure the file exists
+ if (file_exists($file)) {
+ $valid_files[] = $file;
+ }
+ }
+ }
+
+ //if we have good files...
+ if (count($valid_files)) {
+ //create the archive
+ $zip = new ZipArchive();
+ if ($zip->open($destination, $overwrite ? ZIPARCHIVE::OVERWRITE : ZIPARCHIVE::CREATE) !== true) {
+ return false;
+ }
+ //add the files
+ foreach ($valid_files as $file) {
+ $zip->addFile($file, $file);
+ }
+ //debug
+ //echo 'The zip archive contains ',$zip->numFiles,' files with a status of ',$zip->status;
+ //close the zip -- done!
+ $zip->close();
+
+ //check to make sure the file exists
+ return file_exists($destination);
+ } else {
+ return false;
+ }
+}
diff --git a/include/items.php b/include/items.php
index 5bd0b0968..c62d53c3e 100755
--- a/include/items.php
+++ b/include/items.php
@@ -113,6 +113,26 @@ function collect_recipients($item, &$private_envelope) {
// if($policy === 'pub')
// $recipients[] = $sys['xchan_hash'];
}
+
+ // Add the authors of any posts in this thread, if they are known to us.
+ // This is specifically designed to forward wall-to-wall posts to the original author,
+ // in case they aren't a connection but have permission to write on our wall.
+ // This is important for issue tracker channels. It should be a no-op for most channels.
+ // Whether or not they will accept the delivery is not determined here, but should
+ // be taken into account by zot:process_delivery()
+
+ $r = q("select author_xchan from item where parent = %d",
+ intval($item['parent'])
+ );
+ if($r) {
+ foreach($r as $rv) {
+ if(! in_array($rv['author_xchan'],$recipients)) {
+ $recipients[] = $rv['author_xchan'];
+ }
+ }
+ }
+
+
}
// This is a somewhat expensive operation but important.
@@ -143,7 +163,7 @@ function collect_recipients($item, &$private_envelope) {
}
function comments_are_now_closed($item) {
- if($item['comments_closed'] !== NULL_DATE) {
+ if($item['comments_closed'] > NULL_DATE) {
$d = datetime_convert();
if($d > $item['comments_closed'])
return true;
@@ -214,11 +234,10 @@ function can_comment_on_post($observer_xchan, $item) {
return true;
break;
case 'public':
- // We don't allow public comments yet, until a policy
- // for dealing with anonymous comments is in place with
- // a means to moderate comments. Until that time, return
- // false.
- return false;
+ // We don't really allow or support public comments yet, but anonymous
+ // folks won't ever reach this point (as $observer_xchan will be empty).
+ // This means the viewer has an xchan and we can identify them.
+ return true;
break;
case 'any connections':
case 'contacts':
@@ -695,8 +714,9 @@ function get_item_elements($x,$allow_code = false) {
// hub and verify that they are legit - or else we're going to toss the post. We only need to do this
// once, and after that your hub knows them. Sure some info is in the post, but it's only a transit identifier
// and not enough info to be able to look you up from your hash - which is the only thing stored with the post.
-
- if(($xchan_hash = import_author_xchan($x['author'])) !== false)
+
+ $xchan_hash = import_author_xchan($x['author']);
+ if($xchan_hash)
$arr['author_xchan'] = $xchan_hash;
else
return array();
@@ -705,7 +725,8 @@ function get_item_elements($x,$allow_code = false) {
if($arr['author_xchan'] === make_xchan_hash($x['owner']['guid'],$x['owner']['guid_sig']))
$arr['owner_xchan'] = $arr['author_xchan'];
else {
- if(($xchan_hash = import_author_xchan($x['owner'])) !== false)
+ $xchan_hash = import_author_xchan($x['owner']);
+ if($xchan_hash)
$arr['owner_xchan'] = $xchan_hash;
else
return array();
@@ -1069,7 +1090,7 @@ function encode_item($item,$mirror = false) {
if($y = encode_item_flags($item))
$x['flags'] = $y;
- if($item['comments_closed'] !== NULL_DATE)
+ if($item['comments_closed'] > NULL_DATE)
$x['comments_closed'] = $item['comments_closed'];
$x['public_scope'] = $scope;
@@ -1166,7 +1187,7 @@ function encode_item_xchan($xchan) {
$ret['name'] = $xchan['xchan_name'];
$ret['address'] = $xchan['xchan_addr'];
- $ret['url'] = (($xchan['hubloc_url']) ? $xchan['hubloc_url'] : $xchan['xchan_url']);
+ $ret['url'] = $xchan['xchan_url'];
$ret['network'] = $xchan['xchan_network'];
$ret['photo'] = array('mimetype' => $xchan['xchan_photo_mimetype'], 'src' => $xchan['xchan_photo_m']);
$ret['guid'] = $xchan['xchan_guid'];
@@ -1418,7 +1439,7 @@ function get_mail_elements($x) {
$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))
+ if((! array_key_exists('expires',$x)) || ($x['expires'] <= NULL_DATE))
$arr['expires'] = NULL_DATE;
else
$arr['expires'] = datetime_convert('UTC','UTC',$x['expires']);
@@ -1569,6 +1590,9 @@ function item_store($arr, $allow_exec = false, $deliver = true) {
$arr['item_wall'] = ((x($arr,'item_wall')) ? intval($arr['item_wall']) : 0 );
$arr['item_type'] = ((x($arr,'item_type')) ? intval($arr['item_type']) : 0 );
+ // obsolete, but needed so as not to throw not-null constraints on some database driveres
+ $arr['item_flags'] = ((x($arr,'item_flags')) ? intval($arr['item_flags']) : 0 );
+
// only detect language if we have text content, and if the post is private but not yet
// obscured, make it so.
@@ -1624,9 +1648,23 @@ function item_store($arr, $allow_exec = false, $deliver = true) {
$arr['expires'] = ((x($arr,'expires') !== false) ? datetime_convert('UTC','UTC',$arr['expires']) : NULL_DATE);
$arr['commented'] = ((x($arr,'commented') !== false) ? datetime_convert('UTC','UTC',$arr['commented']) : datetime_convert());
$arr['comments_closed'] = ((x($arr,'comments_closed') !== false) ? datetime_convert('UTC','UTC',$arr['comments_closed']) : NULL_DATE);
+ $arr['html'] = ((array_key_exists('html',$arr)) ? $arr['html'] : '');
+
+ if($deliver) {
+ $arr['received'] = datetime_convert();
+ $arr['changed'] = datetime_convert();
+ }
+ else {
+
+ // When deliver flag is false, we are *probably* performing an import or bulk migration.
+ // If one updates the changed timestamp it will be made available to zotfeed and delivery
+ // will still take place through backdoor methods. Since these fields are rarely used
+ // otherwise, just preserve the original timestamp.
+
+ $arr['received'] = ((x($arr,'received') !== false) ? datetime_convert('UTC','UTC',$arr['received']) : datetime_convert());
+ $arr['changed'] = ((x($arr,'changed') !== false) ? datetime_convert('UTC','UTC',$arr['changed']) : datetime_convert());
+ }
- $arr['received'] = datetime_convert();
- $arr['changed'] = datetime_convert();
$arr['location'] = ((x($arr,'location')) ? notags(trim($arr['location'])) : '');
$arr['coord'] = ((x($arr,'coord')) ? notags(trim($arr['coord'])) : '');
$arr['parent_mid'] = ((x($arr,'parent_mid')) ? notags(trim($arr['parent_mid'])) : '');
@@ -2027,14 +2065,28 @@ function item_store_update($arr,$allow_exec = false, $deliver = true) {
$arr['edited'] = ((x($arr,'edited') !== false) ? datetime_convert('UTC','UTC',$arr['edited']) : datetime_convert());
$arr['expires'] = ((x($arr,'expires') !== false) ? datetime_convert('UTC','UTC',$arr['expires']) : $orig[0]['expires']);
- if(array_key_exists('comments_closed',$arr) && $arr['comments_closed'] != NULL_DATE)
+ if(array_key_exists('comments_closed',$arr) && $arr['comments_closed'] > NULL_DATE)
$arr['comments_closed'] = datetime_convert('UTC','UTC',$arr['comments_closed']);
else
$arr['comments_closed'] = $orig[0]['comments_closed'];
$arr['commented'] = $orig[0]['commented'];
- $arr['received'] = datetime_convert();
- $arr['changed'] = datetime_convert();
+
+ if($deliver) {
+ $arr['received'] = datetime_convert();
+ $arr['changed'] = datetime_convert();
+ }
+ else {
+
+ // When deliver flag is false, we are *probably* performing an import or bulk migration.
+ // If one updates the changed timestamp it will be made available to zotfeed and delivery
+ // will still take place through backdoor methods. Since these fields are rarely used
+ // otherwise, just preserve the original timestamp.
+
+ $arr['received'] = $orig[0]['received'];
+ $arr['changed'] = $orig[0]['changed'];
+ }
+
$arr['route'] = ((array_key_exists('route',$arr)) ? trim($arr['route']) : $orig[0]['route']);
$arr['diaspora_meta'] = ((x($arr,'diaspora_meta')) ? $arr['diaspora_meta'] : $orig[0]['diaspora_meta']);
$arr['location'] = ((x($arr,'location')) ? notags(trim($arr['location'])) : $orig[0]['location']);
@@ -2213,7 +2265,7 @@ function store_diaspora_comment_sig($datarray, $channel, $parent_item, $post_id,
logger('storing diaspora comment signature',LOGGER_DEBUG);
- $diaspora_handle = $channel['channel_address'] . '@' . App::get_hostname();
+ $diaspora_handle = channel_reddress($channel);
$signed_text = $datarray['mid'] . ';' . $parent_item['mid'] . ';' . $signed_body . ';' . $diaspora_handle;
@@ -2243,6 +2295,11 @@ function store_diaspora_comment_sig($datarray, $channel, $parent_item, $post_id,
function send_status_notifications($post_id,$item) {
+ // only send notifications for comments
+
+ if($item['mid'] == $item['parent_mid'])
+ return;
+
$notify = false;
$unfollowed = false;
@@ -2258,6 +2315,7 @@ function send_status_notifications($post_id,$item) {
if($item['author_xchan'] === $r[0]['channel_hash'])
return;
+
// I'm the owner - notify me
if($item['owner_hash'] === $r[0]['channel_hash'])
@@ -3774,7 +3832,7 @@ function zot_feed($uid,$observer_hash,$arr) {
$limit = " LIMIT 100 ";
- if($mindate != NULL_DATE) {
+ if($mindate > NULL_DATE) {
$sql_extra .= " and ( created > '$mindate' or changed > '$mindate' ) ";
}
@@ -4327,3 +4385,137 @@ function sync_an_item($channel_id,$item_id) {
build_sync_packet($channel_d,array('item' => array(encode_item($sync_item[0],true)),'item_id' => $rid));
}
}
+
+
+function fix_attached_photo_permissions($uid,$xchan_hash,$body,
+ $str_contact_allow,$str_group_allow,$str_contact_deny,$str_group_deny) {
+
+ if(get_pconfig($uid,'system','force_public_uploads')) {
+ $str_contact_allow = $str_group_allow = $str_contact_deny = $str_group_deny = '';
+ }
+
+ $match = null;
+ // match img and zmg image links
+ if(preg_match_all("/\[[zi]mg(.*?)\](.*?)\[\/[zi]mg\]/",$body,$match)) {
+ $images = $match[2];
+ if($images) {
+ foreach($images as $image) {
+ if(! stristr($image,z_root() . '/photo/'))
+ continue;
+ $image_uri = substr($image,strrpos($image,'/') + 1);
+ if(strpos($image_uri,'-') !== false)
+ $image_uri = substr($image_uri,0, strpos($image_uri,'-'));
+ if(strpos($image_uri,'.') !== false)
+ $image_uri = substr($image_uri,0, strpos($image_uri,'.'));
+ if(! strlen($image_uri))
+ continue;
+ $srch = '<' . $xchan_hash . '>';
+
+ $r = q("select folder from attach where hash = '%s' and uid = %d limit 1",
+ dbesc($image_uri),
+ intval($uid)
+ );
+ if($r && $r[0]['folder']) {
+ $f = q("select * from attach where hash = '%s' and is_dir = 1 and uid = %d limit 1",
+ dbesc($r[0]['folder']),
+ intval($uid)
+ );
+ if(($f) && (($f[0]['allow_cid']) || ($f[0]['allow_gid']) || ($f[0]['deny_cid']) || ($f[0]['deny_gid']))) {
+ $str_contact_allow = $f[0]['allow_cid'];
+ $str_group_allow = $f[0]['allow_gid'];
+ $str_contact_deny = $f[0]['deny_cid'];
+ $str_group_deny = $f[0]['deny_gid'];
+ }
+ }
+
+ $r = q("SELECT id FROM photo
+ WHERE allow_cid = '%s' AND allow_gid = '' AND deny_cid = '' AND deny_gid = ''
+ AND resource_id = '%s' AND uid = %d LIMIT 1",
+ dbesc($srch),
+ dbesc($image_uri),
+ intval($uid)
+ );
+
+ if($r) {
+ $r = q("UPDATE photo SET allow_cid = '%s', allow_gid = '%s', deny_cid = '%s', deny_gid = '%s'
+ WHERE resource_id = '%s' AND uid = %d ",
+ dbesc($str_contact_allow),
+ dbesc($str_group_allow),
+ dbesc($str_contact_deny),
+ dbesc($str_group_deny),
+ dbesc($image_uri),
+ intval($uid)
+ );
+
+ // also update the linked item (which is probably invisible)
+
+ $r = q("select id from item
+ WHERE allow_cid = '%s' AND allow_gid = '' AND deny_cid = '' AND deny_gid = ''
+ AND resource_id = '%s' and resource_type = 'photo' AND uid = %d LIMIT 1",
+ dbesc($srch),
+ dbesc($image_uri),
+ intval($uid)
+ );
+ if($r) {
+ $private = (($str_contact_allow || $str_group_allow || $str_contact_deny || $str_group_deny) ? true : false);
+
+ $r = q("UPDATE item SET allow_cid = '%s', allow_gid = '%s', deny_cid = '%s', deny_gid = '%s', item_private = %d
+ WHERE id = %d AND uid = %d",
+ dbesc($str_contact_allow),
+ dbesc($str_group_allow),
+ dbesc($str_contact_deny),
+ dbesc($str_group_deny),
+ intval($private),
+ intval($r[0]['id']),
+ intval($uid)
+ );
+ }
+ $r = q("select id from attach where hash = '%s' and uid = %d limit 1",
+ dbesc($image_uri),
+ intval($uid)
+ );
+ if($r) {
+ q("update attach SET allow_cid = '%s', allow_gid = '%s', deny_cid = '%s', deny_gid = '%s'
+ WHERE id = %d AND uid = %d",
+ dbesc($str_contact_allow),
+ dbesc($str_group_allow),
+ dbesc($str_contact_deny),
+ dbesc($str_group_deny),
+ intval($r[0]['id']),
+ intval($uid)
+ );
+ }
+ }
+ }
+ }
+ }
+}
+
+
+function fix_attached_file_permissions($channel,$observer_hash,$body,
+ $str_contact_allow,$str_group_allow,$str_contact_deny,$str_group_deny) {
+
+ if(get_pconfig($channel['channel_id'],'system','force_public_uploads')) {
+ $str_contact_allow = $str_group_allow = $str_contact_deny = $str_group_deny = '';
+ }
+
+ $match = false;
+
+ if(preg_match_all("/\[attachment\](.*?)\[\/attachment\]/",$body,$match)) {
+ $attaches = $match[1];
+ 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' => $str_contact_allow,
+ 'allow_gid' => $str_group_allow,
+ 'deny_cid' => $str_contact_deny,
+ 'deny_gid' => $str_group_deny
+ ));
+ }
+ }
+ }
+}
diff --git a/include/message.php b/include/message.php
index d3d8181ae..748689206 100644
--- a/include/message.php
+++ b/include/message.php
@@ -75,7 +75,7 @@ function send_message($uid = 0, $recipient='', $body='', $subject='', $replyto='
if($recip)
$recip_handle = $recip[0]['xchan_addr'];
- $sender_handle = $channel['channel_address'] . '@' . App::get_hostname();
+ $sender_handle = channel_reddress($channel);
$handles = $recip_handle . ';' . $sender_handle;
@@ -166,7 +166,7 @@ function send_message($uid = 0, $recipient='', $body='', $subject='', $replyto='
foreach($match[2] as $mtch) {
$hash = substr($mtch,0,strpos($mtch,','));
$rev = intval(substr($mtch,strpos($mtch,',')));
- $r = attach_by_hash_nodata($hash,$rev);
+ $r = attach_by_hash_nodata($hash,get_observer_hash(),$rev);
if($r['success']) {
$attachments[] = array(
'href' => z_root() . '/attach/' . $r['data']['hash'],
@@ -299,14 +299,30 @@ function private_messages_list($uid, $mailbox = '', $start = 0, $numitems = 0) {
break;
case 'combined':
- $sql = "SELECT * FROM ( SELECT * FROM mail WHERE channel_id = $local_channel ORDER BY created DESC $limit ) AS temp_table GROUP BY parent_mid ORDER BY created DESC";
+ $parents = q("SELECT parent_mid FROM mail WHERE mid = parent_mid AND channel_id = %d ORDER BY created DESC",
+ dbesc($local_channel)
+ );
+ //FIXME: We need the latest mail of a thread here. This query throws errors in postgres. We now look for the latest in php until somebody can fix this...
+ //$sql = "SELECT * FROM ( SELECT * FROM mail WHERE channel_id = $local_channel ORDER BY created DESC $limit ) AS temp_table GROUP BY parent_mid ORDER BY created DESC";
break;
}
}
- $r = q($sql);
+ if($parents) {
+ foreach($parents as $parent) {
+ $all[] = q("SELECT * FROM mail WHERE parent_mid = '%s' AND channel_id = %d ORDER BY created DESC",
+ dbesc($parent['parent_mid']),
+ dbesc($local_channel)
+ );
+ }
+ foreach($all as $single)
+ $r[] = $single[0];
+ }
+ else {
+ $r = q($sql);
+ }
if(! $r) {
return array();
diff --git a/include/nav.php b/include/nav.php
index 025da71b3..c2a058457 100644
--- a/include/nav.php
+++ b/include/nav.php
@@ -63,6 +63,7 @@ EOT;
$server_role = get_config('system','server_role');
$basic = (($server_role === 'basic') ? true : false);
+ $techlevel = get_account_techlevel();
// nav links: array of array('href', 'text', 'extra css classes', 'title')
$nav = Array();
@@ -144,10 +145,10 @@ EOT;
$homelink = (($observer) ? $observer['xchan_url'] : '');
}
- if((App::$module != 'home') && (! (local_channel())))
+ if(! local_channel())
$nav['home'] = array($homelink, t('Home'), "", t('Home Page'),'home_nav_btn');
- if((App::$config['system']['register_policy'] == REGISTER_OPEN) && (! $_SESSION['authenticated']))
+ if(((get_config('system','register_policy') == REGISTER_OPEN) || (get_config('system','register_policy') == REGISTER_APPROVE)) && (! $_SESSION['authenticated']))
$nav['register'] = array('register',t('Register'), "", t('Create an account'),'register_nav_btn');
if(! get_config('system','hide_help')) {
diff --git a/include/network.php b/include/network.php
index fe001b362..7851f8976 100644
--- a/include/network.php
+++ b/include/network.php
@@ -1148,8 +1148,10 @@ function discover_by_webbie($webbie) {
if($link['rel'] === PROTOCOL_ZOT) {
logger('discover_by_webbie: zot found for ' . $webbie, LOGGER_DEBUG);
- if(array_key_exists('zot',$x) && $x['zot']['success'])
+ 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']) {
@@ -1937,7 +1939,9 @@ function format_and_send_email($sender,$xchan,$item) {
$hostname = App::get_hostname();
if(strpos($hostname,':'))
$hostname = substr($hostname,0,strpos($hostname,':'));
- $sender_email = 'noreply' . '@' . $hostname;
+ $sender_email = get_config('system','reply_address');
+ if(! $sender_email)
+ $sender_email = 'noreply' . '@' . $hostname;
// use the EmailNotification library to send the message
@@ -2008,11 +2012,11 @@ function get_site_info() {
$admin = array();
foreach($r as $rr) {
if($rr['channel_pageflags'] & PAGE_HUBADMIN)
- $admin[] = array( 'name' => $rr['channel_name'], 'address' => $rr['channel_address'] . '@' . App::get_hostname(), 'channel' => z_root() . '/channel/' . $rr['channel_address']);
+ $admin[] = array( 'name' => $rr['channel_name'], 'address' => channel_reddress($rr), 'channel' => z_root() . '/channel/' . $rr['channel_address']);
}
if(! $admin) {
foreach($r as $rr) {
- $admin[] = array( 'name' => $rr['channel_name'], 'address' => $rr['channel_address'] . '@' . App::get_hostname(), 'channel' => z_root() . '/channel/' . $rr['channel_address']);
+ $admin[] = array( 'name' => $rr['channel_name'], 'address' => channel_reddress($rr), 'channel' => z_root() . '/channel/' . $rr['channel_address']);
}
}
}
@@ -2222,3 +2226,65 @@ function network_to_name($s) {
return str_replace($search,$replace,$s);
}
+
+
+function z_mail($params) {
+
+ /**
+ * @brief Send a text email message
+ *
+ * @param array $params an assoziative array with:
+ * * \e string \b fromName name of the sender
+ * * \e string \b fromEmail email of the sender
+ * * \e string \b replyTo replyTo address to direct responses
+ * * \e string \b toEmail destination email address
+ * * \e string \b messageSubject subject of the message
+ * * \e string \b htmlVersion html version of the message
+ * * \e string \b textVersion text only version of the message
+ * * \e string \b additionalMailHeader additions to the smtp mail header
+ */
+
+ if(! $params['fromEmail']) {
+ $params['fromEmail'] = get_config('system','from_email');
+ if(! $params['fromEmail'])
+ $params['fromEmail'] = 'Administrator' . '@' . App::get_hostname();
+ }
+ if(! $params['fromName']) {
+ $params['fromName'] = get_config('system','from_email_name');
+ if(! $params['fromName'])
+ $params['fromName'] = Zotlabs\Lib\System::get_site_name();
+ }
+ if(! $params['replyTo']) {
+ $params['replyTo'] = get_config('system','reply_address');
+ if(! $params['replyTo'])
+ $params['replyTo'] = 'noreply' . '@' . App::get_hostname();
+ }
+
+ $params['sent'] = false;
+ $params['result'] = false;
+
+ call_hooks('email_send', $params);
+
+ if($params['sent']) {
+ logger('notification: z_mail returns ' . $params['result'], LOGGER_DEBUG);
+ return $params['result'];
+ }
+
+ $fromName = email_header_encode(html_entity_decode($params['fromName'],ENT_QUOTES,'UTF-8'),'UTF-8');
+ $messageSubject = email_header_encode(html_entity_decode($params['messageSubject'],ENT_QUOTES,'UTF-8'),'UTF-8');
+
+ $messageHeader =
+ $params['additionalMailHeader'] .
+ "From: $fromName <{$params['fromEmail']}>\n" .
+ "Reply-To: $fromName <{$params['replyTo']}>";
+
+ // send the message
+ $res = mail(
+ $params['toEmail'], // send to address
+ $messageSubject, // subject
+ $params['textVersion'],
+ $messageHeader // message headers
+ );
+ logger('notification: z_mail returns ' . $res, LOGGER_DEBUG);
+ return $res;
+}
diff --git a/include/oembed.php b/include/oembed.php
index fe6f10d71..1780e7046 100755
--- a/include/oembed.php
+++ b/include/oembed.php
@@ -105,7 +105,7 @@ function oembed_action($embedurl) {
function oembed_process($url) {
$j = oembed_fetch_url($url);
logger('oembed_process: ' . print_r($j,true));
- if($j && $j->type !== 'error')
+ if($j && $j['type'] !== 'error')
return '[embed]' . $url . '[/embed]';
return false;
}
@@ -117,7 +117,7 @@ function oembed_fetch_url($embedurl){
// These media files should now be caught in bbcode.php
// left here as a fallback in case this is called from another source
- $noexts = array(".mp3",".mp4",".ogg",".ogv",".oga",".ogm",".webm",".opus");
+ $noexts = [ '.mp3', '.mp4', '.ogg', '.ogv', '.oga', '.ogm', '.webm', '.opus', '.m4a' ];
$result = oembed_action($embedurl);
@@ -156,9 +156,12 @@ function oembed_fetch_url($embedurl){
if ($action !== 'block') {
// try oembed autodiscovery
$redirects = 0;
- $result = z_fetch_url($furl, false, $redirects, array('timeout' => 15, 'accept_content' => "text/*", 'novalidate' => true ));
+ $result = z_fetch_url($furl, false, $redirects, array('timeout' => 30, 'accept_content' => "text/*", 'novalidate' => true ));
+
if($result['success'])
$html_text = $result['body'];
+ else
+ logger('fetch failure: ' . $furl);
if($html_text) {
$dom = @DOMDocument::loadHTML($html_text);
@@ -171,7 +174,10 @@ function oembed_fetch_url($embedurl){
foreach($entries as $e){
$href = $e->getAttributeNode("href")->nodeValue;
$x = z_fetch_url($href . '&maxwidth=' . App::$videowidth);
- $txt = $x['body'];
+ if($x['success'])
+ $txt = $x['body'];
+ else
+ logger('fetch failed: ' . $href);
break;
}
// soundcloud is now using text/json+oembed instead of application/json+oembed,
@@ -180,7 +186,10 @@ function oembed_fetch_url($embedurl){
foreach($entries as $e){
$href = $e->getAttributeNode("href")->nodeValue;
$x = z_fetch_url($href . '&maxwidth=' . App::$videowidth);
- $txt = $x['body'];
+ if($x['success'])
+ $txt = $x['body'];
+ else
+ logger('json fetch failed: ' . $href);
break;
}
}
@@ -206,26 +215,29 @@ function oembed_fetch_url($embedurl){
}
- $j = json_decode($txt);
+ $j = json_decode($txt,true);
+
+ if(! $j)
+ $j = [];
if($action === 'filter') {
- if($j->html) {
- $orig = $j->html;
+ if($j['html']) {
+ $orig = $j['html'];
$allow_position = (($zrl) ? true : false);
- $j->html = purify_html($j->html,$allow_position);
- if($j->html != $orig) {
- logger('oembed html was purified. original: ' . $orig . ' purified: ' . $j->html, LOGGER_DEBUG, LOG_INFO);
+ $j['html'] = purify_html($j['html'],$allow_position);
+ if($j['html'] != $orig) {
+ logger('oembed html was purified. original: ' . $orig . ' purified: ' . $j['html'], LOGGER_DEBUG, LOG_INFO);
}
$orig_len = mb_strlen(preg_replace('/\s+/','',$orig));
- $new_len = mb_strlen(preg_replace('/\s+/','',$j->html));
+ $new_len = mb_strlen(preg_replace('/\s+/','',$j['html']));
if(stripos($orig,'<script') || (! $new_len))
- $j->type = 'error';
+ $j['type'] = 'error';
elseif($orig_len) {
$ratio = $new_len / $orig_len;
if($ratio < 0.5) {
- $j->type = 'error';
+ $j['type'] = 'error';
logger('oembed html truncated: ' . $ratio, LOGGER_DEBUG, LOG_INFO);
}
}
@@ -233,7 +245,7 @@ function oembed_fetch_url($embedurl){
}
}
- $j->embedurl = $embedurl;
+ $j['embedurl'] = $embedurl;
// logger('fetch return: ' . print_r($j,true));
@@ -244,27 +256,27 @@ function oembed_fetch_url($embedurl){
function oembed_format_object($j){
- $embedurl = $j->embedurl;
+ $embedurl = $j['embedurl'];
// logger('format: ' . print_r($j,true));
- $jhtml = oembed_iframe($j->embedurl,(isset($j->width) ? $j->width : null), (isset($j->height) ? $j->height : null));
+ $jhtml = oembed_iframe($j['embedurl'],(isset($j['width']) ? $j['width'] : null), (isset($j['height']) ? $j['height'] : null));
- $ret="<span class='oembed ".$j->type."'>";
- switch ($j->type) {
+ $ret="<span class='oembed " . $j['type'] . "'>";
+ switch ($j['type']) {
case "video": {
- if (isset($j->thumbnail_url)) {
- $tw = (isset($j->thumbnail_width)) ? $j->thumbnail_width:200;
- $th = (isset($j->thumbnail_height)) ? $j->thumbnail_height:180;
+ if (isset($j['thumbnail_url'])) {
+ $tw = (isset($j['thumbnail_width'])) ? $j['thumbnail_width'] : 200;
+ $th = (isset($j['thumbnail_height'])) ? $j['thumbnail_height'] : 180;
$tr = $tw/$th;
$th=120; $tw = $th*$tr;
$tpl=get_markup_template('oembed_video.tpl');
if(strstr($embedurl,'youtu') && strstr(z_root(),'https:')) {
$embedurl = str_replace('http:','https:',$embedurl);
- $j->thumbnail_url = str_replace('http:','https:', $j->thumbnail_url);
+ $j['thumbnail_url'] = str_replace('http:','https:', $j['thumbnail_url']);
$jhtml = str_replace('http:','https:', $jhtml);
- $j->html = str_replace('http:','https:', $j->html);
+ $j['html'] = str_replace('http:','https:', $j['html']);
}
$ret.=replace_macros($tpl, array(
@@ -273,7 +285,7 @@ function oembed_format_object($j){
'$escapedhtml'=>base64_encode($jhtml),
'$tw'=>$tw,
'$th'=>$th,
- '$turl'=>$j->thumbnail_url,
+ '$turl'=> $j['thumbnail_url'],
));
} else {
@@ -282,19 +294,19 @@ function oembed_format_object($j){
$ret.="<br>";
}; break;
case "photo": {
- $ret.= "<img width='".$j->width."' src='".$j->url."'>";
+ $ret.= "<img width='".$j['width']."' src='".$j['url']."'>";
$ret.="<br>";
}; break;
case "link": {
- if($j->thumbnail_url) {
+ if($j['thumbnail_url']) {
if(is_matrix_url($embedurl)) {
$embedurl = zid($embedurl);
- $j->thumbnail_url = zid($j->thumbnail_url);
+ $j['thumbnail_url'] = zid($j['thumbnail_url']);
}
- $ret = '<a href="' . $embedurl . '" ><img src="' . $j->thumbnail_url . '" alt="thumbnail" /></a><br /><br />';
+ $ret = '<a href="' . $embedurl . '" ><img src="' . $j['thumbnail_url'] . '" alt="thumbnail" /></a><br /><br />';
}
- //$ret = "<a href='".$embedurl."'>".$j->title."</a>";
+ //$ret = "<a href='".$embedurl."'>".$j['title']."</a>";
}; break;
case "rich": {
// not so safe..
@@ -303,12 +315,12 @@ function oembed_format_object($j){
}
// add link to source if not present in "rich" type
- if ( $j->type!='rich' || !strpos($j->html,$embedurl) ){
- $embedlink = (isset($j->title))?$j->title:$embedurl;
+ if ( $j['type'] != 'rich' || !strpos($j['html'],$embedurl) ){
+ $embedlink = (isset($j['title']))?$j['title'] : $embedurl;
$ret .= '<br />' . "<a href='$embedurl' rel='oembed'>$embedlink</a>";
$ret .= "<br />";
- if (isset($j->author_name)) $ret.=" by ".$j->author_name;
- if (isset($j->provider_name)) $ret.=" on ".$j->provider_name;
+ if (isset($j['author_name'])) $ret .= t(' by ') . $j['author_name'];
+ if (isset($j['provider_name'])) $ret .= t(' on ') . $j['provider_name'];
} else {
// add <a> for html2bbcode conversion
$ret .= "<br /><a href='$embedurl' rel='oembed'>$embedurl</a>";
diff --git a/include/permissions.php b/include/permissions.php
index 637193973..d21b45550 100644
--- a/include/permissions.php
+++ b/include/permissions.php
@@ -6,8 +6,14 @@ require_once('include/security.php');
* @file include/permissions.php
*
* This file conntains functions to check and work with permissions.
+ *
+ * Most of this file is obsolete and has been superceded by extensible permissions in v1.12; it is left here
+ * for reference and because we haven't yet checked that all functions have been replaced and are available
+ * elsewhere (typically Zotlabs/Access/*).
*/
+
+
/**
* @brief Return an array with all available permissions.
*
diff --git a/include/photo/photo_driver.php b/include/photo/photo_driver.php
index 6de75d497..9b6d38cc1 100644
--- a/include/photo/photo_driver.php
+++ b/include/photo/photo_driver.php
@@ -328,6 +328,7 @@ abstract class photo_driver {
$p['photo_usage'] = intval($arr['photo_usage']);
$p['os_storage'] = intval($arr['os_storage']);
$p['os_path'] = $arr['os_path'];
+ $p['display_path'] = (($arr['display_path']) ? $arr['display_path'] : '');
if(! intval($p['imgscale']))
logger('save: ' . print_r($arr,true), LOGGER_DATA);
@@ -358,6 +359,8 @@ abstract class photo_driver {
`photo_usage` = %d,
`title` = '%s',
`description` = '%s',
+ `os_path` = '%s',
+ `display_path` = '%s',
`allow_cid` = '%s',
`allow_gid` = '%s',
`deny_cid` = '%s',
@@ -382,6 +385,8 @@ abstract class photo_driver {
intval($p['photo_usage']),
dbesc($p['title']),
dbesc($p['description']),
+ dbesc($p['os_path']),
+ dbesc($p['display_path']),
dbesc($p['allow_cid']),
dbesc($p['allow_gid']),
dbesc($p['deny_cid']),
@@ -391,8 +396,8 @@ abstract class photo_driver {
}
else {
$r = q("INSERT INTO `photo`
- ( `aid`, `uid`, `xchan`, `resource_id`, `created`, `edited`, `filename`, mimetype, `album`, `height`, `width`, `content`, `os_storage`, `filesize`, `imgscale`, `photo_usage`, `title`, `description`, `allow_cid`, `allow_gid`, `deny_cid`, `deny_gid` )
- VALUES ( %d, %d, '%s', '%s', '%s', '%s', '%s', '%s', '%s', %d, %d, '%s', %d, %d, %d, %d, '%s', '%s', '%s', '%s', '%s', '%s' )",
+ ( `aid`, `uid`, `xchan`, `resource_id`, `created`, `edited`, `filename`, mimetype, `album`, `height`, `width`, `content`, `os_storage`, `filesize`, `imgscale`, `photo_usage`, `title`, `description`, `os_path`, `display_path`, `allow_cid`, `allow_gid`, `deny_cid`, `deny_gid` )
+ VALUES ( %d, %d, '%s', '%s', '%s', '%s', '%s', '%s', '%s', %d, %d, '%s', %d, %d, %d, %d, '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s' )",
intval($p['aid']),
intval($p['uid']),
dbesc($p['xchan']),
@@ -411,6 +416,8 @@ abstract class photo_driver {
intval($p['photo_usage']),
dbesc($p['title']),
dbesc($p['description']),
+ dbesc($p['os_path']),
+ dbesc($p['display_path']),
dbesc($p['allow_cid']),
dbesc($p['allow_gid']),
dbesc($p['deny_cid']),
@@ -420,6 +427,9 @@ abstract class photo_driver {
return $r;
}
+
+ // should be obsolete now
+
public function store($aid, $uid, $xchan, $rid, $filename, $album, $scale, $usage = PHOTO_NORMAL, $allow_cid = '', $allow_gid = '', $deny_cid = '', $deny_gid = '') {
$x = q("select id from photo where `resource_id` = '%s' and uid = %d and `xchan` = '%s' and `imgscale` = %d limit 1",
diff --git a/include/photos.php b/include/photos.php
index bd25fe8b7..a3018816c 100644
--- a/include/photos.php
+++ b/include/photos.php
@@ -588,6 +588,8 @@ function photos_album_rename($channel_id, $oldname, $newname) {
);
}
+
+
/**
* @brief
*
diff --git a/include/plugin.php b/include/plugin.php
index cb206d944..663d17959 100755
--- a/include/plugin.php
+++ b/include/plugin.php
@@ -404,6 +404,18 @@ function check_plugin_versions($info) {
return false;
}
}
+ if(array_key_exists('serverroles',$info)) {
+ $role = \Zotlabs\Lib\System::get_server_role();
+ if(! (
+ stristr($info['serverroles'],'*')
+ || stristr($info['serverroles'],'any')
+ || stristr($info['serverroles'],$role))) {
+ logger('serverrole limit: ' . $info['name'],LOGGER_NORMAL,LOG_WARNING);
+ return false;
+
+ }
+ }
+
if(array_key_exists('requires',$info)) {
$arr = explode(',',$info['requires']);
diff --git a/include/security.php b/include/security.php
index 83bf51bc0..9b508d339 100644
--- a/include/security.php
+++ b/include/security.php
@@ -265,7 +265,7 @@ function change_channel($change_channel) {
);
if($x) {
$_SESSION['my_url'] = $x[0]['xchan_url'];
- $_SESSION['my_address'] = $r[0]['channel_address'] . '@' . App::get_hostname();
+ $_SESSION['my_address'] = channel_reddress($r[0]);
App::set_observer($x[0]);
App::set_perms(get_all_perms(local_channel(), $hash));
diff --git a/include/text.php b/include/text.php
index ac210b336..9c4a4a5c5 100644
--- a/include/text.php
+++ b/include/text.php
@@ -138,31 +138,74 @@ function purify_html($s, $allow_position = false) {
$def = $config->getHTMLDefinition(true);
//data- attributes used by the foundation library
- $def->info_global_attr['data-options'] = new HTMLPurifier_AttrDef_Text;
- $def->info_global_attr['data-magellan-expedition'] = new HTMLPurifier_AttrDef_Text;
- $def->info_global_attr['data-magellan-destination'] = new HTMLPurifier_AttrDef_Text;
- $def->info_global_attr['data-magellan-arrival'] = new HTMLPurifier_AttrDef_Text;
- $def->info_global_attr['data-offcanvas'] = new HTMLPurifier_AttrDef_Text;
- $def->info_global_attr['data-topbar'] = new HTMLPurifier_AttrDef_Text;
- $def->info_global_attr['data-orbit'] = new HTMLPurifier_AttrDef_Text;
- $def->info_global_attr['data-orbit-slide-number'] = new HTMLPurifier_AttrDef_Text;
+
+ // f6 navigation
+
+ //dropdown menu
+ $def->info_global_attr['data-dropdown-menu'] = new HTMLPurifier_AttrDef_Text;
+ //drilldown menu
+ $def->info_global_attr['data-drilldown'] = new HTMLPurifier_AttrDef_Text;
+ //accordion menu
+ $def->info_global_attr['data-accordion-menu'] = new HTMLPurifier_AttrDef_Text;
+ //responsive navigation
+ $def->info_global_attr['data-responsive-menu'] = new HTMLPurifier_AttrDef_Text;
+ $def->info_global_attr['data-responsive-toggle'] = new HTMLPurifier_AttrDef_Text;
+ //magellan
+ $def->info_global_attr['data-magellan'] = new HTMLPurifier_AttrDef_Text;
+ $def->info_global_attr['data-magellan-target'] = new HTMLPurifier_AttrDef_Text;
+
+ // f6 containers
+
+ //accordion
+ $def->info_global_attr['data-accordion'] = new HTMLPurifier_AttrDef_Text;
+ $def->info_global_attr['data-accordion-item'] = new HTMLPurifier_AttrDef_Text;
+ $def->info_global_attr['data-tab-content'] = new HTMLPurifier_AttrDef_Text;
+ //dropdown
$def->info_global_attr['data-dropdown'] = new HTMLPurifier_AttrDef_Text;
- $def->info_global_attr['data-dropdown-content'] = new HTMLPurifier_AttrDef_Text;
- $def->info_global_attr['data-reveal-id'] = new HTMLPurifier_AttrDef_Text;
+ //off-canvas
+ $def->info_global_attr['data-off-canvas-wrapper'] = new HTMLPurifier_AttrDef_Text;
+ $def->info_global_attr['data-off-canvas'] = new HTMLPurifier_AttrDef_Text;
+ $def->info_global_attr['data-off-canvas-content'] = new HTMLPurifier_AttrDef_Text;
+ //reveal
$def->info_global_attr['data-reveal'] = new HTMLPurifier_AttrDef_Text;
- $def->info_global_attr['data-alert'] = new HTMLPurifier_AttrDef_Text;
+ //tabs
+ $def->info_global_attr['data-tabs'] = new HTMLPurifier_AttrDef_Text;
+ $def->info_global_attr['data-tabs-content'] = new HTMLPurifier_AttrDef_Text;
+
+ // f6 media
+
+ //orbit
+ $def->info_global_attr['data-orbit'] = new HTMLPurifier_AttrDef_Text;
+ $def->info_global_attr['data-slide'] = new HTMLPurifier_AttrDef_Text;
+ //tooltip
$def->info_global_attr['data-tooltip'] = new HTMLPurifier_AttrDef_Text;
- $def->info_global_attr['data-joyride'] = new HTMLPurifier_AttrDef_Text;
- $def->info_global_attr['data-id'] = new HTMLPurifier_AttrDef_Text;
- $def->info_global_attr['data-text'] = new HTMLPurifier_AttrDef_Text;
- $def->info_global_attr['data-class'] = new HTMLPurifier_AttrDef_Text;
- $def->info_global_attr['data-prev-tex'] = new HTMLPurifier_AttrDef_Text;
- $def->info_global_attr['data-button'] = new HTMLPurifier_AttrDef_Text;
- $def->info_global_attr['data-accordion'] = new HTMLPurifier_AttrDef_Text;
- $def->info_global_attr['data-tab'] = new HTMLPurifier_AttrDef_Text;
+
+ // f6 plugins
+
+ //abide - the use is pointless since we can't do anything with forms
+
+ //equalizer
$def->info_global_attr['data-equalizer'] = new HTMLPurifier_AttrDef_Text;
$def->info_global_attr['data-equalizer-watch'] = new HTMLPurifier_AttrDef_Text;
+ //interchange - potentially dangerous since it can load content
+
+ //toggler
+ $def->info_global_attr['data-toggler'] = new HTMLPurifier_AttrDef_Text;
+
+ //sticky
+ $def->info_global_attr['data-sticky'] = new HTMLPurifier_AttrDef_Text;
+ $def->info_global_attr['data-sticky-container'] = new HTMLPurifier_AttrDef_Text;
+
+ // f6 common
+
+ $def->info_global_attr['data-options'] = new HTMLPurifier_AttrDef_Text;
+ $def->info_global_attr['data-toggle'] = new HTMLPurifier_AttrDef_Text;
+ $def->info_global_attr['data-close'] = new HTMLPurifier_AttrDef_Text;
+ $def->info_global_attr['data-open'] = new HTMLPurifier_AttrDef_Text;
+ $def->info_global_attr['data-position'] = new HTMLPurifier_AttrDef_Text;
+
+
//data- attributes used by the bootstrap library
$def->info_global_attr['data-dismiss'] = new HTMLPurifier_AttrDef_Text;
$def->info_global_attr['data-target'] = new HTMLPurifier_AttrDef_Text;
@@ -191,12 +234,15 @@ function purify_html($s, $allow_position = false) {
$def->info_global_attr['data-offset-bottom'] = new HTMLPurifier_AttrDef_Text;
//some html5 elements
+ //Block
$def->addElement('section', 'Block', 'Flow', 'Common');
$def->addElement('nav', 'Block', 'Flow', 'Common');
$def->addElement('article', 'Block', 'Flow', 'Common');
$def->addElement('aside', 'Block', 'Flow', 'Common');
$def->addElement('header', 'Block', 'Flow', 'Common');
$def->addElement('footer', 'Block', 'Flow', 'Common');
+ //Inline
+ $def->addElement('button', 'Inline', 'Inline', 'Common');
if($allow_position) {
@@ -936,7 +982,7 @@ function searchbox($s,$id='search-box',$url='/search',$save = false) {
'$action_url' => z_root() . '/' . $url,
'$search_label' => t('Search'),
'$save_label' => t('Save'),
- '$savedsearch' => feature_enabled(local_channel(),'savedsearch')
+ '$savedsearch' => ($save && feature_enabled(local_channel(),'savedsearch'))
));
}
@@ -2267,11 +2313,11 @@ function design_tools() {
}
/**
- * @brief Creates website import tools menu
+ * @brief Creates website portation tools menu
*
* @return string
*/
-function website_import_tools() {
+function website_portation_tools() {
$channel = App::get_channel();
$sys = false;
@@ -2282,7 +2328,7 @@ function website_import_tools() {
$sys = true;
}
- return replace_macros(get_markup_template('website_import_tools.tpl'), array(
+ return replace_macros(get_markup_template('website_portation_tools.tpl'), array(
'$title' => t('Import'),
'$import_label' => t('Import website...'),
'$import_placeholder' => t('Select folder to import'),
@@ -2290,7 +2336,15 @@ function website_import_tools() {
'$file_import_text' => t('Import from cloud files:'),
'$desc' => t('/cloud/channel/path/to/folder'),
'$hint' => t('Enter path to website files'),
- '$select' => t('Select folder'),
+ '$select' => t('Select folder'),
+ '$export_label' => t('Export website...'),
+ '$file_download_text' => t('Export to a zip file'),
+ '$filename_desc' => t('website.zip'),
+ '$filename_hint' => t('Enter a name for the zip file.'),
+ '$cloud_export_text' => t('Export to cloud files'),
+ '$cloud_export_desc' => t('/path/to/export/folder'),
+ '$cloud_export_hint' => t('Enter a path to a cloud files destination.'),
+ '$cloud_export_select' => t('Specify folder'),
));
}
@@ -2975,3 +3029,38 @@ function text_highlight($s,$lang) {
return('<code>' . $o . '</code>');
}
+// function to convert multi-dimensional array to xml
+// create new instance of simplexml
+
+// $xml = new SimpleXMLElement('<root/>');
+
+// function callback
+// array2XML($xml, $my_array);
+
+// save as xml file
+// echo (($xml->asXML('data.xml')) ? 'Your XML file has been generated successfully!' : 'Error generating XML file!');
+
+function arrtoxml($root_elem,$arr) {
+ $xml = new SimpleXMLElement('<' . $root_elem . '/>');
+ array2XML($xml,$arr);
+ return $xml->asXML();
+}
+
+function array2XML($obj, $array)
+{
+ foreach ($array as $key => $value)
+ {
+ if(is_numeric($key))
+ $key = 'item' . $key;
+
+ if (is_array($value))
+ {
+ $node = $obj->addChild($key);
+ array2XML($node, $value);
+ }
+ else
+ {
+ $obj->addChild($key, htmlspecialchars($value));
+ }
+ }
+}
diff --git a/include/widgets.php b/include/widgets.php
index 68db74703..2e1e58717 100644
--- a/include/widgets.php
+++ b/include/widgets.php
@@ -209,7 +209,9 @@ function widget_savedsearch($arr) {
if((! local_channel()) || (! feature_enabled(local_channel(),'savedsearch')))
return '';
- $search = ((x($_GET,'search')) ? $_GET['search'] : '');
+ $search = ((x($_GET,'netsearch')) ? $_GET['netsearch'] : '');
+ if(! $search)
+ $search = ((x($_GET,'search')) ? $_GET['search'] : '');
if(x($_GET,'searchsave') && $search) {
$r = q("select * from `term` where `uid` = %d and `ttype` = %d and `term` = '%s' limit 1",
@@ -287,6 +289,40 @@ function widget_savedsearch($arr) {
return $o;
}
+function widget_sitesearch($arr) {
+
+ $search = ((x($_GET,'search')) ? $_GET['search'] : '');
+
+ $srchurl = App::$query_string;
+
+ $srchurl = rtrim(preg_replace('/search\=[^\&].*?(\&|$)/is','',$srchurl),'&');
+ $srchurl = rtrim(preg_replace('/submit\=[^\&].*?(\&|$)/is','',$srchurl),'&');
+ $srchurl = str_replace(array('?f=','&f='),array('',''),$srchurl);
+
+
+ $hasq = ((strpos($srchurl,'?') !== false) ? true : false);
+ $hasamp = ((strpos($srchurl,'&') !== false) ? true : false);
+
+ if(($hasamp) && (! $hasq))
+ $srchurl = substr($srchurl,0,strpos($srchurl,'&')) . '?f=&' . substr($srchurl,strpos($srchurl,'&')+1);
+
+ $o = '';
+
+ $saved = array();
+
+ $tpl = get_markup_template("sitesearch.tpl");
+ $o = replace_macros($tpl, array(
+ '$title' => t('Search'),
+ '$searchbox' => searchbox($search, 'netsearch-box', $srchurl . (($hasq) ? '' : '?f='), false),
+ '$saved' => $saved,
+ ));
+
+ return $o;
+}
+
+
+
+
function widget_filer($arr) {
if(! local_channel())
@@ -566,7 +602,7 @@ function widget_settings_menu($arr) {
);
- if(get_features()) {
+ if(get_account_techlevel() > 0 && get_features()) {
$tabs[] = array(
'label' => t('Additional features'),
'url' => z_root().'/settings/features',
@@ -594,14 +630,11 @@ function widget_settings_menu($arr) {
);
}
- // IF can go away when UNO export and import is fully functional
- if(get_config('system','server_role') !== 'basic') {
- $tabs[] = array(
- 'label' => t('Export channel'),
- 'url' => z_root() . '/uexport',
- 'selected' => ''
- );
- }
+ $tabs[] = array(
+ 'label' => t('Export channel'),
+ 'url' => z_root() . '/uexport',
+ 'selected' => ''
+ );
$tabs[] = array(
'label' => t('Connected apps'),
@@ -609,7 +642,7 @@ function widget_settings_menu($arr) {
'selected' => ((argv(1) === 'oauth') ? 'active' : ''),
);
- if(get_config('system','server_role') !== 'basic') {
+ if(get_account_techlevel() > 2) {
$tabs[] = array(
'label' => t('Guest Access Tokens'),
'url' => z_root() . '/settings/tokens',
@@ -779,7 +812,7 @@ function widget_design_tools($arr) {
return design_tools();
}
-function widget_website_import_tools($arr) {
+function widget_website_portation_tools($arr) {
// mod menu doesn't load a profile. For any modules which load a profile, check it.
// otherwise local_channel() is sufficient for permissions.
@@ -791,7 +824,7 @@ function widget_website_import_tools($arr) {
if(! local_channel())
return '';
- return website_import_tools();
+ return website_portation_tools();
}
function widget_findpeople($arr) {
@@ -963,6 +996,14 @@ function widget_suggestedchats($arr) {
if(! feature_enabled(App::$profile['profile_uid'],'ajaxchat'))
return '';
+ // There are reports that this tool does not ever remove chatrooms on dead sites,
+ // and also will happily link to private chats which you cannot enter.
+ // For those reasons, it will be disabled until somebody decides it's worth
+ // fixing and comes up with a plan for doing so.
+
+ return '';
+
+
// probably should restrict this to your friends, but then the widget will only work
// if you are logged in locally.
@@ -1286,8 +1327,8 @@ function widget_random_block($arr) {
function widget_rating($arr) {
- $poco_rating = get_config('system','poco_rating_enable');
- if((! $poco_rating) && ($poco_rating !== false)) {
+ $rating_enabled = get_config('system','rating_enabled');
+ if(! $rating_enabled) {
return;
}
@@ -1459,13 +1500,42 @@ function widget_tasklist($arr) {
function widget_helpindex($arr) {
- $o .= '<div class="widget">' . '<h3>' . t('Documentation') . '</h3>';
- $o .= '<ul class="nav nav-pills nav-stacked">';
- $o .= '<li><a href="help/general">' . t('Project/Site Information') . '</a></li>';
- $o .= '<li><a href="help/members">' . t('For Members') . '</a></li>';
- $o .= '<li><a href="help/admins">' . t('For Administrators') . '</a></li>';
- $o .= '<li><a href="help/develop">' . t('For Developers') . '</a></li>';
- $o .= '</ul></div>';
+
+ $o .= '<div class="widget">';
+ $o .= '<h3>' . t('Documentation') . '</h3>';
+
+ $level_0 = get_help_content('sitetoc');
+ if(! $level_0)
+ $level_0 = get_help_content('toc');
+
+ $level_0 = preg_replace('/\<ul(.*?)\>/','<ul class="nav nav-pills nav-stacked">',$level_0);
+
+ $levels = array();
+
+
+ if(argc() > 2) {
+ $path = '';
+ for($x = 1; $x < argc(); $x ++) {
+ $path .= argv($x) . '/';
+ $y = get_help_content($path . 'sitetoc');
+ if(! $y)
+ $y = get_help_content($path . 'toc');
+ if($y)
+ $levels[] = preg_replace('/\<ul(.*?)\>/','<ul class="nav nav-pills nav-stacked">',$y);
+ }
+ }
+
+ if($level_0)
+ $o .= $level_0;
+ if($levels) {
+ foreach($levels as $l) {
+ $o .= '<br /><br />';
+ $o .= $l;
+ }
+ }
+
+ $o .= '</div>';
+
return $o;
}
diff --git a/include/zot.php b/include/zot.php
index c3c924113..1df600abd 100644
--- a/include/zot.php
+++ b/include/zot.php
@@ -1593,7 +1593,7 @@ function process_delivery($sender, $arr, $deliveries, $relay, $public = false, $
}
$channel = $r[0];
- $DR->addto_recipient($channel['channel_name'] . ' <' . $channel['channel_address'] . '@' . App::get_hostname() . '>');
+ $DR->addto_recipient($channel['channel_name'] . ' <' . channel_reddress($channel) . '>');
/* blacklisted channels get a permission denied, no special message to tip them off */
@@ -2082,7 +2082,7 @@ function process_mail_delivery($sender, $arr, $deliveries) {
}
$channel = $r[0];
- $DR->addto_recipient($channel['channel_name'] . ' <' . $channel['channel_address'] . '@' . App::get_hostname() . '>');
+ $DR->addto_recipient($channel['channel_name'] . ' <' . channel_reddress($channel) . '>');
/* blacklisted channels get a permission denied, no special message to tip them off */
@@ -2844,6 +2844,7 @@ function import_site($arr, $pubkey) {
$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_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
@@ -2863,14 +2864,16 @@ function import_site($arr, $pubkey) {
|| ($siterecord['site_location'] != $site_location)
|| ($siterecord['site_register'] != $register_policy)
|| ($siterecord['site_project'] != $site_project)
- || ($siterecord['site_realm'] != $site_realm)) {
+ || ($siterecord['site_realm'] != $site_realm)
+ || ($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'
+ $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'
where site_url = '%s'",
dbesc($site_location),
intval($site_directory),
@@ -2882,6 +2885,7 @@ function import_site($arr, $pubkey) {
dbesc($site_realm),
intval(SITE_TYPE_ZOT),
dbesc($site_project),
+ dbesc($site_version),
dbesc($url)
);
if(! $r) {
@@ -2899,8 +2903,8 @@ function import_site($arr, $pubkey) {
else {
$update = true;
- $r = q("insert into site ( site_location, site_url, site_access, site_flags, site_update, site_directory, site_register, site_sellpage, site_realm, site_type, site_project )
- values ( '%s', '%s', %d, %d, '%s', '%s', %d, '%s', '%s', %d, '%s' )",
+ $r = q("insert into site ( site_location, site_url, site_access, site_flags, site_update, site_directory, site_register, site_sellpage, site_realm, site_type, site_project, site_version )
+ values ( '%s', '%s', %d, %d, '%s', '%s', %d, '%s', '%s', %d, '%s', '%s' )",
dbesc($site_location),
dbesc($url),
intval($access_policy),
@@ -2911,7 +2915,8 @@ function import_site($arr, $pubkey) {
dbesc($sellpage),
dbesc($site_realm),
intval(SITE_TYPE_ZOT),
- dbesc($site_project)
+ dbesc($site_project),
+ dbesc($site_version)
);
if(! $r) {
logger('import_site: record create failed. ' . print_r($arr,true));
@@ -3159,7 +3164,10 @@ function process_channel_sync_delivery($sender, $arr, $deliveries) {
if(array_key_exists('channel',$arr) && is_array($arr['channel']) && count($arr['channel'])) {
- translate_channel_perms_inbound($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'])) {
// These flags cannot be sync'd.
@@ -3527,7 +3535,7 @@ function process_channel_sync_delivery($sender, $arr, $deliveries) {
if(array_key_exists('item',$arr) && is_array($arr['item'][0])) {
$DR = new Zotlabs\Zot\DReport(z_root(),$d['hash'],$d['hash'],$arr['item'][0]['message_id'],'channel sync processed');
- $DR->addto_recipient($channel['channel_name'] . ' <' . $channel['channel_address'] . '@' . App::get_hostname() . '>');
+ $DR->addto_recipient($channel['channel_name'] . ' <' . channel_reddress($channel) . '>');
}
else
$DR = new Zotlabs\Zot\DReport(z_root(),$d['hash'],$d['hash'],'sync packet','channel sync delivered');
@@ -3638,8 +3646,7 @@ function zot_reply_message_request($data) {
if ($messages) {
$env_recips = null;
- $r = q("select * from hubloc where hubloc_hash = '%s' and hubloc_error = 0 and hubloc_deleted = 0
- group by hubloc_sitekey",
+ $r = q("select * from hubloc where hubloc_hash = '%s' and hubloc_error = 0 and hubloc_deleted = 0",
dbesc($sender_hash)
);
if (! $r) {
@@ -3787,18 +3794,12 @@ function zotinfo($arr) {
}
elseif($ztarget_hash) {
// check if it has characteristics of a public forum based on custom permissions.
- $t = q("select * from abconfig where abconfig.cat = 'my_perms' and abconfig.chan = %d and abconfig.xchan = '%s' and abconfig.k in ('tag_deliver', 'send_stream') ",
- intval($e['channel_id']),
- dbesc($ztarget_hash)
- );
-
- $ch = 0;
-
- if($t) {
- foreach($t as $tt) {
- if($tt['k'] == 'tag_deliver' && $tt['v'] == 1)
+ $m = \Zotlabs\Access\Permissions::FilledAutoperms($e['channel_id']);
+ if($m) {
+ foreach($m as $k => $v) {
+ if($k == 'tag_deliver' && intval($v) == 1)
$ch ++;
- if($tt['k'] == 'send_stream' && $tt['v'] == 0)
+ if($k == 'send_stream' && intval($v) == 0)
$ch ++;
}
if($ch == 2)
@@ -3964,9 +3965,6 @@ function zotinfo($arr) {
require_once('include/channel.php');
$ret['site']['channels'] = channel_total();
-
- $ret['site']['version'] = Zotlabs\Lib\System::get_platform_name() . ' ' . STD_VERSION . '[' . DB_UPDATE_VERSION . ']';
-
$ret['site']['admin'] = get_config('system','admin_email');
$visible_plugins = array();
@@ -3984,6 +3982,7 @@ function zotinfo($arr) {
$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();
}
@@ -4035,7 +4034,7 @@ function check_zotinfo($channel,$locations,&$ret) {
dbesc($channel['channel_guid']),
dbesc($channel['channel_guid_sig']),
dbesc($channel['channel_hash']),
- dbesc($channel['channel_address'] . '@' . App::get_hostname()),
+ dbesc(channel_reddress($channel)),
intval(1),
dbesc(z_root()),
dbesc(base64url_encode(rsa_sign(z_root(),$channel['channel_prvkey']))),
diff --git a/install/INSTALL.txt b/install/INSTALL.txt
index 670ad5af5..94ec511d8 100644
--- a/install/INSTALL.txt
+++ b/install/INSTALL.txt
@@ -74,8 +74,8 @@ but may be an issue with nginx or other web server platforms.
1. Requirements
- Apache with mod-rewrite enabled and "AllowOverride All" so you can use a
local .htaccess file. Some folks have successfully used nginx and lighttpd.
- Example config scripts are available for these platforms in doc/install.
- Apache and nginx have the most support.
+ Example config scripts are available for these platforms in the install
+ directory. Apache and nginx have the most support.
- PHP 5.5 or later.
diff --git a/install/htconfig.sample.php b/install/htconfig.sample.php
index e5c743ac1..f37b3dc79 100755
--- a/install/htconfig.sample.php
+++ b/install/htconfig.sample.php
@@ -47,9 +47,9 @@ App::$config['system']['location_hash'] = 'if the auto install failed, put a uni
// Choices are 'basic', 'standard', and 'pro'.
// basic sets up the sevrer for basic social networking and removes "complicated" features
// standard provides most desired features except e-commerce
-// pro gives you access to everything
+// pro gives you access to everything, but removes cross-platform federation/emulation
-App::$config['system']['server_role'] = 'pro';
+App::$config['system']['server_role'] = 'standard';
// These lines set additional security headers to be sent with all responses
diff --git a/install/sample-nginx.conf b/install/sample-nginx.conf
index e9a80d226..85178596a 100644
--- a/install/sample-nginx.conf
+++ b/install/sample-nginx.conf
@@ -92,7 +92,7 @@ server {
# otherwise fall back to front controller
# allow browser to cache them
# added .htm for advanced source code editor library
- location ~* \.(jpg|jpeg|gif|png|ico|css|js|htm|html|ttf|woff|svg)$ {
+ location ~* \.(jpg|jpeg|gif|png|ico|css|js|htm|html|map|ttf|woff|woff2|svg)$ {
expires 30d;
try_files $uri /index.php?q=$uri&$args;
}
diff --git a/install/schema_mysql.sql b/install/schema_mysql.sql
index 5e5b9d5be..d72684a90 100644
--- a/install/schema_mysql.sql
+++ b/install/schema_mysql.sql
@@ -21,10 +21,10 @@ CREATE TABLE IF NOT EXISTS `abook` (
`abook_my_perms` int(11) NOT NULL DEFAULT '0',
`abook_their_perms` int(11) NOT NULL DEFAULT '0',
`abook_closeness` tinyint(3) unsigned NOT NULL DEFAULT '99',
- `abook_created` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
- `abook_updated` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
- `abook_connected` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
- `abook_dob` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
+ `abook_created` datetime NOT NULL DEFAULT '0001-01-01 00:00:00',
+ `abook_updated` datetime NOT NULL DEFAULT '0001-01-01 00:00:00',
+ `abook_connected` datetime NOT NULL DEFAULT '0001-01-01 00:00:00',
+ `abook_dob` datetime NOT NULL DEFAULT '0001-01-01 00:00:00',
`abook_flags` int(11) NOT NULL DEFAULT '0',
`abook_blocked` tinyint(4) NOT NULL DEFAULT '0',
`abook_ignored` tinyint(4) NOT NULL DEFAULT '0',
@@ -70,16 +70,16 @@ CREATE TABLE IF NOT EXISTS `account` (
`account_email` char(255) NOT NULL DEFAULT '',
`account_external` char(255) NOT NULL DEFAULT '',
`account_language` char(16) NOT NULL DEFAULT 'en',
- `account_created` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
- `account_lastlog` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
+ `account_created` datetime NOT NULL DEFAULT '0001-01-01 00:00:00',
+ `account_lastlog` datetime NOT NULL DEFAULT '0001-01-01 00:00:00',
`account_flags` int(10) unsigned NOT NULL DEFAULT '0',
`account_roles` int(10) unsigned NOT NULL DEFAULT '0',
`account_reset` char(255) NOT NULL DEFAULT '',
- `account_expires` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
- `account_expire_notified` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
+ `account_expires` datetime NOT NULL DEFAULT '0001-01-01 00:00:00',
+ `account_expire_notified` datetime NOT NULL DEFAULT '0001-01-01 00:00:00',
`account_service_class` char(32) NOT NULL DEFAULT '',
`account_level` int(10) unsigned NOT NULL DEFAULT '0',
- `account_password_changed` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
+ `account_password_changed` datetime NOT NULL DEFAULT '0001-01-01 00:00:00',
PRIMARY KEY (`account_id`),
KEY `account_email` (`account_email`),
KEY `account_service_class` (`account_service_class`),
@@ -125,8 +125,8 @@ CREATE TABLE IF NOT EXISTS `app` (
`app_requires` char(255) NOT NULL DEFAULT '',
`app_deleted` int(11) NOT NULL DEFAULT '0',
`app_system` int(11) NOT NULL DEFAULT '0',
- `app_created` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
- `app_edited` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
+ `app_created` datetime NOT NULL DEFAULT '0001-01-01 00:00:00',
+ `app_edited` datetime NOT NULL DEFAULT '0001-01-01 00:00:00',
PRIMARY KEY (`id`),
KEY `app_id` (`app_id`),
KEY `app_name` (`app_name`),
@@ -148,7 +148,7 @@ CREATE TABLE IF NOT EXISTS `atoken` (
`atoken_uid` int(11) NOT NULL DEFAULT 0,
`atoken_name` char(255) NOT NULL DEFAULT '',
`atoken_token` char(255) NOT NULL DEFAULT '',
- `atoken_expires` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
+ `atoken_expires` datetime NOT NULL DEFAULT '0001-01-01 00:00:00',
PRIMARY KEY (`atoken_id`),
KEY `atoken_aid` (`atoken_aid`),
KEY `atoken_uid` (`atoken_uid`),
@@ -176,8 +176,8 @@ CREATE TABLE IF NOT EXISTS `attach` (
`os_path` mediumtext NOT NULL,
`display_path` mediumtext NOT NULL,
`content` longblob NOT NULL,
- `created` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
- `edited` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
+ `created` datetime NOT NULL DEFAULT '0001-01-01 00:00:00',
+ `edited` datetime NOT NULL DEFAULT '0001-01-01 00:00:00',
`allow_cid` mediumtext NOT NULL,
`allow_gid` mediumtext NOT NULL,
`deny_cid` mediumtext NOT NULL,
@@ -212,7 +212,7 @@ CREATE TABLE IF NOT EXISTS `auth_codes` (
CREATE TABLE IF NOT EXISTS `cache` (
`k` char(255) NOT NULL DEFAULT '',
`v` text NOT NULL,
- `updated` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
+ `updated` datetime NOT NULL DEFAULT '0001-01-01 00:00:00',
PRIMARY KEY (`k`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
@@ -253,9 +253,9 @@ CREATE TABLE IF NOT EXISTS `channel` (
`channel_prvkey` text NOT NULL,
`channel_notifyflags` int(10) unsigned NOT NULL DEFAULT '65535',
`channel_pageflags` int(10) unsigned NOT NULL DEFAULT '0',
- `channel_dirdate` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
- `channel_lastpost` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
- `channel_deleted` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
+ `channel_dirdate` datetime NOT NULL DEFAULT '0001-01-01 00:00:00',
+ `channel_lastpost` datetime NOT NULL DEFAULT '0001-01-01 00:00:00',
+ `channel_deleted` datetime NOT NULL DEFAULT '0001-01-01 00:00:00',
`channel_max_anon_mail` int(10) unsigned NOT NULL DEFAULT '10',
`channel_max_friend_req` int(10) unsigned NOT NULL DEFAULT '10',
`channel_expire_days` int(11) NOT NULL DEFAULT '0',
@@ -333,7 +333,7 @@ CREATE TABLE IF NOT EXISTS `chat` (
`chat_room` int(10) unsigned NOT NULL DEFAULT '0',
`chat_xchan` char(255) NOT NULL DEFAULT '',
`chat_text` mediumtext NOT NULL,
- `created` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
+ `created` datetime NOT NULL DEFAULT '0001-01-01 00:00:00',
PRIMARY KEY (`chat_id`),
KEY `chat_room` (`chat_room`),
KEY `chat_xchan` (`chat_xchan`),
@@ -344,7 +344,7 @@ CREATE TABLE IF NOT EXISTS `chatpresence` (
`cp_id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`cp_room` int(10) unsigned NOT NULL DEFAULT '0',
`cp_xchan` char(255) NOT NULL DEFAULT '',
- `cp_last` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
+ `cp_last` datetime NOT NULL DEFAULT '0001-01-01 00:00:00',
`cp_status` char(255) NOT NULL DEFAULT '',
`cp_client` char(128) NOT NULL DEFAULT '',
PRIMARY KEY (`cp_id`),
@@ -359,8 +359,8 @@ CREATE TABLE IF NOT EXISTS `chatroom` (
`cr_aid` int(10) unsigned NOT NULL DEFAULT '0',
`cr_uid` int(10) unsigned NOT NULL DEFAULT '0',
`cr_name` char(255) NOT NULL DEFAULT '',
- `cr_created` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
- `cr_edited` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
+ `cr_created` datetime NOT NULL DEFAULT '0001-01-01 00:00:00',
+ `cr_edited` datetime NOT NULL DEFAULT '0001-01-01 00:00:00',
`cr_expire` int(10) unsigned NOT NULL DEFAULT '0',
`allow_cid` mediumtext NOT NULL,
`allow_gid` mediumtext NOT NULL,
@@ -400,8 +400,8 @@ CREATE TABLE IF NOT EXISTS `conv` (
`recips` mediumtext NOT NULL,
`uid` int(11) NOT NULL DEFAULT '0',
`creator` char(255) NOT NULL DEFAULT '',
- `created` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
- `updated` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
+ `created` datetime NOT NULL DEFAULT '0001-01-01 00:00:00',
+ `updated` datetime NOT NULL DEFAULT '0001-01-01 00:00:00',
`subject` mediumtext NOT NULL,
PRIMARY KEY (`id`),
KEY `created` (`created`),
@@ -415,7 +415,7 @@ CREATE TABLE IF NOT EXISTS `dreport` (
`dreport_site` char(255) NOT NULL DEFAULT '',
`dreport_recip` char(255) NOT NULL DEFAULT '',
`dreport_result` char(255) NOT NULL DEFAULT '',
- `dreport_time` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
+ `dreport_time` datetime NOT NULL DEFAULT '0001-01-01 00:00:00',
`dreport_xchan` char(255) NOT NULL DEFAULT '',
`dreport_queue` char(255) NOT NULL DEFAULT '',
PRIMARY KEY (`dreport_id`),
@@ -434,10 +434,10 @@ CREATE TABLE IF NOT EXISTS `event` (
`cal_id` int(11) unsigned NOT NULL DEFAULT '0',
`event_xchan` char(255) NOT NULL DEFAULT '',
`event_hash` char(255) NOT NULL DEFAULT '',
- `created` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
- `edited` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
- `dtstart` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
- `dtend` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
+ `created` datetime NOT NULL DEFAULT '0001-01-01 00:00:00',
+ `edited` datetime NOT NULL DEFAULT '0001-01-01 00:00:00',
+ `dtstart` datetime NOT NULL DEFAULT '0001-01-01 00:00:00',
+ `dtend` datetime NOT NULL DEFAULT '0001-01-01 00:00:00',
`summary` text NOT NULL,
`description` text NOT NULL,
`location` text NOT NULL,
@@ -450,7 +450,7 @@ CREATE TABLE IF NOT EXISTS `event` (
`deny_cid` mediumtext NOT NULL,
`deny_gid` mediumtext NOT NULL,
`event_status` char(255) NOT NULL DEFAULT '',
- `event_status_date` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
+ `event_status_date` datetime NOT NULL DEFAULT '0001-01-01 00:00:00',
`event_percent` smallint(6) NOT NULL DEFAULT '0',
`event_repeat` text NOT NULL,
`event_sequence` smallint(6) NOT NULL DEFAULT '0',
@@ -526,8 +526,8 @@ CREATE TABLE IF NOT EXISTS `hubloc` (
`hubloc_callback` char(255) NOT NULL DEFAULT '',
`hubloc_connect` char(255) NOT NULL DEFAULT '',
`hubloc_sitekey` text NOT NULL,
- `hubloc_updated` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
- `hubloc_connected` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
+ `hubloc_updated` datetime NOT NULL DEFAULT '0001-01-01 00:00:00',
+ `hubloc_connected` datetime NOT NULL DEFAULT '0001-01-01 00:00:00',
`hubloc_primary` tinyint(1) NOT NULL DEFAULT '0',
`hubloc_orphancheck` tinyint(1) NOT NULL DEFAULT '0',
`hubloc_error` tinyint(1) NOT NULL DEFAULT '0',
@@ -566,8 +566,8 @@ CREATE TABLE IF NOT EXISTS `iconfig` (
CREATE TABLE IF NOT EXISTS `issue` (
`issue_id` int(10) unsigned NOT NULL AUTO_INCREMENT,
- `issue_created` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
- `issue_updated` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
+ `issue_created` datetime NOT NULL DEFAULT '0001-01-01 00:00:00',
+ `issue_updated` datetime NOT NULL DEFAULT '0001-01-01 00:00:00',
`issue_assigned` char(255) NOT NULL DEFAULT '',
`issue_priority` int(11) NOT NULL DEFAULT '0',
`issue_status` int(11) NOT NULL DEFAULT '0',
@@ -589,13 +589,13 @@ CREATE TABLE IF NOT EXISTS `item` (
`parent` int(10) unsigned NOT NULL DEFAULT '0',
`parent_mid` char(255) CHARACTER SET ascii NOT NULL DEFAULT '',
`thr_parent` char(255) NOT NULL DEFAULT '',
- `created` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
- `edited` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
- `expires` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
- `commented` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
- `received` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
- `changed` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
- `comments_closed` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
+ `created` datetime NOT NULL DEFAULT '0001-01-01 00:00:00',
+ `edited` datetime NOT NULL DEFAULT '0001-01-01 00:00:00',
+ `expires` datetime NOT NULL DEFAULT '0001-01-01 00:00:00',
+ `commented` datetime NOT NULL DEFAULT '0001-01-01 00:00:00',
+ `received` datetime NOT NULL DEFAULT '0001-01-01 00:00:00',
+ `changed` datetime NOT NULL DEFAULT '0001-01-01 00:00:00',
+ `comments_closed` datetime NOT NULL DEFAULT '0001-01-01 00:00:00',
`owner_xchan` char(255) NOT NULL DEFAULT '',
`author_xchan` char(255) NOT NULL DEFAULT '',
`source_xchan` char(255) NOT NULL DEFAULT '',
@@ -771,8 +771,8 @@ CREATE TABLE IF NOT EXISTS `mail` (
`mail_seen` tinyint(4) NOT NULL DEFAULT '0',
`mail_recalled` tinyint(4) NOT NULL DEFAULT '0',
`mail_obscured` smallint(6) NOT NULL DEFAULT '0',
- `created` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
- `expires` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
+ `created` datetime NOT NULL DEFAULT '0001-01-01 00:00:00',
+ `expires` datetime NOT NULL DEFAULT '0001-01-01 00:00:00',
PRIMARY KEY (`id`),
KEY `created` (`created`),
KEY `mail_flags` (`mail_flags`),
@@ -799,8 +799,8 @@ CREATE TABLE IF NOT EXISTS `menu` (
`menu_name` char(255) NOT NULL DEFAULT '',
`menu_desc` char(255) NOT NULL DEFAULT '',
`menu_flags` int(11) NOT NULL DEFAULT '0',
- `menu_created` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
- `menu_edited` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
+ `menu_created` datetime NOT NULL DEFAULT '0001-01-01 00:00:00',
+ `menu_edited` datetime NOT NULL DEFAULT '0001-01-01 00:00:00',
PRIMARY KEY (`menu_id`),
KEY `menu_channel_id` (`menu_channel_id`),
KEY `menu_name` (`menu_name`),
@@ -833,7 +833,7 @@ CREATE TABLE IF NOT EXISTS `notify` (
`xname` char(255) NOT NULL DEFAULT '',
`url` char(255) NOT NULL DEFAULT '',
`photo` char(255) NOT NULL DEFAULT '',
- `created` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
+ `created` datetime NOT NULL DEFAULT '0001-01-01 00:00:00',
`msg` mediumtext NOT NULL,
`aid` int(11) NOT NULL DEFAULT '0',
`uid` int(11) NOT NULL DEFAULT '0',
@@ -865,8 +865,8 @@ CREATE TABLE IF NOT EXISTS `obj` (
`obj_term` char(255) NOT NULL DEFAULT '',
`obj_url` char(255) NOT NULL DEFAULT '',
`obj_imgurl` char(255) NOT NULL DEFAULT '',
- `obj_created` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
- `obj_edited` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
+ `obj_created` datetime NOT NULL DEFAULT '0001-01-01 00:00:00',
+ `obj_edited` datetime NOT NULL DEFAULT '0001-01-01 00:00:00',
`obj_quantity` int(11) NOT NULL DEFAULT '0',
`allow_cid` mediumtext NOT NULL,
`allow_gid` mediumtext NOT NULL,
@@ -894,8 +894,8 @@ CREATE TABLE IF NOT EXISTS `outq` (
`outq_posturl` char(255) NOT NULL DEFAULT '',
`outq_async` tinyint(1) NOT NULL DEFAULT '0',
`outq_delivered` tinyint(1) NOT NULL DEFAULT '0',
- `outq_created` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
- `outq_updated` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
+ `outq_created` datetime NOT NULL DEFAULT '0001-01-01 00:00:00',
+ `outq_updated` datetime NOT NULL DEFAULT '0001-01-01 00:00:00',
`outq_notify` mediumtext NOT NULL,
`outq_msg` mediumtext NOT NULL,
`outq_priority` smallint(6) NOT NULL DEFAULT '0',
@@ -927,8 +927,8 @@ CREATE TABLE IF NOT EXISTS `photo` (
`uid` int(10) unsigned NOT NULL DEFAULT '0',
`xchan` char(255) NOT NULL DEFAULT '',
`resource_id` char(255) NOT NULL DEFAULT '',
- `created` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
- `edited` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
+ `created` datetime NOT NULL DEFAULT '0001-01-01 00:00:00',
+ `edited` datetime NOT NULL DEFAULT '0001-01-01 00:00:00',
`title` char(255) NOT NULL DEFAULT '',
`description` text NOT NULL,
`album` char(255) NOT NULL DEFAULT '',
@@ -1034,7 +1034,7 @@ CREATE TABLE IF NOT EXISTS `profile` (
`gender` char(32) NOT NULL DEFAULT '',
`marital` char(255) NOT NULL DEFAULT '',
`partner` text NOT NULL,
- `howlong` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
+ `howlong` datetime NOT NULL DEFAULT '0001-01-01 00:00:00',
`sexual` char(255) NOT NULL DEFAULT '',
`politic` char(255) NOT NULL DEFAULT '',
`religion` char(255) NOT NULL DEFAULT '',
@@ -1092,7 +1092,7 @@ CREATE TABLE IF NOT EXISTS `profile_check` (
CREATE TABLE IF NOT EXISTS `register` (
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`hash` char(255) NOT NULL DEFAULT '',
- `created` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
+ `created` datetime NOT NULL DEFAULT '0001-01-01 00:00:00',
`uid` int(10) unsigned NOT NULL DEFAULT '0',
`password` char(255) NOT NULL DEFAULT '',
`lang` char(16) NOT NULL DEFAULT '',
@@ -1139,9 +1139,9 @@ CREATE TABLE IF NOT EXISTS `site` (
`site_url` char(255) NOT NULL,
`site_access` int(11) NOT NULL DEFAULT '0',
`site_flags` int(11) NOT NULL DEFAULT '0',
- `site_update` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
- `site_pull` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
- `site_sync` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
+ `site_update` datetime NOT NULL DEFAULT '0001-01-01 00:00:00',
+ `site_pull` datetime NOT NULL DEFAULT '0001-01-01 00:00:00',
+ `site_sync` datetime NOT NULL DEFAULT '0001-01-01 00:00:00',
`site_directory` char(255) NOT NULL DEFAULT '',
`site_register` int(11) NOT NULL DEFAULT '0',
`site_sellpage` char(255) NOT NULL DEFAULT '',
@@ -1151,6 +1151,7 @@ CREATE TABLE IF NOT EXISTS `site` (
`site_dead` smallint NOT NULL DEFAULT '0',
`site_type` smallint NOT NULL DEFAULT '0',
`site_project` char(255) NOT NULL DEFAULT '',
+ `site_version` varchar(32) NOT NULL DEFAULT '',
PRIMARY KEY (`site_url`),
KEY `site_flags` (`site_flags`),
KEY `site_update` (`site_update`),
@@ -1229,8 +1230,8 @@ CREATE TABLE IF NOT EXISTS `updates` (
`ud_id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`ud_hash` char(128) NOT NULL DEFAULT '',
`ud_guid` char(255) NOT NULL DEFAULT '',
- `ud_date` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
- `ud_last` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
+ `ud_date` datetime NOT NULL DEFAULT '0001-01-01 00:00:00',
+ `ud_last` datetime NOT NULL DEFAULT '0001-01-01 00:00:00',
`ud_flags` int(11) NOT NULL DEFAULT '0',
`ud_addr` char(255) NOT NULL DEFAULT '',
PRIMARY KEY (`ud_id`),
@@ -1248,7 +1249,7 @@ CREATE TABLE IF NOT EXISTS `verify` (
`vtype` char(32) NOT NULL DEFAULT '',
`token` char(255) NOT NULL DEFAULT '',
`meta` char(255) NOT NULL DEFAULT '',
- `created` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
+ `created` datetime NOT NULL DEFAULT '0001-01-01 00:00:00',
PRIMARY KEY (`id`),
KEY `channel` (`channel`),
KEY `vtype` (`vtype`),
@@ -1287,8 +1288,8 @@ CREATE TABLE IF NOT EXISTS `xchan` (
`xchan_network` char(255) NOT NULL DEFAULT '',
`xchan_instance_url` char(255) NOT NULL DEFAULT '',
`xchan_flags` int(10) unsigned NOT NULL DEFAULT '0',
- `xchan_photo_date` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
- `xchan_name_date` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
+ `xchan_photo_date` datetime NOT NULL DEFAULT '0001-01-01 00:00:00',
+ `xchan_name_date` datetime NOT NULL DEFAULT '0001-01-01 00:00:00',
`xchan_hidden` tinyint(1) NOT NULL DEFAULT '0',
`xchan_orphan` tinyint(1) NOT NULL DEFAULT '0',
`xchan_censored` tinyint(1) NOT NULL DEFAULT '0',
@@ -1320,7 +1321,7 @@ CREATE TABLE IF NOT EXISTS `xchat` (
`xchat_url` char(255) NOT NULL DEFAULT '',
`xchat_desc` char(255) NOT NULL DEFAULT '',
`xchat_xchan` char(255) NOT NULL DEFAULT '',
- `xchat_edited` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
+ `xchat_edited` datetime NOT NULL DEFAULT '0001-01-01 00:00:00',
PRIMARY KEY (`xchat_id`),
KEY `xchat_url` (`xchat_url`),
KEY `xchat_desc` (`xchat_desc`),
@@ -1355,7 +1356,7 @@ CREATE TABLE IF NOT EXISTS `xlink` (
`xlink_link` char(255) NOT NULL DEFAULT '',
`xlink_rating` int(11) NOT NULL DEFAULT '0',
`xlink_rating_text` text NOT NULL,
- `xlink_updated` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
+ `xlink_updated` datetime NOT NULL DEFAULT '0001-01-01 00:00:00',
`xlink_static` tinyint(1) NOT NULL DEFAULT '0',
`xlink_sig` text NOT NULL,
PRIMARY KEY (`xlink_id`),
diff --git a/install/schema_postgres.sql b/install/schema_postgres.sql
index f7f8f3ce8..ab9a5cff4 100644
--- a/install/schema_postgres.sql
+++ b/install/schema_postgres.sql
@@ -396,7 +396,7 @@ create index "conv_created_idx" on conv ("created");
create index "conv_updated_idx" on conv ("updated");
CREATE TABLE IF NOT EXISTS "dreport" (
- "dreport_id" int NOT NULL,
+ "dreport_id" serial NOT NULL,
"dreport_channel" int NOT NULL DEFAULT '0',
"dreport_mid" char(255) NOT NULL DEFAULT '',
"dreport_site" char(255) NOT NULL DEFAULT '',
@@ -1131,6 +1131,7 @@ CREATE TABLE "site" (
"site_dead" smallint NOT NULL DEFAULT '0',
"site_type" smallint NOT NULL DEFAULT '0',
"site_project" text NOT NULL DEFAULT '',
+ "site_version" text NOT NULL DEFAULT '',
PRIMARY KEY ("site_url")
);
create index "site_flags" on site ("site_flags");
diff --git a/install/update.php b/install/update.php
index 3d0e5b00d..921d16e2f 100644
--- a/install/update.php
+++ b/install/update.php
@@ -1,6 +1,6 @@
<?php
-define( 'UPDATE_VERSION' , 1181 );
+define( 'UPDATE_VERSION' , 1183 );
/**
*
@@ -54,7 +54,7 @@ function update_r1001() {
`type` CHAR( 32 ) NOT NULL DEFAULT '',
`token` CHAR( 255 ) NOT NULL DEFAULT '',
`meta` CHAR( 255 ) NOT NULL DEFAULT '',
- `created` DATETIME NOT NULL DEFAULT '0000-00-00 00:00:00',
+ `created` DATETIME NOT NULL DEFAULT '0001-01-01 00:00:00',
PRIMARY KEY ( `id` )
) ENGINE = MYISAM DEFAULT CHARSET=utf8");
@@ -92,7 +92,7 @@ function update_r1004() {
$r = q("CREATE TABLE if not exists `site` (
`site_url` CHAR( 255 ) NOT NULL ,
`site_flags` INT NOT NULL DEFAULT '0',
-`site_update` DATETIME NOT NULL DEFAULT '0000-00-00 00:00:00',
+`site_update` DATETIME NOT NULL DEFAULT '0001-01-01 00:00:00',
`site_directory` CHAR( 255 ) NOT NULL DEFAULT '',
PRIMARY KEY ( `site_url` )
) ENGINE = MYISAM DEFAULT CHARSET=utf8");
@@ -174,7 +174,7 @@ function update_r1009() {
function update_r1010() {
- $r = q("ALTER TABLE `abook` ADD `abook_dob` DATETIME NOT NULL DEFAULT '0000-00-00 00:00:00' AFTER `abook_connnected` ,
+ $r = q("ALTER TABLE `abook` ADD `abook_dob` DATETIME NOT NULL DEFAULT '0001-01-01 00:00:00' AFTER `abook_connnected` ,
ADD INDEX ( `abook_dob` )");
$r2 = q("ALTER TABLE `profile` ADD `dob_tz` CHAR( 255 ) NOT NULL DEFAULT 'UTC' AFTER `dob`");
@@ -185,7 +185,7 @@ ADD INDEX ( `abook_dob` )");
}
function update_r1011() {
- $r = q("ALTER TABLE `item` ADD `expires` DATETIME NOT NULL DEFAULT '0000-00-00 00:00:00' AFTER `edited` ,
+ $r = q("ALTER TABLE `item` ADD `expires` DATETIME NOT NULL DEFAULT '0001-01-01 00:00:00' AFTER `edited` ,
ADD INDEX ( `expires` )");
if($r)
@@ -207,7 +207,7 @@ function update_r1013() {
`xlink_id` INT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY ,
`xlink_xchan` CHAR( 255 ) NOT NULL DEFAULT '',
`xlink_link` CHAR( 255 ) NOT NULL DEFAULT '',
-`xlink_updated` DATETIME NOT NULL DEFAULT '0000-00-00 00:00:00'
+`xlink_updated` DATETIME NOT NULL DEFAULT '0001-01-01 00:00:00'
) ENGINE = MYISAM DEFAULT CHARSET=utf8");
$r2 = q("alter table xlink add index ( xlink_xchan ), add index ( xlink_link ), add index ( xlink_updated ) ");
@@ -299,7 +299,7 @@ function update_r1020() {
function update_r1021() {
- $r = q("ALTER TABLE `abook` CHANGE `abook_connnected` `abook_connected` DATETIME NOT NULL DEFAULT '0000-00-00 00:00:00',
+ $r = q("ALTER TABLE `abook` CHANGE `abook_connnected` `abook_connected` DATETIME NOT NULL DEFAULT '0001-01-01 00:00:00',
drop index `abook_connnected`, add index ( `abook_connected` ) ");
if($r)
@@ -363,7 +363,7 @@ ADD INDEX ( `xlink_rating` ) ");
}
function update_r1029() {
- $r = q("ALTER TABLE `channel` ADD `channel_deleted` DATETIME NOT NULL DEFAULT '0000-00-00 00:00:00' AFTER `channel_pageflags` ,
+ $r = q("ALTER TABLE `channel` ADD `channel_deleted` DATETIME NOT NULL DEFAULT '0001-01-01 00:00:00' AFTER `channel_pageflags` ,
ADD INDEX ( `channel_deleted` ) ");
if($r)
return UPDATE_SUCCESS;
@@ -373,8 +373,8 @@ ADD INDEX ( `channel_deleted` ) ");
function update_r1030() {
$r = q("CREATE TABLE IF NOT EXISTS `issue` (
`issue_id` INT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY ,
-`issue_created` DATETIME NOT NULL DEFAULT '0000-00-00 00:00:00',
-`issue_updated` DATETIME NOT NULL DEFAULT '0000-00-00 00:00:00',
+`issue_created` DATETIME NOT NULL DEFAULT '0001-01-01 00:00:00',
+`issue_updated` DATETIME NOT NULL DEFAULT '0001-01-01 00:00:00',
`issue_assigned` CHAR( 255 ) NOT NULL ,
`issue_priority` INT NOT NULL ,
`issue_status` INT NOT NULL ,
@@ -440,7 +440,7 @@ KEY `share_xchan` (`share_xchan`)
function update_r1034() {
$r = q("CREATE TABLE if not exists `updates` (
`ud_hash` CHAR( 128 ) NOT NULL ,
-`ud_date` DATETIME NOT NULL DEFAULT '0000-00-00 00:00:00',
+`ud_date` DATETIME NOT NULL DEFAULT '0001-01-01 00:00:00',
PRIMARY KEY ( `ud_hash` ),
KEY `ud_date` ( `ud_date` )
) ENGINE = MYISAM DEFAULT CHARSET = utf8");
@@ -537,8 +537,8 @@ function update_r1041() {
function update_r1042() {
- $r = q("ALTER TABLE `hubloc` ADD `hubloc_updated` DATETIME NOT NULL DEFAULT '0000-00-00 00:00:00',
-ADD `hubloc_connected` DATETIME NOT NULL DEFAULT '0000-00-00 00:00:00', ADD INDEX ( `hubloc_updated` ), ADD INDEX ( `hubloc_connected` )");
+ $r = q("ALTER TABLE `hubloc` ADD `hubloc_updated` DATETIME NOT NULL DEFAULT '0001-01-01 00:00:00',
+ADD `hubloc_connected` DATETIME NOT NULL DEFAULT '0001-01-01 00:00:00', ADD INDEX ( `hubloc_updated` ), ADD INDEX ( `hubloc_connected` )");
if($r)
return UPDATE_SUCCESS;
return UPDATE_FAILED;
@@ -846,7 +846,7 @@ function update_r1073() {
function update_r1074() {
$r1 = q("ALTER TABLE `site` ADD `site_sync` DATETIME NOT NULL AFTER `site_update` ");
- $r2 = q("ALTER TABLE `updates` ADD `ud_last` DATETIME NOT NULL DEFAULT '0000-00-00 00:00:00' AFTER `ud_date` ,
+ $r2 = q("ALTER TABLE `updates` ADD `ud_last` DATETIME NOT NULL DEFAULT '0001-01-01 00:00:00' AFTER `ud_date` ,
ADD INDEX ( `ud_last` ) ");
if($r1 && $r2)
@@ -879,7 +879,7 @@ function update_r1077() {
}
function update_r1078() {
- $r = q("ALTER TABLE `channel` ADD `channel_dirdate` DATETIME NOT NULL DEFAULT '0000-00-00 00:00:00' AFTER `channel_pageflags` , ADD INDEX ( `channel_dirdate` )");
+ $r = q("ALTER TABLE `channel` ADD `channel_dirdate` DATETIME NOT NULL DEFAULT '0001-01-01 00:00:00' AFTER `channel_pageflags` , ADD INDEX ( `channel_dirdate` )");
if($r)
return UPDATE_SUCCESS;
@@ -894,7 +894,7 @@ function update_r1079() {
}
function update_r1080() {
- $r = q("ALTER TABLE `mail` ADD `expires` DATETIME NOT NULL DEFAULT '0000-00-00 00:00:00',
+ $r = q("ALTER TABLE `mail` ADD `expires` DATETIME NOT NULL DEFAULT '0001-01-01 00:00:00',
ADD INDEX ( `expires` ) ");
if($r)
return UPDATE_SUCCESS;
@@ -1010,7 +1010,7 @@ function update_r1092() {
`chat_room` int(10) unsigned NOT NULL DEFAULT '0',
`chat_xchan` char(255) NOT NULL DEFAULT '',
`chat_text` mediumtext NOT NULL,
- `created` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
+ `created` datetime NOT NULL DEFAULT '0001-01-01 00:00:00',
PRIMARY KEY (`chat_id`),
KEY `chat_room` (`chat_room`),
KEY `chat_xchan` (`chat_xchan`),
@@ -1021,7 +1021,7 @@ function update_r1092() {
`cp_id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`cp_room` int(10) unsigned NOT NULL DEFAULT '0',
`cp_xchan` char(255) NOT NULL DEFAULT '',
- `cp_last` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
+ `cp_last` datetime NOT NULL DEFAULT '0001-01-01 00:00:00',
`cp_status` char(255) NOT NULL,
PRIMARY KEY (`cp_id`),
KEY `cp_room` (`cp_room`),
@@ -1035,8 +1035,8 @@ function update_r1092() {
`cr_aid` int(10) unsigned NOT NULL DEFAULT '0',
`cr_uid` int(10) unsigned NOT NULL DEFAULT '0',
`cr_name` char(255) NOT NULL DEFAULT '',
- `cr_created` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
- `cr_edited` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
+ `cr_created` datetime NOT NULL DEFAULT '0001-01-01 00:00:00',
+ `cr_edited` datetime NOT NULL DEFAULT '0001-01-01 00:00:00',
`allow_cid` mediumtext NOT NULL,
`allow_gid` mediumtext NOT NULL,
`deny_cid` mediumtext NOT NULL,
@@ -1141,7 +1141,7 @@ function update_r1099() {
}
function update_r1100() {
- $r = q("ALTER TABLE `xchat` ADD `xchat_edited` DATETIME NOT NULL DEFAULT '0000-00-00 00:00:00',
+ $r = q("ALTER TABLE `xchat` ADD `xchat_edited` DATETIME NOT NULL DEFAULT '0001-01-01 00:00:00',
ADD INDEX ( `xchat_edited` ) ");
if($r)
return UPDATE_SUCCESS;
@@ -1179,8 +1179,8 @@ function update_r1104() {
}
function update_r1105() {
- $r = q("ALTER TABLE `site` ADD `site_pull` DATETIME NOT NULL DEFAULT '0000-00-00 00:00:00' AFTER `site_update` ,
-CHANGE `site_sync` `site_sync` DATETIME NOT NULL DEFAULT '0000-00-00 00:00:00', ADD INDEX ( `site_pull` ) ");
+ $r = q("ALTER TABLE `site` ADD `site_pull` DATETIME NOT NULL DEFAULT '0001-01-01 00:00:00' AFTER `site_update` ,
+CHANGE `site_sync` `site_sync` DATETIME NOT NULL DEFAULT '0001-01-01 00:00:00', ADD INDEX ( `site_pull` ) ");
if($r)
return UPDATE_SUCCESS;
return UPDATE_FAILED;
@@ -1319,7 +1319,7 @@ DROP INDEX `channel_a_bookmark` , ADD INDEX `channel_w_like` ( `channel_w_like`
}
function update_r1118() {
- $r = q("ALTER TABLE `account` ADD `account_password_changed` DATETIME NOT NULL DEFAULT '0000-00-00 00:00:00',
+ $r = q("ALTER TABLE `account` ADD `account_password_changed` DATETIME NOT NULL DEFAULT '0001-01-01 00:00:00',
ADD INDEX ( `account_password_changed` )");
if($r)
return UPDATE_SUCCESS;
@@ -1411,8 +1411,8 @@ function update_r1124() {
`recips` mediumtext NOT NULL,
`uid` int(11) NOT NULL,
`creator` char(255) NOT NULL,
- `created` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
- `updated` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
+ `created` datetime NOT NULL DEFAULT '0001-01-01 00:00:00',
+ `updated` datetime NOT NULL DEFAULT '0001-01-01 00:00:00',
`subject` mediumtext NOT NULL,
PRIMARY KEY (`id`),
KEY `created` (`created`),
@@ -1445,7 +1445,7 @@ ADD INDEX ( `convid` )");
}
function update_r1127() {
- $r = q("ALTER TABLE `item` ADD `comments_closed` DATETIME NOT NULL DEFAULT '0000-00-00 00:00:00' AFTER `changed` ,
+ $r = q("ALTER TABLE `item` ADD `comments_closed` DATETIME NOT NULL DEFAULT '0001-01-01 00:00:00' AFTER `changed` ,
ADD INDEX ( `comments_closed` ), ADD INDEX ( `changed` ) ");
if($r)
return UPDATE_SUCCESS;
@@ -1597,7 +1597,7 @@ function update_r1139() {
$r = $r1 && $r2;
}
else
- $r = q("ALTER TABLE `channel` ADD `channel_lastpost` DATETIME NOT NULL DEFAULT '0000-00-00 00:00:00' AFTER `channel_dirdate` , ADD INDEX ( `channel_lastpost` ) ");
+ $r = q("ALTER TABLE `channel` ADD `channel_lastpost` DATETIME NOT NULL DEFAULT '0001-01-01 00:00:00' AFTER `channel_dirdate` , ADD INDEX ( `channel_lastpost` ) ");
if($r)
return UPDATE_SUCCESS;
return UPDATE_FAILED;
@@ -1632,7 +1632,7 @@ function update_r1141() {
$r = $r1 && $r2;
}
else
- $r = q("ALTER TABLE menu ADD menu_created DATETIME NOT NULL DEFAULT '0000-00-00 00:00:00', ADD menu_edited DATETIME NOT NULL DEFAULT '0000-00-00 00:00:00', ADD INDEX ( menu_created ), ADD INDEX ( menu_edited ) ");
+ $r = q("ALTER TABLE menu ADD menu_created DATETIME NOT NULL DEFAULT '0001-01-01 00:00:00', ADD menu_edited DATETIME NOT NULL DEFAULT '0001-01-01 00:00:00', ADD INDEX ( menu_created ), ADD INDEX ( menu_edited ) ");
$t = datetime_convert();
q("update menu set menu_created = '%s', menu_edited = '%s' where true",
@@ -1700,7 +1700,7 @@ function update_r1145() {
}
else {
$r = q("ALTER TABLE `event` ADD `event_status` CHAR( 255 ) NOT NULL DEFAULT '',
- ADD `event_status_date` DATETIME NOT NULL DEFAULT '0000-00-00 00:00:00',
+ ADD `event_status_date` DATETIME NOT NULL DEFAULT '0001-01-01 00:00:00',
ADD `event_percent` SMALLINT NOT NULL DEFAULT '0',
ADD `event_repeat` TEXT NOT NULL DEFAULT '',
ADD INDEX ( `event_status` ) ");
@@ -1751,8 +1751,8 @@ function update_r1149() {
$r1 = q("ALTER TABLE obj ADD obj_term CHAR( 255 ) NOT NULL DEFAULT '',
ADD obj_url CHAR( 255 ) NOT NULL DEFAULT '',
ADD obj_imgurl CHAR( 255 ) NOT NULL DEFAULT '',
- ADD obj_created DATETIME NOT NULL DEFAULT '0000-00-00 00:00:00',
- ADD obj_edited DATETIME NOT NULL DEFAULT '0000-00-00 00:00:00' ");
+ ADD obj_created DATETIME NOT NULL DEFAULT '0001-01-01 00:00:00',
+ ADD obj_edited DATETIME NOT NULL DEFAULT '0001-01-01 00:00:00' ");
}
$r2 = q("create index obj_term on obj ( obj_term ) ");
@@ -1774,8 +1774,8 @@ function update_r1150() {
ADD app_edited timestamp NOT NULL DEFAULT '0001-01-01 00:00:00' ");
}
else {
- $r1 = q("ALTER TABLE app ADD app_created DATETIME NOT NULL DEFAULT '0000-00-00 00:00:00',
- ADD app_edited DATETIME NOT NULL DEFAULT '0000-00-00 00:00:00' ");
+ $r1 = q("ALTER TABLE app ADD app_created DATETIME NOT NULL DEFAULT '0001-01-01 00:00:00',
+ ADD app_edited DATETIME NOT NULL DEFAULT '0001-01-01 00:00:00' ");
}
$r2 = q("create index app_created on app ( app_created ) ");
@@ -1810,7 +1810,7 @@ function update_r1152() {
if(ACTIVE_DBTYPE == DBTYPE_POSTGRES) {
$r1 = q("CREATE TABLE IF NOT EXISTS \"dreport\" (
- \"dreport_id\" int(11) NOT NULL,
+ \"dreport_id\" serial NOT NULL,
\"dreport_channel\" int(11) NOT NULL DEFAULT '0',
\"dreport_mid\" char(255) NOT NULL DEFAULT '',
\"dreport_site\" char(255) NOT NULL DEFAULT '',
@@ -1837,7 +1837,7 @@ function update_r1152() {
`dreport_site` char(255) NOT NULL DEFAULT '',
`dreport_recip` char(255) NOT NULL DEFAULT '',
`dreport_result` char(255) NOT NULL DEFAULT '',
- `dreport_time` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
+ `dreport_time` datetime NOT NULL DEFAULT '0001-01-01 00:00:00',
`dreport_xchan` char(255) NOT NULL DEFAULT '',
PRIMARY KEY (`dreport_id`),
KEY `dreport_mid` (`dreport_mid`),
@@ -2197,7 +2197,7 @@ function update_r1173() {
}
else {
$r1 = q("ALTER TABLE notify CHANGE `name` `xname` char(255) NOT NULL DEFAULT '' ");
- $r2 = q("ALTER TABLE notify CHANGE `date` `created` DATETIME NOT NULL DEFAULT '0000-00-00 00:00:00' ");
+ $r2 = q("ALTER TABLE notify CHANGE `date` `created` DATETIME NOT NULL DEFAULT '0001-01-01 00:00:00' ");
$r3 = q("ALTER TABLE notify CHANGE `type` `ntype` smallint(3) NOT NULL DEFAULT '0' ");
}
@@ -2219,8 +2219,8 @@ function update_r1174() {
}
else {
$r1 = q("ALTER TABLE event CHANGE `type` `etype` char(255) NOT NULL DEFAULT '' ");
- $r2 = q("ALTER TABLE event CHANGE `start` `dtstart` DATETIME NOT NULL DEFAULT '0000-00-00 00:00:00' ");
- $r3 = q("ALTER TABLE event CHANGE `finish` `dtend` DATETIME NOT NULL DEFAULT '0000-00-00 00:00:00' ");
+ $r2 = q("ALTER TABLE event CHANGE `start` `dtstart` DATETIME NOT NULL DEFAULT '0001-01-01 00:00:00' ");
+ $r3 = q("ALTER TABLE event CHANGE `finish` `dtend` DATETIME NOT NULL DEFAULT '0001-01-01 00:00:00' ");
$r4 = q("ALTER TABLE event CHANGE `ignore` `dismissed` tinyint(1) NOT NULL DEFAULT '0' ");
$r5 = q("ALTER TABLE attach CHANGE `data` `content` longblob NOT NULL ");
$r6 = q("ALTER TABLE photo CHANGE `data` `content` mediumblob NOT NULL ");
@@ -2389,7 +2389,7 @@ function update_r1179() {
`atoken_uid` int(11) NOT NULL DEFAULT 0,
`atoken_name` char(255) NOT NULL DEFAULT '',
`atoken_token` char(255) NOT NULL DEFAULT '',
- `atoken_expires` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
+ `atoken_expires` datetime NOT NULL DEFAULT '0001-01-01 00:00:00',
PRIMARY KEY (`atoken_id`),
KEY `atoken_aid` (`atoken_aid`),
KEY `atoken_uid` (`atoken_uid`),
@@ -2429,3 +2429,18 @@ function update_r1180() {
return UPDATE_FAILED;
}
+function update_r1181() {
+ if(\Zotlabs\Lib\System::get_server_role() == 'pro') {
+ q("update account set account_level = 5 where true");
+ }
+ return UPDATE_SUCCESS;
+}
+
+function update_r1182() {
+
+ $r1 = q("alter table site add site_version varchar(32) not null default '' ");
+
+ if($r1)
+ return UPDATE_SUCCESS;
+ return UPDATE_FAILED;
+}
diff --git a/library/IXR_Library.php b/library/IXR_Library.php
index 9e2537701..c249c4845 100644
--- a/library/IXR_Library.php
+++ b/library/IXR_Library.php
@@ -44,7 +44,7 @@ class IXR_Value
var $data;
var $type;
- function IXR_Value($data, $type = false)
+ function __construct($data, $type = false)
{
$this->data = $data;
if (!$type) {
@@ -188,7 +188,7 @@ class IXR_Message
// The XML parser
var $_parser;
- function IXR_Message($message)
+ function __construct($message)
{
$this->message =& $message;
}
@@ -346,7 +346,7 @@ class IXR_Server
var $message;
var $capabilities;
- function IXR_Server($callbacks = false, $data = false, $wait = false)
+ function __construct($callbacks = false, $data = false, $wait = false)
{
$this->setCapabilities();
if ($callbacks) {
@@ -549,7 +549,7 @@ class IXR_Request
var $args;
var $xml;
- function IXR_Request($method, $args)
+ function __construct($method, $args)
{
$this->method = $method;
$this->args = $args;
@@ -595,13 +595,13 @@ class IXR_Client
var $useragent;
var $response;
var $message = false;
- var $debug = false;
+ var $debug = true;
var $timeout;
// Storage place for an error message
var $error = false;
- function IXR_Client($server, $path = false, $port = 80, $timeout = 15)
+ function __construct($server, $path = false, $port = 80, $timeout = 15)
{
if (!$path) {
// Assume we have been given a URL instead
@@ -742,7 +742,7 @@ class IXR_Error
var $code;
var $message;
- function IXR_Error($code, $message)
+ function __construct($code, $message)
{
$this->code = $code;
$this->message = htmlspecialchars($message);
@@ -788,7 +788,7 @@ class IXR_Date {
var $second;
var $timezone;
- function IXR_Date($time)
+ function __construct($time)
{
// $time can be a PHP timestamp or an ISO one
if (is_numeric($time)) {
@@ -846,7 +846,7 @@ class IXR_Base64
{
var $data;
- function IXR_Base64($data)
+ function __construct($data)
{
$this->data = $data;
}
@@ -868,7 +868,7 @@ class IXR_IntrospectionServer extends IXR_Server
var $signatures;
var $help;
- function IXR_IntrospectionServer()
+ function __construct()
{
$this->setCallbacks();
$this->setCapabilities();
@@ -1030,7 +1030,7 @@ class IXR_ClientMulticall extends IXR_Client
{
var $calls = array();
- function IXR_ClientMulticall($server, $path = false, $port = 80)
+ function __construct($server, $path = false, $port = 80)
{
parent::IXR_Client($server, $path, $port);
$this->useragent = 'The Incutio XML-RPC PHP Library (multicall client)';
@@ -1101,7 +1101,7 @@ class IXR_ClientSSL extends IXR_Client
* @param string $server URL of the Server to connect to
* @since 0.1.0
*/
- function IXR_ClientSSL($server, $path = false, $port = 443, $timeout = false)
+ function __construct($server, $path = false, $port = 443, $timeout = false)
{
parent::IXR_Client($server, $path, $port, $timeout);
$this->useragent = 'The Incutio XML-RPC PHP Library for SSL';
@@ -1291,7 +1291,7 @@ class IXR_ClassServer extends IXR_Server
var $_objects;
var $_delim;
- function IXR_ClassServer($delim = '.', $wait = false)
+ function __construct($delim = '.', $wait = false)
{
$this->IXR_Server(array(), false, $wait);
$this->_delimiter = $delim;
diff --git a/library/bootstrap/css/bootstrap-theme.css.map b/library/bootstrap/css/bootstrap-theme.css.map
new file mode 100644
index 000000000..d876f60fb
--- /dev/null
+++ b/library/bootstrap/css/bootstrap-theme.css.map
@@ -0,0 +1 @@
+{"version":3,"sources":["bootstrap-theme.css","less/theme.less","less/mixins/vendor-prefixes.less","less/mixins/gradients.less","less/mixins/reset-filter.less"],"names":[],"mappings":"AAAA;;;;GAIG;ACeH;;;;;;EAME,yCAAA;EC2CA,4FAAA;EACQ,oFAAA;CFvDT;ACgBC;;;;;;;;;;;;ECsCA,yDAAA;EACQ,iDAAA;CFxCT;ACMC;;;;;;;;;;;;;;;;;;ECiCA,yBAAA;EACQ,iBAAA;CFnBT;AC/BD;;;;;;EAuBI,kBAAA;CDgBH;ACyBC;;EAEE,uBAAA;CDvBH;AC4BD;EErEI,sEAAA;EACA,iEAAA;EACA,2FAAA;EAAA,oEAAA;EAEA,uHAAA;ECnBF,oEAAA;EH4CA,4BAAA;EACA,sBAAA;EAuC2C,0BAAA;EAA2B,mBAAA;CDjBvE;ACpBC;;EAEE,0BAAA;EACA,6BAAA;CDsBH;ACnBC;;EAEE,0BAAA;EACA,sBAAA;CDqBH;ACfG;;;;;;;;;;;;;;;;;;EAME,0BAAA;EACA,uBAAA;CD6BL;ACbD;EEtEI,yEAAA;EACA,oEAAA;EACA,8FAAA;EAAA,uEAAA;EAEA,uHAAA;ECnBF,oEAAA;EH4CA,4BAAA;EACA,sBAAA;CD8DD;AC5DC;;EAEE,0BAAA;EACA,6BAAA;CD8DH;AC3DC;;EAEE,0BAAA;EACA,sBAAA;CD6DH;ACvDG;;;;;;;;;;;;;;;;;;EAME,0BAAA;EACA,uBAAA;CDqEL;ACpDD;EEvEI,yEAAA;EACA,oEAAA;EACA,8FAAA;EAAA,uEAAA;EAEA,uHAAA;ECnBF,oEAAA;EH4CA,4BAAA;EACA,sBAAA;CDsGD;ACpGC;;EAEE,0BAAA;EACA,6BAAA;CDsGH;ACnGC;;EAEE,0BAAA;EACA,sBAAA;CDqGH;AC/FG;;;;;;;;;;;;;;;;;;EAME,0BAAA;EACA,uBAAA;CD6GL;AC3FD;EExEI,yEAAA;EACA,oEAAA;EACA,8FAAA;EAAA,uEAAA;EAEA,uHAAA;ECnBF,oEAAA;EH4CA,4BAAA;EACA,sBAAA;CD8ID;AC5IC;;EAEE,0BAAA;EACA,6BAAA;CD8IH;AC3IC;;EAEE,0BAAA;EACA,sBAAA;CD6IH;ACvIG;;;;;;;;;;;;;;;;;;EAME,0BAAA;EACA,uBAAA;CDqJL;AClID;EEzEI,yEAAA;EACA,oEAAA;EACA,8FAAA;EAAA,uEAAA;EAEA,uHAAA;ECnBF,oEAAA;EH4CA,4BAAA;EACA,sBAAA;CDsLD;ACpLC;;EAEE,0BAAA;EACA,6BAAA;CDsLH;ACnLC;;EAEE,0BAAA;EACA,sBAAA;CDqLH;AC/KG;;;;;;;;;;;;;;;;;;EAME,0BAAA;EACA,uBAAA;CD6LL;ACzKD;EE1EI,yEAAA;EACA,oEAAA;EACA,8FAAA;EAAA,uEAAA;EAEA,uHAAA;ECnBF,oEAAA;EH4CA,4BAAA;EACA,sBAAA;CD8ND;AC5NC;;EAEE,0BAAA;EACA,6BAAA;CD8NH;AC3NC;;EAEE,0BAAA;EACA,sBAAA;CD6NH;ACvNG;;;;;;;;;;;;;;;;;;EAME,0BAAA;EACA,uBAAA;CDqOL;AC1MD;;EClCE,mDAAA;EACQ,2CAAA;CFgPT;ACrMD;;EE3FI,yEAAA;EACA,oEAAA;EACA,8FAAA;EAAA,uEAAA;EACA,4BAAA;EACA,uHAAA;EF0FF,0BAAA;CD2MD;ACzMD;;;EEhGI,yEAAA;EACA,oEAAA;EACA,8FAAA;EAAA,uEAAA;EACA,4BAAA;EACA,uHAAA;EFgGF,0BAAA;CD+MD;ACtMD;EE7GI,yEAAA;EACA,oEAAA;EACA,8FAAA;EAAA,uEAAA;EACA,4BAAA;EACA,uHAAA;ECnBF,oEAAA;EH+HA,mBAAA;ECjEA,4FAAA;EACQ,oFAAA;CF8QT;ACjND;;EE7GI,yEAAA;EACA,oEAAA;EACA,8FAAA;EAAA,uEAAA;EACA,4BAAA;EACA,uHAAA;ED2CF,yDAAA;EACQ,iDAAA;CFwRT;AC9MD;;EAEE,+CAAA;CDgND;AC5MD;EEhII,sEAAA;EACA,iEAAA;EACA,2FAAA;EAAA,oEAAA;EACA,4BAAA;EACA,uHAAA;ECnBF,oEAAA;EHkJA,mBAAA;CDkND;ACrND;;EEhII,yEAAA;EACA,oEAAA;EACA,8FAAA;EAAA,uEAAA;EACA,4BAAA;EACA,uHAAA;ED2CF,wDAAA;EACQ,gDAAA;CF+ST;AC/ND;;EAYI,0CAAA;CDuNH;AClND;;;EAGE,iBAAA;CDoND;AC/LD;EAfI;;;IAGE,YAAA;IE7JF,yEAAA;IACA,oEAAA;IACA,8FAAA;IAAA,uEAAA;IACA,4BAAA;IACA,uHAAA;GH+WD;CACF;AC3MD;EACE,8CAAA;EC3HA,2FAAA;EACQ,mFAAA;CFyUT;ACnMD;EEtLI,yEAAA;EACA,oEAAA;EACA,8FAAA;EAAA,uEAAA;EACA,4BAAA;EACA,uHAAA;EF8KF,sBAAA;CD+MD;AC1MD;EEvLI,yEAAA;EACA,oEAAA;EACA,8FAAA;EAAA,uEAAA;EACA,4BAAA;EACA,uHAAA;EF8KF,sBAAA;CDuND;ACjND;EExLI,yEAAA;EACA,oEAAA;EACA,8FAAA;EAAA,uEAAA;EACA,4BAAA;EACA,uHAAA;EF8KF,sBAAA;CD+ND;ACxND;EEzLI,yEAAA;EACA,oEAAA;EACA,8FAAA;EAAA,uEAAA;EACA,4BAAA;EACA,uHAAA;EF8KF,sBAAA;CDuOD;ACxND;EEjMI,yEAAA;EACA,oEAAA;EACA,8FAAA;EAAA,uEAAA;EACA,4BAAA;EACA,uHAAA;CH4ZH;ACrND;EE3MI,yEAAA;EACA,oEAAA;EACA,8FAAA;EAAA,uEAAA;EACA,4BAAA;EACA,uHAAA;CHmaH;AC3ND;EE5MI,yEAAA;EACA,oEAAA;EACA,8FAAA;EAAA,uEAAA;EACA,4BAAA;EACA,uHAAA;CH0aH;ACjOD;EE7MI,yEAAA;EACA,oEAAA;EACA,8FAAA;EAAA,uEAAA;EACA,4BAAA;EACA,uHAAA;CHibH;ACvOD;EE9MI,yEAAA;EACA,oEAAA;EACA,8FAAA;EAAA,uEAAA;EACA,4BAAA;EACA,uHAAA;CHwbH;AC7OD;EE/MI,yEAAA;EACA,oEAAA;EACA,8FAAA;EAAA,uEAAA;EACA,4BAAA;EACA,uHAAA;CH+bH;AChPD;EElLI,8MAAA;EACA,yMAAA;EACA,sMAAA;CHqaH;AC5OD;EACE,mBAAA;EC9KA,mDAAA;EACQ,2CAAA;CF6ZT;AC7OD;;;EAGE,8BAAA;EEnOE,yEAAA;EACA,oEAAA;EACA,8FAAA;EAAA,uEAAA;EACA,4BAAA;EACA,uHAAA;EFiOF,sBAAA;CDmPD;ACxPD;;;EAQI,kBAAA;CDqPH;AC3OD;ECnME,kDAAA;EACQ,0CAAA;CFibT;ACrOD;EE5PI,yEAAA;EACA,oEAAA;EACA,8FAAA;EAAA,uEAAA;EACA,4BAAA;EACA,uHAAA;CHoeH;AC3OD;EE7PI,yEAAA;EACA,oEAAA;EACA,8FAAA;EAAA,uEAAA;EACA,4BAAA;EACA,uHAAA;CH2eH;ACjPD;EE9PI,yEAAA;EACA,oEAAA;EACA,8FAAA;EAAA,uEAAA;EACA,4BAAA;EACA,uHAAA;CHkfH;ACvPD;EE/PI,yEAAA;EACA,oEAAA;EACA,8FAAA;EAAA,uEAAA;EACA,4BAAA;EACA,uHAAA;CHyfH;AC7PD;EEhQI,yEAAA;EACA,oEAAA;EACA,8FAAA;EAAA,uEAAA;EACA,4BAAA;EACA,uHAAA;CHggBH;ACnQD;EEjQI,yEAAA;EACA,oEAAA;EACA,8FAAA;EAAA,uEAAA;EACA,4BAAA;EACA,uHAAA;CHugBH;ACnQD;EExQI,yEAAA;EACA,oEAAA;EACA,8FAAA;EAAA,uEAAA;EACA,4BAAA;EACA,uHAAA;EFsQF,sBAAA;EC3NA,0FAAA;EACQ,kFAAA;CFqeT","file":"bootstrap-theme.css","sourcesContent":["/*!\n * Bootstrap v3.3.7 (http://getbootstrap.com)\n * Copyright 2011-2016 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n */\n.btn-default,\n.btn-primary,\n.btn-success,\n.btn-info,\n.btn-warning,\n.btn-danger {\n text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.2);\n -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 1px rgba(0, 0, 0, 0.075);\n box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 1px rgba(0, 0, 0, 0.075);\n}\n.btn-default:active,\n.btn-primary:active,\n.btn-success:active,\n.btn-info:active,\n.btn-warning:active,\n.btn-danger:active,\n.btn-default.active,\n.btn-primary.active,\n.btn-success.active,\n.btn-info.active,\n.btn-warning.active,\n.btn-danger.active {\n -webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);\n box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);\n}\n.btn-default.disabled,\n.btn-primary.disabled,\n.btn-success.disabled,\n.btn-info.disabled,\n.btn-warning.disabled,\n.btn-danger.disabled,\n.btn-default[disabled],\n.btn-primary[disabled],\n.btn-success[disabled],\n.btn-info[disabled],\n.btn-warning[disabled],\n.btn-danger[disabled],\nfieldset[disabled] .btn-default,\nfieldset[disabled] .btn-primary,\nfieldset[disabled] .btn-success,\nfieldset[disabled] .btn-info,\nfieldset[disabled] .btn-warning,\nfieldset[disabled] .btn-danger {\n -webkit-box-shadow: none;\n box-shadow: none;\n}\n.btn-default .badge,\n.btn-primary .badge,\n.btn-success .badge,\n.btn-info .badge,\n.btn-warning .badge,\n.btn-danger .badge {\n text-shadow: none;\n}\n.btn:active,\n.btn.active {\n background-image: none;\n}\n.btn-default {\n background-image: -webkit-linear-gradient(top, #fff 0%, #e0e0e0 100%);\n background-image: -o-linear-gradient(top, #fff 0%, #e0e0e0 100%);\n background-image: linear-gradient(to bottom, #fff 0%, #e0e0e0 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff', endColorstr='#ffe0e0e0', GradientType=0);\n filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);\n background-repeat: repeat-x;\n border-color: #dbdbdb;\n text-shadow: 0 1px 0 #fff;\n border-color: #ccc;\n}\n.btn-default:hover,\n.btn-default:focus {\n background-color: #e0e0e0;\n background-position: 0 -15px;\n}\n.btn-default:active,\n.btn-default.active {\n background-color: #e0e0e0;\n border-color: #dbdbdb;\n}\n.btn-default.disabled,\n.btn-default[disabled],\nfieldset[disabled] .btn-default,\n.btn-default.disabled:hover,\n.btn-default[disabled]:hover,\nfieldset[disabled] .btn-default:hover,\n.btn-default.disabled:focus,\n.btn-default[disabled]:focus,\nfieldset[disabled] .btn-default:focus,\n.btn-default.disabled.focus,\n.btn-default[disabled].focus,\nfieldset[disabled] .btn-default.focus,\n.btn-default.disabled:active,\n.btn-default[disabled]:active,\nfieldset[disabled] .btn-default:active,\n.btn-default.disabled.active,\n.btn-default[disabled].active,\nfieldset[disabled] .btn-default.active {\n background-color: #e0e0e0;\n background-image: none;\n}\n.btn-primary {\n background-image: -webkit-linear-gradient(top, #337ab7 0%, #265a88 100%);\n background-image: -o-linear-gradient(top, #337ab7 0%, #265a88 100%);\n background-image: linear-gradient(to bottom, #337ab7 0%, #265a88 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff265a88', GradientType=0);\n filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);\n background-repeat: repeat-x;\n border-color: #245580;\n}\n.btn-primary:hover,\n.btn-primary:focus {\n background-color: #265a88;\n background-position: 0 -15px;\n}\n.btn-primary:active,\n.btn-primary.active {\n background-color: #265a88;\n border-color: #245580;\n}\n.btn-primary.disabled,\n.btn-primary[disabled],\nfieldset[disabled] .btn-primary,\n.btn-primary.disabled:hover,\n.btn-primary[disabled]:hover,\nfieldset[disabled] .btn-primary:hover,\n.btn-primary.disabled:focus,\n.btn-primary[disabled]:focus,\nfieldset[disabled] .btn-primary:focus,\n.btn-primary.disabled.focus,\n.btn-primary[disabled].focus,\nfieldset[disabled] .btn-primary.focus,\n.btn-primary.disabled:active,\n.btn-primary[disabled]:active,\nfieldset[disabled] .btn-primary:active,\n.btn-primary.disabled.active,\n.btn-primary[disabled].active,\nfieldset[disabled] .btn-primary.active {\n background-color: #265a88;\n background-image: none;\n}\n.btn-success {\n background-image: -webkit-linear-gradient(top, #5cb85c 0%, #419641 100%);\n background-image: -o-linear-gradient(top, #5cb85c 0%, #419641 100%);\n background-image: linear-gradient(to bottom, #5cb85c 0%, #419641 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5cb85c', endColorstr='#ff419641', GradientType=0);\n filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);\n background-repeat: repeat-x;\n border-color: #3e8f3e;\n}\n.btn-success:hover,\n.btn-success:focus {\n background-color: #419641;\n background-position: 0 -15px;\n}\n.btn-success:active,\n.btn-success.active {\n background-color: #419641;\n border-color: #3e8f3e;\n}\n.btn-success.disabled,\n.btn-success[disabled],\nfieldset[disabled] .btn-success,\n.btn-success.disabled:hover,\n.btn-success[disabled]:hover,\nfieldset[disabled] .btn-success:hover,\n.btn-success.disabled:focus,\n.btn-success[disabled]:focus,\nfieldset[disabled] .btn-success:focus,\n.btn-success.disabled.focus,\n.btn-success[disabled].focus,\nfieldset[disabled] .btn-success.focus,\n.btn-success.disabled:active,\n.btn-success[disabled]:active,\nfieldset[disabled] .btn-success:active,\n.btn-success.disabled.active,\n.btn-success[disabled].active,\nfieldset[disabled] .btn-success.active {\n background-color: #419641;\n background-image: none;\n}\n.btn-info {\n background-image: -webkit-linear-gradient(top, #5bc0de 0%, #2aabd2 100%);\n background-image: -o-linear-gradient(top, #5bc0de 0%, #2aabd2 100%);\n background-image: linear-gradient(to bottom, #5bc0de 0%, #2aabd2 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5bc0de', endColorstr='#ff2aabd2', GradientType=0);\n filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);\n background-repeat: repeat-x;\n border-color: #28a4c9;\n}\n.btn-info:hover,\n.btn-info:focus {\n background-color: #2aabd2;\n background-position: 0 -15px;\n}\n.btn-info:active,\n.btn-info.active {\n background-color: #2aabd2;\n border-color: #28a4c9;\n}\n.btn-info.disabled,\n.btn-info[disabled],\nfieldset[disabled] .btn-info,\n.btn-info.disabled:hover,\n.btn-info[disabled]:hover,\nfieldset[disabled] .btn-info:hover,\n.btn-info.disabled:focus,\n.btn-info[disabled]:focus,\nfieldset[disabled] .btn-info:focus,\n.btn-info.disabled.focus,\n.btn-info[disabled].focus,\nfieldset[disabled] .btn-info.focus,\n.btn-info.disabled:active,\n.btn-info[disabled]:active,\nfieldset[disabled] .btn-info:active,\n.btn-info.disabled.active,\n.btn-info[disabled].active,\nfieldset[disabled] .btn-info.active {\n background-color: #2aabd2;\n background-image: none;\n}\n.btn-warning {\n background-image: -webkit-linear-gradient(top, #f0ad4e 0%, #eb9316 100%);\n background-image: -o-linear-gradient(top, #f0ad4e 0%, #eb9316 100%);\n background-image: linear-gradient(to bottom, #f0ad4e 0%, #eb9316 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff0ad4e', endColorstr='#ffeb9316', GradientType=0);\n filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);\n background-repeat: repeat-x;\n border-color: #e38d13;\n}\n.btn-warning:hover,\n.btn-warning:focus {\n background-color: #eb9316;\n background-position: 0 -15px;\n}\n.btn-warning:active,\n.btn-warning.active {\n background-color: #eb9316;\n border-color: #e38d13;\n}\n.btn-warning.disabled,\n.btn-warning[disabled],\nfieldset[disabled] .btn-warning,\n.btn-warning.disabled:hover,\n.btn-warning[disabled]:hover,\nfieldset[disabled] .btn-warning:hover,\n.btn-warning.disabled:focus,\n.btn-warning[disabled]:focus,\nfieldset[disabled] .btn-warning:focus,\n.btn-warning.disabled.focus,\n.btn-warning[disabled].focus,\nfieldset[disabled] .btn-warning.focus,\n.btn-warning.disabled:active,\n.btn-warning[disabled]:active,\nfieldset[disabled] .btn-warning:active,\n.btn-warning.disabled.active,\n.btn-warning[disabled].active,\nfieldset[disabled] .btn-warning.active {\n background-color: #eb9316;\n background-image: none;\n}\n.btn-danger {\n background-image: -webkit-linear-gradient(top, #d9534f 0%, #c12e2a 100%);\n background-image: -o-linear-gradient(top, #d9534f 0%, #c12e2a 100%);\n background-image: linear-gradient(to bottom, #d9534f 0%, #c12e2a 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9534f', endColorstr='#ffc12e2a', GradientType=0);\n filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);\n background-repeat: repeat-x;\n border-color: #b92c28;\n}\n.btn-danger:hover,\n.btn-danger:focus {\n background-color: #c12e2a;\n background-position: 0 -15px;\n}\n.btn-danger:active,\n.btn-danger.active {\n background-color: #c12e2a;\n border-color: #b92c28;\n}\n.btn-danger.disabled,\n.btn-danger[disabled],\nfieldset[disabled] .btn-danger,\n.btn-danger.disabled:hover,\n.btn-danger[disabled]:hover,\nfieldset[disabled] .btn-danger:hover,\n.btn-danger.disabled:focus,\n.btn-danger[disabled]:focus,\nfieldset[disabled] .btn-danger:focus,\n.btn-danger.disabled.focus,\n.btn-danger[disabled].focus,\nfieldset[disabled] .btn-danger.focus,\n.btn-danger.disabled:active,\n.btn-danger[disabled]:active,\nfieldset[disabled] .btn-danger:active,\n.btn-danger.disabled.active,\n.btn-danger[disabled].active,\nfieldset[disabled] .btn-danger.active {\n background-color: #c12e2a;\n background-image: none;\n}\n.thumbnail,\n.img-thumbnail {\n -webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.075);\n box-shadow: 0 1px 2px rgba(0, 0, 0, 0.075);\n}\n.dropdown-menu > li > a:hover,\n.dropdown-menu > li > a:focus {\n background-image: -webkit-linear-gradient(top, #f5f5f5 0%, #e8e8e8 100%);\n background-image: -o-linear-gradient(top, #f5f5f5 0%, #e8e8e8 100%);\n background-image: linear-gradient(to bottom, #f5f5f5 0%, #e8e8e8 100%);\n background-repeat: repeat-x;\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff5f5f5', endColorstr='#ffe8e8e8', GradientType=0);\n background-color: #e8e8e8;\n}\n.dropdown-menu > .active > a,\n.dropdown-menu > .active > a:hover,\n.dropdown-menu > .active > a:focus {\n background-image: -webkit-linear-gradient(top, #337ab7 0%, #2e6da4 100%);\n background-image: -o-linear-gradient(top, #337ab7 0%, #2e6da4 100%);\n background-image: linear-gradient(to bottom, #337ab7 0%, #2e6da4 100%);\n background-repeat: repeat-x;\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff2e6da4', GradientType=0);\n background-color: #2e6da4;\n}\n.navbar-default {\n background-image: -webkit-linear-gradient(top, #ffffff 0%, #f8f8f8 100%);\n background-image: -o-linear-gradient(top, #ffffff 0%, #f8f8f8 100%);\n background-image: linear-gradient(to bottom, #ffffff 0%, #f8f8f8 100%);\n background-repeat: repeat-x;\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff', endColorstr='#fff8f8f8', GradientType=0);\n filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);\n border-radius: 4px;\n -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 5px rgba(0, 0, 0, 0.075);\n box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 5px rgba(0, 0, 0, 0.075);\n}\n.navbar-default .navbar-nav > .open > a,\n.navbar-default .navbar-nav > .active > a {\n background-image: -webkit-linear-gradient(top, #dbdbdb 0%, #e2e2e2 100%);\n background-image: -o-linear-gradient(top, #dbdbdb 0%, #e2e2e2 100%);\n background-image: linear-gradient(to bottom, #dbdbdb 0%, #e2e2e2 100%);\n background-repeat: repeat-x;\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffdbdbdb', endColorstr='#ffe2e2e2', GradientType=0);\n -webkit-box-shadow: inset 0 3px 9px rgba(0, 0, 0, 0.075);\n box-shadow: inset 0 3px 9px rgba(0, 0, 0, 0.075);\n}\n.navbar-brand,\n.navbar-nav > li > a {\n text-shadow: 0 1px 0 rgba(255, 255, 255, 0.25);\n}\n.navbar-inverse {\n background-image: -webkit-linear-gradient(top, #3c3c3c 0%, #222 100%);\n background-image: -o-linear-gradient(top, #3c3c3c 0%, #222 100%);\n background-image: linear-gradient(to bottom, #3c3c3c 0%, #222 100%);\n background-repeat: repeat-x;\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff3c3c3c', endColorstr='#ff222222', GradientType=0);\n filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);\n border-radius: 4px;\n}\n.navbar-inverse .navbar-nav > .open > a,\n.navbar-inverse .navbar-nav > .active > a {\n background-image: -webkit-linear-gradient(top, #080808 0%, #0f0f0f 100%);\n background-image: -o-linear-gradient(top, #080808 0%, #0f0f0f 100%);\n background-image: linear-gradient(to bottom, #080808 0%, #0f0f0f 100%);\n background-repeat: repeat-x;\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff080808', endColorstr='#ff0f0f0f', GradientType=0);\n -webkit-box-shadow: inset 0 3px 9px rgba(0, 0, 0, 0.25);\n box-shadow: inset 0 3px 9px rgba(0, 0, 0, 0.25);\n}\n.navbar-inverse .navbar-brand,\n.navbar-inverse .navbar-nav > li > a {\n text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);\n}\n.navbar-static-top,\n.navbar-fixed-top,\n.navbar-fixed-bottom {\n border-radius: 0;\n}\n@media (max-width: 767px) {\n .navbar .navbar-nav .open .dropdown-menu > .active > a,\n .navbar .navbar-nav .open .dropdown-menu > .active > a:hover,\n .navbar .navbar-nav .open .dropdown-menu > .active > a:focus {\n color: #fff;\n background-image: -webkit-linear-gradient(top, #337ab7 0%, #2e6da4 100%);\n background-image: -o-linear-gradient(top, #337ab7 0%, #2e6da4 100%);\n background-image: linear-gradient(to bottom, #337ab7 0%, #2e6da4 100%);\n background-repeat: repeat-x;\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff2e6da4', GradientType=0);\n }\n}\n.alert {\n text-shadow: 0 1px 0 rgba(255, 255, 255, 0.2);\n -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.25), 0 1px 2px rgba(0, 0, 0, 0.05);\n box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.25), 0 1px 2px rgba(0, 0, 0, 0.05);\n}\n.alert-success {\n background-image: -webkit-linear-gradient(top, #dff0d8 0%, #c8e5bc 100%);\n background-image: -o-linear-gradient(top, #dff0d8 0%, #c8e5bc 100%);\n background-image: linear-gradient(to bottom, #dff0d8 0%, #c8e5bc 100%);\n background-repeat: repeat-x;\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffdff0d8', endColorstr='#ffc8e5bc', GradientType=0);\n border-color: #b2dba1;\n}\n.alert-info {\n background-image: -webkit-linear-gradient(top, #d9edf7 0%, #b9def0 100%);\n background-image: -o-linear-gradient(top, #d9edf7 0%, #b9def0 100%);\n background-image: linear-gradient(to bottom, #d9edf7 0%, #b9def0 100%);\n background-repeat: repeat-x;\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9edf7', endColorstr='#ffb9def0', GradientType=0);\n border-color: #9acfea;\n}\n.alert-warning {\n background-image: -webkit-linear-gradient(top, #fcf8e3 0%, #f8efc0 100%);\n background-image: -o-linear-gradient(top, #fcf8e3 0%, #f8efc0 100%);\n background-image: linear-gradient(to bottom, #fcf8e3 0%, #f8efc0 100%);\n background-repeat: repeat-x;\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffcf8e3', endColorstr='#fff8efc0', GradientType=0);\n border-color: #f5e79e;\n}\n.alert-danger {\n background-image: -webkit-linear-gradient(top, #f2dede 0%, #e7c3c3 100%);\n background-image: -o-linear-gradient(top, #f2dede 0%, #e7c3c3 100%);\n background-image: linear-gradient(to bottom, #f2dede 0%, #e7c3c3 100%);\n background-repeat: repeat-x;\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff2dede', endColorstr='#ffe7c3c3', GradientType=0);\n border-color: #dca7a7;\n}\n.progress {\n background-image: -webkit-linear-gradient(top, #ebebeb 0%, #f5f5f5 100%);\n background-image: -o-linear-gradient(top, #ebebeb 0%, #f5f5f5 100%);\n background-image: linear-gradient(to bottom, #ebebeb 0%, #f5f5f5 100%);\n background-repeat: repeat-x;\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffebebeb', endColorstr='#fff5f5f5', GradientType=0);\n}\n.progress-bar {\n background-image: -webkit-linear-gradient(top, #337ab7 0%, #286090 100%);\n background-image: -o-linear-gradient(top, #337ab7 0%, #286090 100%);\n background-image: linear-gradient(to bottom, #337ab7 0%, #286090 100%);\n background-repeat: repeat-x;\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff286090', GradientType=0);\n}\n.progress-bar-success {\n background-image: -webkit-linear-gradient(top, #5cb85c 0%, #449d44 100%);\n background-image: -o-linear-gradient(top, #5cb85c 0%, #449d44 100%);\n background-image: linear-gradient(to bottom, #5cb85c 0%, #449d44 100%);\n background-repeat: repeat-x;\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5cb85c', endColorstr='#ff449d44', GradientType=0);\n}\n.progress-bar-info {\n background-image: -webkit-linear-gradient(top, #5bc0de 0%, #31b0d5 100%);\n background-image: -o-linear-gradient(top, #5bc0de 0%, #31b0d5 100%);\n background-image: linear-gradient(to bottom, #5bc0de 0%, #31b0d5 100%);\n background-repeat: repeat-x;\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5bc0de', endColorstr='#ff31b0d5', GradientType=0);\n}\n.progress-bar-warning {\n background-image: -webkit-linear-gradient(top, #f0ad4e 0%, #ec971f 100%);\n background-image: -o-linear-gradient(top, #f0ad4e 0%, #ec971f 100%);\n background-image: linear-gradient(to bottom, #f0ad4e 0%, #ec971f 100%);\n background-repeat: repeat-x;\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff0ad4e', endColorstr='#ffec971f', GradientType=0);\n}\n.progress-bar-danger {\n background-image: -webkit-linear-gradient(top, #d9534f 0%, #c9302c 100%);\n background-image: -o-linear-gradient(top, #d9534f 0%, #c9302c 100%);\n background-image: linear-gradient(to bottom, #d9534f 0%, #c9302c 100%);\n background-repeat: repeat-x;\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9534f', endColorstr='#ffc9302c', GradientType=0);\n}\n.progress-bar-striped {\n background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n}\n.list-group {\n border-radius: 4px;\n -webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.075);\n box-shadow: 0 1px 2px rgba(0, 0, 0, 0.075);\n}\n.list-group-item.active,\n.list-group-item.active:hover,\n.list-group-item.active:focus {\n text-shadow: 0 -1px 0 #286090;\n background-image: -webkit-linear-gradient(top, #337ab7 0%, #2b669a 100%);\n background-image: -o-linear-gradient(top, #337ab7 0%, #2b669a 100%);\n background-image: linear-gradient(to bottom, #337ab7 0%, #2b669a 100%);\n background-repeat: repeat-x;\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff2b669a', GradientType=0);\n border-color: #2b669a;\n}\n.list-group-item.active .badge,\n.list-group-item.active:hover .badge,\n.list-group-item.active:focus .badge {\n text-shadow: none;\n}\n.panel {\n -webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);\n box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);\n}\n.panel-default > .panel-heading {\n background-image: -webkit-linear-gradient(top, #f5f5f5 0%, #e8e8e8 100%);\n background-image: -o-linear-gradient(top, #f5f5f5 0%, #e8e8e8 100%);\n background-image: linear-gradient(to bottom, #f5f5f5 0%, #e8e8e8 100%);\n background-repeat: repeat-x;\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff5f5f5', endColorstr='#ffe8e8e8', GradientType=0);\n}\n.panel-primary > .panel-heading {\n background-image: -webkit-linear-gradient(top, #337ab7 0%, #2e6da4 100%);\n background-image: -o-linear-gradient(top, #337ab7 0%, #2e6da4 100%);\n background-image: linear-gradient(to bottom, #337ab7 0%, #2e6da4 100%);\n background-repeat: repeat-x;\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff2e6da4', GradientType=0);\n}\n.panel-success > .panel-heading {\n background-image: -webkit-linear-gradient(top, #dff0d8 0%, #d0e9c6 100%);\n background-image: -o-linear-gradient(top, #dff0d8 0%, #d0e9c6 100%);\n background-image: linear-gradient(to bottom, #dff0d8 0%, #d0e9c6 100%);\n background-repeat: repeat-x;\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffdff0d8', endColorstr='#ffd0e9c6', GradientType=0);\n}\n.panel-info > .panel-heading {\n background-image: -webkit-linear-gradient(top, #d9edf7 0%, #c4e3f3 100%);\n background-image: -o-linear-gradient(top, #d9edf7 0%, #c4e3f3 100%);\n background-image: linear-gradient(to bottom, #d9edf7 0%, #c4e3f3 100%);\n background-repeat: repeat-x;\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9edf7', endColorstr='#ffc4e3f3', GradientType=0);\n}\n.panel-warning > .panel-heading {\n background-image: -webkit-linear-gradient(top, #fcf8e3 0%, #faf2cc 100%);\n background-image: -o-linear-gradient(top, #fcf8e3 0%, #faf2cc 100%);\n background-image: linear-gradient(to bottom, #fcf8e3 0%, #faf2cc 100%);\n background-repeat: repeat-x;\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffcf8e3', endColorstr='#fffaf2cc', GradientType=0);\n}\n.panel-danger > .panel-heading {\n background-image: -webkit-linear-gradient(top, #f2dede 0%, #ebcccc 100%);\n background-image: -o-linear-gradient(top, #f2dede 0%, #ebcccc 100%);\n background-image: linear-gradient(to bottom, #f2dede 0%, #ebcccc 100%);\n background-repeat: repeat-x;\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff2dede', endColorstr='#ffebcccc', GradientType=0);\n}\n.well {\n background-image: -webkit-linear-gradient(top, #e8e8e8 0%, #f5f5f5 100%);\n background-image: -o-linear-gradient(top, #e8e8e8 0%, #f5f5f5 100%);\n background-image: linear-gradient(to bottom, #e8e8e8 0%, #f5f5f5 100%);\n background-repeat: repeat-x;\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffe8e8e8', endColorstr='#fff5f5f5', GradientType=0);\n border-color: #dcdcdc;\n -webkit-box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.05), 0 1px 0 rgba(255, 255, 255, 0.1);\n box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.05), 0 1px 0 rgba(255, 255, 255, 0.1);\n}\n/*# sourceMappingURL=bootstrap-theme.css.map */","/*!\n * Bootstrap v3.3.7 (http://getbootstrap.com)\n * Copyright 2011-2016 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n */\n\n//\n// Load core variables and mixins\n// --------------------------------------------------\n\n@import \"variables.less\";\n@import \"mixins.less\";\n\n\n//\n// Buttons\n// --------------------------------------------------\n\n// Common styles\n.btn-default,\n.btn-primary,\n.btn-success,\n.btn-info,\n.btn-warning,\n.btn-danger {\n text-shadow: 0 -1px 0 rgba(0,0,0,.2);\n @shadow: inset 0 1px 0 rgba(255,255,255,.15), 0 1px 1px rgba(0,0,0,.075);\n .box-shadow(@shadow);\n\n // Reset the shadow\n &:active,\n &.active {\n .box-shadow(inset 0 3px 5px rgba(0,0,0,.125));\n }\n\n &.disabled,\n &[disabled],\n fieldset[disabled] & {\n .box-shadow(none);\n }\n\n .badge {\n text-shadow: none;\n }\n}\n\n// Mixin for generating new styles\n.btn-styles(@btn-color: #555) {\n #gradient > .vertical(@start-color: @btn-color; @end-color: darken(@btn-color, 12%));\n .reset-filter(); // Disable gradients for IE9 because filter bleeds through rounded corners; see https://github.com/twbs/bootstrap/issues/10620\n background-repeat: repeat-x;\n border-color: darken(@btn-color, 14%);\n\n &:hover,\n &:focus {\n background-color: darken(@btn-color, 12%);\n background-position: 0 -15px;\n }\n\n &:active,\n &.active {\n background-color: darken(@btn-color, 12%);\n border-color: darken(@btn-color, 14%);\n }\n\n &.disabled,\n &[disabled],\n fieldset[disabled] & {\n &,\n &:hover,\n &:focus,\n &.focus,\n &:active,\n &.active {\n background-color: darken(@btn-color, 12%);\n background-image: none;\n }\n }\n}\n\n// Common styles\n.btn {\n // Remove the gradient for the pressed/active state\n &:active,\n &.active {\n background-image: none;\n }\n}\n\n// Apply the mixin to the buttons\n.btn-default { .btn-styles(@btn-default-bg); text-shadow: 0 1px 0 #fff; border-color: #ccc; }\n.btn-primary { .btn-styles(@btn-primary-bg); }\n.btn-success { .btn-styles(@btn-success-bg); }\n.btn-info { .btn-styles(@btn-info-bg); }\n.btn-warning { .btn-styles(@btn-warning-bg); }\n.btn-danger { .btn-styles(@btn-danger-bg); }\n\n\n//\n// Images\n// --------------------------------------------------\n\n.thumbnail,\n.img-thumbnail {\n .box-shadow(0 1px 2px rgba(0,0,0,.075));\n}\n\n\n//\n// Dropdowns\n// --------------------------------------------------\n\n.dropdown-menu > li > a:hover,\n.dropdown-menu > li > a:focus {\n #gradient > .vertical(@start-color: @dropdown-link-hover-bg; @end-color: darken(@dropdown-link-hover-bg, 5%));\n background-color: darken(@dropdown-link-hover-bg, 5%);\n}\n.dropdown-menu > .active > a,\n.dropdown-menu > .active > a:hover,\n.dropdown-menu > .active > a:focus {\n #gradient > .vertical(@start-color: @dropdown-link-active-bg; @end-color: darken(@dropdown-link-active-bg, 5%));\n background-color: darken(@dropdown-link-active-bg, 5%);\n}\n\n\n//\n// Navbar\n// --------------------------------------------------\n\n// Default navbar\n.navbar-default {\n #gradient > .vertical(@start-color: lighten(@navbar-default-bg, 10%); @end-color: @navbar-default-bg);\n .reset-filter(); // Remove gradient in IE<10 to fix bug where dropdowns don't get triggered\n border-radius: @navbar-border-radius;\n @shadow: inset 0 1px 0 rgba(255,255,255,.15), 0 1px 5px rgba(0,0,0,.075);\n .box-shadow(@shadow);\n\n .navbar-nav > .open > a,\n .navbar-nav > .active > a {\n #gradient > .vertical(@start-color: darken(@navbar-default-link-active-bg, 5%); @end-color: darken(@navbar-default-link-active-bg, 2%));\n .box-shadow(inset 0 3px 9px rgba(0,0,0,.075));\n }\n}\n.navbar-brand,\n.navbar-nav > li > a {\n text-shadow: 0 1px 0 rgba(255,255,255,.25);\n}\n\n// Inverted navbar\n.navbar-inverse {\n #gradient > .vertical(@start-color: lighten(@navbar-inverse-bg, 10%); @end-color: @navbar-inverse-bg);\n .reset-filter(); // Remove gradient in IE<10 to fix bug where dropdowns don't get triggered; see https://github.com/twbs/bootstrap/issues/10257\n border-radius: @navbar-border-radius;\n .navbar-nav > .open > a,\n .navbar-nav > .active > a {\n #gradient > .vertical(@start-color: @navbar-inverse-link-active-bg; @end-color: lighten(@navbar-inverse-link-active-bg, 2.5%));\n .box-shadow(inset 0 3px 9px rgba(0,0,0,.25));\n }\n\n .navbar-brand,\n .navbar-nav > li > a {\n text-shadow: 0 -1px 0 rgba(0,0,0,.25);\n }\n}\n\n// Undo rounded corners in static and fixed navbars\n.navbar-static-top,\n.navbar-fixed-top,\n.navbar-fixed-bottom {\n border-radius: 0;\n}\n\n// Fix active state of dropdown items in collapsed mode\n@media (max-width: @grid-float-breakpoint-max) {\n .navbar .navbar-nav .open .dropdown-menu > .active > a {\n &,\n &:hover,\n &:focus {\n color: #fff;\n #gradient > .vertical(@start-color: @dropdown-link-active-bg; @end-color: darken(@dropdown-link-active-bg, 5%));\n }\n }\n}\n\n\n//\n// Alerts\n// --------------------------------------------------\n\n// Common styles\n.alert {\n text-shadow: 0 1px 0 rgba(255,255,255,.2);\n @shadow: inset 0 1px 0 rgba(255,255,255,.25), 0 1px 2px rgba(0,0,0,.05);\n .box-shadow(@shadow);\n}\n\n// Mixin for generating new styles\n.alert-styles(@color) {\n #gradient > .vertical(@start-color: @color; @end-color: darken(@color, 7.5%));\n border-color: darken(@color, 15%);\n}\n\n// Apply the mixin to the alerts\n.alert-success { .alert-styles(@alert-success-bg); }\n.alert-info { .alert-styles(@alert-info-bg); }\n.alert-warning { .alert-styles(@alert-warning-bg); }\n.alert-danger { .alert-styles(@alert-danger-bg); }\n\n\n//\n// Progress bars\n// --------------------------------------------------\n\n// Give the progress background some depth\n.progress {\n #gradient > .vertical(@start-color: darken(@progress-bg, 4%); @end-color: @progress-bg)\n}\n\n// Mixin for generating new styles\n.progress-bar-styles(@color) {\n #gradient > .vertical(@start-color: @color; @end-color: darken(@color, 10%));\n}\n\n// Apply the mixin to the progress bars\n.progress-bar { .progress-bar-styles(@progress-bar-bg); }\n.progress-bar-success { .progress-bar-styles(@progress-bar-success-bg); }\n.progress-bar-info { .progress-bar-styles(@progress-bar-info-bg); }\n.progress-bar-warning { .progress-bar-styles(@progress-bar-warning-bg); }\n.progress-bar-danger { .progress-bar-styles(@progress-bar-danger-bg); }\n\n// Reset the striped class because our mixins don't do multiple gradients and\n// the above custom styles override the new `.progress-bar-striped` in v3.2.0.\n.progress-bar-striped {\n #gradient > .striped();\n}\n\n\n//\n// List groups\n// --------------------------------------------------\n\n.list-group {\n border-radius: @border-radius-base;\n .box-shadow(0 1px 2px rgba(0,0,0,.075));\n}\n.list-group-item.active,\n.list-group-item.active:hover,\n.list-group-item.active:focus {\n text-shadow: 0 -1px 0 darken(@list-group-active-bg, 10%);\n #gradient > .vertical(@start-color: @list-group-active-bg; @end-color: darken(@list-group-active-bg, 7.5%));\n border-color: darken(@list-group-active-border, 7.5%);\n\n .badge {\n text-shadow: none;\n }\n}\n\n\n//\n// Panels\n// --------------------------------------------------\n\n// Common styles\n.panel {\n .box-shadow(0 1px 2px rgba(0,0,0,.05));\n}\n\n// Mixin for generating new styles\n.panel-heading-styles(@color) {\n #gradient > .vertical(@start-color: @color; @end-color: darken(@color, 5%));\n}\n\n// Apply the mixin to the panel headings only\n.panel-default > .panel-heading { .panel-heading-styles(@panel-default-heading-bg); }\n.panel-primary > .panel-heading { .panel-heading-styles(@panel-primary-heading-bg); }\n.panel-success > .panel-heading { .panel-heading-styles(@panel-success-heading-bg); }\n.panel-info > .panel-heading { .panel-heading-styles(@panel-info-heading-bg); }\n.panel-warning > .panel-heading { .panel-heading-styles(@panel-warning-heading-bg); }\n.panel-danger > .panel-heading { .panel-heading-styles(@panel-danger-heading-bg); }\n\n\n//\n// Wells\n// --------------------------------------------------\n\n.well {\n #gradient > .vertical(@start-color: darken(@well-bg, 5%); @end-color: @well-bg);\n border-color: darken(@well-bg, 10%);\n @shadow: inset 0 1px 3px rgba(0,0,0,.05), 0 1px 0 rgba(255,255,255,.1);\n .box-shadow(@shadow);\n}\n","// Vendor Prefixes\n//\n// All vendor mixins are deprecated as of v3.2.0 due to the introduction of\n// Autoprefixer in our Gruntfile. They have been removed in v4.\n\n// - Animations\n// - Backface visibility\n// - Box shadow\n// - Box sizing\n// - Content columns\n// - Hyphens\n// - Placeholder text\n// - Transformations\n// - Transitions\n// - User Select\n\n\n// Animations\n.animation(@animation) {\n -webkit-animation: @animation;\n -o-animation: @animation;\n animation: @animation;\n}\n.animation-name(@name) {\n -webkit-animation-name: @name;\n animation-name: @name;\n}\n.animation-duration(@duration) {\n -webkit-animation-duration: @duration;\n animation-duration: @duration;\n}\n.animation-timing-function(@timing-function) {\n -webkit-animation-timing-function: @timing-function;\n animation-timing-function: @timing-function;\n}\n.animation-delay(@delay) {\n -webkit-animation-delay: @delay;\n animation-delay: @delay;\n}\n.animation-iteration-count(@iteration-count) {\n -webkit-animation-iteration-count: @iteration-count;\n animation-iteration-count: @iteration-count;\n}\n.animation-direction(@direction) {\n -webkit-animation-direction: @direction;\n animation-direction: @direction;\n}\n.animation-fill-mode(@fill-mode) {\n -webkit-animation-fill-mode: @fill-mode;\n animation-fill-mode: @fill-mode;\n}\n\n// Backface visibility\n// Prevent browsers from flickering when using CSS 3D transforms.\n// Default value is `visible`, but can be changed to `hidden`\n\n.backface-visibility(@visibility) {\n -webkit-backface-visibility: @visibility;\n -moz-backface-visibility: @visibility;\n backface-visibility: @visibility;\n}\n\n// Drop shadows\n//\n// Note: Deprecated `.box-shadow()` as of v3.1.0 since all of Bootstrap's\n// supported browsers that have box shadow capabilities now support it.\n\n.box-shadow(@shadow) {\n -webkit-box-shadow: @shadow; // iOS <4.3 & Android <4.1\n box-shadow: @shadow;\n}\n\n// Box sizing\n.box-sizing(@boxmodel) {\n -webkit-box-sizing: @boxmodel;\n -moz-box-sizing: @boxmodel;\n box-sizing: @boxmodel;\n}\n\n// CSS3 Content Columns\n.content-columns(@column-count; @column-gap: @grid-gutter-width) {\n -webkit-column-count: @column-count;\n -moz-column-count: @column-count;\n column-count: @column-count;\n -webkit-column-gap: @column-gap;\n -moz-column-gap: @column-gap;\n column-gap: @column-gap;\n}\n\n// Optional hyphenation\n.hyphens(@mode: auto) {\n word-wrap: break-word;\n -webkit-hyphens: @mode;\n -moz-hyphens: @mode;\n -ms-hyphens: @mode; // IE10+\n -o-hyphens: @mode;\n hyphens: @mode;\n}\n\n// Placeholder text\n.placeholder(@color: @input-color-placeholder) {\n // Firefox\n &::-moz-placeholder {\n color: @color;\n opacity: 1; // Override Firefox's unusual default opacity; see https://github.com/twbs/bootstrap/pull/11526\n }\n &:-ms-input-placeholder { color: @color; } // Internet Explorer 10+\n &::-webkit-input-placeholder { color: @color; } // Safari and Chrome\n}\n\n// Transformations\n.scale(@ratio) {\n -webkit-transform: scale(@ratio);\n -ms-transform: scale(@ratio); // IE9 only\n -o-transform: scale(@ratio);\n transform: scale(@ratio);\n}\n.scale(@ratioX; @ratioY) {\n -webkit-transform: scale(@ratioX, @ratioY);\n -ms-transform: scale(@ratioX, @ratioY); // IE9 only\n -o-transform: scale(@ratioX, @ratioY);\n transform: scale(@ratioX, @ratioY);\n}\n.scaleX(@ratio) {\n -webkit-transform: scaleX(@ratio);\n -ms-transform: scaleX(@ratio); // IE9 only\n -o-transform: scaleX(@ratio);\n transform: scaleX(@ratio);\n}\n.scaleY(@ratio) {\n -webkit-transform: scaleY(@ratio);\n -ms-transform: scaleY(@ratio); // IE9 only\n -o-transform: scaleY(@ratio);\n transform: scaleY(@ratio);\n}\n.skew(@x; @y) {\n -webkit-transform: skewX(@x) skewY(@y);\n -ms-transform: skewX(@x) skewY(@y); // See https://github.com/twbs/bootstrap/issues/4885; IE9+\n -o-transform: skewX(@x) skewY(@y);\n transform: skewX(@x) skewY(@y);\n}\n.translate(@x; @y) {\n -webkit-transform: translate(@x, @y);\n -ms-transform: translate(@x, @y); // IE9 only\n -o-transform: translate(@x, @y);\n transform: translate(@x, @y);\n}\n.translate3d(@x; @y; @z) {\n -webkit-transform: translate3d(@x, @y, @z);\n transform: translate3d(@x, @y, @z);\n}\n.rotate(@degrees) {\n -webkit-transform: rotate(@degrees);\n -ms-transform: rotate(@degrees); // IE9 only\n -o-transform: rotate(@degrees);\n transform: rotate(@degrees);\n}\n.rotateX(@degrees) {\n -webkit-transform: rotateX(@degrees);\n -ms-transform: rotateX(@degrees); // IE9 only\n -o-transform: rotateX(@degrees);\n transform: rotateX(@degrees);\n}\n.rotateY(@degrees) {\n -webkit-transform: rotateY(@degrees);\n -ms-transform: rotateY(@degrees); // IE9 only\n -o-transform: rotateY(@degrees);\n transform: rotateY(@degrees);\n}\n.perspective(@perspective) {\n -webkit-perspective: @perspective;\n -moz-perspective: @perspective;\n perspective: @perspective;\n}\n.perspective-origin(@perspective) {\n -webkit-perspective-origin: @perspective;\n -moz-perspective-origin: @perspective;\n perspective-origin: @perspective;\n}\n.transform-origin(@origin) {\n -webkit-transform-origin: @origin;\n -moz-transform-origin: @origin;\n -ms-transform-origin: @origin; // IE9 only\n transform-origin: @origin;\n}\n\n\n// Transitions\n\n.transition(@transition) {\n -webkit-transition: @transition;\n -o-transition: @transition;\n transition: @transition;\n}\n.transition-property(@transition-property) {\n -webkit-transition-property: @transition-property;\n transition-property: @transition-property;\n}\n.transition-delay(@transition-delay) {\n -webkit-transition-delay: @transition-delay;\n transition-delay: @transition-delay;\n}\n.transition-duration(@transition-duration) {\n -webkit-transition-duration: @transition-duration;\n transition-duration: @transition-duration;\n}\n.transition-timing-function(@timing-function) {\n -webkit-transition-timing-function: @timing-function;\n transition-timing-function: @timing-function;\n}\n.transition-transform(@transition) {\n -webkit-transition: -webkit-transform @transition;\n -moz-transition: -moz-transform @transition;\n -o-transition: -o-transform @transition;\n transition: transform @transition;\n}\n\n\n// User select\n// For selecting text on the page\n\n.user-select(@select) {\n -webkit-user-select: @select;\n -moz-user-select: @select;\n -ms-user-select: @select; // IE10+\n user-select: @select;\n}\n","// Gradients\n\n#gradient {\n\n // Horizontal gradient, from left to right\n //\n // Creates two color stops, start and end, by specifying a color and position for each color stop.\n // Color stops are not available in IE9 and below.\n .horizontal(@start-color: #555; @end-color: #333; @start-percent: 0%; @end-percent: 100%) {\n background-image: -webkit-linear-gradient(left, @start-color @start-percent, @end-color @end-percent); // Safari 5.1-6, Chrome 10+\n background-image: -o-linear-gradient(left, @start-color @start-percent, @end-color @end-percent); // Opera 12\n background-image: linear-gradient(to right, @start-color @start-percent, @end-color @end-percent); // Standard, IE10, Firefox 16+, Opera 12.10+, Safari 7+, Chrome 26+\n background-repeat: repeat-x;\n filter: e(%(\"progid:DXImageTransform.Microsoft.gradient(startColorstr='%d', endColorstr='%d', GradientType=1)\",argb(@start-color),argb(@end-color))); // IE9 and down\n }\n\n // Vertical gradient, from top to bottom\n //\n // Creates two color stops, start and end, by specifying a color and position for each color stop.\n // Color stops are not available in IE9 and below.\n .vertical(@start-color: #555; @end-color: #333; @start-percent: 0%; @end-percent: 100%) {\n background-image: -webkit-linear-gradient(top, @start-color @start-percent, @end-color @end-percent); // Safari 5.1-6, Chrome 10+\n background-image: -o-linear-gradient(top, @start-color @start-percent, @end-color @end-percent); // Opera 12\n background-image: linear-gradient(to bottom, @start-color @start-percent, @end-color @end-percent); // Standard, IE10, Firefox 16+, Opera 12.10+, Safari 7+, Chrome 26+\n background-repeat: repeat-x;\n filter: e(%(\"progid:DXImageTransform.Microsoft.gradient(startColorstr='%d', endColorstr='%d', GradientType=0)\",argb(@start-color),argb(@end-color))); // IE9 and down\n }\n\n .directional(@start-color: #555; @end-color: #333; @deg: 45deg) {\n background-repeat: repeat-x;\n background-image: -webkit-linear-gradient(@deg, @start-color, @end-color); // Safari 5.1-6, Chrome 10+\n background-image: -o-linear-gradient(@deg, @start-color, @end-color); // Opera 12\n background-image: linear-gradient(@deg, @start-color, @end-color); // Standard, IE10, Firefox 16+, Opera 12.10+, Safari 7+, Chrome 26+\n }\n .horizontal-three-colors(@start-color: #00b3ee; @mid-color: #7a43b6; @color-stop: 50%; @end-color: #c3325f) {\n background-image: -webkit-linear-gradient(left, @start-color, @mid-color @color-stop, @end-color);\n background-image: -o-linear-gradient(left, @start-color, @mid-color @color-stop, @end-color);\n background-image: linear-gradient(to right, @start-color, @mid-color @color-stop, @end-color);\n background-repeat: no-repeat;\n filter: e(%(\"progid:DXImageTransform.Microsoft.gradient(startColorstr='%d', endColorstr='%d', GradientType=1)\",argb(@start-color),argb(@end-color))); // IE9 and down, gets no color-stop at all for proper fallback\n }\n .vertical-three-colors(@start-color: #00b3ee; @mid-color: #7a43b6; @color-stop: 50%; @end-color: #c3325f) {\n background-image: -webkit-linear-gradient(@start-color, @mid-color @color-stop, @end-color);\n background-image: -o-linear-gradient(@start-color, @mid-color @color-stop, @end-color);\n background-image: linear-gradient(@start-color, @mid-color @color-stop, @end-color);\n background-repeat: no-repeat;\n filter: e(%(\"progid:DXImageTransform.Microsoft.gradient(startColorstr='%d', endColorstr='%d', GradientType=0)\",argb(@start-color),argb(@end-color))); // IE9 and down, gets no color-stop at all for proper fallback\n }\n .radial(@inner-color: #555; @outer-color: #333) {\n background-image: -webkit-radial-gradient(circle, @inner-color, @outer-color);\n background-image: radial-gradient(circle, @inner-color, @outer-color);\n background-repeat: no-repeat;\n }\n .striped(@color: rgba(255,255,255,.15); @angle: 45deg) {\n background-image: -webkit-linear-gradient(@angle, @color 25%, transparent 25%, transparent 50%, @color 50%, @color 75%, transparent 75%, transparent);\n background-image: -o-linear-gradient(@angle, @color 25%, transparent 25%, transparent 50%, @color 50%, @color 75%, transparent 75%, transparent);\n background-image: linear-gradient(@angle, @color 25%, transparent 25%, transparent 50%, @color 50%, @color 75%, transparent 75%, transparent);\n }\n}\n","// Reset filters for IE\n//\n// When you need to remove a gradient background, do not forget to use this to reset\n// the IE filter for IE9 and below.\n\n.reset-filter() {\n filter: e(%(\"progid:DXImageTransform.Microsoft.gradient(enabled = false)\"));\n}\n"]} \ No newline at end of file
diff --git a/library/bootstrap/css/bootstrap-theme.min.css.map b/library/bootstrap/css/bootstrap-theme.min.css.map
new file mode 100644
index 000000000..94813e900
--- /dev/null
+++ b/library/bootstrap/css/bootstrap-theme.min.css.map
@@ -0,0 +1 @@
+{"version":3,"sources":["less/theme.less","less/mixins/vendor-prefixes.less","less/mixins/gradients.less","less/mixins/reset-filter.less"],"names":[],"mappings":";;;;AAmBA,YAAA,aAAA,UAAA,aAAA,aAAA,aAME,YAAA,EAAA,KAAA,EAAA,eC2CA,mBAAA,MAAA,EAAA,IAAA,EAAA,sBAAA,EAAA,IAAA,IAAA,iBACQ,WAAA,MAAA,EAAA,IAAA,EAAA,sBAAA,EAAA,IAAA,IAAA,iBDvCR,mBAAA,mBAAA,oBAAA,oBAAA,iBAAA,iBAAA,oBAAA,oBAAA,oBAAA,oBAAA,oBAAA,oBCsCA,mBAAA,MAAA,EAAA,IAAA,IAAA,iBACQ,WAAA,MAAA,EAAA,IAAA,IAAA,iBDlCR,qBAAA,sBAAA,sBAAA,uBAAA,mBAAA,oBAAA,sBAAA,uBAAA,sBAAA,uBAAA,sBAAA,uBAAA,+BAAA,gCAAA,6BAAA,gCAAA,gCAAA,gCCiCA,mBAAA,KACQ,WAAA,KDlDV,mBAAA,oBAAA,iBAAA,oBAAA,oBAAA,oBAuBI,YAAA,KAyCF,YAAA,YAEE,iBAAA,KAKJ,aErEI,YAAA,EAAA,IAAA,EAAA,KACA,iBAAA,iDACA,iBAAA,4CAAA,iBAAA,qEAEA,iBAAA,+CCnBF,OAAA,+GH4CA,OAAA,0DACA,kBAAA,SAuC2C,aAAA,QAA2B,aAAA,KArCtE,mBAAA,mBAEE,iBAAA,QACA,oBAAA,EAAA,MAGF,oBAAA,oBAEE,iBAAA,QACA,aAAA,QAMA,sBAAA,6BAAA,4BAAA,6BAAA,4BAAA,4BAAA,uBAAA,8BAAA,6BAAA,8BAAA,6BAAA,6BAAA,gCAAA,uCAAA,sCAAA,uCAAA,sCAAA,sCAME,iBAAA,QACA,iBAAA,KAgBN,aEtEI,iBAAA,oDACA,iBAAA,+CACA,iBAAA,wEAAA,iBAAA,kDAEA,OAAA,+GCnBF,OAAA,0DH4CA,kBAAA,SACA,aAAA,QAEA,mBAAA,mBAEE,iBAAA,QACA,oBAAA,EAAA,MAGF,oBAAA,oBAEE,iBAAA,QACA,aAAA,QAMA,sBAAA,6BAAA,4BAAA,6BAAA,4BAAA,4BAAA,uBAAA,8BAAA,6BAAA,8BAAA,6BAAA,6BAAA,gCAAA,uCAAA,sCAAA,uCAAA,sCAAA,sCAME,iBAAA,QACA,iBAAA,KAiBN,aEvEI,iBAAA,oDACA,iBAAA,+CACA,iBAAA,wEAAA,iBAAA,kDAEA,OAAA,+GCnBF,OAAA,0DH4CA,kBAAA,SACA,aAAA,QAEA,mBAAA,mBAEE,iBAAA,QACA,oBAAA,EAAA,MAGF,oBAAA,oBAEE,iBAAA,QACA,aAAA,QAMA,sBAAA,6BAAA,4BAAA,6BAAA,4BAAA,4BAAA,uBAAA,8BAAA,6BAAA,8BAAA,6BAAA,6BAAA,gCAAA,uCAAA,sCAAA,uCAAA,sCAAA,sCAME,iBAAA,QACA,iBAAA,KAkBN,UExEI,iBAAA,oDACA,iBAAA,+CACA,iBAAA,wEAAA,iBAAA,kDAEA,OAAA,+GCnBF,OAAA,0DH4CA,kBAAA,SACA,aAAA,QAEA,gBAAA,gBAEE,iBAAA,QACA,oBAAA,EAAA,MAGF,iBAAA,iBAEE,iBAAA,QACA,aAAA,QAMA,mBAAA,0BAAA,yBAAA,0BAAA,yBAAA,yBAAA,oBAAA,2BAAA,0BAAA,2BAAA,0BAAA,0BAAA,6BAAA,oCAAA,mCAAA,oCAAA,mCAAA,mCAME,iBAAA,QACA,iBAAA,KAmBN,aEzEI,iBAAA,oDACA,iBAAA,+CACA,iBAAA,wEAAA,iBAAA,kDAEA,OAAA,+GCnBF,OAAA,0DH4CA,kBAAA,SACA,aAAA,QAEA,mBAAA,mBAEE,iBAAA,QACA,oBAAA,EAAA,MAGF,oBAAA,oBAEE,iBAAA,QACA,aAAA,QAMA,sBAAA,6BAAA,4BAAA,6BAAA,4BAAA,4BAAA,uBAAA,8BAAA,6BAAA,8BAAA,6BAAA,6BAAA,gCAAA,uCAAA,sCAAA,uCAAA,sCAAA,sCAME,iBAAA,QACA,iBAAA,KAoBN,YE1EI,iBAAA,oDACA,iBAAA,+CACA,iBAAA,wEAAA,iBAAA,kDAEA,OAAA,+GCnBF,OAAA,0DH4CA,kBAAA,SACA,aAAA,QAEA,kBAAA,kBAEE,iBAAA,QACA,oBAAA,EAAA,MAGF,mBAAA,mBAEE,iBAAA,QACA,aAAA,QAMA,qBAAA,4BAAA,2BAAA,4BAAA,2BAAA,2BAAA,sBAAA,6BAAA,4BAAA,6BAAA,4BAAA,4BAAA,+BAAA,sCAAA,qCAAA,sCAAA,qCAAA,qCAME,iBAAA,QACA,iBAAA,KA2BN,eAAA,WClCE,mBAAA,EAAA,IAAA,IAAA,iBACQ,WAAA,EAAA,IAAA,IAAA,iBD2CV,0BAAA,0BE3FI,iBAAA,QACA,iBAAA,oDACA,iBAAA,+CAAA,iBAAA,wEACA,iBAAA,kDACA,OAAA,+GF0FF,kBAAA,SAEF,yBAAA,+BAAA,+BEhGI,iBAAA,QACA,iBAAA,oDACA,iBAAA,+CAAA,iBAAA,wEACA,iBAAA,kDACA,OAAA,+GFgGF,kBAAA,SASF,gBE7GI,iBAAA,iDACA,iBAAA,4CACA,iBAAA,qEAAA,iBAAA,+CACA,OAAA,+GACA,OAAA,0DCnBF,kBAAA,SH+HA,cAAA,ICjEA,mBAAA,MAAA,EAAA,IAAA,EAAA,sBAAA,EAAA,IAAA,IAAA,iBACQ,WAAA,MAAA,EAAA,IAAA,EAAA,sBAAA,EAAA,IAAA,IAAA,iBD6DV,sCAAA,oCE7GI,iBAAA,oDACA,iBAAA,+CACA,iBAAA,wEAAA,iBAAA,kDACA,OAAA,+GACA,kBAAA,SD2CF,mBAAA,MAAA,EAAA,IAAA,IAAA,iBACQ,WAAA,MAAA,EAAA,IAAA,IAAA,iBD0EV,cAAA,iBAEE,YAAA,EAAA,IAAA,EAAA,sBAIF,gBEhII,iBAAA,iDACA,iBAAA,4CACA,iBAAA,qEAAA,iBAAA,+CACA,OAAA,+GACA,OAAA,0DCnBF,kBAAA,SHkJA,cAAA,IAHF,sCAAA,oCEhII,iBAAA,oDACA,iBAAA,+CACA,iBAAA,wEAAA,iBAAA,kDACA,OAAA,+GACA,kBAAA,SD2CF,mBAAA,MAAA,EAAA,IAAA,IAAA,gBACQ,WAAA,MAAA,EAAA,IAAA,IAAA,gBDgFV,8BAAA,iCAYI,YAAA,EAAA,KAAA,EAAA,gBAKJ,qBAAA,kBAAA,mBAGE,cAAA,EAqBF,yBAfI,mDAAA,yDAAA,yDAGE,MAAA,KE7JF,iBAAA,oDACA,iBAAA,+CACA,iBAAA,wEAAA,iBAAA,kDACA,OAAA,+GACA,kBAAA,UFqKJ,OACE,YAAA,EAAA,IAAA,EAAA,qBC3HA,mBAAA,MAAA,EAAA,IAAA,EAAA,sBAAA,EAAA,IAAA,IAAA,gBACQ,WAAA,MAAA,EAAA,IAAA,EAAA,sBAAA,EAAA,IAAA,IAAA,gBDsIV,eEtLI,iBAAA,oDACA,iBAAA,+CACA,iBAAA,wEAAA,iBAAA,kDACA,OAAA,+GACA,kBAAA,SF8KF,aAAA,QAKF,YEvLI,iBAAA,oDACA,iBAAA,+CACA,iBAAA,wEAAA,iBAAA,kDACA,OAAA,+GACA,kBAAA,SF8KF,aAAA,QAMF,eExLI,iBAAA,oDACA,iBAAA,+CACA,iBAAA,wEAAA,iBAAA,kDACA,OAAA,+GACA,kBAAA,SF8KF,aAAA,QAOF,cEzLI,iBAAA,oDACA,iBAAA,+CACA,iBAAA,wEAAA,iBAAA,kDACA,OAAA,+GACA,kBAAA,SF8KF,aAAA,QAeF,UEjMI,iBAAA,oDACA,iBAAA,+CACA,iBAAA,wEAAA,iBAAA,kDACA,OAAA,+GACA,kBAAA,SFuMJ,cE3MI,iBAAA,oDACA,iBAAA,+CACA,iBAAA,wEAAA,iBAAA,kDACA,OAAA,+GACA,kBAAA,SFwMJ,sBE5MI,iBAAA,oDACA,iBAAA,+CACA,iBAAA,wEAAA,iBAAA,kDACA,OAAA,+GACA,kBAAA,SFyMJ,mBE7MI,iBAAA,oDACA,iBAAA,+CACA,iBAAA,wEAAA,iBAAA,kDACA,OAAA,+GACA,kBAAA,SF0MJ,sBE9MI,iBAAA,oDACA,iBAAA,+CACA,iBAAA,wEAAA,iBAAA,kDACA,OAAA,+GACA,kBAAA,SF2MJ,qBE/MI,iBAAA,oDACA,iBAAA,+CACA,iBAAA,wEAAA,iBAAA,kDACA,OAAA,+GACA,kBAAA,SF+MJ,sBElLI,iBAAA,yKACA,iBAAA,oKACA,iBAAA,iKFyLJ,YACE,cAAA,IC9KA,mBAAA,EAAA,IAAA,IAAA,iBACQ,WAAA,EAAA,IAAA,IAAA,iBDgLV,wBAAA,8BAAA,8BAGE,YAAA,EAAA,KAAA,EAAA,QEnOE,iBAAA,oDACA,iBAAA,+CACA,iBAAA,wEAAA,iBAAA,kDACA,OAAA,+GACA,kBAAA,SFiOF,aAAA,QALF,+BAAA,qCAAA,qCAQI,YAAA,KAUJ,OCnME,mBAAA,EAAA,IAAA,IAAA,gBACQ,WAAA,EAAA,IAAA,IAAA,gBD4MV,8BE5PI,iBAAA,oDACA,iBAAA,+CACA,iBAAA,wEAAA,iBAAA,kDACA,OAAA,+GACA,kBAAA,SFyPJ,8BE7PI,iBAAA,oDACA,iBAAA,+CACA,iBAAA,wEAAA,iBAAA,kDACA,OAAA,+GACA,kBAAA,SF0PJ,8BE9PI,iBAAA,oDACA,iBAAA,+CACA,iBAAA,wEAAA,iBAAA,kDACA,OAAA,+GACA,kBAAA,SF2PJ,2BE/PI,iBAAA,oDACA,iBAAA,+CACA,iBAAA,wEAAA,iBAAA,kDACA,OAAA,+GACA,kBAAA,SF4PJ,8BEhQI,iBAAA,oDACA,iBAAA,+CACA,iBAAA,wEAAA,iBAAA,kDACA,OAAA,+GACA,kBAAA,SF6PJ,6BEjQI,iBAAA,oDACA,iBAAA,+CACA,iBAAA,wEAAA,iBAAA,kDACA,OAAA,+GACA,kBAAA,SFoQJ,MExQI,iBAAA,oDACA,iBAAA,+CACA,iBAAA,wEAAA,iBAAA,kDACA,OAAA,+GACA,kBAAA,SFsQF,aAAA,QC3NA,mBAAA,MAAA,EAAA,IAAA,IAAA,gBAAA,EAAA,IAAA,EAAA,qBACQ,WAAA,MAAA,EAAA,IAAA,IAAA,gBAAA,EAAA,IAAA,EAAA","sourcesContent":["/*!\n * Bootstrap v3.3.7 (http://getbootstrap.com)\n * Copyright 2011-2016 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n */\n\n//\n// Load core variables and mixins\n// --------------------------------------------------\n\n@import \"variables.less\";\n@import \"mixins.less\";\n\n\n//\n// Buttons\n// --------------------------------------------------\n\n// Common styles\n.btn-default,\n.btn-primary,\n.btn-success,\n.btn-info,\n.btn-warning,\n.btn-danger {\n text-shadow: 0 -1px 0 rgba(0,0,0,.2);\n @shadow: inset 0 1px 0 rgba(255,255,255,.15), 0 1px 1px rgba(0,0,0,.075);\n .box-shadow(@shadow);\n\n // Reset the shadow\n &:active,\n &.active {\n .box-shadow(inset 0 3px 5px rgba(0,0,0,.125));\n }\n\n &.disabled,\n &[disabled],\n fieldset[disabled] & {\n .box-shadow(none);\n }\n\n .badge {\n text-shadow: none;\n }\n}\n\n// Mixin for generating new styles\n.btn-styles(@btn-color: #555) {\n #gradient > .vertical(@start-color: @btn-color; @end-color: darken(@btn-color, 12%));\n .reset-filter(); // Disable gradients for IE9 because filter bleeds through rounded corners; see https://github.com/twbs/bootstrap/issues/10620\n background-repeat: repeat-x;\n border-color: darken(@btn-color, 14%);\n\n &:hover,\n &:focus {\n background-color: darken(@btn-color, 12%);\n background-position: 0 -15px;\n }\n\n &:active,\n &.active {\n background-color: darken(@btn-color, 12%);\n border-color: darken(@btn-color, 14%);\n }\n\n &.disabled,\n &[disabled],\n fieldset[disabled] & {\n &,\n &:hover,\n &:focus,\n &.focus,\n &:active,\n &.active {\n background-color: darken(@btn-color, 12%);\n background-image: none;\n }\n }\n}\n\n// Common styles\n.btn {\n // Remove the gradient for the pressed/active state\n &:active,\n &.active {\n background-image: none;\n }\n}\n\n// Apply the mixin to the buttons\n.btn-default { .btn-styles(@btn-default-bg); text-shadow: 0 1px 0 #fff; border-color: #ccc; }\n.btn-primary { .btn-styles(@btn-primary-bg); }\n.btn-success { .btn-styles(@btn-success-bg); }\n.btn-info { .btn-styles(@btn-info-bg); }\n.btn-warning { .btn-styles(@btn-warning-bg); }\n.btn-danger { .btn-styles(@btn-danger-bg); }\n\n\n//\n// Images\n// --------------------------------------------------\n\n.thumbnail,\n.img-thumbnail {\n .box-shadow(0 1px 2px rgba(0,0,0,.075));\n}\n\n\n//\n// Dropdowns\n// --------------------------------------------------\n\n.dropdown-menu > li > a:hover,\n.dropdown-menu > li > a:focus {\n #gradient > .vertical(@start-color: @dropdown-link-hover-bg; @end-color: darken(@dropdown-link-hover-bg, 5%));\n background-color: darken(@dropdown-link-hover-bg, 5%);\n}\n.dropdown-menu > .active > a,\n.dropdown-menu > .active > a:hover,\n.dropdown-menu > .active > a:focus {\n #gradient > .vertical(@start-color: @dropdown-link-active-bg; @end-color: darken(@dropdown-link-active-bg, 5%));\n background-color: darken(@dropdown-link-active-bg, 5%);\n}\n\n\n//\n// Navbar\n// --------------------------------------------------\n\n// Default navbar\n.navbar-default {\n #gradient > .vertical(@start-color: lighten(@navbar-default-bg, 10%); @end-color: @navbar-default-bg);\n .reset-filter(); // Remove gradient in IE<10 to fix bug where dropdowns don't get triggered\n border-radius: @navbar-border-radius;\n @shadow: inset 0 1px 0 rgba(255,255,255,.15), 0 1px 5px rgba(0,0,0,.075);\n .box-shadow(@shadow);\n\n .navbar-nav > .open > a,\n .navbar-nav > .active > a {\n #gradient > .vertical(@start-color: darken(@navbar-default-link-active-bg, 5%); @end-color: darken(@navbar-default-link-active-bg, 2%));\n .box-shadow(inset 0 3px 9px rgba(0,0,0,.075));\n }\n}\n.navbar-brand,\n.navbar-nav > li > a {\n text-shadow: 0 1px 0 rgba(255,255,255,.25);\n}\n\n// Inverted navbar\n.navbar-inverse {\n #gradient > .vertical(@start-color: lighten(@navbar-inverse-bg, 10%); @end-color: @navbar-inverse-bg);\n .reset-filter(); // Remove gradient in IE<10 to fix bug where dropdowns don't get triggered; see https://github.com/twbs/bootstrap/issues/10257\n border-radius: @navbar-border-radius;\n .navbar-nav > .open > a,\n .navbar-nav > .active > a {\n #gradient > .vertical(@start-color: @navbar-inverse-link-active-bg; @end-color: lighten(@navbar-inverse-link-active-bg, 2.5%));\n .box-shadow(inset 0 3px 9px rgba(0,0,0,.25));\n }\n\n .navbar-brand,\n .navbar-nav > li > a {\n text-shadow: 0 -1px 0 rgba(0,0,0,.25);\n }\n}\n\n// Undo rounded corners in static and fixed navbars\n.navbar-static-top,\n.navbar-fixed-top,\n.navbar-fixed-bottom {\n border-radius: 0;\n}\n\n// Fix active state of dropdown items in collapsed mode\n@media (max-width: @grid-float-breakpoint-max) {\n .navbar .navbar-nav .open .dropdown-menu > .active > a {\n &,\n &:hover,\n &:focus {\n color: #fff;\n #gradient > .vertical(@start-color: @dropdown-link-active-bg; @end-color: darken(@dropdown-link-active-bg, 5%));\n }\n }\n}\n\n\n//\n// Alerts\n// --------------------------------------------------\n\n// Common styles\n.alert {\n text-shadow: 0 1px 0 rgba(255,255,255,.2);\n @shadow: inset 0 1px 0 rgba(255,255,255,.25), 0 1px 2px rgba(0,0,0,.05);\n .box-shadow(@shadow);\n}\n\n// Mixin for generating new styles\n.alert-styles(@color) {\n #gradient > .vertical(@start-color: @color; @end-color: darken(@color, 7.5%));\n border-color: darken(@color, 15%);\n}\n\n// Apply the mixin to the alerts\n.alert-success { .alert-styles(@alert-success-bg); }\n.alert-info { .alert-styles(@alert-info-bg); }\n.alert-warning { .alert-styles(@alert-warning-bg); }\n.alert-danger { .alert-styles(@alert-danger-bg); }\n\n\n//\n// Progress bars\n// --------------------------------------------------\n\n// Give the progress background some depth\n.progress {\n #gradient > .vertical(@start-color: darken(@progress-bg, 4%); @end-color: @progress-bg)\n}\n\n// Mixin for generating new styles\n.progress-bar-styles(@color) {\n #gradient > .vertical(@start-color: @color; @end-color: darken(@color, 10%));\n}\n\n// Apply the mixin to the progress bars\n.progress-bar { .progress-bar-styles(@progress-bar-bg); }\n.progress-bar-success { .progress-bar-styles(@progress-bar-success-bg); }\n.progress-bar-info { .progress-bar-styles(@progress-bar-info-bg); }\n.progress-bar-warning { .progress-bar-styles(@progress-bar-warning-bg); }\n.progress-bar-danger { .progress-bar-styles(@progress-bar-danger-bg); }\n\n// Reset the striped class because our mixins don't do multiple gradients and\n// the above custom styles override the new `.progress-bar-striped` in v3.2.0.\n.progress-bar-striped {\n #gradient > .striped();\n}\n\n\n//\n// List groups\n// --------------------------------------------------\n\n.list-group {\n border-radius: @border-radius-base;\n .box-shadow(0 1px 2px rgba(0,0,0,.075));\n}\n.list-group-item.active,\n.list-group-item.active:hover,\n.list-group-item.active:focus {\n text-shadow: 0 -1px 0 darken(@list-group-active-bg, 10%);\n #gradient > .vertical(@start-color: @list-group-active-bg; @end-color: darken(@list-group-active-bg, 7.5%));\n border-color: darken(@list-group-active-border, 7.5%);\n\n .badge {\n text-shadow: none;\n }\n}\n\n\n//\n// Panels\n// --------------------------------------------------\n\n// Common styles\n.panel {\n .box-shadow(0 1px 2px rgba(0,0,0,.05));\n}\n\n// Mixin for generating new styles\n.panel-heading-styles(@color) {\n #gradient > .vertical(@start-color: @color; @end-color: darken(@color, 5%));\n}\n\n// Apply the mixin to the panel headings only\n.panel-default > .panel-heading { .panel-heading-styles(@panel-default-heading-bg); }\n.panel-primary > .panel-heading { .panel-heading-styles(@panel-primary-heading-bg); }\n.panel-success > .panel-heading { .panel-heading-styles(@panel-success-heading-bg); }\n.panel-info > .panel-heading { .panel-heading-styles(@panel-info-heading-bg); }\n.panel-warning > .panel-heading { .panel-heading-styles(@panel-warning-heading-bg); }\n.panel-danger > .panel-heading { .panel-heading-styles(@panel-danger-heading-bg); }\n\n\n//\n// Wells\n// --------------------------------------------------\n\n.well {\n #gradient > .vertical(@start-color: darken(@well-bg, 5%); @end-color: @well-bg);\n border-color: darken(@well-bg, 10%);\n @shadow: inset 0 1px 3px rgba(0,0,0,.05), 0 1px 0 rgba(255,255,255,.1);\n .box-shadow(@shadow);\n}\n","// Vendor Prefixes\n//\n// All vendor mixins are deprecated as of v3.2.0 due to the introduction of\n// Autoprefixer in our Gruntfile. They have been removed in v4.\n\n// - Animations\n// - Backface visibility\n// - Box shadow\n// - Box sizing\n// - Content columns\n// - Hyphens\n// - Placeholder text\n// - Transformations\n// - Transitions\n// - User Select\n\n\n// Animations\n.animation(@animation) {\n -webkit-animation: @animation;\n -o-animation: @animation;\n animation: @animation;\n}\n.animation-name(@name) {\n -webkit-animation-name: @name;\n animation-name: @name;\n}\n.animation-duration(@duration) {\n -webkit-animation-duration: @duration;\n animation-duration: @duration;\n}\n.animation-timing-function(@timing-function) {\n -webkit-animation-timing-function: @timing-function;\n animation-timing-function: @timing-function;\n}\n.animation-delay(@delay) {\n -webkit-animation-delay: @delay;\n animation-delay: @delay;\n}\n.animation-iteration-count(@iteration-count) {\n -webkit-animation-iteration-count: @iteration-count;\n animation-iteration-count: @iteration-count;\n}\n.animation-direction(@direction) {\n -webkit-animation-direction: @direction;\n animation-direction: @direction;\n}\n.animation-fill-mode(@fill-mode) {\n -webkit-animation-fill-mode: @fill-mode;\n animation-fill-mode: @fill-mode;\n}\n\n// Backface visibility\n// Prevent browsers from flickering when using CSS 3D transforms.\n// Default value is `visible`, but can be changed to `hidden`\n\n.backface-visibility(@visibility) {\n -webkit-backface-visibility: @visibility;\n -moz-backface-visibility: @visibility;\n backface-visibility: @visibility;\n}\n\n// Drop shadows\n//\n// Note: Deprecated `.box-shadow()` as of v3.1.0 since all of Bootstrap's\n// supported browsers that have box shadow capabilities now support it.\n\n.box-shadow(@shadow) {\n -webkit-box-shadow: @shadow; // iOS <4.3 & Android <4.1\n box-shadow: @shadow;\n}\n\n// Box sizing\n.box-sizing(@boxmodel) {\n -webkit-box-sizing: @boxmodel;\n -moz-box-sizing: @boxmodel;\n box-sizing: @boxmodel;\n}\n\n// CSS3 Content Columns\n.content-columns(@column-count; @column-gap: @grid-gutter-width) {\n -webkit-column-count: @column-count;\n -moz-column-count: @column-count;\n column-count: @column-count;\n -webkit-column-gap: @column-gap;\n -moz-column-gap: @column-gap;\n column-gap: @column-gap;\n}\n\n// Optional hyphenation\n.hyphens(@mode: auto) {\n word-wrap: break-word;\n -webkit-hyphens: @mode;\n -moz-hyphens: @mode;\n -ms-hyphens: @mode; // IE10+\n -o-hyphens: @mode;\n hyphens: @mode;\n}\n\n// Placeholder text\n.placeholder(@color: @input-color-placeholder) {\n // Firefox\n &::-moz-placeholder {\n color: @color;\n opacity: 1; // Override Firefox's unusual default opacity; see https://github.com/twbs/bootstrap/pull/11526\n }\n &:-ms-input-placeholder { color: @color; } // Internet Explorer 10+\n &::-webkit-input-placeholder { color: @color; } // Safari and Chrome\n}\n\n// Transformations\n.scale(@ratio) {\n -webkit-transform: scale(@ratio);\n -ms-transform: scale(@ratio); // IE9 only\n -o-transform: scale(@ratio);\n transform: scale(@ratio);\n}\n.scale(@ratioX; @ratioY) {\n -webkit-transform: scale(@ratioX, @ratioY);\n -ms-transform: scale(@ratioX, @ratioY); // IE9 only\n -o-transform: scale(@ratioX, @ratioY);\n transform: scale(@ratioX, @ratioY);\n}\n.scaleX(@ratio) {\n -webkit-transform: scaleX(@ratio);\n -ms-transform: scaleX(@ratio); // IE9 only\n -o-transform: scaleX(@ratio);\n transform: scaleX(@ratio);\n}\n.scaleY(@ratio) {\n -webkit-transform: scaleY(@ratio);\n -ms-transform: scaleY(@ratio); // IE9 only\n -o-transform: scaleY(@ratio);\n transform: scaleY(@ratio);\n}\n.skew(@x; @y) {\n -webkit-transform: skewX(@x) skewY(@y);\n -ms-transform: skewX(@x) skewY(@y); // See https://github.com/twbs/bootstrap/issues/4885; IE9+\n -o-transform: skewX(@x) skewY(@y);\n transform: skewX(@x) skewY(@y);\n}\n.translate(@x; @y) {\n -webkit-transform: translate(@x, @y);\n -ms-transform: translate(@x, @y); // IE9 only\n -o-transform: translate(@x, @y);\n transform: translate(@x, @y);\n}\n.translate3d(@x; @y; @z) {\n -webkit-transform: translate3d(@x, @y, @z);\n transform: translate3d(@x, @y, @z);\n}\n.rotate(@degrees) {\n -webkit-transform: rotate(@degrees);\n -ms-transform: rotate(@degrees); // IE9 only\n -o-transform: rotate(@degrees);\n transform: rotate(@degrees);\n}\n.rotateX(@degrees) {\n -webkit-transform: rotateX(@degrees);\n -ms-transform: rotateX(@degrees); // IE9 only\n -o-transform: rotateX(@degrees);\n transform: rotateX(@degrees);\n}\n.rotateY(@degrees) {\n -webkit-transform: rotateY(@degrees);\n -ms-transform: rotateY(@degrees); // IE9 only\n -o-transform: rotateY(@degrees);\n transform: rotateY(@degrees);\n}\n.perspective(@perspective) {\n -webkit-perspective: @perspective;\n -moz-perspective: @perspective;\n perspective: @perspective;\n}\n.perspective-origin(@perspective) {\n -webkit-perspective-origin: @perspective;\n -moz-perspective-origin: @perspective;\n perspective-origin: @perspective;\n}\n.transform-origin(@origin) {\n -webkit-transform-origin: @origin;\n -moz-transform-origin: @origin;\n -ms-transform-origin: @origin; // IE9 only\n transform-origin: @origin;\n}\n\n\n// Transitions\n\n.transition(@transition) {\n -webkit-transition: @transition;\n -o-transition: @transition;\n transition: @transition;\n}\n.transition-property(@transition-property) {\n -webkit-transition-property: @transition-property;\n transition-property: @transition-property;\n}\n.transition-delay(@transition-delay) {\n -webkit-transition-delay: @transition-delay;\n transition-delay: @transition-delay;\n}\n.transition-duration(@transition-duration) {\n -webkit-transition-duration: @transition-duration;\n transition-duration: @transition-duration;\n}\n.transition-timing-function(@timing-function) {\n -webkit-transition-timing-function: @timing-function;\n transition-timing-function: @timing-function;\n}\n.transition-transform(@transition) {\n -webkit-transition: -webkit-transform @transition;\n -moz-transition: -moz-transform @transition;\n -o-transition: -o-transform @transition;\n transition: transform @transition;\n}\n\n\n// User select\n// For selecting text on the page\n\n.user-select(@select) {\n -webkit-user-select: @select;\n -moz-user-select: @select;\n -ms-user-select: @select; // IE10+\n user-select: @select;\n}\n","// Gradients\n\n#gradient {\n\n // Horizontal gradient, from left to right\n //\n // Creates two color stops, start and end, by specifying a color and position for each color stop.\n // Color stops are not available in IE9 and below.\n .horizontal(@start-color: #555; @end-color: #333; @start-percent: 0%; @end-percent: 100%) {\n background-image: -webkit-linear-gradient(left, @start-color @start-percent, @end-color @end-percent); // Safari 5.1-6, Chrome 10+\n background-image: -o-linear-gradient(left, @start-color @start-percent, @end-color @end-percent); // Opera 12\n background-image: linear-gradient(to right, @start-color @start-percent, @end-color @end-percent); // Standard, IE10, Firefox 16+, Opera 12.10+, Safari 7+, Chrome 26+\n background-repeat: repeat-x;\n filter: e(%(\"progid:DXImageTransform.Microsoft.gradient(startColorstr='%d', endColorstr='%d', GradientType=1)\",argb(@start-color),argb(@end-color))); // IE9 and down\n }\n\n // Vertical gradient, from top to bottom\n //\n // Creates two color stops, start and end, by specifying a color and position for each color stop.\n // Color stops are not available in IE9 and below.\n .vertical(@start-color: #555; @end-color: #333; @start-percent: 0%; @end-percent: 100%) {\n background-image: -webkit-linear-gradient(top, @start-color @start-percent, @end-color @end-percent); // Safari 5.1-6, Chrome 10+\n background-image: -o-linear-gradient(top, @start-color @start-percent, @end-color @end-percent); // Opera 12\n background-image: linear-gradient(to bottom, @start-color @start-percent, @end-color @end-percent); // Standard, IE10, Firefox 16+, Opera 12.10+, Safari 7+, Chrome 26+\n background-repeat: repeat-x;\n filter: e(%(\"progid:DXImageTransform.Microsoft.gradient(startColorstr='%d', endColorstr='%d', GradientType=0)\",argb(@start-color),argb(@end-color))); // IE9 and down\n }\n\n .directional(@start-color: #555; @end-color: #333; @deg: 45deg) {\n background-repeat: repeat-x;\n background-image: -webkit-linear-gradient(@deg, @start-color, @end-color); // Safari 5.1-6, Chrome 10+\n background-image: -o-linear-gradient(@deg, @start-color, @end-color); // Opera 12\n background-image: linear-gradient(@deg, @start-color, @end-color); // Standard, IE10, Firefox 16+, Opera 12.10+, Safari 7+, Chrome 26+\n }\n .horizontal-three-colors(@start-color: #00b3ee; @mid-color: #7a43b6; @color-stop: 50%; @end-color: #c3325f) {\n background-image: -webkit-linear-gradient(left, @start-color, @mid-color @color-stop, @end-color);\n background-image: -o-linear-gradient(left, @start-color, @mid-color @color-stop, @end-color);\n background-image: linear-gradient(to right, @start-color, @mid-color @color-stop, @end-color);\n background-repeat: no-repeat;\n filter: e(%(\"progid:DXImageTransform.Microsoft.gradient(startColorstr='%d', endColorstr='%d', GradientType=1)\",argb(@start-color),argb(@end-color))); // IE9 and down, gets no color-stop at all for proper fallback\n }\n .vertical-three-colors(@start-color: #00b3ee; @mid-color: #7a43b6; @color-stop: 50%; @end-color: #c3325f) {\n background-image: -webkit-linear-gradient(@start-color, @mid-color @color-stop, @end-color);\n background-image: -o-linear-gradient(@start-color, @mid-color @color-stop, @end-color);\n background-image: linear-gradient(@start-color, @mid-color @color-stop, @end-color);\n background-repeat: no-repeat;\n filter: e(%(\"progid:DXImageTransform.Microsoft.gradient(startColorstr='%d', endColorstr='%d', GradientType=0)\",argb(@start-color),argb(@end-color))); // IE9 and down, gets no color-stop at all for proper fallback\n }\n .radial(@inner-color: #555; @outer-color: #333) {\n background-image: -webkit-radial-gradient(circle, @inner-color, @outer-color);\n background-image: radial-gradient(circle, @inner-color, @outer-color);\n background-repeat: no-repeat;\n }\n .striped(@color: rgba(255,255,255,.15); @angle: 45deg) {\n background-image: -webkit-linear-gradient(@angle, @color 25%, transparent 25%, transparent 50%, @color 50%, @color 75%, transparent 75%, transparent);\n background-image: -o-linear-gradient(@angle, @color 25%, transparent 25%, transparent 50%, @color 50%, @color 75%, transparent 75%, transparent);\n background-image: linear-gradient(@angle, @color 25%, transparent 25%, transparent 50%, @color 50%, @color 75%, transparent 75%, transparent);\n }\n}\n","// Reset filters for IE\n//\n// When you need to remove a gradient background, do not forget to use this to reset\n// the IE filter for IE9 and below.\n\n.reset-filter() {\n filter: e(%(\"progid:DXImageTransform.Microsoft.gradient(enabled = false)\"));\n}\n"]} \ No newline at end of file
diff --git a/library/bootstrap/css/bootstrap.css.map b/library/bootstrap/css/bootstrap.css.map
new file mode 100644
index 000000000..f010c82d1
--- /dev/null
+++ b/library/bootstrap/css/bootstrap.css.map
@@ -0,0 +1 @@
+{"version":3,"sources":["bootstrap.css","less/normalize.less","less/print.less","less/glyphicons.less","less/scaffolding.less","less/mixins/vendor-prefixes.less","less/mixins/tab-focus.less","less/mixins/image.less","less/type.less","less/mixins/text-emphasis.less","less/mixins/background-variant.less","less/mixins/text-overflow.less","less/code.less","less/grid.less","less/mixins/grid.less","less/mixins/grid-framework.less","less/tables.less","less/mixins/table-row.less","less/forms.less","less/mixins/forms.less","less/buttons.less","less/mixins/buttons.less","less/mixins/opacity.less","less/component-animations.less","less/dropdowns.less","less/mixins/nav-divider.less","less/mixins/reset-filter.less","less/button-groups.less","less/mixins/border-radius.less","less/input-groups.less","less/navs.less","less/navbar.less","less/mixins/nav-vertical-align.less","less/utilities.less","less/breadcrumbs.less","less/pagination.less","less/mixins/pagination.less","less/pager.less","less/labels.less","less/mixins/labels.less","less/badges.less","less/jumbotron.less","less/thumbnails.less","less/alerts.less","less/mixins/alerts.less","less/progress-bars.less","less/mixins/gradients.less","less/mixins/progress-bar.less","less/media.less","less/list-group.less","less/mixins/list-group.less","less/panels.less","less/mixins/panels.less","less/responsive-embed.less","less/wells.less","less/close.less","less/modals.less","less/tooltip.less","less/mixins/reset-text.less","less/popovers.less","less/carousel.less","less/mixins/clearfix.less","less/mixins/center-block.less","less/mixins/hide-text.less","less/responsive-utilities.less","less/mixins/responsive-visibility.less"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,4EAA4E;ACG5E;EACE,wBAAA;EACA,2BAAA;EACA,+BAAA;CDDD;ACQD;EACE,UAAA;CDND;ACmBD;;;;;;;;;;;;;EAaE,eAAA;CDjBD;ACyBD;;;;EAIE,sBAAA;EACA,yBAAA;CDvBD;AC+BD;EACE,cAAA;EACA,UAAA;CD7BD;ACqCD;;EAEE,cAAA;CDnCD;AC6CD;EACE,8BAAA;CD3CD;ACmDD;;EAEE,WAAA;CDjDD;AC2DD;EACE,0BAAA;CDzDD;ACgED;;EAEE,kBAAA;CD9DD;ACqED;EACE,mBAAA;CDnED;AC2ED;EACE,eAAA;EACA,iBAAA;CDzED;ACgFD;EACE,iBAAA;EACA,YAAA;CD9ED;ACqFD;EACE,eAAA;CDnFD;AC0FD;;EAEE,eAAA;EACA,eAAA;EACA,mBAAA;EACA,yBAAA;CDxFD;AC2FD;EACE,YAAA;CDzFD;AC4FD;EACE,gBAAA;CD1FD;ACoGD;EACE,UAAA;CDlGD;ACyGD;EACE,iBAAA;CDvGD;ACiHD;EACE,iBAAA;CD/GD;ACsHD;EACE,gCAAA;KAAA,6BAAA;UAAA,wBAAA;EACA,UAAA;CDpHD;AC2HD;EACE,eAAA;CDzHD;ACgID;;;;EAIE,kCAAA;EACA,eAAA;CD9HD;ACgJD;;;;;EAKE,eAAA;EACA,cAAA;EACA,UAAA;CD9ID;ACqJD;EACE,kBAAA;CDnJD;AC6JD;;EAEE,qBAAA;CD3JD;ACsKD;;;;EAIE,2BAAA;EACA,gBAAA;CDpKD;AC2KD;;EAEE,gBAAA;CDzKD;ACgLD;;EAEE,UAAA;EACA,WAAA;CD9KD;ACsLD;EACE,oBAAA;CDpLD;AC+LD;;EAEE,+BAAA;KAAA,4BAAA;UAAA,uBAAA;EACA,WAAA;CD7LD;ACsMD;;EAEE,aAAA;CDpMD;AC4MD;EACE,8BAAA;EACA,gCAAA;KAAA,6BAAA;UAAA,wBAAA;CD1MD;ACmND;;EAEE,yBAAA;CDjND;ACwND;EACE,0BAAA;EACA,cAAA;EACA,+BAAA;CDtND;AC8ND;EACE,UAAA;EACA,WAAA;CD5ND;ACmOD;EACE,eAAA;CDjOD;ACyOD;EACE,kBAAA;CDvOD;ACiPD;EACE,0BAAA;EACA,kBAAA;CD/OD;ACkPD;;EAEE,WAAA;CDhPD;AACD,qFAAqF;AElFrF;EA7FI;;;IAGI,mCAAA;IACA,uBAAA;IACA,oCAAA;YAAA,4BAAA;IACA,6BAAA;GFkLL;EE/KC;;IAEI,2BAAA;GFiLL;EE9KC;IACI,6BAAA;GFgLL;EE7KC;IACI,8BAAA;GF+KL;EE1KC;;IAEI,YAAA;GF4KL;EEzKC;;IAEI,uBAAA;IACA,yBAAA;GF2KL;EExKC;IACI,4BAAA;GF0KL;EEvKC;;IAEI,yBAAA;GFyKL;EEtKC;IACI,2BAAA;GFwKL;EErKC;;;IAGI,WAAA;IACA,UAAA;GFuKL;EEpKC;;IAEI,wBAAA;GFsKL;EEhKC;IACI,cAAA;GFkKL;EEhKC;;IAGQ,kCAAA;GFiKT;EE9JC;IACI,uBAAA;GFgKL;EE7JC;IACI,qCAAA;GF+JL;EEhKC;;IAKQ,kCAAA;GF+JT;EE5JC;;IAGQ,kCAAA;GF6JT;CACF;AGnPD;EACE,oCAAA;EACA,sDAAA;EACA,gYAAA;CHqPD;AG7OD;EACE,mBAAA;EACA,SAAA;EACA,sBAAA;EACA,oCAAA;EACA,mBAAA;EACA,oBAAA;EACA,eAAA;EACA,oCAAA;EACA,mCAAA;CH+OD;AG3OmC;EAAW,iBAAA;CH8O9C;AG7OmC;EAAW,iBAAA;CHgP9C;AG9OmC;;EAAW,iBAAA;CHkP9C;AGjPmC;EAAW,iBAAA;CHoP9C;AGnPmC;EAAW,iBAAA;CHsP9C;AGrPmC;EAAW,iBAAA;CHwP9C;AGvPmC;EAAW,iBAAA;CH0P9C;AGzPmC;EAAW,iBAAA;CH4P9C;AG3PmC;EAAW,iBAAA;CH8P9C;AG7PmC;EAAW,iBAAA;CHgQ9C;AG/PmC;EAAW,iBAAA;CHkQ9C;AGjQmC;EAAW,iBAAA;CHoQ9C;AGnQmC;EAAW,iBAAA;CHsQ9C;AGrQmC;EAAW,iBAAA;CHwQ9C;AGvQmC;EAAW,iBAAA;CH0Q9C;AGzQmC;EAAW,iBAAA;CH4Q9C;AG3QmC;EAAW,iBAAA;CH8Q9C;AG7QmC;EAAW,iBAAA;CHgR9C;AG/QmC;EAAW,iBAAA;CHkR9C;AGjRmC;EAAW,iBAAA;CHoR9C;AGnRmC;EAAW,iBAAA;CHsR9C;AGrRmC;EAAW,iBAAA;CHwR9C;AGvRmC;EAAW,iBAAA;CH0R9C;AGzRmC;EAAW,iBAAA;CH4R9C;AG3RmC;EAAW,iBAAA;CH8R9C;AG7RmC;EAAW,iBAAA;CHgS9C;AG/RmC;EAAW,iBAAA;CHkS9C;AGjSmC;EAAW,iBAAA;CHoS9C;AGnSmC;EAAW,iBAAA;CHsS9C;AGrSmC;EAAW,iBAAA;CHwS9C;AGvSmC;EAAW,iBAAA;CH0S9C;AGzSmC;EAAW,iBAAA;CH4S9C;AG3SmC;EAAW,iBAAA;CH8S9C;AG7SmC;EAAW,iBAAA;CHgT9C;AG/SmC;EAAW,iBAAA;CHkT9C;AGjTmC;EAAW,iBAAA;CHoT9C;AGnTmC;EAAW,iBAAA;CHsT9C;AGrTmC;EAAW,iBAAA;CHwT9C;AGvTmC;EAAW,iBAAA;CH0T9C;AGzTmC;EAAW,iBAAA;CH4T9C;AG3TmC;EAAW,iBAAA;CH8T9C;AG7TmC;EAAW,iBAAA;CHgU9C;AG/TmC;EAAW,iBAAA;CHkU9C;AGjUmC;EAAW,iBAAA;CHoU9C;AGnUmC;EAAW,iBAAA;CHsU9C;AGrUmC;EAAW,iBAAA;CHwU9C;AGvUmC;EAAW,iBAAA;CH0U9C;AGzUmC;EAAW,iBAAA;CH4U9C;AG3UmC;EAAW,iBAAA;CH8U9C;AG7UmC;EAAW,iBAAA;CHgV9C;AG/UmC;EAAW,iBAAA;CHkV9C;AGjVmC;EAAW,iBAAA;CHoV9C;AGnVmC;EAAW,iBAAA;CHsV9C;AGrVmC;EAAW,iBAAA;CHwV9C;AGvVmC;EAAW,iBAAA;CH0V9C;AGzVmC;EAAW,iBAAA;CH4V9C;AG3VmC;EAAW,iBAAA;CH8V9C;AG7VmC;EAAW,iBAAA;CHgW9C;AG/VmC;EAAW,iBAAA;CHkW9C;AGjWmC;EAAW,iBAAA;CHoW9C;AGnWmC;EAAW,iBAAA;CHsW9C;AGrWmC;EAAW,iBAAA;CHwW9C;AGvWmC;EAAW,iBAAA;CH0W9C;AGzWmC;EAAW,iBAAA;CH4W9C;AG3WmC;EAAW,iBAAA;CH8W9C;AG7WmC;EAAW,iBAAA;CHgX9C;AG/WmC;EAAW,iBAAA;CHkX9C;AGjXmC;EAAW,iBAAA;CHoX9C;AGnXmC;EAAW,iBAAA;CHsX9C;AGrXmC;EAAW,iBAAA;CHwX9C;AGvXmC;EAAW,iBAAA;CH0X9C;AGzXmC;EAAW,iBAAA;CH4X9C;AG3XmC;EAAW,iBAAA;CH8X9C;AG7XmC;EAAW,iBAAA;CHgY9C;AG/XmC;EAAW,iBAAA;CHkY9C;AGjYmC;EAAW,iBAAA;CHoY9C;AGnYmC;EAAW,iBAAA;CHsY9C;AGrYmC;EAAW,iBAAA;CHwY9C;AGvYmC;EAAW,iBAAA;CH0Y9C;AGzYmC;EAAW,iBAAA;CH4Y9C;AG3YmC;EAAW,iBAAA;CH8Y9C;AG7YmC;EAAW,iBAAA;CHgZ9C;AG/YmC;EAAW,iBAAA;CHkZ9C;AGjZmC;EAAW,iBAAA;CHoZ9C;AGnZmC;EAAW,iBAAA;CHsZ9C;AGrZmC;EAAW,iBAAA;CHwZ9C;AGvZmC;EAAW,iBAAA;CH0Z9C;AGzZmC;EAAW,iBAAA;CH4Z9C;AG3ZmC;EAAW,iBAAA;CH8Z9C;AG7ZmC;EAAW,iBAAA;CHga9C;AG/ZmC;EAAW,iBAAA;CHka9C;AGjamC;EAAW,iBAAA;CHoa9C;AGnamC;EAAW,iBAAA;CHsa9C;AGramC;EAAW,iBAAA;CHwa9C;AGvamC;EAAW,iBAAA;CH0a9C;AGzamC;EAAW,iBAAA;CH4a9C;AG3amC;EAAW,iBAAA;CH8a9C;AG7amC;EAAW,iBAAA;CHgb9C;AG/amC;EAAW,iBAAA;CHkb9C;AGjbmC;EAAW,iBAAA;CHob9C;AGnbmC;EAAW,iBAAA;CHsb9C;AGrbmC;EAAW,iBAAA;CHwb9C;AGvbmC;EAAW,iBAAA;CH0b9C;AGzbmC;EAAW,iBAAA;CH4b9C;AG3bmC;EAAW,iBAAA;CH8b9C;AG7bmC;EAAW,iBAAA;CHgc9C;AG/bmC;EAAW,iBAAA;CHkc9C;AGjcmC;EAAW,iBAAA;CHoc9C;AGncmC;EAAW,iBAAA;CHsc9C;AGrcmC;EAAW,iBAAA;CHwc9C;AGvcmC;EAAW,iBAAA;CH0c9C;AGzcmC;EAAW,iBAAA;CH4c9C;AG3cmC;EAAW,iBAAA;CH8c9C;AG7cmC;EAAW,iBAAA;CHgd9C;AG/cmC;EAAW,iBAAA;CHkd9C;AGjdmC;EAAW,iBAAA;CHod9C;AGndmC;EAAW,iBAAA;CHsd9C;AGrdmC;EAAW,iBAAA;CHwd9C;AGvdmC;EAAW,iBAAA;CH0d9C;AGzdmC;EAAW,iBAAA;CH4d9C;AG3dmC;EAAW,iBAAA;CH8d9C;AG7dmC;EAAW,iBAAA;CHge9C;AG/dmC;EAAW,iBAAA;CHke9C;AGjemC;EAAW,iBAAA;CHoe9C;AGnemC;EAAW,iBAAA;CHse9C;AGremC;EAAW,iBAAA;CHwe9C;AGvemC;EAAW,iBAAA;CH0e9C;AGzemC;EAAW,iBAAA;CH4e9C;AG3emC;EAAW,iBAAA;CH8e9C;AG7emC;EAAW,iBAAA;CHgf9C;AG/emC;EAAW,iBAAA;CHkf9C;AGjfmC;EAAW,iBAAA;CHof9C;AGnfmC;EAAW,iBAAA;CHsf9C;AGrfmC;EAAW,iBAAA;CHwf9C;AGvfmC;EAAW,iBAAA;CH0f9C;AGzfmC;EAAW,iBAAA;CH4f9C;AG3fmC;EAAW,iBAAA;CH8f9C;AG7fmC;EAAW,iBAAA;CHggB9C;AG/fmC;EAAW,iBAAA;CHkgB9C;AGjgBmC;EAAW,iBAAA;CHogB9C;AGngBmC;EAAW,iBAAA;CHsgB9C;AGrgBmC;EAAW,iBAAA;CHwgB9C;AGvgBmC;EAAW,iBAAA;CH0gB9C;AGzgBmC;EAAW,iBAAA;CH4gB9C;AG3gBmC;EAAW,iBAAA;CH8gB9C;AG7gBmC;EAAW,iBAAA;CHghB9C;AG/gBmC;EAAW,iBAAA;CHkhB9C;AGjhBmC;EAAW,iBAAA;CHohB9C;AGnhBmC;EAAW,iBAAA;CHshB9C;AGrhBmC;EAAW,iBAAA;CHwhB9C;AGvhBmC;EAAW,iBAAA;CH0hB9C;AGzhBmC;EAAW,iBAAA;CH4hB9C;AG3hBmC;EAAW,iBAAA;CH8hB9C;AG7hBmC;EAAW,iBAAA;CHgiB9C;AG/hBmC;EAAW,iBAAA;CHkiB9C;AGjiBmC;EAAW,iBAAA;CHoiB9C;AGniBmC;EAAW,iBAAA;CHsiB9C;AGriBmC;EAAW,iBAAA;CHwiB9C;AGviBmC;EAAW,iBAAA;CH0iB9C;AGziBmC;EAAW,iBAAA;CH4iB9C;AG3iBmC;EAAW,iBAAA;CH8iB9C;AG7iBmC;EAAW,iBAAA;CHgjB9C;AG/iBmC;EAAW,iBAAA;CHkjB9C;AGjjBmC;EAAW,iBAAA;CHojB9C;AGnjBmC;EAAW,iBAAA;CHsjB9C;AGrjBmC;EAAW,iBAAA;CHwjB9C;AGvjBmC;EAAW,iBAAA;CH0jB9C;AGzjBmC;EAAW,iBAAA;CH4jB9C;AG3jBmC;EAAW,iBAAA;CH8jB9C;AG7jBmC;EAAW,iBAAA;CHgkB9C;AG/jBmC;EAAW,iBAAA;CHkkB9C;AGjkBmC;EAAW,iBAAA;CHokB9C;AGnkBmC;EAAW,iBAAA;CHskB9C;AGrkBmC;EAAW,iBAAA;CHwkB9C;AGvkBmC;EAAW,iBAAA;CH0kB9C;AGzkBmC;EAAW,iBAAA;CH4kB9C;AG3kBmC;EAAW,iBAAA;CH8kB9C;AG7kBmC;EAAW,iBAAA;CHglB9C;AG/kBmC;EAAW,iBAAA;CHklB9C;AGjlBmC;EAAW,iBAAA;CHolB9C;AGnlBmC;EAAW,iBAAA;CHslB9C;AGrlBmC;EAAW,iBAAA;CHwlB9C;AGvlBmC;EAAW,iBAAA;CH0lB9C;AGzlBmC;EAAW,iBAAA;CH4lB9C;AG3lBmC;EAAW,iBAAA;CH8lB9C;AG7lBmC;EAAW,iBAAA;CHgmB9C;AG/lBmC;EAAW,iBAAA;CHkmB9C;AGjmBmC;EAAW,iBAAA;CHomB9C;AGnmBmC;EAAW,iBAAA;CHsmB9C;AGrmBmC;EAAW,iBAAA;CHwmB9C;AGvmBmC;EAAW,iBAAA;CH0mB9C;AGzmBmC;EAAW,iBAAA;CH4mB9C;AG3mBmC;EAAW,iBAAA;CH8mB9C;AG7mBmC;EAAW,iBAAA;CHgnB9C;AG/mBmC;EAAW,iBAAA;CHknB9C;AGjnBmC;EAAW,iBAAA;CHonB9C;AGnnBmC;EAAW,iBAAA;CHsnB9C;AGrnBmC;EAAW,iBAAA;CHwnB9C;AGvnBmC;EAAW,iBAAA;CH0nB9C;AGznBmC;EAAW,iBAAA;CH4nB9C;AG3nBmC;EAAW,iBAAA;CH8nB9C;AG7nBmC;EAAW,iBAAA;CHgoB9C;AG/nBmC;EAAW,iBAAA;CHkoB9C;AGjoBmC;EAAW,iBAAA;CHooB9C;AGnoBmC;EAAW,iBAAA;CHsoB9C;AGroBmC;EAAW,iBAAA;CHwoB9C;AG/nBmC;EAAW,iBAAA;CHkoB9C;AGjoBmC;EAAW,iBAAA;CHooB9C;AGnoBmC;EAAW,iBAAA;CHsoB9C;AGroBmC;EAAW,iBAAA;CHwoB9C;AGvoBmC;EAAW,iBAAA;CH0oB9C;AGzoBmC;EAAW,iBAAA;CH4oB9C;AG3oBmC;EAAW,iBAAA;CH8oB9C;AG7oBmC;EAAW,iBAAA;CHgpB9C;AG/oBmC;EAAW,iBAAA;CHkpB9C;AGjpBmC;EAAW,iBAAA;CHopB9C;AGnpBmC;EAAW,iBAAA;CHspB9C;AGrpBmC;EAAW,iBAAA;CHwpB9C;AGvpBmC;EAAW,iBAAA;CH0pB9C;AGzpBmC;EAAW,iBAAA;CH4pB9C;AG3pBmC;EAAW,iBAAA;CH8pB9C;AG7pBmC;EAAW,iBAAA;CHgqB9C;AG/pBmC;EAAW,iBAAA;CHkqB9C;AGjqBmC;EAAW,iBAAA;CHoqB9C;AGnqBmC;EAAW,iBAAA;CHsqB9C;AGrqBmC;EAAW,iBAAA;CHwqB9C;AGvqBmC;EAAW,iBAAA;CH0qB9C;AGzqBmC;EAAW,iBAAA;CH4qB9C;AG3qBmC;EAAW,iBAAA;CH8qB9C;AG7qBmC;EAAW,iBAAA;CHgrB9C;AG/qBmC;EAAW,iBAAA;CHkrB9C;AGjrBmC;EAAW,iBAAA;CHorB9C;AGnrBmC;EAAW,iBAAA;CHsrB9C;AGrrBmC;EAAW,iBAAA;CHwrB9C;AGvrBmC;EAAW,iBAAA;CH0rB9C;AGzrBmC;EAAW,iBAAA;CH4rB9C;AG3rBmC;EAAW,iBAAA;CH8rB9C;AG7rBmC;EAAW,iBAAA;CHgsB9C;AG/rBmC;EAAW,iBAAA;CHksB9C;AGjsBmC;EAAW,iBAAA;CHosB9C;AGnsBmC;EAAW,iBAAA;CHssB9C;AGrsBmC;EAAW,iBAAA;CHwsB9C;AGvsBmC;EAAW,iBAAA;CH0sB9C;AGzsBmC;EAAW,iBAAA;CH4sB9C;AG3sBmC;EAAW,iBAAA;CH8sB9C;AG7sBmC;EAAW,iBAAA;CHgtB9C;AG/sBmC;EAAW,iBAAA;CHktB9C;AGjtBmC;EAAW,iBAAA;CHotB9C;AGntBmC;EAAW,iBAAA;CHstB9C;AGrtBmC;EAAW,iBAAA;CHwtB9C;AGvtBmC;EAAW,iBAAA;CH0tB9C;AGztBmC;EAAW,iBAAA;CH4tB9C;AG3tBmC;EAAW,iBAAA;CH8tB9C;AG7tBmC;EAAW,iBAAA;CHguB9C;AG/tBmC;EAAW,iBAAA;CHkuB9C;AGjuBmC;EAAW,iBAAA;CHouB9C;AGnuBmC;EAAW,iBAAA;CHsuB9C;AGruBmC;EAAW,iBAAA;CHwuB9C;AGvuBmC;EAAW,iBAAA;CH0uB9C;AGzuBmC;EAAW,iBAAA;CH4uB9C;AG3uBmC;EAAW,iBAAA;CH8uB9C;AG7uBmC;EAAW,iBAAA;CHgvB9C;AIthCD;ECgEE,+BAAA;EACG,4BAAA;EACK,uBAAA;CLy9BT;AIxhCD;;EC6DE,+BAAA;EACG,4BAAA;EACK,uBAAA;CL+9BT;AIthCD;EACE,gBAAA;EACA,8CAAA;CJwhCD;AIrhCD;EACE,4DAAA;EACA,gBAAA;EACA,wBAAA;EACA,eAAA;EACA,uBAAA;CJuhCD;AInhCD;;;;EAIE,qBAAA;EACA,mBAAA;EACA,qBAAA;CJqhCD;AI/gCD;EACE,eAAA;EACA,sBAAA;CJihCD;AI/gCC;;EAEE,eAAA;EACA,2BAAA;CJihCH;AI9gCC;EEnDA,2CAAA;EACA,qBAAA;CNokCD;AIvgCD;EACE,UAAA;CJygCD;AIngCD;EACE,uBAAA;CJqgCD;AIjgCD;;;;;EGvEE,eAAA;EACA,gBAAA;EACA,aAAA;CP+kCD;AIrgCD;EACE,mBAAA;CJugCD;AIjgCD;EACE,aAAA;EACA,wBAAA;EACA,uBAAA;EACA,uBAAA;EACA,mBAAA;EC6FA,yCAAA;EACK,oCAAA;EACG,iCAAA;EEvLR,sBAAA;EACA,gBAAA;EACA,aAAA;CP+lCD;AIjgCD;EACE,mBAAA;CJmgCD;AI7/BD;EACE,iBAAA;EACA,oBAAA;EACA,UAAA;EACA,8BAAA;CJ+/BD;AIv/BD;EACE,mBAAA;EACA,WAAA;EACA,YAAA;EACA,aAAA;EACA,WAAA;EACA,iBAAA;EACA,uBAAA;EACA,UAAA;CJy/BD;AIj/BC;;EAEE,iBAAA;EACA,YAAA;EACA,aAAA;EACA,UAAA;EACA,kBAAA;EACA,WAAA;CJm/BH;AIx+BD;EACE,gBAAA;CJ0+BD;AQjoCD;;;;;;;;;;;;EAEE,qBAAA;EACA,iBAAA;EACA,iBAAA;EACA,eAAA;CR6oCD;AQlpCD;;;;;;;;;;;;;;;;;;;;;;;;EASI,oBAAA;EACA,eAAA;EACA,eAAA;CRmqCH;AQ/pCD;;;;;;EAGE,iBAAA;EACA,oBAAA;CRoqCD;AQxqCD;;;;;;;;;;;;EAQI,eAAA;CR8qCH;AQ3qCD;;;;;;EAGE,iBAAA;EACA,oBAAA;CRgrCD;AQprCD;;;;;;;;;;;;EAQI,eAAA;CR0rCH;AQtrCD;;EAAU,gBAAA;CR0rCT;AQzrCD;;EAAU,gBAAA;CR6rCT;AQ5rCD;;EAAU,gBAAA;CRgsCT;AQ/rCD;;EAAU,gBAAA;CRmsCT;AQlsCD;;EAAU,gBAAA;CRssCT;AQrsCD;;EAAU,gBAAA;CRysCT;AQnsCD;EACE,iBAAA;CRqsCD;AQlsCD;EACE,oBAAA;EACA,gBAAA;EACA,iBAAA;EACA,iBAAA;CRosCD;AQ/rCD;EAwOA;IA1OI,gBAAA;GRqsCD;CACF;AQ7rCD;;EAEE,eAAA;CR+rCD;AQ5rCD;;EAEE,0BAAA;EACA,cAAA;CR8rCD;AQ1rCD;EAAuB,iBAAA;CR6rCtB;AQ5rCD;EAAuB,kBAAA;CR+rCtB;AQ9rCD;EAAuB,mBAAA;CRisCtB;AQhsCD;EAAuB,oBAAA;CRmsCtB;AQlsCD;EAAuB,oBAAA;CRqsCtB;AQlsCD;EAAuB,0BAAA;CRqsCtB;AQpsCD;EAAuB,0BAAA;CRusCtB;AQtsCD;EAAuB,2BAAA;CRysCtB;AQtsCD;EACE,eAAA;CRwsCD;AQtsCD;ECrGE,eAAA;CT8yCD;AS7yCC;;EAEE,eAAA;CT+yCH;AQ1sCD;ECxGE,eAAA;CTqzCD;ASpzCC;;EAEE,eAAA;CTszCH;AQ9sCD;EC3GE,eAAA;CT4zCD;AS3zCC;;EAEE,eAAA;CT6zCH;AQltCD;EC9GE,eAAA;CTm0CD;ASl0CC;;EAEE,eAAA;CTo0CH;AQttCD;ECjHE,eAAA;CT00CD;ASz0CC;;EAEE,eAAA;CT20CH;AQttCD;EAGE,YAAA;EE3HA,0BAAA;CVk1CD;AUj1CC;;EAEE,0BAAA;CVm1CH;AQxtCD;EE9HE,0BAAA;CVy1CD;AUx1CC;;EAEE,0BAAA;CV01CH;AQ5tCD;EEjIE,0BAAA;CVg2CD;AU/1CC;;EAEE,0BAAA;CVi2CH;AQhuCD;EEpIE,0BAAA;CVu2CD;AUt2CC;;EAEE,0BAAA;CVw2CH;AQpuCD;EEvIE,0BAAA;CV82CD;AU72CC;;EAEE,0BAAA;CV+2CH;AQnuCD;EACE,oBAAA;EACA,oBAAA;EACA,iCAAA;CRquCD;AQ7tCD;;EAEE,cAAA;EACA,oBAAA;CR+tCD;AQluCD;;;;EAMI,iBAAA;CRkuCH;AQ3tCD;EACE,gBAAA;EACA,iBAAA;CR6tCD;AQztCD;EALE,gBAAA;EACA,iBAAA;EAMA,kBAAA;CR4tCD;AQ9tCD;EAKI,sBAAA;EACA,kBAAA;EACA,mBAAA;CR4tCH;AQvtCD;EACE,cAAA;EACA,oBAAA;CRytCD;AQvtCD;;EAEE,wBAAA;CRytCD;AQvtCD;EACE,kBAAA;CRytCD;AQvtCD;EACE,eAAA;CRytCD;AQhsCD;EA6EA;IAvFM,YAAA;IACA,aAAA;IACA,YAAA;IACA,kBAAA;IGtNJ,iBAAA;IACA,wBAAA;IACA,oBAAA;GXq6CC;EQ7nCH;IAhFM,mBAAA;GRgtCH;CACF;AQvsCD;;EAGE,aAAA;EACA,kCAAA;CRwsCD;AQtsCD;EACE,eAAA;EA9IqB,0BAAA;CRu1CtB;AQpsCD;EACE,mBAAA;EACA,iBAAA;EACA,kBAAA;EACA,+BAAA;CRssCD;AQjsCG;;;EACE,iBAAA;CRqsCL;AQ/sCD;;;EAmBI,eAAA;EACA,eAAA;EACA,wBAAA;EACA,eAAA;CRisCH;AQ/rCG;;;EACE,uBAAA;CRmsCL;AQ3rCD;;EAEE,oBAAA;EACA,gBAAA;EACA,gCAAA;EACA,eAAA;EACA,kBAAA;CR6rCD;AQvrCG;;;;;;EAAW,YAAA;CR+rCd;AQ9rCG;;;;;;EACE,uBAAA;CRqsCL;AQ/rCD;EACE,oBAAA;EACA,mBAAA;EACA,wBAAA;CRisCD;AYv+CD;;;;EAIE,+DAAA;CZy+CD;AYr+CD;EACE,iBAAA;EACA,eAAA;EACA,eAAA;EACA,0BAAA;EACA,mBAAA;CZu+CD;AYn+CD;EACE,iBAAA;EACA,eAAA;EACA,YAAA;EACA,uBAAA;EACA,mBAAA;EACA,uDAAA;UAAA,+CAAA;CZq+CD;AY3+CD;EASI,WAAA;EACA,gBAAA;EACA,kBAAA;EACA,yBAAA;UAAA,iBAAA;CZq+CH;AYh+CD;EACE,eAAA;EACA,eAAA;EACA,iBAAA;EACA,gBAAA;EACA,wBAAA;EACA,sBAAA;EACA,sBAAA;EACA,eAAA;EACA,0BAAA;EACA,uBAAA;EACA,mBAAA;CZk+CD;AY7+CD;EAeI,WAAA;EACA,mBAAA;EACA,eAAA;EACA,sBAAA;EACA,8BAAA;EACA,iBAAA;CZi+CH;AY59CD;EACE,kBAAA;EACA,mBAAA;CZ89CD;AaxhDD;ECHE,mBAAA;EACA,kBAAA;EACA,mBAAA;EACA,oBAAA;Cd8hDD;AaxhDC;EAqEF;IAvEI,aAAA;Gb8hDD;CACF;Aa1hDC;EAkEF;IApEI,aAAA;GbgiDD;CACF;Aa5hDD;EA+DA;IAjEI,cAAA;GbkiDD;CACF;AazhDD;ECvBE,mBAAA;EACA,kBAAA;EACA,mBAAA;EACA,oBAAA;CdmjDD;AathDD;ECvBE,mBAAA;EACA,oBAAA;CdgjDD;AehjDG;EACE,mBAAA;EAEA,gBAAA;EAEA,mBAAA;EACA,oBAAA;CfgjDL;AehiDG;EACE,YAAA;CfkiDL;Ae3hDC;EACE,YAAA;Cf6hDH;Ae9hDC;EACE,oBAAA;CfgiDH;AejiDC;EACE,oBAAA;CfmiDH;AepiDC;EACE,WAAA;CfsiDH;AeviDC;EACE,oBAAA;CfyiDH;Ae1iDC;EACE,oBAAA;Cf4iDH;Ae7iDC;EACE,WAAA;Cf+iDH;AehjDC;EACE,oBAAA;CfkjDH;AenjDC;EACE,oBAAA;CfqjDH;AetjDC;EACE,WAAA;CfwjDH;AezjDC;EACE,oBAAA;Cf2jDH;Ae5jDC;EACE,mBAAA;Cf8jDH;AehjDC;EACE,YAAA;CfkjDH;AenjDC;EACE,oBAAA;CfqjDH;AetjDC;EACE,oBAAA;CfwjDH;AezjDC;EACE,WAAA;Cf2jDH;Ae5jDC;EACE,oBAAA;Cf8jDH;Ae/jDC;EACE,oBAAA;CfikDH;AelkDC;EACE,WAAA;CfokDH;AerkDC;EACE,oBAAA;CfukDH;AexkDC;EACE,oBAAA;Cf0kDH;Ae3kDC;EACE,WAAA;Cf6kDH;Ae9kDC;EACE,oBAAA;CfglDH;AejlDC;EACE,mBAAA;CfmlDH;Ae/kDC;EACE,YAAA;CfilDH;AejmDC;EACE,WAAA;CfmmDH;AepmDC;EACE,mBAAA;CfsmDH;AevmDC;EACE,mBAAA;CfymDH;Ae1mDC;EACE,UAAA;Cf4mDH;Ae7mDC;EACE,mBAAA;Cf+mDH;AehnDC;EACE,mBAAA;CfknDH;AennDC;EACE,UAAA;CfqnDH;AetnDC;EACE,mBAAA;CfwnDH;AeznDC;EACE,mBAAA;Cf2nDH;Ae5nDC;EACE,UAAA;Cf8nDH;Ae/nDC;EACE,mBAAA;CfioDH;AeloDC;EACE,kBAAA;CfooDH;AehoDC;EACE,WAAA;CfkoDH;AepnDC;EACE,kBAAA;CfsnDH;AevnDC;EACE,0BAAA;CfynDH;Ae1nDC;EACE,0BAAA;Cf4nDH;Ae7nDC;EACE,iBAAA;Cf+nDH;AehoDC;EACE,0BAAA;CfkoDH;AenoDC;EACE,0BAAA;CfqoDH;AetoDC;EACE,iBAAA;CfwoDH;AezoDC;EACE,0BAAA;Cf2oDH;Ae5oDC;EACE,0BAAA;Cf8oDH;Ae/oDC;EACE,iBAAA;CfipDH;AelpDC;EACE,0BAAA;CfopDH;AerpDC;EACE,yBAAA;CfupDH;AexpDC;EACE,gBAAA;Cf0pDH;Aa1pDD;EElCI;IACE,YAAA;Gf+rDH;EexrDD;IACE,YAAA;Gf0rDD;Ee3rDD;IACE,oBAAA;Gf6rDD;Ee9rDD;IACE,oBAAA;GfgsDD;EejsDD;IACE,WAAA;GfmsDD;EepsDD;IACE,oBAAA;GfssDD;EevsDD;IACE,oBAAA;GfysDD;Ee1sDD;IACE,WAAA;Gf4sDD;Ee7sDD;IACE,oBAAA;Gf+sDD;EehtDD;IACE,oBAAA;GfktDD;EentDD;IACE,WAAA;GfqtDD;EettDD;IACE,oBAAA;GfwtDD;EeztDD;IACE,mBAAA;Gf2tDD;Ee7sDD;IACE,YAAA;Gf+sDD;EehtDD;IACE,oBAAA;GfktDD;EentDD;IACE,oBAAA;GfqtDD;EettDD;IACE,WAAA;GfwtDD;EeztDD;IACE,oBAAA;Gf2tDD;Ee5tDD;IACE,oBAAA;Gf8tDD;Ee/tDD;IACE,WAAA;GfiuDD;EeluDD;IACE,oBAAA;GfouDD;EeruDD;IACE,oBAAA;GfuuDD;EexuDD;IACE,WAAA;Gf0uDD;Ee3uDD;IACE,oBAAA;Gf6uDD;Ee9uDD;IACE,mBAAA;GfgvDD;Ee5uDD;IACE,YAAA;Gf8uDD;Ee9vDD;IACE,WAAA;GfgwDD;EejwDD;IACE,mBAAA;GfmwDD;EepwDD;IACE,mBAAA;GfswDD;EevwDD;IACE,UAAA;GfywDD;Ee1wDD;IACE,mBAAA;Gf4wDD;Ee7wDD;IACE,mBAAA;Gf+wDD;EehxDD;IACE,UAAA;GfkxDD;EenxDD;IACE,mBAAA;GfqxDD;EetxDD;IACE,mBAAA;GfwxDD;EezxDD;IACE,UAAA;Gf2xDD;Ee5xDD;IACE,mBAAA;Gf8xDD;Ee/xDD;IACE,kBAAA;GfiyDD;Ee7xDD;IACE,WAAA;Gf+xDD;EejxDD;IACE,kBAAA;GfmxDD;EepxDD;IACE,0BAAA;GfsxDD;EevxDD;IACE,0BAAA;GfyxDD;Ee1xDD;IACE,iBAAA;Gf4xDD;Ee7xDD;IACE,0BAAA;Gf+xDD;EehyDD;IACE,0BAAA;GfkyDD;EenyDD;IACE,iBAAA;GfqyDD;EetyDD;IACE,0BAAA;GfwyDD;EezyDD;IACE,0BAAA;Gf2yDD;Ee5yDD;IACE,iBAAA;Gf8yDD;Ee/yDD;IACE,0BAAA;GfizDD;EelzDD;IACE,yBAAA;GfozDD;EerzDD;IACE,gBAAA;GfuzDD;CACF;Aa/yDD;EE3CI;IACE,YAAA;Gf61DH;Eet1DD;IACE,YAAA;Gfw1DD;Eez1DD;IACE,oBAAA;Gf21DD;Ee51DD;IACE,oBAAA;Gf81DD;Ee/1DD;IACE,WAAA;Gfi2DD;Eel2DD;IACE,oBAAA;Gfo2DD;Eer2DD;IACE,oBAAA;Gfu2DD;Eex2DD;IACE,WAAA;Gf02DD;Ee32DD;IACE,oBAAA;Gf62DD;Ee92DD;IACE,oBAAA;Gfg3DD;Eej3DD;IACE,WAAA;Gfm3DD;Eep3DD;IACE,oBAAA;Gfs3DD;Eev3DD;IACE,mBAAA;Gfy3DD;Ee32DD;IACE,YAAA;Gf62DD;Ee92DD;IACE,oBAAA;Gfg3DD;Eej3DD;IACE,oBAAA;Gfm3DD;Eep3DD;IACE,WAAA;Gfs3DD;Eev3DD;IACE,oBAAA;Gfy3DD;Ee13DD;IACE,oBAAA;Gf43DD;Ee73DD;IACE,WAAA;Gf+3DD;Eeh4DD;IACE,oBAAA;Gfk4DD;Een4DD;IACE,oBAAA;Gfq4DD;Eet4DD;IACE,WAAA;Gfw4DD;Eez4DD;IACE,oBAAA;Gf24DD;Ee54DD;IACE,mBAAA;Gf84DD;Ee14DD;IACE,YAAA;Gf44DD;Ee55DD;IACE,WAAA;Gf85DD;Ee/5DD;IACE,mBAAA;Gfi6DD;Eel6DD;IACE,mBAAA;Gfo6DD;Eer6DD;IACE,UAAA;Gfu6DD;Eex6DD;IACE,mBAAA;Gf06DD;Ee36DD;IACE,mBAAA;Gf66DD;Ee96DD;IACE,UAAA;Gfg7DD;Eej7DD;IACE,mBAAA;Gfm7DD;Eep7DD;IACE,mBAAA;Gfs7DD;Eev7DD;IACE,UAAA;Gfy7DD;Ee17DD;IACE,mBAAA;Gf47DD;Ee77DD;IACE,kBAAA;Gf+7DD;Ee37DD;IACE,WAAA;Gf67DD;Ee/6DD;IACE,kBAAA;Gfi7DD;Eel7DD;IACE,0BAAA;Gfo7DD;Eer7DD;IACE,0BAAA;Gfu7DD;Eex7DD;IACE,iBAAA;Gf07DD;Ee37DD;IACE,0BAAA;Gf67DD;Ee97DD;IACE,0BAAA;Gfg8DD;Eej8DD;IACE,iBAAA;Gfm8DD;Eep8DD;IACE,0BAAA;Gfs8DD;Eev8DD;IACE,0BAAA;Gfy8DD;Ee18DD;IACE,iBAAA;Gf48DD;Ee78DD;IACE,0BAAA;Gf+8DD;Eeh9DD;IACE,yBAAA;Gfk9DD;Een9DD;IACE,gBAAA;Gfq9DD;CACF;Aa18DD;EE9CI;IACE,YAAA;Gf2/DH;Eep/DD;IACE,YAAA;Gfs/DD;Eev/DD;IACE,oBAAA;Gfy/DD;Ee1/DD;IACE,oBAAA;Gf4/DD;Ee7/DD;IACE,WAAA;Gf+/DD;EehgED;IACE,oBAAA;GfkgED;EengED;IACE,oBAAA;GfqgED;EetgED;IACE,WAAA;GfwgED;EezgED;IACE,oBAAA;Gf2gED;Ee5gED;IACE,oBAAA;Gf8gED;Ee/gED;IACE,WAAA;GfihED;EelhED;IACE,oBAAA;GfohED;EerhED;IACE,mBAAA;GfuhED;EezgED;IACE,YAAA;Gf2gED;Ee5gED;IACE,oBAAA;Gf8gED;Ee/gED;IACE,oBAAA;GfihED;EelhED;IACE,WAAA;GfohED;EerhED;IACE,oBAAA;GfuhED;EexhED;IACE,oBAAA;Gf0hED;Ee3hED;IACE,WAAA;Gf6hED;Ee9hED;IACE,oBAAA;GfgiED;EejiED;IACE,oBAAA;GfmiED;EepiED;IACE,WAAA;GfsiED;EeviED;IACE,oBAAA;GfyiED;Ee1iED;IACE,mBAAA;Gf4iED;EexiED;IACE,YAAA;Gf0iED;Ee1jED;IACE,WAAA;Gf4jED;Ee7jED;IACE,mBAAA;Gf+jED;EehkED;IACE,mBAAA;GfkkED;EenkED;IACE,UAAA;GfqkED;EetkED;IACE,mBAAA;GfwkED;EezkED;IACE,mBAAA;Gf2kED;Ee5kED;IACE,UAAA;Gf8kED;Ee/kED;IACE,mBAAA;GfilED;EellED;IACE,mBAAA;GfolED;EerlED;IACE,UAAA;GfulED;EexlED;IACE,mBAAA;Gf0lED;Ee3lED;IACE,kBAAA;Gf6lED;EezlED;IACE,WAAA;Gf2lED;Ee7kED;IACE,kBAAA;Gf+kED;EehlED;IACE,0BAAA;GfklED;EenlED;IACE,0BAAA;GfqlED;EetlED;IACE,iBAAA;GfwlED;EezlED;IACE,0BAAA;Gf2lED;Ee5lED;IACE,0BAAA;Gf8lED;Ee/lED;IACE,iBAAA;GfimED;EelmED;IACE,0BAAA;GfomED;EermED;IACE,0BAAA;GfumED;EexmED;IACE,iBAAA;Gf0mED;Ee3mED;IACE,0BAAA;Gf6mED;Ee9mED;IACE,yBAAA;GfgnED;EejnED;IACE,gBAAA;GfmnED;CACF;AgBvrED;EACE,8BAAA;ChByrED;AgBvrED;EACE,iBAAA;EACA,oBAAA;EACA,eAAA;EACA,iBAAA;ChByrED;AgBvrED;EACE,iBAAA;ChByrED;AgBnrED;EACE,YAAA;EACA,gBAAA;EACA,oBAAA;ChBqrED;AgBxrED;;;;;;EAWQ,aAAA;EACA,wBAAA;EACA,oBAAA;EACA,2BAAA;ChBqrEP;AgBnsED;EAoBI,uBAAA;EACA,8BAAA;ChBkrEH;AgBvsED;;;;;;EA8BQ,cAAA;ChBirEP;AgB/sED;EAoCI,2BAAA;ChB8qEH;AgBltED;EAyCI,uBAAA;ChB4qEH;AgBrqED;;;;;;EAOQ,aAAA;ChBsqEP;AgB3pED;EACE,uBAAA;ChB6pED;AgB9pED;;;;;;EAQQ,uBAAA;ChB8pEP;AgBtqED;;EAeM,yBAAA;ChB2pEL;AgBjpED;EAEI,0BAAA;ChBkpEH;AgBzoED;EAEI,0BAAA;ChB0oEH;AgBjoED;EACE,iBAAA;EACA,YAAA;EACA,sBAAA;ChBmoED;AgB9nEG;;EACE,iBAAA;EACA,YAAA;EACA,oBAAA;ChBioEL;AiB7wEC;;;;;;;;;;;;EAOI,0BAAA;CjBoxEL;AiB9wEC;;;;;EAMI,0BAAA;CjB+wEL;AiBlyEC;;;;;;;;;;;;EAOI,0BAAA;CjByyEL;AiBnyEC;;;;;EAMI,0BAAA;CjBoyEL;AiBvzEC;;;;;;;;;;;;EAOI,0BAAA;CjB8zEL;AiBxzEC;;;;;EAMI,0BAAA;CjByzEL;AiB50EC;;;;;;;;;;;;EAOI,0BAAA;CjBm1EL;AiB70EC;;;;;EAMI,0BAAA;CjB80EL;AiBj2EC;;;;;;;;;;;;EAOI,0BAAA;CjBw2EL;AiBl2EC;;;;;EAMI,0BAAA;CjBm2EL;AgBjtED;EACE,iBAAA;EACA,kBAAA;ChBmtED;AgBtpED;EACA;IA3DI,YAAA;IACA,oBAAA;IACA,mBAAA;IACA,6CAAA;IACA,uBAAA;GhBotED;EgB7pEH;IAnDM,iBAAA;GhBmtEH;EgBhqEH;;;;;;IA1CY,oBAAA;GhBktET;EgBxqEH;IAlCM,UAAA;GhB6sEH;EgB3qEH;;;;;;IAzBY,eAAA;GhB4sET;EgBnrEH;;;;;;IArBY,gBAAA;GhBgtET;EgB3rEH;;;;IARY,iBAAA;GhBysET;CACF;AkBn6ED;EACE,WAAA;EACA,UAAA;EACA,UAAA;EAIA,aAAA;ClBk6ED;AkB/5ED;EACE,eAAA;EACA,YAAA;EACA,WAAA;EACA,oBAAA;EACA,gBAAA;EACA,qBAAA;EACA,eAAA;EACA,UAAA;EACA,iCAAA;ClBi6ED;AkB95ED;EACE,sBAAA;EACA,gBAAA;EACA,mBAAA;EACA,kBAAA;ClBg6ED;AkBr5ED;Eb4BE,+BAAA;EACG,4BAAA;EACK,uBAAA;CL43ET;AkBr5ED;;EAEE,gBAAA;EACA,mBAAA;EACA,oBAAA;ClBu5ED;AkBp5ED;EACE,eAAA;ClBs5ED;AkBl5ED;EACE,eAAA;EACA,YAAA;ClBo5ED;AkBh5ED;;EAEE,aAAA;ClBk5ED;AkB94ED;;;EZrEE,2CAAA;EACA,qBAAA;CNw9ED;AkB74ED;EACE,eAAA;EACA,iBAAA;EACA,gBAAA;EACA,wBAAA;EACA,eAAA;ClB+4ED;AkBr3ED;EACE,eAAA;EACA,YAAA;EACA,aAAA;EACA,kBAAA;EACA,gBAAA;EACA,wBAAA;EACA,eAAA;EACA,uBAAA;EACA,uBAAA;EACA,uBAAA;EACA,mBAAA;EbxDA,yDAAA;EACQ,iDAAA;EAyHR,uFAAA;EACK,0EAAA;EACG,uEAAA;CLwzET;AmBh8EC;EACE,sBAAA;EACA,WAAA;EdUF,uFAAA;EACQ,+EAAA;CLy7ET;AKx5EC;EACE,YAAA;EACA,WAAA;CL05EH;AKx5EC;EAA0B,YAAA;CL25E3B;AK15EC;EAAgC,YAAA;CL65EjC;AkBj4EC;EACE,UAAA;EACA,8BAAA;ClBm4EH;AkB33EC;;;EAGE,0BAAA;EACA,WAAA;ClB63EH;AkB13EC;;EAEE,oBAAA;ClB43EH;AkBx3EC;EACE,aAAA;ClB03EH;AkB92ED;EACE,yBAAA;ClBg3ED;AkBx0ED;EAtBI;;;;IACE,kBAAA;GlBo2EH;EkBj2EC;;;;;;;;IAEE,kBAAA;GlBy2EH;EkBt2EC;;;;;;;;IAEE,kBAAA;GlB82EH;CACF;AkBp2ED;EACE,oBAAA;ClBs2ED;AkB91ED;;EAEE,mBAAA;EACA,eAAA;EACA,iBAAA;EACA,oBAAA;ClBg2ED;AkBr2ED;;EAQI,iBAAA;EACA,mBAAA;EACA,iBAAA;EACA,oBAAA;EACA,gBAAA;ClBi2EH;AkB91ED;;;;EAIE,mBAAA;EACA,mBAAA;EACA,mBAAA;ClBg2ED;AkB71ED;;EAEE,iBAAA;ClB+1ED;AkB31ED;;EAEE,mBAAA;EACA,sBAAA;EACA,mBAAA;EACA,iBAAA;EACA,uBAAA;EACA,oBAAA;EACA,gBAAA;ClB61ED;AkB31ED;;EAEE,cAAA;EACA,kBAAA;ClB61ED;AkBp1EC;;;;;;EAGE,oBAAA;ClBy1EH;AkBn1EC;;;;EAEE,oBAAA;ClBu1EH;AkBj1EC;;;;EAGI,oBAAA;ClBo1EL;AkBz0ED;EAEE,iBAAA;EACA,oBAAA;EAEA,iBAAA;EACA,iBAAA;ClBy0ED;AkBv0EC;;EAEE,gBAAA;EACA,iBAAA;ClBy0EH;AkB5zED;ECnQE,aAAA;EACA,kBAAA;EACA,gBAAA;EACA,iBAAA;EACA,mBAAA;CnBkkFD;AmBhkFC;EACE,aAAA;EACA,kBAAA;CnBkkFH;AmB/jFC;;EAEE,aAAA;CnBikFH;AkBx0ED;EAEI,aAAA;EACA,kBAAA;EACA,gBAAA;EACA,iBAAA;EACA,mBAAA;ClBy0EH;AkB/0ED;EASI,aAAA;EACA,kBAAA;ClBy0EH;AkBn1ED;;EAcI,aAAA;ClBy0EH;AkBv1ED;EAiBI,aAAA;EACA,iBAAA;EACA,kBAAA;EACA,gBAAA;EACA,iBAAA;ClBy0EH;AkBr0ED;EC/RE,aAAA;EACA,mBAAA;EACA,gBAAA;EACA,uBAAA;EACA,mBAAA;CnBumFD;AmBrmFC;EACE,aAAA;EACA,kBAAA;CnBumFH;AmBpmFC;;EAEE,aAAA;CnBsmFH;AkBj1ED;EAEI,aAAA;EACA,mBAAA;EACA,gBAAA;EACA,uBAAA;EACA,mBAAA;ClBk1EH;AkBx1ED;EASI,aAAA;EACA,kBAAA;ClBk1EH;AkB51ED;;EAcI,aAAA;ClBk1EH;AkBh2ED;EAiBI,aAAA;EACA,iBAAA;EACA,mBAAA;EACA,gBAAA;EACA,uBAAA;ClBk1EH;AkBz0ED;EAEE,mBAAA;ClB00ED;AkB50ED;EAMI,sBAAA;ClBy0EH;AkBr0ED;EACE,mBAAA;EACA,OAAA;EACA,SAAA;EACA,WAAA;EACA,eAAA;EACA,YAAA;EACA,aAAA;EACA,kBAAA;EACA,mBAAA;EACA,qBAAA;ClBu0ED;AkBr0ED;;;EAGE,YAAA;EACA,aAAA;EACA,kBAAA;ClBu0ED;AkBr0ED;;;EAGE,YAAA;EACA,aAAA;EACA,kBAAA;ClBu0ED;AkBn0ED;;;;;;;;;;EC1ZI,eAAA;CnByuFH;AkB/0ED;ECtZI,sBAAA;Ed+CF,yDAAA;EACQ,iDAAA;CL0rFT;AmBxuFG;EACE,sBAAA;Ed4CJ,0EAAA;EACQ,kEAAA;CL+rFT;AkBz1ED;EC5YI,eAAA;EACA,sBAAA;EACA,0BAAA;CnBwuFH;AkB91ED;ECtYI,eAAA;CnBuuFH;AkB91ED;;;;;;;;;;EC7ZI,eAAA;CnBuwFH;AkB12ED;ECzZI,sBAAA;Ed+CF,yDAAA;EACQ,iDAAA;CLwtFT;AmBtwFG;EACE,sBAAA;Ed4CJ,0EAAA;EACQ,kEAAA;CL6tFT;AkBp3ED;EC/YI,eAAA;EACA,sBAAA;EACA,0BAAA;CnBswFH;AkBz3ED;ECzYI,eAAA;CnBqwFH;AkBz3ED;;;;;;;;;;EChaI,eAAA;CnBqyFH;AkBr4ED;EC5ZI,sBAAA;Ed+CF,yDAAA;EACQ,iDAAA;CLsvFT;AmBpyFG;EACE,sBAAA;Ed4CJ,0EAAA;EACQ,kEAAA;CL2vFT;AkB/4ED;EClZI,eAAA;EACA,sBAAA;EACA,0BAAA;CnBoyFH;AkBp5ED;EC5YI,eAAA;CnBmyFH;AkBh5EC;EACE,UAAA;ClBk5EH;AkBh5EC;EACE,OAAA;ClBk5EH;AkBx4ED;EACE,eAAA;EACA,gBAAA;EACA,oBAAA;EACA,eAAA;ClB04ED;AkBvzED;EAwEA;IAtIM,sBAAA;IACA,iBAAA;IACA,uBAAA;GlBy3EH;EkBrvEH;IA/HM,sBAAA;IACA,YAAA;IACA,uBAAA;GlBu3EH;EkB1vEH;IAxHM,sBAAA;GlBq3EH;EkB7vEH;IApHM,sBAAA;IACA,uBAAA;GlBo3EH;EkBjwEH;;;IA9GQ,YAAA;GlBo3EL;EkBtwEH;IAxGM,YAAA;GlBi3EH;EkBzwEH;IApGM,iBAAA;IACA,uBAAA;GlBg3EH;EkB7wEH;;IA5FM,sBAAA;IACA,cAAA;IACA,iBAAA;IACA,uBAAA;GlB62EH;EkBpxEH;;IAtFQ,gBAAA;GlB82EL;EkBxxEH;;IAjFM,mBAAA;IACA,eAAA;GlB62EH;EkB7xEH;IA3EM,OAAA;GlB22EH;CACF;AkBj2ED;;;;EASI,cAAA;EACA,iBAAA;EACA,iBAAA;ClB81EH;AkBz2ED;;EAiBI,iBAAA;ClB41EH;AkB72ED;EJthBE,mBAAA;EACA,oBAAA;Cds4FD;AkB10EC;EAyBF;IAnCM,kBAAA;IACA,iBAAA;IACA,iBAAA;GlBw1EH;CACF;AkBx3ED;EAwCI,YAAA;ClBm1EH;AkBr0EC;EAUF;IAdQ,kBAAA;IACA,gBAAA;GlB60EL;CACF;AkBn0EC;EAEF;IANQ,iBAAA;IACA,gBAAA;GlB20EL;CACF;AoBp6FD;EACE,sBAAA;EACA,iBAAA;EACA,oBAAA;EACA,mBAAA;EACA,uBAAA;EACA,+BAAA;MAAA,2BAAA;EACA,gBAAA;EACA,uBAAA;EACA,8BAAA;EACA,oBAAA;EC0CA,kBAAA;EACA,gBAAA;EACA,wBAAA;EACA,mBAAA;EhB+JA,0BAAA;EACG,uBAAA;EACC,sBAAA;EACI,kBAAA;CL+tFT;AoBv6FG;;;;;;EdnBF,2CAAA;EACA,qBAAA;CNk8FD;AoB16FC;;;EAGE,YAAA;EACA,sBAAA;CpB46FH;AoBz6FC;;EAEE,WAAA;EACA,uBAAA;Ef2BF,yDAAA;EACQ,iDAAA;CLi5FT;AoBz6FC;;;EAGE,oBAAA;EE7CF,cAAA;EAGA,0BAAA;EjB8DA,yBAAA;EACQ,iBAAA;CL05FT;AoBz6FG;;EAEE,qBAAA;CpB26FL;AoBl6FD;EC3DE,YAAA;EACA,uBAAA;EACA,mBAAA;CrBg+FD;AqB99FC;;EAEE,YAAA;EACA,0BAAA;EACI,sBAAA;CrBg+FP;AqB99FC;EACE,YAAA;EACA,0BAAA;EACI,sBAAA;CrBg+FP;AqB99FC;;;EAGE,YAAA;EACA,0BAAA;EACI,sBAAA;CrBg+FP;AqB99FG;;;;;;;;;EAGE,YAAA;EACA,0BAAA;EACI,sBAAA;CrBs+FT;AqBn+FC;;;EAGE,uBAAA;CrBq+FH;AqBh+FG;;;;;;;;;EAGE,uBAAA;EACI,mBAAA;CrBw+FT;AoBv9FD;ECZI,YAAA;EACA,uBAAA;CrBs+FH;AoBx9FD;EC9DE,YAAA;EACA,0BAAA;EACA,sBAAA;CrByhGD;AqBvhGC;;EAEE,YAAA;EACA,0BAAA;EACI,sBAAA;CrByhGP;AqBvhGC;EACE,YAAA;EACA,0BAAA;EACI,sBAAA;CrByhGP;AqBvhGC;;;EAGE,YAAA;EACA,0BAAA;EACI,sBAAA;CrByhGP;AqBvhGG;;;;;;;;;EAGE,YAAA;EACA,0BAAA;EACI,sBAAA;CrB+hGT;AqB5hGC;;;EAGE,uBAAA;CrB8hGH;AqBzhGG;;;;;;;;;EAGE,0BAAA;EACI,sBAAA;CrBiiGT;AoB7gGD;ECfI,eAAA;EACA,uBAAA;CrB+hGH;AoB7gGD;EClEE,YAAA;EACA,0BAAA;EACA,sBAAA;CrBklGD;AqBhlGC;;EAEE,YAAA;EACA,0BAAA;EACI,sBAAA;CrBklGP;AqBhlGC;EACE,YAAA;EACA,0BAAA;EACI,sBAAA;CrBklGP;AqBhlGC;;;EAGE,YAAA;EACA,0BAAA;EACI,sBAAA;CrBklGP;AqBhlGG;;;;;;;;;EAGE,YAAA;EACA,0BAAA;EACI,sBAAA;CrBwlGT;AqBrlGC;;;EAGE,uBAAA;CrBulGH;AqBllGG;;;;;;;;;EAGE,0BAAA;EACI,sBAAA;CrB0lGT;AoBlkGD;ECnBI,eAAA;EACA,uBAAA;CrBwlGH;AoBlkGD;ECtEE,YAAA;EACA,0BAAA;EACA,sBAAA;CrB2oGD;AqBzoGC;;EAEE,YAAA;EACA,0BAAA;EACI,sBAAA;CrB2oGP;AqBzoGC;EACE,YAAA;EACA,0BAAA;EACI,sBAAA;CrB2oGP;AqBzoGC;;;EAGE,YAAA;EACA,0BAAA;EACI,sBAAA;CrB2oGP;AqBzoGG;;;;;;;;;EAGE,YAAA;EACA,0BAAA;EACI,sBAAA;CrBipGT;AqB9oGC;;;EAGE,uBAAA;CrBgpGH;AqB3oGG;;;;;;;;;EAGE,0BAAA;EACI,sBAAA;CrBmpGT;AoBvnGD;ECvBI,eAAA;EACA,uBAAA;CrBipGH;AoBvnGD;EC1EE,YAAA;EACA,0BAAA;EACA,sBAAA;CrBosGD;AqBlsGC;;EAEE,YAAA;EACA,0BAAA;EACI,sBAAA;CrBosGP;AqBlsGC;EACE,YAAA;EACA,0BAAA;EACI,sBAAA;CrBosGP;AqBlsGC;;;EAGE,YAAA;EACA,0BAAA;EACI,sBAAA;CrBosGP;AqBlsGG;;;;;;;;;EAGE,YAAA;EACA,0BAAA;EACI,sBAAA;CrB0sGT;AqBvsGC;;;EAGE,uBAAA;CrBysGH;AqBpsGG;;;;;;;;;EAGE,0BAAA;EACI,sBAAA;CrB4sGT;AoB5qGD;EC3BI,eAAA;EACA,uBAAA;CrB0sGH;AoB5qGD;EC9EE,YAAA;EACA,0BAAA;EACA,sBAAA;CrB6vGD;AqB3vGC;;EAEE,YAAA;EACA,0BAAA;EACI,sBAAA;CrB6vGP;AqB3vGC;EACE,YAAA;EACA,0BAAA;EACI,sBAAA;CrB6vGP;AqB3vGC;;;EAGE,YAAA;EACA,0BAAA;EACI,sBAAA;CrB6vGP;AqB3vGG;;;;;;;;;EAGE,YAAA;EACA,0BAAA;EACI,sBAAA;CrBmwGT;AqBhwGC;;;EAGE,uBAAA;CrBkwGH;AqB7vGG;;;;;;;;;EAGE,0BAAA;EACI,sBAAA;CrBqwGT;AoBjuGD;EC/BI,eAAA;EACA,uBAAA;CrBmwGH;AoB5tGD;EACE,eAAA;EACA,oBAAA;EACA,iBAAA;CpB8tGD;AoB5tGC;;;;;EAKE,8BAAA;EfnCF,yBAAA;EACQ,iBAAA;CLkwGT;AoB7tGC;;;;EAIE,0BAAA;CpB+tGH;AoB7tGC;;EAEE,eAAA;EACA,2BAAA;EACA,8BAAA;CpB+tGH;AoB3tGG;;;;EAEE,eAAA;EACA,sBAAA;CpB+tGL;AoBttGD;;ECxEE,mBAAA;EACA,gBAAA;EACA,uBAAA;EACA,mBAAA;CrBkyGD;AoBztGD;;EC5EE,kBAAA;EACA,gBAAA;EACA,iBAAA;EACA,mBAAA;CrByyGD;AoB5tGD;;EChFE,iBAAA;EACA,gBAAA;EACA,iBAAA;EACA,mBAAA;CrBgzGD;AoB3tGD;EACE,eAAA;EACA,YAAA;CpB6tGD;AoBztGD;EACE,gBAAA;CpB2tGD;AoBptGC;;;EACE,YAAA;CpBwtGH;AuBl3GD;EACE,WAAA;ElBoLA,yCAAA;EACK,oCAAA;EACG,iCAAA;CLisGT;AuBr3GC;EACE,WAAA;CvBu3GH;AuBn3GD;EACE,cAAA;CvBq3GD;AuBn3GC;EAAY,eAAA;CvBs3Gb;AuBr3GC;EAAY,mBAAA;CvBw3Gb;AuBv3GC;EAAY,yBAAA;CvB03Gb;AuBv3GD;EACE,mBAAA;EACA,UAAA;EACA,iBAAA;ElBuKA,gDAAA;EACQ,2CAAA;KAAA,wCAAA;EAOR,mCAAA;EACQ,8BAAA;KAAA,2BAAA;EAGR,yCAAA;EACQ,oCAAA;KAAA,iCAAA;CL2sGT;AwBr5GD;EACE,sBAAA;EACA,SAAA;EACA,UAAA;EACA,iBAAA;EACA,uBAAA;EACA,uBAAA;EACA,yBAAA;EACA,oCAAA;EACA,mCAAA;CxBu5GD;AwBn5GD;;EAEE,mBAAA;CxBq5GD;AwBj5GD;EACE,WAAA;CxBm5GD;AwB/4GD;EACE,mBAAA;EACA,UAAA;EACA,QAAA;EACA,cAAA;EACA,cAAA;EACA,YAAA;EACA,iBAAA;EACA,eAAA;EACA,gBAAA;EACA,iBAAA;EACA,gBAAA;EACA,iBAAA;EACA,uBAAA;EACA,uBAAA;EACA,sCAAA;EACA,mBAAA;EnBsBA,oDAAA;EACQ,4CAAA;EmBrBR,qCAAA;UAAA,6BAAA;CxBk5GD;AwB74GC;EACE,SAAA;EACA,WAAA;CxB+4GH;AwBx6GD;ECzBE,YAAA;EACA,cAAA;EACA,iBAAA;EACA,0BAAA;CzBo8GD;AwB96GD;EAmCI,eAAA;EACA,kBAAA;EACA,YAAA;EACA,oBAAA;EACA,wBAAA;EACA,eAAA;EACA,oBAAA;CxB84GH;AwBx4GC;;EAEE,sBAAA;EACA,eAAA;EACA,0BAAA;CxB04GH;AwBp4GC;;;EAGE,YAAA;EACA,sBAAA;EACA,WAAA;EACA,0BAAA;CxBs4GH;AwB73GC;;;EAGE,eAAA;CxB+3GH;AwB33GC;;EAEE,sBAAA;EACA,8BAAA;EACA,uBAAA;EE3GF,oEAAA;EF6GE,oBAAA;CxB63GH;AwBx3GD;EAGI,eAAA;CxBw3GH;AwB33GD;EAQI,WAAA;CxBs3GH;AwB92GD;EACE,WAAA;EACA,SAAA;CxBg3GD;AwBx2GD;EACE,QAAA;EACA,YAAA;CxB02GD;AwBt2GD;EACE,eAAA;EACA,kBAAA;EACA,gBAAA;EACA,wBAAA;EACA,eAAA;EACA,oBAAA;CxBw2GD;AwBp2GD;EACE,gBAAA;EACA,QAAA;EACA,SAAA;EACA,UAAA;EACA,OAAA;EACA,aAAA;CxBs2GD;AwBl2GD;EACE,SAAA;EACA,WAAA;CxBo2GD;AwB51GD;;EAII,cAAA;EACA,0BAAA;EACA,4BAAA;EACA,YAAA;CxB41GH;AwBn2GD;;EAWI,UAAA;EACA,aAAA;EACA,mBAAA;CxB41GH;AwBv0GD;EAXE;IApEA,WAAA;IACA,SAAA;GxB05GC;EwBv1GD;IA1DA,QAAA;IACA,YAAA;GxBo5GC;CACF;A2BpiHD;;EAEE,mBAAA;EACA,sBAAA;EACA,uBAAA;C3BsiHD;A2B1iHD;;EAMI,mBAAA;EACA,YAAA;C3BwiHH;A2BtiHG;;;;;;;;EAIE,WAAA;C3B4iHL;A2BtiHD;;;;EAKI,kBAAA;C3BuiHH;A2BliHD;EACE,kBAAA;C3BoiHD;A2BriHD;;;EAOI,YAAA;C3BmiHH;A2B1iHD;;;EAYI,iBAAA;C3BmiHH;A2B/hHD;EACE,iBAAA;C3BiiHD;A2B7hHD;EACE,eAAA;C3B+hHD;A2B9hHC;EClDA,8BAAA;EACG,2BAAA;C5BmlHJ;A2B7hHD;;EC/CE,6BAAA;EACG,0BAAA;C5BglHJ;A2B5hHD;EACE,YAAA;C3B8hHD;A2B5hHD;EACE,iBAAA;C3B8hHD;A2B5hHD;;ECnEE,8BAAA;EACG,2BAAA;C5BmmHJ;A2B3hHD;ECjEE,6BAAA;EACG,0BAAA;C5B+lHJ;A2B1hHD;;EAEE,WAAA;C3B4hHD;A2B3gHD;EACE,kBAAA;EACA,mBAAA;C3B6gHD;A2B3gHD;EACE,mBAAA;EACA,oBAAA;C3B6gHD;A2BxgHD;EtB/CE,yDAAA;EACQ,iDAAA;CL0jHT;A2BxgHC;EtBnDA,yBAAA;EACQ,iBAAA;CL8jHT;A2BrgHD;EACE,eAAA;C3BugHD;A2BpgHD;EACE,wBAAA;EACA,uBAAA;C3BsgHD;A2BngHD;EACE,wBAAA;C3BqgHD;A2B9/GD;;;EAII,eAAA;EACA,YAAA;EACA,YAAA;EACA,gBAAA;C3B+/GH;A2BtgHD;EAcM,YAAA;C3B2/GL;A2BzgHD;;;;EAsBI,iBAAA;EACA,eAAA;C3By/GH;A2Bp/GC;EACE,iBAAA;C3Bs/GH;A2Bp/GC;EC3KA,6BAAA;EACC,4BAAA;EAOD,8BAAA;EACC,6BAAA;C5B4pHF;A2Bt/GC;EC/KA,2BAAA;EACC,0BAAA;EAOD,gCAAA;EACC,+BAAA;C5BkqHF;A2Bv/GD;EACE,iBAAA;C3By/GD;A2Bv/GD;;EC/KE,8BAAA;EACC,6BAAA;C5B0qHF;A2Bt/GD;EC7LE,2BAAA;EACC,0BAAA;C5BsrHF;A2Bl/GD;EACE,eAAA;EACA,YAAA;EACA,oBAAA;EACA,0BAAA;C3Bo/GD;A2Bx/GD;;EAOI,YAAA;EACA,oBAAA;EACA,UAAA;C3Bq/GH;A2B9/GD;EAYI,YAAA;C3Bq/GH;A2BjgHD;EAgBI,WAAA;C3Bo/GH;A2Bn+GD;;;;EAKM,mBAAA;EACA,uBAAA;EACA,qBAAA;C3Bo+GL;A6B9sHD;EACE,mBAAA;EACA,eAAA;EACA,0BAAA;C7BgtHD;A6B7sHC;EACE,YAAA;EACA,gBAAA;EACA,iBAAA;C7B+sHH;A6BxtHD;EAeI,mBAAA;EACA,WAAA;EAKA,YAAA;EAEA,YAAA;EACA,iBAAA;C7BusHH;A6BrsHG;EACE,WAAA;C7BusHL;A6B7rHD;;;EV0BE,aAAA;EACA,mBAAA;EACA,gBAAA;EACA,uBAAA;EACA,mBAAA;CnBwqHD;AmBtqHC;;;EACE,aAAA;EACA,kBAAA;CnB0qHH;AmBvqHC;;;;;;EAEE,aAAA;CnB6qHH;A6B/sHD;;;EVqBE,aAAA;EACA,kBAAA;EACA,gBAAA;EACA,iBAAA;EACA,mBAAA;CnB+rHD;AmB7rHC;;;EACE,aAAA;EACA,kBAAA;CnBisHH;AmB9rHC;;;;;;EAEE,aAAA;CnBosHH;A6B7tHD;;;EAGE,oBAAA;C7B+tHD;A6B7tHC;;;EACE,iBAAA;C7BiuHH;A6B7tHD;;EAEE,UAAA;EACA,oBAAA;EACA,uBAAA;C7B+tHD;A6B1tHD;EACE,kBAAA;EACA,gBAAA;EACA,oBAAA;EACA,eAAA;EACA,eAAA;EACA,mBAAA;EACA,0BAAA;EACA,uBAAA;EACA,mBAAA;C7B4tHD;A6BztHC;EACE,kBAAA;EACA,gBAAA;EACA,mBAAA;C7B2tHH;A6BztHC;EACE,mBAAA;EACA,gBAAA;EACA,mBAAA;C7B2tHH;A6B/uHD;;EA0BI,cAAA;C7BytHH;A6BptHD;;;;;;;EDpGE,8BAAA;EACG,2BAAA;C5Bi0HJ;A6BrtHD;EACE,gBAAA;C7ButHD;A6BrtHD;;;;;;;EDxGE,6BAAA;EACG,0BAAA;C5Bs0HJ;A6BttHD;EACE,eAAA;C7BwtHD;A6BntHD;EACE,mBAAA;EAGA,aAAA;EACA,oBAAA;C7BmtHD;A6BxtHD;EAUI,mBAAA;C7BitHH;A6B3tHD;EAYM,kBAAA;C7BktHL;A6B/sHG;;;EAGE,WAAA;C7BitHL;A6B5sHC;;EAGI,mBAAA;C7B6sHL;A6B1sHC;;EAGI,WAAA;EACA,kBAAA;C7B2sHL;A8B12HD;EACE,iBAAA;EACA,gBAAA;EACA,iBAAA;C9B42HD;A8B/2HD;EAOI,mBAAA;EACA,eAAA;C9B22HH;A8Bn3HD;EAWM,mBAAA;EACA,eAAA;EACA,mBAAA;C9B22HL;A8B12HK;;EAEE,sBAAA;EACA,0BAAA;C9B42HP;A8Bv2HG;EACE,eAAA;C9By2HL;A8Bv2HK;;EAEE,eAAA;EACA,sBAAA;EACA,8BAAA;EACA,oBAAA;C9By2HP;A8Bl2HG;;;EAGE,0BAAA;EACA,sBAAA;C9Bo2HL;A8B74HD;ELHE,YAAA;EACA,cAAA;EACA,iBAAA;EACA,0BAAA;CzBm5HD;A8Bn5HD;EA0DI,gBAAA;C9B41HH;A8Bn1HD;EACE,8BAAA;C9Bq1HD;A8Bt1HD;EAGI,YAAA;EAEA,oBAAA;C9Bq1HH;A8B11HD;EASM,kBAAA;EACA,wBAAA;EACA,8BAAA;EACA,2BAAA;C9Bo1HL;A8Bn1HK;EACE,mCAAA;C9Bq1HP;A8B/0HK;;;EAGE,eAAA;EACA,uBAAA;EACA,uBAAA;EACA,iCAAA;EACA,gBAAA;C9Bi1HP;A8B50HC;EAqDA,YAAA;EA8BA,iBAAA;C9B6vHD;A8Bh1HC;EAwDE,YAAA;C9B2xHH;A8Bn1HC;EA0DI,mBAAA;EACA,mBAAA;C9B4xHL;A8Bv1HC;EAgEE,UAAA;EACA,WAAA;C9B0xHH;A8B9wHD;EA0DA;IAjEM,oBAAA;IACA,UAAA;G9ByxHH;E8BztHH;IA9DQ,iBAAA;G9B0xHL;CACF;A8Bp2HC;EAuFE,gBAAA;EACA,mBAAA;C9BgxHH;A8Bx2HC;;;EA8FE,uBAAA;C9B+wHH;A8BjwHD;EA2BA;IApCM,8BAAA;IACA,2BAAA;G9B8wHH;E8B3uHH;;;IA9BM,0BAAA;G9B8wHH;CACF;A8B/2HD;EAEI,YAAA;C9Bg3HH;A8Bl3HD;EAMM,mBAAA;C9B+2HL;A8Br3HD;EASM,iBAAA;C9B+2HL;A8B12HK;;;EAGE,YAAA;EACA,0BAAA;C9B42HP;A8Bp2HD;EAEI,YAAA;C9Bq2HH;A8Bv2HD;EAIM,gBAAA;EACA,eAAA;C9Bs2HL;A8B11HD;EACE,YAAA;C9B41HD;A8B71HD;EAII,YAAA;C9B41HH;A8Bh2HD;EAMM,mBAAA;EACA,mBAAA;C9B61HL;A8Bp2HD;EAYI,UAAA;EACA,WAAA;C9B21HH;A8B/0HD;EA0DA;IAjEM,oBAAA;IACA,UAAA;G9B01HH;E8B1xHH;IA9DQ,iBAAA;G9B21HL;CACF;A8Bn1HD;EACE,iBAAA;C9Bq1HD;A8Bt1HD;EAKI,gBAAA;EACA,mBAAA;C9Bo1HH;A8B11HD;;;EAYI,uBAAA;C9Bm1HH;A8Br0HD;EA2BA;IApCM,8BAAA;IACA,2BAAA;G9Bk1HH;E8B/yHH;;;IA9BM,0BAAA;G9Bk1HH;CACF;A8Bz0HD;EAEI,cAAA;C9B00HH;A8B50HD;EAKI,eAAA;C9B00HH;A8Bj0HD;EAEE,iBAAA;EF3OA,2BAAA;EACC,0BAAA;C5B8iIF;A+BxiID;EACE,mBAAA;EACA,iBAAA;EACA,oBAAA;EACA,8BAAA;C/B0iID;A+BliID;EA8nBA;IAhoBI,mBAAA;G/BwiID;CACF;A+BzhID;EAgnBA;IAlnBI,YAAA;G/B+hID;CACF;A+BjhID;EACE,oBAAA;EACA,oBAAA;EACA,mBAAA;EACA,kCAAA;EACA,2DAAA;UAAA,mDAAA;EAEA,kCAAA;C/BkhID;A+BhhIC;EACE,iBAAA;C/BkhIH;A+Bt/HD;EA6jBA;IArlBI,YAAA;IACA,cAAA;IACA,yBAAA;YAAA,iBAAA;G/BkhID;E+BhhIC;IACE,0BAAA;IACA,wBAAA;IACA,kBAAA;IACA,6BAAA;G/BkhIH;E+B/gIC;IACE,oBAAA;G/BihIH;E+B5gIC;;;IAGE,gBAAA;IACA,iBAAA;G/B8gIH;CACF;A+B1gID;;EAGI,kBAAA;C/B2gIH;A+BtgIC;EAmjBF;;IArjBM,kBAAA;G/B6gIH;CACF;A+BpgID;;;;EAII,oBAAA;EACA,mBAAA;C/BsgIH;A+BhgIC;EAgiBF;;;;IAniBM,gBAAA;IACA,eAAA;G/B0gIH;CACF;A+B9/HD;EACE,cAAA;EACA,sBAAA;C/BggID;A+B3/HD;EA8gBA;IAhhBI,iBAAA;G/BigID;CACF;A+B7/HD;;EAEE,gBAAA;EACA,SAAA;EACA,QAAA;EACA,cAAA;C/B+/HD;A+Bz/HD;EAggBA;;IAlgBI,iBAAA;G/BggID;CACF;A+B9/HD;EACE,OAAA;EACA,sBAAA;C/BggID;A+B9/HD;EACE,UAAA;EACA,iBAAA;EACA,sBAAA;C/BggID;A+B1/HD;EACE,YAAA;EACA,mBAAA;EACA,gBAAA;EACA,kBAAA;EACA,aAAA;C/B4/HD;A+B1/HC;;EAEE,sBAAA;C/B4/HH;A+BrgID;EAaI,eAAA;C/B2/HH;A+Bl/HD;EALI;;IAEE,mBAAA;G/B0/HH;CACF;A+Bh/HD;EACE,mBAAA;EACA,aAAA;EACA,mBAAA;EACA,kBAAA;EC9LA,gBAAA;EACA,mBAAA;ED+LA,8BAAA;EACA,uBAAA;EACA,8BAAA;EACA,mBAAA;C/Bm/HD;A+B/+HC;EACE,WAAA;C/Bi/HH;A+B//HD;EAmBI,eAAA;EACA,YAAA;EACA,YAAA;EACA,mBAAA;C/B++HH;A+BrgID;EAyBI,gBAAA;C/B++HH;A+Bz+HD;EAqbA;IAvbI,cAAA;G/B++HD;CACF;A+Bt+HD;EACE,oBAAA;C/Bw+HD;A+Bz+HD;EAII,kBAAA;EACA,qBAAA;EACA,kBAAA;C/Bw+HH;A+B58HC;EA2YF;IAjaM,iBAAA;IACA,YAAA;IACA,YAAA;IACA,cAAA;IACA,8BAAA;IACA,UAAA;IACA,yBAAA;YAAA,iBAAA;G/Bs+HH;E+B3kHH;;IAxZQ,2BAAA;G/Bu+HL;E+B/kHH;IArZQ,kBAAA;G/Bu+HL;E+Bt+HK;;IAEE,uBAAA;G/Bw+HP;CACF;A+Bt9HD;EA+XA;IA1YI,YAAA;IACA,UAAA;G/Bq+HD;E+B5lHH;IAtYM,YAAA;G/Bq+HH;E+B/lHH;IApYQ,kBAAA;IACA,qBAAA;G/Bs+HL;CACF;A+B39HD;EACE,mBAAA;EACA,oBAAA;EACA,mBAAA;EACA,kCAAA;EACA,qCAAA;E1B9NA,6FAAA;EACQ,qFAAA;E2B/DR,gBAAA;EACA,mBAAA;ChC4vID;AkBtuHD;EAwEA;IAtIM,sBAAA;IACA,iBAAA;IACA,uBAAA;GlBwyHH;EkBpqHH;IA/HM,sBAAA;IACA,YAAA;IACA,uBAAA;GlBsyHH;EkBzqHH;IAxHM,sBAAA;GlBoyHH;EkB5qHH;IApHM,sBAAA;IACA,uBAAA;GlBmyHH;EkBhrHH;;;IA9GQ,YAAA;GlBmyHL;EkBrrHH;IAxGM,YAAA;GlBgyHH;EkBxrHH;IApGM,iBAAA;IACA,uBAAA;GlB+xHH;EkB5rHH;;IA5FM,sBAAA;IACA,cAAA;IACA,iBAAA;IACA,uBAAA;GlB4xHH;EkBnsHH;;IAtFQ,gBAAA;GlB6xHL;EkBvsHH;;IAjFM,mBAAA;IACA,eAAA;GlB4xHH;EkB5sHH;IA3EM,OAAA;GlB0xHH;CACF;A+BpgIC;EAmWF;IAzWM,mBAAA;G/B8gIH;E+B5gIG;IACE,iBAAA;G/B8gIL;CACF;A+B7/HD;EAoVA;IA5VI,YAAA;IACA,UAAA;IACA,eAAA;IACA,gBAAA;IACA,eAAA;IACA,kBAAA;I1BzPF,yBAAA;IACQ,iBAAA;GLmwIP;CACF;A+BngID;EACE,cAAA;EHpUA,2BAAA;EACC,0BAAA;C5B00IF;A+BngID;EACE,iBAAA;EHzUA,6BAAA;EACC,4BAAA;EAOD,8BAAA;EACC,6BAAA;C5By0IF;A+B//HD;EChVE,gBAAA;EACA,mBAAA;ChCk1ID;A+BhgIC;ECnVA,iBAAA;EACA,oBAAA;ChCs1ID;A+BjgIC;ECtVA,iBAAA;EACA,oBAAA;ChC01ID;A+B3/HD;EChWE,iBAAA;EACA,oBAAA;ChC81ID;A+Bv/HD;EAsSA;IA1SI,YAAA;IACA,kBAAA;IACA,mBAAA;G/B+/HD;CACF;A+Bl+HD;EAhBE;IExWA,uBAAA;GjC81IC;E+Br/HD;IE5WA,wBAAA;IF8WE,oBAAA;G/Bu/HD;E+Bz/HD;IAKI,gBAAA;G/Bu/HH;CACF;A+B9+HD;EACE,0BAAA;EACA,sBAAA;C/Bg/HD;A+Bl/HD;EAKI,YAAA;C/Bg/HH;A+B/+HG;;EAEE,eAAA;EACA,8BAAA;C/Bi/HL;A+B1/HD;EAcI,YAAA;C/B++HH;A+B7/HD;EAmBM,YAAA;C/B6+HL;A+B3+HK;;EAEE,YAAA;EACA,8BAAA;C/B6+HP;A+Bz+HK;;;EAGE,YAAA;EACA,0BAAA;C/B2+HP;A+Bv+HK;;;EAGE,YAAA;EACA,8BAAA;C/By+HP;A+BjhID;EA8CI,mBAAA;C/Bs+HH;A+Br+HG;;EAEE,uBAAA;C/Bu+HL;A+BxhID;EAoDM,uBAAA;C/Bu+HL;A+B3hID;;EA0DI,sBAAA;C/Bq+HH;A+B99HK;;;EAGE,0BAAA;EACA,YAAA;C/Bg+HP;A+B/7HC;EAoKF;IA7LU,YAAA;G/B49HP;E+B39HO;;IAEE,YAAA;IACA,8BAAA;G/B69HT;E+Bz9HO;;;IAGE,YAAA;IACA,0BAAA;G/B29HT;E+Bv9HO;;;IAGE,YAAA;IACA,8BAAA;G/By9HT;CACF;A+B3jID;EA8GI,YAAA;C/Bg9HH;A+B/8HG;EACE,YAAA;C/Bi9HL;A+BjkID;EAqHI,YAAA;C/B+8HH;A+B98HG;;EAEE,YAAA;C/Bg9HL;A+B58HK;;;;EAEE,YAAA;C/Bg9HP;A+Bx8HD;EACE,uBAAA;EACA,sBAAA;C/B08HD;A+B58HD;EAKI,eAAA;C/B08HH;A+Bz8HG;;EAEE,YAAA;EACA,8BAAA;C/B28HL;A+Bp9HD;EAcI,eAAA;C/By8HH;A+Bv9HD;EAmBM,eAAA;C/Bu8HL;A+Br8HK;;EAEE,YAAA;EACA,8BAAA;C/Bu8HP;A+Bn8HK;;;EAGE,YAAA;EACA,0BAAA;C/Bq8HP;A+Bj8HK;;;EAGE,YAAA;EACA,8BAAA;C/Bm8HP;A+B3+HD;EA+CI,mBAAA;C/B+7HH;A+B97HG;;EAEE,uBAAA;C/Bg8HL;A+Bl/HD;EAqDM,uBAAA;C/Bg8HL;A+Br/HD;;EA2DI,sBAAA;C/B87HH;A+Bx7HK;;;EAGE,0BAAA;EACA,YAAA;C/B07HP;A+Bn5HC;EAwBF;IAvDU,sBAAA;G/Bs7HP;E+B/3HH;IApDU,0BAAA;G/Bs7HP;E+Bl4HH;IAjDU,eAAA;G/Bs7HP;E+Br7HO;;IAEE,YAAA;IACA,8BAAA;G/Bu7HT;E+Bn7HO;;;IAGE,YAAA;IACA,0BAAA;G/Bq7HT;E+Bj7HO;;;IAGE,YAAA;IACA,8BAAA;G/Bm7HT;CACF;A+B3hID;EA+GI,eAAA;C/B+6HH;A+B96HG;EACE,YAAA;C/Bg7HL;A+BjiID;EAsHI,eAAA;C/B86HH;A+B76HG;;EAEE,YAAA;C/B+6HL;A+B36HK;;;;EAEE,YAAA;C/B+6HP;AkCzjJD;EACE,kBAAA;EACA,oBAAA;EACA,iBAAA;EACA,0BAAA;EACA,mBAAA;ClC2jJD;AkChkJD;EAQI,sBAAA;ClC2jJH;AkCnkJD;EAWM,kBAAA;EACA,eAAA;EACA,YAAA;ClC2jJL;AkCxkJD;EAkBI,eAAA;ClCyjJH;AmC7kJD;EACE,sBAAA;EACA,gBAAA;EACA,eAAA;EACA,mBAAA;CnC+kJD;AmCnlJD;EAOI,gBAAA;CnC+kJH;AmCtlJD;;EAUM,mBAAA;EACA,YAAA;EACA,kBAAA;EACA,wBAAA;EACA,sBAAA;EACA,eAAA;EACA,uBAAA;EACA,uBAAA;EACA,kBAAA;CnCglJL;AmC9kJG;;EAGI,eAAA;EPXN,+BAAA;EACG,4BAAA;C5B2lJJ;AmC7kJG;;EPvBF,gCAAA;EACG,6BAAA;C5BwmJJ;AmCxkJG;;;;EAEE,WAAA;EACA,eAAA;EACA,0BAAA;EACA,mBAAA;CnC4kJL;AmCtkJG;;;;;;EAGE,WAAA;EACA,YAAA;EACA,0BAAA;EACA,sBAAA;EACA,gBAAA;CnC2kJL;AmCloJD;;;;;;EAkEM,eAAA;EACA,uBAAA;EACA,mBAAA;EACA,oBAAA;CnCwkJL;AmC/jJD;;EC3EM,mBAAA;EACA,gBAAA;EACA,uBAAA;CpC8oJL;AoC5oJG;;ERKF,+BAAA;EACG,4BAAA;C5B2oJJ;AoC3oJG;;ERTF,gCAAA;EACG,6BAAA;C5BwpJJ;AmC1kJD;;EChFM,kBAAA;EACA,gBAAA;EACA,iBAAA;CpC8pJL;AoC5pJG;;ERKF,+BAAA;EACG,4BAAA;C5B2pJJ;AoC3pJG;;ERTF,gCAAA;EACG,6BAAA;C5BwqJJ;AqC3qJD;EACE,gBAAA;EACA,eAAA;EACA,iBAAA;EACA,mBAAA;CrC6qJD;AqCjrJD;EAOI,gBAAA;CrC6qJH;AqCprJD;;EAUM,sBAAA;EACA,kBAAA;EACA,uBAAA;EACA,uBAAA;EACA,oBAAA;CrC8qJL;AqC5rJD;;EAmBM,sBAAA;EACA,0BAAA;CrC6qJL;AqCjsJD;;EA2BM,aAAA;CrC0qJL;AqCrsJD;;EAkCM,YAAA;CrCuqJL;AqCzsJD;;;;EA2CM,eAAA;EACA,uBAAA;EACA,oBAAA;CrCoqJL;AsCltJD;EACE,gBAAA;EACA,wBAAA;EACA,eAAA;EACA,kBAAA;EACA,eAAA;EACA,YAAA;EACA,mBAAA;EACA,oBAAA;EACA,yBAAA;EACA,qBAAA;CtCotJD;AsChtJG;;EAEE,YAAA;EACA,sBAAA;EACA,gBAAA;CtCktJL;AsC7sJC;EACE,cAAA;CtC+sJH;AsC3sJC;EACE,mBAAA;EACA,UAAA;CtC6sJH;AsCtsJD;ECtCE,0BAAA;CvC+uJD;AuC5uJG;;EAEE,0BAAA;CvC8uJL;AsCzsJD;EC1CE,0BAAA;CvCsvJD;AuCnvJG;;EAEE,0BAAA;CvCqvJL;AsC5sJD;EC9CE,0BAAA;CvC6vJD;AuC1vJG;;EAEE,0BAAA;CvC4vJL;AsC/sJD;EClDE,0BAAA;CvCowJD;AuCjwJG;;EAEE,0BAAA;CvCmwJL;AsCltJD;ECtDE,0BAAA;CvC2wJD;AuCxwJG;;EAEE,0BAAA;CvC0wJL;AsCrtJD;EC1DE,0BAAA;CvCkxJD;AuC/wJG;;EAEE,0BAAA;CvCixJL;AwCnxJD;EACE,sBAAA;EACA,gBAAA;EACA,iBAAA;EACA,gBAAA;EACA,kBAAA;EACA,YAAA;EACA,eAAA;EACA,uBAAA;EACA,oBAAA;EACA,mBAAA;EACA,0BAAA;EACA,oBAAA;CxCqxJD;AwClxJC;EACE,cAAA;CxCoxJH;AwChxJC;EACE,mBAAA;EACA,UAAA;CxCkxJH;AwC/wJC;;EAEE,OAAA;EACA,iBAAA;CxCixJH;AwC5wJG;;EAEE,YAAA;EACA,sBAAA;EACA,gBAAA;CxC8wJL;AwCzwJC;;EAEE,eAAA;EACA,uBAAA;CxC2wJH;AwCxwJC;EACE,aAAA;CxC0wJH;AwCvwJC;EACE,kBAAA;CxCywJH;AwCtwJC;EACE,iBAAA;CxCwwJH;AyCl0JD;EACE,kBAAA;EACA,qBAAA;EACA,oBAAA;EACA,eAAA;EACA,0BAAA;CzCo0JD;AyCz0JD;;EASI,eAAA;CzCo0JH;AyC70JD;EAaI,oBAAA;EACA,gBAAA;EACA,iBAAA;CzCm0JH;AyCl1JD;EAmBI,0BAAA;CzCk0JH;AyC/zJC;;EAEE,mBAAA;EACA,mBAAA;EACA,oBAAA;CzCi0JH;AyC31JD;EA8BI,gBAAA;CzCg0JH;AyC9yJD;EACA;IAfI,kBAAA;IACA,qBAAA;GzCg0JD;EyC9zJC;;IAEE,mBAAA;IACA,oBAAA;GzCg0JH;EyCvzJH;;IAJM,gBAAA;GzC+zJH;CACF;A0C52JD;EACE,eAAA;EACA,aAAA;EACA,oBAAA;EACA,wBAAA;EACA,uBAAA;EACA,uBAAA;EACA,mBAAA;ErCiLA,4CAAA;EACK,uCAAA;EACG,oCAAA;CL8rJT;A0Cx3JD;;EAaI,kBAAA;EACA,mBAAA;C1C+2JH;A0C32JC;;;EAGE,sBAAA;C1C62JH;A0Cl4JD;EA0BI,aAAA;EACA,eAAA;C1C22JH;A2Cp4JD;EACE,cAAA;EACA,oBAAA;EACA,8BAAA;EACA,mBAAA;C3Cs4JD;A2C14JD;EAQI,cAAA;EAEA,eAAA;C3Co4JH;A2C94JD;EAeI,kBAAA;C3Ck4JH;A2Cj5JD;;EAqBI,iBAAA;C3Cg4JH;A2Cr5JD;EAyBI,gBAAA;C3C+3JH;A2Cv3JD;;EAEE,oBAAA;C3Cy3JD;A2C33JD;;EAMI,mBAAA;EACA,UAAA;EACA,aAAA;EACA,eAAA;C3Cy3JH;A2Cj3JD;ECvDE,0BAAA;EACA,sBAAA;EACA,eAAA;C5C26JD;A2Ct3JD;EClDI,0BAAA;C5C26JH;A2Cz3JD;EC/CI,eAAA;C5C26JH;A2Cx3JD;EC3DE,0BAAA;EACA,sBAAA;EACA,eAAA;C5Cs7JD;A2C73JD;ECtDI,0BAAA;C5Cs7JH;A2Ch4JD;ECnDI,eAAA;C5Cs7JH;A2C/3JD;EC/DE,0BAAA;EACA,sBAAA;EACA,eAAA;C5Ci8JD;A2Cp4JD;EC1DI,0BAAA;C5Ci8JH;A2Cv4JD;ECvDI,eAAA;C5Ci8JH;A2Ct4JD;ECnEE,0BAAA;EACA,sBAAA;EACA,eAAA;C5C48JD;A2C34JD;EC9DI,0BAAA;C5C48JH;A2C94JD;EC3DI,eAAA;C5C48JH;A6C98JD;EACE;IAAQ,4BAAA;G7Ci9JP;E6Ch9JD;IAAQ,yBAAA;G7Cm9JP;CACF;A6Ch9JD;EACE;IAAQ,4BAAA;G7Cm9JP;E6Cl9JD;IAAQ,yBAAA;G7Cq9JP;CACF;A6Cx9JD;EACE;IAAQ,4BAAA;G7Cm9JP;E6Cl9JD;IAAQ,yBAAA;G7Cq9JP;CACF;A6C98JD;EACE,iBAAA;EACA,aAAA;EACA,oBAAA;EACA,0BAAA;EACA,mBAAA;ExCsCA,uDAAA;EACQ,+CAAA;CL26JT;A6C78JD;EACE,YAAA;EACA,UAAA;EACA,aAAA;EACA,gBAAA;EACA,kBAAA;EACA,YAAA;EACA,mBAAA;EACA,0BAAA;ExCyBA,uDAAA;EACQ,+CAAA;EAyHR,oCAAA;EACK,+BAAA;EACG,4BAAA;CL+zJT;A6C18JD;;ECCI,8MAAA;EACA,yMAAA;EACA,sMAAA;EDAF,mCAAA;UAAA,2BAAA;C7C88JD;A6Cv8JD;;ExC5CE,2DAAA;EACK,sDAAA;EACG,mDAAA;CLu/JT;A6Cp8JD;EErEE,0BAAA;C/C4gKD;A+CzgKC;EDgDE,8MAAA;EACA,yMAAA;EACA,sMAAA;C9C49JH;A6Cx8JD;EEzEE,0BAAA;C/CohKD;A+CjhKC;EDgDE,8MAAA;EACA,yMAAA;EACA,sMAAA;C9Co+JH;A6C58JD;EE7EE,0BAAA;C/C4hKD;A+CzhKC;EDgDE,8MAAA;EACA,yMAAA;EACA,sMAAA;C9C4+JH;A6Ch9JD;EEjFE,0BAAA;C/CoiKD;A+CjiKC;EDgDE,8MAAA;EACA,yMAAA;EACA,sMAAA;C9Co/JH;AgD5iKD;EAEE,iBAAA;ChD6iKD;AgD3iKC;EACE,cAAA;ChD6iKH;AgDziKD;;EAEE,QAAA;EACA,iBAAA;ChD2iKD;AgDxiKD;EACE,eAAA;ChD0iKD;AgDviKD;EACE,eAAA;ChDyiKD;AgDtiKC;EACE,gBAAA;ChDwiKH;AgDpiKD;;EAEE,mBAAA;ChDsiKD;AgDniKD;;EAEE,oBAAA;ChDqiKD;AgDliKD;;;EAGE,oBAAA;EACA,oBAAA;ChDoiKD;AgDjiKD;EACE,uBAAA;ChDmiKD;AgDhiKD;EACE,uBAAA;ChDkiKD;AgD9hKD;EACE,cAAA;EACA,mBAAA;ChDgiKD;AgD1hKD;EACE,gBAAA;EACA,iBAAA;ChD4hKD;AiDnlKD;EAEE,oBAAA;EACA,gBAAA;CjDolKD;AiD5kKD;EACE,mBAAA;EACA,eAAA;EACA,mBAAA;EAEA,oBAAA;EACA,uBAAA;EACA,uBAAA;CjD6kKD;AiD1kKC;ErB3BA,6BAAA;EACC,4BAAA;C5BwmKF;AiD3kKC;EACE,iBAAA;ErBvBF,gCAAA;EACC,+BAAA;C5BqmKF;AiDpkKD;;EAEE,YAAA;CjDskKD;AiDxkKD;;EAKI,YAAA;CjDukKH;AiDnkKC;;;;EAEE,sBAAA;EACA,YAAA;EACA,0BAAA;CjDukKH;AiDnkKD;EACE,YAAA;EACA,iBAAA;CjDqkKD;AiDhkKC;;;EAGE,0BAAA;EACA,eAAA;EACA,oBAAA;CjDkkKH;AiDvkKC;;;EASI,eAAA;CjDmkKL;AiD5kKC;;;EAYI,eAAA;CjDqkKL;AiDhkKC;;;EAGE,WAAA;EACA,YAAA;EACA,0BAAA;EACA,sBAAA;CjDkkKH;AiDxkKC;;;;;;;;;EAYI,eAAA;CjDukKL;AiDnlKC;;;EAeI,eAAA;CjDykKL;AkD3qKC;EACE,eAAA;EACA,0BAAA;ClD6qKH;AkD3qKG;;EAEE,eAAA;ClD6qKL;AkD/qKG;;EAKI,eAAA;ClD8qKP;AkD3qKK;;;;EAEE,eAAA;EACA,0BAAA;ClD+qKP;AkD7qKK;;;;;;EAGE,YAAA;EACA,0BAAA;EACA,sBAAA;ClDkrKP;AkDxsKC;EACE,eAAA;EACA,0BAAA;ClD0sKH;AkDxsKG;;EAEE,eAAA;ClD0sKL;AkD5sKG;;EAKI,eAAA;ClD2sKP;AkDxsKK;;;;EAEE,eAAA;EACA,0BAAA;ClD4sKP;AkD1sKK;;;;;;EAGE,YAAA;EACA,0BAAA;EACA,sBAAA;ClD+sKP;AkDruKC;EACE,eAAA;EACA,0BAAA;ClDuuKH;AkDruKG;;EAEE,eAAA;ClDuuKL;AkDzuKG;;EAKI,eAAA;ClDwuKP;AkDruKK;;;;EAEE,eAAA;EACA,0BAAA;ClDyuKP;AkDvuKK;;;;;;EAGE,YAAA;EACA,0BAAA;EACA,sBAAA;ClD4uKP;AkDlwKC;EACE,eAAA;EACA,0BAAA;ClDowKH;AkDlwKG;;EAEE,eAAA;ClDowKL;AkDtwKG;;EAKI,eAAA;ClDqwKP;AkDlwKK;;;;EAEE,eAAA;EACA,0BAAA;ClDswKP;AkDpwKK;;;;;;EAGE,YAAA;EACA,0BAAA;EACA,sBAAA;ClDywKP;AiDxqKD;EACE,cAAA;EACA,mBAAA;CjD0qKD;AiDxqKD;EACE,iBAAA;EACA,iBAAA;CjD0qKD;AmDpyKD;EACE,oBAAA;EACA,uBAAA;EACA,8BAAA;EACA,mBAAA;E9C0DA,kDAAA;EACQ,0CAAA;CL6uKT;AmDnyKD;EACE,cAAA;CnDqyKD;AmDhyKD;EACE,mBAAA;EACA,qCAAA;EvBpBA,6BAAA;EACC,4BAAA;C5BuzKF;AmDtyKD;EAMI,eAAA;CnDmyKH;AmD9xKD;EACE,cAAA;EACA,iBAAA;EACA,gBAAA;EACA,eAAA;CnDgyKD;AmDpyKD;;;;;EAWI,eAAA;CnDgyKH;AmD3xKD;EACE,mBAAA;EACA,0BAAA;EACA,2BAAA;EvBxCA,gCAAA;EACC,+BAAA;C5Bs0KF;AmDrxKD;;EAGI,iBAAA;CnDsxKH;AmDzxKD;;EAMM,oBAAA;EACA,iBAAA;CnDuxKL;AmDnxKG;;EAEI,cAAA;EvBvEN,6BAAA;EACC,4BAAA;C5B61KF;AmDjxKG;;EAEI,iBAAA;EvBvEN,gCAAA;EACC,+BAAA;C5B21KF;AmD1yKD;EvB1DE,2BAAA;EACC,0BAAA;C5Bu2KF;AmD7wKD;EAEI,oBAAA;CnD8wKH;AmD3wKD;EACE,oBAAA;CnD6wKD;AmDrwKD;;;EAII,iBAAA;CnDswKH;AmD1wKD;;;EAOM,mBAAA;EACA,oBAAA;CnDwwKL;AmDhxKD;;EvBzGE,6BAAA;EACC,4BAAA;C5B63KF;AmDrxKD;;;;EAmBQ,4BAAA;EACA,6BAAA;CnDwwKP;AmD5xKD;;;;;;;;EAwBU,4BAAA;CnD8wKT;AmDtyKD;;;;;;;;EA4BU,6BAAA;CnDoxKT;AmDhzKD;;EvBjGE,gCAAA;EACC,+BAAA;C5Bq5KF;AmDrzKD;;;;EAyCQ,+BAAA;EACA,gCAAA;CnDkxKP;AmD5zKD;;;;;;;;EA8CU,+BAAA;CnDwxKT;AmDt0KD;;;;;;;;EAkDU,gCAAA;CnD8xKT;AmDh1KD;;;;EA2DI,2BAAA;CnD2xKH;AmDt1KD;;EA+DI,cAAA;CnD2xKH;AmD11KD;;EAmEI,UAAA;CnD2xKH;AmD91KD;;;;;;;;;;;;EA0EU,eAAA;CnDkyKT;AmD52KD;;;;;;;;;;;;EA8EU,gBAAA;CnD4yKT;AmD13KD;;;;;;;;EAuFU,iBAAA;CnD6yKT;AmDp4KD;;;;;;;;EAgGU,iBAAA;CnD8yKT;AmD94KD;EAsGI,UAAA;EACA,iBAAA;CnD2yKH;AmDjyKD;EACE,oBAAA;CnDmyKD;AmDpyKD;EAKI,iBAAA;EACA,mBAAA;CnDkyKH;AmDxyKD;EASM,gBAAA;CnDkyKL;AmD3yKD;EAcI,iBAAA;CnDgyKH;AmD9yKD;;EAkBM,2BAAA;CnDgyKL;AmDlzKD;EAuBI,cAAA;CnD8xKH;AmDrzKD;EAyBM,8BAAA;CnD+xKL;AmDxxKD;EC1PE,mBAAA;CpDqhLD;AoDnhLC;EACE,eAAA;EACA,0BAAA;EACA,mBAAA;CpDqhLH;AoDxhLC;EAMI,uBAAA;CpDqhLL;AoD3hLC;EASI,eAAA;EACA,0BAAA;CpDqhLL;AoDlhLC;EAEI,0BAAA;CpDmhLL;AmDvyKD;EC7PE,sBAAA;CpDuiLD;AoDriLC;EACE,YAAA;EACA,0BAAA;EACA,sBAAA;CpDuiLH;AoD1iLC;EAMI,0BAAA;CpDuiLL;AoD7iLC;EASI,eAAA;EACA,uBAAA;CpDuiLL;AoDpiLC;EAEI,6BAAA;CpDqiLL;AmDtzKD;EChQE,sBAAA;CpDyjLD;AoDvjLC;EACE,eAAA;EACA,0BAAA;EACA,sBAAA;CpDyjLH;AoD5jLC;EAMI,0BAAA;CpDyjLL;AoD/jLC;EASI,eAAA;EACA,0BAAA;CpDyjLL;AoDtjLC;EAEI,6BAAA;CpDujLL;AmDr0KD;ECnQE,sBAAA;CpD2kLD;AoDzkLC;EACE,eAAA;EACA,0BAAA;EACA,sBAAA;CpD2kLH;AoD9kLC;EAMI,0BAAA;CpD2kLL;AoDjlLC;EASI,eAAA;EACA,0BAAA;CpD2kLL;AoDxkLC;EAEI,6BAAA;CpDykLL;AmDp1KD;ECtQE,sBAAA;CpD6lLD;AoD3lLC;EACE,eAAA;EACA,0BAAA;EACA,sBAAA;CpD6lLH;AoDhmLC;EAMI,0BAAA;CpD6lLL;AoDnmLC;EASI,eAAA;EACA,0BAAA;CpD6lLL;AoD1lLC;EAEI,6BAAA;CpD2lLL;AmDn2KD;ECzQE,sBAAA;CpD+mLD;AoD7mLC;EACE,eAAA;EACA,0BAAA;EACA,sBAAA;CpD+mLH;AoDlnLC;EAMI,0BAAA;CpD+mLL;AoDrnLC;EASI,eAAA;EACA,0BAAA;CpD+mLL;AoD5mLC;EAEI,6BAAA;CpD6mLL;AqD7nLD;EACE,mBAAA;EACA,eAAA;EACA,UAAA;EACA,WAAA;EACA,iBAAA;CrD+nLD;AqDpoLD;;;;;EAYI,mBAAA;EACA,OAAA;EACA,QAAA;EACA,UAAA;EACA,aAAA;EACA,YAAA;EACA,UAAA;CrD+nLH;AqD1nLD;EACE,uBAAA;CrD4nLD;AqDxnLD;EACE,oBAAA;CrD0nLD;AsDrpLD;EACE,iBAAA;EACA,cAAA;EACA,oBAAA;EACA,0BAAA;EACA,0BAAA;EACA,mBAAA;EjDwDA,wDAAA;EACQ,gDAAA;CLgmLT;AsD/pLD;EASI,mBAAA;EACA,kCAAA;CtDypLH;AsDppLD;EACE,cAAA;EACA,mBAAA;CtDspLD;AsDppLD;EACE,aAAA;EACA,mBAAA;CtDspLD;AuD5qLD;EACE,aAAA;EACA,gBAAA;EACA,kBAAA;EACA,eAAA;EACA,YAAA;EACA,0BAAA;EjCRA,aAAA;EAGA,0BAAA;CtBqrLD;AuD7qLC;;EAEE,YAAA;EACA,sBAAA;EACA,gBAAA;EjCfF,aAAA;EAGA,0BAAA;CtB6rLD;AuDzqLC;EACE,WAAA;EACA,gBAAA;EACA,wBAAA;EACA,UAAA;EACA,yBAAA;CvD2qLH;AwDhsLD;EACE,iBAAA;CxDksLD;AwD9rLD;EACE,cAAA;EACA,iBAAA;EACA,gBAAA;EACA,OAAA;EACA,SAAA;EACA,UAAA;EACA,QAAA;EACA,cAAA;EACA,kCAAA;EAIA,WAAA;CxD6rLD;AwD1rLC;EnD+GA,sCAAA;EACI,kCAAA;EACC,iCAAA;EACG,8BAAA;EAkER,oDAAA;EAEK,0CAAA;EACG,oCAAA;CL6gLT;AwDhsLC;EnD2GA,mCAAA;EACI,+BAAA;EACC,8BAAA;EACG,2BAAA;CLwlLT;AwDpsLD;EACE,mBAAA;EACA,iBAAA;CxDssLD;AwDlsLD;EACE,mBAAA;EACA,YAAA;EACA,aAAA;CxDosLD;AwDhsLD;EACE,mBAAA;EACA,uBAAA;EACA,uBAAA;EACA,qCAAA;EACA,mBAAA;EnDaA,iDAAA;EACQ,yCAAA;EmDZR,qCAAA;UAAA,6BAAA;EAEA,WAAA;CxDksLD;AwD9rLD;EACE,gBAAA;EACA,OAAA;EACA,SAAA;EACA,UAAA;EACA,QAAA;EACA,cAAA;EACA,uBAAA;CxDgsLD;AwD9rLC;ElCrEA,WAAA;EAGA,yBAAA;CtBowLD;AwDjsLC;ElCtEA,aAAA;EAGA,0BAAA;CtBwwLD;AwDhsLD;EACE,cAAA;EACA,iCAAA;CxDksLD;AwD9rLD;EACE,iBAAA;CxDgsLD;AwD5rLD;EACE,UAAA;EACA,wBAAA;CxD8rLD;AwDzrLD;EACE,mBAAA;EACA,cAAA;CxD2rLD;AwDvrLD;EACE,cAAA;EACA,kBAAA;EACA,8BAAA;CxDyrLD;AwD5rLD;EAQI,iBAAA;EACA,iBAAA;CxDurLH;AwDhsLD;EAaI,kBAAA;CxDsrLH;AwDnsLD;EAiBI,eAAA;CxDqrLH;AwDhrLD;EACE,mBAAA;EACA,aAAA;EACA,YAAA;EACA,aAAA;EACA,iBAAA;CxDkrLD;AwDhqLD;EAZE;IACE,aAAA;IACA,kBAAA;GxD+qLD;EwD7qLD;InDvEA,kDAAA;IACQ,0CAAA;GLuvLP;EwD5qLD;IAAY,aAAA;GxD+qLX;CACF;AwD1qLD;EAFE;IAAY,aAAA;GxDgrLX;CACF;AyD/zLD;EACE,mBAAA;EACA,cAAA;EACA,eAAA;ECRA,4DAAA;EAEA,mBAAA;EACA,oBAAA;EACA,uBAAA;EACA,iBAAA;EACA,wBAAA;EACA,iBAAA;EACA,kBAAA;EACA,sBAAA;EACA,kBAAA;EACA,qBAAA;EACA,oBAAA;EACA,mBAAA;EACA,qBAAA;EACA,kBAAA;EDHA,gBAAA;EnCVA,WAAA;EAGA,yBAAA;CtBs1LD;AyD30LC;EnCdA,aAAA;EAGA,0BAAA;CtB01LD;AyD90LC;EAAW,iBAAA;EAAmB,eAAA;CzDk1L/B;AyDj1LC;EAAW,iBAAA;EAAmB,eAAA;CzDq1L/B;AyDp1LC;EAAW,gBAAA;EAAmB,eAAA;CzDw1L/B;AyDv1LC;EAAW,kBAAA;EAAmB,eAAA;CzD21L/B;AyDv1LD;EACE,iBAAA;EACA,iBAAA;EACA,YAAA;EACA,mBAAA;EACA,uBAAA;EACA,mBAAA;CzDy1LD;AyDr1LD;EACE,mBAAA;EACA,SAAA;EACA,UAAA;EACA,0BAAA;EACA,oBAAA;CzDu1LD;AyDn1LC;EACE,UAAA;EACA,UAAA;EACA,kBAAA;EACA,wBAAA;EACA,uBAAA;CzDq1LH;AyDn1LC;EACE,UAAA;EACA,WAAA;EACA,oBAAA;EACA,wBAAA;EACA,uBAAA;CzDq1LH;AyDn1LC;EACE,UAAA;EACA,UAAA;EACA,oBAAA;EACA,wBAAA;EACA,uBAAA;CzDq1LH;AyDn1LC;EACE,SAAA;EACA,QAAA;EACA,iBAAA;EACA,4BAAA;EACA,yBAAA;CzDq1LH;AyDn1LC;EACE,SAAA;EACA,SAAA;EACA,iBAAA;EACA,4BAAA;EACA,wBAAA;CzDq1LH;AyDn1LC;EACE,OAAA;EACA,UAAA;EACA,kBAAA;EACA,wBAAA;EACA,0BAAA;CzDq1LH;AyDn1LC;EACE,OAAA;EACA,WAAA;EACA,iBAAA;EACA,wBAAA;EACA,0BAAA;CzDq1LH;AyDn1LC;EACE,OAAA;EACA,UAAA;EACA,iBAAA;EACA,wBAAA;EACA,0BAAA;CzDq1LH;A2Dl7LD;EACE,mBAAA;EACA,OAAA;EACA,QAAA;EACA,cAAA;EACA,cAAA;EACA,iBAAA;EACA,aAAA;EDXA,4DAAA;EAEA,mBAAA;EACA,oBAAA;EACA,uBAAA;EACA,iBAAA;EACA,wBAAA;EACA,iBAAA;EACA,kBAAA;EACA,sBAAA;EACA,kBAAA;EACA,qBAAA;EACA,oBAAA;EACA,mBAAA;EACA,qBAAA;EACA,kBAAA;ECAA,gBAAA;EAEA,uBAAA;EACA,qCAAA;UAAA,6BAAA;EACA,uBAAA;EACA,qCAAA;EACA,mBAAA;EtD8CA,kDAAA;EACQ,0CAAA;CLk5LT;A2D77LC;EAAY,kBAAA;C3Dg8Lb;A2D/7LC;EAAY,kBAAA;C3Dk8Lb;A2Dj8LC;EAAY,iBAAA;C3Do8Lb;A2Dn8LC;EAAY,mBAAA;C3Ds8Lb;A2Dn8LD;EACE,UAAA;EACA,kBAAA;EACA,gBAAA;EACA,0BAAA;EACA,iCAAA;EACA,2BAAA;C3Dq8LD;A2Dl8LD;EACE,kBAAA;C3Do8LD;A2D57LC;;EAEE,mBAAA;EACA,eAAA;EACA,SAAA;EACA,UAAA;EACA,0BAAA;EACA,oBAAA;C3D87LH;A2D37LD;EACE,mBAAA;C3D67LD;A2D37LD;EACE,mBAAA;EACA,YAAA;C3D67LD;A2Dz7LC;EACE,UAAA;EACA,mBAAA;EACA,uBAAA;EACA,0BAAA;EACA,sCAAA;EACA,cAAA;C3D27LH;A2D17LG;EACE,aAAA;EACA,YAAA;EACA,mBAAA;EACA,uBAAA;EACA,uBAAA;C3D47LL;A2Dz7LC;EACE,SAAA;EACA,YAAA;EACA,kBAAA;EACA,qBAAA;EACA,4BAAA;EACA,wCAAA;C3D27LH;A2D17LG;EACE,aAAA;EACA,UAAA;EACA,cAAA;EACA,qBAAA;EACA,yBAAA;C3D47LL;A2Dz7LC;EACE,UAAA;EACA,mBAAA;EACA,oBAAA;EACA,6BAAA;EACA,yCAAA;EACA,WAAA;C3D27LH;A2D17LG;EACE,aAAA;EACA,SAAA;EACA,mBAAA;EACA,oBAAA;EACA,0BAAA;C3D47LL;A2Dx7LC;EACE,SAAA;EACA,aAAA;EACA,kBAAA;EACA,sBAAA;EACA,2BAAA;EACA,uCAAA;C3D07LH;A2Dz7LG;EACE,aAAA;EACA,WAAA;EACA,sBAAA;EACA,wBAAA;EACA,cAAA;C3D27LL;A4DpjMD;EACE,mBAAA;C5DsjMD;A4DnjMD;EACE,mBAAA;EACA,iBAAA;EACA,YAAA;C5DqjMD;A4DxjMD;EAMI,cAAA;EACA,mBAAA;EvD6KF,0CAAA;EACK,qCAAA;EACG,kCAAA;CLy4LT;A4D/jMD;;EAcM,eAAA;C5DqjML;A4D3hMC;EA4NF;IvD3DE,uDAAA;IAEK,6CAAA;IACG,uCAAA;IA7JR,oCAAA;IAEQ,4BAAA;IA+GR,4BAAA;IAEQ,oBAAA;GL86LP;E4DzjMG;;IvDmHJ,2CAAA;IACQ,mCAAA;IuDjHF,QAAA;G5D4jML;E4D1jMG;;IvD8GJ,4CAAA;IACQ,oCAAA;IuD5GF,QAAA;G5D6jML;E4D3jMG;;;IvDyGJ,wCAAA;IACQ,gCAAA;IuDtGF,QAAA;G5D8jML;CACF;A4DpmMD;;;EA6CI,eAAA;C5D4jMH;A4DzmMD;EAiDI,QAAA;C5D2jMH;A4D5mMD;;EAsDI,mBAAA;EACA,OAAA;EACA,YAAA;C5D0jMH;A4DlnMD;EA4DI,WAAA;C5DyjMH;A4DrnMD;EA+DI,YAAA;C5DyjMH;A4DxnMD;;EAmEI,QAAA;C5DyjMH;A4D5nMD;EAuEI,YAAA;C5DwjMH;A4D/nMD;EA0EI,WAAA;C5DwjMH;A4DhjMD;EACE,mBAAA;EACA,OAAA;EACA,QAAA;EACA,UAAA;EACA,WAAA;EtC9FA,aAAA;EAGA,0BAAA;EsC6FA,gBAAA;EACA,YAAA;EACA,mBAAA;EACA,0CAAA;EACA,mCAAA;C5DmjMD;A4D9iMC;EdnGE,mGAAA;EACA,8FAAA;EACA,qHAAA;EAAA,+FAAA;EACA,4BAAA;EACA,uHAAA;C9CopMH;A4DljMC;EACE,WAAA;EACA,SAAA;EdxGA,mGAAA;EACA,8FAAA;EACA,qHAAA;EAAA,+FAAA;EACA,4BAAA;EACA,uHAAA;C9C6pMH;A4DpjMC;;EAEE,WAAA;EACA,YAAA;EACA,sBAAA;EtCvHF,aAAA;EAGA,0BAAA;CtB4qMD;A4DtlMD;;;;EAuCI,mBAAA;EACA,SAAA;EACA,kBAAA;EACA,WAAA;EACA,sBAAA;C5DqjMH;A4DhmMD;;EA+CI,UAAA;EACA,mBAAA;C5DqjMH;A4DrmMD;;EAoDI,WAAA;EACA,oBAAA;C5DqjMH;A4D1mMD;;EAyDI,YAAA;EACA,aAAA;EACA,eAAA;EACA,mBAAA;C5DqjMH;A4DhjMG;EACE,iBAAA;C5DkjML;A4D9iMG;EACE,iBAAA;C5DgjML;A4DtiMD;EACE,mBAAA;EACA,aAAA;EACA,UAAA;EACA,YAAA;EACA,WAAA;EACA,kBAAA;EACA,gBAAA;EACA,iBAAA;EACA,mBAAA;C5DwiMD;A4DjjMD;EAYI,sBAAA;EACA,YAAA;EACA,aAAA;EACA,YAAA;EACA,oBAAA;EACA,uBAAA;EACA,oBAAA;EACA,gBAAA;EAWA,0BAAA;EACA,mCAAA;C5D8hMH;A4D7jMD;EAkCI,UAAA;EACA,YAAA;EACA,aAAA;EACA,uBAAA;C5D8hMH;A4DvhMD;EACE,mBAAA;EACA,UAAA;EACA,WAAA;EACA,aAAA;EACA,YAAA;EACA,kBAAA;EACA,qBAAA;EACA,YAAA;EACA,mBAAA;EACA,0CAAA;C5DyhMD;A4DxhMC;EACE,kBAAA;C5D0hMH;A4Dj/LD;EAhCE;;;;IAKI,YAAA;IACA,aAAA;IACA,kBAAA;IACA,gBAAA;G5DmhMH;E4D3hMD;;IAYI,mBAAA;G5DmhMH;E4D/hMD;;IAgBI,oBAAA;G5DmhMH;E4D9gMD;IACE,UAAA;IACA,WAAA;IACA,qBAAA;G5DghMD;E4D5gMD;IACE,aAAA;G5D8gMD;CACF;A6D7wMC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAEE,aAAA;EACA,eAAA;C7D6yMH;A6D3yMC;;;;;;;;;;;;;;;;EACE,YAAA;C7D4zMH;AiCp0MD;E6BRE,eAAA;EACA,kBAAA;EACA,mBAAA;C9D+0MD;AiCt0MD;EACE,wBAAA;CjCw0MD;AiCt0MD;EACE,uBAAA;CjCw0MD;AiCh0MD;EACE,yBAAA;CjCk0MD;AiCh0MD;EACE,0BAAA;CjCk0MD;AiCh0MD;EACE,mBAAA;CjCk0MD;AiCh0MD;E8BzBE,YAAA;EACA,mBAAA;EACA,kBAAA;EACA,8BAAA;EACA,UAAA;C/D41MD;AiC9zMD;EACE,yBAAA;CjCg0MD;AiCzzMD;EACE,gBAAA;CjC2zMD;AgE51MD;EACE,oBAAA;ChE81MD;AgEx1MD;;;;ECdE,yBAAA;CjE42MD;AgEv1MD;;;;;;;;;;;;EAYE,yBAAA;ChEy1MD;AgEl1MD;EA6IA;IC7LE,0BAAA;GjEs4MC;EiEr4MD;IAAU,0BAAA;GjEw4MT;EiEv4MD;IAAU,8BAAA;GjE04MT;EiEz4MD;;IACU,+BAAA;GjE44MT;CACF;AgE51MD;EAwIA;IA1II,0BAAA;GhEk2MD;CACF;AgE51MD;EAmIA;IArII,2BAAA;GhEk2MD;CACF;AgE51MD;EA8HA;IAhII,iCAAA;GhEk2MD;CACF;AgE31MD;EAwHA;IC7LE,0BAAA;GjEo6MC;EiEn6MD;IAAU,0BAAA;GjEs6MT;EiEr6MD;IAAU,8BAAA;GjEw6MT;EiEv6MD;;IACU,+BAAA;GjE06MT;CACF;AgEr2MD;EAmHA;IArHI,0BAAA;GhE22MD;CACF;AgEr2MD;EA8GA;IAhHI,2BAAA;GhE22MD;CACF;AgEr2MD;EAyGA;IA3GI,iCAAA;GhE22MD;CACF;AgEp2MD;EAmGA;IC7LE,0BAAA;GjEk8MC;EiEj8MD;IAAU,0BAAA;GjEo8MT;EiEn8MD;IAAU,8BAAA;GjEs8MT;EiEr8MD;;IACU,+BAAA;GjEw8MT;CACF;AgE92MD;EA8FA;IAhGI,0BAAA;GhEo3MD;CACF;AgE92MD;EAyFA;IA3FI,2BAAA;GhEo3MD;CACF;AgE92MD;EAoFA;IAtFI,iCAAA;GhEo3MD;CACF;AgE72MD;EA8EA;IC7LE,0BAAA;GjEg+MC;EiE/9MD;IAAU,0BAAA;GjEk+MT;EiEj+MD;IAAU,8BAAA;GjEo+MT;EiEn+MD;;IACU,+BAAA;GjEs+MT;CACF;AgEv3MD;EAyEA;IA3EI,0BAAA;GhE63MD;CACF;AgEv3MD;EAoEA;IAtEI,2BAAA;GhE63MD;CACF;AgEv3MD;EA+DA;IAjEI,iCAAA;GhE63MD;CACF;AgEt3MD;EAyDA;ICrLE,yBAAA;GjEs/MC;CACF;AgEt3MD;EAoDA;ICrLE,yBAAA;GjE2/MC;CACF;AgEt3MD;EA+CA;ICrLE,yBAAA;GjEggNC;CACF;AgEt3MD;EA0CA;ICrLE,yBAAA;GjEqgNC;CACF;AgEn3MD;ECnJE,yBAAA;CjEygND;AgEh3MD;EA4BA;IC7LE,0BAAA;GjEqhNC;EiEphND;IAAU,0BAAA;GjEuhNT;EiEthND;IAAU,8BAAA;GjEyhNT;EiExhND;;IACU,+BAAA;GjE2hNT;CACF;AgE93MD;EACE,yBAAA;ChEg4MD;AgE33MD;EAqBA;IAvBI,0BAAA;GhEi4MD;CACF;AgE/3MD;EACE,yBAAA;ChEi4MD;AgE53MD;EAcA;IAhBI,2BAAA;GhEk4MD;CACF;AgEh4MD;EACE,yBAAA;ChEk4MD;AgE73MD;EAOA;IATI,iCAAA;GhEm4MD;CACF;AgE53MD;EACA;ICrLE,yBAAA;GjEojNC;CACF","file":"bootstrap.css","sourcesContent":["/*!\n * Bootstrap v3.3.7 (http://getbootstrap.com)\n * Copyright 2011-2016 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n */\n/*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */\nhtml {\n font-family: sans-serif;\n -ms-text-size-adjust: 100%;\n -webkit-text-size-adjust: 100%;\n}\nbody {\n margin: 0;\n}\narticle,\naside,\ndetails,\nfigcaption,\nfigure,\nfooter,\nheader,\nhgroup,\nmain,\nmenu,\nnav,\nsection,\nsummary {\n display: block;\n}\naudio,\ncanvas,\nprogress,\nvideo {\n display: inline-block;\n vertical-align: baseline;\n}\naudio:not([controls]) {\n display: none;\n height: 0;\n}\n[hidden],\ntemplate {\n display: none;\n}\na {\n background-color: transparent;\n}\na:active,\na:hover {\n outline: 0;\n}\nabbr[title] {\n border-bottom: 1px dotted;\n}\nb,\nstrong {\n font-weight: bold;\n}\ndfn {\n font-style: italic;\n}\nh1 {\n font-size: 2em;\n margin: 0.67em 0;\n}\nmark {\n background: #ff0;\n color: #000;\n}\nsmall {\n font-size: 80%;\n}\nsub,\nsup {\n font-size: 75%;\n line-height: 0;\n position: relative;\n vertical-align: baseline;\n}\nsup {\n top: -0.5em;\n}\nsub {\n bottom: -0.25em;\n}\nimg {\n border: 0;\n}\nsvg:not(:root) {\n overflow: hidden;\n}\nfigure {\n margin: 1em 40px;\n}\nhr {\n box-sizing: content-box;\n height: 0;\n}\npre {\n overflow: auto;\n}\ncode,\nkbd,\npre,\nsamp {\n font-family: monospace, monospace;\n font-size: 1em;\n}\nbutton,\ninput,\noptgroup,\nselect,\ntextarea {\n color: inherit;\n font: inherit;\n margin: 0;\n}\nbutton {\n overflow: visible;\n}\nbutton,\nselect {\n text-transform: none;\n}\nbutton,\nhtml input[type=\"button\"],\ninput[type=\"reset\"],\ninput[type=\"submit\"] {\n -webkit-appearance: button;\n cursor: pointer;\n}\nbutton[disabled],\nhtml input[disabled] {\n cursor: default;\n}\nbutton::-moz-focus-inner,\ninput::-moz-focus-inner {\n border: 0;\n padding: 0;\n}\ninput {\n line-height: normal;\n}\ninput[type=\"checkbox\"],\ninput[type=\"radio\"] {\n box-sizing: border-box;\n padding: 0;\n}\ninput[type=\"number\"]::-webkit-inner-spin-button,\ninput[type=\"number\"]::-webkit-outer-spin-button {\n height: auto;\n}\ninput[type=\"search\"] {\n -webkit-appearance: textfield;\n box-sizing: content-box;\n}\ninput[type=\"search\"]::-webkit-search-cancel-button,\ninput[type=\"search\"]::-webkit-search-decoration {\n -webkit-appearance: none;\n}\nfieldset {\n border: 1px solid #c0c0c0;\n margin: 0 2px;\n padding: 0.35em 0.625em 0.75em;\n}\nlegend {\n border: 0;\n padding: 0;\n}\ntextarea {\n overflow: auto;\n}\noptgroup {\n font-weight: bold;\n}\ntable {\n border-collapse: collapse;\n border-spacing: 0;\n}\ntd,\nth {\n padding: 0;\n}\n/*! Source: https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css */\n@media print {\n *,\n *:before,\n *:after {\n background: transparent !important;\n color: #000 !important;\n box-shadow: none !important;\n text-shadow: none !important;\n }\n a,\n a:visited {\n text-decoration: underline;\n }\n a[href]:after {\n content: \" (\" attr(href) \")\";\n }\n abbr[title]:after {\n content: \" (\" attr(title) \")\";\n }\n a[href^=\"#\"]:after,\n a[href^=\"javascript:\"]:after {\n content: \"\";\n }\n pre,\n blockquote {\n border: 1px solid #999;\n page-break-inside: avoid;\n }\n thead {\n display: table-header-group;\n }\n tr,\n img {\n page-break-inside: avoid;\n }\n img {\n max-width: 100% !important;\n }\n p,\n h2,\n h3 {\n orphans: 3;\n widows: 3;\n }\n h2,\n h3 {\n page-break-after: avoid;\n }\n .navbar {\n display: none;\n }\n .btn > .caret,\n .dropup > .btn > .caret {\n border-top-color: #000 !important;\n }\n .label {\n border: 1px solid #000;\n }\n .table {\n border-collapse: collapse !important;\n }\n .table td,\n .table th {\n background-color: #fff !important;\n }\n .table-bordered th,\n .table-bordered td {\n border: 1px solid #ddd !important;\n }\n}\n@font-face {\n font-family: 'Glyphicons Halflings';\n src: url('../fonts/glyphicons-halflings-regular.eot');\n src: url('../fonts/glyphicons-halflings-regular.eot?#iefix') format('embedded-opentype'), url('../fonts/glyphicons-halflings-regular.woff2') format('woff2'), url('../fonts/glyphicons-halflings-regular.woff') format('woff'), url('../fonts/glyphicons-halflings-regular.ttf') format('truetype'), url('../fonts/glyphicons-halflings-regular.svg#glyphicons_halflingsregular') format('svg');\n}\n.glyphicon {\n position: relative;\n top: 1px;\n display: inline-block;\n font-family: 'Glyphicons Halflings';\n font-style: normal;\n font-weight: normal;\n line-height: 1;\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n}\n.glyphicon-asterisk:before {\n content: \"\\002a\";\n}\n.glyphicon-plus:before {\n content: \"\\002b\";\n}\n.glyphicon-euro:before,\n.glyphicon-eur:before {\n content: \"\\20ac\";\n}\n.glyphicon-minus:before {\n content: \"\\2212\";\n}\n.glyphicon-cloud:before {\n content: \"\\2601\";\n}\n.glyphicon-envelope:before {\n content: \"\\2709\";\n}\n.glyphicon-pencil:before {\n content: \"\\270f\";\n}\n.glyphicon-glass:before {\n content: \"\\e001\";\n}\n.glyphicon-music:before {\n content: \"\\e002\";\n}\n.glyphicon-search:before {\n content: \"\\e003\";\n}\n.glyphicon-heart:before {\n content: \"\\e005\";\n}\n.glyphicon-star:before {\n content: \"\\e006\";\n}\n.glyphicon-star-empty:before {\n content: \"\\e007\";\n}\n.glyphicon-user:before {\n content: \"\\e008\";\n}\n.glyphicon-film:before {\n content: \"\\e009\";\n}\n.glyphicon-th-large:before {\n content: \"\\e010\";\n}\n.glyphicon-th:before {\n content: \"\\e011\";\n}\n.glyphicon-th-list:before {\n content: \"\\e012\";\n}\n.glyphicon-ok:before {\n content: \"\\e013\";\n}\n.glyphicon-remove:before {\n content: \"\\e014\";\n}\n.glyphicon-zoom-in:before {\n content: \"\\e015\";\n}\n.glyphicon-zoom-out:before {\n content: \"\\e016\";\n}\n.glyphicon-off:before {\n content: \"\\e017\";\n}\n.glyphicon-signal:before {\n content: \"\\e018\";\n}\n.glyphicon-cog:before {\n content: \"\\e019\";\n}\n.glyphicon-trash:before {\n content: \"\\e020\";\n}\n.glyphicon-home:before {\n content: \"\\e021\";\n}\n.glyphicon-file:before {\n content: \"\\e022\";\n}\n.glyphicon-time:before {\n content: \"\\e023\";\n}\n.glyphicon-road:before {\n content: \"\\e024\";\n}\n.glyphicon-download-alt:before {\n content: \"\\e025\";\n}\n.glyphicon-download:before {\n content: \"\\e026\";\n}\n.glyphicon-upload:before {\n content: \"\\e027\";\n}\n.glyphicon-inbox:before {\n content: \"\\e028\";\n}\n.glyphicon-play-circle:before {\n content: \"\\e029\";\n}\n.glyphicon-repeat:before {\n content: \"\\e030\";\n}\n.glyphicon-refresh:before {\n content: \"\\e031\";\n}\n.glyphicon-list-alt:before {\n content: \"\\e032\";\n}\n.glyphicon-lock:before {\n content: \"\\e033\";\n}\n.glyphicon-flag:before {\n content: \"\\e034\";\n}\n.glyphicon-headphones:before {\n content: \"\\e035\";\n}\n.glyphicon-volume-off:before {\n content: \"\\e036\";\n}\n.glyphicon-volume-down:before {\n content: \"\\e037\";\n}\n.glyphicon-volume-up:before {\n content: \"\\e038\";\n}\n.glyphicon-qrcode:before {\n content: \"\\e039\";\n}\n.glyphicon-barcode:before {\n content: \"\\e040\";\n}\n.glyphicon-tag:before {\n content: \"\\e041\";\n}\n.glyphicon-tags:before {\n content: \"\\e042\";\n}\n.glyphicon-book:before {\n content: \"\\e043\";\n}\n.glyphicon-bookmark:before {\n content: \"\\e044\";\n}\n.glyphicon-print:before {\n content: \"\\e045\";\n}\n.glyphicon-camera:before {\n content: \"\\e046\";\n}\n.glyphicon-font:before {\n content: \"\\e047\";\n}\n.glyphicon-bold:before {\n content: \"\\e048\";\n}\n.glyphicon-italic:before {\n content: \"\\e049\";\n}\n.glyphicon-text-height:before {\n content: \"\\e050\";\n}\n.glyphicon-text-width:before {\n content: \"\\e051\";\n}\n.glyphicon-align-left:before {\n content: \"\\e052\";\n}\n.glyphicon-align-center:before {\n content: \"\\e053\";\n}\n.glyphicon-align-right:before {\n content: \"\\e054\";\n}\n.glyphicon-align-justify:before {\n content: \"\\e055\";\n}\n.glyphicon-list:before {\n content: \"\\e056\";\n}\n.glyphicon-indent-left:before {\n content: \"\\e057\";\n}\n.glyphicon-indent-right:before {\n content: \"\\e058\";\n}\n.glyphicon-facetime-video:before {\n content: \"\\e059\";\n}\n.glyphicon-picture:before {\n content: \"\\e060\";\n}\n.glyphicon-map-marker:before {\n content: \"\\e062\";\n}\n.glyphicon-adjust:before {\n content: \"\\e063\";\n}\n.glyphicon-tint:before {\n content: \"\\e064\";\n}\n.glyphicon-edit:before {\n content: \"\\e065\";\n}\n.glyphicon-share:before {\n content: \"\\e066\";\n}\n.glyphicon-check:before {\n content: \"\\e067\";\n}\n.glyphicon-move:before {\n content: \"\\e068\";\n}\n.glyphicon-step-backward:before {\n content: \"\\e069\";\n}\n.glyphicon-fast-backward:before {\n content: \"\\e070\";\n}\n.glyphicon-backward:before {\n content: \"\\e071\";\n}\n.glyphicon-play:before {\n content: \"\\e072\";\n}\n.glyphicon-pause:before {\n content: \"\\e073\";\n}\n.glyphicon-stop:before {\n content: \"\\e074\";\n}\n.glyphicon-forward:before {\n content: \"\\e075\";\n}\n.glyphicon-fast-forward:before {\n content: \"\\e076\";\n}\n.glyphicon-step-forward:before {\n content: \"\\e077\";\n}\n.glyphicon-eject:before {\n content: \"\\e078\";\n}\n.glyphicon-chevron-left:before {\n content: \"\\e079\";\n}\n.glyphicon-chevron-right:before {\n content: \"\\e080\";\n}\n.glyphicon-plus-sign:before {\n content: \"\\e081\";\n}\n.glyphicon-minus-sign:before {\n content: \"\\e082\";\n}\n.glyphicon-remove-sign:before {\n content: \"\\e083\";\n}\n.glyphicon-ok-sign:before {\n content: \"\\e084\";\n}\n.glyphicon-question-sign:before {\n content: \"\\e085\";\n}\n.glyphicon-info-sign:before {\n content: \"\\e086\";\n}\n.glyphicon-screenshot:before {\n content: \"\\e087\";\n}\n.glyphicon-remove-circle:before {\n content: \"\\e088\";\n}\n.glyphicon-ok-circle:before {\n content: \"\\e089\";\n}\n.glyphicon-ban-circle:before {\n content: \"\\e090\";\n}\n.glyphicon-arrow-left:before {\n content: \"\\e091\";\n}\n.glyphicon-arrow-right:before {\n content: \"\\e092\";\n}\n.glyphicon-arrow-up:before {\n content: \"\\e093\";\n}\n.glyphicon-arrow-down:before {\n content: \"\\e094\";\n}\n.glyphicon-share-alt:before {\n content: \"\\e095\";\n}\n.glyphicon-resize-full:before {\n content: \"\\e096\";\n}\n.glyphicon-resize-small:before {\n content: \"\\e097\";\n}\n.glyphicon-exclamation-sign:before {\n content: \"\\e101\";\n}\n.glyphicon-gift:before {\n content: \"\\e102\";\n}\n.glyphicon-leaf:before {\n content: \"\\e103\";\n}\n.glyphicon-fire:before {\n content: \"\\e104\";\n}\n.glyphicon-eye-open:before {\n content: \"\\e105\";\n}\n.glyphicon-eye-close:before {\n content: \"\\e106\";\n}\n.glyphicon-warning-sign:before {\n content: \"\\e107\";\n}\n.glyphicon-plane:before {\n content: \"\\e108\";\n}\n.glyphicon-calendar:before {\n content: \"\\e109\";\n}\n.glyphicon-random:before {\n content: \"\\e110\";\n}\n.glyphicon-comment:before {\n content: \"\\e111\";\n}\n.glyphicon-magnet:before {\n content: \"\\e112\";\n}\n.glyphicon-chevron-up:before {\n content: \"\\e113\";\n}\n.glyphicon-chevron-down:before {\n content: \"\\e114\";\n}\n.glyphicon-retweet:before {\n content: \"\\e115\";\n}\n.glyphicon-shopping-cart:before {\n content: \"\\e116\";\n}\n.glyphicon-folder-close:before {\n content: \"\\e117\";\n}\n.glyphicon-folder-open:before {\n content: \"\\e118\";\n}\n.glyphicon-resize-vertical:before {\n content: \"\\e119\";\n}\n.glyphicon-resize-horizontal:before {\n content: \"\\e120\";\n}\n.glyphicon-hdd:before {\n content: \"\\e121\";\n}\n.glyphicon-bullhorn:before {\n content: \"\\e122\";\n}\n.glyphicon-bell:before {\n content: \"\\e123\";\n}\n.glyphicon-certificate:before {\n content: \"\\e124\";\n}\n.glyphicon-thumbs-up:before {\n content: \"\\e125\";\n}\n.glyphicon-thumbs-down:before {\n content: \"\\e126\";\n}\n.glyphicon-hand-right:before {\n content: \"\\e127\";\n}\n.glyphicon-hand-left:before {\n content: \"\\e128\";\n}\n.glyphicon-hand-up:before {\n content: \"\\e129\";\n}\n.glyphicon-hand-down:before {\n content: \"\\e130\";\n}\n.glyphicon-circle-arrow-right:before {\n content: \"\\e131\";\n}\n.glyphicon-circle-arrow-left:before {\n content: \"\\e132\";\n}\n.glyphicon-circle-arrow-up:before {\n content: \"\\e133\";\n}\n.glyphicon-circle-arrow-down:before {\n content: \"\\e134\";\n}\n.glyphicon-globe:before {\n content: \"\\e135\";\n}\n.glyphicon-wrench:before {\n content: \"\\e136\";\n}\n.glyphicon-tasks:before {\n content: \"\\e137\";\n}\n.glyphicon-filter:before {\n content: \"\\e138\";\n}\n.glyphicon-briefcase:before {\n content: \"\\e139\";\n}\n.glyphicon-fullscreen:before {\n content: \"\\e140\";\n}\n.glyphicon-dashboard:before {\n content: \"\\e141\";\n}\n.glyphicon-paperclip:before {\n content: \"\\e142\";\n}\n.glyphicon-heart-empty:before {\n content: \"\\e143\";\n}\n.glyphicon-link:before {\n content: \"\\e144\";\n}\n.glyphicon-phone:before {\n content: \"\\e145\";\n}\n.glyphicon-pushpin:before {\n content: \"\\e146\";\n}\n.glyphicon-usd:before {\n content: \"\\e148\";\n}\n.glyphicon-gbp:before {\n content: \"\\e149\";\n}\n.glyphicon-sort:before {\n content: \"\\e150\";\n}\n.glyphicon-sort-by-alphabet:before {\n content: \"\\e151\";\n}\n.glyphicon-sort-by-alphabet-alt:before {\n content: \"\\e152\";\n}\n.glyphicon-sort-by-order:before {\n content: \"\\e153\";\n}\n.glyphicon-sort-by-order-alt:before {\n content: \"\\e154\";\n}\n.glyphicon-sort-by-attributes:before {\n content: \"\\e155\";\n}\n.glyphicon-sort-by-attributes-alt:before {\n content: \"\\e156\";\n}\n.glyphicon-unchecked:before {\n content: \"\\e157\";\n}\n.glyphicon-expand:before {\n content: \"\\e158\";\n}\n.glyphicon-collapse-down:before {\n content: \"\\e159\";\n}\n.glyphicon-collapse-up:before {\n content: \"\\e160\";\n}\n.glyphicon-log-in:before {\n content: \"\\e161\";\n}\n.glyphicon-flash:before {\n content: \"\\e162\";\n}\n.glyphicon-log-out:before {\n content: \"\\e163\";\n}\n.glyphicon-new-window:before {\n content: \"\\e164\";\n}\n.glyphicon-record:before {\n content: \"\\e165\";\n}\n.glyphicon-save:before {\n content: \"\\e166\";\n}\n.glyphicon-open:before {\n content: \"\\e167\";\n}\n.glyphicon-saved:before {\n content: \"\\e168\";\n}\n.glyphicon-import:before {\n content: \"\\e169\";\n}\n.glyphicon-export:before {\n content: \"\\e170\";\n}\n.glyphicon-send:before {\n content: \"\\e171\";\n}\n.glyphicon-floppy-disk:before {\n content: \"\\e172\";\n}\n.glyphicon-floppy-saved:before {\n content: \"\\e173\";\n}\n.glyphicon-floppy-remove:before {\n content: \"\\e174\";\n}\n.glyphicon-floppy-save:before {\n content: \"\\e175\";\n}\n.glyphicon-floppy-open:before {\n content: \"\\e176\";\n}\n.glyphicon-credit-card:before {\n content: \"\\e177\";\n}\n.glyphicon-transfer:before {\n content: \"\\e178\";\n}\n.glyphicon-cutlery:before {\n content: \"\\e179\";\n}\n.glyphicon-header:before {\n content: \"\\e180\";\n}\n.glyphicon-compressed:before {\n content: \"\\e181\";\n}\n.glyphicon-earphone:before {\n content: \"\\e182\";\n}\n.glyphicon-phone-alt:before {\n content: \"\\e183\";\n}\n.glyphicon-tower:before {\n content: \"\\e184\";\n}\n.glyphicon-stats:before {\n content: \"\\e185\";\n}\n.glyphicon-sd-video:before {\n content: \"\\e186\";\n}\n.glyphicon-hd-video:before {\n content: \"\\e187\";\n}\n.glyphicon-subtitles:before {\n content: \"\\e188\";\n}\n.glyphicon-sound-stereo:before {\n content: \"\\e189\";\n}\n.glyphicon-sound-dolby:before {\n content: \"\\e190\";\n}\n.glyphicon-sound-5-1:before {\n content: \"\\e191\";\n}\n.glyphicon-sound-6-1:before {\n content: \"\\e192\";\n}\n.glyphicon-sound-7-1:before {\n content: \"\\e193\";\n}\n.glyphicon-copyright-mark:before {\n content: \"\\e194\";\n}\n.glyphicon-registration-mark:before {\n content: \"\\e195\";\n}\n.glyphicon-cloud-download:before {\n content: \"\\e197\";\n}\n.glyphicon-cloud-upload:before {\n content: \"\\e198\";\n}\n.glyphicon-tree-conifer:before {\n content: \"\\e199\";\n}\n.glyphicon-tree-deciduous:before {\n content: \"\\e200\";\n}\n.glyphicon-cd:before {\n content: \"\\e201\";\n}\n.glyphicon-save-file:before {\n content: \"\\e202\";\n}\n.glyphicon-open-file:before {\n content: \"\\e203\";\n}\n.glyphicon-level-up:before {\n content: \"\\e204\";\n}\n.glyphicon-copy:before {\n content: \"\\e205\";\n}\n.glyphicon-paste:before {\n content: \"\\e206\";\n}\n.glyphicon-alert:before {\n content: \"\\e209\";\n}\n.glyphicon-equalizer:before {\n content: \"\\e210\";\n}\n.glyphicon-king:before {\n content: \"\\e211\";\n}\n.glyphicon-queen:before {\n content: \"\\e212\";\n}\n.glyphicon-pawn:before {\n content: \"\\e213\";\n}\n.glyphicon-bishop:before {\n content: \"\\e214\";\n}\n.glyphicon-knight:before {\n content: \"\\e215\";\n}\n.glyphicon-baby-formula:before {\n content: \"\\e216\";\n}\n.glyphicon-tent:before {\n content: \"\\26fa\";\n}\n.glyphicon-blackboard:before {\n content: \"\\e218\";\n}\n.glyphicon-bed:before {\n content: \"\\e219\";\n}\n.glyphicon-apple:before {\n content: \"\\f8ff\";\n}\n.glyphicon-erase:before {\n content: \"\\e221\";\n}\n.glyphicon-hourglass:before {\n content: \"\\231b\";\n}\n.glyphicon-lamp:before {\n content: \"\\e223\";\n}\n.glyphicon-duplicate:before {\n content: \"\\e224\";\n}\n.glyphicon-piggy-bank:before {\n content: \"\\e225\";\n}\n.glyphicon-scissors:before {\n content: \"\\e226\";\n}\n.glyphicon-bitcoin:before {\n content: \"\\e227\";\n}\n.glyphicon-btc:before {\n content: \"\\e227\";\n}\n.glyphicon-xbt:before {\n content: \"\\e227\";\n}\n.glyphicon-yen:before {\n content: \"\\00a5\";\n}\n.glyphicon-jpy:before {\n content: \"\\00a5\";\n}\n.glyphicon-ruble:before {\n content: \"\\20bd\";\n}\n.glyphicon-rub:before {\n content: \"\\20bd\";\n}\n.glyphicon-scale:before {\n content: \"\\e230\";\n}\n.glyphicon-ice-lolly:before {\n content: \"\\e231\";\n}\n.glyphicon-ice-lolly-tasted:before {\n content: \"\\e232\";\n}\n.glyphicon-education:before {\n content: \"\\e233\";\n}\n.glyphicon-option-horizontal:before {\n content: \"\\e234\";\n}\n.glyphicon-option-vertical:before {\n content: \"\\e235\";\n}\n.glyphicon-menu-hamburger:before {\n content: \"\\e236\";\n}\n.glyphicon-modal-window:before {\n content: \"\\e237\";\n}\n.glyphicon-oil:before {\n content: \"\\e238\";\n}\n.glyphicon-grain:before {\n content: \"\\e239\";\n}\n.glyphicon-sunglasses:before {\n content: \"\\e240\";\n}\n.glyphicon-text-size:before {\n content: \"\\e241\";\n}\n.glyphicon-text-color:before {\n content: \"\\e242\";\n}\n.glyphicon-text-background:before {\n content: \"\\e243\";\n}\n.glyphicon-object-align-top:before {\n content: \"\\e244\";\n}\n.glyphicon-object-align-bottom:before {\n content: \"\\e245\";\n}\n.glyphicon-object-align-horizontal:before {\n content: \"\\e246\";\n}\n.glyphicon-object-align-left:before {\n content: \"\\e247\";\n}\n.glyphicon-object-align-vertical:before {\n content: \"\\e248\";\n}\n.glyphicon-object-align-right:before {\n content: \"\\e249\";\n}\n.glyphicon-triangle-right:before {\n content: \"\\e250\";\n}\n.glyphicon-triangle-left:before {\n content: \"\\e251\";\n}\n.glyphicon-triangle-bottom:before {\n content: \"\\e252\";\n}\n.glyphicon-triangle-top:before {\n content: \"\\e253\";\n}\n.glyphicon-console:before {\n content: \"\\e254\";\n}\n.glyphicon-superscript:before {\n content: \"\\e255\";\n}\n.glyphicon-subscript:before {\n content: \"\\e256\";\n}\n.glyphicon-menu-left:before {\n content: \"\\e257\";\n}\n.glyphicon-menu-right:before {\n content: \"\\e258\";\n}\n.glyphicon-menu-down:before {\n content: \"\\e259\";\n}\n.glyphicon-menu-up:before {\n content: \"\\e260\";\n}\n* {\n -webkit-box-sizing: border-box;\n -moz-box-sizing: border-box;\n box-sizing: border-box;\n}\n*:before,\n*:after {\n -webkit-box-sizing: border-box;\n -moz-box-sizing: border-box;\n box-sizing: border-box;\n}\nhtml {\n font-size: 10px;\n -webkit-tap-highlight-color: rgba(0, 0, 0, 0);\n}\nbody {\n font-family: \"Helvetica Neue\", Helvetica, Arial, sans-serif;\n font-size: 14px;\n line-height: 1.42857143;\n color: #333333;\n background-color: #fff;\n}\ninput,\nbutton,\nselect,\ntextarea {\n font-family: inherit;\n font-size: inherit;\n line-height: inherit;\n}\na {\n color: #337ab7;\n text-decoration: none;\n}\na:hover,\na:focus {\n color: #23527c;\n text-decoration: underline;\n}\na:focus {\n outline: 5px auto -webkit-focus-ring-color;\n outline-offset: -2px;\n}\nfigure {\n margin: 0;\n}\nimg {\n vertical-align: middle;\n}\n.img-responsive,\n.thumbnail > img,\n.thumbnail a > img,\n.carousel-inner > .item > img,\n.carousel-inner > .item > a > img {\n display: block;\n max-width: 100%;\n height: auto;\n}\n.img-rounded {\n border-radius: 6px;\n}\n.img-thumbnail {\n padding: 4px;\n line-height: 1.42857143;\n background-color: #fff;\n border: 1px solid #ddd;\n border-radius: 4px;\n -webkit-transition: all 0.2s ease-in-out;\n -o-transition: all 0.2s ease-in-out;\n transition: all 0.2s ease-in-out;\n display: inline-block;\n max-width: 100%;\n height: auto;\n}\n.img-circle {\n border-radius: 50%;\n}\nhr {\n margin-top: 20px;\n margin-bottom: 20px;\n border: 0;\n border-top: 1px solid #eeeeee;\n}\n.sr-only {\n position: absolute;\n width: 1px;\n height: 1px;\n margin: -1px;\n padding: 0;\n overflow: hidden;\n clip: rect(0, 0, 0, 0);\n border: 0;\n}\n.sr-only-focusable:active,\n.sr-only-focusable:focus {\n position: static;\n width: auto;\n height: auto;\n margin: 0;\n overflow: visible;\n clip: auto;\n}\n[role=\"button\"] {\n cursor: pointer;\n}\nh1,\nh2,\nh3,\nh4,\nh5,\nh6,\n.h1,\n.h2,\n.h3,\n.h4,\n.h5,\n.h6 {\n font-family: inherit;\n font-weight: 500;\n line-height: 1.1;\n color: inherit;\n}\nh1 small,\nh2 small,\nh3 small,\nh4 small,\nh5 small,\nh6 small,\n.h1 small,\n.h2 small,\n.h3 small,\n.h4 small,\n.h5 small,\n.h6 small,\nh1 .small,\nh2 .small,\nh3 .small,\nh4 .small,\nh5 .small,\nh6 .small,\n.h1 .small,\n.h2 .small,\n.h3 .small,\n.h4 .small,\n.h5 .small,\n.h6 .small {\n font-weight: normal;\n line-height: 1;\n color: #777777;\n}\nh1,\n.h1,\nh2,\n.h2,\nh3,\n.h3 {\n margin-top: 20px;\n margin-bottom: 10px;\n}\nh1 small,\n.h1 small,\nh2 small,\n.h2 small,\nh3 small,\n.h3 small,\nh1 .small,\n.h1 .small,\nh2 .small,\n.h2 .small,\nh3 .small,\n.h3 .small {\n font-size: 65%;\n}\nh4,\n.h4,\nh5,\n.h5,\nh6,\n.h6 {\n margin-top: 10px;\n margin-bottom: 10px;\n}\nh4 small,\n.h4 small,\nh5 small,\n.h5 small,\nh6 small,\n.h6 small,\nh4 .small,\n.h4 .small,\nh5 .small,\n.h5 .small,\nh6 .small,\n.h6 .small {\n font-size: 75%;\n}\nh1,\n.h1 {\n font-size: 36px;\n}\nh2,\n.h2 {\n font-size: 30px;\n}\nh3,\n.h3 {\n font-size: 24px;\n}\nh4,\n.h4 {\n font-size: 18px;\n}\nh5,\n.h5 {\n font-size: 14px;\n}\nh6,\n.h6 {\n font-size: 12px;\n}\np {\n margin: 0 0 10px;\n}\n.lead {\n margin-bottom: 20px;\n font-size: 16px;\n font-weight: 300;\n line-height: 1.4;\n}\n@media (min-width: 768px) {\n .lead {\n font-size: 21px;\n }\n}\nsmall,\n.small {\n font-size: 85%;\n}\nmark,\n.mark {\n background-color: #fcf8e3;\n padding: .2em;\n}\n.text-left {\n text-align: left;\n}\n.text-right {\n text-align: right;\n}\n.text-center {\n text-align: center;\n}\n.text-justify {\n text-align: justify;\n}\n.text-nowrap {\n white-space: nowrap;\n}\n.text-lowercase {\n text-transform: lowercase;\n}\n.text-uppercase {\n text-transform: uppercase;\n}\n.text-capitalize {\n text-transform: capitalize;\n}\n.text-muted {\n color: #777777;\n}\n.text-primary {\n color: #337ab7;\n}\na.text-primary:hover,\na.text-primary:focus {\n color: #286090;\n}\n.text-success {\n color: #3c763d;\n}\na.text-success:hover,\na.text-success:focus {\n color: #2b542c;\n}\n.text-info {\n color: #31708f;\n}\na.text-info:hover,\na.text-info:focus {\n color: #245269;\n}\n.text-warning {\n color: #8a6d3b;\n}\na.text-warning:hover,\na.text-warning:focus {\n color: #66512c;\n}\n.text-danger {\n color: #a94442;\n}\na.text-danger:hover,\na.text-danger:focus {\n color: #843534;\n}\n.bg-primary {\n color: #fff;\n background-color: #337ab7;\n}\na.bg-primary:hover,\na.bg-primary:focus {\n background-color: #286090;\n}\n.bg-success {\n background-color: #dff0d8;\n}\na.bg-success:hover,\na.bg-success:focus {\n background-color: #c1e2b3;\n}\n.bg-info {\n background-color: #d9edf7;\n}\na.bg-info:hover,\na.bg-info:focus {\n background-color: #afd9ee;\n}\n.bg-warning {\n background-color: #fcf8e3;\n}\na.bg-warning:hover,\na.bg-warning:focus {\n background-color: #f7ecb5;\n}\n.bg-danger {\n background-color: #f2dede;\n}\na.bg-danger:hover,\na.bg-danger:focus {\n background-color: #e4b9b9;\n}\n.page-header {\n padding-bottom: 9px;\n margin: 40px 0 20px;\n border-bottom: 1px solid #eeeeee;\n}\nul,\nol {\n margin-top: 0;\n margin-bottom: 10px;\n}\nul ul,\nol ul,\nul ol,\nol ol {\n margin-bottom: 0;\n}\n.list-unstyled {\n padding-left: 0;\n list-style: none;\n}\n.list-inline {\n padding-left: 0;\n list-style: none;\n margin-left: -5px;\n}\n.list-inline > li {\n display: inline-block;\n padding-left: 5px;\n padding-right: 5px;\n}\ndl {\n margin-top: 0;\n margin-bottom: 20px;\n}\ndt,\ndd {\n line-height: 1.42857143;\n}\ndt {\n font-weight: bold;\n}\ndd {\n margin-left: 0;\n}\n@media (min-width: 768px) {\n .dl-horizontal dt {\n float: left;\n width: 160px;\n clear: left;\n text-align: right;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n }\n .dl-horizontal dd {\n margin-left: 180px;\n }\n}\nabbr[title],\nabbr[data-original-title] {\n cursor: help;\n border-bottom: 1px dotted #777777;\n}\n.initialism {\n font-size: 90%;\n text-transform: uppercase;\n}\nblockquote {\n padding: 10px 20px;\n margin: 0 0 20px;\n font-size: 17.5px;\n border-left: 5px solid #eeeeee;\n}\nblockquote p:last-child,\nblockquote ul:last-child,\nblockquote ol:last-child {\n margin-bottom: 0;\n}\nblockquote footer,\nblockquote small,\nblockquote .small {\n display: block;\n font-size: 80%;\n line-height: 1.42857143;\n color: #777777;\n}\nblockquote footer:before,\nblockquote small:before,\nblockquote .small:before {\n content: '\\2014 \\00A0';\n}\n.blockquote-reverse,\nblockquote.pull-right {\n padding-right: 15px;\n padding-left: 0;\n border-right: 5px solid #eeeeee;\n border-left: 0;\n text-align: right;\n}\n.blockquote-reverse footer:before,\nblockquote.pull-right footer:before,\n.blockquote-reverse small:before,\nblockquote.pull-right small:before,\n.blockquote-reverse .small:before,\nblockquote.pull-right .small:before {\n content: '';\n}\n.blockquote-reverse footer:after,\nblockquote.pull-right footer:after,\n.blockquote-reverse small:after,\nblockquote.pull-right small:after,\n.blockquote-reverse .small:after,\nblockquote.pull-right .small:after {\n content: '\\00A0 \\2014';\n}\naddress {\n margin-bottom: 20px;\n font-style: normal;\n line-height: 1.42857143;\n}\ncode,\nkbd,\npre,\nsamp {\n font-family: Menlo, Monaco, Consolas, \"Courier New\", monospace;\n}\ncode {\n padding: 2px 4px;\n font-size: 90%;\n color: #c7254e;\n background-color: #f9f2f4;\n border-radius: 4px;\n}\nkbd {\n padding: 2px 4px;\n font-size: 90%;\n color: #fff;\n background-color: #333;\n border-radius: 3px;\n box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.25);\n}\nkbd kbd {\n padding: 0;\n font-size: 100%;\n font-weight: bold;\n box-shadow: none;\n}\npre {\n display: block;\n padding: 9.5px;\n margin: 0 0 10px;\n font-size: 13px;\n line-height: 1.42857143;\n word-break: break-all;\n word-wrap: break-word;\n color: #333333;\n background-color: #f5f5f5;\n border: 1px solid #ccc;\n border-radius: 4px;\n}\npre code {\n padding: 0;\n font-size: inherit;\n color: inherit;\n white-space: pre-wrap;\n background-color: transparent;\n border-radius: 0;\n}\n.pre-scrollable {\n max-height: 340px;\n overflow-y: scroll;\n}\n.container {\n margin-right: auto;\n margin-left: auto;\n padding-left: 15px;\n padding-right: 15px;\n}\n@media (min-width: 768px) {\n .container {\n width: 750px;\n }\n}\n@media (min-width: 992px) {\n .container {\n width: 970px;\n }\n}\n@media (min-width: 1200px) {\n .container {\n width: 1170px;\n }\n}\n.container-fluid {\n margin-right: auto;\n margin-left: auto;\n padding-left: 15px;\n padding-right: 15px;\n}\n.row {\n margin-left: -15px;\n margin-right: -15px;\n}\n.col-xs-1, .col-sm-1, .col-md-1, .col-lg-1, .col-xs-2, .col-sm-2, .col-md-2, .col-lg-2, .col-xs-3, .col-sm-3, .col-md-3, .col-lg-3, .col-xs-4, .col-sm-4, .col-md-4, .col-lg-4, .col-xs-5, .col-sm-5, .col-md-5, .col-lg-5, .col-xs-6, .col-sm-6, .col-md-6, .col-lg-6, .col-xs-7, .col-sm-7, .col-md-7, .col-lg-7, .col-xs-8, .col-sm-8, .col-md-8, .col-lg-8, .col-xs-9, .col-sm-9, .col-md-9, .col-lg-9, .col-xs-10, .col-sm-10, .col-md-10, .col-lg-10, .col-xs-11, .col-sm-11, .col-md-11, .col-lg-11, .col-xs-12, .col-sm-12, .col-md-12, .col-lg-12 {\n position: relative;\n min-height: 1px;\n padding-left: 15px;\n padding-right: 15px;\n}\n.col-xs-1, .col-xs-2, .col-xs-3, .col-xs-4, .col-xs-5, .col-xs-6, .col-xs-7, .col-xs-8, .col-xs-9, .col-xs-10, .col-xs-11, .col-xs-12 {\n float: left;\n}\n.col-xs-12 {\n width: 100%;\n}\n.col-xs-11 {\n width: 91.66666667%;\n}\n.col-xs-10 {\n width: 83.33333333%;\n}\n.col-xs-9 {\n width: 75%;\n}\n.col-xs-8 {\n width: 66.66666667%;\n}\n.col-xs-7 {\n width: 58.33333333%;\n}\n.col-xs-6 {\n width: 50%;\n}\n.col-xs-5 {\n width: 41.66666667%;\n}\n.col-xs-4 {\n width: 33.33333333%;\n}\n.col-xs-3 {\n width: 25%;\n}\n.col-xs-2 {\n width: 16.66666667%;\n}\n.col-xs-1 {\n width: 8.33333333%;\n}\n.col-xs-pull-12 {\n right: 100%;\n}\n.col-xs-pull-11 {\n right: 91.66666667%;\n}\n.col-xs-pull-10 {\n right: 83.33333333%;\n}\n.col-xs-pull-9 {\n right: 75%;\n}\n.col-xs-pull-8 {\n right: 66.66666667%;\n}\n.col-xs-pull-7 {\n right: 58.33333333%;\n}\n.col-xs-pull-6 {\n right: 50%;\n}\n.col-xs-pull-5 {\n right: 41.66666667%;\n}\n.col-xs-pull-4 {\n right: 33.33333333%;\n}\n.col-xs-pull-3 {\n right: 25%;\n}\n.col-xs-pull-2 {\n right: 16.66666667%;\n}\n.col-xs-pull-1 {\n right: 8.33333333%;\n}\n.col-xs-pull-0 {\n right: auto;\n}\n.col-xs-push-12 {\n left: 100%;\n}\n.col-xs-push-11 {\n left: 91.66666667%;\n}\n.col-xs-push-10 {\n left: 83.33333333%;\n}\n.col-xs-push-9 {\n left: 75%;\n}\n.col-xs-push-8 {\n left: 66.66666667%;\n}\n.col-xs-push-7 {\n left: 58.33333333%;\n}\n.col-xs-push-6 {\n left: 50%;\n}\n.col-xs-push-5 {\n left: 41.66666667%;\n}\n.col-xs-push-4 {\n left: 33.33333333%;\n}\n.col-xs-push-3 {\n left: 25%;\n}\n.col-xs-push-2 {\n left: 16.66666667%;\n}\n.col-xs-push-1 {\n left: 8.33333333%;\n}\n.col-xs-push-0 {\n left: auto;\n}\n.col-xs-offset-12 {\n margin-left: 100%;\n}\n.col-xs-offset-11 {\n margin-left: 91.66666667%;\n}\n.col-xs-offset-10 {\n margin-left: 83.33333333%;\n}\n.col-xs-offset-9 {\n margin-left: 75%;\n}\n.col-xs-offset-8 {\n margin-left: 66.66666667%;\n}\n.col-xs-offset-7 {\n margin-left: 58.33333333%;\n}\n.col-xs-offset-6 {\n margin-left: 50%;\n}\n.col-xs-offset-5 {\n margin-left: 41.66666667%;\n}\n.col-xs-offset-4 {\n margin-left: 33.33333333%;\n}\n.col-xs-offset-3 {\n margin-left: 25%;\n}\n.col-xs-offset-2 {\n margin-left: 16.66666667%;\n}\n.col-xs-offset-1 {\n margin-left: 8.33333333%;\n}\n.col-xs-offset-0 {\n margin-left: 0%;\n}\n@media (min-width: 768px) {\n .col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12 {\n float: left;\n }\n .col-sm-12 {\n width: 100%;\n }\n .col-sm-11 {\n width: 91.66666667%;\n }\n .col-sm-10 {\n width: 83.33333333%;\n }\n .col-sm-9 {\n width: 75%;\n }\n .col-sm-8 {\n width: 66.66666667%;\n }\n .col-sm-7 {\n width: 58.33333333%;\n }\n .col-sm-6 {\n width: 50%;\n }\n .col-sm-5 {\n width: 41.66666667%;\n }\n .col-sm-4 {\n width: 33.33333333%;\n }\n .col-sm-3 {\n width: 25%;\n }\n .col-sm-2 {\n width: 16.66666667%;\n }\n .col-sm-1 {\n width: 8.33333333%;\n }\n .col-sm-pull-12 {\n right: 100%;\n }\n .col-sm-pull-11 {\n right: 91.66666667%;\n }\n .col-sm-pull-10 {\n right: 83.33333333%;\n }\n .col-sm-pull-9 {\n right: 75%;\n }\n .col-sm-pull-8 {\n right: 66.66666667%;\n }\n .col-sm-pull-7 {\n right: 58.33333333%;\n }\n .col-sm-pull-6 {\n right: 50%;\n }\n .col-sm-pull-5 {\n right: 41.66666667%;\n }\n .col-sm-pull-4 {\n right: 33.33333333%;\n }\n .col-sm-pull-3 {\n right: 25%;\n }\n .col-sm-pull-2 {\n right: 16.66666667%;\n }\n .col-sm-pull-1 {\n right: 8.33333333%;\n }\n .col-sm-pull-0 {\n right: auto;\n }\n .col-sm-push-12 {\n left: 100%;\n }\n .col-sm-push-11 {\n left: 91.66666667%;\n }\n .col-sm-push-10 {\n left: 83.33333333%;\n }\n .col-sm-push-9 {\n left: 75%;\n }\n .col-sm-push-8 {\n left: 66.66666667%;\n }\n .col-sm-push-7 {\n left: 58.33333333%;\n }\n .col-sm-push-6 {\n left: 50%;\n }\n .col-sm-push-5 {\n left: 41.66666667%;\n }\n .col-sm-push-4 {\n left: 33.33333333%;\n }\n .col-sm-push-3 {\n left: 25%;\n }\n .col-sm-push-2 {\n left: 16.66666667%;\n }\n .col-sm-push-1 {\n left: 8.33333333%;\n }\n .col-sm-push-0 {\n left: auto;\n }\n .col-sm-offset-12 {\n margin-left: 100%;\n }\n .col-sm-offset-11 {\n margin-left: 91.66666667%;\n }\n .col-sm-offset-10 {\n margin-left: 83.33333333%;\n }\n .col-sm-offset-9 {\n margin-left: 75%;\n }\n .col-sm-offset-8 {\n margin-left: 66.66666667%;\n }\n .col-sm-offset-7 {\n margin-left: 58.33333333%;\n }\n .col-sm-offset-6 {\n margin-left: 50%;\n }\n .col-sm-offset-5 {\n margin-left: 41.66666667%;\n }\n .col-sm-offset-4 {\n margin-left: 33.33333333%;\n }\n .col-sm-offset-3 {\n margin-left: 25%;\n }\n .col-sm-offset-2 {\n margin-left: 16.66666667%;\n }\n .col-sm-offset-1 {\n margin-left: 8.33333333%;\n }\n .col-sm-offset-0 {\n margin-left: 0%;\n }\n}\n@media (min-width: 992px) {\n .col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12 {\n float: left;\n }\n .col-md-12 {\n width: 100%;\n }\n .col-md-11 {\n width: 91.66666667%;\n }\n .col-md-10 {\n width: 83.33333333%;\n }\n .col-md-9 {\n width: 75%;\n }\n .col-md-8 {\n width: 66.66666667%;\n }\n .col-md-7 {\n width: 58.33333333%;\n }\n .col-md-6 {\n width: 50%;\n }\n .col-md-5 {\n width: 41.66666667%;\n }\n .col-md-4 {\n width: 33.33333333%;\n }\n .col-md-3 {\n width: 25%;\n }\n .col-md-2 {\n width: 16.66666667%;\n }\n .col-md-1 {\n width: 8.33333333%;\n }\n .col-md-pull-12 {\n right: 100%;\n }\n .col-md-pull-11 {\n right: 91.66666667%;\n }\n .col-md-pull-10 {\n right: 83.33333333%;\n }\n .col-md-pull-9 {\n right: 75%;\n }\n .col-md-pull-8 {\n right: 66.66666667%;\n }\n .col-md-pull-7 {\n right: 58.33333333%;\n }\n .col-md-pull-6 {\n right: 50%;\n }\n .col-md-pull-5 {\n right: 41.66666667%;\n }\n .col-md-pull-4 {\n right: 33.33333333%;\n }\n .col-md-pull-3 {\n right: 25%;\n }\n .col-md-pull-2 {\n right: 16.66666667%;\n }\n .col-md-pull-1 {\n right: 8.33333333%;\n }\n .col-md-pull-0 {\n right: auto;\n }\n .col-md-push-12 {\n left: 100%;\n }\n .col-md-push-11 {\n left: 91.66666667%;\n }\n .col-md-push-10 {\n left: 83.33333333%;\n }\n .col-md-push-9 {\n left: 75%;\n }\n .col-md-push-8 {\n left: 66.66666667%;\n }\n .col-md-push-7 {\n left: 58.33333333%;\n }\n .col-md-push-6 {\n left: 50%;\n }\n .col-md-push-5 {\n left: 41.66666667%;\n }\n .col-md-push-4 {\n left: 33.33333333%;\n }\n .col-md-push-3 {\n left: 25%;\n }\n .col-md-push-2 {\n left: 16.66666667%;\n }\n .col-md-push-1 {\n left: 8.33333333%;\n }\n .col-md-push-0 {\n left: auto;\n }\n .col-md-offset-12 {\n margin-left: 100%;\n }\n .col-md-offset-11 {\n margin-left: 91.66666667%;\n }\n .col-md-offset-10 {\n margin-left: 83.33333333%;\n }\n .col-md-offset-9 {\n margin-left: 75%;\n }\n .col-md-offset-8 {\n margin-left: 66.66666667%;\n }\n .col-md-offset-7 {\n margin-left: 58.33333333%;\n }\n .col-md-offset-6 {\n margin-left: 50%;\n }\n .col-md-offset-5 {\n margin-left: 41.66666667%;\n }\n .col-md-offset-4 {\n margin-left: 33.33333333%;\n }\n .col-md-offset-3 {\n margin-left: 25%;\n }\n .col-md-offset-2 {\n margin-left: 16.66666667%;\n }\n .col-md-offset-1 {\n margin-left: 8.33333333%;\n }\n .col-md-offset-0 {\n margin-left: 0%;\n }\n}\n@media (min-width: 1200px) {\n .col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12 {\n float: left;\n }\n .col-lg-12 {\n width: 100%;\n }\n .col-lg-11 {\n width: 91.66666667%;\n }\n .col-lg-10 {\n width: 83.33333333%;\n }\n .col-lg-9 {\n width: 75%;\n }\n .col-lg-8 {\n width: 66.66666667%;\n }\n .col-lg-7 {\n width: 58.33333333%;\n }\n .col-lg-6 {\n width: 50%;\n }\n .col-lg-5 {\n width: 41.66666667%;\n }\n .col-lg-4 {\n width: 33.33333333%;\n }\n .col-lg-3 {\n width: 25%;\n }\n .col-lg-2 {\n width: 16.66666667%;\n }\n .col-lg-1 {\n width: 8.33333333%;\n }\n .col-lg-pull-12 {\n right: 100%;\n }\n .col-lg-pull-11 {\n right: 91.66666667%;\n }\n .col-lg-pull-10 {\n right: 83.33333333%;\n }\n .col-lg-pull-9 {\n right: 75%;\n }\n .col-lg-pull-8 {\n right: 66.66666667%;\n }\n .col-lg-pull-7 {\n right: 58.33333333%;\n }\n .col-lg-pull-6 {\n right: 50%;\n }\n .col-lg-pull-5 {\n right: 41.66666667%;\n }\n .col-lg-pull-4 {\n right: 33.33333333%;\n }\n .col-lg-pull-3 {\n right: 25%;\n }\n .col-lg-pull-2 {\n right: 16.66666667%;\n }\n .col-lg-pull-1 {\n right: 8.33333333%;\n }\n .col-lg-pull-0 {\n right: auto;\n }\n .col-lg-push-12 {\n left: 100%;\n }\n .col-lg-push-11 {\n left: 91.66666667%;\n }\n .col-lg-push-10 {\n left: 83.33333333%;\n }\n .col-lg-push-9 {\n left: 75%;\n }\n .col-lg-push-8 {\n left: 66.66666667%;\n }\n .col-lg-push-7 {\n left: 58.33333333%;\n }\n .col-lg-push-6 {\n left: 50%;\n }\n .col-lg-push-5 {\n left: 41.66666667%;\n }\n .col-lg-push-4 {\n left: 33.33333333%;\n }\n .col-lg-push-3 {\n left: 25%;\n }\n .col-lg-push-2 {\n left: 16.66666667%;\n }\n .col-lg-push-1 {\n left: 8.33333333%;\n }\n .col-lg-push-0 {\n left: auto;\n }\n .col-lg-offset-12 {\n margin-left: 100%;\n }\n .col-lg-offset-11 {\n margin-left: 91.66666667%;\n }\n .col-lg-offset-10 {\n margin-left: 83.33333333%;\n }\n .col-lg-offset-9 {\n margin-left: 75%;\n }\n .col-lg-offset-8 {\n margin-left: 66.66666667%;\n }\n .col-lg-offset-7 {\n margin-left: 58.33333333%;\n }\n .col-lg-offset-6 {\n margin-left: 50%;\n }\n .col-lg-offset-5 {\n margin-left: 41.66666667%;\n }\n .col-lg-offset-4 {\n margin-left: 33.33333333%;\n }\n .col-lg-offset-3 {\n margin-left: 25%;\n }\n .col-lg-offset-2 {\n margin-left: 16.66666667%;\n }\n .col-lg-offset-1 {\n margin-left: 8.33333333%;\n }\n .col-lg-offset-0 {\n margin-left: 0%;\n }\n}\ntable {\n background-color: transparent;\n}\ncaption {\n padding-top: 8px;\n padding-bottom: 8px;\n color: #777777;\n text-align: left;\n}\nth {\n text-align: left;\n}\n.table {\n width: 100%;\n max-width: 100%;\n margin-bottom: 20px;\n}\n.table > thead > tr > th,\n.table > tbody > tr > th,\n.table > tfoot > tr > th,\n.table > thead > tr > td,\n.table > tbody > tr > td,\n.table > tfoot > tr > td {\n padding: 8px;\n line-height: 1.42857143;\n vertical-align: top;\n border-top: 1px solid #ddd;\n}\n.table > thead > tr > th {\n vertical-align: bottom;\n border-bottom: 2px solid #ddd;\n}\n.table > caption + thead > tr:first-child > th,\n.table > colgroup + thead > tr:first-child > th,\n.table > thead:first-child > tr:first-child > th,\n.table > caption + thead > tr:first-child > td,\n.table > colgroup + thead > tr:first-child > td,\n.table > thead:first-child > tr:first-child > td {\n border-top: 0;\n}\n.table > tbody + tbody {\n border-top: 2px solid #ddd;\n}\n.table .table {\n background-color: #fff;\n}\n.table-condensed > thead > tr > th,\n.table-condensed > tbody > tr > th,\n.table-condensed > tfoot > tr > th,\n.table-condensed > thead > tr > td,\n.table-condensed > tbody > tr > td,\n.table-condensed > tfoot > tr > td {\n padding: 5px;\n}\n.table-bordered {\n border: 1px solid #ddd;\n}\n.table-bordered > thead > tr > th,\n.table-bordered > tbody > tr > th,\n.table-bordered > tfoot > tr > th,\n.table-bordered > thead > tr > td,\n.table-bordered > tbody > tr > td,\n.table-bordered > tfoot > tr > td {\n border: 1px solid #ddd;\n}\n.table-bordered > thead > tr > th,\n.table-bordered > thead > tr > td {\n border-bottom-width: 2px;\n}\n.table-striped > tbody > tr:nth-of-type(odd) {\n background-color: #f9f9f9;\n}\n.table-hover > tbody > tr:hover {\n background-color: #f5f5f5;\n}\ntable col[class*=\"col-\"] {\n position: static;\n float: none;\n display: table-column;\n}\ntable td[class*=\"col-\"],\ntable th[class*=\"col-\"] {\n position: static;\n float: none;\n display: table-cell;\n}\n.table > thead > tr > td.active,\n.table > tbody > tr > td.active,\n.table > tfoot > tr > td.active,\n.table > thead > tr > th.active,\n.table > tbody > tr > th.active,\n.table > tfoot > tr > th.active,\n.table > thead > tr.active > td,\n.table > tbody > tr.active > td,\n.table > tfoot > tr.active > td,\n.table > thead > tr.active > th,\n.table > tbody > tr.active > th,\n.table > tfoot > tr.active > th {\n background-color: #f5f5f5;\n}\n.table-hover > tbody > tr > td.active:hover,\n.table-hover > tbody > tr > th.active:hover,\n.table-hover > tbody > tr.active:hover > td,\n.table-hover > tbody > tr:hover > .active,\n.table-hover > tbody > tr.active:hover > th {\n background-color: #e8e8e8;\n}\n.table > thead > tr > td.success,\n.table > tbody > tr > td.success,\n.table > tfoot > tr > td.success,\n.table > thead > tr > th.success,\n.table > tbody > tr > th.success,\n.table > tfoot > tr > th.success,\n.table > thead > tr.success > td,\n.table > tbody > tr.success > td,\n.table > tfoot > tr.success > td,\n.table > thead > tr.success > th,\n.table > tbody > tr.success > th,\n.table > tfoot > tr.success > th {\n background-color: #dff0d8;\n}\n.table-hover > tbody > tr > td.success:hover,\n.table-hover > tbody > tr > th.success:hover,\n.table-hover > tbody > tr.success:hover > td,\n.table-hover > tbody > tr:hover > .success,\n.table-hover > tbody > tr.success:hover > th {\n background-color: #d0e9c6;\n}\n.table > thead > tr > td.info,\n.table > tbody > tr > td.info,\n.table > tfoot > tr > td.info,\n.table > thead > tr > th.info,\n.table > tbody > tr > th.info,\n.table > tfoot > tr > th.info,\n.table > thead > tr.info > td,\n.table > tbody > tr.info > td,\n.table > tfoot > tr.info > td,\n.table > thead > tr.info > th,\n.table > tbody > tr.info > th,\n.table > tfoot > tr.info > th {\n background-color: #d9edf7;\n}\n.table-hover > tbody > tr > td.info:hover,\n.table-hover > tbody > tr > th.info:hover,\n.table-hover > tbody > tr.info:hover > td,\n.table-hover > tbody > tr:hover > .info,\n.table-hover > tbody > tr.info:hover > th {\n background-color: #c4e3f3;\n}\n.table > thead > tr > td.warning,\n.table > tbody > tr > td.warning,\n.table > tfoot > tr > td.warning,\n.table > thead > tr > th.warning,\n.table > tbody > tr > th.warning,\n.table > tfoot > tr > th.warning,\n.table > thead > tr.warning > td,\n.table > tbody > tr.warning > td,\n.table > tfoot > tr.warning > td,\n.table > thead > tr.warning > th,\n.table > tbody > tr.warning > th,\n.table > tfoot > tr.warning > th {\n background-color: #fcf8e3;\n}\n.table-hover > tbody > tr > td.warning:hover,\n.table-hover > tbody > tr > th.warning:hover,\n.table-hover > tbody > tr.warning:hover > td,\n.table-hover > tbody > tr:hover > .warning,\n.table-hover > tbody > tr.warning:hover > th {\n background-color: #faf2cc;\n}\n.table > thead > tr > td.danger,\n.table > tbody > tr > td.danger,\n.table > tfoot > tr > td.danger,\n.table > thead > tr > th.danger,\n.table > tbody > tr > th.danger,\n.table > tfoot > tr > th.danger,\n.table > thead > tr.danger > td,\n.table > tbody > tr.danger > td,\n.table > tfoot > tr.danger > td,\n.table > thead > tr.danger > th,\n.table > tbody > tr.danger > th,\n.table > tfoot > tr.danger > th {\n background-color: #f2dede;\n}\n.table-hover > tbody > tr > td.danger:hover,\n.table-hover > tbody > tr > th.danger:hover,\n.table-hover > tbody > tr.danger:hover > td,\n.table-hover > tbody > tr:hover > .danger,\n.table-hover > tbody > tr.danger:hover > th {\n background-color: #ebcccc;\n}\n.table-responsive {\n overflow-x: auto;\n min-height: 0.01%;\n}\n@media screen and (max-width: 767px) {\n .table-responsive {\n width: 100%;\n margin-bottom: 15px;\n overflow-y: hidden;\n -ms-overflow-style: -ms-autohiding-scrollbar;\n border: 1px solid #ddd;\n }\n .table-responsive > .table {\n margin-bottom: 0;\n }\n .table-responsive > .table > thead > tr > th,\n .table-responsive > .table > tbody > tr > th,\n .table-responsive > .table > tfoot > tr > th,\n .table-responsive > .table > thead > tr > td,\n .table-responsive > .table > tbody > tr > td,\n .table-responsive > .table > tfoot > tr > td {\n white-space: nowrap;\n }\n .table-responsive > .table-bordered {\n border: 0;\n }\n .table-responsive > .table-bordered > thead > tr > th:first-child,\n .table-responsive > .table-bordered > tbody > tr > th:first-child,\n .table-responsive > .table-bordered > tfoot > tr > th:first-child,\n .table-responsive > .table-bordered > thead > tr > td:first-child,\n .table-responsive > .table-bordered > tbody > tr > td:first-child,\n .table-responsive > .table-bordered > tfoot > tr > td:first-child {\n border-left: 0;\n }\n .table-responsive > .table-bordered > thead > tr > th:last-child,\n .table-responsive > .table-bordered > tbody > tr > th:last-child,\n .table-responsive > .table-bordered > tfoot > tr > th:last-child,\n .table-responsive > .table-bordered > thead > tr > td:last-child,\n .table-responsive > .table-bordered > tbody > tr > td:last-child,\n .table-responsive > .table-bordered > tfoot > tr > td:last-child {\n border-right: 0;\n }\n .table-responsive > .table-bordered > tbody > tr:last-child > th,\n .table-responsive > .table-bordered > tfoot > tr:last-child > th,\n .table-responsive > .table-bordered > tbody > tr:last-child > td,\n .table-responsive > .table-bordered > tfoot > tr:last-child > td {\n border-bottom: 0;\n }\n}\nfieldset {\n padding: 0;\n margin: 0;\n border: 0;\n min-width: 0;\n}\nlegend {\n display: block;\n width: 100%;\n padding: 0;\n margin-bottom: 20px;\n font-size: 21px;\n line-height: inherit;\n color: #333333;\n border: 0;\n border-bottom: 1px solid #e5e5e5;\n}\nlabel {\n display: inline-block;\n max-width: 100%;\n margin-bottom: 5px;\n font-weight: bold;\n}\ninput[type=\"search\"] {\n -webkit-box-sizing: border-box;\n -moz-box-sizing: border-box;\n box-sizing: border-box;\n}\ninput[type=\"radio\"],\ninput[type=\"checkbox\"] {\n margin: 4px 0 0;\n margin-top: 1px \\9;\n line-height: normal;\n}\ninput[type=\"file\"] {\n display: block;\n}\ninput[type=\"range\"] {\n display: block;\n width: 100%;\n}\nselect[multiple],\nselect[size] {\n height: auto;\n}\ninput[type=\"file\"]:focus,\ninput[type=\"radio\"]:focus,\ninput[type=\"checkbox\"]:focus {\n outline: 5px auto -webkit-focus-ring-color;\n outline-offset: -2px;\n}\noutput {\n display: block;\n padding-top: 7px;\n font-size: 14px;\n line-height: 1.42857143;\n color: #555555;\n}\n.form-control {\n display: block;\n width: 100%;\n height: 34px;\n padding: 6px 12px;\n font-size: 14px;\n line-height: 1.42857143;\n color: #555555;\n background-color: #fff;\n background-image: none;\n border: 1px solid #ccc;\n border-radius: 4px;\n -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);\n box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);\n -webkit-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;\n -o-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;\n transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;\n}\n.form-control:focus {\n border-color: #66afe9;\n outline: 0;\n -webkit-box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(102, 175, 233, 0.6);\n box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(102, 175, 233, 0.6);\n}\n.form-control::-moz-placeholder {\n color: #999;\n opacity: 1;\n}\n.form-control:-ms-input-placeholder {\n color: #999;\n}\n.form-control::-webkit-input-placeholder {\n color: #999;\n}\n.form-control::-ms-expand {\n border: 0;\n background-color: transparent;\n}\n.form-control[disabled],\n.form-control[readonly],\nfieldset[disabled] .form-control {\n background-color: #eeeeee;\n opacity: 1;\n}\n.form-control[disabled],\nfieldset[disabled] .form-control {\n cursor: not-allowed;\n}\ntextarea.form-control {\n height: auto;\n}\ninput[type=\"search\"] {\n -webkit-appearance: none;\n}\n@media screen and (-webkit-min-device-pixel-ratio: 0) {\n input[type=\"date\"].form-control,\n input[type=\"time\"].form-control,\n input[type=\"datetime-local\"].form-control,\n input[type=\"month\"].form-control {\n line-height: 34px;\n }\n input[type=\"date\"].input-sm,\n input[type=\"time\"].input-sm,\n input[type=\"datetime-local\"].input-sm,\n input[type=\"month\"].input-sm,\n .input-group-sm input[type=\"date\"],\n .input-group-sm input[type=\"time\"],\n .input-group-sm input[type=\"datetime-local\"],\n .input-group-sm input[type=\"month\"] {\n line-height: 30px;\n }\n input[type=\"date\"].input-lg,\n input[type=\"time\"].input-lg,\n input[type=\"datetime-local\"].input-lg,\n input[type=\"month\"].input-lg,\n .input-group-lg input[type=\"date\"],\n .input-group-lg input[type=\"time\"],\n .input-group-lg input[type=\"datetime-local\"],\n .input-group-lg input[type=\"month\"] {\n line-height: 46px;\n }\n}\n.form-group {\n margin-bottom: 15px;\n}\n.radio,\n.checkbox {\n position: relative;\n display: block;\n margin-top: 10px;\n margin-bottom: 10px;\n}\n.radio label,\n.checkbox label {\n min-height: 20px;\n padding-left: 20px;\n margin-bottom: 0;\n font-weight: normal;\n cursor: pointer;\n}\n.radio input[type=\"radio\"],\n.radio-inline input[type=\"radio\"],\n.checkbox input[type=\"checkbox\"],\n.checkbox-inline input[type=\"checkbox\"] {\n position: absolute;\n margin-left: -20px;\n margin-top: 4px \\9;\n}\n.radio + .radio,\n.checkbox + .checkbox {\n margin-top: -5px;\n}\n.radio-inline,\n.checkbox-inline {\n position: relative;\n display: inline-block;\n padding-left: 20px;\n margin-bottom: 0;\n vertical-align: middle;\n font-weight: normal;\n cursor: pointer;\n}\n.radio-inline + .radio-inline,\n.checkbox-inline + .checkbox-inline {\n margin-top: 0;\n margin-left: 10px;\n}\ninput[type=\"radio\"][disabled],\ninput[type=\"checkbox\"][disabled],\ninput[type=\"radio\"].disabled,\ninput[type=\"checkbox\"].disabled,\nfieldset[disabled] input[type=\"radio\"],\nfieldset[disabled] input[type=\"checkbox\"] {\n cursor: not-allowed;\n}\n.radio-inline.disabled,\n.checkbox-inline.disabled,\nfieldset[disabled] .radio-inline,\nfieldset[disabled] .checkbox-inline {\n cursor: not-allowed;\n}\n.radio.disabled label,\n.checkbox.disabled label,\nfieldset[disabled] .radio label,\nfieldset[disabled] .checkbox label {\n cursor: not-allowed;\n}\n.form-control-static {\n padding-top: 7px;\n padding-bottom: 7px;\n margin-bottom: 0;\n min-height: 34px;\n}\n.form-control-static.input-lg,\n.form-control-static.input-sm {\n padding-left: 0;\n padding-right: 0;\n}\n.input-sm {\n height: 30px;\n padding: 5px 10px;\n font-size: 12px;\n line-height: 1.5;\n border-radius: 3px;\n}\nselect.input-sm {\n height: 30px;\n line-height: 30px;\n}\ntextarea.input-sm,\nselect[multiple].input-sm {\n height: auto;\n}\n.form-group-sm .form-control {\n height: 30px;\n padding: 5px 10px;\n font-size: 12px;\n line-height: 1.5;\n border-radius: 3px;\n}\n.form-group-sm select.form-control {\n height: 30px;\n line-height: 30px;\n}\n.form-group-sm textarea.form-control,\n.form-group-sm select[multiple].form-control {\n height: auto;\n}\n.form-group-sm .form-control-static {\n height: 30px;\n min-height: 32px;\n padding: 6px 10px;\n font-size: 12px;\n line-height: 1.5;\n}\n.input-lg {\n height: 46px;\n padding: 10px 16px;\n font-size: 18px;\n line-height: 1.3333333;\n border-radius: 6px;\n}\nselect.input-lg {\n height: 46px;\n line-height: 46px;\n}\ntextarea.input-lg,\nselect[multiple].input-lg {\n height: auto;\n}\n.form-group-lg .form-control {\n height: 46px;\n padding: 10px 16px;\n font-size: 18px;\n line-height: 1.3333333;\n border-radius: 6px;\n}\n.form-group-lg select.form-control {\n height: 46px;\n line-height: 46px;\n}\n.form-group-lg textarea.form-control,\n.form-group-lg select[multiple].form-control {\n height: auto;\n}\n.form-group-lg .form-control-static {\n height: 46px;\n min-height: 38px;\n padding: 11px 16px;\n font-size: 18px;\n line-height: 1.3333333;\n}\n.has-feedback {\n position: relative;\n}\n.has-feedback .form-control {\n padding-right: 42.5px;\n}\n.form-control-feedback {\n position: absolute;\n top: 0;\n right: 0;\n z-index: 2;\n display: block;\n width: 34px;\n height: 34px;\n line-height: 34px;\n text-align: center;\n pointer-events: none;\n}\n.input-lg + .form-control-feedback,\n.input-group-lg + .form-control-feedback,\n.form-group-lg .form-control + .form-control-feedback {\n width: 46px;\n height: 46px;\n line-height: 46px;\n}\n.input-sm + .form-control-feedback,\n.input-group-sm + .form-control-feedback,\n.form-group-sm .form-control + .form-control-feedback {\n width: 30px;\n height: 30px;\n line-height: 30px;\n}\n.has-success .help-block,\n.has-success .control-label,\n.has-success .radio,\n.has-success .checkbox,\n.has-success .radio-inline,\n.has-success .checkbox-inline,\n.has-success.radio label,\n.has-success.checkbox label,\n.has-success.radio-inline label,\n.has-success.checkbox-inline label {\n color: #3c763d;\n}\n.has-success .form-control {\n border-color: #3c763d;\n -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);\n box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);\n}\n.has-success .form-control:focus {\n border-color: #2b542c;\n -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #67b168;\n box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #67b168;\n}\n.has-success .input-group-addon {\n color: #3c763d;\n border-color: #3c763d;\n background-color: #dff0d8;\n}\n.has-success .form-control-feedback {\n color: #3c763d;\n}\n.has-warning .help-block,\n.has-warning .control-label,\n.has-warning .radio,\n.has-warning .checkbox,\n.has-warning .radio-inline,\n.has-warning .checkbox-inline,\n.has-warning.radio label,\n.has-warning.checkbox label,\n.has-warning.radio-inline label,\n.has-warning.checkbox-inline label {\n color: #8a6d3b;\n}\n.has-warning .form-control {\n border-color: #8a6d3b;\n -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);\n box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);\n}\n.has-warning .form-control:focus {\n border-color: #66512c;\n -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #c0a16b;\n box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #c0a16b;\n}\n.has-warning .input-group-addon {\n color: #8a6d3b;\n border-color: #8a6d3b;\n background-color: #fcf8e3;\n}\n.has-warning .form-control-feedback {\n color: #8a6d3b;\n}\n.has-error .help-block,\n.has-error .control-label,\n.has-error .radio,\n.has-error .checkbox,\n.has-error .radio-inline,\n.has-error .checkbox-inline,\n.has-error.radio label,\n.has-error.checkbox label,\n.has-error.radio-inline label,\n.has-error.checkbox-inline label {\n color: #a94442;\n}\n.has-error .form-control {\n border-color: #a94442;\n -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);\n box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);\n}\n.has-error .form-control:focus {\n border-color: #843534;\n -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #ce8483;\n box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #ce8483;\n}\n.has-error .input-group-addon {\n color: #a94442;\n border-color: #a94442;\n background-color: #f2dede;\n}\n.has-error .form-control-feedback {\n color: #a94442;\n}\n.has-feedback label ~ .form-control-feedback {\n top: 25px;\n}\n.has-feedback label.sr-only ~ .form-control-feedback {\n top: 0;\n}\n.help-block {\n display: block;\n margin-top: 5px;\n margin-bottom: 10px;\n color: #737373;\n}\n@media (min-width: 768px) {\n .form-inline .form-group {\n display: inline-block;\n margin-bottom: 0;\n vertical-align: middle;\n }\n .form-inline .form-control {\n display: inline-block;\n width: auto;\n vertical-align: middle;\n }\n .form-inline .form-control-static {\n display: inline-block;\n }\n .form-inline .input-group {\n display: inline-table;\n vertical-align: middle;\n }\n .form-inline .input-group .input-group-addon,\n .form-inline .input-group .input-group-btn,\n .form-inline .input-group .form-control {\n width: auto;\n }\n .form-inline .input-group > .form-control {\n width: 100%;\n }\n .form-inline .control-label {\n margin-bottom: 0;\n vertical-align: middle;\n }\n .form-inline .radio,\n .form-inline .checkbox {\n display: inline-block;\n margin-top: 0;\n margin-bottom: 0;\n vertical-align: middle;\n }\n .form-inline .radio label,\n .form-inline .checkbox label {\n padding-left: 0;\n }\n .form-inline .radio input[type=\"radio\"],\n .form-inline .checkbox input[type=\"checkbox\"] {\n position: relative;\n margin-left: 0;\n }\n .form-inline .has-feedback .form-control-feedback {\n top: 0;\n }\n}\n.form-horizontal .radio,\n.form-horizontal .checkbox,\n.form-horizontal .radio-inline,\n.form-horizontal .checkbox-inline {\n margin-top: 0;\n margin-bottom: 0;\n padding-top: 7px;\n}\n.form-horizontal .radio,\n.form-horizontal .checkbox {\n min-height: 27px;\n}\n.form-horizontal .form-group {\n margin-left: -15px;\n margin-right: -15px;\n}\n@media (min-width: 768px) {\n .form-horizontal .control-label {\n text-align: right;\n margin-bottom: 0;\n padding-top: 7px;\n }\n}\n.form-horizontal .has-feedback .form-control-feedback {\n right: 15px;\n}\n@media (min-width: 768px) {\n .form-horizontal .form-group-lg .control-label {\n padding-top: 11px;\n font-size: 18px;\n }\n}\n@media (min-width: 768px) {\n .form-horizontal .form-group-sm .control-label {\n padding-top: 6px;\n font-size: 12px;\n }\n}\n.btn {\n display: inline-block;\n margin-bottom: 0;\n font-weight: normal;\n text-align: center;\n vertical-align: middle;\n touch-action: manipulation;\n cursor: pointer;\n background-image: none;\n border: 1px solid transparent;\n white-space: nowrap;\n padding: 6px 12px;\n font-size: 14px;\n line-height: 1.42857143;\n border-radius: 4px;\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n}\n.btn:focus,\n.btn:active:focus,\n.btn.active:focus,\n.btn.focus,\n.btn:active.focus,\n.btn.active.focus {\n outline: 5px auto -webkit-focus-ring-color;\n outline-offset: -2px;\n}\n.btn:hover,\n.btn:focus,\n.btn.focus {\n color: #333;\n text-decoration: none;\n}\n.btn:active,\n.btn.active {\n outline: 0;\n background-image: none;\n -webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);\n box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);\n}\n.btn.disabled,\n.btn[disabled],\nfieldset[disabled] .btn {\n cursor: not-allowed;\n opacity: 0.65;\n filter: alpha(opacity=65);\n -webkit-box-shadow: none;\n box-shadow: none;\n}\na.btn.disabled,\nfieldset[disabled] a.btn {\n pointer-events: none;\n}\n.btn-default {\n color: #333;\n background-color: #fff;\n border-color: #ccc;\n}\n.btn-default:focus,\n.btn-default.focus {\n color: #333;\n background-color: #e6e6e6;\n border-color: #8c8c8c;\n}\n.btn-default:hover {\n color: #333;\n background-color: #e6e6e6;\n border-color: #adadad;\n}\n.btn-default:active,\n.btn-default.active,\n.open > .dropdown-toggle.btn-default {\n color: #333;\n background-color: #e6e6e6;\n border-color: #adadad;\n}\n.btn-default:active:hover,\n.btn-default.active:hover,\n.open > .dropdown-toggle.btn-default:hover,\n.btn-default:active:focus,\n.btn-default.active:focus,\n.open > .dropdown-toggle.btn-default:focus,\n.btn-default:active.focus,\n.btn-default.active.focus,\n.open > .dropdown-toggle.btn-default.focus {\n color: #333;\n background-color: #d4d4d4;\n border-color: #8c8c8c;\n}\n.btn-default:active,\n.btn-default.active,\n.open > .dropdown-toggle.btn-default {\n background-image: none;\n}\n.btn-default.disabled:hover,\n.btn-default[disabled]:hover,\nfieldset[disabled] .btn-default:hover,\n.btn-default.disabled:focus,\n.btn-default[disabled]:focus,\nfieldset[disabled] .btn-default:focus,\n.btn-default.disabled.focus,\n.btn-default[disabled].focus,\nfieldset[disabled] .btn-default.focus {\n background-color: #fff;\n border-color: #ccc;\n}\n.btn-default .badge {\n color: #fff;\n background-color: #333;\n}\n.btn-primary {\n color: #fff;\n background-color: #337ab7;\n border-color: #2e6da4;\n}\n.btn-primary:focus,\n.btn-primary.focus {\n color: #fff;\n background-color: #286090;\n border-color: #122b40;\n}\n.btn-primary:hover {\n color: #fff;\n background-color: #286090;\n border-color: #204d74;\n}\n.btn-primary:active,\n.btn-primary.active,\n.open > .dropdown-toggle.btn-primary {\n color: #fff;\n background-color: #286090;\n border-color: #204d74;\n}\n.btn-primary:active:hover,\n.btn-primary.active:hover,\n.open > .dropdown-toggle.btn-primary:hover,\n.btn-primary:active:focus,\n.btn-primary.active:focus,\n.open > .dropdown-toggle.btn-primary:focus,\n.btn-primary:active.focus,\n.btn-primary.active.focus,\n.open > .dropdown-toggle.btn-primary.focus {\n color: #fff;\n background-color: #204d74;\n border-color: #122b40;\n}\n.btn-primary:active,\n.btn-primary.active,\n.open > .dropdown-toggle.btn-primary {\n background-image: none;\n}\n.btn-primary.disabled:hover,\n.btn-primary[disabled]:hover,\nfieldset[disabled] .btn-primary:hover,\n.btn-primary.disabled:focus,\n.btn-primary[disabled]:focus,\nfieldset[disabled] .btn-primary:focus,\n.btn-primary.disabled.focus,\n.btn-primary[disabled].focus,\nfieldset[disabled] .btn-primary.focus {\n background-color: #337ab7;\n border-color: #2e6da4;\n}\n.btn-primary .badge {\n color: #337ab7;\n background-color: #fff;\n}\n.btn-success {\n color: #fff;\n background-color: #5cb85c;\n border-color: #4cae4c;\n}\n.btn-success:focus,\n.btn-success.focus {\n color: #fff;\n background-color: #449d44;\n border-color: #255625;\n}\n.btn-success:hover {\n color: #fff;\n background-color: #449d44;\n border-color: #398439;\n}\n.btn-success:active,\n.btn-success.active,\n.open > .dropdown-toggle.btn-success {\n color: #fff;\n background-color: #449d44;\n border-color: #398439;\n}\n.btn-success:active:hover,\n.btn-success.active:hover,\n.open > .dropdown-toggle.btn-success:hover,\n.btn-success:active:focus,\n.btn-success.active:focus,\n.open > .dropdown-toggle.btn-success:focus,\n.btn-success:active.focus,\n.btn-success.active.focus,\n.open > .dropdown-toggle.btn-success.focus {\n color: #fff;\n background-color: #398439;\n border-color: #255625;\n}\n.btn-success:active,\n.btn-success.active,\n.open > .dropdown-toggle.btn-success {\n background-image: none;\n}\n.btn-success.disabled:hover,\n.btn-success[disabled]:hover,\nfieldset[disabled] .btn-success:hover,\n.btn-success.disabled:focus,\n.btn-success[disabled]:focus,\nfieldset[disabled] .btn-success:focus,\n.btn-success.disabled.focus,\n.btn-success[disabled].focus,\nfieldset[disabled] .btn-success.focus {\n background-color: #5cb85c;\n border-color: #4cae4c;\n}\n.btn-success .badge {\n color: #5cb85c;\n background-color: #fff;\n}\n.btn-info {\n color: #fff;\n background-color: #5bc0de;\n border-color: #46b8da;\n}\n.btn-info:focus,\n.btn-info.focus {\n color: #fff;\n background-color: #31b0d5;\n border-color: #1b6d85;\n}\n.btn-info:hover {\n color: #fff;\n background-color: #31b0d5;\n border-color: #269abc;\n}\n.btn-info:active,\n.btn-info.active,\n.open > .dropdown-toggle.btn-info {\n color: #fff;\n background-color: #31b0d5;\n border-color: #269abc;\n}\n.btn-info:active:hover,\n.btn-info.active:hover,\n.open > .dropdown-toggle.btn-info:hover,\n.btn-info:active:focus,\n.btn-info.active:focus,\n.open > .dropdown-toggle.btn-info:focus,\n.btn-info:active.focus,\n.btn-info.active.focus,\n.open > .dropdown-toggle.btn-info.focus {\n color: #fff;\n background-color: #269abc;\n border-color: #1b6d85;\n}\n.btn-info:active,\n.btn-info.active,\n.open > .dropdown-toggle.btn-info {\n background-image: none;\n}\n.btn-info.disabled:hover,\n.btn-info[disabled]:hover,\nfieldset[disabled] .btn-info:hover,\n.btn-info.disabled:focus,\n.btn-info[disabled]:focus,\nfieldset[disabled] .btn-info:focus,\n.btn-info.disabled.focus,\n.btn-info[disabled].focus,\nfieldset[disabled] .btn-info.focus {\n background-color: #5bc0de;\n border-color: #46b8da;\n}\n.btn-info .badge {\n color: #5bc0de;\n background-color: #fff;\n}\n.btn-warning {\n color: #fff;\n background-color: #f0ad4e;\n border-color: #eea236;\n}\n.btn-warning:focus,\n.btn-warning.focus {\n color: #fff;\n background-color: #ec971f;\n border-color: #985f0d;\n}\n.btn-warning:hover {\n color: #fff;\n background-color: #ec971f;\n border-color: #d58512;\n}\n.btn-warning:active,\n.btn-warning.active,\n.open > .dropdown-toggle.btn-warning {\n color: #fff;\n background-color: #ec971f;\n border-color: #d58512;\n}\n.btn-warning:active:hover,\n.btn-warning.active:hover,\n.open > .dropdown-toggle.btn-warning:hover,\n.btn-warning:active:focus,\n.btn-warning.active:focus,\n.open > .dropdown-toggle.btn-warning:focus,\n.btn-warning:active.focus,\n.btn-warning.active.focus,\n.open > .dropdown-toggle.btn-warning.focus {\n color: #fff;\n background-color: #d58512;\n border-color: #985f0d;\n}\n.btn-warning:active,\n.btn-warning.active,\n.open > .dropdown-toggle.btn-warning {\n background-image: none;\n}\n.btn-warning.disabled:hover,\n.btn-warning[disabled]:hover,\nfieldset[disabled] .btn-warning:hover,\n.btn-warning.disabled:focus,\n.btn-warning[disabled]:focus,\nfieldset[disabled] .btn-warning:focus,\n.btn-warning.disabled.focus,\n.btn-warning[disabled].focus,\nfieldset[disabled] .btn-warning.focus {\n background-color: #f0ad4e;\n border-color: #eea236;\n}\n.btn-warning .badge {\n color: #f0ad4e;\n background-color: #fff;\n}\n.btn-danger {\n color: #fff;\n background-color: #d9534f;\n border-color: #d43f3a;\n}\n.btn-danger:focus,\n.btn-danger.focus {\n color: #fff;\n background-color: #c9302c;\n border-color: #761c19;\n}\n.btn-danger:hover {\n color: #fff;\n background-color: #c9302c;\n border-color: #ac2925;\n}\n.btn-danger:active,\n.btn-danger.active,\n.open > .dropdown-toggle.btn-danger {\n color: #fff;\n background-color: #c9302c;\n border-color: #ac2925;\n}\n.btn-danger:active:hover,\n.btn-danger.active:hover,\n.open > .dropdown-toggle.btn-danger:hover,\n.btn-danger:active:focus,\n.btn-danger.active:focus,\n.open > .dropdown-toggle.btn-danger:focus,\n.btn-danger:active.focus,\n.btn-danger.active.focus,\n.open > .dropdown-toggle.btn-danger.focus {\n color: #fff;\n background-color: #ac2925;\n border-color: #761c19;\n}\n.btn-danger:active,\n.btn-danger.active,\n.open > .dropdown-toggle.btn-danger {\n background-image: none;\n}\n.btn-danger.disabled:hover,\n.btn-danger[disabled]:hover,\nfieldset[disabled] .btn-danger:hover,\n.btn-danger.disabled:focus,\n.btn-danger[disabled]:focus,\nfieldset[disabled] .btn-danger:focus,\n.btn-danger.disabled.focus,\n.btn-danger[disabled].focus,\nfieldset[disabled] .btn-danger.focus {\n background-color: #d9534f;\n border-color: #d43f3a;\n}\n.btn-danger .badge {\n color: #d9534f;\n background-color: #fff;\n}\n.btn-link {\n color: #337ab7;\n font-weight: normal;\n border-radius: 0;\n}\n.btn-link,\n.btn-link:active,\n.btn-link.active,\n.btn-link[disabled],\nfieldset[disabled] .btn-link {\n background-color: transparent;\n -webkit-box-shadow: none;\n box-shadow: none;\n}\n.btn-link,\n.btn-link:hover,\n.btn-link:focus,\n.btn-link:active {\n border-color: transparent;\n}\n.btn-link:hover,\n.btn-link:focus {\n color: #23527c;\n text-decoration: underline;\n background-color: transparent;\n}\n.btn-link[disabled]:hover,\nfieldset[disabled] .btn-link:hover,\n.btn-link[disabled]:focus,\nfieldset[disabled] .btn-link:focus {\n color: #777777;\n text-decoration: none;\n}\n.btn-lg,\n.btn-group-lg > .btn {\n padding: 10px 16px;\n font-size: 18px;\n line-height: 1.3333333;\n border-radius: 6px;\n}\n.btn-sm,\n.btn-group-sm > .btn {\n padding: 5px 10px;\n font-size: 12px;\n line-height: 1.5;\n border-radius: 3px;\n}\n.btn-xs,\n.btn-group-xs > .btn {\n padding: 1px 5px;\n font-size: 12px;\n line-height: 1.5;\n border-radius: 3px;\n}\n.btn-block {\n display: block;\n width: 100%;\n}\n.btn-block + .btn-block {\n margin-top: 5px;\n}\ninput[type=\"submit\"].btn-block,\ninput[type=\"reset\"].btn-block,\ninput[type=\"button\"].btn-block {\n width: 100%;\n}\n.fade {\n opacity: 0;\n -webkit-transition: opacity 0.15s linear;\n -o-transition: opacity 0.15s linear;\n transition: opacity 0.15s linear;\n}\n.fade.in {\n opacity: 1;\n}\n.collapse {\n display: none;\n}\n.collapse.in {\n display: block;\n}\ntr.collapse.in {\n display: table-row;\n}\ntbody.collapse.in {\n display: table-row-group;\n}\n.collapsing {\n position: relative;\n height: 0;\n overflow: hidden;\n -webkit-transition-property: height, visibility;\n transition-property: height, visibility;\n -webkit-transition-duration: 0.35s;\n transition-duration: 0.35s;\n -webkit-transition-timing-function: ease;\n transition-timing-function: ease;\n}\n.caret {\n display: inline-block;\n width: 0;\n height: 0;\n margin-left: 2px;\n vertical-align: middle;\n border-top: 4px dashed;\n border-top: 4px solid \\9;\n border-right: 4px solid transparent;\n border-left: 4px solid transparent;\n}\n.dropup,\n.dropdown {\n position: relative;\n}\n.dropdown-toggle:focus {\n outline: 0;\n}\n.dropdown-menu {\n position: absolute;\n top: 100%;\n left: 0;\n z-index: 1000;\n display: none;\n float: left;\n min-width: 160px;\n padding: 5px 0;\n margin: 2px 0 0;\n list-style: none;\n font-size: 14px;\n text-align: left;\n background-color: #fff;\n border: 1px solid #ccc;\n border: 1px solid rgba(0, 0, 0, 0.15);\n border-radius: 4px;\n -webkit-box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175);\n box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175);\n background-clip: padding-box;\n}\n.dropdown-menu.pull-right {\n right: 0;\n left: auto;\n}\n.dropdown-menu .divider {\n height: 1px;\n margin: 9px 0;\n overflow: hidden;\n background-color: #e5e5e5;\n}\n.dropdown-menu > li > a {\n display: block;\n padding: 3px 20px;\n clear: both;\n font-weight: normal;\n line-height: 1.42857143;\n color: #333333;\n white-space: nowrap;\n}\n.dropdown-menu > li > a:hover,\n.dropdown-menu > li > a:focus {\n text-decoration: none;\n color: #262626;\n background-color: #f5f5f5;\n}\n.dropdown-menu > .active > a,\n.dropdown-menu > .active > a:hover,\n.dropdown-menu > .active > a:focus {\n color: #fff;\n text-decoration: none;\n outline: 0;\n background-color: #337ab7;\n}\n.dropdown-menu > .disabled > a,\n.dropdown-menu > .disabled > a:hover,\n.dropdown-menu > .disabled > a:focus {\n color: #777777;\n}\n.dropdown-menu > .disabled > a:hover,\n.dropdown-menu > .disabled > a:focus {\n text-decoration: none;\n background-color: transparent;\n background-image: none;\n filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);\n cursor: not-allowed;\n}\n.open > .dropdown-menu {\n display: block;\n}\n.open > a {\n outline: 0;\n}\n.dropdown-menu-right {\n left: auto;\n right: 0;\n}\n.dropdown-menu-left {\n left: 0;\n right: auto;\n}\n.dropdown-header {\n display: block;\n padding: 3px 20px;\n font-size: 12px;\n line-height: 1.42857143;\n color: #777777;\n white-space: nowrap;\n}\n.dropdown-backdrop {\n position: fixed;\n left: 0;\n right: 0;\n bottom: 0;\n top: 0;\n z-index: 990;\n}\n.pull-right > .dropdown-menu {\n right: 0;\n left: auto;\n}\n.dropup .caret,\n.navbar-fixed-bottom .dropdown .caret {\n border-top: 0;\n border-bottom: 4px dashed;\n border-bottom: 4px solid \\9;\n content: \"\";\n}\n.dropup .dropdown-menu,\n.navbar-fixed-bottom .dropdown .dropdown-menu {\n top: auto;\n bottom: 100%;\n margin-bottom: 2px;\n}\n@media (min-width: 768px) {\n .navbar-right .dropdown-menu {\n left: auto;\n right: 0;\n }\n .navbar-right .dropdown-menu-left {\n left: 0;\n right: auto;\n }\n}\n.btn-group,\n.btn-group-vertical {\n position: relative;\n display: inline-block;\n vertical-align: middle;\n}\n.btn-group > .btn,\n.btn-group-vertical > .btn {\n position: relative;\n float: left;\n}\n.btn-group > .btn:hover,\n.btn-group-vertical > .btn:hover,\n.btn-group > .btn:focus,\n.btn-group-vertical > .btn:focus,\n.btn-group > .btn:active,\n.btn-group-vertical > .btn:active,\n.btn-group > .btn.active,\n.btn-group-vertical > .btn.active {\n z-index: 2;\n}\n.btn-group .btn + .btn,\n.btn-group .btn + .btn-group,\n.btn-group .btn-group + .btn,\n.btn-group .btn-group + .btn-group {\n margin-left: -1px;\n}\n.btn-toolbar {\n margin-left: -5px;\n}\n.btn-toolbar .btn,\n.btn-toolbar .btn-group,\n.btn-toolbar .input-group {\n float: left;\n}\n.btn-toolbar > .btn,\n.btn-toolbar > .btn-group,\n.btn-toolbar > .input-group {\n margin-left: 5px;\n}\n.btn-group > .btn:not(:first-child):not(:last-child):not(.dropdown-toggle) {\n border-radius: 0;\n}\n.btn-group > .btn:first-child {\n margin-left: 0;\n}\n.btn-group > .btn:first-child:not(:last-child):not(.dropdown-toggle) {\n border-bottom-right-radius: 0;\n border-top-right-radius: 0;\n}\n.btn-group > .btn:last-child:not(:first-child),\n.btn-group > .dropdown-toggle:not(:first-child) {\n border-bottom-left-radius: 0;\n border-top-left-radius: 0;\n}\n.btn-group > .btn-group {\n float: left;\n}\n.btn-group > .btn-group:not(:first-child):not(:last-child) > .btn {\n border-radius: 0;\n}\n.btn-group > .btn-group:first-child:not(:last-child) > .btn:last-child,\n.btn-group > .btn-group:first-child:not(:last-child) > .dropdown-toggle {\n border-bottom-right-radius: 0;\n border-top-right-radius: 0;\n}\n.btn-group > .btn-group:last-child:not(:first-child) > .btn:first-child {\n border-bottom-left-radius: 0;\n border-top-left-radius: 0;\n}\n.btn-group .dropdown-toggle:active,\n.btn-group.open .dropdown-toggle {\n outline: 0;\n}\n.btn-group > .btn + .dropdown-toggle {\n padding-left: 8px;\n padding-right: 8px;\n}\n.btn-group > .btn-lg + .dropdown-toggle {\n padding-left: 12px;\n padding-right: 12px;\n}\n.btn-group.open .dropdown-toggle {\n -webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);\n box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);\n}\n.btn-group.open .dropdown-toggle.btn-link {\n -webkit-box-shadow: none;\n box-shadow: none;\n}\n.btn .caret {\n margin-left: 0;\n}\n.btn-lg .caret {\n border-width: 5px 5px 0;\n border-bottom-width: 0;\n}\n.dropup .btn-lg .caret {\n border-width: 0 5px 5px;\n}\n.btn-group-vertical > .btn,\n.btn-group-vertical > .btn-group,\n.btn-group-vertical > .btn-group > .btn {\n display: block;\n float: none;\n width: 100%;\n max-width: 100%;\n}\n.btn-group-vertical > .btn-group > .btn {\n float: none;\n}\n.btn-group-vertical > .btn + .btn,\n.btn-group-vertical > .btn + .btn-group,\n.btn-group-vertical > .btn-group + .btn,\n.btn-group-vertical > .btn-group + .btn-group {\n margin-top: -1px;\n margin-left: 0;\n}\n.btn-group-vertical > .btn:not(:first-child):not(:last-child) {\n border-radius: 0;\n}\n.btn-group-vertical > .btn:first-child:not(:last-child) {\n border-top-right-radius: 4px;\n border-top-left-radius: 4px;\n border-bottom-right-radius: 0;\n border-bottom-left-radius: 0;\n}\n.btn-group-vertical > .btn:last-child:not(:first-child) {\n border-top-right-radius: 0;\n border-top-left-radius: 0;\n border-bottom-right-radius: 4px;\n border-bottom-left-radius: 4px;\n}\n.btn-group-vertical > .btn-group:not(:first-child):not(:last-child) > .btn {\n border-radius: 0;\n}\n.btn-group-vertical > .btn-group:first-child:not(:last-child) > .btn:last-child,\n.btn-group-vertical > .btn-group:first-child:not(:last-child) > .dropdown-toggle {\n border-bottom-right-radius: 0;\n border-bottom-left-radius: 0;\n}\n.btn-group-vertical > .btn-group:last-child:not(:first-child) > .btn:first-child {\n border-top-right-radius: 0;\n border-top-left-radius: 0;\n}\n.btn-group-justified {\n display: table;\n width: 100%;\n table-layout: fixed;\n border-collapse: separate;\n}\n.btn-group-justified > .btn,\n.btn-group-justified > .btn-group {\n float: none;\n display: table-cell;\n width: 1%;\n}\n.btn-group-justified > .btn-group .btn {\n width: 100%;\n}\n.btn-group-justified > .btn-group .dropdown-menu {\n left: auto;\n}\n[data-toggle=\"buttons\"] > .btn input[type=\"radio\"],\n[data-toggle=\"buttons\"] > .btn-group > .btn input[type=\"radio\"],\n[data-toggle=\"buttons\"] > .btn input[type=\"checkbox\"],\n[data-toggle=\"buttons\"] > .btn-group > .btn input[type=\"checkbox\"] {\n position: absolute;\n clip: rect(0, 0, 0, 0);\n pointer-events: none;\n}\n.input-group {\n position: relative;\n display: table;\n border-collapse: separate;\n}\n.input-group[class*=\"col-\"] {\n float: none;\n padding-left: 0;\n padding-right: 0;\n}\n.input-group .form-control {\n position: relative;\n z-index: 2;\n float: left;\n width: 100%;\n margin-bottom: 0;\n}\n.input-group .form-control:focus {\n z-index: 3;\n}\n.input-group-lg > .form-control,\n.input-group-lg > .input-group-addon,\n.input-group-lg > .input-group-btn > .btn {\n height: 46px;\n padding: 10px 16px;\n font-size: 18px;\n line-height: 1.3333333;\n border-radius: 6px;\n}\nselect.input-group-lg > .form-control,\nselect.input-group-lg > .input-group-addon,\nselect.input-group-lg > .input-group-btn > .btn {\n height: 46px;\n line-height: 46px;\n}\ntextarea.input-group-lg > .form-control,\ntextarea.input-group-lg > .input-group-addon,\ntextarea.input-group-lg > .input-group-btn > .btn,\nselect[multiple].input-group-lg > .form-control,\nselect[multiple].input-group-lg > .input-group-addon,\nselect[multiple].input-group-lg > .input-group-btn > .btn {\n height: auto;\n}\n.input-group-sm > .form-control,\n.input-group-sm > .input-group-addon,\n.input-group-sm > .input-group-btn > .btn {\n height: 30px;\n padding: 5px 10px;\n font-size: 12px;\n line-height: 1.5;\n border-radius: 3px;\n}\nselect.input-group-sm > .form-control,\nselect.input-group-sm > .input-group-addon,\nselect.input-group-sm > .input-group-btn > .btn {\n height: 30px;\n line-height: 30px;\n}\ntextarea.input-group-sm > .form-control,\ntextarea.input-group-sm > .input-group-addon,\ntextarea.input-group-sm > .input-group-btn > .btn,\nselect[multiple].input-group-sm > .form-control,\nselect[multiple].input-group-sm > .input-group-addon,\nselect[multiple].input-group-sm > .input-group-btn > .btn {\n height: auto;\n}\n.input-group-addon,\n.input-group-btn,\n.input-group .form-control {\n display: table-cell;\n}\n.input-group-addon:not(:first-child):not(:last-child),\n.input-group-btn:not(:first-child):not(:last-child),\n.input-group .form-control:not(:first-child):not(:last-child) {\n border-radius: 0;\n}\n.input-group-addon,\n.input-group-btn {\n width: 1%;\n white-space: nowrap;\n vertical-align: middle;\n}\n.input-group-addon {\n padding: 6px 12px;\n font-size: 14px;\n font-weight: normal;\n line-height: 1;\n color: #555555;\n text-align: center;\n background-color: #eeeeee;\n border: 1px solid #ccc;\n border-radius: 4px;\n}\n.input-group-addon.input-sm {\n padding: 5px 10px;\n font-size: 12px;\n border-radius: 3px;\n}\n.input-group-addon.input-lg {\n padding: 10px 16px;\n font-size: 18px;\n border-radius: 6px;\n}\n.input-group-addon input[type=\"radio\"],\n.input-group-addon input[type=\"checkbox\"] {\n margin-top: 0;\n}\n.input-group .form-control:first-child,\n.input-group-addon:first-child,\n.input-group-btn:first-child > .btn,\n.input-group-btn:first-child > .btn-group > .btn,\n.input-group-btn:first-child > .dropdown-toggle,\n.input-group-btn:last-child > .btn:not(:last-child):not(.dropdown-toggle),\n.input-group-btn:last-child > .btn-group:not(:last-child) > .btn {\n border-bottom-right-radius: 0;\n border-top-right-radius: 0;\n}\n.input-group-addon:first-child {\n border-right: 0;\n}\n.input-group .form-control:last-child,\n.input-group-addon:last-child,\n.input-group-btn:last-child > .btn,\n.input-group-btn:last-child > .btn-group > .btn,\n.input-group-btn:last-child > .dropdown-toggle,\n.input-group-btn:first-child > .btn:not(:first-child),\n.input-group-btn:first-child > .btn-group:not(:first-child) > .btn {\n border-bottom-left-radius: 0;\n border-top-left-radius: 0;\n}\n.input-group-addon:last-child {\n border-left: 0;\n}\n.input-group-btn {\n position: relative;\n font-size: 0;\n white-space: nowrap;\n}\n.input-group-btn > .btn {\n position: relative;\n}\n.input-group-btn > .btn + .btn {\n margin-left: -1px;\n}\n.input-group-btn > .btn:hover,\n.input-group-btn > .btn:focus,\n.input-group-btn > .btn:active {\n z-index: 2;\n}\n.input-group-btn:first-child > .btn,\n.input-group-btn:first-child > .btn-group {\n margin-right: -1px;\n}\n.input-group-btn:last-child > .btn,\n.input-group-btn:last-child > .btn-group {\n z-index: 2;\n margin-left: -1px;\n}\n.nav {\n margin-bottom: 0;\n padding-left: 0;\n list-style: none;\n}\n.nav > li {\n position: relative;\n display: block;\n}\n.nav > li > a {\n position: relative;\n display: block;\n padding: 10px 15px;\n}\n.nav > li > a:hover,\n.nav > li > a:focus {\n text-decoration: none;\n background-color: #eeeeee;\n}\n.nav > li.disabled > a {\n color: #777777;\n}\n.nav > li.disabled > a:hover,\n.nav > li.disabled > a:focus {\n color: #777777;\n text-decoration: none;\n background-color: transparent;\n cursor: not-allowed;\n}\n.nav .open > a,\n.nav .open > a:hover,\n.nav .open > a:focus {\n background-color: #eeeeee;\n border-color: #337ab7;\n}\n.nav .nav-divider {\n height: 1px;\n margin: 9px 0;\n overflow: hidden;\n background-color: #e5e5e5;\n}\n.nav > li > a > img {\n max-width: none;\n}\n.nav-tabs {\n border-bottom: 1px solid #ddd;\n}\n.nav-tabs > li {\n float: left;\n margin-bottom: -1px;\n}\n.nav-tabs > li > a {\n margin-right: 2px;\n line-height: 1.42857143;\n border: 1px solid transparent;\n border-radius: 4px 4px 0 0;\n}\n.nav-tabs > li > a:hover {\n border-color: #eeeeee #eeeeee #ddd;\n}\n.nav-tabs > li.active > a,\n.nav-tabs > li.active > a:hover,\n.nav-tabs > li.active > a:focus {\n color: #555555;\n background-color: #fff;\n border: 1px solid #ddd;\n border-bottom-color: transparent;\n cursor: default;\n}\n.nav-tabs.nav-justified {\n width: 100%;\n border-bottom: 0;\n}\n.nav-tabs.nav-justified > li {\n float: none;\n}\n.nav-tabs.nav-justified > li > a {\n text-align: center;\n margin-bottom: 5px;\n}\n.nav-tabs.nav-justified > .dropdown .dropdown-menu {\n top: auto;\n left: auto;\n}\n@media (min-width: 768px) {\n .nav-tabs.nav-justified > li {\n display: table-cell;\n width: 1%;\n }\n .nav-tabs.nav-justified > li > a {\n margin-bottom: 0;\n }\n}\n.nav-tabs.nav-justified > li > a {\n margin-right: 0;\n border-radius: 4px;\n}\n.nav-tabs.nav-justified > .active > a,\n.nav-tabs.nav-justified > .active > a:hover,\n.nav-tabs.nav-justified > .active > a:focus {\n border: 1px solid #ddd;\n}\n@media (min-width: 768px) {\n .nav-tabs.nav-justified > li > a {\n border-bottom: 1px solid #ddd;\n border-radius: 4px 4px 0 0;\n }\n .nav-tabs.nav-justified > .active > a,\n .nav-tabs.nav-justified > .active > a:hover,\n .nav-tabs.nav-justified > .active > a:focus {\n border-bottom-color: #fff;\n }\n}\n.nav-pills > li {\n float: left;\n}\n.nav-pills > li > a {\n border-radius: 4px;\n}\n.nav-pills > li + li {\n margin-left: 2px;\n}\n.nav-pills > li.active > a,\n.nav-pills > li.active > a:hover,\n.nav-pills > li.active > a:focus {\n color: #fff;\n background-color: #337ab7;\n}\n.nav-stacked > li {\n float: none;\n}\n.nav-stacked > li + li {\n margin-top: 2px;\n margin-left: 0;\n}\n.nav-justified {\n width: 100%;\n}\n.nav-justified > li {\n float: none;\n}\n.nav-justified > li > a {\n text-align: center;\n margin-bottom: 5px;\n}\n.nav-justified > .dropdown .dropdown-menu {\n top: auto;\n left: auto;\n}\n@media (min-width: 768px) {\n .nav-justified > li {\n display: table-cell;\n width: 1%;\n }\n .nav-justified > li > a {\n margin-bottom: 0;\n }\n}\n.nav-tabs-justified {\n border-bottom: 0;\n}\n.nav-tabs-justified > li > a {\n margin-right: 0;\n border-radius: 4px;\n}\n.nav-tabs-justified > .active > a,\n.nav-tabs-justified > .active > a:hover,\n.nav-tabs-justified > .active > a:focus {\n border: 1px solid #ddd;\n}\n@media (min-width: 768px) {\n .nav-tabs-justified > li > a {\n border-bottom: 1px solid #ddd;\n border-radius: 4px 4px 0 0;\n }\n .nav-tabs-justified > .active > a,\n .nav-tabs-justified > .active > a:hover,\n .nav-tabs-justified > .active > a:focus {\n border-bottom-color: #fff;\n }\n}\n.tab-content > .tab-pane {\n display: none;\n}\n.tab-content > .active {\n display: block;\n}\n.nav-tabs .dropdown-menu {\n margin-top: -1px;\n border-top-right-radius: 0;\n border-top-left-radius: 0;\n}\n.navbar {\n position: relative;\n min-height: 50px;\n margin-bottom: 20px;\n border: 1px solid transparent;\n}\n@media (min-width: 768px) {\n .navbar {\n border-radius: 4px;\n }\n}\n@media (min-width: 768px) {\n .navbar-header {\n float: left;\n }\n}\n.navbar-collapse {\n overflow-x: visible;\n padding-right: 15px;\n padding-left: 15px;\n border-top: 1px solid transparent;\n box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1);\n -webkit-overflow-scrolling: touch;\n}\n.navbar-collapse.in {\n overflow-y: auto;\n}\n@media (min-width: 768px) {\n .navbar-collapse {\n width: auto;\n border-top: 0;\n box-shadow: none;\n }\n .navbar-collapse.collapse {\n display: block !important;\n height: auto !important;\n padding-bottom: 0;\n overflow: visible !important;\n }\n .navbar-collapse.in {\n overflow-y: visible;\n }\n .navbar-fixed-top .navbar-collapse,\n .navbar-static-top .navbar-collapse,\n .navbar-fixed-bottom .navbar-collapse {\n padding-left: 0;\n padding-right: 0;\n }\n}\n.navbar-fixed-top .navbar-collapse,\n.navbar-fixed-bottom .navbar-collapse {\n max-height: 340px;\n}\n@media (max-device-width: 480px) and (orientation: landscape) {\n .navbar-fixed-top .navbar-collapse,\n .navbar-fixed-bottom .navbar-collapse {\n max-height: 200px;\n }\n}\n.container > .navbar-header,\n.container-fluid > .navbar-header,\n.container > .navbar-collapse,\n.container-fluid > .navbar-collapse {\n margin-right: -15px;\n margin-left: -15px;\n}\n@media (min-width: 768px) {\n .container > .navbar-header,\n .container-fluid > .navbar-header,\n .container > .navbar-collapse,\n .container-fluid > .navbar-collapse {\n margin-right: 0;\n margin-left: 0;\n }\n}\n.navbar-static-top {\n z-index: 1000;\n border-width: 0 0 1px;\n}\n@media (min-width: 768px) {\n .navbar-static-top {\n border-radius: 0;\n }\n}\n.navbar-fixed-top,\n.navbar-fixed-bottom {\n position: fixed;\n right: 0;\n left: 0;\n z-index: 1030;\n}\n@media (min-width: 768px) {\n .navbar-fixed-top,\n .navbar-fixed-bottom {\n border-radius: 0;\n }\n}\n.navbar-fixed-top {\n top: 0;\n border-width: 0 0 1px;\n}\n.navbar-fixed-bottom {\n bottom: 0;\n margin-bottom: 0;\n border-width: 1px 0 0;\n}\n.navbar-brand {\n float: left;\n padding: 15px 15px;\n font-size: 18px;\n line-height: 20px;\n height: 50px;\n}\n.navbar-brand:hover,\n.navbar-brand:focus {\n text-decoration: none;\n}\n.navbar-brand > img {\n display: block;\n}\n@media (min-width: 768px) {\n .navbar > .container .navbar-brand,\n .navbar > .container-fluid .navbar-brand {\n margin-left: -15px;\n }\n}\n.navbar-toggle {\n position: relative;\n float: right;\n margin-right: 15px;\n padding: 9px 10px;\n margin-top: 8px;\n margin-bottom: 8px;\n background-color: transparent;\n background-image: none;\n border: 1px solid transparent;\n border-radius: 4px;\n}\n.navbar-toggle:focus {\n outline: 0;\n}\n.navbar-toggle .icon-bar {\n display: block;\n width: 22px;\n height: 2px;\n border-radius: 1px;\n}\n.navbar-toggle .icon-bar + .icon-bar {\n margin-top: 4px;\n}\n@media (min-width: 768px) {\n .navbar-toggle {\n display: none;\n }\n}\n.navbar-nav {\n margin: 7.5px -15px;\n}\n.navbar-nav > li > a {\n padding-top: 10px;\n padding-bottom: 10px;\n line-height: 20px;\n}\n@media (max-width: 767px) {\n .navbar-nav .open .dropdown-menu {\n position: static;\n float: none;\n width: auto;\n margin-top: 0;\n background-color: transparent;\n border: 0;\n box-shadow: none;\n }\n .navbar-nav .open .dropdown-menu > li > a,\n .navbar-nav .open .dropdown-menu .dropdown-header {\n padding: 5px 15px 5px 25px;\n }\n .navbar-nav .open .dropdown-menu > li > a {\n line-height: 20px;\n }\n .navbar-nav .open .dropdown-menu > li > a:hover,\n .navbar-nav .open .dropdown-menu > li > a:focus {\n background-image: none;\n }\n}\n@media (min-width: 768px) {\n .navbar-nav {\n float: left;\n margin: 0;\n }\n .navbar-nav > li {\n float: left;\n }\n .navbar-nav > li > a {\n padding-top: 15px;\n padding-bottom: 15px;\n }\n}\n.navbar-form {\n margin-left: -15px;\n margin-right: -15px;\n padding: 10px 15px;\n border-top: 1px solid transparent;\n border-bottom: 1px solid transparent;\n -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.1);\n box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.1);\n margin-top: 8px;\n margin-bottom: 8px;\n}\n@media (min-width: 768px) {\n .navbar-form .form-group {\n display: inline-block;\n margin-bottom: 0;\n vertical-align: middle;\n }\n .navbar-form .form-control {\n display: inline-block;\n width: auto;\n vertical-align: middle;\n }\n .navbar-form .form-control-static {\n display: inline-block;\n }\n .navbar-form .input-group {\n display: inline-table;\n vertical-align: middle;\n }\n .navbar-form .input-group .input-group-addon,\n .navbar-form .input-group .input-group-btn,\n .navbar-form .input-group .form-control {\n width: auto;\n }\n .navbar-form .input-group > .form-control {\n width: 100%;\n }\n .navbar-form .control-label {\n margin-bottom: 0;\n vertical-align: middle;\n }\n .navbar-form .radio,\n .navbar-form .checkbox {\n display: inline-block;\n margin-top: 0;\n margin-bottom: 0;\n vertical-align: middle;\n }\n .navbar-form .radio label,\n .navbar-form .checkbox label {\n padding-left: 0;\n }\n .navbar-form .radio input[type=\"radio\"],\n .navbar-form .checkbox input[type=\"checkbox\"] {\n position: relative;\n margin-left: 0;\n }\n .navbar-form .has-feedback .form-control-feedback {\n top: 0;\n }\n}\n@media (max-width: 767px) {\n .navbar-form .form-group {\n margin-bottom: 5px;\n }\n .navbar-form .form-group:last-child {\n margin-bottom: 0;\n }\n}\n@media (min-width: 768px) {\n .navbar-form {\n width: auto;\n border: 0;\n margin-left: 0;\n margin-right: 0;\n padding-top: 0;\n padding-bottom: 0;\n -webkit-box-shadow: none;\n box-shadow: none;\n }\n}\n.navbar-nav > li > .dropdown-menu {\n margin-top: 0;\n border-top-right-radius: 0;\n border-top-left-radius: 0;\n}\n.navbar-fixed-bottom .navbar-nav > li > .dropdown-menu {\n margin-bottom: 0;\n border-top-right-radius: 4px;\n border-top-left-radius: 4px;\n border-bottom-right-radius: 0;\n border-bottom-left-radius: 0;\n}\n.navbar-btn {\n margin-top: 8px;\n margin-bottom: 8px;\n}\n.navbar-btn.btn-sm {\n margin-top: 10px;\n margin-bottom: 10px;\n}\n.navbar-btn.btn-xs {\n margin-top: 14px;\n margin-bottom: 14px;\n}\n.navbar-text {\n margin-top: 15px;\n margin-bottom: 15px;\n}\n@media (min-width: 768px) {\n .navbar-text {\n float: left;\n margin-left: 15px;\n margin-right: 15px;\n }\n}\n@media (min-width: 768px) {\n .navbar-left {\n float: left !important;\n }\n .navbar-right {\n float: right !important;\n margin-right: -15px;\n }\n .navbar-right ~ .navbar-right {\n margin-right: 0;\n }\n}\n.navbar-default {\n background-color: #f8f8f8;\n border-color: #e7e7e7;\n}\n.navbar-default .navbar-brand {\n color: #777;\n}\n.navbar-default .navbar-brand:hover,\n.navbar-default .navbar-brand:focus {\n color: #5e5e5e;\n background-color: transparent;\n}\n.navbar-default .navbar-text {\n color: #777;\n}\n.navbar-default .navbar-nav > li > a {\n color: #777;\n}\n.navbar-default .navbar-nav > li > a:hover,\n.navbar-default .navbar-nav > li > a:focus {\n color: #333;\n background-color: transparent;\n}\n.navbar-default .navbar-nav > .active > a,\n.navbar-default .navbar-nav > .active > a:hover,\n.navbar-default .navbar-nav > .active > a:focus {\n color: #555;\n background-color: #e7e7e7;\n}\n.navbar-default .navbar-nav > .disabled > a,\n.navbar-default .navbar-nav > .disabled > a:hover,\n.navbar-default .navbar-nav > .disabled > a:focus {\n color: #ccc;\n background-color: transparent;\n}\n.navbar-default .navbar-toggle {\n border-color: #ddd;\n}\n.navbar-default .navbar-toggle:hover,\n.navbar-default .navbar-toggle:focus {\n background-color: #ddd;\n}\n.navbar-default .navbar-toggle .icon-bar {\n background-color: #888;\n}\n.navbar-default .navbar-collapse,\n.navbar-default .navbar-form {\n border-color: #e7e7e7;\n}\n.navbar-default .navbar-nav > .open > a,\n.navbar-default .navbar-nav > .open > a:hover,\n.navbar-default .navbar-nav > .open > a:focus {\n background-color: #e7e7e7;\n color: #555;\n}\n@media (max-width: 767px) {\n .navbar-default .navbar-nav .open .dropdown-menu > li > a {\n color: #777;\n }\n .navbar-default .navbar-nav .open .dropdown-menu > li > a:hover,\n .navbar-default .navbar-nav .open .dropdown-menu > li > a:focus {\n color: #333;\n background-color: transparent;\n }\n .navbar-default .navbar-nav .open .dropdown-menu > .active > a,\n .navbar-default .navbar-nav .open .dropdown-menu > .active > a:hover,\n .navbar-default .navbar-nav .open .dropdown-menu > .active > a:focus {\n color: #555;\n background-color: #e7e7e7;\n }\n .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a,\n .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a:hover,\n .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a:focus {\n color: #ccc;\n background-color: transparent;\n }\n}\n.navbar-default .navbar-link {\n color: #777;\n}\n.navbar-default .navbar-link:hover {\n color: #333;\n}\n.navbar-default .btn-link {\n color: #777;\n}\n.navbar-default .btn-link:hover,\n.navbar-default .btn-link:focus {\n color: #333;\n}\n.navbar-default .btn-link[disabled]:hover,\nfieldset[disabled] .navbar-default .btn-link:hover,\n.navbar-default .btn-link[disabled]:focus,\nfieldset[disabled] .navbar-default .btn-link:focus {\n color: #ccc;\n}\n.navbar-inverse {\n background-color: #222;\n border-color: #080808;\n}\n.navbar-inverse .navbar-brand {\n color: #9d9d9d;\n}\n.navbar-inverse .navbar-brand:hover,\n.navbar-inverse .navbar-brand:focus {\n color: #fff;\n background-color: transparent;\n}\n.navbar-inverse .navbar-text {\n color: #9d9d9d;\n}\n.navbar-inverse .navbar-nav > li > a {\n color: #9d9d9d;\n}\n.navbar-inverse .navbar-nav > li > a:hover,\n.navbar-inverse .navbar-nav > li > a:focus {\n color: #fff;\n background-color: transparent;\n}\n.navbar-inverse .navbar-nav > .active > a,\n.navbar-inverse .navbar-nav > .active > a:hover,\n.navbar-inverse .navbar-nav > .active > a:focus {\n color: #fff;\n background-color: #080808;\n}\n.navbar-inverse .navbar-nav > .disabled > a,\n.navbar-inverse .navbar-nav > .disabled > a:hover,\n.navbar-inverse .navbar-nav > .disabled > a:focus {\n color: #444;\n background-color: transparent;\n}\n.navbar-inverse .navbar-toggle {\n border-color: #333;\n}\n.navbar-inverse .navbar-toggle:hover,\n.navbar-inverse .navbar-toggle:focus {\n background-color: #333;\n}\n.navbar-inverse .navbar-toggle .icon-bar {\n background-color: #fff;\n}\n.navbar-inverse .navbar-collapse,\n.navbar-inverse .navbar-form {\n border-color: #101010;\n}\n.navbar-inverse .navbar-nav > .open > a,\n.navbar-inverse .navbar-nav > .open > a:hover,\n.navbar-inverse .navbar-nav > .open > a:focus {\n background-color: #080808;\n color: #fff;\n}\n@media (max-width: 767px) {\n .navbar-inverse .navbar-nav .open .dropdown-menu > .dropdown-header {\n border-color: #080808;\n }\n .navbar-inverse .navbar-nav .open .dropdown-menu .divider {\n background-color: #080808;\n }\n .navbar-inverse .navbar-nav .open .dropdown-menu > li > a {\n color: #9d9d9d;\n }\n .navbar-inverse .navbar-nav .open .dropdown-menu > li > a:hover,\n .navbar-inverse .navbar-nav .open .dropdown-menu > li > a:focus {\n color: #fff;\n background-color: transparent;\n }\n .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a,\n .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a:hover,\n .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a:focus {\n color: #fff;\n background-color: #080808;\n }\n .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a,\n .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a:hover,\n .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a:focus {\n color: #444;\n background-color: transparent;\n }\n}\n.navbar-inverse .navbar-link {\n color: #9d9d9d;\n}\n.navbar-inverse .navbar-link:hover {\n color: #fff;\n}\n.navbar-inverse .btn-link {\n color: #9d9d9d;\n}\n.navbar-inverse .btn-link:hover,\n.navbar-inverse .btn-link:focus {\n color: #fff;\n}\n.navbar-inverse .btn-link[disabled]:hover,\nfieldset[disabled] .navbar-inverse .btn-link:hover,\n.navbar-inverse .btn-link[disabled]:focus,\nfieldset[disabled] .navbar-inverse .btn-link:focus {\n color: #444;\n}\n.breadcrumb {\n padding: 8px 15px;\n margin-bottom: 20px;\n list-style: none;\n background-color: #f5f5f5;\n border-radius: 4px;\n}\n.breadcrumb > li {\n display: inline-block;\n}\n.breadcrumb > li + li:before {\n content: \"/\\00a0\";\n padding: 0 5px;\n color: #ccc;\n}\n.breadcrumb > .active {\n color: #777777;\n}\n.pagination {\n display: inline-block;\n padding-left: 0;\n margin: 20px 0;\n border-radius: 4px;\n}\n.pagination > li {\n display: inline;\n}\n.pagination > li > a,\n.pagination > li > span {\n position: relative;\n float: left;\n padding: 6px 12px;\n line-height: 1.42857143;\n text-decoration: none;\n color: #337ab7;\n background-color: #fff;\n border: 1px solid #ddd;\n margin-left: -1px;\n}\n.pagination > li:first-child > a,\n.pagination > li:first-child > span {\n margin-left: 0;\n border-bottom-left-radius: 4px;\n border-top-left-radius: 4px;\n}\n.pagination > li:last-child > a,\n.pagination > li:last-child > span {\n border-bottom-right-radius: 4px;\n border-top-right-radius: 4px;\n}\n.pagination > li > a:hover,\n.pagination > li > span:hover,\n.pagination > li > a:focus,\n.pagination > li > span:focus {\n z-index: 2;\n color: #23527c;\n background-color: #eeeeee;\n border-color: #ddd;\n}\n.pagination > .active > a,\n.pagination > .active > span,\n.pagination > .active > a:hover,\n.pagination > .active > span:hover,\n.pagination > .active > a:focus,\n.pagination > .active > span:focus {\n z-index: 3;\n color: #fff;\n background-color: #337ab7;\n border-color: #337ab7;\n cursor: default;\n}\n.pagination > .disabled > span,\n.pagination > .disabled > span:hover,\n.pagination > .disabled > span:focus,\n.pagination > .disabled > a,\n.pagination > .disabled > a:hover,\n.pagination > .disabled > a:focus {\n color: #777777;\n background-color: #fff;\n border-color: #ddd;\n cursor: not-allowed;\n}\n.pagination-lg > li > a,\n.pagination-lg > li > span {\n padding: 10px 16px;\n font-size: 18px;\n line-height: 1.3333333;\n}\n.pagination-lg > li:first-child > a,\n.pagination-lg > li:first-child > span {\n border-bottom-left-radius: 6px;\n border-top-left-radius: 6px;\n}\n.pagination-lg > li:last-child > a,\n.pagination-lg > li:last-child > span {\n border-bottom-right-radius: 6px;\n border-top-right-radius: 6px;\n}\n.pagination-sm > li > a,\n.pagination-sm > li > span {\n padding: 5px 10px;\n font-size: 12px;\n line-height: 1.5;\n}\n.pagination-sm > li:first-child > a,\n.pagination-sm > li:first-child > span {\n border-bottom-left-radius: 3px;\n border-top-left-radius: 3px;\n}\n.pagination-sm > li:last-child > a,\n.pagination-sm > li:last-child > span {\n border-bottom-right-radius: 3px;\n border-top-right-radius: 3px;\n}\n.pager {\n padding-left: 0;\n margin: 20px 0;\n list-style: none;\n text-align: center;\n}\n.pager li {\n display: inline;\n}\n.pager li > a,\n.pager li > span {\n display: inline-block;\n padding: 5px 14px;\n background-color: #fff;\n border: 1px solid #ddd;\n border-radius: 15px;\n}\n.pager li > a:hover,\n.pager li > a:focus {\n text-decoration: none;\n background-color: #eeeeee;\n}\n.pager .next > a,\n.pager .next > span {\n float: right;\n}\n.pager .previous > a,\n.pager .previous > span {\n float: left;\n}\n.pager .disabled > a,\n.pager .disabled > a:hover,\n.pager .disabled > a:focus,\n.pager .disabled > span {\n color: #777777;\n background-color: #fff;\n cursor: not-allowed;\n}\n.label {\n display: inline;\n padding: .2em .6em .3em;\n font-size: 75%;\n font-weight: bold;\n line-height: 1;\n color: #fff;\n text-align: center;\n white-space: nowrap;\n vertical-align: baseline;\n border-radius: .25em;\n}\na.label:hover,\na.label:focus {\n color: #fff;\n text-decoration: none;\n cursor: pointer;\n}\n.label:empty {\n display: none;\n}\n.btn .label {\n position: relative;\n top: -1px;\n}\n.label-default {\n background-color: #777777;\n}\n.label-default[href]:hover,\n.label-default[href]:focus {\n background-color: #5e5e5e;\n}\n.label-primary {\n background-color: #337ab7;\n}\n.label-primary[href]:hover,\n.label-primary[href]:focus {\n background-color: #286090;\n}\n.label-success {\n background-color: #5cb85c;\n}\n.label-success[href]:hover,\n.label-success[href]:focus {\n background-color: #449d44;\n}\n.label-info {\n background-color: #5bc0de;\n}\n.label-info[href]:hover,\n.label-info[href]:focus {\n background-color: #31b0d5;\n}\n.label-warning {\n background-color: #f0ad4e;\n}\n.label-warning[href]:hover,\n.label-warning[href]:focus {\n background-color: #ec971f;\n}\n.label-danger {\n background-color: #d9534f;\n}\n.label-danger[href]:hover,\n.label-danger[href]:focus {\n background-color: #c9302c;\n}\n.badge {\n display: inline-block;\n min-width: 10px;\n padding: 3px 7px;\n font-size: 12px;\n font-weight: bold;\n color: #fff;\n line-height: 1;\n vertical-align: middle;\n white-space: nowrap;\n text-align: center;\n background-color: #777777;\n border-radius: 10px;\n}\n.badge:empty {\n display: none;\n}\n.btn .badge {\n position: relative;\n top: -1px;\n}\n.btn-xs .badge,\n.btn-group-xs > .btn .badge {\n top: 0;\n padding: 1px 5px;\n}\na.badge:hover,\na.badge:focus {\n color: #fff;\n text-decoration: none;\n cursor: pointer;\n}\n.list-group-item.active > .badge,\n.nav-pills > .active > a > .badge {\n color: #337ab7;\n background-color: #fff;\n}\n.list-group-item > .badge {\n float: right;\n}\n.list-group-item > .badge + .badge {\n margin-right: 5px;\n}\n.nav-pills > li > a > .badge {\n margin-left: 3px;\n}\n.jumbotron {\n padding-top: 30px;\n padding-bottom: 30px;\n margin-bottom: 30px;\n color: inherit;\n background-color: #eeeeee;\n}\n.jumbotron h1,\n.jumbotron .h1 {\n color: inherit;\n}\n.jumbotron p {\n margin-bottom: 15px;\n font-size: 21px;\n font-weight: 200;\n}\n.jumbotron > hr {\n border-top-color: #d5d5d5;\n}\n.container .jumbotron,\n.container-fluid .jumbotron {\n border-radius: 6px;\n padding-left: 15px;\n padding-right: 15px;\n}\n.jumbotron .container {\n max-width: 100%;\n}\n@media screen and (min-width: 768px) {\n .jumbotron {\n padding-top: 48px;\n padding-bottom: 48px;\n }\n .container .jumbotron,\n .container-fluid .jumbotron {\n padding-left: 60px;\n padding-right: 60px;\n }\n .jumbotron h1,\n .jumbotron .h1 {\n font-size: 63px;\n }\n}\n.thumbnail {\n display: block;\n padding: 4px;\n margin-bottom: 20px;\n line-height: 1.42857143;\n background-color: #fff;\n border: 1px solid #ddd;\n border-radius: 4px;\n -webkit-transition: border 0.2s ease-in-out;\n -o-transition: border 0.2s ease-in-out;\n transition: border 0.2s ease-in-out;\n}\n.thumbnail > img,\n.thumbnail a > img {\n margin-left: auto;\n margin-right: auto;\n}\na.thumbnail:hover,\na.thumbnail:focus,\na.thumbnail.active {\n border-color: #337ab7;\n}\n.thumbnail .caption {\n padding: 9px;\n color: #333333;\n}\n.alert {\n padding: 15px;\n margin-bottom: 20px;\n border: 1px solid transparent;\n border-radius: 4px;\n}\n.alert h4 {\n margin-top: 0;\n color: inherit;\n}\n.alert .alert-link {\n font-weight: bold;\n}\n.alert > p,\n.alert > ul {\n margin-bottom: 0;\n}\n.alert > p + p {\n margin-top: 5px;\n}\n.alert-dismissable,\n.alert-dismissible {\n padding-right: 35px;\n}\n.alert-dismissable .close,\n.alert-dismissible .close {\n position: relative;\n top: -2px;\n right: -21px;\n color: inherit;\n}\n.alert-success {\n background-color: #dff0d8;\n border-color: #d6e9c6;\n color: #3c763d;\n}\n.alert-success hr {\n border-top-color: #c9e2b3;\n}\n.alert-success .alert-link {\n color: #2b542c;\n}\n.alert-info {\n background-color: #d9edf7;\n border-color: #bce8f1;\n color: #31708f;\n}\n.alert-info hr {\n border-top-color: #a6e1ec;\n}\n.alert-info .alert-link {\n color: #245269;\n}\n.alert-warning {\n background-color: #fcf8e3;\n border-color: #faebcc;\n color: #8a6d3b;\n}\n.alert-warning hr {\n border-top-color: #f7e1b5;\n}\n.alert-warning .alert-link {\n color: #66512c;\n}\n.alert-danger {\n background-color: #f2dede;\n border-color: #ebccd1;\n color: #a94442;\n}\n.alert-danger hr {\n border-top-color: #e4b9c0;\n}\n.alert-danger .alert-link {\n color: #843534;\n}\n@-webkit-keyframes progress-bar-stripes {\n from {\n background-position: 40px 0;\n }\n to {\n background-position: 0 0;\n }\n}\n@keyframes progress-bar-stripes {\n from {\n background-position: 40px 0;\n }\n to {\n background-position: 0 0;\n }\n}\n.progress {\n overflow: hidden;\n height: 20px;\n margin-bottom: 20px;\n background-color: #f5f5f5;\n border-radius: 4px;\n -webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);\n box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);\n}\n.progress-bar {\n float: left;\n width: 0%;\n height: 100%;\n font-size: 12px;\n line-height: 20px;\n color: #fff;\n text-align: center;\n background-color: #337ab7;\n -webkit-box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15);\n box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15);\n -webkit-transition: width 0.6s ease;\n -o-transition: width 0.6s ease;\n transition: width 0.6s ease;\n}\n.progress-striped .progress-bar,\n.progress-bar-striped {\n background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n background-size: 40px 40px;\n}\n.progress.active .progress-bar,\n.progress-bar.active {\n -webkit-animation: progress-bar-stripes 2s linear infinite;\n -o-animation: progress-bar-stripes 2s linear infinite;\n animation: progress-bar-stripes 2s linear infinite;\n}\n.progress-bar-success {\n background-color: #5cb85c;\n}\n.progress-striped .progress-bar-success {\n background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n}\n.progress-bar-info {\n background-color: #5bc0de;\n}\n.progress-striped .progress-bar-info {\n background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n}\n.progress-bar-warning {\n background-color: #f0ad4e;\n}\n.progress-striped .progress-bar-warning {\n background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n}\n.progress-bar-danger {\n background-color: #d9534f;\n}\n.progress-striped .progress-bar-danger {\n background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n}\n.media {\n margin-top: 15px;\n}\n.media:first-child {\n margin-top: 0;\n}\n.media,\n.media-body {\n zoom: 1;\n overflow: hidden;\n}\n.media-body {\n width: 10000px;\n}\n.media-object {\n display: block;\n}\n.media-object.img-thumbnail {\n max-width: none;\n}\n.media-right,\n.media > .pull-right {\n padding-left: 10px;\n}\n.media-left,\n.media > .pull-left {\n padding-right: 10px;\n}\n.media-left,\n.media-right,\n.media-body {\n display: table-cell;\n vertical-align: top;\n}\n.media-middle {\n vertical-align: middle;\n}\n.media-bottom {\n vertical-align: bottom;\n}\n.media-heading {\n margin-top: 0;\n margin-bottom: 5px;\n}\n.media-list {\n padding-left: 0;\n list-style: none;\n}\n.list-group {\n margin-bottom: 20px;\n padding-left: 0;\n}\n.list-group-item {\n position: relative;\n display: block;\n padding: 10px 15px;\n margin-bottom: -1px;\n background-color: #fff;\n border: 1px solid #ddd;\n}\n.list-group-item:first-child {\n border-top-right-radius: 4px;\n border-top-left-radius: 4px;\n}\n.list-group-item:last-child {\n margin-bottom: 0;\n border-bottom-right-radius: 4px;\n border-bottom-left-radius: 4px;\n}\na.list-group-item,\nbutton.list-group-item {\n color: #555;\n}\na.list-group-item .list-group-item-heading,\nbutton.list-group-item .list-group-item-heading {\n color: #333;\n}\na.list-group-item:hover,\nbutton.list-group-item:hover,\na.list-group-item:focus,\nbutton.list-group-item:focus {\n text-decoration: none;\n color: #555;\n background-color: #f5f5f5;\n}\nbutton.list-group-item {\n width: 100%;\n text-align: left;\n}\n.list-group-item.disabled,\n.list-group-item.disabled:hover,\n.list-group-item.disabled:focus {\n background-color: #eeeeee;\n color: #777777;\n cursor: not-allowed;\n}\n.list-group-item.disabled .list-group-item-heading,\n.list-group-item.disabled:hover .list-group-item-heading,\n.list-group-item.disabled:focus .list-group-item-heading {\n color: inherit;\n}\n.list-group-item.disabled .list-group-item-text,\n.list-group-item.disabled:hover .list-group-item-text,\n.list-group-item.disabled:focus .list-group-item-text {\n color: #777777;\n}\n.list-group-item.active,\n.list-group-item.active:hover,\n.list-group-item.active:focus {\n z-index: 2;\n color: #fff;\n background-color: #337ab7;\n border-color: #337ab7;\n}\n.list-group-item.active .list-group-item-heading,\n.list-group-item.active:hover .list-group-item-heading,\n.list-group-item.active:focus .list-group-item-heading,\n.list-group-item.active .list-group-item-heading > small,\n.list-group-item.active:hover .list-group-item-heading > small,\n.list-group-item.active:focus .list-group-item-heading > small,\n.list-group-item.active .list-group-item-heading > .small,\n.list-group-item.active:hover .list-group-item-heading > .small,\n.list-group-item.active:focus .list-group-item-heading > .small {\n color: inherit;\n}\n.list-group-item.active .list-group-item-text,\n.list-group-item.active:hover .list-group-item-text,\n.list-group-item.active:focus .list-group-item-text {\n color: #c7ddef;\n}\n.list-group-item-success {\n color: #3c763d;\n background-color: #dff0d8;\n}\na.list-group-item-success,\nbutton.list-group-item-success {\n color: #3c763d;\n}\na.list-group-item-success .list-group-item-heading,\nbutton.list-group-item-success .list-group-item-heading {\n color: inherit;\n}\na.list-group-item-success:hover,\nbutton.list-group-item-success:hover,\na.list-group-item-success:focus,\nbutton.list-group-item-success:focus {\n color: #3c763d;\n background-color: #d0e9c6;\n}\na.list-group-item-success.active,\nbutton.list-group-item-success.active,\na.list-group-item-success.active:hover,\nbutton.list-group-item-success.active:hover,\na.list-group-item-success.active:focus,\nbutton.list-group-item-success.active:focus {\n color: #fff;\n background-color: #3c763d;\n border-color: #3c763d;\n}\n.list-group-item-info {\n color: #31708f;\n background-color: #d9edf7;\n}\na.list-group-item-info,\nbutton.list-group-item-info {\n color: #31708f;\n}\na.list-group-item-info .list-group-item-heading,\nbutton.list-group-item-info .list-group-item-heading {\n color: inherit;\n}\na.list-group-item-info:hover,\nbutton.list-group-item-info:hover,\na.list-group-item-info:focus,\nbutton.list-group-item-info:focus {\n color: #31708f;\n background-color: #c4e3f3;\n}\na.list-group-item-info.active,\nbutton.list-group-item-info.active,\na.list-group-item-info.active:hover,\nbutton.list-group-item-info.active:hover,\na.list-group-item-info.active:focus,\nbutton.list-group-item-info.active:focus {\n color: #fff;\n background-color: #31708f;\n border-color: #31708f;\n}\n.list-group-item-warning {\n color: #8a6d3b;\n background-color: #fcf8e3;\n}\na.list-group-item-warning,\nbutton.list-group-item-warning {\n color: #8a6d3b;\n}\na.list-group-item-warning .list-group-item-heading,\nbutton.list-group-item-warning .list-group-item-heading {\n color: inherit;\n}\na.list-group-item-warning:hover,\nbutton.list-group-item-warning:hover,\na.list-group-item-warning:focus,\nbutton.list-group-item-warning:focus {\n color: #8a6d3b;\n background-color: #faf2cc;\n}\na.list-group-item-warning.active,\nbutton.list-group-item-warning.active,\na.list-group-item-warning.active:hover,\nbutton.list-group-item-warning.active:hover,\na.list-group-item-warning.active:focus,\nbutton.list-group-item-warning.active:focus {\n color: #fff;\n background-color: #8a6d3b;\n border-color: #8a6d3b;\n}\n.list-group-item-danger {\n color: #a94442;\n background-color: #f2dede;\n}\na.list-group-item-danger,\nbutton.list-group-item-danger {\n color: #a94442;\n}\na.list-group-item-danger .list-group-item-heading,\nbutton.list-group-item-danger .list-group-item-heading {\n color: inherit;\n}\na.list-group-item-danger:hover,\nbutton.list-group-item-danger:hover,\na.list-group-item-danger:focus,\nbutton.list-group-item-danger:focus {\n color: #a94442;\n background-color: #ebcccc;\n}\na.list-group-item-danger.active,\nbutton.list-group-item-danger.active,\na.list-group-item-danger.active:hover,\nbutton.list-group-item-danger.active:hover,\na.list-group-item-danger.active:focus,\nbutton.list-group-item-danger.active:focus {\n color: #fff;\n background-color: #a94442;\n border-color: #a94442;\n}\n.list-group-item-heading {\n margin-top: 0;\n margin-bottom: 5px;\n}\n.list-group-item-text {\n margin-bottom: 0;\n line-height: 1.3;\n}\n.panel {\n margin-bottom: 20px;\n background-color: #fff;\n border: 1px solid transparent;\n border-radius: 4px;\n -webkit-box-shadow: 0 1px 1px rgba(0, 0, 0, 0.05);\n box-shadow: 0 1px 1px rgba(0, 0, 0, 0.05);\n}\n.panel-body {\n padding: 15px;\n}\n.panel-heading {\n padding: 10px 15px;\n border-bottom: 1px solid transparent;\n border-top-right-radius: 3px;\n border-top-left-radius: 3px;\n}\n.panel-heading > .dropdown .dropdown-toggle {\n color: inherit;\n}\n.panel-title {\n margin-top: 0;\n margin-bottom: 0;\n font-size: 16px;\n color: inherit;\n}\n.panel-title > a,\n.panel-title > small,\n.panel-title > .small,\n.panel-title > small > a,\n.panel-title > .small > a {\n color: inherit;\n}\n.panel-footer {\n padding: 10px 15px;\n background-color: #f5f5f5;\n border-top: 1px solid #ddd;\n border-bottom-right-radius: 3px;\n border-bottom-left-radius: 3px;\n}\n.panel > .list-group,\n.panel > .panel-collapse > .list-group {\n margin-bottom: 0;\n}\n.panel > .list-group .list-group-item,\n.panel > .panel-collapse > .list-group .list-group-item {\n border-width: 1px 0;\n border-radius: 0;\n}\n.panel > .list-group:first-child .list-group-item:first-child,\n.panel > .panel-collapse > .list-group:first-child .list-group-item:first-child {\n border-top: 0;\n border-top-right-radius: 3px;\n border-top-left-radius: 3px;\n}\n.panel > .list-group:last-child .list-group-item:last-child,\n.panel > .panel-collapse > .list-group:last-child .list-group-item:last-child {\n border-bottom: 0;\n border-bottom-right-radius: 3px;\n border-bottom-left-radius: 3px;\n}\n.panel > .panel-heading + .panel-collapse > .list-group .list-group-item:first-child {\n border-top-right-radius: 0;\n border-top-left-radius: 0;\n}\n.panel-heading + .list-group .list-group-item:first-child {\n border-top-width: 0;\n}\n.list-group + .panel-footer {\n border-top-width: 0;\n}\n.panel > .table,\n.panel > .table-responsive > .table,\n.panel > .panel-collapse > .table {\n margin-bottom: 0;\n}\n.panel > .table caption,\n.panel > .table-responsive > .table caption,\n.panel > .panel-collapse > .table caption {\n padding-left: 15px;\n padding-right: 15px;\n}\n.panel > .table:first-child,\n.panel > .table-responsive:first-child > .table:first-child {\n border-top-right-radius: 3px;\n border-top-left-radius: 3px;\n}\n.panel > .table:first-child > thead:first-child > tr:first-child,\n.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child,\n.panel > .table:first-child > tbody:first-child > tr:first-child,\n.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child {\n border-top-left-radius: 3px;\n border-top-right-radius: 3px;\n}\n.panel > .table:first-child > thead:first-child > tr:first-child td:first-child,\n.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child td:first-child,\n.panel > .table:first-child > tbody:first-child > tr:first-child td:first-child,\n.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child td:first-child,\n.panel > .table:first-child > thead:first-child > tr:first-child th:first-child,\n.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child th:first-child,\n.panel > .table:first-child > tbody:first-child > tr:first-child th:first-child,\n.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child th:first-child {\n border-top-left-radius: 3px;\n}\n.panel > .table:first-child > thead:first-child > tr:first-child td:last-child,\n.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child td:last-child,\n.panel > .table:first-child > tbody:first-child > tr:first-child td:last-child,\n.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child td:last-child,\n.panel > .table:first-child > thead:first-child > tr:first-child th:last-child,\n.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child th:last-child,\n.panel > .table:first-child > tbody:first-child > tr:first-child th:last-child,\n.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child th:last-child {\n border-top-right-radius: 3px;\n}\n.panel > .table:last-child,\n.panel > .table-responsive:last-child > .table:last-child {\n border-bottom-right-radius: 3px;\n border-bottom-left-radius: 3px;\n}\n.panel > .table:last-child > tbody:last-child > tr:last-child,\n.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child,\n.panel > .table:last-child > tfoot:last-child > tr:last-child,\n.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child {\n border-bottom-left-radius: 3px;\n border-bottom-right-radius: 3px;\n}\n.panel > .table:last-child > tbody:last-child > tr:last-child td:first-child,\n.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child td:first-child,\n.panel > .table:last-child > tfoot:last-child > tr:last-child td:first-child,\n.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child td:first-child,\n.panel > .table:last-child > tbody:last-child > tr:last-child th:first-child,\n.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child th:first-child,\n.panel > .table:last-child > tfoot:last-child > tr:last-child th:first-child,\n.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child th:first-child {\n border-bottom-left-radius: 3px;\n}\n.panel > .table:last-child > tbody:last-child > tr:last-child td:last-child,\n.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child td:last-child,\n.panel > .table:last-child > tfoot:last-child > tr:last-child td:last-child,\n.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child td:last-child,\n.panel > .table:last-child > tbody:last-child > tr:last-child th:last-child,\n.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child th:last-child,\n.panel > .table:last-child > tfoot:last-child > tr:last-child th:last-child,\n.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child th:last-child {\n border-bottom-right-radius: 3px;\n}\n.panel > .panel-body + .table,\n.panel > .panel-body + .table-responsive,\n.panel > .table + .panel-body,\n.panel > .table-responsive + .panel-body {\n border-top: 1px solid #ddd;\n}\n.panel > .table > tbody:first-child > tr:first-child th,\n.panel > .table > tbody:first-child > tr:first-child td {\n border-top: 0;\n}\n.panel > .table-bordered,\n.panel > .table-responsive > .table-bordered {\n border: 0;\n}\n.panel > .table-bordered > thead > tr > th:first-child,\n.panel > .table-responsive > .table-bordered > thead > tr > th:first-child,\n.panel > .table-bordered > tbody > tr > th:first-child,\n.panel > .table-responsive > .table-bordered > tbody > tr > th:first-child,\n.panel > .table-bordered > tfoot > tr > th:first-child,\n.panel > .table-responsive > .table-bordered > tfoot > tr > th:first-child,\n.panel > .table-bordered > thead > tr > td:first-child,\n.panel > .table-responsive > .table-bordered > thead > tr > td:first-child,\n.panel > .table-bordered > tbody > tr > td:first-child,\n.panel > .table-responsive > .table-bordered > tbody > tr > td:first-child,\n.panel > .table-bordered > tfoot > tr > td:first-child,\n.panel > .table-responsive > .table-bordered > tfoot > tr > td:first-child {\n border-left: 0;\n}\n.panel > .table-bordered > thead > tr > th:last-child,\n.panel > .table-responsive > .table-bordered > thead > tr > th:last-child,\n.panel > .table-bordered > tbody > tr > th:last-child,\n.panel > .table-responsive > .table-bordered > tbody > tr > th:last-child,\n.panel > .table-bordered > tfoot > tr > th:last-child,\n.panel > .table-responsive > .table-bordered > tfoot > tr > th:last-child,\n.panel > .table-bordered > thead > tr > td:last-child,\n.panel > .table-responsive > .table-bordered > thead > tr > td:last-child,\n.panel > .table-bordered > tbody > tr > td:last-child,\n.panel > .table-responsive > .table-bordered > tbody > tr > td:last-child,\n.panel > .table-bordered > tfoot > tr > td:last-child,\n.panel > .table-responsive > .table-bordered > tfoot > tr > td:last-child {\n border-right: 0;\n}\n.panel > .table-bordered > thead > tr:first-child > td,\n.panel > .table-responsive > .table-bordered > thead > tr:first-child > td,\n.panel > .table-bordered > tbody > tr:first-child > td,\n.panel > .table-responsive > .table-bordered > tbody > tr:first-child > td,\n.panel > .table-bordered > thead > tr:first-child > th,\n.panel > .table-responsive > .table-bordered > thead > tr:first-child > th,\n.panel > .table-bordered > tbody > tr:first-child > th,\n.panel > .table-responsive > .table-bordered > tbody > tr:first-child > th {\n border-bottom: 0;\n}\n.panel > .table-bordered > tbody > tr:last-child > td,\n.panel > .table-responsive > .table-bordered > tbody > tr:last-child > td,\n.panel > .table-bordered > tfoot > tr:last-child > td,\n.panel > .table-responsive > .table-bordered > tfoot > tr:last-child > td,\n.panel > .table-bordered > tbody > tr:last-child > th,\n.panel > .table-responsive > .table-bordered > tbody > tr:last-child > th,\n.panel > .table-bordered > tfoot > tr:last-child > th,\n.panel > .table-responsive > .table-bordered > tfoot > tr:last-child > th {\n border-bottom: 0;\n}\n.panel > .table-responsive {\n border: 0;\n margin-bottom: 0;\n}\n.panel-group {\n margin-bottom: 20px;\n}\n.panel-group .panel {\n margin-bottom: 0;\n border-radius: 4px;\n}\n.panel-group .panel + .panel {\n margin-top: 5px;\n}\n.panel-group .panel-heading {\n border-bottom: 0;\n}\n.panel-group .panel-heading + .panel-collapse > .panel-body,\n.panel-group .panel-heading + .panel-collapse > .list-group {\n border-top: 1px solid #ddd;\n}\n.panel-group .panel-footer {\n border-top: 0;\n}\n.panel-group .panel-footer + .panel-collapse .panel-body {\n border-bottom: 1px solid #ddd;\n}\n.panel-default {\n border-color: #ddd;\n}\n.panel-default > .panel-heading {\n color: #333333;\n background-color: #f5f5f5;\n border-color: #ddd;\n}\n.panel-default > .panel-heading + .panel-collapse > .panel-body {\n border-top-color: #ddd;\n}\n.panel-default > .panel-heading .badge {\n color: #f5f5f5;\n background-color: #333333;\n}\n.panel-default > .panel-footer + .panel-collapse > .panel-body {\n border-bottom-color: #ddd;\n}\n.panel-primary {\n border-color: #337ab7;\n}\n.panel-primary > .panel-heading {\n color: #fff;\n background-color: #337ab7;\n border-color: #337ab7;\n}\n.panel-primary > .panel-heading + .panel-collapse > .panel-body {\n border-top-color: #337ab7;\n}\n.panel-primary > .panel-heading .badge {\n color: #337ab7;\n background-color: #fff;\n}\n.panel-primary > .panel-footer + .panel-collapse > .panel-body {\n border-bottom-color: #337ab7;\n}\n.panel-success {\n border-color: #d6e9c6;\n}\n.panel-success > .panel-heading {\n color: #3c763d;\n background-color: #dff0d8;\n border-color: #d6e9c6;\n}\n.panel-success > .panel-heading + .panel-collapse > .panel-body {\n border-top-color: #d6e9c6;\n}\n.panel-success > .panel-heading .badge {\n color: #dff0d8;\n background-color: #3c763d;\n}\n.panel-success > .panel-footer + .panel-collapse > .panel-body {\n border-bottom-color: #d6e9c6;\n}\n.panel-info {\n border-color: #bce8f1;\n}\n.panel-info > .panel-heading {\n color: #31708f;\n background-color: #d9edf7;\n border-color: #bce8f1;\n}\n.panel-info > .panel-heading + .panel-collapse > .panel-body {\n border-top-color: #bce8f1;\n}\n.panel-info > .panel-heading .badge {\n color: #d9edf7;\n background-color: #31708f;\n}\n.panel-info > .panel-footer + .panel-collapse > .panel-body {\n border-bottom-color: #bce8f1;\n}\n.panel-warning {\n border-color: #faebcc;\n}\n.panel-warning > .panel-heading {\n color: #8a6d3b;\n background-color: #fcf8e3;\n border-color: #faebcc;\n}\n.panel-warning > .panel-heading + .panel-collapse > .panel-body {\n border-top-color: #faebcc;\n}\n.panel-warning > .panel-heading .badge {\n color: #fcf8e3;\n background-color: #8a6d3b;\n}\n.panel-warning > .panel-footer + .panel-collapse > .panel-body {\n border-bottom-color: #faebcc;\n}\n.panel-danger {\n border-color: #ebccd1;\n}\n.panel-danger > .panel-heading {\n color: #a94442;\n background-color: #f2dede;\n border-color: #ebccd1;\n}\n.panel-danger > .panel-heading + .panel-collapse > .panel-body {\n border-top-color: #ebccd1;\n}\n.panel-danger > .panel-heading .badge {\n color: #f2dede;\n background-color: #a94442;\n}\n.panel-danger > .panel-footer + .panel-collapse > .panel-body {\n border-bottom-color: #ebccd1;\n}\n.embed-responsive {\n position: relative;\n display: block;\n height: 0;\n padding: 0;\n overflow: hidden;\n}\n.embed-responsive .embed-responsive-item,\n.embed-responsive iframe,\n.embed-responsive embed,\n.embed-responsive object,\n.embed-responsive video {\n position: absolute;\n top: 0;\n left: 0;\n bottom: 0;\n height: 100%;\n width: 100%;\n border: 0;\n}\n.embed-responsive-16by9 {\n padding-bottom: 56.25%;\n}\n.embed-responsive-4by3 {\n padding-bottom: 75%;\n}\n.well {\n min-height: 20px;\n padding: 19px;\n margin-bottom: 20px;\n background-color: #f5f5f5;\n border: 1px solid #e3e3e3;\n border-radius: 4px;\n -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05);\n box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05);\n}\n.well blockquote {\n border-color: #ddd;\n border-color: rgba(0, 0, 0, 0.15);\n}\n.well-lg {\n padding: 24px;\n border-radius: 6px;\n}\n.well-sm {\n padding: 9px;\n border-radius: 3px;\n}\n.close {\n float: right;\n font-size: 21px;\n font-weight: bold;\n line-height: 1;\n color: #000;\n text-shadow: 0 1px 0 #fff;\n opacity: 0.2;\n filter: alpha(opacity=20);\n}\n.close:hover,\n.close:focus {\n color: #000;\n text-decoration: none;\n cursor: pointer;\n opacity: 0.5;\n filter: alpha(opacity=50);\n}\nbutton.close {\n padding: 0;\n cursor: pointer;\n background: transparent;\n border: 0;\n -webkit-appearance: none;\n}\n.modal-open {\n overflow: hidden;\n}\n.modal {\n display: none;\n overflow: hidden;\n position: fixed;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: 1050;\n -webkit-overflow-scrolling: touch;\n outline: 0;\n}\n.modal.fade .modal-dialog {\n -webkit-transform: translate(0, -25%);\n -ms-transform: translate(0, -25%);\n -o-transform: translate(0, -25%);\n transform: translate(0, -25%);\n -webkit-transition: -webkit-transform 0.3s ease-out;\n -moz-transition: -moz-transform 0.3s ease-out;\n -o-transition: -o-transform 0.3s ease-out;\n transition: transform 0.3s ease-out;\n}\n.modal.in .modal-dialog {\n -webkit-transform: translate(0, 0);\n -ms-transform: translate(0, 0);\n -o-transform: translate(0, 0);\n transform: translate(0, 0);\n}\n.modal-open .modal {\n overflow-x: hidden;\n overflow-y: auto;\n}\n.modal-dialog {\n position: relative;\n width: auto;\n margin: 10px;\n}\n.modal-content {\n position: relative;\n background-color: #fff;\n border: 1px solid #999;\n border: 1px solid rgba(0, 0, 0, 0.2);\n border-radius: 6px;\n -webkit-box-shadow: 0 3px 9px rgba(0, 0, 0, 0.5);\n box-shadow: 0 3px 9px rgba(0, 0, 0, 0.5);\n background-clip: padding-box;\n outline: 0;\n}\n.modal-backdrop {\n position: fixed;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: 1040;\n background-color: #000;\n}\n.modal-backdrop.fade {\n opacity: 0;\n filter: alpha(opacity=0);\n}\n.modal-backdrop.in {\n opacity: 0.5;\n filter: alpha(opacity=50);\n}\n.modal-header {\n padding: 15px;\n border-bottom: 1px solid #e5e5e5;\n}\n.modal-header .close {\n margin-top: -2px;\n}\n.modal-title {\n margin: 0;\n line-height: 1.42857143;\n}\n.modal-body {\n position: relative;\n padding: 15px;\n}\n.modal-footer {\n padding: 15px;\n text-align: right;\n border-top: 1px solid #e5e5e5;\n}\n.modal-footer .btn + .btn {\n margin-left: 5px;\n margin-bottom: 0;\n}\n.modal-footer .btn-group .btn + .btn {\n margin-left: -1px;\n}\n.modal-footer .btn-block + .btn-block {\n margin-left: 0;\n}\n.modal-scrollbar-measure {\n position: absolute;\n top: -9999px;\n width: 50px;\n height: 50px;\n overflow: scroll;\n}\n@media (min-width: 768px) {\n .modal-dialog {\n width: 600px;\n margin: 30px auto;\n }\n .modal-content {\n -webkit-box-shadow: 0 5px 15px rgba(0, 0, 0, 0.5);\n box-shadow: 0 5px 15px rgba(0, 0, 0, 0.5);\n }\n .modal-sm {\n width: 300px;\n }\n}\n@media (min-width: 992px) {\n .modal-lg {\n width: 900px;\n }\n}\n.tooltip {\n position: absolute;\n z-index: 1070;\n display: block;\n font-family: \"Helvetica Neue\", Helvetica, Arial, sans-serif;\n font-style: normal;\n font-weight: normal;\n letter-spacing: normal;\n line-break: auto;\n line-height: 1.42857143;\n text-align: left;\n text-align: start;\n text-decoration: none;\n text-shadow: none;\n text-transform: none;\n white-space: normal;\n word-break: normal;\n word-spacing: normal;\n word-wrap: normal;\n font-size: 12px;\n opacity: 0;\n filter: alpha(opacity=0);\n}\n.tooltip.in {\n opacity: 0.9;\n filter: alpha(opacity=90);\n}\n.tooltip.top {\n margin-top: -3px;\n padding: 5px 0;\n}\n.tooltip.right {\n margin-left: 3px;\n padding: 0 5px;\n}\n.tooltip.bottom {\n margin-top: 3px;\n padding: 5px 0;\n}\n.tooltip.left {\n margin-left: -3px;\n padding: 0 5px;\n}\n.tooltip-inner {\n max-width: 200px;\n padding: 3px 8px;\n color: #fff;\n text-align: center;\n background-color: #000;\n border-radius: 4px;\n}\n.tooltip-arrow {\n position: absolute;\n width: 0;\n height: 0;\n border-color: transparent;\n border-style: solid;\n}\n.tooltip.top .tooltip-arrow {\n bottom: 0;\n left: 50%;\n margin-left: -5px;\n border-width: 5px 5px 0;\n border-top-color: #000;\n}\n.tooltip.top-left .tooltip-arrow {\n bottom: 0;\n right: 5px;\n margin-bottom: -5px;\n border-width: 5px 5px 0;\n border-top-color: #000;\n}\n.tooltip.top-right .tooltip-arrow {\n bottom: 0;\n left: 5px;\n margin-bottom: -5px;\n border-width: 5px 5px 0;\n border-top-color: #000;\n}\n.tooltip.right .tooltip-arrow {\n top: 50%;\n left: 0;\n margin-top: -5px;\n border-width: 5px 5px 5px 0;\n border-right-color: #000;\n}\n.tooltip.left .tooltip-arrow {\n top: 50%;\n right: 0;\n margin-top: -5px;\n border-width: 5px 0 5px 5px;\n border-left-color: #000;\n}\n.tooltip.bottom .tooltip-arrow {\n top: 0;\n left: 50%;\n margin-left: -5px;\n border-width: 0 5px 5px;\n border-bottom-color: #000;\n}\n.tooltip.bottom-left .tooltip-arrow {\n top: 0;\n right: 5px;\n margin-top: -5px;\n border-width: 0 5px 5px;\n border-bottom-color: #000;\n}\n.tooltip.bottom-right .tooltip-arrow {\n top: 0;\n left: 5px;\n margin-top: -5px;\n border-width: 0 5px 5px;\n border-bottom-color: #000;\n}\n.popover {\n position: absolute;\n top: 0;\n left: 0;\n z-index: 1060;\n display: none;\n max-width: 276px;\n padding: 1px;\n font-family: \"Helvetica Neue\", Helvetica, Arial, sans-serif;\n font-style: normal;\n font-weight: normal;\n letter-spacing: normal;\n line-break: auto;\n line-height: 1.42857143;\n text-align: left;\n text-align: start;\n text-decoration: none;\n text-shadow: none;\n text-transform: none;\n white-space: normal;\n word-break: normal;\n word-spacing: normal;\n word-wrap: normal;\n font-size: 14px;\n background-color: #fff;\n background-clip: padding-box;\n border: 1px solid #ccc;\n border: 1px solid rgba(0, 0, 0, 0.2);\n border-radius: 6px;\n -webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);\n box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);\n}\n.popover.top {\n margin-top: -10px;\n}\n.popover.right {\n margin-left: 10px;\n}\n.popover.bottom {\n margin-top: 10px;\n}\n.popover.left {\n margin-left: -10px;\n}\n.popover-title {\n margin: 0;\n padding: 8px 14px;\n font-size: 14px;\n background-color: #f7f7f7;\n border-bottom: 1px solid #ebebeb;\n border-radius: 5px 5px 0 0;\n}\n.popover-content {\n padding: 9px 14px;\n}\n.popover > .arrow,\n.popover > .arrow:after {\n position: absolute;\n display: block;\n width: 0;\n height: 0;\n border-color: transparent;\n border-style: solid;\n}\n.popover > .arrow {\n border-width: 11px;\n}\n.popover > .arrow:after {\n border-width: 10px;\n content: \"\";\n}\n.popover.top > .arrow {\n left: 50%;\n margin-left: -11px;\n border-bottom-width: 0;\n border-top-color: #999999;\n border-top-color: rgba(0, 0, 0, 0.25);\n bottom: -11px;\n}\n.popover.top > .arrow:after {\n content: \" \";\n bottom: 1px;\n margin-left: -10px;\n border-bottom-width: 0;\n border-top-color: #fff;\n}\n.popover.right > .arrow {\n top: 50%;\n left: -11px;\n margin-top: -11px;\n border-left-width: 0;\n border-right-color: #999999;\n border-right-color: rgba(0, 0, 0, 0.25);\n}\n.popover.right > .arrow:after {\n content: \" \";\n left: 1px;\n bottom: -10px;\n border-left-width: 0;\n border-right-color: #fff;\n}\n.popover.bottom > .arrow {\n left: 50%;\n margin-left: -11px;\n border-top-width: 0;\n border-bottom-color: #999999;\n border-bottom-color: rgba(0, 0, 0, 0.25);\n top: -11px;\n}\n.popover.bottom > .arrow:after {\n content: \" \";\n top: 1px;\n margin-left: -10px;\n border-top-width: 0;\n border-bottom-color: #fff;\n}\n.popover.left > .arrow {\n top: 50%;\n right: -11px;\n margin-top: -11px;\n border-right-width: 0;\n border-left-color: #999999;\n border-left-color: rgba(0, 0, 0, 0.25);\n}\n.popover.left > .arrow:after {\n content: \" \";\n right: 1px;\n border-right-width: 0;\n border-left-color: #fff;\n bottom: -10px;\n}\n.carousel {\n position: relative;\n}\n.carousel-inner {\n position: relative;\n overflow: hidden;\n width: 100%;\n}\n.carousel-inner > .item {\n display: none;\n position: relative;\n -webkit-transition: 0.6s ease-in-out left;\n -o-transition: 0.6s ease-in-out left;\n transition: 0.6s ease-in-out left;\n}\n.carousel-inner > .item > img,\n.carousel-inner > .item > a > img {\n line-height: 1;\n}\n@media all and (transform-3d), (-webkit-transform-3d) {\n .carousel-inner > .item {\n -webkit-transition: -webkit-transform 0.6s ease-in-out;\n -moz-transition: -moz-transform 0.6s ease-in-out;\n -o-transition: -o-transform 0.6s ease-in-out;\n transition: transform 0.6s ease-in-out;\n -webkit-backface-visibility: hidden;\n -moz-backface-visibility: hidden;\n backface-visibility: hidden;\n -webkit-perspective: 1000px;\n -moz-perspective: 1000px;\n perspective: 1000px;\n }\n .carousel-inner > .item.next,\n .carousel-inner > .item.active.right {\n -webkit-transform: translate3d(100%, 0, 0);\n transform: translate3d(100%, 0, 0);\n left: 0;\n }\n .carousel-inner > .item.prev,\n .carousel-inner > .item.active.left {\n -webkit-transform: translate3d(-100%, 0, 0);\n transform: translate3d(-100%, 0, 0);\n left: 0;\n }\n .carousel-inner > .item.next.left,\n .carousel-inner > .item.prev.right,\n .carousel-inner > .item.active {\n -webkit-transform: translate3d(0, 0, 0);\n transform: translate3d(0, 0, 0);\n left: 0;\n }\n}\n.carousel-inner > .active,\n.carousel-inner > .next,\n.carousel-inner > .prev {\n display: block;\n}\n.carousel-inner > .active {\n left: 0;\n}\n.carousel-inner > .next,\n.carousel-inner > .prev {\n position: absolute;\n top: 0;\n width: 100%;\n}\n.carousel-inner > .next {\n left: 100%;\n}\n.carousel-inner > .prev {\n left: -100%;\n}\n.carousel-inner > .next.left,\n.carousel-inner > .prev.right {\n left: 0;\n}\n.carousel-inner > .active.left {\n left: -100%;\n}\n.carousel-inner > .active.right {\n left: 100%;\n}\n.carousel-control {\n position: absolute;\n top: 0;\n left: 0;\n bottom: 0;\n width: 15%;\n opacity: 0.5;\n filter: alpha(opacity=50);\n font-size: 20px;\n color: #fff;\n text-align: center;\n text-shadow: 0 1px 2px rgba(0, 0, 0, 0.6);\n background-color: rgba(0, 0, 0, 0);\n}\n.carousel-control.left {\n background-image: -webkit-linear-gradient(left, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0.0001) 100%);\n background-image: -o-linear-gradient(left, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0.0001) 100%);\n background-image: linear-gradient(to right, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0.0001) 100%);\n background-repeat: repeat-x;\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#80000000', endColorstr='#00000000', GradientType=1);\n}\n.carousel-control.right {\n left: auto;\n right: 0;\n background-image: -webkit-linear-gradient(left, rgba(0, 0, 0, 0.0001) 0%, rgba(0, 0, 0, 0.5) 100%);\n background-image: -o-linear-gradient(left, rgba(0, 0, 0, 0.0001) 0%, rgba(0, 0, 0, 0.5) 100%);\n background-image: linear-gradient(to right, rgba(0, 0, 0, 0.0001) 0%, rgba(0, 0, 0, 0.5) 100%);\n background-repeat: repeat-x;\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000', endColorstr='#80000000', GradientType=1);\n}\n.carousel-control:hover,\n.carousel-control:focus {\n outline: 0;\n color: #fff;\n text-decoration: none;\n opacity: 0.9;\n filter: alpha(opacity=90);\n}\n.carousel-control .icon-prev,\n.carousel-control .icon-next,\n.carousel-control .glyphicon-chevron-left,\n.carousel-control .glyphicon-chevron-right {\n position: absolute;\n top: 50%;\n margin-top: -10px;\n z-index: 5;\n display: inline-block;\n}\n.carousel-control .icon-prev,\n.carousel-control .glyphicon-chevron-left {\n left: 50%;\n margin-left: -10px;\n}\n.carousel-control .icon-next,\n.carousel-control .glyphicon-chevron-right {\n right: 50%;\n margin-right: -10px;\n}\n.carousel-control .icon-prev,\n.carousel-control .icon-next {\n width: 20px;\n height: 20px;\n line-height: 1;\n font-family: serif;\n}\n.carousel-control .icon-prev:before {\n content: '\\2039';\n}\n.carousel-control .icon-next:before {\n content: '\\203a';\n}\n.carousel-indicators {\n position: absolute;\n bottom: 10px;\n left: 50%;\n z-index: 15;\n width: 60%;\n margin-left: -30%;\n padding-left: 0;\n list-style: none;\n text-align: center;\n}\n.carousel-indicators li {\n display: inline-block;\n width: 10px;\n height: 10px;\n margin: 1px;\n text-indent: -999px;\n border: 1px solid #fff;\n border-radius: 10px;\n cursor: pointer;\n background-color: #000 \\9;\n background-color: rgba(0, 0, 0, 0);\n}\n.carousel-indicators .active {\n margin: 0;\n width: 12px;\n height: 12px;\n background-color: #fff;\n}\n.carousel-caption {\n position: absolute;\n left: 15%;\n right: 15%;\n bottom: 20px;\n z-index: 10;\n padding-top: 20px;\n padding-bottom: 20px;\n color: #fff;\n text-align: center;\n text-shadow: 0 1px 2px rgba(0, 0, 0, 0.6);\n}\n.carousel-caption .btn {\n text-shadow: none;\n}\n@media screen and (min-width: 768px) {\n .carousel-control .glyphicon-chevron-left,\n .carousel-control .glyphicon-chevron-right,\n .carousel-control .icon-prev,\n .carousel-control .icon-next {\n width: 30px;\n height: 30px;\n margin-top: -10px;\n font-size: 30px;\n }\n .carousel-control .glyphicon-chevron-left,\n .carousel-control .icon-prev {\n margin-left: -10px;\n }\n .carousel-control .glyphicon-chevron-right,\n .carousel-control .icon-next {\n margin-right: -10px;\n }\n .carousel-caption {\n left: 20%;\n right: 20%;\n padding-bottom: 30px;\n }\n .carousel-indicators {\n bottom: 20px;\n }\n}\n.clearfix:before,\n.clearfix:after,\n.dl-horizontal dd:before,\n.dl-horizontal dd:after,\n.container:before,\n.container:after,\n.container-fluid:before,\n.container-fluid:after,\n.row:before,\n.row:after,\n.form-horizontal .form-group:before,\n.form-horizontal .form-group:after,\n.btn-toolbar:before,\n.btn-toolbar:after,\n.btn-group-vertical > .btn-group:before,\n.btn-group-vertical > .btn-group:after,\n.nav:before,\n.nav:after,\n.navbar:before,\n.navbar:after,\n.navbar-header:before,\n.navbar-header:after,\n.navbar-collapse:before,\n.navbar-collapse:after,\n.pager:before,\n.pager:after,\n.panel-body:before,\n.panel-body:after,\n.modal-header:before,\n.modal-header:after,\n.modal-footer:before,\n.modal-footer:after {\n content: \" \";\n display: table;\n}\n.clearfix:after,\n.dl-horizontal dd:after,\n.container:after,\n.container-fluid:after,\n.row:after,\n.form-horizontal .form-group:after,\n.btn-toolbar:after,\n.btn-group-vertical > .btn-group:after,\n.nav:after,\n.navbar:after,\n.navbar-header:after,\n.navbar-collapse:after,\n.pager:after,\n.panel-body:after,\n.modal-header:after,\n.modal-footer:after {\n clear: both;\n}\n.center-block {\n display: block;\n margin-left: auto;\n margin-right: auto;\n}\n.pull-right {\n float: right !important;\n}\n.pull-left {\n float: left !important;\n}\n.hide {\n display: none !important;\n}\n.show {\n display: block !important;\n}\n.invisible {\n visibility: hidden;\n}\n.text-hide {\n font: 0/0 a;\n color: transparent;\n text-shadow: none;\n background-color: transparent;\n border: 0;\n}\n.hidden {\n display: none !important;\n}\n.affix {\n position: fixed;\n}\n@-ms-viewport {\n width: device-width;\n}\n.visible-xs,\n.visible-sm,\n.visible-md,\n.visible-lg {\n display: none !important;\n}\n.visible-xs-block,\n.visible-xs-inline,\n.visible-xs-inline-block,\n.visible-sm-block,\n.visible-sm-inline,\n.visible-sm-inline-block,\n.visible-md-block,\n.visible-md-inline,\n.visible-md-inline-block,\n.visible-lg-block,\n.visible-lg-inline,\n.visible-lg-inline-block {\n display: none !important;\n}\n@media (max-width: 767px) {\n .visible-xs {\n display: block !important;\n }\n table.visible-xs {\n display: table !important;\n }\n tr.visible-xs {\n display: table-row !important;\n }\n th.visible-xs,\n td.visible-xs {\n display: table-cell !important;\n }\n}\n@media (max-width: 767px) {\n .visible-xs-block {\n display: block !important;\n }\n}\n@media (max-width: 767px) {\n .visible-xs-inline {\n display: inline !important;\n }\n}\n@media (max-width: 767px) {\n .visible-xs-inline-block {\n display: inline-block !important;\n }\n}\n@media (min-width: 768px) and (max-width: 991px) {\n .visible-sm {\n display: block !important;\n }\n table.visible-sm {\n display: table !important;\n }\n tr.visible-sm {\n display: table-row !important;\n }\n th.visible-sm,\n td.visible-sm {\n display: table-cell !important;\n }\n}\n@media (min-width: 768px) and (max-width: 991px) {\n .visible-sm-block {\n display: block !important;\n }\n}\n@media (min-width: 768px) and (max-width: 991px) {\n .visible-sm-inline {\n display: inline !important;\n }\n}\n@media (min-width: 768px) and (max-width: 991px) {\n .visible-sm-inline-block {\n display: inline-block !important;\n }\n}\n@media (min-width: 992px) and (max-width: 1199px) {\n .visible-md {\n display: block !important;\n }\n table.visible-md {\n display: table !important;\n }\n tr.visible-md {\n display: table-row !important;\n }\n th.visible-md,\n td.visible-md {\n display: table-cell !important;\n }\n}\n@media (min-width: 992px) and (max-width: 1199px) {\n .visible-md-block {\n display: block !important;\n }\n}\n@media (min-width: 992px) and (max-width: 1199px) {\n .visible-md-inline {\n display: inline !important;\n }\n}\n@media (min-width: 992px) and (max-width: 1199px) {\n .visible-md-inline-block {\n display: inline-block !important;\n }\n}\n@media (min-width: 1200px) {\n .visible-lg {\n display: block !important;\n }\n table.visible-lg {\n display: table !important;\n }\n tr.visible-lg {\n display: table-row !important;\n }\n th.visible-lg,\n td.visible-lg {\n display: table-cell !important;\n }\n}\n@media (min-width: 1200px) {\n .visible-lg-block {\n display: block !important;\n }\n}\n@media (min-width: 1200px) {\n .visible-lg-inline {\n display: inline !important;\n }\n}\n@media (min-width: 1200px) {\n .visible-lg-inline-block {\n display: inline-block !important;\n }\n}\n@media (max-width: 767px) {\n .hidden-xs {\n display: none !important;\n }\n}\n@media (min-width: 768px) and (max-width: 991px) {\n .hidden-sm {\n display: none !important;\n }\n}\n@media (min-width: 992px) and (max-width: 1199px) {\n .hidden-md {\n display: none !important;\n }\n}\n@media (min-width: 1200px) {\n .hidden-lg {\n display: none !important;\n }\n}\n.visible-print {\n display: none !important;\n}\n@media print {\n .visible-print {\n display: block !important;\n }\n table.visible-print {\n display: table !important;\n }\n tr.visible-print {\n display: table-row !important;\n }\n th.visible-print,\n td.visible-print {\n display: table-cell !important;\n }\n}\n.visible-print-block {\n display: none !important;\n}\n@media print {\n .visible-print-block {\n display: block !important;\n }\n}\n.visible-print-inline {\n display: none !important;\n}\n@media print {\n .visible-print-inline {\n display: inline !important;\n }\n}\n.visible-print-inline-block {\n display: none !important;\n}\n@media print {\n .visible-print-inline-block {\n display: inline-block !important;\n }\n}\n@media print {\n .hidden-print {\n display: none !important;\n }\n}\n/*# sourceMappingURL=bootstrap.css.map */","/*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */\n\n//\n// 1. Set default font family to sans-serif.\n// 2. Prevent iOS and IE text size adjust after device orientation change,\n// without disabling user zoom.\n//\n\nhtml {\n font-family: sans-serif; // 1\n -ms-text-size-adjust: 100%; // 2\n -webkit-text-size-adjust: 100%; // 2\n}\n\n//\n// Remove default margin.\n//\n\nbody {\n margin: 0;\n}\n\n// HTML5 display definitions\n// ==========================================================================\n\n//\n// Correct `block` display not defined for any HTML5 element in IE 8/9.\n// Correct `block` display not defined for `details` or `summary` in IE 10/11\n// and Firefox.\n// Correct `block` display not defined for `main` in IE 11.\n//\n\narticle,\naside,\ndetails,\nfigcaption,\nfigure,\nfooter,\nheader,\nhgroup,\nmain,\nmenu,\nnav,\nsection,\nsummary {\n display: block;\n}\n\n//\n// 1. Correct `inline-block` display not defined in IE 8/9.\n// 2. Normalize vertical alignment of `progress` in Chrome, Firefox, and Opera.\n//\n\naudio,\ncanvas,\nprogress,\nvideo {\n display: inline-block; // 1\n vertical-align: baseline; // 2\n}\n\n//\n// Prevent modern browsers from displaying `audio` without controls.\n// Remove excess height in iOS 5 devices.\n//\n\naudio:not([controls]) {\n display: none;\n height: 0;\n}\n\n//\n// Address `[hidden]` styling not present in IE 8/9/10.\n// Hide the `template` element in IE 8/9/10/11, Safari, and Firefox < 22.\n//\n\n[hidden],\ntemplate {\n display: none;\n}\n\n// Links\n// ==========================================================================\n\n//\n// Remove the gray background color from active links in IE 10.\n//\n\na {\n background-color: transparent;\n}\n\n//\n// Improve readability of focused elements when they are also in an\n// active/hover state.\n//\n\na:active,\na:hover {\n outline: 0;\n}\n\n// Text-level semantics\n// ==========================================================================\n\n//\n// Address styling not present in IE 8/9/10/11, Safari, and Chrome.\n//\n\nabbr[title] {\n border-bottom: 1px dotted;\n}\n\n//\n// Address style set to `bolder` in Firefox 4+, Safari, and Chrome.\n//\n\nb,\nstrong {\n font-weight: bold;\n}\n\n//\n// Address styling not present in Safari and Chrome.\n//\n\ndfn {\n font-style: italic;\n}\n\n//\n// Address variable `h1` font-size and margin within `section` and `article`\n// contexts in Firefox 4+, Safari, and Chrome.\n//\n\nh1 {\n font-size: 2em;\n margin: 0.67em 0;\n}\n\n//\n// Address styling not present in IE 8/9.\n//\n\nmark {\n background: #ff0;\n color: #000;\n}\n\n//\n// Address inconsistent and variable font size in all browsers.\n//\n\nsmall {\n font-size: 80%;\n}\n\n//\n// Prevent `sub` and `sup` affecting `line-height` in all browsers.\n//\n\nsub,\nsup {\n font-size: 75%;\n line-height: 0;\n position: relative;\n vertical-align: baseline;\n}\n\nsup {\n top: -0.5em;\n}\n\nsub {\n bottom: -0.25em;\n}\n\n// Embedded content\n// ==========================================================================\n\n//\n// Remove border when inside `a` element in IE 8/9/10.\n//\n\nimg {\n border: 0;\n}\n\n//\n// Correct overflow not hidden in IE 9/10/11.\n//\n\nsvg:not(:root) {\n overflow: hidden;\n}\n\n// Grouping content\n// ==========================================================================\n\n//\n// Address margin not present in IE 8/9 and Safari.\n//\n\nfigure {\n margin: 1em 40px;\n}\n\n//\n// Address differences between Firefox and other browsers.\n//\n\nhr {\n box-sizing: content-box;\n height: 0;\n}\n\n//\n// Contain overflow in all browsers.\n//\n\npre {\n overflow: auto;\n}\n\n//\n// Address odd `em`-unit font size rendering in all browsers.\n//\n\ncode,\nkbd,\npre,\nsamp {\n font-family: monospace, monospace;\n font-size: 1em;\n}\n\n// Forms\n// ==========================================================================\n\n//\n// Known limitation: by default, Chrome and Safari on OS X allow very limited\n// styling of `select`, unless a `border` property is set.\n//\n\n//\n// 1. Correct color not being inherited.\n// Known issue: affects color of disabled elements.\n// 2. Correct font properties not being inherited.\n// 3. Address margins set differently in Firefox 4+, Safari, and Chrome.\n//\n\nbutton,\ninput,\noptgroup,\nselect,\ntextarea {\n color: inherit; // 1\n font: inherit; // 2\n margin: 0; // 3\n}\n\n//\n// Address `overflow` set to `hidden` in IE 8/9/10/11.\n//\n\nbutton {\n overflow: visible;\n}\n\n//\n// Address inconsistent `text-transform` inheritance for `button` and `select`.\n// All other form control elements do not inherit `text-transform` values.\n// Correct `button` style inheritance in Firefox, IE 8/9/10/11, and Opera.\n// Correct `select` style inheritance in Firefox.\n//\n\nbutton,\nselect {\n text-transform: none;\n}\n\n//\n// 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio`\n// and `video` controls.\n// 2. Correct inability to style clickable `input` types in iOS.\n// 3. Improve usability and consistency of cursor style between image-type\n// `input` and others.\n//\n\nbutton,\nhtml input[type=\"button\"], // 1\ninput[type=\"reset\"],\ninput[type=\"submit\"] {\n -webkit-appearance: button; // 2\n cursor: pointer; // 3\n}\n\n//\n// Re-set default cursor for disabled elements.\n//\n\nbutton[disabled],\nhtml input[disabled] {\n cursor: default;\n}\n\n//\n// Remove inner padding and border in Firefox 4+.\n//\n\nbutton::-moz-focus-inner,\ninput::-moz-focus-inner {\n border: 0;\n padding: 0;\n}\n\n//\n// Address Firefox 4+ setting `line-height` on `input` using `!important` in\n// the UA stylesheet.\n//\n\ninput {\n line-height: normal;\n}\n\n//\n// It's recommended that you don't attempt to style these elements.\n// Firefox's implementation doesn't respect box-sizing, padding, or width.\n//\n// 1. Address box sizing set to `content-box` in IE 8/9/10.\n// 2. Remove excess padding in IE 8/9/10.\n//\n\ninput[type=\"checkbox\"],\ninput[type=\"radio\"] {\n box-sizing: border-box; // 1\n padding: 0; // 2\n}\n\n//\n// Fix the cursor style for Chrome's increment/decrement buttons. For certain\n// `font-size` values of the `input`, it causes the cursor style of the\n// decrement button to change from `default` to `text`.\n//\n\ninput[type=\"number\"]::-webkit-inner-spin-button,\ninput[type=\"number\"]::-webkit-outer-spin-button {\n height: auto;\n}\n\n//\n// 1. Address `appearance` set to `searchfield` in Safari and Chrome.\n// 2. Address `box-sizing` set to `border-box` in Safari and Chrome.\n//\n\ninput[type=\"search\"] {\n -webkit-appearance: textfield; // 1\n box-sizing: content-box; //2\n}\n\n//\n// Remove inner padding and search cancel button in Safari and Chrome on OS X.\n// Safari (but not Chrome) clips the cancel button when the search input has\n// padding (and `textfield` appearance).\n//\n\ninput[type=\"search\"]::-webkit-search-cancel-button,\ninput[type=\"search\"]::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n//\n// Define consistent border, margin, and padding.\n//\n\nfieldset {\n border: 1px solid #c0c0c0;\n margin: 0 2px;\n padding: 0.35em 0.625em 0.75em;\n}\n\n//\n// 1. Correct `color` not being inherited in IE 8/9/10/11.\n// 2. Remove padding so people aren't caught out if they zero out fieldsets.\n//\n\nlegend {\n border: 0; // 1\n padding: 0; // 2\n}\n\n//\n// Remove default vertical scrollbar in IE 8/9/10/11.\n//\n\ntextarea {\n overflow: auto;\n}\n\n//\n// Don't inherit the `font-weight` (applied by a rule above).\n// NOTE: the default cannot safely be changed in Chrome and Safari on OS X.\n//\n\noptgroup {\n font-weight: bold;\n}\n\n// Tables\n// ==========================================================================\n\n//\n// Remove most spacing between table cells.\n//\n\ntable {\n border-collapse: collapse;\n border-spacing: 0;\n}\n\ntd,\nth {\n padding: 0;\n}\n","/*! Source: https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css */\n\n// ==========================================================================\n// Print styles.\n// Inlined to avoid the additional HTTP request: h5bp.com/r\n// ==========================================================================\n\n@media print {\n *,\n *:before,\n *:after {\n background: transparent !important;\n color: #000 !important; // Black prints faster: h5bp.com/s\n box-shadow: none !important;\n text-shadow: none !important;\n }\n\n a,\n a:visited {\n text-decoration: underline;\n }\n\n a[href]:after {\n content: \" (\" attr(href) \")\";\n }\n\n abbr[title]:after {\n content: \" (\" attr(title) \")\";\n }\n\n // Don't show links that are fragment identifiers,\n // or use the `javascript:` pseudo protocol\n a[href^=\"#\"]:after,\n a[href^=\"javascript:\"]:after {\n content: \"\";\n }\n\n pre,\n blockquote {\n border: 1px solid #999;\n page-break-inside: avoid;\n }\n\n thead {\n display: table-header-group; // h5bp.com/t\n }\n\n tr,\n img {\n page-break-inside: avoid;\n }\n\n img {\n max-width: 100% !important;\n }\n\n p,\n h2,\n h3 {\n orphans: 3;\n widows: 3;\n }\n\n h2,\n h3 {\n page-break-after: avoid;\n }\n\n // Bootstrap specific changes start\n\n // Bootstrap components\n .navbar {\n display: none;\n }\n .btn,\n .dropup > .btn {\n > .caret {\n border-top-color: #000 !important;\n }\n }\n .label {\n border: 1px solid #000;\n }\n\n .table {\n border-collapse: collapse !important;\n\n td,\n th {\n background-color: #fff !important;\n }\n }\n .table-bordered {\n th,\n td {\n border: 1px solid #ddd !important;\n }\n }\n\n // Bootstrap specific changes end\n}\n","//\n// Glyphicons for Bootstrap\n//\n// Since icons are fonts, they can be placed anywhere text is placed and are\n// thus automatically sized to match the surrounding child. To use, create an\n// inline element with the appropriate classes, like so:\n//\n// <a href=\"#\"><span class=\"glyphicon glyphicon-star\"></span> Star</a>\n\n// Import the fonts\n@font-face {\n font-family: 'Glyphicons Halflings';\n src: url('@{icon-font-path}@{icon-font-name}.eot');\n src: url('@{icon-font-path}@{icon-font-name}.eot?#iefix') format('embedded-opentype'),\n url('@{icon-font-path}@{icon-font-name}.woff2') format('woff2'),\n url('@{icon-font-path}@{icon-font-name}.woff') format('woff'),\n url('@{icon-font-path}@{icon-font-name}.ttf') format('truetype'),\n url('@{icon-font-path}@{icon-font-name}.svg#@{icon-font-svg-id}') format('svg');\n}\n\n// Catchall baseclass\n.glyphicon {\n position: relative;\n top: 1px;\n display: inline-block;\n font-family: 'Glyphicons Halflings';\n font-style: normal;\n font-weight: normal;\n line-height: 1;\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n}\n\n// Individual icons\n.glyphicon-asterisk { &:before { content: \"\\002a\"; } }\n.glyphicon-plus { &:before { content: \"\\002b\"; } }\n.glyphicon-euro,\n.glyphicon-eur { &:before { content: \"\\20ac\"; } }\n.glyphicon-minus { &:before { content: \"\\2212\"; } }\n.glyphicon-cloud { &:before { content: \"\\2601\"; } }\n.glyphicon-envelope { &:before { content: \"\\2709\"; } }\n.glyphicon-pencil { &:before { content: \"\\270f\"; } }\n.glyphicon-glass { &:before { content: \"\\e001\"; } }\n.glyphicon-music { &:before { content: \"\\e002\"; } }\n.glyphicon-search { &:before { content: \"\\e003\"; } }\n.glyphicon-heart { &:before { content: \"\\e005\"; } }\n.glyphicon-star { &:before { content: \"\\e006\"; } }\n.glyphicon-star-empty { &:before { content: \"\\e007\"; } }\n.glyphicon-user { &:before { content: \"\\e008\"; } }\n.glyphicon-film { &:before { content: \"\\e009\"; } }\n.glyphicon-th-large { &:before { content: \"\\e010\"; } }\n.glyphicon-th { &:before { content: \"\\e011\"; } }\n.glyphicon-th-list { &:before { content: \"\\e012\"; } }\n.glyphicon-ok { &:before { content: \"\\e013\"; } }\n.glyphicon-remove { &:before { content: \"\\e014\"; } }\n.glyphicon-zoom-in { &:before { content: \"\\e015\"; } }\n.glyphicon-zoom-out { &:before { content: \"\\e016\"; } }\n.glyphicon-off { &:before { content: \"\\e017\"; } }\n.glyphicon-signal { &:before { content: \"\\e018\"; } }\n.glyphicon-cog { &:before { content: \"\\e019\"; } }\n.glyphicon-trash { &:before { content: \"\\e020\"; } }\n.glyphicon-home { &:before { content: \"\\e021\"; } }\n.glyphicon-file { &:before { content: \"\\e022\"; } }\n.glyphicon-time { &:before { content: \"\\e023\"; } }\n.glyphicon-road { &:before { content: \"\\e024\"; } }\n.glyphicon-download-alt { &:before { content: \"\\e025\"; } }\n.glyphicon-download { &:before { content: \"\\e026\"; } }\n.glyphicon-upload { &:before { content: \"\\e027\"; } }\n.glyphicon-inbox { &:before { content: \"\\e028\"; } }\n.glyphicon-play-circle { &:before { content: \"\\e029\"; } }\n.glyphicon-repeat { &:before { content: \"\\e030\"; } }\n.glyphicon-refresh { &:before { content: \"\\e031\"; } }\n.glyphicon-list-alt { &:before { content: \"\\e032\"; } }\n.glyphicon-lock { &:before { content: \"\\e033\"; } }\n.glyphicon-flag { &:before { content: \"\\e034\"; } }\n.glyphicon-headphones { &:before { content: \"\\e035\"; } }\n.glyphicon-volume-off { &:before { content: \"\\e036\"; } }\n.glyphicon-volume-down { &:before { content: \"\\e037\"; } }\n.glyphicon-volume-up { &:before { content: \"\\e038\"; } }\n.glyphicon-qrcode { &:before { content: \"\\e039\"; } }\n.glyphicon-barcode { &:before { content: \"\\e040\"; } }\n.glyphicon-tag { &:before { content: \"\\e041\"; } }\n.glyphicon-tags { &:before { content: \"\\e042\"; } }\n.glyphicon-book { &:before { content: \"\\e043\"; } }\n.glyphicon-bookmark { &:before { content: \"\\e044\"; } }\n.glyphicon-print { &:before { content: \"\\e045\"; } }\n.glyphicon-camera { &:before { content: \"\\e046\"; } }\n.glyphicon-font { &:before { content: \"\\e047\"; } }\n.glyphicon-bold { &:before { content: \"\\e048\"; } }\n.glyphicon-italic { &:before { content: \"\\e049\"; } }\n.glyphicon-text-height { &:before { content: \"\\e050\"; } }\n.glyphicon-text-width { &:before { content: \"\\e051\"; } }\n.glyphicon-align-left { &:before { content: \"\\e052\"; } }\n.glyphicon-align-center { &:before { content: \"\\e053\"; } }\n.glyphicon-align-right { &:before { content: \"\\e054\"; } }\n.glyphicon-align-justify { &:before { content: \"\\e055\"; } }\n.glyphicon-list { &:before { content: \"\\e056\"; } }\n.glyphicon-indent-left { &:before { content: \"\\e057\"; } }\n.glyphicon-indent-right { &:before { content: \"\\e058\"; } }\n.glyphicon-facetime-video { &:before { content: \"\\e059\"; } }\n.glyphicon-picture { &:before { content: \"\\e060\"; } }\n.glyphicon-map-marker { &:before { content: \"\\e062\"; } }\n.glyphicon-adjust { &:before { content: \"\\e063\"; } }\n.glyphicon-tint { &:before { content: \"\\e064\"; } }\n.glyphicon-edit { &:before { content: \"\\e065\"; } }\n.glyphicon-share { &:before { content: \"\\e066\"; } }\n.glyphicon-check { &:before { content: \"\\e067\"; } }\n.glyphicon-move { &:before { content: \"\\e068\"; } }\n.glyphicon-step-backward { &:before { content: \"\\e069\"; } }\n.glyphicon-fast-backward { &:before { content: \"\\e070\"; } }\n.glyphicon-backward { &:before { content: \"\\e071\"; } }\n.glyphicon-play { &:before { content: \"\\e072\"; } }\n.glyphicon-pause { &:before { content: \"\\e073\"; } }\n.glyphicon-stop { &:before { content: \"\\e074\"; } }\n.glyphicon-forward { &:before { content: \"\\e075\"; } }\n.glyphicon-fast-forward { &:before { content: \"\\e076\"; } }\n.glyphicon-step-forward { &:before { content: \"\\e077\"; } }\n.glyphicon-eject { &:before { content: \"\\e078\"; } }\n.glyphicon-chevron-left { &:before { content: \"\\e079\"; } }\n.glyphicon-chevron-right { &:before { content: \"\\e080\"; } }\n.glyphicon-plus-sign { &:before { content: \"\\e081\"; } }\n.glyphicon-minus-sign { &:before { content: \"\\e082\"; } }\n.glyphicon-remove-sign { &:before { content: \"\\e083\"; } }\n.glyphicon-ok-sign { &:before { content: \"\\e084\"; } }\n.glyphicon-question-sign { &:before { content: \"\\e085\"; } }\n.glyphicon-info-sign { &:before { content: \"\\e086\"; } }\n.glyphicon-screenshot { &:before { content: \"\\e087\"; } }\n.glyphicon-remove-circle { &:before { content: \"\\e088\"; } }\n.glyphicon-ok-circle { &:before { content: \"\\e089\"; } }\n.glyphicon-ban-circle { &:before { content: \"\\e090\"; } }\n.glyphicon-arrow-left { &:before { content: \"\\e091\"; } }\n.glyphicon-arrow-right { &:before { content: \"\\e092\"; } }\n.glyphicon-arrow-up { &:before { content: \"\\e093\"; } }\n.glyphicon-arrow-down { &:before { content: \"\\e094\"; } }\n.glyphicon-share-alt { &:before { content: \"\\e095\"; } }\n.glyphicon-resize-full { &:before { content: \"\\e096\"; } }\n.glyphicon-resize-small { &:before { content: \"\\e097\"; } }\n.glyphicon-exclamation-sign { &:before { content: \"\\e101\"; } }\n.glyphicon-gift { &:before { content: \"\\e102\"; } }\n.glyphicon-leaf { &:before { content: \"\\e103\"; } }\n.glyphicon-fire { &:before { content: \"\\e104\"; } }\n.glyphicon-eye-open { &:before { content: \"\\e105\"; } }\n.glyphicon-eye-close { &:before { content: \"\\e106\"; } }\n.glyphicon-warning-sign { &:before { content: \"\\e107\"; } }\n.glyphicon-plane { &:before { content: \"\\e108\"; } }\n.glyphicon-calendar { &:before { content: \"\\e109\"; } }\n.glyphicon-random { &:before { content: \"\\e110\"; } }\n.glyphicon-comment { &:before { content: \"\\e111\"; } }\n.glyphicon-magnet { &:before { content: \"\\e112\"; } }\n.glyphicon-chevron-up { &:before { content: \"\\e113\"; } }\n.glyphicon-chevron-down { &:before { content: \"\\e114\"; } }\n.glyphicon-retweet { &:before { content: \"\\e115\"; } }\n.glyphicon-shopping-cart { &:before { content: \"\\e116\"; } }\n.glyphicon-folder-close { &:before { content: \"\\e117\"; } }\n.glyphicon-folder-open { &:before { content: \"\\e118\"; } }\n.glyphicon-resize-vertical { &:before { content: \"\\e119\"; } }\n.glyphicon-resize-horizontal { &:before { content: \"\\e120\"; } }\n.glyphicon-hdd { &:before { content: \"\\e121\"; } }\n.glyphicon-bullhorn { &:before { content: \"\\e122\"; } }\n.glyphicon-bell { &:before { content: \"\\e123\"; } }\n.glyphicon-certificate { &:before { content: \"\\e124\"; } }\n.glyphicon-thumbs-up { &:before { content: \"\\e125\"; } }\n.glyphicon-thumbs-down { &:before { content: \"\\e126\"; } }\n.glyphicon-hand-right { &:before { content: \"\\e127\"; } }\n.glyphicon-hand-left { &:before { content: \"\\e128\"; } }\n.glyphicon-hand-up { &:before { content: \"\\e129\"; } }\n.glyphicon-hand-down { &:before { content: \"\\e130\"; } }\n.glyphicon-circle-arrow-right { &:before { content: \"\\e131\"; } }\n.glyphicon-circle-arrow-left { &:before { content: \"\\e132\"; } }\n.glyphicon-circle-arrow-up { &:before { content: \"\\e133\"; } }\n.glyphicon-circle-arrow-down { &:before { content: \"\\e134\"; } }\n.glyphicon-globe { &:before { content: \"\\e135\"; } }\n.glyphicon-wrench { &:before { content: \"\\e136\"; } }\n.glyphicon-tasks { &:before { content: \"\\e137\"; } }\n.glyphicon-filter { &:before { content: \"\\e138\"; } }\n.glyphicon-briefcase { &:before { content: \"\\e139\"; } }\n.glyphicon-fullscreen { &:before { content: \"\\e140\"; } }\n.glyphicon-dashboard { &:before { content: \"\\e141\"; } }\n.glyphicon-paperclip { &:before { content: \"\\e142\"; } }\n.glyphicon-heart-empty { &:before { content: \"\\e143\"; } }\n.glyphicon-link { &:before { content: \"\\e144\"; } }\n.glyphicon-phone { &:before { content: \"\\e145\"; } }\n.glyphicon-pushpin { &:before { content: \"\\e146\"; } }\n.glyphicon-usd { &:before { content: \"\\e148\"; } }\n.glyphicon-gbp { &:before { content: \"\\e149\"; } }\n.glyphicon-sort { &:before { content: \"\\e150\"; } }\n.glyphicon-sort-by-alphabet { &:before { content: \"\\e151\"; } }\n.glyphicon-sort-by-alphabet-alt { &:before { content: \"\\e152\"; } }\n.glyphicon-sort-by-order { &:before { content: \"\\e153\"; } }\n.glyphicon-sort-by-order-alt { &:before { content: \"\\e154\"; } }\n.glyphicon-sort-by-attributes { &:before { content: \"\\e155\"; } }\n.glyphicon-sort-by-attributes-alt { &:before { content: \"\\e156\"; } }\n.glyphicon-unchecked { &:before { content: \"\\e157\"; } }\n.glyphicon-expand { &:before { content: \"\\e158\"; } }\n.glyphicon-collapse-down { &:before { content: \"\\e159\"; } }\n.glyphicon-collapse-up { &:before { content: \"\\e160\"; } }\n.glyphicon-log-in { &:before { content: \"\\e161\"; } }\n.glyphicon-flash { &:before { content: \"\\e162\"; } }\n.glyphicon-log-out { &:before { content: \"\\e163\"; } }\n.glyphicon-new-window { &:before { content: \"\\e164\"; } }\n.glyphicon-record { &:before { content: \"\\e165\"; } }\n.glyphicon-save { &:before { content: \"\\e166\"; } }\n.glyphicon-open { &:before { content: \"\\e167\"; } }\n.glyphicon-saved { &:before { content: \"\\e168\"; } }\n.glyphicon-import { &:before { content: \"\\e169\"; } }\n.glyphicon-export { &:before { content: \"\\e170\"; } }\n.glyphicon-send { &:before { content: \"\\e171\"; } }\n.glyphicon-floppy-disk { &:before { content: \"\\e172\"; } }\n.glyphicon-floppy-saved { &:before { content: \"\\e173\"; } }\n.glyphicon-floppy-remove { &:before { content: \"\\e174\"; } }\n.glyphicon-floppy-save { &:before { content: \"\\e175\"; } }\n.glyphicon-floppy-open { &:before { content: \"\\e176\"; } }\n.glyphicon-credit-card { &:before { content: \"\\e177\"; } }\n.glyphicon-transfer { &:before { content: \"\\e178\"; } }\n.glyphicon-cutlery { &:before { content: \"\\e179\"; } }\n.glyphicon-header { &:before { content: \"\\e180\"; } }\n.glyphicon-compressed { &:before { content: \"\\e181\"; } }\n.glyphicon-earphone { &:before { content: \"\\e182\"; } }\n.glyphicon-phone-alt { &:before { content: \"\\e183\"; } }\n.glyphicon-tower { &:before { content: \"\\e184\"; } }\n.glyphicon-stats { &:before { content: \"\\e185\"; } }\n.glyphicon-sd-video { &:before { content: \"\\e186\"; } }\n.glyphicon-hd-video { &:before { content: \"\\e187\"; } }\n.glyphicon-subtitles { &:before { content: \"\\e188\"; } }\n.glyphicon-sound-stereo { &:before { content: \"\\e189\"; } }\n.glyphicon-sound-dolby { &:before { content: \"\\e190\"; } }\n.glyphicon-sound-5-1 { &:before { content: \"\\e191\"; } }\n.glyphicon-sound-6-1 { &:before { content: \"\\e192\"; } }\n.glyphicon-sound-7-1 { &:before { content: \"\\e193\"; } }\n.glyphicon-copyright-mark { &:before { content: \"\\e194\"; } }\n.glyphicon-registration-mark { &:before { content: \"\\e195\"; } }\n.glyphicon-cloud-download { &:before { content: \"\\e197\"; } }\n.glyphicon-cloud-upload { &:before { content: \"\\e198\"; } }\n.glyphicon-tree-conifer { &:before { content: \"\\e199\"; } }\n.glyphicon-tree-deciduous { &:before { content: \"\\e200\"; } }\n.glyphicon-cd { &:before { content: \"\\e201\"; } }\n.glyphicon-save-file { &:before { content: \"\\e202\"; } }\n.glyphicon-open-file { &:before { content: \"\\e203\"; } }\n.glyphicon-level-up { &:before { content: \"\\e204\"; } }\n.glyphicon-copy { &:before { content: \"\\e205\"; } }\n.glyphicon-paste { &:before { content: \"\\e206\"; } }\n// The following 2 Glyphicons are omitted for the time being because\n// they currently use Unicode codepoints that are outside the\n// Basic Multilingual Plane (BMP). Older buggy versions of WebKit can't handle\n// non-BMP codepoints in CSS string escapes, and thus can't display these two icons.\n// Notably, the bug affects some older versions of the Android Browser.\n// More info: https://github.com/twbs/bootstrap/issues/10106\n// .glyphicon-door { &:before { content: \"\\1f6aa\"; } }\n// .glyphicon-key { &:before { content: \"\\1f511\"; } }\n.glyphicon-alert { &:before { content: \"\\e209\"; } }\n.glyphicon-equalizer { &:before { content: \"\\e210\"; } }\n.glyphicon-king { &:before { content: \"\\e211\"; } }\n.glyphicon-queen { &:before { content: \"\\e212\"; } }\n.glyphicon-pawn { &:before { content: \"\\e213\"; } }\n.glyphicon-bishop { &:before { content: \"\\e214\"; } }\n.glyphicon-knight { &:before { content: \"\\e215\"; } }\n.glyphicon-baby-formula { &:before { content: \"\\e216\"; } }\n.glyphicon-tent { &:before { content: \"\\26fa\"; } }\n.glyphicon-blackboard { &:before { content: \"\\e218\"; } }\n.glyphicon-bed { &:before { content: \"\\e219\"; } }\n.glyphicon-apple { &:before { content: \"\\f8ff\"; } }\n.glyphicon-erase { &:before { content: \"\\e221\"; } }\n.glyphicon-hourglass { &:before { content: \"\\231b\"; } }\n.glyphicon-lamp { &:before { content: \"\\e223\"; } }\n.glyphicon-duplicate { &:before { content: \"\\e224\"; } }\n.glyphicon-piggy-bank { &:before { content: \"\\e225\"; } }\n.glyphicon-scissors { &:before { content: \"\\e226\"; } }\n.glyphicon-bitcoin { &:before { content: \"\\e227\"; } }\n.glyphicon-btc { &:before { content: \"\\e227\"; } }\n.glyphicon-xbt { &:before { content: \"\\e227\"; } }\n.glyphicon-yen { &:before { content: \"\\00a5\"; } }\n.glyphicon-jpy { &:before { content: \"\\00a5\"; } }\n.glyphicon-ruble { &:before { content: \"\\20bd\"; } }\n.glyphicon-rub { &:before { content: \"\\20bd\"; } }\n.glyphicon-scale { &:before { content: \"\\e230\"; } }\n.glyphicon-ice-lolly { &:before { content: \"\\e231\"; } }\n.glyphicon-ice-lolly-tasted { &:before { content: \"\\e232\"; } }\n.glyphicon-education { &:before { content: \"\\e233\"; } }\n.glyphicon-option-horizontal { &:before { content: \"\\e234\"; } }\n.glyphicon-option-vertical { &:before { content: \"\\e235\"; } }\n.glyphicon-menu-hamburger { &:before { content: \"\\e236\"; } }\n.glyphicon-modal-window { &:before { content: \"\\e237\"; } }\n.glyphicon-oil { &:before { content: \"\\e238\"; } }\n.glyphicon-grain { &:before { content: \"\\e239\"; } }\n.glyphicon-sunglasses { &:before { content: \"\\e240\"; } }\n.glyphicon-text-size { &:before { content: \"\\e241\"; } }\n.glyphicon-text-color { &:before { content: \"\\e242\"; } }\n.glyphicon-text-background { &:before { content: \"\\e243\"; } }\n.glyphicon-object-align-top { &:before { content: \"\\e244\"; } }\n.glyphicon-object-align-bottom { &:before { content: \"\\e245\"; } }\n.glyphicon-object-align-horizontal{ &:before { content: \"\\e246\"; } }\n.glyphicon-object-align-left { &:before { content: \"\\e247\"; } }\n.glyphicon-object-align-vertical { &:before { content: \"\\e248\"; } }\n.glyphicon-object-align-right { &:before { content: \"\\e249\"; } }\n.glyphicon-triangle-right { &:before { content: \"\\e250\"; } }\n.glyphicon-triangle-left { &:before { content: \"\\e251\"; } }\n.glyphicon-triangle-bottom { &:before { content: \"\\e252\"; } }\n.glyphicon-triangle-top { &:before { content: \"\\e253\"; } }\n.glyphicon-console { &:before { content: \"\\e254\"; } }\n.glyphicon-superscript { &:before { content: \"\\e255\"; } }\n.glyphicon-subscript { &:before { content: \"\\e256\"; } }\n.glyphicon-menu-left { &:before { content: \"\\e257\"; } }\n.glyphicon-menu-right { &:before { content: \"\\e258\"; } }\n.glyphicon-menu-down { &:before { content: \"\\e259\"; } }\n.glyphicon-menu-up { &:before { content: \"\\e260\"; } }\n","//\n// Scaffolding\n// --------------------------------------------------\n\n\n// Reset the box-sizing\n//\n// Heads up! This reset may cause conflicts with some third-party widgets.\n// For recommendations on resolving such conflicts, see\n// http://getbootstrap.com/getting-started/#third-box-sizing\n* {\n .box-sizing(border-box);\n}\n*:before,\n*:after {\n .box-sizing(border-box);\n}\n\n\n// Body reset\n\nhtml {\n font-size: 10px;\n -webkit-tap-highlight-color: rgba(0,0,0,0);\n}\n\nbody {\n font-family: @font-family-base;\n font-size: @font-size-base;\n line-height: @line-height-base;\n color: @text-color;\n background-color: @body-bg;\n}\n\n// Reset fonts for relevant elements\ninput,\nbutton,\nselect,\ntextarea {\n font-family: inherit;\n font-size: inherit;\n line-height: inherit;\n}\n\n\n// Links\n\na {\n color: @link-color;\n text-decoration: none;\n\n &:hover,\n &:focus {\n color: @link-hover-color;\n text-decoration: @link-hover-decoration;\n }\n\n &:focus {\n .tab-focus();\n }\n}\n\n\n// Figures\n//\n// We reset this here because previously Normalize had no `figure` margins. This\n// ensures we don't break anyone's use of the element.\n\nfigure {\n margin: 0;\n}\n\n\n// Images\n\nimg {\n vertical-align: middle;\n}\n\n// Responsive images (ensure images don't scale beyond their parents)\n.img-responsive {\n .img-responsive();\n}\n\n// Rounded corners\n.img-rounded {\n border-radius: @border-radius-large;\n}\n\n// Image thumbnails\n//\n// Heads up! This is mixin-ed into thumbnails.less for `.thumbnail`.\n.img-thumbnail {\n padding: @thumbnail-padding;\n line-height: @line-height-base;\n background-color: @thumbnail-bg;\n border: 1px solid @thumbnail-border;\n border-radius: @thumbnail-border-radius;\n .transition(all .2s ease-in-out);\n\n // Keep them at most 100% wide\n .img-responsive(inline-block);\n}\n\n// Perfect circle\n.img-circle {\n border-radius: 50%; // set radius in percents\n}\n\n\n// Horizontal rules\n\nhr {\n margin-top: @line-height-computed;\n margin-bottom: @line-height-computed;\n border: 0;\n border-top: 1px solid @hr-border;\n}\n\n\n// Only display content to screen readers\n//\n// See: http://a11yproject.com/posts/how-to-hide-content\n\n.sr-only {\n position: absolute;\n width: 1px;\n height: 1px;\n margin: -1px;\n padding: 0;\n overflow: hidden;\n clip: rect(0,0,0,0);\n border: 0;\n}\n\n// Use in conjunction with .sr-only to only display content when it's focused.\n// Useful for \"Skip to main content\" links; see http://www.w3.org/TR/2013/NOTE-WCAG20-TECHS-20130905/G1\n// Credit: HTML5 Boilerplate\n\n.sr-only-focusable {\n &:active,\n &:focus {\n position: static;\n width: auto;\n height: auto;\n margin: 0;\n overflow: visible;\n clip: auto;\n }\n}\n\n\n// iOS \"clickable elements\" fix for role=\"button\"\n//\n// Fixes \"clickability\" issue (and more generally, the firing of events such as focus as well)\n// for traditionally non-focusable elements with role=\"button\"\n// see https://developer.mozilla.org/en-US/docs/Web/Events/click#Safari_Mobile\n\n[role=\"button\"] {\n cursor: pointer;\n}\n","// Vendor Prefixes\n//\n// All vendor mixins are deprecated as of v3.2.0 due to the introduction of\n// Autoprefixer in our Gruntfile. They have been removed in v4.\n\n// - Animations\n// - Backface visibility\n// - Box shadow\n// - Box sizing\n// - Content columns\n// - Hyphens\n// - Placeholder text\n// - Transformations\n// - Transitions\n// - User Select\n\n\n// Animations\n.animation(@animation) {\n -webkit-animation: @animation;\n -o-animation: @animation;\n animation: @animation;\n}\n.animation-name(@name) {\n -webkit-animation-name: @name;\n animation-name: @name;\n}\n.animation-duration(@duration) {\n -webkit-animation-duration: @duration;\n animation-duration: @duration;\n}\n.animation-timing-function(@timing-function) {\n -webkit-animation-timing-function: @timing-function;\n animation-timing-function: @timing-function;\n}\n.animation-delay(@delay) {\n -webkit-animation-delay: @delay;\n animation-delay: @delay;\n}\n.animation-iteration-count(@iteration-count) {\n -webkit-animation-iteration-count: @iteration-count;\n animation-iteration-count: @iteration-count;\n}\n.animation-direction(@direction) {\n -webkit-animation-direction: @direction;\n animation-direction: @direction;\n}\n.animation-fill-mode(@fill-mode) {\n -webkit-animation-fill-mode: @fill-mode;\n animation-fill-mode: @fill-mode;\n}\n\n// Backface visibility\n// Prevent browsers from flickering when using CSS 3D transforms.\n// Default value is `visible`, but can be changed to `hidden`\n\n.backface-visibility(@visibility) {\n -webkit-backface-visibility: @visibility;\n -moz-backface-visibility: @visibility;\n backface-visibility: @visibility;\n}\n\n// Drop shadows\n//\n// Note: Deprecated `.box-shadow()` as of v3.1.0 since all of Bootstrap's\n// supported browsers that have box shadow capabilities now support it.\n\n.box-shadow(@shadow) {\n -webkit-box-shadow: @shadow; // iOS <4.3 & Android <4.1\n box-shadow: @shadow;\n}\n\n// Box sizing\n.box-sizing(@boxmodel) {\n -webkit-box-sizing: @boxmodel;\n -moz-box-sizing: @boxmodel;\n box-sizing: @boxmodel;\n}\n\n// CSS3 Content Columns\n.content-columns(@column-count; @column-gap: @grid-gutter-width) {\n -webkit-column-count: @column-count;\n -moz-column-count: @column-count;\n column-count: @column-count;\n -webkit-column-gap: @column-gap;\n -moz-column-gap: @column-gap;\n column-gap: @column-gap;\n}\n\n// Optional hyphenation\n.hyphens(@mode: auto) {\n word-wrap: break-word;\n -webkit-hyphens: @mode;\n -moz-hyphens: @mode;\n -ms-hyphens: @mode; // IE10+\n -o-hyphens: @mode;\n hyphens: @mode;\n}\n\n// Placeholder text\n.placeholder(@color: @input-color-placeholder) {\n // Firefox\n &::-moz-placeholder {\n color: @color;\n opacity: 1; // Override Firefox's unusual default opacity; see https://github.com/twbs/bootstrap/pull/11526\n }\n &:-ms-input-placeholder { color: @color; } // Internet Explorer 10+\n &::-webkit-input-placeholder { color: @color; } // Safari and Chrome\n}\n\n// Transformations\n.scale(@ratio) {\n -webkit-transform: scale(@ratio);\n -ms-transform: scale(@ratio); // IE9 only\n -o-transform: scale(@ratio);\n transform: scale(@ratio);\n}\n.scale(@ratioX; @ratioY) {\n -webkit-transform: scale(@ratioX, @ratioY);\n -ms-transform: scale(@ratioX, @ratioY); // IE9 only\n -o-transform: scale(@ratioX, @ratioY);\n transform: scale(@ratioX, @ratioY);\n}\n.scaleX(@ratio) {\n -webkit-transform: scaleX(@ratio);\n -ms-transform: scaleX(@ratio); // IE9 only\n -o-transform: scaleX(@ratio);\n transform: scaleX(@ratio);\n}\n.scaleY(@ratio) {\n -webkit-transform: scaleY(@ratio);\n -ms-transform: scaleY(@ratio); // IE9 only\n -o-transform: scaleY(@ratio);\n transform: scaleY(@ratio);\n}\n.skew(@x; @y) {\n -webkit-transform: skewX(@x) skewY(@y);\n -ms-transform: skewX(@x) skewY(@y); // See https://github.com/twbs/bootstrap/issues/4885; IE9+\n -o-transform: skewX(@x) skewY(@y);\n transform: skewX(@x) skewY(@y);\n}\n.translate(@x; @y) {\n -webkit-transform: translate(@x, @y);\n -ms-transform: translate(@x, @y); // IE9 only\n -o-transform: translate(@x, @y);\n transform: translate(@x, @y);\n}\n.translate3d(@x; @y; @z) {\n -webkit-transform: translate3d(@x, @y, @z);\n transform: translate3d(@x, @y, @z);\n}\n.rotate(@degrees) {\n -webkit-transform: rotate(@degrees);\n -ms-transform: rotate(@degrees); // IE9 only\n -o-transform: rotate(@degrees);\n transform: rotate(@degrees);\n}\n.rotateX(@degrees) {\n -webkit-transform: rotateX(@degrees);\n -ms-transform: rotateX(@degrees); // IE9 only\n -o-transform: rotateX(@degrees);\n transform: rotateX(@degrees);\n}\n.rotateY(@degrees) {\n -webkit-transform: rotateY(@degrees);\n -ms-transform: rotateY(@degrees); // IE9 only\n -o-transform: rotateY(@degrees);\n transform: rotateY(@degrees);\n}\n.perspective(@perspective) {\n -webkit-perspective: @perspective;\n -moz-perspective: @perspective;\n perspective: @perspective;\n}\n.perspective-origin(@perspective) {\n -webkit-perspective-origin: @perspective;\n -moz-perspective-origin: @perspective;\n perspective-origin: @perspective;\n}\n.transform-origin(@origin) {\n -webkit-transform-origin: @origin;\n -moz-transform-origin: @origin;\n -ms-transform-origin: @origin; // IE9 only\n transform-origin: @origin;\n}\n\n\n// Transitions\n\n.transition(@transition) {\n -webkit-transition: @transition;\n -o-transition: @transition;\n transition: @transition;\n}\n.transition-property(@transition-property) {\n -webkit-transition-property: @transition-property;\n transition-property: @transition-property;\n}\n.transition-delay(@transition-delay) {\n -webkit-transition-delay: @transition-delay;\n transition-delay: @transition-delay;\n}\n.transition-duration(@transition-duration) {\n -webkit-transition-duration: @transition-duration;\n transition-duration: @transition-duration;\n}\n.transition-timing-function(@timing-function) {\n -webkit-transition-timing-function: @timing-function;\n transition-timing-function: @timing-function;\n}\n.transition-transform(@transition) {\n -webkit-transition: -webkit-transform @transition;\n -moz-transition: -moz-transform @transition;\n -o-transition: -o-transform @transition;\n transition: transform @transition;\n}\n\n\n// User select\n// For selecting text on the page\n\n.user-select(@select) {\n -webkit-user-select: @select;\n -moz-user-select: @select;\n -ms-user-select: @select; // IE10+\n user-select: @select;\n}\n","// WebKit-style focus\n\n.tab-focus() {\n // WebKit-specific. Other browsers will keep their default outline style.\n // (Initially tried to also force default via `outline: initial`,\n // but that seems to erroneously remove the outline in Firefox altogether.)\n outline: 5px auto -webkit-focus-ring-color;\n outline-offset: -2px;\n}\n","// Image Mixins\n// - Responsive image\n// - Retina image\n\n\n// Responsive image\n//\n// Keep images from scaling beyond the width of their parents.\n.img-responsive(@display: block) {\n display: @display;\n max-width: 100%; // Part 1: Set a maximum relative to the parent\n height: auto; // Part 2: Scale the height according to the width, otherwise you get stretching\n}\n\n\n// Retina image\n//\n// Short retina mixin for setting background-image and -size. Note that the\n// spelling of `min--moz-device-pixel-ratio` is intentional.\n.img-retina(@file-1x; @file-2x; @width-1x; @height-1x) {\n background-image: url(\"@{file-1x}\");\n\n @media\n only screen and (-webkit-min-device-pixel-ratio: 2),\n only screen and ( min--moz-device-pixel-ratio: 2),\n only screen and ( -o-min-device-pixel-ratio: 2/1),\n only screen and ( min-device-pixel-ratio: 2),\n only screen and ( min-resolution: 192dpi),\n only screen and ( min-resolution: 2dppx) {\n background-image: url(\"@{file-2x}\");\n background-size: @width-1x @height-1x;\n }\n}\n","//\n// Typography\n// --------------------------------------------------\n\n\n// Headings\n// -------------------------\n\nh1, h2, h3, h4, h5, h6,\n.h1, .h2, .h3, .h4, .h5, .h6 {\n font-family: @headings-font-family;\n font-weight: @headings-font-weight;\n line-height: @headings-line-height;\n color: @headings-color;\n\n small,\n .small {\n font-weight: normal;\n line-height: 1;\n color: @headings-small-color;\n }\n}\n\nh1, .h1,\nh2, .h2,\nh3, .h3 {\n margin-top: @line-height-computed;\n margin-bottom: (@line-height-computed / 2);\n\n small,\n .small {\n font-size: 65%;\n }\n}\nh4, .h4,\nh5, .h5,\nh6, .h6 {\n margin-top: (@line-height-computed / 2);\n margin-bottom: (@line-height-computed / 2);\n\n small,\n .small {\n font-size: 75%;\n }\n}\n\nh1, .h1 { font-size: @font-size-h1; }\nh2, .h2 { font-size: @font-size-h2; }\nh3, .h3 { font-size: @font-size-h3; }\nh4, .h4 { font-size: @font-size-h4; }\nh5, .h5 { font-size: @font-size-h5; }\nh6, .h6 { font-size: @font-size-h6; }\n\n\n// Body text\n// -------------------------\n\np {\n margin: 0 0 (@line-height-computed / 2);\n}\n\n.lead {\n margin-bottom: @line-height-computed;\n font-size: floor((@font-size-base * 1.15));\n font-weight: 300;\n line-height: 1.4;\n\n @media (min-width: @screen-sm-min) {\n font-size: (@font-size-base * 1.5);\n }\n}\n\n\n// Emphasis & misc\n// -------------------------\n\n// Ex: (12px small font / 14px base font) * 100% = about 85%\nsmall,\n.small {\n font-size: floor((100% * @font-size-small / @font-size-base));\n}\n\nmark,\n.mark {\n background-color: @state-warning-bg;\n padding: .2em;\n}\n\n// Alignment\n.text-left { text-align: left; }\n.text-right { text-align: right; }\n.text-center { text-align: center; }\n.text-justify { text-align: justify; }\n.text-nowrap { white-space: nowrap; }\n\n// Transformation\n.text-lowercase { text-transform: lowercase; }\n.text-uppercase { text-transform: uppercase; }\n.text-capitalize { text-transform: capitalize; }\n\n// Contextual colors\n.text-muted {\n color: @text-muted;\n}\n.text-primary {\n .text-emphasis-variant(@brand-primary);\n}\n.text-success {\n .text-emphasis-variant(@state-success-text);\n}\n.text-info {\n .text-emphasis-variant(@state-info-text);\n}\n.text-warning {\n .text-emphasis-variant(@state-warning-text);\n}\n.text-danger {\n .text-emphasis-variant(@state-danger-text);\n}\n\n// Contextual backgrounds\n// For now we'll leave these alongside the text classes until v4 when we can\n// safely shift things around (per SemVer rules).\n.bg-primary {\n // Given the contrast here, this is the only class to have its color inverted\n // automatically.\n color: #fff;\n .bg-variant(@brand-primary);\n}\n.bg-success {\n .bg-variant(@state-success-bg);\n}\n.bg-info {\n .bg-variant(@state-info-bg);\n}\n.bg-warning {\n .bg-variant(@state-warning-bg);\n}\n.bg-danger {\n .bg-variant(@state-danger-bg);\n}\n\n\n// Page header\n// -------------------------\n\n.page-header {\n padding-bottom: ((@line-height-computed / 2) - 1);\n margin: (@line-height-computed * 2) 0 @line-height-computed;\n border-bottom: 1px solid @page-header-border-color;\n}\n\n\n// Lists\n// -------------------------\n\n// Unordered and Ordered lists\nul,\nol {\n margin-top: 0;\n margin-bottom: (@line-height-computed / 2);\n ul,\n ol {\n margin-bottom: 0;\n }\n}\n\n// List options\n\n// Unstyled keeps list items block level, just removes default browser padding and list-style\n.list-unstyled {\n padding-left: 0;\n list-style: none;\n}\n\n// Inline turns list items into inline-block\n.list-inline {\n .list-unstyled();\n margin-left: -5px;\n\n > li {\n display: inline-block;\n padding-left: 5px;\n padding-right: 5px;\n }\n}\n\n// Description Lists\ndl {\n margin-top: 0; // Remove browser default\n margin-bottom: @line-height-computed;\n}\ndt,\ndd {\n line-height: @line-height-base;\n}\ndt {\n font-weight: bold;\n}\ndd {\n margin-left: 0; // Undo browser default\n}\n\n// Horizontal description lists\n//\n// Defaults to being stacked without any of the below styles applied, until the\n// grid breakpoint is reached (default of ~768px).\n\n.dl-horizontal {\n dd {\n &:extend(.clearfix all); // Clear the floated `dt` if an empty `dd` is present\n }\n\n @media (min-width: @dl-horizontal-breakpoint) {\n dt {\n float: left;\n width: (@dl-horizontal-offset - 20);\n clear: left;\n text-align: right;\n .text-overflow();\n }\n dd {\n margin-left: @dl-horizontal-offset;\n }\n }\n}\n\n\n// Misc\n// -------------------------\n\n// Abbreviations and acronyms\nabbr[title],\n// Add data-* attribute to help out our tooltip plugin, per https://github.com/twbs/bootstrap/issues/5257\nabbr[data-original-title] {\n cursor: help;\n border-bottom: 1px dotted @abbr-border-color;\n}\n.initialism {\n font-size: 90%;\n .text-uppercase();\n}\n\n// Blockquotes\nblockquote {\n padding: (@line-height-computed / 2) @line-height-computed;\n margin: 0 0 @line-height-computed;\n font-size: @blockquote-font-size;\n border-left: 5px solid @blockquote-border-color;\n\n p,\n ul,\n ol {\n &:last-child {\n margin-bottom: 0;\n }\n }\n\n // Note: Deprecated small and .small as of v3.1.0\n // Context: https://github.com/twbs/bootstrap/issues/11660\n footer,\n small,\n .small {\n display: block;\n font-size: 80%; // back to default font-size\n line-height: @line-height-base;\n color: @blockquote-small-color;\n\n &:before {\n content: '\\2014 \\00A0'; // em dash, nbsp\n }\n }\n}\n\n// Opposite alignment of blockquote\n//\n// Heads up: `blockquote.pull-right` has been deprecated as of v3.1.0.\n.blockquote-reverse,\nblockquote.pull-right {\n padding-right: 15px;\n padding-left: 0;\n border-right: 5px solid @blockquote-border-color;\n border-left: 0;\n text-align: right;\n\n // Account for citation\n footer,\n small,\n .small {\n &:before { content: ''; }\n &:after {\n content: '\\00A0 \\2014'; // nbsp, em dash\n }\n }\n}\n\n// Addresses\naddress {\n margin-bottom: @line-height-computed;\n font-style: normal;\n line-height: @line-height-base;\n}\n","// Typography\n\n.text-emphasis-variant(@color) {\n color: @color;\n a&:hover,\n a&:focus {\n color: darken(@color, 10%);\n }\n}\n","// Contextual backgrounds\n\n.bg-variant(@color) {\n background-color: @color;\n a&:hover,\n a&:focus {\n background-color: darken(@color, 10%);\n }\n}\n","// Text overflow\n// Requires inline-block or block for proper styling\n\n.text-overflow() {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n","//\n// Code (inline and block)\n// --------------------------------------------------\n\n\n// Inline and block code styles\ncode,\nkbd,\npre,\nsamp {\n font-family: @font-family-monospace;\n}\n\n// Inline code\ncode {\n padding: 2px 4px;\n font-size: 90%;\n color: @code-color;\n background-color: @code-bg;\n border-radius: @border-radius-base;\n}\n\n// User input typically entered via keyboard\nkbd {\n padding: 2px 4px;\n font-size: 90%;\n color: @kbd-color;\n background-color: @kbd-bg;\n border-radius: @border-radius-small;\n box-shadow: inset 0 -1px 0 rgba(0,0,0,.25);\n\n kbd {\n padding: 0;\n font-size: 100%;\n font-weight: bold;\n box-shadow: none;\n }\n}\n\n// Blocks of code\npre {\n display: block;\n padding: ((@line-height-computed - 1) / 2);\n margin: 0 0 (@line-height-computed / 2);\n font-size: (@font-size-base - 1); // 14px to 13px\n line-height: @line-height-base;\n word-break: break-all;\n word-wrap: break-word;\n color: @pre-color;\n background-color: @pre-bg;\n border: 1px solid @pre-border-color;\n border-radius: @border-radius-base;\n\n // Account for some code outputs that place code tags in pre tags\n code {\n padding: 0;\n font-size: inherit;\n color: inherit;\n white-space: pre-wrap;\n background-color: transparent;\n border-radius: 0;\n }\n}\n\n// Enable scrollable blocks of code\n.pre-scrollable {\n max-height: @pre-scrollable-max-height;\n overflow-y: scroll;\n}\n","//\n// Grid system\n// --------------------------------------------------\n\n\n// Container widths\n//\n// Set the container width, and override it for fixed navbars in media queries.\n\n.container {\n .container-fixed();\n\n @media (min-width: @screen-sm-min) {\n width: @container-sm;\n }\n @media (min-width: @screen-md-min) {\n width: @container-md;\n }\n @media (min-width: @screen-lg-min) {\n width: @container-lg;\n }\n}\n\n\n// Fluid container\n//\n// Utilizes the mixin meant for fixed width containers, but without any defined\n// width for fluid, full width layouts.\n\n.container-fluid {\n .container-fixed();\n}\n\n\n// Row\n//\n// Rows contain and clear the floats of your columns.\n\n.row {\n .make-row();\n}\n\n\n// Columns\n//\n// Common styles for small and large grid columns\n\n.make-grid-columns();\n\n\n// Extra small grid\n//\n// Columns, offsets, pushes, and pulls for extra small devices like\n// smartphones.\n\n.make-grid(xs);\n\n\n// Small grid\n//\n// Columns, offsets, pushes, and pulls for the small device range, from phones\n// to tablets.\n\n@media (min-width: @screen-sm-min) {\n .make-grid(sm);\n}\n\n\n// Medium grid\n//\n// Columns, offsets, pushes, and pulls for the desktop device range.\n\n@media (min-width: @screen-md-min) {\n .make-grid(md);\n}\n\n\n// Large grid\n//\n// Columns, offsets, pushes, and pulls for the large desktop device range.\n\n@media (min-width: @screen-lg-min) {\n .make-grid(lg);\n}\n","// Grid system\n//\n// Generate semantic grid columns with these mixins.\n\n// Centered container element\n.container-fixed(@gutter: @grid-gutter-width) {\n margin-right: auto;\n margin-left: auto;\n padding-left: floor((@gutter / 2));\n padding-right: ceil((@gutter / 2));\n &:extend(.clearfix all);\n}\n\n// Creates a wrapper for a series of columns\n.make-row(@gutter: @grid-gutter-width) {\n margin-left: ceil((@gutter / -2));\n margin-right: floor((@gutter / -2));\n &:extend(.clearfix all);\n}\n\n// Generate the extra small columns\n.make-xs-column(@columns; @gutter: @grid-gutter-width) {\n position: relative;\n float: left;\n width: percentage((@columns / @grid-columns));\n min-height: 1px;\n padding-left: (@gutter / 2);\n padding-right: (@gutter / 2);\n}\n.make-xs-column-offset(@columns) {\n margin-left: percentage((@columns / @grid-columns));\n}\n.make-xs-column-push(@columns) {\n left: percentage((@columns / @grid-columns));\n}\n.make-xs-column-pull(@columns) {\n right: percentage((@columns / @grid-columns));\n}\n\n// Generate the small columns\n.make-sm-column(@columns; @gutter: @grid-gutter-width) {\n position: relative;\n min-height: 1px;\n padding-left: (@gutter / 2);\n padding-right: (@gutter / 2);\n\n @media (min-width: @screen-sm-min) {\n float: left;\n width: percentage((@columns / @grid-columns));\n }\n}\n.make-sm-column-offset(@columns) {\n @media (min-width: @screen-sm-min) {\n margin-left: percentage((@columns / @grid-columns));\n }\n}\n.make-sm-column-push(@columns) {\n @media (min-width: @screen-sm-min) {\n left: percentage((@columns / @grid-columns));\n }\n}\n.make-sm-column-pull(@columns) {\n @media (min-width: @screen-sm-min) {\n right: percentage((@columns / @grid-columns));\n }\n}\n\n// Generate the medium columns\n.make-md-column(@columns; @gutter: @grid-gutter-width) {\n position: relative;\n min-height: 1px;\n padding-left: (@gutter / 2);\n padding-right: (@gutter / 2);\n\n @media (min-width: @screen-md-min) {\n float: left;\n width: percentage((@columns / @grid-columns));\n }\n}\n.make-md-column-offset(@columns) {\n @media (min-width: @screen-md-min) {\n margin-left: percentage((@columns / @grid-columns));\n }\n}\n.make-md-column-push(@columns) {\n @media (min-width: @screen-md-min) {\n left: percentage((@columns / @grid-columns));\n }\n}\n.make-md-column-pull(@columns) {\n @media (min-width: @screen-md-min) {\n right: percentage((@columns / @grid-columns));\n }\n}\n\n// Generate the large columns\n.make-lg-column(@columns; @gutter: @grid-gutter-width) {\n position: relative;\n min-height: 1px;\n padding-left: (@gutter / 2);\n padding-right: (@gutter / 2);\n\n @media (min-width: @screen-lg-min) {\n float: left;\n width: percentage((@columns / @grid-columns));\n }\n}\n.make-lg-column-offset(@columns) {\n @media (min-width: @screen-lg-min) {\n margin-left: percentage((@columns / @grid-columns));\n }\n}\n.make-lg-column-push(@columns) {\n @media (min-width: @screen-lg-min) {\n left: percentage((@columns / @grid-columns));\n }\n}\n.make-lg-column-pull(@columns) {\n @media (min-width: @screen-lg-min) {\n right: percentage((@columns / @grid-columns));\n }\n}\n","// Framework grid generation\n//\n// Used only by Bootstrap to generate the correct number of grid classes given\n// any value of `@grid-columns`.\n\n.make-grid-columns() {\n // Common styles for all sizes of grid columns, widths 1-12\n .col(@index) { // initial\n @item: ~\".col-xs-@{index}, .col-sm-@{index}, .col-md-@{index}, .col-lg-@{index}\";\n .col((@index + 1), @item);\n }\n .col(@index, @list) when (@index =< @grid-columns) { // general; \"=<\" isn't a typo\n @item: ~\".col-xs-@{index}, .col-sm-@{index}, .col-md-@{index}, .col-lg-@{index}\";\n .col((@index + 1), ~\"@{list}, @{item}\");\n }\n .col(@index, @list) when (@index > @grid-columns) { // terminal\n @{list} {\n position: relative;\n // Prevent columns from collapsing when empty\n min-height: 1px;\n // Inner gutter via padding\n padding-left: ceil((@grid-gutter-width / 2));\n padding-right: floor((@grid-gutter-width / 2));\n }\n }\n .col(1); // kickstart it\n}\n\n.float-grid-columns(@class) {\n .col(@index) { // initial\n @item: ~\".col-@{class}-@{index}\";\n .col((@index + 1), @item);\n }\n .col(@index, @list) when (@index =< @grid-columns) { // general\n @item: ~\".col-@{class}-@{index}\";\n .col((@index + 1), ~\"@{list}, @{item}\");\n }\n .col(@index, @list) when (@index > @grid-columns) { // terminal\n @{list} {\n float: left;\n }\n }\n .col(1); // kickstart it\n}\n\n.calc-grid-column(@index, @class, @type) when (@type = width) and (@index > 0) {\n .col-@{class}-@{index} {\n width: percentage((@index / @grid-columns));\n }\n}\n.calc-grid-column(@index, @class, @type) when (@type = push) and (@index > 0) {\n .col-@{class}-push-@{index} {\n left: percentage((@index / @grid-columns));\n }\n}\n.calc-grid-column(@index, @class, @type) when (@type = push) and (@index = 0) {\n .col-@{class}-push-0 {\n left: auto;\n }\n}\n.calc-grid-column(@index, @class, @type) when (@type = pull) and (@index > 0) {\n .col-@{class}-pull-@{index} {\n right: percentage((@index / @grid-columns));\n }\n}\n.calc-grid-column(@index, @class, @type) when (@type = pull) and (@index = 0) {\n .col-@{class}-pull-0 {\n right: auto;\n }\n}\n.calc-grid-column(@index, @class, @type) when (@type = offset) {\n .col-@{class}-offset-@{index} {\n margin-left: percentage((@index / @grid-columns));\n }\n}\n\n// Basic looping in LESS\n.loop-grid-columns(@index, @class, @type) when (@index >= 0) {\n .calc-grid-column(@index, @class, @type);\n // next iteration\n .loop-grid-columns((@index - 1), @class, @type);\n}\n\n// Create grid for specific class\n.make-grid(@class) {\n .float-grid-columns(@class);\n .loop-grid-columns(@grid-columns, @class, width);\n .loop-grid-columns(@grid-columns, @class, pull);\n .loop-grid-columns(@grid-columns, @class, push);\n .loop-grid-columns(@grid-columns, @class, offset);\n}\n","//\n// Tables\n// --------------------------------------------------\n\n\ntable {\n background-color: @table-bg;\n}\ncaption {\n padding-top: @table-cell-padding;\n padding-bottom: @table-cell-padding;\n color: @text-muted;\n text-align: left;\n}\nth {\n text-align: left;\n}\n\n\n// Baseline styles\n\n.table {\n width: 100%;\n max-width: 100%;\n margin-bottom: @line-height-computed;\n // Cells\n > thead,\n > tbody,\n > tfoot {\n > tr {\n > th,\n > td {\n padding: @table-cell-padding;\n line-height: @line-height-base;\n vertical-align: top;\n border-top: 1px solid @table-border-color;\n }\n }\n }\n // Bottom align for column headings\n > thead > tr > th {\n vertical-align: bottom;\n border-bottom: 2px solid @table-border-color;\n }\n // Remove top border from thead by default\n > caption + thead,\n > colgroup + thead,\n > thead:first-child {\n > tr:first-child {\n > th,\n > td {\n border-top: 0;\n }\n }\n }\n // Account for multiple tbody instances\n > tbody + tbody {\n border-top: 2px solid @table-border-color;\n }\n\n // Nesting\n .table {\n background-color: @body-bg;\n }\n}\n\n\n// Condensed table w/ half padding\n\n.table-condensed {\n > thead,\n > tbody,\n > tfoot {\n > tr {\n > th,\n > td {\n padding: @table-condensed-cell-padding;\n }\n }\n }\n}\n\n\n// Bordered version\n//\n// Add borders all around the table and between all the columns.\n\n.table-bordered {\n border: 1px solid @table-border-color;\n > thead,\n > tbody,\n > tfoot {\n > tr {\n > th,\n > td {\n border: 1px solid @table-border-color;\n }\n }\n }\n > thead > tr {\n > th,\n > td {\n border-bottom-width: 2px;\n }\n }\n}\n\n\n// Zebra-striping\n//\n// Default zebra-stripe styles (alternating gray and transparent backgrounds)\n\n.table-striped {\n > tbody > tr:nth-of-type(odd) {\n background-color: @table-bg-accent;\n }\n}\n\n\n// Hover effect\n//\n// Placed here since it has to come after the potential zebra striping\n\n.table-hover {\n > tbody > tr:hover {\n background-color: @table-bg-hover;\n }\n}\n\n\n// Table cell sizing\n//\n// Reset default table behavior\n\ntable col[class*=\"col-\"] {\n position: static; // Prevent border hiding in Firefox and IE9-11 (see https://github.com/twbs/bootstrap/issues/11623)\n float: none;\n display: table-column;\n}\ntable {\n td,\n th {\n &[class*=\"col-\"] {\n position: static; // Prevent border hiding in Firefox and IE9-11 (see https://github.com/twbs/bootstrap/issues/11623)\n float: none;\n display: table-cell;\n }\n }\n}\n\n\n// Table backgrounds\n//\n// Exact selectors below required to override `.table-striped` and prevent\n// inheritance to nested tables.\n\n// Generate the contextual variants\n.table-row-variant(active; @table-bg-active);\n.table-row-variant(success; @state-success-bg);\n.table-row-variant(info; @state-info-bg);\n.table-row-variant(warning; @state-warning-bg);\n.table-row-variant(danger; @state-danger-bg);\n\n\n// Responsive tables\n//\n// Wrap your tables in `.table-responsive` and we'll make them mobile friendly\n// by enabling horizontal scrolling. Only applies <768px. Everything above that\n// will display normally.\n\n.table-responsive {\n overflow-x: auto;\n min-height: 0.01%; // Workaround for IE9 bug (see https://github.com/twbs/bootstrap/issues/14837)\n\n @media screen and (max-width: @screen-xs-max) {\n width: 100%;\n margin-bottom: (@line-height-computed * 0.75);\n overflow-y: hidden;\n -ms-overflow-style: -ms-autohiding-scrollbar;\n border: 1px solid @table-border-color;\n\n // Tighten up spacing\n > .table {\n margin-bottom: 0;\n\n // Ensure the content doesn't wrap\n > thead,\n > tbody,\n > tfoot {\n > tr {\n > th,\n > td {\n white-space: nowrap;\n }\n }\n }\n }\n\n // Special overrides for the bordered tables\n > .table-bordered {\n border: 0;\n\n // Nuke the appropriate borders so that the parent can handle them\n > thead,\n > tbody,\n > tfoot {\n > tr {\n > th:first-child,\n > td:first-child {\n border-left: 0;\n }\n > th:last-child,\n > td:last-child {\n border-right: 0;\n }\n }\n }\n\n // Only nuke the last row's bottom-border in `tbody` and `tfoot` since\n // chances are there will be only one `tr` in a `thead` and that would\n // remove the border altogether.\n > tbody,\n > tfoot {\n > tr:last-child {\n > th,\n > td {\n border-bottom: 0;\n }\n }\n }\n\n }\n }\n}\n","// Tables\n\n.table-row-variant(@state; @background) {\n // Exact selectors below required to override `.table-striped` and prevent\n // inheritance to nested tables.\n .table > thead > tr,\n .table > tbody > tr,\n .table > tfoot > tr {\n > td.@{state},\n > th.@{state},\n &.@{state} > td,\n &.@{state} > th {\n background-color: @background;\n }\n }\n\n // Hover states for `.table-hover`\n // Note: this is not available for cells or rows within `thead` or `tfoot`.\n .table-hover > tbody > tr {\n > td.@{state}:hover,\n > th.@{state}:hover,\n &.@{state}:hover > td,\n &:hover > .@{state},\n &.@{state}:hover > th {\n background-color: darken(@background, 5%);\n }\n }\n}\n","//\n// Forms\n// --------------------------------------------------\n\n\n// Normalize non-controls\n//\n// Restyle and baseline non-control form elements.\n\nfieldset {\n padding: 0;\n margin: 0;\n border: 0;\n // Chrome and Firefox set a `min-width: min-content;` on fieldsets,\n // so we reset that to ensure it behaves more like a standard block element.\n // See https://github.com/twbs/bootstrap/issues/12359.\n min-width: 0;\n}\n\nlegend {\n display: block;\n width: 100%;\n padding: 0;\n margin-bottom: @line-height-computed;\n font-size: (@font-size-base * 1.5);\n line-height: inherit;\n color: @legend-color;\n border: 0;\n border-bottom: 1px solid @legend-border-color;\n}\n\nlabel {\n display: inline-block;\n max-width: 100%; // Force IE8 to wrap long content (see https://github.com/twbs/bootstrap/issues/13141)\n margin-bottom: 5px;\n font-weight: bold;\n}\n\n\n// Normalize form controls\n//\n// While most of our form styles require extra classes, some basic normalization\n// is required to ensure optimum display with or without those classes to better\n// address browser inconsistencies.\n\n// Override content-box in Normalize (* isn't specific enough)\ninput[type=\"search\"] {\n .box-sizing(border-box);\n}\n\n// Position radios and checkboxes better\ninput[type=\"radio\"],\ninput[type=\"checkbox\"] {\n margin: 4px 0 0;\n margin-top: 1px \\9; // IE8-9\n line-height: normal;\n}\n\ninput[type=\"file\"] {\n display: block;\n}\n\n// Make range inputs behave like textual form controls\ninput[type=\"range\"] {\n display: block;\n width: 100%;\n}\n\n// Make multiple select elements height not fixed\nselect[multiple],\nselect[size] {\n height: auto;\n}\n\n// Focus for file, radio, and checkbox\ninput[type=\"file\"]:focus,\ninput[type=\"radio\"]:focus,\ninput[type=\"checkbox\"]:focus {\n .tab-focus();\n}\n\n// Adjust output element\noutput {\n display: block;\n padding-top: (@padding-base-vertical + 1);\n font-size: @font-size-base;\n line-height: @line-height-base;\n color: @input-color;\n}\n\n\n// Common form controls\n//\n// Shared size and type resets for form controls. Apply `.form-control` to any\n// of the following form controls:\n//\n// select\n// textarea\n// input[type=\"text\"]\n// input[type=\"password\"]\n// input[type=\"datetime\"]\n// input[type=\"datetime-local\"]\n// input[type=\"date\"]\n// input[type=\"month\"]\n// input[type=\"time\"]\n// input[type=\"week\"]\n// input[type=\"number\"]\n// input[type=\"email\"]\n// input[type=\"url\"]\n// input[type=\"search\"]\n// input[type=\"tel\"]\n// input[type=\"color\"]\n\n.form-control {\n display: block;\n width: 100%;\n height: @input-height-base; // Make inputs at least the height of their button counterpart (base line-height + padding + border)\n padding: @padding-base-vertical @padding-base-horizontal;\n font-size: @font-size-base;\n line-height: @line-height-base;\n color: @input-color;\n background-color: @input-bg;\n background-image: none; // Reset unusual Firefox-on-Android default style; see https://github.com/necolas/normalize.css/issues/214\n border: 1px solid @input-border;\n border-radius: @input-border-radius; // Note: This has no effect on <select>s in some browsers, due to the limited stylability of <select>s in CSS.\n .box-shadow(inset 0 1px 1px rgba(0,0,0,.075));\n .transition(~\"border-color ease-in-out .15s, box-shadow ease-in-out .15s\");\n\n // Customize the `:focus` state to imitate native WebKit styles.\n .form-control-focus();\n\n // Placeholder\n .placeholder();\n\n // Unstyle the caret on `<select>`s in IE10+.\n &::-ms-expand {\n border: 0;\n background-color: transparent;\n }\n\n // Disabled and read-only inputs\n //\n // HTML5 says that controls under a fieldset > legend:first-child won't be\n // disabled if the fieldset is disabled. Due to implementation difficulty, we\n // don't honor that edge case; we style them as disabled anyway.\n &[disabled],\n &[readonly],\n fieldset[disabled] & {\n background-color: @input-bg-disabled;\n opacity: 1; // iOS fix for unreadable disabled content; see https://github.com/twbs/bootstrap/issues/11655\n }\n\n &[disabled],\n fieldset[disabled] & {\n cursor: @cursor-disabled;\n }\n\n // Reset height for `textarea`s\n textarea& {\n height: auto;\n }\n}\n\n\n// Search inputs in iOS\n//\n// This overrides the extra rounded corners on search inputs in iOS so that our\n// `.form-control` class can properly style them. Note that this cannot simply\n// be added to `.form-control` as it's not specific enough. For details, see\n// https://github.com/twbs/bootstrap/issues/11586.\n\ninput[type=\"search\"] {\n -webkit-appearance: none;\n}\n\n\n// Special styles for iOS temporal inputs\n//\n// In Mobile Safari, setting `display: block` on temporal inputs causes the\n// text within the input to become vertically misaligned. As a workaround, we\n// set a pixel line-height that matches the given height of the input, but only\n// for Safari. See https://bugs.webkit.org/show_bug.cgi?id=139848\n//\n// Note that as of 9.3, iOS doesn't support `week`.\n\n@media screen and (-webkit-min-device-pixel-ratio: 0) {\n input[type=\"date\"],\n input[type=\"time\"],\n input[type=\"datetime-local\"],\n input[type=\"month\"] {\n &.form-control {\n line-height: @input-height-base;\n }\n\n &.input-sm,\n .input-group-sm & {\n line-height: @input-height-small;\n }\n\n &.input-lg,\n .input-group-lg & {\n line-height: @input-height-large;\n }\n }\n}\n\n\n// Form groups\n//\n// Designed to help with the organization and spacing of vertical forms. For\n// horizontal forms, use the predefined grid classes.\n\n.form-group {\n margin-bottom: @form-group-margin-bottom;\n}\n\n\n// Checkboxes and radios\n//\n// Indent the labels to position radios/checkboxes as hanging controls.\n\n.radio,\n.checkbox {\n position: relative;\n display: block;\n margin-top: 10px;\n margin-bottom: 10px;\n\n label {\n min-height: @line-height-computed; // Ensure the input doesn't jump when there is no text\n padding-left: 20px;\n margin-bottom: 0;\n font-weight: normal;\n cursor: pointer;\n }\n}\n.radio input[type=\"radio\"],\n.radio-inline input[type=\"radio\"],\n.checkbox input[type=\"checkbox\"],\n.checkbox-inline input[type=\"checkbox\"] {\n position: absolute;\n margin-left: -20px;\n margin-top: 4px \\9;\n}\n\n.radio + .radio,\n.checkbox + .checkbox {\n margin-top: -5px; // Move up sibling radios or checkboxes for tighter spacing\n}\n\n// Radios and checkboxes on same line\n.radio-inline,\n.checkbox-inline {\n position: relative;\n display: inline-block;\n padding-left: 20px;\n margin-bottom: 0;\n vertical-align: middle;\n font-weight: normal;\n cursor: pointer;\n}\n.radio-inline + .radio-inline,\n.checkbox-inline + .checkbox-inline {\n margin-top: 0;\n margin-left: 10px; // space out consecutive inline controls\n}\n\n// Apply same disabled cursor tweak as for inputs\n// Some special care is needed because <label>s don't inherit their parent's `cursor`.\n//\n// Note: Neither radios nor checkboxes can be readonly.\ninput[type=\"radio\"],\ninput[type=\"checkbox\"] {\n &[disabled],\n &.disabled,\n fieldset[disabled] & {\n cursor: @cursor-disabled;\n }\n}\n// These classes are used directly on <label>s\n.radio-inline,\n.checkbox-inline {\n &.disabled,\n fieldset[disabled] & {\n cursor: @cursor-disabled;\n }\n}\n// These classes are used on elements with <label> descendants\n.radio,\n.checkbox {\n &.disabled,\n fieldset[disabled] & {\n label {\n cursor: @cursor-disabled;\n }\n }\n}\n\n\n// Static form control text\n//\n// Apply class to a `p` element to make any string of text align with labels in\n// a horizontal form layout.\n\n.form-control-static {\n // Size it appropriately next to real form controls\n padding-top: (@padding-base-vertical + 1);\n padding-bottom: (@padding-base-vertical + 1);\n // Remove default margin from `p`\n margin-bottom: 0;\n min-height: (@line-height-computed + @font-size-base);\n\n &.input-lg,\n &.input-sm {\n padding-left: 0;\n padding-right: 0;\n }\n}\n\n\n// Form control sizing\n//\n// Build on `.form-control` with modifier classes to decrease or increase the\n// height and font-size of form controls.\n//\n// The `.form-group-* form-control` variations are sadly duplicated to avoid the\n// issue documented in https://github.com/twbs/bootstrap/issues/15074.\n\n.input-sm {\n .input-size(@input-height-small; @padding-small-vertical; @padding-small-horizontal; @font-size-small; @line-height-small; @input-border-radius-small);\n}\n.form-group-sm {\n .form-control {\n height: @input-height-small;\n padding: @padding-small-vertical @padding-small-horizontal;\n font-size: @font-size-small;\n line-height: @line-height-small;\n border-radius: @input-border-radius-small;\n }\n select.form-control {\n height: @input-height-small;\n line-height: @input-height-small;\n }\n textarea.form-control,\n select[multiple].form-control {\n height: auto;\n }\n .form-control-static {\n height: @input-height-small;\n min-height: (@line-height-computed + @font-size-small);\n padding: (@padding-small-vertical + 1) @padding-small-horizontal;\n font-size: @font-size-small;\n line-height: @line-height-small;\n }\n}\n\n.input-lg {\n .input-size(@input-height-large; @padding-large-vertical; @padding-large-horizontal; @font-size-large; @line-height-large; @input-border-radius-large);\n}\n.form-group-lg {\n .form-control {\n height: @input-height-large;\n padding: @padding-large-vertical @padding-large-horizontal;\n font-size: @font-size-large;\n line-height: @line-height-large;\n border-radius: @input-border-radius-large;\n }\n select.form-control {\n height: @input-height-large;\n line-height: @input-height-large;\n }\n textarea.form-control,\n select[multiple].form-control {\n height: auto;\n }\n .form-control-static {\n height: @input-height-large;\n min-height: (@line-height-computed + @font-size-large);\n padding: (@padding-large-vertical + 1) @padding-large-horizontal;\n font-size: @font-size-large;\n line-height: @line-height-large;\n }\n}\n\n\n// Form control feedback states\n//\n// Apply contextual and semantic states to individual form controls.\n\n.has-feedback {\n // Enable absolute positioning\n position: relative;\n\n // Ensure icons don't overlap text\n .form-control {\n padding-right: (@input-height-base * 1.25);\n }\n}\n// Feedback icon (requires .glyphicon classes)\n.form-control-feedback {\n position: absolute;\n top: 0;\n right: 0;\n z-index: 2; // Ensure icon is above input groups\n display: block;\n width: @input-height-base;\n height: @input-height-base;\n line-height: @input-height-base;\n text-align: center;\n pointer-events: none;\n}\n.input-lg + .form-control-feedback,\n.input-group-lg + .form-control-feedback,\n.form-group-lg .form-control + .form-control-feedback {\n width: @input-height-large;\n height: @input-height-large;\n line-height: @input-height-large;\n}\n.input-sm + .form-control-feedback,\n.input-group-sm + .form-control-feedback,\n.form-group-sm .form-control + .form-control-feedback {\n width: @input-height-small;\n height: @input-height-small;\n line-height: @input-height-small;\n}\n\n// Feedback states\n.has-success {\n .form-control-validation(@state-success-text; @state-success-text; @state-success-bg);\n}\n.has-warning {\n .form-control-validation(@state-warning-text; @state-warning-text; @state-warning-bg);\n}\n.has-error {\n .form-control-validation(@state-danger-text; @state-danger-text; @state-danger-bg);\n}\n\n// Reposition feedback icon if input has visible label above\n.has-feedback label {\n\n & ~ .form-control-feedback {\n top: (@line-height-computed + 5); // Height of the `label` and its margin\n }\n &.sr-only ~ .form-control-feedback {\n top: 0;\n }\n}\n\n\n// Help text\n//\n// Apply to any element you wish to create light text for placement immediately\n// below a form control. Use for general help, formatting, or instructional text.\n\n.help-block {\n display: block; // account for any element using help-block\n margin-top: 5px;\n margin-bottom: 10px;\n color: lighten(@text-color, 25%); // lighten the text some for contrast\n}\n\n\n// Inline forms\n//\n// Make forms appear inline(-block) by adding the `.form-inline` class. Inline\n// forms begin stacked on extra small (mobile) devices and then go inline when\n// viewports reach <768px.\n//\n// Requires wrapping inputs and labels with `.form-group` for proper display of\n// default HTML form controls and our custom form controls (e.g., input groups).\n//\n// Heads up! This is mixin-ed into `.navbar-form` in navbars.less.\n\n.form-inline {\n\n // Kick in the inline\n @media (min-width: @screen-sm-min) {\n // Inline-block all the things for \"inline\"\n .form-group {\n display: inline-block;\n margin-bottom: 0;\n vertical-align: middle;\n }\n\n // In navbar-form, allow folks to *not* use `.form-group`\n .form-control {\n display: inline-block;\n width: auto; // Prevent labels from stacking above inputs in `.form-group`\n vertical-align: middle;\n }\n\n // Make static controls behave like regular ones\n .form-control-static {\n display: inline-block;\n }\n\n .input-group {\n display: inline-table;\n vertical-align: middle;\n\n .input-group-addon,\n .input-group-btn,\n .form-control {\n width: auto;\n }\n }\n\n // Input groups need that 100% width though\n .input-group > .form-control {\n width: 100%;\n }\n\n .control-label {\n margin-bottom: 0;\n vertical-align: middle;\n }\n\n // Remove default margin on radios/checkboxes that were used for stacking, and\n // then undo the floating of radios and checkboxes to match.\n .radio,\n .checkbox {\n display: inline-block;\n margin-top: 0;\n margin-bottom: 0;\n vertical-align: middle;\n\n label {\n padding-left: 0;\n }\n }\n .radio input[type=\"radio\"],\n .checkbox input[type=\"checkbox\"] {\n position: relative;\n margin-left: 0;\n }\n\n // Re-override the feedback icon.\n .has-feedback .form-control-feedback {\n top: 0;\n }\n }\n}\n\n\n// Horizontal forms\n//\n// Horizontal forms are built on grid classes and allow you to create forms with\n// labels on the left and inputs on the right.\n\n.form-horizontal {\n\n // Consistent vertical alignment of radios and checkboxes\n //\n // Labels also get some reset styles, but that is scoped to a media query below.\n .radio,\n .checkbox,\n .radio-inline,\n .checkbox-inline {\n margin-top: 0;\n margin-bottom: 0;\n padding-top: (@padding-base-vertical + 1); // Default padding plus a border\n }\n // Account for padding we're adding to ensure the alignment and of help text\n // and other content below items\n .radio,\n .checkbox {\n min-height: (@line-height-computed + (@padding-base-vertical + 1));\n }\n\n // Make form groups behave like rows\n .form-group {\n .make-row();\n }\n\n // Reset spacing and right align labels, but scope to media queries so that\n // labels on narrow viewports stack the same as a default form example.\n @media (min-width: @screen-sm-min) {\n .control-label {\n text-align: right;\n margin-bottom: 0;\n padding-top: (@padding-base-vertical + 1); // Default padding plus a border\n }\n }\n\n // Validation states\n //\n // Reposition the icon because it's now within a grid column and columns have\n // `position: relative;` on them. Also accounts for the grid gutter padding.\n .has-feedback .form-control-feedback {\n right: floor((@grid-gutter-width / 2));\n }\n\n // Form group sizes\n //\n // Quick utility class for applying `.input-lg` and `.input-sm` styles to the\n // inputs and labels within a `.form-group`.\n .form-group-lg {\n @media (min-width: @screen-sm-min) {\n .control-label {\n padding-top: (@padding-large-vertical + 1);\n font-size: @font-size-large;\n }\n }\n }\n .form-group-sm {\n @media (min-width: @screen-sm-min) {\n .control-label {\n padding-top: (@padding-small-vertical + 1);\n font-size: @font-size-small;\n }\n }\n }\n}\n","// Form validation states\n//\n// Used in forms.less to generate the form validation CSS for warnings, errors,\n// and successes.\n\n.form-control-validation(@text-color: #555; @border-color: #ccc; @background-color: #f5f5f5) {\n // Color the label and help text\n .help-block,\n .control-label,\n .radio,\n .checkbox,\n .radio-inline,\n .checkbox-inline,\n &.radio label,\n &.checkbox label,\n &.radio-inline label,\n &.checkbox-inline label {\n color: @text-color;\n }\n // Set the border and box shadow on specific inputs to match\n .form-control {\n border-color: @border-color;\n .box-shadow(inset 0 1px 1px rgba(0,0,0,.075)); // Redeclare so transitions work\n &:focus {\n border-color: darken(@border-color, 10%);\n @shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 6px lighten(@border-color, 20%);\n .box-shadow(@shadow);\n }\n }\n // Set validation states also for addons\n .input-group-addon {\n color: @text-color;\n border-color: @border-color;\n background-color: @background-color;\n }\n // Optional feedback icon\n .form-control-feedback {\n color: @text-color;\n }\n}\n\n\n// Form control focus state\n//\n// Generate a customized focus state and for any input with the specified color,\n// which defaults to the `@input-border-focus` variable.\n//\n// We highly encourage you to not customize the default value, but instead use\n// this to tweak colors on an as-needed basis. This aesthetic change is based on\n// WebKit's default styles, but applicable to a wider range of browsers. Its\n// usability and accessibility should be taken into account with any change.\n//\n// Example usage: change the default blue border and shadow to white for better\n// contrast against a dark gray background.\n.form-control-focus(@color: @input-border-focus) {\n @color-rgba: rgba(red(@color), green(@color), blue(@color), .6);\n &:focus {\n border-color: @color;\n outline: 0;\n .box-shadow(~\"inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px @{color-rgba}\");\n }\n}\n\n// Form control sizing\n//\n// Relative text size, padding, and border-radii changes for form controls. For\n// horizontal sizing, wrap controls in the predefined grid classes. `<select>`\n// element gets special love because it's special, and that's a fact!\n.input-size(@input-height; @padding-vertical; @padding-horizontal; @font-size; @line-height; @border-radius) {\n height: @input-height;\n padding: @padding-vertical @padding-horizontal;\n font-size: @font-size;\n line-height: @line-height;\n border-radius: @border-radius;\n\n select& {\n height: @input-height;\n line-height: @input-height;\n }\n\n textarea&,\n select[multiple]& {\n height: auto;\n }\n}\n","//\n// Buttons\n// --------------------------------------------------\n\n\n// Base styles\n// --------------------------------------------------\n\n.btn {\n display: inline-block;\n margin-bottom: 0; // For input.btn\n font-weight: @btn-font-weight;\n text-align: center;\n vertical-align: middle;\n touch-action: manipulation;\n cursor: pointer;\n background-image: none; // Reset unusual Firefox-on-Android default style; see https://github.com/necolas/normalize.css/issues/214\n border: 1px solid transparent;\n white-space: nowrap;\n .button-size(@padding-base-vertical; @padding-base-horizontal; @font-size-base; @line-height-base; @btn-border-radius-base);\n .user-select(none);\n\n &,\n &:active,\n &.active {\n &:focus,\n &.focus {\n .tab-focus();\n }\n }\n\n &:hover,\n &:focus,\n &.focus {\n color: @btn-default-color;\n text-decoration: none;\n }\n\n &:active,\n &.active {\n outline: 0;\n background-image: none;\n .box-shadow(inset 0 3px 5px rgba(0,0,0,.125));\n }\n\n &.disabled,\n &[disabled],\n fieldset[disabled] & {\n cursor: @cursor-disabled;\n .opacity(.65);\n .box-shadow(none);\n }\n\n a& {\n &.disabled,\n fieldset[disabled] & {\n pointer-events: none; // Future-proof disabling of clicks on `<a>` elements\n }\n }\n}\n\n\n// Alternate buttons\n// --------------------------------------------------\n\n.btn-default {\n .button-variant(@btn-default-color; @btn-default-bg; @btn-default-border);\n}\n.btn-primary {\n .button-variant(@btn-primary-color; @btn-primary-bg; @btn-primary-border);\n}\n// Success appears as green\n.btn-success {\n .button-variant(@btn-success-color; @btn-success-bg; @btn-success-border);\n}\n// Info appears as blue-green\n.btn-info {\n .button-variant(@btn-info-color; @btn-info-bg; @btn-info-border);\n}\n// Warning appears as orange\n.btn-warning {\n .button-variant(@btn-warning-color; @btn-warning-bg; @btn-warning-border);\n}\n// Danger and error appear as red\n.btn-danger {\n .button-variant(@btn-danger-color; @btn-danger-bg; @btn-danger-border);\n}\n\n\n// Link buttons\n// -------------------------\n\n// Make a button look and behave like a link\n.btn-link {\n color: @link-color;\n font-weight: normal;\n border-radius: 0;\n\n &,\n &:active,\n &.active,\n &[disabled],\n fieldset[disabled] & {\n background-color: transparent;\n .box-shadow(none);\n }\n &,\n &:hover,\n &:focus,\n &:active {\n border-color: transparent;\n }\n &:hover,\n &:focus {\n color: @link-hover-color;\n text-decoration: @link-hover-decoration;\n background-color: transparent;\n }\n &[disabled],\n fieldset[disabled] & {\n &:hover,\n &:focus {\n color: @btn-link-disabled-color;\n text-decoration: none;\n }\n }\n}\n\n\n// Button Sizes\n// --------------------------------------------------\n\n.btn-lg {\n // line-height: ensure even-numbered height of button next to large input\n .button-size(@padding-large-vertical; @padding-large-horizontal; @font-size-large; @line-height-large; @btn-border-radius-large);\n}\n.btn-sm {\n // line-height: ensure proper height of button next to small input\n .button-size(@padding-small-vertical; @padding-small-horizontal; @font-size-small; @line-height-small; @btn-border-radius-small);\n}\n.btn-xs {\n .button-size(@padding-xs-vertical; @padding-xs-horizontal; @font-size-small; @line-height-small; @btn-border-radius-small);\n}\n\n\n// Block button\n// --------------------------------------------------\n\n.btn-block {\n display: block;\n width: 100%;\n}\n\n// Vertically space out multiple block buttons\n.btn-block + .btn-block {\n margin-top: 5px;\n}\n\n// Specificity overrides\ninput[type=\"submit\"],\ninput[type=\"reset\"],\ninput[type=\"button\"] {\n &.btn-block {\n width: 100%;\n }\n}\n","// Button variants\n//\n// Easily pump out default styles, as well as :hover, :focus, :active,\n// and disabled options for all buttons\n\n.button-variant(@color; @background; @border) {\n color: @color;\n background-color: @background;\n border-color: @border;\n\n &:focus,\n &.focus {\n color: @color;\n background-color: darken(@background, 10%);\n border-color: darken(@border, 25%);\n }\n &:hover {\n color: @color;\n background-color: darken(@background, 10%);\n border-color: darken(@border, 12%);\n }\n &:active,\n &.active,\n .open > .dropdown-toggle& {\n color: @color;\n background-color: darken(@background, 10%);\n border-color: darken(@border, 12%);\n\n &:hover,\n &:focus,\n &.focus {\n color: @color;\n background-color: darken(@background, 17%);\n border-color: darken(@border, 25%);\n }\n }\n &:active,\n &.active,\n .open > .dropdown-toggle& {\n background-image: none;\n }\n &.disabled,\n &[disabled],\n fieldset[disabled] & {\n &:hover,\n &:focus,\n &.focus {\n background-color: @background;\n border-color: @border;\n }\n }\n\n .badge {\n color: @background;\n background-color: @color;\n }\n}\n\n// Button sizes\n.button-size(@padding-vertical; @padding-horizontal; @font-size; @line-height; @border-radius) {\n padding: @padding-vertical @padding-horizontal;\n font-size: @font-size;\n line-height: @line-height;\n border-radius: @border-radius;\n}\n","// Opacity\n\n.opacity(@opacity) {\n opacity: @opacity;\n // IE8 filter\n @opacity-ie: (@opacity * 100);\n filter: ~\"alpha(opacity=@{opacity-ie})\";\n}\n","//\n// Component animations\n// --------------------------------------------------\n\n// Heads up!\n//\n// We don't use the `.opacity()` mixin here since it causes a bug with text\n// fields in IE7-8. Source: https://github.com/twbs/bootstrap/pull/3552.\n\n.fade {\n opacity: 0;\n .transition(opacity .15s linear);\n &.in {\n opacity: 1;\n }\n}\n\n.collapse {\n display: none;\n\n &.in { display: block; }\n tr&.in { display: table-row; }\n tbody&.in { display: table-row-group; }\n}\n\n.collapsing {\n position: relative;\n height: 0;\n overflow: hidden;\n .transition-property(~\"height, visibility\");\n .transition-duration(.35s);\n .transition-timing-function(ease);\n}\n","//\n// Dropdown menus\n// --------------------------------------------------\n\n\n// Dropdown arrow/caret\n.caret {\n display: inline-block;\n width: 0;\n height: 0;\n margin-left: 2px;\n vertical-align: middle;\n border-top: @caret-width-base dashed;\n border-top: @caret-width-base solid ~\"\\9\"; // IE8\n border-right: @caret-width-base solid transparent;\n border-left: @caret-width-base solid transparent;\n}\n\n// The dropdown wrapper (div)\n.dropup,\n.dropdown {\n position: relative;\n}\n\n// Prevent the focus on the dropdown toggle when closing dropdowns\n.dropdown-toggle:focus {\n outline: 0;\n}\n\n// The dropdown menu (ul)\n.dropdown-menu {\n position: absolute;\n top: 100%;\n left: 0;\n z-index: @zindex-dropdown;\n display: none; // none by default, but block on \"open\" of the menu\n float: left;\n min-width: 160px;\n padding: 5px 0;\n margin: 2px 0 0; // override default ul\n list-style: none;\n font-size: @font-size-base;\n text-align: left; // Ensures proper alignment if parent has it changed (e.g., modal footer)\n background-color: @dropdown-bg;\n border: 1px solid @dropdown-fallback-border; // IE8 fallback\n border: 1px solid @dropdown-border;\n border-radius: @border-radius-base;\n .box-shadow(0 6px 12px rgba(0,0,0,.175));\n background-clip: padding-box;\n\n // Aligns the dropdown menu to right\n //\n // Deprecated as of 3.1.0 in favor of `.dropdown-menu-[dir]`\n &.pull-right {\n right: 0;\n left: auto;\n }\n\n // Dividers (basically an hr) within the dropdown\n .divider {\n .nav-divider(@dropdown-divider-bg);\n }\n\n // Links within the dropdown menu\n > li > a {\n display: block;\n padding: 3px 20px;\n clear: both;\n font-weight: normal;\n line-height: @line-height-base;\n color: @dropdown-link-color;\n white-space: nowrap; // prevent links from randomly breaking onto new lines\n }\n}\n\n// Hover/Focus state\n.dropdown-menu > li > a {\n &:hover,\n &:focus {\n text-decoration: none;\n color: @dropdown-link-hover-color;\n background-color: @dropdown-link-hover-bg;\n }\n}\n\n// Active state\n.dropdown-menu > .active > a {\n &,\n &:hover,\n &:focus {\n color: @dropdown-link-active-color;\n text-decoration: none;\n outline: 0;\n background-color: @dropdown-link-active-bg;\n }\n}\n\n// Disabled state\n//\n// Gray out text and ensure the hover/focus state remains gray\n\n.dropdown-menu > .disabled > a {\n &,\n &:hover,\n &:focus {\n color: @dropdown-link-disabled-color;\n }\n\n // Nuke hover/focus effects\n &:hover,\n &:focus {\n text-decoration: none;\n background-color: transparent;\n background-image: none; // Remove CSS gradient\n .reset-filter();\n cursor: @cursor-disabled;\n }\n}\n\n// Open state for the dropdown\n.open {\n // Show the menu\n > .dropdown-menu {\n display: block;\n }\n\n // Remove the outline when :focus is triggered\n > a {\n outline: 0;\n }\n}\n\n// Menu positioning\n//\n// Add extra class to `.dropdown-menu` to flip the alignment of the dropdown\n// menu with the parent.\n.dropdown-menu-right {\n left: auto; // Reset the default from `.dropdown-menu`\n right: 0;\n}\n// With v3, we enabled auto-flipping if you have a dropdown within a right\n// aligned nav component. To enable the undoing of that, we provide an override\n// to restore the default dropdown menu alignment.\n//\n// This is only for left-aligning a dropdown menu within a `.navbar-right` or\n// `.pull-right` nav component.\n.dropdown-menu-left {\n left: 0;\n right: auto;\n}\n\n// Dropdown section headers\n.dropdown-header {\n display: block;\n padding: 3px 20px;\n font-size: @font-size-small;\n line-height: @line-height-base;\n color: @dropdown-header-color;\n white-space: nowrap; // as with > li > a\n}\n\n// Backdrop to catch body clicks on mobile, etc.\n.dropdown-backdrop {\n position: fixed;\n left: 0;\n right: 0;\n bottom: 0;\n top: 0;\n z-index: (@zindex-dropdown - 10);\n}\n\n// Right aligned dropdowns\n.pull-right > .dropdown-menu {\n right: 0;\n left: auto;\n}\n\n// Allow for dropdowns to go bottom up (aka, dropup-menu)\n//\n// Just add .dropup after the standard .dropdown class and you're set, bro.\n// TODO: abstract this so that the navbar fixed styles are not placed here?\n\n.dropup,\n.navbar-fixed-bottom .dropdown {\n // Reverse the caret\n .caret {\n border-top: 0;\n border-bottom: @caret-width-base dashed;\n border-bottom: @caret-width-base solid ~\"\\9\"; // IE8\n content: \"\";\n }\n // Different positioning for bottom up menu\n .dropdown-menu {\n top: auto;\n bottom: 100%;\n margin-bottom: 2px;\n }\n}\n\n\n// Component alignment\n//\n// Reiterate per navbar.less and the modified component alignment there.\n\n@media (min-width: @grid-float-breakpoint) {\n .navbar-right {\n .dropdown-menu {\n .dropdown-menu-right();\n }\n // Necessary for overrides of the default right aligned menu.\n // Will remove come v4 in all likelihood.\n .dropdown-menu-left {\n .dropdown-menu-left();\n }\n }\n}\n","// Horizontal dividers\n//\n// Dividers (basically an hr) within dropdowns and nav lists\n\n.nav-divider(@color: #e5e5e5) {\n height: 1px;\n margin: ((@line-height-computed / 2) - 1) 0;\n overflow: hidden;\n background-color: @color;\n}\n","// Reset filters for IE\n//\n// When you need to remove a gradient background, do not forget to use this to reset\n// the IE filter for IE9 and below.\n\n.reset-filter() {\n filter: e(%(\"progid:DXImageTransform.Microsoft.gradient(enabled = false)\"));\n}\n","//\n// Button groups\n// --------------------------------------------------\n\n// Make the div behave like a button\n.btn-group,\n.btn-group-vertical {\n position: relative;\n display: inline-block;\n vertical-align: middle; // match .btn alignment given font-size hack above\n > .btn {\n position: relative;\n float: left;\n // Bring the \"active\" button to the front\n &:hover,\n &:focus,\n &:active,\n &.active {\n z-index: 2;\n }\n }\n}\n\n// Prevent double borders when buttons are next to each other\n.btn-group {\n .btn + .btn,\n .btn + .btn-group,\n .btn-group + .btn,\n .btn-group + .btn-group {\n margin-left: -1px;\n }\n}\n\n// Optional: Group multiple button groups together for a toolbar\n.btn-toolbar {\n margin-left: -5px; // Offset the first child's margin\n &:extend(.clearfix all);\n\n .btn,\n .btn-group,\n .input-group {\n float: left;\n }\n > .btn,\n > .btn-group,\n > .input-group {\n margin-left: 5px;\n }\n}\n\n.btn-group > .btn:not(:first-child):not(:last-child):not(.dropdown-toggle) {\n border-radius: 0;\n}\n\n// Set corners individual because sometimes a single button can be in a .btn-group and we need :first-child and :last-child to both match\n.btn-group > .btn:first-child {\n margin-left: 0;\n &:not(:last-child):not(.dropdown-toggle) {\n .border-right-radius(0);\n }\n}\n// Need .dropdown-toggle since :last-child doesn't apply, given that a .dropdown-menu is used immediately after it\n.btn-group > .btn:last-child:not(:first-child),\n.btn-group > .dropdown-toggle:not(:first-child) {\n .border-left-radius(0);\n}\n\n// Custom edits for including btn-groups within btn-groups (useful for including dropdown buttons within a btn-group)\n.btn-group > .btn-group {\n float: left;\n}\n.btn-group > .btn-group:not(:first-child):not(:last-child) > .btn {\n border-radius: 0;\n}\n.btn-group > .btn-group:first-child:not(:last-child) {\n > .btn:last-child,\n > .dropdown-toggle {\n .border-right-radius(0);\n }\n}\n.btn-group > .btn-group:last-child:not(:first-child) > .btn:first-child {\n .border-left-radius(0);\n}\n\n// On active and open, don't show outline\n.btn-group .dropdown-toggle:active,\n.btn-group.open .dropdown-toggle {\n outline: 0;\n}\n\n\n// Sizing\n//\n// Remix the default button sizing classes into new ones for easier manipulation.\n\n.btn-group-xs > .btn { &:extend(.btn-xs); }\n.btn-group-sm > .btn { &:extend(.btn-sm); }\n.btn-group-lg > .btn { &:extend(.btn-lg); }\n\n\n// Split button dropdowns\n// ----------------------\n\n// Give the line between buttons some depth\n.btn-group > .btn + .dropdown-toggle {\n padding-left: 8px;\n padding-right: 8px;\n}\n.btn-group > .btn-lg + .dropdown-toggle {\n padding-left: 12px;\n padding-right: 12px;\n}\n\n// The clickable button for toggling the menu\n// Remove the gradient and set the same inset shadow as the :active state\n.btn-group.open .dropdown-toggle {\n .box-shadow(inset 0 3px 5px rgba(0,0,0,.125));\n\n // Show no shadow for `.btn-link` since it has no other button styles.\n &.btn-link {\n .box-shadow(none);\n }\n}\n\n\n// Reposition the caret\n.btn .caret {\n margin-left: 0;\n}\n// Carets in other button sizes\n.btn-lg .caret {\n border-width: @caret-width-large @caret-width-large 0;\n border-bottom-width: 0;\n}\n// Upside down carets for .dropup\n.dropup .btn-lg .caret {\n border-width: 0 @caret-width-large @caret-width-large;\n}\n\n\n// Vertical button groups\n// ----------------------\n\n.btn-group-vertical {\n > .btn,\n > .btn-group,\n > .btn-group > .btn {\n display: block;\n float: none;\n width: 100%;\n max-width: 100%;\n }\n\n // Clear floats so dropdown menus can be properly placed\n > .btn-group {\n &:extend(.clearfix all);\n > .btn {\n float: none;\n }\n }\n\n > .btn + .btn,\n > .btn + .btn-group,\n > .btn-group + .btn,\n > .btn-group + .btn-group {\n margin-top: -1px;\n margin-left: 0;\n }\n}\n\n.btn-group-vertical > .btn {\n &:not(:first-child):not(:last-child) {\n border-radius: 0;\n }\n &:first-child:not(:last-child) {\n .border-top-radius(@btn-border-radius-base);\n .border-bottom-radius(0);\n }\n &:last-child:not(:first-child) {\n .border-top-radius(0);\n .border-bottom-radius(@btn-border-radius-base);\n }\n}\n.btn-group-vertical > .btn-group:not(:first-child):not(:last-child) > .btn {\n border-radius: 0;\n}\n.btn-group-vertical > .btn-group:first-child:not(:last-child) {\n > .btn:last-child,\n > .dropdown-toggle {\n .border-bottom-radius(0);\n }\n}\n.btn-group-vertical > .btn-group:last-child:not(:first-child) > .btn:first-child {\n .border-top-radius(0);\n}\n\n\n// Justified button groups\n// ----------------------\n\n.btn-group-justified {\n display: table;\n width: 100%;\n table-layout: fixed;\n border-collapse: separate;\n > .btn,\n > .btn-group {\n float: none;\n display: table-cell;\n width: 1%;\n }\n > .btn-group .btn {\n width: 100%;\n }\n\n > .btn-group .dropdown-menu {\n left: auto;\n }\n}\n\n\n// Checkbox and radio options\n//\n// In order to support the browser's form validation feedback, powered by the\n// `required` attribute, we have to \"hide\" the inputs via `clip`. We cannot use\n// `display: none;` or `visibility: hidden;` as that also hides the popover.\n// Simply visually hiding the inputs via `opacity` would leave them clickable in\n// certain cases which is prevented by using `clip` and `pointer-events`.\n// This way, we ensure a DOM element is visible to position the popover from.\n//\n// See https://github.com/twbs/bootstrap/pull/12794 and\n// https://github.com/twbs/bootstrap/pull/14559 for more information.\n\n[data-toggle=\"buttons\"] {\n > .btn,\n > .btn-group > .btn {\n input[type=\"radio\"],\n input[type=\"checkbox\"] {\n position: absolute;\n clip: rect(0,0,0,0);\n pointer-events: none;\n }\n }\n}\n","// Single side border-radius\n\n.border-top-radius(@radius) {\n border-top-right-radius: @radius;\n border-top-left-radius: @radius;\n}\n.border-right-radius(@radius) {\n border-bottom-right-radius: @radius;\n border-top-right-radius: @radius;\n}\n.border-bottom-radius(@radius) {\n border-bottom-right-radius: @radius;\n border-bottom-left-radius: @radius;\n}\n.border-left-radius(@radius) {\n border-bottom-left-radius: @radius;\n border-top-left-radius: @radius;\n}\n","//\n// Input groups\n// --------------------------------------------------\n\n// Base styles\n// -------------------------\n.input-group {\n position: relative; // For dropdowns\n display: table;\n border-collapse: separate; // prevent input groups from inheriting border styles from table cells when placed within a table\n\n // Undo padding and float of grid classes\n &[class*=\"col-\"] {\n float: none;\n padding-left: 0;\n padding-right: 0;\n }\n\n .form-control {\n // Ensure that the input is always above the *appended* addon button for\n // proper border colors.\n position: relative;\n z-index: 2;\n\n // IE9 fubars the placeholder attribute in text inputs and the arrows on\n // select elements in input groups. To fix it, we float the input. Details:\n // https://github.com/twbs/bootstrap/issues/11561#issuecomment-28936855\n float: left;\n\n width: 100%;\n margin-bottom: 0;\n\n &:focus {\n z-index: 3;\n }\n }\n}\n\n// Sizing options\n//\n// Remix the default form control sizing classes into new ones for easier\n// manipulation.\n\n.input-group-lg > .form-control,\n.input-group-lg > .input-group-addon,\n.input-group-lg > .input-group-btn > .btn {\n .input-lg();\n}\n.input-group-sm > .form-control,\n.input-group-sm > .input-group-addon,\n.input-group-sm > .input-group-btn > .btn {\n .input-sm();\n}\n\n\n// Display as table-cell\n// -------------------------\n.input-group-addon,\n.input-group-btn,\n.input-group .form-control {\n display: table-cell;\n\n &:not(:first-child):not(:last-child) {\n border-radius: 0;\n }\n}\n// Addon and addon wrapper for buttons\n.input-group-addon,\n.input-group-btn {\n width: 1%;\n white-space: nowrap;\n vertical-align: middle; // Match the inputs\n}\n\n// Text input groups\n// -------------------------\n.input-group-addon {\n padding: @padding-base-vertical @padding-base-horizontal;\n font-size: @font-size-base;\n font-weight: normal;\n line-height: 1;\n color: @input-color;\n text-align: center;\n background-color: @input-group-addon-bg;\n border: 1px solid @input-group-addon-border-color;\n border-radius: @input-border-radius;\n\n // Sizing\n &.input-sm {\n padding: @padding-small-vertical @padding-small-horizontal;\n font-size: @font-size-small;\n border-radius: @input-border-radius-small;\n }\n &.input-lg {\n padding: @padding-large-vertical @padding-large-horizontal;\n font-size: @font-size-large;\n border-radius: @input-border-radius-large;\n }\n\n // Nuke default margins from checkboxes and radios to vertically center within.\n input[type=\"radio\"],\n input[type=\"checkbox\"] {\n margin-top: 0;\n }\n}\n\n// Reset rounded corners\n.input-group .form-control:first-child,\n.input-group-addon:first-child,\n.input-group-btn:first-child > .btn,\n.input-group-btn:first-child > .btn-group > .btn,\n.input-group-btn:first-child > .dropdown-toggle,\n.input-group-btn:last-child > .btn:not(:last-child):not(.dropdown-toggle),\n.input-group-btn:last-child > .btn-group:not(:last-child) > .btn {\n .border-right-radius(0);\n}\n.input-group-addon:first-child {\n border-right: 0;\n}\n.input-group .form-control:last-child,\n.input-group-addon:last-child,\n.input-group-btn:last-child > .btn,\n.input-group-btn:last-child > .btn-group > .btn,\n.input-group-btn:last-child > .dropdown-toggle,\n.input-group-btn:first-child > .btn:not(:first-child),\n.input-group-btn:first-child > .btn-group:not(:first-child) > .btn {\n .border-left-radius(0);\n}\n.input-group-addon:last-child {\n border-left: 0;\n}\n\n// Button input groups\n// -------------------------\n.input-group-btn {\n position: relative;\n // Jankily prevent input button groups from wrapping with `white-space` and\n // `font-size` in combination with `inline-block` on buttons.\n font-size: 0;\n white-space: nowrap;\n\n // Negative margin for spacing, position for bringing hovered/focused/actived\n // element above the siblings.\n > .btn {\n position: relative;\n + .btn {\n margin-left: -1px;\n }\n // Bring the \"active\" button to the front\n &:hover,\n &:focus,\n &:active {\n z-index: 2;\n }\n }\n\n // Negative margin to only have a 1px border between the two\n &:first-child {\n > .btn,\n > .btn-group {\n margin-right: -1px;\n }\n }\n &:last-child {\n > .btn,\n > .btn-group {\n z-index: 2;\n margin-left: -1px;\n }\n }\n}\n","//\n// Navs\n// --------------------------------------------------\n\n\n// Base class\n// --------------------------------------------------\n\n.nav {\n margin-bottom: 0;\n padding-left: 0; // Override default ul/ol\n list-style: none;\n &:extend(.clearfix all);\n\n > li {\n position: relative;\n display: block;\n\n > a {\n position: relative;\n display: block;\n padding: @nav-link-padding;\n &:hover,\n &:focus {\n text-decoration: none;\n background-color: @nav-link-hover-bg;\n }\n }\n\n // Disabled state sets text to gray and nukes hover/tab effects\n &.disabled > a {\n color: @nav-disabled-link-color;\n\n &:hover,\n &:focus {\n color: @nav-disabled-link-hover-color;\n text-decoration: none;\n background-color: transparent;\n cursor: @cursor-disabled;\n }\n }\n }\n\n // Open dropdowns\n .open > a {\n &,\n &:hover,\n &:focus {\n background-color: @nav-link-hover-bg;\n border-color: @link-color;\n }\n }\n\n // Nav dividers (deprecated with v3.0.1)\n //\n // This should have been removed in v3 with the dropping of `.nav-list`, but\n // we missed it. We don't currently support this anywhere, but in the interest\n // of maintaining backward compatibility in case you use it, it's deprecated.\n .nav-divider {\n .nav-divider();\n }\n\n // Prevent IE8 from misplacing imgs\n //\n // See https://github.com/h5bp/html5-boilerplate/issues/984#issuecomment-3985989\n > li > a > img {\n max-width: none;\n }\n}\n\n\n// Tabs\n// -------------------------\n\n// Give the tabs something to sit on\n.nav-tabs {\n border-bottom: 1px solid @nav-tabs-border-color;\n > li {\n float: left;\n // Make the list-items overlay the bottom border\n margin-bottom: -1px;\n\n // Actual tabs (as links)\n > a {\n margin-right: 2px;\n line-height: @line-height-base;\n border: 1px solid transparent;\n border-radius: @border-radius-base @border-radius-base 0 0;\n &:hover {\n border-color: @nav-tabs-link-hover-border-color @nav-tabs-link-hover-border-color @nav-tabs-border-color;\n }\n }\n\n // Active state, and its :hover to override normal :hover\n &.active > a {\n &,\n &:hover,\n &:focus {\n color: @nav-tabs-active-link-hover-color;\n background-color: @nav-tabs-active-link-hover-bg;\n border: 1px solid @nav-tabs-active-link-hover-border-color;\n border-bottom-color: transparent;\n cursor: default;\n }\n }\n }\n // pulling this in mainly for less shorthand\n &.nav-justified {\n .nav-justified();\n .nav-tabs-justified();\n }\n}\n\n\n// Pills\n// -------------------------\n.nav-pills {\n > li {\n float: left;\n\n // Links rendered as pills\n > a {\n border-radius: @nav-pills-border-radius;\n }\n + li {\n margin-left: 2px;\n }\n\n // Active state\n &.active > a {\n &,\n &:hover,\n &:focus {\n color: @nav-pills-active-link-hover-color;\n background-color: @nav-pills-active-link-hover-bg;\n }\n }\n }\n}\n\n\n// Stacked pills\n.nav-stacked {\n > li {\n float: none;\n + li {\n margin-top: 2px;\n margin-left: 0; // no need for this gap between nav items\n }\n }\n}\n\n\n// Nav variations\n// --------------------------------------------------\n\n// Justified nav links\n// -------------------------\n\n.nav-justified {\n width: 100%;\n\n > li {\n float: none;\n > a {\n text-align: center;\n margin-bottom: 5px;\n }\n }\n\n > .dropdown .dropdown-menu {\n top: auto;\n left: auto;\n }\n\n @media (min-width: @screen-sm-min) {\n > li {\n display: table-cell;\n width: 1%;\n > a {\n margin-bottom: 0;\n }\n }\n }\n}\n\n// Move borders to anchors instead of bottom of list\n//\n// Mixin for adding on top the shared `.nav-justified` styles for our tabs\n.nav-tabs-justified {\n border-bottom: 0;\n\n > li > a {\n // Override margin from .nav-tabs\n margin-right: 0;\n border-radius: @border-radius-base;\n }\n\n > .active > a,\n > .active > a:hover,\n > .active > a:focus {\n border: 1px solid @nav-tabs-justified-link-border-color;\n }\n\n @media (min-width: @screen-sm-min) {\n > li > a {\n border-bottom: 1px solid @nav-tabs-justified-link-border-color;\n border-radius: @border-radius-base @border-radius-base 0 0;\n }\n > .active > a,\n > .active > a:hover,\n > .active > a:focus {\n border-bottom-color: @nav-tabs-justified-active-link-border-color;\n }\n }\n}\n\n\n// Tabbable tabs\n// -------------------------\n\n// Hide tabbable panes to start, show them when `.active`\n.tab-content {\n > .tab-pane {\n display: none;\n }\n > .active {\n display: block;\n }\n}\n\n\n// Dropdowns\n// -------------------------\n\n// Specific dropdowns\n.nav-tabs .dropdown-menu {\n // make dropdown border overlap tab border\n margin-top: -1px;\n // Remove the top rounded corners here since there is a hard edge above the menu\n .border-top-radius(0);\n}\n","//\n// Navbars\n// --------------------------------------------------\n\n\n// Wrapper and base class\n//\n// Provide a static navbar from which we expand to create full-width, fixed, and\n// other navbar variations.\n\n.navbar {\n position: relative;\n min-height: @navbar-height; // Ensure a navbar always shows (e.g., without a .navbar-brand in collapsed mode)\n margin-bottom: @navbar-margin-bottom;\n border: 1px solid transparent;\n\n // Prevent floats from breaking the navbar\n &:extend(.clearfix all);\n\n @media (min-width: @grid-float-breakpoint) {\n border-radius: @navbar-border-radius;\n }\n}\n\n\n// Navbar heading\n//\n// Groups `.navbar-brand` and `.navbar-toggle` into a single component for easy\n// styling of responsive aspects.\n\n.navbar-header {\n &:extend(.clearfix all);\n\n @media (min-width: @grid-float-breakpoint) {\n float: left;\n }\n}\n\n\n// Navbar collapse (body)\n//\n// Group your navbar content into this for easy collapsing and expanding across\n// various device sizes. By default, this content is collapsed when <768px, but\n// will expand past that for a horizontal display.\n//\n// To start (on mobile devices) the navbar links, forms, and buttons are stacked\n// vertically and include a `max-height` to overflow in case you have too much\n// content for the user's viewport.\n\n.navbar-collapse {\n overflow-x: visible;\n padding-right: @navbar-padding-horizontal;\n padding-left: @navbar-padding-horizontal;\n border-top: 1px solid transparent;\n box-shadow: inset 0 1px 0 rgba(255,255,255,.1);\n &:extend(.clearfix all);\n -webkit-overflow-scrolling: touch;\n\n &.in {\n overflow-y: auto;\n }\n\n @media (min-width: @grid-float-breakpoint) {\n width: auto;\n border-top: 0;\n box-shadow: none;\n\n &.collapse {\n display: block !important;\n height: auto !important;\n padding-bottom: 0; // Override default setting\n overflow: visible !important;\n }\n\n &.in {\n overflow-y: visible;\n }\n\n // Undo the collapse side padding for navbars with containers to ensure\n // alignment of right-aligned contents.\n .navbar-fixed-top &,\n .navbar-static-top &,\n .navbar-fixed-bottom & {\n padding-left: 0;\n padding-right: 0;\n }\n }\n}\n\n.navbar-fixed-top,\n.navbar-fixed-bottom {\n .navbar-collapse {\n max-height: @navbar-collapse-max-height;\n\n @media (max-device-width: @screen-xs-min) and (orientation: landscape) {\n max-height: 200px;\n }\n }\n}\n\n\n// Both navbar header and collapse\n//\n// When a container is present, change the behavior of the header and collapse.\n\n.container,\n.container-fluid {\n > .navbar-header,\n > .navbar-collapse {\n margin-right: -@navbar-padding-horizontal;\n margin-left: -@navbar-padding-horizontal;\n\n @media (min-width: @grid-float-breakpoint) {\n margin-right: 0;\n margin-left: 0;\n }\n }\n}\n\n\n//\n// Navbar alignment options\n//\n// Display the navbar across the entirety of the page or fixed it to the top or\n// bottom of the page.\n\n// Static top (unfixed, but 100% wide) navbar\n.navbar-static-top {\n z-index: @zindex-navbar;\n border-width: 0 0 1px;\n\n @media (min-width: @grid-float-breakpoint) {\n border-radius: 0;\n }\n}\n\n// Fix the top/bottom navbars when screen real estate supports it\n.navbar-fixed-top,\n.navbar-fixed-bottom {\n position: fixed;\n right: 0;\n left: 0;\n z-index: @zindex-navbar-fixed;\n\n // Undo the rounded corners\n @media (min-width: @grid-float-breakpoint) {\n border-radius: 0;\n }\n}\n.navbar-fixed-top {\n top: 0;\n border-width: 0 0 1px;\n}\n.navbar-fixed-bottom {\n bottom: 0;\n margin-bottom: 0; // override .navbar defaults\n border-width: 1px 0 0;\n}\n\n\n// Brand/project name\n\n.navbar-brand {\n float: left;\n padding: @navbar-padding-vertical @navbar-padding-horizontal;\n font-size: @font-size-large;\n line-height: @line-height-computed;\n height: @navbar-height;\n\n &:hover,\n &:focus {\n text-decoration: none;\n }\n\n > img {\n display: block;\n }\n\n @media (min-width: @grid-float-breakpoint) {\n .navbar > .container &,\n .navbar > .container-fluid & {\n margin-left: -@navbar-padding-horizontal;\n }\n }\n}\n\n\n// Navbar toggle\n//\n// Custom button for toggling the `.navbar-collapse`, powered by the collapse\n// JavaScript plugin.\n\n.navbar-toggle {\n position: relative;\n float: right;\n margin-right: @navbar-padding-horizontal;\n padding: 9px 10px;\n .navbar-vertical-align(34px);\n background-color: transparent;\n background-image: none; // Reset unusual Firefox-on-Android default style; see https://github.com/necolas/normalize.css/issues/214\n border: 1px solid transparent;\n border-radius: @border-radius-base;\n\n // We remove the `outline` here, but later compensate by attaching `:hover`\n // styles to `:focus`.\n &:focus {\n outline: 0;\n }\n\n // Bars\n .icon-bar {\n display: block;\n width: 22px;\n height: 2px;\n border-radius: 1px;\n }\n .icon-bar + .icon-bar {\n margin-top: 4px;\n }\n\n @media (min-width: @grid-float-breakpoint) {\n display: none;\n }\n}\n\n\n// Navbar nav links\n//\n// Builds on top of the `.nav` components with its own modifier class to make\n// the nav the full height of the horizontal nav (above 768px).\n\n.navbar-nav {\n margin: (@navbar-padding-vertical / 2) -@navbar-padding-horizontal;\n\n > li > a {\n padding-top: 10px;\n padding-bottom: 10px;\n line-height: @line-height-computed;\n }\n\n @media (max-width: @grid-float-breakpoint-max) {\n // Dropdowns get custom display when collapsed\n .open .dropdown-menu {\n position: static;\n float: none;\n width: auto;\n margin-top: 0;\n background-color: transparent;\n border: 0;\n box-shadow: none;\n > li > a,\n .dropdown-header {\n padding: 5px 15px 5px 25px;\n }\n > li > a {\n line-height: @line-height-computed;\n &:hover,\n &:focus {\n background-image: none;\n }\n }\n }\n }\n\n // Uncollapse the nav\n @media (min-width: @grid-float-breakpoint) {\n float: left;\n margin: 0;\n\n > li {\n float: left;\n > a {\n padding-top: @navbar-padding-vertical;\n padding-bottom: @navbar-padding-vertical;\n }\n }\n }\n}\n\n\n// Navbar form\n//\n// Extension of the `.form-inline` with some extra flavor for optimum display in\n// our navbars.\n\n.navbar-form {\n margin-left: -@navbar-padding-horizontal;\n margin-right: -@navbar-padding-horizontal;\n padding: 10px @navbar-padding-horizontal;\n border-top: 1px solid transparent;\n border-bottom: 1px solid transparent;\n @shadow: inset 0 1px 0 rgba(255,255,255,.1), 0 1px 0 rgba(255,255,255,.1);\n .box-shadow(@shadow);\n\n // Mixin behavior for optimum display\n .form-inline();\n\n .form-group {\n @media (max-width: @grid-float-breakpoint-max) {\n margin-bottom: 5px;\n\n &:last-child {\n margin-bottom: 0;\n }\n }\n }\n\n // Vertically center in expanded, horizontal navbar\n .navbar-vertical-align(@input-height-base);\n\n // Undo 100% width for pull classes\n @media (min-width: @grid-float-breakpoint) {\n width: auto;\n border: 0;\n margin-left: 0;\n margin-right: 0;\n padding-top: 0;\n padding-bottom: 0;\n .box-shadow(none);\n }\n}\n\n\n// Dropdown menus\n\n// Menu position and menu carets\n.navbar-nav > li > .dropdown-menu {\n margin-top: 0;\n .border-top-radius(0);\n}\n// Menu position and menu caret support for dropups via extra dropup class\n.navbar-fixed-bottom .navbar-nav > li > .dropdown-menu {\n margin-bottom: 0;\n .border-top-radius(@navbar-border-radius);\n .border-bottom-radius(0);\n}\n\n\n// Buttons in navbars\n//\n// Vertically center a button within a navbar (when *not* in a form).\n\n.navbar-btn {\n .navbar-vertical-align(@input-height-base);\n\n &.btn-sm {\n .navbar-vertical-align(@input-height-small);\n }\n &.btn-xs {\n .navbar-vertical-align(22);\n }\n}\n\n\n// Text in navbars\n//\n// Add a class to make any element properly align itself vertically within the navbars.\n\n.navbar-text {\n .navbar-vertical-align(@line-height-computed);\n\n @media (min-width: @grid-float-breakpoint) {\n float: left;\n margin-left: @navbar-padding-horizontal;\n margin-right: @navbar-padding-horizontal;\n }\n}\n\n\n// Component alignment\n//\n// Repurpose the pull utilities as their own navbar utilities to avoid specificity\n// issues with parents and chaining. Only do this when the navbar is uncollapsed\n// though so that navbar contents properly stack and align in mobile.\n//\n// Declared after the navbar components to ensure more specificity on the margins.\n\n@media (min-width: @grid-float-breakpoint) {\n .navbar-left { .pull-left(); }\n .navbar-right {\n .pull-right();\n margin-right: -@navbar-padding-horizontal;\n\n ~ .navbar-right {\n margin-right: 0;\n }\n }\n}\n\n\n// Alternate navbars\n// --------------------------------------------------\n\n// Default navbar\n.navbar-default {\n background-color: @navbar-default-bg;\n border-color: @navbar-default-border;\n\n .navbar-brand {\n color: @navbar-default-brand-color;\n &:hover,\n &:focus {\n color: @navbar-default-brand-hover-color;\n background-color: @navbar-default-brand-hover-bg;\n }\n }\n\n .navbar-text {\n color: @navbar-default-color;\n }\n\n .navbar-nav {\n > li > a {\n color: @navbar-default-link-color;\n\n &:hover,\n &:focus {\n color: @navbar-default-link-hover-color;\n background-color: @navbar-default-link-hover-bg;\n }\n }\n > .active > a {\n &,\n &:hover,\n &:focus {\n color: @navbar-default-link-active-color;\n background-color: @navbar-default-link-active-bg;\n }\n }\n > .disabled > a {\n &,\n &:hover,\n &:focus {\n color: @navbar-default-link-disabled-color;\n background-color: @navbar-default-link-disabled-bg;\n }\n }\n }\n\n .navbar-toggle {\n border-color: @navbar-default-toggle-border-color;\n &:hover,\n &:focus {\n background-color: @navbar-default-toggle-hover-bg;\n }\n .icon-bar {\n background-color: @navbar-default-toggle-icon-bar-bg;\n }\n }\n\n .navbar-collapse,\n .navbar-form {\n border-color: @navbar-default-border;\n }\n\n // Dropdown menu items\n .navbar-nav {\n // Remove background color from open dropdown\n > .open > a {\n &,\n &:hover,\n &:focus {\n background-color: @navbar-default-link-active-bg;\n color: @navbar-default-link-active-color;\n }\n }\n\n @media (max-width: @grid-float-breakpoint-max) {\n // Dropdowns get custom display when collapsed\n .open .dropdown-menu {\n > li > a {\n color: @navbar-default-link-color;\n &:hover,\n &:focus {\n color: @navbar-default-link-hover-color;\n background-color: @navbar-default-link-hover-bg;\n }\n }\n > .active > a {\n &,\n &:hover,\n &:focus {\n color: @navbar-default-link-active-color;\n background-color: @navbar-default-link-active-bg;\n }\n }\n > .disabled > a {\n &,\n &:hover,\n &:focus {\n color: @navbar-default-link-disabled-color;\n background-color: @navbar-default-link-disabled-bg;\n }\n }\n }\n }\n }\n\n\n // Links in navbars\n //\n // Add a class to ensure links outside the navbar nav are colored correctly.\n\n .navbar-link {\n color: @navbar-default-link-color;\n &:hover {\n color: @navbar-default-link-hover-color;\n }\n }\n\n .btn-link {\n color: @navbar-default-link-color;\n &:hover,\n &:focus {\n color: @navbar-default-link-hover-color;\n }\n &[disabled],\n fieldset[disabled] & {\n &:hover,\n &:focus {\n color: @navbar-default-link-disabled-color;\n }\n }\n }\n}\n\n// Inverse navbar\n\n.navbar-inverse {\n background-color: @navbar-inverse-bg;\n border-color: @navbar-inverse-border;\n\n .navbar-brand {\n color: @navbar-inverse-brand-color;\n &:hover,\n &:focus {\n color: @navbar-inverse-brand-hover-color;\n background-color: @navbar-inverse-brand-hover-bg;\n }\n }\n\n .navbar-text {\n color: @navbar-inverse-color;\n }\n\n .navbar-nav {\n > li > a {\n color: @navbar-inverse-link-color;\n\n &:hover,\n &:focus {\n color: @navbar-inverse-link-hover-color;\n background-color: @navbar-inverse-link-hover-bg;\n }\n }\n > .active > a {\n &,\n &:hover,\n &:focus {\n color: @navbar-inverse-link-active-color;\n background-color: @navbar-inverse-link-active-bg;\n }\n }\n > .disabled > a {\n &,\n &:hover,\n &:focus {\n color: @navbar-inverse-link-disabled-color;\n background-color: @navbar-inverse-link-disabled-bg;\n }\n }\n }\n\n // Darken the responsive nav toggle\n .navbar-toggle {\n border-color: @navbar-inverse-toggle-border-color;\n &:hover,\n &:focus {\n background-color: @navbar-inverse-toggle-hover-bg;\n }\n .icon-bar {\n background-color: @navbar-inverse-toggle-icon-bar-bg;\n }\n }\n\n .navbar-collapse,\n .navbar-form {\n border-color: darken(@navbar-inverse-bg, 7%);\n }\n\n // Dropdowns\n .navbar-nav {\n > .open > a {\n &,\n &:hover,\n &:focus {\n background-color: @navbar-inverse-link-active-bg;\n color: @navbar-inverse-link-active-color;\n }\n }\n\n @media (max-width: @grid-float-breakpoint-max) {\n // Dropdowns get custom display\n .open .dropdown-menu {\n > .dropdown-header {\n border-color: @navbar-inverse-border;\n }\n .divider {\n background-color: @navbar-inverse-border;\n }\n > li > a {\n color: @navbar-inverse-link-color;\n &:hover,\n &:focus {\n color: @navbar-inverse-link-hover-color;\n background-color: @navbar-inverse-link-hover-bg;\n }\n }\n > .active > a {\n &,\n &:hover,\n &:focus {\n color: @navbar-inverse-link-active-color;\n background-color: @navbar-inverse-link-active-bg;\n }\n }\n > .disabled > a {\n &,\n &:hover,\n &:focus {\n color: @navbar-inverse-link-disabled-color;\n background-color: @navbar-inverse-link-disabled-bg;\n }\n }\n }\n }\n }\n\n .navbar-link {\n color: @navbar-inverse-link-color;\n &:hover {\n color: @navbar-inverse-link-hover-color;\n }\n }\n\n .btn-link {\n color: @navbar-inverse-link-color;\n &:hover,\n &:focus {\n color: @navbar-inverse-link-hover-color;\n }\n &[disabled],\n fieldset[disabled] & {\n &:hover,\n &:focus {\n color: @navbar-inverse-link-disabled-color;\n }\n }\n }\n}\n","// Navbar vertical align\n//\n// Vertically center elements in the navbar.\n// Example: an element has a height of 30px, so write out `.navbar-vertical-align(30px);` to calculate the appropriate top margin.\n\n.navbar-vertical-align(@element-height) {\n margin-top: ((@navbar-height - @element-height) / 2);\n margin-bottom: ((@navbar-height - @element-height) / 2);\n}\n","//\n// Utility classes\n// --------------------------------------------------\n\n\n// Floats\n// -------------------------\n\n.clearfix {\n .clearfix();\n}\n.center-block {\n .center-block();\n}\n.pull-right {\n float: right !important;\n}\n.pull-left {\n float: left !important;\n}\n\n\n// Toggling content\n// -------------------------\n\n// Note: Deprecated .hide in favor of .hidden or .sr-only (as appropriate) in v3.0.1\n.hide {\n display: none !important;\n}\n.show {\n display: block !important;\n}\n.invisible {\n visibility: hidden;\n}\n.text-hide {\n .text-hide();\n}\n\n\n// Hide from screenreaders and browsers\n//\n// Credit: HTML5 Boilerplate\n\n.hidden {\n display: none !important;\n}\n\n\n// For Affix plugin\n// -------------------------\n\n.affix {\n position: fixed;\n}\n","//\n// Breadcrumbs\n// --------------------------------------------------\n\n\n.breadcrumb {\n padding: @breadcrumb-padding-vertical @breadcrumb-padding-horizontal;\n margin-bottom: @line-height-computed;\n list-style: none;\n background-color: @breadcrumb-bg;\n border-radius: @border-radius-base;\n\n > li {\n display: inline-block;\n\n + li:before {\n content: \"@{breadcrumb-separator}\\00a0\"; // Unicode space added since inline-block means non-collapsing white-space\n padding: 0 5px;\n color: @breadcrumb-color;\n }\n }\n\n > .active {\n color: @breadcrumb-active-color;\n }\n}\n","//\n// Pagination (multiple pages)\n// --------------------------------------------------\n.pagination {\n display: inline-block;\n padding-left: 0;\n margin: @line-height-computed 0;\n border-radius: @border-radius-base;\n\n > li {\n display: inline; // Remove list-style and block-level defaults\n > a,\n > span {\n position: relative;\n float: left; // Collapse white-space\n padding: @padding-base-vertical @padding-base-horizontal;\n line-height: @line-height-base;\n text-decoration: none;\n color: @pagination-color;\n background-color: @pagination-bg;\n border: 1px solid @pagination-border;\n margin-left: -1px;\n }\n &:first-child {\n > a,\n > span {\n margin-left: 0;\n .border-left-radius(@border-radius-base);\n }\n }\n &:last-child {\n > a,\n > span {\n .border-right-radius(@border-radius-base);\n }\n }\n }\n\n > li > a,\n > li > span {\n &:hover,\n &:focus {\n z-index: 2;\n color: @pagination-hover-color;\n background-color: @pagination-hover-bg;\n border-color: @pagination-hover-border;\n }\n }\n\n > .active > a,\n > .active > span {\n &,\n &:hover,\n &:focus {\n z-index: 3;\n color: @pagination-active-color;\n background-color: @pagination-active-bg;\n border-color: @pagination-active-border;\n cursor: default;\n }\n }\n\n > .disabled {\n > span,\n > span:hover,\n > span:focus,\n > a,\n > a:hover,\n > a:focus {\n color: @pagination-disabled-color;\n background-color: @pagination-disabled-bg;\n border-color: @pagination-disabled-border;\n cursor: @cursor-disabled;\n }\n }\n}\n\n// Sizing\n// --------------------------------------------------\n\n// Large\n.pagination-lg {\n .pagination-size(@padding-large-vertical; @padding-large-horizontal; @font-size-large; @line-height-large; @border-radius-large);\n}\n\n// Small\n.pagination-sm {\n .pagination-size(@padding-small-vertical; @padding-small-horizontal; @font-size-small; @line-height-small; @border-radius-small);\n}\n","// Pagination\n\n.pagination-size(@padding-vertical; @padding-horizontal; @font-size; @line-height; @border-radius) {\n > li {\n > a,\n > span {\n padding: @padding-vertical @padding-horizontal;\n font-size: @font-size;\n line-height: @line-height;\n }\n &:first-child {\n > a,\n > span {\n .border-left-radius(@border-radius);\n }\n }\n &:last-child {\n > a,\n > span {\n .border-right-radius(@border-radius);\n }\n }\n }\n}\n","//\n// Pager pagination\n// --------------------------------------------------\n\n\n.pager {\n padding-left: 0;\n margin: @line-height-computed 0;\n list-style: none;\n text-align: center;\n &:extend(.clearfix all);\n li {\n display: inline;\n > a,\n > span {\n display: inline-block;\n padding: 5px 14px;\n background-color: @pager-bg;\n border: 1px solid @pager-border;\n border-radius: @pager-border-radius;\n }\n\n > a:hover,\n > a:focus {\n text-decoration: none;\n background-color: @pager-hover-bg;\n }\n }\n\n .next {\n > a,\n > span {\n float: right;\n }\n }\n\n .previous {\n > a,\n > span {\n float: left;\n }\n }\n\n .disabled {\n > a,\n > a:hover,\n > a:focus,\n > span {\n color: @pager-disabled-color;\n background-color: @pager-bg;\n cursor: @cursor-disabled;\n }\n }\n}\n","//\n// Labels\n// --------------------------------------------------\n\n.label {\n display: inline;\n padding: .2em .6em .3em;\n font-size: 75%;\n font-weight: bold;\n line-height: 1;\n color: @label-color;\n text-align: center;\n white-space: nowrap;\n vertical-align: baseline;\n border-radius: .25em;\n\n // Add hover effects, but only for links\n a& {\n &:hover,\n &:focus {\n color: @label-link-hover-color;\n text-decoration: none;\n cursor: pointer;\n }\n }\n\n // Empty labels collapse automatically (not available in IE8)\n &:empty {\n display: none;\n }\n\n // Quick fix for labels in buttons\n .btn & {\n position: relative;\n top: -1px;\n }\n}\n\n// Colors\n// Contextual variations (linked labels get darker on :hover)\n\n.label-default {\n .label-variant(@label-default-bg);\n}\n\n.label-primary {\n .label-variant(@label-primary-bg);\n}\n\n.label-success {\n .label-variant(@label-success-bg);\n}\n\n.label-info {\n .label-variant(@label-info-bg);\n}\n\n.label-warning {\n .label-variant(@label-warning-bg);\n}\n\n.label-danger {\n .label-variant(@label-danger-bg);\n}\n","// Labels\n\n.label-variant(@color) {\n background-color: @color;\n\n &[href] {\n &:hover,\n &:focus {\n background-color: darken(@color, 10%);\n }\n }\n}\n","//\n// Badges\n// --------------------------------------------------\n\n\n// Base class\n.badge {\n display: inline-block;\n min-width: 10px;\n padding: 3px 7px;\n font-size: @font-size-small;\n font-weight: @badge-font-weight;\n color: @badge-color;\n line-height: @badge-line-height;\n vertical-align: middle;\n white-space: nowrap;\n text-align: center;\n background-color: @badge-bg;\n border-radius: @badge-border-radius;\n\n // Empty badges collapse automatically (not available in IE8)\n &:empty {\n display: none;\n }\n\n // Quick fix for badges in buttons\n .btn & {\n position: relative;\n top: -1px;\n }\n\n .btn-xs &,\n .btn-group-xs > .btn & {\n top: 0;\n padding: 1px 5px;\n }\n\n // Hover state, but only for links\n a& {\n &:hover,\n &:focus {\n color: @badge-link-hover-color;\n text-decoration: none;\n cursor: pointer;\n }\n }\n\n // Account for badges in navs\n .list-group-item.active > &,\n .nav-pills > .active > a > & {\n color: @badge-active-color;\n background-color: @badge-active-bg;\n }\n\n .list-group-item > & {\n float: right;\n }\n\n .list-group-item > & + & {\n margin-right: 5px;\n }\n\n .nav-pills > li > a > & {\n margin-left: 3px;\n }\n}\n","//\n// Jumbotron\n// --------------------------------------------------\n\n\n.jumbotron {\n padding-top: @jumbotron-padding;\n padding-bottom: @jumbotron-padding;\n margin-bottom: @jumbotron-padding;\n color: @jumbotron-color;\n background-color: @jumbotron-bg;\n\n h1,\n .h1 {\n color: @jumbotron-heading-color;\n }\n\n p {\n margin-bottom: (@jumbotron-padding / 2);\n font-size: @jumbotron-font-size;\n font-weight: 200;\n }\n\n > hr {\n border-top-color: darken(@jumbotron-bg, 10%);\n }\n\n .container &,\n .container-fluid & {\n border-radius: @border-radius-large; // Only round corners at higher resolutions if contained in a container\n padding-left: (@grid-gutter-width / 2);\n padding-right: (@grid-gutter-width / 2);\n }\n\n .container {\n max-width: 100%;\n }\n\n @media screen and (min-width: @screen-sm-min) {\n padding-top: (@jumbotron-padding * 1.6);\n padding-bottom: (@jumbotron-padding * 1.6);\n\n .container &,\n .container-fluid & {\n padding-left: (@jumbotron-padding * 2);\n padding-right: (@jumbotron-padding * 2);\n }\n\n h1,\n .h1 {\n font-size: @jumbotron-heading-font-size;\n }\n }\n}\n","//\n// Thumbnails\n// --------------------------------------------------\n\n\n// Mixin and adjust the regular image class\n.thumbnail {\n display: block;\n padding: @thumbnail-padding;\n margin-bottom: @line-height-computed;\n line-height: @line-height-base;\n background-color: @thumbnail-bg;\n border: 1px solid @thumbnail-border;\n border-radius: @thumbnail-border-radius;\n .transition(border .2s ease-in-out);\n\n > img,\n a > img {\n &:extend(.img-responsive);\n margin-left: auto;\n margin-right: auto;\n }\n\n // Add a hover state for linked versions only\n a&:hover,\n a&:focus,\n a&.active {\n border-color: @link-color;\n }\n\n // Image captions\n .caption {\n padding: @thumbnail-caption-padding;\n color: @thumbnail-caption-color;\n }\n}\n","//\n// Alerts\n// --------------------------------------------------\n\n\n// Base styles\n// -------------------------\n\n.alert {\n padding: @alert-padding;\n margin-bottom: @line-height-computed;\n border: 1px solid transparent;\n border-radius: @alert-border-radius;\n\n // Headings for larger alerts\n h4 {\n margin-top: 0;\n // Specified for the h4 to prevent conflicts of changing @headings-color\n color: inherit;\n }\n\n // Provide class for links that match alerts\n .alert-link {\n font-weight: @alert-link-font-weight;\n }\n\n // Improve alignment and spacing of inner content\n > p,\n > ul {\n margin-bottom: 0;\n }\n\n > p + p {\n margin-top: 5px;\n }\n}\n\n// Dismissible alerts\n//\n// Expand the right padding and account for the close button's positioning.\n\n.alert-dismissable, // The misspelled .alert-dismissable was deprecated in 3.2.0.\n.alert-dismissible {\n padding-right: (@alert-padding + 20);\n\n // Adjust close link position\n .close {\n position: relative;\n top: -2px;\n right: -21px;\n color: inherit;\n }\n}\n\n// Alternate styles\n//\n// Generate contextual modifier classes for colorizing the alert.\n\n.alert-success {\n .alert-variant(@alert-success-bg; @alert-success-border; @alert-success-text);\n}\n\n.alert-info {\n .alert-variant(@alert-info-bg; @alert-info-border; @alert-info-text);\n}\n\n.alert-warning {\n .alert-variant(@alert-warning-bg; @alert-warning-border; @alert-warning-text);\n}\n\n.alert-danger {\n .alert-variant(@alert-danger-bg; @alert-danger-border; @alert-danger-text);\n}\n","// Alerts\n\n.alert-variant(@background; @border; @text-color) {\n background-color: @background;\n border-color: @border;\n color: @text-color;\n\n hr {\n border-top-color: darken(@border, 5%);\n }\n .alert-link {\n color: darken(@text-color, 10%);\n }\n}\n","//\n// Progress bars\n// --------------------------------------------------\n\n\n// Bar animations\n// -------------------------\n\n// WebKit\n@-webkit-keyframes progress-bar-stripes {\n from { background-position: 40px 0; }\n to { background-position: 0 0; }\n}\n\n// Spec and IE10+\n@keyframes progress-bar-stripes {\n from { background-position: 40px 0; }\n to { background-position: 0 0; }\n}\n\n\n// Bar itself\n// -------------------------\n\n// Outer container\n.progress {\n overflow: hidden;\n height: @line-height-computed;\n margin-bottom: @line-height-computed;\n background-color: @progress-bg;\n border-radius: @progress-border-radius;\n .box-shadow(inset 0 1px 2px rgba(0,0,0,.1));\n}\n\n// Bar of progress\n.progress-bar {\n float: left;\n width: 0%;\n height: 100%;\n font-size: @font-size-small;\n line-height: @line-height-computed;\n color: @progress-bar-color;\n text-align: center;\n background-color: @progress-bar-bg;\n .box-shadow(inset 0 -1px 0 rgba(0,0,0,.15));\n .transition(width .6s ease);\n}\n\n// Striped bars\n//\n// `.progress-striped .progress-bar` is deprecated as of v3.2.0 in favor of the\n// `.progress-bar-striped` class, which you just add to an existing\n// `.progress-bar`.\n.progress-striped .progress-bar,\n.progress-bar-striped {\n #gradient > .striped();\n background-size: 40px 40px;\n}\n\n// Call animation for the active one\n//\n// `.progress.active .progress-bar` is deprecated as of v3.2.0 in favor of the\n// `.progress-bar.active` approach.\n.progress.active .progress-bar,\n.progress-bar.active {\n .animation(progress-bar-stripes 2s linear infinite);\n}\n\n\n// Variations\n// -------------------------\n\n.progress-bar-success {\n .progress-bar-variant(@progress-bar-success-bg);\n}\n\n.progress-bar-info {\n .progress-bar-variant(@progress-bar-info-bg);\n}\n\n.progress-bar-warning {\n .progress-bar-variant(@progress-bar-warning-bg);\n}\n\n.progress-bar-danger {\n .progress-bar-variant(@progress-bar-danger-bg);\n}\n","// Gradients\n\n#gradient {\n\n // Horizontal gradient, from left to right\n //\n // Creates two color stops, start and end, by specifying a color and position for each color stop.\n // Color stops are not available in IE9 and below.\n .horizontal(@start-color: #555; @end-color: #333; @start-percent: 0%; @end-percent: 100%) {\n background-image: -webkit-linear-gradient(left, @start-color @start-percent, @end-color @end-percent); // Safari 5.1-6, Chrome 10+\n background-image: -o-linear-gradient(left, @start-color @start-percent, @end-color @end-percent); // Opera 12\n background-image: linear-gradient(to right, @start-color @start-percent, @end-color @end-percent); // Standard, IE10, Firefox 16+, Opera 12.10+, Safari 7+, Chrome 26+\n background-repeat: repeat-x;\n filter: e(%(\"progid:DXImageTransform.Microsoft.gradient(startColorstr='%d', endColorstr='%d', GradientType=1)\",argb(@start-color),argb(@end-color))); // IE9 and down\n }\n\n // Vertical gradient, from top to bottom\n //\n // Creates two color stops, start and end, by specifying a color and position for each color stop.\n // Color stops are not available in IE9 and below.\n .vertical(@start-color: #555; @end-color: #333; @start-percent: 0%; @end-percent: 100%) {\n background-image: -webkit-linear-gradient(top, @start-color @start-percent, @end-color @end-percent); // Safari 5.1-6, Chrome 10+\n background-image: -o-linear-gradient(top, @start-color @start-percent, @end-color @end-percent); // Opera 12\n background-image: linear-gradient(to bottom, @start-color @start-percent, @end-color @end-percent); // Standard, IE10, Firefox 16+, Opera 12.10+, Safari 7+, Chrome 26+\n background-repeat: repeat-x;\n filter: e(%(\"progid:DXImageTransform.Microsoft.gradient(startColorstr='%d', endColorstr='%d', GradientType=0)\",argb(@start-color),argb(@end-color))); // IE9 and down\n }\n\n .directional(@start-color: #555; @end-color: #333; @deg: 45deg) {\n background-repeat: repeat-x;\n background-image: -webkit-linear-gradient(@deg, @start-color, @end-color); // Safari 5.1-6, Chrome 10+\n background-image: -o-linear-gradient(@deg, @start-color, @end-color); // Opera 12\n background-image: linear-gradient(@deg, @start-color, @end-color); // Standard, IE10, Firefox 16+, Opera 12.10+, Safari 7+, Chrome 26+\n }\n .horizontal-three-colors(@start-color: #00b3ee; @mid-color: #7a43b6; @color-stop: 50%; @end-color: #c3325f) {\n background-image: -webkit-linear-gradient(left, @start-color, @mid-color @color-stop, @end-color);\n background-image: -o-linear-gradient(left, @start-color, @mid-color @color-stop, @end-color);\n background-image: linear-gradient(to right, @start-color, @mid-color @color-stop, @end-color);\n background-repeat: no-repeat;\n filter: e(%(\"progid:DXImageTransform.Microsoft.gradient(startColorstr='%d', endColorstr='%d', GradientType=1)\",argb(@start-color),argb(@end-color))); // IE9 and down, gets no color-stop at all for proper fallback\n }\n .vertical-three-colors(@start-color: #00b3ee; @mid-color: #7a43b6; @color-stop: 50%; @end-color: #c3325f) {\n background-image: -webkit-linear-gradient(@start-color, @mid-color @color-stop, @end-color);\n background-image: -o-linear-gradient(@start-color, @mid-color @color-stop, @end-color);\n background-image: linear-gradient(@start-color, @mid-color @color-stop, @end-color);\n background-repeat: no-repeat;\n filter: e(%(\"progid:DXImageTransform.Microsoft.gradient(startColorstr='%d', endColorstr='%d', GradientType=0)\",argb(@start-color),argb(@end-color))); // IE9 and down, gets no color-stop at all for proper fallback\n }\n .radial(@inner-color: #555; @outer-color: #333) {\n background-image: -webkit-radial-gradient(circle, @inner-color, @outer-color);\n background-image: radial-gradient(circle, @inner-color, @outer-color);\n background-repeat: no-repeat;\n }\n .striped(@color: rgba(255,255,255,.15); @angle: 45deg) {\n background-image: -webkit-linear-gradient(@angle, @color 25%, transparent 25%, transparent 50%, @color 50%, @color 75%, transparent 75%, transparent);\n background-image: -o-linear-gradient(@angle, @color 25%, transparent 25%, transparent 50%, @color 50%, @color 75%, transparent 75%, transparent);\n background-image: linear-gradient(@angle, @color 25%, transparent 25%, transparent 50%, @color 50%, @color 75%, transparent 75%, transparent);\n }\n}\n","// Progress bars\n\n.progress-bar-variant(@color) {\n background-color: @color;\n\n // Deprecated parent class requirement as of v3.2.0\n .progress-striped & {\n #gradient > .striped();\n }\n}\n",".media {\n // Proper spacing between instances of .media\n margin-top: 15px;\n\n &:first-child {\n margin-top: 0;\n }\n}\n\n.media,\n.media-body {\n zoom: 1;\n overflow: hidden;\n}\n\n.media-body {\n width: 10000px;\n}\n\n.media-object {\n display: block;\n\n // Fix collapse in webkit from max-width: 100% and display: table-cell.\n &.img-thumbnail {\n max-width: none;\n }\n}\n\n.media-right,\n.media > .pull-right {\n padding-left: 10px;\n}\n\n.media-left,\n.media > .pull-left {\n padding-right: 10px;\n}\n\n.media-left,\n.media-right,\n.media-body {\n display: table-cell;\n vertical-align: top;\n}\n\n.media-middle {\n vertical-align: middle;\n}\n\n.media-bottom {\n vertical-align: bottom;\n}\n\n// Reset margins on headings for tighter default spacing\n.media-heading {\n margin-top: 0;\n margin-bottom: 5px;\n}\n\n// Media list variation\n//\n// Undo default ul/ol styles\n.media-list {\n padding-left: 0;\n list-style: none;\n}\n","//\n// List groups\n// --------------------------------------------------\n\n\n// Base class\n//\n// Easily usable on <ul>, <ol>, or <div>.\n\n.list-group {\n // No need to set list-style: none; since .list-group-item is block level\n margin-bottom: 20px;\n padding-left: 0; // reset padding because ul and ol\n}\n\n\n// Individual list items\n//\n// Use on `li`s or `div`s within the `.list-group` parent.\n\n.list-group-item {\n position: relative;\n display: block;\n padding: 10px 15px;\n // Place the border on the list items and negative margin up for better styling\n margin-bottom: -1px;\n background-color: @list-group-bg;\n border: 1px solid @list-group-border;\n\n // Round the first and last items\n &:first-child {\n .border-top-radius(@list-group-border-radius);\n }\n &:last-child {\n margin-bottom: 0;\n .border-bottom-radius(@list-group-border-radius);\n }\n}\n\n\n// Interactive list items\n//\n// Use anchor or button elements instead of `li`s or `div`s to create interactive items.\n// Includes an extra `.active` modifier class for showing selected items.\n\na.list-group-item,\nbutton.list-group-item {\n color: @list-group-link-color;\n\n .list-group-item-heading {\n color: @list-group-link-heading-color;\n }\n\n // Hover state\n &:hover,\n &:focus {\n text-decoration: none;\n color: @list-group-link-hover-color;\n background-color: @list-group-hover-bg;\n }\n}\n\nbutton.list-group-item {\n width: 100%;\n text-align: left;\n}\n\n.list-group-item {\n // Disabled state\n &.disabled,\n &.disabled:hover,\n &.disabled:focus {\n background-color: @list-group-disabled-bg;\n color: @list-group-disabled-color;\n cursor: @cursor-disabled;\n\n // Force color to inherit for custom content\n .list-group-item-heading {\n color: inherit;\n }\n .list-group-item-text {\n color: @list-group-disabled-text-color;\n }\n }\n\n // Active class on item itself, not parent\n &.active,\n &.active:hover,\n &.active:focus {\n z-index: 2; // Place active items above their siblings for proper border styling\n color: @list-group-active-color;\n background-color: @list-group-active-bg;\n border-color: @list-group-active-border;\n\n // Force color to inherit for custom content\n .list-group-item-heading,\n .list-group-item-heading > small,\n .list-group-item-heading > .small {\n color: inherit;\n }\n .list-group-item-text {\n color: @list-group-active-text-color;\n }\n }\n}\n\n\n// Contextual variants\n//\n// Add modifier classes to change text and background color on individual items.\n// Organizationally, this must come after the `:hover` states.\n\n.list-group-item-variant(success; @state-success-bg; @state-success-text);\n.list-group-item-variant(info; @state-info-bg; @state-info-text);\n.list-group-item-variant(warning; @state-warning-bg; @state-warning-text);\n.list-group-item-variant(danger; @state-danger-bg; @state-danger-text);\n\n\n// Custom content options\n//\n// Extra classes for creating well-formatted content within `.list-group-item`s.\n\n.list-group-item-heading {\n margin-top: 0;\n margin-bottom: 5px;\n}\n.list-group-item-text {\n margin-bottom: 0;\n line-height: 1.3;\n}\n","// List Groups\n\n.list-group-item-variant(@state; @background; @color) {\n .list-group-item-@{state} {\n color: @color;\n background-color: @background;\n\n a&,\n button& {\n color: @color;\n\n .list-group-item-heading {\n color: inherit;\n }\n\n &:hover,\n &:focus {\n color: @color;\n background-color: darken(@background, 5%);\n }\n &.active,\n &.active:hover,\n &.active:focus {\n color: #fff;\n background-color: @color;\n border-color: @color;\n }\n }\n }\n}\n","//\n// Panels\n// --------------------------------------------------\n\n\n// Base class\n.panel {\n margin-bottom: @line-height-computed;\n background-color: @panel-bg;\n border: 1px solid transparent;\n border-radius: @panel-border-radius;\n .box-shadow(0 1px 1px rgba(0,0,0,.05));\n}\n\n// Panel contents\n.panel-body {\n padding: @panel-body-padding;\n &:extend(.clearfix all);\n}\n\n// Optional heading\n.panel-heading {\n padding: @panel-heading-padding;\n border-bottom: 1px solid transparent;\n .border-top-radius((@panel-border-radius - 1));\n\n > .dropdown .dropdown-toggle {\n color: inherit;\n }\n}\n\n// Within heading, strip any `h*` tag of its default margins for spacing.\n.panel-title {\n margin-top: 0;\n margin-bottom: 0;\n font-size: ceil((@font-size-base * 1.125));\n color: inherit;\n\n > a,\n > small,\n > .small,\n > small > a,\n > .small > a {\n color: inherit;\n }\n}\n\n// Optional footer (stays gray in every modifier class)\n.panel-footer {\n padding: @panel-footer-padding;\n background-color: @panel-footer-bg;\n border-top: 1px solid @panel-inner-border;\n .border-bottom-radius((@panel-border-radius - 1));\n}\n\n\n// List groups in panels\n//\n// By default, space out list group content from panel headings to account for\n// any kind of custom content between the two.\n\n.panel {\n > .list-group,\n > .panel-collapse > .list-group {\n margin-bottom: 0;\n\n .list-group-item {\n border-width: 1px 0;\n border-radius: 0;\n }\n\n // Add border top radius for first one\n &:first-child {\n .list-group-item:first-child {\n border-top: 0;\n .border-top-radius((@panel-border-radius - 1));\n }\n }\n\n // Add border bottom radius for last one\n &:last-child {\n .list-group-item:last-child {\n border-bottom: 0;\n .border-bottom-radius((@panel-border-radius - 1));\n }\n }\n }\n > .panel-heading + .panel-collapse > .list-group {\n .list-group-item:first-child {\n .border-top-radius(0);\n }\n }\n}\n// Collapse space between when there's no additional content.\n.panel-heading + .list-group {\n .list-group-item:first-child {\n border-top-width: 0;\n }\n}\n.list-group + .panel-footer {\n border-top-width: 0;\n}\n\n// Tables in panels\n//\n// Place a non-bordered `.table` within a panel (not within a `.panel-body`) and\n// watch it go full width.\n\n.panel {\n > .table,\n > .table-responsive > .table,\n > .panel-collapse > .table {\n margin-bottom: 0;\n\n caption {\n padding-left: @panel-body-padding;\n padding-right: @panel-body-padding;\n }\n }\n // Add border top radius for first one\n > .table:first-child,\n > .table-responsive:first-child > .table:first-child {\n .border-top-radius((@panel-border-radius - 1));\n\n > thead:first-child,\n > tbody:first-child {\n > tr:first-child {\n border-top-left-radius: (@panel-border-radius - 1);\n border-top-right-radius: (@panel-border-radius - 1);\n\n td:first-child,\n th:first-child {\n border-top-left-radius: (@panel-border-radius - 1);\n }\n td:last-child,\n th:last-child {\n border-top-right-radius: (@panel-border-radius - 1);\n }\n }\n }\n }\n // Add border bottom radius for last one\n > .table:last-child,\n > .table-responsive:last-child > .table:last-child {\n .border-bottom-radius((@panel-border-radius - 1));\n\n > tbody:last-child,\n > tfoot:last-child {\n > tr:last-child {\n border-bottom-left-radius: (@panel-border-radius - 1);\n border-bottom-right-radius: (@panel-border-radius - 1);\n\n td:first-child,\n th:first-child {\n border-bottom-left-radius: (@panel-border-radius - 1);\n }\n td:last-child,\n th:last-child {\n border-bottom-right-radius: (@panel-border-radius - 1);\n }\n }\n }\n }\n > .panel-body + .table,\n > .panel-body + .table-responsive,\n > .table + .panel-body,\n > .table-responsive + .panel-body {\n border-top: 1px solid @table-border-color;\n }\n > .table > tbody:first-child > tr:first-child th,\n > .table > tbody:first-child > tr:first-child td {\n border-top: 0;\n }\n > .table-bordered,\n > .table-responsive > .table-bordered {\n border: 0;\n > thead,\n > tbody,\n > tfoot {\n > tr {\n > th:first-child,\n > td:first-child {\n border-left: 0;\n }\n > th:last-child,\n > td:last-child {\n border-right: 0;\n }\n }\n }\n > thead,\n > tbody {\n > tr:first-child {\n > td,\n > th {\n border-bottom: 0;\n }\n }\n }\n > tbody,\n > tfoot {\n > tr:last-child {\n > td,\n > th {\n border-bottom: 0;\n }\n }\n }\n }\n > .table-responsive {\n border: 0;\n margin-bottom: 0;\n }\n}\n\n\n// Collapsible panels (aka, accordion)\n//\n// Wrap a series of panels in `.panel-group` to turn them into an accordion with\n// the help of our collapse JavaScript plugin.\n\n.panel-group {\n margin-bottom: @line-height-computed;\n\n // Tighten up margin so it's only between panels\n .panel {\n margin-bottom: 0;\n border-radius: @panel-border-radius;\n\n + .panel {\n margin-top: 5px;\n }\n }\n\n .panel-heading {\n border-bottom: 0;\n\n + .panel-collapse > .panel-body,\n + .panel-collapse > .list-group {\n border-top: 1px solid @panel-inner-border;\n }\n }\n\n .panel-footer {\n border-top: 0;\n + .panel-collapse .panel-body {\n border-bottom: 1px solid @panel-inner-border;\n }\n }\n}\n\n\n// Contextual variations\n.panel-default {\n .panel-variant(@panel-default-border; @panel-default-text; @panel-default-heading-bg; @panel-default-border);\n}\n.panel-primary {\n .panel-variant(@panel-primary-border; @panel-primary-text; @panel-primary-heading-bg; @panel-primary-border);\n}\n.panel-success {\n .panel-variant(@panel-success-border; @panel-success-text; @panel-success-heading-bg; @panel-success-border);\n}\n.panel-info {\n .panel-variant(@panel-info-border; @panel-info-text; @panel-info-heading-bg; @panel-info-border);\n}\n.panel-warning {\n .panel-variant(@panel-warning-border; @panel-warning-text; @panel-warning-heading-bg; @panel-warning-border);\n}\n.panel-danger {\n .panel-variant(@panel-danger-border; @panel-danger-text; @panel-danger-heading-bg; @panel-danger-border);\n}\n","// Panels\n\n.panel-variant(@border; @heading-text-color; @heading-bg-color; @heading-border) {\n border-color: @border;\n\n & > .panel-heading {\n color: @heading-text-color;\n background-color: @heading-bg-color;\n border-color: @heading-border;\n\n + .panel-collapse > .panel-body {\n border-top-color: @border;\n }\n .badge {\n color: @heading-bg-color;\n background-color: @heading-text-color;\n }\n }\n & > .panel-footer {\n + .panel-collapse > .panel-body {\n border-bottom-color: @border;\n }\n }\n}\n","// Embeds responsive\n//\n// Credit: Nicolas Gallagher and SUIT CSS.\n\n.embed-responsive {\n position: relative;\n display: block;\n height: 0;\n padding: 0;\n overflow: hidden;\n\n .embed-responsive-item,\n iframe,\n embed,\n object,\n video {\n position: absolute;\n top: 0;\n left: 0;\n bottom: 0;\n height: 100%;\n width: 100%;\n border: 0;\n }\n}\n\n// Modifier class for 16:9 aspect ratio\n.embed-responsive-16by9 {\n padding-bottom: 56.25%;\n}\n\n// Modifier class for 4:3 aspect ratio\n.embed-responsive-4by3 {\n padding-bottom: 75%;\n}\n","//\n// Wells\n// --------------------------------------------------\n\n\n// Base class\n.well {\n min-height: 20px;\n padding: 19px;\n margin-bottom: 20px;\n background-color: @well-bg;\n border: 1px solid @well-border;\n border-radius: @border-radius-base;\n .box-shadow(inset 0 1px 1px rgba(0,0,0,.05));\n blockquote {\n border-color: #ddd;\n border-color: rgba(0,0,0,.15);\n }\n}\n\n// Sizes\n.well-lg {\n padding: 24px;\n border-radius: @border-radius-large;\n}\n.well-sm {\n padding: 9px;\n border-radius: @border-radius-small;\n}\n","//\n// Close icons\n// --------------------------------------------------\n\n\n.close {\n float: right;\n font-size: (@font-size-base * 1.5);\n font-weight: @close-font-weight;\n line-height: 1;\n color: @close-color;\n text-shadow: @close-text-shadow;\n .opacity(.2);\n\n &:hover,\n &:focus {\n color: @close-color;\n text-decoration: none;\n cursor: pointer;\n .opacity(.5);\n }\n\n // Additional properties for button version\n // iOS requires the button element instead of an anchor tag.\n // If you want the anchor version, it requires `href=\"#\"`.\n // See https://developer.mozilla.org/en-US/docs/Web/Events/click#Safari_Mobile\n button& {\n padding: 0;\n cursor: pointer;\n background: transparent;\n border: 0;\n -webkit-appearance: none;\n }\n}\n","//\n// Modals\n// --------------------------------------------------\n\n// .modal-open - body class for killing the scroll\n// .modal - container to scroll within\n// .modal-dialog - positioning shell for the actual modal\n// .modal-content - actual modal w/ bg and corners and shit\n\n// Kill the scroll on the body\n.modal-open {\n overflow: hidden;\n}\n\n// Container that the modal scrolls within\n.modal {\n display: none;\n overflow: hidden;\n position: fixed;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: @zindex-modal;\n -webkit-overflow-scrolling: touch;\n\n // Prevent Chrome on Windows from adding a focus outline. For details, see\n // https://github.com/twbs/bootstrap/pull/10951.\n outline: 0;\n\n // When fading in the modal, animate it to slide down\n &.fade .modal-dialog {\n .translate(0, -25%);\n .transition-transform(~\"0.3s ease-out\");\n }\n &.in .modal-dialog { .translate(0, 0) }\n}\n.modal-open .modal {\n overflow-x: hidden;\n overflow-y: auto;\n}\n\n// Shell div to position the modal with bottom padding\n.modal-dialog {\n position: relative;\n width: auto;\n margin: 10px;\n}\n\n// Actual modal\n.modal-content {\n position: relative;\n background-color: @modal-content-bg;\n border: 1px solid @modal-content-fallback-border-color; //old browsers fallback (ie8 etc)\n border: 1px solid @modal-content-border-color;\n border-radius: @border-radius-large;\n .box-shadow(0 3px 9px rgba(0,0,0,.5));\n background-clip: padding-box;\n // Remove focus outline from opened modal\n outline: 0;\n}\n\n// Modal background\n.modal-backdrop {\n position: fixed;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: @zindex-modal-background;\n background-color: @modal-backdrop-bg;\n // Fade for backdrop\n &.fade { .opacity(0); }\n &.in { .opacity(@modal-backdrop-opacity); }\n}\n\n// Modal header\n// Top section of the modal w/ title and dismiss\n.modal-header {\n padding: @modal-title-padding;\n border-bottom: 1px solid @modal-header-border-color;\n &:extend(.clearfix all);\n}\n// Close icon\n.modal-header .close {\n margin-top: -2px;\n}\n\n// Title text within header\n.modal-title {\n margin: 0;\n line-height: @modal-title-line-height;\n}\n\n// Modal body\n// Where all modal content resides (sibling of .modal-header and .modal-footer)\n.modal-body {\n position: relative;\n padding: @modal-inner-padding;\n}\n\n// Footer (for actions)\n.modal-footer {\n padding: @modal-inner-padding;\n text-align: right; // right align buttons\n border-top: 1px solid @modal-footer-border-color;\n &:extend(.clearfix all); // clear it in case folks use .pull-* classes on buttons\n\n // Properly space out buttons\n .btn + .btn {\n margin-left: 5px;\n margin-bottom: 0; // account for input[type=\"submit\"] which gets the bottom margin like all other inputs\n }\n // but override that for button groups\n .btn-group .btn + .btn {\n margin-left: -1px;\n }\n // and override it for block buttons as well\n .btn-block + .btn-block {\n margin-left: 0;\n }\n}\n\n// Measure scrollbar width for padding body during modal show/hide\n.modal-scrollbar-measure {\n position: absolute;\n top: -9999px;\n width: 50px;\n height: 50px;\n overflow: scroll;\n}\n\n// Scale up the modal\n@media (min-width: @screen-sm-min) {\n // Automatically set modal's width for larger viewports\n .modal-dialog {\n width: @modal-md;\n margin: 30px auto;\n }\n .modal-content {\n .box-shadow(0 5px 15px rgba(0,0,0,.5));\n }\n\n // Modal sizes\n .modal-sm { width: @modal-sm; }\n}\n\n@media (min-width: @screen-md-min) {\n .modal-lg { width: @modal-lg; }\n}\n","//\n// Tooltips\n// --------------------------------------------------\n\n\n// Base class\n.tooltip {\n position: absolute;\n z-index: @zindex-tooltip;\n display: block;\n // Our parent element can be arbitrary since tooltips are by default inserted as a sibling of their target element.\n // So reset our font and text properties to avoid inheriting weird values.\n .reset-text();\n font-size: @font-size-small;\n\n .opacity(0);\n\n &.in { .opacity(@tooltip-opacity); }\n &.top { margin-top: -3px; padding: @tooltip-arrow-width 0; }\n &.right { margin-left: 3px; padding: 0 @tooltip-arrow-width; }\n &.bottom { margin-top: 3px; padding: @tooltip-arrow-width 0; }\n &.left { margin-left: -3px; padding: 0 @tooltip-arrow-width; }\n}\n\n// Wrapper for the tooltip content\n.tooltip-inner {\n max-width: @tooltip-max-width;\n padding: 3px 8px;\n color: @tooltip-color;\n text-align: center;\n background-color: @tooltip-bg;\n border-radius: @border-radius-base;\n}\n\n// Arrows\n.tooltip-arrow {\n position: absolute;\n width: 0;\n height: 0;\n border-color: transparent;\n border-style: solid;\n}\n// Note: Deprecated .top-left, .top-right, .bottom-left, and .bottom-right as of v3.3.1\n.tooltip {\n &.top .tooltip-arrow {\n bottom: 0;\n left: 50%;\n margin-left: -@tooltip-arrow-width;\n border-width: @tooltip-arrow-width @tooltip-arrow-width 0;\n border-top-color: @tooltip-arrow-color;\n }\n &.top-left .tooltip-arrow {\n bottom: 0;\n right: @tooltip-arrow-width;\n margin-bottom: -@tooltip-arrow-width;\n border-width: @tooltip-arrow-width @tooltip-arrow-width 0;\n border-top-color: @tooltip-arrow-color;\n }\n &.top-right .tooltip-arrow {\n bottom: 0;\n left: @tooltip-arrow-width;\n margin-bottom: -@tooltip-arrow-width;\n border-width: @tooltip-arrow-width @tooltip-arrow-width 0;\n border-top-color: @tooltip-arrow-color;\n }\n &.right .tooltip-arrow {\n top: 50%;\n left: 0;\n margin-top: -@tooltip-arrow-width;\n border-width: @tooltip-arrow-width @tooltip-arrow-width @tooltip-arrow-width 0;\n border-right-color: @tooltip-arrow-color;\n }\n &.left .tooltip-arrow {\n top: 50%;\n right: 0;\n margin-top: -@tooltip-arrow-width;\n border-width: @tooltip-arrow-width 0 @tooltip-arrow-width @tooltip-arrow-width;\n border-left-color: @tooltip-arrow-color;\n }\n &.bottom .tooltip-arrow {\n top: 0;\n left: 50%;\n margin-left: -@tooltip-arrow-width;\n border-width: 0 @tooltip-arrow-width @tooltip-arrow-width;\n border-bottom-color: @tooltip-arrow-color;\n }\n &.bottom-left .tooltip-arrow {\n top: 0;\n right: @tooltip-arrow-width;\n margin-top: -@tooltip-arrow-width;\n border-width: 0 @tooltip-arrow-width @tooltip-arrow-width;\n border-bottom-color: @tooltip-arrow-color;\n }\n &.bottom-right .tooltip-arrow {\n top: 0;\n left: @tooltip-arrow-width;\n margin-top: -@tooltip-arrow-width;\n border-width: 0 @tooltip-arrow-width @tooltip-arrow-width;\n border-bottom-color: @tooltip-arrow-color;\n }\n}\n",".reset-text() {\n font-family: @font-family-base;\n // We deliberately do NOT reset font-size.\n font-style: normal;\n font-weight: normal;\n letter-spacing: normal;\n line-break: auto;\n line-height: @line-height-base;\n text-align: left; // Fallback for where `start` is not supported\n text-align: start;\n text-decoration: none;\n text-shadow: none;\n text-transform: none;\n white-space: normal;\n word-break: normal;\n word-spacing: normal;\n word-wrap: normal;\n}\n","//\n// Popovers\n// --------------------------------------------------\n\n\n.popover {\n position: absolute;\n top: 0;\n left: 0;\n z-index: @zindex-popover;\n display: none;\n max-width: @popover-max-width;\n padding: 1px;\n // Our parent element can be arbitrary since popovers are by default inserted as a sibling of their target element.\n // So reset our font and text properties to avoid inheriting weird values.\n .reset-text();\n font-size: @font-size-base;\n\n background-color: @popover-bg;\n background-clip: padding-box;\n border: 1px solid @popover-fallback-border-color;\n border: 1px solid @popover-border-color;\n border-radius: @border-radius-large;\n .box-shadow(0 5px 10px rgba(0,0,0,.2));\n\n // Offset the popover to account for the popover arrow\n &.top { margin-top: -@popover-arrow-width; }\n &.right { margin-left: @popover-arrow-width; }\n &.bottom { margin-top: @popover-arrow-width; }\n &.left { margin-left: -@popover-arrow-width; }\n}\n\n.popover-title {\n margin: 0; // reset heading margin\n padding: 8px 14px;\n font-size: @font-size-base;\n background-color: @popover-title-bg;\n border-bottom: 1px solid darken(@popover-title-bg, 5%);\n border-radius: (@border-radius-large - 1) (@border-radius-large - 1) 0 0;\n}\n\n.popover-content {\n padding: 9px 14px;\n}\n\n// Arrows\n//\n// .arrow is outer, .arrow:after is inner\n\n.popover > .arrow {\n &,\n &:after {\n position: absolute;\n display: block;\n width: 0;\n height: 0;\n border-color: transparent;\n border-style: solid;\n }\n}\n.popover > .arrow {\n border-width: @popover-arrow-outer-width;\n}\n.popover > .arrow:after {\n border-width: @popover-arrow-width;\n content: \"\";\n}\n\n.popover {\n &.top > .arrow {\n left: 50%;\n margin-left: -@popover-arrow-outer-width;\n border-bottom-width: 0;\n border-top-color: @popover-arrow-outer-fallback-color; // IE8 fallback\n border-top-color: @popover-arrow-outer-color;\n bottom: -@popover-arrow-outer-width;\n &:after {\n content: \" \";\n bottom: 1px;\n margin-left: -@popover-arrow-width;\n border-bottom-width: 0;\n border-top-color: @popover-arrow-color;\n }\n }\n &.right > .arrow {\n top: 50%;\n left: -@popover-arrow-outer-width;\n margin-top: -@popover-arrow-outer-width;\n border-left-width: 0;\n border-right-color: @popover-arrow-outer-fallback-color; // IE8 fallback\n border-right-color: @popover-arrow-outer-color;\n &:after {\n content: \" \";\n left: 1px;\n bottom: -@popover-arrow-width;\n border-left-width: 0;\n border-right-color: @popover-arrow-color;\n }\n }\n &.bottom > .arrow {\n left: 50%;\n margin-left: -@popover-arrow-outer-width;\n border-top-width: 0;\n border-bottom-color: @popover-arrow-outer-fallback-color; // IE8 fallback\n border-bottom-color: @popover-arrow-outer-color;\n top: -@popover-arrow-outer-width;\n &:after {\n content: \" \";\n top: 1px;\n margin-left: -@popover-arrow-width;\n border-top-width: 0;\n border-bottom-color: @popover-arrow-color;\n }\n }\n\n &.left > .arrow {\n top: 50%;\n right: -@popover-arrow-outer-width;\n margin-top: -@popover-arrow-outer-width;\n border-right-width: 0;\n border-left-color: @popover-arrow-outer-fallback-color; // IE8 fallback\n border-left-color: @popover-arrow-outer-color;\n &:after {\n content: \" \";\n right: 1px;\n border-right-width: 0;\n border-left-color: @popover-arrow-color;\n bottom: -@popover-arrow-width;\n }\n }\n}\n","//\n// Carousel\n// --------------------------------------------------\n\n\n// Wrapper for the slide container and indicators\n.carousel {\n position: relative;\n}\n\n.carousel-inner {\n position: relative;\n overflow: hidden;\n width: 100%;\n\n > .item {\n display: none;\n position: relative;\n .transition(.6s ease-in-out left);\n\n // Account for jankitude on images\n > img,\n > a > img {\n &:extend(.img-responsive);\n line-height: 1;\n }\n\n // WebKit CSS3 transforms for supported devices\n @media all and (transform-3d), (-webkit-transform-3d) {\n .transition-transform(~'0.6s ease-in-out');\n .backface-visibility(~'hidden');\n .perspective(1000px);\n\n &.next,\n &.active.right {\n .translate3d(100%, 0, 0);\n left: 0;\n }\n &.prev,\n &.active.left {\n .translate3d(-100%, 0, 0);\n left: 0;\n }\n &.next.left,\n &.prev.right,\n &.active {\n .translate3d(0, 0, 0);\n left: 0;\n }\n }\n }\n\n > .active,\n > .next,\n > .prev {\n display: block;\n }\n\n > .active {\n left: 0;\n }\n\n > .next,\n > .prev {\n position: absolute;\n top: 0;\n width: 100%;\n }\n\n > .next {\n left: 100%;\n }\n > .prev {\n left: -100%;\n }\n > .next.left,\n > .prev.right {\n left: 0;\n }\n\n > .active.left {\n left: -100%;\n }\n > .active.right {\n left: 100%;\n }\n\n}\n\n// Left/right controls for nav\n// ---------------------------\n\n.carousel-control {\n position: absolute;\n top: 0;\n left: 0;\n bottom: 0;\n width: @carousel-control-width;\n .opacity(@carousel-control-opacity);\n font-size: @carousel-control-font-size;\n color: @carousel-control-color;\n text-align: center;\n text-shadow: @carousel-text-shadow;\n background-color: rgba(0, 0, 0, 0); // Fix IE9 click-thru bug\n // We can't have this transition here because WebKit cancels the carousel\n // animation if you trip this while in the middle of another animation.\n\n // Set gradients for backgrounds\n &.left {\n #gradient > .horizontal(@start-color: rgba(0,0,0,.5); @end-color: rgba(0,0,0,.0001));\n }\n &.right {\n left: auto;\n right: 0;\n #gradient > .horizontal(@start-color: rgba(0,0,0,.0001); @end-color: rgba(0,0,0,.5));\n }\n\n // Hover/focus state\n &:hover,\n &:focus {\n outline: 0;\n color: @carousel-control-color;\n text-decoration: none;\n .opacity(.9);\n }\n\n // Toggles\n .icon-prev,\n .icon-next,\n .glyphicon-chevron-left,\n .glyphicon-chevron-right {\n position: absolute;\n top: 50%;\n margin-top: -10px;\n z-index: 5;\n display: inline-block;\n }\n .icon-prev,\n .glyphicon-chevron-left {\n left: 50%;\n margin-left: -10px;\n }\n .icon-next,\n .glyphicon-chevron-right {\n right: 50%;\n margin-right: -10px;\n }\n .icon-prev,\n .icon-next {\n width: 20px;\n height: 20px;\n line-height: 1;\n font-family: serif;\n }\n\n\n .icon-prev {\n &:before {\n content: '\\2039';// SINGLE LEFT-POINTING ANGLE QUOTATION MARK (U+2039)\n }\n }\n .icon-next {\n &:before {\n content: '\\203a';// SINGLE RIGHT-POINTING ANGLE QUOTATION MARK (U+203A)\n }\n }\n}\n\n// Optional indicator pips\n//\n// Add an unordered list with the following class and add a list item for each\n// slide your carousel holds.\n\n.carousel-indicators {\n position: absolute;\n bottom: 10px;\n left: 50%;\n z-index: 15;\n width: 60%;\n margin-left: -30%;\n padding-left: 0;\n list-style: none;\n text-align: center;\n\n li {\n display: inline-block;\n width: 10px;\n height: 10px;\n margin: 1px;\n text-indent: -999px;\n border: 1px solid @carousel-indicator-border-color;\n border-radius: 10px;\n cursor: pointer;\n\n // IE8-9 hack for event handling\n //\n // Internet Explorer 8-9 does not support clicks on elements without a set\n // `background-color`. We cannot use `filter` since that's not viewed as a\n // background color by the browser. Thus, a hack is needed.\n // See https://developer.mozilla.org/en-US/docs/Web/Events/click#Internet_Explorer\n //\n // For IE8, we set solid black as it doesn't support `rgba()`. For IE9, we\n // set alpha transparency for the best results possible.\n background-color: #000 \\9; // IE8\n background-color: rgba(0,0,0,0); // IE9\n }\n .active {\n margin: 0;\n width: 12px;\n height: 12px;\n background-color: @carousel-indicator-active-bg;\n }\n}\n\n// Optional captions\n// -----------------------------\n// Hidden by default for smaller viewports\n.carousel-caption {\n position: absolute;\n left: 15%;\n right: 15%;\n bottom: 20px;\n z-index: 10;\n padding-top: 20px;\n padding-bottom: 20px;\n color: @carousel-caption-color;\n text-align: center;\n text-shadow: @carousel-text-shadow;\n & .btn {\n text-shadow: none; // No shadow for button elements in carousel-caption\n }\n}\n\n\n// Scale up controls for tablets and up\n@media screen and (min-width: @screen-sm-min) {\n\n // Scale up the controls a smidge\n .carousel-control {\n .glyphicon-chevron-left,\n .glyphicon-chevron-right,\n .icon-prev,\n .icon-next {\n width: (@carousel-control-font-size * 1.5);\n height: (@carousel-control-font-size * 1.5);\n margin-top: (@carousel-control-font-size / -2);\n font-size: (@carousel-control-font-size * 1.5);\n }\n .glyphicon-chevron-left,\n .icon-prev {\n margin-left: (@carousel-control-font-size / -2);\n }\n .glyphicon-chevron-right,\n .icon-next {\n margin-right: (@carousel-control-font-size / -2);\n }\n }\n\n // Show and left align the captions\n .carousel-caption {\n left: 20%;\n right: 20%;\n padding-bottom: 30px;\n }\n\n // Move up the indicators\n .carousel-indicators {\n bottom: 20px;\n }\n}\n","// Clearfix\n//\n// For modern browsers\n// 1. The space content is one way to avoid an Opera bug when the\n// contenteditable attribute is included anywhere else in the document.\n// Otherwise it causes space to appear at the top and bottom of elements\n// that are clearfixed.\n// 2. The use of `table` rather than `block` is only necessary if using\n// `:before` to contain the top-margins of child elements.\n//\n// Source: http://nicolasgallagher.com/micro-clearfix-hack/\n\n.clearfix() {\n &:before,\n &:after {\n content: \" \"; // 1\n display: table; // 2\n }\n &:after {\n clear: both;\n }\n}\n","// Center-align a block level element\n\n.center-block() {\n display: block;\n margin-left: auto;\n margin-right: auto;\n}\n","// CSS image replacement\n//\n// Heads up! v3 launched with only `.hide-text()`, but per our pattern for\n// mixins being reused as classes with the same name, this doesn't hold up. As\n// of v3.0.1 we have added `.text-hide()` and deprecated `.hide-text()`.\n//\n// Source: https://github.com/h5bp/html5-boilerplate/commit/aa0396eae757\n\n// Deprecated as of v3.0.1 (has been removed in v4)\n.hide-text() {\n font: ~\"0/0\" a;\n color: transparent;\n text-shadow: none;\n background-color: transparent;\n border: 0;\n}\n\n// New mixin to use as of v3.0.1\n.text-hide() {\n .hide-text();\n}\n","//\n// Responsive: Utility classes\n// --------------------------------------------------\n\n\n// IE10 in Windows (Phone) 8\n//\n// Support for responsive views via media queries is kind of borked in IE10, for\n// Surface/desktop in split view and for Windows Phone 8. This particular fix\n// must be accompanied by a snippet of JavaScript to sniff the user agent and\n// apply some conditional CSS to *only* the Surface/desktop Windows 8. Look at\n// our Getting Started page for more information on this bug.\n//\n// For more information, see the following:\n//\n// Issue: https://github.com/twbs/bootstrap/issues/10497\n// Docs: http://getbootstrap.com/getting-started/#support-ie10-width\n// Source: http://timkadlec.com/2013/01/windows-phone-8-and-device-width/\n// Source: http://timkadlec.com/2012/10/ie10-snap-mode-and-responsive-design/\n\n@-ms-viewport {\n width: device-width;\n}\n\n\n// Visibility utilities\n// Note: Deprecated .visible-xs, .visible-sm, .visible-md, and .visible-lg as of v3.2.0\n.visible-xs,\n.visible-sm,\n.visible-md,\n.visible-lg {\n .responsive-invisibility();\n}\n\n.visible-xs-block,\n.visible-xs-inline,\n.visible-xs-inline-block,\n.visible-sm-block,\n.visible-sm-inline,\n.visible-sm-inline-block,\n.visible-md-block,\n.visible-md-inline,\n.visible-md-inline-block,\n.visible-lg-block,\n.visible-lg-inline,\n.visible-lg-inline-block {\n display: none !important;\n}\n\n.visible-xs {\n @media (max-width: @screen-xs-max) {\n .responsive-visibility();\n }\n}\n.visible-xs-block {\n @media (max-width: @screen-xs-max) {\n display: block !important;\n }\n}\n.visible-xs-inline {\n @media (max-width: @screen-xs-max) {\n display: inline !important;\n }\n}\n.visible-xs-inline-block {\n @media (max-width: @screen-xs-max) {\n display: inline-block !important;\n }\n}\n\n.visible-sm {\n @media (min-width: @screen-sm-min) and (max-width: @screen-sm-max) {\n .responsive-visibility();\n }\n}\n.visible-sm-block {\n @media (min-width: @screen-sm-min) and (max-width: @screen-sm-max) {\n display: block !important;\n }\n}\n.visible-sm-inline {\n @media (min-width: @screen-sm-min) and (max-width: @screen-sm-max) {\n display: inline !important;\n }\n}\n.visible-sm-inline-block {\n @media (min-width: @screen-sm-min) and (max-width: @screen-sm-max) {\n display: inline-block !important;\n }\n}\n\n.visible-md {\n @media (min-width: @screen-md-min) and (max-width: @screen-md-max) {\n .responsive-visibility();\n }\n}\n.visible-md-block {\n @media (min-width: @screen-md-min) and (max-width: @screen-md-max) {\n display: block !important;\n }\n}\n.visible-md-inline {\n @media (min-width: @screen-md-min) and (max-width: @screen-md-max) {\n display: inline !important;\n }\n}\n.visible-md-inline-block {\n @media (min-width: @screen-md-min) and (max-width: @screen-md-max) {\n display: inline-block !important;\n }\n}\n\n.visible-lg {\n @media (min-width: @screen-lg-min) {\n .responsive-visibility();\n }\n}\n.visible-lg-block {\n @media (min-width: @screen-lg-min) {\n display: block !important;\n }\n}\n.visible-lg-inline {\n @media (min-width: @screen-lg-min) {\n display: inline !important;\n }\n}\n.visible-lg-inline-block {\n @media (min-width: @screen-lg-min) {\n display: inline-block !important;\n }\n}\n\n.hidden-xs {\n @media (max-width: @screen-xs-max) {\n .responsive-invisibility();\n }\n}\n.hidden-sm {\n @media (min-width: @screen-sm-min) and (max-width: @screen-sm-max) {\n .responsive-invisibility();\n }\n}\n.hidden-md {\n @media (min-width: @screen-md-min) and (max-width: @screen-md-max) {\n .responsive-invisibility();\n }\n}\n.hidden-lg {\n @media (min-width: @screen-lg-min) {\n .responsive-invisibility();\n }\n}\n\n\n// Print utilities\n//\n// Media queries are placed on the inside to be mixin-friendly.\n\n// Note: Deprecated .visible-print as of v3.2.0\n.visible-print {\n .responsive-invisibility();\n\n @media print {\n .responsive-visibility();\n }\n}\n.visible-print-block {\n display: none !important;\n\n @media print {\n display: block !important;\n }\n}\n.visible-print-inline {\n display: none !important;\n\n @media print {\n display: inline !important;\n }\n}\n.visible-print-inline-block {\n display: none !important;\n\n @media print {\n display: inline-block !important;\n }\n}\n\n.hidden-print {\n @media print {\n .responsive-invisibility();\n }\n}\n","// Responsive utilities\n\n//\n// More easily include all the states for responsive-utilities.less.\n.responsive-visibility() {\n display: block !important;\n table& { display: table !important; }\n tr& { display: table-row !important; }\n th&,\n td& { display: table-cell !important; }\n}\n\n.responsive-invisibility() {\n display: none !important;\n}\n"]} \ No newline at end of file
diff --git a/library/bootstrap/css/bootstrap.min.css.map b/library/bootstrap/css/bootstrap.min.css.map
new file mode 100644
index 000000000..6c7fa40b9
--- /dev/null
+++ b/library/bootstrap/css/bootstrap.min.css.map
@@ -0,0 +1 @@
+{"version":3,"sources":["less/normalize.less","less/print.less","bootstrap.css","dist/css/bootstrap.css","less/glyphicons.less","less/scaffolding.less","less/mixins/vendor-prefixes.less","less/mixins/tab-focus.less","less/mixins/image.less","less/type.less","less/mixins/text-emphasis.less","less/mixins/background-variant.less","less/mixins/text-overflow.less","less/code.less","less/grid.less","less/mixins/grid.less","less/mixins/grid-framework.less","less/tables.less","less/mixins/table-row.less","less/forms.less","less/mixins/forms.less","less/buttons.less","less/mixins/buttons.less","less/mixins/opacity.less","less/component-animations.less","less/dropdowns.less","less/mixins/nav-divider.less","less/mixins/reset-filter.less","less/button-groups.less","less/mixins/border-radius.less","less/input-groups.less","less/navs.less","less/navbar.less","less/mixins/nav-vertical-align.less","less/utilities.less","less/breadcrumbs.less","less/pagination.less","less/mixins/pagination.less","less/pager.less","less/labels.less","less/mixins/labels.less","less/badges.less","less/jumbotron.less","less/thumbnails.less","less/alerts.less","less/mixins/alerts.less","less/progress-bars.less","less/mixins/gradients.less","less/mixins/progress-bar.less","less/media.less","less/list-group.less","less/mixins/list-group.less","less/panels.less","less/mixins/panels.less","less/responsive-embed.less","less/wells.less","less/close.less","less/modals.less","less/tooltip.less","less/mixins/reset-text.less","less/popovers.less","less/carousel.less","less/mixins/clearfix.less","less/mixins/center-block.less","less/mixins/hide-text.less","less/responsive-utilities.less","less/mixins/responsive-visibility.less"],"names":[],"mappings":";;;;4EAQA,KACE,YAAA,WACA,yBAAA,KACA,qBAAA,KAOF,KACE,OAAA,EAaF,QAAA,MAAA,QAAA,WAAA,OAAA,OAAA,OAAA,OAAA,KAAA,KAAA,IAAA,QAAA,QAaE,QAAA,MAQF,MAAA,OAAA,SAAA,MAIE,QAAA,aACA,eAAA,SAQF,sBACE,QAAA,KACA,OAAA,EAQF,SAAA,SAEE,QAAA,KAUF,EACE,iBAAA,YAQF,SAAA,QAEE,QAAA,EAUF,YACE,cAAA,IAAA,OAOF,EAAA,OAEE,YAAA,IAOF,IACE,WAAA,OAQF,GACE,OAAA,MAAA,EACA,UAAA,IAOF,KACE,MAAA,KACA,WAAA,KAOF,MACE,UAAA,IAOF,IAAA,IAEE,SAAA,SACA,UAAA,IACA,YAAA,EACA,eAAA,SAGF,IACE,IAAA,MAGF,IACE,OAAA,OAUF,IACE,OAAA,EAOF,eACE,SAAA,OAUF,OACE,OAAA,IAAA,KAOF,GACE,OAAA,EAAA,mBAAA,YAAA,gBAAA,YACA,WAAA,YAOF,IACE,SAAA,KAOF,KAAA,IAAA,IAAA,KAIE,YAAA,UAAA,UACA,UAAA,IAkBF,OAAA,MAAA,SAAA,OAAA,SAKE,OAAA,EACA,KAAA,QACA,MAAA,QAOF,OACE,SAAA,QAUF,OAAA,OAEE,eAAA,KAWF,OAAA,wBAAA,kBAAA,mBAIE,mBAAA,OACA,OAAA,QAOF,iBAAA,qBAEE,OAAA,QAOF,yBAAA,wBAEE,QAAA,EACA,OAAA,EAQF,MACE,YAAA,OAWF,qBAAA,kBAEE,mBAAA,WAAA,gBAAA,WAAA,WAAA,WACA,QAAA,EASF,8CAAA,8CAEE,OAAA,KAQF,mBACE,mBAAA,YACA,gBAAA,YAAA,WAAA,YAAA,mBAAA,UASF,iDAAA,8CAEE,mBAAA,KAOF,SACE,QAAA,MAAA,OAAA,MACA,OAAA,EAAA,IACA,OAAA,IAAA,MAAA,OAQF,OACE,QAAA,EACA,OAAA,EAOF,SACE,SAAA,KAQF,SACE,YAAA,IAUF,MACE,eAAA,EACA,gBAAA,SAGF,GAAA,GAEE,QAAA,uFCjUF,aA7FI,EAAA,OAAA,QAGI,MAAA,eACA,YAAA,eACA,WAAA,cAAA,mBAAA,eACA,WAAA,eAGJ,EAAA,UAEI,gBAAA,UAGJ,cACI,QAAA,KAAA,WAAA,IAGJ,kBACI,QAAA,KAAA,YAAA,IAKJ,6BAAA,mBAEI,QAAA,GAGJ,WAAA,IAEI,OAAA,IAAA,MAAA,KC4KL,kBAAA,MDvKK,MC0KL,QAAA,mBDrKK,IE8KN,GDLC,kBAAA,MDrKK,ICwKL,UAAA,eCUD,GF5KM,GE2KN,EF1KM,QAAA,ECuKL,OAAA,ECSD,GF3KM,GCsKL,iBAAA,MD/JK,QCkKL,QAAA,KCSD,YFtKU,oBCiKT,iBAAA,eD7JK,OCgKL,OAAA,IAAA,MAAA,KD5JK,OC+JL,gBAAA,mBCSD,UFpKU,UC+JT,iBAAA,eDzJS,mBEkKV,mBDLC,OAAA,IAAA,MAAA,gBEjPD,WACA,YAAA,uBFsPD,IAAA,+CE7OC,IAAK,sDAAuD,4BAA6B,iDAAkD,gBAAiB,gDAAiD,eAAgB,+CAAgD,mBAAoB,2EAA4E,cAE7W,WACA,SAAA,SACA,IAAA,IACA,QAAA,aACA,YAAA,uBACA,WAAA,OACA,YAAA,IACA,YAAA,EAIkC,uBAAA,YAAW,wBAAA,UACX,2BAAW,QAAA,QAEX,uBDuPlC,QAAS,QCtPyB,sBFiPnC,uBEjP8C,QAAA,QACX,wBAAW,QAAA,QACX,wBAAW,QAAA,QACX,2BAAW,QAAA,QACX,yBAAW,QAAA,QACX,wBAAW,QAAA,QACX,wBAAW,QAAA,QACX,yBAAW,QAAA,QACX,wBAAW,QAAA,QACX,uBAAW,QAAA,QACX,6BAAW,QAAA,QACX,uBAAW,QAAA,QACX,uBAAW,QAAA,QACX,2BAAW,QAAA,QACX,qBAAW,QAAA,QACX,0BAAW,QAAA,QACX,qBAAW,QAAA,QACX,yBAAW,QAAA,QACX,0BAAW,QAAA,QACX,2BAAW,QAAA,QACX,sBAAW,QAAA,QACX,yBAAW,QAAA,QACX,sBAAW,QAAA,QACX,wBAAW,QAAA,QACX,uBAAW,QAAA,QACX,uBAAW,QAAA,QACX,uBAAW,QAAA,QACX,uBAAW,QAAA,QACX,+BAAW,QAAA,QACX,2BAAW,QAAA,QACX,yBAAW,QAAA,QACX,wBAAW,QAAA,QACX,8BAAW,QAAA,QACX,yBAAW,QAAA,QACX,0BAAW,QAAA,QACX,2BAAW,QAAA,QACX,uBAAW,QAAA,QACX,uBAAW,QAAA,QACX,6BAAW,QAAA,QACX,6BAAW,QAAA,QACX,8BAAW,QAAA,QACX,4BAAW,QAAA,QACX,yBAAW,QAAA,QACX,0BAAW,QAAA,QACX,sBAAW,QAAA,QACX,uBAAW,QAAA,QACX,uBAAW,QAAA,QACX,2BAAW,QAAA,QACX,wBAAW,QAAA,QACX,yBAAW,QAAA,QACX,uBAAW,QAAA,QACX,uBAAW,QAAA,QACX,yBAAW,QAAA,QACX,8BAAW,QAAA,QACX,6BAAW,QAAA,QACX,6BAAW,QAAA,QACX,+BAAW,QAAA,QACX,8BAAW,QAAA,QACX,gCAAW,QAAA,QACX,uBAAW,QAAA,QACX,8BAAW,QAAA,QACX,+BAAW,QAAA,QACX,iCAAW,QAAA,QACX,0BAAW,QAAA,QACX,6BAAW,QAAA,QACX,yBAAW,QAAA,QACX,uBAAW,QAAA,QACX,uBAAW,QAAA,QACX,wBAAW,QAAA,QACX,wBAAW,QAAA,QACX,uBAAW,QAAA,QACX,gCAAW,QAAA,QACX,gCAAW,QAAA,QACX,2BAAW,QAAA,QACX,uBAAW,QAAA,QACX,wBAAW,QAAA,QACX,uBAAW,QAAA,QACX,0BAAW,QAAA,QACX,+BAAW,QAAA,QACX,+BAAW,QAAA,QACX,wBAAW,QAAA,QACX,+BAAW,QAAA,QACX,gCAAW,QAAA,QACX,4BAAW,QAAA,QACX,6BAAW,QAAA,QACX,8BAAW,QAAA,QACX,0BAAW,QAAA,QACX,gCAAW,QAAA,QACX,4BAAW,QAAA,QACX,6BAAW,QAAA,QACX,gCAAW,QAAA,QACX,4BAAW,QAAA,QACX,6BAAW,QAAA,QACX,6BAAW,QAAA,QACX,8BAAW,QAAA,QACX,2BAAW,QAAA,QACX,6BAAW,QAAA,QACX,4BAAW,QAAA,QACX,8BAAW,QAAA,QACX,+BAAW,QAAA,QACX,mCAAW,QAAA,QACX,uBAAW,QAAA,QACX,uBAAW,QAAA,QACX,uBAAW,QAAA,QACX,2BAAW,QAAA,QACX,4BAAW,QAAA,QACX,+BAAW,QAAA,QACX,wBAAW,QAAA,QACX,2BAAW,QAAA,QACX,yBAAW,QAAA,QACX,0BAAW,QAAA,QACX,yBAAW,QAAA,QACX,6BAAW,QAAA,QACX,+BAAW,QAAA,QACX,0BAAW,QAAA,QACX,gCAAW,QAAA,QACX,+BAAW,QAAA,QACX,8BAAW,QAAA,QACX,kCAAW,QAAA,QACX,oCAAW,QAAA,QACX,sBAAW,QAAA,QACX,2BAAW,QAAA,QACX,uBAAW,QAAA,QACX,8BAAW,QAAA,QACX,4BAAW,QAAA,QACX,8BAAW,QAAA,QACX,6BAAW,QAAA,QACX,4BAAW,QAAA,QACX,0BAAW,QAAA,QACX,4BAAW,QAAA,QACX,qCAAW,QAAA,QACX,oCAAW,QAAA,QACX,kCAAW,QAAA,QACX,oCAAW,QAAA,QACX,wBAAW,QAAA,QACX,yBAAW,QAAA,QACX,wBAAW,QAAA,QACX,yBAAW,QAAA,QACX,4BAAW,QAAA,QACX,6BAAW,QAAA,QACX,4BAAW,QAAA,QACX,4BAAW,QAAA,QACX,8BAAW,QAAA,QACX,uBAAW,QAAA,QACX,wBAAW,QAAA,QACX,0BAAW,QAAA,QACX,sBAAW,QAAA,QACX,sBAAW,QAAA,QACX,uBAAW,QAAA,QACX,mCAAW,QAAA,QACX,uCAAW,QAAA,QACX,gCAAW,QAAA,QACX,oCAAW,QAAA,QACX,qCAAW,QAAA,QACX,yCAAW,QAAA,QACX,4BAAW,QAAA,QACX,yBAAW,QAAA,QACX,gCAAW,QAAA,QACX,8BAAW,QAAA,QACX,yBAAW,QAAA,QACX,wBAAW,QAAA,QACX,0BAAW,QAAA,QACX,6BAAW,QAAA,QACX,yBAAW,QAAA,QACX,uBAAW,QAAA,QACX,uBAAW,QAAA,QACX,wBAAW,QAAA,QACX,yBAAW,QAAA,QACX,yBAAW,QAAA,QACX,uBAAW,QAAA,QACX,8BAAW,QAAA,QACX,+BAAW,QAAA,QACX,gCAAW,QAAA,QACX,8BAAW,QAAA,QACX,8BAAW,QAAA,QACX,8BAAW,QAAA,QACX,2BAAW,QAAA,QACX,0BAAW,QAAA,QACX,yBAAW,QAAA,QACX,6BAAW,QAAA,QACX,2BAAW,QAAA,QACX,4BAAW,QAAA,QACX,wBAAW,QAAA,QACX,wBAAW,QAAA,QACX,2BAAW,QAAA,QACX,2BAAW,QAAA,QACX,4BAAW,QAAA,QACX,+BAAW,QAAA,QACX,8BAAW,QAAA,QACX,4BAAW,QAAA,QACX,4BAAW,QAAA,QACX,4BAAW,QAAA,QACX,iCAAW,QAAA,QACX,oCAAW,QAAA,QACX,iCAAW,QAAA,QACX,+BAAW,QAAA,QACX,+BAAW,QAAA,QACX,iCAAW,QAAA,QACX,qBAAW,QAAA,QACX,4BAAW,QAAA,QACX,4BAAW,QAAA,QACX,2BAAW,QAAA,QACX,uBAAW,QAAA,QASX,wBAAW,QAAA,QACX,wBAAW,QAAA,QACX,4BAAW,QAAA,QACX,uBAAW,QAAA,QACX,wBAAW,QAAA,QACX,uBAAW,QAAA,QACX,yBAAW,QAAA,QACX,yBAAW,QAAA,QACX,+BAAW,QAAA,QACX,uBAAW,QAAA,QACX,6BAAW,QAAA,QACX,sBAAW,QAAA,QACX,wBAAW,QAAA,QACX,wBAAW,QAAA,QACX,4BAAW,QAAA,QACX,uBAAW,QAAA,QACX,4BAAW,QAAA,QACX,6BAAW,QAAA,QACX,2BAAW,QAAA,QACX,0BAAW,QAAA,QACX,sBAAW,QAAA,QACX,sBAAW,QAAA,QACX,sBAAW,QAAA,QACX,sBAAW,QAAA,QACX,wBAAW,QAAA,QACX,sBAAW,QAAA,QACX,wBAAW,QAAA,QACX,4BAAW,QAAA,QACX,mCAAW,QAAA,QACX,4BAAW,QAAA,QACX,oCAAW,QAAA,QACX,kCAAW,QAAA,QACX,iCAAW,QAAA,QACX,+BAAW,QAAA,QACX,sBAAW,QAAA,QACX,wBAAW,QAAA,QACX,6BAAW,QAAA,QACX,4BAAW,QAAA,QACX,6BAAW,QAAA,QACX,kCAAW,QAAA,QACX,mCAAW,QAAA,QACX,sCAAW,QAAA,QACX,0CAAW,QAAA,QACX,oCAAW,QAAA,QACX,wCAAW,QAAA,QACX,qCAAW,QAAA,QACX,iCAAW,QAAA,QACX,gCAAW,QAAA,QACX,kCAAW,QAAA,QACX,+BAAW,QAAA,QACX,0BAAW,QAAA,QACX,8BAAW,QAAA,QACX,4BAAW,QAAA,QACX,4BAAW,QAAA,QACX,6BAAW,QAAA,QACX,4BAAW,QAAA,QCtS/C,0BCgEE,QAAA,QHi+BF,EDNC,mBAAA,WGxhCI,gBAAiB,WFiiCZ,WAAY,WGl+BZ,OADL,QJg+BJ,mBAAA,WGthCI,gBAAiB,WACpB,WAAA,WHyhCD,KGrhCC,UAAW,KAEX,4BAAA,cAEA,KACA,YAAA,iBAAA,UAAA,MAAA,WHuhCD,UAAA,KGnhCC,YAAa,WF4hCb,MAAO,KACP,iBAAkB,KExhClB,OADA,MAEA,OHqhCD,SG/gCC,YAAa,QACb,UAAA,QACA,YAAA,QAEA,EFwhCA,MAAO,QEthCL,gBAAA,KAIF,QH8gCD,QKjkCC,MAAA,QACA,gBAAA,UF6DF,QACE,QAAA,IAAA,KAAA,yBHygCD,eAAA,KGlgCC,OHqgCD,OAAA,ECSD,IACE,eAAgB,ODDjB,4BM/kCC,0BLklCF,gBKnlCE,iBADA,eH4EA,QAAS,MACT,UAAA,KHugCD,OAAA,KGhgCC,aACA,cAAA,IAEA,eACA,QAAA,aC6FA,UAAA,KACK,OAAA,KACG,QAAA,IEvLR,YAAA,WACA,iBAAA,KACA,OAAA,IAAA,MAAA,KN+lCD,cAAA,IGjgCC,mBAAoB,IAAI,IAAI,YAC5B,cAAA,IAAA,IAAA,YHmgCD,WAAA,IAAA,IAAA,YG5/BC,YACA,cAAA,IAEA,GH+/BD,WAAA,KGv/BC,cAAe,KACf,OAAA,EACA,WAAA,IAAA,MAAA,KAEA,SACA,SAAA,SACA,MAAA,IACA,OAAA,IACA,QAAA,EHy/BD,OAAA,KGj/BC,SAAA,OF0/BA,KAAM,cEx/BJ,OAAA,EAEA,0BACA,yBACA,SAAA,OACA,MAAA,KHm/BH,OAAA,KGx+BC,OAAQ,EACR,SAAA,QH0+BD,KAAA,KCSD,cACE,OAAQ,QAQV,IACA,IMlpCE,IACA,IACA,IACA,INwoCF,GACA,GACA,GACA,GACA,GACA,GDAC,YAAA,QOlpCC,YAAa,IN2pCb,YAAa,IACb,MAAO,QAoBT,WAZA,UAaA,WAZA,UM5pCI,WN6pCJ,UM5pCI,WN6pCJ,UM5pCI,WN6pCJ,UDMC,WCLD,UACA,UAZA,SAaA,UAZA,SAaA,UAZA,SAaA,UAZA,SAaA,UAZA,SAaA,UAZA,SMppCE,YAAa,INwqCb,YAAa,EACb,MAAO,KAGT,IMxqCE,IAJF,IN2qCA,GAEA,GDLC,GCSC,WAAY,KACZ,cAAe,KASjB,WANA,UDCC,WCCD,UM5qCA,WN8qCA,UACA,UANA,SM5qCI,UN8qCJ,SM3qCA,UN6qCA,SAQE,UAAW,IAGb,IMprCE,IAJF,INurCA,GAEA,GDLC,GCSC,WAAY,KACZ,cAAe,KASjB,WANA,UDCC,WCCD,UMvrCA,WNyrCA,UACA,UANA,SMxrCI,UN0rCJ,SMtrCA,UNwrCA,SMxrCU,UAAA,IACV,IAAA,GAAU,UAAA,KACV,IAAA,GAAU,UAAA,KACV,IAAA,GAAU,UAAA,KACV,IAAA,GAAU,UAAA,KACV,IAAA,GAAU,UAAA,KAOR,IADF,GPssCC,UAAA,KCSD,EMzsCE,OAAA,EAAA,EAAA,KAEA,MPosCD,cAAA,KO/rCC,UAAW,KAwOX,YAAa,IA1OX,YAAA,IPssCH,yBO7rCC,MNssCE,UAAW,MMjsCf,OAAA,MAEE,UAAA,IAKF,MP0rCC,KO1rCsB,QAAA,KP6rCtB,iBAAA,QO5rCsB,WP+rCtB,WAAA,KO9rCsB,YPisCtB,WAAA,MOhsCsB,aPmsCtB,WAAA,OOlsCsB,cPqsCtB,WAAA,QOlsCsB,aPqsCtB,YAAA,OOpsCsB,gBPusCtB,eAAA,UOtsCsB,gBPysCtB,eAAA,UOrsCC,iBPwsCD,eAAA,WQ3yCC,YR8yCD,MAAA,KCSD,cOpzCI,MAAA,QAHF,qBDwGF,qBP6sCC,MAAA,QCSD,cO3zCI,MAAA,QAHF,qBD2GF,qBPitCC,MAAA,QCSD,WOl0CI,MAAA,QAHF,kBD8GF,kBPqtCC,MAAA,QCSD,cOz0CI,MAAA,QAHF,qBDiHF,qBPytCC,MAAA,QCSD,aOh1CI,MAAA,QDwHF,oBAHF,oBExHE,MAAA,QACA,YR01CA,MAAO,KQx1CL,iBAAA,QAHF,mBF8HF,mBP2tCC,iBAAA,QCSD,YQ/1CI,iBAAA,QAHF,mBFiIF,mBP+tCC,iBAAA,QCSD,SQt2CI,iBAAA,QAHF,gBFoIF,gBPmuCC,iBAAA,QCSD,YQ72CI,iBAAA,QAHF,mBFuIF,mBPuuCC,iBAAA,QCSD,WQp3CI,iBAAA,QF6IF,kBADF,kBAEE,iBAAA,QPsuCD,aO7tCC,eAAgB,INsuChB,OAAQ,KAAK,EAAE,KMpuCf,cAAA,IAAA,MAAA,KAFF,GPkuCC,GCSC,WAAY,EACZ,cAAe,KM9tCf,MP0tCD,MO3tCD,MAPI,MASF,cAAA,EAIF,eALE,aAAA,EACA,WAAA,KPkuCD,aO9tCC,aAAc,EAKZ,YAAA,KACA,WAAA,KP6tCH,gBOvtCC,QAAS,aACT,cAAA,IACA,aAAA,IAEF,GNguCE,WAAY,EM9tCZ,cAAA,KAGA,GADF,GP0tCC,YAAA,WOttCC,GPytCD,YAAA,IOnnCD,GAvFM,YAAA,EAEA,yBACA,kBGtNJ,MAAA,KACA,MAAA,MACA,SAAA,OVq6CC,MAAA,KO7nCC,WAAY,MAhFV,cAAA,SPgtCH,YAAA,OOtsCD,kBNgtCE,YAAa,OM1sCjB,0BPssCC,YOrsCC,OAAA,KA9IqB,cAAA,IAAA,OAAA,KAmJvB,YACE,UAAA,IACA,eAAA,UAEA,WPssCD,QAAA,KAAA,KOjsCG,OAAA,EAAA,EAAA,KN0sCF,UAAW,OACX,YAAa,IAAI,MAAM,KMptCzB,yBP+sCC,wBO/sCD,yBNytCE,cAAe,EMnsCb,kBAFA,kBACA,iBPksCH,QAAA,MO/rCG,UAAA,INwsCF,YAAa,WACb,MAAO,KMhsCT,yBP2rCC,yBO3rCD,wBAEE,QAAA,cAEA,oBACA,sBACA,cAAA,KP6rCD,aAAA,EOvrCG,WAAA,MNgsCF,aAAc,IAAI,MAAM,KACxB,YAAa,EMhsCX,kCNksCJ,kCMnsCe,iCACX,oCNmsCJ,oCDLC,mCCUC,QAAS,GMjsCX,iCNmsCA,iCMzsCM,gCAOJ,mCNmsCF,mCDLC,kCO7rCC,QAAA,cPksCD,QWv+CC,cAAe,KVg/Cf,WAAY,OACZ,YAAa,WU7+Cb,KXy+CD,IWr+CD,IACE,KACA,YAAA,MAAA,OAAA,SAAA,cAAA,UAEA,KACA,QAAA,IAAA,IXu+CD,UAAA,IWn+CC,MAAO,QACP,iBAAA,QACA,cAAA,IAEA,IACA,QAAA,IAAA,IACA,UAAA,IV4+CA,MU5+CA,KXq+CD,iBAAA,KW3+CC,cAAe,IASb,mBAAA,MAAA,EAAA,KAAA,EAAA,gBACA,WAAA,MAAA,EAAA,KAAA,EAAA,gBAEA,QV6+CF,QU7+CE,EXq+CH,UAAA,KWh+CC,YAAa,IACb,mBAAA,KACA,WAAA,KAEA,IACA,QAAA,MACA,QAAA,MACA,OAAA,EAAA,EAAA,KACA,UAAA,KACA,YAAA,WACA,MAAA,KACA,WAAA,UXk+CD,UAAA,WW7+CC,iBAAkB,QAehB,OAAA,IAAA,MAAA,KACA,cAAA,IAEA,SACA,QAAA,EACA,UAAA,QXi+CH,MAAA,QW59CC,YAAa,SACb,iBAAA,YACA,cAAA,EC1DF,gBCHE,WAAA,MACA,WAAA,OAEA,Wb8hDD,cAAA,KYxhDC,aAAA,KAqEA,aAAc,KAvEZ,YAAA,KZ+hDH,yBY1hDC,WAkEE,MAAO,OZ69CV,yBY5hDC,WA+DE,MAAO,OZk+CV,0BYzhDC,WCvBA,MAAA,QAGA,iBbmjDD,cAAA,KYthDC,aAAc,KCvBd,aAAA,KACA,YAAA,KCAE,KACE,aAAA,MAEA,YAAA,MAGA,UAAA,WAAA,WAAA,WAAA,UAAA,UAAA,UAAA,UAAA,UAAA,UAAA,UAAA,UAAA,UAAA,WAAA,WAAA,WAAA,UAAA,UAAA,UAAA,UAAA,UAAA,UAAA,UAAA,UAAA,UAAA,WAAA,WAAA,WAAA,UAAA,UAAA,UAAA,UAAA,UAAA,UAAA,UAAA,UAAA,UAAA,WAAA,WAAA,WAAA,UAAA,UAAA,UAAA,UAAA,UAAA,UAAA,UAAA,UdgjDL,SAAA,SchiDG,WAAA,IACE,cAAA,KdkiDL,aAAA,Kc1hDG,UAAA,WAAA,WAAA,WAAA,UAAA,UAAA,UAAA,UAAA,UAAA,UAAA,UAAA,Ud6hDH,MAAA,Kc7hDG,WdgiDH,MAAA,KchiDG,WdmiDH,MAAA,acniDG,WdsiDH,MAAA,actiDG,UdyiDH,MAAA,IcziDG,Ud4iDH,MAAA,ac5iDG,Ud+iDH,MAAA,ac/iDG,UdkjDH,MAAA,IcljDG,UdqjDH,MAAA,acrjDG,UdwjDH,MAAA,acxjDG,Ud2jDH,MAAA,Ic3jDG,Ud8jDH,MAAA,ac/iDG,UdkjDH,MAAA,YcljDG,gBdqjDH,MAAA,KcrjDG,gBdwjDH,MAAA,acxjDG,gBd2jDH,MAAA,ac3jDG,ed8jDH,MAAA,Ic9jDG,edikDH,MAAA,acjkDG,edokDH,MAAA,acpkDG,edukDH,MAAA,IcvkDG,ed0kDH,MAAA,ac1kDG,ed6kDH,MAAA,ac7kDG,edglDH,MAAA,IchlDG,edmlDH,MAAA,ac9kDG,edilDH,MAAA,YchmDG,edmmDH,MAAA,KcnmDG,gBdsmDH,KAAA,KctmDG,gBdymDH,KAAA,aczmDG,gBd4mDH,KAAA,ac5mDG,ed+mDH,KAAA,Ic/mDG,edknDH,KAAA,aclnDG,edqnDH,KAAA,acrnDG,edwnDH,KAAA,IcxnDG,ed2nDH,KAAA,ac3nDG,ed8nDH,KAAA,ac9nDG,edioDH,KAAA,IcjoDG,edooDH,KAAA,ac/nDG,edkoDH,KAAA,YcnnDG,edsnDH,KAAA,KctnDG,kBdynDH,YAAA,KcznDG,kBd4nDH,YAAA,ac5nDG,kBd+nDH,YAAA,ac/nDG,iBdkoDH,YAAA,IcloDG,iBdqoDH,YAAA,acroDG,iBdwoDH,YAAA,acxoDG,iBd2oDH,YAAA,Ic3oDG,iBd8oDH,YAAA,ac9oDG,iBdipDH,YAAA,acjpDG,iBdopDH,YAAA,IcppDG,iBdupDH,YAAA,acvpDG,iBd0pDH,YAAA,Yc5rDG,iBACE,YAAA,EAOJ,yBACE,UAAA,WAAA,WAAA,WAAA,UAAA,UAAA,UAAA,UAAA,UAAA,UAAA,UAAA,Ud0rDD,MAAA,Kc1rDC,Wd6rDD,MAAA,Kc7rDC,WdgsDD,MAAA,achsDC,WdmsDD,MAAA,acnsDC,UdssDD,MAAA,IctsDC,UdysDD,MAAA,aczsDC,Ud4sDD,MAAA,ac5sDC,Ud+sDD,MAAA,Ic/sDC,UdktDD,MAAA,acltDC,UdqtDD,MAAA,acrtDC,UdwtDD,MAAA,IcxtDC,Ud2tDD,MAAA,ac5sDC,Ud+sDD,MAAA,Yc/sDC,gBdktDD,MAAA,KcltDC,gBdqtDD,MAAA,acrtDC,gBdwtDD,MAAA,acxtDC,ed2tDD,MAAA,Ic3tDC,ed8tDD,MAAA,ac9tDC,ediuDD,MAAA,acjuDC,edouDD,MAAA,IcpuDC,eduuDD,MAAA,acvuDC,ed0uDD,MAAA,ac1uDC,ed6uDD,MAAA,Ic7uDC,edgvDD,MAAA,ac3uDC,ed8uDD,MAAA,Yc7vDC,edgwDD,MAAA,KchwDC,gBdmwDD,KAAA,KcnwDC,gBdswDD,KAAA,actwDC,gBdywDD,KAAA,aczwDC,ed4wDD,KAAA,Ic5wDC,ed+wDD,KAAA,ac/wDC,edkxDD,KAAA,aclxDC,edqxDD,KAAA,IcrxDC,edwxDD,KAAA,acxxDC,ed2xDD,KAAA,ac3xDC,ed8xDD,KAAA,Ic9xDC,ediyDD,KAAA,ac5xDC,ed+xDD,KAAA,YchxDC,edmxDD,KAAA,KcnxDC,kBdsxDD,YAAA,KctxDC,kBdyxDD,YAAA,aczxDC,kBd4xDD,YAAA,ac5xDC,iBd+xDD,YAAA,Ic/xDC,iBdkyDD,YAAA,aclyDC,iBdqyDD,YAAA,acryDC,iBdwyDD,YAAA,IcxyDC,iBd2yDD,YAAA,ac3yDC,iBd8yDD,YAAA,ac9yDC,iBdizDD,YAAA,IcjzDC,iBdozDD,YAAA,acpzDC,iBduzDD,YAAA,YY9yDD,iBE3CE,YAAA,GAQF,yBACE,UAAA,WAAA,WAAA,WAAA,UAAA,UAAA,UAAA,UAAA,UAAA,UAAA,UAAA,Udw1DD,MAAA,Kcx1DC,Wd21DD,MAAA,Kc31DC,Wd81DD,MAAA,ac91DC,Wdi2DD,MAAA,acj2DC,Udo2DD,MAAA,Icp2DC,Udu2DD,MAAA,acv2DC,Ud02DD,MAAA,ac12DC,Ud62DD,MAAA,Ic72DC,Udg3DD,MAAA,ach3DC,Udm3DD,MAAA,acn3DC,Uds3DD,MAAA,Ict3DC,Udy3DD,MAAA,ac12DC,Ud62DD,MAAA,Yc72DC,gBdg3DD,MAAA,Kch3DC,gBdm3DD,MAAA,acn3DC,gBds3DD,MAAA,act3DC,edy3DD,MAAA,Icz3DC,ed43DD,MAAA,ac53DC,ed+3DD,MAAA,ac/3DC,edk4DD,MAAA,Icl4DC,edq4DD,MAAA,acr4DC,edw4DD,MAAA,acx4DC,ed24DD,MAAA,Ic34DC,ed84DD,MAAA,acz4DC,ed44DD,MAAA,Yc35DC,ed85DD,MAAA,Kc95DC,gBdi6DD,KAAA,Kcj6DC,gBdo6DD,KAAA,acp6DC,gBdu6DD,KAAA,acv6DC,ed06DD,KAAA,Ic16DC,ed66DD,KAAA,ac76DC,edg7DD,KAAA,ach7DC,edm7DD,KAAA,Icn7DC,eds7DD,KAAA,act7DC,edy7DD,KAAA,acz7DC,ed47DD,KAAA,Ic57DC,ed+7DD,KAAA,ac17DC,ed67DD,KAAA,Yc96DC,edi7DD,KAAA,Kcj7DC,kBdo7DD,YAAA,Kcp7DC,kBdu7DD,YAAA,acv7DC,kBd07DD,YAAA,ac17DC,iBd67DD,YAAA,Ic77DC,iBdg8DD,YAAA,ach8DC,iBdm8DD,YAAA,acn8DC,iBds8DD,YAAA,Ict8DC,iBdy8DD,YAAA,acz8DC,iBd48DD,YAAA,ac58DC,iBd+8DD,YAAA,Ic/8DC,iBdk9DD,YAAA,acl9DC,iBdq9DD,YAAA,YYz8DD,iBE9CE,YAAA,GAQF,0BACE,UAAA,WAAA,WAAA,WAAA,UAAA,UAAA,UAAA,UAAA,UAAA,UAAA,UAAA,Uds/DD,MAAA,Kct/DC,Wdy/DD,MAAA,Kcz/DC,Wd4/DD,MAAA,ac5/DC,Wd+/DD,MAAA,ac//DC,UdkgED,MAAA,IclgEC,UdqgED,MAAA,acrgEC,UdwgED,MAAA,acxgEC,Ud2gED,MAAA,Ic3gEC,Ud8gED,MAAA,ac9gEC,UdihED,MAAA,acjhEC,UdohED,MAAA,IcphEC,UduhED,MAAA,acxgEC,Ud2gED,MAAA,Yc3gEC,gBd8gED,MAAA,Kc9gEC,gBdihED,MAAA,acjhEC,gBdohED,MAAA,acphEC,eduhED,MAAA,IcvhEC,ed0hED,MAAA,ac1hEC,ed6hED,MAAA,ac7hEC,edgiED,MAAA,IchiEC,edmiED,MAAA,acniEC,edsiED,MAAA,actiEC,edyiED,MAAA,IcziEC,ed4iED,MAAA,acviEC,ed0iED,MAAA,YczjEC,ed4jED,MAAA,Kc5jEC,gBd+jED,KAAA,Kc/jEC,gBdkkED,KAAA,aclkEC,gBdqkED,KAAA,acrkEC,edwkED,KAAA,IcxkEC,ed2kED,KAAA,ac3kEC,ed8kED,KAAA,ac9kEC,edilED,KAAA,IcjlEC,edolED,KAAA,acplEC,edulED,KAAA,acvlEC,ed0lED,KAAA,Ic1lEC,ed6lED,KAAA,acxlEC,ed2lED,KAAA,Yc5kEC,ed+kED,KAAA,Kc/kEC,kBdklED,YAAA,KcllEC,kBdqlED,YAAA,acrlEC,kBdwlED,YAAA,acxlEC,iBd2lED,YAAA,Ic3lEC,iBd8lED,YAAA,ac9lEC,iBdimED,YAAA,acjmEC,iBdomED,YAAA,IcpmEC,iBdumED,YAAA,acvmEC,iBd0mED,YAAA,ac1mEC,iBd6mED,YAAA,Ic7mEC,iBdgnED,YAAA,achnEC,iBdmnED,YAAA,YetrED,iBACA,YAAA,GAGA,MACA,iBAAA,YAEA,QfyrED,YAAA,IevrEC,eAAgB,IAChB,MAAA,KfyrED,WAAA,KelrEC,GACA,WAAA,KfsrED,OexrEC,MAAO,KdmsEP,UAAW,KACX,cAAe,KcvrET,mBd0rER,mBczrEQ,mBAHA,mBACA,mBd0rER,mBDHC,QAAA,IensEC,YAAa,WAoBX,eAAA,IACA,WAAA,IAAA,MAAA,KArBJ,mBdktEE,eAAgB,OAChB,cAAe,IAAI,MAAM,KDJ1B,uCCMD,uCcrtEA,wCdstEA,wCclrEI,2CANI,2CforEP,WAAA,EezqEG,mBf4qEH,WAAA,IAAA,MAAA,KCWD,cACE,iBAAkB,Kc/pEpB,6BdkqEA,6BcjqEE,6BAZM,6BfsqEP,6BCMD,6BDHC,QAAA,ICWD,gBACE,OAAQ,IAAI,MAAM,Kc1qEpB,4Bd6qEA,4Bc7qEA,4BAQQ,4Bf8pEP,4BCMD,4Bc7pEM,OAAA,IAAA,MAAA,KAYF,4BAFJ,4BfopEC,oBAAA,IevoEG,yCf0oEH,iBAAA,QehoEC,4BACA,iBAAA,QfooED,uBe9nEG,SAAA,OdyoEF,QAAS,acxoEL,MAAA,KAEA,sBfioEL,sBgB7wEC,SAAA,OfwxEA,QAAS,WACT,MAAO,KAST,0BerxEE,0Bf+wEF,0BAGA,0BexxEM,0BAMJ,0BfgxEF,0BAGA,0BACA,0BDNC,0BCAD,0BAGA,0BASE,iBAAkB,QDLnB,sCgBlyEC,sCAAA,oCfyyEF,sCetxEM,sCf2xEJ,iBAAkB,QASpB,2Be1yEE,2BfoyEF,2BAGA,2Be7yEM,2BAMJ,2BfqyEF,2BAGA,2BACA,2BDNC,2BCAD,2BAGA,2BASE,iBAAkB,QDLnB,uCgBvzEC,uCAAA,qCf8zEF,uCe3yEM,uCfgzEJ,iBAAkB,QASpB,wBe/zEE,wBfyzEF,wBAGA,wBel0EM,wBAMJ,wBf0zEF,wBAGA,wBACA,wBDNC,wBCAD,wBAGA,wBASE,iBAAkB,QDLnB,oCgB50EC,oCAAA,kCfm1EF,oCeh0EM,oCfq0EJ,iBAAkB,QASpB,2Bep1EE,2Bf80EF,2BAGA,2Bev1EM,2BAMJ,2Bf+0EF,2BAGA,2BACA,2BDNC,2BCAD,2BAGA,2BASE,iBAAkB,QDLnB,uCgBj2EC,uCAAA,qCfw2EF,uCer1EM,uCf01EJ,iBAAkB,QASpB,0Bez2EE,0Bfm2EF,0BAGA,0Be52EM,0BAMJ,0Bfo2EF,0BAGA,0BACA,0BDNC,0BCAD,0BAGA,0BASE,iBAAkB,QDLnB,sCehtEC,sCADF,oCdwtEA,sCe12EM,sCDoJJ,iBAAA,QA6DF,kBACE,WAAY,KA3DV,WAAA,KAEA,oCACA,kBACA,MAAA,KfotED,cAAA,Ke7pEC,WAAY,OAnDV,mBAAA,yBfmtEH,OAAA,IAAA,MAAA,KCWD,yBACE,cAAe,Ec5qEjB,qCd+qEA,qCcjtEI,qCARM,qCfktET,qCCMD,qCDHC,YAAA,OCWD,kCACE,OAAQ,EcvrEV,0Dd0rEA,0Dc1rEA,0DAzBU,0Df4sET,0DCMD,0DAME,YAAa,Ec/rEf,yDdksEA,yDclsEA,yDArBU,yDfgtET,yDCMD,yDAME,aAAc,EDLjB,yDe1sEW,yDEzNV,yDjBk6EC,yDiBj6ED,cAAA,GAMA,SjBk6ED,UAAA,EiB/5EC,QAAS,EACT,OAAA,EACA,OAAA,EAEA,OACA,QAAA,MACA,MAAA,KACA,QAAA,EACA,cAAA,KACA,UAAA,KjBi6ED,YAAA,QiB95EC,MAAO,KACP,OAAA,EACA,cAAA,IAAA,MAAA,QAEA,MjBg6ED,QAAA,aiBr5EC,UAAW,Kb4BX,cAAA,IACG,YAAA,IJ63EJ,mBiBr5EC,mBAAoB,WhBg6EjB,gBAAiB,WgB95EpB,WAAA,WjBy5ED,qBiBv5EC,kBAGA,OAAQ,IAAI,EAAE,EACd,WAAA,MjBs5ED,YAAA,OiBj5EC,iBACA,QAAA,MAIF,kBhB25EE,QAAS,MgBz5ET,MAAA,KAIF,iBAAA,ahB05EE,OAAQ,KI99ER,uBY2EF,2BjB64EC,wBiB54EC,QAAA,IAAA,KAAA,yBACA,eAAA,KAEA,OACA,QAAA,MjB+4ED,YAAA,IiBr3EC,UAAW,KACX,YAAA,WACA,MAAA,KAEA,cACA,QAAA,MACA,MAAA,KACA,OAAA,KACA,QAAA,IAAA,KACA,UAAA,KACA,YAAA,WACA,MAAA,KbxDA,iBAAA,KACQ,iBAAA,KAyHR,OAAA,IAAA,MAAA,KACK,cAAA,IACG,mBAAA,MAAA,EAAA,IAAA,IAAA,iBJwzET,WAAA,MAAA,EAAA,IAAA,IAAA,iBkBh8EC,mBAAA,aAAA,YAAA,KAAA,mBAAA,YAAA,KACE,cAAA,aAAA,YAAA,KAAA,WAAA,YAAA,KACA,WAAA,aAAA,YAAA,KAAA,WAAA,YAAA,KdWM,oBJy7ET,aAAA,QIx5EC,QAAA,EACE,mBAAA,MAAA,EAAA,IAAA,IAAA,iBAAA,EAAA,EAAA,IAAA,qBACA,WAAA,MAAA,EAAA,IAAA,IAAA,iBAAA,EAAA,EAAA,IAAA,qBAEF,gCAA0B,MAAA,KJ25E3B,QAAA,EI15EiC,oCJ65EjC,MAAA,KiBh4EG,yCACA,MAAA,KAQF,0BhBs4EA,iBAAkB,YAClB,OAAQ,EgBn4EN,wBjB63EH,wBiB13EC,iChBq4EA,iBAAkB,KgBn4EhB,QAAA,EAIF,wBACE,iCjB03EH,OAAA,YiB72EC,sBjBg3ED,OAAA,KiB91EG,mBhB02EF,mBAAoB,KAEtB,qDgB32EM,8BjBo2EH,8BiBj2EC,wCAAA,+BhB62EA,YAAa,KgB32EX,iCjBy2EH,iCiBt2EC,2CAAA,kChB02EF,0BACA,0BACA,oCACA,2BAKE,YAAa,KgBh3EX,iCjB82EH,iCACF,2CiBp2EC,kChBu2EA,0BACA,0BACA,oCACA,2BgBz2EA,YAAA,MhBi3EF,YgBv2EE,cAAA,KAGA,UADA,OjBi2ED,SAAA,SiBr2EC,QAAS,MhBg3ET,WAAY,KgBx2EV,cAAA,KAGA,gBADA,aAEA,WAAA,KjBi2EH,aAAA,KiB91EC,cAAe,EhBy2Ef,YAAa,IACb,OAAQ,QgBp2ER,+BjBg2ED,sCiBl2EC,yBACA,gCAIA,SAAU,ShBw2EV,WAAY,MgBt2EZ,YAAA,MAIF,oBAAA,cAEE,WAAA,KAGA,iBADA,cAEA,SAAA,SACA,QAAA,aACA,aAAA,KjB61ED,cAAA,EiB31EC,YAAa,IhBs2Eb,eAAgB,OgBp2EhB,OAAA,QAUA,kCjBo1ED,4BCWC,WAAY,EACZ,YAAa,KgBv1Eb,wCAAA,qCjBm1ED,8BCOD,+BgBh2EI,2BhB+1EJ,4BAME,OAAQ,YDNT,0BiBv1EG,uBAMF,oCAAA,iChB61EA,OAAQ,YDNT,yBiBp1EK,sBAaJ,mCAFF,gCAGE,OAAA,YAGA,qBjBy0ED,WAAA,KiBv0EC,YAAA,IhBk1EA,eAAgB,IgBh1Ed,cAAA,EjB00EH,8BiB5zED,8BCnQE,cAAA,EACA,aAAA,EAEA,UACA,OAAA,KlBkkFD,QAAA,IAAA,KkBhkFC,UAAA,KACE,YAAA,IACA,cAAA,IAGF,gBjB0kFA,OAAQ,KiBxkFN,YAAA,KD2PA,0BAFJ,kBAGI,OAAA,KAEA,6BACA,OAAA,KjBy0EH,QAAA,IAAA,KiB/0EC,UAAW,KAST,YAAA,IACA,cAAA,IAVJ,mChB81EE,OAAQ,KgBh1EN,YAAA,KAGA,6CAjBJ,qCAkBI,OAAA,KAEA,oCACA,OAAA,KjBy0EH,WAAA,KiBr0EC,QAAS,IAAI,KC/Rb,UAAA,KACA,YAAA,IAEA,UACA,OAAA,KlBumFD,QAAA,KAAA,KkBrmFC,UAAA,KACE,YAAA,UACA,cAAA,IAGF,gBjB+mFA,OAAQ,KiB7mFN,YAAA,KDuRA,0BAFJ,kBAGI,OAAA,KAEA,6BACA,OAAA,KjBk1EH,QAAA,KAAA,KiBx1EC,UAAW,KAST,YAAA,UACA,cAAA,IAVJ,mChBu2EE,OAAQ,KgBz1EN,YAAA,KAGA,6CAjBJ,qCAkBI,OAAA,KAEA,oCACA,OAAA,KjBk1EH,WAAA,KiBz0EC,QAAS,KAAK,KAEd,UAAA,KjB00ED,YAAA,UiBt0EG,cjBy0EH,SAAA,SiBp0EC,4BACA,cAAA,OAEA,uBACA,SAAA,SACA,IAAA,EACA,MAAA,EACA,QAAA,EACA,QAAA,MACA,MAAA,KjBu0ED,OAAA,KiBr0EC,YAAa,KhBg1Eb,WAAY,OACZ,eAAgB,KDLjB,oDiBv0EC,uCADA,iCAGA,MAAO,KhBg1EP,OAAQ,KACR,YAAa,KDLd,oDiBv0EC,uCADA,iCAKA,MAAO,KhB80EP,OAAQ,KACR,YAAa,KAKf,uBAEA,8BAJA,4BADA,yBAEA,oBAEA,2BDNC,4BkBruFG,mCAJA,yBD0ZJ,gCbvWE,MAAA,QJ2rFD,2BkBxuFG,aAAA,QACE,mBAAA,MAAA,EAAA,IAAA,IAAA,iBd4CJ,WAAA,MAAA,EAAA,IAAA,IAAA,iBJgsFD,iCiBz1EC,aAAc,QC5YZ,mBAAA,MAAA,EAAA,IAAA,IAAA,iBAAA,EAAA,EAAA,IAAA,QACA,WAAA,MAAA,EAAA,IAAA,IAAA,iBAAA,EAAA,EAAA,IAAA,QlByuFH,gCiB91EC,MAAO,QCtYL,iBAAA,QlBuuFH,aAAA,QCWD,oCACE,MAAO,QAKT,uBAEA,8BAJA,4BADA,yBAEA,oBAEA,2BDNC,4BkBnwFG,mCAJA,yBD6ZJ,gCb1WE,MAAA,QJytFD,2BkBtwFG,aAAA,QACE,mBAAA,MAAA,EAAA,IAAA,IAAA,iBd4CJ,WAAA,MAAA,EAAA,IAAA,IAAA,iBJ8tFD,iCiBp3EC,aAAc,QC/YZ,mBAAA,MAAA,EAAA,IAAA,IAAA,iBAAA,EAAA,EAAA,IAAA,QACA,WAAA,MAAA,EAAA,IAAA,IAAA,iBAAA,EAAA,EAAA,IAAA,QlBuwFH,gCiBz3EC,MAAO,QCzYL,iBAAA,QlBqwFH,aAAA,QCWD,oCACE,MAAO,QAKT,qBAEA,4BAJA,0BADA,uBAEA,kBAEA,yBDNC,0BkBjyFG,iCAJA,uBDgaJ,8Bb7WE,MAAA,QJuvFD,yBkBpyFG,aAAA,QACE,mBAAA,MAAA,EAAA,IAAA,IAAA,iBd4CJ,WAAA,MAAA,EAAA,IAAA,IAAA,iBJ4vFD,+BiB/4EC,aAAc,QClZZ,mBAAA,MAAA,EAAA,IAAA,IAAA,iBAAA,EAAA,EAAA,IAAA,QACA,WAAA,MAAA,EAAA,IAAA,IAAA,iBAAA,EAAA,EAAA,IAAA,QlBqyFH,8BiBp5EC,MAAO,QC5YL,iBAAA,QlBmyFH,aAAA,QiB/4EG,kCjBk5EH,MAAA,QiB/4EG,2CjBk5EH,IAAA,KiBv4EC,mDACA,IAAA,EAEA,YjB04ED,QAAA,MiBvzEC,WAAY,IAwEZ,cAAe,KAtIX,MAAA,QAEA,yBjBy3EH,yBiBrvEC,QAAS,aA/HP,cAAA,EACA,eAAA,OjBw3EH,2BiB1vEC,QAAS,aAxHP,MAAA,KjBq3EH,eAAA,OiBj3EG,kCACA,QAAA,aAmHJ,0BhB4wEE,QAAS,aACT,eAAgB,OgBr3Ed,wCjB82EH,6CiBtwED,2CjBywEC,MAAA,KiB72EG,wCACA,MAAA,KAmGJ,4BhBwxEE,cAAe,EgBp3Eb,eAAA,OAGA,uBADA,oBjB82EH,QAAA,aiBpxEC,WAAY,EhB+xEZ,cAAe,EgBr3EX,eAAA,OAsFN,6BAAA,0BAjFI,aAAA,EAiFJ,4CjB6xEC,sCiBx2EG,SAAA,SjB22EH,YAAA,EiBh2ED,kDhB42EE,IAAK,GgBl2EL,2BjB+1EH,kCiBh2EG,wBAEA,+BAXF,YAAa,IhBo3Eb,WAAY,EgBn2EV,cAAA,EJviBF,2BIshBF,wBJrhBE,WAAA,KI4jBA,6BAyBA,aAAc,MAnCV,YAAA,MAEA,yBjBw1EH,gCACF,YAAA,IiBx3EG,cAAe,EAwCf,WAAA,OAwBJ,sDAdQ,MAAA,KjB80EL,yBACF,+CiBn0EC,YAAA,KAEE,UAAW,MjBs0EZ,yBACF,+CmBp6FG,YAAa,IACf,UAAA,MAGA,KACA,QAAA,aACA,QAAA,IAAA,KAAA,cAAA,EACA,UAAA,KACA,YAAA,IACA,YAAA,WACA,WAAA,OC0CA,YAAA,OACA,eAAA,OACA,iBAAA,aACA,aAAA,ahB+JA,OAAA,QACG,oBAAA,KACC,iBAAA,KACI,gBAAA,KJ+tFT,YAAA,KmBv6FG,iBAAA,KlBm7FF,OAAQ,IAAI,MAAM,YAClB,cAAe,IkB96Ff,kBdzBA,kBACA,WLk8FD,kBCOD,kBADA,WAME,QAAS,IAAI,KAAK,yBAClB,eAAgB,KkBh7FhB,WnBy6FD,WmB56FG,WlBw7FF,MAAO,KkBn7FL,gBAAA,Kf6BM,YADR,YJk5FD,iBAAA,KmBz6FC,QAAA,ElBq7FA,mBAAoB,MAAM,EAAE,IAAI,IAAI,iBAC5B,WAAY,MAAM,EAAE,IAAI,IAAI,iBoBh+FpC,cAGA,ejB8DA,wBACQ,OAAA,YJ05FT,OAAA,kBmBz6FG,mBAAA,KlBq7FM,WAAY,KkBn7FhB,QAAA,IASN,eC3DE,yBACA,eAAA,KpBi+FD,aoB99FC,MAAA,KnB0+FA,iBAAkB,KmBx+FhB,aAAA,KpBk+FH,mBoBh+FO,mBAEN,MAAA,KACE,iBAAA,QACA,aAAA,QpBi+FH,mBoB99FC,MAAA,KnB0+FA,iBAAkB,QAClB,aAAc,QmBt+FR,oBADJ,oBpBi+FH,mCoB99FG,MAAA,KnB0+FF,iBAAkB,QAClB,aAAc,QmBt+FN,0BnB4+FV,0BAHA,0BmB1+FM,0BnB4+FN,0BAHA,0BDFC,yCoBx+FK,yCnB4+FN,yCmBv+FE,MAAA,KnB++FA,iBAAkB,QAClB,aAAc,QmBx+FZ,oBpBg+FH,oBoBh+FG,mCnB6+FF,iBAAkB,KmBz+FV,4BnB8+FV,4BAHA,4BDHC,6BCOD,6BAHA,6BkB39FA,sCClBM,sCnB8+FN,sCmBx+FI,iBAAA,KACA,aAAA,KDcJ,oBC9DE,MAAA,KACA,iBAAA,KpB0hGD,aoBvhGC,MAAA,KnBmiGA,iBAAkB,QmBjiGhB,aAAA,QpB2hGH,mBoBzhGO,mBAEN,MAAA,KACE,iBAAA,QACA,aAAA,QpB0hGH,mBoBvhGC,MAAA,KnBmiGA,iBAAkB,QAClB,aAAc,QmB/hGR,oBADJ,oBpB0hGH,mCoBvhGG,MAAA,KnBmiGF,iBAAkB,QAClB,aAAc,QmB/hGN,0BnBqiGV,0BAHA,0BmBniGM,0BnBqiGN,0BAHA,0BDFC,yCoBjiGK,yCnBqiGN,yCmBhiGE,MAAA,KnBwiGA,iBAAkB,QAClB,aAAc,QmBjiGZ,oBpByhGH,oBoBzhGG,mCnBsiGF,iBAAkB,KmBliGV,4BnBuiGV,4BAHA,4BDHC,6BCOD,6BAHA,6BkBjhGA,sCCrBM,sCnBuiGN,sCmBjiGI,iBAAA,QACA,aAAA,QDkBJ,oBClEE,MAAA,QACA,iBAAA,KpBmlGD,aoBhlGC,MAAA,KnB4lGA,iBAAkB,QmB1lGhB,aAAA,QpBolGH,mBoBllGO,mBAEN,MAAA,KACE,iBAAA,QACA,aAAA,QpBmlGH,mBoBhlGC,MAAA,KnB4lGA,iBAAkB,QAClB,aAAc,QmBxlGR,oBADJ,oBpBmlGH,mCoBhlGG,MAAA,KnB4lGF,iBAAkB,QAClB,aAAc,QmBxlGN,0BnB8lGV,0BAHA,0BmB5lGM,0BnB8lGN,0BAHA,0BDFC,yCoB1lGK,yCnB8lGN,yCmBzlGE,MAAA,KnBimGA,iBAAkB,QAClB,aAAc,QmB1lGZ,oBpBklGH,oBoBllGG,mCnB+lGF,iBAAkB,KmB3lGV,4BnBgmGV,4BAHA,4BDHC,6BCOD,6BAHA,6BkBtkGA,sCCzBM,sCnBgmGN,sCmB1lGI,iBAAA,QACA,aAAA,QDsBJ,oBCtEE,MAAA,QACA,iBAAA,KpB4oGD,UoBzoGC,MAAA,KnBqpGA,iBAAkB,QmBnpGhB,aAAA,QpB6oGH,gBoB3oGO,gBAEN,MAAA,KACE,iBAAA,QACA,aAAA,QpB4oGH,gBoBzoGC,MAAA,KnBqpGA,iBAAkB,QAClB,aAAc,QmBjpGR,iBADJ,iBpB4oGH,gCoBzoGG,MAAA,KnBqpGF,iBAAkB,QAClB,aAAc,QmBjpGN,uBnBupGV,uBAHA,uBmBrpGM,uBnBupGN,uBAHA,uBDFC,sCoBnpGK,sCnBupGN,sCmBlpGE,MAAA,KnB0pGA,iBAAkB,QAClB,aAAc,QmBnpGZ,iBpB2oGH,iBoB3oGG,gCnBwpGF,iBAAkB,KmBppGV,yBnBypGV,yBAHA,yBDHC,0BCOD,0BAHA,0BkB3nGA,mCC7BM,mCnBypGN,mCmBnpGI,iBAAA,QACA,aAAA,QD0BJ,iBC1EE,MAAA,QACA,iBAAA,KpBqsGD,aoBlsGC,MAAA,KnB8sGA,iBAAkB,QmB5sGhB,aAAA,QpBssGH,mBoBpsGO,mBAEN,MAAA,KACE,iBAAA,QACA,aAAA,QpBqsGH,mBoBlsGC,MAAA,KnB8sGA,iBAAkB,QAClB,aAAc,QmB1sGR,oBADJ,oBpBqsGH,mCoBlsGG,MAAA,KnB8sGF,iBAAkB,QAClB,aAAc,QmB1sGN,0BnBgtGV,0BAHA,0BmB9sGM,0BnBgtGN,0BAHA,0BDFC,yCoB5sGK,yCnBgtGN,yCmB3sGE,MAAA,KnBmtGA,iBAAkB,QAClB,aAAc,QmB5sGZ,oBpBosGH,oBoBpsGG,mCnBitGF,iBAAkB,KmB7sGV,4BnBktGV,4BAHA,4BDHC,6BCOD,6BAHA,6BkBhrGA,sCCjCM,sCnBktGN,sCmB5sGI,iBAAA,QACA,aAAA,QD8BJ,oBC9EE,MAAA,QACA,iBAAA,KpB8vGD,YoB3vGC,MAAA,KnBuwGA,iBAAkB,QmBrwGhB,aAAA,QpB+vGH,kBoB7vGO,kBAEN,MAAA,KACE,iBAAA,QACA,aAAA,QpB8vGH,kBoB3vGC,MAAA,KnBuwGA,iBAAkB,QAClB,aAAc,QmBnwGR,mBADJ,mBpB8vGH,kCoB3vGG,MAAA,KnBuwGF,iBAAkB,QAClB,aAAc,QmBnwGN,yBnBywGV,yBAHA,yBmBvwGM,yBnBywGN,yBAHA,yBDFC,wCoBrwGK,wCnBywGN,wCmBpwGE,MAAA,KnB4wGA,iBAAkB,QAClB,aAAc,QmBrwGZ,mBpB6vGH,mBoB7vGG,kCnB0wGF,iBAAkB,KmBtwGV,2BnB2wGV,2BAHA,2BDHC,4BCOD,4BAHA,4BkBruGA,qCCrCM,qCnB2wGN,qCmBrwGI,iBAAA,QACA,aAAA,QDuCJ,mBACE,MAAA,QACA,iBAAA,KnB+tGD,UmB5tGC,YAAA,IlBwuGA,MAAO,QACP,cAAe,EAEjB,UGzwGE,iBemCE,iBflCM,oBJkwGT,6BmB7tGC,iBAAA,YlByuGA,mBAAoB,KACZ,WAAY,KkBtuGlB,UAEF,iBAAA,gBnB6tGD,gBmB3tGG,aAAA,YnBiuGH,gBmB/tGG,gBAIA,MAAA,QlBuuGF,gBAAiB,UACjB,iBAAkB,YDNnB,0BmBhuGK,0BAUN,mCATM,mClB2uGJ,MAAO,KmB1yGP,gBAAA,KAGA,mBADA,QpBmyGD,QAAA,KAAA,KmBztGC,UAAW,KlBquGX,YAAa,UmBjzGb,cAAA,IAGA,mBADA,QpB0yGD,QAAA,IAAA,KmB5tGC,UAAW,KlBwuGX,YAAa,ImBxzGb,cAAA,IAGA,mBADA,QpBizGD,QAAA,IAAA,ImB3tGC,UAAW,KACX,YAAA,IACA,cAAA,IAIF,WACE,QAAA,MnB2tGD,MAAA,KCYD,sBACE,WAAY,IqBz3GZ,6BADF,4BtBk3GC,6BI7rGC,MAAA,KAEQ,MJisGT,QAAA,EsBr3GC,mBAAA,QAAA,KAAA,OACE,cAAA,QAAA,KAAA,OtBu3GH,WAAA,QAAA,KAAA,OsBl3GC,StBq3GD,QAAA,EsBn3Ga,UtBs3Gb,QAAA,KsBr3Ga,atBw3Gb,QAAA,MsBv3Ga,etB03Gb,QAAA,UsBt3GC,kBACA,QAAA,gBlBwKA,YACQ,SAAA,SAAA,OAAA,EAOR,SAAA,OACQ,mCAAA,KAAA,8BAAA,KAGR,2BAAA,KACQ,4BAAA,KAAA,uBAAA,KJ2sGT,oBAAA,KuBr5GC,4BAA6B,OAAQ,WACrC,uBAAA,OAAA,WACA,oBAAA,OAAA,WAEA,OACA,QAAA,aACA,MAAA,EACA,OAAA,EACA,YAAA,IACA,eAAA,OvBu5GD,WAAA,IAAA,OuBn5GC,WAAY,IAAI,QtBk6GhB,aAAc,IAAI,MAAM,YsBh6GxB,YAAA,IAAA,MAAA,YAKA,UADF,QvBo5GC,SAAA,SuB94GC,uBACA,QAAA,EAEA,eACA,SAAA,SACA,IAAA,KACA,KAAA,EACA,QAAA,KACA,QAAA,KACA,MAAA,KACA,UAAA,MACA,QAAA,IAAA,EACA,OAAA,IAAA,EAAA,EACA,UAAA,KACA,WAAA,KACA,WAAA,KnBsBA,iBAAA,KACQ,wBAAA,YmBrBR,gBAAA,YtB+5GA,OsB/5GA,IAAA,MAAA,KvBk5GD,OAAA,IAAA,MAAA,gBuB74GC,cAAA,IACE,mBAAA,EAAA,IAAA,KAAA,iBACA,WAAA,EAAA,IAAA,KAAA,iBAzBJ,0BCzBE,MAAA,EACA,KAAA,KAEA,wBxBo8GD,OAAA,IuB96GC,OAAQ,IAAI,EAmCV,SAAA,OACA,iBAAA,QAEA,oBACA,QAAA,MACA,QAAA,IAAA,KACA,MAAA,KvB84GH,YAAA,IuBx4GC,YAAA,WtBw5GA,MAAO,KsBt5GL,YAAA,OvB44GH,0BuB14GG,0BAMF,MAAA,QtBo5GA,gBAAiB,KACjB,iBAAkB,QsBj5GhB,yBAEA,+BADA,+BvBu4GH,MAAA,KuB73GC,gBAAA,KtB64GA,iBAAkB,QAClB,QAAS,EDZV,2BuB33GC,iCAAA,iCAEE,MAAA,KEzGF,iCF2GE,iCAEA,gBAAA,KvB63GH,OAAA,YuBx3GC,iBAAkB,YAGhB,iBAAA,KvBw3GH,OAAA,0DuBn3GG,qBvBs3GH,QAAA,MuB72GC,QACA,QAAA,EAQF,qBACE,MAAA,EACA,KAAA,KAIF,oBACE,MAAA,KACA,KAAA,EAEA,iBACA,QAAA,MACA,QAAA,IAAA,KvBw2GD,UAAA,KuBp2GC,YAAa,WACb,MAAA,KACA,YAAA,OAEA,mBACA,SAAA,MACA,IAAA,EvBs2GD,MAAA,EuBl2GC,OAAQ,EACR,KAAA,EACA,QAAA,IAQF,2BtB42GE,MAAO,EsBx2GL,KAAA,KAEA,eACA,sCvB41GH,QAAA,GuBn2GC,WAAY,EtBm3GZ,cAAe,IAAI,OsBx2GjB,cAAA,IAAA,QAEA,uBvB41GH,8CuBv0GC,IAAK,KAXL,OAAA,KApEA,cAAA,IvB25GC,yBuBv1GD,6BA1DA,MAAA,EACA,KAAA,KvBq5GD,kC0BpiHG,MAAO,KzBojHP,KAAM,GyBhjHR,W1BsiHD,oB0B1iHC,SAAU,SzB0jHV,QAAS,ayBpjHP,eAAA,OAGA,yB1BsiHH,gBCgBC,SAAU,SACV,MAAO,KyB7iHT,gC1BsiHC,gCCYD,+BAFA,+ByBhjHA,uBANM,uBzBujHN,sBAFA,sBAQE,QAAS,EyBljHP,qB1BuiHH,2B0BliHD,2BACE,iC1BoiHD,YAAA,KCgBD,aACE,YAAa,KDZd,kB0B1iHD,wBAAA,0BzB2jHE,MAAO,KDZR,kB0B/hHD,wBACE,0B1BiiHD,YAAA,I0B5hHC,yE1B+hHD,cAAA,E2BhlHC,4BACG,YAAA,EDsDL,mEzB6iHE,wBAAyB,E0B5lHzB,2BAAA,E3BilHD,6C0B5hHD,8CACE,uBAAA,E1B8hHD,0BAAA,E0B3hHC,sB1B8hHD,MAAA,KCgBD,8D0B/mHE,cAAA,E3BomHD,mE0B3hHD,oECjEE,wBAAA,EACG,2BAAA,EDqEL,oEzB0iHE,uBAAwB,EyBxiHxB,0BAAA,EAiBF,mCACE,iCACA,QAAA,EAEF,iCACE,cAAA,IACA,aAAA,IAKF,oCtB/CE,cAAA,KACQ,aAAA,KsBkDR,iCtBnDA,mBAAA,MAAA,EAAA,IAAA,IAAA,iBACQ,WAAA,MAAA,EAAA,IAAA,IAAA,iBsByDV,0CACE,mBAAA,K1BugHD,WAAA,K0BngHC,YACA,YAAA,EAGF,eACE,aAAA,IAAA,IAAA,E1BqgHD,oBAAA,ECgBD,uBACE,aAAc,EAAE,IAAI,IyB1gHlB,yBACA,+BACA,oC1B+/GH,QAAA,M0BtgHC,MAAO,KAcH,MAAA,K1B2/GL,UAAA,KCgBD,oCACE,MAAO,KyBpgHL,8BACA,oC1By/GH,oC0Bp/GC,0CACE,WAAA,K1Bs/GH,YAAA,E2B/pHC,4DACC,cAAA,EAQA,sD3B4pHF,uBAAA,I0Bt/GC,wBAAA,IC/KA,2BAAA,EACC,0BAAA,EAQA,sD3BkqHF,uBAAA,E0Bv/GC,wBAAyB,EACzB,2BAAA,I1By/GD,0BAAA,ICgBD,uE0BtrHE,cAAA,E3B2qHD,4E0Bt/GD,6EC7LE,2BAAA,EACC,0BAAA,EDoMH,6EACE,uBAAA,EACA,wBAAA,EAEA,qB1Bo/GD,QAAA,M0Bx/GC,MAAO,KzBwgHP,aAAc,MyBjgHZ,gBAAA,SAEA,0B1Bq/GH,gC0B9/GC,QAAS,WAYP,MAAA,K1Bq/GH,MAAA,G0Bj/GG,qC1Bo/GH,MAAA,KCgBD,+CACE,KAAM,KyB7+GF,gDAFA,6C1Bs+GL,2D0Br+GK,wDEzOJ,SAAU,SACV,KAAA,cACA,eAAA,K5BitHD,a4B7sHC,SAAA,SACE,QAAA,MACA,gBAAA,S5BgtHH,0B4BxtHC,MAAO,KAeL,cAAA,EACA,aAAA,EAOA,2BACA,SAAA,S5BusHH,QAAA,E4BrsHG,MAAA,KACE,MAAA,K5BusHL,cAAA,ECgBD,iCACE,QAAS,EiBnrHT,8BACA,mCACA,sCACA,OAAA,KlBwqHD,QAAA,KAAA,KkBtqHC,UAAA,KjBsrHA,YAAa,UACb,cAAe,IiBrrHb,oClB0qHH,yCkBvqHC,4CjBurHA,OAAQ,KACR,YAAa,KDTd,8C4B/sHD,mDAAA,sD3B0tHA,sCACA,2CiBzrHI,8CjB8rHF,OAAQ,KiB1sHR,8BACA,mCACA,sCACA,OAAA,KlB+rHD,QAAA,IAAA,KkB7rHC,UAAA,KjB6sHA,YAAa,IACb,cAAe,IiB5sHb,oClBisHH,yCkB9rHC,4CjB8sHA,OAAQ,KACR,YAAa,KDTd,8C4B7tHD,mDAAA,sD3BwuHA,sCACA,2CiBhtHI,8CjBqtHF,OAAQ,K2BzuHR,2B5B6tHD,mB4B7tHC,iB3B8uHA,QAAS,W2BzuHX,8D5B6tHC,sD4B7tHD,oDAEE,cAAA,EAEA,mB5B+tHD,iB4B1tHC,MAAO,GACP,YAAA,OACA,eAAA,OAEA,mBACA,QAAA,IAAA,KACA,UAAA,KACA,YAAA,IACA,YAAA,EACA,MAAA,K5B4tHD,WAAA,O4BztHC,iBAAA,KACE,OAAA,IAAA,MAAA,KACA,cAAA,I5B4tHH,4B4BztHC,QAAA,IAAA,KACE,UAAA,KACA,cAAA,I5B4tHH,4B4B/uHC,QAAS,KAAK,K3B+vHd,UAAW,K2BruHT,cAAA,IAKJ,wCAAA,qC3BquHE,WAAY,EAEd,uCACA,+BACA,kC0B70HE,6CACG,8CC4GL,6D5BqtHC,wE4BptHC,wBAAA,E5ButHD,2BAAA,ECgBD,+BACE,aAAc,EAEhB,sCACA,8B2BhuHA,+D5BstHC,oDCWD,iC0Bl1HE,4CACG,6CCiHH,uBAAA,E5BwtHD,0BAAA,E4BltHC,8BAGA,YAAA,E5BotHD,iB4BxtHC,SAAU,SAUR,UAAA,E5BitHH,YAAA,O4B/sHK,sB5BktHL,SAAA,SCgBD,2BACE,YAAa,K2BxtHb,6BAAA,4B5B4sHD,4B4BzsHK,QAAA,EAGJ,kCAAA,wCAGI,aAAA,K5B4sHL,iC6B12HD,uCACE,QAAA,EACA,YAAA,K7B62HD,K6B/2HC,aAAc,EAOZ,cAAA,EACA,WAAA,KARJ,QAWM,SAAA,SACA,QAAA,M7B42HL,U6B12HK,SAAA,S5B03HJ,QAAS,M4Bx3HH,QAAA,KAAA,KAMJ,gB7Bu2HH,gB6Bt2HK,gBAAA,K7By2HL,iBAAA,KCgBD,mB4Br3HQ,MAAA,KAGA,yBADA,yB7B02HP,MAAA,K6Bl2HG,gBAAA,K5Bk3HF,OAAQ,YACR,iBAAkB,Y4B/2Hd,aAzCN,mB7B64HC,mBwBh5HC,iBAAA,KACA,aAAA,QAEA,kBxBm5HD,OAAA,I6Bn5HC,OAAQ,IAAI,EA0DV,SAAA,O7B41HH,iBAAA,Q6Bl1HC,c7Bq1HD,UAAA,K6Bn1HG,UAEA,cAAA,IAAA,MAAA,KALJ,aASM,MAAA,KACA,cAAA,KAEA,e7Bo1HL,aAAA,I6Bn1HK,YAAA,WACE,OAAA,IAAA,MAAA,Y7Bq1HP,cAAA,IAAA,IAAA,EAAA,ECgBD,qBACE,aAAc,KAAK,KAAK,K4B51HlB,sBAEA,4BADA,4BAEA,MAAA,K7Bi1HP,OAAA,Q6B50HC,iBAAA,KAqDA,OAAA,IAAA,MAAA,KA8BA,oBAAA,YAnFA,wBAwDE,MAAA,K7B2xHH,cAAA,E6BzxHK,2BACA,MAAA,KA3DJ,6BAgEE,cAAA,IACA,WAAA,OAYJ,iDA0DE,IAAK,KAjED,KAAA,K7B0xHH,yB6BztHD,2BA9DM,QAAA,W7B0xHL,MAAA,G6Bn2HD,6BAuFE,cAAA,GAvFF,6B5Bw3HA,aAAc,EACd,cAAe,IDZhB,kC6BtuHD,wCA3BA,wCATM,OAAA,IAAA,MAAA,K7B+wHH,yB6B3uHD,6B5B2vHE,cAAe,IAAI,MAAM,KACzB,cAAe,IAAI,IAAI,EAAE,EDZ1B,kC6B92HD,wC7B+2HD,wC6B72HG,oBAAA,MAIE,c7B+2HL,MAAA,K6B52HK,gB7B+2HL,cAAA,ICgBD,iBACE,YAAa,I4Bv3HP,uBAQR,6B7Bo2HC,6B6Bl2HG,MAAA,K7Bq2HH,iBAAA,Q6Bn2HK,gBACA,MAAA,KAYN,mBACE,WAAA,I7B41HD,YAAA,E6Bz1HG,e7B41HH,MAAA,K6B11HK,kBACA,MAAA,KAPN,oBAYI,cAAA,IACA,WAAA,OAYJ,wCA0DE,IAAK,KAjED,KAAA,K7B21HH,yB6B1xHD,kBA9DM,QAAA,W7B21HL,MAAA,G6Bl1HD,oBACA,cAAA,GAIE,oBACA,cAAA,EANJ,yB5B02HE,aAAc,EACd,cAAe,IDZhB,8B6B1yHD,oCA3BA,oCATM,OAAA,IAAA,MAAA,K7Bm1HH,yB6B/yHD,yB5B+zHE,cAAe,IAAI,MAAM,KACzB,cAAe,IAAI,IAAI,EAAE,EDZ1B,8B6Bx0HD,oC7By0HD,oC6Bv0HG,oBAAA,MAGA,uB7B00HH,QAAA,K6B/zHC,qBF3OA,QAAA,M3B+iID,yB8BxiIC,WAAY,KACZ,uBAAA,EACA,wBAAA,EAEA,Q9B0iID,SAAA,S8BliIC,WAAY,KA8nBZ,cAAe,KAhoBb,OAAA,IAAA,MAAA,Y9ByiIH,yB8BzhIC,QAgnBE,cAAe,K9B86GlB,yB8BjhIC,eACA,MAAA,MAGA,iBACA,cAAA,KAAA,aAAA,KAEA,WAAA,Q9BkhID,2BAAA,M8BhhIC,WAAA,IAAA,MAAA,YACE,mBAAA,MAAA,EAAA,IAAA,EAAA,qB9BkhIH,WAAA,MAAA,EAAA,IAAA,EAAA,qB8Bz7GD,oBArlBI,WAAA,KAEA,yBAAA,iB9BkhID,MAAA,K8BhhIC,WAAA,EACE,mBAAA,KACA,WAAA,KAEA,0B9BkhIH,QAAA,gB8B/gIC,OAAA,eACE,eAAA,E9BihIH,SAAA,kBCkBD,oBACE,WAAY,QDZf,sC8B/gIK,mC9B8gIH,oC8BzgIC,cAAe,E7B4hIf,aAAc,G6Bj+GlB,sCAnjBE,mC7ByhIA,WAAY,MDdX,4D8BngID,sC9BogID,mCCkBG,WAAY,O6B3gId,kCANE,gC9BsgIH,4B8BvgIG,0BAuiBF,aAAc,M7Bm/Gd,YAAa,MAEf,yBDZC,kC8B3gIK,gC9B0gIH,4B8B3gIG,0BAcF,aAAc,EAChB,YAAA,GAMF,mBA8gBE,QAAS,KAhhBP,aAAA,EAAA,EAAA,I9BkgIH,yB8B7/HC,mB7B+gIE,cAAe,G6B1gIjB,qBADA,kB9BggID,SAAA,M8Bz/HC,MAAO,EAggBP,KAAM,E7B4gHN,QAAS,KDdR,yB8B7/HD,qB9B8/HD,kB8B7/HC,cAAA,GAGF,kBACE,IAAA,EACA,aAAA,EAAA,EAAA,I9BigID,qB8B1/HC,OAAQ,EACR,cAAA,EACA,aAAA,IAAA,EAAA,EAEA,cACA,MAAA,K9B4/HD,OAAA,K8B1/HC,QAAA,KAAA,K7B4gIA,UAAW,K6B1gIT,YAAA,KAIA,oBAbJ,oB9BwgIC,gBAAA,K8Bv/HG,kB7B0gIF,QAAS,MDdR,yBACF,iC8Bh/HC,uCACA,YAAA,OAGA,eC9LA,SAAA,SACA,MAAA,MD+LA,QAAA,IAAA,KACA,WAAA,IACA,aAAA,KACA,cAAA,I9Bm/HD,iBAAA,Y8B/+HC,iBAAA,KACE,OAAA,IAAA,MAAA,Y9Bi/HH,cAAA,I8B5+HG,qBACA,QAAA,EAEA,yB9B++HH,QAAA,M8BrgIC,MAAO,KAyBL,OAAA,I9B++HH,cAAA,I8BpjHD,mCAvbI,WAAA,I9Bg/HH,yB8Bt+HC,eACA,QAAA,MAGE,YACA,OAAA,MAAA,M9By+HH,iB8B58HC,YAAA,KA2YA,eAAgB,KAjaZ,YAAA,KAEA,yBACA,iCACA,SAAA,OACA,MAAA,KACA,MAAA,KAAA,WAAA,E9Bs+HH,iBAAA,Y8B3kHC,OAAQ,E7B8lHR,mBAAoB,K6Bt/HhB,WAAA,KAGA,kDAqZN,sC9BklHC,QAAA,IAAA,KAAA,IAAA,KCmBD,sC6Bv/HQ,YAAA,KAmBR,4C9Bs9HD,4C8BvlHG,iBAAkB,M9B4lHnB,yB8B5lHD,YAtYI,MAAA,K9Bq+HH,OAAA,E8Bn+HK,eACA,MAAA,K9Bu+HP,iB8B39HG,YAAa,KACf,eAAA,MAGA,aACA,QAAA,KAAA,K1B9NA,WAAA,IACQ,aAAA,M2B/DR,cAAA,IACA,YAAA,M/B4vID,WAAA,IAAA,MAAA,YiBtuHC,cAAe,IAAI,MAAM,YAwEzB,mBAAoB,MAAM,EAAE,IAAI,EAAE,qBAAyB,EAAE,IAAI,EAAE,qBAtI/D,WAAA,MAAA,EAAA,IAAA,EAAA,qBAAA,EAAA,IAAA,EAAA,qBAEA,yBjBwyHH,yBiBpqHC,QAAS,aA/HP,cAAA,EACA,eAAA,OjBuyHH,2BiBzqHC,QAAS,aAxHP,MAAA,KjBoyHH,eAAA,OiBhyHG,kCACA,QAAA,aAmHJ,0BhBmsHE,QAAS,aACT,eAAgB,OgB5yHd,wCjB6xHH,6CiBrrHD,2CjBwrHC,MAAA,KiB5xHG,wCACA,MAAA,KAmGJ,4BhB+sHE,cAAe,EgB3yHb,eAAA,OAGA,uBADA,oBjB6xHH,QAAA,aiBnsHC,WAAY,EhBstHZ,cAAe,EgB5yHX,eAAA,OAsFN,6BAAA,0BAjFI,aAAA,EAiFJ,4CjB4sHC,sCiBvxHG,SAAA,SjB0xHH,YAAA,E8BngID,kDAmWE,IAAK,GAvWH,yBACE,yB9B8gIL,cAAA,I8B5/HD,oCAoVE,cAAe,GA1Vf,yBACA,aACA,MAAA,KACA,YAAA,E1BzPF,eAAA,EACQ,aAAA,EJmwIP,YAAA,EACF,OAAA,E8BngIG,mBAAoB,KACtB,WAAA,M9BugID,8B8BngIC,WAAY,EACZ,uBAAA,EHzUA,wBAAA,EAQA,mDACC,cAAA,E3By0IF,uBAAA,I8B//HC,wBAAyB,IChVzB,2BAAA,EACA,0BAAA,EDkVA,YCnVA,WAAA,IACA,cAAA,IDqVA,mBCtVA,WAAA,KACA,cAAA,KD+VF,mBChWE,WAAA,KACA,cAAA,KDuWF,aAsSE,WAAY,KA1SV,cAAA,KAEA,yB9B+/HD,aACF,MAAA,K8Bl+HG,aAAc,KAhBhB,YAAA,MACA,yBE5WA,aF8WE,MAAA,eAFF,cAKI,MAAA,gB9Bu/HH,aAAA,M8B7+HD,4BACA,aAAA,GADF,gBAKI,iBAAA,Q9Bg/HH,aAAA,QCmBD,8B6BhgIM,MAAA,KARN,oC9B0/HC,oC8B5+HG,MAAA,Q9B++HH,iBAAA,Y8B1+HK,6B9B6+HL,MAAA,KCmBD,iC6B5/HQ,MAAA,KAKF,uC9By+HL,uCCmBC,MAAO,KACP,iBAAkB,Y6Bz/HZ,sCAIF,4C9Bu+HL,4CCmBC,MAAO,KACP,iBAAkB,Q6Bv/HZ,wCAxCR,8C9BihIC,8C8Bn+HG,MAAA,K9Bs+HH,iBAAA,YCmBD,+B6Bt/HM,aAAA,KAGA,qCApDN,qC9B2hIC,iBAAA,KCmBD,yC6Bp/HI,iBAAA,KAOE,iCAAA,6B7Bk/HJ,aAAc,Q6B9+HR,oCAiCN,0C9B+7HD,0C8B3xHC,MAAO,KA7LC,iBAAA,QACA,yB7B8+HR,sD6B5+HU,MAAA,KAKF,4D9By9HP,4DCmBC,MAAO,KACP,iBAAkB,Y6Bz+HV,2DAIF,iE9Bu9HP,iECmBC,MAAO,KACP,iBAAkB,Q6Bv+HV,6D9B09HX,mEADE,mE8B1jIC,MAAO,KA8GP,iBAAA,aAEE,6B9Bi9HL,MAAA,K8B58HG,mC9B+8HH,MAAA,KCmBD,0B6B/9HM,MAAA,KAIA,gCAAA,gC7Bg+HJ,MAAO,K6Bt9HT,0CARQ,0CASN,mD9Bu8HD,mD8Bt8HC,MAAA,KAFF,gBAKI,iBAAA,K9B08HH,aAAA,QCmBD,8B6B19HM,MAAA,QARN,oC9Bo9HC,oC8Bt8HG,MAAA,K9By8HH,iBAAA,Y8Bp8HK,6B9Bu8HL,MAAA,QCmBD,iC6Bt9HQ,MAAA,QAKF,uC9Bm8HL,uCCmBC,MAAO,KACP,iBAAkB,Y6Bn9HZ,sCAIF,4C9Bi8HL,4CCmBC,MAAO,KACP,iBAAkB,Q6Bj9HZ,wCAxCR,8C9B2+HC,8C8B57HG,MAAA,K9B+7HH,iBAAA,YCmBD,+B6B/8HM,aAAA,KAGA,qCArDN,qC9Bq/HC,iBAAA,KCmBD,yC6B78HI,iBAAA,KAME,iCAAA,6B7B48HJ,aAAc,Q6Bx8HR,oCAuCN,0C9Bm5HD,0C8B33HC,MAAO,KAvDC,iBAAA,QAuDV,yBApDU,kE9Bs7HP,aAAA,Q8Bn7HO,0D9Bs7HP,iBAAA,QCmBD,sD6Bt8HU,MAAA,QAKF,4D9Bm7HP,4DCmBC,MAAO,KACP,iBAAkB,Y6Bn8HV,2DAIF,iE9Bi7HP,iECmBC,MAAO,KACP,iBAAkB,Q6Bj8HV,6D9Bo7HX,mEADE,mE8B1hIC,MAAO,KA+GP,iBAAA,aAEE,6B9Bg7HL,MAAA,Q8B36HG,mC9B86HH,MAAA,KCmBD,0B6B97HM,MAAA,QAIA,gCAAA,gC7B+7HJ,MAAO,KgCvkJT,0CH0oBQ,0CGzoBN,mDjCwjJD,mDiCvjJC,MAAA,KAEA,YACA,QAAA,IAAA,KjC2jJD,cAAA,KiChkJC,WAAY,KAQV,iBAAA,QjC2jJH,cAAA,IiCxjJK,eACA,QAAA,ajC4jJL,yBiCxkJC,QAAS,EAAE,IAkBT,MAAA,KjCyjJH,QAAA,SkC5kJC,oBACA,MAAA,KAEA,YlC+kJD,QAAA,akCnlJC,aAAc,EAOZ,OAAA,KAAA,ElC+kJH,cAAA,ICmBD,eiC/lJM,QAAA,OAEA,iBACA,oBACA,SAAA,SACA,MAAA,KACA,QAAA,IAAA,KACA,YAAA,KACA,YAAA,WlCglJL,MAAA,QkC9kJG,gBAAA,KjCimJF,iBAAkB,KiC9lJZ,OAAA,IAAA,MAAA,KPVH,6B3B2lJJ,gCkC7kJG,YAAA,EjCgmJF,uBAAwB,I0BvnJxB,0BAAA,I3BymJD,4BkCxkJG,+BjC2lJF,wBAAyB,IACzB,2BAA4B,IiCxlJxB,uBAFA,uBAGA,0BAFA,0BlC8kJL,QAAA,EkCtkJG,MAAA,QjCylJF,iBAAkB,KAClB,aAAc,KAEhB,sBiCvlJM,4BAFA,4BjC0lJN,yBiCvlJM,+BAFA,+BAGA,QAAA,ElC2kJL,MAAA,KkCloJC,OAAQ,QjCqpJR,iBAAkB,QAClB,aAAc,QiCnlJV,wBAEA,8BADA,8BjColJN,2BiCtlJM,iCjCulJN,iCDZC,MAAA,KkC/jJC,OAAQ,YjCklJR,iBAAkB,KkC7pJd,aAAA,KAEA,oBnC8oJL,uBmC5oJG,QAAA,KAAA,KlC+pJF,UAAW,K0B1pJX,YAAA,U3B4oJD,gCmC3oJG,mClC8pJF,uBAAwB,I0BvqJxB,0BAAA,I3BypJD,+BkC1kJD,kCjC6lJE,wBAAyB,IkC7qJrB,2BAAA,IAEA,oBnC8pJL,uBmC5pJG,QAAA,IAAA,KlC+qJF,UAAW,K0B1qJX,YAAA,I3B4pJD,gCmC3pJG,mClC8qJF,uBAAwB,I0BvrJxB,0BAAA,I3ByqJD,+BoC3qJD,kCACE,wBAAA,IACA,2BAAA,IAEA,OpC6qJD,aAAA,EoCjrJC,OAAQ,KAAK,EAOX,WAAA,OpC6qJH,WAAA,KCmBD,UmC7rJM,QAAA,OAEA,YACA,eACA,QAAA,apC8qJL,QAAA,IAAA,KoC5rJC,iBAAkB,KnC+sJlB,OAAQ,IAAI,MAAM,KmC5rJd,cAAA,KAnBN,kBpCisJC,kBCmBC,gBAAiB,KmCzrJb,iBAAA,KA3BN,eAAA,kBAkCM,MAAA,MAlCN,mBAAA,sBnC6tJE,MAAO,KmClrJH,mBAEA,yBADA,yBpCqqJL,sBqCltJC,MAAO,KACP,OAAA,YACA,iBAAA,KAEA,OACA,QAAA,OACA,QAAA,KAAA,KAAA,KACA,UAAA,IACA,YAAA,IACA,YAAA,EACA,MAAA,KrCotJD,WAAA,OqChtJG,YAAA,OpCmuJF,eAAgB,SoCjuJZ,cAAA,MrCotJL,cqCltJK,cAKJ,MAAA,KACE,gBAAA,KrC+sJH,OAAA,QqC1sJG,aACA,QAAA,KAOJ,YCtCE,SAAA,StC+uJD,IAAA,KCmBD,eqC7vJM,iBAAA,KALJ,2BD0CF,2BrC4sJC,iBAAA,QCmBD,eqCpwJM,iBAAA,QALJ,2BD8CF,2BrC+sJC,iBAAA,QCmBD,eqC3wJM,iBAAA,QALJ,2BDkDF,2BrCktJC,iBAAA,QCmBD,YqClxJM,iBAAA,QALJ,wBDsDF,wBrCqtJC,iBAAA,QCmBD,eqCzxJM,iBAAA,QALJ,2BD0DF,2BrCwtJC,iBAAA,QCmBD,cqChyJM,iBAAA,QCDJ,0BADF,0BAEE,iBAAA,QAEA,OACA,QAAA,aACA,UAAA,KACA,QAAA,IAAA,IACA,UAAA,KACA,YAAA,IACA,YAAA,EACA,MAAA,KACA,WAAA,OvCqxJD,YAAA,OuClxJC,eAAA,OACE,iBAAA,KvCoxJH,cAAA,KuC/wJG,aACA,QAAA,KAGF,YtCkyJA,SAAU,SsChyJR,IAAA,KAMA,0BvC4wJH,eCmBC,IAAK,EsC7xJD,QAAA,IAAA,IvCgxJL,cuC9wJK,cAKJ,MAAA,KtC4xJA,gBAAiB,KsC1xJf,OAAA,QvC4wJH,+BuCxwJC,4BACE,MAAA,QvC0wJH,iBAAA,KuCtwJG,wBvCywJH,MAAA,MuCrwJG,+BvCwwJH,aAAA,IwCj0JC,uBACA,YAAA,IAEA,WACA,YAAA,KxCo0JD,eAAA,KwCz0JC,cAAe,KvC41Jf,MAAO,QuCn1JL,iBAAA,KAIA,eAbJ,cAcI,MAAA,QxCo0JH,awCl1JC,cAAe,KAmBb,UAAA,KxCk0JH,YAAA,ICmBD,cuCh1JI,iBAAA,QAEA,sBxCi0JH,4BwC31JC,cAAe,KA8Bb,aAAA,KxCg0JH,cAAA,IwC7yJD,sBAfI,UAAA,KxCi0JD,oCwC9zJC,WvCi1JA,YAAa,KuC/0JX,eAAA,KxCi0JH,sBwCvzJD,4BvC00JE,cAAe,KuC90Jb,aAAA,KC5CJ,ezC42JD,cyC32JC,UAAA,MAGA,WACA,QAAA,MACA,QAAA,IACA,cAAA,KrCiLA,YAAA,WACK,iBAAA,KACG,OAAA,IAAA,MAAA,KJ8rJT,cAAA,IyCx3JC,mBAAoB,OAAO,IAAI,YxC24J1B,cAAe,OAAO,IAAI,YwC93J7B,WAAA,OAAA,IAAA,YAKF,iBzC22JD,eCmBC,aAAc,KACd,YAAa,KwCv3JX,mBA1BJ,kBzCk4JC,kByCv2JG,aAAA,QCzBJ,oBACE,QAAA,IACA,MAAA,KAEA,O1Cs4JD,QAAA,K0C14JC,cAAe,KAQb,OAAA,IAAA,MAAA,YAEA,cAAA,IAVJ,UAeI,WAAA,E1Ck4JH,MAAA,QCmBD,mByC/4JI,YAAA,IArBJ,SAyBI,U1C+3JH,cAAA,ECmBD,WyCx4JE,WAAA,IAFF,mBAAA,mBAMI,cAAA,KAEA,0BACA,0B1Cy3JH,SAAA,S0Cj3JC,IAAK,KCvDL,MAAA,MACA,MAAA,Q3C46JD,e0Ct3JC,MAAO,QClDL,iBAAA,Q3C26JH,aAAA,Q2Cx6JG,kB3C26JH,iBAAA,Q2Cn7JC,2BACA,MAAA,Q3Cu7JD,Y0C73JC,MAAO,QCtDL,iBAAA,Q3Cs7JH,aAAA,Q2Cn7JG,e3Cs7JH,iBAAA,Q2C97JC,wBACA,MAAA,Q3Ck8JD,e0Cp4JC,MAAO,QC1DL,iBAAA,Q3Ci8JH,aAAA,Q2C97JG,kB3Ci8JH,iBAAA,Q2Cz8JC,2BACA,MAAA,Q3C68JD,c0C34JC,MAAO,QC9DL,iBAAA,Q3C48JH,aAAA,Q2Cz8JG,iB3C48JH,iBAAA,Q4C78JC,0BAAQ,MAAA,QACR,wCAAQ,K5Cm9JP,oBAAA,KAAA,E4C/8JD,GACA,oBAAA,EAAA,GACA,mCAAQ,K5Cq9JP,oBAAA,KAAA,E4Cv9JD,GACA,oBAAA,EAAA,GACA,gCAAQ,K5Cq9JP,oBAAA,KAAA,E4C78JD,GACA,oBAAA,EAAA,GAGA,UACA,OAAA,KxCsCA,cAAA,KACQ,SAAA,OJ26JT,iBAAA,Q4C78JC,cAAe,IACf,mBAAA,MAAA,EAAA,IAAA,IAAA,eACA,WAAA,MAAA,EAAA,IAAA,IAAA,eAEA,cACA,MAAA,KACA,MAAA,EACA,OAAA,KACA,UAAA,KxCyBA,YAAA,KACQ,MAAA,KAyHR,WAAA,OACK,iBAAA,QACG,mBAAA,MAAA,EAAA,KAAA,EAAA,gBJ+zJT,WAAA,MAAA,EAAA,KAAA,EAAA,gB4C18JC,mBAAoB,MAAM,IAAI,K3Cq+JzB,cAAe,MAAM,IAAI,K4Cp+J5B,WAAA,MAAA,IAAA,KDEF,sBCAE,gCDAF,iBAAA,yK5C88JD,iBAAA,oK4Cv8JC,iBAAiB,iK3Cm+JjB,wBAAyB,KAAK,KG/gK9B,gBAAA,KAAA,KJy/JD,qBIv/JS,+BwCmDR,kBAAmB,qBAAqB,GAAG,OAAO,SErElD,aAAA,qBAAA,GAAA,OAAA,S9C4gKD,UAAA,qBAAA,GAAA,OAAA,S6Cz9JG,sBACA,iBAAA,Q7C69JH,wC4Cx8JC,iBAAkB,yKEzElB,iBAAA,oK9CohKD,iBAAA,iK6Cj+JG,mBACA,iBAAA,Q7Cq+JH,qC4C58JC,iBAAkB,yKE7ElB,iBAAA,oK9C4hKD,iBAAA,iK6Cz+JG,sBACA,iBAAA,Q7C6+JH,wC4Ch9JC,iBAAkB,yKEjFlB,iBAAA,oK9CoiKD,iBAAA,iK6Cj/JG,qBACA,iBAAA,Q7Cq/JH,uC+C5iKC,iBAAkB,yKAElB,iBAAA,oK/C6iKD,iBAAA,iK+C1iKG,O/C6iKH,WAAA,KC4BD,mB8CnkKE,WAAA,E/C4iKD,O+CxiKD,YACE,SAAA,O/C0iKD,KAAA,E+CtiKC,Y/CyiKD,MAAA,Q+CriKG,c/CwiKH,QAAA,MC4BD,4B8C9jKE,UAAA,KAGF,aAAA,mBAEE,aAAA,KAGF,YAAA,kB9C+jKE,cAAe,K8CxjKjB,YAHE,Y/CoiKD,a+ChiKC,QAAA,W/CmiKD,eAAA,I+C/hKC,c/CkiKD,eAAA,O+C7hKC,cACA,eAAA,OAMF,eACE,WAAA,EACA,cAAA,ICvDF,YAEE,aAAA,EACA,WAAA,KAQF,YACE,aAAA,EACA,cAAA,KAGA,iBACA,SAAA,SACA,QAAA,MhD6kKD,QAAA,KAAA,KgD1kKC,cAAA,KrB3BA,iBAAA,KACC,OAAA,IAAA,MAAA,KqB6BD,6BACE,uBAAA,IrBvBF,wBAAA,I3BsmKD,4BgDpkKC,cAAe,E/CgmKf,2BAA4B,I+C9lK5B,0BAAA,IAFF,kBAAA,uBAKI,MAAA,KAIF,2CAAA,gD/CgmKA,MAAO,K+C5lKL,wBAFA,wBhDykKH,6BgDxkKG,6BAKF,MAAO,KACP,gBAAA,KACA,iBAAA,QAKA,uB/C4lKA,MAAO,KACP,WAAY,K+CzlKV,0BhDmkKH,gCgDlkKG,gCALF,MAAA,K/CmmKA,OAAQ,YACR,iBAAkB,KDxBnB,mDgD5kKC,yDAAA,yD/CymKA,MAAO,QDxBR,gDgDhkKC,sDAAA,sD/C6lKA,MAAO,K+CzlKL,wBAEA,8BADA,8BhDmkKH,QAAA,EgDxkKC,MAAA,K/ComKA,iBAAkB,QAClB,aAAc,QAEhB,iDDpBC,wDCuBD,uDADA,uD+CzmKE,8DAYI,6D/C4lKN,uD+CxmKE,8D/C2mKF,6DAKE,MAAO,QDxBR,8CiD1qKG,oDADF,oDAEE,MAAA,QAEA,yBhDusKF,MAAO,QgDrsKH,iBAAA,QAFF,0BAAA,+BAKI,MAAA,QAGF,mDAAA,wDhDwsKJ,MAAO,QDtBR,gCiDhrKO,gCAGF,qCAFE,qChD2sKN,MAAO,QACP,iBAAkB,QAEpB,iCgDvsKQ,uCAFA,uChD0sKR,sCDtBC,4CiDnrKO,4CArBN,MAAA,KACE,iBAAA,QACA,aAAA,QAEA,sBhDouKF,MAAO,QgDluKH,iBAAA,QAFF,uBAAA,4BAKI,MAAA,QAGF,gDAAA,qDhDquKJ,MAAO,QDtBR,6BiD7sKO,6BAGF,kCAFE,kChDwuKN,MAAO,QACP,iBAAkB,QAEpB,8BgDpuKQ,oCAFA,oChDuuKR,mCDtBC,yCiDhtKO,yCArBN,MAAA,KACE,iBAAA,QACA,aAAA,QAEA,yBhDiwKF,MAAO,QgD/vKH,iBAAA,QAFF,0BAAA,+BAKI,MAAA,QAGF,mDAAA,wDhDkwKJ,MAAO,QDtBR,gCiD1uKO,gCAGF,qCAFE,qChDqwKN,MAAO,QACP,iBAAkB,QAEpB,iCgDjwKQ,uCAFA,uChDowKR,sCDtBC,4CiD7uKO,4CArBN,MAAA,KACE,iBAAA,QACA,aAAA,QAEA,wBhD8xKF,MAAO,QgD5xKH,iBAAA,QAFF,yBAAA,8BAKI,MAAA,QAGF,kDAAA,uDhD+xKJ,MAAO,QDtBR,+BiDvwKO,+BAGF,oCAFE,oChDkyKN,MAAO,QACP,iBAAkB,QAEpB,gCgD9xKQ,sCAFA,sChDiyKR,qCDtBC,2CiD1wKO,2CDkGN,MAAO,KACP,iBAAA,QACA,aAAA,QAEF,yBACE,WAAA,EACA,cAAA,IE1HF,sBACE,cAAA,EACA,YAAA,IAEA,O9C0DA,cAAA,KACQ,iBAAA,KJ6uKT,OAAA,IAAA,MAAA,YkDnyKC,cAAe,IACf,mBAAA,EAAA,IAAA,IAAA,gBlDqyKD,WAAA,EAAA,IAAA,IAAA,gBkD/xKC,YACA,QAAA,KvBnBC,e3BuzKF,QAAA,KAAA,KkDtyKC,cAAe,IAAI,MAAM,YAMvB,uBAAA,IlDmyKH,wBAAA,IkD7xKC,0CACA,MAAA,QAEA,alDgyKD,WAAA,EkDpyKC,cAAe,EjDg0Kf,UAAW,KACX,MAAO,QDtBR,oBkD1xKC,sBjDkzKF,eiDxzKI,mBAKJ,qBAEE,MAAA,QvBvCA,cACC,QAAA,KAAA,K3Bs0KF,iBAAA,QkDrxKC,WAAY,IAAI,MAAM,KjDizKtB,2BAA4B,IiD9yK1B,0BAAA,IAHJ,mBAAA,mCAMM,cAAA,ElDwxKL,oCkDnxKG,oDjD+yKF,aAAc,IAAI,EiD7yKZ,cAAA,EvBtEL,4D3B61KF,4EkDjxKG,WAAA,EjD6yKF,uBAAwB,IiD3yKlB,wBAAA,IvBtEL,0D3B21KF,0EkD1yKC,cAAe,EvB1Df,2BAAA,IACC,0BAAA,IuB0FH,+EAEI,uBAAA,ElD8wKH,wBAAA,EkD1wKC,wDlD6wKD,iBAAA,EC4BD,0BACE,iBAAkB,EiDlyKpB,8BlD0wKC,ckD1wKD,gCjDuyKE,cAAe,EiDvyKjB,sCAQM,sBlDwwKL,wCC4BC,cAAe,K0Br5Kf,aAAA,KuByGF,wDlDqxKC,0BC4BC,uBAAwB,IACxB,wBAAyB,IiDlzK3B,yFAoBQ,yFlDwwKP,2DkDzwKO,2DjDqyKN,uBAAwB,IACxB,wBAAyB,IAK3B,wGiD9zKA,wGjD4zKA,wGDtBC,wGCuBD,0EiD7zKA,0EjD2zKA,0EiDnyKU,0EjD2yKR,uBAAwB,IAK1B,uGiDx0KA,uGjDs0KA,uGDtBC,uGCuBD,yEiDv0KA,yEjDq0KA,yEiDzyKU,yEvB7HR,wBAAA,IuBiGF,sDlDqzKC,yBC4BC,2BAA4B,IAC5B,0BAA2B,IiDxyKrB,qFA1CR,qFAyCQ,wDlDmxKP,wDC4BC,2BAA4B,IAC5B,0BAA2B,IAG7B,oGDtBC,oGCwBD,oGiD91KA,oGjD21KA,uEiD7yKU,uEjD+yKV,uEiD71KA,uEjDm2KE,0BAA2B,IAG7B,mGDtBC,mGCwBD,mGiDx2KA,mGjDq2KA,sEiDnzKU,sEjDqzKV,sEiDv2KA,sEjD62KE,2BAA4B,IiDlzK1B,0BlD2xKH,qCkDt1KD,0BAAA,qCA+DI,WAAA,IAAA,MAAA,KA/DJ,kDAAA,kDAmEI,WAAA,EAnEJ,uBAAA,yCjD23KE,OAAQ,EiDjzKA,+CjDqzKV,+CiD/3KA,+CjDi4KA,+CAEA,+CANA,+CDjBC,iECoBD,iEiDh4KA,iEjDk4KA,iEAEA,iEANA,iEAWE,YAAa,EiD3zKL,8CjD+zKV,8CiD74KA,8CjD+4KA,8CAEA,8CANA,8CDjBC,gECoBD,gEiD94KA,gEjDg5KA,gEAEA,gEANA,gEAWE,aAAc,EAIhB,+CiD35KA,+CjDy5KA,+CiDl0KU,+CjDq0KV,iEiD55KA,iEjD05KA,iEDtBC,iEC6BC,cAAe,EAEjB,8CiDn0KU,8CjDq0KV,8CiDr6KA,8CjDo6KA,gEDtBC,gECwBD,gEiDh0KI,gEACA,cAAA,EAUJ,yBACE,cAAA,ElDmyKD,OAAA,EkD/xKG,aACA,cAAA,KANJ,oBASM,cAAA,ElDkyKL,cAAA,IkD7xKG,2BlDgyKH,WAAA,IC4BD,4BiDxzKM,cAAA,EAKF,wDAvBJ,wDlDqzKC,WAAA,IAAA,MAAA,KkD5xKK,2BlD+xKL,WAAA,EmDlhLC,uDnDqhLD,cAAA,IAAA,MAAA,KmDlhLG,eACA,aAAA,KnDshLH,8BmDxhLC,MAAA,KAMI,iBAAA,QnDqhLL,aAAA,KmDlhLK,0DACA,iBAAA,KAGJ,qCAEI,MAAA,QnDmhLL,iBAAA,KmDpiLC,yDnDuiLD,oBAAA,KmDpiLG,eACA,aAAA,QnDwiLH,8BmD1iLC,MAAA,KAMI,iBAAA,QnDuiLL,aAAA,QmDpiLK,0DACA,iBAAA,QAGJ,qCAEI,MAAA,QnDqiLL,iBAAA,KmDtjLC,yDnDyjLD,oBAAA,QmDtjLG,eACA,aAAA,QnD0jLH,8BmD5jLC,MAAA,QAMI,iBAAA,QnDyjLL,aAAA,QmDtjLK,0DACA,iBAAA,QAGJ,qCAEI,MAAA,QnDujLL,iBAAA,QmDxkLC,yDnD2kLD,oBAAA,QmDxkLG,YACA,aAAA,QnD4kLH,2BmD9kLC,MAAA,QAMI,iBAAA,QnD2kLL,aAAA,QmDxkLK,uDACA,iBAAA,QAGJ,kCAEI,MAAA,QnDykLL,iBAAA,QmD1lLC,sDnD6lLD,oBAAA,QmD1lLG,eACA,aAAA,QnD8lLH,8BmDhmLC,MAAA,QAMI,iBAAA,QnD6lLL,aAAA,QmD1lLK,0DACA,iBAAA,QAGJ,qCAEI,MAAA,QnD2lLL,iBAAA,QmD5mLC,yDnD+mLD,oBAAA,QmD5mLG,cACA,aAAA,QnDgnLH,6BmDlnLC,MAAA,QAMI,iBAAA,QnD+mLL,aAAA,QmD5mLK,yDACA,iBAAA,QAGJ,oCAEI,MAAA,QnD6mLL,iBAAA,QoD5nLC,wDACA,oBAAA,QAEA,kBACA,SAAA,SpD+nLD,QAAA,MoDpoLC,OAAQ,EnDgqLR,QAAS,EACT,SAAU,OAEZ,yCmDtpLI,wBADA,yBAEA,yBACA,wBACA,SAAA,SACA,IAAA,EACA,OAAA,EpD+nLH,KAAA,EoD1nLC,MAAO,KACP,OAAA,KpD4nLD,OAAA,EoDvnLC,wBpD0nLD,eAAA,OqDppLC,uBACA,eAAA,IAEA,MACA,WAAA,KACA,QAAA,KjDwDA,cAAA,KACQ,iBAAA,QJgmLT,OAAA,IAAA,MAAA,QqD/pLC,cAAe,IASb,mBAAA,MAAA,EAAA,IAAA,IAAA,gBACA,WAAA,MAAA,EAAA,IAAA,IAAA,gBAKJ,iBACE,aAAA,KACA,aAAA,gBAEF,SACE,QAAA,KACA,cAAA,ICtBF,SACE,QAAA,IACA,cAAA,IAEA,OACA,MAAA,MACA,UAAA,KjCRA,YAAA,IAGA,YAAA,ErBqrLD,MAAA,KsD7qLC,YAAA,EAAA,IAAA,EAAA,KrDysLA,OAAQ,kBqDvsLN,QAAA,GjCbF,aiCeE,ajCZF,MAAA,KrB6rLD,gBAAA,KsDzqLC,OAAA,QACE,OAAA,kBACA,QAAA,GAEA,aACA,mBAAA,KtD2qLH,QAAA,EuDhsLC,OAAQ,QACR,WAAA,IvDksLD,OAAA,EuD7rLC,YACA,SAAA,OAEA,OACA,SAAA,MACA,IAAA,EACA,MAAA,EACA,OAAA,EACA,KAAA,EAIA,QAAA,KvD6rLD,QAAA,KuD1rLC,SAAA,OnD+GA,2BAAA,MACI,QAAA,EAEI,0BAkER,mBAAA,kBAAA,IAAA,SAEK,cAAA,aAAA,IAAA,SACG,WAAA,UAAA,IAAA,SJ6gLT,kBAAA,kBuDhsLC,cAAA,kBnD2GA,aAAA,kBACI,UAAA,kBAEI,wBJwlLT,kBAAA,euDpsLK,cAAe,eACnB,aAAA,eACA,UAAA,eAIF,mBACE,WAAA,OACA,WAAA,KvDqsLD,cuDhsLC,SAAU,SACV,MAAA,KACA,OAAA,KAEA,eACA,SAAA,SnDaA,iBAAA,KACQ,wBAAA,YmDZR,gBAAA,YtD4tLA,OsD5tLA,IAAA,MAAA,KAEA,OAAA,IAAA,MAAA,evDksLD,cAAA,IuD9rLC,QAAS,EACT,mBAAA,EAAA,IAAA,IAAA,eACA,WAAA,EAAA,IAAA,IAAA,eAEA,gBACA,SAAA,MACA,IAAA,EACA,MAAA,EvDgsLD,OAAA,EuD9rLC,KAAA,ElCrEA,QAAA,KAGA,iBAAA,KkCmEA,qBlCtEA,OAAA,iBAGA,QAAA,EkCwEF,mBACE,OAAA,kBACA,QAAA,GAIF,cACE,QAAA,KvDgsLD,cAAA,IAAA,MAAA,QuD3rLC,qBACA,WAAA,KAKF,aACE,OAAA,EACA,YAAA,WAIF,YACE,SAAA,SACA,QAAA,KvD0rLD,cuD5rLC,QAAS,KAQP,WAAA,MACA,WAAA,IAAA,MAAA,QATJ,wBAaI,cAAA,EvDsrLH,YAAA,IuDlrLG,mCvDqrLH,YAAA,KuD/qLC,oCACA,YAAA,EAEA,yBACA,SAAA,SvDkrLD,IAAA,QuDhqLC,MAAO,KAZP,OAAA,KACE,SAAA,OvDgrLD,yBuD7qLD,cnDvEA,MAAA,MACQ,OAAA,KAAA,KmD2ER,eAAY,mBAAA,EAAA,IAAA,KAAA,evD+qLX,WAAA,EAAA,IAAA,KAAA,euDzqLD,UAFA,MAAA,OvDirLD,yBwD/zLC,UACA,MAAA,OCNA,SAEA,SAAA,SACA,QAAA,KACA,QAAA,MACA,YAAA,iBAAA,UAAA,MAAA,WACA,UAAA,KACA,WAAA,OACA,YAAA,IACA,YAAA,WACA,WAAA,KACA,WAAA,MACA,gBAAA,KACA,YAAA,KACA,eAAA,KACA,eAAA,ODHA,WAAA,OnCVA,aAAA,OAGA,UAAA,OrBs1LD,YAAA,OwD30LC,OAAA,iBnCdA,QAAA,ErB61LD,WAAA,KwD90LY,YAAmB,OAAA,kBxDk1L/B,QAAA,GwDj1LY,aAAmB,QAAA,IAAA,ExDq1L/B,WAAA,KwDp1LY,eAAmB,QAAA,EAAA,IxDw1L/B,YAAA,IwDv1LY,gBAAmB,QAAA,IAAA,ExD21L/B,WAAA,IwDt1LC,cACA,QAAA,EAAA,IACA,YAAA,KAEA,eACA,UAAA,MxDy1LD,QAAA,IAAA,IwDr1LC,MAAO,KACP,WAAA,OACA,iBAAA,KACA,cAAA,IAEA,exDu1LD,SAAA,SwDn1LC,MAAA,EACE,OAAA,EACA,aAAA,YACA,aAAA,MAEA,4BxDq1LH,OAAA,EwDn1LC,KAAA,IACE,YAAA,KACA,aAAA,IAAA,IAAA,EACA,iBAAA,KAEA,iCxDq1LH,MAAA,IwDn1LC,OAAA,EACE,cAAA,KACA,aAAA,IAAA,IAAA,EACA,iBAAA,KAEA,kCxDq1LH,OAAA,EwDn1LC,KAAA,IACE,cAAA,KACA,aAAA,IAAA,IAAA,EACA,iBAAA,KAEA,8BxDq1LH,IAAA,IwDn1LC,KAAA,EACE,WAAA,KACA,aAAA,IAAA,IAAA,IAAA,EACA,mBAAA,KAEA,6BxDq1LH,IAAA,IwDn1LC,MAAA,EACE,WAAA,KACA,aAAA,IAAA,EAAA,IAAA,IACA,kBAAA,KAEA,+BxDq1LH,IAAA,EwDn1LC,KAAA,IACE,YAAA,KACA,aAAA,EAAA,IAAA,IACA,oBAAA,KAEA,oCxDq1LH,IAAA,EwDn1LC,MAAA,IACE,WAAA,KACA,aAAA,EAAA,IAAA,IACA,oBAAA,KAEA,qCxDq1LH,IAAA,E0Dl7LC,KAAM,IACN,WAAA,KACA,aAAA,EAAA,IAAA,IACA,oBAAA,KAEA,SACA,SAAA,SACA,IAAA,EDXA,KAAA,EAEA,QAAA,KACA,QAAA,KACA,UAAA,MACA,QAAA,IACA,YAAA,iBAAA,UAAA,MAAA,WACA,UAAA,KACA,WAAA,OACA,YAAA,IACA,YAAA,WACA,WAAA,KACA,WAAA,MACA,gBAAA,KACA,YAAA,KACA,eAAA,KCAA,eAAA,OAEA,WAAA,OACA,aAAA,OAAA,UAAA,OACA,YAAA,OACA,iBAAA,KACA,wBAAA,YtD8CA,gBAAA,YACQ,OAAA,IAAA,MAAA,KJk5LT,OAAA,IAAA,MAAA,e0D77LC,cAAA,IAAY,mBAAA,EAAA,IAAA,KAAA,e1Dg8Lb,WAAA,EAAA,IAAA,KAAA,e0D/7La,WAAA,KACZ,aAAY,WAAA,MACZ,eAAY,YAAA,KAGd,gBACE,WAAA,KAEA,cACA,YAAA,MAEA,e1Dq8LD,QAAA,IAAA,K0Dl8LC,OAAQ,EACR,UAAA,K1Do8LD,iBAAA,Q0D57LC,cAAA,IAAA,MAAA,QzDy9LA,cAAe,IAAI,IAAI,EAAE,EyDt9LvB,iBACA,QAAA,IAAA,KAEA,gBACA,sB1D87LH,SAAA,S0D37LC,QAAS,MACT,MAAA,E1D67LD,OAAA,E0D37LC,aAAc,YACd,aAAA,M1D87LD,gB0Dz7LC,aAAA,KAEE,sBACA,QAAA,GACA,aAAA,KAEA,oB1D27LH,OAAA,M0D17LG,KAAA,IACE,YAAA,MACA,iBAAA,KACA,iBAAA,gBACA,oBAAA,E1D67LL,0B0Dz7LC,OAAA,IACE,YAAA,MACA,QAAA,IACA,iBAAA,KACA,oBAAA,EAEA,sB1D27LH,IAAA,I0D17LG,KAAA,MACE,WAAA,MACA,mBAAA,KACA,mBAAA,gBACA,kBAAA,E1D67LL,4B0Dz7LC,OAAA,MACE,KAAA,IACA,QAAA,IACA,mBAAA,KACA,kBAAA,EAEA,uB1D27LH,IAAA,M0D17LG,KAAA,IACE,YAAA,MACA,iBAAA,EACA,oBAAA,KACA,oBAAA,gB1D67LL,6B0Dx7LC,IAAA,IACE,YAAA,MACA,QAAA,IACA,iBAAA,EACA,oBAAA,KAEA,qB1D07LH,IAAA,I0Dz7LG,MAAA,MACE,WAAA,MACA,mBAAA,EACA,kBAAA,KACA,kBAAA,gB1D47LL,2B2DpjMC,MAAO,IACP,OAAA,M3DsjMD,QAAA,I2DnjMC,mBAAoB,EACpB,kBAAA,KAEA,U3DqjMD,SAAA,S2DljMG,gBACA,SAAA,SvD6KF,MAAA,KACK,SAAA,OJ04LN,sB2D/jMC,SAAU,S1D4lMV,QAAS,K0D9kML,mBAAA,IAAA,YAAA,K3DqjML,cAAA,IAAA,YAAA,K2D3hMC,WAAA,IAAA,YAAA,KvDmKK,4BAFL,0BAGQ,YAAA,EA3JA,qDA+GR,sBAEQ,mBAAA,kBAAA,IAAA,YJ86LP,cAAA,aAAA,IAAA,Y2DzjMG,WAAA,UAAA,IAAA,YvDmHJ,4BAAA,OACQ,oBAAA,OuDjHF,oBAAA,O3D4jML,YAAA,OI58LD,mCHs+LA,2BGr+LQ,KAAA,EuD5GF,kBAAA,sB3D6jML,UAAA,sBC2BD,kCADA,2BG5+LA,KAAA,EACQ,kBAAA,uBuDtGF,UAAA,uBArCN,6B3DomMD,gC2DpmMC,iC1D+nME,KAAM,E0DllMN,kBAAA,mB3D4jMH,UAAA,oBAGA,wB2D5mMD,sBAAA,sBAsDI,QAAA,MAEA,wB3D0jMH,KAAA,E2DtjMG,sB3DyjMH,sB2DrnMC,SAAU,SA+DR,IAAA,E3DyjMH,MAAA,KC0BD,sB0D/kMI,KAAA,KAnEJ,sBAuEI,KAAA,MAvEJ,2BA0EI,4B3DwjMH,KAAA,E2D/iMC,6BACA,KAAA,MAEA,8BACA,KAAA,KtC3FA,kBsC6FA,SAAA,SACA,IAAA,EACA,OAAA,EACA,KAAA,EACA,MAAA,I3DmjMD,UAAA,K2D9iMC,MAAA,KdnGE,WAAA,OACA,YAAA,EAAA,IAAA,IAAA,eACA,iBAAA,cAAA,OAAA,kBACA,QAAA,G7CqpMH,uB2DljMC,iBAAA,sEACE,iBAAA,iEACA,iBAAA,uFdxGA,iBAAA,kEACA,OAAA,+GACA,kBAAA,SACA,wBACA,MAAA,E7C6pMH,KAAA,K2DpjMC,iBAAA,sE1DglMA,iBAAiB,iE0D9kMf,iBAAA,uFACA,iBAAA,kEACA,OAAA,+GtCvHF,kBAAA,SsCyFF,wB3DslMC,wBC4BC,MAAO,KACP,gBAAiB,KACjB,OAAQ,kB0D7kMN,QAAA,EACA,QAAA,G3DwjMH,0C2DhmMD,2CA2CI,6BADA,6B1DklMF,SAAU,S0D7kMR,IAAA,IACA,QAAA,E3DqjMH,QAAA,a2DrmMC,WAAY,MAqDV,0CADA,6B3DsjMH,KAAA,I2D1mMC,YAAa,MA0DX,2CADA,6BAEA,MAAA,IACA,aAAA,MAME,6BADF,6B3DmjMH,MAAA,K2D9iMG,OAAA,KACE,YAAA,M3DgjML,YAAA,E2DriMC,oCACA,QAAA,QAEA,oCACA,QAAA,QAEA,qBACA,SAAA,SACA,OAAA,K3DwiMD,KAAA,I2DjjMC,QAAS,GAYP,MAAA,IACA,aAAA,EACA,YAAA,KACA,WAAA,OACA,WAAA,KAEA,wBACA,QAAA,aAWA,MAAA,KACA,OAAA,K3D8hMH,OAAA,I2D7jMC,YAAa,OAkCX,OAAA,QACA,iBAAA,OACA,iBAAA,cACA,OAAA,IAAA,MAAA,K3D8hMH,cAAA,K2DthMC,6BACA,MAAA,KACA,OAAA,KACA,OAAA,EACA,iBAAA,KAEA,kBACA,SAAA,SACA,MAAA,IACA,OAAA,K3DyhMD,KAAA,I2DxhMC,QAAA,GACE,YAAA,K3D0hMH,eAAA,K2Dj/LC,MAAO,KAhCP,WAAA,O1D8iMA,YAAa,EAAE,IAAI,IAAI,eAEzB,uB0D3iMM,YAAA,KAEA,oCACA,0C3DmhMH,2C2D3hMD,6BAAA,6BAYI,MAAA,K3DmhMH,OAAA,K2D/hMD,WAAA,M1D2jME,UAAW,KDxBZ,0C2D9gMD,6BACE,YAAA,MAEA,2C3DghMD,6B2D5gMD,aAAA,M3D+gMC,kBACF,MAAA,I4D7wMC,KAAA,I3DyyME,eAAgB,KAElB,qBACE,OAAQ,MAkBZ,qCADA,sCADA,mBADA,oBAXA,gBADA,iBAOA,uBADA,wBADA,iBADA,kBADA,wBADA,yBASA,mCADA,oC2DpzME,oBAAA,qBAAA,oBAAA,qB3D2zMF,WADA,YAOA,uBADA,wBADA,qBADA,sBADA,cADA,e2D/zMI,a3Dq0MJ,cDvBC,kB4D7yMG,mB3DqzMJ,WADA,YAwBE,QAAS,MACT,QAAS,IASX,qCADA,mBANA,gBAGA,uBADA,iBADA,wBAIA,mCDhBC,oB6D/0MC,oB5Dk2MF,W+B51MA,uBhCo0MC,qB4D5zMG,cChBF,aACA,kB5D+1MF,W+Br1ME,MAAO,KhCy0MR,cgCt0MC,QAAS,MACT,aAAA,KhCw0MD,YAAA,KgC/zMC,YhCk0MD,MAAA,gBgC/zMC,WhCk0MD,MAAA,egC/zMC,MhCk0MD,QAAA,e8Dz1MC,MACA,QAAA,gBAEA,WACA,WAAA,O9B8BF,WACE,KAAA,EAAA,EAAA,EhCg0MD,MAAA,YgCzzMC,YAAa,KACb,iBAAA,YhC2zMD,OAAA,E+D31MC,Q/D81MD,QAAA,eC4BD,OACE,SAAU,M+Dn4MV,chE42MD,MAAA,aC+BD,YADA,YADA,YADA,YAIE,QAAS,e+Dp5MT,kBhEs4MC,mBgEr4MD,yBhEi4MD,kB+Dl1MD,mBA6IA,yB9D4tMA,kBACA,mB8Dj3ME,yB9D62MF,kBACA,mBACA,yB+Dv5MY,QAAA,eACV,yBAAU,YhE04MT,QAAA,gBC4BD,iB+Dp6MU,QAAA,gBhE64MX,c+D51MG,QAAS,oB/Dg2MV,c+Dl2MC,c/Dm2MH,QAAA,sB+D91MG,yB/Dk2MD,kBACF,QAAA,iB+D91MG,yB/Dk2MD,mBACF,QAAA,kBgEh6MC,yBhEo6MC,yBgEn6MD,QAAA,wBACA,+CAAU,YhEw6MT,QAAA,gBC4BD,iB+Dl8MU,QAAA,gBhE26MX,c+Dr2MG,QAAS,oB/Dy2MV,c+D32MC,c/D42MH,QAAA,sB+Dv2MG,+C/D22MD,kBACF,QAAA,iB+Dv2MG,+C/D22MD,mBACF,QAAA,kBgE97MC,+ChEk8MC,yBgEj8MD,QAAA,wBACA,gDAAU,YhEs8MT,QAAA,gBC4BD,iB+Dh+MU,QAAA,gBhEy8MX,c+D92MG,QAAS,oB/Dk3MV,c+Dp3MC,c/Dq3MH,QAAA,sB+Dh3MG,gD/Do3MD,kBACF,QAAA,iB+Dh3MG,gD/Do3MD,mBACF,QAAA,kBgE59MC,gDhEg+MC,yBgE/9MD,QAAA,wBACA,0BAAU,YhEo+MT,QAAA,gBC4BD,iB+D9/MU,QAAA,gBhEu+MX,c+Dv3MG,QAAS,oB/D23MV,c+D73MC,c/D83MH,QAAA,sB+Dz3MG,0B/D63MD,kBACF,QAAA,iB+Dz3MG,0B/D63MD,mBACF,QAAA,kBgEl/MC,0BhEs/MC,yBACF,QAAA,wBgEv/MC,yBhE2/MC,WACF,QAAA,gBgE5/MC,+ChEggNC,WACF,QAAA,gBgEjgNC,gDhEqgNC,WACF,QAAA,gBAGA,0B+Dh3MC,WA4BE,QAAS,gBC5LX,eAAU,QAAA,eACV,aAAU,ehEyhNT,QAAA,gBC4BD,oB+DnjNU,QAAA,gBhE4hNX,iB+D93MG,QAAS,oBAMX,iB/D23MD,iB+Dt2MG,QAAS,sB/D22MZ,qB+D/3MC,QAAS,e/Dk4MV,a+D53MC,qBAcE,QAAS,iB/Dm3MZ,sB+Dh4MC,QAAS,e/Dm4MV,a+D73MC,sBAOE,QAAS,kB/D23MZ,4B+D53MC,QAAS,eCpLT,ahEojNC,4BACF,QAAA,wBC6BD,aACE,cACE,QAAS","sourcesContent":["/*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */\n\n//\n// 1. Set default font family to sans-serif.\n// 2. Prevent iOS and IE text size adjust after device orientation change,\n// without disabling user zoom.\n//\n\nhtml {\n font-family: sans-serif; // 1\n -ms-text-size-adjust: 100%; // 2\n -webkit-text-size-adjust: 100%; // 2\n}\n\n//\n// Remove default margin.\n//\n\nbody {\n margin: 0;\n}\n\n// HTML5 display definitions\n// ==========================================================================\n\n//\n// Correct `block` display not defined for any HTML5 element in IE 8/9.\n// Correct `block` display not defined for `details` or `summary` in IE 10/11\n// and Firefox.\n// Correct `block` display not defined for `main` in IE 11.\n//\n\narticle,\naside,\ndetails,\nfigcaption,\nfigure,\nfooter,\nheader,\nhgroup,\nmain,\nmenu,\nnav,\nsection,\nsummary {\n display: block;\n}\n\n//\n// 1. Correct `inline-block` display not defined in IE 8/9.\n// 2. Normalize vertical alignment of `progress` in Chrome, Firefox, and Opera.\n//\n\naudio,\ncanvas,\nprogress,\nvideo {\n display: inline-block; // 1\n vertical-align: baseline; // 2\n}\n\n//\n// Prevent modern browsers from displaying `audio` without controls.\n// Remove excess height in iOS 5 devices.\n//\n\naudio:not([controls]) {\n display: none;\n height: 0;\n}\n\n//\n// Address `[hidden]` styling not present in IE 8/9/10.\n// Hide the `template` element in IE 8/9/10/11, Safari, and Firefox < 22.\n//\n\n[hidden],\ntemplate {\n display: none;\n}\n\n// Links\n// ==========================================================================\n\n//\n// Remove the gray background color from active links in IE 10.\n//\n\na {\n background-color: transparent;\n}\n\n//\n// Improve readability of focused elements when they are also in an\n// active/hover state.\n//\n\na:active,\na:hover {\n outline: 0;\n}\n\n// Text-level semantics\n// ==========================================================================\n\n//\n// Address styling not present in IE 8/9/10/11, Safari, and Chrome.\n//\n\nabbr[title] {\n border-bottom: 1px dotted;\n}\n\n//\n// Address style set to `bolder` in Firefox 4+, Safari, and Chrome.\n//\n\nb,\nstrong {\n font-weight: bold;\n}\n\n//\n// Address styling not present in Safari and Chrome.\n//\n\ndfn {\n font-style: italic;\n}\n\n//\n// Address variable `h1` font-size and margin within `section` and `article`\n// contexts in Firefox 4+, Safari, and Chrome.\n//\n\nh1 {\n font-size: 2em;\n margin: 0.67em 0;\n}\n\n//\n// Address styling not present in IE 8/9.\n//\n\nmark {\n background: #ff0;\n color: #000;\n}\n\n//\n// Address inconsistent and variable font size in all browsers.\n//\n\nsmall {\n font-size: 80%;\n}\n\n//\n// Prevent `sub` and `sup` affecting `line-height` in all browsers.\n//\n\nsub,\nsup {\n font-size: 75%;\n line-height: 0;\n position: relative;\n vertical-align: baseline;\n}\n\nsup {\n top: -0.5em;\n}\n\nsub {\n bottom: -0.25em;\n}\n\n// Embedded content\n// ==========================================================================\n\n//\n// Remove border when inside `a` element in IE 8/9/10.\n//\n\nimg {\n border: 0;\n}\n\n//\n// Correct overflow not hidden in IE 9/10/11.\n//\n\nsvg:not(:root) {\n overflow: hidden;\n}\n\n// Grouping content\n// ==========================================================================\n\n//\n// Address margin not present in IE 8/9 and Safari.\n//\n\nfigure {\n margin: 1em 40px;\n}\n\n//\n// Address differences between Firefox and other browsers.\n//\n\nhr {\n box-sizing: content-box;\n height: 0;\n}\n\n//\n// Contain overflow in all browsers.\n//\n\npre {\n overflow: auto;\n}\n\n//\n// Address odd `em`-unit font size rendering in all browsers.\n//\n\ncode,\nkbd,\npre,\nsamp {\n font-family: monospace, monospace;\n font-size: 1em;\n}\n\n// Forms\n// ==========================================================================\n\n//\n// Known limitation: by default, Chrome and Safari on OS X allow very limited\n// styling of `select`, unless a `border` property is set.\n//\n\n//\n// 1. Correct color not being inherited.\n// Known issue: affects color of disabled elements.\n// 2. Correct font properties not being inherited.\n// 3. Address margins set differently in Firefox 4+, Safari, and Chrome.\n//\n\nbutton,\ninput,\noptgroup,\nselect,\ntextarea {\n color: inherit; // 1\n font: inherit; // 2\n margin: 0; // 3\n}\n\n//\n// Address `overflow` set to `hidden` in IE 8/9/10/11.\n//\n\nbutton {\n overflow: visible;\n}\n\n//\n// Address inconsistent `text-transform` inheritance for `button` and `select`.\n// All other form control elements do not inherit `text-transform` values.\n// Correct `button` style inheritance in Firefox, IE 8/9/10/11, and Opera.\n// Correct `select` style inheritance in Firefox.\n//\n\nbutton,\nselect {\n text-transform: none;\n}\n\n//\n// 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio`\n// and `video` controls.\n// 2. Correct inability to style clickable `input` types in iOS.\n// 3. Improve usability and consistency of cursor style between image-type\n// `input` and others.\n//\n\nbutton,\nhtml input[type=\"button\"], // 1\ninput[type=\"reset\"],\ninput[type=\"submit\"] {\n -webkit-appearance: button; // 2\n cursor: pointer; // 3\n}\n\n//\n// Re-set default cursor for disabled elements.\n//\n\nbutton[disabled],\nhtml input[disabled] {\n cursor: default;\n}\n\n//\n// Remove inner padding and border in Firefox 4+.\n//\n\nbutton::-moz-focus-inner,\ninput::-moz-focus-inner {\n border: 0;\n padding: 0;\n}\n\n//\n// Address Firefox 4+ setting `line-height` on `input` using `!important` in\n// the UA stylesheet.\n//\n\ninput {\n line-height: normal;\n}\n\n//\n// It's recommended that you don't attempt to style these elements.\n// Firefox's implementation doesn't respect box-sizing, padding, or width.\n//\n// 1. Address box sizing set to `content-box` in IE 8/9/10.\n// 2. Remove excess padding in IE 8/9/10.\n//\n\ninput[type=\"checkbox\"],\ninput[type=\"radio\"] {\n box-sizing: border-box; // 1\n padding: 0; // 2\n}\n\n//\n// Fix the cursor style for Chrome's increment/decrement buttons. For certain\n// `font-size` values of the `input`, it causes the cursor style of the\n// decrement button to change from `default` to `text`.\n//\n\ninput[type=\"number\"]::-webkit-inner-spin-button,\ninput[type=\"number\"]::-webkit-outer-spin-button {\n height: auto;\n}\n\n//\n// 1. Address `appearance` set to `searchfield` in Safari and Chrome.\n// 2. Address `box-sizing` set to `border-box` in Safari and Chrome.\n//\n\ninput[type=\"search\"] {\n -webkit-appearance: textfield; // 1\n box-sizing: content-box; //2\n}\n\n//\n// Remove inner padding and search cancel button in Safari and Chrome on OS X.\n// Safari (but not Chrome) clips the cancel button when the search input has\n// padding (and `textfield` appearance).\n//\n\ninput[type=\"search\"]::-webkit-search-cancel-button,\ninput[type=\"search\"]::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n//\n// Define consistent border, margin, and padding.\n//\n\nfieldset {\n border: 1px solid #c0c0c0;\n margin: 0 2px;\n padding: 0.35em 0.625em 0.75em;\n}\n\n//\n// 1. Correct `color` not being inherited in IE 8/9/10/11.\n// 2. Remove padding so people aren't caught out if they zero out fieldsets.\n//\n\nlegend {\n border: 0; // 1\n padding: 0; // 2\n}\n\n//\n// Remove default vertical scrollbar in IE 8/9/10/11.\n//\n\ntextarea {\n overflow: auto;\n}\n\n//\n// Don't inherit the `font-weight` (applied by a rule above).\n// NOTE: the default cannot safely be changed in Chrome and Safari on OS X.\n//\n\noptgroup {\n font-weight: bold;\n}\n\n// Tables\n// ==========================================================================\n\n//\n// Remove most spacing between table cells.\n//\n\ntable {\n border-collapse: collapse;\n border-spacing: 0;\n}\n\ntd,\nth {\n padding: 0;\n}\n","/*! Source: https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css */\n\n// ==========================================================================\n// Print styles.\n// Inlined to avoid the additional HTTP request: h5bp.com/r\n// ==========================================================================\n\n@media print {\n *,\n *:before,\n *:after {\n background: transparent !important;\n color: #000 !important; // Black prints faster: h5bp.com/s\n box-shadow: none !important;\n text-shadow: none !important;\n }\n\n a,\n a:visited {\n text-decoration: underline;\n }\n\n a[href]:after {\n content: \" (\" attr(href) \")\";\n }\n\n abbr[title]:after {\n content: \" (\" attr(title) \")\";\n }\n\n // Don't show links that are fragment identifiers,\n // or use the `javascript:` pseudo protocol\n a[href^=\"#\"]:after,\n a[href^=\"javascript:\"]:after {\n content: \"\";\n }\n\n pre,\n blockquote {\n border: 1px solid #999;\n page-break-inside: avoid;\n }\n\n thead {\n display: table-header-group; // h5bp.com/t\n }\n\n tr,\n img {\n page-break-inside: avoid;\n }\n\n img {\n max-width: 100% !important;\n }\n\n p,\n h2,\n h3 {\n orphans: 3;\n widows: 3;\n }\n\n h2,\n h3 {\n page-break-after: avoid;\n }\n\n // Bootstrap specific changes start\n\n // Bootstrap components\n .navbar {\n display: none;\n }\n .btn,\n .dropup > .btn {\n > .caret {\n border-top-color: #000 !important;\n }\n }\n .label {\n border: 1px solid #000;\n }\n\n .table {\n border-collapse: collapse !important;\n\n td,\n th {\n background-color: #fff !important;\n }\n }\n .table-bordered {\n th,\n td {\n border: 1px solid #ddd !important;\n }\n }\n\n // Bootstrap specific changes end\n}\n","/*!\n * Bootstrap v3.3.7 (http://getbootstrap.com)\n * Copyright 2011-2016 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n */\n/*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */\nhtml {\n font-family: sans-serif;\n -ms-text-size-adjust: 100%;\n -webkit-text-size-adjust: 100%;\n}\nbody {\n margin: 0;\n}\narticle,\naside,\ndetails,\nfigcaption,\nfigure,\nfooter,\nheader,\nhgroup,\nmain,\nmenu,\nnav,\nsection,\nsummary {\n display: block;\n}\naudio,\ncanvas,\nprogress,\nvideo {\n display: inline-block;\n vertical-align: baseline;\n}\naudio:not([controls]) {\n display: none;\n height: 0;\n}\n[hidden],\ntemplate {\n display: none;\n}\na {\n background-color: transparent;\n}\na:active,\na:hover {\n outline: 0;\n}\nabbr[title] {\n border-bottom: 1px dotted;\n}\nb,\nstrong {\n font-weight: bold;\n}\ndfn {\n font-style: italic;\n}\nh1 {\n font-size: 2em;\n margin: 0.67em 0;\n}\nmark {\n background: #ff0;\n color: #000;\n}\nsmall {\n font-size: 80%;\n}\nsub,\nsup {\n font-size: 75%;\n line-height: 0;\n position: relative;\n vertical-align: baseline;\n}\nsup {\n top: -0.5em;\n}\nsub {\n bottom: -0.25em;\n}\nimg {\n border: 0;\n}\nsvg:not(:root) {\n overflow: hidden;\n}\nfigure {\n margin: 1em 40px;\n}\nhr {\n box-sizing: content-box;\n height: 0;\n}\npre {\n overflow: auto;\n}\ncode,\nkbd,\npre,\nsamp {\n font-family: monospace, monospace;\n font-size: 1em;\n}\nbutton,\ninput,\noptgroup,\nselect,\ntextarea {\n color: inherit;\n font: inherit;\n margin: 0;\n}\nbutton {\n overflow: visible;\n}\nbutton,\nselect {\n text-transform: none;\n}\nbutton,\nhtml input[type=\"button\"],\ninput[type=\"reset\"],\ninput[type=\"submit\"] {\n -webkit-appearance: button;\n cursor: pointer;\n}\nbutton[disabled],\nhtml input[disabled] {\n cursor: default;\n}\nbutton::-moz-focus-inner,\ninput::-moz-focus-inner {\n border: 0;\n padding: 0;\n}\ninput {\n line-height: normal;\n}\ninput[type=\"checkbox\"],\ninput[type=\"radio\"] {\n box-sizing: border-box;\n padding: 0;\n}\ninput[type=\"number\"]::-webkit-inner-spin-button,\ninput[type=\"number\"]::-webkit-outer-spin-button {\n height: auto;\n}\ninput[type=\"search\"] {\n -webkit-appearance: textfield;\n box-sizing: content-box;\n}\ninput[type=\"search\"]::-webkit-search-cancel-button,\ninput[type=\"search\"]::-webkit-search-decoration {\n -webkit-appearance: none;\n}\nfieldset {\n border: 1px solid #c0c0c0;\n margin: 0 2px;\n padding: 0.35em 0.625em 0.75em;\n}\nlegend {\n border: 0;\n padding: 0;\n}\ntextarea {\n overflow: auto;\n}\noptgroup {\n font-weight: bold;\n}\ntable {\n border-collapse: collapse;\n border-spacing: 0;\n}\ntd,\nth {\n padding: 0;\n}\n/*! Source: https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css */\n@media print {\n *,\n *:before,\n *:after {\n background: transparent !important;\n color: #000 !important;\n box-shadow: none !important;\n text-shadow: none !important;\n }\n a,\n a:visited {\n text-decoration: underline;\n }\n a[href]:after {\n content: \" (\" attr(href) \")\";\n }\n abbr[title]:after {\n content: \" (\" attr(title) \")\";\n }\n a[href^=\"#\"]:after,\n a[href^=\"javascript:\"]:after {\n content: \"\";\n }\n pre,\n blockquote {\n border: 1px solid #999;\n page-break-inside: avoid;\n }\n thead {\n display: table-header-group;\n }\n tr,\n img {\n page-break-inside: avoid;\n }\n img {\n max-width: 100% !important;\n }\n p,\n h2,\n h3 {\n orphans: 3;\n widows: 3;\n }\n h2,\n h3 {\n page-break-after: avoid;\n }\n .navbar {\n display: none;\n }\n .btn > .caret,\n .dropup > .btn > .caret {\n border-top-color: #000 !important;\n }\n .label {\n border: 1px solid #000;\n }\n .table {\n border-collapse: collapse !important;\n }\n .table td,\n .table th {\n background-color: #fff !important;\n }\n .table-bordered th,\n .table-bordered td {\n border: 1px solid #ddd !important;\n }\n}\n@font-face {\n font-family: 'Glyphicons Halflings';\n src: url('../fonts/glyphicons-halflings-regular.eot');\n src: url('../fonts/glyphicons-halflings-regular.eot?#iefix') format('embedded-opentype'), url('../fonts/glyphicons-halflings-regular.woff2') format('woff2'), url('../fonts/glyphicons-halflings-regular.woff') format('woff'), url('../fonts/glyphicons-halflings-regular.ttf') format('truetype'), url('../fonts/glyphicons-halflings-regular.svg#glyphicons_halflingsregular') format('svg');\n}\n.glyphicon {\n position: relative;\n top: 1px;\n display: inline-block;\n font-family: 'Glyphicons Halflings';\n font-style: normal;\n font-weight: normal;\n line-height: 1;\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n}\n.glyphicon-asterisk:before {\n content: \"\\002a\";\n}\n.glyphicon-plus:before {\n content: \"\\002b\";\n}\n.glyphicon-euro:before,\n.glyphicon-eur:before {\n content: \"\\20ac\";\n}\n.glyphicon-minus:before {\n content: \"\\2212\";\n}\n.glyphicon-cloud:before {\n content: \"\\2601\";\n}\n.glyphicon-envelope:before {\n content: \"\\2709\";\n}\n.glyphicon-pencil:before {\n content: \"\\270f\";\n}\n.glyphicon-glass:before {\n content: \"\\e001\";\n}\n.glyphicon-music:before {\n content: \"\\e002\";\n}\n.glyphicon-search:before {\n content: \"\\e003\";\n}\n.glyphicon-heart:before {\n content: \"\\e005\";\n}\n.glyphicon-star:before {\n content: \"\\e006\";\n}\n.glyphicon-star-empty:before {\n content: \"\\e007\";\n}\n.glyphicon-user:before {\n content: \"\\e008\";\n}\n.glyphicon-film:before {\n content: \"\\e009\";\n}\n.glyphicon-th-large:before {\n content: \"\\e010\";\n}\n.glyphicon-th:before {\n content: \"\\e011\";\n}\n.glyphicon-th-list:before {\n content: \"\\e012\";\n}\n.glyphicon-ok:before {\n content: \"\\e013\";\n}\n.glyphicon-remove:before {\n content: \"\\e014\";\n}\n.glyphicon-zoom-in:before {\n content: \"\\e015\";\n}\n.glyphicon-zoom-out:before {\n content: \"\\e016\";\n}\n.glyphicon-off:before {\n content: \"\\e017\";\n}\n.glyphicon-signal:before {\n content: \"\\e018\";\n}\n.glyphicon-cog:before {\n content: \"\\e019\";\n}\n.glyphicon-trash:before {\n content: \"\\e020\";\n}\n.glyphicon-home:before {\n content: \"\\e021\";\n}\n.glyphicon-file:before {\n content: \"\\e022\";\n}\n.glyphicon-time:before {\n content: \"\\e023\";\n}\n.glyphicon-road:before {\n content: \"\\e024\";\n}\n.glyphicon-download-alt:before {\n content: \"\\e025\";\n}\n.glyphicon-download:before {\n content: \"\\e026\";\n}\n.glyphicon-upload:before {\n content: \"\\e027\";\n}\n.glyphicon-inbox:before {\n content: \"\\e028\";\n}\n.glyphicon-play-circle:before {\n content: \"\\e029\";\n}\n.glyphicon-repeat:before {\n content: \"\\e030\";\n}\n.glyphicon-refresh:before {\n content: \"\\e031\";\n}\n.glyphicon-list-alt:before {\n content: \"\\e032\";\n}\n.glyphicon-lock:before {\n content: \"\\e033\";\n}\n.glyphicon-flag:before {\n content: \"\\e034\";\n}\n.glyphicon-headphones:before {\n content: \"\\e035\";\n}\n.glyphicon-volume-off:before {\n content: \"\\e036\";\n}\n.glyphicon-volume-down:before {\n content: \"\\e037\";\n}\n.glyphicon-volume-up:before {\n content: \"\\e038\";\n}\n.glyphicon-qrcode:before {\n content: \"\\e039\";\n}\n.glyphicon-barcode:before {\n content: \"\\e040\";\n}\n.glyphicon-tag:before {\n content: \"\\e041\";\n}\n.glyphicon-tags:before {\n content: \"\\e042\";\n}\n.glyphicon-book:before {\n content: \"\\e043\";\n}\n.glyphicon-bookmark:before {\n content: \"\\e044\";\n}\n.glyphicon-print:before {\n content: \"\\e045\";\n}\n.glyphicon-camera:before {\n content: \"\\e046\";\n}\n.glyphicon-font:before {\n content: \"\\e047\";\n}\n.glyphicon-bold:before {\n content: \"\\e048\";\n}\n.glyphicon-italic:before {\n content: \"\\e049\";\n}\n.glyphicon-text-height:before {\n content: \"\\e050\";\n}\n.glyphicon-text-width:before {\n content: \"\\e051\";\n}\n.glyphicon-align-left:before {\n content: \"\\e052\";\n}\n.glyphicon-align-center:before {\n content: \"\\e053\";\n}\n.glyphicon-align-right:before {\n content: \"\\e054\";\n}\n.glyphicon-align-justify:before {\n content: \"\\e055\";\n}\n.glyphicon-list:before {\n content: \"\\e056\";\n}\n.glyphicon-indent-left:before {\n content: \"\\e057\";\n}\n.glyphicon-indent-right:before {\n content: \"\\e058\";\n}\n.glyphicon-facetime-video:before {\n content: \"\\e059\";\n}\n.glyphicon-picture:before {\n content: \"\\e060\";\n}\n.glyphicon-map-marker:before {\n content: \"\\e062\";\n}\n.glyphicon-adjust:before {\n content: \"\\e063\";\n}\n.glyphicon-tint:before {\n content: \"\\e064\";\n}\n.glyphicon-edit:before {\n content: \"\\e065\";\n}\n.glyphicon-share:before {\n content: \"\\e066\";\n}\n.glyphicon-check:before {\n content: \"\\e067\";\n}\n.glyphicon-move:before {\n content: \"\\e068\";\n}\n.glyphicon-step-backward:before {\n content: \"\\e069\";\n}\n.glyphicon-fast-backward:before {\n content: \"\\e070\";\n}\n.glyphicon-backward:before {\n content: \"\\e071\";\n}\n.glyphicon-play:before {\n content: \"\\e072\";\n}\n.glyphicon-pause:before {\n content: \"\\e073\";\n}\n.glyphicon-stop:before {\n content: \"\\e074\";\n}\n.glyphicon-forward:before {\n content: \"\\e075\";\n}\n.glyphicon-fast-forward:before {\n content: \"\\e076\";\n}\n.glyphicon-step-forward:before {\n content: \"\\e077\";\n}\n.glyphicon-eject:before {\n content: \"\\e078\";\n}\n.glyphicon-chevron-left:before {\n content: \"\\e079\";\n}\n.glyphicon-chevron-right:before {\n content: \"\\e080\";\n}\n.glyphicon-plus-sign:before {\n content: \"\\e081\";\n}\n.glyphicon-minus-sign:before {\n content: \"\\e082\";\n}\n.glyphicon-remove-sign:before {\n content: \"\\e083\";\n}\n.glyphicon-ok-sign:before {\n content: \"\\e084\";\n}\n.glyphicon-question-sign:before {\n content: \"\\e085\";\n}\n.glyphicon-info-sign:before {\n content: \"\\e086\";\n}\n.glyphicon-screenshot:before {\n content: \"\\e087\";\n}\n.glyphicon-remove-circle:before {\n content: \"\\e088\";\n}\n.glyphicon-ok-circle:before {\n content: \"\\e089\";\n}\n.glyphicon-ban-circle:before {\n content: \"\\e090\";\n}\n.glyphicon-arrow-left:before {\n content: \"\\e091\";\n}\n.glyphicon-arrow-right:before {\n content: \"\\e092\";\n}\n.glyphicon-arrow-up:before {\n content: \"\\e093\";\n}\n.glyphicon-arrow-down:before {\n content: \"\\e094\";\n}\n.glyphicon-share-alt:before {\n content: \"\\e095\";\n}\n.glyphicon-resize-full:before {\n content: \"\\e096\";\n}\n.glyphicon-resize-small:before {\n content: \"\\e097\";\n}\n.glyphicon-exclamation-sign:before {\n content: \"\\e101\";\n}\n.glyphicon-gift:before {\n content: \"\\e102\";\n}\n.glyphicon-leaf:before {\n content: \"\\e103\";\n}\n.glyphicon-fire:before {\n content: \"\\e104\";\n}\n.glyphicon-eye-open:before {\n content: \"\\e105\";\n}\n.glyphicon-eye-close:before {\n content: \"\\e106\";\n}\n.glyphicon-warning-sign:before {\n content: \"\\e107\";\n}\n.glyphicon-plane:before {\n content: \"\\e108\";\n}\n.glyphicon-calendar:before {\n content: \"\\e109\";\n}\n.glyphicon-random:before {\n content: \"\\e110\";\n}\n.glyphicon-comment:before {\n content: \"\\e111\";\n}\n.glyphicon-magnet:before {\n content: \"\\e112\";\n}\n.glyphicon-chevron-up:before {\n content: \"\\e113\";\n}\n.glyphicon-chevron-down:before {\n content: \"\\e114\";\n}\n.glyphicon-retweet:before {\n content: \"\\e115\";\n}\n.glyphicon-shopping-cart:before {\n content: \"\\e116\";\n}\n.glyphicon-folder-close:before {\n content: \"\\e117\";\n}\n.glyphicon-folder-open:before {\n content: \"\\e118\";\n}\n.glyphicon-resize-vertical:before {\n content: \"\\e119\";\n}\n.glyphicon-resize-horizontal:before {\n content: \"\\e120\";\n}\n.glyphicon-hdd:before {\n content: \"\\e121\";\n}\n.glyphicon-bullhorn:before {\n content: \"\\e122\";\n}\n.glyphicon-bell:before {\n content: \"\\e123\";\n}\n.glyphicon-certificate:before {\n content: \"\\e124\";\n}\n.glyphicon-thumbs-up:before {\n content: \"\\e125\";\n}\n.glyphicon-thumbs-down:before {\n content: \"\\e126\";\n}\n.glyphicon-hand-right:before {\n content: \"\\e127\";\n}\n.glyphicon-hand-left:before {\n content: \"\\e128\";\n}\n.glyphicon-hand-up:before {\n content: \"\\e129\";\n}\n.glyphicon-hand-down:before {\n content: \"\\e130\";\n}\n.glyphicon-circle-arrow-right:before {\n content: \"\\e131\";\n}\n.glyphicon-circle-arrow-left:before {\n content: \"\\e132\";\n}\n.glyphicon-circle-arrow-up:before {\n content: \"\\e133\";\n}\n.glyphicon-circle-arrow-down:before {\n content: \"\\e134\";\n}\n.glyphicon-globe:before {\n content: \"\\e135\";\n}\n.glyphicon-wrench:before {\n content: \"\\e136\";\n}\n.glyphicon-tasks:before {\n content: \"\\e137\";\n}\n.glyphicon-filter:before {\n content: \"\\e138\";\n}\n.glyphicon-briefcase:before {\n content: \"\\e139\";\n}\n.glyphicon-fullscreen:before {\n content: \"\\e140\";\n}\n.glyphicon-dashboard:before {\n content: \"\\e141\";\n}\n.glyphicon-paperclip:before {\n content: \"\\e142\";\n}\n.glyphicon-heart-empty:before {\n content: \"\\e143\";\n}\n.glyphicon-link:before {\n content: \"\\e144\";\n}\n.glyphicon-phone:before {\n content: \"\\e145\";\n}\n.glyphicon-pushpin:before {\n content: \"\\e146\";\n}\n.glyphicon-usd:before {\n content: \"\\e148\";\n}\n.glyphicon-gbp:before {\n content: \"\\e149\";\n}\n.glyphicon-sort:before {\n content: \"\\e150\";\n}\n.glyphicon-sort-by-alphabet:before {\n content: \"\\e151\";\n}\n.glyphicon-sort-by-alphabet-alt:before {\n content: \"\\e152\";\n}\n.glyphicon-sort-by-order:before {\n content: \"\\e153\";\n}\n.glyphicon-sort-by-order-alt:before {\n content: \"\\e154\";\n}\n.glyphicon-sort-by-attributes:before {\n content: \"\\e155\";\n}\n.glyphicon-sort-by-attributes-alt:before {\n content: \"\\e156\";\n}\n.glyphicon-unchecked:before {\n content: \"\\e157\";\n}\n.glyphicon-expand:before {\n content: \"\\e158\";\n}\n.glyphicon-collapse-down:before {\n content: \"\\e159\";\n}\n.glyphicon-collapse-up:before {\n content: \"\\e160\";\n}\n.glyphicon-log-in:before {\n content: \"\\e161\";\n}\n.glyphicon-flash:before {\n content: \"\\e162\";\n}\n.glyphicon-log-out:before {\n content: \"\\e163\";\n}\n.glyphicon-new-window:before {\n content: \"\\e164\";\n}\n.glyphicon-record:before {\n content: \"\\e165\";\n}\n.glyphicon-save:before {\n content: \"\\e166\";\n}\n.glyphicon-open:before {\n content: \"\\e167\";\n}\n.glyphicon-saved:before {\n content: \"\\e168\";\n}\n.glyphicon-import:before {\n content: \"\\e169\";\n}\n.glyphicon-export:before {\n content: \"\\e170\";\n}\n.glyphicon-send:before {\n content: \"\\e171\";\n}\n.glyphicon-floppy-disk:before {\n content: \"\\e172\";\n}\n.glyphicon-floppy-saved:before {\n content: \"\\e173\";\n}\n.glyphicon-floppy-remove:before {\n content: \"\\e174\";\n}\n.glyphicon-floppy-save:before {\n content: \"\\e175\";\n}\n.glyphicon-floppy-open:before {\n content: \"\\e176\";\n}\n.glyphicon-credit-card:before {\n content: \"\\e177\";\n}\n.glyphicon-transfer:before {\n content: \"\\e178\";\n}\n.glyphicon-cutlery:before {\n content: \"\\e179\";\n}\n.glyphicon-header:before {\n content: \"\\e180\";\n}\n.glyphicon-compressed:before {\n content: \"\\e181\";\n}\n.glyphicon-earphone:before {\n content: \"\\e182\";\n}\n.glyphicon-phone-alt:before {\n content: \"\\e183\";\n}\n.glyphicon-tower:before {\n content: \"\\e184\";\n}\n.glyphicon-stats:before {\n content: \"\\e185\";\n}\n.glyphicon-sd-video:before {\n content: \"\\e186\";\n}\n.glyphicon-hd-video:before {\n content: \"\\e187\";\n}\n.glyphicon-subtitles:before {\n content: \"\\e188\";\n}\n.glyphicon-sound-stereo:before {\n content: \"\\e189\";\n}\n.glyphicon-sound-dolby:before {\n content: \"\\e190\";\n}\n.glyphicon-sound-5-1:before {\n content: \"\\e191\";\n}\n.glyphicon-sound-6-1:before {\n content: \"\\e192\";\n}\n.glyphicon-sound-7-1:before {\n content: \"\\e193\";\n}\n.glyphicon-copyright-mark:before {\n content: \"\\e194\";\n}\n.glyphicon-registration-mark:before {\n content: \"\\e195\";\n}\n.glyphicon-cloud-download:before {\n content: \"\\e197\";\n}\n.glyphicon-cloud-upload:before {\n content: \"\\e198\";\n}\n.glyphicon-tree-conifer:before {\n content: \"\\e199\";\n}\n.glyphicon-tree-deciduous:before {\n content: \"\\e200\";\n}\n.glyphicon-cd:before {\n content: \"\\e201\";\n}\n.glyphicon-save-file:before {\n content: \"\\e202\";\n}\n.glyphicon-open-file:before {\n content: \"\\e203\";\n}\n.glyphicon-level-up:before {\n content: \"\\e204\";\n}\n.glyphicon-copy:before {\n content: \"\\e205\";\n}\n.glyphicon-paste:before {\n content: \"\\e206\";\n}\n.glyphicon-alert:before {\n content: \"\\e209\";\n}\n.glyphicon-equalizer:before {\n content: \"\\e210\";\n}\n.glyphicon-king:before {\n content: \"\\e211\";\n}\n.glyphicon-queen:before {\n content: \"\\e212\";\n}\n.glyphicon-pawn:before {\n content: \"\\e213\";\n}\n.glyphicon-bishop:before {\n content: \"\\e214\";\n}\n.glyphicon-knight:before {\n content: \"\\e215\";\n}\n.glyphicon-baby-formula:before {\n content: \"\\e216\";\n}\n.glyphicon-tent:before {\n content: \"\\26fa\";\n}\n.glyphicon-blackboard:before {\n content: \"\\e218\";\n}\n.glyphicon-bed:before {\n content: \"\\e219\";\n}\n.glyphicon-apple:before {\n content: \"\\f8ff\";\n}\n.glyphicon-erase:before {\n content: \"\\e221\";\n}\n.glyphicon-hourglass:before {\n content: \"\\231b\";\n}\n.glyphicon-lamp:before {\n content: \"\\e223\";\n}\n.glyphicon-duplicate:before {\n content: \"\\e224\";\n}\n.glyphicon-piggy-bank:before {\n content: \"\\e225\";\n}\n.glyphicon-scissors:before {\n content: \"\\e226\";\n}\n.glyphicon-bitcoin:before {\n content: \"\\e227\";\n}\n.glyphicon-btc:before {\n content: \"\\e227\";\n}\n.glyphicon-xbt:before {\n content: \"\\e227\";\n}\n.glyphicon-yen:before {\n content: \"\\00a5\";\n}\n.glyphicon-jpy:before {\n content: \"\\00a5\";\n}\n.glyphicon-ruble:before {\n content: \"\\20bd\";\n}\n.glyphicon-rub:before {\n content: \"\\20bd\";\n}\n.glyphicon-scale:before {\n content: \"\\e230\";\n}\n.glyphicon-ice-lolly:before {\n content: \"\\e231\";\n}\n.glyphicon-ice-lolly-tasted:before {\n content: \"\\e232\";\n}\n.glyphicon-education:before {\n content: \"\\e233\";\n}\n.glyphicon-option-horizontal:before {\n content: \"\\e234\";\n}\n.glyphicon-option-vertical:before {\n content: \"\\e235\";\n}\n.glyphicon-menu-hamburger:before {\n content: \"\\e236\";\n}\n.glyphicon-modal-window:before {\n content: \"\\e237\";\n}\n.glyphicon-oil:before {\n content: \"\\e238\";\n}\n.glyphicon-grain:before {\n content: \"\\e239\";\n}\n.glyphicon-sunglasses:before {\n content: \"\\e240\";\n}\n.glyphicon-text-size:before {\n content: \"\\e241\";\n}\n.glyphicon-text-color:before {\n content: \"\\e242\";\n}\n.glyphicon-text-background:before {\n content: \"\\e243\";\n}\n.glyphicon-object-align-top:before {\n content: \"\\e244\";\n}\n.glyphicon-object-align-bottom:before {\n content: \"\\e245\";\n}\n.glyphicon-object-align-horizontal:before {\n content: \"\\e246\";\n}\n.glyphicon-object-align-left:before {\n content: \"\\e247\";\n}\n.glyphicon-object-align-vertical:before {\n content: \"\\e248\";\n}\n.glyphicon-object-align-right:before {\n content: \"\\e249\";\n}\n.glyphicon-triangle-right:before {\n content: \"\\e250\";\n}\n.glyphicon-triangle-left:before {\n content: \"\\e251\";\n}\n.glyphicon-triangle-bottom:before {\n content: \"\\e252\";\n}\n.glyphicon-triangle-top:before {\n content: \"\\e253\";\n}\n.glyphicon-console:before {\n content: \"\\e254\";\n}\n.glyphicon-superscript:before {\n content: \"\\e255\";\n}\n.glyphicon-subscript:before {\n content: \"\\e256\";\n}\n.glyphicon-menu-left:before {\n content: \"\\e257\";\n}\n.glyphicon-menu-right:before {\n content: \"\\e258\";\n}\n.glyphicon-menu-down:before {\n content: \"\\e259\";\n}\n.glyphicon-menu-up:before {\n content: \"\\e260\";\n}\n* {\n -webkit-box-sizing: border-box;\n -moz-box-sizing: border-box;\n box-sizing: border-box;\n}\n*:before,\n*:after {\n -webkit-box-sizing: border-box;\n -moz-box-sizing: border-box;\n box-sizing: border-box;\n}\nhtml {\n font-size: 10px;\n -webkit-tap-highlight-color: rgba(0, 0, 0, 0);\n}\nbody {\n font-family: \"Helvetica Neue\", Helvetica, Arial, sans-serif;\n font-size: 14px;\n line-height: 1.42857143;\n color: #333333;\n background-color: #fff;\n}\ninput,\nbutton,\nselect,\ntextarea {\n font-family: inherit;\n font-size: inherit;\n line-height: inherit;\n}\na {\n color: #337ab7;\n text-decoration: none;\n}\na:hover,\na:focus {\n color: #23527c;\n text-decoration: underline;\n}\na:focus {\n outline: 5px auto -webkit-focus-ring-color;\n outline-offset: -2px;\n}\nfigure {\n margin: 0;\n}\nimg {\n vertical-align: middle;\n}\n.img-responsive,\n.thumbnail > img,\n.thumbnail a > img,\n.carousel-inner > .item > img,\n.carousel-inner > .item > a > img {\n display: block;\n max-width: 100%;\n height: auto;\n}\n.img-rounded {\n border-radius: 6px;\n}\n.img-thumbnail {\n padding: 4px;\n line-height: 1.42857143;\n background-color: #fff;\n border: 1px solid #ddd;\n border-radius: 4px;\n -webkit-transition: all 0.2s ease-in-out;\n -o-transition: all 0.2s ease-in-out;\n transition: all 0.2s ease-in-out;\n display: inline-block;\n max-width: 100%;\n height: auto;\n}\n.img-circle {\n border-radius: 50%;\n}\nhr {\n margin-top: 20px;\n margin-bottom: 20px;\n border: 0;\n border-top: 1px solid #eeeeee;\n}\n.sr-only {\n position: absolute;\n width: 1px;\n height: 1px;\n margin: -1px;\n padding: 0;\n overflow: hidden;\n clip: rect(0, 0, 0, 0);\n border: 0;\n}\n.sr-only-focusable:active,\n.sr-only-focusable:focus {\n position: static;\n width: auto;\n height: auto;\n margin: 0;\n overflow: visible;\n clip: auto;\n}\n[role=\"button\"] {\n cursor: pointer;\n}\nh1,\nh2,\nh3,\nh4,\nh5,\nh6,\n.h1,\n.h2,\n.h3,\n.h4,\n.h5,\n.h6 {\n font-family: inherit;\n font-weight: 500;\n line-height: 1.1;\n color: inherit;\n}\nh1 small,\nh2 small,\nh3 small,\nh4 small,\nh5 small,\nh6 small,\n.h1 small,\n.h2 small,\n.h3 small,\n.h4 small,\n.h5 small,\n.h6 small,\nh1 .small,\nh2 .small,\nh3 .small,\nh4 .small,\nh5 .small,\nh6 .small,\n.h1 .small,\n.h2 .small,\n.h3 .small,\n.h4 .small,\n.h5 .small,\n.h6 .small {\n font-weight: normal;\n line-height: 1;\n color: #777777;\n}\nh1,\n.h1,\nh2,\n.h2,\nh3,\n.h3 {\n margin-top: 20px;\n margin-bottom: 10px;\n}\nh1 small,\n.h1 small,\nh2 small,\n.h2 small,\nh3 small,\n.h3 small,\nh1 .small,\n.h1 .small,\nh2 .small,\n.h2 .small,\nh3 .small,\n.h3 .small {\n font-size: 65%;\n}\nh4,\n.h4,\nh5,\n.h5,\nh6,\n.h6 {\n margin-top: 10px;\n margin-bottom: 10px;\n}\nh4 small,\n.h4 small,\nh5 small,\n.h5 small,\nh6 small,\n.h6 small,\nh4 .small,\n.h4 .small,\nh5 .small,\n.h5 .small,\nh6 .small,\n.h6 .small {\n font-size: 75%;\n}\nh1,\n.h1 {\n font-size: 36px;\n}\nh2,\n.h2 {\n font-size: 30px;\n}\nh3,\n.h3 {\n font-size: 24px;\n}\nh4,\n.h4 {\n font-size: 18px;\n}\nh5,\n.h5 {\n font-size: 14px;\n}\nh6,\n.h6 {\n font-size: 12px;\n}\np {\n margin: 0 0 10px;\n}\n.lead {\n margin-bottom: 20px;\n font-size: 16px;\n font-weight: 300;\n line-height: 1.4;\n}\n@media (min-width: 768px) {\n .lead {\n font-size: 21px;\n }\n}\nsmall,\n.small {\n font-size: 85%;\n}\nmark,\n.mark {\n background-color: #fcf8e3;\n padding: .2em;\n}\n.text-left {\n text-align: left;\n}\n.text-right {\n text-align: right;\n}\n.text-center {\n text-align: center;\n}\n.text-justify {\n text-align: justify;\n}\n.text-nowrap {\n white-space: nowrap;\n}\n.text-lowercase {\n text-transform: lowercase;\n}\n.text-uppercase {\n text-transform: uppercase;\n}\n.text-capitalize {\n text-transform: capitalize;\n}\n.text-muted {\n color: #777777;\n}\n.text-primary {\n color: #337ab7;\n}\na.text-primary:hover,\na.text-primary:focus {\n color: #286090;\n}\n.text-success {\n color: #3c763d;\n}\na.text-success:hover,\na.text-success:focus {\n color: #2b542c;\n}\n.text-info {\n color: #31708f;\n}\na.text-info:hover,\na.text-info:focus {\n color: #245269;\n}\n.text-warning {\n color: #8a6d3b;\n}\na.text-warning:hover,\na.text-warning:focus {\n color: #66512c;\n}\n.text-danger {\n color: #a94442;\n}\na.text-danger:hover,\na.text-danger:focus {\n color: #843534;\n}\n.bg-primary {\n color: #fff;\n background-color: #337ab7;\n}\na.bg-primary:hover,\na.bg-primary:focus {\n background-color: #286090;\n}\n.bg-success {\n background-color: #dff0d8;\n}\na.bg-success:hover,\na.bg-success:focus {\n background-color: #c1e2b3;\n}\n.bg-info {\n background-color: #d9edf7;\n}\na.bg-info:hover,\na.bg-info:focus {\n background-color: #afd9ee;\n}\n.bg-warning {\n background-color: #fcf8e3;\n}\na.bg-warning:hover,\na.bg-warning:focus {\n background-color: #f7ecb5;\n}\n.bg-danger {\n background-color: #f2dede;\n}\na.bg-danger:hover,\na.bg-danger:focus {\n background-color: #e4b9b9;\n}\n.page-header {\n padding-bottom: 9px;\n margin: 40px 0 20px;\n border-bottom: 1px solid #eeeeee;\n}\nul,\nol {\n margin-top: 0;\n margin-bottom: 10px;\n}\nul ul,\nol ul,\nul ol,\nol ol {\n margin-bottom: 0;\n}\n.list-unstyled {\n padding-left: 0;\n list-style: none;\n}\n.list-inline {\n padding-left: 0;\n list-style: none;\n margin-left: -5px;\n}\n.list-inline > li {\n display: inline-block;\n padding-left: 5px;\n padding-right: 5px;\n}\ndl {\n margin-top: 0;\n margin-bottom: 20px;\n}\ndt,\ndd {\n line-height: 1.42857143;\n}\ndt {\n font-weight: bold;\n}\ndd {\n margin-left: 0;\n}\n@media (min-width: 768px) {\n .dl-horizontal dt {\n float: left;\n width: 160px;\n clear: left;\n text-align: right;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n }\n .dl-horizontal dd {\n margin-left: 180px;\n }\n}\nabbr[title],\nabbr[data-original-title] {\n cursor: help;\n border-bottom: 1px dotted #777777;\n}\n.initialism {\n font-size: 90%;\n text-transform: uppercase;\n}\nblockquote {\n padding: 10px 20px;\n margin: 0 0 20px;\n font-size: 17.5px;\n border-left: 5px solid #eeeeee;\n}\nblockquote p:last-child,\nblockquote ul:last-child,\nblockquote ol:last-child {\n margin-bottom: 0;\n}\nblockquote footer,\nblockquote small,\nblockquote .small {\n display: block;\n font-size: 80%;\n line-height: 1.42857143;\n color: #777777;\n}\nblockquote footer:before,\nblockquote small:before,\nblockquote .small:before {\n content: '\\2014 \\00A0';\n}\n.blockquote-reverse,\nblockquote.pull-right {\n padding-right: 15px;\n padding-left: 0;\n border-right: 5px solid #eeeeee;\n border-left: 0;\n text-align: right;\n}\n.blockquote-reverse footer:before,\nblockquote.pull-right footer:before,\n.blockquote-reverse small:before,\nblockquote.pull-right small:before,\n.blockquote-reverse .small:before,\nblockquote.pull-right .small:before {\n content: '';\n}\n.blockquote-reverse footer:after,\nblockquote.pull-right footer:after,\n.blockquote-reverse small:after,\nblockquote.pull-right small:after,\n.blockquote-reverse .small:after,\nblockquote.pull-right .small:after {\n content: '\\00A0 \\2014';\n}\naddress {\n margin-bottom: 20px;\n font-style: normal;\n line-height: 1.42857143;\n}\ncode,\nkbd,\npre,\nsamp {\n font-family: Menlo, Monaco, Consolas, \"Courier New\", monospace;\n}\ncode {\n padding: 2px 4px;\n font-size: 90%;\n color: #c7254e;\n background-color: #f9f2f4;\n border-radius: 4px;\n}\nkbd {\n padding: 2px 4px;\n font-size: 90%;\n color: #fff;\n background-color: #333;\n border-radius: 3px;\n box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.25);\n}\nkbd kbd {\n padding: 0;\n font-size: 100%;\n font-weight: bold;\n box-shadow: none;\n}\npre {\n display: block;\n padding: 9.5px;\n margin: 0 0 10px;\n font-size: 13px;\n line-height: 1.42857143;\n word-break: break-all;\n word-wrap: break-word;\n color: #333333;\n background-color: #f5f5f5;\n border: 1px solid #ccc;\n border-radius: 4px;\n}\npre code {\n padding: 0;\n font-size: inherit;\n color: inherit;\n white-space: pre-wrap;\n background-color: transparent;\n border-radius: 0;\n}\n.pre-scrollable {\n max-height: 340px;\n overflow-y: scroll;\n}\n.container {\n margin-right: auto;\n margin-left: auto;\n padding-left: 15px;\n padding-right: 15px;\n}\n@media (min-width: 768px) {\n .container {\n width: 750px;\n }\n}\n@media (min-width: 992px) {\n .container {\n width: 970px;\n }\n}\n@media (min-width: 1200px) {\n .container {\n width: 1170px;\n }\n}\n.container-fluid {\n margin-right: auto;\n margin-left: auto;\n padding-left: 15px;\n padding-right: 15px;\n}\n.row {\n margin-left: -15px;\n margin-right: -15px;\n}\n.col-xs-1, .col-sm-1, .col-md-1, .col-lg-1, .col-xs-2, .col-sm-2, .col-md-2, .col-lg-2, .col-xs-3, .col-sm-3, .col-md-3, .col-lg-3, .col-xs-4, .col-sm-4, .col-md-4, .col-lg-4, .col-xs-5, .col-sm-5, .col-md-5, .col-lg-5, .col-xs-6, .col-sm-6, .col-md-6, .col-lg-6, .col-xs-7, .col-sm-7, .col-md-7, .col-lg-7, .col-xs-8, .col-sm-8, .col-md-8, .col-lg-8, .col-xs-9, .col-sm-9, .col-md-9, .col-lg-9, .col-xs-10, .col-sm-10, .col-md-10, .col-lg-10, .col-xs-11, .col-sm-11, .col-md-11, .col-lg-11, .col-xs-12, .col-sm-12, .col-md-12, .col-lg-12 {\n position: relative;\n min-height: 1px;\n padding-left: 15px;\n padding-right: 15px;\n}\n.col-xs-1, .col-xs-2, .col-xs-3, .col-xs-4, .col-xs-5, .col-xs-6, .col-xs-7, .col-xs-8, .col-xs-9, .col-xs-10, .col-xs-11, .col-xs-12 {\n float: left;\n}\n.col-xs-12 {\n width: 100%;\n}\n.col-xs-11 {\n width: 91.66666667%;\n}\n.col-xs-10 {\n width: 83.33333333%;\n}\n.col-xs-9 {\n width: 75%;\n}\n.col-xs-8 {\n width: 66.66666667%;\n}\n.col-xs-7 {\n width: 58.33333333%;\n}\n.col-xs-6 {\n width: 50%;\n}\n.col-xs-5 {\n width: 41.66666667%;\n}\n.col-xs-4 {\n width: 33.33333333%;\n}\n.col-xs-3 {\n width: 25%;\n}\n.col-xs-2 {\n width: 16.66666667%;\n}\n.col-xs-1 {\n width: 8.33333333%;\n}\n.col-xs-pull-12 {\n right: 100%;\n}\n.col-xs-pull-11 {\n right: 91.66666667%;\n}\n.col-xs-pull-10 {\n right: 83.33333333%;\n}\n.col-xs-pull-9 {\n right: 75%;\n}\n.col-xs-pull-8 {\n right: 66.66666667%;\n}\n.col-xs-pull-7 {\n right: 58.33333333%;\n}\n.col-xs-pull-6 {\n right: 50%;\n}\n.col-xs-pull-5 {\n right: 41.66666667%;\n}\n.col-xs-pull-4 {\n right: 33.33333333%;\n}\n.col-xs-pull-3 {\n right: 25%;\n}\n.col-xs-pull-2 {\n right: 16.66666667%;\n}\n.col-xs-pull-1 {\n right: 8.33333333%;\n}\n.col-xs-pull-0 {\n right: auto;\n}\n.col-xs-push-12 {\n left: 100%;\n}\n.col-xs-push-11 {\n left: 91.66666667%;\n}\n.col-xs-push-10 {\n left: 83.33333333%;\n}\n.col-xs-push-9 {\n left: 75%;\n}\n.col-xs-push-8 {\n left: 66.66666667%;\n}\n.col-xs-push-7 {\n left: 58.33333333%;\n}\n.col-xs-push-6 {\n left: 50%;\n}\n.col-xs-push-5 {\n left: 41.66666667%;\n}\n.col-xs-push-4 {\n left: 33.33333333%;\n}\n.col-xs-push-3 {\n left: 25%;\n}\n.col-xs-push-2 {\n left: 16.66666667%;\n}\n.col-xs-push-1 {\n left: 8.33333333%;\n}\n.col-xs-push-0 {\n left: auto;\n}\n.col-xs-offset-12 {\n margin-left: 100%;\n}\n.col-xs-offset-11 {\n margin-left: 91.66666667%;\n}\n.col-xs-offset-10 {\n margin-left: 83.33333333%;\n}\n.col-xs-offset-9 {\n margin-left: 75%;\n}\n.col-xs-offset-8 {\n margin-left: 66.66666667%;\n}\n.col-xs-offset-7 {\n margin-left: 58.33333333%;\n}\n.col-xs-offset-6 {\n margin-left: 50%;\n}\n.col-xs-offset-5 {\n margin-left: 41.66666667%;\n}\n.col-xs-offset-4 {\n margin-left: 33.33333333%;\n}\n.col-xs-offset-3 {\n margin-left: 25%;\n}\n.col-xs-offset-2 {\n margin-left: 16.66666667%;\n}\n.col-xs-offset-1 {\n margin-left: 8.33333333%;\n}\n.col-xs-offset-0 {\n margin-left: 0%;\n}\n@media (min-width: 768px) {\n .col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12 {\n float: left;\n }\n .col-sm-12 {\n width: 100%;\n }\n .col-sm-11 {\n width: 91.66666667%;\n }\n .col-sm-10 {\n width: 83.33333333%;\n }\n .col-sm-9 {\n width: 75%;\n }\n .col-sm-8 {\n width: 66.66666667%;\n }\n .col-sm-7 {\n width: 58.33333333%;\n }\n .col-sm-6 {\n width: 50%;\n }\n .col-sm-5 {\n width: 41.66666667%;\n }\n .col-sm-4 {\n width: 33.33333333%;\n }\n .col-sm-3 {\n width: 25%;\n }\n .col-sm-2 {\n width: 16.66666667%;\n }\n .col-sm-1 {\n width: 8.33333333%;\n }\n .col-sm-pull-12 {\n right: 100%;\n }\n .col-sm-pull-11 {\n right: 91.66666667%;\n }\n .col-sm-pull-10 {\n right: 83.33333333%;\n }\n .col-sm-pull-9 {\n right: 75%;\n }\n .col-sm-pull-8 {\n right: 66.66666667%;\n }\n .col-sm-pull-7 {\n right: 58.33333333%;\n }\n .col-sm-pull-6 {\n right: 50%;\n }\n .col-sm-pull-5 {\n right: 41.66666667%;\n }\n .col-sm-pull-4 {\n right: 33.33333333%;\n }\n .col-sm-pull-3 {\n right: 25%;\n }\n .col-sm-pull-2 {\n right: 16.66666667%;\n }\n .col-sm-pull-1 {\n right: 8.33333333%;\n }\n .col-sm-pull-0 {\n right: auto;\n }\n .col-sm-push-12 {\n left: 100%;\n }\n .col-sm-push-11 {\n left: 91.66666667%;\n }\n .col-sm-push-10 {\n left: 83.33333333%;\n }\n .col-sm-push-9 {\n left: 75%;\n }\n .col-sm-push-8 {\n left: 66.66666667%;\n }\n .col-sm-push-7 {\n left: 58.33333333%;\n }\n .col-sm-push-6 {\n left: 50%;\n }\n .col-sm-push-5 {\n left: 41.66666667%;\n }\n .col-sm-push-4 {\n left: 33.33333333%;\n }\n .col-sm-push-3 {\n left: 25%;\n }\n .col-sm-push-2 {\n left: 16.66666667%;\n }\n .col-sm-push-1 {\n left: 8.33333333%;\n }\n .col-sm-push-0 {\n left: auto;\n }\n .col-sm-offset-12 {\n margin-left: 100%;\n }\n .col-sm-offset-11 {\n margin-left: 91.66666667%;\n }\n .col-sm-offset-10 {\n margin-left: 83.33333333%;\n }\n .col-sm-offset-9 {\n margin-left: 75%;\n }\n .col-sm-offset-8 {\n margin-left: 66.66666667%;\n }\n .col-sm-offset-7 {\n margin-left: 58.33333333%;\n }\n .col-sm-offset-6 {\n margin-left: 50%;\n }\n .col-sm-offset-5 {\n margin-left: 41.66666667%;\n }\n .col-sm-offset-4 {\n margin-left: 33.33333333%;\n }\n .col-sm-offset-3 {\n margin-left: 25%;\n }\n .col-sm-offset-2 {\n margin-left: 16.66666667%;\n }\n .col-sm-offset-1 {\n margin-left: 8.33333333%;\n }\n .col-sm-offset-0 {\n margin-left: 0%;\n }\n}\n@media (min-width: 992px) {\n .col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12 {\n float: left;\n }\n .col-md-12 {\n width: 100%;\n }\n .col-md-11 {\n width: 91.66666667%;\n }\n .col-md-10 {\n width: 83.33333333%;\n }\n .col-md-9 {\n width: 75%;\n }\n .col-md-8 {\n width: 66.66666667%;\n }\n .col-md-7 {\n width: 58.33333333%;\n }\n .col-md-6 {\n width: 50%;\n }\n .col-md-5 {\n width: 41.66666667%;\n }\n .col-md-4 {\n width: 33.33333333%;\n }\n .col-md-3 {\n width: 25%;\n }\n .col-md-2 {\n width: 16.66666667%;\n }\n .col-md-1 {\n width: 8.33333333%;\n }\n .col-md-pull-12 {\n right: 100%;\n }\n .col-md-pull-11 {\n right: 91.66666667%;\n }\n .col-md-pull-10 {\n right: 83.33333333%;\n }\n .col-md-pull-9 {\n right: 75%;\n }\n .col-md-pull-8 {\n right: 66.66666667%;\n }\n .col-md-pull-7 {\n right: 58.33333333%;\n }\n .col-md-pull-6 {\n right: 50%;\n }\n .col-md-pull-5 {\n right: 41.66666667%;\n }\n .col-md-pull-4 {\n right: 33.33333333%;\n }\n .col-md-pull-3 {\n right: 25%;\n }\n .col-md-pull-2 {\n right: 16.66666667%;\n }\n .col-md-pull-1 {\n right: 8.33333333%;\n }\n .col-md-pull-0 {\n right: auto;\n }\n .col-md-push-12 {\n left: 100%;\n }\n .col-md-push-11 {\n left: 91.66666667%;\n }\n .col-md-push-10 {\n left: 83.33333333%;\n }\n .col-md-push-9 {\n left: 75%;\n }\n .col-md-push-8 {\n left: 66.66666667%;\n }\n .col-md-push-7 {\n left: 58.33333333%;\n }\n .col-md-push-6 {\n left: 50%;\n }\n .col-md-push-5 {\n left: 41.66666667%;\n }\n .col-md-push-4 {\n left: 33.33333333%;\n }\n .col-md-push-3 {\n left: 25%;\n }\n .col-md-push-2 {\n left: 16.66666667%;\n }\n .col-md-push-1 {\n left: 8.33333333%;\n }\n .col-md-push-0 {\n left: auto;\n }\n .col-md-offset-12 {\n margin-left: 100%;\n }\n .col-md-offset-11 {\n margin-left: 91.66666667%;\n }\n .col-md-offset-10 {\n margin-left: 83.33333333%;\n }\n .col-md-offset-9 {\n margin-left: 75%;\n }\n .col-md-offset-8 {\n margin-left: 66.66666667%;\n }\n .col-md-offset-7 {\n margin-left: 58.33333333%;\n }\n .col-md-offset-6 {\n margin-left: 50%;\n }\n .col-md-offset-5 {\n margin-left: 41.66666667%;\n }\n .col-md-offset-4 {\n margin-left: 33.33333333%;\n }\n .col-md-offset-3 {\n margin-left: 25%;\n }\n .col-md-offset-2 {\n margin-left: 16.66666667%;\n }\n .col-md-offset-1 {\n margin-left: 8.33333333%;\n }\n .col-md-offset-0 {\n margin-left: 0%;\n }\n}\n@media (min-width: 1200px) {\n .col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12 {\n float: left;\n }\n .col-lg-12 {\n width: 100%;\n }\n .col-lg-11 {\n width: 91.66666667%;\n }\n .col-lg-10 {\n width: 83.33333333%;\n }\n .col-lg-9 {\n width: 75%;\n }\n .col-lg-8 {\n width: 66.66666667%;\n }\n .col-lg-7 {\n width: 58.33333333%;\n }\n .col-lg-6 {\n width: 50%;\n }\n .col-lg-5 {\n width: 41.66666667%;\n }\n .col-lg-4 {\n width: 33.33333333%;\n }\n .col-lg-3 {\n width: 25%;\n }\n .col-lg-2 {\n width: 16.66666667%;\n }\n .col-lg-1 {\n width: 8.33333333%;\n }\n .col-lg-pull-12 {\n right: 100%;\n }\n .col-lg-pull-11 {\n right: 91.66666667%;\n }\n .col-lg-pull-10 {\n right: 83.33333333%;\n }\n .col-lg-pull-9 {\n right: 75%;\n }\n .col-lg-pull-8 {\n right: 66.66666667%;\n }\n .col-lg-pull-7 {\n right: 58.33333333%;\n }\n .col-lg-pull-6 {\n right: 50%;\n }\n .col-lg-pull-5 {\n right: 41.66666667%;\n }\n .col-lg-pull-4 {\n right: 33.33333333%;\n }\n .col-lg-pull-3 {\n right: 25%;\n }\n .col-lg-pull-2 {\n right: 16.66666667%;\n }\n .col-lg-pull-1 {\n right: 8.33333333%;\n }\n .col-lg-pull-0 {\n right: auto;\n }\n .col-lg-push-12 {\n left: 100%;\n }\n .col-lg-push-11 {\n left: 91.66666667%;\n }\n .col-lg-push-10 {\n left: 83.33333333%;\n }\n .col-lg-push-9 {\n left: 75%;\n }\n .col-lg-push-8 {\n left: 66.66666667%;\n }\n .col-lg-push-7 {\n left: 58.33333333%;\n }\n .col-lg-push-6 {\n left: 50%;\n }\n .col-lg-push-5 {\n left: 41.66666667%;\n }\n .col-lg-push-4 {\n left: 33.33333333%;\n }\n .col-lg-push-3 {\n left: 25%;\n }\n .col-lg-push-2 {\n left: 16.66666667%;\n }\n .col-lg-push-1 {\n left: 8.33333333%;\n }\n .col-lg-push-0 {\n left: auto;\n }\n .col-lg-offset-12 {\n margin-left: 100%;\n }\n .col-lg-offset-11 {\n margin-left: 91.66666667%;\n }\n .col-lg-offset-10 {\n margin-left: 83.33333333%;\n }\n .col-lg-offset-9 {\n margin-left: 75%;\n }\n .col-lg-offset-8 {\n margin-left: 66.66666667%;\n }\n .col-lg-offset-7 {\n margin-left: 58.33333333%;\n }\n .col-lg-offset-6 {\n margin-left: 50%;\n }\n .col-lg-offset-5 {\n margin-left: 41.66666667%;\n }\n .col-lg-offset-4 {\n margin-left: 33.33333333%;\n }\n .col-lg-offset-3 {\n margin-left: 25%;\n }\n .col-lg-offset-2 {\n margin-left: 16.66666667%;\n }\n .col-lg-offset-1 {\n margin-left: 8.33333333%;\n }\n .col-lg-offset-0 {\n margin-left: 0%;\n }\n}\ntable {\n background-color: transparent;\n}\ncaption {\n padding-top: 8px;\n padding-bottom: 8px;\n color: #777777;\n text-align: left;\n}\nth {\n text-align: left;\n}\n.table {\n width: 100%;\n max-width: 100%;\n margin-bottom: 20px;\n}\n.table > thead > tr > th,\n.table > tbody > tr > th,\n.table > tfoot > tr > th,\n.table > thead > tr > td,\n.table > tbody > tr > td,\n.table > tfoot > tr > td {\n padding: 8px;\n line-height: 1.42857143;\n vertical-align: top;\n border-top: 1px solid #ddd;\n}\n.table > thead > tr > th {\n vertical-align: bottom;\n border-bottom: 2px solid #ddd;\n}\n.table > caption + thead > tr:first-child > th,\n.table > colgroup + thead > tr:first-child > th,\n.table > thead:first-child > tr:first-child > th,\n.table > caption + thead > tr:first-child > td,\n.table > colgroup + thead > tr:first-child > td,\n.table > thead:first-child > tr:first-child > td {\n border-top: 0;\n}\n.table > tbody + tbody {\n border-top: 2px solid #ddd;\n}\n.table .table {\n background-color: #fff;\n}\n.table-condensed > thead > tr > th,\n.table-condensed > tbody > tr > th,\n.table-condensed > tfoot > tr > th,\n.table-condensed > thead > tr > td,\n.table-condensed > tbody > tr > td,\n.table-condensed > tfoot > tr > td {\n padding: 5px;\n}\n.table-bordered {\n border: 1px solid #ddd;\n}\n.table-bordered > thead > tr > th,\n.table-bordered > tbody > tr > th,\n.table-bordered > tfoot > tr > th,\n.table-bordered > thead > tr > td,\n.table-bordered > tbody > tr > td,\n.table-bordered > tfoot > tr > td {\n border: 1px solid #ddd;\n}\n.table-bordered > thead > tr > th,\n.table-bordered > thead > tr > td {\n border-bottom-width: 2px;\n}\n.table-striped > tbody > tr:nth-of-type(odd) {\n background-color: #f9f9f9;\n}\n.table-hover > tbody > tr:hover {\n background-color: #f5f5f5;\n}\ntable col[class*=\"col-\"] {\n position: static;\n float: none;\n display: table-column;\n}\ntable td[class*=\"col-\"],\ntable th[class*=\"col-\"] {\n position: static;\n float: none;\n display: table-cell;\n}\n.table > thead > tr > td.active,\n.table > tbody > tr > td.active,\n.table > tfoot > tr > td.active,\n.table > thead > tr > th.active,\n.table > tbody > tr > th.active,\n.table > tfoot > tr > th.active,\n.table > thead > tr.active > td,\n.table > tbody > tr.active > td,\n.table > tfoot > tr.active > td,\n.table > thead > tr.active > th,\n.table > tbody > tr.active > th,\n.table > tfoot > tr.active > th {\n background-color: #f5f5f5;\n}\n.table-hover > tbody > tr > td.active:hover,\n.table-hover > tbody > tr > th.active:hover,\n.table-hover > tbody > tr.active:hover > td,\n.table-hover > tbody > tr:hover > .active,\n.table-hover > tbody > tr.active:hover > th {\n background-color: #e8e8e8;\n}\n.table > thead > tr > td.success,\n.table > tbody > tr > td.success,\n.table > tfoot > tr > td.success,\n.table > thead > tr > th.success,\n.table > tbody > tr > th.success,\n.table > tfoot > tr > th.success,\n.table > thead > tr.success > td,\n.table > tbody > tr.success > td,\n.table > tfoot > tr.success > td,\n.table > thead > tr.success > th,\n.table > tbody > tr.success > th,\n.table > tfoot > tr.success > th {\n background-color: #dff0d8;\n}\n.table-hover > tbody > tr > td.success:hover,\n.table-hover > tbody > tr > th.success:hover,\n.table-hover > tbody > tr.success:hover > td,\n.table-hover > tbody > tr:hover > .success,\n.table-hover > tbody > tr.success:hover > th {\n background-color: #d0e9c6;\n}\n.table > thead > tr > td.info,\n.table > tbody > tr > td.info,\n.table > tfoot > tr > td.info,\n.table > thead > tr > th.info,\n.table > tbody > tr > th.info,\n.table > tfoot > tr > th.info,\n.table > thead > tr.info > td,\n.table > tbody > tr.info > td,\n.table > tfoot > tr.info > td,\n.table > thead > tr.info > th,\n.table > tbody > tr.info > th,\n.table > tfoot > tr.info > th {\n background-color: #d9edf7;\n}\n.table-hover > tbody > tr > td.info:hover,\n.table-hover > tbody > tr > th.info:hover,\n.table-hover > tbody > tr.info:hover > td,\n.table-hover > tbody > tr:hover > .info,\n.table-hover > tbody > tr.info:hover > th {\n background-color: #c4e3f3;\n}\n.table > thead > tr > td.warning,\n.table > tbody > tr > td.warning,\n.table > tfoot > tr > td.warning,\n.table > thead > tr > th.warning,\n.table > tbody > tr > th.warning,\n.table > tfoot > tr > th.warning,\n.table > thead > tr.warning > td,\n.table > tbody > tr.warning > td,\n.table > tfoot > tr.warning > td,\n.table > thead > tr.warning > th,\n.table > tbody > tr.warning > th,\n.table > tfoot > tr.warning > th {\n background-color: #fcf8e3;\n}\n.table-hover > tbody > tr > td.warning:hover,\n.table-hover > tbody > tr > th.warning:hover,\n.table-hover > tbody > tr.warning:hover > td,\n.table-hover > tbody > tr:hover > .warning,\n.table-hover > tbody > tr.warning:hover > th {\n background-color: #faf2cc;\n}\n.table > thead > tr > td.danger,\n.table > tbody > tr > td.danger,\n.table > tfoot > tr > td.danger,\n.table > thead > tr > th.danger,\n.table > tbody > tr > th.danger,\n.table > tfoot > tr > th.danger,\n.table > thead > tr.danger > td,\n.table > tbody > tr.danger > td,\n.table > tfoot > tr.danger > td,\n.table > thead > tr.danger > th,\n.table > tbody > tr.danger > th,\n.table > tfoot > tr.danger > th {\n background-color: #f2dede;\n}\n.table-hover > tbody > tr > td.danger:hover,\n.table-hover > tbody > tr > th.danger:hover,\n.table-hover > tbody > tr.danger:hover > td,\n.table-hover > tbody > tr:hover > .danger,\n.table-hover > tbody > tr.danger:hover > th {\n background-color: #ebcccc;\n}\n.table-responsive {\n overflow-x: auto;\n min-height: 0.01%;\n}\n@media screen and (max-width: 767px) {\n .table-responsive {\n width: 100%;\n margin-bottom: 15px;\n overflow-y: hidden;\n -ms-overflow-style: -ms-autohiding-scrollbar;\n border: 1px solid #ddd;\n }\n .table-responsive > .table {\n margin-bottom: 0;\n }\n .table-responsive > .table > thead > tr > th,\n .table-responsive > .table > tbody > tr > th,\n .table-responsive > .table > tfoot > tr > th,\n .table-responsive > .table > thead > tr > td,\n .table-responsive > .table > tbody > tr > td,\n .table-responsive > .table > tfoot > tr > td {\n white-space: nowrap;\n }\n .table-responsive > .table-bordered {\n border: 0;\n }\n .table-responsive > .table-bordered > thead > tr > th:first-child,\n .table-responsive > .table-bordered > tbody > tr > th:first-child,\n .table-responsive > .table-bordered > tfoot > tr > th:first-child,\n .table-responsive > .table-bordered > thead > tr > td:first-child,\n .table-responsive > .table-bordered > tbody > tr > td:first-child,\n .table-responsive > .table-bordered > tfoot > tr > td:first-child {\n border-left: 0;\n }\n .table-responsive > .table-bordered > thead > tr > th:last-child,\n .table-responsive > .table-bordered > tbody > tr > th:last-child,\n .table-responsive > .table-bordered > tfoot > tr > th:last-child,\n .table-responsive > .table-bordered > thead > tr > td:last-child,\n .table-responsive > .table-bordered > tbody > tr > td:last-child,\n .table-responsive > .table-bordered > tfoot > tr > td:last-child {\n border-right: 0;\n }\n .table-responsive > .table-bordered > tbody > tr:last-child > th,\n .table-responsive > .table-bordered > tfoot > tr:last-child > th,\n .table-responsive > .table-bordered > tbody > tr:last-child > td,\n .table-responsive > .table-bordered > tfoot > tr:last-child > td {\n border-bottom: 0;\n }\n}\nfieldset {\n padding: 0;\n margin: 0;\n border: 0;\n min-width: 0;\n}\nlegend {\n display: block;\n width: 100%;\n padding: 0;\n margin-bottom: 20px;\n font-size: 21px;\n line-height: inherit;\n color: #333333;\n border: 0;\n border-bottom: 1px solid #e5e5e5;\n}\nlabel {\n display: inline-block;\n max-width: 100%;\n margin-bottom: 5px;\n font-weight: bold;\n}\ninput[type=\"search\"] {\n -webkit-box-sizing: border-box;\n -moz-box-sizing: border-box;\n box-sizing: border-box;\n}\ninput[type=\"radio\"],\ninput[type=\"checkbox\"] {\n margin: 4px 0 0;\n margin-top: 1px \\9;\n line-height: normal;\n}\ninput[type=\"file\"] {\n display: block;\n}\ninput[type=\"range\"] {\n display: block;\n width: 100%;\n}\nselect[multiple],\nselect[size] {\n height: auto;\n}\ninput[type=\"file\"]:focus,\ninput[type=\"radio\"]:focus,\ninput[type=\"checkbox\"]:focus {\n outline: 5px auto -webkit-focus-ring-color;\n outline-offset: -2px;\n}\noutput {\n display: block;\n padding-top: 7px;\n font-size: 14px;\n line-height: 1.42857143;\n color: #555555;\n}\n.form-control {\n display: block;\n width: 100%;\n height: 34px;\n padding: 6px 12px;\n font-size: 14px;\n line-height: 1.42857143;\n color: #555555;\n background-color: #fff;\n background-image: none;\n border: 1px solid #ccc;\n border-radius: 4px;\n -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);\n box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);\n -webkit-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;\n -o-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;\n transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;\n}\n.form-control:focus {\n border-color: #66afe9;\n outline: 0;\n -webkit-box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(102, 175, 233, 0.6);\n box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(102, 175, 233, 0.6);\n}\n.form-control::-moz-placeholder {\n color: #999;\n opacity: 1;\n}\n.form-control:-ms-input-placeholder {\n color: #999;\n}\n.form-control::-webkit-input-placeholder {\n color: #999;\n}\n.form-control::-ms-expand {\n border: 0;\n background-color: transparent;\n}\n.form-control[disabled],\n.form-control[readonly],\nfieldset[disabled] .form-control {\n background-color: #eeeeee;\n opacity: 1;\n}\n.form-control[disabled],\nfieldset[disabled] .form-control {\n cursor: not-allowed;\n}\ntextarea.form-control {\n height: auto;\n}\ninput[type=\"search\"] {\n -webkit-appearance: none;\n}\n@media screen and (-webkit-min-device-pixel-ratio: 0) {\n input[type=\"date\"].form-control,\n input[type=\"time\"].form-control,\n input[type=\"datetime-local\"].form-control,\n input[type=\"month\"].form-control {\n line-height: 34px;\n }\n input[type=\"date\"].input-sm,\n input[type=\"time\"].input-sm,\n input[type=\"datetime-local\"].input-sm,\n input[type=\"month\"].input-sm,\n .input-group-sm input[type=\"date\"],\n .input-group-sm input[type=\"time\"],\n .input-group-sm input[type=\"datetime-local\"],\n .input-group-sm input[type=\"month\"] {\n line-height: 30px;\n }\n input[type=\"date\"].input-lg,\n input[type=\"time\"].input-lg,\n input[type=\"datetime-local\"].input-lg,\n input[type=\"month\"].input-lg,\n .input-group-lg input[type=\"date\"],\n .input-group-lg input[type=\"time\"],\n .input-group-lg input[type=\"datetime-local\"],\n .input-group-lg input[type=\"month\"] {\n line-height: 46px;\n }\n}\n.form-group {\n margin-bottom: 15px;\n}\n.radio,\n.checkbox {\n position: relative;\n display: block;\n margin-top: 10px;\n margin-bottom: 10px;\n}\n.radio label,\n.checkbox label {\n min-height: 20px;\n padding-left: 20px;\n margin-bottom: 0;\n font-weight: normal;\n cursor: pointer;\n}\n.radio input[type=\"radio\"],\n.radio-inline input[type=\"radio\"],\n.checkbox input[type=\"checkbox\"],\n.checkbox-inline input[type=\"checkbox\"] {\n position: absolute;\n margin-left: -20px;\n margin-top: 4px \\9;\n}\n.radio + .radio,\n.checkbox + .checkbox {\n margin-top: -5px;\n}\n.radio-inline,\n.checkbox-inline {\n position: relative;\n display: inline-block;\n padding-left: 20px;\n margin-bottom: 0;\n vertical-align: middle;\n font-weight: normal;\n cursor: pointer;\n}\n.radio-inline + .radio-inline,\n.checkbox-inline + .checkbox-inline {\n margin-top: 0;\n margin-left: 10px;\n}\ninput[type=\"radio\"][disabled],\ninput[type=\"checkbox\"][disabled],\ninput[type=\"radio\"].disabled,\ninput[type=\"checkbox\"].disabled,\nfieldset[disabled] input[type=\"radio\"],\nfieldset[disabled] input[type=\"checkbox\"] {\n cursor: not-allowed;\n}\n.radio-inline.disabled,\n.checkbox-inline.disabled,\nfieldset[disabled] .radio-inline,\nfieldset[disabled] .checkbox-inline {\n cursor: not-allowed;\n}\n.radio.disabled label,\n.checkbox.disabled label,\nfieldset[disabled] .radio label,\nfieldset[disabled] .checkbox label {\n cursor: not-allowed;\n}\n.form-control-static {\n padding-top: 7px;\n padding-bottom: 7px;\n margin-bottom: 0;\n min-height: 34px;\n}\n.form-control-static.input-lg,\n.form-control-static.input-sm {\n padding-left: 0;\n padding-right: 0;\n}\n.input-sm {\n height: 30px;\n padding: 5px 10px;\n font-size: 12px;\n line-height: 1.5;\n border-radius: 3px;\n}\nselect.input-sm {\n height: 30px;\n line-height: 30px;\n}\ntextarea.input-sm,\nselect[multiple].input-sm {\n height: auto;\n}\n.form-group-sm .form-control {\n height: 30px;\n padding: 5px 10px;\n font-size: 12px;\n line-height: 1.5;\n border-radius: 3px;\n}\n.form-group-sm select.form-control {\n height: 30px;\n line-height: 30px;\n}\n.form-group-sm textarea.form-control,\n.form-group-sm select[multiple].form-control {\n height: auto;\n}\n.form-group-sm .form-control-static {\n height: 30px;\n min-height: 32px;\n padding: 6px 10px;\n font-size: 12px;\n line-height: 1.5;\n}\n.input-lg {\n height: 46px;\n padding: 10px 16px;\n font-size: 18px;\n line-height: 1.3333333;\n border-radius: 6px;\n}\nselect.input-lg {\n height: 46px;\n line-height: 46px;\n}\ntextarea.input-lg,\nselect[multiple].input-lg {\n height: auto;\n}\n.form-group-lg .form-control {\n height: 46px;\n padding: 10px 16px;\n font-size: 18px;\n line-height: 1.3333333;\n border-radius: 6px;\n}\n.form-group-lg select.form-control {\n height: 46px;\n line-height: 46px;\n}\n.form-group-lg textarea.form-control,\n.form-group-lg select[multiple].form-control {\n height: auto;\n}\n.form-group-lg .form-control-static {\n height: 46px;\n min-height: 38px;\n padding: 11px 16px;\n font-size: 18px;\n line-height: 1.3333333;\n}\n.has-feedback {\n position: relative;\n}\n.has-feedback .form-control {\n padding-right: 42.5px;\n}\n.form-control-feedback {\n position: absolute;\n top: 0;\n right: 0;\n z-index: 2;\n display: block;\n width: 34px;\n height: 34px;\n line-height: 34px;\n text-align: center;\n pointer-events: none;\n}\n.input-lg + .form-control-feedback,\n.input-group-lg + .form-control-feedback,\n.form-group-lg .form-control + .form-control-feedback {\n width: 46px;\n height: 46px;\n line-height: 46px;\n}\n.input-sm + .form-control-feedback,\n.input-group-sm + .form-control-feedback,\n.form-group-sm .form-control + .form-control-feedback {\n width: 30px;\n height: 30px;\n line-height: 30px;\n}\n.has-success .help-block,\n.has-success .control-label,\n.has-success .radio,\n.has-success .checkbox,\n.has-success .radio-inline,\n.has-success .checkbox-inline,\n.has-success.radio label,\n.has-success.checkbox label,\n.has-success.radio-inline label,\n.has-success.checkbox-inline label {\n color: #3c763d;\n}\n.has-success .form-control {\n border-color: #3c763d;\n -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);\n box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);\n}\n.has-success .form-control:focus {\n border-color: #2b542c;\n -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #67b168;\n box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #67b168;\n}\n.has-success .input-group-addon {\n color: #3c763d;\n border-color: #3c763d;\n background-color: #dff0d8;\n}\n.has-success .form-control-feedback {\n color: #3c763d;\n}\n.has-warning .help-block,\n.has-warning .control-label,\n.has-warning .radio,\n.has-warning .checkbox,\n.has-warning .radio-inline,\n.has-warning .checkbox-inline,\n.has-warning.radio label,\n.has-warning.checkbox label,\n.has-warning.radio-inline label,\n.has-warning.checkbox-inline label {\n color: #8a6d3b;\n}\n.has-warning .form-control {\n border-color: #8a6d3b;\n -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);\n box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);\n}\n.has-warning .form-control:focus {\n border-color: #66512c;\n -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #c0a16b;\n box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #c0a16b;\n}\n.has-warning .input-group-addon {\n color: #8a6d3b;\n border-color: #8a6d3b;\n background-color: #fcf8e3;\n}\n.has-warning .form-control-feedback {\n color: #8a6d3b;\n}\n.has-error .help-block,\n.has-error .control-label,\n.has-error .radio,\n.has-error .checkbox,\n.has-error .radio-inline,\n.has-error .checkbox-inline,\n.has-error.radio label,\n.has-error.checkbox label,\n.has-error.radio-inline label,\n.has-error.checkbox-inline label {\n color: #a94442;\n}\n.has-error .form-control {\n border-color: #a94442;\n -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);\n box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);\n}\n.has-error .form-control:focus {\n border-color: #843534;\n -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #ce8483;\n box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #ce8483;\n}\n.has-error .input-group-addon {\n color: #a94442;\n border-color: #a94442;\n background-color: #f2dede;\n}\n.has-error .form-control-feedback {\n color: #a94442;\n}\n.has-feedback label ~ .form-control-feedback {\n top: 25px;\n}\n.has-feedback label.sr-only ~ .form-control-feedback {\n top: 0;\n}\n.help-block {\n display: block;\n margin-top: 5px;\n margin-bottom: 10px;\n color: #737373;\n}\n@media (min-width: 768px) {\n .form-inline .form-group {\n display: inline-block;\n margin-bottom: 0;\n vertical-align: middle;\n }\n .form-inline .form-control {\n display: inline-block;\n width: auto;\n vertical-align: middle;\n }\n .form-inline .form-control-static {\n display: inline-block;\n }\n .form-inline .input-group {\n display: inline-table;\n vertical-align: middle;\n }\n .form-inline .input-group .input-group-addon,\n .form-inline .input-group .input-group-btn,\n .form-inline .input-group .form-control {\n width: auto;\n }\n .form-inline .input-group > .form-control {\n width: 100%;\n }\n .form-inline .control-label {\n margin-bottom: 0;\n vertical-align: middle;\n }\n .form-inline .radio,\n .form-inline .checkbox {\n display: inline-block;\n margin-top: 0;\n margin-bottom: 0;\n vertical-align: middle;\n }\n .form-inline .radio label,\n .form-inline .checkbox label {\n padding-left: 0;\n }\n .form-inline .radio input[type=\"radio\"],\n .form-inline .checkbox input[type=\"checkbox\"] {\n position: relative;\n margin-left: 0;\n }\n .form-inline .has-feedback .form-control-feedback {\n top: 0;\n }\n}\n.form-horizontal .radio,\n.form-horizontal .checkbox,\n.form-horizontal .radio-inline,\n.form-horizontal .checkbox-inline {\n margin-top: 0;\n margin-bottom: 0;\n padding-top: 7px;\n}\n.form-horizontal .radio,\n.form-horizontal .checkbox {\n min-height: 27px;\n}\n.form-horizontal .form-group {\n margin-left: -15px;\n margin-right: -15px;\n}\n@media (min-width: 768px) {\n .form-horizontal .control-label {\n text-align: right;\n margin-bottom: 0;\n padding-top: 7px;\n }\n}\n.form-horizontal .has-feedback .form-control-feedback {\n right: 15px;\n}\n@media (min-width: 768px) {\n .form-horizontal .form-group-lg .control-label {\n padding-top: 11px;\n font-size: 18px;\n }\n}\n@media (min-width: 768px) {\n .form-horizontal .form-group-sm .control-label {\n padding-top: 6px;\n font-size: 12px;\n }\n}\n.btn {\n display: inline-block;\n margin-bottom: 0;\n font-weight: normal;\n text-align: center;\n vertical-align: middle;\n touch-action: manipulation;\n cursor: pointer;\n background-image: none;\n border: 1px solid transparent;\n white-space: nowrap;\n padding: 6px 12px;\n font-size: 14px;\n line-height: 1.42857143;\n border-radius: 4px;\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n}\n.btn:focus,\n.btn:active:focus,\n.btn.active:focus,\n.btn.focus,\n.btn:active.focus,\n.btn.active.focus {\n outline: 5px auto -webkit-focus-ring-color;\n outline-offset: -2px;\n}\n.btn:hover,\n.btn:focus,\n.btn.focus {\n color: #333;\n text-decoration: none;\n}\n.btn:active,\n.btn.active {\n outline: 0;\n background-image: none;\n -webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);\n box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);\n}\n.btn.disabled,\n.btn[disabled],\nfieldset[disabled] .btn {\n cursor: not-allowed;\n opacity: 0.65;\n filter: alpha(opacity=65);\n -webkit-box-shadow: none;\n box-shadow: none;\n}\na.btn.disabled,\nfieldset[disabled] a.btn {\n pointer-events: none;\n}\n.btn-default {\n color: #333;\n background-color: #fff;\n border-color: #ccc;\n}\n.btn-default:focus,\n.btn-default.focus {\n color: #333;\n background-color: #e6e6e6;\n border-color: #8c8c8c;\n}\n.btn-default:hover {\n color: #333;\n background-color: #e6e6e6;\n border-color: #adadad;\n}\n.btn-default:active,\n.btn-default.active,\n.open > .dropdown-toggle.btn-default {\n color: #333;\n background-color: #e6e6e6;\n border-color: #adadad;\n}\n.btn-default:active:hover,\n.btn-default.active:hover,\n.open > .dropdown-toggle.btn-default:hover,\n.btn-default:active:focus,\n.btn-default.active:focus,\n.open > .dropdown-toggle.btn-default:focus,\n.btn-default:active.focus,\n.btn-default.active.focus,\n.open > .dropdown-toggle.btn-default.focus {\n color: #333;\n background-color: #d4d4d4;\n border-color: #8c8c8c;\n}\n.btn-default:active,\n.btn-default.active,\n.open > .dropdown-toggle.btn-default {\n background-image: none;\n}\n.btn-default.disabled:hover,\n.btn-default[disabled]:hover,\nfieldset[disabled] .btn-default:hover,\n.btn-default.disabled:focus,\n.btn-default[disabled]:focus,\nfieldset[disabled] .btn-default:focus,\n.btn-default.disabled.focus,\n.btn-default[disabled].focus,\nfieldset[disabled] .btn-default.focus {\n background-color: #fff;\n border-color: #ccc;\n}\n.btn-default .badge {\n color: #fff;\n background-color: #333;\n}\n.btn-primary {\n color: #fff;\n background-color: #337ab7;\n border-color: #2e6da4;\n}\n.btn-primary:focus,\n.btn-primary.focus {\n color: #fff;\n background-color: #286090;\n border-color: #122b40;\n}\n.btn-primary:hover {\n color: #fff;\n background-color: #286090;\n border-color: #204d74;\n}\n.btn-primary:active,\n.btn-primary.active,\n.open > .dropdown-toggle.btn-primary {\n color: #fff;\n background-color: #286090;\n border-color: #204d74;\n}\n.btn-primary:active:hover,\n.btn-primary.active:hover,\n.open > .dropdown-toggle.btn-primary:hover,\n.btn-primary:active:focus,\n.btn-primary.active:focus,\n.open > .dropdown-toggle.btn-primary:focus,\n.btn-primary:active.focus,\n.btn-primary.active.focus,\n.open > .dropdown-toggle.btn-primary.focus {\n color: #fff;\n background-color: #204d74;\n border-color: #122b40;\n}\n.btn-primary:active,\n.btn-primary.active,\n.open > .dropdown-toggle.btn-primary {\n background-image: none;\n}\n.btn-primary.disabled:hover,\n.btn-primary[disabled]:hover,\nfieldset[disabled] .btn-primary:hover,\n.btn-primary.disabled:focus,\n.btn-primary[disabled]:focus,\nfieldset[disabled] .btn-primary:focus,\n.btn-primary.disabled.focus,\n.btn-primary[disabled].focus,\nfieldset[disabled] .btn-primary.focus {\n background-color: #337ab7;\n border-color: #2e6da4;\n}\n.btn-primary .badge {\n color: #337ab7;\n background-color: #fff;\n}\n.btn-success {\n color: #fff;\n background-color: #5cb85c;\n border-color: #4cae4c;\n}\n.btn-success:focus,\n.btn-success.focus {\n color: #fff;\n background-color: #449d44;\n border-color: #255625;\n}\n.btn-success:hover {\n color: #fff;\n background-color: #449d44;\n border-color: #398439;\n}\n.btn-success:active,\n.btn-success.active,\n.open > .dropdown-toggle.btn-success {\n color: #fff;\n background-color: #449d44;\n border-color: #398439;\n}\n.btn-success:active:hover,\n.btn-success.active:hover,\n.open > .dropdown-toggle.btn-success:hover,\n.btn-success:active:focus,\n.btn-success.active:focus,\n.open > .dropdown-toggle.btn-success:focus,\n.btn-success:active.focus,\n.btn-success.active.focus,\n.open > .dropdown-toggle.btn-success.focus {\n color: #fff;\n background-color: #398439;\n border-color: #255625;\n}\n.btn-success:active,\n.btn-success.active,\n.open > .dropdown-toggle.btn-success {\n background-image: none;\n}\n.btn-success.disabled:hover,\n.btn-success[disabled]:hover,\nfieldset[disabled] .btn-success:hover,\n.btn-success.disabled:focus,\n.btn-success[disabled]:focus,\nfieldset[disabled] .btn-success:focus,\n.btn-success.disabled.focus,\n.btn-success[disabled].focus,\nfieldset[disabled] .btn-success.focus {\n background-color: #5cb85c;\n border-color: #4cae4c;\n}\n.btn-success .badge {\n color: #5cb85c;\n background-color: #fff;\n}\n.btn-info {\n color: #fff;\n background-color: #5bc0de;\n border-color: #46b8da;\n}\n.btn-info:focus,\n.btn-info.focus {\n color: #fff;\n background-color: #31b0d5;\n border-color: #1b6d85;\n}\n.btn-info:hover {\n color: #fff;\n background-color: #31b0d5;\n border-color: #269abc;\n}\n.btn-info:active,\n.btn-info.active,\n.open > .dropdown-toggle.btn-info {\n color: #fff;\n background-color: #31b0d5;\n border-color: #269abc;\n}\n.btn-info:active:hover,\n.btn-info.active:hover,\n.open > .dropdown-toggle.btn-info:hover,\n.btn-info:active:focus,\n.btn-info.active:focus,\n.open > .dropdown-toggle.btn-info:focus,\n.btn-info:active.focus,\n.btn-info.active.focus,\n.open > .dropdown-toggle.btn-info.focus {\n color: #fff;\n background-color: #269abc;\n border-color: #1b6d85;\n}\n.btn-info:active,\n.btn-info.active,\n.open > .dropdown-toggle.btn-info {\n background-image: none;\n}\n.btn-info.disabled:hover,\n.btn-info[disabled]:hover,\nfieldset[disabled] .btn-info:hover,\n.btn-info.disabled:focus,\n.btn-info[disabled]:focus,\nfieldset[disabled] .btn-info:focus,\n.btn-info.disabled.focus,\n.btn-info[disabled].focus,\nfieldset[disabled] .btn-info.focus {\n background-color: #5bc0de;\n border-color: #46b8da;\n}\n.btn-info .badge {\n color: #5bc0de;\n background-color: #fff;\n}\n.btn-warning {\n color: #fff;\n background-color: #f0ad4e;\n border-color: #eea236;\n}\n.btn-warning:focus,\n.btn-warning.focus {\n color: #fff;\n background-color: #ec971f;\n border-color: #985f0d;\n}\n.btn-warning:hover {\n color: #fff;\n background-color: #ec971f;\n border-color: #d58512;\n}\n.btn-warning:active,\n.btn-warning.active,\n.open > .dropdown-toggle.btn-warning {\n color: #fff;\n background-color: #ec971f;\n border-color: #d58512;\n}\n.btn-warning:active:hover,\n.btn-warning.active:hover,\n.open > .dropdown-toggle.btn-warning:hover,\n.btn-warning:active:focus,\n.btn-warning.active:focus,\n.open > .dropdown-toggle.btn-warning:focus,\n.btn-warning:active.focus,\n.btn-warning.active.focus,\n.open > .dropdown-toggle.btn-warning.focus {\n color: #fff;\n background-color: #d58512;\n border-color: #985f0d;\n}\n.btn-warning:active,\n.btn-warning.active,\n.open > .dropdown-toggle.btn-warning {\n background-image: none;\n}\n.btn-warning.disabled:hover,\n.btn-warning[disabled]:hover,\nfieldset[disabled] .btn-warning:hover,\n.btn-warning.disabled:focus,\n.btn-warning[disabled]:focus,\nfieldset[disabled] .btn-warning:focus,\n.btn-warning.disabled.focus,\n.btn-warning[disabled].focus,\nfieldset[disabled] .btn-warning.focus {\n background-color: #f0ad4e;\n border-color: #eea236;\n}\n.btn-warning .badge {\n color: #f0ad4e;\n background-color: #fff;\n}\n.btn-danger {\n color: #fff;\n background-color: #d9534f;\n border-color: #d43f3a;\n}\n.btn-danger:focus,\n.btn-danger.focus {\n color: #fff;\n background-color: #c9302c;\n border-color: #761c19;\n}\n.btn-danger:hover {\n color: #fff;\n background-color: #c9302c;\n border-color: #ac2925;\n}\n.btn-danger:active,\n.btn-danger.active,\n.open > .dropdown-toggle.btn-danger {\n color: #fff;\n background-color: #c9302c;\n border-color: #ac2925;\n}\n.btn-danger:active:hover,\n.btn-danger.active:hover,\n.open > .dropdown-toggle.btn-danger:hover,\n.btn-danger:active:focus,\n.btn-danger.active:focus,\n.open > .dropdown-toggle.btn-danger:focus,\n.btn-danger:active.focus,\n.btn-danger.active.focus,\n.open > .dropdown-toggle.btn-danger.focus {\n color: #fff;\n background-color: #ac2925;\n border-color: #761c19;\n}\n.btn-danger:active,\n.btn-danger.active,\n.open > .dropdown-toggle.btn-danger {\n background-image: none;\n}\n.btn-danger.disabled:hover,\n.btn-danger[disabled]:hover,\nfieldset[disabled] .btn-danger:hover,\n.btn-danger.disabled:focus,\n.btn-danger[disabled]:focus,\nfieldset[disabled] .btn-danger:focus,\n.btn-danger.disabled.focus,\n.btn-danger[disabled].focus,\nfieldset[disabled] .btn-danger.focus {\n background-color: #d9534f;\n border-color: #d43f3a;\n}\n.btn-danger .badge {\n color: #d9534f;\n background-color: #fff;\n}\n.btn-link {\n color: #337ab7;\n font-weight: normal;\n border-radius: 0;\n}\n.btn-link,\n.btn-link:active,\n.btn-link.active,\n.btn-link[disabled],\nfieldset[disabled] .btn-link {\n background-color: transparent;\n -webkit-box-shadow: none;\n box-shadow: none;\n}\n.btn-link,\n.btn-link:hover,\n.btn-link:focus,\n.btn-link:active {\n border-color: transparent;\n}\n.btn-link:hover,\n.btn-link:focus {\n color: #23527c;\n text-decoration: underline;\n background-color: transparent;\n}\n.btn-link[disabled]:hover,\nfieldset[disabled] .btn-link:hover,\n.btn-link[disabled]:focus,\nfieldset[disabled] .btn-link:focus {\n color: #777777;\n text-decoration: none;\n}\n.btn-lg,\n.btn-group-lg > .btn {\n padding: 10px 16px;\n font-size: 18px;\n line-height: 1.3333333;\n border-radius: 6px;\n}\n.btn-sm,\n.btn-group-sm > .btn {\n padding: 5px 10px;\n font-size: 12px;\n line-height: 1.5;\n border-radius: 3px;\n}\n.btn-xs,\n.btn-group-xs > .btn {\n padding: 1px 5px;\n font-size: 12px;\n line-height: 1.5;\n border-radius: 3px;\n}\n.btn-block {\n display: block;\n width: 100%;\n}\n.btn-block + .btn-block {\n margin-top: 5px;\n}\ninput[type=\"submit\"].btn-block,\ninput[type=\"reset\"].btn-block,\ninput[type=\"button\"].btn-block {\n width: 100%;\n}\n.fade {\n opacity: 0;\n -webkit-transition: opacity 0.15s linear;\n -o-transition: opacity 0.15s linear;\n transition: opacity 0.15s linear;\n}\n.fade.in {\n opacity: 1;\n}\n.collapse {\n display: none;\n}\n.collapse.in {\n display: block;\n}\ntr.collapse.in {\n display: table-row;\n}\ntbody.collapse.in {\n display: table-row-group;\n}\n.collapsing {\n position: relative;\n height: 0;\n overflow: hidden;\n -webkit-transition-property: height, visibility;\n transition-property: height, visibility;\n -webkit-transition-duration: 0.35s;\n transition-duration: 0.35s;\n -webkit-transition-timing-function: ease;\n transition-timing-function: ease;\n}\n.caret {\n display: inline-block;\n width: 0;\n height: 0;\n margin-left: 2px;\n vertical-align: middle;\n border-top: 4px dashed;\n border-top: 4px solid \\9;\n border-right: 4px solid transparent;\n border-left: 4px solid transparent;\n}\n.dropup,\n.dropdown {\n position: relative;\n}\n.dropdown-toggle:focus {\n outline: 0;\n}\n.dropdown-menu {\n position: absolute;\n top: 100%;\n left: 0;\n z-index: 1000;\n display: none;\n float: left;\n min-width: 160px;\n padding: 5px 0;\n margin: 2px 0 0;\n list-style: none;\n font-size: 14px;\n text-align: left;\n background-color: #fff;\n border: 1px solid #ccc;\n border: 1px solid rgba(0, 0, 0, 0.15);\n border-radius: 4px;\n -webkit-box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175);\n box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175);\n background-clip: padding-box;\n}\n.dropdown-menu.pull-right {\n right: 0;\n left: auto;\n}\n.dropdown-menu .divider {\n height: 1px;\n margin: 9px 0;\n overflow: hidden;\n background-color: #e5e5e5;\n}\n.dropdown-menu > li > a {\n display: block;\n padding: 3px 20px;\n clear: both;\n font-weight: normal;\n line-height: 1.42857143;\n color: #333333;\n white-space: nowrap;\n}\n.dropdown-menu > li > a:hover,\n.dropdown-menu > li > a:focus {\n text-decoration: none;\n color: #262626;\n background-color: #f5f5f5;\n}\n.dropdown-menu > .active > a,\n.dropdown-menu > .active > a:hover,\n.dropdown-menu > .active > a:focus {\n color: #fff;\n text-decoration: none;\n outline: 0;\n background-color: #337ab7;\n}\n.dropdown-menu > .disabled > a,\n.dropdown-menu > .disabled > a:hover,\n.dropdown-menu > .disabled > a:focus {\n color: #777777;\n}\n.dropdown-menu > .disabled > a:hover,\n.dropdown-menu > .disabled > a:focus {\n text-decoration: none;\n background-color: transparent;\n background-image: none;\n filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);\n cursor: not-allowed;\n}\n.open > .dropdown-menu {\n display: block;\n}\n.open > a {\n outline: 0;\n}\n.dropdown-menu-right {\n left: auto;\n right: 0;\n}\n.dropdown-menu-left {\n left: 0;\n right: auto;\n}\n.dropdown-header {\n display: block;\n padding: 3px 20px;\n font-size: 12px;\n line-height: 1.42857143;\n color: #777777;\n white-space: nowrap;\n}\n.dropdown-backdrop {\n position: fixed;\n left: 0;\n right: 0;\n bottom: 0;\n top: 0;\n z-index: 990;\n}\n.pull-right > .dropdown-menu {\n right: 0;\n left: auto;\n}\n.dropup .caret,\n.navbar-fixed-bottom .dropdown .caret {\n border-top: 0;\n border-bottom: 4px dashed;\n border-bottom: 4px solid \\9;\n content: \"\";\n}\n.dropup .dropdown-menu,\n.navbar-fixed-bottom .dropdown .dropdown-menu {\n top: auto;\n bottom: 100%;\n margin-bottom: 2px;\n}\n@media (min-width: 768px) {\n .navbar-right .dropdown-menu {\n left: auto;\n right: 0;\n }\n .navbar-right .dropdown-menu-left {\n left: 0;\n right: auto;\n }\n}\n.btn-group,\n.btn-group-vertical {\n position: relative;\n display: inline-block;\n vertical-align: middle;\n}\n.btn-group > .btn,\n.btn-group-vertical > .btn {\n position: relative;\n float: left;\n}\n.btn-group > .btn:hover,\n.btn-group-vertical > .btn:hover,\n.btn-group > .btn:focus,\n.btn-group-vertical > .btn:focus,\n.btn-group > .btn:active,\n.btn-group-vertical > .btn:active,\n.btn-group > .btn.active,\n.btn-group-vertical > .btn.active {\n z-index: 2;\n}\n.btn-group .btn + .btn,\n.btn-group .btn + .btn-group,\n.btn-group .btn-group + .btn,\n.btn-group .btn-group + .btn-group {\n margin-left: -1px;\n}\n.btn-toolbar {\n margin-left: -5px;\n}\n.btn-toolbar .btn,\n.btn-toolbar .btn-group,\n.btn-toolbar .input-group {\n float: left;\n}\n.btn-toolbar > .btn,\n.btn-toolbar > .btn-group,\n.btn-toolbar > .input-group {\n margin-left: 5px;\n}\n.btn-group > .btn:not(:first-child):not(:last-child):not(.dropdown-toggle) {\n border-radius: 0;\n}\n.btn-group > .btn:first-child {\n margin-left: 0;\n}\n.btn-group > .btn:first-child:not(:last-child):not(.dropdown-toggle) {\n border-bottom-right-radius: 0;\n border-top-right-radius: 0;\n}\n.btn-group > .btn:last-child:not(:first-child),\n.btn-group > .dropdown-toggle:not(:first-child) {\n border-bottom-left-radius: 0;\n border-top-left-radius: 0;\n}\n.btn-group > .btn-group {\n float: left;\n}\n.btn-group > .btn-group:not(:first-child):not(:last-child) > .btn {\n border-radius: 0;\n}\n.btn-group > .btn-group:first-child:not(:last-child) > .btn:last-child,\n.btn-group > .btn-group:first-child:not(:last-child) > .dropdown-toggle {\n border-bottom-right-radius: 0;\n border-top-right-radius: 0;\n}\n.btn-group > .btn-group:last-child:not(:first-child) > .btn:first-child {\n border-bottom-left-radius: 0;\n border-top-left-radius: 0;\n}\n.btn-group .dropdown-toggle:active,\n.btn-group.open .dropdown-toggle {\n outline: 0;\n}\n.btn-group > .btn + .dropdown-toggle {\n padding-left: 8px;\n padding-right: 8px;\n}\n.btn-group > .btn-lg + .dropdown-toggle {\n padding-left: 12px;\n padding-right: 12px;\n}\n.btn-group.open .dropdown-toggle {\n -webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);\n box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);\n}\n.btn-group.open .dropdown-toggle.btn-link {\n -webkit-box-shadow: none;\n box-shadow: none;\n}\n.btn .caret {\n margin-left: 0;\n}\n.btn-lg .caret {\n border-width: 5px 5px 0;\n border-bottom-width: 0;\n}\n.dropup .btn-lg .caret {\n border-width: 0 5px 5px;\n}\n.btn-group-vertical > .btn,\n.btn-group-vertical > .btn-group,\n.btn-group-vertical > .btn-group > .btn {\n display: block;\n float: none;\n width: 100%;\n max-width: 100%;\n}\n.btn-group-vertical > .btn-group > .btn {\n float: none;\n}\n.btn-group-vertical > .btn + .btn,\n.btn-group-vertical > .btn + .btn-group,\n.btn-group-vertical > .btn-group + .btn,\n.btn-group-vertical > .btn-group + .btn-group {\n margin-top: -1px;\n margin-left: 0;\n}\n.btn-group-vertical > .btn:not(:first-child):not(:last-child) {\n border-radius: 0;\n}\n.btn-group-vertical > .btn:first-child:not(:last-child) {\n border-top-right-radius: 4px;\n border-top-left-radius: 4px;\n border-bottom-right-radius: 0;\n border-bottom-left-radius: 0;\n}\n.btn-group-vertical > .btn:last-child:not(:first-child) {\n border-top-right-radius: 0;\n border-top-left-radius: 0;\n border-bottom-right-radius: 4px;\n border-bottom-left-radius: 4px;\n}\n.btn-group-vertical > .btn-group:not(:first-child):not(:last-child) > .btn {\n border-radius: 0;\n}\n.btn-group-vertical > .btn-group:first-child:not(:last-child) > .btn:last-child,\n.btn-group-vertical > .btn-group:first-child:not(:last-child) > .dropdown-toggle {\n border-bottom-right-radius: 0;\n border-bottom-left-radius: 0;\n}\n.btn-group-vertical > .btn-group:last-child:not(:first-child) > .btn:first-child {\n border-top-right-radius: 0;\n border-top-left-radius: 0;\n}\n.btn-group-justified {\n display: table;\n width: 100%;\n table-layout: fixed;\n border-collapse: separate;\n}\n.btn-group-justified > .btn,\n.btn-group-justified > .btn-group {\n float: none;\n display: table-cell;\n width: 1%;\n}\n.btn-group-justified > .btn-group .btn {\n width: 100%;\n}\n.btn-group-justified > .btn-group .dropdown-menu {\n left: auto;\n}\n[data-toggle=\"buttons\"] > .btn input[type=\"radio\"],\n[data-toggle=\"buttons\"] > .btn-group > .btn input[type=\"radio\"],\n[data-toggle=\"buttons\"] > .btn input[type=\"checkbox\"],\n[data-toggle=\"buttons\"] > .btn-group > .btn input[type=\"checkbox\"] {\n position: absolute;\n clip: rect(0, 0, 0, 0);\n pointer-events: none;\n}\n.input-group {\n position: relative;\n display: table;\n border-collapse: separate;\n}\n.input-group[class*=\"col-\"] {\n float: none;\n padding-left: 0;\n padding-right: 0;\n}\n.input-group .form-control {\n position: relative;\n z-index: 2;\n float: left;\n width: 100%;\n margin-bottom: 0;\n}\n.input-group .form-control:focus {\n z-index: 3;\n}\n.input-group-lg > .form-control,\n.input-group-lg > .input-group-addon,\n.input-group-lg > .input-group-btn > .btn {\n height: 46px;\n padding: 10px 16px;\n font-size: 18px;\n line-height: 1.3333333;\n border-radius: 6px;\n}\nselect.input-group-lg > .form-control,\nselect.input-group-lg > .input-group-addon,\nselect.input-group-lg > .input-group-btn > .btn {\n height: 46px;\n line-height: 46px;\n}\ntextarea.input-group-lg > .form-control,\ntextarea.input-group-lg > .input-group-addon,\ntextarea.input-group-lg > .input-group-btn > .btn,\nselect[multiple].input-group-lg > .form-control,\nselect[multiple].input-group-lg > .input-group-addon,\nselect[multiple].input-group-lg > .input-group-btn > .btn {\n height: auto;\n}\n.input-group-sm > .form-control,\n.input-group-sm > .input-group-addon,\n.input-group-sm > .input-group-btn > .btn {\n height: 30px;\n padding: 5px 10px;\n font-size: 12px;\n line-height: 1.5;\n border-radius: 3px;\n}\nselect.input-group-sm > .form-control,\nselect.input-group-sm > .input-group-addon,\nselect.input-group-sm > .input-group-btn > .btn {\n height: 30px;\n line-height: 30px;\n}\ntextarea.input-group-sm > .form-control,\ntextarea.input-group-sm > .input-group-addon,\ntextarea.input-group-sm > .input-group-btn > .btn,\nselect[multiple].input-group-sm > .form-control,\nselect[multiple].input-group-sm > .input-group-addon,\nselect[multiple].input-group-sm > .input-group-btn > .btn {\n height: auto;\n}\n.input-group-addon,\n.input-group-btn,\n.input-group .form-control {\n display: table-cell;\n}\n.input-group-addon:not(:first-child):not(:last-child),\n.input-group-btn:not(:first-child):not(:last-child),\n.input-group .form-control:not(:first-child):not(:last-child) {\n border-radius: 0;\n}\n.input-group-addon,\n.input-group-btn {\n width: 1%;\n white-space: nowrap;\n vertical-align: middle;\n}\n.input-group-addon {\n padding: 6px 12px;\n font-size: 14px;\n font-weight: normal;\n line-height: 1;\n color: #555555;\n text-align: center;\n background-color: #eeeeee;\n border: 1px solid #ccc;\n border-radius: 4px;\n}\n.input-group-addon.input-sm {\n padding: 5px 10px;\n font-size: 12px;\n border-radius: 3px;\n}\n.input-group-addon.input-lg {\n padding: 10px 16px;\n font-size: 18px;\n border-radius: 6px;\n}\n.input-group-addon input[type=\"radio\"],\n.input-group-addon input[type=\"checkbox\"] {\n margin-top: 0;\n}\n.input-group .form-control:first-child,\n.input-group-addon:first-child,\n.input-group-btn:first-child > .btn,\n.input-group-btn:first-child > .btn-group > .btn,\n.input-group-btn:first-child > .dropdown-toggle,\n.input-group-btn:last-child > .btn:not(:last-child):not(.dropdown-toggle),\n.input-group-btn:last-child > .btn-group:not(:last-child) > .btn {\n border-bottom-right-radius: 0;\n border-top-right-radius: 0;\n}\n.input-group-addon:first-child {\n border-right: 0;\n}\n.input-group .form-control:last-child,\n.input-group-addon:last-child,\n.input-group-btn:last-child > .btn,\n.input-group-btn:last-child > .btn-group > .btn,\n.input-group-btn:last-child > .dropdown-toggle,\n.input-group-btn:first-child > .btn:not(:first-child),\n.input-group-btn:first-child > .btn-group:not(:first-child) > .btn {\n border-bottom-left-radius: 0;\n border-top-left-radius: 0;\n}\n.input-group-addon:last-child {\n border-left: 0;\n}\n.input-group-btn {\n position: relative;\n font-size: 0;\n white-space: nowrap;\n}\n.input-group-btn > .btn {\n position: relative;\n}\n.input-group-btn > .btn + .btn {\n margin-left: -1px;\n}\n.input-group-btn > .btn:hover,\n.input-group-btn > .btn:focus,\n.input-group-btn > .btn:active {\n z-index: 2;\n}\n.input-group-btn:first-child > .btn,\n.input-group-btn:first-child > .btn-group {\n margin-right: -1px;\n}\n.input-group-btn:last-child > .btn,\n.input-group-btn:last-child > .btn-group {\n z-index: 2;\n margin-left: -1px;\n}\n.nav {\n margin-bottom: 0;\n padding-left: 0;\n list-style: none;\n}\n.nav > li {\n position: relative;\n display: block;\n}\n.nav > li > a {\n position: relative;\n display: block;\n padding: 10px 15px;\n}\n.nav > li > a:hover,\n.nav > li > a:focus {\n text-decoration: none;\n background-color: #eeeeee;\n}\n.nav > li.disabled > a {\n color: #777777;\n}\n.nav > li.disabled > a:hover,\n.nav > li.disabled > a:focus {\n color: #777777;\n text-decoration: none;\n background-color: transparent;\n cursor: not-allowed;\n}\n.nav .open > a,\n.nav .open > a:hover,\n.nav .open > a:focus {\n background-color: #eeeeee;\n border-color: #337ab7;\n}\n.nav .nav-divider {\n height: 1px;\n margin: 9px 0;\n overflow: hidden;\n background-color: #e5e5e5;\n}\n.nav > li > a > img {\n max-width: none;\n}\n.nav-tabs {\n border-bottom: 1px solid #ddd;\n}\n.nav-tabs > li {\n float: left;\n margin-bottom: -1px;\n}\n.nav-tabs > li > a {\n margin-right: 2px;\n line-height: 1.42857143;\n border: 1px solid transparent;\n border-radius: 4px 4px 0 0;\n}\n.nav-tabs > li > a:hover {\n border-color: #eeeeee #eeeeee #ddd;\n}\n.nav-tabs > li.active > a,\n.nav-tabs > li.active > a:hover,\n.nav-tabs > li.active > a:focus {\n color: #555555;\n background-color: #fff;\n border: 1px solid #ddd;\n border-bottom-color: transparent;\n cursor: default;\n}\n.nav-tabs.nav-justified {\n width: 100%;\n border-bottom: 0;\n}\n.nav-tabs.nav-justified > li {\n float: none;\n}\n.nav-tabs.nav-justified > li > a {\n text-align: center;\n margin-bottom: 5px;\n}\n.nav-tabs.nav-justified > .dropdown .dropdown-menu {\n top: auto;\n left: auto;\n}\n@media (min-width: 768px) {\n .nav-tabs.nav-justified > li {\n display: table-cell;\n width: 1%;\n }\n .nav-tabs.nav-justified > li > a {\n margin-bottom: 0;\n }\n}\n.nav-tabs.nav-justified > li > a {\n margin-right: 0;\n border-radius: 4px;\n}\n.nav-tabs.nav-justified > .active > a,\n.nav-tabs.nav-justified > .active > a:hover,\n.nav-tabs.nav-justified > .active > a:focus {\n border: 1px solid #ddd;\n}\n@media (min-width: 768px) {\n .nav-tabs.nav-justified > li > a {\n border-bottom: 1px solid #ddd;\n border-radius: 4px 4px 0 0;\n }\n .nav-tabs.nav-justified > .active > a,\n .nav-tabs.nav-justified > .active > a:hover,\n .nav-tabs.nav-justified > .active > a:focus {\n border-bottom-color: #fff;\n }\n}\n.nav-pills > li {\n float: left;\n}\n.nav-pills > li > a {\n border-radius: 4px;\n}\n.nav-pills > li + li {\n margin-left: 2px;\n}\n.nav-pills > li.active > a,\n.nav-pills > li.active > a:hover,\n.nav-pills > li.active > a:focus {\n color: #fff;\n background-color: #337ab7;\n}\n.nav-stacked > li {\n float: none;\n}\n.nav-stacked > li + li {\n margin-top: 2px;\n margin-left: 0;\n}\n.nav-justified {\n width: 100%;\n}\n.nav-justified > li {\n float: none;\n}\n.nav-justified > li > a {\n text-align: center;\n margin-bottom: 5px;\n}\n.nav-justified > .dropdown .dropdown-menu {\n top: auto;\n left: auto;\n}\n@media (min-width: 768px) {\n .nav-justified > li {\n display: table-cell;\n width: 1%;\n }\n .nav-justified > li > a {\n margin-bottom: 0;\n }\n}\n.nav-tabs-justified {\n border-bottom: 0;\n}\n.nav-tabs-justified > li > a {\n margin-right: 0;\n border-radius: 4px;\n}\n.nav-tabs-justified > .active > a,\n.nav-tabs-justified > .active > a:hover,\n.nav-tabs-justified > .active > a:focus {\n border: 1px solid #ddd;\n}\n@media (min-width: 768px) {\n .nav-tabs-justified > li > a {\n border-bottom: 1px solid #ddd;\n border-radius: 4px 4px 0 0;\n }\n .nav-tabs-justified > .active > a,\n .nav-tabs-justified > .active > a:hover,\n .nav-tabs-justified > .active > a:focus {\n border-bottom-color: #fff;\n }\n}\n.tab-content > .tab-pane {\n display: none;\n}\n.tab-content > .active {\n display: block;\n}\n.nav-tabs .dropdown-menu {\n margin-top: -1px;\n border-top-right-radius: 0;\n border-top-left-radius: 0;\n}\n.navbar {\n position: relative;\n min-height: 50px;\n margin-bottom: 20px;\n border: 1px solid transparent;\n}\n@media (min-width: 768px) {\n .navbar {\n border-radius: 4px;\n }\n}\n@media (min-width: 768px) {\n .navbar-header {\n float: left;\n }\n}\n.navbar-collapse {\n overflow-x: visible;\n padding-right: 15px;\n padding-left: 15px;\n border-top: 1px solid transparent;\n box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1);\n -webkit-overflow-scrolling: touch;\n}\n.navbar-collapse.in {\n overflow-y: auto;\n}\n@media (min-width: 768px) {\n .navbar-collapse {\n width: auto;\n border-top: 0;\n box-shadow: none;\n }\n .navbar-collapse.collapse {\n display: block !important;\n height: auto !important;\n padding-bottom: 0;\n overflow: visible !important;\n }\n .navbar-collapse.in {\n overflow-y: visible;\n }\n .navbar-fixed-top .navbar-collapse,\n .navbar-static-top .navbar-collapse,\n .navbar-fixed-bottom .navbar-collapse {\n padding-left: 0;\n padding-right: 0;\n }\n}\n.navbar-fixed-top .navbar-collapse,\n.navbar-fixed-bottom .navbar-collapse {\n max-height: 340px;\n}\n@media (max-device-width: 480px) and (orientation: landscape) {\n .navbar-fixed-top .navbar-collapse,\n .navbar-fixed-bottom .navbar-collapse {\n max-height: 200px;\n }\n}\n.container > .navbar-header,\n.container-fluid > .navbar-header,\n.container > .navbar-collapse,\n.container-fluid > .navbar-collapse {\n margin-right: -15px;\n margin-left: -15px;\n}\n@media (min-width: 768px) {\n .container > .navbar-header,\n .container-fluid > .navbar-header,\n .container > .navbar-collapse,\n .container-fluid > .navbar-collapse {\n margin-right: 0;\n margin-left: 0;\n }\n}\n.navbar-static-top {\n z-index: 1000;\n border-width: 0 0 1px;\n}\n@media (min-width: 768px) {\n .navbar-static-top {\n border-radius: 0;\n }\n}\n.navbar-fixed-top,\n.navbar-fixed-bottom {\n position: fixed;\n right: 0;\n left: 0;\n z-index: 1030;\n}\n@media (min-width: 768px) {\n .navbar-fixed-top,\n .navbar-fixed-bottom {\n border-radius: 0;\n }\n}\n.navbar-fixed-top {\n top: 0;\n border-width: 0 0 1px;\n}\n.navbar-fixed-bottom {\n bottom: 0;\n margin-bottom: 0;\n border-width: 1px 0 0;\n}\n.navbar-brand {\n float: left;\n padding: 15px 15px;\n font-size: 18px;\n line-height: 20px;\n height: 50px;\n}\n.navbar-brand:hover,\n.navbar-brand:focus {\n text-decoration: none;\n}\n.navbar-brand > img {\n display: block;\n}\n@media (min-width: 768px) {\n .navbar > .container .navbar-brand,\n .navbar > .container-fluid .navbar-brand {\n margin-left: -15px;\n }\n}\n.navbar-toggle {\n position: relative;\n float: right;\n margin-right: 15px;\n padding: 9px 10px;\n margin-top: 8px;\n margin-bottom: 8px;\n background-color: transparent;\n background-image: none;\n border: 1px solid transparent;\n border-radius: 4px;\n}\n.navbar-toggle:focus {\n outline: 0;\n}\n.navbar-toggle .icon-bar {\n display: block;\n width: 22px;\n height: 2px;\n border-radius: 1px;\n}\n.navbar-toggle .icon-bar + .icon-bar {\n margin-top: 4px;\n}\n@media (min-width: 768px) {\n .navbar-toggle {\n display: none;\n }\n}\n.navbar-nav {\n margin: 7.5px -15px;\n}\n.navbar-nav > li > a {\n padding-top: 10px;\n padding-bottom: 10px;\n line-height: 20px;\n}\n@media (max-width: 767px) {\n .navbar-nav .open .dropdown-menu {\n position: static;\n float: none;\n width: auto;\n margin-top: 0;\n background-color: transparent;\n border: 0;\n box-shadow: none;\n }\n .navbar-nav .open .dropdown-menu > li > a,\n .navbar-nav .open .dropdown-menu .dropdown-header {\n padding: 5px 15px 5px 25px;\n }\n .navbar-nav .open .dropdown-menu > li > a {\n line-height: 20px;\n }\n .navbar-nav .open .dropdown-menu > li > a:hover,\n .navbar-nav .open .dropdown-menu > li > a:focus {\n background-image: none;\n }\n}\n@media (min-width: 768px) {\n .navbar-nav {\n float: left;\n margin: 0;\n }\n .navbar-nav > li {\n float: left;\n }\n .navbar-nav > li > a {\n padding-top: 15px;\n padding-bottom: 15px;\n }\n}\n.navbar-form {\n margin-left: -15px;\n margin-right: -15px;\n padding: 10px 15px;\n border-top: 1px solid transparent;\n border-bottom: 1px solid transparent;\n -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.1);\n box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.1);\n margin-top: 8px;\n margin-bottom: 8px;\n}\n@media (min-width: 768px) {\n .navbar-form .form-group {\n display: inline-block;\n margin-bottom: 0;\n vertical-align: middle;\n }\n .navbar-form .form-control {\n display: inline-block;\n width: auto;\n vertical-align: middle;\n }\n .navbar-form .form-control-static {\n display: inline-block;\n }\n .navbar-form .input-group {\n display: inline-table;\n vertical-align: middle;\n }\n .navbar-form .input-group .input-group-addon,\n .navbar-form .input-group .input-group-btn,\n .navbar-form .input-group .form-control {\n width: auto;\n }\n .navbar-form .input-group > .form-control {\n width: 100%;\n }\n .navbar-form .control-label {\n margin-bottom: 0;\n vertical-align: middle;\n }\n .navbar-form .radio,\n .navbar-form .checkbox {\n display: inline-block;\n margin-top: 0;\n margin-bottom: 0;\n vertical-align: middle;\n }\n .navbar-form .radio label,\n .navbar-form .checkbox label {\n padding-left: 0;\n }\n .navbar-form .radio input[type=\"radio\"],\n .navbar-form .checkbox input[type=\"checkbox\"] {\n position: relative;\n margin-left: 0;\n }\n .navbar-form .has-feedback .form-control-feedback {\n top: 0;\n }\n}\n@media (max-width: 767px) {\n .navbar-form .form-group {\n margin-bottom: 5px;\n }\n .navbar-form .form-group:last-child {\n margin-bottom: 0;\n }\n}\n@media (min-width: 768px) {\n .navbar-form {\n width: auto;\n border: 0;\n margin-left: 0;\n margin-right: 0;\n padding-top: 0;\n padding-bottom: 0;\n -webkit-box-shadow: none;\n box-shadow: none;\n }\n}\n.navbar-nav > li > .dropdown-menu {\n margin-top: 0;\n border-top-right-radius: 0;\n border-top-left-radius: 0;\n}\n.navbar-fixed-bottom .navbar-nav > li > .dropdown-menu {\n margin-bottom: 0;\n border-top-right-radius: 4px;\n border-top-left-radius: 4px;\n border-bottom-right-radius: 0;\n border-bottom-left-radius: 0;\n}\n.navbar-btn {\n margin-top: 8px;\n margin-bottom: 8px;\n}\n.navbar-btn.btn-sm {\n margin-top: 10px;\n margin-bottom: 10px;\n}\n.navbar-btn.btn-xs {\n margin-top: 14px;\n margin-bottom: 14px;\n}\n.navbar-text {\n margin-top: 15px;\n margin-bottom: 15px;\n}\n@media (min-width: 768px) {\n .navbar-text {\n float: left;\n margin-left: 15px;\n margin-right: 15px;\n }\n}\n@media (min-width: 768px) {\n .navbar-left {\n float: left !important;\n }\n .navbar-right {\n float: right !important;\n margin-right: -15px;\n }\n .navbar-right ~ .navbar-right {\n margin-right: 0;\n }\n}\n.navbar-default {\n background-color: #f8f8f8;\n border-color: #e7e7e7;\n}\n.navbar-default .navbar-brand {\n color: #777;\n}\n.navbar-default .navbar-brand:hover,\n.navbar-default .navbar-brand:focus {\n color: #5e5e5e;\n background-color: transparent;\n}\n.navbar-default .navbar-text {\n color: #777;\n}\n.navbar-default .navbar-nav > li > a {\n color: #777;\n}\n.navbar-default .navbar-nav > li > a:hover,\n.navbar-default .navbar-nav > li > a:focus {\n color: #333;\n background-color: transparent;\n}\n.navbar-default .navbar-nav > .active > a,\n.navbar-default .navbar-nav > .active > a:hover,\n.navbar-default .navbar-nav > .active > a:focus {\n color: #555;\n background-color: #e7e7e7;\n}\n.navbar-default .navbar-nav > .disabled > a,\n.navbar-default .navbar-nav > .disabled > a:hover,\n.navbar-default .navbar-nav > .disabled > a:focus {\n color: #ccc;\n background-color: transparent;\n}\n.navbar-default .navbar-toggle {\n border-color: #ddd;\n}\n.navbar-default .navbar-toggle:hover,\n.navbar-default .navbar-toggle:focus {\n background-color: #ddd;\n}\n.navbar-default .navbar-toggle .icon-bar {\n background-color: #888;\n}\n.navbar-default .navbar-collapse,\n.navbar-default .navbar-form {\n border-color: #e7e7e7;\n}\n.navbar-default .navbar-nav > .open > a,\n.navbar-default .navbar-nav > .open > a:hover,\n.navbar-default .navbar-nav > .open > a:focus {\n background-color: #e7e7e7;\n color: #555;\n}\n@media (max-width: 767px) {\n .navbar-default .navbar-nav .open .dropdown-menu > li > a {\n color: #777;\n }\n .navbar-default .navbar-nav .open .dropdown-menu > li > a:hover,\n .navbar-default .navbar-nav .open .dropdown-menu > li > a:focus {\n color: #333;\n background-color: transparent;\n }\n .navbar-default .navbar-nav .open .dropdown-menu > .active > a,\n .navbar-default .navbar-nav .open .dropdown-menu > .active > a:hover,\n .navbar-default .navbar-nav .open .dropdown-menu > .active > a:focus {\n color: #555;\n background-color: #e7e7e7;\n }\n .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a,\n .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a:hover,\n .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a:focus {\n color: #ccc;\n background-color: transparent;\n }\n}\n.navbar-default .navbar-link {\n color: #777;\n}\n.navbar-default .navbar-link:hover {\n color: #333;\n}\n.navbar-default .btn-link {\n color: #777;\n}\n.navbar-default .btn-link:hover,\n.navbar-default .btn-link:focus {\n color: #333;\n}\n.navbar-default .btn-link[disabled]:hover,\nfieldset[disabled] .navbar-default .btn-link:hover,\n.navbar-default .btn-link[disabled]:focus,\nfieldset[disabled] .navbar-default .btn-link:focus {\n color: #ccc;\n}\n.navbar-inverse {\n background-color: #222;\n border-color: #080808;\n}\n.navbar-inverse .navbar-brand {\n color: #9d9d9d;\n}\n.navbar-inverse .navbar-brand:hover,\n.navbar-inverse .navbar-brand:focus {\n color: #fff;\n background-color: transparent;\n}\n.navbar-inverse .navbar-text {\n color: #9d9d9d;\n}\n.navbar-inverse .navbar-nav > li > a {\n color: #9d9d9d;\n}\n.navbar-inverse .navbar-nav > li > a:hover,\n.navbar-inverse .navbar-nav > li > a:focus {\n color: #fff;\n background-color: transparent;\n}\n.navbar-inverse .navbar-nav > .active > a,\n.navbar-inverse .navbar-nav > .active > a:hover,\n.navbar-inverse .navbar-nav > .active > a:focus {\n color: #fff;\n background-color: #080808;\n}\n.navbar-inverse .navbar-nav > .disabled > a,\n.navbar-inverse .navbar-nav > .disabled > a:hover,\n.navbar-inverse .navbar-nav > .disabled > a:focus {\n color: #444;\n background-color: transparent;\n}\n.navbar-inverse .navbar-toggle {\n border-color: #333;\n}\n.navbar-inverse .navbar-toggle:hover,\n.navbar-inverse .navbar-toggle:focus {\n background-color: #333;\n}\n.navbar-inverse .navbar-toggle .icon-bar {\n background-color: #fff;\n}\n.navbar-inverse .navbar-collapse,\n.navbar-inverse .navbar-form {\n border-color: #101010;\n}\n.navbar-inverse .navbar-nav > .open > a,\n.navbar-inverse .navbar-nav > .open > a:hover,\n.navbar-inverse .navbar-nav > .open > a:focus {\n background-color: #080808;\n color: #fff;\n}\n@media (max-width: 767px) {\n .navbar-inverse .navbar-nav .open .dropdown-menu > .dropdown-header {\n border-color: #080808;\n }\n .navbar-inverse .navbar-nav .open .dropdown-menu .divider {\n background-color: #080808;\n }\n .navbar-inverse .navbar-nav .open .dropdown-menu > li > a {\n color: #9d9d9d;\n }\n .navbar-inverse .navbar-nav .open .dropdown-menu > li > a:hover,\n .navbar-inverse .navbar-nav .open .dropdown-menu > li > a:focus {\n color: #fff;\n background-color: transparent;\n }\n .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a,\n .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a:hover,\n .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a:focus {\n color: #fff;\n background-color: #080808;\n }\n .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a,\n .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a:hover,\n .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a:focus {\n color: #444;\n background-color: transparent;\n }\n}\n.navbar-inverse .navbar-link {\n color: #9d9d9d;\n}\n.navbar-inverse .navbar-link:hover {\n color: #fff;\n}\n.navbar-inverse .btn-link {\n color: #9d9d9d;\n}\n.navbar-inverse .btn-link:hover,\n.navbar-inverse .btn-link:focus {\n color: #fff;\n}\n.navbar-inverse .btn-link[disabled]:hover,\nfieldset[disabled] .navbar-inverse .btn-link:hover,\n.navbar-inverse .btn-link[disabled]:focus,\nfieldset[disabled] .navbar-inverse .btn-link:focus {\n color: #444;\n}\n.breadcrumb {\n padding: 8px 15px;\n margin-bottom: 20px;\n list-style: none;\n background-color: #f5f5f5;\n border-radius: 4px;\n}\n.breadcrumb > li {\n display: inline-block;\n}\n.breadcrumb > li + li:before {\n content: \"/\\00a0\";\n padding: 0 5px;\n color: #ccc;\n}\n.breadcrumb > .active {\n color: #777777;\n}\n.pagination {\n display: inline-block;\n padding-left: 0;\n margin: 20px 0;\n border-radius: 4px;\n}\n.pagination > li {\n display: inline;\n}\n.pagination > li > a,\n.pagination > li > span {\n position: relative;\n float: left;\n padding: 6px 12px;\n line-height: 1.42857143;\n text-decoration: none;\n color: #337ab7;\n background-color: #fff;\n border: 1px solid #ddd;\n margin-left: -1px;\n}\n.pagination > li:first-child > a,\n.pagination > li:first-child > span {\n margin-left: 0;\n border-bottom-left-radius: 4px;\n border-top-left-radius: 4px;\n}\n.pagination > li:last-child > a,\n.pagination > li:last-child > span {\n border-bottom-right-radius: 4px;\n border-top-right-radius: 4px;\n}\n.pagination > li > a:hover,\n.pagination > li > span:hover,\n.pagination > li > a:focus,\n.pagination > li > span:focus {\n z-index: 2;\n color: #23527c;\n background-color: #eeeeee;\n border-color: #ddd;\n}\n.pagination > .active > a,\n.pagination > .active > span,\n.pagination > .active > a:hover,\n.pagination > .active > span:hover,\n.pagination > .active > a:focus,\n.pagination > .active > span:focus {\n z-index: 3;\n color: #fff;\n background-color: #337ab7;\n border-color: #337ab7;\n cursor: default;\n}\n.pagination > .disabled > span,\n.pagination > .disabled > span:hover,\n.pagination > .disabled > span:focus,\n.pagination > .disabled > a,\n.pagination > .disabled > a:hover,\n.pagination > .disabled > a:focus {\n color: #777777;\n background-color: #fff;\n border-color: #ddd;\n cursor: not-allowed;\n}\n.pagination-lg > li > a,\n.pagination-lg > li > span {\n padding: 10px 16px;\n font-size: 18px;\n line-height: 1.3333333;\n}\n.pagination-lg > li:first-child > a,\n.pagination-lg > li:first-child > span {\n border-bottom-left-radius: 6px;\n border-top-left-radius: 6px;\n}\n.pagination-lg > li:last-child > a,\n.pagination-lg > li:last-child > span {\n border-bottom-right-radius: 6px;\n border-top-right-radius: 6px;\n}\n.pagination-sm > li > a,\n.pagination-sm > li > span {\n padding: 5px 10px;\n font-size: 12px;\n line-height: 1.5;\n}\n.pagination-sm > li:first-child > a,\n.pagination-sm > li:first-child > span {\n border-bottom-left-radius: 3px;\n border-top-left-radius: 3px;\n}\n.pagination-sm > li:last-child > a,\n.pagination-sm > li:last-child > span {\n border-bottom-right-radius: 3px;\n border-top-right-radius: 3px;\n}\n.pager {\n padding-left: 0;\n margin: 20px 0;\n list-style: none;\n text-align: center;\n}\n.pager li {\n display: inline;\n}\n.pager li > a,\n.pager li > span {\n display: inline-block;\n padding: 5px 14px;\n background-color: #fff;\n border: 1px solid #ddd;\n border-radius: 15px;\n}\n.pager li > a:hover,\n.pager li > a:focus {\n text-decoration: none;\n background-color: #eeeeee;\n}\n.pager .next > a,\n.pager .next > span {\n float: right;\n}\n.pager .previous > a,\n.pager .previous > span {\n float: left;\n}\n.pager .disabled > a,\n.pager .disabled > a:hover,\n.pager .disabled > a:focus,\n.pager .disabled > span {\n color: #777777;\n background-color: #fff;\n cursor: not-allowed;\n}\n.label {\n display: inline;\n padding: .2em .6em .3em;\n font-size: 75%;\n font-weight: bold;\n line-height: 1;\n color: #fff;\n text-align: center;\n white-space: nowrap;\n vertical-align: baseline;\n border-radius: .25em;\n}\na.label:hover,\na.label:focus {\n color: #fff;\n text-decoration: none;\n cursor: pointer;\n}\n.label:empty {\n display: none;\n}\n.btn .label {\n position: relative;\n top: -1px;\n}\n.label-default {\n background-color: #777777;\n}\n.label-default[href]:hover,\n.label-default[href]:focus {\n background-color: #5e5e5e;\n}\n.label-primary {\n background-color: #337ab7;\n}\n.label-primary[href]:hover,\n.label-primary[href]:focus {\n background-color: #286090;\n}\n.label-success {\n background-color: #5cb85c;\n}\n.label-success[href]:hover,\n.label-success[href]:focus {\n background-color: #449d44;\n}\n.label-info {\n background-color: #5bc0de;\n}\n.label-info[href]:hover,\n.label-info[href]:focus {\n background-color: #31b0d5;\n}\n.label-warning {\n background-color: #f0ad4e;\n}\n.label-warning[href]:hover,\n.label-warning[href]:focus {\n background-color: #ec971f;\n}\n.label-danger {\n background-color: #d9534f;\n}\n.label-danger[href]:hover,\n.label-danger[href]:focus {\n background-color: #c9302c;\n}\n.badge {\n display: inline-block;\n min-width: 10px;\n padding: 3px 7px;\n font-size: 12px;\n font-weight: bold;\n color: #fff;\n line-height: 1;\n vertical-align: middle;\n white-space: nowrap;\n text-align: center;\n background-color: #777777;\n border-radius: 10px;\n}\n.badge:empty {\n display: none;\n}\n.btn .badge {\n position: relative;\n top: -1px;\n}\n.btn-xs .badge,\n.btn-group-xs > .btn .badge {\n top: 0;\n padding: 1px 5px;\n}\na.badge:hover,\na.badge:focus {\n color: #fff;\n text-decoration: none;\n cursor: pointer;\n}\n.list-group-item.active > .badge,\n.nav-pills > .active > a > .badge {\n color: #337ab7;\n background-color: #fff;\n}\n.list-group-item > .badge {\n float: right;\n}\n.list-group-item > .badge + .badge {\n margin-right: 5px;\n}\n.nav-pills > li > a > .badge {\n margin-left: 3px;\n}\n.jumbotron {\n padding-top: 30px;\n padding-bottom: 30px;\n margin-bottom: 30px;\n color: inherit;\n background-color: #eeeeee;\n}\n.jumbotron h1,\n.jumbotron .h1 {\n color: inherit;\n}\n.jumbotron p {\n margin-bottom: 15px;\n font-size: 21px;\n font-weight: 200;\n}\n.jumbotron > hr {\n border-top-color: #d5d5d5;\n}\n.container .jumbotron,\n.container-fluid .jumbotron {\n border-radius: 6px;\n padding-left: 15px;\n padding-right: 15px;\n}\n.jumbotron .container {\n max-width: 100%;\n}\n@media screen and (min-width: 768px) {\n .jumbotron {\n padding-top: 48px;\n padding-bottom: 48px;\n }\n .container .jumbotron,\n .container-fluid .jumbotron {\n padding-left: 60px;\n padding-right: 60px;\n }\n .jumbotron h1,\n .jumbotron .h1 {\n font-size: 63px;\n }\n}\n.thumbnail {\n display: block;\n padding: 4px;\n margin-bottom: 20px;\n line-height: 1.42857143;\n background-color: #fff;\n border: 1px solid #ddd;\n border-radius: 4px;\n -webkit-transition: border 0.2s ease-in-out;\n -o-transition: border 0.2s ease-in-out;\n transition: border 0.2s ease-in-out;\n}\n.thumbnail > img,\n.thumbnail a > img {\n margin-left: auto;\n margin-right: auto;\n}\na.thumbnail:hover,\na.thumbnail:focus,\na.thumbnail.active {\n border-color: #337ab7;\n}\n.thumbnail .caption {\n padding: 9px;\n color: #333333;\n}\n.alert {\n padding: 15px;\n margin-bottom: 20px;\n border: 1px solid transparent;\n border-radius: 4px;\n}\n.alert h4 {\n margin-top: 0;\n color: inherit;\n}\n.alert .alert-link {\n font-weight: bold;\n}\n.alert > p,\n.alert > ul {\n margin-bottom: 0;\n}\n.alert > p + p {\n margin-top: 5px;\n}\n.alert-dismissable,\n.alert-dismissible {\n padding-right: 35px;\n}\n.alert-dismissable .close,\n.alert-dismissible .close {\n position: relative;\n top: -2px;\n right: -21px;\n color: inherit;\n}\n.alert-success {\n background-color: #dff0d8;\n border-color: #d6e9c6;\n color: #3c763d;\n}\n.alert-success hr {\n border-top-color: #c9e2b3;\n}\n.alert-success .alert-link {\n color: #2b542c;\n}\n.alert-info {\n background-color: #d9edf7;\n border-color: #bce8f1;\n color: #31708f;\n}\n.alert-info hr {\n border-top-color: #a6e1ec;\n}\n.alert-info .alert-link {\n color: #245269;\n}\n.alert-warning {\n background-color: #fcf8e3;\n border-color: #faebcc;\n color: #8a6d3b;\n}\n.alert-warning hr {\n border-top-color: #f7e1b5;\n}\n.alert-warning .alert-link {\n color: #66512c;\n}\n.alert-danger {\n background-color: #f2dede;\n border-color: #ebccd1;\n color: #a94442;\n}\n.alert-danger hr {\n border-top-color: #e4b9c0;\n}\n.alert-danger .alert-link {\n color: #843534;\n}\n@-webkit-keyframes progress-bar-stripes {\n from {\n background-position: 40px 0;\n }\n to {\n background-position: 0 0;\n }\n}\n@keyframes progress-bar-stripes {\n from {\n background-position: 40px 0;\n }\n to {\n background-position: 0 0;\n }\n}\n.progress {\n overflow: hidden;\n height: 20px;\n margin-bottom: 20px;\n background-color: #f5f5f5;\n border-radius: 4px;\n -webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);\n box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);\n}\n.progress-bar {\n float: left;\n width: 0%;\n height: 100%;\n font-size: 12px;\n line-height: 20px;\n color: #fff;\n text-align: center;\n background-color: #337ab7;\n -webkit-box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15);\n box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15);\n -webkit-transition: width 0.6s ease;\n -o-transition: width 0.6s ease;\n transition: width 0.6s ease;\n}\n.progress-striped .progress-bar,\n.progress-bar-striped {\n background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n background-size: 40px 40px;\n}\n.progress.active .progress-bar,\n.progress-bar.active {\n -webkit-animation: progress-bar-stripes 2s linear infinite;\n -o-animation: progress-bar-stripes 2s linear infinite;\n animation: progress-bar-stripes 2s linear infinite;\n}\n.progress-bar-success {\n background-color: #5cb85c;\n}\n.progress-striped .progress-bar-success {\n background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n}\n.progress-bar-info {\n background-color: #5bc0de;\n}\n.progress-striped .progress-bar-info {\n background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n}\n.progress-bar-warning {\n background-color: #f0ad4e;\n}\n.progress-striped .progress-bar-warning {\n background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n}\n.progress-bar-danger {\n background-color: #d9534f;\n}\n.progress-striped .progress-bar-danger {\n background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n}\n.media {\n margin-top: 15px;\n}\n.media:first-child {\n margin-top: 0;\n}\n.media,\n.media-body {\n zoom: 1;\n overflow: hidden;\n}\n.media-body {\n width: 10000px;\n}\n.media-object {\n display: block;\n}\n.media-object.img-thumbnail {\n max-width: none;\n}\n.media-right,\n.media > .pull-right {\n padding-left: 10px;\n}\n.media-left,\n.media > .pull-left {\n padding-right: 10px;\n}\n.media-left,\n.media-right,\n.media-body {\n display: table-cell;\n vertical-align: top;\n}\n.media-middle {\n vertical-align: middle;\n}\n.media-bottom {\n vertical-align: bottom;\n}\n.media-heading {\n margin-top: 0;\n margin-bottom: 5px;\n}\n.media-list {\n padding-left: 0;\n list-style: none;\n}\n.list-group {\n margin-bottom: 20px;\n padding-left: 0;\n}\n.list-group-item {\n position: relative;\n display: block;\n padding: 10px 15px;\n margin-bottom: -1px;\n background-color: #fff;\n border: 1px solid #ddd;\n}\n.list-group-item:first-child {\n border-top-right-radius: 4px;\n border-top-left-radius: 4px;\n}\n.list-group-item:last-child {\n margin-bottom: 0;\n border-bottom-right-radius: 4px;\n border-bottom-left-radius: 4px;\n}\na.list-group-item,\nbutton.list-group-item {\n color: #555;\n}\na.list-group-item .list-group-item-heading,\nbutton.list-group-item .list-group-item-heading {\n color: #333;\n}\na.list-group-item:hover,\nbutton.list-group-item:hover,\na.list-group-item:focus,\nbutton.list-group-item:focus {\n text-decoration: none;\n color: #555;\n background-color: #f5f5f5;\n}\nbutton.list-group-item {\n width: 100%;\n text-align: left;\n}\n.list-group-item.disabled,\n.list-group-item.disabled:hover,\n.list-group-item.disabled:focus {\n background-color: #eeeeee;\n color: #777777;\n cursor: not-allowed;\n}\n.list-group-item.disabled .list-group-item-heading,\n.list-group-item.disabled:hover .list-group-item-heading,\n.list-group-item.disabled:focus .list-group-item-heading {\n color: inherit;\n}\n.list-group-item.disabled .list-group-item-text,\n.list-group-item.disabled:hover .list-group-item-text,\n.list-group-item.disabled:focus .list-group-item-text {\n color: #777777;\n}\n.list-group-item.active,\n.list-group-item.active:hover,\n.list-group-item.active:focus {\n z-index: 2;\n color: #fff;\n background-color: #337ab7;\n border-color: #337ab7;\n}\n.list-group-item.active .list-group-item-heading,\n.list-group-item.active:hover .list-group-item-heading,\n.list-group-item.active:focus .list-group-item-heading,\n.list-group-item.active .list-group-item-heading > small,\n.list-group-item.active:hover .list-group-item-heading > small,\n.list-group-item.active:focus .list-group-item-heading > small,\n.list-group-item.active .list-group-item-heading > .small,\n.list-group-item.active:hover .list-group-item-heading > .small,\n.list-group-item.active:focus .list-group-item-heading > .small {\n color: inherit;\n}\n.list-group-item.active .list-group-item-text,\n.list-group-item.active:hover .list-group-item-text,\n.list-group-item.active:focus .list-group-item-text {\n color: #c7ddef;\n}\n.list-group-item-success {\n color: #3c763d;\n background-color: #dff0d8;\n}\na.list-group-item-success,\nbutton.list-group-item-success {\n color: #3c763d;\n}\na.list-group-item-success .list-group-item-heading,\nbutton.list-group-item-success .list-group-item-heading {\n color: inherit;\n}\na.list-group-item-success:hover,\nbutton.list-group-item-success:hover,\na.list-group-item-success:focus,\nbutton.list-group-item-success:focus {\n color: #3c763d;\n background-color: #d0e9c6;\n}\na.list-group-item-success.active,\nbutton.list-group-item-success.active,\na.list-group-item-success.active:hover,\nbutton.list-group-item-success.active:hover,\na.list-group-item-success.active:focus,\nbutton.list-group-item-success.active:focus {\n color: #fff;\n background-color: #3c763d;\n border-color: #3c763d;\n}\n.list-group-item-info {\n color: #31708f;\n background-color: #d9edf7;\n}\na.list-group-item-info,\nbutton.list-group-item-info {\n color: #31708f;\n}\na.list-group-item-info .list-group-item-heading,\nbutton.list-group-item-info .list-group-item-heading {\n color: inherit;\n}\na.list-group-item-info:hover,\nbutton.list-group-item-info:hover,\na.list-group-item-info:focus,\nbutton.list-group-item-info:focus {\n color: #31708f;\n background-color: #c4e3f3;\n}\na.list-group-item-info.active,\nbutton.list-group-item-info.active,\na.list-group-item-info.active:hover,\nbutton.list-group-item-info.active:hover,\na.list-group-item-info.active:focus,\nbutton.list-group-item-info.active:focus {\n color: #fff;\n background-color: #31708f;\n border-color: #31708f;\n}\n.list-group-item-warning {\n color: #8a6d3b;\n background-color: #fcf8e3;\n}\na.list-group-item-warning,\nbutton.list-group-item-warning {\n color: #8a6d3b;\n}\na.list-group-item-warning .list-group-item-heading,\nbutton.list-group-item-warning .list-group-item-heading {\n color: inherit;\n}\na.list-group-item-warning:hover,\nbutton.list-group-item-warning:hover,\na.list-group-item-warning:focus,\nbutton.list-group-item-warning:focus {\n color: #8a6d3b;\n background-color: #faf2cc;\n}\na.list-group-item-warning.active,\nbutton.list-group-item-warning.active,\na.list-group-item-warning.active:hover,\nbutton.list-group-item-warning.active:hover,\na.list-group-item-warning.active:focus,\nbutton.list-group-item-warning.active:focus {\n color: #fff;\n background-color: #8a6d3b;\n border-color: #8a6d3b;\n}\n.list-group-item-danger {\n color: #a94442;\n background-color: #f2dede;\n}\na.list-group-item-danger,\nbutton.list-group-item-danger {\n color: #a94442;\n}\na.list-group-item-danger .list-group-item-heading,\nbutton.list-group-item-danger .list-group-item-heading {\n color: inherit;\n}\na.list-group-item-danger:hover,\nbutton.list-group-item-danger:hover,\na.list-group-item-danger:focus,\nbutton.list-group-item-danger:focus {\n color: #a94442;\n background-color: #ebcccc;\n}\na.list-group-item-danger.active,\nbutton.list-group-item-danger.active,\na.list-group-item-danger.active:hover,\nbutton.list-group-item-danger.active:hover,\na.list-group-item-danger.active:focus,\nbutton.list-group-item-danger.active:focus {\n color: #fff;\n background-color: #a94442;\n border-color: #a94442;\n}\n.list-group-item-heading {\n margin-top: 0;\n margin-bottom: 5px;\n}\n.list-group-item-text {\n margin-bottom: 0;\n line-height: 1.3;\n}\n.panel {\n margin-bottom: 20px;\n background-color: #fff;\n border: 1px solid transparent;\n border-radius: 4px;\n -webkit-box-shadow: 0 1px 1px rgba(0, 0, 0, 0.05);\n box-shadow: 0 1px 1px rgba(0, 0, 0, 0.05);\n}\n.panel-body {\n padding: 15px;\n}\n.panel-heading {\n padding: 10px 15px;\n border-bottom: 1px solid transparent;\n border-top-right-radius: 3px;\n border-top-left-radius: 3px;\n}\n.panel-heading > .dropdown .dropdown-toggle {\n color: inherit;\n}\n.panel-title {\n margin-top: 0;\n margin-bottom: 0;\n font-size: 16px;\n color: inherit;\n}\n.panel-title > a,\n.panel-title > small,\n.panel-title > .small,\n.panel-title > small > a,\n.panel-title > .small > a {\n color: inherit;\n}\n.panel-footer {\n padding: 10px 15px;\n background-color: #f5f5f5;\n border-top: 1px solid #ddd;\n border-bottom-right-radius: 3px;\n border-bottom-left-radius: 3px;\n}\n.panel > .list-group,\n.panel > .panel-collapse > .list-group {\n margin-bottom: 0;\n}\n.panel > .list-group .list-group-item,\n.panel > .panel-collapse > .list-group .list-group-item {\n border-width: 1px 0;\n border-radius: 0;\n}\n.panel > .list-group:first-child .list-group-item:first-child,\n.panel > .panel-collapse > .list-group:first-child .list-group-item:first-child {\n border-top: 0;\n border-top-right-radius: 3px;\n border-top-left-radius: 3px;\n}\n.panel > .list-group:last-child .list-group-item:last-child,\n.panel > .panel-collapse > .list-group:last-child .list-group-item:last-child {\n border-bottom: 0;\n border-bottom-right-radius: 3px;\n border-bottom-left-radius: 3px;\n}\n.panel > .panel-heading + .panel-collapse > .list-group .list-group-item:first-child {\n border-top-right-radius: 0;\n border-top-left-radius: 0;\n}\n.panel-heading + .list-group .list-group-item:first-child {\n border-top-width: 0;\n}\n.list-group + .panel-footer {\n border-top-width: 0;\n}\n.panel > .table,\n.panel > .table-responsive > .table,\n.panel > .panel-collapse > .table {\n margin-bottom: 0;\n}\n.panel > .table caption,\n.panel > .table-responsive > .table caption,\n.panel > .panel-collapse > .table caption {\n padding-left: 15px;\n padding-right: 15px;\n}\n.panel > .table:first-child,\n.panel > .table-responsive:first-child > .table:first-child {\n border-top-right-radius: 3px;\n border-top-left-radius: 3px;\n}\n.panel > .table:first-child > thead:first-child > tr:first-child,\n.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child,\n.panel > .table:first-child > tbody:first-child > tr:first-child,\n.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child {\n border-top-left-radius: 3px;\n border-top-right-radius: 3px;\n}\n.panel > .table:first-child > thead:first-child > tr:first-child td:first-child,\n.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child td:first-child,\n.panel > .table:first-child > tbody:first-child > tr:first-child td:first-child,\n.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child td:first-child,\n.panel > .table:first-child > thead:first-child > tr:first-child th:first-child,\n.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child th:first-child,\n.panel > .table:first-child > tbody:first-child > tr:first-child th:first-child,\n.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child th:first-child {\n border-top-left-radius: 3px;\n}\n.panel > .table:first-child > thead:first-child > tr:first-child td:last-child,\n.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child td:last-child,\n.panel > .table:first-child > tbody:first-child > tr:first-child td:last-child,\n.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child td:last-child,\n.panel > .table:first-child > thead:first-child > tr:first-child th:last-child,\n.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child th:last-child,\n.panel > .table:first-child > tbody:first-child > tr:first-child th:last-child,\n.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child th:last-child {\n border-top-right-radius: 3px;\n}\n.panel > .table:last-child,\n.panel > .table-responsive:last-child > .table:last-child {\n border-bottom-right-radius: 3px;\n border-bottom-left-radius: 3px;\n}\n.panel > .table:last-child > tbody:last-child > tr:last-child,\n.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child,\n.panel > .table:last-child > tfoot:last-child > tr:last-child,\n.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child {\n border-bottom-left-radius: 3px;\n border-bottom-right-radius: 3px;\n}\n.panel > .table:last-child > tbody:last-child > tr:last-child td:first-child,\n.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child td:first-child,\n.panel > .table:last-child > tfoot:last-child > tr:last-child td:first-child,\n.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child td:first-child,\n.panel > .table:last-child > tbody:last-child > tr:last-child th:first-child,\n.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child th:first-child,\n.panel > .table:last-child > tfoot:last-child > tr:last-child th:first-child,\n.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child th:first-child {\n border-bottom-left-radius: 3px;\n}\n.panel > .table:last-child > tbody:last-child > tr:last-child td:last-child,\n.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child td:last-child,\n.panel > .table:last-child > tfoot:last-child > tr:last-child td:last-child,\n.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child td:last-child,\n.panel > .table:last-child > tbody:last-child > tr:last-child th:last-child,\n.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child th:last-child,\n.panel > .table:last-child > tfoot:last-child > tr:last-child th:last-child,\n.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child th:last-child {\n border-bottom-right-radius: 3px;\n}\n.panel > .panel-body + .table,\n.panel > .panel-body + .table-responsive,\n.panel > .table + .panel-body,\n.panel > .table-responsive + .panel-body {\n border-top: 1px solid #ddd;\n}\n.panel > .table > tbody:first-child > tr:first-child th,\n.panel > .table > tbody:first-child > tr:first-child td {\n border-top: 0;\n}\n.panel > .table-bordered,\n.panel > .table-responsive > .table-bordered {\n border: 0;\n}\n.panel > .table-bordered > thead > tr > th:first-child,\n.panel > .table-responsive > .table-bordered > thead > tr > th:first-child,\n.panel > .table-bordered > tbody > tr > th:first-child,\n.panel > .table-responsive > .table-bordered > tbody > tr > th:first-child,\n.panel > .table-bordered > tfoot > tr > th:first-child,\n.panel > .table-responsive > .table-bordered > tfoot > tr > th:first-child,\n.panel > .table-bordered > thead > tr > td:first-child,\n.panel > .table-responsive > .table-bordered > thead > tr > td:first-child,\n.panel > .table-bordered > tbody > tr > td:first-child,\n.panel > .table-responsive > .table-bordered > tbody > tr > td:first-child,\n.panel > .table-bordered > tfoot > tr > td:first-child,\n.panel > .table-responsive > .table-bordered > tfoot > tr > td:first-child {\n border-left: 0;\n}\n.panel > .table-bordered > thead > tr > th:last-child,\n.panel > .table-responsive > .table-bordered > thead > tr > th:last-child,\n.panel > .table-bordered > tbody > tr > th:last-child,\n.panel > .table-responsive > .table-bordered > tbody > tr > th:last-child,\n.panel > .table-bordered > tfoot > tr > th:last-child,\n.panel > .table-responsive > .table-bordered > tfoot > tr > th:last-child,\n.panel > .table-bordered > thead > tr > td:last-child,\n.panel > .table-responsive > .table-bordered > thead > tr > td:last-child,\n.panel > .table-bordered > tbody > tr > td:last-child,\n.panel > .table-responsive > .table-bordered > tbody > tr > td:last-child,\n.panel > .table-bordered > tfoot > tr > td:last-child,\n.panel > .table-responsive > .table-bordered > tfoot > tr > td:last-child {\n border-right: 0;\n}\n.panel > .table-bordered > thead > tr:first-child > td,\n.panel > .table-responsive > .table-bordered > thead > tr:first-child > td,\n.panel > .table-bordered > tbody > tr:first-child > td,\n.panel > .table-responsive > .table-bordered > tbody > tr:first-child > td,\n.panel > .table-bordered > thead > tr:first-child > th,\n.panel > .table-responsive > .table-bordered > thead > tr:first-child > th,\n.panel > .table-bordered > tbody > tr:first-child > th,\n.panel > .table-responsive > .table-bordered > tbody > tr:first-child > th {\n border-bottom: 0;\n}\n.panel > .table-bordered > tbody > tr:last-child > td,\n.panel > .table-responsive > .table-bordered > tbody > tr:last-child > td,\n.panel > .table-bordered > tfoot > tr:last-child > td,\n.panel > .table-responsive > .table-bordered > tfoot > tr:last-child > td,\n.panel > .table-bordered > tbody > tr:last-child > th,\n.panel > .table-responsive > .table-bordered > tbody > tr:last-child > th,\n.panel > .table-bordered > tfoot > tr:last-child > th,\n.panel > .table-responsive > .table-bordered > tfoot > tr:last-child > th {\n border-bottom: 0;\n}\n.panel > .table-responsive {\n border: 0;\n margin-bottom: 0;\n}\n.panel-group {\n margin-bottom: 20px;\n}\n.panel-group .panel {\n margin-bottom: 0;\n border-radius: 4px;\n}\n.panel-group .panel + .panel {\n margin-top: 5px;\n}\n.panel-group .panel-heading {\n border-bottom: 0;\n}\n.panel-group .panel-heading + .panel-collapse > .panel-body,\n.panel-group .panel-heading + .panel-collapse > .list-group {\n border-top: 1px solid #ddd;\n}\n.panel-group .panel-footer {\n border-top: 0;\n}\n.panel-group .panel-footer + .panel-collapse .panel-body {\n border-bottom: 1px solid #ddd;\n}\n.panel-default {\n border-color: #ddd;\n}\n.panel-default > .panel-heading {\n color: #333333;\n background-color: #f5f5f5;\n border-color: #ddd;\n}\n.panel-default > .panel-heading + .panel-collapse > .panel-body {\n border-top-color: #ddd;\n}\n.panel-default > .panel-heading .badge {\n color: #f5f5f5;\n background-color: #333333;\n}\n.panel-default > .panel-footer + .panel-collapse > .panel-body {\n border-bottom-color: #ddd;\n}\n.panel-primary {\n border-color: #337ab7;\n}\n.panel-primary > .panel-heading {\n color: #fff;\n background-color: #337ab7;\n border-color: #337ab7;\n}\n.panel-primary > .panel-heading + .panel-collapse > .panel-body {\n border-top-color: #337ab7;\n}\n.panel-primary > .panel-heading .badge {\n color: #337ab7;\n background-color: #fff;\n}\n.panel-primary > .panel-footer + .panel-collapse > .panel-body {\n border-bottom-color: #337ab7;\n}\n.panel-success {\n border-color: #d6e9c6;\n}\n.panel-success > .panel-heading {\n color: #3c763d;\n background-color: #dff0d8;\n border-color: #d6e9c6;\n}\n.panel-success > .panel-heading + .panel-collapse > .panel-body {\n border-top-color: #d6e9c6;\n}\n.panel-success > .panel-heading .badge {\n color: #dff0d8;\n background-color: #3c763d;\n}\n.panel-success > .panel-footer + .panel-collapse > .panel-body {\n border-bottom-color: #d6e9c6;\n}\n.panel-info {\n border-color: #bce8f1;\n}\n.panel-info > .panel-heading {\n color: #31708f;\n background-color: #d9edf7;\n border-color: #bce8f1;\n}\n.panel-info > .panel-heading + .panel-collapse > .panel-body {\n border-top-color: #bce8f1;\n}\n.panel-info > .panel-heading .badge {\n color: #d9edf7;\n background-color: #31708f;\n}\n.panel-info > .panel-footer + .panel-collapse > .panel-body {\n border-bottom-color: #bce8f1;\n}\n.panel-warning {\n border-color: #faebcc;\n}\n.panel-warning > .panel-heading {\n color: #8a6d3b;\n background-color: #fcf8e3;\n border-color: #faebcc;\n}\n.panel-warning > .panel-heading + .panel-collapse > .panel-body {\n border-top-color: #faebcc;\n}\n.panel-warning > .panel-heading .badge {\n color: #fcf8e3;\n background-color: #8a6d3b;\n}\n.panel-warning > .panel-footer + .panel-collapse > .panel-body {\n border-bottom-color: #faebcc;\n}\n.panel-danger {\n border-color: #ebccd1;\n}\n.panel-danger > .panel-heading {\n color: #a94442;\n background-color: #f2dede;\n border-color: #ebccd1;\n}\n.panel-danger > .panel-heading + .panel-collapse > .panel-body {\n border-top-color: #ebccd1;\n}\n.panel-danger > .panel-heading .badge {\n color: #f2dede;\n background-color: #a94442;\n}\n.panel-danger > .panel-footer + .panel-collapse > .panel-body {\n border-bottom-color: #ebccd1;\n}\n.embed-responsive {\n position: relative;\n display: block;\n height: 0;\n padding: 0;\n overflow: hidden;\n}\n.embed-responsive .embed-responsive-item,\n.embed-responsive iframe,\n.embed-responsive embed,\n.embed-responsive object,\n.embed-responsive video {\n position: absolute;\n top: 0;\n left: 0;\n bottom: 0;\n height: 100%;\n width: 100%;\n border: 0;\n}\n.embed-responsive-16by9 {\n padding-bottom: 56.25%;\n}\n.embed-responsive-4by3 {\n padding-bottom: 75%;\n}\n.well {\n min-height: 20px;\n padding: 19px;\n margin-bottom: 20px;\n background-color: #f5f5f5;\n border: 1px solid #e3e3e3;\n border-radius: 4px;\n -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05);\n box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05);\n}\n.well blockquote {\n border-color: #ddd;\n border-color: rgba(0, 0, 0, 0.15);\n}\n.well-lg {\n padding: 24px;\n border-radius: 6px;\n}\n.well-sm {\n padding: 9px;\n border-radius: 3px;\n}\n.close {\n float: right;\n font-size: 21px;\n font-weight: bold;\n line-height: 1;\n color: #000;\n text-shadow: 0 1px 0 #fff;\n opacity: 0.2;\n filter: alpha(opacity=20);\n}\n.close:hover,\n.close:focus {\n color: #000;\n text-decoration: none;\n cursor: pointer;\n opacity: 0.5;\n filter: alpha(opacity=50);\n}\nbutton.close {\n padding: 0;\n cursor: pointer;\n background: transparent;\n border: 0;\n -webkit-appearance: none;\n}\n.modal-open {\n overflow: hidden;\n}\n.modal {\n display: none;\n overflow: hidden;\n position: fixed;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: 1050;\n -webkit-overflow-scrolling: touch;\n outline: 0;\n}\n.modal.fade .modal-dialog {\n -webkit-transform: translate(0, -25%);\n -ms-transform: translate(0, -25%);\n -o-transform: translate(0, -25%);\n transform: translate(0, -25%);\n -webkit-transition: -webkit-transform 0.3s ease-out;\n -moz-transition: -moz-transform 0.3s ease-out;\n -o-transition: -o-transform 0.3s ease-out;\n transition: transform 0.3s ease-out;\n}\n.modal.in .modal-dialog {\n -webkit-transform: translate(0, 0);\n -ms-transform: translate(0, 0);\n -o-transform: translate(0, 0);\n transform: translate(0, 0);\n}\n.modal-open .modal {\n overflow-x: hidden;\n overflow-y: auto;\n}\n.modal-dialog {\n position: relative;\n width: auto;\n margin: 10px;\n}\n.modal-content {\n position: relative;\n background-color: #fff;\n border: 1px solid #999;\n border: 1px solid rgba(0, 0, 0, 0.2);\n border-radius: 6px;\n -webkit-box-shadow: 0 3px 9px rgba(0, 0, 0, 0.5);\n box-shadow: 0 3px 9px rgba(0, 0, 0, 0.5);\n background-clip: padding-box;\n outline: 0;\n}\n.modal-backdrop {\n position: fixed;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: 1040;\n background-color: #000;\n}\n.modal-backdrop.fade {\n opacity: 0;\n filter: alpha(opacity=0);\n}\n.modal-backdrop.in {\n opacity: 0.5;\n filter: alpha(opacity=50);\n}\n.modal-header {\n padding: 15px;\n border-bottom: 1px solid #e5e5e5;\n}\n.modal-header .close {\n margin-top: -2px;\n}\n.modal-title {\n margin: 0;\n line-height: 1.42857143;\n}\n.modal-body {\n position: relative;\n padding: 15px;\n}\n.modal-footer {\n padding: 15px;\n text-align: right;\n border-top: 1px solid #e5e5e5;\n}\n.modal-footer .btn + .btn {\n margin-left: 5px;\n margin-bottom: 0;\n}\n.modal-footer .btn-group .btn + .btn {\n margin-left: -1px;\n}\n.modal-footer .btn-block + .btn-block {\n margin-left: 0;\n}\n.modal-scrollbar-measure {\n position: absolute;\n top: -9999px;\n width: 50px;\n height: 50px;\n overflow: scroll;\n}\n@media (min-width: 768px) {\n .modal-dialog {\n width: 600px;\n margin: 30px auto;\n }\n .modal-content {\n -webkit-box-shadow: 0 5px 15px rgba(0, 0, 0, 0.5);\n box-shadow: 0 5px 15px rgba(0, 0, 0, 0.5);\n }\n .modal-sm {\n width: 300px;\n }\n}\n@media (min-width: 992px) {\n .modal-lg {\n width: 900px;\n }\n}\n.tooltip {\n position: absolute;\n z-index: 1070;\n display: block;\n font-family: \"Helvetica Neue\", Helvetica, Arial, sans-serif;\n font-style: normal;\n font-weight: normal;\n letter-spacing: normal;\n line-break: auto;\n line-height: 1.42857143;\n text-align: left;\n text-align: start;\n text-decoration: none;\n text-shadow: none;\n text-transform: none;\n white-space: normal;\n word-break: normal;\n word-spacing: normal;\n word-wrap: normal;\n font-size: 12px;\n opacity: 0;\n filter: alpha(opacity=0);\n}\n.tooltip.in {\n opacity: 0.9;\n filter: alpha(opacity=90);\n}\n.tooltip.top {\n margin-top: -3px;\n padding: 5px 0;\n}\n.tooltip.right {\n margin-left: 3px;\n padding: 0 5px;\n}\n.tooltip.bottom {\n margin-top: 3px;\n padding: 5px 0;\n}\n.tooltip.left {\n margin-left: -3px;\n padding: 0 5px;\n}\n.tooltip-inner {\n max-width: 200px;\n padding: 3px 8px;\n color: #fff;\n text-align: center;\n background-color: #000;\n border-radius: 4px;\n}\n.tooltip-arrow {\n position: absolute;\n width: 0;\n height: 0;\n border-color: transparent;\n border-style: solid;\n}\n.tooltip.top .tooltip-arrow {\n bottom: 0;\n left: 50%;\n margin-left: -5px;\n border-width: 5px 5px 0;\n border-top-color: #000;\n}\n.tooltip.top-left .tooltip-arrow {\n bottom: 0;\n right: 5px;\n margin-bottom: -5px;\n border-width: 5px 5px 0;\n border-top-color: #000;\n}\n.tooltip.top-right .tooltip-arrow {\n bottom: 0;\n left: 5px;\n margin-bottom: -5px;\n border-width: 5px 5px 0;\n border-top-color: #000;\n}\n.tooltip.right .tooltip-arrow {\n top: 50%;\n left: 0;\n margin-top: -5px;\n border-width: 5px 5px 5px 0;\n border-right-color: #000;\n}\n.tooltip.left .tooltip-arrow {\n top: 50%;\n right: 0;\n margin-top: -5px;\n border-width: 5px 0 5px 5px;\n border-left-color: #000;\n}\n.tooltip.bottom .tooltip-arrow {\n top: 0;\n left: 50%;\n margin-left: -5px;\n border-width: 0 5px 5px;\n border-bottom-color: #000;\n}\n.tooltip.bottom-left .tooltip-arrow {\n top: 0;\n right: 5px;\n margin-top: -5px;\n border-width: 0 5px 5px;\n border-bottom-color: #000;\n}\n.tooltip.bottom-right .tooltip-arrow {\n top: 0;\n left: 5px;\n margin-top: -5px;\n border-width: 0 5px 5px;\n border-bottom-color: #000;\n}\n.popover {\n position: absolute;\n top: 0;\n left: 0;\n z-index: 1060;\n display: none;\n max-width: 276px;\n padding: 1px;\n font-family: \"Helvetica Neue\", Helvetica, Arial, sans-serif;\n font-style: normal;\n font-weight: normal;\n letter-spacing: normal;\n line-break: auto;\n line-height: 1.42857143;\n text-align: left;\n text-align: start;\n text-decoration: none;\n text-shadow: none;\n text-transform: none;\n white-space: normal;\n word-break: normal;\n word-spacing: normal;\n word-wrap: normal;\n font-size: 14px;\n background-color: #fff;\n background-clip: padding-box;\n border: 1px solid #ccc;\n border: 1px solid rgba(0, 0, 0, 0.2);\n border-radius: 6px;\n -webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);\n box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);\n}\n.popover.top {\n margin-top: -10px;\n}\n.popover.right {\n margin-left: 10px;\n}\n.popover.bottom {\n margin-top: 10px;\n}\n.popover.left {\n margin-left: -10px;\n}\n.popover-title {\n margin: 0;\n padding: 8px 14px;\n font-size: 14px;\n background-color: #f7f7f7;\n border-bottom: 1px solid #ebebeb;\n border-radius: 5px 5px 0 0;\n}\n.popover-content {\n padding: 9px 14px;\n}\n.popover > .arrow,\n.popover > .arrow:after {\n position: absolute;\n display: block;\n width: 0;\n height: 0;\n border-color: transparent;\n border-style: solid;\n}\n.popover > .arrow {\n border-width: 11px;\n}\n.popover > .arrow:after {\n border-width: 10px;\n content: \"\";\n}\n.popover.top > .arrow {\n left: 50%;\n margin-left: -11px;\n border-bottom-width: 0;\n border-top-color: #999999;\n border-top-color: rgba(0, 0, 0, 0.25);\n bottom: -11px;\n}\n.popover.top > .arrow:after {\n content: \" \";\n bottom: 1px;\n margin-left: -10px;\n border-bottom-width: 0;\n border-top-color: #fff;\n}\n.popover.right > .arrow {\n top: 50%;\n left: -11px;\n margin-top: -11px;\n border-left-width: 0;\n border-right-color: #999999;\n border-right-color: rgba(0, 0, 0, 0.25);\n}\n.popover.right > .arrow:after {\n content: \" \";\n left: 1px;\n bottom: -10px;\n border-left-width: 0;\n border-right-color: #fff;\n}\n.popover.bottom > .arrow {\n left: 50%;\n margin-left: -11px;\n border-top-width: 0;\n border-bottom-color: #999999;\n border-bottom-color: rgba(0, 0, 0, 0.25);\n top: -11px;\n}\n.popover.bottom > .arrow:after {\n content: \" \";\n top: 1px;\n margin-left: -10px;\n border-top-width: 0;\n border-bottom-color: #fff;\n}\n.popover.left > .arrow {\n top: 50%;\n right: -11px;\n margin-top: -11px;\n border-right-width: 0;\n border-left-color: #999999;\n border-left-color: rgba(0, 0, 0, 0.25);\n}\n.popover.left > .arrow:after {\n content: \" \";\n right: 1px;\n border-right-width: 0;\n border-left-color: #fff;\n bottom: -10px;\n}\n.carousel {\n position: relative;\n}\n.carousel-inner {\n position: relative;\n overflow: hidden;\n width: 100%;\n}\n.carousel-inner > .item {\n display: none;\n position: relative;\n -webkit-transition: 0.6s ease-in-out left;\n -o-transition: 0.6s ease-in-out left;\n transition: 0.6s ease-in-out left;\n}\n.carousel-inner > .item > img,\n.carousel-inner > .item > a > img {\n line-height: 1;\n}\n@media all and (transform-3d), (-webkit-transform-3d) {\n .carousel-inner > .item {\n -webkit-transition: -webkit-transform 0.6s ease-in-out;\n -moz-transition: -moz-transform 0.6s ease-in-out;\n -o-transition: -o-transform 0.6s ease-in-out;\n transition: transform 0.6s ease-in-out;\n -webkit-backface-visibility: hidden;\n -moz-backface-visibility: hidden;\n backface-visibility: hidden;\n -webkit-perspective: 1000px;\n -moz-perspective: 1000px;\n perspective: 1000px;\n }\n .carousel-inner > .item.next,\n .carousel-inner > .item.active.right {\n -webkit-transform: translate3d(100%, 0, 0);\n transform: translate3d(100%, 0, 0);\n left: 0;\n }\n .carousel-inner > .item.prev,\n .carousel-inner > .item.active.left {\n -webkit-transform: translate3d(-100%, 0, 0);\n transform: translate3d(-100%, 0, 0);\n left: 0;\n }\n .carousel-inner > .item.next.left,\n .carousel-inner > .item.prev.right,\n .carousel-inner > .item.active {\n -webkit-transform: translate3d(0, 0, 0);\n transform: translate3d(0, 0, 0);\n left: 0;\n }\n}\n.carousel-inner > .active,\n.carousel-inner > .next,\n.carousel-inner > .prev {\n display: block;\n}\n.carousel-inner > .active {\n left: 0;\n}\n.carousel-inner > .next,\n.carousel-inner > .prev {\n position: absolute;\n top: 0;\n width: 100%;\n}\n.carousel-inner > .next {\n left: 100%;\n}\n.carousel-inner > .prev {\n left: -100%;\n}\n.carousel-inner > .next.left,\n.carousel-inner > .prev.right {\n left: 0;\n}\n.carousel-inner > .active.left {\n left: -100%;\n}\n.carousel-inner > .active.right {\n left: 100%;\n}\n.carousel-control {\n position: absolute;\n top: 0;\n left: 0;\n bottom: 0;\n width: 15%;\n opacity: 0.5;\n filter: alpha(opacity=50);\n font-size: 20px;\n color: #fff;\n text-align: center;\n text-shadow: 0 1px 2px rgba(0, 0, 0, 0.6);\n background-color: rgba(0, 0, 0, 0);\n}\n.carousel-control.left {\n background-image: -webkit-linear-gradient(left, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0.0001) 100%);\n background-image: -o-linear-gradient(left, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0.0001) 100%);\n background-image: linear-gradient(to right, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0.0001) 100%);\n background-repeat: repeat-x;\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#80000000', endColorstr='#00000000', GradientType=1);\n}\n.carousel-control.right {\n left: auto;\n right: 0;\n background-image: -webkit-linear-gradient(left, rgba(0, 0, 0, 0.0001) 0%, rgba(0, 0, 0, 0.5) 100%);\n background-image: -o-linear-gradient(left, rgba(0, 0, 0, 0.0001) 0%, rgba(0, 0, 0, 0.5) 100%);\n background-image: linear-gradient(to right, rgba(0, 0, 0, 0.0001) 0%, rgba(0, 0, 0, 0.5) 100%);\n background-repeat: repeat-x;\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000', endColorstr='#80000000', GradientType=1);\n}\n.carousel-control:hover,\n.carousel-control:focus {\n outline: 0;\n color: #fff;\n text-decoration: none;\n opacity: 0.9;\n filter: alpha(opacity=90);\n}\n.carousel-control .icon-prev,\n.carousel-control .icon-next,\n.carousel-control .glyphicon-chevron-left,\n.carousel-control .glyphicon-chevron-right {\n position: absolute;\n top: 50%;\n margin-top: -10px;\n z-index: 5;\n display: inline-block;\n}\n.carousel-control .icon-prev,\n.carousel-control .glyphicon-chevron-left {\n left: 50%;\n margin-left: -10px;\n}\n.carousel-control .icon-next,\n.carousel-control .glyphicon-chevron-right {\n right: 50%;\n margin-right: -10px;\n}\n.carousel-control .icon-prev,\n.carousel-control .icon-next {\n width: 20px;\n height: 20px;\n line-height: 1;\n font-family: serif;\n}\n.carousel-control .icon-prev:before {\n content: '\\2039';\n}\n.carousel-control .icon-next:before {\n content: '\\203a';\n}\n.carousel-indicators {\n position: absolute;\n bottom: 10px;\n left: 50%;\n z-index: 15;\n width: 60%;\n margin-left: -30%;\n padding-left: 0;\n list-style: none;\n text-align: center;\n}\n.carousel-indicators li {\n display: inline-block;\n width: 10px;\n height: 10px;\n margin: 1px;\n text-indent: -999px;\n border: 1px solid #fff;\n border-radius: 10px;\n cursor: pointer;\n background-color: #000 \\9;\n background-color: rgba(0, 0, 0, 0);\n}\n.carousel-indicators .active {\n margin: 0;\n width: 12px;\n height: 12px;\n background-color: #fff;\n}\n.carousel-caption {\n position: absolute;\n left: 15%;\n right: 15%;\n bottom: 20px;\n z-index: 10;\n padding-top: 20px;\n padding-bottom: 20px;\n color: #fff;\n text-align: center;\n text-shadow: 0 1px 2px rgba(0, 0, 0, 0.6);\n}\n.carousel-caption .btn {\n text-shadow: none;\n}\n@media screen and (min-width: 768px) {\n .carousel-control .glyphicon-chevron-left,\n .carousel-control .glyphicon-chevron-right,\n .carousel-control .icon-prev,\n .carousel-control .icon-next {\n width: 30px;\n height: 30px;\n margin-top: -10px;\n font-size: 30px;\n }\n .carousel-control .glyphicon-chevron-left,\n .carousel-control .icon-prev {\n margin-left: -10px;\n }\n .carousel-control .glyphicon-chevron-right,\n .carousel-control .icon-next {\n margin-right: -10px;\n }\n .carousel-caption {\n left: 20%;\n right: 20%;\n padding-bottom: 30px;\n }\n .carousel-indicators {\n bottom: 20px;\n }\n}\n.clearfix:before,\n.clearfix:after,\n.dl-horizontal dd:before,\n.dl-horizontal dd:after,\n.container:before,\n.container:after,\n.container-fluid:before,\n.container-fluid:after,\n.row:before,\n.row:after,\n.form-horizontal .form-group:before,\n.form-horizontal .form-group:after,\n.btn-toolbar:before,\n.btn-toolbar:after,\n.btn-group-vertical > .btn-group:before,\n.btn-group-vertical > .btn-group:after,\n.nav:before,\n.nav:after,\n.navbar:before,\n.navbar:after,\n.navbar-header:before,\n.navbar-header:after,\n.navbar-collapse:before,\n.navbar-collapse:after,\n.pager:before,\n.pager:after,\n.panel-body:before,\n.panel-body:after,\n.modal-header:before,\n.modal-header:after,\n.modal-footer:before,\n.modal-footer:after {\n content: \" \";\n display: table;\n}\n.clearfix:after,\n.dl-horizontal dd:after,\n.container:after,\n.container-fluid:after,\n.row:after,\n.form-horizontal .form-group:after,\n.btn-toolbar:after,\n.btn-group-vertical > .btn-group:after,\n.nav:after,\n.navbar:after,\n.navbar-header:after,\n.navbar-collapse:after,\n.pager:after,\n.panel-body:after,\n.modal-header:after,\n.modal-footer:after {\n clear: both;\n}\n.center-block {\n display: block;\n margin-left: auto;\n margin-right: auto;\n}\n.pull-right {\n float: right !important;\n}\n.pull-left {\n float: left !important;\n}\n.hide {\n display: none !important;\n}\n.show {\n display: block !important;\n}\n.invisible {\n visibility: hidden;\n}\n.text-hide {\n font: 0/0 a;\n color: transparent;\n text-shadow: none;\n background-color: transparent;\n border: 0;\n}\n.hidden {\n display: none !important;\n}\n.affix {\n position: fixed;\n}\n@-ms-viewport {\n width: device-width;\n}\n.visible-xs,\n.visible-sm,\n.visible-md,\n.visible-lg {\n display: none !important;\n}\n.visible-xs-block,\n.visible-xs-inline,\n.visible-xs-inline-block,\n.visible-sm-block,\n.visible-sm-inline,\n.visible-sm-inline-block,\n.visible-md-block,\n.visible-md-inline,\n.visible-md-inline-block,\n.visible-lg-block,\n.visible-lg-inline,\n.visible-lg-inline-block {\n display: none !important;\n}\n@media (max-width: 767px) {\n .visible-xs {\n display: block !important;\n }\n table.visible-xs {\n display: table !important;\n }\n tr.visible-xs {\n display: table-row !important;\n }\n th.visible-xs,\n td.visible-xs {\n display: table-cell !important;\n }\n}\n@media (max-width: 767px) {\n .visible-xs-block {\n display: block !important;\n }\n}\n@media (max-width: 767px) {\n .visible-xs-inline {\n display: inline !important;\n }\n}\n@media (max-width: 767px) {\n .visible-xs-inline-block {\n display: inline-block !important;\n }\n}\n@media (min-width: 768px) and (max-width: 991px) {\n .visible-sm {\n display: block !important;\n }\n table.visible-sm {\n display: table !important;\n }\n tr.visible-sm {\n display: table-row !important;\n }\n th.visible-sm,\n td.visible-sm {\n display: table-cell !important;\n }\n}\n@media (min-width: 768px) and (max-width: 991px) {\n .visible-sm-block {\n display: block !important;\n }\n}\n@media (min-width: 768px) and (max-width: 991px) {\n .visible-sm-inline {\n display: inline !important;\n }\n}\n@media (min-width: 768px) and (max-width: 991px) {\n .visible-sm-inline-block {\n display: inline-block !important;\n }\n}\n@media (min-width: 992px) and (max-width: 1199px) {\n .visible-md {\n display: block !important;\n }\n table.visible-md {\n display: table !important;\n }\n tr.visible-md {\n display: table-row !important;\n }\n th.visible-md,\n td.visible-md {\n display: table-cell !important;\n }\n}\n@media (min-width: 992px) and (max-width: 1199px) {\n .visible-md-block {\n display: block !important;\n }\n}\n@media (min-width: 992px) and (max-width: 1199px) {\n .visible-md-inline {\n display: inline !important;\n }\n}\n@media (min-width: 992px) and (max-width: 1199px) {\n .visible-md-inline-block {\n display: inline-block !important;\n }\n}\n@media (min-width: 1200px) {\n .visible-lg {\n display: block !important;\n }\n table.visible-lg {\n display: table !important;\n }\n tr.visible-lg {\n display: table-row !important;\n }\n th.visible-lg,\n td.visible-lg {\n display: table-cell !important;\n }\n}\n@media (min-width: 1200px) {\n .visible-lg-block {\n display: block !important;\n }\n}\n@media (min-width: 1200px) {\n .visible-lg-inline {\n display: inline !important;\n }\n}\n@media (min-width: 1200px) {\n .visible-lg-inline-block {\n display: inline-block !important;\n }\n}\n@media (max-width: 767px) {\n .hidden-xs {\n display: none !important;\n }\n}\n@media (min-width: 768px) and (max-width: 991px) {\n .hidden-sm {\n display: none !important;\n }\n}\n@media (min-width: 992px) and (max-width: 1199px) {\n .hidden-md {\n display: none !important;\n }\n}\n@media (min-width: 1200px) {\n .hidden-lg {\n display: none !important;\n }\n}\n.visible-print {\n display: none !important;\n}\n@media print {\n .visible-print {\n display: block !important;\n }\n table.visible-print {\n display: table !important;\n }\n tr.visible-print {\n display: table-row !important;\n }\n th.visible-print,\n td.visible-print {\n display: table-cell !important;\n }\n}\n.visible-print-block {\n display: none !important;\n}\n@media print {\n .visible-print-block {\n display: block !important;\n }\n}\n.visible-print-inline {\n display: none !important;\n}\n@media print {\n .visible-print-inline {\n display: inline !important;\n }\n}\n.visible-print-inline-block {\n display: none !important;\n}\n@media print {\n .visible-print-inline-block {\n display: inline-block !important;\n }\n}\n@media print {\n .hidden-print {\n display: none !important;\n }\n}\n/*# sourceMappingURL=bootstrap.css.map */","/*!\n * Bootstrap v3.3.7 (http://getbootstrap.com)\n * Copyright 2011-2016 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n */\n/*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */\nhtml {\n font-family: sans-serif;\n -webkit-text-size-adjust: 100%;\n -ms-text-size-adjust: 100%;\n}\nbody {\n margin: 0;\n}\narticle,\naside,\ndetails,\nfigcaption,\nfigure,\nfooter,\nheader,\nhgroup,\nmain,\nmenu,\nnav,\nsection,\nsummary {\n display: block;\n}\naudio,\ncanvas,\nprogress,\nvideo {\n display: inline-block;\n vertical-align: baseline;\n}\naudio:not([controls]) {\n display: none;\n height: 0;\n}\n[hidden],\ntemplate {\n display: none;\n}\na {\n background-color: transparent;\n}\na:active,\na:hover {\n outline: 0;\n}\nabbr[title] {\n border-bottom: 1px dotted;\n}\nb,\nstrong {\n font-weight: bold;\n}\ndfn {\n font-style: italic;\n}\nh1 {\n margin: .67em 0;\n font-size: 2em;\n}\nmark {\n color: #000;\n background: #ff0;\n}\nsmall {\n font-size: 80%;\n}\nsub,\nsup {\n position: relative;\n font-size: 75%;\n line-height: 0;\n vertical-align: baseline;\n}\nsup {\n top: -.5em;\n}\nsub {\n bottom: -.25em;\n}\nimg {\n border: 0;\n}\nsvg:not(:root) {\n overflow: hidden;\n}\nfigure {\n margin: 1em 40px;\n}\nhr {\n height: 0;\n -webkit-box-sizing: content-box;\n -moz-box-sizing: content-box;\n box-sizing: content-box;\n}\npre {\n overflow: auto;\n}\ncode,\nkbd,\npre,\nsamp {\n font-family: monospace, monospace;\n font-size: 1em;\n}\nbutton,\ninput,\noptgroup,\nselect,\ntextarea {\n margin: 0;\n font: inherit;\n color: inherit;\n}\nbutton {\n overflow: visible;\n}\nbutton,\nselect {\n text-transform: none;\n}\nbutton,\nhtml input[type=\"button\"],\ninput[type=\"reset\"],\ninput[type=\"submit\"] {\n -webkit-appearance: button;\n cursor: pointer;\n}\nbutton[disabled],\nhtml input[disabled] {\n cursor: default;\n}\nbutton::-moz-focus-inner,\ninput::-moz-focus-inner {\n padding: 0;\n border: 0;\n}\ninput {\n line-height: normal;\n}\ninput[type=\"checkbox\"],\ninput[type=\"radio\"] {\n -webkit-box-sizing: border-box;\n -moz-box-sizing: border-box;\n box-sizing: border-box;\n padding: 0;\n}\ninput[type=\"number\"]::-webkit-inner-spin-button,\ninput[type=\"number\"]::-webkit-outer-spin-button {\n height: auto;\n}\ninput[type=\"search\"] {\n -webkit-box-sizing: content-box;\n -moz-box-sizing: content-box;\n box-sizing: content-box;\n -webkit-appearance: textfield;\n}\ninput[type=\"search\"]::-webkit-search-cancel-button,\ninput[type=\"search\"]::-webkit-search-decoration {\n -webkit-appearance: none;\n}\nfieldset {\n padding: .35em .625em .75em;\n margin: 0 2px;\n border: 1px solid #c0c0c0;\n}\nlegend {\n padding: 0;\n border: 0;\n}\ntextarea {\n overflow: auto;\n}\noptgroup {\n font-weight: bold;\n}\ntable {\n border-spacing: 0;\n border-collapse: collapse;\n}\ntd,\nth {\n padding: 0;\n}\n/*! Source: https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css */\n@media print {\n *,\n *:before,\n *:after {\n color: #000 !important;\n text-shadow: none !important;\n background: transparent !important;\n -webkit-box-shadow: none !important;\n box-shadow: none !important;\n }\n a,\n a:visited {\n text-decoration: underline;\n }\n a[href]:after {\n content: \" (\" attr(href) \")\";\n }\n abbr[title]:after {\n content: \" (\" attr(title) \")\";\n }\n a[href^=\"#\"]:after,\n a[href^=\"javascript:\"]:after {\n content: \"\";\n }\n pre,\n blockquote {\n border: 1px solid #999;\n\n page-break-inside: avoid;\n }\n thead {\n display: table-header-group;\n }\n tr,\n img {\n page-break-inside: avoid;\n }\n img {\n max-width: 100% !important;\n }\n p,\n h2,\n h3 {\n orphans: 3;\n widows: 3;\n }\n h2,\n h3 {\n page-break-after: avoid;\n }\n .navbar {\n display: none;\n }\n .btn > .caret,\n .dropup > .btn > .caret {\n border-top-color: #000 !important;\n }\n .label {\n border: 1px solid #000;\n }\n .table {\n border-collapse: collapse !important;\n }\n .table td,\n .table th {\n background-color: #fff !important;\n }\n .table-bordered th,\n .table-bordered td {\n border: 1px solid #ddd !important;\n }\n}\n@font-face {\n font-family: 'Glyphicons Halflings';\n\n src: url('../fonts/glyphicons-halflings-regular.eot');\n src: url('../fonts/glyphicons-halflings-regular.eot?#iefix') format('embedded-opentype'), url('../fonts/glyphicons-halflings-regular.woff2') format('woff2'), url('../fonts/glyphicons-halflings-regular.woff') format('woff'), url('../fonts/glyphicons-halflings-regular.ttf') format('truetype'), url('../fonts/glyphicons-halflings-regular.svg#glyphicons_halflingsregular') format('svg');\n}\n.glyphicon {\n position: relative;\n top: 1px;\n display: inline-block;\n font-family: 'Glyphicons Halflings';\n font-style: normal;\n font-weight: normal;\n line-height: 1;\n\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n}\n.glyphicon-asterisk:before {\n content: \"\\002a\";\n}\n.glyphicon-plus:before {\n content: \"\\002b\";\n}\n.glyphicon-euro:before,\n.glyphicon-eur:before {\n content: \"\\20ac\";\n}\n.glyphicon-minus:before {\n content: \"\\2212\";\n}\n.glyphicon-cloud:before {\n content: \"\\2601\";\n}\n.glyphicon-envelope:before {\n content: \"\\2709\";\n}\n.glyphicon-pencil:before {\n content: \"\\270f\";\n}\n.glyphicon-glass:before {\n content: \"\\e001\";\n}\n.glyphicon-music:before {\n content: \"\\e002\";\n}\n.glyphicon-search:before {\n content: \"\\e003\";\n}\n.glyphicon-heart:before {\n content: \"\\e005\";\n}\n.glyphicon-star:before {\n content: \"\\e006\";\n}\n.glyphicon-star-empty:before {\n content: \"\\e007\";\n}\n.glyphicon-user:before {\n content: \"\\e008\";\n}\n.glyphicon-film:before {\n content: \"\\e009\";\n}\n.glyphicon-th-large:before {\n content: \"\\e010\";\n}\n.glyphicon-th:before {\n content: \"\\e011\";\n}\n.glyphicon-th-list:before {\n content: \"\\e012\";\n}\n.glyphicon-ok:before {\n content: \"\\e013\";\n}\n.glyphicon-remove:before {\n content: \"\\e014\";\n}\n.glyphicon-zoom-in:before {\n content: \"\\e015\";\n}\n.glyphicon-zoom-out:before {\n content: \"\\e016\";\n}\n.glyphicon-off:before {\n content: \"\\e017\";\n}\n.glyphicon-signal:before {\n content: \"\\e018\";\n}\n.glyphicon-cog:before {\n content: \"\\e019\";\n}\n.glyphicon-trash:before {\n content: \"\\e020\";\n}\n.glyphicon-home:before {\n content: \"\\e021\";\n}\n.glyphicon-file:before {\n content: \"\\e022\";\n}\n.glyphicon-time:before {\n content: \"\\e023\";\n}\n.glyphicon-road:before {\n content: \"\\e024\";\n}\n.glyphicon-download-alt:before {\n content: \"\\e025\";\n}\n.glyphicon-download:before {\n content: \"\\e026\";\n}\n.glyphicon-upload:before {\n content: \"\\e027\";\n}\n.glyphicon-inbox:before {\n content: \"\\e028\";\n}\n.glyphicon-play-circle:before {\n content: \"\\e029\";\n}\n.glyphicon-repeat:before {\n content: \"\\e030\";\n}\n.glyphicon-refresh:before {\n content: \"\\e031\";\n}\n.glyphicon-list-alt:before {\n content: \"\\e032\";\n}\n.glyphicon-lock:before {\n content: \"\\e033\";\n}\n.glyphicon-flag:before {\n content: \"\\e034\";\n}\n.glyphicon-headphones:before {\n content: \"\\e035\";\n}\n.glyphicon-volume-off:before {\n content: \"\\e036\";\n}\n.glyphicon-volume-down:before {\n content: \"\\e037\";\n}\n.glyphicon-volume-up:before {\n content: \"\\e038\";\n}\n.glyphicon-qrcode:before {\n content: \"\\e039\";\n}\n.glyphicon-barcode:before {\n content: \"\\e040\";\n}\n.glyphicon-tag:before {\n content: \"\\e041\";\n}\n.glyphicon-tags:before {\n content: \"\\e042\";\n}\n.glyphicon-book:before {\n content: \"\\e043\";\n}\n.glyphicon-bookmark:before {\n content: \"\\e044\";\n}\n.glyphicon-print:before {\n content: \"\\e045\";\n}\n.glyphicon-camera:before {\n content: \"\\e046\";\n}\n.glyphicon-font:before {\n content: \"\\e047\";\n}\n.glyphicon-bold:before {\n content: \"\\e048\";\n}\n.glyphicon-italic:before {\n content: \"\\e049\";\n}\n.glyphicon-text-height:before {\n content: \"\\e050\";\n}\n.glyphicon-text-width:before {\n content: \"\\e051\";\n}\n.glyphicon-align-left:before {\n content: \"\\e052\";\n}\n.glyphicon-align-center:before {\n content: \"\\e053\";\n}\n.glyphicon-align-right:before {\n content: \"\\e054\";\n}\n.glyphicon-align-justify:before {\n content: \"\\e055\";\n}\n.glyphicon-list:before {\n content: \"\\e056\";\n}\n.glyphicon-indent-left:before {\n content: \"\\e057\";\n}\n.glyphicon-indent-right:before {\n content: \"\\e058\";\n}\n.glyphicon-facetime-video:before {\n content: \"\\e059\";\n}\n.glyphicon-picture:before {\n content: \"\\e060\";\n}\n.glyphicon-map-marker:before {\n content: \"\\e062\";\n}\n.glyphicon-adjust:before {\n content: \"\\e063\";\n}\n.glyphicon-tint:before {\n content: \"\\e064\";\n}\n.glyphicon-edit:before {\n content: \"\\e065\";\n}\n.glyphicon-share:before {\n content: \"\\e066\";\n}\n.glyphicon-check:before {\n content: \"\\e067\";\n}\n.glyphicon-move:before {\n content: \"\\e068\";\n}\n.glyphicon-step-backward:before {\n content: \"\\e069\";\n}\n.glyphicon-fast-backward:before {\n content: \"\\e070\";\n}\n.glyphicon-backward:before {\n content: \"\\e071\";\n}\n.glyphicon-play:before {\n content: \"\\e072\";\n}\n.glyphicon-pause:before {\n content: \"\\e073\";\n}\n.glyphicon-stop:before {\n content: \"\\e074\";\n}\n.glyphicon-forward:before {\n content: \"\\e075\";\n}\n.glyphicon-fast-forward:before {\n content: \"\\e076\";\n}\n.glyphicon-step-forward:before {\n content: \"\\e077\";\n}\n.glyphicon-eject:before {\n content: \"\\e078\";\n}\n.glyphicon-chevron-left:before {\n content: \"\\e079\";\n}\n.glyphicon-chevron-right:before {\n content: \"\\e080\";\n}\n.glyphicon-plus-sign:before {\n content: \"\\e081\";\n}\n.glyphicon-minus-sign:before {\n content: \"\\e082\";\n}\n.glyphicon-remove-sign:before {\n content: \"\\e083\";\n}\n.glyphicon-ok-sign:before {\n content: \"\\e084\";\n}\n.glyphicon-question-sign:before {\n content: \"\\e085\";\n}\n.glyphicon-info-sign:before {\n content: \"\\e086\";\n}\n.glyphicon-screenshot:before {\n content: \"\\e087\";\n}\n.glyphicon-remove-circle:before {\n content: \"\\e088\";\n}\n.glyphicon-ok-circle:before {\n content: \"\\e089\";\n}\n.glyphicon-ban-circle:before {\n content: \"\\e090\";\n}\n.glyphicon-arrow-left:before {\n content: \"\\e091\";\n}\n.glyphicon-arrow-right:before {\n content: \"\\e092\";\n}\n.glyphicon-arrow-up:before {\n content: \"\\e093\";\n}\n.glyphicon-arrow-down:before {\n content: \"\\e094\";\n}\n.glyphicon-share-alt:before {\n content: \"\\e095\";\n}\n.glyphicon-resize-full:before {\n content: \"\\e096\";\n}\n.glyphicon-resize-small:before {\n content: \"\\e097\";\n}\n.glyphicon-exclamation-sign:before {\n content: \"\\e101\";\n}\n.glyphicon-gift:before {\n content: \"\\e102\";\n}\n.glyphicon-leaf:before {\n content: \"\\e103\";\n}\n.glyphicon-fire:before {\n content: \"\\e104\";\n}\n.glyphicon-eye-open:before {\n content: \"\\e105\";\n}\n.glyphicon-eye-close:before {\n content: \"\\e106\";\n}\n.glyphicon-warning-sign:before {\n content: \"\\e107\";\n}\n.glyphicon-plane:before {\n content: \"\\e108\";\n}\n.glyphicon-calendar:before {\n content: \"\\e109\";\n}\n.glyphicon-random:before {\n content: \"\\e110\";\n}\n.glyphicon-comment:before {\n content: \"\\e111\";\n}\n.glyphicon-magnet:before {\n content: \"\\e112\";\n}\n.glyphicon-chevron-up:before {\n content: \"\\e113\";\n}\n.glyphicon-chevron-down:before {\n content: \"\\e114\";\n}\n.glyphicon-retweet:before {\n content: \"\\e115\";\n}\n.glyphicon-shopping-cart:before {\n content: \"\\e116\";\n}\n.glyphicon-folder-close:before {\n content: \"\\e117\";\n}\n.glyphicon-folder-open:before {\n content: \"\\e118\";\n}\n.glyphicon-resize-vertical:before {\n content: \"\\e119\";\n}\n.glyphicon-resize-horizontal:before {\n content: \"\\e120\";\n}\n.glyphicon-hdd:before {\n content: \"\\e121\";\n}\n.glyphicon-bullhorn:before {\n content: \"\\e122\";\n}\n.glyphicon-bell:before {\n content: \"\\e123\";\n}\n.glyphicon-certificate:before {\n content: \"\\e124\";\n}\n.glyphicon-thumbs-up:before {\n content: \"\\e125\";\n}\n.glyphicon-thumbs-down:before {\n content: \"\\e126\";\n}\n.glyphicon-hand-right:before {\n content: \"\\e127\";\n}\n.glyphicon-hand-left:before {\n content: \"\\e128\";\n}\n.glyphicon-hand-up:before {\n content: \"\\e129\";\n}\n.glyphicon-hand-down:before {\n content: \"\\e130\";\n}\n.glyphicon-circle-arrow-right:before {\n content: \"\\e131\";\n}\n.glyphicon-circle-arrow-left:before {\n content: \"\\e132\";\n}\n.glyphicon-circle-arrow-up:before {\n content: \"\\e133\";\n}\n.glyphicon-circle-arrow-down:before {\n content: \"\\e134\";\n}\n.glyphicon-globe:before {\n content: \"\\e135\";\n}\n.glyphicon-wrench:before {\n content: \"\\e136\";\n}\n.glyphicon-tasks:before {\n content: \"\\e137\";\n}\n.glyphicon-filter:before {\n content: \"\\e138\";\n}\n.glyphicon-briefcase:before {\n content: \"\\e139\";\n}\n.glyphicon-fullscreen:before {\n content: \"\\e140\";\n}\n.glyphicon-dashboard:before {\n content: \"\\e141\";\n}\n.glyphicon-paperclip:before {\n content: \"\\e142\";\n}\n.glyphicon-heart-empty:before {\n content: \"\\e143\";\n}\n.glyphicon-link:before {\n content: \"\\e144\";\n}\n.glyphicon-phone:before {\n content: \"\\e145\";\n}\n.glyphicon-pushpin:before {\n content: \"\\e146\";\n}\n.glyphicon-usd:before {\n content: \"\\e148\";\n}\n.glyphicon-gbp:before {\n content: \"\\e149\";\n}\n.glyphicon-sort:before {\n content: \"\\e150\";\n}\n.glyphicon-sort-by-alphabet:before {\n content: \"\\e151\";\n}\n.glyphicon-sort-by-alphabet-alt:before {\n content: \"\\e152\";\n}\n.glyphicon-sort-by-order:before {\n content: \"\\e153\";\n}\n.glyphicon-sort-by-order-alt:before {\n content: \"\\e154\";\n}\n.glyphicon-sort-by-attributes:before {\n content: \"\\e155\";\n}\n.glyphicon-sort-by-attributes-alt:before {\n content: \"\\e156\";\n}\n.glyphicon-unchecked:before {\n content: \"\\e157\";\n}\n.glyphicon-expand:before {\n content: \"\\e158\";\n}\n.glyphicon-collapse-down:before {\n content: \"\\e159\";\n}\n.glyphicon-collapse-up:before {\n content: \"\\e160\";\n}\n.glyphicon-log-in:before {\n content: \"\\e161\";\n}\n.glyphicon-flash:before {\n content: \"\\e162\";\n}\n.glyphicon-log-out:before {\n content: \"\\e163\";\n}\n.glyphicon-new-window:before {\n content: \"\\e164\";\n}\n.glyphicon-record:before {\n content: \"\\e165\";\n}\n.glyphicon-save:before {\n content: \"\\e166\";\n}\n.glyphicon-open:before {\n content: \"\\e167\";\n}\n.glyphicon-saved:before {\n content: \"\\e168\";\n}\n.glyphicon-import:before {\n content: \"\\e169\";\n}\n.glyphicon-export:before {\n content: \"\\e170\";\n}\n.glyphicon-send:before {\n content: \"\\e171\";\n}\n.glyphicon-floppy-disk:before {\n content: \"\\e172\";\n}\n.glyphicon-floppy-saved:before {\n content: \"\\e173\";\n}\n.glyphicon-floppy-remove:before {\n content: \"\\e174\";\n}\n.glyphicon-floppy-save:before {\n content: \"\\e175\";\n}\n.glyphicon-floppy-open:before {\n content: \"\\e176\";\n}\n.glyphicon-credit-card:before {\n content: \"\\e177\";\n}\n.glyphicon-transfer:before {\n content: \"\\e178\";\n}\n.glyphicon-cutlery:before {\n content: \"\\e179\";\n}\n.glyphicon-header:before {\n content: \"\\e180\";\n}\n.glyphicon-compressed:before {\n content: \"\\e181\";\n}\n.glyphicon-earphone:before {\n content: \"\\e182\";\n}\n.glyphicon-phone-alt:before {\n content: \"\\e183\";\n}\n.glyphicon-tower:before {\n content: \"\\e184\";\n}\n.glyphicon-stats:before {\n content: \"\\e185\";\n}\n.glyphicon-sd-video:before {\n content: \"\\e186\";\n}\n.glyphicon-hd-video:before {\n content: \"\\e187\";\n}\n.glyphicon-subtitles:before {\n content: \"\\e188\";\n}\n.glyphicon-sound-stereo:before {\n content: \"\\e189\";\n}\n.glyphicon-sound-dolby:before {\n content: \"\\e190\";\n}\n.glyphicon-sound-5-1:before {\n content: \"\\e191\";\n}\n.glyphicon-sound-6-1:before {\n content: \"\\e192\";\n}\n.glyphicon-sound-7-1:before {\n content: \"\\e193\";\n}\n.glyphicon-copyright-mark:before {\n content: \"\\e194\";\n}\n.glyphicon-registration-mark:before {\n content: \"\\e195\";\n}\n.glyphicon-cloud-download:before {\n content: \"\\e197\";\n}\n.glyphicon-cloud-upload:before {\n content: \"\\e198\";\n}\n.glyphicon-tree-conifer:before {\n content: \"\\e199\";\n}\n.glyphicon-tree-deciduous:before {\n content: \"\\e200\";\n}\n.glyphicon-cd:before {\n content: \"\\e201\";\n}\n.glyphicon-save-file:before {\n content: \"\\e202\";\n}\n.glyphicon-open-file:before {\n content: \"\\e203\";\n}\n.glyphicon-level-up:before {\n content: \"\\e204\";\n}\n.glyphicon-copy:before {\n content: \"\\e205\";\n}\n.glyphicon-paste:before {\n content: \"\\e206\";\n}\n.glyphicon-alert:before {\n content: \"\\e209\";\n}\n.glyphicon-equalizer:before {\n content: \"\\e210\";\n}\n.glyphicon-king:before {\n content: \"\\e211\";\n}\n.glyphicon-queen:before {\n content: \"\\e212\";\n}\n.glyphicon-pawn:before {\n content: \"\\e213\";\n}\n.glyphicon-bishop:before {\n content: \"\\e214\";\n}\n.glyphicon-knight:before {\n content: \"\\e215\";\n}\n.glyphicon-baby-formula:before {\n content: \"\\e216\";\n}\n.glyphicon-tent:before {\n content: \"\\26fa\";\n}\n.glyphicon-blackboard:before {\n content: \"\\e218\";\n}\n.glyphicon-bed:before {\n content: \"\\e219\";\n}\n.glyphicon-apple:before {\n content: \"\\f8ff\";\n}\n.glyphicon-erase:before {\n content: \"\\e221\";\n}\n.glyphicon-hourglass:before {\n content: \"\\231b\";\n}\n.glyphicon-lamp:before {\n content: \"\\e223\";\n}\n.glyphicon-duplicate:before {\n content: \"\\e224\";\n}\n.glyphicon-piggy-bank:before {\n content: \"\\e225\";\n}\n.glyphicon-scissors:before {\n content: \"\\e226\";\n}\n.glyphicon-bitcoin:before {\n content: \"\\e227\";\n}\n.glyphicon-btc:before {\n content: \"\\e227\";\n}\n.glyphicon-xbt:before {\n content: \"\\e227\";\n}\n.glyphicon-yen:before {\n content: \"\\00a5\";\n}\n.glyphicon-jpy:before {\n content: \"\\00a5\";\n}\n.glyphicon-ruble:before {\n content: \"\\20bd\";\n}\n.glyphicon-rub:before {\n content: \"\\20bd\";\n}\n.glyphicon-scale:before {\n content: \"\\e230\";\n}\n.glyphicon-ice-lolly:before {\n content: \"\\e231\";\n}\n.glyphicon-ice-lolly-tasted:before {\n content: \"\\e232\";\n}\n.glyphicon-education:before {\n content: \"\\e233\";\n}\n.glyphicon-option-horizontal:before {\n content: \"\\e234\";\n}\n.glyphicon-option-vertical:before {\n content: \"\\e235\";\n}\n.glyphicon-menu-hamburger:before {\n content: \"\\e236\";\n}\n.glyphicon-modal-window:before {\n content: \"\\e237\";\n}\n.glyphicon-oil:before {\n content: \"\\e238\";\n}\n.glyphicon-grain:before {\n content: \"\\e239\";\n}\n.glyphicon-sunglasses:before {\n content: \"\\e240\";\n}\n.glyphicon-text-size:before {\n content: \"\\e241\";\n}\n.glyphicon-text-color:before {\n content: \"\\e242\";\n}\n.glyphicon-text-background:before {\n content: \"\\e243\";\n}\n.glyphicon-object-align-top:before {\n content: \"\\e244\";\n}\n.glyphicon-object-align-bottom:before {\n content: \"\\e245\";\n}\n.glyphicon-object-align-horizontal:before {\n content: \"\\e246\";\n}\n.glyphicon-object-align-left:before {\n content: \"\\e247\";\n}\n.glyphicon-object-align-vertical:before {\n content: \"\\e248\";\n}\n.glyphicon-object-align-right:before {\n content: \"\\e249\";\n}\n.glyphicon-triangle-right:before {\n content: \"\\e250\";\n}\n.glyphicon-triangle-left:before {\n content: \"\\e251\";\n}\n.glyphicon-triangle-bottom:before {\n content: \"\\e252\";\n}\n.glyphicon-triangle-top:before {\n content: \"\\e253\";\n}\n.glyphicon-console:before {\n content: \"\\e254\";\n}\n.glyphicon-superscript:before {\n content: \"\\e255\";\n}\n.glyphicon-subscript:before {\n content: \"\\e256\";\n}\n.glyphicon-menu-left:before {\n content: \"\\e257\";\n}\n.glyphicon-menu-right:before {\n content: \"\\e258\";\n}\n.glyphicon-menu-down:before {\n content: \"\\e259\";\n}\n.glyphicon-menu-up:before {\n content: \"\\e260\";\n}\n* {\n -webkit-box-sizing: border-box;\n -moz-box-sizing: border-box;\n box-sizing: border-box;\n}\n*:before,\n*:after {\n -webkit-box-sizing: border-box;\n -moz-box-sizing: border-box;\n box-sizing: border-box;\n}\nhtml {\n font-size: 10px;\n\n -webkit-tap-highlight-color: rgba(0, 0, 0, 0);\n}\nbody {\n font-family: \"Helvetica Neue\", Helvetica, Arial, sans-serif;\n font-size: 14px;\n line-height: 1.42857143;\n color: #333;\n background-color: #fff;\n}\ninput,\nbutton,\nselect,\ntextarea {\n font-family: inherit;\n font-size: inherit;\n line-height: inherit;\n}\na {\n color: #337ab7;\n text-decoration: none;\n}\na:hover,\na:focus {\n color: #23527c;\n text-decoration: underline;\n}\na:focus {\n outline: 5px auto -webkit-focus-ring-color;\n outline-offset: -2px;\n}\nfigure {\n margin: 0;\n}\nimg {\n vertical-align: middle;\n}\n.img-responsive,\n.thumbnail > img,\n.thumbnail a > img,\n.carousel-inner > .item > img,\n.carousel-inner > .item > a > img {\n display: block;\n max-width: 100%;\n height: auto;\n}\n.img-rounded {\n border-radius: 6px;\n}\n.img-thumbnail {\n display: inline-block;\n max-width: 100%;\n height: auto;\n padding: 4px;\n line-height: 1.42857143;\n background-color: #fff;\n border: 1px solid #ddd;\n border-radius: 4px;\n -webkit-transition: all .2s ease-in-out;\n -o-transition: all .2s ease-in-out;\n transition: all .2s ease-in-out;\n}\n.img-circle {\n border-radius: 50%;\n}\nhr {\n margin-top: 20px;\n margin-bottom: 20px;\n border: 0;\n border-top: 1px solid #eee;\n}\n.sr-only {\n position: absolute;\n width: 1px;\n height: 1px;\n padding: 0;\n margin: -1px;\n overflow: hidden;\n clip: rect(0, 0, 0, 0);\n border: 0;\n}\n.sr-only-focusable:active,\n.sr-only-focusable:focus {\n position: static;\n width: auto;\n height: auto;\n margin: 0;\n overflow: visible;\n clip: auto;\n}\n[role=\"button\"] {\n cursor: pointer;\n}\nh1,\nh2,\nh3,\nh4,\nh5,\nh6,\n.h1,\n.h2,\n.h3,\n.h4,\n.h5,\n.h6 {\n font-family: inherit;\n font-weight: 500;\n line-height: 1.1;\n color: inherit;\n}\nh1 small,\nh2 small,\nh3 small,\nh4 small,\nh5 small,\nh6 small,\n.h1 small,\n.h2 small,\n.h3 small,\n.h4 small,\n.h5 small,\n.h6 small,\nh1 .small,\nh2 .small,\nh3 .small,\nh4 .small,\nh5 .small,\nh6 .small,\n.h1 .small,\n.h2 .small,\n.h3 .small,\n.h4 .small,\n.h5 .small,\n.h6 .small {\n font-weight: normal;\n line-height: 1;\n color: #777;\n}\nh1,\n.h1,\nh2,\n.h2,\nh3,\n.h3 {\n margin-top: 20px;\n margin-bottom: 10px;\n}\nh1 small,\n.h1 small,\nh2 small,\n.h2 small,\nh3 small,\n.h3 small,\nh1 .small,\n.h1 .small,\nh2 .small,\n.h2 .small,\nh3 .small,\n.h3 .small {\n font-size: 65%;\n}\nh4,\n.h4,\nh5,\n.h5,\nh6,\n.h6 {\n margin-top: 10px;\n margin-bottom: 10px;\n}\nh4 small,\n.h4 small,\nh5 small,\n.h5 small,\nh6 small,\n.h6 small,\nh4 .small,\n.h4 .small,\nh5 .small,\n.h5 .small,\nh6 .small,\n.h6 .small {\n font-size: 75%;\n}\nh1,\n.h1 {\n font-size: 36px;\n}\nh2,\n.h2 {\n font-size: 30px;\n}\nh3,\n.h3 {\n font-size: 24px;\n}\nh4,\n.h4 {\n font-size: 18px;\n}\nh5,\n.h5 {\n font-size: 14px;\n}\nh6,\n.h6 {\n font-size: 12px;\n}\np {\n margin: 0 0 10px;\n}\n.lead {\n margin-bottom: 20px;\n font-size: 16px;\n font-weight: 300;\n line-height: 1.4;\n}\n@media (min-width: 768px) {\n .lead {\n font-size: 21px;\n }\n}\nsmall,\n.small {\n font-size: 85%;\n}\nmark,\n.mark {\n padding: .2em;\n background-color: #fcf8e3;\n}\n.text-left {\n text-align: left;\n}\n.text-right {\n text-align: right;\n}\n.text-center {\n text-align: center;\n}\n.text-justify {\n text-align: justify;\n}\n.text-nowrap {\n white-space: nowrap;\n}\n.text-lowercase {\n text-transform: lowercase;\n}\n.text-uppercase {\n text-transform: uppercase;\n}\n.text-capitalize {\n text-transform: capitalize;\n}\n.text-muted {\n color: #777;\n}\n.text-primary {\n color: #337ab7;\n}\na.text-primary:hover,\na.text-primary:focus {\n color: #286090;\n}\n.text-success {\n color: #3c763d;\n}\na.text-success:hover,\na.text-success:focus {\n color: #2b542c;\n}\n.text-info {\n color: #31708f;\n}\na.text-info:hover,\na.text-info:focus {\n color: #245269;\n}\n.text-warning {\n color: #8a6d3b;\n}\na.text-warning:hover,\na.text-warning:focus {\n color: #66512c;\n}\n.text-danger {\n color: #a94442;\n}\na.text-danger:hover,\na.text-danger:focus {\n color: #843534;\n}\n.bg-primary {\n color: #fff;\n background-color: #337ab7;\n}\na.bg-primary:hover,\na.bg-primary:focus {\n background-color: #286090;\n}\n.bg-success {\n background-color: #dff0d8;\n}\na.bg-success:hover,\na.bg-success:focus {\n background-color: #c1e2b3;\n}\n.bg-info {\n background-color: #d9edf7;\n}\na.bg-info:hover,\na.bg-info:focus {\n background-color: #afd9ee;\n}\n.bg-warning {\n background-color: #fcf8e3;\n}\na.bg-warning:hover,\na.bg-warning:focus {\n background-color: #f7ecb5;\n}\n.bg-danger {\n background-color: #f2dede;\n}\na.bg-danger:hover,\na.bg-danger:focus {\n background-color: #e4b9b9;\n}\n.page-header {\n padding-bottom: 9px;\n margin: 40px 0 20px;\n border-bottom: 1px solid #eee;\n}\nul,\nol {\n margin-top: 0;\n margin-bottom: 10px;\n}\nul ul,\nol ul,\nul ol,\nol ol {\n margin-bottom: 0;\n}\n.list-unstyled {\n padding-left: 0;\n list-style: none;\n}\n.list-inline {\n padding-left: 0;\n margin-left: -5px;\n list-style: none;\n}\n.list-inline > li {\n display: inline-block;\n padding-right: 5px;\n padding-left: 5px;\n}\ndl {\n margin-top: 0;\n margin-bottom: 20px;\n}\ndt,\ndd {\n line-height: 1.42857143;\n}\ndt {\n font-weight: bold;\n}\ndd {\n margin-left: 0;\n}\n@media (min-width: 768px) {\n .dl-horizontal dt {\n float: left;\n width: 160px;\n overflow: hidden;\n clear: left;\n text-align: right;\n text-overflow: ellipsis;\n white-space: nowrap;\n }\n .dl-horizontal dd {\n margin-left: 180px;\n }\n}\nabbr[title],\nabbr[data-original-title] {\n cursor: help;\n border-bottom: 1px dotted #777;\n}\n.initialism {\n font-size: 90%;\n text-transform: uppercase;\n}\nblockquote {\n padding: 10px 20px;\n margin: 0 0 20px;\n font-size: 17.5px;\n border-left: 5px solid #eee;\n}\nblockquote p:last-child,\nblockquote ul:last-child,\nblockquote ol:last-child {\n margin-bottom: 0;\n}\nblockquote footer,\nblockquote small,\nblockquote .small {\n display: block;\n font-size: 80%;\n line-height: 1.42857143;\n color: #777;\n}\nblockquote footer:before,\nblockquote small:before,\nblockquote .small:before {\n content: '\\2014 \\00A0';\n}\n.blockquote-reverse,\nblockquote.pull-right {\n padding-right: 15px;\n padding-left: 0;\n text-align: right;\n border-right: 5px solid #eee;\n border-left: 0;\n}\n.blockquote-reverse footer:before,\nblockquote.pull-right footer:before,\n.blockquote-reverse small:before,\nblockquote.pull-right small:before,\n.blockquote-reverse .small:before,\nblockquote.pull-right .small:before {\n content: '';\n}\n.blockquote-reverse footer:after,\nblockquote.pull-right footer:after,\n.blockquote-reverse small:after,\nblockquote.pull-right small:after,\n.blockquote-reverse .small:after,\nblockquote.pull-right .small:after {\n content: '\\00A0 \\2014';\n}\naddress {\n margin-bottom: 20px;\n font-style: normal;\n line-height: 1.42857143;\n}\ncode,\nkbd,\npre,\nsamp {\n font-family: Menlo, Monaco, Consolas, \"Courier New\", monospace;\n}\ncode {\n padding: 2px 4px;\n font-size: 90%;\n color: #c7254e;\n background-color: #f9f2f4;\n border-radius: 4px;\n}\nkbd {\n padding: 2px 4px;\n font-size: 90%;\n color: #fff;\n background-color: #333;\n border-radius: 3px;\n -webkit-box-shadow: inset 0 -1px 0 rgba(0, 0, 0, .25);\n box-shadow: inset 0 -1px 0 rgba(0, 0, 0, .25);\n}\nkbd kbd {\n padding: 0;\n font-size: 100%;\n font-weight: bold;\n -webkit-box-shadow: none;\n box-shadow: none;\n}\npre {\n display: block;\n padding: 9.5px;\n margin: 0 0 10px;\n font-size: 13px;\n line-height: 1.42857143;\n color: #333;\n word-break: break-all;\n word-wrap: break-word;\n background-color: #f5f5f5;\n border: 1px solid #ccc;\n border-radius: 4px;\n}\npre code {\n padding: 0;\n font-size: inherit;\n color: inherit;\n white-space: pre-wrap;\n background-color: transparent;\n border-radius: 0;\n}\n.pre-scrollable {\n max-height: 340px;\n overflow-y: scroll;\n}\n.container {\n padding-right: 15px;\n padding-left: 15px;\n margin-right: auto;\n margin-left: auto;\n}\n@media (min-width: 768px) {\n .container {\n width: 750px;\n }\n}\n@media (min-width: 992px) {\n .container {\n width: 970px;\n }\n}\n@media (min-width: 1200px) {\n .container {\n width: 1170px;\n }\n}\n.container-fluid {\n padding-right: 15px;\n padding-left: 15px;\n margin-right: auto;\n margin-left: auto;\n}\n.row {\n margin-right: -15px;\n margin-left: -15px;\n}\n.col-xs-1, .col-sm-1, .col-md-1, .col-lg-1, .col-xs-2, .col-sm-2, .col-md-2, .col-lg-2, .col-xs-3, .col-sm-3, .col-md-3, .col-lg-3, .col-xs-4, .col-sm-4, .col-md-4, .col-lg-4, .col-xs-5, .col-sm-5, .col-md-5, .col-lg-5, .col-xs-6, .col-sm-6, .col-md-6, .col-lg-6, .col-xs-7, .col-sm-7, .col-md-7, .col-lg-7, .col-xs-8, .col-sm-8, .col-md-8, .col-lg-8, .col-xs-9, .col-sm-9, .col-md-9, .col-lg-9, .col-xs-10, .col-sm-10, .col-md-10, .col-lg-10, .col-xs-11, .col-sm-11, .col-md-11, .col-lg-11, .col-xs-12, .col-sm-12, .col-md-12, .col-lg-12 {\n position: relative;\n min-height: 1px;\n padding-right: 15px;\n padding-left: 15px;\n}\n.col-xs-1, .col-xs-2, .col-xs-3, .col-xs-4, .col-xs-5, .col-xs-6, .col-xs-7, .col-xs-8, .col-xs-9, .col-xs-10, .col-xs-11, .col-xs-12 {\n float: left;\n}\n.col-xs-12 {\n width: 100%;\n}\n.col-xs-11 {\n width: 91.66666667%;\n}\n.col-xs-10 {\n width: 83.33333333%;\n}\n.col-xs-9 {\n width: 75%;\n}\n.col-xs-8 {\n width: 66.66666667%;\n}\n.col-xs-7 {\n width: 58.33333333%;\n}\n.col-xs-6 {\n width: 50%;\n}\n.col-xs-5 {\n width: 41.66666667%;\n}\n.col-xs-4 {\n width: 33.33333333%;\n}\n.col-xs-3 {\n width: 25%;\n}\n.col-xs-2 {\n width: 16.66666667%;\n}\n.col-xs-1 {\n width: 8.33333333%;\n}\n.col-xs-pull-12 {\n right: 100%;\n}\n.col-xs-pull-11 {\n right: 91.66666667%;\n}\n.col-xs-pull-10 {\n right: 83.33333333%;\n}\n.col-xs-pull-9 {\n right: 75%;\n}\n.col-xs-pull-8 {\n right: 66.66666667%;\n}\n.col-xs-pull-7 {\n right: 58.33333333%;\n}\n.col-xs-pull-6 {\n right: 50%;\n}\n.col-xs-pull-5 {\n right: 41.66666667%;\n}\n.col-xs-pull-4 {\n right: 33.33333333%;\n}\n.col-xs-pull-3 {\n right: 25%;\n}\n.col-xs-pull-2 {\n right: 16.66666667%;\n}\n.col-xs-pull-1 {\n right: 8.33333333%;\n}\n.col-xs-pull-0 {\n right: auto;\n}\n.col-xs-push-12 {\n left: 100%;\n}\n.col-xs-push-11 {\n left: 91.66666667%;\n}\n.col-xs-push-10 {\n left: 83.33333333%;\n}\n.col-xs-push-9 {\n left: 75%;\n}\n.col-xs-push-8 {\n left: 66.66666667%;\n}\n.col-xs-push-7 {\n left: 58.33333333%;\n}\n.col-xs-push-6 {\n left: 50%;\n}\n.col-xs-push-5 {\n left: 41.66666667%;\n}\n.col-xs-push-4 {\n left: 33.33333333%;\n}\n.col-xs-push-3 {\n left: 25%;\n}\n.col-xs-push-2 {\n left: 16.66666667%;\n}\n.col-xs-push-1 {\n left: 8.33333333%;\n}\n.col-xs-push-0 {\n left: auto;\n}\n.col-xs-offset-12 {\n margin-left: 100%;\n}\n.col-xs-offset-11 {\n margin-left: 91.66666667%;\n}\n.col-xs-offset-10 {\n margin-left: 83.33333333%;\n}\n.col-xs-offset-9 {\n margin-left: 75%;\n}\n.col-xs-offset-8 {\n margin-left: 66.66666667%;\n}\n.col-xs-offset-7 {\n margin-left: 58.33333333%;\n}\n.col-xs-offset-6 {\n margin-left: 50%;\n}\n.col-xs-offset-5 {\n margin-left: 41.66666667%;\n}\n.col-xs-offset-4 {\n margin-left: 33.33333333%;\n}\n.col-xs-offset-3 {\n margin-left: 25%;\n}\n.col-xs-offset-2 {\n margin-left: 16.66666667%;\n}\n.col-xs-offset-1 {\n margin-left: 8.33333333%;\n}\n.col-xs-offset-0 {\n margin-left: 0;\n}\n@media (min-width: 768px) {\n .col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12 {\n float: left;\n }\n .col-sm-12 {\n width: 100%;\n }\n .col-sm-11 {\n width: 91.66666667%;\n }\n .col-sm-10 {\n width: 83.33333333%;\n }\n .col-sm-9 {\n width: 75%;\n }\n .col-sm-8 {\n width: 66.66666667%;\n }\n .col-sm-7 {\n width: 58.33333333%;\n }\n .col-sm-6 {\n width: 50%;\n }\n .col-sm-5 {\n width: 41.66666667%;\n }\n .col-sm-4 {\n width: 33.33333333%;\n }\n .col-sm-3 {\n width: 25%;\n }\n .col-sm-2 {\n width: 16.66666667%;\n }\n .col-sm-1 {\n width: 8.33333333%;\n }\n .col-sm-pull-12 {\n right: 100%;\n }\n .col-sm-pull-11 {\n right: 91.66666667%;\n }\n .col-sm-pull-10 {\n right: 83.33333333%;\n }\n .col-sm-pull-9 {\n right: 75%;\n }\n .col-sm-pull-8 {\n right: 66.66666667%;\n }\n .col-sm-pull-7 {\n right: 58.33333333%;\n }\n .col-sm-pull-6 {\n right: 50%;\n }\n .col-sm-pull-5 {\n right: 41.66666667%;\n }\n .col-sm-pull-4 {\n right: 33.33333333%;\n }\n .col-sm-pull-3 {\n right: 25%;\n }\n .col-sm-pull-2 {\n right: 16.66666667%;\n }\n .col-sm-pull-1 {\n right: 8.33333333%;\n }\n .col-sm-pull-0 {\n right: auto;\n }\n .col-sm-push-12 {\n left: 100%;\n }\n .col-sm-push-11 {\n left: 91.66666667%;\n }\n .col-sm-push-10 {\n left: 83.33333333%;\n }\n .col-sm-push-9 {\n left: 75%;\n }\n .col-sm-push-8 {\n left: 66.66666667%;\n }\n .col-sm-push-7 {\n left: 58.33333333%;\n }\n .col-sm-push-6 {\n left: 50%;\n }\n .col-sm-push-5 {\n left: 41.66666667%;\n }\n .col-sm-push-4 {\n left: 33.33333333%;\n }\n .col-sm-push-3 {\n left: 25%;\n }\n .col-sm-push-2 {\n left: 16.66666667%;\n }\n .col-sm-push-1 {\n left: 8.33333333%;\n }\n .col-sm-push-0 {\n left: auto;\n }\n .col-sm-offset-12 {\n margin-left: 100%;\n }\n .col-sm-offset-11 {\n margin-left: 91.66666667%;\n }\n .col-sm-offset-10 {\n margin-left: 83.33333333%;\n }\n .col-sm-offset-9 {\n margin-left: 75%;\n }\n .col-sm-offset-8 {\n margin-left: 66.66666667%;\n }\n .col-sm-offset-7 {\n margin-left: 58.33333333%;\n }\n .col-sm-offset-6 {\n margin-left: 50%;\n }\n .col-sm-offset-5 {\n margin-left: 41.66666667%;\n }\n .col-sm-offset-4 {\n margin-left: 33.33333333%;\n }\n .col-sm-offset-3 {\n margin-left: 25%;\n }\n .col-sm-offset-2 {\n margin-left: 16.66666667%;\n }\n .col-sm-offset-1 {\n margin-left: 8.33333333%;\n }\n .col-sm-offset-0 {\n margin-left: 0;\n }\n}\n@media (min-width: 992px) {\n .col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12 {\n float: left;\n }\n .col-md-12 {\n width: 100%;\n }\n .col-md-11 {\n width: 91.66666667%;\n }\n .col-md-10 {\n width: 83.33333333%;\n }\n .col-md-9 {\n width: 75%;\n }\n .col-md-8 {\n width: 66.66666667%;\n }\n .col-md-7 {\n width: 58.33333333%;\n }\n .col-md-6 {\n width: 50%;\n }\n .col-md-5 {\n width: 41.66666667%;\n }\n .col-md-4 {\n width: 33.33333333%;\n }\n .col-md-3 {\n width: 25%;\n }\n .col-md-2 {\n width: 16.66666667%;\n }\n .col-md-1 {\n width: 8.33333333%;\n }\n .col-md-pull-12 {\n right: 100%;\n }\n .col-md-pull-11 {\n right: 91.66666667%;\n }\n .col-md-pull-10 {\n right: 83.33333333%;\n }\n .col-md-pull-9 {\n right: 75%;\n }\n .col-md-pull-8 {\n right: 66.66666667%;\n }\n .col-md-pull-7 {\n right: 58.33333333%;\n }\n .col-md-pull-6 {\n right: 50%;\n }\n .col-md-pull-5 {\n right: 41.66666667%;\n }\n .col-md-pull-4 {\n right: 33.33333333%;\n }\n .col-md-pull-3 {\n right: 25%;\n }\n .col-md-pull-2 {\n right: 16.66666667%;\n }\n .col-md-pull-1 {\n right: 8.33333333%;\n }\n .col-md-pull-0 {\n right: auto;\n }\n .col-md-push-12 {\n left: 100%;\n }\n .col-md-push-11 {\n left: 91.66666667%;\n }\n .col-md-push-10 {\n left: 83.33333333%;\n }\n .col-md-push-9 {\n left: 75%;\n }\n .col-md-push-8 {\n left: 66.66666667%;\n }\n .col-md-push-7 {\n left: 58.33333333%;\n }\n .col-md-push-6 {\n left: 50%;\n }\n .col-md-push-5 {\n left: 41.66666667%;\n }\n .col-md-push-4 {\n left: 33.33333333%;\n }\n .col-md-push-3 {\n left: 25%;\n }\n .col-md-push-2 {\n left: 16.66666667%;\n }\n .col-md-push-1 {\n left: 8.33333333%;\n }\n .col-md-push-0 {\n left: auto;\n }\n .col-md-offset-12 {\n margin-left: 100%;\n }\n .col-md-offset-11 {\n margin-left: 91.66666667%;\n }\n .col-md-offset-10 {\n margin-left: 83.33333333%;\n }\n .col-md-offset-9 {\n margin-left: 75%;\n }\n .col-md-offset-8 {\n margin-left: 66.66666667%;\n }\n .col-md-offset-7 {\n margin-left: 58.33333333%;\n }\n .col-md-offset-6 {\n margin-left: 50%;\n }\n .col-md-offset-5 {\n margin-left: 41.66666667%;\n }\n .col-md-offset-4 {\n margin-left: 33.33333333%;\n }\n .col-md-offset-3 {\n margin-left: 25%;\n }\n .col-md-offset-2 {\n margin-left: 16.66666667%;\n }\n .col-md-offset-1 {\n margin-left: 8.33333333%;\n }\n .col-md-offset-0 {\n margin-left: 0;\n }\n}\n@media (min-width: 1200px) {\n .col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12 {\n float: left;\n }\n .col-lg-12 {\n width: 100%;\n }\n .col-lg-11 {\n width: 91.66666667%;\n }\n .col-lg-10 {\n width: 83.33333333%;\n }\n .col-lg-9 {\n width: 75%;\n }\n .col-lg-8 {\n width: 66.66666667%;\n }\n .col-lg-7 {\n width: 58.33333333%;\n }\n .col-lg-6 {\n width: 50%;\n }\n .col-lg-5 {\n width: 41.66666667%;\n }\n .col-lg-4 {\n width: 33.33333333%;\n }\n .col-lg-3 {\n width: 25%;\n }\n .col-lg-2 {\n width: 16.66666667%;\n }\n .col-lg-1 {\n width: 8.33333333%;\n }\n .col-lg-pull-12 {\n right: 100%;\n }\n .col-lg-pull-11 {\n right: 91.66666667%;\n }\n .col-lg-pull-10 {\n right: 83.33333333%;\n }\n .col-lg-pull-9 {\n right: 75%;\n }\n .col-lg-pull-8 {\n right: 66.66666667%;\n }\n .col-lg-pull-7 {\n right: 58.33333333%;\n }\n .col-lg-pull-6 {\n right: 50%;\n }\n .col-lg-pull-5 {\n right: 41.66666667%;\n }\n .col-lg-pull-4 {\n right: 33.33333333%;\n }\n .col-lg-pull-3 {\n right: 25%;\n }\n .col-lg-pull-2 {\n right: 16.66666667%;\n }\n .col-lg-pull-1 {\n right: 8.33333333%;\n }\n .col-lg-pull-0 {\n right: auto;\n }\n .col-lg-push-12 {\n left: 100%;\n }\n .col-lg-push-11 {\n left: 91.66666667%;\n }\n .col-lg-push-10 {\n left: 83.33333333%;\n }\n .col-lg-push-9 {\n left: 75%;\n }\n .col-lg-push-8 {\n left: 66.66666667%;\n }\n .col-lg-push-7 {\n left: 58.33333333%;\n }\n .col-lg-push-6 {\n left: 50%;\n }\n .col-lg-push-5 {\n left: 41.66666667%;\n }\n .col-lg-push-4 {\n left: 33.33333333%;\n }\n .col-lg-push-3 {\n left: 25%;\n }\n .col-lg-push-2 {\n left: 16.66666667%;\n }\n .col-lg-push-1 {\n left: 8.33333333%;\n }\n .col-lg-push-0 {\n left: auto;\n }\n .col-lg-offset-12 {\n margin-left: 100%;\n }\n .col-lg-offset-11 {\n margin-left: 91.66666667%;\n }\n .col-lg-offset-10 {\n margin-left: 83.33333333%;\n }\n .col-lg-offset-9 {\n margin-left: 75%;\n }\n .col-lg-offset-8 {\n margin-left: 66.66666667%;\n }\n .col-lg-offset-7 {\n margin-left: 58.33333333%;\n }\n .col-lg-offset-6 {\n margin-left: 50%;\n }\n .col-lg-offset-5 {\n margin-left: 41.66666667%;\n }\n .col-lg-offset-4 {\n margin-left: 33.33333333%;\n }\n .col-lg-offset-3 {\n margin-left: 25%;\n }\n .col-lg-offset-2 {\n margin-left: 16.66666667%;\n }\n .col-lg-offset-1 {\n margin-left: 8.33333333%;\n }\n .col-lg-offset-0 {\n margin-left: 0;\n }\n}\ntable {\n background-color: transparent;\n}\ncaption {\n padding-top: 8px;\n padding-bottom: 8px;\n color: #777;\n text-align: left;\n}\nth {\n text-align: left;\n}\n.table {\n width: 100%;\n max-width: 100%;\n margin-bottom: 20px;\n}\n.table > thead > tr > th,\n.table > tbody > tr > th,\n.table > tfoot > tr > th,\n.table > thead > tr > td,\n.table > tbody > tr > td,\n.table > tfoot > tr > td {\n padding: 8px;\n line-height: 1.42857143;\n vertical-align: top;\n border-top: 1px solid #ddd;\n}\n.table > thead > tr > th {\n vertical-align: bottom;\n border-bottom: 2px solid #ddd;\n}\n.table > caption + thead > tr:first-child > th,\n.table > colgroup + thead > tr:first-child > th,\n.table > thead:first-child > tr:first-child > th,\n.table > caption + thead > tr:first-child > td,\n.table > colgroup + thead > tr:first-child > td,\n.table > thead:first-child > tr:first-child > td {\n border-top: 0;\n}\n.table > tbody + tbody {\n border-top: 2px solid #ddd;\n}\n.table .table {\n background-color: #fff;\n}\n.table-condensed > thead > tr > th,\n.table-condensed > tbody > tr > th,\n.table-condensed > tfoot > tr > th,\n.table-condensed > thead > tr > td,\n.table-condensed > tbody > tr > td,\n.table-condensed > tfoot > tr > td {\n padding: 5px;\n}\n.table-bordered {\n border: 1px solid #ddd;\n}\n.table-bordered > thead > tr > th,\n.table-bordered > tbody > tr > th,\n.table-bordered > tfoot > tr > th,\n.table-bordered > thead > tr > td,\n.table-bordered > tbody > tr > td,\n.table-bordered > tfoot > tr > td {\n border: 1px solid #ddd;\n}\n.table-bordered > thead > tr > th,\n.table-bordered > thead > tr > td {\n border-bottom-width: 2px;\n}\n.table-striped > tbody > tr:nth-of-type(odd) {\n background-color: #f9f9f9;\n}\n.table-hover > tbody > tr:hover {\n background-color: #f5f5f5;\n}\ntable col[class*=\"col-\"] {\n position: static;\n display: table-column;\n float: none;\n}\ntable td[class*=\"col-\"],\ntable th[class*=\"col-\"] {\n position: static;\n display: table-cell;\n float: none;\n}\n.table > thead > tr > td.active,\n.table > tbody > tr > td.active,\n.table > tfoot > tr > td.active,\n.table > thead > tr > th.active,\n.table > tbody > tr > th.active,\n.table > tfoot > tr > th.active,\n.table > thead > tr.active > td,\n.table > tbody > tr.active > td,\n.table > tfoot > tr.active > td,\n.table > thead > tr.active > th,\n.table > tbody > tr.active > th,\n.table > tfoot > tr.active > th {\n background-color: #f5f5f5;\n}\n.table-hover > tbody > tr > td.active:hover,\n.table-hover > tbody > tr > th.active:hover,\n.table-hover > tbody > tr.active:hover > td,\n.table-hover > tbody > tr:hover > .active,\n.table-hover > tbody > tr.active:hover > th {\n background-color: #e8e8e8;\n}\n.table > thead > tr > td.success,\n.table > tbody > tr > td.success,\n.table > tfoot > tr > td.success,\n.table > thead > tr > th.success,\n.table > tbody > tr > th.success,\n.table > tfoot > tr > th.success,\n.table > thead > tr.success > td,\n.table > tbody > tr.success > td,\n.table > tfoot > tr.success > td,\n.table > thead > tr.success > th,\n.table > tbody > tr.success > th,\n.table > tfoot > tr.success > th {\n background-color: #dff0d8;\n}\n.table-hover > tbody > tr > td.success:hover,\n.table-hover > tbody > tr > th.success:hover,\n.table-hover > tbody > tr.success:hover > td,\n.table-hover > tbody > tr:hover > .success,\n.table-hover > tbody > tr.success:hover > th {\n background-color: #d0e9c6;\n}\n.table > thead > tr > td.info,\n.table > tbody > tr > td.info,\n.table > tfoot > tr > td.info,\n.table > thead > tr > th.info,\n.table > tbody > tr > th.info,\n.table > tfoot > tr > th.info,\n.table > thead > tr.info > td,\n.table > tbody > tr.info > td,\n.table > tfoot > tr.info > td,\n.table > thead > tr.info > th,\n.table > tbody > tr.info > th,\n.table > tfoot > tr.info > th {\n background-color: #d9edf7;\n}\n.table-hover > tbody > tr > td.info:hover,\n.table-hover > tbody > tr > th.info:hover,\n.table-hover > tbody > tr.info:hover > td,\n.table-hover > tbody > tr:hover > .info,\n.table-hover > tbody > tr.info:hover > th {\n background-color: #c4e3f3;\n}\n.table > thead > tr > td.warning,\n.table > tbody > tr > td.warning,\n.table > tfoot > tr > td.warning,\n.table > thead > tr > th.warning,\n.table > tbody > tr > th.warning,\n.table > tfoot > tr > th.warning,\n.table > thead > tr.warning > td,\n.table > tbody > tr.warning > td,\n.table > tfoot > tr.warning > td,\n.table > thead > tr.warning > th,\n.table > tbody > tr.warning > th,\n.table > tfoot > tr.warning > th {\n background-color: #fcf8e3;\n}\n.table-hover > tbody > tr > td.warning:hover,\n.table-hover > tbody > tr > th.warning:hover,\n.table-hover > tbody > tr.warning:hover > td,\n.table-hover > tbody > tr:hover > .warning,\n.table-hover > tbody > tr.warning:hover > th {\n background-color: #faf2cc;\n}\n.table > thead > tr > td.danger,\n.table > tbody > tr > td.danger,\n.table > tfoot > tr > td.danger,\n.table > thead > tr > th.danger,\n.table > tbody > tr > th.danger,\n.table > tfoot > tr > th.danger,\n.table > thead > tr.danger > td,\n.table > tbody > tr.danger > td,\n.table > tfoot > tr.danger > td,\n.table > thead > tr.danger > th,\n.table > tbody > tr.danger > th,\n.table > tfoot > tr.danger > th {\n background-color: #f2dede;\n}\n.table-hover > tbody > tr > td.danger:hover,\n.table-hover > tbody > tr > th.danger:hover,\n.table-hover > tbody > tr.danger:hover > td,\n.table-hover > tbody > tr:hover > .danger,\n.table-hover > tbody > tr.danger:hover > th {\n background-color: #ebcccc;\n}\n.table-responsive {\n min-height: .01%;\n overflow-x: auto;\n}\n@media screen and (max-width: 767px) {\n .table-responsive {\n width: 100%;\n margin-bottom: 15px;\n overflow-y: hidden;\n -ms-overflow-style: -ms-autohiding-scrollbar;\n border: 1px solid #ddd;\n }\n .table-responsive > .table {\n margin-bottom: 0;\n }\n .table-responsive > .table > thead > tr > th,\n .table-responsive > .table > tbody > tr > th,\n .table-responsive > .table > tfoot > tr > th,\n .table-responsive > .table > thead > tr > td,\n .table-responsive > .table > tbody > tr > td,\n .table-responsive > .table > tfoot > tr > td {\n white-space: nowrap;\n }\n .table-responsive > .table-bordered {\n border: 0;\n }\n .table-responsive > .table-bordered > thead > tr > th:first-child,\n .table-responsive > .table-bordered > tbody > tr > th:first-child,\n .table-responsive > .table-bordered > tfoot > tr > th:first-child,\n .table-responsive > .table-bordered > thead > tr > td:first-child,\n .table-responsive > .table-bordered > tbody > tr > td:first-child,\n .table-responsive > .table-bordered > tfoot > tr > td:first-child {\n border-left: 0;\n }\n .table-responsive > .table-bordered > thead > tr > th:last-child,\n .table-responsive > .table-bordered > tbody > tr > th:last-child,\n .table-responsive > .table-bordered > tfoot > tr > th:last-child,\n .table-responsive > .table-bordered > thead > tr > td:last-child,\n .table-responsive > .table-bordered > tbody > tr > td:last-child,\n .table-responsive > .table-bordered > tfoot > tr > td:last-child {\n border-right: 0;\n }\n .table-responsive > .table-bordered > tbody > tr:last-child > th,\n .table-responsive > .table-bordered > tfoot > tr:last-child > th,\n .table-responsive > .table-bordered > tbody > tr:last-child > td,\n .table-responsive > .table-bordered > tfoot > tr:last-child > td {\n border-bottom: 0;\n }\n}\nfieldset {\n min-width: 0;\n padding: 0;\n margin: 0;\n border: 0;\n}\nlegend {\n display: block;\n width: 100%;\n padding: 0;\n margin-bottom: 20px;\n font-size: 21px;\n line-height: inherit;\n color: #333;\n border: 0;\n border-bottom: 1px solid #e5e5e5;\n}\nlabel {\n display: inline-block;\n max-width: 100%;\n margin-bottom: 5px;\n font-weight: bold;\n}\ninput[type=\"search\"] {\n -webkit-box-sizing: border-box;\n -moz-box-sizing: border-box;\n box-sizing: border-box;\n}\ninput[type=\"radio\"],\ninput[type=\"checkbox\"] {\n margin: 4px 0 0;\n margin-top: 1px \\9;\n line-height: normal;\n}\ninput[type=\"file\"] {\n display: block;\n}\ninput[type=\"range\"] {\n display: block;\n width: 100%;\n}\nselect[multiple],\nselect[size] {\n height: auto;\n}\ninput[type=\"file\"]:focus,\ninput[type=\"radio\"]:focus,\ninput[type=\"checkbox\"]:focus {\n outline: 5px auto -webkit-focus-ring-color;\n outline-offset: -2px;\n}\noutput {\n display: block;\n padding-top: 7px;\n font-size: 14px;\n line-height: 1.42857143;\n color: #555;\n}\n.form-control {\n display: block;\n width: 100%;\n height: 34px;\n padding: 6px 12px;\n font-size: 14px;\n line-height: 1.42857143;\n color: #555;\n background-color: #fff;\n background-image: none;\n border: 1px solid #ccc;\n border-radius: 4px;\n -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075);\n box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075);\n -webkit-transition: border-color ease-in-out .15s, -webkit-box-shadow ease-in-out .15s;\n -o-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;\n transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;\n}\n.form-control:focus {\n border-color: #66afe9;\n outline: 0;\n -webkit-box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(102, 175, 233, .6);\n box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(102, 175, 233, .6);\n}\n.form-control::-moz-placeholder {\n color: #999;\n opacity: 1;\n}\n.form-control:-ms-input-placeholder {\n color: #999;\n}\n.form-control::-webkit-input-placeholder {\n color: #999;\n}\n.form-control::-ms-expand {\n background-color: transparent;\n border: 0;\n}\n.form-control[disabled],\n.form-control[readonly],\nfieldset[disabled] .form-control {\n background-color: #eee;\n opacity: 1;\n}\n.form-control[disabled],\nfieldset[disabled] .form-control {\n cursor: not-allowed;\n}\ntextarea.form-control {\n height: auto;\n}\ninput[type=\"search\"] {\n -webkit-appearance: none;\n}\n@media screen and (-webkit-min-device-pixel-ratio: 0) {\n input[type=\"date\"].form-control,\n input[type=\"time\"].form-control,\n input[type=\"datetime-local\"].form-control,\n input[type=\"month\"].form-control {\n line-height: 34px;\n }\n input[type=\"date\"].input-sm,\n input[type=\"time\"].input-sm,\n input[type=\"datetime-local\"].input-sm,\n input[type=\"month\"].input-sm,\n .input-group-sm input[type=\"date\"],\n .input-group-sm input[type=\"time\"],\n .input-group-sm input[type=\"datetime-local\"],\n .input-group-sm input[type=\"month\"] {\n line-height: 30px;\n }\n input[type=\"date\"].input-lg,\n input[type=\"time\"].input-lg,\n input[type=\"datetime-local\"].input-lg,\n input[type=\"month\"].input-lg,\n .input-group-lg input[type=\"date\"],\n .input-group-lg input[type=\"time\"],\n .input-group-lg input[type=\"datetime-local\"],\n .input-group-lg input[type=\"month\"] {\n line-height: 46px;\n }\n}\n.form-group {\n margin-bottom: 15px;\n}\n.radio,\n.checkbox {\n position: relative;\n display: block;\n margin-top: 10px;\n margin-bottom: 10px;\n}\n.radio label,\n.checkbox label {\n min-height: 20px;\n padding-left: 20px;\n margin-bottom: 0;\n font-weight: normal;\n cursor: pointer;\n}\n.radio input[type=\"radio\"],\n.radio-inline input[type=\"radio\"],\n.checkbox input[type=\"checkbox\"],\n.checkbox-inline input[type=\"checkbox\"] {\n position: absolute;\n margin-top: 4px \\9;\n margin-left: -20px;\n}\n.radio + .radio,\n.checkbox + .checkbox {\n margin-top: -5px;\n}\n.radio-inline,\n.checkbox-inline {\n position: relative;\n display: inline-block;\n padding-left: 20px;\n margin-bottom: 0;\n font-weight: normal;\n vertical-align: middle;\n cursor: pointer;\n}\n.radio-inline + .radio-inline,\n.checkbox-inline + .checkbox-inline {\n margin-top: 0;\n margin-left: 10px;\n}\ninput[type=\"radio\"][disabled],\ninput[type=\"checkbox\"][disabled],\ninput[type=\"radio\"].disabled,\ninput[type=\"checkbox\"].disabled,\nfieldset[disabled] input[type=\"radio\"],\nfieldset[disabled] input[type=\"checkbox\"] {\n cursor: not-allowed;\n}\n.radio-inline.disabled,\n.checkbox-inline.disabled,\nfieldset[disabled] .radio-inline,\nfieldset[disabled] .checkbox-inline {\n cursor: not-allowed;\n}\n.radio.disabled label,\n.checkbox.disabled label,\nfieldset[disabled] .radio label,\nfieldset[disabled] .checkbox label {\n cursor: not-allowed;\n}\n.form-control-static {\n min-height: 34px;\n padding-top: 7px;\n padding-bottom: 7px;\n margin-bottom: 0;\n}\n.form-control-static.input-lg,\n.form-control-static.input-sm {\n padding-right: 0;\n padding-left: 0;\n}\n.input-sm {\n height: 30px;\n padding: 5px 10px;\n font-size: 12px;\n line-height: 1.5;\n border-radius: 3px;\n}\nselect.input-sm {\n height: 30px;\n line-height: 30px;\n}\ntextarea.input-sm,\nselect[multiple].input-sm {\n height: auto;\n}\n.form-group-sm .form-control {\n height: 30px;\n padding: 5px 10px;\n font-size: 12px;\n line-height: 1.5;\n border-radius: 3px;\n}\n.form-group-sm select.form-control {\n height: 30px;\n line-height: 30px;\n}\n.form-group-sm textarea.form-control,\n.form-group-sm select[multiple].form-control {\n height: auto;\n}\n.form-group-sm .form-control-static {\n height: 30px;\n min-height: 32px;\n padding: 6px 10px;\n font-size: 12px;\n line-height: 1.5;\n}\n.input-lg {\n height: 46px;\n padding: 10px 16px;\n font-size: 18px;\n line-height: 1.3333333;\n border-radius: 6px;\n}\nselect.input-lg {\n height: 46px;\n line-height: 46px;\n}\ntextarea.input-lg,\nselect[multiple].input-lg {\n height: auto;\n}\n.form-group-lg .form-control {\n height: 46px;\n padding: 10px 16px;\n font-size: 18px;\n line-height: 1.3333333;\n border-radius: 6px;\n}\n.form-group-lg select.form-control {\n height: 46px;\n line-height: 46px;\n}\n.form-group-lg textarea.form-control,\n.form-group-lg select[multiple].form-control {\n height: auto;\n}\n.form-group-lg .form-control-static {\n height: 46px;\n min-height: 38px;\n padding: 11px 16px;\n font-size: 18px;\n line-height: 1.3333333;\n}\n.has-feedback {\n position: relative;\n}\n.has-feedback .form-control {\n padding-right: 42.5px;\n}\n.form-control-feedback {\n position: absolute;\n top: 0;\n right: 0;\n z-index: 2;\n display: block;\n width: 34px;\n height: 34px;\n line-height: 34px;\n text-align: center;\n pointer-events: none;\n}\n.input-lg + .form-control-feedback,\n.input-group-lg + .form-control-feedback,\n.form-group-lg .form-control + .form-control-feedback {\n width: 46px;\n height: 46px;\n line-height: 46px;\n}\n.input-sm + .form-control-feedback,\n.input-group-sm + .form-control-feedback,\n.form-group-sm .form-control + .form-control-feedback {\n width: 30px;\n height: 30px;\n line-height: 30px;\n}\n.has-success .help-block,\n.has-success .control-label,\n.has-success .radio,\n.has-success .checkbox,\n.has-success .radio-inline,\n.has-success .checkbox-inline,\n.has-success.radio label,\n.has-success.checkbox label,\n.has-success.radio-inline label,\n.has-success.checkbox-inline label {\n color: #3c763d;\n}\n.has-success .form-control {\n border-color: #3c763d;\n -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075);\n box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075);\n}\n.has-success .form-control:focus {\n border-color: #2b542c;\n -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 6px #67b168;\n box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 6px #67b168;\n}\n.has-success .input-group-addon {\n color: #3c763d;\n background-color: #dff0d8;\n border-color: #3c763d;\n}\n.has-success .form-control-feedback {\n color: #3c763d;\n}\n.has-warning .help-block,\n.has-warning .control-label,\n.has-warning .radio,\n.has-warning .checkbox,\n.has-warning .radio-inline,\n.has-warning .checkbox-inline,\n.has-warning.radio label,\n.has-warning.checkbox label,\n.has-warning.radio-inline label,\n.has-warning.checkbox-inline label {\n color: #8a6d3b;\n}\n.has-warning .form-control {\n border-color: #8a6d3b;\n -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075);\n box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075);\n}\n.has-warning .form-control:focus {\n border-color: #66512c;\n -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 6px #c0a16b;\n box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 6px #c0a16b;\n}\n.has-warning .input-group-addon {\n color: #8a6d3b;\n background-color: #fcf8e3;\n border-color: #8a6d3b;\n}\n.has-warning .form-control-feedback {\n color: #8a6d3b;\n}\n.has-error .help-block,\n.has-error .control-label,\n.has-error .radio,\n.has-error .checkbox,\n.has-error .radio-inline,\n.has-error .checkbox-inline,\n.has-error.radio label,\n.has-error.checkbox label,\n.has-error.radio-inline label,\n.has-error.checkbox-inline label {\n color: #a94442;\n}\n.has-error .form-control {\n border-color: #a94442;\n -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075);\n box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075);\n}\n.has-error .form-control:focus {\n border-color: #843534;\n -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 6px #ce8483;\n box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 6px #ce8483;\n}\n.has-error .input-group-addon {\n color: #a94442;\n background-color: #f2dede;\n border-color: #a94442;\n}\n.has-error .form-control-feedback {\n color: #a94442;\n}\n.has-feedback label ~ .form-control-feedback {\n top: 25px;\n}\n.has-feedback label.sr-only ~ .form-control-feedback {\n top: 0;\n}\n.help-block {\n display: block;\n margin-top: 5px;\n margin-bottom: 10px;\n color: #737373;\n}\n@media (min-width: 768px) {\n .form-inline .form-group {\n display: inline-block;\n margin-bottom: 0;\n vertical-align: middle;\n }\n .form-inline .form-control {\n display: inline-block;\n width: auto;\n vertical-align: middle;\n }\n .form-inline .form-control-static {\n display: inline-block;\n }\n .form-inline .input-group {\n display: inline-table;\n vertical-align: middle;\n }\n .form-inline .input-group .input-group-addon,\n .form-inline .input-group .input-group-btn,\n .form-inline .input-group .form-control {\n width: auto;\n }\n .form-inline .input-group > .form-control {\n width: 100%;\n }\n .form-inline .control-label {\n margin-bottom: 0;\n vertical-align: middle;\n }\n .form-inline .radio,\n .form-inline .checkbox {\n display: inline-block;\n margin-top: 0;\n margin-bottom: 0;\n vertical-align: middle;\n }\n .form-inline .radio label,\n .form-inline .checkbox label {\n padding-left: 0;\n }\n .form-inline .radio input[type=\"radio\"],\n .form-inline .checkbox input[type=\"checkbox\"] {\n position: relative;\n margin-left: 0;\n }\n .form-inline .has-feedback .form-control-feedback {\n top: 0;\n }\n}\n.form-horizontal .radio,\n.form-horizontal .checkbox,\n.form-horizontal .radio-inline,\n.form-horizontal .checkbox-inline {\n padding-top: 7px;\n margin-top: 0;\n margin-bottom: 0;\n}\n.form-horizontal .radio,\n.form-horizontal .checkbox {\n min-height: 27px;\n}\n.form-horizontal .form-group {\n margin-right: -15px;\n margin-left: -15px;\n}\n@media (min-width: 768px) {\n .form-horizontal .control-label {\n padding-top: 7px;\n margin-bottom: 0;\n text-align: right;\n }\n}\n.form-horizontal .has-feedback .form-control-feedback {\n right: 15px;\n}\n@media (min-width: 768px) {\n .form-horizontal .form-group-lg .control-label {\n padding-top: 11px;\n font-size: 18px;\n }\n}\n@media (min-width: 768px) {\n .form-horizontal .form-group-sm .control-label {\n padding-top: 6px;\n font-size: 12px;\n }\n}\n.btn {\n display: inline-block;\n padding: 6px 12px;\n margin-bottom: 0;\n font-size: 14px;\n font-weight: normal;\n line-height: 1.42857143;\n text-align: center;\n white-space: nowrap;\n vertical-align: middle;\n -ms-touch-action: manipulation;\n touch-action: manipulation;\n cursor: pointer;\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n background-image: none;\n border: 1px solid transparent;\n border-radius: 4px;\n}\n.btn:focus,\n.btn:active:focus,\n.btn.active:focus,\n.btn.focus,\n.btn:active.focus,\n.btn.active.focus {\n outline: 5px auto -webkit-focus-ring-color;\n outline-offset: -2px;\n}\n.btn:hover,\n.btn:focus,\n.btn.focus {\n color: #333;\n text-decoration: none;\n}\n.btn:active,\n.btn.active {\n background-image: none;\n outline: 0;\n -webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);\n box-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);\n}\n.btn.disabled,\n.btn[disabled],\nfieldset[disabled] .btn {\n cursor: not-allowed;\n filter: alpha(opacity=65);\n -webkit-box-shadow: none;\n box-shadow: none;\n opacity: .65;\n}\na.btn.disabled,\nfieldset[disabled] a.btn {\n pointer-events: none;\n}\n.btn-default {\n color: #333;\n background-color: #fff;\n border-color: #ccc;\n}\n.btn-default:focus,\n.btn-default.focus {\n color: #333;\n background-color: #e6e6e6;\n border-color: #8c8c8c;\n}\n.btn-default:hover {\n color: #333;\n background-color: #e6e6e6;\n border-color: #adadad;\n}\n.btn-default:active,\n.btn-default.active,\n.open > .dropdown-toggle.btn-default {\n color: #333;\n background-color: #e6e6e6;\n border-color: #adadad;\n}\n.btn-default:active:hover,\n.btn-default.active:hover,\n.open > .dropdown-toggle.btn-default:hover,\n.btn-default:active:focus,\n.btn-default.active:focus,\n.open > .dropdown-toggle.btn-default:focus,\n.btn-default:active.focus,\n.btn-default.active.focus,\n.open > .dropdown-toggle.btn-default.focus {\n color: #333;\n background-color: #d4d4d4;\n border-color: #8c8c8c;\n}\n.btn-default:active,\n.btn-default.active,\n.open > .dropdown-toggle.btn-default {\n background-image: none;\n}\n.btn-default.disabled:hover,\n.btn-default[disabled]:hover,\nfieldset[disabled] .btn-default:hover,\n.btn-default.disabled:focus,\n.btn-default[disabled]:focus,\nfieldset[disabled] .btn-default:focus,\n.btn-default.disabled.focus,\n.btn-default[disabled].focus,\nfieldset[disabled] .btn-default.focus {\n background-color: #fff;\n border-color: #ccc;\n}\n.btn-default .badge {\n color: #fff;\n background-color: #333;\n}\n.btn-primary {\n color: #fff;\n background-color: #337ab7;\n border-color: #2e6da4;\n}\n.btn-primary:focus,\n.btn-primary.focus {\n color: #fff;\n background-color: #286090;\n border-color: #122b40;\n}\n.btn-primary:hover {\n color: #fff;\n background-color: #286090;\n border-color: #204d74;\n}\n.btn-primary:active,\n.btn-primary.active,\n.open > .dropdown-toggle.btn-primary {\n color: #fff;\n background-color: #286090;\n border-color: #204d74;\n}\n.btn-primary:active:hover,\n.btn-primary.active:hover,\n.open > .dropdown-toggle.btn-primary:hover,\n.btn-primary:active:focus,\n.btn-primary.active:focus,\n.open > .dropdown-toggle.btn-primary:focus,\n.btn-primary:active.focus,\n.btn-primary.active.focus,\n.open > .dropdown-toggle.btn-primary.focus {\n color: #fff;\n background-color: #204d74;\n border-color: #122b40;\n}\n.btn-primary:active,\n.btn-primary.active,\n.open > .dropdown-toggle.btn-primary {\n background-image: none;\n}\n.btn-primary.disabled:hover,\n.btn-primary[disabled]:hover,\nfieldset[disabled] .btn-primary:hover,\n.btn-primary.disabled:focus,\n.btn-primary[disabled]:focus,\nfieldset[disabled] .btn-primary:focus,\n.btn-primary.disabled.focus,\n.btn-primary[disabled].focus,\nfieldset[disabled] .btn-primary.focus {\n background-color: #337ab7;\n border-color: #2e6da4;\n}\n.btn-primary .badge {\n color: #337ab7;\n background-color: #fff;\n}\n.btn-success {\n color: #fff;\n background-color: #5cb85c;\n border-color: #4cae4c;\n}\n.btn-success:focus,\n.btn-success.focus {\n color: #fff;\n background-color: #449d44;\n border-color: #255625;\n}\n.btn-success:hover {\n color: #fff;\n background-color: #449d44;\n border-color: #398439;\n}\n.btn-success:active,\n.btn-success.active,\n.open > .dropdown-toggle.btn-success {\n color: #fff;\n background-color: #449d44;\n border-color: #398439;\n}\n.btn-success:active:hover,\n.btn-success.active:hover,\n.open > .dropdown-toggle.btn-success:hover,\n.btn-success:active:focus,\n.btn-success.active:focus,\n.open > .dropdown-toggle.btn-success:focus,\n.btn-success:active.focus,\n.btn-success.active.focus,\n.open > .dropdown-toggle.btn-success.focus {\n color: #fff;\n background-color: #398439;\n border-color: #255625;\n}\n.btn-success:active,\n.btn-success.active,\n.open > .dropdown-toggle.btn-success {\n background-image: none;\n}\n.btn-success.disabled:hover,\n.btn-success[disabled]:hover,\nfieldset[disabled] .btn-success:hover,\n.btn-success.disabled:focus,\n.btn-success[disabled]:focus,\nfieldset[disabled] .btn-success:focus,\n.btn-success.disabled.focus,\n.btn-success[disabled].focus,\nfieldset[disabled] .btn-success.focus {\n background-color: #5cb85c;\n border-color: #4cae4c;\n}\n.btn-success .badge {\n color: #5cb85c;\n background-color: #fff;\n}\n.btn-info {\n color: #fff;\n background-color: #5bc0de;\n border-color: #46b8da;\n}\n.btn-info:focus,\n.btn-info.focus {\n color: #fff;\n background-color: #31b0d5;\n border-color: #1b6d85;\n}\n.btn-info:hover {\n color: #fff;\n background-color: #31b0d5;\n border-color: #269abc;\n}\n.btn-info:active,\n.btn-info.active,\n.open > .dropdown-toggle.btn-info {\n color: #fff;\n background-color: #31b0d5;\n border-color: #269abc;\n}\n.btn-info:active:hover,\n.btn-info.active:hover,\n.open > .dropdown-toggle.btn-info:hover,\n.btn-info:active:focus,\n.btn-info.active:focus,\n.open > .dropdown-toggle.btn-info:focus,\n.btn-info:active.focus,\n.btn-info.active.focus,\n.open > .dropdown-toggle.btn-info.focus {\n color: #fff;\n background-color: #269abc;\n border-color: #1b6d85;\n}\n.btn-info:active,\n.btn-info.active,\n.open > .dropdown-toggle.btn-info {\n background-image: none;\n}\n.btn-info.disabled:hover,\n.btn-info[disabled]:hover,\nfieldset[disabled] .btn-info:hover,\n.btn-info.disabled:focus,\n.btn-info[disabled]:focus,\nfieldset[disabled] .btn-info:focus,\n.btn-info.disabled.focus,\n.btn-info[disabled].focus,\nfieldset[disabled] .btn-info.focus {\n background-color: #5bc0de;\n border-color: #46b8da;\n}\n.btn-info .badge {\n color: #5bc0de;\n background-color: #fff;\n}\n.btn-warning {\n color: #fff;\n background-color: #f0ad4e;\n border-color: #eea236;\n}\n.btn-warning:focus,\n.btn-warning.focus {\n color: #fff;\n background-color: #ec971f;\n border-color: #985f0d;\n}\n.btn-warning:hover {\n color: #fff;\n background-color: #ec971f;\n border-color: #d58512;\n}\n.btn-warning:active,\n.btn-warning.active,\n.open > .dropdown-toggle.btn-warning {\n color: #fff;\n background-color: #ec971f;\n border-color: #d58512;\n}\n.btn-warning:active:hover,\n.btn-warning.active:hover,\n.open > .dropdown-toggle.btn-warning:hover,\n.btn-warning:active:focus,\n.btn-warning.active:focus,\n.open > .dropdown-toggle.btn-warning:focus,\n.btn-warning:active.focus,\n.btn-warning.active.focus,\n.open > .dropdown-toggle.btn-warning.focus {\n color: #fff;\n background-color: #d58512;\n border-color: #985f0d;\n}\n.btn-warning:active,\n.btn-warning.active,\n.open > .dropdown-toggle.btn-warning {\n background-image: none;\n}\n.btn-warning.disabled:hover,\n.btn-warning[disabled]:hover,\nfieldset[disabled] .btn-warning:hover,\n.btn-warning.disabled:focus,\n.btn-warning[disabled]:focus,\nfieldset[disabled] .btn-warning:focus,\n.btn-warning.disabled.focus,\n.btn-warning[disabled].focus,\nfieldset[disabled] .btn-warning.focus {\n background-color: #f0ad4e;\n border-color: #eea236;\n}\n.btn-warning .badge {\n color: #f0ad4e;\n background-color: #fff;\n}\n.btn-danger {\n color: #fff;\n background-color: #d9534f;\n border-color: #d43f3a;\n}\n.btn-danger:focus,\n.btn-danger.focus {\n color: #fff;\n background-color: #c9302c;\n border-color: #761c19;\n}\n.btn-danger:hover {\n color: #fff;\n background-color: #c9302c;\n border-color: #ac2925;\n}\n.btn-danger:active,\n.btn-danger.active,\n.open > .dropdown-toggle.btn-danger {\n color: #fff;\n background-color: #c9302c;\n border-color: #ac2925;\n}\n.btn-danger:active:hover,\n.btn-danger.active:hover,\n.open > .dropdown-toggle.btn-danger:hover,\n.btn-danger:active:focus,\n.btn-danger.active:focus,\n.open > .dropdown-toggle.btn-danger:focus,\n.btn-danger:active.focus,\n.btn-danger.active.focus,\n.open > .dropdown-toggle.btn-danger.focus {\n color: #fff;\n background-color: #ac2925;\n border-color: #761c19;\n}\n.btn-danger:active,\n.btn-danger.active,\n.open > .dropdown-toggle.btn-danger {\n background-image: none;\n}\n.btn-danger.disabled:hover,\n.btn-danger[disabled]:hover,\nfieldset[disabled] .btn-danger:hover,\n.btn-danger.disabled:focus,\n.btn-danger[disabled]:focus,\nfieldset[disabled] .btn-danger:focus,\n.btn-danger.disabled.focus,\n.btn-danger[disabled].focus,\nfieldset[disabled] .btn-danger.focus {\n background-color: #d9534f;\n border-color: #d43f3a;\n}\n.btn-danger .badge {\n color: #d9534f;\n background-color: #fff;\n}\n.btn-link {\n font-weight: normal;\n color: #337ab7;\n border-radius: 0;\n}\n.btn-link,\n.btn-link:active,\n.btn-link.active,\n.btn-link[disabled],\nfieldset[disabled] .btn-link {\n background-color: transparent;\n -webkit-box-shadow: none;\n box-shadow: none;\n}\n.btn-link,\n.btn-link:hover,\n.btn-link:focus,\n.btn-link:active {\n border-color: transparent;\n}\n.btn-link:hover,\n.btn-link:focus {\n color: #23527c;\n text-decoration: underline;\n background-color: transparent;\n}\n.btn-link[disabled]:hover,\nfieldset[disabled] .btn-link:hover,\n.btn-link[disabled]:focus,\nfieldset[disabled] .btn-link:focus {\n color: #777;\n text-decoration: none;\n}\n.btn-lg,\n.btn-group-lg > .btn {\n padding: 10px 16px;\n font-size: 18px;\n line-height: 1.3333333;\n border-radius: 6px;\n}\n.btn-sm,\n.btn-group-sm > .btn {\n padding: 5px 10px;\n font-size: 12px;\n line-height: 1.5;\n border-radius: 3px;\n}\n.btn-xs,\n.btn-group-xs > .btn {\n padding: 1px 5px;\n font-size: 12px;\n line-height: 1.5;\n border-radius: 3px;\n}\n.btn-block {\n display: block;\n width: 100%;\n}\n.btn-block + .btn-block {\n margin-top: 5px;\n}\ninput[type=\"submit\"].btn-block,\ninput[type=\"reset\"].btn-block,\ninput[type=\"button\"].btn-block {\n width: 100%;\n}\n.fade {\n opacity: 0;\n -webkit-transition: opacity .15s linear;\n -o-transition: opacity .15s linear;\n transition: opacity .15s linear;\n}\n.fade.in {\n opacity: 1;\n}\n.collapse {\n display: none;\n}\n.collapse.in {\n display: block;\n}\ntr.collapse.in {\n display: table-row;\n}\ntbody.collapse.in {\n display: table-row-group;\n}\n.collapsing {\n position: relative;\n height: 0;\n overflow: hidden;\n -webkit-transition-timing-function: ease;\n -o-transition-timing-function: ease;\n transition-timing-function: ease;\n -webkit-transition-duration: .35s;\n -o-transition-duration: .35s;\n transition-duration: .35s;\n -webkit-transition-property: height, visibility;\n -o-transition-property: height, visibility;\n transition-property: height, visibility;\n}\n.caret {\n display: inline-block;\n width: 0;\n height: 0;\n margin-left: 2px;\n vertical-align: middle;\n border-top: 4px dashed;\n border-top: 4px solid \\9;\n border-right: 4px solid transparent;\n border-left: 4px solid transparent;\n}\n.dropup,\n.dropdown {\n position: relative;\n}\n.dropdown-toggle:focus {\n outline: 0;\n}\n.dropdown-menu {\n position: absolute;\n top: 100%;\n left: 0;\n z-index: 1000;\n display: none;\n float: left;\n min-width: 160px;\n padding: 5px 0;\n margin: 2px 0 0;\n font-size: 14px;\n text-align: left;\n list-style: none;\n background-color: #fff;\n -webkit-background-clip: padding-box;\n background-clip: padding-box;\n border: 1px solid #ccc;\n border: 1px solid rgba(0, 0, 0, .15);\n border-radius: 4px;\n -webkit-box-shadow: 0 6px 12px rgba(0, 0, 0, .175);\n box-shadow: 0 6px 12px rgba(0, 0, 0, .175);\n}\n.dropdown-menu.pull-right {\n right: 0;\n left: auto;\n}\n.dropdown-menu .divider {\n height: 1px;\n margin: 9px 0;\n overflow: hidden;\n background-color: #e5e5e5;\n}\n.dropdown-menu > li > a {\n display: block;\n padding: 3px 20px;\n clear: both;\n font-weight: normal;\n line-height: 1.42857143;\n color: #333;\n white-space: nowrap;\n}\n.dropdown-menu > li > a:hover,\n.dropdown-menu > li > a:focus {\n color: #262626;\n text-decoration: none;\n background-color: #f5f5f5;\n}\n.dropdown-menu > .active > a,\n.dropdown-menu > .active > a:hover,\n.dropdown-menu > .active > a:focus {\n color: #fff;\n text-decoration: none;\n background-color: #337ab7;\n outline: 0;\n}\n.dropdown-menu > .disabled > a,\n.dropdown-menu > .disabled > a:hover,\n.dropdown-menu > .disabled > a:focus {\n color: #777;\n}\n.dropdown-menu > .disabled > a:hover,\n.dropdown-menu > .disabled > a:focus {\n text-decoration: none;\n cursor: not-allowed;\n background-color: transparent;\n background-image: none;\n filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);\n}\n.open > .dropdown-menu {\n display: block;\n}\n.open > a {\n outline: 0;\n}\n.dropdown-menu-right {\n right: 0;\n left: auto;\n}\n.dropdown-menu-left {\n right: auto;\n left: 0;\n}\n.dropdown-header {\n display: block;\n padding: 3px 20px;\n font-size: 12px;\n line-height: 1.42857143;\n color: #777;\n white-space: nowrap;\n}\n.dropdown-backdrop {\n position: fixed;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: 990;\n}\n.pull-right > .dropdown-menu {\n right: 0;\n left: auto;\n}\n.dropup .caret,\n.navbar-fixed-bottom .dropdown .caret {\n content: \"\";\n border-top: 0;\n border-bottom: 4px dashed;\n border-bottom: 4px solid \\9;\n}\n.dropup .dropdown-menu,\n.navbar-fixed-bottom .dropdown .dropdown-menu {\n top: auto;\n bottom: 100%;\n margin-bottom: 2px;\n}\n@media (min-width: 768px) {\n .navbar-right .dropdown-menu {\n right: 0;\n left: auto;\n }\n .navbar-right .dropdown-menu-left {\n right: auto;\n left: 0;\n }\n}\n.btn-group,\n.btn-group-vertical {\n position: relative;\n display: inline-block;\n vertical-align: middle;\n}\n.btn-group > .btn,\n.btn-group-vertical > .btn {\n position: relative;\n float: left;\n}\n.btn-group > .btn:hover,\n.btn-group-vertical > .btn:hover,\n.btn-group > .btn:focus,\n.btn-group-vertical > .btn:focus,\n.btn-group > .btn:active,\n.btn-group-vertical > .btn:active,\n.btn-group > .btn.active,\n.btn-group-vertical > .btn.active {\n z-index: 2;\n}\n.btn-group .btn + .btn,\n.btn-group .btn + .btn-group,\n.btn-group .btn-group + .btn,\n.btn-group .btn-group + .btn-group {\n margin-left: -1px;\n}\n.btn-toolbar {\n margin-left: -5px;\n}\n.btn-toolbar .btn,\n.btn-toolbar .btn-group,\n.btn-toolbar .input-group {\n float: left;\n}\n.btn-toolbar > .btn,\n.btn-toolbar > .btn-group,\n.btn-toolbar > .input-group {\n margin-left: 5px;\n}\n.btn-group > .btn:not(:first-child):not(:last-child):not(.dropdown-toggle) {\n border-radius: 0;\n}\n.btn-group > .btn:first-child {\n margin-left: 0;\n}\n.btn-group > .btn:first-child:not(:last-child):not(.dropdown-toggle) {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n}\n.btn-group > .btn:last-child:not(:first-child),\n.btn-group > .dropdown-toggle:not(:first-child) {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n}\n.btn-group > .btn-group {\n float: left;\n}\n.btn-group > .btn-group:not(:first-child):not(:last-child) > .btn {\n border-radius: 0;\n}\n.btn-group > .btn-group:first-child:not(:last-child) > .btn:last-child,\n.btn-group > .btn-group:first-child:not(:last-child) > .dropdown-toggle {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n}\n.btn-group > .btn-group:last-child:not(:first-child) > .btn:first-child {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n}\n.btn-group .dropdown-toggle:active,\n.btn-group.open .dropdown-toggle {\n outline: 0;\n}\n.btn-group > .btn + .dropdown-toggle {\n padding-right: 8px;\n padding-left: 8px;\n}\n.btn-group > .btn-lg + .dropdown-toggle {\n padding-right: 12px;\n padding-left: 12px;\n}\n.btn-group.open .dropdown-toggle {\n -webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);\n box-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);\n}\n.btn-group.open .dropdown-toggle.btn-link {\n -webkit-box-shadow: none;\n box-shadow: none;\n}\n.btn .caret {\n margin-left: 0;\n}\n.btn-lg .caret {\n border-width: 5px 5px 0;\n border-bottom-width: 0;\n}\n.dropup .btn-lg .caret {\n border-width: 0 5px 5px;\n}\n.btn-group-vertical > .btn,\n.btn-group-vertical > .btn-group,\n.btn-group-vertical > .btn-group > .btn {\n display: block;\n float: none;\n width: 100%;\n max-width: 100%;\n}\n.btn-group-vertical > .btn-group > .btn {\n float: none;\n}\n.btn-group-vertical > .btn + .btn,\n.btn-group-vertical > .btn + .btn-group,\n.btn-group-vertical > .btn-group + .btn,\n.btn-group-vertical > .btn-group + .btn-group {\n margin-top: -1px;\n margin-left: 0;\n}\n.btn-group-vertical > .btn:not(:first-child):not(:last-child) {\n border-radius: 0;\n}\n.btn-group-vertical > .btn:first-child:not(:last-child) {\n border-top-left-radius: 4px;\n border-top-right-radius: 4px;\n border-bottom-right-radius: 0;\n border-bottom-left-radius: 0;\n}\n.btn-group-vertical > .btn:last-child:not(:first-child) {\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n border-bottom-right-radius: 4px;\n border-bottom-left-radius: 4px;\n}\n.btn-group-vertical > .btn-group:not(:first-child):not(:last-child) > .btn {\n border-radius: 0;\n}\n.btn-group-vertical > .btn-group:first-child:not(:last-child) > .btn:last-child,\n.btn-group-vertical > .btn-group:first-child:not(:last-child) > .dropdown-toggle {\n border-bottom-right-radius: 0;\n border-bottom-left-radius: 0;\n}\n.btn-group-vertical > .btn-group:last-child:not(:first-child) > .btn:first-child {\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n}\n.btn-group-justified {\n display: table;\n width: 100%;\n table-layout: fixed;\n border-collapse: separate;\n}\n.btn-group-justified > .btn,\n.btn-group-justified > .btn-group {\n display: table-cell;\n float: none;\n width: 1%;\n}\n.btn-group-justified > .btn-group .btn {\n width: 100%;\n}\n.btn-group-justified > .btn-group .dropdown-menu {\n left: auto;\n}\n[data-toggle=\"buttons\"] > .btn input[type=\"radio\"],\n[data-toggle=\"buttons\"] > .btn-group > .btn input[type=\"radio\"],\n[data-toggle=\"buttons\"] > .btn input[type=\"checkbox\"],\n[data-toggle=\"buttons\"] > .btn-group > .btn input[type=\"checkbox\"] {\n position: absolute;\n clip: rect(0, 0, 0, 0);\n pointer-events: none;\n}\n.input-group {\n position: relative;\n display: table;\n border-collapse: separate;\n}\n.input-group[class*=\"col-\"] {\n float: none;\n padding-right: 0;\n padding-left: 0;\n}\n.input-group .form-control {\n position: relative;\n z-index: 2;\n float: left;\n width: 100%;\n margin-bottom: 0;\n}\n.input-group .form-control:focus {\n z-index: 3;\n}\n.input-group-lg > .form-control,\n.input-group-lg > .input-group-addon,\n.input-group-lg > .input-group-btn > .btn {\n height: 46px;\n padding: 10px 16px;\n font-size: 18px;\n line-height: 1.3333333;\n border-radius: 6px;\n}\nselect.input-group-lg > .form-control,\nselect.input-group-lg > .input-group-addon,\nselect.input-group-lg > .input-group-btn > .btn {\n height: 46px;\n line-height: 46px;\n}\ntextarea.input-group-lg > .form-control,\ntextarea.input-group-lg > .input-group-addon,\ntextarea.input-group-lg > .input-group-btn > .btn,\nselect[multiple].input-group-lg > .form-control,\nselect[multiple].input-group-lg > .input-group-addon,\nselect[multiple].input-group-lg > .input-group-btn > .btn {\n height: auto;\n}\n.input-group-sm > .form-control,\n.input-group-sm > .input-group-addon,\n.input-group-sm > .input-group-btn > .btn {\n height: 30px;\n padding: 5px 10px;\n font-size: 12px;\n line-height: 1.5;\n border-radius: 3px;\n}\nselect.input-group-sm > .form-control,\nselect.input-group-sm > .input-group-addon,\nselect.input-group-sm > .input-group-btn > .btn {\n height: 30px;\n line-height: 30px;\n}\ntextarea.input-group-sm > .form-control,\ntextarea.input-group-sm > .input-group-addon,\ntextarea.input-group-sm > .input-group-btn > .btn,\nselect[multiple].input-group-sm > .form-control,\nselect[multiple].input-group-sm > .input-group-addon,\nselect[multiple].input-group-sm > .input-group-btn > .btn {\n height: auto;\n}\n.input-group-addon,\n.input-group-btn,\n.input-group .form-control {\n display: table-cell;\n}\n.input-group-addon:not(:first-child):not(:last-child),\n.input-group-btn:not(:first-child):not(:last-child),\n.input-group .form-control:not(:first-child):not(:last-child) {\n border-radius: 0;\n}\n.input-group-addon,\n.input-group-btn {\n width: 1%;\n white-space: nowrap;\n vertical-align: middle;\n}\n.input-group-addon {\n padding: 6px 12px;\n font-size: 14px;\n font-weight: normal;\n line-height: 1;\n color: #555;\n text-align: center;\n background-color: #eee;\n border: 1px solid #ccc;\n border-radius: 4px;\n}\n.input-group-addon.input-sm {\n padding: 5px 10px;\n font-size: 12px;\n border-radius: 3px;\n}\n.input-group-addon.input-lg {\n padding: 10px 16px;\n font-size: 18px;\n border-radius: 6px;\n}\n.input-group-addon input[type=\"radio\"],\n.input-group-addon input[type=\"checkbox\"] {\n margin-top: 0;\n}\n.input-group .form-control:first-child,\n.input-group-addon:first-child,\n.input-group-btn:first-child > .btn,\n.input-group-btn:first-child > .btn-group > .btn,\n.input-group-btn:first-child > .dropdown-toggle,\n.input-group-btn:last-child > .btn:not(:last-child):not(.dropdown-toggle),\n.input-group-btn:last-child > .btn-group:not(:last-child) > .btn {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n}\n.input-group-addon:first-child {\n border-right: 0;\n}\n.input-group .form-control:last-child,\n.input-group-addon:last-child,\n.input-group-btn:last-child > .btn,\n.input-group-btn:last-child > .btn-group > .btn,\n.input-group-btn:last-child > .dropdown-toggle,\n.input-group-btn:first-child > .btn:not(:first-child),\n.input-group-btn:first-child > .btn-group:not(:first-child) > .btn {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n}\n.input-group-addon:last-child {\n border-left: 0;\n}\n.input-group-btn {\n position: relative;\n font-size: 0;\n white-space: nowrap;\n}\n.input-group-btn > .btn {\n position: relative;\n}\n.input-group-btn > .btn + .btn {\n margin-left: -1px;\n}\n.input-group-btn > .btn:hover,\n.input-group-btn > .btn:focus,\n.input-group-btn > .btn:active {\n z-index: 2;\n}\n.input-group-btn:first-child > .btn,\n.input-group-btn:first-child > .btn-group {\n margin-right: -1px;\n}\n.input-group-btn:last-child > .btn,\n.input-group-btn:last-child > .btn-group {\n z-index: 2;\n margin-left: -1px;\n}\n.nav {\n padding-left: 0;\n margin-bottom: 0;\n list-style: none;\n}\n.nav > li {\n position: relative;\n display: block;\n}\n.nav > li > a {\n position: relative;\n display: block;\n padding: 10px 15px;\n}\n.nav > li > a:hover,\n.nav > li > a:focus {\n text-decoration: none;\n background-color: #eee;\n}\n.nav > li.disabled > a {\n color: #777;\n}\n.nav > li.disabled > a:hover,\n.nav > li.disabled > a:focus {\n color: #777;\n text-decoration: none;\n cursor: not-allowed;\n background-color: transparent;\n}\n.nav .open > a,\n.nav .open > a:hover,\n.nav .open > a:focus {\n background-color: #eee;\n border-color: #337ab7;\n}\n.nav .nav-divider {\n height: 1px;\n margin: 9px 0;\n overflow: hidden;\n background-color: #e5e5e5;\n}\n.nav > li > a > img {\n max-width: none;\n}\n.nav-tabs {\n border-bottom: 1px solid #ddd;\n}\n.nav-tabs > li {\n float: left;\n margin-bottom: -1px;\n}\n.nav-tabs > li > a {\n margin-right: 2px;\n line-height: 1.42857143;\n border: 1px solid transparent;\n border-radius: 4px 4px 0 0;\n}\n.nav-tabs > li > a:hover {\n border-color: #eee #eee #ddd;\n}\n.nav-tabs > li.active > a,\n.nav-tabs > li.active > a:hover,\n.nav-tabs > li.active > a:focus {\n color: #555;\n cursor: default;\n background-color: #fff;\n border: 1px solid #ddd;\n border-bottom-color: transparent;\n}\n.nav-tabs.nav-justified {\n width: 100%;\n border-bottom: 0;\n}\n.nav-tabs.nav-justified > li {\n float: none;\n}\n.nav-tabs.nav-justified > li > a {\n margin-bottom: 5px;\n text-align: center;\n}\n.nav-tabs.nav-justified > .dropdown .dropdown-menu {\n top: auto;\n left: auto;\n}\n@media (min-width: 768px) {\n .nav-tabs.nav-justified > li {\n display: table-cell;\n width: 1%;\n }\n .nav-tabs.nav-justified > li > a {\n margin-bottom: 0;\n }\n}\n.nav-tabs.nav-justified > li > a {\n margin-right: 0;\n border-radius: 4px;\n}\n.nav-tabs.nav-justified > .active > a,\n.nav-tabs.nav-justified > .active > a:hover,\n.nav-tabs.nav-justified > .active > a:focus {\n border: 1px solid #ddd;\n}\n@media (min-width: 768px) {\n .nav-tabs.nav-justified > li > a {\n border-bottom: 1px solid #ddd;\n border-radius: 4px 4px 0 0;\n }\n .nav-tabs.nav-justified > .active > a,\n .nav-tabs.nav-justified > .active > a:hover,\n .nav-tabs.nav-justified > .active > a:focus {\n border-bottom-color: #fff;\n }\n}\n.nav-pills > li {\n float: left;\n}\n.nav-pills > li > a {\n border-radius: 4px;\n}\n.nav-pills > li + li {\n margin-left: 2px;\n}\n.nav-pills > li.active > a,\n.nav-pills > li.active > a:hover,\n.nav-pills > li.active > a:focus {\n color: #fff;\n background-color: #337ab7;\n}\n.nav-stacked > li {\n float: none;\n}\n.nav-stacked > li + li {\n margin-top: 2px;\n margin-left: 0;\n}\n.nav-justified {\n width: 100%;\n}\n.nav-justified > li {\n float: none;\n}\n.nav-justified > li > a {\n margin-bottom: 5px;\n text-align: center;\n}\n.nav-justified > .dropdown .dropdown-menu {\n top: auto;\n left: auto;\n}\n@media (min-width: 768px) {\n .nav-justified > li {\n display: table-cell;\n width: 1%;\n }\n .nav-justified > li > a {\n margin-bottom: 0;\n }\n}\n.nav-tabs-justified {\n border-bottom: 0;\n}\n.nav-tabs-justified > li > a {\n margin-right: 0;\n border-radius: 4px;\n}\n.nav-tabs-justified > .active > a,\n.nav-tabs-justified > .active > a:hover,\n.nav-tabs-justified > .active > a:focus {\n border: 1px solid #ddd;\n}\n@media (min-width: 768px) {\n .nav-tabs-justified > li > a {\n border-bottom: 1px solid #ddd;\n border-radius: 4px 4px 0 0;\n }\n .nav-tabs-justified > .active > a,\n .nav-tabs-justified > .active > a:hover,\n .nav-tabs-justified > .active > a:focus {\n border-bottom-color: #fff;\n }\n}\n.tab-content > .tab-pane {\n display: none;\n}\n.tab-content > .active {\n display: block;\n}\n.nav-tabs .dropdown-menu {\n margin-top: -1px;\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n}\n.navbar {\n position: relative;\n min-height: 50px;\n margin-bottom: 20px;\n border: 1px solid transparent;\n}\n@media (min-width: 768px) {\n .navbar {\n border-radius: 4px;\n }\n}\n@media (min-width: 768px) {\n .navbar-header {\n float: left;\n }\n}\n.navbar-collapse {\n padding-right: 15px;\n padding-left: 15px;\n overflow-x: visible;\n -webkit-overflow-scrolling: touch;\n border-top: 1px solid transparent;\n -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, .1);\n box-shadow: inset 0 1px 0 rgba(255, 255, 255, .1);\n}\n.navbar-collapse.in {\n overflow-y: auto;\n}\n@media (min-width: 768px) {\n .navbar-collapse {\n width: auto;\n border-top: 0;\n -webkit-box-shadow: none;\n box-shadow: none;\n }\n .navbar-collapse.collapse {\n display: block !important;\n height: auto !important;\n padding-bottom: 0;\n overflow: visible !important;\n }\n .navbar-collapse.in {\n overflow-y: visible;\n }\n .navbar-fixed-top .navbar-collapse,\n .navbar-static-top .navbar-collapse,\n .navbar-fixed-bottom .navbar-collapse {\n padding-right: 0;\n padding-left: 0;\n }\n}\n.navbar-fixed-top .navbar-collapse,\n.navbar-fixed-bottom .navbar-collapse {\n max-height: 340px;\n}\n@media (max-device-width: 480px) and (orientation: landscape) {\n .navbar-fixed-top .navbar-collapse,\n .navbar-fixed-bottom .navbar-collapse {\n max-height: 200px;\n }\n}\n.container > .navbar-header,\n.container-fluid > .navbar-header,\n.container > .navbar-collapse,\n.container-fluid > .navbar-collapse {\n margin-right: -15px;\n margin-left: -15px;\n}\n@media (min-width: 768px) {\n .container > .navbar-header,\n .container-fluid > .navbar-header,\n .container > .navbar-collapse,\n .container-fluid > .navbar-collapse {\n margin-right: 0;\n margin-left: 0;\n }\n}\n.navbar-static-top {\n z-index: 1000;\n border-width: 0 0 1px;\n}\n@media (min-width: 768px) {\n .navbar-static-top {\n border-radius: 0;\n }\n}\n.navbar-fixed-top,\n.navbar-fixed-bottom {\n position: fixed;\n right: 0;\n left: 0;\n z-index: 1030;\n}\n@media (min-width: 768px) {\n .navbar-fixed-top,\n .navbar-fixed-bottom {\n border-radius: 0;\n }\n}\n.navbar-fixed-top {\n top: 0;\n border-width: 0 0 1px;\n}\n.navbar-fixed-bottom {\n bottom: 0;\n margin-bottom: 0;\n border-width: 1px 0 0;\n}\n.navbar-brand {\n float: left;\n height: 50px;\n padding: 15px 15px;\n font-size: 18px;\n line-height: 20px;\n}\n.navbar-brand:hover,\n.navbar-brand:focus {\n text-decoration: none;\n}\n.navbar-brand > img {\n display: block;\n}\n@media (min-width: 768px) {\n .navbar > .container .navbar-brand,\n .navbar > .container-fluid .navbar-brand {\n margin-left: -15px;\n }\n}\n.navbar-toggle {\n position: relative;\n float: right;\n padding: 9px 10px;\n margin-top: 8px;\n margin-right: 15px;\n margin-bottom: 8px;\n background-color: transparent;\n background-image: none;\n border: 1px solid transparent;\n border-radius: 4px;\n}\n.navbar-toggle:focus {\n outline: 0;\n}\n.navbar-toggle .icon-bar {\n display: block;\n width: 22px;\n height: 2px;\n border-radius: 1px;\n}\n.navbar-toggle .icon-bar + .icon-bar {\n margin-top: 4px;\n}\n@media (min-width: 768px) {\n .navbar-toggle {\n display: none;\n }\n}\n.navbar-nav {\n margin: 7.5px -15px;\n}\n.navbar-nav > li > a {\n padding-top: 10px;\n padding-bottom: 10px;\n line-height: 20px;\n}\n@media (max-width: 767px) {\n .navbar-nav .open .dropdown-menu {\n position: static;\n float: none;\n width: auto;\n margin-top: 0;\n background-color: transparent;\n border: 0;\n -webkit-box-shadow: none;\n box-shadow: none;\n }\n .navbar-nav .open .dropdown-menu > li > a,\n .navbar-nav .open .dropdown-menu .dropdown-header {\n padding: 5px 15px 5px 25px;\n }\n .navbar-nav .open .dropdown-menu > li > a {\n line-height: 20px;\n }\n .navbar-nav .open .dropdown-menu > li > a:hover,\n .navbar-nav .open .dropdown-menu > li > a:focus {\n background-image: none;\n }\n}\n@media (min-width: 768px) {\n .navbar-nav {\n float: left;\n margin: 0;\n }\n .navbar-nav > li {\n float: left;\n }\n .navbar-nav > li > a {\n padding-top: 15px;\n padding-bottom: 15px;\n }\n}\n.navbar-form {\n padding: 10px 15px;\n margin-top: 8px;\n margin-right: -15px;\n margin-bottom: 8px;\n margin-left: -15px;\n border-top: 1px solid transparent;\n border-bottom: 1px solid transparent;\n -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, .1), 0 1px 0 rgba(255, 255, 255, .1);\n box-shadow: inset 0 1px 0 rgba(255, 255, 255, .1), 0 1px 0 rgba(255, 255, 255, .1);\n}\n@media (min-width: 768px) {\n .navbar-form .form-group {\n display: inline-block;\n margin-bottom: 0;\n vertical-align: middle;\n }\n .navbar-form .form-control {\n display: inline-block;\n width: auto;\n vertical-align: middle;\n }\n .navbar-form .form-control-static {\n display: inline-block;\n }\n .navbar-form .input-group {\n display: inline-table;\n vertical-align: middle;\n }\n .navbar-form .input-group .input-group-addon,\n .navbar-form .input-group .input-group-btn,\n .navbar-form .input-group .form-control {\n width: auto;\n }\n .navbar-form .input-group > .form-control {\n width: 100%;\n }\n .navbar-form .control-label {\n margin-bottom: 0;\n vertical-align: middle;\n }\n .navbar-form .radio,\n .navbar-form .checkbox {\n display: inline-block;\n margin-top: 0;\n margin-bottom: 0;\n vertical-align: middle;\n }\n .navbar-form .radio label,\n .navbar-form .checkbox label {\n padding-left: 0;\n }\n .navbar-form .radio input[type=\"radio\"],\n .navbar-form .checkbox input[type=\"checkbox\"] {\n position: relative;\n margin-left: 0;\n }\n .navbar-form .has-feedback .form-control-feedback {\n top: 0;\n }\n}\n@media (max-width: 767px) {\n .navbar-form .form-group {\n margin-bottom: 5px;\n }\n .navbar-form .form-group:last-child {\n margin-bottom: 0;\n }\n}\n@media (min-width: 768px) {\n .navbar-form {\n width: auto;\n padding-top: 0;\n padding-bottom: 0;\n margin-right: 0;\n margin-left: 0;\n border: 0;\n -webkit-box-shadow: none;\n box-shadow: none;\n }\n}\n.navbar-nav > li > .dropdown-menu {\n margin-top: 0;\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n}\n.navbar-fixed-bottom .navbar-nav > li > .dropdown-menu {\n margin-bottom: 0;\n border-top-left-radius: 4px;\n border-top-right-radius: 4px;\n border-bottom-right-radius: 0;\n border-bottom-left-radius: 0;\n}\n.navbar-btn {\n margin-top: 8px;\n margin-bottom: 8px;\n}\n.navbar-btn.btn-sm {\n margin-top: 10px;\n margin-bottom: 10px;\n}\n.navbar-btn.btn-xs {\n margin-top: 14px;\n margin-bottom: 14px;\n}\n.navbar-text {\n margin-top: 15px;\n margin-bottom: 15px;\n}\n@media (min-width: 768px) {\n .navbar-text {\n float: left;\n margin-right: 15px;\n margin-left: 15px;\n }\n}\n@media (min-width: 768px) {\n .navbar-left {\n float: left !important;\n }\n .navbar-right {\n float: right !important;\n margin-right: -15px;\n }\n .navbar-right ~ .navbar-right {\n margin-right: 0;\n }\n}\n.navbar-default {\n background-color: #f8f8f8;\n border-color: #e7e7e7;\n}\n.navbar-default .navbar-brand {\n color: #777;\n}\n.navbar-default .navbar-brand:hover,\n.navbar-default .navbar-brand:focus {\n color: #5e5e5e;\n background-color: transparent;\n}\n.navbar-default .navbar-text {\n color: #777;\n}\n.navbar-default .navbar-nav > li > a {\n color: #777;\n}\n.navbar-default .navbar-nav > li > a:hover,\n.navbar-default .navbar-nav > li > a:focus {\n color: #333;\n background-color: transparent;\n}\n.navbar-default .navbar-nav > .active > a,\n.navbar-default .navbar-nav > .active > a:hover,\n.navbar-default .navbar-nav > .active > a:focus {\n color: #555;\n background-color: #e7e7e7;\n}\n.navbar-default .navbar-nav > .disabled > a,\n.navbar-default .navbar-nav > .disabled > a:hover,\n.navbar-default .navbar-nav > .disabled > a:focus {\n color: #ccc;\n background-color: transparent;\n}\n.navbar-default .navbar-toggle {\n border-color: #ddd;\n}\n.navbar-default .navbar-toggle:hover,\n.navbar-default .navbar-toggle:focus {\n background-color: #ddd;\n}\n.navbar-default .navbar-toggle .icon-bar {\n background-color: #888;\n}\n.navbar-default .navbar-collapse,\n.navbar-default .navbar-form {\n border-color: #e7e7e7;\n}\n.navbar-default .navbar-nav > .open > a,\n.navbar-default .navbar-nav > .open > a:hover,\n.navbar-default .navbar-nav > .open > a:focus {\n color: #555;\n background-color: #e7e7e7;\n}\n@media (max-width: 767px) {\n .navbar-default .navbar-nav .open .dropdown-menu > li > a {\n color: #777;\n }\n .navbar-default .navbar-nav .open .dropdown-menu > li > a:hover,\n .navbar-default .navbar-nav .open .dropdown-menu > li > a:focus {\n color: #333;\n background-color: transparent;\n }\n .navbar-default .navbar-nav .open .dropdown-menu > .active > a,\n .navbar-default .navbar-nav .open .dropdown-menu > .active > a:hover,\n .navbar-default .navbar-nav .open .dropdown-menu > .active > a:focus {\n color: #555;\n background-color: #e7e7e7;\n }\n .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a,\n .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a:hover,\n .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a:focus {\n color: #ccc;\n background-color: transparent;\n }\n}\n.navbar-default .navbar-link {\n color: #777;\n}\n.navbar-default .navbar-link:hover {\n color: #333;\n}\n.navbar-default .btn-link {\n color: #777;\n}\n.navbar-default .btn-link:hover,\n.navbar-default .btn-link:focus {\n color: #333;\n}\n.navbar-default .btn-link[disabled]:hover,\nfieldset[disabled] .navbar-default .btn-link:hover,\n.navbar-default .btn-link[disabled]:focus,\nfieldset[disabled] .navbar-default .btn-link:focus {\n color: #ccc;\n}\n.navbar-inverse {\n background-color: #222;\n border-color: #080808;\n}\n.navbar-inverse .navbar-brand {\n color: #9d9d9d;\n}\n.navbar-inverse .navbar-brand:hover,\n.navbar-inverse .navbar-brand:focus {\n color: #fff;\n background-color: transparent;\n}\n.navbar-inverse .navbar-text {\n color: #9d9d9d;\n}\n.navbar-inverse .navbar-nav > li > a {\n color: #9d9d9d;\n}\n.navbar-inverse .navbar-nav > li > a:hover,\n.navbar-inverse .navbar-nav > li > a:focus {\n color: #fff;\n background-color: transparent;\n}\n.navbar-inverse .navbar-nav > .active > a,\n.navbar-inverse .navbar-nav > .active > a:hover,\n.navbar-inverse .navbar-nav > .active > a:focus {\n color: #fff;\n background-color: #080808;\n}\n.navbar-inverse .navbar-nav > .disabled > a,\n.navbar-inverse .navbar-nav > .disabled > a:hover,\n.navbar-inverse .navbar-nav > .disabled > a:focus {\n color: #444;\n background-color: transparent;\n}\n.navbar-inverse .navbar-toggle {\n border-color: #333;\n}\n.navbar-inverse .navbar-toggle:hover,\n.navbar-inverse .navbar-toggle:focus {\n background-color: #333;\n}\n.navbar-inverse .navbar-toggle .icon-bar {\n background-color: #fff;\n}\n.navbar-inverse .navbar-collapse,\n.navbar-inverse .navbar-form {\n border-color: #101010;\n}\n.navbar-inverse .navbar-nav > .open > a,\n.navbar-inverse .navbar-nav > .open > a:hover,\n.navbar-inverse .navbar-nav > .open > a:focus {\n color: #fff;\n background-color: #080808;\n}\n@media (max-width: 767px) {\n .navbar-inverse .navbar-nav .open .dropdown-menu > .dropdown-header {\n border-color: #080808;\n }\n .navbar-inverse .navbar-nav .open .dropdown-menu .divider {\n background-color: #080808;\n }\n .navbar-inverse .navbar-nav .open .dropdown-menu > li > a {\n color: #9d9d9d;\n }\n .navbar-inverse .navbar-nav .open .dropdown-menu > li > a:hover,\n .navbar-inverse .navbar-nav .open .dropdown-menu > li > a:focus {\n color: #fff;\n background-color: transparent;\n }\n .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a,\n .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a:hover,\n .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a:focus {\n color: #fff;\n background-color: #080808;\n }\n .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a,\n .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a:hover,\n .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a:focus {\n color: #444;\n background-color: transparent;\n }\n}\n.navbar-inverse .navbar-link {\n color: #9d9d9d;\n}\n.navbar-inverse .navbar-link:hover {\n color: #fff;\n}\n.navbar-inverse .btn-link {\n color: #9d9d9d;\n}\n.navbar-inverse .btn-link:hover,\n.navbar-inverse .btn-link:focus {\n color: #fff;\n}\n.navbar-inverse .btn-link[disabled]:hover,\nfieldset[disabled] .navbar-inverse .btn-link:hover,\n.navbar-inverse .btn-link[disabled]:focus,\nfieldset[disabled] .navbar-inverse .btn-link:focus {\n color: #444;\n}\n.breadcrumb {\n padding: 8px 15px;\n margin-bottom: 20px;\n list-style: none;\n background-color: #f5f5f5;\n border-radius: 4px;\n}\n.breadcrumb > li {\n display: inline-block;\n}\n.breadcrumb > li + li:before {\n padding: 0 5px;\n color: #ccc;\n content: \"/\\00a0\";\n}\n.breadcrumb > .active {\n color: #777;\n}\n.pagination {\n display: inline-block;\n padding-left: 0;\n margin: 20px 0;\n border-radius: 4px;\n}\n.pagination > li {\n display: inline;\n}\n.pagination > li > a,\n.pagination > li > span {\n position: relative;\n float: left;\n padding: 6px 12px;\n margin-left: -1px;\n line-height: 1.42857143;\n color: #337ab7;\n text-decoration: none;\n background-color: #fff;\n border: 1px solid #ddd;\n}\n.pagination > li:first-child > a,\n.pagination > li:first-child > span {\n margin-left: 0;\n border-top-left-radius: 4px;\n border-bottom-left-radius: 4px;\n}\n.pagination > li:last-child > a,\n.pagination > li:last-child > span {\n border-top-right-radius: 4px;\n border-bottom-right-radius: 4px;\n}\n.pagination > li > a:hover,\n.pagination > li > span:hover,\n.pagination > li > a:focus,\n.pagination > li > span:focus {\n z-index: 2;\n color: #23527c;\n background-color: #eee;\n border-color: #ddd;\n}\n.pagination > .active > a,\n.pagination > .active > span,\n.pagination > .active > a:hover,\n.pagination > .active > span:hover,\n.pagination > .active > a:focus,\n.pagination > .active > span:focus {\n z-index: 3;\n color: #fff;\n cursor: default;\n background-color: #337ab7;\n border-color: #337ab7;\n}\n.pagination > .disabled > span,\n.pagination > .disabled > span:hover,\n.pagination > .disabled > span:focus,\n.pagination > .disabled > a,\n.pagination > .disabled > a:hover,\n.pagination > .disabled > a:focus {\n color: #777;\n cursor: not-allowed;\n background-color: #fff;\n border-color: #ddd;\n}\n.pagination-lg > li > a,\n.pagination-lg > li > span {\n padding: 10px 16px;\n font-size: 18px;\n line-height: 1.3333333;\n}\n.pagination-lg > li:first-child > a,\n.pagination-lg > li:first-child > span {\n border-top-left-radius: 6px;\n border-bottom-left-radius: 6px;\n}\n.pagination-lg > li:last-child > a,\n.pagination-lg > li:last-child > span {\n border-top-right-radius: 6px;\n border-bottom-right-radius: 6px;\n}\n.pagination-sm > li > a,\n.pagination-sm > li > span {\n padding: 5px 10px;\n font-size: 12px;\n line-height: 1.5;\n}\n.pagination-sm > li:first-child > a,\n.pagination-sm > li:first-child > span {\n border-top-left-radius: 3px;\n border-bottom-left-radius: 3px;\n}\n.pagination-sm > li:last-child > a,\n.pagination-sm > li:last-child > span {\n border-top-right-radius: 3px;\n border-bottom-right-radius: 3px;\n}\n.pager {\n padding-left: 0;\n margin: 20px 0;\n text-align: center;\n list-style: none;\n}\n.pager li {\n display: inline;\n}\n.pager li > a,\n.pager li > span {\n display: inline-block;\n padding: 5px 14px;\n background-color: #fff;\n border: 1px solid #ddd;\n border-radius: 15px;\n}\n.pager li > a:hover,\n.pager li > a:focus {\n text-decoration: none;\n background-color: #eee;\n}\n.pager .next > a,\n.pager .next > span {\n float: right;\n}\n.pager .previous > a,\n.pager .previous > span {\n float: left;\n}\n.pager .disabled > a,\n.pager .disabled > a:hover,\n.pager .disabled > a:focus,\n.pager .disabled > span {\n color: #777;\n cursor: not-allowed;\n background-color: #fff;\n}\n.label {\n display: inline;\n padding: .2em .6em .3em;\n font-size: 75%;\n font-weight: bold;\n line-height: 1;\n color: #fff;\n text-align: center;\n white-space: nowrap;\n vertical-align: baseline;\n border-radius: .25em;\n}\na.label:hover,\na.label:focus {\n color: #fff;\n text-decoration: none;\n cursor: pointer;\n}\n.label:empty {\n display: none;\n}\n.btn .label {\n position: relative;\n top: -1px;\n}\n.label-default {\n background-color: #777;\n}\n.label-default[href]:hover,\n.label-default[href]:focus {\n background-color: #5e5e5e;\n}\n.label-primary {\n background-color: #337ab7;\n}\n.label-primary[href]:hover,\n.label-primary[href]:focus {\n background-color: #286090;\n}\n.label-success {\n background-color: #5cb85c;\n}\n.label-success[href]:hover,\n.label-success[href]:focus {\n background-color: #449d44;\n}\n.label-info {\n background-color: #5bc0de;\n}\n.label-info[href]:hover,\n.label-info[href]:focus {\n background-color: #31b0d5;\n}\n.label-warning {\n background-color: #f0ad4e;\n}\n.label-warning[href]:hover,\n.label-warning[href]:focus {\n background-color: #ec971f;\n}\n.label-danger {\n background-color: #d9534f;\n}\n.label-danger[href]:hover,\n.label-danger[href]:focus {\n background-color: #c9302c;\n}\n.badge {\n display: inline-block;\n min-width: 10px;\n padding: 3px 7px;\n font-size: 12px;\n font-weight: bold;\n line-height: 1;\n color: #fff;\n text-align: center;\n white-space: nowrap;\n vertical-align: middle;\n background-color: #777;\n border-radius: 10px;\n}\n.badge:empty {\n display: none;\n}\n.btn .badge {\n position: relative;\n top: -1px;\n}\n.btn-xs .badge,\n.btn-group-xs > .btn .badge {\n top: 0;\n padding: 1px 5px;\n}\na.badge:hover,\na.badge:focus {\n color: #fff;\n text-decoration: none;\n cursor: pointer;\n}\n.list-group-item.active > .badge,\n.nav-pills > .active > a > .badge {\n color: #337ab7;\n background-color: #fff;\n}\n.list-group-item > .badge {\n float: right;\n}\n.list-group-item > .badge + .badge {\n margin-right: 5px;\n}\n.nav-pills > li > a > .badge {\n margin-left: 3px;\n}\n.jumbotron {\n padding-top: 30px;\n padding-bottom: 30px;\n margin-bottom: 30px;\n color: inherit;\n background-color: #eee;\n}\n.jumbotron h1,\n.jumbotron .h1 {\n color: inherit;\n}\n.jumbotron p {\n margin-bottom: 15px;\n font-size: 21px;\n font-weight: 200;\n}\n.jumbotron > hr {\n border-top-color: #d5d5d5;\n}\n.container .jumbotron,\n.container-fluid .jumbotron {\n padding-right: 15px;\n padding-left: 15px;\n border-radius: 6px;\n}\n.jumbotron .container {\n max-width: 100%;\n}\n@media screen and (min-width: 768px) {\n .jumbotron {\n padding-top: 48px;\n padding-bottom: 48px;\n }\n .container .jumbotron,\n .container-fluid .jumbotron {\n padding-right: 60px;\n padding-left: 60px;\n }\n .jumbotron h1,\n .jumbotron .h1 {\n font-size: 63px;\n }\n}\n.thumbnail {\n display: block;\n padding: 4px;\n margin-bottom: 20px;\n line-height: 1.42857143;\n background-color: #fff;\n border: 1px solid #ddd;\n border-radius: 4px;\n -webkit-transition: border .2s ease-in-out;\n -o-transition: border .2s ease-in-out;\n transition: border .2s ease-in-out;\n}\n.thumbnail > img,\n.thumbnail a > img {\n margin-right: auto;\n margin-left: auto;\n}\na.thumbnail:hover,\na.thumbnail:focus,\na.thumbnail.active {\n border-color: #337ab7;\n}\n.thumbnail .caption {\n padding: 9px;\n color: #333;\n}\n.alert {\n padding: 15px;\n margin-bottom: 20px;\n border: 1px solid transparent;\n border-radius: 4px;\n}\n.alert h4 {\n margin-top: 0;\n color: inherit;\n}\n.alert .alert-link {\n font-weight: bold;\n}\n.alert > p,\n.alert > ul {\n margin-bottom: 0;\n}\n.alert > p + p {\n margin-top: 5px;\n}\n.alert-dismissable,\n.alert-dismissible {\n padding-right: 35px;\n}\n.alert-dismissable .close,\n.alert-dismissible .close {\n position: relative;\n top: -2px;\n right: -21px;\n color: inherit;\n}\n.alert-success {\n color: #3c763d;\n background-color: #dff0d8;\n border-color: #d6e9c6;\n}\n.alert-success hr {\n border-top-color: #c9e2b3;\n}\n.alert-success .alert-link {\n color: #2b542c;\n}\n.alert-info {\n color: #31708f;\n background-color: #d9edf7;\n border-color: #bce8f1;\n}\n.alert-info hr {\n border-top-color: #a6e1ec;\n}\n.alert-info .alert-link {\n color: #245269;\n}\n.alert-warning {\n color: #8a6d3b;\n background-color: #fcf8e3;\n border-color: #faebcc;\n}\n.alert-warning hr {\n border-top-color: #f7e1b5;\n}\n.alert-warning .alert-link {\n color: #66512c;\n}\n.alert-danger {\n color: #a94442;\n background-color: #f2dede;\n border-color: #ebccd1;\n}\n.alert-danger hr {\n border-top-color: #e4b9c0;\n}\n.alert-danger .alert-link {\n color: #843534;\n}\n@-webkit-keyframes progress-bar-stripes {\n from {\n background-position: 40px 0;\n }\n to {\n background-position: 0 0;\n }\n}\n@-o-keyframes progress-bar-stripes {\n from {\n background-position: 40px 0;\n }\n to {\n background-position: 0 0;\n }\n}\n@keyframes progress-bar-stripes {\n from {\n background-position: 40px 0;\n }\n to {\n background-position: 0 0;\n }\n}\n.progress {\n height: 20px;\n margin-bottom: 20px;\n overflow: hidden;\n background-color: #f5f5f5;\n border-radius: 4px;\n -webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, .1);\n box-shadow: inset 0 1px 2px rgba(0, 0, 0, .1);\n}\n.progress-bar {\n float: left;\n width: 0;\n height: 100%;\n font-size: 12px;\n line-height: 20px;\n color: #fff;\n text-align: center;\n background-color: #337ab7;\n -webkit-box-shadow: inset 0 -1px 0 rgba(0, 0, 0, .15);\n box-shadow: inset 0 -1px 0 rgba(0, 0, 0, .15);\n -webkit-transition: width .6s ease;\n -o-transition: width .6s ease;\n transition: width .6s ease;\n}\n.progress-striped .progress-bar,\n.progress-bar-striped {\n background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent);\n background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent);\n background-image: linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent);\n -webkit-background-size: 40px 40px;\n background-size: 40px 40px;\n}\n.progress.active .progress-bar,\n.progress-bar.active {\n -webkit-animation: progress-bar-stripes 2s linear infinite;\n -o-animation: progress-bar-stripes 2s linear infinite;\n animation: progress-bar-stripes 2s linear infinite;\n}\n.progress-bar-success {\n background-color: #5cb85c;\n}\n.progress-striped .progress-bar-success {\n background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent);\n background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent);\n background-image: linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent);\n}\n.progress-bar-info {\n background-color: #5bc0de;\n}\n.progress-striped .progress-bar-info {\n background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent);\n background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent);\n background-image: linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent);\n}\n.progress-bar-warning {\n background-color: #f0ad4e;\n}\n.progress-striped .progress-bar-warning {\n background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent);\n background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent);\n background-image: linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent);\n}\n.progress-bar-danger {\n background-color: #d9534f;\n}\n.progress-striped .progress-bar-danger {\n background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent);\n background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent);\n background-image: linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent);\n}\n.media {\n margin-top: 15px;\n}\n.media:first-child {\n margin-top: 0;\n}\n.media,\n.media-body {\n overflow: hidden;\n zoom: 1;\n}\n.media-body {\n width: 10000px;\n}\n.media-object {\n display: block;\n}\n.media-object.img-thumbnail {\n max-width: none;\n}\n.media-right,\n.media > .pull-right {\n padding-left: 10px;\n}\n.media-left,\n.media > .pull-left {\n padding-right: 10px;\n}\n.media-left,\n.media-right,\n.media-body {\n display: table-cell;\n vertical-align: top;\n}\n.media-middle {\n vertical-align: middle;\n}\n.media-bottom {\n vertical-align: bottom;\n}\n.media-heading {\n margin-top: 0;\n margin-bottom: 5px;\n}\n.media-list {\n padding-left: 0;\n list-style: none;\n}\n.list-group {\n padding-left: 0;\n margin-bottom: 20px;\n}\n.list-group-item {\n position: relative;\n display: block;\n padding: 10px 15px;\n margin-bottom: -1px;\n background-color: #fff;\n border: 1px solid #ddd;\n}\n.list-group-item:first-child {\n border-top-left-radius: 4px;\n border-top-right-radius: 4px;\n}\n.list-group-item:last-child {\n margin-bottom: 0;\n border-bottom-right-radius: 4px;\n border-bottom-left-radius: 4px;\n}\na.list-group-item,\nbutton.list-group-item {\n color: #555;\n}\na.list-group-item .list-group-item-heading,\nbutton.list-group-item .list-group-item-heading {\n color: #333;\n}\na.list-group-item:hover,\nbutton.list-group-item:hover,\na.list-group-item:focus,\nbutton.list-group-item:focus {\n color: #555;\n text-decoration: none;\n background-color: #f5f5f5;\n}\nbutton.list-group-item {\n width: 100%;\n text-align: left;\n}\n.list-group-item.disabled,\n.list-group-item.disabled:hover,\n.list-group-item.disabled:focus {\n color: #777;\n cursor: not-allowed;\n background-color: #eee;\n}\n.list-group-item.disabled .list-group-item-heading,\n.list-group-item.disabled:hover .list-group-item-heading,\n.list-group-item.disabled:focus .list-group-item-heading {\n color: inherit;\n}\n.list-group-item.disabled .list-group-item-text,\n.list-group-item.disabled:hover .list-group-item-text,\n.list-group-item.disabled:focus .list-group-item-text {\n color: #777;\n}\n.list-group-item.active,\n.list-group-item.active:hover,\n.list-group-item.active:focus {\n z-index: 2;\n color: #fff;\n background-color: #337ab7;\n border-color: #337ab7;\n}\n.list-group-item.active .list-group-item-heading,\n.list-group-item.active:hover .list-group-item-heading,\n.list-group-item.active:focus .list-group-item-heading,\n.list-group-item.active .list-group-item-heading > small,\n.list-group-item.active:hover .list-group-item-heading > small,\n.list-group-item.active:focus .list-group-item-heading > small,\n.list-group-item.active .list-group-item-heading > .small,\n.list-group-item.active:hover .list-group-item-heading > .small,\n.list-group-item.active:focus .list-group-item-heading > .small {\n color: inherit;\n}\n.list-group-item.active .list-group-item-text,\n.list-group-item.active:hover .list-group-item-text,\n.list-group-item.active:focus .list-group-item-text {\n color: #c7ddef;\n}\n.list-group-item-success {\n color: #3c763d;\n background-color: #dff0d8;\n}\na.list-group-item-success,\nbutton.list-group-item-success {\n color: #3c763d;\n}\na.list-group-item-success .list-group-item-heading,\nbutton.list-group-item-success .list-group-item-heading {\n color: inherit;\n}\na.list-group-item-success:hover,\nbutton.list-group-item-success:hover,\na.list-group-item-success:focus,\nbutton.list-group-item-success:focus {\n color: #3c763d;\n background-color: #d0e9c6;\n}\na.list-group-item-success.active,\nbutton.list-group-item-success.active,\na.list-group-item-success.active:hover,\nbutton.list-group-item-success.active:hover,\na.list-group-item-success.active:focus,\nbutton.list-group-item-success.active:focus {\n color: #fff;\n background-color: #3c763d;\n border-color: #3c763d;\n}\n.list-group-item-info {\n color: #31708f;\n background-color: #d9edf7;\n}\na.list-group-item-info,\nbutton.list-group-item-info {\n color: #31708f;\n}\na.list-group-item-info .list-group-item-heading,\nbutton.list-group-item-info .list-group-item-heading {\n color: inherit;\n}\na.list-group-item-info:hover,\nbutton.list-group-item-info:hover,\na.list-group-item-info:focus,\nbutton.list-group-item-info:focus {\n color: #31708f;\n background-color: #c4e3f3;\n}\na.list-group-item-info.active,\nbutton.list-group-item-info.active,\na.list-group-item-info.active:hover,\nbutton.list-group-item-info.active:hover,\na.list-group-item-info.active:focus,\nbutton.list-group-item-info.active:focus {\n color: #fff;\n background-color: #31708f;\n border-color: #31708f;\n}\n.list-group-item-warning {\n color: #8a6d3b;\n background-color: #fcf8e3;\n}\na.list-group-item-warning,\nbutton.list-group-item-warning {\n color: #8a6d3b;\n}\na.list-group-item-warning .list-group-item-heading,\nbutton.list-group-item-warning .list-group-item-heading {\n color: inherit;\n}\na.list-group-item-warning:hover,\nbutton.list-group-item-warning:hover,\na.list-group-item-warning:focus,\nbutton.list-group-item-warning:focus {\n color: #8a6d3b;\n background-color: #faf2cc;\n}\na.list-group-item-warning.active,\nbutton.list-group-item-warning.active,\na.list-group-item-warning.active:hover,\nbutton.list-group-item-warning.active:hover,\na.list-group-item-warning.active:focus,\nbutton.list-group-item-warning.active:focus {\n color: #fff;\n background-color: #8a6d3b;\n border-color: #8a6d3b;\n}\n.list-group-item-danger {\n color: #a94442;\n background-color: #f2dede;\n}\na.list-group-item-danger,\nbutton.list-group-item-danger {\n color: #a94442;\n}\na.list-group-item-danger .list-group-item-heading,\nbutton.list-group-item-danger .list-group-item-heading {\n color: inherit;\n}\na.list-group-item-danger:hover,\nbutton.list-group-item-danger:hover,\na.list-group-item-danger:focus,\nbutton.list-group-item-danger:focus {\n color: #a94442;\n background-color: #ebcccc;\n}\na.list-group-item-danger.active,\nbutton.list-group-item-danger.active,\na.list-group-item-danger.active:hover,\nbutton.list-group-item-danger.active:hover,\na.list-group-item-danger.active:focus,\nbutton.list-group-item-danger.active:focus {\n color: #fff;\n background-color: #a94442;\n border-color: #a94442;\n}\n.list-group-item-heading {\n margin-top: 0;\n margin-bottom: 5px;\n}\n.list-group-item-text {\n margin-bottom: 0;\n line-height: 1.3;\n}\n.panel {\n margin-bottom: 20px;\n background-color: #fff;\n border: 1px solid transparent;\n border-radius: 4px;\n -webkit-box-shadow: 0 1px 1px rgba(0, 0, 0, .05);\n box-shadow: 0 1px 1px rgba(0, 0, 0, .05);\n}\n.panel-body {\n padding: 15px;\n}\n.panel-heading {\n padding: 10px 15px;\n border-bottom: 1px solid transparent;\n border-top-left-radius: 3px;\n border-top-right-radius: 3px;\n}\n.panel-heading > .dropdown .dropdown-toggle {\n color: inherit;\n}\n.panel-title {\n margin-top: 0;\n margin-bottom: 0;\n font-size: 16px;\n color: inherit;\n}\n.panel-title > a,\n.panel-title > small,\n.panel-title > .small,\n.panel-title > small > a,\n.panel-title > .small > a {\n color: inherit;\n}\n.panel-footer {\n padding: 10px 15px;\n background-color: #f5f5f5;\n border-top: 1px solid #ddd;\n border-bottom-right-radius: 3px;\n border-bottom-left-radius: 3px;\n}\n.panel > .list-group,\n.panel > .panel-collapse > .list-group {\n margin-bottom: 0;\n}\n.panel > .list-group .list-group-item,\n.panel > .panel-collapse > .list-group .list-group-item {\n border-width: 1px 0;\n border-radius: 0;\n}\n.panel > .list-group:first-child .list-group-item:first-child,\n.panel > .panel-collapse > .list-group:first-child .list-group-item:first-child {\n border-top: 0;\n border-top-left-radius: 3px;\n border-top-right-radius: 3px;\n}\n.panel > .list-group:last-child .list-group-item:last-child,\n.panel > .panel-collapse > .list-group:last-child .list-group-item:last-child {\n border-bottom: 0;\n border-bottom-right-radius: 3px;\n border-bottom-left-radius: 3px;\n}\n.panel > .panel-heading + .panel-collapse > .list-group .list-group-item:first-child {\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n}\n.panel-heading + .list-group .list-group-item:first-child {\n border-top-width: 0;\n}\n.list-group + .panel-footer {\n border-top-width: 0;\n}\n.panel > .table,\n.panel > .table-responsive > .table,\n.panel > .panel-collapse > .table {\n margin-bottom: 0;\n}\n.panel > .table caption,\n.panel > .table-responsive > .table caption,\n.panel > .panel-collapse > .table caption {\n padding-right: 15px;\n padding-left: 15px;\n}\n.panel > .table:first-child,\n.panel > .table-responsive:first-child > .table:first-child {\n border-top-left-radius: 3px;\n border-top-right-radius: 3px;\n}\n.panel > .table:first-child > thead:first-child > tr:first-child,\n.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child,\n.panel > .table:first-child > tbody:first-child > tr:first-child,\n.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child {\n border-top-left-radius: 3px;\n border-top-right-radius: 3px;\n}\n.panel > .table:first-child > thead:first-child > tr:first-child td:first-child,\n.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child td:first-child,\n.panel > .table:first-child > tbody:first-child > tr:first-child td:first-child,\n.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child td:first-child,\n.panel > .table:first-child > thead:first-child > tr:first-child th:first-child,\n.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child th:first-child,\n.panel > .table:first-child > tbody:first-child > tr:first-child th:first-child,\n.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child th:first-child {\n border-top-left-radius: 3px;\n}\n.panel > .table:first-child > thead:first-child > tr:first-child td:last-child,\n.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child td:last-child,\n.panel > .table:first-child > tbody:first-child > tr:first-child td:last-child,\n.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child td:last-child,\n.panel > .table:first-child > thead:first-child > tr:first-child th:last-child,\n.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child th:last-child,\n.panel > .table:first-child > tbody:first-child > tr:first-child th:last-child,\n.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child th:last-child {\n border-top-right-radius: 3px;\n}\n.panel > .table:last-child,\n.panel > .table-responsive:last-child > .table:last-child {\n border-bottom-right-radius: 3px;\n border-bottom-left-radius: 3px;\n}\n.panel > .table:last-child > tbody:last-child > tr:last-child,\n.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child,\n.panel > .table:last-child > tfoot:last-child > tr:last-child,\n.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child {\n border-bottom-right-radius: 3px;\n border-bottom-left-radius: 3px;\n}\n.panel > .table:last-child > tbody:last-child > tr:last-child td:first-child,\n.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child td:first-child,\n.panel > .table:last-child > tfoot:last-child > tr:last-child td:first-child,\n.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child td:first-child,\n.panel > .table:last-child > tbody:last-child > tr:last-child th:first-child,\n.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child th:first-child,\n.panel > .table:last-child > tfoot:last-child > tr:last-child th:first-child,\n.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child th:first-child {\n border-bottom-left-radius: 3px;\n}\n.panel > .table:last-child > tbody:last-child > tr:last-child td:last-child,\n.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child td:last-child,\n.panel > .table:last-child > tfoot:last-child > tr:last-child td:last-child,\n.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child td:last-child,\n.panel > .table:last-child > tbody:last-child > tr:last-child th:last-child,\n.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child th:last-child,\n.panel > .table:last-child > tfoot:last-child > tr:last-child th:last-child,\n.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child th:last-child {\n border-bottom-right-radius: 3px;\n}\n.panel > .panel-body + .table,\n.panel > .panel-body + .table-responsive,\n.panel > .table + .panel-body,\n.panel > .table-responsive + .panel-body {\n border-top: 1px solid #ddd;\n}\n.panel > .table > tbody:first-child > tr:first-child th,\n.panel > .table > tbody:first-child > tr:first-child td {\n border-top: 0;\n}\n.panel > .table-bordered,\n.panel > .table-responsive > .table-bordered {\n border: 0;\n}\n.panel > .table-bordered > thead > tr > th:first-child,\n.panel > .table-responsive > .table-bordered > thead > tr > th:first-child,\n.panel > .table-bordered > tbody > tr > th:first-child,\n.panel > .table-responsive > .table-bordered > tbody > tr > th:first-child,\n.panel > .table-bordered > tfoot > tr > th:first-child,\n.panel > .table-responsive > .table-bordered > tfoot > tr > th:first-child,\n.panel > .table-bordered > thead > tr > td:first-child,\n.panel > .table-responsive > .table-bordered > thead > tr > td:first-child,\n.panel > .table-bordered > tbody > tr > td:first-child,\n.panel > .table-responsive > .table-bordered > tbody > tr > td:first-child,\n.panel > .table-bordered > tfoot > tr > td:first-child,\n.panel > .table-responsive > .table-bordered > tfoot > tr > td:first-child {\n border-left: 0;\n}\n.panel > .table-bordered > thead > tr > th:last-child,\n.panel > .table-responsive > .table-bordered > thead > tr > th:last-child,\n.panel > .table-bordered > tbody > tr > th:last-child,\n.panel > .table-responsive > .table-bordered > tbody > tr > th:last-child,\n.panel > .table-bordered > tfoot > tr > th:last-child,\n.panel > .table-responsive > .table-bordered > tfoot > tr > th:last-child,\n.panel > .table-bordered > thead > tr > td:last-child,\n.panel > .table-responsive > .table-bordered > thead > tr > td:last-child,\n.panel > .table-bordered > tbody > tr > td:last-child,\n.panel > .table-responsive > .table-bordered > tbody > tr > td:last-child,\n.panel > .table-bordered > tfoot > tr > td:last-child,\n.panel > .table-responsive > .table-bordered > tfoot > tr > td:last-child {\n border-right: 0;\n}\n.panel > .table-bordered > thead > tr:first-child > td,\n.panel > .table-responsive > .table-bordered > thead > tr:first-child > td,\n.panel > .table-bordered > tbody > tr:first-child > td,\n.panel > .table-responsive > .table-bordered > tbody > tr:first-child > td,\n.panel > .table-bordered > thead > tr:first-child > th,\n.panel > .table-responsive > .table-bordered > thead > tr:first-child > th,\n.panel > .table-bordered > tbody > tr:first-child > th,\n.panel > .table-responsive > .table-bordered > tbody > tr:first-child > th {\n border-bottom: 0;\n}\n.panel > .table-bordered > tbody > tr:last-child > td,\n.panel > .table-responsive > .table-bordered > tbody > tr:last-child > td,\n.panel > .table-bordered > tfoot > tr:last-child > td,\n.panel > .table-responsive > .table-bordered > tfoot > tr:last-child > td,\n.panel > .table-bordered > tbody > tr:last-child > th,\n.panel > .table-responsive > .table-bordered > tbody > tr:last-child > th,\n.panel > .table-bordered > tfoot > tr:last-child > th,\n.panel > .table-responsive > .table-bordered > tfoot > tr:last-child > th {\n border-bottom: 0;\n}\n.panel > .table-responsive {\n margin-bottom: 0;\n border: 0;\n}\n.panel-group {\n margin-bottom: 20px;\n}\n.panel-group .panel {\n margin-bottom: 0;\n border-radius: 4px;\n}\n.panel-group .panel + .panel {\n margin-top: 5px;\n}\n.panel-group .panel-heading {\n border-bottom: 0;\n}\n.panel-group .panel-heading + .panel-collapse > .panel-body,\n.panel-group .panel-heading + .panel-collapse > .list-group {\n border-top: 1px solid #ddd;\n}\n.panel-group .panel-footer {\n border-top: 0;\n}\n.panel-group .panel-footer + .panel-collapse .panel-body {\n border-bottom: 1px solid #ddd;\n}\n.panel-default {\n border-color: #ddd;\n}\n.panel-default > .panel-heading {\n color: #333;\n background-color: #f5f5f5;\n border-color: #ddd;\n}\n.panel-default > .panel-heading + .panel-collapse > .panel-body {\n border-top-color: #ddd;\n}\n.panel-default > .panel-heading .badge {\n color: #f5f5f5;\n background-color: #333;\n}\n.panel-default > .panel-footer + .panel-collapse > .panel-body {\n border-bottom-color: #ddd;\n}\n.panel-primary {\n border-color: #337ab7;\n}\n.panel-primary > .panel-heading {\n color: #fff;\n background-color: #337ab7;\n border-color: #337ab7;\n}\n.panel-primary > .panel-heading + .panel-collapse > .panel-body {\n border-top-color: #337ab7;\n}\n.panel-primary > .panel-heading .badge {\n color: #337ab7;\n background-color: #fff;\n}\n.panel-primary > .panel-footer + .panel-collapse > .panel-body {\n border-bottom-color: #337ab7;\n}\n.panel-success {\n border-color: #d6e9c6;\n}\n.panel-success > .panel-heading {\n color: #3c763d;\n background-color: #dff0d8;\n border-color: #d6e9c6;\n}\n.panel-success > .panel-heading + .panel-collapse > .panel-body {\n border-top-color: #d6e9c6;\n}\n.panel-success > .panel-heading .badge {\n color: #dff0d8;\n background-color: #3c763d;\n}\n.panel-success > .panel-footer + .panel-collapse > .panel-body {\n border-bottom-color: #d6e9c6;\n}\n.panel-info {\n border-color: #bce8f1;\n}\n.panel-info > .panel-heading {\n color: #31708f;\n background-color: #d9edf7;\n border-color: #bce8f1;\n}\n.panel-info > .panel-heading + .panel-collapse > .panel-body {\n border-top-color: #bce8f1;\n}\n.panel-info > .panel-heading .badge {\n color: #d9edf7;\n background-color: #31708f;\n}\n.panel-info > .panel-footer + .panel-collapse > .panel-body {\n border-bottom-color: #bce8f1;\n}\n.panel-warning {\n border-color: #faebcc;\n}\n.panel-warning > .panel-heading {\n color: #8a6d3b;\n background-color: #fcf8e3;\n border-color: #faebcc;\n}\n.panel-warning > .panel-heading + .panel-collapse > .panel-body {\n border-top-color: #faebcc;\n}\n.panel-warning > .panel-heading .badge {\n color: #fcf8e3;\n background-color: #8a6d3b;\n}\n.panel-warning > .panel-footer + .panel-collapse > .panel-body {\n border-bottom-color: #faebcc;\n}\n.panel-danger {\n border-color: #ebccd1;\n}\n.panel-danger > .panel-heading {\n color: #a94442;\n background-color: #f2dede;\n border-color: #ebccd1;\n}\n.panel-danger > .panel-heading + .panel-collapse > .panel-body {\n border-top-color: #ebccd1;\n}\n.panel-danger > .panel-heading .badge {\n color: #f2dede;\n background-color: #a94442;\n}\n.panel-danger > .panel-footer + .panel-collapse > .panel-body {\n border-bottom-color: #ebccd1;\n}\n.embed-responsive {\n position: relative;\n display: block;\n height: 0;\n padding: 0;\n overflow: hidden;\n}\n.embed-responsive .embed-responsive-item,\n.embed-responsive iframe,\n.embed-responsive embed,\n.embed-responsive object,\n.embed-responsive video {\n position: absolute;\n top: 0;\n bottom: 0;\n left: 0;\n width: 100%;\n height: 100%;\n border: 0;\n}\n.embed-responsive-16by9 {\n padding-bottom: 56.25%;\n}\n.embed-responsive-4by3 {\n padding-bottom: 75%;\n}\n.well {\n min-height: 20px;\n padding: 19px;\n margin-bottom: 20px;\n background-color: #f5f5f5;\n border: 1px solid #e3e3e3;\n border-radius: 4px;\n -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .05);\n box-shadow: inset 0 1px 1px rgba(0, 0, 0, .05);\n}\n.well blockquote {\n border-color: #ddd;\n border-color: rgba(0, 0, 0, .15);\n}\n.well-lg {\n padding: 24px;\n border-radius: 6px;\n}\n.well-sm {\n padding: 9px;\n border-radius: 3px;\n}\n.close {\n float: right;\n font-size: 21px;\n font-weight: bold;\n line-height: 1;\n color: #000;\n text-shadow: 0 1px 0 #fff;\n filter: alpha(opacity=20);\n opacity: .2;\n}\n.close:hover,\n.close:focus {\n color: #000;\n text-decoration: none;\n cursor: pointer;\n filter: alpha(opacity=50);\n opacity: .5;\n}\nbutton.close {\n -webkit-appearance: none;\n padding: 0;\n cursor: pointer;\n background: transparent;\n border: 0;\n}\n.modal-open {\n overflow: hidden;\n}\n.modal {\n position: fixed;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: 1050;\n display: none;\n overflow: hidden;\n -webkit-overflow-scrolling: touch;\n outline: 0;\n}\n.modal.fade .modal-dialog {\n -webkit-transition: -webkit-transform .3s ease-out;\n -o-transition: -o-transform .3s ease-out;\n transition: transform .3s ease-out;\n -webkit-transform: translate(0, -25%);\n -ms-transform: translate(0, -25%);\n -o-transform: translate(0, -25%);\n transform: translate(0, -25%);\n}\n.modal.in .modal-dialog {\n -webkit-transform: translate(0, 0);\n -ms-transform: translate(0, 0);\n -o-transform: translate(0, 0);\n transform: translate(0, 0);\n}\n.modal-open .modal {\n overflow-x: hidden;\n overflow-y: auto;\n}\n.modal-dialog {\n position: relative;\n width: auto;\n margin: 10px;\n}\n.modal-content {\n position: relative;\n background-color: #fff;\n -webkit-background-clip: padding-box;\n background-clip: padding-box;\n border: 1px solid #999;\n border: 1px solid rgba(0, 0, 0, .2);\n border-radius: 6px;\n outline: 0;\n -webkit-box-shadow: 0 3px 9px rgba(0, 0, 0, .5);\n box-shadow: 0 3px 9px rgba(0, 0, 0, .5);\n}\n.modal-backdrop {\n position: fixed;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: 1040;\n background-color: #000;\n}\n.modal-backdrop.fade {\n filter: alpha(opacity=0);\n opacity: 0;\n}\n.modal-backdrop.in {\n filter: alpha(opacity=50);\n opacity: .5;\n}\n.modal-header {\n padding: 15px;\n border-bottom: 1px solid #e5e5e5;\n}\n.modal-header .close {\n margin-top: -2px;\n}\n.modal-title {\n margin: 0;\n line-height: 1.42857143;\n}\n.modal-body {\n position: relative;\n padding: 15px;\n}\n.modal-footer {\n padding: 15px;\n text-align: right;\n border-top: 1px solid #e5e5e5;\n}\n.modal-footer .btn + .btn {\n margin-bottom: 0;\n margin-left: 5px;\n}\n.modal-footer .btn-group .btn + .btn {\n margin-left: -1px;\n}\n.modal-footer .btn-block + .btn-block {\n margin-left: 0;\n}\n.modal-scrollbar-measure {\n position: absolute;\n top: -9999px;\n width: 50px;\n height: 50px;\n overflow: scroll;\n}\n@media (min-width: 768px) {\n .modal-dialog {\n width: 600px;\n margin: 30px auto;\n }\n .modal-content {\n -webkit-box-shadow: 0 5px 15px rgba(0, 0, 0, .5);\n box-shadow: 0 5px 15px rgba(0, 0, 0, .5);\n }\n .modal-sm {\n width: 300px;\n }\n}\n@media (min-width: 992px) {\n .modal-lg {\n width: 900px;\n }\n}\n.tooltip {\n position: absolute;\n z-index: 1070;\n display: block;\n font-family: \"Helvetica Neue\", Helvetica, Arial, sans-serif;\n font-size: 12px;\n font-style: normal;\n font-weight: normal;\n line-height: 1.42857143;\n text-align: left;\n text-align: start;\n text-decoration: none;\n text-shadow: none;\n text-transform: none;\n letter-spacing: normal;\n word-break: normal;\n word-spacing: normal;\n word-wrap: normal;\n white-space: normal;\n filter: alpha(opacity=0);\n opacity: 0;\n\n line-break: auto;\n}\n.tooltip.in {\n filter: alpha(opacity=90);\n opacity: .9;\n}\n.tooltip.top {\n padding: 5px 0;\n margin-top: -3px;\n}\n.tooltip.right {\n padding: 0 5px;\n margin-left: 3px;\n}\n.tooltip.bottom {\n padding: 5px 0;\n margin-top: 3px;\n}\n.tooltip.left {\n padding: 0 5px;\n margin-left: -3px;\n}\n.tooltip-inner {\n max-width: 200px;\n padding: 3px 8px;\n color: #fff;\n text-align: center;\n background-color: #000;\n border-radius: 4px;\n}\n.tooltip-arrow {\n position: absolute;\n width: 0;\n height: 0;\n border-color: transparent;\n border-style: solid;\n}\n.tooltip.top .tooltip-arrow {\n bottom: 0;\n left: 50%;\n margin-left: -5px;\n border-width: 5px 5px 0;\n border-top-color: #000;\n}\n.tooltip.top-left .tooltip-arrow {\n right: 5px;\n bottom: 0;\n margin-bottom: -5px;\n border-width: 5px 5px 0;\n border-top-color: #000;\n}\n.tooltip.top-right .tooltip-arrow {\n bottom: 0;\n left: 5px;\n margin-bottom: -5px;\n border-width: 5px 5px 0;\n border-top-color: #000;\n}\n.tooltip.right .tooltip-arrow {\n top: 50%;\n left: 0;\n margin-top: -5px;\n border-width: 5px 5px 5px 0;\n border-right-color: #000;\n}\n.tooltip.left .tooltip-arrow {\n top: 50%;\n right: 0;\n margin-top: -5px;\n border-width: 5px 0 5px 5px;\n border-left-color: #000;\n}\n.tooltip.bottom .tooltip-arrow {\n top: 0;\n left: 50%;\n margin-left: -5px;\n border-width: 0 5px 5px;\n border-bottom-color: #000;\n}\n.tooltip.bottom-left .tooltip-arrow {\n top: 0;\n right: 5px;\n margin-top: -5px;\n border-width: 0 5px 5px;\n border-bottom-color: #000;\n}\n.tooltip.bottom-right .tooltip-arrow {\n top: 0;\n left: 5px;\n margin-top: -5px;\n border-width: 0 5px 5px;\n border-bottom-color: #000;\n}\n.popover {\n position: absolute;\n top: 0;\n left: 0;\n z-index: 1060;\n display: none;\n max-width: 276px;\n padding: 1px;\n font-family: \"Helvetica Neue\", Helvetica, Arial, sans-serif;\n font-size: 14px;\n font-style: normal;\n font-weight: normal;\n line-height: 1.42857143;\n text-align: left;\n text-align: start;\n text-decoration: none;\n text-shadow: none;\n text-transform: none;\n letter-spacing: normal;\n word-break: normal;\n word-spacing: normal;\n word-wrap: normal;\n white-space: normal;\n background-color: #fff;\n -webkit-background-clip: padding-box;\n background-clip: padding-box;\n border: 1px solid #ccc;\n border: 1px solid rgba(0, 0, 0, .2);\n border-radius: 6px;\n -webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, .2);\n box-shadow: 0 5px 10px rgba(0, 0, 0, .2);\n\n line-break: auto;\n}\n.popover.top {\n margin-top: -10px;\n}\n.popover.right {\n margin-left: 10px;\n}\n.popover.bottom {\n margin-top: 10px;\n}\n.popover.left {\n margin-left: -10px;\n}\n.popover-title {\n padding: 8px 14px;\n margin: 0;\n font-size: 14px;\n background-color: #f7f7f7;\n border-bottom: 1px solid #ebebeb;\n border-radius: 5px 5px 0 0;\n}\n.popover-content {\n padding: 9px 14px;\n}\n.popover > .arrow,\n.popover > .arrow:after {\n position: absolute;\n display: block;\n width: 0;\n height: 0;\n border-color: transparent;\n border-style: solid;\n}\n.popover > .arrow {\n border-width: 11px;\n}\n.popover > .arrow:after {\n content: \"\";\n border-width: 10px;\n}\n.popover.top > .arrow {\n bottom: -11px;\n left: 50%;\n margin-left: -11px;\n border-top-color: #999;\n border-top-color: rgba(0, 0, 0, .25);\n border-bottom-width: 0;\n}\n.popover.top > .arrow:after {\n bottom: 1px;\n margin-left: -10px;\n content: \" \";\n border-top-color: #fff;\n border-bottom-width: 0;\n}\n.popover.right > .arrow {\n top: 50%;\n left: -11px;\n margin-top: -11px;\n border-right-color: #999;\n border-right-color: rgba(0, 0, 0, .25);\n border-left-width: 0;\n}\n.popover.right > .arrow:after {\n bottom: -10px;\n left: 1px;\n content: \" \";\n border-right-color: #fff;\n border-left-width: 0;\n}\n.popover.bottom > .arrow {\n top: -11px;\n left: 50%;\n margin-left: -11px;\n border-top-width: 0;\n border-bottom-color: #999;\n border-bottom-color: rgba(0, 0, 0, .25);\n}\n.popover.bottom > .arrow:after {\n top: 1px;\n margin-left: -10px;\n content: \" \";\n border-top-width: 0;\n border-bottom-color: #fff;\n}\n.popover.left > .arrow {\n top: 50%;\n right: -11px;\n margin-top: -11px;\n border-right-width: 0;\n border-left-color: #999;\n border-left-color: rgba(0, 0, 0, .25);\n}\n.popover.left > .arrow:after {\n right: 1px;\n bottom: -10px;\n content: \" \";\n border-right-width: 0;\n border-left-color: #fff;\n}\n.carousel {\n position: relative;\n}\n.carousel-inner {\n position: relative;\n width: 100%;\n overflow: hidden;\n}\n.carousel-inner > .item {\n position: relative;\n display: none;\n -webkit-transition: .6s ease-in-out left;\n -o-transition: .6s ease-in-out left;\n transition: .6s ease-in-out left;\n}\n.carousel-inner > .item > img,\n.carousel-inner > .item > a > img {\n line-height: 1;\n}\n@media all and (transform-3d), (-webkit-transform-3d) {\n .carousel-inner > .item {\n -webkit-transition: -webkit-transform .6s ease-in-out;\n -o-transition: -o-transform .6s ease-in-out;\n transition: transform .6s ease-in-out;\n\n -webkit-backface-visibility: hidden;\n backface-visibility: hidden;\n -webkit-perspective: 1000px;\n perspective: 1000px;\n }\n .carousel-inner > .item.next,\n .carousel-inner > .item.active.right {\n left: 0;\n -webkit-transform: translate3d(100%, 0, 0);\n transform: translate3d(100%, 0, 0);\n }\n .carousel-inner > .item.prev,\n .carousel-inner > .item.active.left {\n left: 0;\n -webkit-transform: translate3d(-100%, 0, 0);\n transform: translate3d(-100%, 0, 0);\n }\n .carousel-inner > .item.next.left,\n .carousel-inner > .item.prev.right,\n .carousel-inner > .item.active {\n left: 0;\n -webkit-transform: translate3d(0, 0, 0);\n transform: translate3d(0, 0, 0);\n }\n}\n.carousel-inner > .active,\n.carousel-inner > .next,\n.carousel-inner > .prev {\n display: block;\n}\n.carousel-inner > .active {\n left: 0;\n}\n.carousel-inner > .next,\n.carousel-inner > .prev {\n position: absolute;\n top: 0;\n width: 100%;\n}\n.carousel-inner > .next {\n left: 100%;\n}\n.carousel-inner > .prev {\n left: -100%;\n}\n.carousel-inner > .next.left,\n.carousel-inner > .prev.right {\n left: 0;\n}\n.carousel-inner > .active.left {\n left: -100%;\n}\n.carousel-inner > .active.right {\n left: 100%;\n}\n.carousel-control {\n position: absolute;\n top: 0;\n bottom: 0;\n left: 0;\n width: 15%;\n font-size: 20px;\n color: #fff;\n text-align: center;\n text-shadow: 0 1px 2px rgba(0, 0, 0, .6);\n background-color: rgba(0, 0, 0, 0);\n filter: alpha(opacity=50);\n opacity: .5;\n}\n.carousel-control.left {\n background-image: -webkit-linear-gradient(left, rgba(0, 0, 0, .5) 0%, rgba(0, 0, 0, .0001) 100%);\n background-image: -o-linear-gradient(left, rgba(0, 0, 0, .5) 0%, rgba(0, 0, 0, .0001) 100%);\n background-image: -webkit-gradient(linear, left top, right top, from(rgba(0, 0, 0, .5)), to(rgba(0, 0, 0, .0001)));\n background-image: linear-gradient(to right, rgba(0, 0, 0, .5) 0%, rgba(0, 0, 0, .0001) 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#80000000', endColorstr='#00000000', GradientType=1);\n background-repeat: repeat-x;\n}\n.carousel-control.right {\n right: 0;\n left: auto;\n background-image: -webkit-linear-gradient(left, rgba(0, 0, 0, .0001) 0%, rgba(0, 0, 0, .5) 100%);\n background-image: -o-linear-gradient(left, rgba(0, 0, 0, .0001) 0%, rgba(0, 0, 0, .5) 100%);\n background-image: -webkit-gradient(linear, left top, right top, from(rgba(0, 0, 0, .0001)), to(rgba(0, 0, 0, .5)));\n background-image: linear-gradient(to right, rgba(0, 0, 0, .0001) 0%, rgba(0, 0, 0, .5) 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000', endColorstr='#80000000', GradientType=1);\n background-repeat: repeat-x;\n}\n.carousel-control:hover,\n.carousel-control:focus {\n color: #fff;\n text-decoration: none;\n filter: alpha(opacity=90);\n outline: 0;\n opacity: .9;\n}\n.carousel-control .icon-prev,\n.carousel-control .icon-next,\n.carousel-control .glyphicon-chevron-left,\n.carousel-control .glyphicon-chevron-right {\n position: absolute;\n top: 50%;\n z-index: 5;\n display: inline-block;\n margin-top: -10px;\n}\n.carousel-control .icon-prev,\n.carousel-control .glyphicon-chevron-left {\n left: 50%;\n margin-left: -10px;\n}\n.carousel-control .icon-next,\n.carousel-control .glyphicon-chevron-right {\n right: 50%;\n margin-right: -10px;\n}\n.carousel-control .icon-prev,\n.carousel-control .icon-next {\n width: 20px;\n height: 20px;\n font-family: serif;\n line-height: 1;\n}\n.carousel-control .icon-prev:before {\n content: '\\2039';\n}\n.carousel-control .icon-next:before {\n content: '\\203a';\n}\n.carousel-indicators {\n position: absolute;\n bottom: 10px;\n left: 50%;\n z-index: 15;\n width: 60%;\n padding-left: 0;\n margin-left: -30%;\n text-align: center;\n list-style: none;\n}\n.carousel-indicators li {\n display: inline-block;\n width: 10px;\n height: 10px;\n margin: 1px;\n text-indent: -999px;\n cursor: pointer;\n background-color: #000 \\9;\n background-color: rgba(0, 0, 0, 0);\n border: 1px solid #fff;\n border-radius: 10px;\n}\n.carousel-indicators .active {\n width: 12px;\n height: 12px;\n margin: 0;\n background-color: #fff;\n}\n.carousel-caption {\n position: absolute;\n right: 15%;\n bottom: 20px;\n left: 15%;\n z-index: 10;\n padding-top: 20px;\n padding-bottom: 20px;\n color: #fff;\n text-align: center;\n text-shadow: 0 1px 2px rgba(0, 0, 0, .6);\n}\n.carousel-caption .btn {\n text-shadow: none;\n}\n@media screen and (min-width: 768px) {\n .carousel-control .glyphicon-chevron-left,\n .carousel-control .glyphicon-chevron-right,\n .carousel-control .icon-prev,\n .carousel-control .icon-next {\n width: 30px;\n height: 30px;\n margin-top: -10px;\n font-size: 30px;\n }\n .carousel-control .glyphicon-chevron-left,\n .carousel-control .icon-prev {\n margin-left: -10px;\n }\n .carousel-control .glyphicon-chevron-right,\n .carousel-control .icon-next {\n margin-right: -10px;\n }\n .carousel-caption {\n right: 20%;\n left: 20%;\n padding-bottom: 30px;\n }\n .carousel-indicators {\n bottom: 20px;\n }\n}\n.clearfix:before,\n.clearfix:after,\n.dl-horizontal dd:before,\n.dl-horizontal dd:after,\n.container:before,\n.container:after,\n.container-fluid:before,\n.container-fluid:after,\n.row:before,\n.row:after,\n.form-horizontal .form-group:before,\n.form-horizontal .form-group:after,\n.btn-toolbar:before,\n.btn-toolbar:after,\n.btn-group-vertical > .btn-group:before,\n.btn-group-vertical > .btn-group:after,\n.nav:before,\n.nav:after,\n.navbar:before,\n.navbar:after,\n.navbar-header:before,\n.navbar-header:after,\n.navbar-collapse:before,\n.navbar-collapse:after,\n.pager:before,\n.pager:after,\n.panel-body:before,\n.panel-body:after,\n.modal-header:before,\n.modal-header:after,\n.modal-footer:before,\n.modal-footer:after {\n display: table;\n content: \" \";\n}\n.clearfix:after,\n.dl-horizontal dd:after,\n.container:after,\n.container-fluid:after,\n.row:after,\n.form-horizontal .form-group:after,\n.btn-toolbar:after,\n.btn-group-vertical > .btn-group:after,\n.nav:after,\n.navbar:after,\n.navbar-header:after,\n.navbar-collapse:after,\n.pager:after,\n.panel-body:after,\n.modal-header:after,\n.modal-footer:after {\n clear: both;\n}\n.center-block {\n display: block;\n margin-right: auto;\n margin-left: auto;\n}\n.pull-right {\n float: right !important;\n}\n.pull-left {\n float: left !important;\n}\n.hide {\n display: none !important;\n}\n.show {\n display: block !important;\n}\n.invisible {\n visibility: hidden;\n}\n.text-hide {\n font: 0/0 a;\n color: transparent;\n text-shadow: none;\n background-color: transparent;\n border: 0;\n}\n.hidden {\n display: none !important;\n}\n.affix {\n position: fixed;\n}\n@-ms-viewport {\n width: device-width;\n}\n.visible-xs,\n.visible-sm,\n.visible-md,\n.visible-lg {\n display: none !important;\n}\n.visible-xs-block,\n.visible-xs-inline,\n.visible-xs-inline-block,\n.visible-sm-block,\n.visible-sm-inline,\n.visible-sm-inline-block,\n.visible-md-block,\n.visible-md-inline,\n.visible-md-inline-block,\n.visible-lg-block,\n.visible-lg-inline,\n.visible-lg-inline-block {\n display: none !important;\n}\n@media (max-width: 767px) {\n .visible-xs {\n display: block !important;\n }\n table.visible-xs {\n display: table !important;\n }\n tr.visible-xs {\n display: table-row !important;\n }\n th.visible-xs,\n td.visible-xs {\n display: table-cell !important;\n }\n}\n@media (max-width: 767px) {\n .visible-xs-block {\n display: block !important;\n }\n}\n@media (max-width: 767px) {\n .visible-xs-inline {\n display: inline !important;\n }\n}\n@media (max-width: 767px) {\n .visible-xs-inline-block {\n display: inline-block !important;\n }\n}\n@media (min-width: 768px) and (max-width: 991px) {\n .visible-sm {\n display: block !important;\n }\n table.visible-sm {\n display: table !important;\n }\n tr.visible-sm {\n display: table-row !important;\n }\n th.visible-sm,\n td.visible-sm {\n display: table-cell !important;\n }\n}\n@media (min-width: 768px) and (max-width: 991px) {\n .visible-sm-block {\n display: block !important;\n }\n}\n@media (min-width: 768px) and (max-width: 991px) {\n .visible-sm-inline {\n display: inline !important;\n }\n}\n@media (min-width: 768px) and (max-width: 991px) {\n .visible-sm-inline-block {\n display: inline-block !important;\n }\n}\n@media (min-width: 992px) and (max-width: 1199px) {\n .visible-md {\n display: block !important;\n }\n table.visible-md {\n display: table !important;\n }\n tr.visible-md {\n display: table-row !important;\n }\n th.visible-md,\n td.visible-md {\n display: table-cell !important;\n }\n}\n@media (min-width: 992px) and (max-width: 1199px) {\n .visible-md-block {\n display: block !important;\n }\n}\n@media (min-width: 992px) and (max-width: 1199px) {\n .visible-md-inline {\n display: inline !important;\n }\n}\n@media (min-width: 992px) and (max-width: 1199px) {\n .visible-md-inline-block {\n display: inline-block !important;\n }\n}\n@media (min-width: 1200px) {\n .visible-lg {\n display: block !important;\n }\n table.visible-lg {\n display: table !important;\n }\n tr.visible-lg {\n display: table-row !important;\n }\n th.visible-lg,\n td.visible-lg {\n display: table-cell !important;\n }\n}\n@media (min-width: 1200px) {\n .visible-lg-block {\n display: block !important;\n }\n}\n@media (min-width: 1200px) {\n .visible-lg-inline {\n display: inline !important;\n }\n}\n@media (min-width: 1200px) {\n .visible-lg-inline-block {\n display: inline-block !important;\n }\n}\n@media (max-width: 767px) {\n .hidden-xs {\n display: none !important;\n }\n}\n@media (min-width: 768px) and (max-width: 991px) {\n .hidden-sm {\n display: none !important;\n }\n}\n@media (min-width: 992px) and (max-width: 1199px) {\n .hidden-md {\n display: none !important;\n }\n}\n@media (min-width: 1200px) {\n .hidden-lg {\n display: none !important;\n }\n}\n.visible-print {\n display: none !important;\n}\n@media print {\n .visible-print {\n display: block !important;\n }\n table.visible-print {\n display: table !important;\n }\n tr.visible-print {\n display: table-row !important;\n }\n th.visible-print,\n td.visible-print {\n display: table-cell !important;\n }\n}\n.visible-print-block {\n display: none !important;\n}\n@media print {\n .visible-print-block {\n display: block !important;\n }\n}\n.visible-print-inline {\n display: none !important;\n}\n@media print {\n .visible-print-inline {\n display: inline !important;\n }\n}\n.visible-print-inline-block {\n display: none !important;\n}\n@media print {\n .visible-print-inline-block {\n display: inline-block !important;\n }\n}\n@media print {\n .hidden-print {\n display: none !important;\n }\n}\n/*# sourceMappingURL=bootstrap.css.map */\n","//\n// Glyphicons for Bootstrap\n//\n// Since icons are fonts, they can be placed anywhere text is placed and are\n// thus automatically sized to match the surrounding child. To use, create an\n// inline element with the appropriate classes, like so:\n//\n// <a href=\"#\"><span class=\"glyphicon glyphicon-star\"></span> Star</a>\n\n// Import the fonts\n@font-face {\n font-family: 'Glyphicons Halflings';\n src: url('@{icon-font-path}@{icon-font-name}.eot');\n src: url('@{icon-font-path}@{icon-font-name}.eot?#iefix') format('embedded-opentype'),\n url('@{icon-font-path}@{icon-font-name}.woff2') format('woff2'),\n url('@{icon-font-path}@{icon-font-name}.woff') format('woff'),\n url('@{icon-font-path}@{icon-font-name}.ttf') format('truetype'),\n url('@{icon-font-path}@{icon-font-name}.svg#@{icon-font-svg-id}') format('svg');\n}\n\n// Catchall baseclass\n.glyphicon {\n position: relative;\n top: 1px;\n display: inline-block;\n font-family: 'Glyphicons Halflings';\n font-style: normal;\n font-weight: normal;\n line-height: 1;\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n}\n\n// Individual icons\n.glyphicon-asterisk { &:before { content: \"\\002a\"; } }\n.glyphicon-plus { &:before { content: \"\\002b\"; } }\n.glyphicon-euro,\n.glyphicon-eur { &:before { content: \"\\20ac\"; } }\n.glyphicon-minus { &:before { content: \"\\2212\"; } }\n.glyphicon-cloud { &:before { content: \"\\2601\"; } }\n.glyphicon-envelope { &:before { content: \"\\2709\"; } }\n.glyphicon-pencil { &:before { content: \"\\270f\"; } }\n.glyphicon-glass { &:before { content: \"\\e001\"; } }\n.glyphicon-music { &:before { content: \"\\e002\"; } }\n.glyphicon-search { &:before { content: \"\\e003\"; } }\n.glyphicon-heart { &:before { content: \"\\e005\"; } }\n.glyphicon-star { &:before { content: \"\\e006\"; } }\n.glyphicon-star-empty { &:before { content: \"\\e007\"; } }\n.glyphicon-user { &:before { content: \"\\e008\"; } }\n.glyphicon-film { &:before { content: \"\\e009\"; } }\n.glyphicon-th-large { &:before { content: \"\\e010\"; } }\n.glyphicon-th { &:before { content: \"\\e011\"; } }\n.glyphicon-th-list { &:before { content: \"\\e012\"; } }\n.glyphicon-ok { &:before { content: \"\\e013\"; } }\n.glyphicon-remove { &:before { content: \"\\e014\"; } }\n.glyphicon-zoom-in { &:before { content: \"\\e015\"; } }\n.glyphicon-zoom-out { &:before { content: \"\\e016\"; } }\n.glyphicon-off { &:before { content: \"\\e017\"; } }\n.glyphicon-signal { &:before { content: \"\\e018\"; } }\n.glyphicon-cog { &:before { content: \"\\e019\"; } }\n.glyphicon-trash { &:before { content: \"\\e020\"; } }\n.glyphicon-home { &:before { content: \"\\e021\"; } }\n.glyphicon-file { &:before { content: \"\\e022\"; } }\n.glyphicon-time { &:before { content: \"\\e023\"; } }\n.glyphicon-road { &:before { content: \"\\e024\"; } }\n.glyphicon-download-alt { &:before { content: \"\\e025\"; } }\n.glyphicon-download { &:before { content: \"\\e026\"; } }\n.glyphicon-upload { &:before { content: \"\\e027\"; } }\n.glyphicon-inbox { &:before { content: \"\\e028\"; } }\n.glyphicon-play-circle { &:before { content: \"\\e029\"; } }\n.glyphicon-repeat { &:before { content: \"\\e030\"; } }\n.glyphicon-refresh { &:before { content: \"\\e031\"; } }\n.glyphicon-list-alt { &:before { content: \"\\e032\"; } }\n.glyphicon-lock { &:before { content: \"\\e033\"; } }\n.glyphicon-flag { &:before { content: \"\\e034\"; } }\n.glyphicon-headphones { &:before { content: \"\\e035\"; } }\n.glyphicon-volume-off { &:before { content: \"\\e036\"; } }\n.glyphicon-volume-down { &:before { content: \"\\e037\"; } }\n.glyphicon-volume-up { &:before { content: \"\\e038\"; } }\n.glyphicon-qrcode { &:before { content: \"\\e039\"; } }\n.glyphicon-barcode { &:before { content: \"\\e040\"; } }\n.glyphicon-tag { &:before { content: \"\\e041\"; } }\n.glyphicon-tags { &:before { content: \"\\e042\"; } }\n.glyphicon-book { &:before { content: \"\\e043\"; } }\n.glyphicon-bookmark { &:before { content: \"\\e044\"; } }\n.glyphicon-print { &:before { content: \"\\e045\"; } }\n.glyphicon-camera { &:before { content: \"\\e046\"; } }\n.glyphicon-font { &:before { content: \"\\e047\"; } }\n.glyphicon-bold { &:before { content: \"\\e048\"; } }\n.glyphicon-italic { &:before { content: \"\\e049\"; } }\n.glyphicon-text-height { &:before { content: \"\\e050\"; } }\n.glyphicon-text-width { &:before { content: \"\\e051\"; } }\n.glyphicon-align-left { &:before { content: \"\\e052\"; } }\n.glyphicon-align-center { &:before { content: \"\\e053\"; } }\n.glyphicon-align-right { &:before { content: \"\\e054\"; } }\n.glyphicon-align-justify { &:before { content: \"\\e055\"; } }\n.glyphicon-list { &:before { content: \"\\e056\"; } }\n.glyphicon-indent-left { &:before { content: \"\\e057\"; } }\n.glyphicon-indent-right { &:before { content: \"\\e058\"; } }\n.glyphicon-facetime-video { &:before { content: \"\\e059\"; } }\n.glyphicon-picture { &:before { content: \"\\e060\"; } }\n.glyphicon-map-marker { &:before { content: \"\\e062\"; } }\n.glyphicon-adjust { &:before { content: \"\\e063\"; } }\n.glyphicon-tint { &:before { content: \"\\e064\"; } }\n.glyphicon-edit { &:before { content: \"\\e065\"; } }\n.glyphicon-share { &:before { content: \"\\e066\"; } }\n.glyphicon-check { &:before { content: \"\\e067\"; } }\n.glyphicon-move { &:before { content: \"\\e068\"; } }\n.glyphicon-step-backward { &:before { content: \"\\e069\"; } }\n.glyphicon-fast-backward { &:before { content: \"\\e070\"; } }\n.glyphicon-backward { &:before { content: \"\\e071\"; } }\n.glyphicon-play { &:before { content: \"\\e072\"; } }\n.glyphicon-pause { &:before { content: \"\\e073\"; } }\n.glyphicon-stop { &:before { content: \"\\e074\"; } }\n.glyphicon-forward { &:before { content: \"\\e075\"; } }\n.glyphicon-fast-forward { &:before { content: \"\\e076\"; } }\n.glyphicon-step-forward { &:before { content: \"\\e077\"; } }\n.glyphicon-eject { &:before { content: \"\\e078\"; } }\n.glyphicon-chevron-left { &:before { content: \"\\e079\"; } }\n.glyphicon-chevron-right { &:before { content: \"\\e080\"; } }\n.glyphicon-plus-sign { &:before { content: \"\\e081\"; } }\n.glyphicon-minus-sign { &:before { content: \"\\e082\"; } }\n.glyphicon-remove-sign { &:before { content: \"\\e083\"; } }\n.glyphicon-ok-sign { &:before { content: \"\\e084\"; } }\n.glyphicon-question-sign { &:before { content: \"\\e085\"; } }\n.glyphicon-info-sign { &:before { content: \"\\e086\"; } }\n.glyphicon-screenshot { &:before { content: \"\\e087\"; } }\n.glyphicon-remove-circle { &:before { content: \"\\e088\"; } }\n.glyphicon-ok-circle { &:before { content: \"\\e089\"; } }\n.glyphicon-ban-circle { &:before { content: \"\\e090\"; } }\n.glyphicon-arrow-left { &:before { content: \"\\e091\"; } }\n.glyphicon-arrow-right { &:before { content: \"\\e092\"; } }\n.glyphicon-arrow-up { &:before { content: \"\\e093\"; } }\n.glyphicon-arrow-down { &:before { content: \"\\e094\"; } }\n.glyphicon-share-alt { &:before { content: \"\\e095\"; } }\n.glyphicon-resize-full { &:before { content: \"\\e096\"; } }\n.glyphicon-resize-small { &:before { content: \"\\e097\"; } }\n.glyphicon-exclamation-sign { &:before { content: \"\\e101\"; } }\n.glyphicon-gift { &:before { content: \"\\e102\"; } }\n.glyphicon-leaf { &:before { content: \"\\e103\"; } }\n.glyphicon-fire { &:before { content: \"\\e104\"; } }\n.glyphicon-eye-open { &:before { content: \"\\e105\"; } }\n.glyphicon-eye-close { &:before { content: \"\\e106\"; } }\n.glyphicon-warning-sign { &:before { content: \"\\e107\"; } }\n.glyphicon-plane { &:before { content: \"\\e108\"; } }\n.glyphicon-calendar { &:before { content: \"\\e109\"; } }\n.glyphicon-random { &:before { content: \"\\e110\"; } }\n.glyphicon-comment { &:before { content: \"\\e111\"; } }\n.glyphicon-magnet { &:before { content: \"\\e112\"; } }\n.glyphicon-chevron-up { &:before { content: \"\\e113\"; } }\n.glyphicon-chevron-down { &:before { content: \"\\e114\"; } }\n.glyphicon-retweet { &:before { content: \"\\e115\"; } }\n.glyphicon-shopping-cart { &:before { content: \"\\e116\"; } }\n.glyphicon-folder-close { &:before { content: \"\\e117\"; } }\n.glyphicon-folder-open { &:before { content: \"\\e118\"; } }\n.glyphicon-resize-vertical { &:before { content: \"\\e119\"; } }\n.glyphicon-resize-horizontal { &:before { content: \"\\e120\"; } }\n.glyphicon-hdd { &:before { content: \"\\e121\"; } }\n.glyphicon-bullhorn { &:before { content: \"\\e122\"; } }\n.glyphicon-bell { &:before { content: \"\\e123\"; } }\n.glyphicon-certificate { &:before { content: \"\\e124\"; } }\n.glyphicon-thumbs-up { &:before { content: \"\\e125\"; } }\n.glyphicon-thumbs-down { &:before { content: \"\\e126\"; } }\n.glyphicon-hand-right { &:before { content: \"\\e127\"; } }\n.glyphicon-hand-left { &:before { content: \"\\e128\"; } }\n.glyphicon-hand-up { &:before { content: \"\\e129\"; } }\n.glyphicon-hand-down { &:before { content: \"\\e130\"; } }\n.glyphicon-circle-arrow-right { &:before { content: \"\\e131\"; } }\n.glyphicon-circle-arrow-left { &:before { content: \"\\e132\"; } }\n.glyphicon-circle-arrow-up { &:before { content: \"\\e133\"; } }\n.glyphicon-circle-arrow-down { &:before { content: \"\\e134\"; } }\n.glyphicon-globe { &:before { content: \"\\e135\"; } }\n.glyphicon-wrench { &:before { content: \"\\e136\"; } }\n.glyphicon-tasks { &:before { content: \"\\e137\"; } }\n.glyphicon-filter { &:before { content: \"\\e138\"; } }\n.glyphicon-briefcase { &:before { content: \"\\e139\"; } }\n.glyphicon-fullscreen { &:before { content: \"\\e140\"; } }\n.glyphicon-dashboard { &:before { content: \"\\e141\"; } }\n.glyphicon-paperclip { &:before { content: \"\\e142\"; } }\n.glyphicon-heart-empty { &:before { content: \"\\e143\"; } }\n.glyphicon-link { &:before { content: \"\\e144\"; } }\n.glyphicon-phone { &:before { content: \"\\e145\"; } }\n.glyphicon-pushpin { &:before { content: \"\\e146\"; } }\n.glyphicon-usd { &:before { content: \"\\e148\"; } }\n.glyphicon-gbp { &:before { content: \"\\e149\"; } }\n.glyphicon-sort { &:before { content: \"\\e150\"; } }\n.glyphicon-sort-by-alphabet { &:before { content: \"\\e151\"; } }\n.glyphicon-sort-by-alphabet-alt { &:before { content: \"\\e152\"; } }\n.glyphicon-sort-by-order { &:before { content: \"\\e153\"; } }\n.glyphicon-sort-by-order-alt { &:before { content: \"\\e154\"; } }\n.glyphicon-sort-by-attributes { &:before { content: \"\\e155\"; } }\n.glyphicon-sort-by-attributes-alt { &:before { content: \"\\e156\"; } }\n.glyphicon-unchecked { &:before { content: \"\\e157\"; } }\n.glyphicon-expand { &:before { content: \"\\e158\"; } }\n.glyphicon-collapse-down { &:before { content: \"\\e159\"; } }\n.glyphicon-collapse-up { &:before { content: \"\\e160\"; } }\n.glyphicon-log-in { &:before { content: \"\\e161\"; } }\n.glyphicon-flash { &:before { content: \"\\e162\"; } }\n.glyphicon-log-out { &:before { content: \"\\e163\"; } }\n.glyphicon-new-window { &:before { content: \"\\e164\"; } }\n.glyphicon-record { &:before { content: \"\\e165\"; } }\n.glyphicon-save { &:before { content: \"\\e166\"; } }\n.glyphicon-open { &:before { content: \"\\e167\"; } }\n.glyphicon-saved { &:before { content: \"\\e168\"; } }\n.glyphicon-import { &:before { content: \"\\e169\"; } }\n.glyphicon-export { &:before { content: \"\\e170\"; } }\n.glyphicon-send { &:before { content: \"\\e171\"; } }\n.glyphicon-floppy-disk { &:before { content: \"\\e172\"; } }\n.glyphicon-floppy-saved { &:before { content: \"\\e173\"; } }\n.glyphicon-floppy-remove { &:before { content: \"\\e174\"; } }\n.glyphicon-floppy-save { &:before { content: \"\\e175\"; } }\n.glyphicon-floppy-open { &:before { content: \"\\e176\"; } }\n.glyphicon-credit-card { &:before { content: \"\\e177\"; } }\n.glyphicon-transfer { &:before { content: \"\\e178\"; } }\n.glyphicon-cutlery { &:before { content: \"\\e179\"; } }\n.glyphicon-header { &:before { content: \"\\e180\"; } }\n.glyphicon-compressed { &:before { content: \"\\e181\"; } }\n.glyphicon-earphone { &:before { content: \"\\e182\"; } }\n.glyphicon-phone-alt { &:before { content: \"\\e183\"; } }\n.glyphicon-tower { &:before { content: \"\\e184\"; } }\n.glyphicon-stats { &:before { content: \"\\e185\"; } }\n.glyphicon-sd-video { &:before { content: \"\\e186\"; } }\n.glyphicon-hd-video { &:before { content: \"\\e187\"; } }\n.glyphicon-subtitles { &:before { content: \"\\e188\"; } }\n.glyphicon-sound-stereo { &:before { content: \"\\e189\"; } }\n.glyphicon-sound-dolby { &:before { content: \"\\e190\"; } }\n.glyphicon-sound-5-1 { &:before { content: \"\\e191\"; } }\n.glyphicon-sound-6-1 { &:before { content: \"\\e192\"; } }\n.glyphicon-sound-7-1 { &:before { content: \"\\e193\"; } }\n.glyphicon-copyright-mark { &:before { content: \"\\e194\"; } }\n.glyphicon-registration-mark { &:before { content: \"\\e195\"; } }\n.glyphicon-cloud-download { &:before { content: \"\\e197\"; } }\n.glyphicon-cloud-upload { &:before { content: \"\\e198\"; } }\n.glyphicon-tree-conifer { &:before { content: \"\\e199\"; } }\n.glyphicon-tree-deciduous { &:before { content: \"\\e200\"; } }\n.glyphicon-cd { &:before { content: \"\\e201\"; } }\n.glyphicon-save-file { &:before { content: \"\\e202\"; } }\n.glyphicon-open-file { &:before { content: \"\\e203\"; } }\n.glyphicon-level-up { &:before { content: \"\\e204\"; } }\n.glyphicon-copy { &:before { content: \"\\e205\"; } }\n.glyphicon-paste { &:before { content: \"\\e206\"; } }\n// The following 2 Glyphicons are omitted for the time being because\n// they currently use Unicode codepoints that are outside the\n// Basic Multilingual Plane (BMP). Older buggy versions of WebKit can't handle\n// non-BMP codepoints in CSS string escapes, and thus can't display these two icons.\n// Notably, the bug affects some older versions of the Android Browser.\n// More info: https://github.com/twbs/bootstrap/issues/10106\n// .glyphicon-door { &:before { content: \"\\1f6aa\"; } }\n// .glyphicon-key { &:before { content: \"\\1f511\"; } }\n.glyphicon-alert { &:before { content: \"\\e209\"; } }\n.glyphicon-equalizer { &:before { content: \"\\e210\"; } }\n.glyphicon-king { &:before { content: \"\\e211\"; } }\n.glyphicon-queen { &:before { content: \"\\e212\"; } }\n.glyphicon-pawn { &:before { content: \"\\e213\"; } }\n.glyphicon-bishop { &:before { content: \"\\e214\"; } }\n.glyphicon-knight { &:before { content: \"\\e215\"; } }\n.glyphicon-baby-formula { &:before { content: \"\\e216\"; } }\n.glyphicon-tent { &:before { content: \"\\26fa\"; } }\n.glyphicon-blackboard { &:before { content: \"\\e218\"; } }\n.glyphicon-bed { &:before { content: \"\\e219\"; } }\n.glyphicon-apple { &:before { content: \"\\f8ff\"; } }\n.glyphicon-erase { &:before { content: \"\\e221\"; } }\n.glyphicon-hourglass { &:before { content: \"\\231b\"; } }\n.glyphicon-lamp { &:before { content: \"\\e223\"; } }\n.glyphicon-duplicate { &:before { content: \"\\e224\"; } }\n.glyphicon-piggy-bank { &:before { content: \"\\e225\"; } }\n.glyphicon-scissors { &:before { content: \"\\e226\"; } }\n.glyphicon-bitcoin { &:before { content: \"\\e227\"; } }\n.glyphicon-btc { &:before { content: \"\\e227\"; } }\n.glyphicon-xbt { &:before { content: \"\\e227\"; } }\n.glyphicon-yen { &:before { content: \"\\00a5\"; } }\n.glyphicon-jpy { &:before { content: \"\\00a5\"; } }\n.glyphicon-ruble { &:before { content: \"\\20bd\"; } }\n.glyphicon-rub { &:before { content: \"\\20bd\"; } }\n.glyphicon-scale { &:before { content: \"\\e230\"; } }\n.glyphicon-ice-lolly { &:before { content: \"\\e231\"; } }\n.glyphicon-ice-lolly-tasted { &:before { content: \"\\e232\"; } }\n.glyphicon-education { &:before { content: \"\\e233\"; } }\n.glyphicon-option-horizontal { &:before { content: \"\\e234\"; } }\n.glyphicon-option-vertical { &:before { content: \"\\e235\"; } }\n.glyphicon-menu-hamburger { &:before { content: \"\\e236\"; } }\n.glyphicon-modal-window { &:before { content: \"\\e237\"; } }\n.glyphicon-oil { &:before { content: \"\\e238\"; } }\n.glyphicon-grain { &:before { content: \"\\e239\"; } }\n.glyphicon-sunglasses { &:before { content: \"\\e240\"; } }\n.glyphicon-text-size { &:before { content: \"\\e241\"; } }\n.glyphicon-text-color { &:before { content: \"\\e242\"; } }\n.glyphicon-text-background { &:before { content: \"\\e243\"; } }\n.glyphicon-object-align-top { &:before { content: \"\\e244\"; } }\n.glyphicon-object-align-bottom { &:before { content: \"\\e245\"; } }\n.glyphicon-object-align-horizontal{ &:before { content: \"\\e246\"; } }\n.glyphicon-object-align-left { &:before { content: \"\\e247\"; } }\n.glyphicon-object-align-vertical { &:before { content: \"\\e248\"; } }\n.glyphicon-object-align-right { &:before { content: \"\\e249\"; } }\n.glyphicon-triangle-right { &:before { content: \"\\e250\"; } }\n.glyphicon-triangle-left { &:before { content: \"\\e251\"; } }\n.glyphicon-triangle-bottom { &:before { content: \"\\e252\"; } }\n.glyphicon-triangle-top { &:before { content: \"\\e253\"; } }\n.glyphicon-console { &:before { content: \"\\e254\"; } }\n.glyphicon-superscript { &:before { content: \"\\e255\"; } }\n.glyphicon-subscript { &:before { content: \"\\e256\"; } }\n.glyphicon-menu-left { &:before { content: \"\\e257\"; } }\n.glyphicon-menu-right { &:before { content: \"\\e258\"; } }\n.glyphicon-menu-down { &:before { content: \"\\e259\"; } }\n.glyphicon-menu-up { &:before { content: \"\\e260\"; } }\n","//\n// Scaffolding\n// --------------------------------------------------\n\n\n// Reset the box-sizing\n//\n// Heads up! This reset may cause conflicts with some third-party widgets.\n// For recommendations on resolving such conflicts, see\n// http://getbootstrap.com/getting-started/#third-box-sizing\n* {\n .box-sizing(border-box);\n}\n*:before,\n*:after {\n .box-sizing(border-box);\n}\n\n\n// Body reset\n\nhtml {\n font-size: 10px;\n -webkit-tap-highlight-color: rgba(0,0,0,0);\n}\n\nbody {\n font-family: @font-family-base;\n font-size: @font-size-base;\n line-height: @line-height-base;\n color: @text-color;\n background-color: @body-bg;\n}\n\n// Reset fonts for relevant elements\ninput,\nbutton,\nselect,\ntextarea {\n font-family: inherit;\n font-size: inherit;\n line-height: inherit;\n}\n\n\n// Links\n\na {\n color: @link-color;\n text-decoration: none;\n\n &:hover,\n &:focus {\n color: @link-hover-color;\n text-decoration: @link-hover-decoration;\n }\n\n &:focus {\n .tab-focus();\n }\n}\n\n\n// Figures\n//\n// We reset this here because previously Normalize had no `figure` margins. This\n// ensures we don't break anyone's use of the element.\n\nfigure {\n margin: 0;\n}\n\n\n// Images\n\nimg {\n vertical-align: middle;\n}\n\n// Responsive images (ensure images don't scale beyond their parents)\n.img-responsive {\n .img-responsive();\n}\n\n// Rounded corners\n.img-rounded {\n border-radius: @border-radius-large;\n}\n\n// Image thumbnails\n//\n// Heads up! This is mixin-ed into thumbnails.less for `.thumbnail`.\n.img-thumbnail {\n padding: @thumbnail-padding;\n line-height: @line-height-base;\n background-color: @thumbnail-bg;\n border: 1px solid @thumbnail-border;\n border-radius: @thumbnail-border-radius;\n .transition(all .2s ease-in-out);\n\n // Keep them at most 100% wide\n .img-responsive(inline-block);\n}\n\n// Perfect circle\n.img-circle {\n border-radius: 50%; // set radius in percents\n}\n\n\n// Horizontal rules\n\nhr {\n margin-top: @line-height-computed;\n margin-bottom: @line-height-computed;\n border: 0;\n border-top: 1px solid @hr-border;\n}\n\n\n// Only display content to screen readers\n//\n// See: http://a11yproject.com/posts/how-to-hide-content\n\n.sr-only {\n position: absolute;\n width: 1px;\n height: 1px;\n margin: -1px;\n padding: 0;\n overflow: hidden;\n clip: rect(0,0,0,0);\n border: 0;\n}\n\n// Use in conjunction with .sr-only to only display content when it's focused.\n// Useful for \"Skip to main content\" links; see http://www.w3.org/TR/2013/NOTE-WCAG20-TECHS-20130905/G1\n// Credit: HTML5 Boilerplate\n\n.sr-only-focusable {\n &:active,\n &:focus {\n position: static;\n width: auto;\n height: auto;\n margin: 0;\n overflow: visible;\n clip: auto;\n }\n}\n\n\n// iOS \"clickable elements\" fix for role=\"button\"\n//\n// Fixes \"clickability\" issue (and more generally, the firing of events such as focus as well)\n// for traditionally non-focusable elements with role=\"button\"\n// see https://developer.mozilla.org/en-US/docs/Web/Events/click#Safari_Mobile\n\n[role=\"button\"] {\n cursor: pointer;\n}\n","// Vendor Prefixes\n//\n// All vendor mixins are deprecated as of v3.2.0 due to the introduction of\n// Autoprefixer in our Gruntfile. They have been removed in v4.\n\n// - Animations\n// - Backface visibility\n// - Box shadow\n// - Box sizing\n// - Content columns\n// - Hyphens\n// - Placeholder text\n// - Transformations\n// - Transitions\n// - User Select\n\n\n// Animations\n.animation(@animation) {\n -webkit-animation: @animation;\n -o-animation: @animation;\n animation: @animation;\n}\n.animation-name(@name) {\n -webkit-animation-name: @name;\n animation-name: @name;\n}\n.animation-duration(@duration) {\n -webkit-animation-duration: @duration;\n animation-duration: @duration;\n}\n.animation-timing-function(@timing-function) {\n -webkit-animation-timing-function: @timing-function;\n animation-timing-function: @timing-function;\n}\n.animation-delay(@delay) {\n -webkit-animation-delay: @delay;\n animation-delay: @delay;\n}\n.animation-iteration-count(@iteration-count) {\n -webkit-animation-iteration-count: @iteration-count;\n animation-iteration-count: @iteration-count;\n}\n.animation-direction(@direction) {\n -webkit-animation-direction: @direction;\n animation-direction: @direction;\n}\n.animation-fill-mode(@fill-mode) {\n -webkit-animation-fill-mode: @fill-mode;\n animation-fill-mode: @fill-mode;\n}\n\n// Backface visibility\n// Prevent browsers from flickering when using CSS 3D transforms.\n// Default value is `visible`, but can be changed to `hidden`\n\n.backface-visibility(@visibility) {\n -webkit-backface-visibility: @visibility;\n -moz-backface-visibility: @visibility;\n backface-visibility: @visibility;\n}\n\n// Drop shadows\n//\n// Note: Deprecated `.box-shadow()` as of v3.1.0 since all of Bootstrap's\n// supported browsers that have box shadow capabilities now support it.\n\n.box-shadow(@shadow) {\n -webkit-box-shadow: @shadow; // iOS <4.3 & Android <4.1\n box-shadow: @shadow;\n}\n\n// Box sizing\n.box-sizing(@boxmodel) {\n -webkit-box-sizing: @boxmodel;\n -moz-box-sizing: @boxmodel;\n box-sizing: @boxmodel;\n}\n\n// CSS3 Content Columns\n.content-columns(@column-count; @column-gap: @grid-gutter-width) {\n -webkit-column-count: @column-count;\n -moz-column-count: @column-count;\n column-count: @column-count;\n -webkit-column-gap: @column-gap;\n -moz-column-gap: @column-gap;\n column-gap: @column-gap;\n}\n\n// Optional hyphenation\n.hyphens(@mode: auto) {\n word-wrap: break-word;\n -webkit-hyphens: @mode;\n -moz-hyphens: @mode;\n -ms-hyphens: @mode; // IE10+\n -o-hyphens: @mode;\n hyphens: @mode;\n}\n\n// Placeholder text\n.placeholder(@color: @input-color-placeholder) {\n // Firefox\n &::-moz-placeholder {\n color: @color;\n opacity: 1; // Override Firefox's unusual default opacity; see https://github.com/twbs/bootstrap/pull/11526\n }\n &:-ms-input-placeholder { color: @color; } // Internet Explorer 10+\n &::-webkit-input-placeholder { color: @color; } // Safari and Chrome\n}\n\n// Transformations\n.scale(@ratio) {\n -webkit-transform: scale(@ratio);\n -ms-transform: scale(@ratio); // IE9 only\n -o-transform: scale(@ratio);\n transform: scale(@ratio);\n}\n.scale(@ratioX; @ratioY) {\n -webkit-transform: scale(@ratioX, @ratioY);\n -ms-transform: scale(@ratioX, @ratioY); // IE9 only\n -o-transform: scale(@ratioX, @ratioY);\n transform: scale(@ratioX, @ratioY);\n}\n.scaleX(@ratio) {\n -webkit-transform: scaleX(@ratio);\n -ms-transform: scaleX(@ratio); // IE9 only\n -o-transform: scaleX(@ratio);\n transform: scaleX(@ratio);\n}\n.scaleY(@ratio) {\n -webkit-transform: scaleY(@ratio);\n -ms-transform: scaleY(@ratio); // IE9 only\n -o-transform: scaleY(@ratio);\n transform: scaleY(@ratio);\n}\n.skew(@x; @y) {\n -webkit-transform: skewX(@x) skewY(@y);\n -ms-transform: skewX(@x) skewY(@y); // See https://github.com/twbs/bootstrap/issues/4885; IE9+\n -o-transform: skewX(@x) skewY(@y);\n transform: skewX(@x) skewY(@y);\n}\n.translate(@x; @y) {\n -webkit-transform: translate(@x, @y);\n -ms-transform: translate(@x, @y); // IE9 only\n -o-transform: translate(@x, @y);\n transform: translate(@x, @y);\n}\n.translate3d(@x; @y; @z) {\n -webkit-transform: translate3d(@x, @y, @z);\n transform: translate3d(@x, @y, @z);\n}\n.rotate(@degrees) {\n -webkit-transform: rotate(@degrees);\n -ms-transform: rotate(@degrees); // IE9 only\n -o-transform: rotate(@degrees);\n transform: rotate(@degrees);\n}\n.rotateX(@degrees) {\n -webkit-transform: rotateX(@degrees);\n -ms-transform: rotateX(@degrees); // IE9 only\n -o-transform: rotateX(@degrees);\n transform: rotateX(@degrees);\n}\n.rotateY(@degrees) {\n -webkit-transform: rotateY(@degrees);\n -ms-transform: rotateY(@degrees); // IE9 only\n -o-transform: rotateY(@degrees);\n transform: rotateY(@degrees);\n}\n.perspective(@perspective) {\n -webkit-perspective: @perspective;\n -moz-perspective: @perspective;\n perspective: @perspective;\n}\n.perspective-origin(@perspective) {\n -webkit-perspective-origin: @perspective;\n -moz-perspective-origin: @perspective;\n perspective-origin: @perspective;\n}\n.transform-origin(@origin) {\n -webkit-transform-origin: @origin;\n -moz-transform-origin: @origin;\n -ms-transform-origin: @origin; // IE9 only\n transform-origin: @origin;\n}\n\n\n// Transitions\n\n.transition(@transition) {\n -webkit-transition: @transition;\n -o-transition: @transition;\n transition: @transition;\n}\n.transition-property(@transition-property) {\n -webkit-transition-property: @transition-property;\n transition-property: @transition-property;\n}\n.transition-delay(@transition-delay) {\n -webkit-transition-delay: @transition-delay;\n transition-delay: @transition-delay;\n}\n.transition-duration(@transition-duration) {\n -webkit-transition-duration: @transition-duration;\n transition-duration: @transition-duration;\n}\n.transition-timing-function(@timing-function) {\n -webkit-transition-timing-function: @timing-function;\n transition-timing-function: @timing-function;\n}\n.transition-transform(@transition) {\n -webkit-transition: -webkit-transform @transition;\n -moz-transition: -moz-transform @transition;\n -o-transition: -o-transform @transition;\n transition: transform @transition;\n}\n\n\n// User select\n// For selecting text on the page\n\n.user-select(@select) {\n -webkit-user-select: @select;\n -moz-user-select: @select;\n -ms-user-select: @select; // IE10+\n user-select: @select;\n}\n","// WebKit-style focus\n\n.tab-focus() {\n // WebKit-specific. Other browsers will keep their default outline style.\n // (Initially tried to also force default via `outline: initial`,\n // but that seems to erroneously remove the outline in Firefox altogether.)\n outline: 5px auto -webkit-focus-ring-color;\n outline-offset: -2px;\n}\n","// Image Mixins\n// - Responsive image\n// - Retina image\n\n\n// Responsive image\n//\n// Keep images from scaling beyond the width of their parents.\n.img-responsive(@display: block) {\n display: @display;\n max-width: 100%; // Part 1: Set a maximum relative to the parent\n height: auto; // Part 2: Scale the height according to the width, otherwise you get stretching\n}\n\n\n// Retina image\n//\n// Short retina mixin for setting background-image and -size. Note that the\n// spelling of `min--moz-device-pixel-ratio` is intentional.\n.img-retina(@file-1x; @file-2x; @width-1x; @height-1x) {\n background-image: url(\"@{file-1x}\");\n\n @media\n only screen and (-webkit-min-device-pixel-ratio: 2),\n only screen and ( min--moz-device-pixel-ratio: 2),\n only screen and ( -o-min-device-pixel-ratio: 2/1),\n only screen and ( min-device-pixel-ratio: 2),\n only screen and ( min-resolution: 192dpi),\n only screen and ( min-resolution: 2dppx) {\n background-image: url(\"@{file-2x}\");\n background-size: @width-1x @height-1x;\n }\n}\n","//\n// Typography\n// --------------------------------------------------\n\n\n// Headings\n// -------------------------\n\nh1, h2, h3, h4, h5, h6,\n.h1, .h2, .h3, .h4, .h5, .h6 {\n font-family: @headings-font-family;\n font-weight: @headings-font-weight;\n line-height: @headings-line-height;\n color: @headings-color;\n\n small,\n .small {\n font-weight: normal;\n line-height: 1;\n color: @headings-small-color;\n }\n}\n\nh1, .h1,\nh2, .h2,\nh3, .h3 {\n margin-top: @line-height-computed;\n margin-bottom: (@line-height-computed / 2);\n\n small,\n .small {\n font-size: 65%;\n }\n}\nh4, .h4,\nh5, .h5,\nh6, .h6 {\n margin-top: (@line-height-computed / 2);\n margin-bottom: (@line-height-computed / 2);\n\n small,\n .small {\n font-size: 75%;\n }\n}\n\nh1, .h1 { font-size: @font-size-h1; }\nh2, .h2 { font-size: @font-size-h2; }\nh3, .h3 { font-size: @font-size-h3; }\nh4, .h4 { font-size: @font-size-h4; }\nh5, .h5 { font-size: @font-size-h5; }\nh6, .h6 { font-size: @font-size-h6; }\n\n\n// Body text\n// -------------------------\n\np {\n margin: 0 0 (@line-height-computed / 2);\n}\n\n.lead {\n margin-bottom: @line-height-computed;\n font-size: floor((@font-size-base * 1.15));\n font-weight: 300;\n line-height: 1.4;\n\n @media (min-width: @screen-sm-min) {\n font-size: (@font-size-base * 1.5);\n }\n}\n\n\n// Emphasis & misc\n// -------------------------\n\n// Ex: (12px small font / 14px base font) * 100% = about 85%\nsmall,\n.small {\n font-size: floor((100% * @font-size-small / @font-size-base));\n}\n\nmark,\n.mark {\n background-color: @state-warning-bg;\n padding: .2em;\n}\n\n// Alignment\n.text-left { text-align: left; }\n.text-right { text-align: right; }\n.text-center { text-align: center; }\n.text-justify { text-align: justify; }\n.text-nowrap { white-space: nowrap; }\n\n// Transformation\n.text-lowercase { text-transform: lowercase; }\n.text-uppercase { text-transform: uppercase; }\n.text-capitalize { text-transform: capitalize; }\n\n// Contextual colors\n.text-muted {\n color: @text-muted;\n}\n.text-primary {\n .text-emphasis-variant(@brand-primary);\n}\n.text-success {\n .text-emphasis-variant(@state-success-text);\n}\n.text-info {\n .text-emphasis-variant(@state-info-text);\n}\n.text-warning {\n .text-emphasis-variant(@state-warning-text);\n}\n.text-danger {\n .text-emphasis-variant(@state-danger-text);\n}\n\n// Contextual backgrounds\n// For now we'll leave these alongside the text classes until v4 when we can\n// safely shift things around (per SemVer rules).\n.bg-primary {\n // Given the contrast here, this is the only class to have its color inverted\n // automatically.\n color: #fff;\n .bg-variant(@brand-primary);\n}\n.bg-success {\n .bg-variant(@state-success-bg);\n}\n.bg-info {\n .bg-variant(@state-info-bg);\n}\n.bg-warning {\n .bg-variant(@state-warning-bg);\n}\n.bg-danger {\n .bg-variant(@state-danger-bg);\n}\n\n\n// Page header\n// -------------------------\n\n.page-header {\n padding-bottom: ((@line-height-computed / 2) - 1);\n margin: (@line-height-computed * 2) 0 @line-height-computed;\n border-bottom: 1px solid @page-header-border-color;\n}\n\n\n// Lists\n// -------------------------\n\n// Unordered and Ordered lists\nul,\nol {\n margin-top: 0;\n margin-bottom: (@line-height-computed / 2);\n ul,\n ol {\n margin-bottom: 0;\n }\n}\n\n// List options\n\n// Unstyled keeps list items block level, just removes default browser padding and list-style\n.list-unstyled {\n padding-left: 0;\n list-style: none;\n}\n\n// Inline turns list items into inline-block\n.list-inline {\n .list-unstyled();\n margin-left: -5px;\n\n > li {\n display: inline-block;\n padding-left: 5px;\n padding-right: 5px;\n }\n}\n\n// Description Lists\ndl {\n margin-top: 0; // Remove browser default\n margin-bottom: @line-height-computed;\n}\ndt,\ndd {\n line-height: @line-height-base;\n}\ndt {\n font-weight: bold;\n}\ndd {\n margin-left: 0; // Undo browser default\n}\n\n// Horizontal description lists\n//\n// Defaults to being stacked without any of the below styles applied, until the\n// grid breakpoint is reached (default of ~768px).\n\n.dl-horizontal {\n dd {\n &:extend(.clearfix all); // Clear the floated `dt` if an empty `dd` is present\n }\n\n @media (min-width: @dl-horizontal-breakpoint) {\n dt {\n float: left;\n width: (@dl-horizontal-offset - 20);\n clear: left;\n text-align: right;\n .text-overflow();\n }\n dd {\n margin-left: @dl-horizontal-offset;\n }\n }\n}\n\n\n// Misc\n// -------------------------\n\n// Abbreviations and acronyms\nabbr[title],\n// Add data-* attribute to help out our tooltip plugin, per https://github.com/twbs/bootstrap/issues/5257\nabbr[data-original-title] {\n cursor: help;\n border-bottom: 1px dotted @abbr-border-color;\n}\n.initialism {\n font-size: 90%;\n .text-uppercase();\n}\n\n// Blockquotes\nblockquote {\n padding: (@line-height-computed / 2) @line-height-computed;\n margin: 0 0 @line-height-computed;\n font-size: @blockquote-font-size;\n border-left: 5px solid @blockquote-border-color;\n\n p,\n ul,\n ol {\n &:last-child {\n margin-bottom: 0;\n }\n }\n\n // Note: Deprecated small and .small as of v3.1.0\n // Context: https://github.com/twbs/bootstrap/issues/11660\n footer,\n small,\n .small {\n display: block;\n font-size: 80%; // back to default font-size\n line-height: @line-height-base;\n color: @blockquote-small-color;\n\n &:before {\n content: '\\2014 \\00A0'; // em dash, nbsp\n }\n }\n}\n\n// Opposite alignment of blockquote\n//\n// Heads up: `blockquote.pull-right` has been deprecated as of v3.1.0.\n.blockquote-reverse,\nblockquote.pull-right {\n padding-right: 15px;\n padding-left: 0;\n border-right: 5px solid @blockquote-border-color;\n border-left: 0;\n text-align: right;\n\n // Account for citation\n footer,\n small,\n .small {\n &:before { content: ''; }\n &:after {\n content: '\\00A0 \\2014'; // nbsp, em dash\n }\n }\n}\n\n// Addresses\naddress {\n margin-bottom: @line-height-computed;\n font-style: normal;\n line-height: @line-height-base;\n}\n","// Typography\n\n.text-emphasis-variant(@color) {\n color: @color;\n a&:hover,\n a&:focus {\n color: darken(@color, 10%);\n }\n}\n","// Contextual backgrounds\n\n.bg-variant(@color) {\n background-color: @color;\n a&:hover,\n a&:focus {\n background-color: darken(@color, 10%);\n }\n}\n","// Text overflow\n// Requires inline-block or block for proper styling\n\n.text-overflow() {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n","//\n// Code (inline and block)\n// --------------------------------------------------\n\n\n// Inline and block code styles\ncode,\nkbd,\npre,\nsamp {\n font-family: @font-family-monospace;\n}\n\n// Inline code\ncode {\n padding: 2px 4px;\n font-size: 90%;\n color: @code-color;\n background-color: @code-bg;\n border-radius: @border-radius-base;\n}\n\n// User input typically entered via keyboard\nkbd {\n padding: 2px 4px;\n font-size: 90%;\n color: @kbd-color;\n background-color: @kbd-bg;\n border-radius: @border-radius-small;\n box-shadow: inset 0 -1px 0 rgba(0,0,0,.25);\n\n kbd {\n padding: 0;\n font-size: 100%;\n font-weight: bold;\n box-shadow: none;\n }\n}\n\n// Blocks of code\npre {\n display: block;\n padding: ((@line-height-computed - 1) / 2);\n margin: 0 0 (@line-height-computed / 2);\n font-size: (@font-size-base - 1); // 14px to 13px\n line-height: @line-height-base;\n word-break: break-all;\n word-wrap: break-word;\n color: @pre-color;\n background-color: @pre-bg;\n border: 1px solid @pre-border-color;\n border-radius: @border-radius-base;\n\n // Account for some code outputs that place code tags in pre tags\n code {\n padding: 0;\n font-size: inherit;\n color: inherit;\n white-space: pre-wrap;\n background-color: transparent;\n border-radius: 0;\n }\n}\n\n// Enable scrollable blocks of code\n.pre-scrollable {\n max-height: @pre-scrollable-max-height;\n overflow-y: scroll;\n}\n","//\n// Grid system\n// --------------------------------------------------\n\n\n// Container widths\n//\n// Set the container width, and override it for fixed navbars in media queries.\n\n.container {\n .container-fixed();\n\n @media (min-width: @screen-sm-min) {\n width: @container-sm;\n }\n @media (min-width: @screen-md-min) {\n width: @container-md;\n }\n @media (min-width: @screen-lg-min) {\n width: @container-lg;\n }\n}\n\n\n// Fluid container\n//\n// Utilizes the mixin meant for fixed width containers, but without any defined\n// width for fluid, full width layouts.\n\n.container-fluid {\n .container-fixed();\n}\n\n\n// Row\n//\n// Rows contain and clear the floats of your columns.\n\n.row {\n .make-row();\n}\n\n\n// Columns\n//\n// Common styles for small and large grid columns\n\n.make-grid-columns();\n\n\n// Extra small grid\n//\n// Columns, offsets, pushes, and pulls for extra small devices like\n// smartphones.\n\n.make-grid(xs);\n\n\n// Small grid\n//\n// Columns, offsets, pushes, and pulls for the small device range, from phones\n// to tablets.\n\n@media (min-width: @screen-sm-min) {\n .make-grid(sm);\n}\n\n\n// Medium grid\n//\n// Columns, offsets, pushes, and pulls for the desktop device range.\n\n@media (min-width: @screen-md-min) {\n .make-grid(md);\n}\n\n\n// Large grid\n//\n// Columns, offsets, pushes, and pulls for the large desktop device range.\n\n@media (min-width: @screen-lg-min) {\n .make-grid(lg);\n}\n","// Grid system\n//\n// Generate semantic grid columns with these mixins.\n\n// Centered container element\n.container-fixed(@gutter: @grid-gutter-width) {\n margin-right: auto;\n margin-left: auto;\n padding-left: floor((@gutter / 2));\n padding-right: ceil((@gutter / 2));\n &:extend(.clearfix all);\n}\n\n// Creates a wrapper for a series of columns\n.make-row(@gutter: @grid-gutter-width) {\n margin-left: ceil((@gutter / -2));\n margin-right: floor((@gutter / -2));\n &:extend(.clearfix all);\n}\n\n// Generate the extra small columns\n.make-xs-column(@columns; @gutter: @grid-gutter-width) {\n position: relative;\n float: left;\n width: percentage((@columns / @grid-columns));\n min-height: 1px;\n padding-left: (@gutter / 2);\n padding-right: (@gutter / 2);\n}\n.make-xs-column-offset(@columns) {\n margin-left: percentage((@columns / @grid-columns));\n}\n.make-xs-column-push(@columns) {\n left: percentage((@columns / @grid-columns));\n}\n.make-xs-column-pull(@columns) {\n right: percentage((@columns / @grid-columns));\n}\n\n// Generate the small columns\n.make-sm-column(@columns; @gutter: @grid-gutter-width) {\n position: relative;\n min-height: 1px;\n padding-left: (@gutter / 2);\n padding-right: (@gutter / 2);\n\n @media (min-width: @screen-sm-min) {\n float: left;\n width: percentage((@columns / @grid-columns));\n }\n}\n.make-sm-column-offset(@columns) {\n @media (min-width: @screen-sm-min) {\n margin-left: percentage((@columns / @grid-columns));\n }\n}\n.make-sm-column-push(@columns) {\n @media (min-width: @screen-sm-min) {\n left: percentage((@columns / @grid-columns));\n }\n}\n.make-sm-column-pull(@columns) {\n @media (min-width: @screen-sm-min) {\n right: percentage((@columns / @grid-columns));\n }\n}\n\n// Generate the medium columns\n.make-md-column(@columns; @gutter: @grid-gutter-width) {\n position: relative;\n min-height: 1px;\n padding-left: (@gutter / 2);\n padding-right: (@gutter / 2);\n\n @media (min-width: @screen-md-min) {\n float: left;\n width: percentage((@columns / @grid-columns));\n }\n}\n.make-md-column-offset(@columns) {\n @media (min-width: @screen-md-min) {\n margin-left: percentage((@columns / @grid-columns));\n }\n}\n.make-md-column-push(@columns) {\n @media (min-width: @screen-md-min) {\n left: percentage((@columns / @grid-columns));\n }\n}\n.make-md-column-pull(@columns) {\n @media (min-width: @screen-md-min) {\n right: percentage((@columns / @grid-columns));\n }\n}\n\n// Generate the large columns\n.make-lg-column(@columns; @gutter: @grid-gutter-width) {\n position: relative;\n min-height: 1px;\n padding-left: (@gutter / 2);\n padding-right: (@gutter / 2);\n\n @media (min-width: @screen-lg-min) {\n float: left;\n width: percentage((@columns / @grid-columns));\n }\n}\n.make-lg-column-offset(@columns) {\n @media (min-width: @screen-lg-min) {\n margin-left: percentage((@columns / @grid-columns));\n }\n}\n.make-lg-column-push(@columns) {\n @media (min-width: @screen-lg-min) {\n left: percentage((@columns / @grid-columns));\n }\n}\n.make-lg-column-pull(@columns) {\n @media (min-width: @screen-lg-min) {\n right: percentage((@columns / @grid-columns));\n }\n}\n","// Framework grid generation\n//\n// Used only by Bootstrap to generate the correct number of grid classes given\n// any value of `@grid-columns`.\n\n.make-grid-columns() {\n // Common styles for all sizes of grid columns, widths 1-12\n .col(@index) { // initial\n @item: ~\".col-xs-@{index}, .col-sm-@{index}, .col-md-@{index}, .col-lg-@{index}\";\n .col((@index + 1), @item);\n }\n .col(@index, @list) when (@index =< @grid-columns) { // general; \"=<\" isn't a typo\n @item: ~\".col-xs-@{index}, .col-sm-@{index}, .col-md-@{index}, .col-lg-@{index}\";\n .col((@index + 1), ~\"@{list}, @{item}\");\n }\n .col(@index, @list) when (@index > @grid-columns) { // terminal\n @{list} {\n position: relative;\n // Prevent columns from collapsing when empty\n min-height: 1px;\n // Inner gutter via padding\n padding-left: ceil((@grid-gutter-width / 2));\n padding-right: floor((@grid-gutter-width / 2));\n }\n }\n .col(1); // kickstart it\n}\n\n.float-grid-columns(@class) {\n .col(@index) { // initial\n @item: ~\".col-@{class}-@{index}\";\n .col((@index + 1), @item);\n }\n .col(@index, @list) when (@index =< @grid-columns) { // general\n @item: ~\".col-@{class}-@{index}\";\n .col((@index + 1), ~\"@{list}, @{item}\");\n }\n .col(@index, @list) when (@index > @grid-columns) { // terminal\n @{list} {\n float: left;\n }\n }\n .col(1); // kickstart it\n}\n\n.calc-grid-column(@index, @class, @type) when (@type = width) and (@index > 0) {\n .col-@{class}-@{index} {\n width: percentage((@index / @grid-columns));\n }\n}\n.calc-grid-column(@index, @class, @type) when (@type = push) and (@index > 0) {\n .col-@{class}-push-@{index} {\n left: percentage((@index / @grid-columns));\n }\n}\n.calc-grid-column(@index, @class, @type) when (@type = push) and (@index = 0) {\n .col-@{class}-push-0 {\n left: auto;\n }\n}\n.calc-grid-column(@index, @class, @type) when (@type = pull) and (@index > 0) {\n .col-@{class}-pull-@{index} {\n right: percentage((@index / @grid-columns));\n }\n}\n.calc-grid-column(@index, @class, @type) when (@type = pull) and (@index = 0) {\n .col-@{class}-pull-0 {\n right: auto;\n }\n}\n.calc-grid-column(@index, @class, @type) when (@type = offset) {\n .col-@{class}-offset-@{index} {\n margin-left: percentage((@index / @grid-columns));\n }\n}\n\n// Basic looping in LESS\n.loop-grid-columns(@index, @class, @type) when (@index >= 0) {\n .calc-grid-column(@index, @class, @type);\n // next iteration\n .loop-grid-columns((@index - 1), @class, @type);\n}\n\n// Create grid for specific class\n.make-grid(@class) {\n .float-grid-columns(@class);\n .loop-grid-columns(@grid-columns, @class, width);\n .loop-grid-columns(@grid-columns, @class, pull);\n .loop-grid-columns(@grid-columns, @class, push);\n .loop-grid-columns(@grid-columns, @class, offset);\n}\n","//\n// Tables\n// --------------------------------------------------\n\n\ntable {\n background-color: @table-bg;\n}\ncaption {\n padding-top: @table-cell-padding;\n padding-bottom: @table-cell-padding;\n color: @text-muted;\n text-align: left;\n}\nth {\n text-align: left;\n}\n\n\n// Baseline styles\n\n.table {\n width: 100%;\n max-width: 100%;\n margin-bottom: @line-height-computed;\n // Cells\n > thead,\n > tbody,\n > tfoot {\n > tr {\n > th,\n > td {\n padding: @table-cell-padding;\n line-height: @line-height-base;\n vertical-align: top;\n border-top: 1px solid @table-border-color;\n }\n }\n }\n // Bottom align for column headings\n > thead > tr > th {\n vertical-align: bottom;\n border-bottom: 2px solid @table-border-color;\n }\n // Remove top border from thead by default\n > caption + thead,\n > colgroup + thead,\n > thead:first-child {\n > tr:first-child {\n > th,\n > td {\n border-top: 0;\n }\n }\n }\n // Account for multiple tbody instances\n > tbody + tbody {\n border-top: 2px solid @table-border-color;\n }\n\n // Nesting\n .table {\n background-color: @body-bg;\n }\n}\n\n\n// Condensed table w/ half padding\n\n.table-condensed {\n > thead,\n > tbody,\n > tfoot {\n > tr {\n > th,\n > td {\n padding: @table-condensed-cell-padding;\n }\n }\n }\n}\n\n\n// Bordered version\n//\n// Add borders all around the table and between all the columns.\n\n.table-bordered {\n border: 1px solid @table-border-color;\n > thead,\n > tbody,\n > tfoot {\n > tr {\n > th,\n > td {\n border: 1px solid @table-border-color;\n }\n }\n }\n > thead > tr {\n > th,\n > td {\n border-bottom-width: 2px;\n }\n }\n}\n\n\n// Zebra-striping\n//\n// Default zebra-stripe styles (alternating gray and transparent backgrounds)\n\n.table-striped {\n > tbody > tr:nth-of-type(odd) {\n background-color: @table-bg-accent;\n }\n}\n\n\n// Hover effect\n//\n// Placed here since it has to come after the potential zebra striping\n\n.table-hover {\n > tbody > tr:hover {\n background-color: @table-bg-hover;\n }\n}\n\n\n// Table cell sizing\n//\n// Reset default table behavior\n\ntable col[class*=\"col-\"] {\n position: static; // Prevent border hiding in Firefox and IE9-11 (see https://github.com/twbs/bootstrap/issues/11623)\n float: none;\n display: table-column;\n}\ntable {\n td,\n th {\n &[class*=\"col-\"] {\n position: static; // Prevent border hiding in Firefox and IE9-11 (see https://github.com/twbs/bootstrap/issues/11623)\n float: none;\n display: table-cell;\n }\n }\n}\n\n\n// Table backgrounds\n//\n// Exact selectors below required to override `.table-striped` and prevent\n// inheritance to nested tables.\n\n// Generate the contextual variants\n.table-row-variant(active; @table-bg-active);\n.table-row-variant(success; @state-success-bg);\n.table-row-variant(info; @state-info-bg);\n.table-row-variant(warning; @state-warning-bg);\n.table-row-variant(danger; @state-danger-bg);\n\n\n// Responsive tables\n//\n// Wrap your tables in `.table-responsive` and we'll make them mobile friendly\n// by enabling horizontal scrolling. Only applies <768px. Everything above that\n// will display normally.\n\n.table-responsive {\n overflow-x: auto;\n min-height: 0.01%; // Workaround for IE9 bug (see https://github.com/twbs/bootstrap/issues/14837)\n\n @media screen and (max-width: @screen-xs-max) {\n width: 100%;\n margin-bottom: (@line-height-computed * 0.75);\n overflow-y: hidden;\n -ms-overflow-style: -ms-autohiding-scrollbar;\n border: 1px solid @table-border-color;\n\n // Tighten up spacing\n > .table {\n margin-bottom: 0;\n\n // Ensure the content doesn't wrap\n > thead,\n > tbody,\n > tfoot {\n > tr {\n > th,\n > td {\n white-space: nowrap;\n }\n }\n }\n }\n\n // Special overrides for the bordered tables\n > .table-bordered {\n border: 0;\n\n // Nuke the appropriate borders so that the parent can handle them\n > thead,\n > tbody,\n > tfoot {\n > tr {\n > th:first-child,\n > td:first-child {\n border-left: 0;\n }\n > th:last-child,\n > td:last-child {\n border-right: 0;\n }\n }\n }\n\n // Only nuke the last row's bottom-border in `tbody` and `tfoot` since\n // chances are there will be only one `tr` in a `thead` and that would\n // remove the border altogether.\n > tbody,\n > tfoot {\n > tr:last-child {\n > th,\n > td {\n border-bottom: 0;\n }\n }\n }\n\n }\n }\n}\n","// Tables\n\n.table-row-variant(@state; @background) {\n // Exact selectors below required to override `.table-striped` and prevent\n // inheritance to nested tables.\n .table > thead > tr,\n .table > tbody > tr,\n .table > tfoot > tr {\n > td.@{state},\n > th.@{state},\n &.@{state} > td,\n &.@{state} > th {\n background-color: @background;\n }\n }\n\n // Hover states for `.table-hover`\n // Note: this is not available for cells or rows within `thead` or `tfoot`.\n .table-hover > tbody > tr {\n > td.@{state}:hover,\n > th.@{state}:hover,\n &.@{state}:hover > td,\n &:hover > .@{state},\n &.@{state}:hover > th {\n background-color: darken(@background, 5%);\n }\n }\n}\n","//\n// Forms\n// --------------------------------------------------\n\n\n// Normalize non-controls\n//\n// Restyle and baseline non-control form elements.\n\nfieldset {\n padding: 0;\n margin: 0;\n border: 0;\n // Chrome and Firefox set a `min-width: min-content;` on fieldsets,\n // so we reset that to ensure it behaves more like a standard block element.\n // See https://github.com/twbs/bootstrap/issues/12359.\n min-width: 0;\n}\n\nlegend {\n display: block;\n width: 100%;\n padding: 0;\n margin-bottom: @line-height-computed;\n font-size: (@font-size-base * 1.5);\n line-height: inherit;\n color: @legend-color;\n border: 0;\n border-bottom: 1px solid @legend-border-color;\n}\n\nlabel {\n display: inline-block;\n max-width: 100%; // Force IE8 to wrap long content (see https://github.com/twbs/bootstrap/issues/13141)\n margin-bottom: 5px;\n font-weight: bold;\n}\n\n\n// Normalize form controls\n//\n// While most of our form styles require extra classes, some basic normalization\n// is required to ensure optimum display with or without those classes to better\n// address browser inconsistencies.\n\n// Override content-box in Normalize (* isn't specific enough)\ninput[type=\"search\"] {\n .box-sizing(border-box);\n}\n\n// Position radios and checkboxes better\ninput[type=\"radio\"],\ninput[type=\"checkbox\"] {\n margin: 4px 0 0;\n margin-top: 1px \\9; // IE8-9\n line-height: normal;\n}\n\ninput[type=\"file\"] {\n display: block;\n}\n\n// Make range inputs behave like textual form controls\ninput[type=\"range\"] {\n display: block;\n width: 100%;\n}\n\n// Make multiple select elements height not fixed\nselect[multiple],\nselect[size] {\n height: auto;\n}\n\n// Focus for file, radio, and checkbox\ninput[type=\"file\"]:focus,\ninput[type=\"radio\"]:focus,\ninput[type=\"checkbox\"]:focus {\n .tab-focus();\n}\n\n// Adjust output element\noutput {\n display: block;\n padding-top: (@padding-base-vertical + 1);\n font-size: @font-size-base;\n line-height: @line-height-base;\n color: @input-color;\n}\n\n\n// Common form controls\n//\n// Shared size and type resets for form controls. Apply `.form-control` to any\n// of the following form controls:\n//\n// select\n// textarea\n// input[type=\"text\"]\n// input[type=\"password\"]\n// input[type=\"datetime\"]\n// input[type=\"datetime-local\"]\n// input[type=\"date\"]\n// input[type=\"month\"]\n// input[type=\"time\"]\n// input[type=\"week\"]\n// input[type=\"number\"]\n// input[type=\"email\"]\n// input[type=\"url\"]\n// input[type=\"search\"]\n// input[type=\"tel\"]\n// input[type=\"color\"]\n\n.form-control {\n display: block;\n width: 100%;\n height: @input-height-base; // Make inputs at least the height of their button counterpart (base line-height + padding + border)\n padding: @padding-base-vertical @padding-base-horizontal;\n font-size: @font-size-base;\n line-height: @line-height-base;\n color: @input-color;\n background-color: @input-bg;\n background-image: none; // Reset unusual Firefox-on-Android default style; see https://github.com/necolas/normalize.css/issues/214\n border: 1px solid @input-border;\n border-radius: @input-border-radius; // Note: This has no effect on <select>s in some browsers, due to the limited stylability of <select>s in CSS.\n .box-shadow(inset 0 1px 1px rgba(0,0,0,.075));\n .transition(~\"border-color ease-in-out .15s, box-shadow ease-in-out .15s\");\n\n // Customize the `:focus` state to imitate native WebKit styles.\n .form-control-focus();\n\n // Placeholder\n .placeholder();\n\n // Unstyle the caret on `<select>`s in IE10+.\n &::-ms-expand {\n border: 0;\n background-color: transparent;\n }\n\n // Disabled and read-only inputs\n //\n // HTML5 says that controls under a fieldset > legend:first-child won't be\n // disabled if the fieldset is disabled. Due to implementation difficulty, we\n // don't honor that edge case; we style them as disabled anyway.\n &[disabled],\n &[readonly],\n fieldset[disabled] & {\n background-color: @input-bg-disabled;\n opacity: 1; // iOS fix for unreadable disabled content; see https://github.com/twbs/bootstrap/issues/11655\n }\n\n &[disabled],\n fieldset[disabled] & {\n cursor: @cursor-disabled;\n }\n\n // Reset height for `textarea`s\n textarea& {\n height: auto;\n }\n}\n\n\n// Search inputs in iOS\n//\n// This overrides the extra rounded corners on search inputs in iOS so that our\n// `.form-control` class can properly style them. Note that this cannot simply\n// be added to `.form-control` as it's not specific enough. For details, see\n// https://github.com/twbs/bootstrap/issues/11586.\n\ninput[type=\"search\"] {\n -webkit-appearance: none;\n}\n\n\n// Special styles for iOS temporal inputs\n//\n// In Mobile Safari, setting `display: block` on temporal inputs causes the\n// text within the input to become vertically misaligned. As a workaround, we\n// set a pixel line-height that matches the given height of the input, but only\n// for Safari. See https://bugs.webkit.org/show_bug.cgi?id=139848\n//\n// Note that as of 9.3, iOS doesn't support `week`.\n\n@media screen and (-webkit-min-device-pixel-ratio: 0) {\n input[type=\"date\"],\n input[type=\"time\"],\n input[type=\"datetime-local\"],\n input[type=\"month\"] {\n &.form-control {\n line-height: @input-height-base;\n }\n\n &.input-sm,\n .input-group-sm & {\n line-height: @input-height-small;\n }\n\n &.input-lg,\n .input-group-lg & {\n line-height: @input-height-large;\n }\n }\n}\n\n\n// Form groups\n//\n// Designed to help with the organization and spacing of vertical forms. For\n// horizontal forms, use the predefined grid classes.\n\n.form-group {\n margin-bottom: @form-group-margin-bottom;\n}\n\n\n// Checkboxes and radios\n//\n// Indent the labels to position radios/checkboxes as hanging controls.\n\n.radio,\n.checkbox {\n position: relative;\n display: block;\n margin-top: 10px;\n margin-bottom: 10px;\n\n label {\n min-height: @line-height-computed; // Ensure the input doesn't jump when there is no text\n padding-left: 20px;\n margin-bottom: 0;\n font-weight: normal;\n cursor: pointer;\n }\n}\n.radio input[type=\"radio\"],\n.radio-inline input[type=\"radio\"],\n.checkbox input[type=\"checkbox\"],\n.checkbox-inline input[type=\"checkbox\"] {\n position: absolute;\n margin-left: -20px;\n margin-top: 4px \\9;\n}\n\n.radio + .radio,\n.checkbox + .checkbox {\n margin-top: -5px; // Move up sibling radios or checkboxes for tighter spacing\n}\n\n// Radios and checkboxes on same line\n.radio-inline,\n.checkbox-inline {\n position: relative;\n display: inline-block;\n padding-left: 20px;\n margin-bottom: 0;\n vertical-align: middle;\n font-weight: normal;\n cursor: pointer;\n}\n.radio-inline + .radio-inline,\n.checkbox-inline + .checkbox-inline {\n margin-top: 0;\n margin-left: 10px; // space out consecutive inline controls\n}\n\n// Apply same disabled cursor tweak as for inputs\n// Some special care is needed because <label>s don't inherit their parent's `cursor`.\n//\n// Note: Neither radios nor checkboxes can be readonly.\ninput[type=\"radio\"],\ninput[type=\"checkbox\"] {\n &[disabled],\n &.disabled,\n fieldset[disabled] & {\n cursor: @cursor-disabled;\n }\n}\n// These classes are used directly on <label>s\n.radio-inline,\n.checkbox-inline {\n &.disabled,\n fieldset[disabled] & {\n cursor: @cursor-disabled;\n }\n}\n// These classes are used on elements with <label> descendants\n.radio,\n.checkbox {\n &.disabled,\n fieldset[disabled] & {\n label {\n cursor: @cursor-disabled;\n }\n }\n}\n\n\n// Static form control text\n//\n// Apply class to a `p` element to make any string of text align with labels in\n// a horizontal form layout.\n\n.form-control-static {\n // Size it appropriately next to real form controls\n padding-top: (@padding-base-vertical + 1);\n padding-bottom: (@padding-base-vertical + 1);\n // Remove default margin from `p`\n margin-bottom: 0;\n min-height: (@line-height-computed + @font-size-base);\n\n &.input-lg,\n &.input-sm {\n padding-left: 0;\n padding-right: 0;\n }\n}\n\n\n// Form control sizing\n//\n// Build on `.form-control` with modifier classes to decrease or increase the\n// height and font-size of form controls.\n//\n// The `.form-group-* form-control` variations are sadly duplicated to avoid the\n// issue documented in https://github.com/twbs/bootstrap/issues/15074.\n\n.input-sm {\n .input-size(@input-height-small; @padding-small-vertical; @padding-small-horizontal; @font-size-small; @line-height-small; @input-border-radius-small);\n}\n.form-group-sm {\n .form-control {\n height: @input-height-small;\n padding: @padding-small-vertical @padding-small-horizontal;\n font-size: @font-size-small;\n line-height: @line-height-small;\n border-radius: @input-border-radius-small;\n }\n select.form-control {\n height: @input-height-small;\n line-height: @input-height-small;\n }\n textarea.form-control,\n select[multiple].form-control {\n height: auto;\n }\n .form-control-static {\n height: @input-height-small;\n min-height: (@line-height-computed + @font-size-small);\n padding: (@padding-small-vertical + 1) @padding-small-horizontal;\n font-size: @font-size-small;\n line-height: @line-height-small;\n }\n}\n\n.input-lg {\n .input-size(@input-height-large; @padding-large-vertical; @padding-large-horizontal; @font-size-large; @line-height-large; @input-border-radius-large);\n}\n.form-group-lg {\n .form-control {\n height: @input-height-large;\n padding: @padding-large-vertical @padding-large-horizontal;\n font-size: @font-size-large;\n line-height: @line-height-large;\n border-radius: @input-border-radius-large;\n }\n select.form-control {\n height: @input-height-large;\n line-height: @input-height-large;\n }\n textarea.form-control,\n select[multiple].form-control {\n height: auto;\n }\n .form-control-static {\n height: @input-height-large;\n min-height: (@line-height-computed + @font-size-large);\n padding: (@padding-large-vertical + 1) @padding-large-horizontal;\n font-size: @font-size-large;\n line-height: @line-height-large;\n }\n}\n\n\n// Form control feedback states\n//\n// Apply contextual and semantic states to individual form controls.\n\n.has-feedback {\n // Enable absolute positioning\n position: relative;\n\n // Ensure icons don't overlap text\n .form-control {\n padding-right: (@input-height-base * 1.25);\n }\n}\n// Feedback icon (requires .glyphicon classes)\n.form-control-feedback {\n position: absolute;\n top: 0;\n right: 0;\n z-index: 2; // Ensure icon is above input groups\n display: block;\n width: @input-height-base;\n height: @input-height-base;\n line-height: @input-height-base;\n text-align: center;\n pointer-events: none;\n}\n.input-lg + .form-control-feedback,\n.input-group-lg + .form-control-feedback,\n.form-group-lg .form-control + .form-control-feedback {\n width: @input-height-large;\n height: @input-height-large;\n line-height: @input-height-large;\n}\n.input-sm + .form-control-feedback,\n.input-group-sm + .form-control-feedback,\n.form-group-sm .form-control + .form-control-feedback {\n width: @input-height-small;\n height: @input-height-small;\n line-height: @input-height-small;\n}\n\n// Feedback states\n.has-success {\n .form-control-validation(@state-success-text; @state-success-text; @state-success-bg);\n}\n.has-warning {\n .form-control-validation(@state-warning-text; @state-warning-text; @state-warning-bg);\n}\n.has-error {\n .form-control-validation(@state-danger-text; @state-danger-text; @state-danger-bg);\n}\n\n// Reposition feedback icon if input has visible label above\n.has-feedback label {\n\n & ~ .form-control-feedback {\n top: (@line-height-computed + 5); // Height of the `label` and its margin\n }\n &.sr-only ~ .form-control-feedback {\n top: 0;\n }\n}\n\n\n// Help text\n//\n// Apply to any element you wish to create light text for placement immediately\n// below a form control. Use for general help, formatting, or instructional text.\n\n.help-block {\n display: block; // account for any element using help-block\n margin-top: 5px;\n margin-bottom: 10px;\n color: lighten(@text-color, 25%); // lighten the text some for contrast\n}\n\n\n// Inline forms\n//\n// Make forms appear inline(-block) by adding the `.form-inline` class. Inline\n// forms begin stacked on extra small (mobile) devices and then go inline when\n// viewports reach <768px.\n//\n// Requires wrapping inputs and labels with `.form-group` for proper display of\n// default HTML form controls and our custom form controls (e.g., input groups).\n//\n// Heads up! This is mixin-ed into `.navbar-form` in navbars.less.\n\n.form-inline {\n\n // Kick in the inline\n @media (min-width: @screen-sm-min) {\n // Inline-block all the things for \"inline\"\n .form-group {\n display: inline-block;\n margin-bottom: 0;\n vertical-align: middle;\n }\n\n // In navbar-form, allow folks to *not* use `.form-group`\n .form-control {\n display: inline-block;\n width: auto; // Prevent labels from stacking above inputs in `.form-group`\n vertical-align: middle;\n }\n\n // Make static controls behave like regular ones\n .form-control-static {\n display: inline-block;\n }\n\n .input-group {\n display: inline-table;\n vertical-align: middle;\n\n .input-group-addon,\n .input-group-btn,\n .form-control {\n width: auto;\n }\n }\n\n // Input groups need that 100% width though\n .input-group > .form-control {\n width: 100%;\n }\n\n .control-label {\n margin-bottom: 0;\n vertical-align: middle;\n }\n\n // Remove default margin on radios/checkboxes that were used for stacking, and\n // then undo the floating of radios and checkboxes to match.\n .radio,\n .checkbox {\n display: inline-block;\n margin-top: 0;\n margin-bottom: 0;\n vertical-align: middle;\n\n label {\n padding-left: 0;\n }\n }\n .radio input[type=\"radio\"],\n .checkbox input[type=\"checkbox\"] {\n position: relative;\n margin-left: 0;\n }\n\n // Re-override the feedback icon.\n .has-feedback .form-control-feedback {\n top: 0;\n }\n }\n}\n\n\n// Horizontal forms\n//\n// Horizontal forms are built on grid classes and allow you to create forms with\n// labels on the left and inputs on the right.\n\n.form-horizontal {\n\n // Consistent vertical alignment of radios and checkboxes\n //\n // Labels also get some reset styles, but that is scoped to a media query below.\n .radio,\n .checkbox,\n .radio-inline,\n .checkbox-inline {\n margin-top: 0;\n margin-bottom: 0;\n padding-top: (@padding-base-vertical + 1); // Default padding plus a border\n }\n // Account for padding we're adding to ensure the alignment and of help text\n // and other content below items\n .radio,\n .checkbox {\n min-height: (@line-height-computed + (@padding-base-vertical + 1));\n }\n\n // Make form groups behave like rows\n .form-group {\n .make-row();\n }\n\n // Reset spacing and right align labels, but scope to media queries so that\n // labels on narrow viewports stack the same as a default form example.\n @media (min-width: @screen-sm-min) {\n .control-label {\n text-align: right;\n margin-bottom: 0;\n padding-top: (@padding-base-vertical + 1); // Default padding plus a border\n }\n }\n\n // Validation states\n //\n // Reposition the icon because it's now within a grid column and columns have\n // `position: relative;` on them. Also accounts for the grid gutter padding.\n .has-feedback .form-control-feedback {\n right: floor((@grid-gutter-width / 2));\n }\n\n // Form group sizes\n //\n // Quick utility class for applying `.input-lg` and `.input-sm` styles to the\n // inputs and labels within a `.form-group`.\n .form-group-lg {\n @media (min-width: @screen-sm-min) {\n .control-label {\n padding-top: (@padding-large-vertical + 1);\n font-size: @font-size-large;\n }\n }\n }\n .form-group-sm {\n @media (min-width: @screen-sm-min) {\n .control-label {\n padding-top: (@padding-small-vertical + 1);\n font-size: @font-size-small;\n }\n }\n }\n}\n","// Form validation states\n//\n// Used in forms.less to generate the form validation CSS for warnings, errors,\n// and successes.\n\n.form-control-validation(@text-color: #555; @border-color: #ccc; @background-color: #f5f5f5) {\n // Color the label and help text\n .help-block,\n .control-label,\n .radio,\n .checkbox,\n .radio-inline,\n .checkbox-inline,\n &.radio label,\n &.checkbox label,\n &.radio-inline label,\n &.checkbox-inline label {\n color: @text-color;\n }\n // Set the border and box shadow on specific inputs to match\n .form-control {\n border-color: @border-color;\n .box-shadow(inset 0 1px 1px rgba(0,0,0,.075)); // Redeclare so transitions work\n &:focus {\n border-color: darken(@border-color, 10%);\n @shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 6px lighten(@border-color, 20%);\n .box-shadow(@shadow);\n }\n }\n // Set validation states also for addons\n .input-group-addon {\n color: @text-color;\n border-color: @border-color;\n background-color: @background-color;\n }\n // Optional feedback icon\n .form-control-feedback {\n color: @text-color;\n }\n}\n\n\n// Form control focus state\n//\n// Generate a customized focus state and for any input with the specified color,\n// which defaults to the `@input-border-focus` variable.\n//\n// We highly encourage you to not customize the default value, but instead use\n// this to tweak colors on an as-needed basis. This aesthetic change is based on\n// WebKit's default styles, but applicable to a wider range of browsers. Its\n// usability and accessibility should be taken into account with any change.\n//\n// Example usage: change the default blue border and shadow to white for better\n// contrast against a dark gray background.\n.form-control-focus(@color: @input-border-focus) {\n @color-rgba: rgba(red(@color), green(@color), blue(@color), .6);\n &:focus {\n border-color: @color;\n outline: 0;\n .box-shadow(~\"inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px @{color-rgba}\");\n }\n}\n\n// Form control sizing\n//\n// Relative text size, padding, and border-radii changes for form controls. For\n// horizontal sizing, wrap controls in the predefined grid classes. `<select>`\n// element gets special love because it's special, and that's a fact!\n.input-size(@input-height; @padding-vertical; @padding-horizontal; @font-size; @line-height; @border-radius) {\n height: @input-height;\n padding: @padding-vertical @padding-horizontal;\n font-size: @font-size;\n line-height: @line-height;\n border-radius: @border-radius;\n\n select& {\n height: @input-height;\n line-height: @input-height;\n }\n\n textarea&,\n select[multiple]& {\n height: auto;\n }\n}\n","//\n// Buttons\n// --------------------------------------------------\n\n\n// Base styles\n// --------------------------------------------------\n\n.btn {\n display: inline-block;\n margin-bottom: 0; // For input.btn\n font-weight: @btn-font-weight;\n text-align: center;\n vertical-align: middle;\n touch-action: manipulation;\n cursor: pointer;\n background-image: none; // Reset unusual Firefox-on-Android default style; see https://github.com/necolas/normalize.css/issues/214\n border: 1px solid transparent;\n white-space: nowrap;\n .button-size(@padding-base-vertical; @padding-base-horizontal; @font-size-base; @line-height-base; @btn-border-radius-base);\n .user-select(none);\n\n &,\n &:active,\n &.active {\n &:focus,\n &.focus {\n .tab-focus();\n }\n }\n\n &:hover,\n &:focus,\n &.focus {\n color: @btn-default-color;\n text-decoration: none;\n }\n\n &:active,\n &.active {\n outline: 0;\n background-image: none;\n .box-shadow(inset 0 3px 5px rgba(0,0,0,.125));\n }\n\n &.disabled,\n &[disabled],\n fieldset[disabled] & {\n cursor: @cursor-disabled;\n .opacity(.65);\n .box-shadow(none);\n }\n\n a& {\n &.disabled,\n fieldset[disabled] & {\n pointer-events: none; // Future-proof disabling of clicks on `<a>` elements\n }\n }\n}\n\n\n// Alternate buttons\n// --------------------------------------------------\n\n.btn-default {\n .button-variant(@btn-default-color; @btn-default-bg; @btn-default-border);\n}\n.btn-primary {\n .button-variant(@btn-primary-color; @btn-primary-bg; @btn-primary-border);\n}\n// Success appears as green\n.btn-success {\n .button-variant(@btn-success-color; @btn-success-bg; @btn-success-border);\n}\n// Info appears as blue-green\n.btn-info {\n .button-variant(@btn-info-color; @btn-info-bg; @btn-info-border);\n}\n// Warning appears as orange\n.btn-warning {\n .button-variant(@btn-warning-color; @btn-warning-bg; @btn-warning-border);\n}\n// Danger and error appear as red\n.btn-danger {\n .button-variant(@btn-danger-color; @btn-danger-bg; @btn-danger-border);\n}\n\n\n// Link buttons\n// -------------------------\n\n// Make a button look and behave like a link\n.btn-link {\n color: @link-color;\n font-weight: normal;\n border-radius: 0;\n\n &,\n &:active,\n &.active,\n &[disabled],\n fieldset[disabled] & {\n background-color: transparent;\n .box-shadow(none);\n }\n &,\n &:hover,\n &:focus,\n &:active {\n border-color: transparent;\n }\n &:hover,\n &:focus {\n color: @link-hover-color;\n text-decoration: @link-hover-decoration;\n background-color: transparent;\n }\n &[disabled],\n fieldset[disabled] & {\n &:hover,\n &:focus {\n color: @btn-link-disabled-color;\n text-decoration: none;\n }\n }\n}\n\n\n// Button Sizes\n// --------------------------------------------------\n\n.btn-lg {\n // line-height: ensure even-numbered height of button next to large input\n .button-size(@padding-large-vertical; @padding-large-horizontal; @font-size-large; @line-height-large; @btn-border-radius-large);\n}\n.btn-sm {\n // line-height: ensure proper height of button next to small input\n .button-size(@padding-small-vertical; @padding-small-horizontal; @font-size-small; @line-height-small; @btn-border-radius-small);\n}\n.btn-xs {\n .button-size(@padding-xs-vertical; @padding-xs-horizontal; @font-size-small; @line-height-small; @btn-border-radius-small);\n}\n\n\n// Block button\n// --------------------------------------------------\n\n.btn-block {\n display: block;\n width: 100%;\n}\n\n// Vertically space out multiple block buttons\n.btn-block + .btn-block {\n margin-top: 5px;\n}\n\n// Specificity overrides\ninput[type=\"submit\"],\ninput[type=\"reset\"],\ninput[type=\"button\"] {\n &.btn-block {\n width: 100%;\n }\n}\n","// Button variants\n//\n// Easily pump out default styles, as well as :hover, :focus, :active,\n// and disabled options for all buttons\n\n.button-variant(@color; @background; @border) {\n color: @color;\n background-color: @background;\n border-color: @border;\n\n &:focus,\n &.focus {\n color: @color;\n background-color: darken(@background, 10%);\n border-color: darken(@border, 25%);\n }\n &:hover {\n color: @color;\n background-color: darken(@background, 10%);\n border-color: darken(@border, 12%);\n }\n &:active,\n &.active,\n .open > .dropdown-toggle& {\n color: @color;\n background-color: darken(@background, 10%);\n border-color: darken(@border, 12%);\n\n &:hover,\n &:focus,\n &.focus {\n color: @color;\n background-color: darken(@background, 17%);\n border-color: darken(@border, 25%);\n }\n }\n &:active,\n &.active,\n .open > .dropdown-toggle& {\n background-image: none;\n }\n &.disabled,\n &[disabled],\n fieldset[disabled] & {\n &:hover,\n &:focus,\n &.focus {\n background-color: @background;\n border-color: @border;\n }\n }\n\n .badge {\n color: @background;\n background-color: @color;\n }\n}\n\n// Button sizes\n.button-size(@padding-vertical; @padding-horizontal; @font-size; @line-height; @border-radius) {\n padding: @padding-vertical @padding-horizontal;\n font-size: @font-size;\n line-height: @line-height;\n border-radius: @border-radius;\n}\n","// Opacity\n\n.opacity(@opacity) {\n opacity: @opacity;\n // IE8 filter\n @opacity-ie: (@opacity * 100);\n filter: ~\"alpha(opacity=@{opacity-ie})\";\n}\n","//\n// Component animations\n// --------------------------------------------------\n\n// Heads up!\n//\n// We don't use the `.opacity()` mixin here since it causes a bug with text\n// fields in IE7-8. Source: https://github.com/twbs/bootstrap/pull/3552.\n\n.fade {\n opacity: 0;\n .transition(opacity .15s linear);\n &.in {\n opacity: 1;\n }\n}\n\n.collapse {\n display: none;\n\n &.in { display: block; }\n tr&.in { display: table-row; }\n tbody&.in { display: table-row-group; }\n}\n\n.collapsing {\n position: relative;\n height: 0;\n overflow: hidden;\n .transition-property(~\"height, visibility\");\n .transition-duration(.35s);\n .transition-timing-function(ease);\n}\n","//\n// Dropdown menus\n// --------------------------------------------------\n\n\n// Dropdown arrow/caret\n.caret {\n display: inline-block;\n width: 0;\n height: 0;\n margin-left: 2px;\n vertical-align: middle;\n border-top: @caret-width-base dashed;\n border-top: @caret-width-base solid ~\"\\9\"; // IE8\n border-right: @caret-width-base solid transparent;\n border-left: @caret-width-base solid transparent;\n}\n\n// The dropdown wrapper (div)\n.dropup,\n.dropdown {\n position: relative;\n}\n\n// Prevent the focus on the dropdown toggle when closing dropdowns\n.dropdown-toggle:focus {\n outline: 0;\n}\n\n// The dropdown menu (ul)\n.dropdown-menu {\n position: absolute;\n top: 100%;\n left: 0;\n z-index: @zindex-dropdown;\n display: none; // none by default, but block on \"open\" of the menu\n float: left;\n min-width: 160px;\n padding: 5px 0;\n margin: 2px 0 0; // override default ul\n list-style: none;\n font-size: @font-size-base;\n text-align: left; // Ensures proper alignment if parent has it changed (e.g., modal footer)\n background-color: @dropdown-bg;\n border: 1px solid @dropdown-fallback-border; // IE8 fallback\n border: 1px solid @dropdown-border;\n border-radius: @border-radius-base;\n .box-shadow(0 6px 12px rgba(0,0,0,.175));\n background-clip: padding-box;\n\n // Aligns the dropdown menu to right\n //\n // Deprecated as of 3.1.0 in favor of `.dropdown-menu-[dir]`\n &.pull-right {\n right: 0;\n left: auto;\n }\n\n // Dividers (basically an hr) within the dropdown\n .divider {\n .nav-divider(@dropdown-divider-bg);\n }\n\n // Links within the dropdown menu\n > li > a {\n display: block;\n padding: 3px 20px;\n clear: both;\n font-weight: normal;\n line-height: @line-height-base;\n color: @dropdown-link-color;\n white-space: nowrap; // prevent links from randomly breaking onto new lines\n }\n}\n\n// Hover/Focus state\n.dropdown-menu > li > a {\n &:hover,\n &:focus {\n text-decoration: none;\n color: @dropdown-link-hover-color;\n background-color: @dropdown-link-hover-bg;\n }\n}\n\n// Active state\n.dropdown-menu > .active > a {\n &,\n &:hover,\n &:focus {\n color: @dropdown-link-active-color;\n text-decoration: none;\n outline: 0;\n background-color: @dropdown-link-active-bg;\n }\n}\n\n// Disabled state\n//\n// Gray out text and ensure the hover/focus state remains gray\n\n.dropdown-menu > .disabled > a {\n &,\n &:hover,\n &:focus {\n color: @dropdown-link-disabled-color;\n }\n\n // Nuke hover/focus effects\n &:hover,\n &:focus {\n text-decoration: none;\n background-color: transparent;\n background-image: none; // Remove CSS gradient\n .reset-filter();\n cursor: @cursor-disabled;\n }\n}\n\n// Open state for the dropdown\n.open {\n // Show the menu\n > .dropdown-menu {\n display: block;\n }\n\n // Remove the outline when :focus is triggered\n > a {\n outline: 0;\n }\n}\n\n// Menu positioning\n//\n// Add extra class to `.dropdown-menu` to flip the alignment of the dropdown\n// menu with the parent.\n.dropdown-menu-right {\n left: auto; // Reset the default from `.dropdown-menu`\n right: 0;\n}\n// With v3, we enabled auto-flipping if you have a dropdown within a right\n// aligned nav component. To enable the undoing of that, we provide an override\n// to restore the default dropdown menu alignment.\n//\n// This is only for left-aligning a dropdown menu within a `.navbar-right` or\n// `.pull-right` nav component.\n.dropdown-menu-left {\n left: 0;\n right: auto;\n}\n\n// Dropdown section headers\n.dropdown-header {\n display: block;\n padding: 3px 20px;\n font-size: @font-size-small;\n line-height: @line-height-base;\n color: @dropdown-header-color;\n white-space: nowrap; // as with > li > a\n}\n\n// Backdrop to catch body clicks on mobile, etc.\n.dropdown-backdrop {\n position: fixed;\n left: 0;\n right: 0;\n bottom: 0;\n top: 0;\n z-index: (@zindex-dropdown - 10);\n}\n\n// Right aligned dropdowns\n.pull-right > .dropdown-menu {\n right: 0;\n left: auto;\n}\n\n// Allow for dropdowns to go bottom up (aka, dropup-menu)\n//\n// Just add .dropup after the standard .dropdown class and you're set, bro.\n// TODO: abstract this so that the navbar fixed styles are not placed here?\n\n.dropup,\n.navbar-fixed-bottom .dropdown {\n // Reverse the caret\n .caret {\n border-top: 0;\n border-bottom: @caret-width-base dashed;\n border-bottom: @caret-width-base solid ~\"\\9\"; // IE8\n content: \"\";\n }\n // Different positioning for bottom up menu\n .dropdown-menu {\n top: auto;\n bottom: 100%;\n margin-bottom: 2px;\n }\n}\n\n\n// Component alignment\n//\n// Reiterate per navbar.less and the modified component alignment there.\n\n@media (min-width: @grid-float-breakpoint) {\n .navbar-right {\n .dropdown-menu {\n .dropdown-menu-right();\n }\n // Necessary for overrides of the default right aligned menu.\n // Will remove come v4 in all likelihood.\n .dropdown-menu-left {\n .dropdown-menu-left();\n }\n }\n}\n","// Horizontal dividers\n//\n// Dividers (basically an hr) within dropdowns and nav lists\n\n.nav-divider(@color: #e5e5e5) {\n height: 1px;\n margin: ((@line-height-computed / 2) - 1) 0;\n overflow: hidden;\n background-color: @color;\n}\n","// Reset filters for IE\n//\n// When you need to remove a gradient background, do not forget to use this to reset\n// the IE filter for IE9 and below.\n\n.reset-filter() {\n filter: e(%(\"progid:DXImageTransform.Microsoft.gradient(enabled = false)\"));\n}\n","//\n// Button groups\n// --------------------------------------------------\n\n// Make the div behave like a button\n.btn-group,\n.btn-group-vertical {\n position: relative;\n display: inline-block;\n vertical-align: middle; // match .btn alignment given font-size hack above\n > .btn {\n position: relative;\n float: left;\n // Bring the \"active\" button to the front\n &:hover,\n &:focus,\n &:active,\n &.active {\n z-index: 2;\n }\n }\n}\n\n// Prevent double borders when buttons are next to each other\n.btn-group {\n .btn + .btn,\n .btn + .btn-group,\n .btn-group + .btn,\n .btn-group + .btn-group {\n margin-left: -1px;\n }\n}\n\n// Optional: Group multiple button groups together for a toolbar\n.btn-toolbar {\n margin-left: -5px; // Offset the first child's margin\n &:extend(.clearfix all);\n\n .btn,\n .btn-group,\n .input-group {\n float: left;\n }\n > .btn,\n > .btn-group,\n > .input-group {\n margin-left: 5px;\n }\n}\n\n.btn-group > .btn:not(:first-child):not(:last-child):not(.dropdown-toggle) {\n border-radius: 0;\n}\n\n// Set corners individual because sometimes a single button can be in a .btn-group and we need :first-child and :last-child to both match\n.btn-group > .btn:first-child {\n margin-left: 0;\n &:not(:last-child):not(.dropdown-toggle) {\n .border-right-radius(0);\n }\n}\n// Need .dropdown-toggle since :last-child doesn't apply, given that a .dropdown-menu is used immediately after it\n.btn-group > .btn:last-child:not(:first-child),\n.btn-group > .dropdown-toggle:not(:first-child) {\n .border-left-radius(0);\n}\n\n// Custom edits for including btn-groups within btn-groups (useful for including dropdown buttons within a btn-group)\n.btn-group > .btn-group {\n float: left;\n}\n.btn-group > .btn-group:not(:first-child):not(:last-child) > .btn {\n border-radius: 0;\n}\n.btn-group > .btn-group:first-child:not(:last-child) {\n > .btn:last-child,\n > .dropdown-toggle {\n .border-right-radius(0);\n }\n}\n.btn-group > .btn-group:last-child:not(:first-child) > .btn:first-child {\n .border-left-radius(0);\n}\n\n// On active and open, don't show outline\n.btn-group .dropdown-toggle:active,\n.btn-group.open .dropdown-toggle {\n outline: 0;\n}\n\n\n// Sizing\n//\n// Remix the default button sizing classes into new ones for easier manipulation.\n\n.btn-group-xs > .btn { &:extend(.btn-xs); }\n.btn-group-sm > .btn { &:extend(.btn-sm); }\n.btn-group-lg > .btn { &:extend(.btn-lg); }\n\n\n// Split button dropdowns\n// ----------------------\n\n// Give the line between buttons some depth\n.btn-group > .btn + .dropdown-toggle {\n padding-left: 8px;\n padding-right: 8px;\n}\n.btn-group > .btn-lg + .dropdown-toggle {\n padding-left: 12px;\n padding-right: 12px;\n}\n\n// The clickable button for toggling the menu\n// Remove the gradient and set the same inset shadow as the :active state\n.btn-group.open .dropdown-toggle {\n .box-shadow(inset 0 3px 5px rgba(0,0,0,.125));\n\n // Show no shadow for `.btn-link` since it has no other button styles.\n &.btn-link {\n .box-shadow(none);\n }\n}\n\n\n// Reposition the caret\n.btn .caret {\n margin-left: 0;\n}\n// Carets in other button sizes\n.btn-lg .caret {\n border-width: @caret-width-large @caret-width-large 0;\n border-bottom-width: 0;\n}\n// Upside down carets for .dropup\n.dropup .btn-lg .caret {\n border-width: 0 @caret-width-large @caret-width-large;\n}\n\n\n// Vertical button groups\n// ----------------------\n\n.btn-group-vertical {\n > .btn,\n > .btn-group,\n > .btn-group > .btn {\n display: block;\n float: none;\n width: 100%;\n max-width: 100%;\n }\n\n // Clear floats so dropdown menus can be properly placed\n > .btn-group {\n &:extend(.clearfix all);\n > .btn {\n float: none;\n }\n }\n\n > .btn + .btn,\n > .btn + .btn-group,\n > .btn-group + .btn,\n > .btn-group + .btn-group {\n margin-top: -1px;\n margin-left: 0;\n }\n}\n\n.btn-group-vertical > .btn {\n &:not(:first-child):not(:last-child) {\n border-radius: 0;\n }\n &:first-child:not(:last-child) {\n .border-top-radius(@btn-border-radius-base);\n .border-bottom-radius(0);\n }\n &:last-child:not(:first-child) {\n .border-top-radius(0);\n .border-bottom-radius(@btn-border-radius-base);\n }\n}\n.btn-group-vertical > .btn-group:not(:first-child):not(:last-child) > .btn {\n border-radius: 0;\n}\n.btn-group-vertical > .btn-group:first-child:not(:last-child) {\n > .btn:last-child,\n > .dropdown-toggle {\n .border-bottom-radius(0);\n }\n}\n.btn-group-vertical > .btn-group:last-child:not(:first-child) > .btn:first-child {\n .border-top-radius(0);\n}\n\n\n// Justified button groups\n// ----------------------\n\n.btn-group-justified {\n display: table;\n width: 100%;\n table-layout: fixed;\n border-collapse: separate;\n > .btn,\n > .btn-group {\n float: none;\n display: table-cell;\n width: 1%;\n }\n > .btn-group .btn {\n width: 100%;\n }\n\n > .btn-group .dropdown-menu {\n left: auto;\n }\n}\n\n\n// Checkbox and radio options\n//\n// In order to support the browser's form validation feedback, powered by the\n// `required` attribute, we have to \"hide\" the inputs via `clip`. We cannot use\n// `display: none;` or `visibility: hidden;` as that also hides the popover.\n// Simply visually hiding the inputs via `opacity` would leave them clickable in\n// certain cases which is prevented by using `clip` and `pointer-events`.\n// This way, we ensure a DOM element is visible to position the popover from.\n//\n// See https://github.com/twbs/bootstrap/pull/12794 and\n// https://github.com/twbs/bootstrap/pull/14559 for more information.\n\n[data-toggle=\"buttons\"] {\n > .btn,\n > .btn-group > .btn {\n input[type=\"radio\"],\n input[type=\"checkbox\"] {\n position: absolute;\n clip: rect(0,0,0,0);\n pointer-events: none;\n }\n }\n}\n","// Single side border-radius\n\n.border-top-radius(@radius) {\n border-top-right-radius: @radius;\n border-top-left-radius: @radius;\n}\n.border-right-radius(@radius) {\n border-bottom-right-radius: @radius;\n border-top-right-radius: @radius;\n}\n.border-bottom-radius(@radius) {\n border-bottom-right-radius: @radius;\n border-bottom-left-radius: @radius;\n}\n.border-left-radius(@radius) {\n border-bottom-left-radius: @radius;\n border-top-left-radius: @radius;\n}\n","//\n// Input groups\n// --------------------------------------------------\n\n// Base styles\n// -------------------------\n.input-group {\n position: relative; // For dropdowns\n display: table;\n border-collapse: separate; // prevent input groups from inheriting border styles from table cells when placed within a table\n\n // Undo padding and float of grid classes\n &[class*=\"col-\"] {\n float: none;\n padding-left: 0;\n padding-right: 0;\n }\n\n .form-control {\n // Ensure that the input is always above the *appended* addon button for\n // proper border colors.\n position: relative;\n z-index: 2;\n\n // IE9 fubars the placeholder attribute in text inputs and the arrows on\n // select elements in input groups. To fix it, we float the input. Details:\n // https://github.com/twbs/bootstrap/issues/11561#issuecomment-28936855\n float: left;\n\n width: 100%;\n margin-bottom: 0;\n\n &:focus {\n z-index: 3;\n }\n }\n}\n\n// Sizing options\n//\n// Remix the default form control sizing classes into new ones for easier\n// manipulation.\n\n.input-group-lg > .form-control,\n.input-group-lg > .input-group-addon,\n.input-group-lg > .input-group-btn > .btn {\n .input-lg();\n}\n.input-group-sm > .form-control,\n.input-group-sm > .input-group-addon,\n.input-group-sm > .input-group-btn > .btn {\n .input-sm();\n}\n\n\n// Display as table-cell\n// -------------------------\n.input-group-addon,\n.input-group-btn,\n.input-group .form-control {\n display: table-cell;\n\n &:not(:first-child):not(:last-child) {\n border-radius: 0;\n }\n}\n// Addon and addon wrapper for buttons\n.input-group-addon,\n.input-group-btn {\n width: 1%;\n white-space: nowrap;\n vertical-align: middle; // Match the inputs\n}\n\n// Text input groups\n// -------------------------\n.input-group-addon {\n padding: @padding-base-vertical @padding-base-horizontal;\n font-size: @font-size-base;\n font-weight: normal;\n line-height: 1;\n color: @input-color;\n text-align: center;\n background-color: @input-group-addon-bg;\n border: 1px solid @input-group-addon-border-color;\n border-radius: @input-border-radius;\n\n // Sizing\n &.input-sm {\n padding: @padding-small-vertical @padding-small-horizontal;\n font-size: @font-size-small;\n border-radius: @input-border-radius-small;\n }\n &.input-lg {\n padding: @padding-large-vertical @padding-large-horizontal;\n font-size: @font-size-large;\n border-radius: @input-border-radius-large;\n }\n\n // Nuke default margins from checkboxes and radios to vertically center within.\n input[type=\"radio\"],\n input[type=\"checkbox\"] {\n margin-top: 0;\n }\n}\n\n// Reset rounded corners\n.input-group .form-control:first-child,\n.input-group-addon:first-child,\n.input-group-btn:first-child > .btn,\n.input-group-btn:first-child > .btn-group > .btn,\n.input-group-btn:first-child > .dropdown-toggle,\n.input-group-btn:last-child > .btn:not(:last-child):not(.dropdown-toggle),\n.input-group-btn:last-child > .btn-group:not(:last-child) > .btn {\n .border-right-radius(0);\n}\n.input-group-addon:first-child {\n border-right: 0;\n}\n.input-group .form-control:last-child,\n.input-group-addon:last-child,\n.input-group-btn:last-child > .btn,\n.input-group-btn:last-child > .btn-group > .btn,\n.input-group-btn:last-child > .dropdown-toggle,\n.input-group-btn:first-child > .btn:not(:first-child),\n.input-group-btn:first-child > .btn-group:not(:first-child) > .btn {\n .border-left-radius(0);\n}\n.input-group-addon:last-child {\n border-left: 0;\n}\n\n// Button input groups\n// -------------------------\n.input-group-btn {\n position: relative;\n // Jankily prevent input button groups from wrapping with `white-space` and\n // `font-size` in combination with `inline-block` on buttons.\n font-size: 0;\n white-space: nowrap;\n\n // Negative margin for spacing, position for bringing hovered/focused/actived\n // element above the siblings.\n > .btn {\n position: relative;\n + .btn {\n margin-left: -1px;\n }\n // Bring the \"active\" button to the front\n &:hover,\n &:focus,\n &:active {\n z-index: 2;\n }\n }\n\n // Negative margin to only have a 1px border between the two\n &:first-child {\n > .btn,\n > .btn-group {\n margin-right: -1px;\n }\n }\n &:last-child {\n > .btn,\n > .btn-group {\n z-index: 2;\n margin-left: -1px;\n }\n }\n}\n","//\n// Navs\n// --------------------------------------------------\n\n\n// Base class\n// --------------------------------------------------\n\n.nav {\n margin-bottom: 0;\n padding-left: 0; // Override default ul/ol\n list-style: none;\n &:extend(.clearfix all);\n\n > li {\n position: relative;\n display: block;\n\n > a {\n position: relative;\n display: block;\n padding: @nav-link-padding;\n &:hover,\n &:focus {\n text-decoration: none;\n background-color: @nav-link-hover-bg;\n }\n }\n\n // Disabled state sets text to gray and nukes hover/tab effects\n &.disabled > a {\n color: @nav-disabled-link-color;\n\n &:hover,\n &:focus {\n color: @nav-disabled-link-hover-color;\n text-decoration: none;\n background-color: transparent;\n cursor: @cursor-disabled;\n }\n }\n }\n\n // Open dropdowns\n .open > a {\n &,\n &:hover,\n &:focus {\n background-color: @nav-link-hover-bg;\n border-color: @link-color;\n }\n }\n\n // Nav dividers (deprecated with v3.0.1)\n //\n // This should have been removed in v3 with the dropping of `.nav-list`, but\n // we missed it. We don't currently support this anywhere, but in the interest\n // of maintaining backward compatibility in case you use it, it's deprecated.\n .nav-divider {\n .nav-divider();\n }\n\n // Prevent IE8 from misplacing imgs\n //\n // See https://github.com/h5bp/html5-boilerplate/issues/984#issuecomment-3985989\n > li > a > img {\n max-width: none;\n }\n}\n\n\n// Tabs\n// -------------------------\n\n// Give the tabs something to sit on\n.nav-tabs {\n border-bottom: 1px solid @nav-tabs-border-color;\n > li {\n float: left;\n // Make the list-items overlay the bottom border\n margin-bottom: -1px;\n\n // Actual tabs (as links)\n > a {\n margin-right: 2px;\n line-height: @line-height-base;\n border: 1px solid transparent;\n border-radius: @border-radius-base @border-radius-base 0 0;\n &:hover {\n border-color: @nav-tabs-link-hover-border-color @nav-tabs-link-hover-border-color @nav-tabs-border-color;\n }\n }\n\n // Active state, and its :hover to override normal :hover\n &.active > a {\n &,\n &:hover,\n &:focus {\n color: @nav-tabs-active-link-hover-color;\n background-color: @nav-tabs-active-link-hover-bg;\n border: 1px solid @nav-tabs-active-link-hover-border-color;\n border-bottom-color: transparent;\n cursor: default;\n }\n }\n }\n // pulling this in mainly for less shorthand\n &.nav-justified {\n .nav-justified();\n .nav-tabs-justified();\n }\n}\n\n\n// Pills\n// -------------------------\n.nav-pills {\n > li {\n float: left;\n\n // Links rendered as pills\n > a {\n border-radius: @nav-pills-border-radius;\n }\n + li {\n margin-left: 2px;\n }\n\n // Active state\n &.active > a {\n &,\n &:hover,\n &:focus {\n color: @nav-pills-active-link-hover-color;\n background-color: @nav-pills-active-link-hover-bg;\n }\n }\n }\n}\n\n\n// Stacked pills\n.nav-stacked {\n > li {\n float: none;\n + li {\n margin-top: 2px;\n margin-left: 0; // no need for this gap between nav items\n }\n }\n}\n\n\n// Nav variations\n// --------------------------------------------------\n\n// Justified nav links\n// -------------------------\n\n.nav-justified {\n width: 100%;\n\n > li {\n float: none;\n > a {\n text-align: center;\n margin-bottom: 5px;\n }\n }\n\n > .dropdown .dropdown-menu {\n top: auto;\n left: auto;\n }\n\n @media (min-width: @screen-sm-min) {\n > li {\n display: table-cell;\n width: 1%;\n > a {\n margin-bottom: 0;\n }\n }\n }\n}\n\n// Move borders to anchors instead of bottom of list\n//\n// Mixin for adding on top the shared `.nav-justified` styles for our tabs\n.nav-tabs-justified {\n border-bottom: 0;\n\n > li > a {\n // Override margin from .nav-tabs\n margin-right: 0;\n border-radius: @border-radius-base;\n }\n\n > .active > a,\n > .active > a:hover,\n > .active > a:focus {\n border: 1px solid @nav-tabs-justified-link-border-color;\n }\n\n @media (min-width: @screen-sm-min) {\n > li > a {\n border-bottom: 1px solid @nav-tabs-justified-link-border-color;\n border-radius: @border-radius-base @border-radius-base 0 0;\n }\n > .active > a,\n > .active > a:hover,\n > .active > a:focus {\n border-bottom-color: @nav-tabs-justified-active-link-border-color;\n }\n }\n}\n\n\n// Tabbable tabs\n// -------------------------\n\n// Hide tabbable panes to start, show them when `.active`\n.tab-content {\n > .tab-pane {\n display: none;\n }\n > .active {\n display: block;\n }\n}\n\n\n// Dropdowns\n// -------------------------\n\n// Specific dropdowns\n.nav-tabs .dropdown-menu {\n // make dropdown border overlap tab border\n margin-top: -1px;\n // Remove the top rounded corners here since there is a hard edge above the menu\n .border-top-radius(0);\n}\n","//\n// Navbars\n// --------------------------------------------------\n\n\n// Wrapper and base class\n//\n// Provide a static navbar from which we expand to create full-width, fixed, and\n// other navbar variations.\n\n.navbar {\n position: relative;\n min-height: @navbar-height; // Ensure a navbar always shows (e.g., without a .navbar-brand in collapsed mode)\n margin-bottom: @navbar-margin-bottom;\n border: 1px solid transparent;\n\n // Prevent floats from breaking the navbar\n &:extend(.clearfix all);\n\n @media (min-width: @grid-float-breakpoint) {\n border-radius: @navbar-border-radius;\n }\n}\n\n\n// Navbar heading\n//\n// Groups `.navbar-brand` and `.navbar-toggle` into a single component for easy\n// styling of responsive aspects.\n\n.navbar-header {\n &:extend(.clearfix all);\n\n @media (min-width: @grid-float-breakpoint) {\n float: left;\n }\n}\n\n\n// Navbar collapse (body)\n//\n// Group your navbar content into this for easy collapsing and expanding across\n// various device sizes. By default, this content is collapsed when <768px, but\n// will expand past that for a horizontal display.\n//\n// To start (on mobile devices) the navbar links, forms, and buttons are stacked\n// vertically and include a `max-height` to overflow in case you have too much\n// content for the user's viewport.\n\n.navbar-collapse {\n overflow-x: visible;\n padding-right: @navbar-padding-horizontal;\n padding-left: @navbar-padding-horizontal;\n border-top: 1px solid transparent;\n box-shadow: inset 0 1px 0 rgba(255,255,255,.1);\n &:extend(.clearfix all);\n -webkit-overflow-scrolling: touch;\n\n &.in {\n overflow-y: auto;\n }\n\n @media (min-width: @grid-float-breakpoint) {\n width: auto;\n border-top: 0;\n box-shadow: none;\n\n &.collapse {\n display: block !important;\n height: auto !important;\n padding-bottom: 0; // Override default setting\n overflow: visible !important;\n }\n\n &.in {\n overflow-y: visible;\n }\n\n // Undo the collapse side padding for navbars with containers to ensure\n // alignment of right-aligned contents.\n .navbar-fixed-top &,\n .navbar-static-top &,\n .navbar-fixed-bottom & {\n padding-left: 0;\n padding-right: 0;\n }\n }\n}\n\n.navbar-fixed-top,\n.navbar-fixed-bottom {\n .navbar-collapse {\n max-height: @navbar-collapse-max-height;\n\n @media (max-device-width: @screen-xs-min) and (orientation: landscape) {\n max-height: 200px;\n }\n }\n}\n\n\n// Both navbar header and collapse\n//\n// When a container is present, change the behavior of the header and collapse.\n\n.container,\n.container-fluid {\n > .navbar-header,\n > .navbar-collapse {\n margin-right: -@navbar-padding-horizontal;\n margin-left: -@navbar-padding-horizontal;\n\n @media (min-width: @grid-float-breakpoint) {\n margin-right: 0;\n margin-left: 0;\n }\n }\n}\n\n\n//\n// Navbar alignment options\n//\n// Display the navbar across the entirety of the page or fixed it to the top or\n// bottom of the page.\n\n// Static top (unfixed, but 100% wide) navbar\n.navbar-static-top {\n z-index: @zindex-navbar;\n border-width: 0 0 1px;\n\n @media (min-width: @grid-float-breakpoint) {\n border-radius: 0;\n }\n}\n\n// Fix the top/bottom navbars when screen real estate supports it\n.navbar-fixed-top,\n.navbar-fixed-bottom {\n position: fixed;\n right: 0;\n left: 0;\n z-index: @zindex-navbar-fixed;\n\n // Undo the rounded corners\n @media (min-width: @grid-float-breakpoint) {\n border-radius: 0;\n }\n}\n.navbar-fixed-top {\n top: 0;\n border-width: 0 0 1px;\n}\n.navbar-fixed-bottom {\n bottom: 0;\n margin-bottom: 0; // override .navbar defaults\n border-width: 1px 0 0;\n}\n\n\n// Brand/project name\n\n.navbar-brand {\n float: left;\n padding: @navbar-padding-vertical @navbar-padding-horizontal;\n font-size: @font-size-large;\n line-height: @line-height-computed;\n height: @navbar-height;\n\n &:hover,\n &:focus {\n text-decoration: none;\n }\n\n > img {\n display: block;\n }\n\n @media (min-width: @grid-float-breakpoint) {\n .navbar > .container &,\n .navbar > .container-fluid & {\n margin-left: -@navbar-padding-horizontal;\n }\n }\n}\n\n\n// Navbar toggle\n//\n// Custom button for toggling the `.navbar-collapse`, powered by the collapse\n// JavaScript plugin.\n\n.navbar-toggle {\n position: relative;\n float: right;\n margin-right: @navbar-padding-horizontal;\n padding: 9px 10px;\n .navbar-vertical-align(34px);\n background-color: transparent;\n background-image: none; // Reset unusual Firefox-on-Android default style; see https://github.com/necolas/normalize.css/issues/214\n border: 1px solid transparent;\n border-radius: @border-radius-base;\n\n // We remove the `outline` here, but later compensate by attaching `:hover`\n // styles to `:focus`.\n &:focus {\n outline: 0;\n }\n\n // Bars\n .icon-bar {\n display: block;\n width: 22px;\n height: 2px;\n border-radius: 1px;\n }\n .icon-bar + .icon-bar {\n margin-top: 4px;\n }\n\n @media (min-width: @grid-float-breakpoint) {\n display: none;\n }\n}\n\n\n// Navbar nav links\n//\n// Builds on top of the `.nav` components with its own modifier class to make\n// the nav the full height of the horizontal nav (above 768px).\n\n.navbar-nav {\n margin: (@navbar-padding-vertical / 2) -@navbar-padding-horizontal;\n\n > li > a {\n padding-top: 10px;\n padding-bottom: 10px;\n line-height: @line-height-computed;\n }\n\n @media (max-width: @grid-float-breakpoint-max) {\n // Dropdowns get custom display when collapsed\n .open .dropdown-menu {\n position: static;\n float: none;\n width: auto;\n margin-top: 0;\n background-color: transparent;\n border: 0;\n box-shadow: none;\n > li > a,\n .dropdown-header {\n padding: 5px 15px 5px 25px;\n }\n > li > a {\n line-height: @line-height-computed;\n &:hover,\n &:focus {\n background-image: none;\n }\n }\n }\n }\n\n // Uncollapse the nav\n @media (min-width: @grid-float-breakpoint) {\n float: left;\n margin: 0;\n\n > li {\n float: left;\n > a {\n padding-top: @navbar-padding-vertical;\n padding-bottom: @navbar-padding-vertical;\n }\n }\n }\n}\n\n\n// Navbar form\n//\n// Extension of the `.form-inline` with some extra flavor for optimum display in\n// our navbars.\n\n.navbar-form {\n margin-left: -@navbar-padding-horizontal;\n margin-right: -@navbar-padding-horizontal;\n padding: 10px @navbar-padding-horizontal;\n border-top: 1px solid transparent;\n border-bottom: 1px solid transparent;\n @shadow: inset 0 1px 0 rgba(255,255,255,.1), 0 1px 0 rgba(255,255,255,.1);\n .box-shadow(@shadow);\n\n // Mixin behavior for optimum display\n .form-inline();\n\n .form-group {\n @media (max-width: @grid-float-breakpoint-max) {\n margin-bottom: 5px;\n\n &:last-child {\n margin-bottom: 0;\n }\n }\n }\n\n // Vertically center in expanded, horizontal navbar\n .navbar-vertical-align(@input-height-base);\n\n // Undo 100% width for pull classes\n @media (min-width: @grid-float-breakpoint) {\n width: auto;\n border: 0;\n margin-left: 0;\n margin-right: 0;\n padding-top: 0;\n padding-bottom: 0;\n .box-shadow(none);\n }\n}\n\n\n// Dropdown menus\n\n// Menu position and menu carets\n.navbar-nav > li > .dropdown-menu {\n margin-top: 0;\n .border-top-radius(0);\n}\n// Menu position and menu caret support for dropups via extra dropup class\n.navbar-fixed-bottom .navbar-nav > li > .dropdown-menu {\n margin-bottom: 0;\n .border-top-radius(@navbar-border-radius);\n .border-bottom-radius(0);\n}\n\n\n// Buttons in navbars\n//\n// Vertically center a button within a navbar (when *not* in a form).\n\n.navbar-btn {\n .navbar-vertical-align(@input-height-base);\n\n &.btn-sm {\n .navbar-vertical-align(@input-height-small);\n }\n &.btn-xs {\n .navbar-vertical-align(22);\n }\n}\n\n\n// Text in navbars\n//\n// Add a class to make any element properly align itself vertically within the navbars.\n\n.navbar-text {\n .navbar-vertical-align(@line-height-computed);\n\n @media (min-width: @grid-float-breakpoint) {\n float: left;\n margin-left: @navbar-padding-horizontal;\n margin-right: @navbar-padding-horizontal;\n }\n}\n\n\n// Component alignment\n//\n// Repurpose the pull utilities as their own navbar utilities to avoid specificity\n// issues with parents and chaining. Only do this when the navbar is uncollapsed\n// though so that navbar contents properly stack and align in mobile.\n//\n// Declared after the navbar components to ensure more specificity on the margins.\n\n@media (min-width: @grid-float-breakpoint) {\n .navbar-left { .pull-left(); }\n .navbar-right {\n .pull-right();\n margin-right: -@navbar-padding-horizontal;\n\n ~ .navbar-right {\n margin-right: 0;\n }\n }\n}\n\n\n// Alternate navbars\n// --------------------------------------------------\n\n// Default navbar\n.navbar-default {\n background-color: @navbar-default-bg;\n border-color: @navbar-default-border;\n\n .navbar-brand {\n color: @navbar-default-brand-color;\n &:hover,\n &:focus {\n color: @navbar-default-brand-hover-color;\n background-color: @navbar-default-brand-hover-bg;\n }\n }\n\n .navbar-text {\n color: @navbar-default-color;\n }\n\n .navbar-nav {\n > li > a {\n color: @navbar-default-link-color;\n\n &:hover,\n &:focus {\n color: @navbar-default-link-hover-color;\n background-color: @navbar-default-link-hover-bg;\n }\n }\n > .active > a {\n &,\n &:hover,\n &:focus {\n color: @navbar-default-link-active-color;\n background-color: @navbar-default-link-active-bg;\n }\n }\n > .disabled > a {\n &,\n &:hover,\n &:focus {\n color: @navbar-default-link-disabled-color;\n background-color: @navbar-default-link-disabled-bg;\n }\n }\n }\n\n .navbar-toggle {\n border-color: @navbar-default-toggle-border-color;\n &:hover,\n &:focus {\n background-color: @navbar-default-toggle-hover-bg;\n }\n .icon-bar {\n background-color: @navbar-default-toggle-icon-bar-bg;\n }\n }\n\n .navbar-collapse,\n .navbar-form {\n border-color: @navbar-default-border;\n }\n\n // Dropdown menu items\n .navbar-nav {\n // Remove background color from open dropdown\n > .open > a {\n &,\n &:hover,\n &:focus {\n background-color: @navbar-default-link-active-bg;\n color: @navbar-default-link-active-color;\n }\n }\n\n @media (max-width: @grid-float-breakpoint-max) {\n // Dropdowns get custom display when collapsed\n .open .dropdown-menu {\n > li > a {\n color: @navbar-default-link-color;\n &:hover,\n &:focus {\n color: @navbar-default-link-hover-color;\n background-color: @navbar-default-link-hover-bg;\n }\n }\n > .active > a {\n &,\n &:hover,\n &:focus {\n color: @navbar-default-link-active-color;\n background-color: @navbar-default-link-active-bg;\n }\n }\n > .disabled > a {\n &,\n &:hover,\n &:focus {\n color: @navbar-default-link-disabled-color;\n background-color: @navbar-default-link-disabled-bg;\n }\n }\n }\n }\n }\n\n\n // Links in navbars\n //\n // Add a class to ensure links outside the navbar nav are colored correctly.\n\n .navbar-link {\n color: @navbar-default-link-color;\n &:hover {\n color: @navbar-default-link-hover-color;\n }\n }\n\n .btn-link {\n color: @navbar-default-link-color;\n &:hover,\n &:focus {\n color: @navbar-default-link-hover-color;\n }\n &[disabled],\n fieldset[disabled] & {\n &:hover,\n &:focus {\n color: @navbar-default-link-disabled-color;\n }\n }\n }\n}\n\n// Inverse navbar\n\n.navbar-inverse {\n background-color: @navbar-inverse-bg;\n border-color: @navbar-inverse-border;\n\n .navbar-brand {\n color: @navbar-inverse-brand-color;\n &:hover,\n &:focus {\n color: @navbar-inverse-brand-hover-color;\n background-color: @navbar-inverse-brand-hover-bg;\n }\n }\n\n .navbar-text {\n color: @navbar-inverse-color;\n }\n\n .navbar-nav {\n > li > a {\n color: @navbar-inverse-link-color;\n\n &:hover,\n &:focus {\n color: @navbar-inverse-link-hover-color;\n background-color: @navbar-inverse-link-hover-bg;\n }\n }\n > .active > a {\n &,\n &:hover,\n &:focus {\n color: @navbar-inverse-link-active-color;\n background-color: @navbar-inverse-link-active-bg;\n }\n }\n > .disabled > a {\n &,\n &:hover,\n &:focus {\n color: @navbar-inverse-link-disabled-color;\n background-color: @navbar-inverse-link-disabled-bg;\n }\n }\n }\n\n // Darken the responsive nav toggle\n .navbar-toggle {\n border-color: @navbar-inverse-toggle-border-color;\n &:hover,\n &:focus {\n background-color: @navbar-inverse-toggle-hover-bg;\n }\n .icon-bar {\n background-color: @navbar-inverse-toggle-icon-bar-bg;\n }\n }\n\n .navbar-collapse,\n .navbar-form {\n border-color: darken(@navbar-inverse-bg, 7%);\n }\n\n // Dropdowns\n .navbar-nav {\n > .open > a {\n &,\n &:hover,\n &:focus {\n background-color: @navbar-inverse-link-active-bg;\n color: @navbar-inverse-link-active-color;\n }\n }\n\n @media (max-width: @grid-float-breakpoint-max) {\n // Dropdowns get custom display\n .open .dropdown-menu {\n > .dropdown-header {\n border-color: @navbar-inverse-border;\n }\n .divider {\n background-color: @navbar-inverse-border;\n }\n > li > a {\n color: @navbar-inverse-link-color;\n &:hover,\n &:focus {\n color: @navbar-inverse-link-hover-color;\n background-color: @navbar-inverse-link-hover-bg;\n }\n }\n > .active > a {\n &,\n &:hover,\n &:focus {\n color: @navbar-inverse-link-active-color;\n background-color: @navbar-inverse-link-active-bg;\n }\n }\n > .disabled > a {\n &,\n &:hover,\n &:focus {\n color: @navbar-inverse-link-disabled-color;\n background-color: @navbar-inverse-link-disabled-bg;\n }\n }\n }\n }\n }\n\n .navbar-link {\n color: @navbar-inverse-link-color;\n &:hover {\n color: @navbar-inverse-link-hover-color;\n }\n }\n\n .btn-link {\n color: @navbar-inverse-link-color;\n &:hover,\n &:focus {\n color: @navbar-inverse-link-hover-color;\n }\n &[disabled],\n fieldset[disabled] & {\n &:hover,\n &:focus {\n color: @navbar-inverse-link-disabled-color;\n }\n }\n }\n}\n","// Navbar vertical align\n//\n// Vertically center elements in the navbar.\n// Example: an element has a height of 30px, so write out `.navbar-vertical-align(30px);` to calculate the appropriate top margin.\n\n.navbar-vertical-align(@element-height) {\n margin-top: ((@navbar-height - @element-height) / 2);\n margin-bottom: ((@navbar-height - @element-height) / 2);\n}\n","//\n// Utility classes\n// --------------------------------------------------\n\n\n// Floats\n// -------------------------\n\n.clearfix {\n .clearfix();\n}\n.center-block {\n .center-block();\n}\n.pull-right {\n float: right !important;\n}\n.pull-left {\n float: left !important;\n}\n\n\n// Toggling content\n// -------------------------\n\n// Note: Deprecated .hide in favor of .hidden or .sr-only (as appropriate) in v3.0.1\n.hide {\n display: none !important;\n}\n.show {\n display: block !important;\n}\n.invisible {\n visibility: hidden;\n}\n.text-hide {\n .text-hide();\n}\n\n\n// Hide from screenreaders and browsers\n//\n// Credit: HTML5 Boilerplate\n\n.hidden {\n display: none !important;\n}\n\n\n// For Affix plugin\n// -------------------------\n\n.affix {\n position: fixed;\n}\n","//\n// Breadcrumbs\n// --------------------------------------------------\n\n\n.breadcrumb {\n padding: @breadcrumb-padding-vertical @breadcrumb-padding-horizontal;\n margin-bottom: @line-height-computed;\n list-style: none;\n background-color: @breadcrumb-bg;\n border-radius: @border-radius-base;\n\n > li {\n display: inline-block;\n\n + li:before {\n content: \"@{breadcrumb-separator}\\00a0\"; // Unicode space added since inline-block means non-collapsing white-space\n padding: 0 5px;\n color: @breadcrumb-color;\n }\n }\n\n > .active {\n color: @breadcrumb-active-color;\n }\n}\n","//\n// Pagination (multiple pages)\n// --------------------------------------------------\n.pagination {\n display: inline-block;\n padding-left: 0;\n margin: @line-height-computed 0;\n border-radius: @border-radius-base;\n\n > li {\n display: inline; // Remove list-style and block-level defaults\n > a,\n > span {\n position: relative;\n float: left; // Collapse white-space\n padding: @padding-base-vertical @padding-base-horizontal;\n line-height: @line-height-base;\n text-decoration: none;\n color: @pagination-color;\n background-color: @pagination-bg;\n border: 1px solid @pagination-border;\n margin-left: -1px;\n }\n &:first-child {\n > a,\n > span {\n margin-left: 0;\n .border-left-radius(@border-radius-base);\n }\n }\n &:last-child {\n > a,\n > span {\n .border-right-radius(@border-radius-base);\n }\n }\n }\n\n > li > a,\n > li > span {\n &:hover,\n &:focus {\n z-index: 2;\n color: @pagination-hover-color;\n background-color: @pagination-hover-bg;\n border-color: @pagination-hover-border;\n }\n }\n\n > .active > a,\n > .active > span {\n &,\n &:hover,\n &:focus {\n z-index: 3;\n color: @pagination-active-color;\n background-color: @pagination-active-bg;\n border-color: @pagination-active-border;\n cursor: default;\n }\n }\n\n > .disabled {\n > span,\n > span:hover,\n > span:focus,\n > a,\n > a:hover,\n > a:focus {\n color: @pagination-disabled-color;\n background-color: @pagination-disabled-bg;\n border-color: @pagination-disabled-border;\n cursor: @cursor-disabled;\n }\n }\n}\n\n// Sizing\n// --------------------------------------------------\n\n// Large\n.pagination-lg {\n .pagination-size(@padding-large-vertical; @padding-large-horizontal; @font-size-large; @line-height-large; @border-radius-large);\n}\n\n// Small\n.pagination-sm {\n .pagination-size(@padding-small-vertical; @padding-small-horizontal; @font-size-small; @line-height-small; @border-radius-small);\n}\n","// Pagination\n\n.pagination-size(@padding-vertical; @padding-horizontal; @font-size; @line-height; @border-radius) {\n > li {\n > a,\n > span {\n padding: @padding-vertical @padding-horizontal;\n font-size: @font-size;\n line-height: @line-height;\n }\n &:first-child {\n > a,\n > span {\n .border-left-radius(@border-radius);\n }\n }\n &:last-child {\n > a,\n > span {\n .border-right-radius(@border-radius);\n }\n }\n }\n}\n","//\n// Pager pagination\n// --------------------------------------------------\n\n\n.pager {\n padding-left: 0;\n margin: @line-height-computed 0;\n list-style: none;\n text-align: center;\n &:extend(.clearfix all);\n li {\n display: inline;\n > a,\n > span {\n display: inline-block;\n padding: 5px 14px;\n background-color: @pager-bg;\n border: 1px solid @pager-border;\n border-radius: @pager-border-radius;\n }\n\n > a:hover,\n > a:focus {\n text-decoration: none;\n background-color: @pager-hover-bg;\n }\n }\n\n .next {\n > a,\n > span {\n float: right;\n }\n }\n\n .previous {\n > a,\n > span {\n float: left;\n }\n }\n\n .disabled {\n > a,\n > a:hover,\n > a:focus,\n > span {\n color: @pager-disabled-color;\n background-color: @pager-bg;\n cursor: @cursor-disabled;\n }\n }\n}\n","//\n// Labels\n// --------------------------------------------------\n\n.label {\n display: inline;\n padding: .2em .6em .3em;\n font-size: 75%;\n font-weight: bold;\n line-height: 1;\n color: @label-color;\n text-align: center;\n white-space: nowrap;\n vertical-align: baseline;\n border-radius: .25em;\n\n // Add hover effects, but only for links\n a& {\n &:hover,\n &:focus {\n color: @label-link-hover-color;\n text-decoration: none;\n cursor: pointer;\n }\n }\n\n // Empty labels collapse automatically (not available in IE8)\n &:empty {\n display: none;\n }\n\n // Quick fix for labels in buttons\n .btn & {\n position: relative;\n top: -1px;\n }\n}\n\n// Colors\n// Contextual variations (linked labels get darker on :hover)\n\n.label-default {\n .label-variant(@label-default-bg);\n}\n\n.label-primary {\n .label-variant(@label-primary-bg);\n}\n\n.label-success {\n .label-variant(@label-success-bg);\n}\n\n.label-info {\n .label-variant(@label-info-bg);\n}\n\n.label-warning {\n .label-variant(@label-warning-bg);\n}\n\n.label-danger {\n .label-variant(@label-danger-bg);\n}\n","// Labels\n\n.label-variant(@color) {\n background-color: @color;\n\n &[href] {\n &:hover,\n &:focus {\n background-color: darken(@color, 10%);\n }\n }\n}\n","//\n// Badges\n// --------------------------------------------------\n\n\n// Base class\n.badge {\n display: inline-block;\n min-width: 10px;\n padding: 3px 7px;\n font-size: @font-size-small;\n font-weight: @badge-font-weight;\n color: @badge-color;\n line-height: @badge-line-height;\n vertical-align: middle;\n white-space: nowrap;\n text-align: center;\n background-color: @badge-bg;\n border-radius: @badge-border-radius;\n\n // Empty badges collapse automatically (not available in IE8)\n &:empty {\n display: none;\n }\n\n // Quick fix for badges in buttons\n .btn & {\n position: relative;\n top: -1px;\n }\n\n .btn-xs &,\n .btn-group-xs > .btn & {\n top: 0;\n padding: 1px 5px;\n }\n\n // Hover state, but only for links\n a& {\n &:hover,\n &:focus {\n color: @badge-link-hover-color;\n text-decoration: none;\n cursor: pointer;\n }\n }\n\n // Account for badges in navs\n .list-group-item.active > &,\n .nav-pills > .active > a > & {\n color: @badge-active-color;\n background-color: @badge-active-bg;\n }\n\n .list-group-item > & {\n float: right;\n }\n\n .list-group-item > & + & {\n margin-right: 5px;\n }\n\n .nav-pills > li > a > & {\n margin-left: 3px;\n }\n}\n","//\n// Jumbotron\n// --------------------------------------------------\n\n\n.jumbotron {\n padding-top: @jumbotron-padding;\n padding-bottom: @jumbotron-padding;\n margin-bottom: @jumbotron-padding;\n color: @jumbotron-color;\n background-color: @jumbotron-bg;\n\n h1,\n .h1 {\n color: @jumbotron-heading-color;\n }\n\n p {\n margin-bottom: (@jumbotron-padding / 2);\n font-size: @jumbotron-font-size;\n font-weight: 200;\n }\n\n > hr {\n border-top-color: darken(@jumbotron-bg, 10%);\n }\n\n .container &,\n .container-fluid & {\n border-radius: @border-radius-large; // Only round corners at higher resolutions if contained in a container\n padding-left: (@grid-gutter-width / 2);\n padding-right: (@grid-gutter-width / 2);\n }\n\n .container {\n max-width: 100%;\n }\n\n @media screen and (min-width: @screen-sm-min) {\n padding-top: (@jumbotron-padding * 1.6);\n padding-bottom: (@jumbotron-padding * 1.6);\n\n .container &,\n .container-fluid & {\n padding-left: (@jumbotron-padding * 2);\n padding-right: (@jumbotron-padding * 2);\n }\n\n h1,\n .h1 {\n font-size: @jumbotron-heading-font-size;\n }\n }\n}\n","//\n// Thumbnails\n// --------------------------------------------------\n\n\n// Mixin and adjust the regular image class\n.thumbnail {\n display: block;\n padding: @thumbnail-padding;\n margin-bottom: @line-height-computed;\n line-height: @line-height-base;\n background-color: @thumbnail-bg;\n border: 1px solid @thumbnail-border;\n border-radius: @thumbnail-border-radius;\n .transition(border .2s ease-in-out);\n\n > img,\n a > img {\n &:extend(.img-responsive);\n margin-left: auto;\n margin-right: auto;\n }\n\n // Add a hover state for linked versions only\n a&:hover,\n a&:focus,\n a&.active {\n border-color: @link-color;\n }\n\n // Image captions\n .caption {\n padding: @thumbnail-caption-padding;\n color: @thumbnail-caption-color;\n }\n}\n","//\n// Alerts\n// --------------------------------------------------\n\n\n// Base styles\n// -------------------------\n\n.alert {\n padding: @alert-padding;\n margin-bottom: @line-height-computed;\n border: 1px solid transparent;\n border-radius: @alert-border-radius;\n\n // Headings for larger alerts\n h4 {\n margin-top: 0;\n // Specified for the h4 to prevent conflicts of changing @headings-color\n color: inherit;\n }\n\n // Provide class for links that match alerts\n .alert-link {\n font-weight: @alert-link-font-weight;\n }\n\n // Improve alignment and spacing of inner content\n > p,\n > ul {\n margin-bottom: 0;\n }\n\n > p + p {\n margin-top: 5px;\n }\n}\n\n// Dismissible alerts\n//\n// Expand the right padding and account for the close button's positioning.\n\n.alert-dismissable, // The misspelled .alert-dismissable was deprecated in 3.2.0.\n.alert-dismissible {\n padding-right: (@alert-padding + 20);\n\n // Adjust close link position\n .close {\n position: relative;\n top: -2px;\n right: -21px;\n color: inherit;\n }\n}\n\n// Alternate styles\n//\n// Generate contextual modifier classes for colorizing the alert.\n\n.alert-success {\n .alert-variant(@alert-success-bg; @alert-success-border; @alert-success-text);\n}\n\n.alert-info {\n .alert-variant(@alert-info-bg; @alert-info-border; @alert-info-text);\n}\n\n.alert-warning {\n .alert-variant(@alert-warning-bg; @alert-warning-border; @alert-warning-text);\n}\n\n.alert-danger {\n .alert-variant(@alert-danger-bg; @alert-danger-border; @alert-danger-text);\n}\n","// Alerts\n\n.alert-variant(@background; @border; @text-color) {\n background-color: @background;\n border-color: @border;\n color: @text-color;\n\n hr {\n border-top-color: darken(@border, 5%);\n }\n .alert-link {\n color: darken(@text-color, 10%);\n }\n}\n","//\n// Progress bars\n// --------------------------------------------------\n\n\n// Bar animations\n// -------------------------\n\n// WebKit\n@-webkit-keyframes progress-bar-stripes {\n from { background-position: 40px 0; }\n to { background-position: 0 0; }\n}\n\n// Spec and IE10+\n@keyframes progress-bar-stripes {\n from { background-position: 40px 0; }\n to { background-position: 0 0; }\n}\n\n\n// Bar itself\n// -------------------------\n\n// Outer container\n.progress {\n overflow: hidden;\n height: @line-height-computed;\n margin-bottom: @line-height-computed;\n background-color: @progress-bg;\n border-radius: @progress-border-radius;\n .box-shadow(inset 0 1px 2px rgba(0,0,0,.1));\n}\n\n// Bar of progress\n.progress-bar {\n float: left;\n width: 0%;\n height: 100%;\n font-size: @font-size-small;\n line-height: @line-height-computed;\n color: @progress-bar-color;\n text-align: center;\n background-color: @progress-bar-bg;\n .box-shadow(inset 0 -1px 0 rgba(0,0,0,.15));\n .transition(width .6s ease);\n}\n\n// Striped bars\n//\n// `.progress-striped .progress-bar` is deprecated as of v3.2.0 in favor of the\n// `.progress-bar-striped` class, which you just add to an existing\n// `.progress-bar`.\n.progress-striped .progress-bar,\n.progress-bar-striped {\n #gradient > .striped();\n background-size: 40px 40px;\n}\n\n// Call animation for the active one\n//\n// `.progress.active .progress-bar` is deprecated as of v3.2.0 in favor of the\n// `.progress-bar.active` approach.\n.progress.active .progress-bar,\n.progress-bar.active {\n .animation(progress-bar-stripes 2s linear infinite);\n}\n\n\n// Variations\n// -------------------------\n\n.progress-bar-success {\n .progress-bar-variant(@progress-bar-success-bg);\n}\n\n.progress-bar-info {\n .progress-bar-variant(@progress-bar-info-bg);\n}\n\n.progress-bar-warning {\n .progress-bar-variant(@progress-bar-warning-bg);\n}\n\n.progress-bar-danger {\n .progress-bar-variant(@progress-bar-danger-bg);\n}\n","// Gradients\n\n#gradient {\n\n // Horizontal gradient, from left to right\n //\n // Creates two color stops, start and end, by specifying a color and position for each color stop.\n // Color stops are not available in IE9 and below.\n .horizontal(@start-color: #555; @end-color: #333; @start-percent: 0%; @end-percent: 100%) {\n background-image: -webkit-linear-gradient(left, @start-color @start-percent, @end-color @end-percent); // Safari 5.1-6, Chrome 10+\n background-image: -o-linear-gradient(left, @start-color @start-percent, @end-color @end-percent); // Opera 12\n background-image: linear-gradient(to right, @start-color @start-percent, @end-color @end-percent); // Standard, IE10, Firefox 16+, Opera 12.10+, Safari 7+, Chrome 26+\n background-repeat: repeat-x;\n filter: e(%(\"progid:DXImageTransform.Microsoft.gradient(startColorstr='%d', endColorstr='%d', GradientType=1)\",argb(@start-color),argb(@end-color))); // IE9 and down\n }\n\n // Vertical gradient, from top to bottom\n //\n // Creates two color stops, start and end, by specifying a color and position for each color stop.\n // Color stops are not available in IE9 and below.\n .vertical(@start-color: #555; @end-color: #333; @start-percent: 0%; @end-percent: 100%) {\n background-image: -webkit-linear-gradient(top, @start-color @start-percent, @end-color @end-percent); // Safari 5.1-6, Chrome 10+\n background-image: -o-linear-gradient(top, @start-color @start-percent, @end-color @end-percent); // Opera 12\n background-image: linear-gradient(to bottom, @start-color @start-percent, @end-color @end-percent); // Standard, IE10, Firefox 16+, Opera 12.10+, Safari 7+, Chrome 26+\n background-repeat: repeat-x;\n filter: e(%(\"progid:DXImageTransform.Microsoft.gradient(startColorstr='%d', endColorstr='%d', GradientType=0)\",argb(@start-color),argb(@end-color))); // IE9 and down\n }\n\n .directional(@start-color: #555; @end-color: #333; @deg: 45deg) {\n background-repeat: repeat-x;\n background-image: -webkit-linear-gradient(@deg, @start-color, @end-color); // Safari 5.1-6, Chrome 10+\n background-image: -o-linear-gradient(@deg, @start-color, @end-color); // Opera 12\n background-image: linear-gradient(@deg, @start-color, @end-color); // Standard, IE10, Firefox 16+, Opera 12.10+, Safari 7+, Chrome 26+\n }\n .horizontal-three-colors(@start-color: #00b3ee; @mid-color: #7a43b6; @color-stop: 50%; @end-color: #c3325f) {\n background-image: -webkit-linear-gradient(left, @start-color, @mid-color @color-stop, @end-color);\n background-image: -o-linear-gradient(left, @start-color, @mid-color @color-stop, @end-color);\n background-image: linear-gradient(to right, @start-color, @mid-color @color-stop, @end-color);\n background-repeat: no-repeat;\n filter: e(%(\"progid:DXImageTransform.Microsoft.gradient(startColorstr='%d', endColorstr='%d', GradientType=1)\",argb(@start-color),argb(@end-color))); // IE9 and down, gets no color-stop at all for proper fallback\n }\n .vertical-three-colors(@start-color: #00b3ee; @mid-color: #7a43b6; @color-stop: 50%; @end-color: #c3325f) {\n background-image: -webkit-linear-gradient(@start-color, @mid-color @color-stop, @end-color);\n background-image: -o-linear-gradient(@start-color, @mid-color @color-stop, @end-color);\n background-image: linear-gradient(@start-color, @mid-color @color-stop, @end-color);\n background-repeat: no-repeat;\n filter: e(%(\"progid:DXImageTransform.Microsoft.gradient(startColorstr='%d', endColorstr='%d', GradientType=0)\",argb(@start-color),argb(@end-color))); // IE9 and down, gets no color-stop at all for proper fallback\n }\n .radial(@inner-color: #555; @outer-color: #333) {\n background-image: -webkit-radial-gradient(circle, @inner-color, @outer-color);\n background-image: radial-gradient(circle, @inner-color, @outer-color);\n background-repeat: no-repeat;\n }\n .striped(@color: rgba(255,255,255,.15); @angle: 45deg) {\n background-image: -webkit-linear-gradient(@angle, @color 25%, transparent 25%, transparent 50%, @color 50%, @color 75%, transparent 75%, transparent);\n background-image: -o-linear-gradient(@angle, @color 25%, transparent 25%, transparent 50%, @color 50%, @color 75%, transparent 75%, transparent);\n background-image: linear-gradient(@angle, @color 25%, transparent 25%, transparent 50%, @color 50%, @color 75%, transparent 75%, transparent);\n }\n}\n","// Progress bars\n\n.progress-bar-variant(@color) {\n background-color: @color;\n\n // Deprecated parent class requirement as of v3.2.0\n .progress-striped & {\n #gradient > .striped();\n }\n}\n",".media {\n // Proper spacing between instances of .media\n margin-top: 15px;\n\n &:first-child {\n margin-top: 0;\n }\n}\n\n.media,\n.media-body {\n zoom: 1;\n overflow: hidden;\n}\n\n.media-body {\n width: 10000px;\n}\n\n.media-object {\n display: block;\n\n // Fix collapse in webkit from max-width: 100% and display: table-cell.\n &.img-thumbnail {\n max-width: none;\n }\n}\n\n.media-right,\n.media > .pull-right {\n padding-left: 10px;\n}\n\n.media-left,\n.media > .pull-left {\n padding-right: 10px;\n}\n\n.media-left,\n.media-right,\n.media-body {\n display: table-cell;\n vertical-align: top;\n}\n\n.media-middle {\n vertical-align: middle;\n}\n\n.media-bottom {\n vertical-align: bottom;\n}\n\n// Reset margins on headings for tighter default spacing\n.media-heading {\n margin-top: 0;\n margin-bottom: 5px;\n}\n\n// Media list variation\n//\n// Undo default ul/ol styles\n.media-list {\n padding-left: 0;\n list-style: none;\n}\n","//\n// List groups\n// --------------------------------------------------\n\n\n// Base class\n//\n// Easily usable on <ul>, <ol>, or <div>.\n\n.list-group {\n // No need to set list-style: none; since .list-group-item is block level\n margin-bottom: 20px;\n padding-left: 0; // reset padding because ul and ol\n}\n\n\n// Individual list items\n//\n// Use on `li`s or `div`s within the `.list-group` parent.\n\n.list-group-item {\n position: relative;\n display: block;\n padding: 10px 15px;\n // Place the border on the list items and negative margin up for better styling\n margin-bottom: -1px;\n background-color: @list-group-bg;\n border: 1px solid @list-group-border;\n\n // Round the first and last items\n &:first-child {\n .border-top-radius(@list-group-border-radius);\n }\n &:last-child {\n margin-bottom: 0;\n .border-bottom-radius(@list-group-border-radius);\n }\n}\n\n\n// Interactive list items\n//\n// Use anchor or button elements instead of `li`s or `div`s to create interactive items.\n// Includes an extra `.active` modifier class for showing selected items.\n\na.list-group-item,\nbutton.list-group-item {\n color: @list-group-link-color;\n\n .list-group-item-heading {\n color: @list-group-link-heading-color;\n }\n\n // Hover state\n &:hover,\n &:focus {\n text-decoration: none;\n color: @list-group-link-hover-color;\n background-color: @list-group-hover-bg;\n }\n}\n\nbutton.list-group-item {\n width: 100%;\n text-align: left;\n}\n\n.list-group-item {\n // Disabled state\n &.disabled,\n &.disabled:hover,\n &.disabled:focus {\n background-color: @list-group-disabled-bg;\n color: @list-group-disabled-color;\n cursor: @cursor-disabled;\n\n // Force color to inherit for custom content\n .list-group-item-heading {\n color: inherit;\n }\n .list-group-item-text {\n color: @list-group-disabled-text-color;\n }\n }\n\n // Active class on item itself, not parent\n &.active,\n &.active:hover,\n &.active:focus {\n z-index: 2; // Place active items above their siblings for proper border styling\n color: @list-group-active-color;\n background-color: @list-group-active-bg;\n border-color: @list-group-active-border;\n\n // Force color to inherit for custom content\n .list-group-item-heading,\n .list-group-item-heading > small,\n .list-group-item-heading > .small {\n color: inherit;\n }\n .list-group-item-text {\n color: @list-group-active-text-color;\n }\n }\n}\n\n\n// Contextual variants\n//\n// Add modifier classes to change text and background color on individual items.\n// Organizationally, this must come after the `:hover` states.\n\n.list-group-item-variant(success; @state-success-bg; @state-success-text);\n.list-group-item-variant(info; @state-info-bg; @state-info-text);\n.list-group-item-variant(warning; @state-warning-bg; @state-warning-text);\n.list-group-item-variant(danger; @state-danger-bg; @state-danger-text);\n\n\n// Custom content options\n//\n// Extra classes for creating well-formatted content within `.list-group-item`s.\n\n.list-group-item-heading {\n margin-top: 0;\n margin-bottom: 5px;\n}\n.list-group-item-text {\n margin-bottom: 0;\n line-height: 1.3;\n}\n","// List Groups\n\n.list-group-item-variant(@state; @background; @color) {\n .list-group-item-@{state} {\n color: @color;\n background-color: @background;\n\n a&,\n button& {\n color: @color;\n\n .list-group-item-heading {\n color: inherit;\n }\n\n &:hover,\n &:focus {\n color: @color;\n background-color: darken(@background, 5%);\n }\n &.active,\n &.active:hover,\n &.active:focus {\n color: #fff;\n background-color: @color;\n border-color: @color;\n }\n }\n }\n}\n","//\n// Panels\n// --------------------------------------------------\n\n\n// Base class\n.panel {\n margin-bottom: @line-height-computed;\n background-color: @panel-bg;\n border: 1px solid transparent;\n border-radius: @panel-border-radius;\n .box-shadow(0 1px 1px rgba(0,0,0,.05));\n}\n\n// Panel contents\n.panel-body {\n padding: @panel-body-padding;\n &:extend(.clearfix all);\n}\n\n// Optional heading\n.panel-heading {\n padding: @panel-heading-padding;\n border-bottom: 1px solid transparent;\n .border-top-radius((@panel-border-radius - 1));\n\n > .dropdown .dropdown-toggle {\n color: inherit;\n }\n}\n\n// Within heading, strip any `h*` tag of its default margins for spacing.\n.panel-title {\n margin-top: 0;\n margin-bottom: 0;\n font-size: ceil((@font-size-base * 1.125));\n color: inherit;\n\n > a,\n > small,\n > .small,\n > small > a,\n > .small > a {\n color: inherit;\n }\n}\n\n// Optional footer (stays gray in every modifier class)\n.panel-footer {\n padding: @panel-footer-padding;\n background-color: @panel-footer-bg;\n border-top: 1px solid @panel-inner-border;\n .border-bottom-radius((@panel-border-radius - 1));\n}\n\n\n// List groups in panels\n//\n// By default, space out list group content from panel headings to account for\n// any kind of custom content between the two.\n\n.panel {\n > .list-group,\n > .panel-collapse > .list-group {\n margin-bottom: 0;\n\n .list-group-item {\n border-width: 1px 0;\n border-radius: 0;\n }\n\n // Add border top radius for first one\n &:first-child {\n .list-group-item:first-child {\n border-top: 0;\n .border-top-radius((@panel-border-radius - 1));\n }\n }\n\n // Add border bottom radius for last one\n &:last-child {\n .list-group-item:last-child {\n border-bottom: 0;\n .border-bottom-radius((@panel-border-radius - 1));\n }\n }\n }\n > .panel-heading + .panel-collapse > .list-group {\n .list-group-item:first-child {\n .border-top-radius(0);\n }\n }\n}\n// Collapse space between when there's no additional content.\n.panel-heading + .list-group {\n .list-group-item:first-child {\n border-top-width: 0;\n }\n}\n.list-group + .panel-footer {\n border-top-width: 0;\n}\n\n// Tables in panels\n//\n// Place a non-bordered `.table` within a panel (not within a `.panel-body`) and\n// watch it go full width.\n\n.panel {\n > .table,\n > .table-responsive > .table,\n > .panel-collapse > .table {\n margin-bottom: 0;\n\n caption {\n padding-left: @panel-body-padding;\n padding-right: @panel-body-padding;\n }\n }\n // Add border top radius for first one\n > .table:first-child,\n > .table-responsive:first-child > .table:first-child {\n .border-top-radius((@panel-border-radius - 1));\n\n > thead:first-child,\n > tbody:first-child {\n > tr:first-child {\n border-top-left-radius: (@panel-border-radius - 1);\n border-top-right-radius: (@panel-border-radius - 1);\n\n td:first-child,\n th:first-child {\n border-top-left-radius: (@panel-border-radius - 1);\n }\n td:last-child,\n th:last-child {\n border-top-right-radius: (@panel-border-radius - 1);\n }\n }\n }\n }\n // Add border bottom radius for last one\n > .table:last-child,\n > .table-responsive:last-child > .table:last-child {\n .border-bottom-radius((@panel-border-radius - 1));\n\n > tbody:last-child,\n > tfoot:last-child {\n > tr:last-child {\n border-bottom-left-radius: (@panel-border-radius - 1);\n border-bottom-right-radius: (@panel-border-radius - 1);\n\n td:first-child,\n th:first-child {\n border-bottom-left-radius: (@panel-border-radius - 1);\n }\n td:last-child,\n th:last-child {\n border-bottom-right-radius: (@panel-border-radius - 1);\n }\n }\n }\n }\n > .panel-body + .table,\n > .panel-body + .table-responsive,\n > .table + .panel-body,\n > .table-responsive + .panel-body {\n border-top: 1px solid @table-border-color;\n }\n > .table > tbody:first-child > tr:first-child th,\n > .table > tbody:first-child > tr:first-child td {\n border-top: 0;\n }\n > .table-bordered,\n > .table-responsive > .table-bordered {\n border: 0;\n > thead,\n > tbody,\n > tfoot {\n > tr {\n > th:first-child,\n > td:first-child {\n border-left: 0;\n }\n > th:last-child,\n > td:last-child {\n border-right: 0;\n }\n }\n }\n > thead,\n > tbody {\n > tr:first-child {\n > td,\n > th {\n border-bottom: 0;\n }\n }\n }\n > tbody,\n > tfoot {\n > tr:last-child {\n > td,\n > th {\n border-bottom: 0;\n }\n }\n }\n }\n > .table-responsive {\n border: 0;\n margin-bottom: 0;\n }\n}\n\n\n// Collapsible panels (aka, accordion)\n//\n// Wrap a series of panels in `.panel-group` to turn them into an accordion with\n// the help of our collapse JavaScript plugin.\n\n.panel-group {\n margin-bottom: @line-height-computed;\n\n // Tighten up margin so it's only between panels\n .panel {\n margin-bottom: 0;\n border-radius: @panel-border-radius;\n\n + .panel {\n margin-top: 5px;\n }\n }\n\n .panel-heading {\n border-bottom: 0;\n\n + .panel-collapse > .panel-body,\n + .panel-collapse > .list-group {\n border-top: 1px solid @panel-inner-border;\n }\n }\n\n .panel-footer {\n border-top: 0;\n + .panel-collapse .panel-body {\n border-bottom: 1px solid @panel-inner-border;\n }\n }\n}\n\n\n// Contextual variations\n.panel-default {\n .panel-variant(@panel-default-border; @panel-default-text; @panel-default-heading-bg; @panel-default-border);\n}\n.panel-primary {\n .panel-variant(@panel-primary-border; @panel-primary-text; @panel-primary-heading-bg; @panel-primary-border);\n}\n.panel-success {\n .panel-variant(@panel-success-border; @panel-success-text; @panel-success-heading-bg; @panel-success-border);\n}\n.panel-info {\n .panel-variant(@panel-info-border; @panel-info-text; @panel-info-heading-bg; @panel-info-border);\n}\n.panel-warning {\n .panel-variant(@panel-warning-border; @panel-warning-text; @panel-warning-heading-bg; @panel-warning-border);\n}\n.panel-danger {\n .panel-variant(@panel-danger-border; @panel-danger-text; @panel-danger-heading-bg; @panel-danger-border);\n}\n","// Panels\n\n.panel-variant(@border; @heading-text-color; @heading-bg-color; @heading-border) {\n border-color: @border;\n\n & > .panel-heading {\n color: @heading-text-color;\n background-color: @heading-bg-color;\n border-color: @heading-border;\n\n + .panel-collapse > .panel-body {\n border-top-color: @border;\n }\n .badge {\n color: @heading-bg-color;\n background-color: @heading-text-color;\n }\n }\n & > .panel-footer {\n + .panel-collapse > .panel-body {\n border-bottom-color: @border;\n }\n }\n}\n","// Embeds responsive\n//\n// Credit: Nicolas Gallagher and SUIT CSS.\n\n.embed-responsive {\n position: relative;\n display: block;\n height: 0;\n padding: 0;\n overflow: hidden;\n\n .embed-responsive-item,\n iframe,\n embed,\n object,\n video {\n position: absolute;\n top: 0;\n left: 0;\n bottom: 0;\n height: 100%;\n width: 100%;\n border: 0;\n }\n}\n\n// Modifier class for 16:9 aspect ratio\n.embed-responsive-16by9 {\n padding-bottom: 56.25%;\n}\n\n// Modifier class for 4:3 aspect ratio\n.embed-responsive-4by3 {\n padding-bottom: 75%;\n}\n","//\n// Wells\n// --------------------------------------------------\n\n\n// Base class\n.well {\n min-height: 20px;\n padding: 19px;\n margin-bottom: 20px;\n background-color: @well-bg;\n border: 1px solid @well-border;\n border-radius: @border-radius-base;\n .box-shadow(inset 0 1px 1px rgba(0,0,0,.05));\n blockquote {\n border-color: #ddd;\n border-color: rgba(0,0,0,.15);\n }\n}\n\n// Sizes\n.well-lg {\n padding: 24px;\n border-radius: @border-radius-large;\n}\n.well-sm {\n padding: 9px;\n border-radius: @border-radius-small;\n}\n","//\n// Close icons\n// --------------------------------------------------\n\n\n.close {\n float: right;\n font-size: (@font-size-base * 1.5);\n font-weight: @close-font-weight;\n line-height: 1;\n color: @close-color;\n text-shadow: @close-text-shadow;\n .opacity(.2);\n\n &:hover,\n &:focus {\n color: @close-color;\n text-decoration: none;\n cursor: pointer;\n .opacity(.5);\n }\n\n // Additional properties for button version\n // iOS requires the button element instead of an anchor tag.\n // If you want the anchor version, it requires `href=\"#\"`.\n // See https://developer.mozilla.org/en-US/docs/Web/Events/click#Safari_Mobile\n button& {\n padding: 0;\n cursor: pointer;\n background: transparent;\n border: 0;\n -webkit-appearance: none;\n }\n}\n","//\n// Modals\n// --------------------------------------------------\n\n// .modal-open - body class for killing the scroll\n// .modal - container to scroll within\n// .modal-dialog - positioning shell for the actual modal\n// .modal-content - actual modal w/ bg and corners and shit\n\n// Kill the scroll on the body\n.modal-open {\n overflow: hidden;\n}\n\n// Container that the modal scrolls within\n.modal {\n display: none;\n overflow: hidden;\n position: fixed;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: @zindex-modal;\n -webkit-overflow-scrolling: touch;\n\n // Prevent Chrome on Windows from adding a focus outline. For details, see\n // https://github.com/twbs/bootstrap/pull/10951.\n outline: 0;\n\n // When fading in the modal, animate it to slide down\n &.fade .modal-dialog {\n .translate(0, -25%);\n .transition-transform(~\"0.3s ease-out\");\n }\n &.in .modal-dialog { .translate(0, 0) }\n}\n.modal-open .modal {\n overflow-x: hidden;\n overflow-y: auto;\n}\n\n// Shell div to position the modal with bottom padding\n.modal-dialog {\n position: relative;\n width: auto;\n margin: 10px;\n}\n\n// Actual modal\n.modal-content {\n position: relative;\n background-color: @modal-content-bg;\n border: 1px solid @modal-content-fallback-border-color; //old browsers fallback (ie8 etc)\n border: 1px solid @modal-content-border-color;\n border-radius: @border-radius-large;\n .box-shadow(0 3px 9px rgba(0,0,0,.5));\n background-clip: padding-box;\n // Remove focus outline from opened modal\n outline: 0;\n}\n\n// Modal background\n.modal-backdrop {\n position: fixed;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: @zindex-modal-background;\n background-color: @modal-backdrop-bg;\n // Fade for backdrop\n &.fade { .opacity(0); }\n &.in { .opacity(@modal-backdrop-opacity); }\n}\n\n// Modal header\n// Top section of the modal w/ title and dismiss\n.modal-header {\n padding: @modal-title-padding;\n border-bottom: 1px solid @modal-header-border-color;\n &:extend(.clearfix all);\n}\n// Close icon\n.modal-header .close {\n margin-top: -2px;\n}\n\n// Title text within header\n.modal-title {\n margin: 0;\n line-height: @modal-title-line-height;\n}\n\n// Modal body\n// Where all modal content resides (sibling of .modal-header and .modal-footer)\n.modal-body {\n position: relative;\n padding: @modal-inner-padding;\n}\n\n// Footer (for actions)\n.modal-footer {\n padding: @modal-inner-padding;\n text-align: right; // right align buttons\n border-top: 1px solid @modal-footer-border-color;\n &:extend(.clearfix all); // clear it in case folks use .pull-* classes on buttons\n\n // Properly space out buttons\n .btn + .btn {\n margin-left: 5px;\n margin-bottom: 0; // account for input[type=\"submit\"] which gets the bottom margin like all other inputs\n }\n // but override that for button groups\n .btn-group .btn + .btn {\n margin-left: -1px;\n }\n // and override it for block buttons as well\n .btn-block + .btn-block {\n margin-left: 0;\n }\n}\n\n// Measure scrollbar width for padding body during modal show/hide\n.modal-scrollbar-measure {\n position: absolute;\n top: -9999px;\n width: 50px;\n height: 50px;\n overflow: scroll;\n}\n\n// Scale up the modal\n@media (min-width: @screen-sm-min) {\n // Automatically set modal's width for larger viewports\n .modal-dialog {\n width: @modal-md;\n margin: 30px auto;\n }\n .modal-content {\n .box-shadow(0 5px 15px rgba(0,0,0,.5));\n }\n\n // Modal sizes\n .modal-sm { width: @modal-sm; }\n}\n\n@media (min-width: @screen-md-min) {\n .modal-lg { width: @modal-lg; }\n}\n","//\n// Tooltips\n// --------------------------------------------------\n\n\n// Base class\n.tooltip {\n position: absolute;\n z-index: @zindex-tooltip;\n display: block;\n // Our parent element can be arbitrary since tooltips are by default inserted as a sibling of their target element.\n // So reset our font and text properties to avoid inheriting weird values.\n .reset-text();\n font-size: @font-size-small;\n\n .opacity(0);\n\n &.in { .opacity(@tooltip-opacity); }\n &.top { margin-top: -3px; padding: @tooltip-arrow-width 0; }\n &.right { margin-left: 3px; padding: 0 @tooltip-arrow-width; }\n &.bottom { margin-top: 3px; padding: @tooltip-arrow-width 0; }\n &.left { margin-left: -3px; padding: 0 @tooltip-arrow-width; }\n}\n\n// Wrapper for the tooltip content\n.tooltip-inner {\n max-width: @tooltip-max-width;\n padding: 3px 8px;\n color: @tooltip-color;\n text-align: center;\n background-color: @tooltip-bg;\n border-radius: @border-radius-base;\n}\n\n// Arrows\n.tooltip-arrow {\n position: absolute;\n width: 0;\n height: 0;\n border-color: transparent;\n border-style: solid;\n}\n// Note: Deprecated .top-left, .top-right, .bottom-left, and .bottom-right as of v3.3.1\n.tooltip {\n &.top .tooltip-arrow {\n bottom: 0;\n left: 50%;\n margin-left: -@tooltip-arrow-width;\n border-width: @tooltip-arrow-width @tooltip-arrow-width 0;\n border-top-color: @tooltip-arrow-color;\n }\n &.top-left .tooltip-arrow {\n bottom: 0;\n right: @tooltip-arrow-width;\n margin-bottom: -@tooltip-arrow-width;\n border-width: @tooltip-arrow-width @tooltip-arrow-width 0;\n border-top-color: @tooltip-arrow-color;\n }\n &.top-right .tooltip-arrow {\n bottom: 0;\n left: @tooltip-arrow-width;\n margin-bottom: -@tooltip-arrow-width;\n border-width: @tooltip-arrow-width @tooltip-arrow-width 0;\n border-top-color: @tooltip-arrow-color;\n }\n &.right .tooltip-arrow {\n top: 50%;\n left: 0;\n margin-top: -@tooltip-arrow-width;\n border-width: @tooltip-arrow-width @tooltip-arrow-width @tooltip-arrow-width 0;\n border-right-color: @tooltip-arrow-color;\n }\n &.left .tooltip-arrow {\n top: 50%;\n right: 0;\n margin-top: -@tooltip-arrow-width;\n border-width: @tooltip-arrow-width 0 @tooltip-arrow-width @tooltip-arrow-width;\n border-left-color: @tooltip-arrow-color;\n }\n &.bottom .tooltip-arrow {\n top: 0;\n left: 50%;\n margin-left: -@tooltip-arrow-width;\n border-width: 0 @tooltip-arrow-width @tooltip-arrow-width;\n border-bottom-color: @tooltip-arrow-color;\n }\n &.bottom-left .tooltip-arrow {\n top: 0;\n right: @tooltip-arrow-width;\n margin-top: -@tooltip-arrow-width;\n border-width: 0 @tooltip-arrow-width @tooltip-arrow-width;\n border-bottom-color: @tooltip-arrow-color;\n }\n &.bottom-right .tooltip-arrow {\n top: 0;\n left: @tooltip-arrow-width;\n margin-top: -@tooltip-arrow-width;\n border-width: 0 @tooltip-arrow-width @tooltip-arrow-width;\n border-bottom-color: @tooltip-arrow-color;\n }\n}\n",".reset-text() {\n font-family: @font-family-base;\n // We deliberately do NOT reset font-size.\n font-style: normal;\n font-weight: normal;\n letter-spacing: normal;\n line-break: auto;\n line-height: @line-height-base;\n text-align: left; // Fallback for where `start` is not supported\n text-align: start;\n text-decoration: none;\n text-shadow: none;\n text-transform: none;\n white-space: normal;\n word-break: normal;\n word-spacing: normal;\n word-wrap: normal;\n}\n","//\n// Popovers\n// --------------------------------------------------\n\n\n.popover {\n position: absolute;\n top: 0;\n left: 0;\n z-index: @zindex-popover;\n display: none;\n max-width: @popover-max-width;\n padding: 1px;\n // Our parent element can be arbitrary since popovers are by default inserted as a sibling of their target element.\n // So reset our font and text properties to avoid inheriting weird values.\n .reset-text();\n font-size: @font-size-base;\n\n background-color: @popover-bg;\n background-clip: padding-box;\n border: 1px solid @popover-fallback-border-color;\n border: 1px solid @popover-border-color;\n border-radius: @border-radius-large;\n .box-shadow(0 5px 10px rgba(0,0,0,.2));\n\n // Offset the popover to account for the popover arrow\n &.top { margin-top: -@popover-arrow-width; }\n &.right { margin-left: @popover-arrow-width; }\n &.bottom { margin-top: @popover-arrow-width; }\n &.left { margin-left: -@popover-arrow-width; }\n}\n\n.popover-title {\n margin: 0; // reset heading margin\n padding: 8px 14px;\n font-size: @font-size-base;\n background-color: @popover-title-bg;\n border-bottom: 1px solid darken(@popover-title-bg, 5%);\n border-radius: (@border-radius-large - 1) (@border-radius-large - 1) 0 0;\n}\n\n.popover-content {\n padding: 9px 14px;\n}\n\n// Arrows\n//\n// .arrow is outer, .arrow:after is inner\n\n.popover > .arrow {\n &,\n &:after {\n position: absolute;\n display: block;\n width: 0;\n height: 0;\n border-color: transparent;\n border-style: solid;\n }\n}\n.popover > .arrow {\n border-width: @popover-arrow-outer-width;\n}\n.popover > .arrow:after {\n border-width: @popover-arrow-width;\n content: \"\";\n}\n\n.popover {\n &.top > .arrow {\n left: 50%;\n margin-left: -@popover-arrow-outer-width;\n border-bottom-width: 0;\n border-top-color: @popover-arrow-outer-fallback-color; // IE8 fallback\n border-top-color: @popover-arrow-outer-color;\n bottom: -@popover-arrow-outer-width;\n &:after {\n content: \" \";\n bottom: 1px;\n margin-left: -@popover-arrow-width;\n border-bottom-width: 0;\n border-top-color: @popover-arrow-color;\n }\n }\n &.right > .arrow {\n top: 50%;\n left: -@popover-arrow-outer-width;\n margin-top: -@popover-arrow-outer-width;\n border-left-width: 0;\n border-right-color: @popover-arrow-outer-fallback-color; // IE8 fallback\n border-right-color: @popover-arrow-outer-color;\n &:after {\n content: \" \";\n left: 1px;\n bottom: -@popover-arrow-width;\n border-left-width: 0;\n border-right-color: @popover-arrow-color;\n }\n }\n &.bottom > .arrow {\n left: 50%;\n margin-left: -@popover-arrow-outer-width;\n border-top-width: 0;\n border-bottom-color: @popover-arrow-outer-fallback-color; // IE8 fallback\n border-bottom-color: @popover-arrow-outer-color;\n top: -@popover-arrow-outer-width;\n &:after {\n content: \" \";\n top: 1px;\n margin-left: -@popover-arrow-width;\n border-top-width: 0;\n border-bottom-color: @popover-arrow-color;\n }\n }\n\n &.left > .arrow {\n top: 50%;\n right: -@popover-arrow-outer-width;\n margin-top: -@popover-arrow-outer-width;\n border-right-width: 0;\n border-left-color: @popover-arrow-outer-fallback-color; // IE8 fallback\n border-left-color: @popover-arrow-outer-color;\n &:after {\n content: \" \";\n right: 1px;\n border-right-width: 0;\n border-left-color: @popover-arrow-color;\n bottom: -@popover-arrow-width;\n }\n }\n}\n","//\n// Carousel\n// --------------------------------------------------\n\n\n// Wrapper for the slide container and indicators\n.carousel {\n position: relative;\n}\n\n.carousel-inner {\n position: relative;\n overflow: hidden;\n width: 100%;\n\n > .item {\n display: none;\n position: relative;\n .transition(.6s ease-in-out left);\n\n // Account for jankitude on images\n > img,\n > a > img {\n &:extend(.img-responsive);\n line-height: 1;\n }\n\n // WebKit CSS3 transforms for supported devices\n @media all and (transform-3d), (-webkit-transform-3d) {\n .transition-transform(~'0.6s ease-in-out');\n .backface-visibility(~'hidden');\n .perspective(1000px);\n\n &.next,\n &.active.right {\n .translate3d(100%, 0, 0);\n left: 0;\n }\n &.prev,\n &.active.left {\n .translate3d(-100%, 0, 0);\n left: 0;\n }\n &.next.left,\n &.prev.right,\n &.active {\n .translate3d(0, 0, 0);\n left: 0;\n }\n }\n }\n\n > .active,\n > .next,\n > .prev {\n display: block;\n }\n\n > .active {\n left: 0;\n }\n\n > .next,\n > .prev {\n position: absolute;\n top: 0;\n width: 100%;\n }\n\n > .next {\n left: 100%;\n }\n > .prev {\n left: -100%;\n }\n > .next.left,\n > .prev.right {\n left: 0;\n }\n\n > .active.left {\n left: -100%;\n }\n > .active.right {\n left: 100%;\n }\n\n}\n\n// Left/right controls for nav\n// ---------------------------\n\n.carousel-control {\n position: absolute;\n top: 0;\n left: 0;\n bottom: 0;\n width: @carousel-control-width;\n .opacity(@carousel-control-opacity);\n font-size: @carousel-control-font-size;\n color: @carousel-control-color;\n text-align: center;\n text-shadow: @carousel-text-shadow;\n background-color: rgba(0, 0, 0, 0); // Fix IE9 click-thru bug\n // We can't have this transition here because WebKit cancels the carousel\n // animation if you trip this while in the middle of another animation.\n\n // Set gradients for backgrounds\n &.left {\n #gradient > .horizontal(@start-color: rgba(0,0,0,.5); @end-color: rgba(0,0,0,.0001));\n }\n &.right {\n left: auto;\n right: 0;\n #gradient > .horizontal(@start-color: rgba(0,0,0,.0001); @end-color: rgba(0,0,0,.5));\n }\n\n // Hover/focus state\n &:hover,\n &:focus {\n outline: 0;\n color: @carousel-control-color;\n text-decoration: none;\n .opacity(.9);\n }\n\n // Toggles\n .icon-prev,\n .icon-next,\n .glyphicon-chevron-left,\n .glyphicon-chevron-right {\n position: absolute;\n top: 50%;\n margin-top: -10px;\n z-index: 5;\n display: inline-block;\n }\n .icon-prev,\n .glyphicon-chevron-left {\n left: 50%;\n margin-left: -10px;\n }\n .icon-next,\n .glyphicon-chevron-right {\n right: 50%;\n margin-right: -10px;\n }\n .icon-prev,\n .icon-next {\n width: 20px;\n height: 20px;\n line-height: 1;\n font-family: serif;\n }\n\n\n .icon-prev {\n &:before {\n content: '\\2039';// SINGLE LEFT-POINTING ANGLE QUOTATION MARK (U+2039)\n }\n }\n .icon-next {\n &:before {\n content: '\\203a';// SINGLE RIGHT-POINTING ANGLE QUOTATION MARK (U+203A)\n }\n }\n}\n\n// Optional indicator pips\n//\n// Add an unordered list with the following class and add a list item for each\n// slide your carousel holds.\n\n.carousel-indicators {\n position: absolute;\n bottom: 10px;\n left: 50%;\n z-index: 15;\n width: 60%;\n margin-left: -30%;\n padding-left: 0;\n list-style: none;\n text-align: center;\n\n li {\n display: inline-block;\n width: 10px;\n height: 10px;\n margin: 1px;\n text-indent: -999px;\n border: 1px solid @carousel-indicator-border-color;\n border-radius: 10px;\n cursor: pointer;\n\n // IE8-9 hack for event handling\n //\n // Internet Explorer 8-9 does not support clicks on elements without a set\n // `background-color`. We cannot use `filter` since that's not viewed as a\n // background color by the browser. Thus, a hack is needed.\n // See https://developer.mozilla.org/en-US/docs/Web/Events/click#Internet_Explorer\n //\n // For IE8, we set solid black as it doesn't support `rgba()`. For IE9, we\n // set alpha transparency for the best results possible.\n background-color: #000 \\9; // IE8\n background-color: rgba(0,0,0,0); // IE9\n }\n .active {\n margin: 0;\n width: 12px;\n height: 12px;\n background-color: @carousel-indicator-active-bg;\n }\n}\n\n// Optional captions\n// -----------------------------\n// Hidden by default for smaller viewports\n.carousel-caption {\n position: absolute;\n left: 15%;\n right: 15%;\n bottom: 20px;\n z-index: 10;\n padding-top: 20px;\n padding-bottom: 20px;\n color: @carousel-caption-color;\n text-align: center;\n text-shadow: @carousel-text-shadow;\n & .btn {\n text-shadow: none; // No shadow for button elements in carousel-caption\n }\n}\n\n\n// Scale up controls for tablets and up\n@media screen and (min-width: @screen-sm-min) {\n\n // Scale up the controls a smidge\n .carousel-control {\n .glyphicon-chevron-left,\n .glyphicon-chevron-right,\n .icon-prev,\n .icon-next {\n width: (@carousel-control-font-size * 1.5);\n height: (@carousel-control-font-size * 1.5);\n margin-top: (@carousel-control-font-size / -2);\n font-size: (@carousel-control-font-size * 1.5);\n }\n .glyphicon-chevron-left,\n .icon-prev {\n margin-left: (@carousel-control-font-size / -2);\n }\n .glyphicon-chevron-right,\n .icon-next {\n margin-right: (@carousel-control-font-size / -2);\n }\n }\n\n // Show and left align the captions\n .carousel-caption {\n left: 20%;\n right: 20%;\n padding-bottom: 30px;\n }\n\n // Move up the indicators\n .carousel-indicators {\n bottom: 20px;\n }\n}\n","// Clearfix\n//\n// For modern browsers\n// 1. The space content is one way to avoid an Opera bug when the\n// contenteditable attribute is included anywhere else in the document.\n// Otherwise it causes space to appear at the top and bottom of elements\n// that are clearfixed.\n// 2. The use of `table` rather than `block` is only necessary if using\n// `:before` to contain the top-margins of child elements.\n//\n// Source: http://nicolasgallagher.com/micro-clearfix-hack/\n\n.clearfix() {\n &:before,\n &:after {\n content: \" \"; // 1\n display: table; // 2\n }\n &:after {\n clear: both;\n }\n}\n","// Center-align a block level element\n\n.center-block() {\n display: block;\n margin-left: auto;\n margin-right: auto;\n}\n","// CSS image replacement\n//\n// Heads up! v3 launched with only `.hide-text()`, but per our pattern for\n// mixins being reused as classes with the same name, this doesn't hold up. As\n// of v3.0.1 we have added `.text-hide()` and deprecated `.hide-text()`.\n//\n// Source: https://github.com/h5bp/html5-boilerplate/commit/aa0396eae757\n\n// Deprecated as of v3.0.1 (has been removed in v4)\n.hide-text() {\n font: ~\"0/0\" a;\n color: transparent;\n text-shadow: none;\n background-color: transparent;\n border: 0;\n}\n\n// New mixin to use as of v3.0.1\n.text-hide() {\n .hide-text();\n}\n","//\n// Responsive: Utility classes\n// --------------------------------------------------\n\n\n// IE10 in Windows (Phone) 8\n//\n// Support for responsive views via media queries is kind of borked in IE10, for\n// Surface/desktop in split view and for Windows Phone 8. This particular fix\n// must be accompanied by a snippet of JavaScript to sniff the user agent and\n// apply some conditional CSS to *only* the Surface/desktop Windows 8. Look at\n// our Getting Started page for more information on this bug.\n//\n// For more information, see the following:\n//\n// Issue: https://github.com/twbs/bootstrap/issues/10497\n// Docs: http://getbootstrap.com/getting-started/#support-ie10-width\n// Source: http://timkadlec.com/2013/01/windows-phone-8-and-device-width/\n// Source: http://timkadlec.com/2012/10/ie10-snap-mode-and-responsive-design/\n\n@-ms-viewport {\n width: device-width;\n}\n\n\n// Visibility utilities\n// Note: Deprecated .visible-xs, .visible-sm, .visible-md, and .visible-lg as of v3.2.0\n.visible-xs,\n.visible-sm,\n.visible-md,\n.visible-lg {\n .responsive-invisibility();\n}\n\n.visible-xs-block,\n.visible-xs-inline,\n.visible-xs-inline-block,\n.visible-sm-block,\n.visible-sm-inline,\n.visible-sm-inline-block,\n.visible-md-block,\n.visible-md-inline,\n.visible-md-inline-block,\n.visible-lg-block,\n.visible-lg-inline,\n.visible-lg-inline-block {\n display: none !important;\n}\n\n.visible-xs {\n @media (max-width: @screen-xs-max) {\n .responsive-visibility();\n }\n}\n.visible-xs-block {\n @media (max-width: @screen-xs-max) {\n display: block !important;\n }\n}\n.visible-xs-inline {\n @media (max-width: @screen-xs-max) {\n display: inline !important;\n }\n}\n.visible-xs-inline-block {\n @media (max-width: @screen-xs-max) {\n display: inline-block !important;\n }\n}\n\n.visible-sm {\n @media (min-width: @screen-sm-min) and (max-width: @screen-sm-max) {\n .responsive-visibility();\n }\n}\n.visible-sm-block {\n @media (min-width: @screen-sm-min) and (max-width: @screen-sm-max) {\n display: block !important;\n }\n}\n.visible-sm-inline {\n @media (min-width: @screen-sm-min) and (max-width: @screen-sm-max) {\n display: inline !important;\n }\n}\n.visible-sm-inline-block {\n @media (min-width: @screen-sm-min) and (max-width: @screen-sm-max) {\n display: inline-block !important;\n }\n}\n\n.visible-md {\n @media (min-width: @screen-md-min) and (max-width: @screen-md-max) {\n .responsive-visibility();\n }\n}\n.visible-md-block {\n @media (min-width: @screen-md-min) and (max-width: @screen-md-max) {\n display: block !important;\n }\n}\n.visible-md-inline {\n @media (min-width: @screen-md-min) and (max-width: @screen-md-max) {\n display: inline !important;\n }\n}\n.visible-md-inline-block {\n @media (min-width: @screen-md-min) and (max-width: @screen-md-max) {\n display: inline-block !important;\n }\n}\n\n.visible-lg {\n @media (min-width: @screen-lg-min) {\n .responsive-visibility();\n }\n}\n.visible-lg-block {\n @media (min-width: @screen-lg-min) {\n display: block !important;\n }\n}\n.visible-lg-inline {\n @media (min-width: @screen-lg-min) {\n display: inline !important;\n }\n}\n.visible-lg-inline-block {\n @media (min-width: @screen-lg-min) {\n display: inline-block !important;\n }\n}\n\n.hidden-xs {\n @media (max-width: @screen-xs-max) {\n .responsive-invisibility();\n }\n}\n.hidden-sm {\n @media (min-width: @screen-sm-min) and (max-width: @screen-sm-max) {\n .responsive-invisibility();\n }\n}\n.hidden-md {\n @media (min-width: @screen-md-min) and (max-width: @screen-md-max) {\n .responsive-invisibility();\n }\n}\n.hidden-lg {\n @media (min-width: @screen-lg-min) {\n .responsive-invisibility();\n }\n}\n\n\n// Print utilities\n//\n// Media queries are placed on the inside to be mixin-friendly.\n\n// Note: Deprecated .visible-print as of v3.2.0\n.visible-print {\n .responsive-invisibility();\n\n @media print {\n .responsive-visibility();\n }\n}\n.visible-print-block {\n display: none !important;\n\n @media print {\n display: block !important;\n }\n}\n.visible-print-inline {\n display: none !important;\n\n @media print {\n display: inline !important;\n }\n}\n.visible-print-inline-block {\n display: none !important;\n\n @media print {\n display: inline-block !important;\n }\n}\n\n.hidden-print {\n @media print {\n .responsive-invisibility();\n }\n}\n","// Responsive utilities\n\n//\n// More easily include all the states for responsive-utilities.less.\n.responsive-visibility() {\n display: block !important;\n table& { display: table !important; }\n tr& { display: table-row !important; }\n th&,\n td& { display: table-cell !important; }\n}\n\n.responsive-invisibility() {\n display: none !important;\n}\n"]} \ No newline at end of file
diff --git a/library/foundation/css/foundation.css b/library/foundation/css/foundation.css
index 83a0f3d05..e8e17a974 100644
--- a/library/foundation/css/foundation.css
+++ b/library/foundation/css/foundation.css
@@ -1,83 +1,409 @@
-meta.foundation-version {
- font-family: "/5.5.2/"; }
+@charset "UTF-8";
+/**
+ * Foundation for Sites by ZURB
+ * Version 6.2.3
+ * foundation.zurb.com
+ * Licensed under MIT Open Source
+ */
+/*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */
+/**
+ * 1. Set default font family to sans-serif.
+ * 2. Prevent iOS and IE text size adjust after device orientation change,
+ * without disabling user zoom.
+ */
+html {
+ font-family: sans-serif;
+ /* 1 */
+ -ms-text-size-adjust: 100%;
+ /* 2 */
+ -webkit-text-size-adjust: 100%;
+ /* 2 */ }
+
+/**
+ * Remove default margin.
+ */
+body {
+ margin: 0; }
-meta.foundation-mq-small {
- font-family: "/only screen/";
- width: 0; }
+/* HTML5 display definitions
+ ========================================================================== */
+/**
+ * Correct `block` display not defined for any HTML5 element in IE 8/9.
+ * Correct `block` display not defined for `details` or `summary` in IE 10/11
+ * and Firefox.
+ * Correct `block` display not defined for `main` in IE 11.
+ */
+article,
+aside,
+details,
+figcaption,
+figure,
+footer,
+header,
+hgroup,
+main,
+menu,
+nav,
+section,
+summary {
+ display: block; }
-meta.foundation-mq-small-only {
- font-family: "/only screen and (max-width: 40em)/";
- width: 0; }
+/**
+ * 1. Correct `inline-block` display not defined in IE 8/9.
+ * 2. Normalize vertical alignment of `progress` in Chrome, Firefox, and Opera.
+ */
+audio,
+canvas,
+progress,
+video {
+ display: inline-block;
+ /* 1 */
+ vertical-align: baseline;
+ /* 2 */ }
+
+/**
+ * Prevent modern browsers from displaying `audio` without controls.
+ * Remove excess height in iOS 5 devices.
+ */
+audio:not([controls]) {
+ display: none;
+ height: 0; }
+
+/**
+ * Address `[hidden]` styling not present in IE 8/9/10.
+ * Hide the `template` element in IE 8/9/10/11, Safari, and Firefox < 22.
+ */
+[hidden],
+template {
+ display: none; }
-meta.foundation-mq-medium {
- font-family: "/only screen and (min-width:40.0625em)/";
- width: 40.0625em; }
+/* Links
+ ========================================================================== */
+/**
+ * Remove the gray background color from active links in IE 10.
+ */
+a {
+ background-color: transparent; }
-meta.foundation-mq-medium-only {
- font-family: "/only screen and (min-width:40.0625em) and (max-width:64em)/";
- width: 40.0625em; }
+/**
+ * Improve readability of focused elements when they are also in an
+ * active/hover state.
+ */
+a:active,
+a:hover {
+ outline: 0; }
+
+/* Text-level semantics
+ ========================================================================== */
+/**
+ * Address styling not present in IE 8/9/10/11, Safari, and Chrome.
+ */
+abbr[title] {
+ border-bottom: 1px dotted; }
+
+/**
+ * Address style set to `bolder` in Firefox 4+, Safari, and Chrome.
+ */
+b,
+strong {
+ font-weight: bold; }
-meta.foundation-mq-large {
- font-family: "/only screen and (min-width:64.0625em)/";
- width: 64.0625em; }
+/**
+ * Address styling not present in Safari and Chrome.
+ */
+dfn {
+ font-style: italic; }
-meta.foundation-mq-large-only {
- font-family: "/only screen and (min-width:64.0625em) and (max-width:90em)/";
- width: 64.0625em; }
+/**
+ * Address variable `h1` font-size and margin within `section` and `article`
+ * contexts in Firefox 4+, Safari, and Chrome.
+ */
+h1 {
+ font-size: 2em;
+ margin: 0.67em 0; }
+
+/**
+ * Address styling not present in IE 8/9.
+ */
+mark {
+ background: #ff0;
+ color: #000; }
+
+/**
+ * Address inconsistent and variable font size in all browsers.
+ */
+small {
+ font-size: 80%; }
+
+/**
+ * Prevent `sub` and `sup` affecting `line-height` in all browsers.
+ */
+sub,
+sup {
+ font-size: 75%;
+ line-height: 0;
+ position: relative;
+ vertical-align: baseline; }
-meta.foundation-mq-xlarge {
- font-family: "/only screen and (min-width:90.0625em)/";
- width: 90.0625em; }
+sup {
+ top: -0.5em; }
-meta.foundation-mq-xlarge-only {
- font-family: "/only screen and (min-width:90.0625em) and (max-width:120em)/";
- width: 90.0625em; }
+sub {
+ bottom: -0.25em; }
-meta.foundation-mq-xxlarge {
- font-family: "/only screen and (min-width:120.0625em)/";
- width: 120.0625em; }
+/* Embedded content
+ ========================================================================== */
+/**
+ * Remove border when inside `a` element in IE 8/9/10.
+ */
+img {
+ border: 0; }
-meta.foundation-data-attribute-namespace {
- font-family: false; }
+/**
+ * Correct overflow not hidden in IE 9/10/11.
+ */
+svg:not(:root) {
+ overflow: hidden; }
-html, body {
- height: 100%; }
+/* Grouping content
+ ========================================================================== */
+/**
+ * Address margin not present in IE 8/9 and Safari.
+ */
+figure {
+ margin: 1em 40px; }
+
+/**
+ * Address differences between Firefox and other browsers.
+ */
+hr {
+ -webkit-box-sizing: content-box;
+ box-sizing: content-box;
+ height: 0; }
+
+/**
+ * Contain overflow in all browsers.
+ */
+pre {
+ overflow: auto; }
+
+/**
+ * Address odd `em`-unit font size rendering in all browsers.
+ */
+code,
+kbd,
+pre,
+samp {
+ font-family: monospace, monospace;
+ font-size: 1em; }
+
+/* Forms
+ ========================================================================== */
+/**
+ * Known limitation: by default, Chrome and Safari on OS X allow very limited
+ * styling of `select`, unless a `border` property is set.
+ */
+/**
+ * 1. Correct color not being inherited.
+ * Known issue: affects color of disabled elements.
+ * 2. Correct font properties not being inherited.
+ * 3. Address margins set differently in Firefox 4+, Safari, and Chrome.
+ */
+button,
+input,
+optgroup,
+select,
+textarea {
+ color: inherit;
+ /* 1 */
+ font: inherit;
+ /* 2 */
+ margin: 0;
+ /* 3 */ }
+
+/**
+ * Address `overflow` set to `hidden` in IE 8/9/10/11.
+ */
+button {
+ overflow: visible; }
+
+/**
+ * Address inconsistent `text-transform` inheritance for `button` and `select`.
+ * All other form control elements do not inherit `text-transform` values.
+ * Correct `button` style inheritance in Firefox, IE 8/9/10/11, and Opera.
+ * Correct `select` style inheritance in Firefox.
+ */
+button,
+select {
+ text-transform: none; }
+
+/**
+ * 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio`
+ * and `video` controls.
+ * 2. Correct inability to style clickable `input` types in iOS.
+ * 3. Improve usability and consistency of cursor style between image-type
+ * `input` and others.
+ */
+button,
+html input[type="button"],
+input[type="reset"],
+input[type="submit"] {
+ -webkit-appearance: button;
+ /* 2 */
+ cursor: pointer;
+ /* 3 */ }
+
+/**
+ * Re-set default cursor for disabled elements.
+ */
+button[disabled],
+html input[disabled] {
+ cursor: not-allowed; }
+
+/**
+ * Remove inner padding and border in Firefox 4+.
+ */
+button::-moz-focus-inner,
+input::-moz-focus-inner {
+ border: 0;
+ padding: 0; }
+
+/**
+ * Address Firefox 4+ setting `line-height` on `input` using `!important` in
+ * the UA stylesheet.
+ */
+input {
+ line-height: normal; }
+
+/**
+ * It's recommended that you don't attempt to style these elements.
+ * Firefox's implementation doesn't respect box-sizing, padding, or width.
+ *
+ * 1. Address box sizing set to `content-box` in IE 8/9/10.
+ * 2. Remove excess padding in IE 8/9/10.
+ */
+input[type="checkbox"],
+input[type="radio"] {
+ -webkit-box-sizing: border-box;
+ box-sizing: border-box;
+ /* 1 */
+ padding: 0;
+ /* 2 */ }
+
+/**
+ * Fix the cursor style for Chrome's increment/decrement buttons. For certain
+ * `font-size` values of the `input`, it causes the cursor style of the
+ * decrement button to change from `default` to `text`.
+ */
+input[type="number"]::-webkit-inner-spin-button,
+input[type="number"]::-webkit-outer-spin-button {
+ height: auto; }
+
+/**
+ * 1. Address `appearance` set to `searchfield` in Safari and Chrome.
+ * 2. Address `box-sizing` set to `border-box` in Safari and Chrome.
+ */
+input[type="search"] {
+ -webkit-appearance: textfield;
+ /* 1 */
+ -webkit-box-sizing: content-box;
+ box-sizing: content-box;
+ /* 2 */ }
+
+/**
+ * Remove inner padding and search cancel button in Safari and Chrome on OS X.
+ * Safari (but not Chrome) clips the cancel button when the search input has
+ * padding (and `textfield` appearance).
+ */
+input[type="search"]::-webkit-search-cancel-button,
+input[type="search"]::-webkit-search-decoration {
+ -webkit-appearance: none; }
+
+/**
+ * Define consistent border, margin, and padding.
+ * [NOTE] We don't enable this ruleset in Foundation, because we want the <fieldset> element to have plain styling.
+ */
+/* fieldset {
+ border: 1px solid #c0c0c0;
+ margin: 0 2px;
+ padding: 0.35em 0.625em 0.75em;
+ } */
+/**
+ * 1. Correct `color` not being inherited in IE 8/9/10/11.
+ * 2. Remove padding so people aren't caught out if they zero out fieldsets.
+ */
+legend {
+ border: 0;
+ /* 1 */
+ padding: 0;
+ /* 2 */ }
+
+/**
+ * Remove default vertical scrollbar in IE 8/9/10/11.
+ */
+textarea {
+ overflow: auto; }
+
+/**
+ * Don't inherit the `font-weight` (applied by a rule above).
+ * NOTE: the default cannot safely be changed in Chrome and Safari on OS X.
+ */
+optgroup {
+ font-weight: bold; }
+
+/* Tables
+ ========================================================================== */
+/**
+ * Remove most spacing between table cells.
+ */
+table {
+ border-collapse: collapse;
+ border-spacing: 0; }
+
+td,
+th {
+ padding: 0; }
+
+.foundation-mq {
+ font-family: "small=0em&medium=40em&large=64em&xlarge=75em&xxlarge=90em"; }
html {
- box-sizing: border-box; }
+ font-size: 100%;
+ -webkit-box-sizing: border-box;
+ box-sizing: border-box; }
*,
-*:before,
-*:after {
+*::before,
+*::after {
-webkit-box-sizing: inherit;
- -moz-box-sizing: inherit;
- box-sizing: inherit; }
-
-html,
-body {
- font-size: 100%; }
+ box-sizing: inherit; }
body {
- background: #fff;
- color: #222;
- cursor: auto;
+ padding: 0;
+ margin: 0;
font-family: "Helvetica Neue", Helvetica, Roboto, Arial, sans-serif;
- font-style: normal;
font-weight: normal;
line-height: 1.5;
- margin: 0;
- padding: 0;
- position: relative; }
-
-a:hover {
- cursor: pointer; }
+ color: #0a0a0a;
+ background: #fefefe;
+ -webkit-font-smoothing: antialiased;
+ -moz-osx-font-smoothing: grayscale; }
img {
max-width: 100%;
- height: auto; }
+ height: auto;
+ -ms-interpolation-mode: bicubic;
+ display: inline-block;
+ vertical-align: middle; }
-img {
- -ms-interpolation-mode: bicubic; }
+textarea {
+ height: auto;
+ min-height: 50px;
+ border-radius: 0; }
+
+select {
+ width: 100%;
+ border-radius: 0; }
#map_canvas img,
#map_canvas embed,
@@ -90,6235 +416,3163 @@ img {
.mqa-display object {
max-width: none !important; }
-.left {
- float: left !important; }
-
-.right {
- float: right !important; }
-
-.clearfix:before, .clearfix:after {
- content: " ";
- display: table; }
-.clearfix:after {
- clear: both; }
-
-.hide {
- display: none; }
-
-.invisible {
- visibility: hidden; }
-
-.antialiased {
- -webkit-font-smoothing: antialiased;
- -moz-osx-font-smoothing: grayscale; }
-
-img {
- display: inline-block;
- vertical-align: middle; }
+button {
+ -webkit-appearance: none;
+ -moz-appearance: none;
+ background: transparent;
+ padding: 0;
+ border: 0;
+ border-radius: 0;
+ line-height: 1; }
+ [data-whatinput='mouse'] button {
+ outline: 0; }
-textarea {
- height: auto;
- min-height: 50px; }
+.is-visible {
+ display: block !important; }
-select {
- width: 100%; }
+.is-hidden {
+ display: none !important; }
.row {
- margin: 0 auto;
- max-width: 62.5rem;
- width: 100%; }
- .row:before, .row:after {
- content: " ";
+ max-width: 75rem;
+ margin-left: auto;
+ margin-right: auto; }
+ .row::before, .row::after {
+ content: ' ';
display: table; }
- .row:after {
+ .row::after {
clear: both; }
- .row.collapse > .column,
- .row.collapse > .columns {
+ .row.collapse > .column, .row.collapse > .columns {
padding-left: 0;
padding-right: 0; }
- .row.collapse .row {
- margin-left: 0;
- margin-right: 0; }
.row .row {
- margin: 0 -0.9375rem;
max-width: none;
- width: auto; }
- .row .row:before, .row .row:after {
- content: " ";
- display: table; }
- .row .row:after {
- clear: both; }
+ margin-left: -0.625rem;
+ margin-right: -0.625rem; }
+ @media screen and (min-width: 40em) {
+ .row .row {
+ margin-left: -0.9375rem;
+ margin-right: -0.9375rem; } }
.row .row.collapse {
- margin: 0;
- max-width: none;
- width: auto; }
- .row .row.collapse:before, .row .row.collapse:after {
- content: " ";
- display: table; }
- .row .row.collapse:after {
- clear: both; }
-
-.column,
-.columns {
- padding-left: 0.9375rem;
- padding-right: 0.9375rem;
+ margin-left: 0;
+ margin-right: 0; }
+ .row.expanded {
+ max-width: none; }
+ .row.expanded .row {
+ margin-left: auto;
+ margin-right: auto; }
+
+.column, .columns {
width: 100%;
- float: left; }
+ float: left;
+ padding-left: 0.625rem;
+ padding-right: 0.625rem; }
+ @media screen and (min-width: 40em) {
+ .column, .columns {
+ padding-left: 0.9375rem;
+ padding-right: 0.9375rem; } }
+ .column:last-child:not(:first-child), .columns:last-child:not(:first-child) {
+ float: right; }
+ .column.end:last-child:last-child, .end.columns:last-child:last-child {
+ float: left; }
-.column + .column:last-child,
-.columns + .column:last-child, .column +
-.columns:last-child,
-.columns +
-.columns:last-child {
- float: right; }
-.column + .column.end,
-.columns + .column.end, .column +
-.columns.end,
-.columns +
-.columns.end {
- float: left; }
+.column.row.row, .row.row.columns {
+ float: none; }
+ .row .column.row.row, .row .row.row.columns {
+ padding-left: 0;
+ padding-right: 0;
+ margin-left: 0;
+ margin-right: 0; }
-@media only screen {
- .small-push-0 {
- position: relative;
- left: 0;
- right: auto; }
+.small-1 {
+ width: 8.33333%; }
- .small-pull-0 {
- position: relative;
- right: 0;
- left: auto; }
+.small-push-1 {
+ position: relative;
+ left: 8.33333%; }
- .small-push-1 {
- position: relative;
- left: 8.33333%;
- right: auto; }
+.small-pull-1 {
+ position: relative;
+ left: -8.33333%; }
- .small-pull-1 {
- position: relative;
- right: 8.33333%;
- left: auto; }
+.small-offset-0 {
+ margin-left: 0%; }
- .small-push-2 {
- position: relative;
- left: 16.66667%;
- right: auto; }
+.small-2 {
+ width: 16.66667%; }
- .small-pull-2 {
- position: relative;
- right: 16.66667%;
- left: auto; }
+.small-push-2 {
+ position: relative;
+ left: 16.66667%; }
- .small-push-3 {
- position: relative;
- left: 25%;
- right: auto; }
+.small-pull-2 {
+ position: relative;
+ left: -16.66667%; }
- .small-pull-3 {
- position: relative;
- right: 25%;
- left: auto; }
+.small-offset-1 {
+ margin-left: 8.33333%; }
- .small-push-4 {
- position: relative;
- left: 33.33333%;
- right: auto; }
+.small-3 {
+ width: 25%; }
- .small-pull-4 {
- position: relative;
- right: 33.33333%;
- left: auto; }
+.small-push-3 {
+ position: relative;
+ left: 25%; }
- .small-push-5 {
- position: relative;
- left: 41.66667%;
- right: auto; }
+.small-pull-3 {
+ position: relative;
+ left: -25%; }
- .small-pull-5 {
- position: relative;
- right: 41.66667%;
- left: auto; }
+.small-offset-2 {
+ margin-left: 16.66667%; }
- .small-push-6 {
- position: relative;
- left: 50%;
- right: auto; }
+.small-4 {
+ width: 33.33333%; }
- .small-pull-6 {
- position: relative;
- right: 50%;
- left: auto; }
+.small-push-4 {
+ position: relative;
+ left: 33.33333%; }
- .small-push-7 {
- position: relative;
- left: 58.33333%;
- right: auto; }
+.small-pull-4 {
+ position: relative;
+ left: -33.33333%; }
- .small-pull-7 {
- position: relative;
- right: 58.33333%;
- left: auto; }
+.small-offset-3 {
+ margin-left: 25%; }
- .small-push-8 {
- position: relative;
- left: 66.66667%;
- right: auto; }
+.small-5 {
+ width: 41.66667%; }
- .small-pull-8 {
- position: relative;
- right: 66.66667%;
- left: auto; }
+.small-push-5 {
+ position: relative;
+ left: 41.66667%; }
- .small-push-9 {
- position: relative;
- left: 75%;
- right: auto; }
+.small-pull-5 {
+ position: relative;
+ left: -41.66667%; }
- .small-pull-9 {
- position: relative;
- right: 75%;
- left: auto; }
+.small-offset-4 {
+ margin-left: 33.33333%; }
- .small-push-10 {
- position: relative;
- left: 83.33333%;
- right: auto; }
+.small-6 {
+ width: 50%; }
- .small-pull-10 {
- position: relative;
- right: 83.33333%;
- left: auto; }
+.small-push-6 {
+ position: relative;
+ left: 50%; }
- .small-push-11 {
- position: relative;
- left: 91.66667%;
- right: auto; }
+.small-pull-6 {
+ position: relative;
+ left: -50%; }
- .small-pull-11 {
- position: relative;
- right: 91.66667%;
- left: auto; }
+.small-offset-5 {
+ margin-left: 41.66667%; }
- .column,
- .columns {
- position: relative;
- padding-left: 0.9375rem;
- padding-right: 0.9375rem;
- float: left; }
+.small-7 {
+ width: 58.33333%; }
- .small-1 {
- width: 8.33333%; }
+.small-push-7 {
+ position: relative;
+ left: 58.33333%; }
- .small-2 {
- width: 16.66667%; }
+.small-pull-7 {
+ position: relative;
+ left: -58.33333%; }
- .small-3 {
- width: 25%; }
+.small-offset-6 {
+ margin-left: 50%; }
- .small-4 {
- width: 33.33333%; }
+.small-8 {
+ width: 66.66667%; }
- .small-5 {
- width: 41.66667%; }
+.small-push-8 {
+ position: relative;
+ left: 66.66667%; }
- .small-6 {
- width: 50%; }
+.small-pull-8 {
+ position: relative;
+ left: -66.66667%; }
- .small-7 {
- width: 58.33333%; }
+.small-offset-7 {
+ margin-left: 58.33333%; }
- .small-8 {
- width: 66.66667%; }
+.small-9 {
+ width: 75%; }
- .small-9 {
- width: 75%; }
+.small-push-9 {
+ position: relative;
+ left: 75%; }
- .small-10 {
- width: 83.33333%; }
+.small-pull-9 {
+ position: relative;
+ left: -75%; }
- .small-11 {
- width: 91.66667%; }
+.small-offset-8 {
+ margin-left: 66.66667%; }
- .small-12 {
- width: 100%; }
+.small-10 {
+ width: 83.33333%; }
- .small-offset-0 {
- margin-left: 0 !important; }
+.small-push-10 {
+ position: relative;
+ left: 83.33333%; }
- .small-offset-1 {
- margin-left: 8.33333% !important; }
+.small-pull-10 {
+ position: relative;
+ left: -83.33333%; }
- .small-offset-2 {
- margin-left: 16.66667% !important; }
+.small-offset-9 {
+ margin-left: 75%; }
- .small-offset-3 {
- margin-left: 25% !important; }
+.small-11 {
+ width: 91.66667%; }
- .small-offset-4 {
- margin-left: 33.33333% !important; }
+.small-push-11 {
+ position: relative;
+ left: 91.66667%; }
- .small-offset-5 {
- margin-left: 41.66667% !important; }
+.small-pull-11 {
+ position: relative;
+ left: -91.66667%; }
- .small-offset-6 {
- margin-left: 50% !important; }
+.small-offset-10 {
+ margin-left: 83.33333%; }
- .small-offset-7 {
- margin-left: 58.33333% !important; }
+.small-12 {
+ width: 100%; }
- .small-offset-8 {
- margin-left: 66.66667% !important; }
+.small-offset-11 {
+ margin-left: 91.66667%; }
- .small-offset-9 {
- margin-left: 75% !important; }
+.small-up-1 > .column, .small-up-1 > .columns {
+ width: 100%;
+ float: left; }
+ .small-up-1 > .column:nth-of-type(1n), .small-up-1 > .columns:nth-of-type(1n) {
+ clear: none; }
+ .small-up-1 > .column:nth-of-type(1n+1), .small-up-1 > .columns:nth-of-type(1n+1) {
+ clear: both; }
+ .small-up-1 > .column:last-child, .small-up-1 > .columns:last-child {
+ float: left; }
- .small-offset-10 {
- margin-left: 83.33333% !important; }
+.small-up-2 > .column, .small-up-2 > .columns {
+ width: 50%;
+ float: left; }
+ .small-up-2 > .column:nth-of-type(1n), .small-up-2 > .columns:nth-of-type(1n) {
+ clear: none; }
+ .small-up-2 > .column:nth-of-type(2n+1), .small-up-2 > .columns:nth-of-type(2n+1) {
+ clear: both; }
+ .small-up-2 > .column:last-child, .small-up-2 > .columns:last-child {
+ float: left; }
- .small-offset-11 {
- margin-left: 91.66667% !important; }
+.small-up-3 > .column, .small-up-3 > .columns {
+ width: 33.33333%;
+ float: left; }
+ .small-up-3 > .column:nth-of-type(1n), .small-up-3 > .columns:nth-of-type(1n) {
+ clear: none; }
+ .small-up-3 > .column:nth-of-type(3n+1), .small-up-3 > .columns:nth-of-type(3n+1) {
+ clear: both; }
+ .small-up-3 > .column:last-child, .small-up-3 > .columns:last-child {
+ float: left; }
- .small-reset-order {
- float: left;
- left: auto;
- margin-left: 0;
- margin-right: 0;
- right: auto; }
+.small-up-4 > .column, .small-up-4 > .columns {
+ width: 25%;
+ float: left; }
+ .small-up-4 > .column:nth-of-type(1n), .small-up-4 > .columns:nth-of-type(1n) {
+ clear: none; }
+ .small-up-4 > .column:nth-of-type(4n+1), .small-up-4 > .columns:nth-of-type(4n+1) {
+ clear: both; }
+ .small-up-4 > .column:last-child, .small-up-4 > .columns:last-child {
+ float: left; }
- .column.small-centered,
- .columns.small-centered {
- margin-left: auto;
- margin-right: auto;
- float: none; }
+.small-up-5 > .column, .small-up-5 > .columns {
+ width: 20%;
+ float: left; }
+ .small-up-5 > .column:nth-of-type(1n), .small-up-5 > .columns:nth-of-type(1n) {
+ clear: none; }
+ .small-up-5 > .column:nth-of-type(5n+1), .small-up-5 > .columns:nth-of-type(5n+1) {
+ clear: both; }
+ .small-up-5 > .column:last-child, .small-up-5 > .columns:last-child {
+ float: left; }
- .column.small-uncentered,
- .columns.small-uncentered {
- float: left;
- margin-left: 0;
- margin-right: 0; }
+.small-up-6 > .column, .small-up-6 > .columns {
+ width: 16.66667%;
+ float: left; }
+ .small-up-6 > .column:nth-of-type(1n), .small-up-6 > .columns:nth-of-type(1n) {
+ clear: none; }
+ .small-up-6 > .column:nth-of-type(6n+1), .small-up-6 > .columns:nth-of-type(6n+1) {
+ clear: both; }
+ .small-up-6 > .column:last-child, .small-up-6 > .columns:last-child {
+ float: left; }
- .column.small-centered:last-child,
- .columns.small-centered:last-child {
- float: none; }
+.small-up-7 > .column, .small-up-7 > .columns {
+ width: 14.28571%;
+ float: left; }
+ .small-up-7 > .column:nth-of-type(1n), .small-up-7 > .columns:nth-of-type(1n) {
+ clear: none; }
+ .small-up-7 > .column:nth-of-type(7n+1), .small-up-7 > .columns:nth-of-type(7n+1) {
+ clear: both; }
+ .small-up-7 > .column:last-child, .small-up-7 > .columns:last-child {
+ float: left; }
- .column.small-uncentered:last-child,
- .columns.small-uncentered:last-child {
+.small-up-8 > .column, .small-up-8 > .columns {
+ width: 12.5%;
+ float: left; }
+ .small-up-8 > .column:nth-of-type(1n), .small-up-8 > .columns:nth-of-type(1n) {
+ clear: none; }
+ .small-up-8 > .column:nth-of-type(8n+1), .small-up-8 > .columns:nth-of-type(8n+1) {
+ clear: both; }
+ .small-up-8 > .column:last-child, .small-up-8 > .columns:last-child {
float: left; }
- .column.small-uncentered.opposite,
- .columns.small-uncentered.opposite {
- float: right; }
+.small-collapse > .column, .small-collapse > .columns {
+ padding-left: 0;
+ padding-right: 0; }
- .row.small-collapse > .column,
- .row.small-collapse > .columns {
- padding-left: 0;
- padding-right: 0; }
- .row.small-collapse .row {
- margin-left: 0;
- margin-right: 0; }
- .row.small-uncollapse > .column,
- .row.small-uncollapse > .columns {
- padding-left: 0.9375rem;
- padding-right: 0.9375rem;
- float: left; } }
-@media only screen and (min-width: 40.0625em) {
- .medium-push-0 {
- position: relative;
- left: 0;
- right: auto; }
+.small-collapse .row,
+.expanded.row .small-collapse.row {
+ margin-left: 0;
+ margin-right: 0; }
- .medium-pull-0 {
- position: relative;
- right: 0;
- left: auto; }
+.small-uncollapse > .column, .small-uncollapse > .columns {
+ padding-left: 0.625rem;
+ padding-right: 0.625rem; }
+.small-centered {
+ float: none;
+ margin-left: auto;
+ margin-right: auto; }
+
+.small-uncentered,
+.small-push-0,
+.small-pull-0 {
+ position: static;
+ margin-left: 0;
+ margin-right: 0;
+ float: left; }
+
+@media screen and (min-width: 40em) {
+ .medium-1 {
+ width: 8.33333%; }
.medium-push-1 {
position: relative;
- left: 8.33333%;
- right: auto; }
-
+ left: 8.33333%; }
.medium-pull-1 {
position: relative;
- right: 8.33333%;
- left: auto; }
-
+ left: -8.33333%; }
+ .medium-offset-0 {
+ margin-left: 0%; }
+ .medium-2 {
+ width: 16.66667%; }
.medium-push-2 {
position: relative;
- left: 16.66667%;
- right: auto; }
-
+ left: 16.66667%; }
.medium-pull-2 {
position: relative;
- right: 16.66667%;
- left: auto; }
-
+ left: -16.66667%; }
+ .medium-offset-1 {
+ margin-left: 8.33333%; }
+ .medium-3 {
+ width: 25%; }
.medium-push-3 {
position: relative;
- left: 25%;
- right: auto; }
-
+ left: 25%; }
.medium-pull-3 {
position: relative;
- right: 25%;
- left: auto; }
-
+ left: -25%; }
+ .medium-offset-2 {
+ margin-left: 16.66667%; }
+ .medium-4 {
+ width: 33.33333%; }
.medium-push-4 {
position: relative;
- left: 33.33333%;
- right: auto; }
-
+ left: 33.33333%; }
.medium-pull-4 {
position: relative;
- right: 33.33333%;
- left: auto; }
-
+ left: -33.33333%; }
+ .medium-offset-3 {
+ margin-left: 25%; }
+ .medium-5 {
+ width: 41.66667%; }
.medium-push-5 {
position: relative;
- left: 41.66667%;
- right: auto; }
-
+ left: 41.66667%; }
.medium-pull-5 {
position: relative;
- right: 41.66667%;
- left: auto; }
-
+ left: -41.66667%; }
+ .medium-offset-4 {
+ margin-left: 33.33333%; }
+ .medium-6 {
+ width: 50%; }
.medium-push-6 {
position: relative;
- left: 50%;
- right: auto; }
-
+ left: 50%; }
.medium-pull-6 {
position: relative;
- right: 50%;
- left: auto; }
-
+ left: -50%; }
+ .medium-offset-5 {
+ margin-left: 41.66667%; }
+ .medium-7 {
+ width: 58.33333%; }
.medium-push-7 {
position: relative;
- left: 58.33333%;
- right: auto; }
-
+ left: 58.33333%; }
.medium-pull-7 {
position: relative;
- right: 58.33333%;
- left: auto; }
-
+ left: -58.33333%; }
+ .medium-offset-6 {
+ margin-left: 50%; }
+ .medium-8 {
+ width: 66.66667%; }
.medium-push-8 {
position: relative;
- left: 66.66667%;
- right: auto; }
-
+ left: 66.66667%; }
.medium-pull-8 {
position: relative;
- right: 66.66667%;
- left: auto; }
-
+ left: -66.66667%; }
+ .medium-offset-7 {
+ margin-left: 58.33333%; }
+ .medium-9 {
+ width: 75%; }
.medium-push-9 {
position: relative;
- left: 75%;
- right: auto; }
-
+ left: 75%; }
.medium-pull-9 {
position: relative;
- right: 75%;
- left: auto; }
-
+ left: -75%; }
+ .medium-offset-8 {
+ margin-left: 66.66667%; }
+ .medium-10 {
+ width: 83.33333%; }
.medium-push-10 {
position: relative;
- left: 83.33333%;
- right: auto; }
-
+ left: 83.33333%; }
.medium-pull-10 {
position: relative;
- right: 83.33333%;
- left: auto; }
-
+ left: -83.33333%; }
+ .medium-offset-9 {
+ margin-left: 75%; }
+ .medium-11 {
+ width: 91.66667%; }
.medium-push-11 {
position: relative;
- left: 91.66667%;
- right: auto; }
-
+ left: 91.66667%; }
.medium-pull-11 {
position: relative;
- right: 91.66667%;
- left: auto; }
-
- .column,
- .columns {
- position: relative;
- padding-left: 0.9375rem;
- padding-right: 0.9375rem;
- float: left; }
-
- .medium-1 {
- width: 8.33333%; }
-
- .medium-2 {
- width: 16.66667%; }
-
- .medium-3 {
- width: 25%; }
-
- .medium-4 {
- width: 33.33333%; }
-
- .medium-5 {
- width: 41.66667%; }
-
- .medium-6 {
- width: 50%; }
-
- .medium-7 {
- width: 58.33333%; }
-
- .medium-8 {
- width: 66.66667%; }
-
- .medium-9 {
- width: 75%; }
-
- .medium-10 {
- width: 83.33333%; }
-
- .medium-11 {
- width: 91.66667%; }
-
+ left: -91.66667%; }
+ .medium-offset-10 {
+ margin-left: 83.33333%; }
.medium-12 {
width: 100%; }
-
- .medium-offset-0 {
- margin-left: 0 !important; }
-
- .medium-offset-1 {
- margin-left: 8.33333% !important; }
-
- .medium-offset-2 {
- margin-left: 16.66667% !important; }
-
- .medium-offset-3 {
- margin-left: 25% !important; }
-
- .medium-offset-4 {
- margin-left: 33.33333% !important; }
-
- .medium-offset-5 {
- margin-left: 41.66667% !important; }
-
- .medium-offset-6 {
- margin-left: 50% !important; }
-
- .medium-offset-7 {
- margin-left: 58.33333% !important; }
-
- .medium-offset-8 {
- margin-left: 66.66667% !important; }
-
- .medium-offset-9 {
- margin-left: 75% !important; }
-
- .medium-offset-10 {
- margin-left: 83.33333% !important; }
-
.medium-offset-11 {
- margin-left: 91.66667% !important; }
-
- .medium-reset-order {
- float: left;
- left: auto;
- margin-left: 0;
- margin-right: 0;
- right: auto; }
-
- .column.medium-centered,
- .columns.medium-centered {
- margin-left: auto;
- margin-right: auto;
- float: none; }
-
- .column.medium-uncentered,
- .columns.medium-uncentered {
- float: left;
- margin-left: 0;
- margin-right: 0; }
-
- .column.medium-centered:last-child,
- .columns.medium-centered:last-child {
- float: none; }
-
- .column.medium-uncentered:last-child,
- .columns.medium-uncentered:last-child {
+ margin-left: 91.66667%; }
+ .medium-up-1 > .column, .medium-up-1 > .columns {
+ width: 100%;
float: left; }
-
- .column.medium-uncentered.opposite,
- .columns.medium-uncentered.opposite {
- float: right; }
-
- .row.medium-collapse > .column,
- .row.medium-collapse > .columns {
+ .medium-up-1 > .column:nth-of-type(1n), .medium-up-1 > .columns:nth-of-type(1n) {
+ clear: none; }
+ .medium-up-1 > .column:nth-of-type(1n+1), .medium-up-1 > .columns:nth-of-type(1n+1) {
+ clear: both; }
+ .medium-up-1 > .column:last-child, .medium-up-1 > .columns:last-child {
+ float: left; }
+ .medium-up-2 > .column, .medium-up-2 > .columns {
+ width: 50%;
+ float: left; }
+ .medium-up-2 > .column:nth-of-type(1n), .medium-up-2 > .columns:nth-of-type(1n) {
+ clear: none; }
+ .medium-up-2 > .column:nth-of-type(2n+1), .medium-up-2 > .columns:nth-of-type(2n+1) {
+ clear: both; }
+ .medium-up-2 > .column:last-child, .medium-up-2 > .columns:last-child {
+ float: left; }
+ .medium-up-3 > .column, .medium-up-3 > .columns {
+ width: 33.33333%;
+ float: left; }
+ .medium-up-3 > .column:nth-of-type(1n), .medium-up-3 > .columns:nth-of-type(1n) {
+ clear: none; }
+ .medium-up-3 > .column:nth-of-type(3n+1), .medium-up-3 > .columns:nth-of-type(3n+1) {
+ clear: both; }
+ .medium-up-3 > .column:last-child, .medium-up-3 > .columns:last-child {
+ float: left; }
+ .medium-up-4 > .column, .medium-up-4 > .columns {
+ width: 25%;
+ float: left; }
+ .medium-up-4 > .column:nth-of-type(1n), .medium-up-4 > .columns:nth-of-type(1n) {
+ clear: none; }
+ .medium-up-4 > .column:nth-of-type(4n+1), .medium-up-4 > .columns:nth-of-type(4n+1) {
+ clear: both; }
+ .medium-up-4 > .column:last-child, .medium-up-4 > .columns:last-child {
+ float: left; }
+ .medium-up-5 > .column, .medium-up-5 > .columns {
+ width: 20%;
+ float: left; }
+ .medium-up-5 > .column:nth-of-type(1n), .medium-up-5 > .columns:nth-of-type(1n) {
+ clear: none; }
+ .medium-up-5 > .column:nth-of-type(5n+1), .medium-up-5 > .columns:nth-of-type(5n+1) {
+ clear: both; }
+ .medium-up-5 > .column:last-child, .medium-up-5 > .columns:last-child {
+ float: left; }
+ .medium-up-6 > .column, .medium-up-6 > .columns {
+ width: 16.66667%;
+ float: left; }
+ .medium-up-6 > .column:nth-of-type(1n), .medium-up-6 > .columns:nth-of-type(1n) {
+ clear: none; }
+ .medium-up-6 > .column:nth-of-type(6n+1), .medium-up-6 > .columns:nth-of-type(6n+1) {
+ clear: both; }
+ .medium-up-6 > .column:last-child, .medium-up-6 > .columns:last-child {
+ float: left; }
+ .medium-up-7 > .column, .medium-up-7 > .columns {
+ width: 14.28571%;
+ float: left; }
+ .medium-up-7 > .column:nth-of-type(1n), .medium-up-7 > .columns:nth-of-type(1n) {
+ clear: none; }
+ .medium-up-7 > .column:nth-of-type(7n+1), .medium-up-7 > .columns:nth-of-type(7n+1) {
+ clear: both; }
+ .medium-up-7 > .column:last-child, .medium-up-7 > .columns:last-child {
+ float: left; }
+ .medium-up-8 > .column, .medium-up-8 > .columns {
+ width: 12.5%;
+ float: left; }
+ .medium-up-8 > .column:nth-of-type(1n), .medium-up-8 > .columns:nth-of-type(1n) {
+ clear: none; }
+ .medium-up-8 > .column:nth-of-type(8n+1), .medium-up-8 > .columns:nth-of-type(8n+1) {
+ clear: both; }
+ .medium-up-8 > .column:last-child, .medium-up-8 > .columns:last-child {
+ float: left; }
+ .medium-collapse > .column, .medium-collapse > .columns {
padding-left: 0;
padding-right: 0; }
- .row.medium-collapse .row {
+ .medium-collapse .row,
+ .expanded.row .medium-collapse.row {
margin-left: 0;
margin-right: 0; }
- .row.medium-uncollapse > .column,
- .row.medium-uncollapse > .columns {
+ .medium-uncollapse > .column, .medium-uncollapse > .columns {
padding-left: 0.9375rem;
- padding-right: 0.9375rem;
- float: left; }
-
- .push-0 {
- position: relative;
- left: 0;
- right: auto; }
-
- .pull-0 {
- position: relative;
- right: 0;
- left: auto; }
-
- .push-1 {
- position: relative;
- left: 8.33333%;
- right: auto; }
-
- .pull-1 {
- position: relative;
- right: 8.33333%;
- left: auto; }
-
- .push-2 {
- position: relative;
- left: 16.66667%;
- right: auto; }
-
- .pull-2 {
- position: relative;
- right: 16.66667%;
- left: auto; }
-
- .push-3 {
- position: relative;
- left: 25%;
- right: auto; }
-
- .pull-3 {
- position: relative;
- right: 25%;
- left: auto; }
-
- .push-4 {
- position: relative;
- left: 33.33333%;
- right: auto; }
-
- .pull-4 {
- position: relative;
- right: 33.33333%;
- left: auto; }
-
- .push-5 {
- position: relative;
- left: 41.66667%;
- right: auto; }
-
- .pull-5 {
- position: relative;
- right: 41.66667%;
- left: auto; }
-
- .push-6 {
- position: relative;
- left: 50%;
- right: auto; }
-
- .pull-6 {
- position: relative;
- right: 50%;
- left: auto; }
-
- .push-7 {
- position: relative;
- left: 58.33333%;
- right: auto; }
-
- .pull-7 {
- position: relative;
- right: 58.33333%;
- left: auto; }
-
- .push-8 {
- position: relative;
- left: 66.66667%;
- right: auto; }
-
- .pull-8 {
- position: relative;
- right: 66.66667%;
- left: auto; }
-
- .push-9 {
- position: relative;
- left: 75%;
- right: auto; }
-
- .pull-9 {
- position: relative;
- right: 75%;
- left: auto; }
-
- .push-10 {
- position: relative;
- left: 83.33333%;
- right: auto; }
-
- .pull-10 {
- position: relative;
- right: 83.33333%;
- left: auto; }
-
- .push-11 {
- position: relative;
- left: 91.66667%;
- right: auto; }
-
- .pull-11 {
- position: relative;
- right: 91.66667%;
- left: auto; } }
-@media only screen and (min-width: 64.0625em) {
- .large-push-0 {
- position: relative;
- left: 0;
- right: auto; }
-
- .large-pull-0 {
- position: relative;
- right: 0;
- left: auto; }
+ padding-right: 0.9375rem; }
+ .medium-centered {
+ float: none;
+ margin-left: auto;
+ margin-right: auto; }
+ .medium-uncentered,
+ .medium-push-0,
+ .medium-pull-0 {
+ position: static;
+ margin-left: 0;
+ margin-right: 0;
+ float: left; } }
+@media screen and (min-width: 64em) {
+ .large-1 {
+ width: 8.33333%; }
.large-push-1 {
position: relative;
- left: 8.33333%;
- right: auto; }
-
+ left: 8.33333%; }
.large-pull-1 {
position: relative;
- right: 8.33333%;
- left: auto; }
-
+ left: -8.33333%; }
+ .large-offset-0 {
+ margin-left: 0%; }
+ .large-2 {
+ width: 16.66667%; }
.large-push-2 {
position: relative;
- left: 16.66667%;
- right: auto; }
-
+ left: 16.66667%; }
.large-pull-2 {
position: relative;
- right: 16.66667%;
- left: auto; }
-
+ left: -16.66667%; }
+ .large-offset-1 {
+ margin-left: 8.33333%; }
+ .large-3 {
+ width: 25%; }
.large-push-3 {
position: relative;
- left: 25%;
- right: auto; }
-
+ left: 25%; }
.large-pull-3 {
position: relative;
- right: 25%;
- left: auto; }
-
+ left: -25%; }
+ .large-offset-2 {
+ margin-left: 16.66667%; }
+ .large-4 {
+ width: 33.33333%; }
.large-push-4 {
position: relative;
- left: 33.33333%;
- right: auto; }
-
+ left: 33.33333%; }
.large-pull-4 {
position: relative;
- right: 33.33333%;
- left: auto; }
-
+ left: -33.33333%; }
+ .large-offset-3 {
+ margin-left: 25%; }
+ .large-5 {
+ width: 41.66667%; }
.large-push-5 {
position: relative;
- left: 41.66667%;
- right: auto; }
-
+ left: 41.66667%; }
.large-pull-5 {
position: relative;
- right: 41.66667%;
- left: auto; }
-
+ left: -41.66667%; }
+ .large-offset-4 {
+ margin-left: 33.33333%; }
+ .large-6 {
+ width: 50%; }
.large-push-6 {
position: relative;
- left: 50%;
- right: auto; }
-
+ left: 50%; }
.large-pull-6 {
position: relative;
- right: 50%;
- left: auto; }
-
+ left: -50%; }
+ .large-offset-5 {
+ margin-left: 41.66667%; }
+ .large-7 {
+ width: 58.33333%; }
.large-push-7 {
position: relative;
- left: 58.33333%;
- right: auto; }
-
+ left: 58.33333%; }
.large-pull-7 {
position: relative;
- right: 58.33333%;
- left: auto; }
-
+ left: -58.33333%; }
+ .large-offset-6 {
+ margin-left: 50%; }
+ .large-8 {
+ width: 66.66667%; }
.large-push-8 {
position: relative;
- left: 66.66667%;
- right: auto; }
-
+ left: 66.66667%; }
.large-pull-8 {
position: relative;
- right: 66.66667%;
- left: auto; }
-
+ left: -66.66667%; }
+ .large-offset-7 {
+ margin-left: 58.33333%; }
+ .large-9 {
+ width: 75%; }
.large-push-9 {
position: relative;
- left: 75%;
- right: auto; }
-
+ left: 75%; }
.large-pull-9 {
position: relative;
- right: 75%;
- left: auto; }
-
+ left: -75%; }
+ .large-offset-8 {
+ margin-left: 66.66667%; }
+ .large-10 {
+ width: 83.33333%; }
.large-push-10 {
position: relative;
- left: 83.33333%;
- right: auto; }
-
+ left: 83.33333%; }
.large-pull-10 {
position: relative;
- right: 83.33333%;
- left: auto; }
-
+ left: -83.33333%; }
+ .large-offset-9 {
+ margin-left: 75%; }
+ .large-11 {
+ width: 91.66667%; }
.large-push-11 {
position: relative;
- left: 91.66667%;
- right: auto; }
-
+ left: 91.66667%; }
.large-pull-11 {
position: relative;
- right: 91.66667%;
- left: auto; }
-
- .column,
- .columns {
- position: relative;
- padding-left: 0.9375rem;
- padding-right: 0.9375rem;
+ left: -91.66667%; }
+ .large-offset-10 {
+ margin-left: 83.33333%; }
+ .large-12 {
+ width: 100%; }
+ .large-offset-11 {
+ margin-left: 91.66667%; }
+ .large-up-1 > .column, .large-up-1 > .columns {
+ width: 100%;
float: left; }
+ .large-up-1 > .column:nth-of-type(1n), .large-up-1 > .columns:nth-of-type(1n) {
+ clear: none; }
+ .large-up-1 > .column:nth-of-type(1n+1), .large-up-1 > .columns:nth-of-type(1n+1) {
+ clear: both; }
+ .large-up-1 > .column:last-child, .large-up-1 > .columns:last-child {
+ float: left; }
+ .large-up-2 > .column, .large-up-2 > .columns {
+ width: 50%;
+ float: left; }
+ .large-up-2 > .column:nth-of-type(1n), .large-up-2 > .columns:nth-of-type(1n) {
+ clear: none; }
+ .large-up-2 > .column:nth-of-type(2n+1), .large-up-2 > .columns:nth-of-type(2n+1) {
+ clear: both; }
+ .large-up-2 > .column:last-child, .large-up-2 > .columns:last-child {
+ float: left; }
+ .large-up-3 > .column, .large-up-3 > .columns {
+ width: 33.33333%;
+ float: left; }
+ .large-up-3 > .column:nth-of-type(1n), .large-up-3 > .columns:nth-of-type(1n) {
+ clear: none; }
+ .large-up-3 > .column:nth-of-type(3n+1), .large-up-3 > .columns:nth-of-type(3n+1) {
+ clear: both; }
+ .large-up-3 > .column:last-child, .large-up-3 > .columns:last-child {
+ float: left; }
+ .large-up-4 > .column, .large-up-4 > .columns {
+ width: 25%;
+ float: left; }
+ .large-up-4 > .column:nth-of-type(1n), .large-up-4 > .columns:nth-of-type(1n) {
+ clear: none; }
+ .large-up-4 > .column:nth-of-type(4n+1), .large-up-4 > .columns:nth-of-type(4n+1) {
+ clear: both; }
+ .large-up-4 > .column:last-child, .large-up-4 > .columns:last-child {
+ float: left; }
+ .large-up-5 > .column, .large-up-5 > .columns {
+ width: 20%;
+ float: left; }
+ .large-up-5 > .column:nth-of-type(1n), .large-up-5 > .columns:nth-of-type(1n) {
+ clear: none; }
+ .large-up-5 > .column:nth-of-type(5n+1), .large-up-5 > .columns:nth-of-type(5n+1) {
+ clear: both; }
+ .large-up-5 > .column:last-child, .large-up-5 > .columns:last-child {
+ float: left; }
+ .large-up-6 > .column, .large-up-6 > .columns {
+ width: 16.66667%;
+ float: left; }
+ .large-up-6 > .column:nth-of-type(1n), .large-up-6 > .columns:nth-of-type(1n) {
+ clear: none; }
+ .large-up-6 > .column:nth-of-type(6n+1), .large-up-6 > .columns:nth-of-type(6n+1) {
+ clear: both; }
+ .large-up-6 > .column:last-child, .large-up-6 > .columns:last-child {
+ float: left; }
+ .large-up-7 > .column, .large-up-7 > .columns {
+ width: 14.28571%;
+ float: left; }
+ .large-up-7 > .column:nth-of-type(1n), .large-up-7 > .columns:nth-of-type(1n) {
+ clear: none; }
+ .large-up-7 > .column:nth-of-type(7n+1), .large-up-7 > .columns:nth-of-type(7n+1) {
+ clear: both; }
+ .large-up-7 > .column:last-child, .large-up-7 > .columns:last-child {
+ float: left; }
+ .large-up-8 > .column, .large-up-8 > .columns {
+ width: 12.5%;
+ float: left; }
+ .large-up-8 > .column:nth-of-type(1n), .large-up-8 > .columns:nth-of-type(1n) {
+ clear: none; }
+ .large-up-8 > .column:nth-of-type(8n+1), .large-up-8 > .columns:nth-of-type(8n+1) {
+ clear: both; }
+ .large-up-8 > .column:last-child, .large-up-8 > .columns:last-child {
+ float: left; }
+ .large-collapse > .column, .large-collapse > .columns {
+ padding-left: 0;
+ padding-right: 0; }
+ .large-collapse .row,
+ .expanded.row .large-collapse.row {
+ margin-left: 0;
+ margin-right: 0; }
+ .large-uncollapse > .column, .large-uncollapse > .columns {
+ padding-left: 0.9375rem;
+ padding-right: 0.9375rem; }
+ .large-centered {
+ float: none;
+ margin-left: auto;
+ margin-right: auto; }
+ .large-uncentered,
+ .large-push-0,
+ .large-pull-0 {
+ position: static;
+ margin-left: 0;
+ margin-right: 0;
+ float: left; } }
- .large-1 {
- width: 8.33333%; }
-
- .large-2 {
- width: 16.66667%; }
-
- .large-3 {
- width: 25%; }
-
- .large-4 {
- width: 33.33333%; }
-
- .large-5 {
- width: 41.66667%; }
-
- .large-6 {
- width: 50%; }
-
- .large-7 {
- width: 58.33333%; }
+div,
+dl,
+dt,
+dd,
+ul,
+ol,
+li,
+h1,
+h2,
+h3,
+h4,
+h5,
+h6,
+pre,
+form,
+p,
+blockquote,
+th,
+td {
+ margin: 0;
+ padding: 0; }
- .large-8 {
- width: 66.66667%; }
+p {
+ font-size: inherit;
+ line-height: 1.6;
+ margin-bottom: 1rem;
+ text-rendering: optimizeLegibility; }
- .large-9 {
- width: 75%; }
+em,
+i {
+ font-style: italic;
+ line-height: inherit; }
- .large-10 {
- width: 83.33333%; }
+strong,
+b {
+ font-weight: bold;
+ line-height: inherit; }
- .large-11 {
- width: 91.66667%; }
+small {
+ font-size: 80%;
+ line-height: inherit; }
- .large-12 {
- width: 100%; }
+h1,
+h2,
+h3,
+h4,
+h5,
+h6 {
+ font-family: "Helvetica Neue", Helvetica, Roboto, Arial, sans-serif;
+ font-weight: normal;
+ font-style: normal;
+ color: inherit;
+ text-rendering: optimizeLegibility;
+ margin-top: 0;
+ margin-bottom: 0.5rem;
+ line-height: 1.4; }
+ h1 small,
+ h2 small,
+ h3 small,
+ h4 small,
+ h5 small,
+ h6 small {
+ color: #cacaca;
+ line-height: 0; }
- .large-offset-0 {
- margin-left: 0 !important; }
+h1 {
+ font-size: 1.5rem; }
- .large-offset-1 {
- margin-left: 8.33333% !important; }
+h2 {
+ font-size: 1.25rem; }
- .large-offset-2 {
- margin-left: 16.66667% !important; }
+h3 {
+ font-size: 1.1875rem; }
- .large-offset-3 {
- margin-left: 25% !important; }
+h4 {
+ font-size: 1.125rem; }
- .large-offset-4 {
- margin-left: 33.33333% !important; }
+h5 {
+ font-size: 1.0625rem; }
- .large-offset-5 {
- margin-left: 41.66667% !important; }
+h6 {
+ font-size: 1rem; }
- .large-offset-6 {
- margin-left: 50% !important; }
+@media screen and (min-width: 40em) {
+ h1 {
+ font-size: 3rem; }
+ h2 {
+ font-size: 2.5rem; }
+ h3 {
+ font-size: 1.9375rem; }
+ h4 {
+ font-size: 1.5625rem; }
+ h5 {
+ font-size: 1.25rem; }
+ h6 {
+ font-size: 1rem; } }
- .large-offset-7 {
- margin-left: 58.33333% !important; }
+a {
+ color: #2199e8;
+ text-decoration: none;
+ line-height: inherit;
+ cursor: pointer; }
+ a:hover, a:focus {
+ color: #1585cf; }
+ a img {
+ border: 0; }
- .large-offset-8 {
- margin-left: 66.66667% !important; }
+hr {
+ max-width: 75rem;
+ height: 0;
+ border-right: 0;
+ border-top: 0;
+ border-bottom: 1px solid #cacaca;
+ border-left: 0;
+ margin: 1.25rem auto;
+ clear: both; }
- .large-offset-9 {
- margin-left: 75% !important; }
+ul,
+ol,
+dl {
+ line-height: 1.6;
+ margin-bottom: 1rem;
+ list-style-position: outside; }
- .large-offset-10 {
- margin-left: 83.33333% !important; }
+li {
+ font-size: inherit; }
- .large-offset-11 {
- margin-left: 91.66667% !important; }
+ul {
+ list-style-type: disc;
+ margin-left: 1.25rem; }
- .large-reset-order {
- float: left;
- left: auto;
- margin-left: 0;
- margin-right: 0;
- right: auto; }
+ol {
+ margin-left: 1.25rem; }
- .column.large-centered,
- .columns.large-centered {
- margin-left: auto;
- margin-right: auto;
- float: none; }
+ul ul, ol ul, ul ol, ol ol {
+ margin-left: 1.25rem;
+ margin-bottom: 0; }
- .column.large-uncentered,
- .columns.large-uncentered {
- float: left;
- margin-left: 0;
- margin-right: 0; }
+dl {
+ margin-bottom: 1rem; }
+ dl dt {
+ margin-bottom: 0.3rem;
+ font-weight: bold; }
- .column.large-centered:last-child,
- .columns.large-centered:last-child {
- float: none; }
+blockquote {
+ margin: 0 0 1rem;
+ padding: 0.5625rem 1.25rem 0 1.1875rem;
+ border-left: 1px solid #cacaca; }
+ blockquote, blockquote p {
+ line-height: 1.6;
+ color: #8a8a8a; }
- .column.large-uncentered:last-child,
- .columns.large-uncentered:last-child {
- float: left; }
+cite {
+ display: block;
+ font-size: 0.8125rem;
+ color: #8a8a8a; }
+ cite:before {
+ content: '\2014 \0020'; }
- .column.large-uncentered.opposite,
- .columns.large-uncentered.opposite {
- float: right; }
+abbr {
+ color: #0a0a0a;
+ cursor: help;
+ border-bottom: 1px dotted #0a0a0a; }
- .row.large-collapse > .column,
- .row.large-collapse > .columns {
- padding-left: 0;
- padding-right: 0; }
- .row.large-collapse .row {
- margin-left: 0;
- margin-right: 0; }
- .row.large-uncollapse > .column,
- .row.large-uncollapse > .columns {
- padding-left: 0.9375rem;
- padding-right: 0.9375rem;
- float: left; }
+code {
+ font-family: Consolas, "Liberation Mono", Courier, monospace;
+ font-weight: normal;
+ color: #0a0a0a;
+ background-color: #e6e6e6;
+ border: 1px solid #cacaca;
+ padding: 0.125rem 0.3125rem 0.0625rem; }
- .push-0 {
- position: relative;
- left: 0;
- right: auto; }
+kbd {
+ padding: 0.125rem 0.25rem 0;
+ margin: 0;
+ background-color: #e6e6e6;
+ color: #0a0a0a;
+ font-family: Consolas, "Liberation Mono", Courier, monospace; }
- .pull-0 {
- position: relative;
- right: 0;
- left: auto; }
+.subheader {
+ margin-top: 0.2rem;
+ margin-bottom: 0.5rem;
+ font-weight: normal;
+ line-height: 1.4;
+ color: #8a8a8a; }
- .push-1 {
- position: relative;
- left: 8.33333%;
- right: auto; }
+.lead {
+ font-size: 125%;
+ line-height: 1.6; }
- .pull-1 {
- position: relative;
- right: 8.33333%;
- left: auto; }
+.stat {
+ font-size: 2.5rem;
+ line-height: 1; }
+ p + .stat {
+ margin-top: -1rem; }
- .push-2 {
- position: relative;
- left: 16.66667%;
- right: auto; }
+.no-bullet {
+ margin-left: 0;
+ list-style: none; }
- .pull-2 {
- position: relative;
- right: 16.66667%;
- left: auto; }
+.text-left {
+ text-align: left; }
- .push-3 {
- position: relative;
- left: 25%;
- right: auto; }
+.text-right {
+ text-align: right; }
- .pull-3 {
- position: relative;
- right: 25%;
- left: auto; }
+.text-center {
+ text-align: center; }
- .push-4 {
- position: relative;
- left: 33.33333%;
- right: auto; }
+.text-justify {
+ text-align: justify; }
- .pull-4 {
- position: relative;
- right: 33.33333%;
- left: auto; }
+@media screen and (min-width: 40em) {
+ .medium-text-left {
+ text-align: left; }
+ .medium-text-right {
+ text-align: right; }
+ .medium-text-center {
+ text-align: center; }
+ .medium-text-justify {
+ text-align: justify; } }
- .push-5 {
- position: relative;
- left: 41.66667%;
- right: auto; }
+@media screen and (min-width: 64em) {
+ .large-text-left {
+ text-align: left; }
+ .large-text-right {
+ text-align: right; }
+ .large-text-center {
+ text-align: center; }
+ .large-text-justify {
+ text-align: justify; } }
- .pull-5 {
- position: relative;
- right: 41.66667%;
- left: auto; }
+.show-for-print {
+ display: none !important; }
- .push-6 {
- position: relative;
- left: 50%;
- right: auto; }
+@media print {
+ * {
+ background: transparent !important;
+ color: black !important;
+ -webkit-box-shadow: none !important;
+ box-shadow: none !important;
+ text-shadow: none !important; }
+ .show-for-print {
+ display: block !important; }
+ .hide-for-print {
+ display: none !important; }
+ table.show-for-print {
+ display: table !important; }
+ thead.show-for-print {
+ display: table-header-group !important; }
+ tbody.show-for-print {
+ display: table-row-group !important; }
+ tr.show-for-print {
+ display: table-row !important; }
+ td.show-for-print {
+ display: table-cell !important; }
+ th.show-for-print {
+ display: table-cell !important; }
+ a,
+ a:visited {
+ text-decoration: underline; }
+ a[href]:after {
+ content: " (" attr(href) ")"; }
+ .ir a:after,
+ a[href^='javascript:']:after,
+ a[href^='#']:after {
+ content: ''; }
+ abbr[title]:after {
+ content: " (" attr(title) ")"; }
+ pre,
+ blockquote {
+ border: 1px solid #8a8a8a;
+ page-break-inside: avoid; }
+ thead {
+ display: table-header-group; }
+ tr,
+ img {
+ page-break-inside: avoid; }
+ img {
+ max-width: 100% !important; }
+ @page {
+ margin: 0.5cm; }
+ p,
+ h2,
+ h3 {
+ orphans: 3;
+ widows: 3; }
+ h2,
+ h3 {
+ page-break-after: avoid; } }
- .pull-6 {
- position: relative;
- right: 50%;
- left: auto; }
+[type='text'], [type='password'], [type='date'], [type='datetime'], [type='datetime-local'], [type='month'], [type='week'], [type='email'], [type='number'], [type='search'], [type='tel'], [type='time'], [type='url'], [type='color'],
+textarea {
+ display: block;
+ -webkit-box-sizing: border-box;
+ box-sizing: border-box;
+ width: 100%;
+ height: 2.4375rem;
+ padding: 0.5rem;
+ border: 1px solid #cacaca;
+ margin: 0 0 1rem;
+ font-family: inherit;
+ font-size: 1rem;
+ color: #0a0a0a;
+ background-color: #fefefe;
+ -webkit-box-shadow: inset 0 1px 2px rgba(10, 10, 10, 0.1);
+ box-shadow: inset 0 1px 2px rgba(10, 10, 10, 0.1);
+ border-radius: 0;
+ -webkit-transition: -webkit-box-shadow 0.5s, border-color 0.25s ease-in-out;
+ transition: box-shadow 0.5s, border-color 0.25s ease-in-out;
+ -webkit-appearance: none;
+ -moz-appearance: none; }
+ [type='text']:focus, [type='password']:focus, [type='date']:focus, [type='datetime']:focus, [type='datetime-local']:focus, [type='month']:focus, [type='week']:focus, [type='email']:focus, [type='number']:focus, [type='search']:focus, [type='tel']:focus, [type='time']:focus, [type='url']:focus, [type='color']:focus,
+ textarea:focus {
+ border: 1px solid #8a8a8a;
+ background-color: #fefefe;
+ outline: none;
+ -webkit-box-shadow: 0 0 5px #cacaca;
+ box-shadow: 0 0 5px #cacaca;
+ -webkit-transition: -webkit-box-shadow 0.5s, border-color 0.25s ease-in-out;
+ transition: box-shadow 0.5s, border-color 0.25s ease-in-out; }
- .push-7 {
- position: relative;
- left: 58.33333%;
- right: auto; }
+textarea {
+ max-width: 100%; }
+ textarea[rows] {
+ height: auto; }
- .pull-7 {
- position: relative;
- right: 58.33333%;
- left: auto; }
+input::-webkit-input-placeholder,
+textarea::-webkit-input-placeholder {
+ color: #cacaca; }
- .push-8 {
- position: relative;
- left: 66.66667%;
- right: auto; }
+input::-moz-placeholder,
+textarea::-moz-placeholder {
+ color: #cacaca; }
- .pull-8 {
- position: relative;
- right: 66.66667%;
- left: auto; }
+input:-ms-input-placeholder,
+textarea:-ms-input-placeholder {
+ color: #cacaca; }
- .push-9 {
- position: relative;
- left: 75%;
- right: auto; }
+input::placeholder,
+textarea::placeholder {
+ color: #cacaca; }
- .pull-9 {
- position: relative;
- right: 75%;
- left: auto; }
+input:disabled, input[readonly],
+textarea:disabled,
+textarea[readonly] {
+ background-color: #e6e6e6;
+ cursor: not-allowed; }
- .push-10 {
- position: relative;
- left: 83.33333%;
- right: auto; }
+[type='submit'],
+[type='button'] {
+ border-radius: 0;
+ -webkit-appearance: none;
+ -moz-appearance: none; }
- .pull-10 {
- position: relative;
- right: 83.33333%;
- left: auto; }
+input[type='search'] {
+ -webkit-box-sizing: border-box;
+ box-sizing: border-box; }
- .push-11 {
- position: relative;
- left: 91.66667%;
- right: auto; }
+[type='file'],
+[type='checkbox'],
+[type='radio'] {
+ margin: 0 0 1rem; }
- .pull-11 {
- position: relative;
- right: 91.66667%;
- left: auto; } }
-button, .button {
- -webkit-appearance: none;
- -moz-appearance: none;
- border-radius: 0;
- border-style: solid;
- border-width: 0;
- cursor: pointer;
- font-family: "Helvetica Neue", Helvetica, Roboto, Arial, sans-serif;
- font-weight: normal;
- line-height: normal;
- margin: 0 0 1.25rem;
- position: relative;
- text-align: center;
- text-decoration: none;
+[type='checkbox'] + label,
+[type='radio'] + label {
display: inline-block;
- padding: 1rem 2rem 1.0625rem 2rem;
- font-size: 1rem;
- background-color: #008CBA;
- border-color: #007095;
- color: #FFFFFF;
- transition: background-color 300ms ease-out; }
- button:hover, button:focus, .button:hover, .button:focus {
- background-color: #007095; }
- button:hover, button:focus, .button:hover, .button:focus {
- color: #FFFFFF; }
- button.secondary, .button.secondary {
- background-color: #e7e7e7;
- border-color: #b9b9b9;
- color: #333333; }
- button.secondary:hover, button.secondary:focus, .button.secondary:hover, .button.secondary:focus {
- background-color: #b9b9b9; }
- button.secondary:hover, button.secondary:focus, .button.secondary:hover, .button.secondary:focus {
- color: #333333; }
- button.success, .button.success {
- background-color: #43AC6A;
- border-color: #368a55;
- color: #FFFFFF; }
- button.success:hover, button.success:focus, .button.success:hover, .button.success:focus {
- background-color: #368a55; }
- button.success:hover, button.success:focus, .button.success:hover, .button.success:focus {
- color: #FFFFFF; }
- button.alert, .button.alert {
- background-color: #f04124;
- border-color: #cf2a0e;
- color: #FFFFFF; }
- button.alert:hover, button.alert:focus, .button.alert:hover, .button.alert:focus {
- background-color: #cf2a0e; }
- button.alert:hover, button.alert:focus, .button.alert:hover, .button.alert:focus {
- color: #FFFFFF; }
- button.warning, .button.warning {
- background-color: #f08a24;
- border-color: #cf6e0e;
- color: #FFFFFF; }
- button.warning:hover, button.warning:focus, .button.warning:hover, .button.warning:focus {
- background-color: #cf6e0e; }
- button.warning:hover, button.warning:focus, .button.warning:hover, .button.warning:focus {
- color: #FFFFFF; }
- button.info, .button.info {
- background-color: #a0d3e8;
- border-color: #61b6d9;
- color: #333333; }
- button.info:hover, button.info:focus, .button.info:hover, .button.info:focus {
- background-color: #61b6d9; }
- button.info:hover, button.info:focus, .button.info:hover, .button.info:focus {
- color: #FFFFFF; }
- button.large, .button.large {
- padding: 1.125rem 2.25rem 1.1875rem 2.25rem;
- font-size: 1.25rem; }
- button.small, .button.small {
- padding: 0.875rem 1.75rem 0.9375rem 1.75rem;
- font-size: 0.8125rem; }
- button.tiny, .button.tiny {
- padding: 0.625rem 1.25rem 0.6875rem 1.25rem;
- font-size: 0.6875rem; }
- button.expand, .button.expand {
- padding-left: 0;
- padding-right: 0;
- width: 100%; }
- button.left-align, .button.left-align {
- text-align: left;
- text-indent: 0.75rem; }
- button.right-align, .button.right-align {
- text-align: right;
- padding-right: 0.75rem; }
- button.radius, .button.radius {
- border-radius: 3px; }
- button.round, .button.round {
- border-radius: 1000px; }
- button.disabled, button[disabled], .button.disabled, .button[disabled] {
- background-color: #008CBA;
- border-color: #007095;
- color: #FFFFFF;
- box-shadow: none;
- cursor: default;
- opacity: 0.7; }
- button.disabled:hover, button.disabled:focus, button[disabled]:hover, button[disabled]:focus, .button.disabled:hover, .button.disabled:focus, .button[disabled]:hover, .button[disabled]:focus {
- background-color: #007095; }
- button.disabled:hover, button.disabled:focus, button[disabled]:hover, button[disabled]:focus, .button.disabled:hover, .button.disabled:focus, .button[disabled]:hover, .button[disabled]:focus {
- color: #FFFFFF; }
- button.disabled:hover, button.disabled:focus, button[disabled]:hover, button[disabled]:focus, .button.disabled:hover, .button.disabled:focus, .button[disabled]:hover, .button[disabled]:focus {
- background-color: #008CBA; }
- button.disabled.secondary, button[disabled].secondary, .button.disabled.secondary, .button[disabled].secondary {
- background-color: #e7e7e7;
- border-color: #b9b9b9;
- color: #333333;
- box-shadow: none;
- cursor: default;
- opacity: 0.7; }
- button.disabled.secondary:hover, button.disabled.secondary:focus, button[disabled].secondary:hover, button[disabled].secondary:focus, .button.disabled.secondary:hover, .button.disabled.secondary:focus, .button[disabled].secondary:hover, .button[disabled].secondary:focus {
- background-color: #b9b9b9; }
- button.disabled.secondary:hover, button.disabled.secondary:focus, button[disabled].secondary:hover, button[disabled].secondary:focus, .button.disabled.secondary:hover, .button.disabled.secondary:focus, .button[disabled].secondary:hover, .button[disabled].secondary:focus {
- color: #333333; }
- button.disabled.secondary:hover, button.disabled.secondary:focus, button[disabled].secondary:hover, button[disabled].secondary:focus, .button.disabled.secondary:hover, .button.disabled.secondary:focus, .button[disabled].secondary:hover, .button[disabled].secondary:focus {
- background-color: #e7e7e7; }
- button.disabled.success, button[disabled].success, .button.disabled.success, .button[disabled].success {
- background-color: #43AC6A;
- border-color: #368a55;
- color: #FFFFFF;
- box-shadow: none;
- cursor: default;
- opacity: 0.7; }
- button.disabled.success:hover, button.disabled.success:focus, button[disabled].success:hover, button[disabled].success:focus, .button.disabled.success:hover, .button.disabled.success:focus, .button[disabled].success:hover, .button[disabled].success:focus {
- background-color: #368a55; }
- button.disabled.success:hover, button.disabled.success:focus, button[disabled].success:hover, button[disabled].success:focus, .button.disabled.success:hover, .button.disabled.success:focus, .button[disabled].success:hover, .button[disabled].success:focus {
- color: #FFFFFF; }
- button.disabled.success:hover, button.disabled.success:focus, button[disabled].success:hover, button[disabled].success:focus, .button.disabled.success:hover, .button.disabled.success:focus, .button[disabled].success:hover, .button[disabled].success:focus {
- background-color: #43AC6A; }
- button.disabled.alert, button[disabled].alert, .button.disabled.alert, .button[disabled].alert {
- background-color: #f04124;
- border-color: #cf2a0e;
- color: #FFFFFF;
- box-shadow: none;
- cursor: default;
- opacity: 0.7; }
- button.disabled.alert:hover, button.disabled.alert:focus, button[disabled].alert:hover, button[disabled].alert:focus, .button.disabled.alert:hover, .button.disabled.alert:focus, .button[disabled].alert:hover, .button[disabled].alert:focus {
- background-color: #cf2a0e; }
- button.disabled.alert:hover, button.disabled.alert:focus, button[disabled].alert:hover, button[disabled].alert:focus, .button.disabled.alert:hover, .button.disabled.alert:focus, .button[disabled].alert:hover, .button[disabled].alert:focus {
- color: #FFFFFF; }
- button.disabled.alert:hover, button.disabled.alert:focus, button[disabled].alert:hover, button[disabled].alert:focus, .button.disabled.alert:hover, .button.disabled.alert:focus, .button[disabled].alert:hover, .button[disabled].alert:focus {
- background-color: #f04124; }
- button.disabled.warning, button[disabled].warning, .button.disabled.warning, .button[disabled].warning {
- background-color: #f08a24;
- border-color: #cf6e0e;
- color: #FFFFFF;
- box-shadow: none;
- cursor: default;
- opacity: 0.7; }
- button.disabled.warning:hover, button.disabled.warning:focus, button[disabled].warning:hover, button[disabled].warning:focus, .button.disabled.warning:hover, .button.disabled.warning:focus, .button[disabled].warning:hover, .button[disabled].warning:focus {
- background-color: #cf6e0e; }
- button.disabled.warning:hover, button.disabled.warning:focus, button[disabled].warning:hover, button[disabled].warning:focus, .button.disabled.warning:hover, .button.disabled.warning:focus, .button[disabled].warning:hover, .button[disabled].warning:focus {
- color: #FFFFFF; }
- button.disabled.warning:hover, button.disabled.warning:focus, button[disabled].warning:hover, button[disabled].warning:focus, .button.disabled.warning:hover, .button.disabled.warning:focus, .button[disabled].warning:hover, .button[disabled].warning:focus {
- background-color: #f08a24; }
- button.disabled.info, button[disabled].info, .button.disabled.info, .button[disabled].info {
- background-color: #a0d3e8;
- border-color: #61b6d9;
- color: #333333;
- box-shadow: none;
- cursor: default;
- opacity: 0.7; }
- button.disabled.info:hover, button.disabled.info:focus, button[disabled].info:hover, button[disabled].info:focus, .button.disabled.info:hover, .button.disabled.info:focus, .button[disabled].info:hover, .button[disabled].info:focus {
- background-color: #61b6d9; }
- button.disabled.info:hover, button.disabled.info:focus, button[disabled].info:hover, button[disabled].info:focus, .button.disabled.info:hover, .button.disabled.info:focus, .button[disabled].info:hover, .button[disabled].info:focus {
- color: #FFFFFF; }
- button.disabled.info:hover, button.disabled.info:focus, button[disabled].info:hover, button[disabled].info:focus, .button.disabled.info:hover, .button.disabled.info:focus, .button[disabled].info:hover, .button[disabled].info:focus {
- background-color: #a0d3e8; }
-
-button::-moz-focus-inner {
- border: 0;
- padding: 0; }
+ margin-left: 0.5rem;
+ margin-right: 1rem;
+ margin-bottom: 0;
+ vertical-align: baseline; }
+ [type='checkbox'] + label[for],
+ [type='radio'] + label[for] {
+ cursor: pointer; }
-@media only screen and (min-width: 40.0625em) {
- button, .button {
- display: inline-block; } }
-/* Standard Forms */
-form {
- margin: 0 0 1rem; }
+label > [type='checkbox'],
+label > [type='radio'] {
+ margin-right: 0.5rem; }
+
+[type='file'] {
+ width: 100%; }
-/* Using forms within rows, we need to set some defaults */
-form .row .row {
- margin: 0 -0.5rem; }
- form .row .row .column,
- form .row .row .columns {
- padding: 0 0.5rem; }
- form .row .row.collapse {
- margin: 0; }
- form .row .row.collapse .column,
- form .row .row.collapse .columns {
- padding: 0; }
- form .row .row.collapse input {
- -webkit-border-bottom-right-radius: 0;
- -webkit-border-top-right-radius: 0;
- border-bottom-right-radius: 0;
- border-top-right-radius: 0; }
-form .row input.column,
-form .row input.columns,
-form .row textarea.column,
-form .row textarea.columns {
- padding-left: 0.5rem; }
-
-/* Label Styles */
label {
- color: #4d4d4d;
- cursor: pointer;
display: block;
+ margin: 0;
font-size: 0.875rem;
font-weight: normal;
- line-height: 1.5;
- margin-bottom: 0;
- /* Styles for required inputs */ }
- label.right {
- float: none !important;
- text-align: right; }
- label.inline {
- margin: 0 0 1rem 0;
+ line-height: 1.8;
+ color: #0a0a0a; }
+ label.middle {
+ margin: 0 0 1rem;
padding: 0.5625rem 0; }
- label small {
- text-transform: capitalize;
- color: #676767; }
-
-/* Attach elements to the beginning or end of an input */
-.prefix,
-.postfix {
- border-style: solid;
- border-width: 1px;
- display: block;
- font-size: 0.875rem;
- height: 2.3125rem;
- line-height: 2.3125rem;
- overflow: visible;
- padding-bottom: 0;
- padding-top: 0;
- position: relative;
- text-align: center;
- width: 100%;
- z-index: 2; }
-/* Adjust padding, alignment and radius if pre/post element is a button */
-.postfix.button {
- border-color: true; }
-
-.prefix.button {
- border: none;
- padding-left: 0;
- padding-right: 0;
- padding-bottom: 0;
- padding-top: 0;
- text-align: center; }
+.help-text {
+ margin-top: -0.5rem;
+ font-size: 0.8125rem;
+ font-style: italic;
+ color: #0a0a0a; }
-.prefix.button.radius {
- border-radius: 0;
- -webkit-border-bottom-left-radius: 3px;
- -webkit-border-top-left-radius: 3px;
- border-bottom-left-radius: 3px;
- border-top-left-radius: 3px; }
+.input-group {
+ display: table;
+ width: 100%;
+ margin-bottom: 1rem; }
+ .input-group > :first-child {
+ border-radius: 0 0 0 0; }
+ .input-group > :last-child > * {
+ border-radius: 0 0 0 0; }
-.postfix.button.radius {
- border-radius: 0;
- -webkit-border-bottom-right-radius: 3px;
- -webkit-border-top-right-radius: 3px;
- border-bottom-right-radius: 3px;
- border-top-right-radius: 3px; }
+.input-group-label, .input-group-field, .input-group-button {
+ margin: 0;
+ white-space: nowrap;
+ display: table-cell;
+ vertical-align: middle; }
-.prefix.button.round {
- border-radius: 0;
- -webkit-border-bottom-left-radius: 1000px;
- -webkit-border-top-left-radius: 1000px;
- border-bottom-left-radius: 1000px;
- border-top-left-radius: 1000px; }
+.input-group-label {
+ text-align: center;
+ padding: 0 1rem;
+ background: #e6e6e6;
+ color: #0a0a0a;
+ border: 1px solid #cacaca;
+ white-space: nowrap;
+ width: 1%;
+ height: 100%; }
+ .input-group-label:first-child {
+ border-right: 0; }
+ .input-group-label:last-child {
+ border-left: 0; }
-.postfix.button.round {
+.input-group-field {
border-radius: 0;
- -webkit-border-bottom-right-radius: 1000px;
- -webkit-border-top-right-radius: 1000px;
- border-bottom-right-radius: 1000px;
- border-top-right-radius: 1000px; }
-
-/* Separate prefix and postfix styles when on span or label so buttons keep their own */
-span.prefix, label.prefix {
- background: #f2f2f2;
- border-right: none;
- color: #333333;
- border-color: #cccccc; }
-
-span.postfix, label.postfix {
- background: #f2f2f2;
- color: #333333;
- border-color: #cccccc; }
-
-/* We use this to get basic styling on all basic form elements */
-input[type="text"], input[type="password"], input[type="date"], input[type="datetime"], input[type="datetime-local"], input[type="month"], input[type="week"], input[type="email"], input[type="number"], input[type="search"], input[type="tel"], input[type="time"], input[type="url"], input[type="color"], textarea {
- -webkit-appearance: none;
- -moz-appearance: none;
- border-radius: 0;
- background-color: #FFFFFF;
- border-style: solid;
- border-width: 1px;
- border-color: #cccccc;
- box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);
- color: rgba(0, 0, 0, 0.75);
- display: block;
- font-family: inherit;
- font-size: 0.875rem;
- height: 2.3125rem;
- margin: 0 0 1rem 0;
- padding: 0.5rem;
- width: 100%;
- -webkit-box-sizing: border-box;
- -moz-box-sizing: border-box;
- box-sizing: border-box;
- -webkit-transition: border-color 0.15s linear, background 0.15s linear;
- -moz-transition: border-color 0.15s linear, background 0.15s linear;
- -ms-transition: border-color 0.15s linear, background 0.15s linear;
- -o-transition: border-color 0.15s linear, background 0.15s linear;
- transition: border-color 0.15s linear, background 0.15s linear; }
- input[type="text"]:focus, input[type="password"]:focus, input[type="date"]:focus, input[type="datetime"]:focus, input[type="datetime-local"]:focus, input[type="month"]:focus, input[type="week"]:focus, input[type="email"]:focus, input[type="number"]:focus, input[type="search"]:focus, input[type="tel"]:focus, input[type="time"]:focus, input[type="url"]:focus, input[type="color"]:focus, textarea:focus {
- background: #fafafa;
- border-color: #999999;
- outline: none; }
- input[type="text"]:disabled, input[type="password"]:disabled, input[type="date"]:disabled, input[type="datetime"]:disabled, input[type="datetime-local"]:disabled, input[type="month"]:disabled, input[type="week"]:disabled, input[type="email"]:disabled, input[type="number"]:disabled, input[type="search"]:disabled, input[type="tel"]:disabled, input[type="time"]:disabled, input[type="url"]:disabled, input[type="color"]:disabled, textarea:disabled {
- background-color: #DDDDDD;
- cursor: default; }
- input[type="text"][disabled], input[type="text"][readonly], fieldset[disabled] input[type="text"], input[type="password"][disabled], input[type="password"][readonly], fieldset[disabled] input[type="password"], input[type="date"][disabled], input[type="date"][readonly], fieldset[disabled] input[type="date"], input[type="datetime"][disabled], input[type="datetime"][readonly], fieldset[disabled] input[type="datetime"], input[type="datetime-local"][disabled], input[type="datetime-local"][readonly], fieldset[disabled] input[type="datetime-local"], input[type="month"][disabled], input[type="month"][readonly], fieldset[disabled] input[type="month"], input[type="week"][disabled], input[type="week"][readonly], fieldset[disabled] input[type="week"], input[type="email"][disabled], input[type="email"][readonly], fieldset[disabled] input[type="email"], input[type="number"][disabled], input[type="number"][readonly], fieldset[disabled] input[type="number"], input[type="search"][disabled], input[type="search"][readonly], fieldset[disabled] input[type="search"], input[type="tel"][disabled], input[type="tel"][readonly], fieldset[disabled] input[type="tel"], input[type="time"][disabled], input[type="time"][readonly], fieldset[disabled] input[type="time"], input[type="url"][disabled], input[type="url"][readonly], fieldset[disabled] input[type="url"], input[type="color"][disabled], input[type="color"][readonly], fieldset[disabled] input[type="color"], textarea[disabled], textarea[readonly], fieldset[disabled] textarea {
- background-color: #DDDDDD;
- cursor: default; }
- input[type="text"].radius, input[type="password"].radius, input[type="date"].radius, input[type="datetime"].radius, input[type="datetime-local"].radius, input[type="month"].radius, input[type="week"].radius, input[type="email"].radius, input[type="number"].radius, input[type="search"].radius, input[type="tel"].radius, input[type="time"].radius, input[type="url"].radius, input[type="color"].radius, textarea.radius {
- border-radius: 3px; }
+ height: 2.5rem; }
-form .row .prefix-radius.row.collapse input,
-form .row .prefix-radius.row.collapse textarea,
-form .row .prefix-radius.row.collapse select,
-form .row .prefix-radius.row.collapse button {
- border-radius: 0;
- -webkit-border-bottom-right-radius: 3px;
- -webkit-border-top-right-radius: 3px;
- border-bottom-right-radius: 3px;
- border-top-right-radius: 3px; }
-form .row .prefix-radius.row.collapse .prefix {
- border-radius: 0;
- -webkit-border-bottom-left-radius: 3px;
- -webkit-border-top-left-radius: 3px;
- border-bottom-left-radius: 3px;
- border-top-left-radius: 3px; }
-form .row .postfix-radius.row.collapse input,
-form .row .postfix-radius.row.collapse textarea,
-form .row .postfix-radius.row.collapse select,
-form .row .postfix-radius.row.collapse button {
- border-radius: 0;
- -webkit-border-bottom-left-radius: 3px;
- -webkit-border-top-left-radius: 3px;
- border-bottom-left-radius: 3px;
- border-top-left-radius: 3px; }
-form .row .postfix-radius.row.collapse .postfix {
- border-radius: 0;
- -webkit-border-bottom-right-radius: 3px;
- -webkit-border-top-right-radius: 3px;
- border-bottom-right-radius: 3px;
- border-top-right-radius: 3px; }
-form .row .prefix-round.row.collapse input,
-form .row .prefix-round.row.collapse textarea,
-form .row .prefix-round.row.collapse select,
-form .row .prefix-round.row.collapse button {
- border-radius: 0;
- -webkit-border-bottom-right-radius: 1000px;
- -webkit-border-top-right-radius: 1000px;
- border-bottom-right-radius: 1000px;
- border-top-right-radius: 1000px; }
-form .row .prefix-round.row.collapse .prefix {
- border-radius: 0;
- -webkit-border-bottom-left-radius: 1000px;
- -webkit-border-top-left-radius: 1000px;
- border-bottom-left-radius: 1000px;
- border-top-left-radius: 1000px; }
-form .row .postfix-round.row.collapse input,
-form .row .postfix-round.row.collapse textarea,
-form .row .postfix-round.row.collapse select,
-form .row .postfix-round.row.collapse button {
- border-radius: 0;
- -webkit-border-bottom-left-radius: 1000px;
- -webkit-border-top-left-radius: 1000px;
- border-bottom-left-radius: 1000px;
- border-top-left-radius: 1000px; }
-form .row .postfix-round.row.collapse .postfix {
- border-radius: 0;
- -webkit-border-bottom-right-radius: 1000px;
- -webkit-border-top-right-radius: 1000px;
- border-bottom-right-radius: 1000px;
- border-top-right-radius: 1000px; }
+.input-group-button {
+ padding-top: 0;
+ padding-bottom: 0;
+ text-align: center;
+ height: 100%;
+ width: 1%; }
+ .input-group-button a,
+ .input-group-button input,
+ .input-group-button button {
+ margin: 0; }
-input[type="submit"] {
- -webkit-appearance: none;
- -moz-appearance: none;
- border-radius: 0; }
+.input-group .input-group-button {
+ display: table-cell; }
-/* Respect enforced amount of rows for textarea */
-textarea[rows] {
- height: auto; }
+fieldset {
+ border: 0;
+ padding: 0;
+ margin: 0; }
-/* Not allow resize out of parent */
-textarea {
+legend {
+ margin-bottom: 0.5rem;
max-width: 100%; }
-::-webkit-input-placeholder {
- color: #cccccc; }
-
-:-moz-placeholder {
- /* Firefox 18- */
- color: #cccccc; }
-
-::-moz-placeholder {
- /* Firefox 19+ */
- color: #cccccc; }
-
-:-ms-input-placeholder {
- color: #cccccc; }
+.fieldset {
+ border: 1px solid #cacaca;
+ padding: 1.25rem;
+ margin: 1.125rem 0; }
+ .fieldset legend {
+ background: #fefefe;
+ padding: 0 0.1875rem;
+ margin: 0;
+ margin-left: -0.1875rem; }
-/* Add height value for select elements to match text input height */
select {
- -webkit-appearance: none !important;
- -moz-appearance: none !important;
- background-color: #FAFAFA;
- border-radius: 0;
- background-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZlcnNpb249IjEuMSIgeD0iMTJweCIgeT0iMHB4IiB3aWR0aD0iMjRweCIgaGVpZ2h0PSIzcHgiIHZpZXdCb3g9IjAgMCA2IDMiIGVuYWJsZS1iYWNrZ3JvdW5kPSJuZXcgMCAwIDYgMyIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSI+PHBvbHlnb24gcG9pbnRzPSI1Ljk5MiwwIDIuOTkyLDMgLTAuMDA4LDAgIi8+PC9zdmc+);
- background-position: 100% center;
- background-repeat: no-repeat;
- border-style: solid;
- border-width: 1px;
- border-color: #cccccc;
- color: rgba(0, 0, 0, 0.75);
+ height: 2.4375rem;
+ padding: 0.5rem;
+ border: 1px solid #cacaca;
+ margin: 0 0 1rem;
+ font-size: 1rem;
font-family: inherit;
- font-size: 0.875rem;
line-height: normal;
- padding: 0.5rem;
+ color: #0a0a0a;
+ background-color: #fefefe;
border-radius: 0;
- height: 2.3125rem; }
+ -webkit-appearance: none;
+ -moz-appearance: none;
+ background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' version='1.1' width='32' height='24' viewBox='0 0 32 24'><polygon points='0,0 32,0 16,24' style='fill: rgb%28138, 138, 138%29'></polygon></svg>");
+ -webkit-background-size: 9px 6px;
+ background-size: 9px 6px;
+ background-position: right -1rem center;
+ -webkit-background-origin: content-box;
+ background-origin: content-box;
+ background-repeat: no-repeat;
+ padding-right: 1.5rem; }
+ @media screen and (min-width: 0\0) {
+ select {
+ background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAYCAYAAACbU/80AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAIpJREFUeNrEkckNgDAMBBfRkEt0ObRBBdsGXUDgmQfK4XhH2m8czQAAy27R3tsw4Qfe2x8uOO6oYLb6GlOor3GF+swURAOmUJ+RwtEJs9WvTGEYxBXqI1MQAZhCfUQKRzDMVj+TwrAIV6jvSUEkYAr1LSkcyTBb/V+KYfX7xAeusq3sLDtGH3kEGACPWIflNZfhRQAAAABJRU5ErkJggg=="); } }
+ select:disabled {
+ background-color: #e6e6e6;
+ cursor: not-allowed; }
select::-ms-expand {
display: none; }
- select.radius {
- border-radius: 3px; }
- select:hover {
- background-color: #f3f3f3;
- border-color: #999999; }
- select:disabled {
- background-color: #DDDDDD;
- cursor: default; }
select[multiple] {
- height: auto; }
-
-/* Adjust margin for form elements below */
-input[type="file"],
-input[type="checkbox"],
-input[type="radio"],
-select {
- margin: 0 0 1rem 0; }
-
-input[type="checkbox"] + label,
-input[type="radio"] + label {
- display: inline-block;
- margin-left: 0.5rem;
- margin-right: 1rem;
- margin-bottom: 0;
- vertical-align: baseline; }
-
-/* Normalize file input width */
-input[type="file"] {
- width: 100%; }
+ height: auto;
+ background-image: none; }
-/* HTML5 Number spinners settings */
-/* We add basic fieldset styling */
-fieldset {
- border: 1px solid #DDDDDD;
- margin: 1.125rem 0;
- padding: 1.25rem; }
- fieldset legend {
- background: #FFFFFF;
- font-weight: bold;
- margin-left: -0.1875rem;
- margin: 0;
- padding: 0 0.1875rem; }
+.is-invalid-input:not(:focus) {
+ background-color: rgba(236, 88, 64, 0.1);
+ border-color: #ec5840; }
-/* Error Handling */
-[data-abide] .error small.error, [data-abide] .error span.error, [data-abide] span.error, [data-abide] small.error {
- display: block;
- font-size: 0.75rem;
- font-style: italic;
- font-weight: normal;
- margin-bottom: 1rem;
- margin-top: -1px;
- padding: 0.375rem 0.5625rem 0.5625rem;
- background: #f04124;
- color: #FFFFFF; }
-[data-abide] span.error, [data-abide] small.error {
- display: none; }
+.is-invalid-label {
+ color: #ec5840; }
-span.error, small.error {
- display: block;
- font-size: 0.75rem;
- font-style: italic;
- font-weight: normal;
+.form-error {
+ display: none;
+ margin-top: -0.5rem;
margin-bottom: 1rem;
- margin-top: -1px;
- padding: 0.375rem 0.5625rem 0.5625rem;
- background: #f04124;
- color: #FFFFFF; }
-
-.error input,
-.error textarea,
-.error select {
- margin-bottom: 0; }
-.error input[type="checkbox"],
-.error input[type="radio"] {
- margin-bottom: 1rem; }
-.error label,
-.error label.error {
- color: #f04124; }
-.error small.error {
- display: block;
font-size: 0.75rem;
- font-style: italic;
- font-weight: normal;
- margin-bottom: 1rem;
- margin-top: -1px;
- padding: 0.375rem 0.5625rem 0.5625rem;
- background: #f04124;
- color: #FFFFFF; }
-.error > label > small {
- background: transparent;
- color: #676767;
- display: inline;
- font-size: 60%;
- font-style: normal;
- margin: 0;
- padding: 0;
- text-transform: capitalize; }
-.error span.error-message {
- display: block; }
+ font-weight: bold;
+ color: #ec5840; }
+ .form-error.is-visible {
+ display: block; }
-input.error,
-textarea.error,
-select.error {
- margin-bottom: 0; }
+.button {
+ display: inline-block;
+ text-align: center;
+ line-height: 1;
+ cursor: pointer;
+ -webkit-appearance: none;
+ -webkit-transition: background-color 0.25s ease-out, color 0.25s ease-out;
+ transition: background-color 0.25s ease-out, color 0.25s ease-out;
+ vertical-align: middle;
+ border: 1px solid transparent;
+ border-radius: 0;
+ padding: 0.85em 1em;
+ margin: 0 0 1rem 0;
+ font-size: 0.9rem;
+ background-color: #2199e8;
+ color: #fefefe; }
+ [data-whatinput='mouse'] .button {
+ outline: 0; }
+ .button:hover, .button:focus {
+ background-color: #1583cc;
+ color: #fefefe; }
+ .button.tiny {
+ font-size: 0.6rem; }
+ .button.small {
+ font-size: 0.75rem; }
+ .button.large {
+ font-size: 1.25rem; }
+ .button.expanded {
+ display: block;
+ width: 100%;
+ margin-left: 0;
+ margin-right: 0; }
+ .button.primary {
+ background-color: #2199e8;
+ color: #fefefe; }
+ .button.primary:hover, .button.primary:focus {
+ background-color: #147cc0;
+ color: #fefefe; }
+ .button.secondary {
+ background-color: #777;
+ color: #fefefe; }
+ .button.secondary:hover, .button.secondary:focus {
+ background-color: #5f5f5f;
+ color: #fefefe; }
+ .button.success {
+ background-color: #3adb76;
+ color: #fefefe; }
+ .button.success:hover, .button.success:focus {
+ background-color: #22bb5b;
+ color: #fefefe; }
+ .button.warning {
+ background-color: #ffae00;
+ color: #fefefe; }
+ .button.warning:hover, .button.warning:focus {
+ background-color: #cc8b00;
+ color: #fefefe; }
+ .button.alert {
+ background-color: #ec5840;
+ color: #fefefe; }
+ .button.alert:hover, .button.alert:focus {
+ background-color: #da3116;
+ color: #fefefe; }
+ .button.hollow {
+ border: 1px solid #2199e8;
+ color: #2199e8; }
+ .button.hollow, .button.hollow:hover, .button.hollow:focus {
+ background-color: transparent; }
+ .button.hollow:hover, .button.hollow:focus {
+ border-color: #0c4d78;
+ color: #0c4d78; }
+ .button.hollow.primary {
+ border: 1px solid #2199e8;
+ color: #2199e8; }
+ .button.hollow.primary:hover, .button.hollow.primary:focus {
+ border-color: #0c4d78;
+ color: #0c4d78; }
+ .button.hollow.secondary {
+ border: 1px solid #777;
+ color: #777; }
+ .button.hollow.secondary:hover, .button.hollow.secondary:focus {
+ border-color: #3c3c3c;
+ color: #3c3c3c; }
+ .button.hollow.success {
+ border: 1px solid #3adb76;
+ color: #3adb76; }
+ .button.hollow.success:hover, .button.hollow.success:focus {
+ border-color: #157539;
+ color: #157539; }
+ .button.hollow.warning {
+ border: 1px solid #ffae00;
+ color: #ffae00; }
+ .button.hollow.warning:hover, .button.hollow.warning:focus {
+ border-color: #805700;
+ color: #805700; }
+ .button.hollow.alert {
+ border: 1px solid #ec5840;
+ color: #ec5840; }
+ .button.hollow.alert:hover, .button.hollow.alert:focus {
+ border-color: #881f0e;
+ color: #881f0e; }
+ .button.disabled, .button[disabled] {
+ opacity: 0.25;
+ cursor: not-allowed; }
+ .button.disabled:hover, .button.disabled:focus, .button[disabled]:hover, .button[disabled]:focus {
+ background-color: #2199e8;
+ color: #fefefe; }
+ .button.dropdown::after {
+ content: '';
+ display: block;
+ width: 0;
+ height: 0;
+ border: inset 0.4em;
+ border-color: #fefefe transparent transparent;
+ border-top-style: solid;
+ border-bottom-width: 0;
+ position: relative;
+ top: 0.4em;
+ float: right;
+ margin-left: 1em;
+ display: inline-block; }
+ .button.arrow-only::after {
+ margin-left: 0;
+ float: none;
+ top: -0.1em; }
-label.error {
- color: #f04124; }
+.accordion {
+ list-style-type: none;
+ background: #fefefe;
+ margin-left: 0; }
-meta.foundation-mq-topbar {
- font-family: "/only screen and (min-width:40.0625em)/";
- width: 40.0625em; }
+.accordion-item:first-child > :first-child {
+ border-radius: 0 0 0 0; }
-/* Wrapped around .top-bar to contain to grid width */
-.contain-to-grid {
- width: 100%;
- background: #333333; }
- .contain-to-grid .top-bar {
- margin-bottom: 0; }
+.accordion-item:last-child > :last-child {
+ border-radius: 0 0 0 0; }
-.fixed {
- position: fixed;
- top: 0;
- width: 100%;
- z-index: 99;
- left: 0; }
- .fixed.expanded:not(.top-bar) {
- height: auto;
- max-height: 100%;
- overflow-y: auto;
- width: 100%; }
- .fixed.expanded:not(.top-bar) .title-area {
- position: fixed;
- width: 100%;
- z-index: 99; }
- .fixed.expanded:not(.top-bar) .top-bar-section {
- margin-top: 2.8125rem;
- z-index: 98; }
+.accordion-title {
+ display: block;
+ padding: 1.25rem 1rem;
+ line-height: 1;
+ font-size: 0.75rem;
+ color: #2199e8;
+ position: relative;
+ border: 1px solid #e6e6e6;
+ border-bottom: 0; }
+ :last-child:not(.is-active) > .accordion-title {
+ border-radius: 0 0 0 0;
+ border-bottom: 1px solid #e6e6e6; }
+ .accordion-title:hover, .accordion-title:focus {
+ background-color: #e6e6e6; }
+ .accordion-title::before {
+ content: '+';
+ position: absolute;
+ right: 1rem;
+ top: 50%;
+ margin-top: -0.5rem; }
+ .is-active > .accordion-title::before {
+ content: '–'; }
-.top-bar {
- background: #333333;
- height: 2.8125rem;
- line-height: 2.8125rem;
- margin-bottom: 0;
- overflow: hidden;
+.accordion-content {
+ padding: 1rem;
+ display: none;
+ border: 1px solid #e6e6e6;
+ border-bottom: 0;
+ background-color: #fefefe;
+ color: #0a0a0a; }
+ :last-child > .accordion-content:last-child {
+ border-bottom: 1px solid #e6e6e6; }
+
+.is-accordion-submenu-parent > a {
position: relative; }
- .top-bar ul {
- list-style: none;
- margin-bottom: 0; }
- .top-bar .row {
- max-width: none; }
- .top-bar form,
- .top-bar input,
- .top-bar select {
- margin-bottom: 0; }
- .top-bar input,
- .top-bar select {
- font-size: 0.75rem;
- height: 1.75rem;
- padding-bottom: .35rem;
- padding-top: .35rem; }
- .top-bar .button, .top-bar button {
- font-size: 0.75rem;
- margin-bottom: 0;
- padding-bottom: 0.4125rem;
- padding-top: 0.4125rem; }
- @media only screen and (max-width: 40em) {
- .top-bar .button, .top-bar button {
- position: relative;
- top: -1px; } }
- .top-bar .title-area {
- margin: 0;
- position: relative; }
- .top-bar .name {
- font-size: 16px;
- height: 2.8125rem;
- margin: 0; }
- .top-bar .name h1, .top-bar .name h2, .top-bar .name h3, .top-bar .name h4, .top-bar .name p, .top-bar .name span {
- font-size: 1.0625rem;
- line-height: 2.8125rem;
- margin: 0; }
- .top-bar .name h1 a, .top-bar .name h2 a, .top-bar .name h3 a, .top-bar .name h4 a, .top-bar .name p a, .top-bar .name span a {
- color: #FFFFFF;
- display: block;
- font-weight: normal;
- padding: 0 0.9375rem;
- width: 75%; }
- .top-bar .toggle-topbar {
- position: absolute;
- right: 0;
- top: 0; }
- .top-bar .toggle-topbar a {
- color: #FFFFFF;
- display: block;
- font-size: 0.8125rem;
- font-weight: bold;
- height: 2.8125rem;
- line-height: 2.8125rem;
- padding: 0 0.9375rem;
- position: relative;
- text-transform: uppercase; }
- .top-bar .toggle-topbar.menu-icon {
- margin-top: -16px;
- top: 50%; }
- .top-bar .toggle-topbar.menu-icon a {
- color: #FFFFFF;
- height: 34px;
- line-height: 33px;
- padding: 0 2.5rem 0 0.9375rem;
- position: relative; }
- .top-bar .toggle-topbar.menu-icon a span::after {
- content: "";
- display: block;
- height: 0;
- position: absolute;
- margin-top: -8px;
- top: 50%;
- right: 0.9375rem;
- box-shadow: 0 0 0 1px #FFFFFF, 0 7px 0 1px #FFFFFF, 0 14px 0 1px #FFFFFF;
- width: 16px; }
- .top-bar .toggle-topbar.menu-icon a span:hover:after {
- box-shadow: 0 0 0 1px "", 0 7px 0 1px "", 0 14px 0 1px ""; }
- .top-bar.expanded {
- background: transparent;
- height: auto; }
- .top-bar.expanded .title-area {
- background: #333333; }
- .top-bar.expanded .toggle-topbar a {
- color: #888888; }
- .top-bar.expanded .toggle-topbar a span::after {
- box-shadow: 0 0 0 1px #888888, 0 7px 0 1px #888888, 0 14px 0 1px #888888; }
- @media screen and (-webkit-min-device-pixel-ratio: 0) {
- .top-bar.expanded .top-bar-section .has-dropdown.moved > .dropdown,
- .top-bar.expanded .top-bar-section .dropdown {
- clip: initial; }
- .top-bar.expanded .top-bar-section .has-dropdown:not(.moved) > ul {
- padding: 0; } }
-
-.top-bar-section {
- left: 0;
- position: relative;
- width: auto;
- transition: left 300ms ease-out; }
- .top-bar-section ul {
- display: block;
- font-size: 16px;
- height: auto;
- margin: 0;
- padding: 0;
- width: 100%; }
- .top-bar-section .divider,
- .top-bar-section [role="separator"] {
- border-top: solid 1px #1a1a1a;
- clear: both;
- height: 1px;
- width: 100%; }
- .top-bar-section ul li {
- background: #333333; }
- .top-bar-section ul li > a {
- color: #FFFFFF;
- display: block;
- font-family: "Helvetica Neue", Helvetica, Roboto, Arial, sans-serif;
- font-size: 0.8125rem;
- font-weight: normal;
- padding-left: 0.9375rem;
- padding: 12px 0 12px 0.9375rem;
- text-transform: none;
- width: 100%; }
- .top-bar-section ul li > a.button {
- font-size: 0.8125rem;
- padding-left: 0.9375rem;
- padding-right: 0.9375rem;
- background-color: #008CBA;
- border-color: #007095;
- color: #FFFFFF; }
- .top-bar-section ul li > a.button:hover, .top-bar-section ul li > a.button:focus {
- background-color: #007095; }
- .top-bar-section ul li > a.button:hover, .top-bar-section ul li > a.button:focus {
- color: #FFFFFF; }
- .top-bar-section ul li > a.button.secondary {
- background-color: #e7e7e7;
- border-color: #b9b9b9;
- color: #333333; }
- .top-bar-section ul li > a.button.secondary:hover, .top-bar-section ul li > a.button.secondary:focus {
- background-color: #b9b9b9; }
- .top-bar-section ul li > a.button.secondary:hover, .top-bar-section ul li > a.button.secondary:focus {
- color: #333333; }
- .top-bar-section ul li > a.button.success {
- background-color: #43AC6A;
- border-color: #368a55;
- color: #FFFFFF; }
- .top-bar-section ul li > a.button.success:hover, .top-bar-section ul li > a.button.success:focus {
- background-color: #368a55; }
- .top-bar-section ul li > a.button.success:hover, .top-bar-section ul li > a.button.success:focus {
- color: #FFFFFF; }
- .top-bar-section ul li > a.button.alert {
- background-color: #f04124;
- border-color: #cf2a0e;
- color: #FFFFFF; }
- .top-bar-section ul li > a.button.alert:hover, .top-bar-section ul li > a.button.alert:focus {
- background-color: #cf2a0e; }
- .top-bar-section ul li > a.button.alert:hover, .top-bar-section ul li > a.button.alert:focus {
- color: #FFFFFF; }
- .top-bar-section ul li > a.button.warning {
- background-color: #f08a24;
- border-color: #cf6e0e;
- color: #FFFFFF; }
- .top-bar-section ul li > a.button.warning:hover, .top-bar-section ul li > a.button.warning:focus {
- background-color: #cf6e0e; }
- .top-bar-section ul li > a.button.warning:hover, .top-bar-section ul li > a.button.warning:focus {
- color: #FFFFFF; }
- .top-bar-section ul li > a.button.info {
- background-color: #a0d3e8;
- border-color: #61b6d9;
- color: #333333; }
- .top-bar-section ul li > a.button.info:hover, .top-bar-section ul li > a.button.info:focus {
- background-color: #61b6d9; }
- .top-bar-section ul li > a.button.info:hover, .top-bar-section ul li > a.button.info:focus {
- color: #FFFFFF; }
- .top-bar-section ul li > button {
- font-size: 0.8125rem;
- padding-left: 0.9375rem;
- padding-right: 0.9375rem;
- background-color: #008CBA;
- border-color: #007095;
- color: #FFFFFF; }
- .top-bar-section ul li > button:hover, .top-bar-section ul li > button:focus {
- background-color: #007095; }
- .top-bar-section ul li > button:hover, .top-bar-section ul li > button:focus {
- color: #FFFFFF; }
- .top-bar-section ul li > button.secondary {
- background-color: #e7e7e7;
- border-color: #b9b9b9;
- color: #333333; }
- .top-bar-section ul li > button.secondary:hover, .top-bar-section ul li > button.secondary:focus {
- background-color: #b9b9b9; }
- .top-bar-section ul li > button.secondary:hover, .top-bar-section ul li > button.secondary:focus {
- color: #333333; }
- .top-bar-section ul li > button.success {
- background-color: #43AC6A;
- border-color: #368a55;
- color: #FFFFFF; }
- .top-bar-section ul li > button.success:hover, .top-bar-section ul li > button.success:focus {
- background-color: #368a55; }
- .top-bar-section ul li > button.success:hover, .top-bar-section ul li > button.success:focus {
- color: #FFFFFF; }
- .top-bar-section ul li > button.alert {
- background-color: #f04124;
- border-color: #cf2a0e;
- color: #FFFFFF; }
- .top-bar-section ul li > button.alert:hover, .top-bar-section ul li > button.alert:focus {
- background-color: #cf2a0e; }
- .top-bar-section ul li > button.alert:hover, .top-bar-section ul li > button.alert:focus {
- color: #FFFFFF; }
- .top-bar-section ul li > button.warning {
- background-color: #f08a24;
- border-color: #cf6e0e;
- color: #FFFFFF; }
- .top-bar-section ul li > button.warning:hover, .top-bar-section ul li > button.warning:focus {
- background-color: #cf6e0e; }
- .top-bar-section ul li > button.warning:hover, .top-bar-section ul li > button.warning:focus {
- color: #FFFFFF; }
- .top-bar-section ul li > button.info {
- background-color: #a0d3e8;
- border-color: #61b6d9;
- color: #333333; }
- .top-bar-section ul li > button.info:hover, .top-bar-section ul li > button.info:focus {
- background-color: #61b6d9; }
- .top-bar-section ul li > button.info:hover, .top-bar-section ul li > button.info:focus {
- color: #FFFFFF; }
- .top-bar-section ul li:hover:not(.has-form) > a {
- background-color: #555555;
- color: #FFFFFF;
- background: #222222; }
- .top-bar-section ul li.active > a {
- background: #008CBA;
- color: #FFFFFF; }
- .top-bar-section ul li.active > a:hover {
- background: #0078a0;
- color: #FFFFFF; }
- .top-bar-section .has-form {
- padding: 0.9375rem; }
- .top-bar-section .has-dropdown {
- position: relative; }
- .top-bar-section .has-dropdown > a:after {
- border: inset 5px;
- content: "";
- display: block;
- height: 0;
- width: 0;
- border-color: transparent transparent transparent rgba(255, 255, 255, 0.4);
- border-left-style: solid;
- margin-right: 0.9375rem;
- margin-top: -4.5px;
- position: absolute;
- top: 50%;
- right: 0; }
- .top-bar-section .has-dropdown.moved {
- position: static; }
- .top-bar-section .has-dropdown.moved > .dropdown {
- position: static !important;
- height: auto;
- width: auto;
- overflow: visible;
- clip: auto;
- display: block;
- position: absolute !important;
- width: 100%; }
- .top-bar-section .has-dropdown.moved > a:after {
- display: none; }
- .top-bar-section .dropdown {
- clip: rect(1px, 1px, 1px, 1px);
- height: 1px;
- overflow: hidden;
- position: absolute !important;
- width: 1px;
+ .is-accordion-submenu-parent > a::after {
+ content: '';
display: block;
- padding: 0;
+ width: 0;
+ height: 0;
+ border: inset 6px;
+ border-color: #2199e8 transparent transparent;
+ border-top-style: solid;
+ border-bottom-width: 0;
position: absolute;
- top: 0;
- z-index: 99;
- left: 100%; }
- .top-bar-section .dropdown li {
- height: auto;
- width: 100%; }
- .top-bar-section .dropdown li a {
- font-weight: normal;
- padding: 8px 0.9375rem; }
- .top-bar-section .dropdown li a.parent-link {
- font-weight: normal; }
- .top-bar-section .dropdown li.title h5, .top-bar-section .dropdown li.parent-link {
- margin-bottom: 0;
- margin-top: 0;
- font-size: 1.125rem; }
- .top-bar-section .dropdown li.title h5 a, .top-bar-section .dropdown li.parent-link a {
- color: #FFFFFF;
- display: block; }
- .top-bar-section .dropdown li.title h5 a:hover, .top-bar-section .dropdown li.parent-link a:hover {
- background: none; }
- .top-bar-section .dropdown li.has-form {
- padding: 8px 0.9375rem; }
- .top-bar-section .dropdown li .button,
- .top-bar-section .dropdown li button {
- top: auto; }
- .top-bar-section .dropdown label {
- color: #777777;
- font-size: 0.625rem;
- font-weight: bold;
- margin-bottom: 0;
- padding: 8px 0.9375rem 2px;
- text-transform: uppercase; }
-
-.js-generated {
- display: block; }
+ top: 50%;
+ margin-top: -4px;
+ right: 1rem; }
+
+.is-accordion-submenu-parent[aria-expanded='true'] > a::after {
+ -webkit-transform-origin: 50% 50%;
+ -ms-transform-origin: 50% 50%;
+ transform-origin: 50% 50%;
+ -webkit-transform: scaleY(-1);
+ -ms-transform: scaleY(-1);
+ transform: scaleY(-1); }
+
+.badge {
+ display: inline-block;
+ padding: 0.3em;
+ min-width: 2.1em;
+ font-size: 0.6rem;
+ text-align: center;
+ border-radius: 50%;
+ background: #2199e8;
+ color: #fefefe; }
+ .badge.secondary {
+ background: #777;
+ color: #fefefe; }
+ .badge.success {
+ background: #3adb76;
+ color: #fefefe; }
+ .badge.warning {
+ background: #ffae00;
+ color: #fefefe; }
+ .badge.alert {
+ background: #ec5840;
+ color: #fefefe; }
-@media only screen and (min-width: 40.0625em) {
- .top-bar {
- background: #333333;
- overflow: visible; }
- .top-bar:before, .top-bar:after {
- content: " ";
- display: table; }
- .top-bar:after {
- clear: both; }
- .top-bar .toggle-topbar {
- display: none; }
- .top-bar .title-area {
- float: left; }
- .top-bar .name h1 a,
- .top-bar .name h2 a,
- .top-bar .name h3 a,
- .top-bar .name h4 a,
- .top-bar .name h5 a,
- .top-bar .name h6 a {
- width: auto; }
- .top-bar input,
- .top-bar select,
- .top-bar .button,
- .top-bar button {
- font-size: 0.875rem;
- height: 1.75rem;
- position: relative;
- top: 0.53125rem; }
- .top-bar.expanded {
- background: #333333; }
-
- .contain-to-grid .top-bar {
- margin-bottom: 0;
- margin: 0 auto;
- max-width: 62.5rem; }
-
- .top-bar-section {
- transition: none 0 0;
- left: 0 !important; }
- .top-bar-section ul {
- display: inline;
- height: auto !important;
- width: auto; }
- .top-bar-section ul li {
- float: left; }
- .top-bar-section ul li .js-generated {
- display: none; }
- .top-bar-section li.hover > a:not(.button) {
- background-color: #555555;
- background: #222222;
- color: #FFFFFF; }
- .top-bar-section li:not(.has-form) a:not(.button) {
- background: #333333;
- line-height: 2.8125rem;
- padding: 0 0.9375rem; }
- .top-bar-section li:not(.has-form) a:not(.button):hover {
- background-color: #555555;
- background: #222222; }
- .top-bar-section li.active:not(.has-form) a:not(.button) {
- background: #008CBA;
- color: #FFFFFF;
- line-height: 2.8125rem;
- padding: 0 0.9375rem; }
- .top-bar-section li.active:not(.has-form) a:not(.button):hover {
- background: #0078a0;
- color: #FFFFFF; }
- .top-bar-section .has-dropdown > a {
- padding-right: 2.1875rem !important; }
- .top-bar-section .has-dropdown > a:after {
- border: inset 5px;
- content: "";
- display: block;
- height: 0;
- width: 0;
- border-color: rgba(255, 255, 255, 0.4) transparent transparent transparent;
- border-top-style: solid;
- margin-top: -2.5px;
- top: 1.40625rem; }
- .top-bar-section .has-dropdown.moved {
- position: relative; }
- .top-bar-section .has-dropdown.moved > .dropdown {
- clip: rect(1px, 1px, 1px, 1px);
- height: 1px;
- overflow: hidden;
- position: absolute !important;
- width: 1px;
- display: block; }
- .top-bar-section .has-dropdown.hover > .dropdown, .top-bar-section .has-dropdown.not-click:hover > .dropdown {
- position: static !important;
- height: auto;
- width: auto;
- overflow: visible;
- clip: auto;
- display: block;
- position: absolute !important; }
- .top-bar-section .has-dropdown > a:focus + .dropdown {
- position: static !important;
- height: auto;
- width: auto;
- overflow: visible;
- clip: auto;
- display: block;
- position: absolute !important; }
- .top-bar-section .has-dropdown .dropdown li.has-dropdown > a:after {
- border: none;
- content: "\00bb";
- top: 0.1875rem;
- right: 5px; }
- .top-bar-section .dropdown {
- left: 0;
- background: transparent;
- min-width: 100%;
- top: auto; }
- .top-bar-section .dropdown li a {
- background: #333333;
- color: #FFFFFF;
- line-height: 2.8125rem;
- padding: 12px 0.9375rem;
- white-space: nowrap; }
- .top-bar-section .dropdown li:not(.has-form):not(.active) > a:not(.button) {
- background: #333333;
- color: #FFFFFF; }
- .top-bar-section .dropdown li:not(.has-form):not(.active):hover > a:not(.button) {
- background-color: #555555;
- color: #FFFFFF;
- background: #222222; }
- .top-bar-section .dropdown li label {
- background: #333333;
- white-space: nowrap; }
- .top-bar-section .dropdown li .dropdown {
- left: 100%;
- top: 0; }
- .top-bar-section > ul > .divider,
- .top-bar-section > ul > [role="separator"] {
- border-right: solid 1px #4e4e4e;
- border-bottom: none;
- border-top: none;
- clear: none;
- height: 2.8125rem;
- width: 0; }
- .top-bar-section .has-form {
- background: #333333;
- height: 2.8125rem;
- padding: 0 0.9375rem; }
- .top-bar-section .right li .dropdown {
- left: auto;
- right: 0; }
- .top-bar-section .right li .dropdown li .dropdown {
- right: 100%; }
- .top-bar-section .left li .dropdown {
- right: auto;
- left: 0; }
- .top-bar-section .left li .dropdown li .dropdown {
- left: 100%; }
-
- .no-js .top-bar-section ul li:hover > a {
- background-color: #555555;
- background: #222222;
- color: #FFFFFF; }
- .no-js .top-bar-section ul li:active > a {
- background: #008CBA;
- color: #FFFFFF; }
- .no-js .top-bar-section .has-dropdown:hover > .dropdown {
- position: static !important;
- height: auto;
- width: auto;
- overflow: visible;
- clip: auto;
- display: block;
- position: absolute !important; }
- .no-js .top-bar-section .has-dropdown > a:focus + .dropdown {
- position: static !important;
- height: auto;
- width: auto;
- overflow: visible;
- clip: auto;
- display: block;
- position: absolute !important; } }
.breadcrumbs {
- border-style: solid;
- border-width: 1px;
- display: block;
list-style: none;
- margin-left: 0;
- overflow: hidden;
- padding: 0.5625rem 0.875rem 0.5625rem;
- background-color: #f4f4f4;
- border-color: gainsboro;
- border-radius: 3px; }
- .breadcrumbs > * {
- color: #008CBA;
+ margin: 0 0 1rem 0; }
+ .breadcrumbs::before, .breadcrumbs::after {
+ content: ' ';
+ display: table; }
+ .breadcrumbs::after {
+ clear: both; }
+ .breadcrumbs li {
float: left;
+ color: #0a0a0a;
font-size: 0.6875rem;
- line-height: 0.6875rem;
- margin: 0;
+ cursor: default;
text-transform: uppercase; }
- .breadcrumbs > *:hover a, .breadcrumbs > *:focus a {
- text-decoration: underline; }
- .breadcrumbs > * a {
- color: #008CBA; }
- .breadcrumbs > *.current {
- color: #333333;
- cursor: default; }
- .breadcrumbs > *.current a {
- color: #333333;
- cursor: default; }
- .breadcrumbs > *.current:hover, .breadcrumbs > *.current:hover a, .breadcrumbs > *.current:focus, .breadcrumbs > *.current:focus a {
- text-decoration: none; }
- .breadcrumbs > *.unavailable {
- color: #999999; }
- .breadcrumbs > *.unavailable a {
- color: #999999; }
- .breadcrumbs > *.unavailable:hover, .breadcrumbs > *.unavailable:hover a, .breadcrumbs > *.unavailable:focus,
- .breadcrumbs > *.unavailable a:focus {
- color: #999999;
- cursor: not-allowed;
- text-decoration: none; }
- .breadcrumbs > *:before {
- color: #AAAAAA;
+ .breadcrumbs li:not(:last-child)::after {
+ color: #cacaca;
content: "/";
margin: 0 0.75rem;
position: relative;
- top: 1px; }
- .breadcrumbs > *:first-child:before {
- content: " ";
- margin: 0; }
-
-/* Accessibility - hides the forward slash */
-[aria-label="breadcrumbs"] [aria-hidden="true"]:after {
- content: "/"; }
-
-.alert-box {
- border-style: solid;
- border-width: 1px;
- display: block;
- font-size: 0.8125rem;
- font-weight: normal;
- margin-bottom: 1.25rem;
- padding: 0.875rem 1.5rem 0.875rem 0.875rem;
- position: relative;
- transition: opacity 300ms ease-out;
- background-color: #008CBA;
- border-color: #0078a0;
- color: #FFFFFF; }
- .alert-box .close {
- right: 0.25rem;
- background: inherit;
- color: #333333;
- font-size: 1.375rem;
- line-height: .9;
- margin-top: -0.6875rem;
- opacity: 0.3;
- padding: 0 6px 4px;
- position: absolute;
- top: 50%; }
- .alert-box .close:hover, .alert-box .close:focus {
- opacity: 0.5; }
- .alert-box.radius {
- border-radius: 3px; }
- .alert-box.round {
- border-radius: 1000px; }
- .alert-box.success {
- background-color: #43AC6A;
- border-color: #3a945b;
- color: #FFFFFF; }
- .alert-box.alert {
- background-color: #f04124;
- border-color: #de2d0f;
- color: #FFFFFF; }
- .alert-box.secondary {
- background-color: #e7e7e7;
- border-color: #c7c7c7;
- color: #4f4f4f; }
- .alert-box.warning {
- background-color: #f08a24;
- border-color: #de770f;
- color: #FFFFFF; }
- .alert-box.info {
- background-color: #a0d3e8;
- border-color: #74bfdd;
- color: #4f4f4f; }
- .alert-box.alert-close {
- opacity: 0; }
-
-.inline-list {
- list-style: none;
- margin-left: -1.375rem;
- margin-right: 0;
- margin: 0 auto 1.0625rem auto;
- overflow: hidden;
- padding: 0; }
- .inline-list > li {
- display: block;
- float: left;
- list-style: none;
- margin-left: 1.375rem; }
- .inline-list > li > * {
- display: block; }
+ top: 1px;
+ opacity: 1; }
+ .breadcrumbs a {
+ color: #2199e8; }
+ .breadcrumbs a:hover {
+ text-decoration: underline; }
+ .breadcrumbs .disabled {
+ color: #cacaca;
+ cursor: not-allowed; }
.button-group {
- list-style: none;
- margin: 0;
- left: 0; }
- .button-group:before, .button-group:after {
- content: " ";
+ margin-bottom: 1rem;
+ font-size: 0; }
+ .button-group::before, .button-group::after {
+ content: ' ';
display: table; }
- .button-group:after {
+ .button-group::after {
clear: both; }
- .button-group.even-2 li {
- display: inline-block;
- margin: 0 -2px;
- width: 50%; }
- .button-group.even-2 li > button, .button-group.even-2 li .button {
- border-left: 1px solid;
- border-color: rgba(255, 255, 255, 0.5); }
- .button-group.even-2 li:first-child button, .button-group.even-2 li:first-child .button {
- border-left: 0; }
- .button-group.even-2 li button, .button-group.even-2 li .button {
- width: 100%; }
- .button-group.even-3 li {
- display: inline-block;
- margin: 0 -2px;
- width: 33.33333%; }
- .button-group.even-3 li > button, .button-group.even-3 li .button {
- border-left: 1px solid;
- border-color: rgba(255, 255, 255, 0.5); }
- .button-group.even-3 li:first-child button, .button-group.even-3 li:first-child .button {
- border-left: 0; }
- .button-group.even-3 li button, .button-group.even-3 li .button {
- width: 100%; }
- .button-group.even-4 li {
- display: inline-block;
- margin: 0 -2px;
- width: 25%; }
- .button-group.even-4 li > button, .button-group.even-4 li .button {
- border-left: 1px solid;
- border-color: rgba(255, 255, 255, 0.5); }
- .button-group.even-4 li:first-child button, .button-group.even-4 li:first-child .button {
- border-left: 0; }
- .button-group.even-4 li button, .button-group.even-4 li .button {
- width: 100%; }
- .button-group.even-5 li {
- display: inline-block;
- margin: 0 -2px;
- width: 20%; }
- .button-group.even-5 li > button, .button-group.even-5 li .button {
- border-left: 1px solid;
- border-color: rgba(255, 255, 255, 0.5); }
- .button-group.even-5 li:first-child button, .button-group.even-5 li:first-child .button {
- border-left: 0; }
- .button-group.even-5 li button, .button-group.even-5 li .button {
- width: 100%; }
- .button-group.even-6 li {
- display: inline-block;
- margin: 0 -2px;
- width: 16.66667%; }
- .button-group.even-6 li > button, .button-group.even-6 li .button {
- border-left: 1px solid;
- border-color: rgba(255, 255, 255, 0.5); }
- .button-group.even-6 li:first-child button, .button-group.even-6 li:first-child .button {
- border-left: 0; }
- .button-group.even-6 li button, .button-group.even-6 li .button {
- width: 100%; }
- .button-group.even-7 li {
- display: inline-block;
- margin: 0 -2px;
- width: 14.28571%; }
- .button-group.even-7 li > button, .button-group.even-7 li .button {
- border-left: 1px solid;
- border-color: rgba(255, 255, 255, 0.5); }
- .button-group.even-7 li:first-child button, .button-group.even-7 li:first-child .button {
- border-left: 0; }
- .button-group.even-7 li button, .button-group.even-7 li .button {
- width: 100%; }
- .button-group.even-8 li {
- display: inline-block;
- margin: 0 -2px;
- width: 12.5%; }
- .button-group.even-8 li > button, .button-group.even-8 li .button {
- border-left: 1px solid;
- border-color: rgba(255, 255, 255, 0.5); }
- .button-group.even-8 li:first-child button, .button-group.even-8 li:first-child .button {
- border-left: 0; }
- .button-group.even-8 li button, .button-group.even-8 li .button {
- width: 100%; }
- .button-group > li {
- display: inline-block;
- margin: 0 -2px; }
- .button-group > li > button, .button-group > li .button {
- border-left: 1px solid;
- border-color: rgba(255, 255, 255, 0.5); }
- .button-group > li:first-child button, .button-group > li:first-child .button {
- border-left: 0; }
- .button-group.stack > li {
- display: block;
+ .button-group .button {
margin: 0;
- float: none; }
- .button-group.stack > li > button, .button-group.stack > li .button {
- border-left: 1px solid;
- border-color: rgba(255, 255, 255, 0.5); }
- .button-group.stack > li:first-child button, .button-group.stack > li:first-child .button {
- border-left: 0; }
- .button-group.stack > li > button, .button-group.stack > li .button {
- border-color: rgba(255, 255, 255, 0.5);
- border-left-width: 0;
- border-top: 1px solid;
- display: block;
- margin: 0; }
- .button-group.stack > li > button {
- width: 100%; }
- .button-group.stack > li:first-child button, .button-group.stack > li:first-child .button {
- border-top: 0; }
- .button-group.stack-for-small > li {
- display: inline-block;
- margin: 0 -2px; }
- .button-group.stack-for-small > li > button, .button-group.stack-for-small > li .button {
- border-left: 1px solid;
- border-color: rgba(255, 255, 255, 0.5); }
- .button-group.stack-for-small > li:first-child button, .button-group.stack-for-small > li:first-child .button {
- border-left: 0; }
- @media only screen and (max-width: 40em) {
- .button-group.stack-for-small > li {
- display: block;
- margin: 0; }
- .button-group.stack-for-small > li > button, .button-group.stack-for-small > li .button {
- border-left: 1px solid;
- border-color: rgba(255, 255, 255, 0.5); }
- .button-group.stack-for-small > li:first-child button, .button-group.stack-for-small > li:first-child .button {
- border-left: 0; }
- .button-group.stack-for-small > li > button, .button-group.stack-for-small > li .button {
- border-color: rgba(255, 255, 255, 0.5);
- border-left-width: 0;
- border-top: 1px solid;
- display: block;
- margin: 0; }
- .button-group.stack-for-small > li > button {
- width: 100%; }
- .button-group.stack-for-small > li:first-child button, .button-group.stack-for-small > li:first-child .button {
- border-top: 0; } }
- .button-group.radius > * {
- display: inline-block;
- margin: 0 -2px; }
- .button-group.radius > * > button, .button-group.radius > * .button {
- border-left: 1px solid;
- border-color: rgba(255, 255, 255, 0.5); }
- .button-group.radius > *:first-child button, .button-group.radius > *:first-child .button {
- border-left: 0; }
- .button-group.radius > *,
- .button-group.radius > * > a,
- .button-group.radius > * > button,
- .button-group.radius > * > .button {
- border-radius: 0; }
- .button-group.radius > *:first-child, .button-group.radius > *:first-child > a, .button-group.radius > *:first-child > button, .button-group.radius > *:first-child > .button {
- -webkit-border-bottom-left-radius: 3px;
- -webkit-border-top-left-radius: 3px;
- border-bottom-left-radius: 3px;
- border-top-left-radius: 3px; }
- .button-group.radius > *:last-child, .button-group.radius > *:last-child > a, .button-group.radius > *:last-child > button, .button-group.radius > *:last-child > .button {
- -webkit-border-bottom-right-radius: 3px;
- -webkit-border-top-right-radius: 3px;
- border-bottom-right-radius: 3px;
- border-top-right-radius: 3px; }
- .button-group.radius.stack > * {
- display: block;
- margin: 0; }
- .button-group.radius.stack > * > button, .button-group.radius.stack > * .button {
- border-left: 1px solid;
- border-color: rgba(255, 255, 255, 0.5); }
- .button-group.radius.stack > *:first-child button, .button-group.radius.stack > *:first-child .button {
- border-left: 0; }
- .button-group.radius.stack > * > button, .button-group.radius.stack > * .button {
- border-color: rgba(255, 255, 255, 0.5);
- border-left-width: 0;
- border-top: 1px solid;
- display: block;
- margin: 0; }
- .button-group.radius.stack > * > button {
- width: 100%; }
- .button-group.radius.stack > *:first-child button, .button-group.radius.stack > *:first-child .button {
- border-top: 0; }
- .button-group.radius.stack > *,
- .button-group.radius.stack > * > a,
- .button-group.radius.stack > * > button,
- .button-group.radius.stack > * > .button {
- border-radius: 0; }
- .button-group.radius.stack > *:first-child, .button-group.radius.stack > *:first-child > a, .button-group.radius.stack > *:first-child > button, .button-group.radius.stack > *:first-child > .button {
- -webkit-top-left-radius: 3px;
- -webkit-top-right-radius: 3px;
- border-top-left-radius: 3px;
- border-top-right-radius: 3px; }
- .button-group.radius.stack > *:last-child, .button-group.radius.stack > *:last-child > a, .button-group.radius.stack > *:last-child > button, .button-group.radius.stack > *:last-child > .button {
- -webkit-bottom-left-radius: 3px;
- -webkit-bottom-right-radius: 3px;
- border-bottom-left-radius: 3px;
- border-bottom-right-radius: 3px; }
- @media only screen and (min-width: 40.0625em) {
- .button-group.radius.stack-for-small > * {
+ margin-right: 1px;
+ margin-bottom: 1px;
+ font-size: 0.9rem; }
+ .button-group .button:last-child {
+ margin-right: 0; }
+ .button-group.tiny .button {
+ font-size: 0.6rem; }
+ .button-group.small .button {
+ font-size: 0.75rem; }
+ .button-group.large .button {
+ font-size: 1.25rem; }
+ .button-group.expanded {
+ margin-right: -1px; }
+ .button-group.expanded::before, .button-group.expanded::after {
+ display: none; }
+ .button-group.expanded .button:first-child:nth-last-child(2), .button-group.expanded .button:first-child:nth-last-child(2):first-child:nth-last-child(2) ~ .button {
display: inline-block;
- margin: 0 -2px; }
- .button-group.radius.stack-for-small > * > button, .button-group.radius.stack-for-small > * .button {
- border-left: 1px solid;
- border-color: rgba(255, 255, 255, 0.5); }
- .button-group.radius.stack-for-small > *:first-child button, .button-group.radius.stack-for-small > *:first-child .button {
- border-left: 0; }
- .button-group.radius.stack-for-small > *,
- .button-group.radius.stack-for-small > * > a,
- .button-group.radius.stack-for-small > * > button,
- .button-group.radius.stack-for-small > * > .button {
- border-radius: 0; }
- .button-group.radius.stack-for-small > *:first-child, .button-group.radius.stack-for-small > *:first-child > a, .button-group.radius.stack-for-small > *:first-child > button, .button-group.radius.stack-for-small > *:first-child > .button {
- -webkit-border-bottom-left-radius: 3px;
- -webkit-border-top-left-radius: 3px;
- border-bottom-left-radius: 3px;
- border-top-left-radius: 3px; }
- .button-group.radius.stack-for-small > *:last-child, .button-group.radius.stack-for-small > *:last-child > a, .button-group.radius.stack-for-small > *:last-child > button, .button-group.radius.stack-for-small > *:last-child > .button {
- -webkit-border-bottom-right-radius: 3px;
- -webkit-border-top-right-radius: 3px;
- border-bottom-right-radius: 3px;
- border-top-right-radius: 3px; } }
- @media only screen and (max-width: 40em) {
- .button-group.radius.stack-for-small > * {
- display: block;
- margin: 0; }
- .button-group.radius.stack-for-small > * > button, .button-group.radius.stack-for-small > * .button {
- border-left: 1px solid;
- border-color: rgba(255, 255, 255, 0.5); }
- .button-group.radius.stack-for-small > *:first-child button, .button-group.radius.stack-for-small > *:first-child .button {
- border-left: 0; }
- .button-group.radius.stack-for-small > * > button, .button-group.radius.stack-for-small > * .button {
- border-color: rgba(255, 255, 255, 0.5);
- border-left-width: 0;
- border-top: 1px solid;
- display: block;
- margin: 0; }
- .button-group.radius.stack-for-small > * > button {
- width: 100%; }
- .button-group.radius.stack-for-small > *:first-child button, .button-group.radius.stack-for-small > *:first-child .button {
- border-top: 0; }
- .button-group.radius.stack-for-small > *,
- .button-group.radius.stack-for-small > * > a,
- .button-group.radius.stack-for-small > * > button,
- .button-group.radius.stack-for-small > * > .button {
- border-radius: 0; }
- .button-group.radius.stack-for-small > *:first-child, .button-group.radius.stack-for-small > *:first-child > a, .button-group.radius.stack-for-small > *:first-child > button, .button-group.radius.stack-for-small > *:first-child > .button {
- -webkit-top-left-radius: 3px;
- -webkit-top-right-radius: 3px;
- border-top-left-radius: 3px;
- border-top-right-radius: 3px; }
- .button-group.radius.stack-for-small > *:last-child, .button-group.radius.stack-for-small > *:last-child > a, .button-group.radius.stack-for-small > *:last-child > button, .button-group.radius.stack-for-small > *:last-child > .button {
- -webkit-bottom-left-radius: 3px;
- -webkit-bottom-right-radius: 3px;
- border-bottom-left-radius: 3px;
- border-bottom-right-radius: 3px; } }
- .button-group.round > * {
- display: inline-block;
- margin: 0 -2px; }
- .button-group.round > * > button, .button-group.round > * .button {
- border-left: 1px solid;
- border-color: rgba(255, 255, 255, 0.5); }
- .button-group.round > *:first-child button, .button-group.round > *:first-child .button {
- border-left: 0; }
- .button-group.round > *,
- .button-group.round > * > a,
- .button-group.round > * > button,
- .button-group.round > * > .button {
- border-radius: 0; }
- .button-group.round > *:first-child, .button-group.round > *:first-child > a, .button-group.round > *:first-child > button, .button-group.round > *:first-child > .button {
- -webkit-border-bottom-left-radius: 1000px;
- -webkit-border-top-left-radius: 1000px;
- border-bottom-left-radius: 1000px;
- border-top-left-radius: 1000px; }
- .button-group.round > *:last-child, .button-group.round > *:last-child > a, .button-group.round > *:last-child > button, .button-group.round > *:last-child > .button {
- -webkit-border-bottom-right-radius: 1000px;
- -webkit-border-top-right-radius: 1000px;
- border-bottom-right-radius: 1000px;
- border-top-right-radius: 1000px; }
- .button-group.round.stack > * {
- display: block;
- margin: 0; }
- .button-group.round.stack > * > button, .button-group.round.stack > * .button {
- border-left: 1px solid;
- border-color: rgba(255, 255, 255, 0.5); }
- .button-group.round.stack > *:first-child button, .button-group.round.stack > *:first-child .button {
- border-left: 0; }
- .button-group.round.stack > * > button, .button-group.round.stack > * .button {
- border-color: rgba(255, 255, 255, 0.5);
- border-left-width: 0;
- border-top: 1px solid;
- display: block;
- margin: 0; }
- .button-group.round.stack > * > button {
- width: 100%; }
- .button-group.round.stack > *:first-child button, .button-group.round.stack > *:first-child .button {
- border-top: 0; }
- .button-group.round.stack > *,
- .button-group.round.stack > * > a,
- .button-group.round.stack > * > button,
- .button-group.round.stack > * > .button {
- border-radius: 0; }
- .button-group.round.stack > *:first-child, .button-group.round.stack > *:first-child > a, .button-group.round.stack > *:first-child > button, .button-group.round.stack > *:first-child > .button {
- -webkit-top-left-radius: 1rem;
- -webkit-top-right-radius: 1rem;
- border-top-left-radius: 1rem;
- border-top-right-radius: 1rem; }
- .button-group.round.stack > *:last-child, .button-group.round.stack > *:last-child > a, .button-group.round.stack > *:last-child > button, .button-group.round.stack > *:last-child > .button {
- -webkit-bottom-left-radius: 1rem;
- -webkit-bottom-right-radius: 1rem;
- border-bottom-left-radius: 1rem;
- border-bottom-right-radius: 1rem; }
- @media only screen and (min-width: 40.0625em) {
- .button-group.round.stack-for-small > * {
+ width: calc(50% - 1px);
+ margin-right: 1px; }
+ .button-group.expanded .button:first-child:nth-last-child(2):last-child, .button-group.expanded .button:first-child:nth-last-child(2):first-child:nth-last-child(2) ~ .button:last-child {
+ margin-right: -6px; }
+ .button-group.expanded .button:first-child:nth-last-child(3), .button-group.expanded .button:first-child:nth-last-child(3):first-child:nth-last-child(3) ~ .button {
display: inline-block;
- margin: 0 -2px; }
- .button-group.round.stack-for-small > * > button, .button-group.round.stack-for-small > * .button {
- border-left: 1px solid;
- border-color: rgba(255, 255, 255, 0.5); }
- .button-group.round.stack-for-small > *:first-child button, .button-group.round.stack-for-small > *:first-child .button {
- border-left: 0; }
- .button-group.round.stack-for-small > *,
- .button-group.round.stack-for-small > * > a,
- .button-group.round.stack-for-small > * > button,
- .button-group.round.stack-for-small > * > .button {
- border-radius: 0; }
- .button-group.round.stack-for-small > *:first-child, .button-group.round.stack-for-small > *:first-child > a, .button-group.round.stack-for-small > *:first-child > button, .button-group.round.stack-for-small > *:first-child > .button {
- -webkit-border-bottom-left-radius: 1000px;
- -webkit-border-top-left-radius: 1000px;
- border-bottom-left-radius: 1000px;
- border-top-left-radius: 1000px; }
- .button-group.round.stack-for-small > *:last-child, .button-group.round.stack-for-small > *:last-child > a, .button-group.round.stack-for-small > *:last-child > button, .button-group.round.stack-for-small > *:last-child > .button {
- -webkit-border-bottom-right-radius: 1000px;
- -webkit-border-top-right-radius: 1000px;
- border-bottom-right-radius: 1000px;
- border-top-right-radius: 1000px; } }
- @media only screen and (max-width: 40em) {
- .button-group.round.stack-for-small > * {
- display: block;
- margin: 0; }
- .button-group.round.stack-for-small > * > button, .button-group.round.stack-for-small > * .button {
- border-left: 1px solid;
- border-color: rgba(255, 255, 255, 0.5); }
- .button-group.round.stack-for-small > *:first-child button, .button-group.round.stack-for-small > *:first-child .button {
- border-left: 0; }
- .button-group.round.stack-for-small > * > button, .button-group.round.stack-for-small > * .button {
- border-color: rgba(255, 255, 255, 0.5);
- border-left-width: 0;
- border-top: 1px solid;
- display: block;
- margin: 0; }
- .button-group.round.stack-for-small > * > button {
- width: 100%; }
- .button-group.round.stack-for-small > *:first-child button, .button-group.round.stack-for-small > *:first-child .button {
- border-top: 0; }
- .button-group.round.stack-for-small > *,
- .button-group.round.stack-for-small > * > a,
- .button-group.round.stack-for-small > * > button,
- .button-group.round.stack-for-small > * > .button {
- border-radius: 0; }
- .button-group.round.stack-for-small > *:first-child, .button-group.round.stack-for-small > *:first-child > a, .button-group.round.stack-for-small > *:first-child > button, .button-group.round.stack-for-small > *:first-child > .button {
- -webkit-top-left-radius: 1rem;
- -webkit-top-right-radius: 1rem;
- border-top-left-radius: 1rem;
- border-top-right-radius: 1rem; }
- .button-group.round.stack-for-small > *:last-child, .button-group.round.stack-for-small > *:last-child > a, .button-group.round.stack-for-small > *:last-child > button, .button-group.round.stack-for-small > *:last-child > .button {
- -webkit-bottom-left-radius: 1rem;
- -webkit-bottom-right-radius: 1rem;
- border-bottom-left-radius: 1rem;
- border-bottom-right-radius: 1rem; } }
-
-.button-bar:before, .button-bar:after {
- content: " ";
- display: table; }
-.button-bar:after {
- clear: both; }
-.button-bar .button-group {
- float: left;
- margin-right: 0.625rem; }
- .button-bar .button-group div {
- overflow: hidden; }
-
-/* Panels */
-.panel {
- border-style: solid;
- border-width: 1px;
- border-color: #d8d8d8;
- margin-bottom: 1.25rem;
- padding: 1.25rem;
- background: #f2f2f2;
- color: #333333; }
- .panel > :first-child {
- margin-top: 0; }
- .panel > :last-child {
- margin-bottom: 0; }
- .panel h1, .panel h2, .panel h3, .panel h4, .panel h5, .panel h6, .panel p, .panel li, .panel dl {
- color: #333333; }
- .panel h1, .panel h2, .panel h3, .panel h4, .panel h5, .panel h6 {
- line-height: 1;
- margin-bottom: 0.625rem; }
- .panel h1.subheader, .panel h2.subheader, .panel h3.subheader, .panel h4.subheader, .panel h5.subheader, .panel h6.subheader {
- line-height: 1.4; }
- .panel.callout {
- border-style: solid;
- border-width: 1px;
- border-color: #d8d8d8;
- margin-bottom: 1.25rem;
- padding: 1.25rem;
- background: #ecfaff;
- color: #333333; }
- .panel.callout > :first-child {
- margin-top: 0; }
- .panel.callout > :last-child {
+ width: calc(33.33333% - 1px);
+ margin-right: 1px; }
+ .button-group.expanded .button:first-child:nth-last-child(3):last-child, .button-group.expanded .button:first-child:nth-last-child(3):first-child:nth-last-child(3) ~ .button:last-child {
+ margin-right: -6px; }
+ .button-group.expanded .button:first-child:nth-last-child(4), .button-group.expanded .button:first-child:nth-last-child(4):first-child:nth-last-child(4) ~ .button {
+ display: inline-block;
+ width: calc(25% - 1px);
+ margin-right: 1px; }
+ .button-group.expanded .button:first-child:nth-last-child(4):last-child, .button-group.expanded .button:first-child:nth-last-child(4):first-child:nth-last-child(4) ~ .button:last-child {
+ margin-right: -6px; }
+ .button-group.expanded .button:first-child:nth-last-child(5), .button-group.expanded .button:first-child:nth-last-child(5):first-child:nth-last-child(5) ~ .button {
+ display: inline-block;
+ width: calc(20% - 1px);
+ margin-right: 1px; }
+ .button-group.expanded .button:first-child:nth-last-child(5):last-child, .button-group.expanded .button:first-child:nth-last-child(5):first-child:nth-last-child(5) ~ .button:last-child {
+ margin-right: -6px; }
+ .button-group.expanded .button:first-child:nth-last-child(6), .button-group.expanded .button:first-child:nth-last-child(6):first-child:nth-last-child(6) ~ .button {
+ display: inline-block;
+ width: calc(16.66667% - 1px);
+ margin-right: 1px; }
+ .button-group.expanded .button:first-child:nth-last-child(6):last-child, .button-group.expanded .button:first-child:nth-last-child(6):first-child:nth-last-child(6) ~ .button:last-child {
+ margin-right: -6px; }
+ .button-group.primary .button {
+ background-color: #2199e8;
+ color: #fefefe; }
+ .button-group.primary .button:hover, .button-group.primary .button:focus {
+ background-color: #147cc0;
+ color: #fefefe; }
+ .button-group.secondary .button {
+ background-color: #777;
+ color: #fefefe; }
+ .button-group.secondary .button:hover, .button-group.secondary .button:focus {
+ background-color: #5f5f5f;
+ color: #fefefe; }
+ .button-group.success .button {
+ background-color: #3adb76;
+ color: #fefefe; }
+ .button-group.success .button:hover, .button-group.success .button:focus {
+ background-color: #22bb5b;
+ color: #fefefe; }
+ .button-group.warning .button {
+ background-color: #ffae00;
+ color: #fefefe; }
+ .button-group.warning .button:hover, .button-group.warning .button:focus {
+ background-color: #cc8b00;
+ color: #fefefe; }
+ .button-group.alert .button {
+ background-color: #ec5840;
+ color: #fefefe; }
+ .button-group.alert .button:hover, .button-group.alert .button:focus {
+ background-color: #da3116;
+ color: #fefefe; }
+ .button-group.stacked .button, .button-group.stacked-for-small .button, .button-group.stacked-for-medium .button {
+ width: 100%; }
+ .button-group.stacked .button:last-child, .button-group.stacked-for-small .button:last-child, .button-group.stacked-for-medium .button:last-child {
margin-bottom: 0; }
- .panel.callout h1, .panel.callout h2, .panel.callout h3, .panel.callout h4, .panel.callout h5, .panel.callout h6, .panel.callout p, .panel.callout li, .panel.callout dl {
- color: #333333; }
- .panel.callout h1, .panel.callout h2, .panel.callout h3, .panel.callout h4, .panel.callout h5, .panel.callout h6 {
- line-height: 1;
- margin-bottom: 0.625rem; }
- .panel.callout h1.subheader, .panel.callout h2.subheader, .panel.callout h3.subheader, .panel.callout h4.subheader, .panel.callout h5.subheader, .panel.callout h6.subheader {
- line-height: 1.4; }
- .panel.callout a:not(.button) {
- color: #008CBA; }
- .panel.callout a:not(.button):hover, .panel.callout a:not(.button):focus {
- color: #0078a0; }
- .panel.radius {
- border-radius: 3px; }
-
-.dropdown.button, button.dropdown {
- position: relative;
- padding-right: 3.5625rem; }
- .dropdown.button::after, button.dropdown::after {
- border-color: #FFFFFF transparent transparent transparent;
- border-style: solid;
- content: "";
- display: block;
- height: 0;
- position: absolute;
- top: 50%;
- width: 0; }
- .dropdown.button::after, button.dropdown::after {
- border-width: 0.375rem;
- right: 1.40625rem;
- margin-top: -0.15625rem; }
- .dropdown.button::after, button.dropdown::after {
- border-color: #FFFFFF transparent transparent transparent; }
- .dropdown.button.tiny, button.dropdown.tiny {
- padding-right: 2.625rem; }
- .dropdown.button.tiny:after, button.dropdown.tiny:after {
- border-width: 0.375rem;
- right: 1.125rem;
- margin-top: -0.125rem; }
- .dropdown.button.tiny::after, button.dropdown.tiny::after {
- border-color: #FFFFFF transparent transparent transparent; }
- .dropdown.button.small, button.dropdown.small {
- padding-right: 3.0625rem; }
- .dropdown.button.small::after, button.dropdown.small::after {
- border-width: 0.4375rem;
- right: 1.3125rem;
- margin-top: -0.15625rem; }
- .dropdown.button.small::after, button.dropdown.small::after {
- border-color: #FFFFFF transparent transparent transparent; }
- .dropdown.button.large, button.dropdown.large {
- padding-right: 3.625rem; }
- .dropdown.button.large::after, button.dropdown.large::after {
- border-width: 0.3125rem;
- right: 1.71875rem;
- margin-top: -0.15625rem; }
- .dropdown.button.large::after, button.dropdown.large::after {
- border-color: #FFFFFF transparent transparent transparent; }
- .dropdown.button.secondary:after, button.dropdown.secondary:after {
- border-color: #333333 transparent transparent transparent; }
-
-/* Image Thumbnails */
-.th {
- border: solid 4px #FFFFFF;
- box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.2);
- display: inline-block;
- line-height: 0;
- max-width: 100%;
- transition: all 200ms ease-out; }
- .th:hover, .th:focus {
- box-shadow: 0 0 6px 1px rgba(0, 140, 186, 0.5); }
- .th.radius {
- border-radius: 3px; }
-
-/* Pricing Tables */
-.pricing-table {
- border: solid 1px #DDDDDD;
- margin-left: 0;
- margin-bottom: 1.25rem; }
- .pricing-table * {
- list-style: none;
- line-height: 1; }
- .pricing-table .title {
- background-color: #333333;
- color: #EEEEEE;
- font-family: "Helvetica Neue", Helvetica, Roboto, Arial, sans-serif;
- font-size: 1rem;
- font-weight: normal;
- padding: 0.9375rem 1.25rem;
- text-align: center; }
- .pricing-table .price {
- background-color: #F6F6F6;
- color: #333333;
- font-family: "Helvetica Neue", Helvetica, Roboto, Arial, sans-serif;
- font-size: 2rem;
- font-weight: normal;
- padding: 0.9375rem 1.25rem;
- text-align: center; }
- .pricing-table .description {
- background-color: #FFFFFF;
- border-bottom: dotted 1px #DDDDDD;
- color: #777777;
- font-size: 0.75rem;
- font-weight: normal;
- line-height: 1.4;
- padding: 0.9375rem;
- text-align: center; }
- .pricing-table .bullet-item {
- background-color: #FFFFFF;
- border-bottom: dotted 1px #DDDDDD;
- color: #333333;
- font-size: 0.875rem;
- font-weight: normal;
- padding: 0.9375rem;
- text-align: center; }
- .pricing-table .cta-button {
- background-color: #FFFFFF;
- padding: 1.25rem 1.25rem 0;
- text-align: center; }
-
-@-webkit-keyframes rotate {
- from {
- -webkit-transform: rotate(0deg);
- transform: rotate(0deg); }
- to {
- -webkit-transform: rotate(360deg);
- transform: rotate(360deg); } }
-@keyframes rotate {
- from {
- -webkit-transform: rotate(0deg);
- -moz-transform: rotate(0deg);
- -ms-transform: rotate(0deg);
- transform: rotate(0deg); }
- to {
- -webkit-transform: rotate(360deg);
- -moz-transform: rotate(360deg);
- -ms-transform: rotate(360deg);
- transform: rotate(360deg); } }
-/* Orbit Graceful Loading */
-.slideshow-wrapper {
- position: relative; }
- .slideshow-wrapper ul {
- list-style-type: none;
- margin: 0; }
- .slideshow-wrapper ul li,
- .slideshow-wrapper ul li .orbit-caption {
- display: none; }
- .slideshow-wrapper ul li:first-child {
- display: block; }
- .slideshow-wrapper .orbit-container {
- background-color: transparent; }
- .slideshow-wrapper .orbit-container li {
+ @media screen and (min-width: 40em) {
+ .button-group.stacked-for-small .button {
+ width: auto;
+ margin-bottom: 0; } }
+ @media screen and (min-width: 64em) {
+ .button-group.stacked-for-medium .button {
+ width: auto;
+ margin-bottom: 0; } }
+ @media screen and (max-width: 39.9375em) {
+ .button-group.stacked-for-small.expanded {
display: block; }
- .slideshow-wrapper .orbit-container li .orbit-caption {
- display: block; }
- .slideshow-wrapper .orbit-container .orbit-bullets li {
- display: inline-block; }
- .slideshow-wrapper .preloader {
- border-radius: 1000px;
- animation-duration: 1.5s;
- animation-iteration-count: infinite;
- animation-name: rotate;
- animation-timing-function: linear;
- border-color: #555555 #FFFFFF;
- border: solid 3px;
- display: block;
- height: 40px;
- left: 50%;
- margin-left: -20px;
- margin-top: -20px;
- position: absolute;
- top: 50%;
- width: 40px; }
-
-.orbit-container {
- background: none;
- overflow: hidden;
- position: relative;
- width: 100%; }
- .orbit-container .orbit-slides-container {
- list-style: none;
- margin: 0;
- padding: 0;
- position: relative;
- -webkit-transform: translateZ(0);
- -moz-transform: translateZ(0);
- -ms-transform: translateZ(0);
- -o-transform: translateZ(0);
- transform: translateZ(0); }
- .orbit-container .orbit-slides-container img {
- display: block;
- max-width: 100%; }
- .orbit-container .orbit-slides-container > * {
- position: absolute;
- top: 0;
- width: 100%;
- margin-left: 100%; }
- .orbit-container .orbit-slides-container > *:first-child {
- margin-left: 0; }
- .orbit-container .orbit-slides-container > * .orbit-caption {
- bottom: 0;
- position: absolute;
- background-color: rgba(51, 51, 51, 0.8);
- color: #FFFFFF;
- font-size: 0.875rem;
- padding: 0.625rem 0.875rem;
- width: 100%; }
- .orbit-container .orbit-slide-number {
- left: 10px;
- background: transparent;
- color: #FFFFFF;
- font-size: 12px;
- position: absolute;
- top: 10px;
- z-index: 10; }
- .orbit-container .orbit-slide-number span {
- font-weight: 700;
- padding: 0.3125rem; }
- .orbit-container .orbit-timer {
- position: absolute;
- top: 12px;
- right: 10px;
- height: 6px;
- width: 100px;
- z-index: 10; }
- .orbit-container .orbit-timer .orbit-progress {
- height: 3px;
- background-color: rgba(255, 255, 255, 0.3);
- display: block;
- width: 0;
- position: relative;
- right: 20px;
- top: 5px; }
- .orbit-container .orbit-timer > span {
- border: solid 4px #FFFFFF;
- border-bottom: none;
- border-top: none;
- display: none;
- height: 14px;
- position: absolute;
- top: 0;
- width: 11px;
- right: 0; }
- .orbit-container .orbit-timer.paused > span {
- top: 0;
- width: 11px;
- height: 14px;
- border: inset 8px;
- border-left-style: solid;
- border-color: transparent;
- border-left-color: #FFFFFF;
- right: -4px; }
- .orbit-container .orbit-timer.paused > span.dark {
- border-left-color: #333333; }
- .orbit-container:hover .orbit-timer > span {
- display: block; }
- .orbit-container .orbit-prev,
- .orbit-container .orbit-next {
- background-color: transparent;
- color: white;
- height: 60px;
- line-height: 50px;
- margin-top: -25px;
- position: absolute;
- text-indent: -9999px !important;
- top: 45%;
- width: 36px;
- z-index: 10; }
- .orbit-container .orbit-prev:hover,
- .orbit-container .orbit-next:hover {
- background-color: rgba(0, 0, 0, 0.3); }
- .orbit-container .orbit-prev > span,
- .orbit-container .orbit-next > span {
- border: inset 10px;
- display: block;
- height: 0;
- margin-top: -10px;
- position: absolute;
- top: 50%;
- width: 0; }
- .orbit-container .orbit-prev {
- left: 0; }
- .orbit-container .orbit-prev > span {
- border-right-style: solid;
- border-color: transparent;
- border-right-color: #FFFFFF; }
- .orbit-container .orbit-prev:hover > span {
- border-right-color: #FFFFFF; }
- .orbit-container .orbit-next {
- right: 0; }
- .orbit-container .orbit-next > span {
- border-color: transparent;
- border-left-style: solid;
- border-left-color: #FFFFFF;
- left: 50%;
- margin-left: -4px; }
- .orbit-container .orbit-next:hover > span {
- border-left-color: #FFFFFF; }
-
-.orbit-bullets-container {
- text-align: center; }
+ .button-group.stacked-for-small.expanded .button {
+ display: block;
+ margin-right: 0; } }
-.orbit-bullets {
- display: block;
- float: none;
- margin: 0 auto 30px auto;
- overflow: hidden;
+.callout {
+ margin: 0 0 1rem 0;
+ padding: 1rem;
+ border: 1px solid rgba(10, 10, 10, 0.25);
+ border-radius: 0;
position: relative;
- text-align: center;
- top: 10px; }
- .orbit-bullets li {
- background: #CCCCCC;
- cursor: pointer;
- display: inline-block;
- float: none;
- height: 0.5625rem;
- margin-right: 6px;
- width: 0.5625rem;
- border-radius: 1000px; }
- .orbit-bullets li.active {
- background: #999999; }
- .orbit-bullets li:last-child {
- margin-right: 0; }
-
-.touch .orbit-container .orbit-prev,
-.touch .orbit-container .orbit-next {
- display: none; }
-.touch .orbit-bullets {
- display: none; }
-
-@media only screen and (min-width: 40.0625em) {
- .touch .orbit-container .orbit-prev,
- .touch .orbit-container .orbit-next {
- display: inherit; }
- .touch .orbit-bullets {
- display: block; } }
-@media only screen and (max-width: 40em) {
- .orbit-stack-on-small .orbit-slides-container {
- height: auto !important; }
- .orbit-stack-on-small .orbit-slides-container > * {
- margin: 0 !important;
- opacity: 1 !important;
- position: relative; }
- .orbit-stack-on-small .orbit-slide-number {
- display: none; }
-
- .orbit-timer {
- display: none; }
-
- .orbit-next, .orbit-prev {
- display: none; }
-
- .orbit-bullets {
- display: none; } }
-[data-magellan-expedition], [data-magellan-expedition-clone] {
- background: #FFFFFF;
- min-width: 100%;
- padding: 10px;
- z-index: 50; }
- [data-magellan-expedition] .sub-nav, [data-magellan-expedition-clone] .sub-nav {
+ color: #0a0a0a;
+ background-color: white; }
+ .callout > :first-child {
+ margin-top: 0; }
+ .callout > :last-child {
margin-bottom: 0; }
- [data-magellan-expedition] .sub-nav dd, [data-magellan-expedition-clone] .sub-nav dd {
- margin-bottom: 0; }
- [data-magellan-expedition] .sub-nav a, [data-magellan-expedition-clone] .sub-nav a {
- line-height: 1.8em; }
+ .callout.primary {
+ background-color: #def0fc; }
+ .callout.secondary {
+ background-color: #ebebeb; }
+ .callout.success {
+ background-color: #e1faea; }
+ .callout.warning {
+ background-color: #fff3d9; }
+ .callout.alert {
+ background-color: #fce6e2; }
+ .callout.small {
+ padding-top: 0.5rem;
+ padding-right: 0.5rem;
+ padding-bottom: 0.5rem;
+ padding-left: 0.5rem; }
+ .callout.large {
+ padding-top: 3rem;
+ padding-right: 3rem;
+ padding-bottom: 3rem;
+ padding-left: 3rem; }
+
+.close-button {
+ position: absolute;
+ color: #8a8a8a;
+ right: 1rem;
+ top: 0.5rem;
+ font-size: 2em;
+ line-height: 1;
+ cursor: pointer; }
+ [data-whatinput='mouse'] .close-button {
+ outline: 0; }
+ .close-button:hover, .close-button:focus {
+ color: #0a0a0a; }
-.icon-bar {
- display: inline-block;
- font-size: 0;
- width: 100%;
- background: #333333; }
- .icon-bar > * {
+.menu {
+ margin: 0;
+ list-style-type: none; }
+ .menu > li {
+ display: table-cell;
+ vertical-align: middle; }
+ [data-whatinput='mouse'] .menu > li {
+ outline: 0; }
+ .menu > li > a {
display: block;
- float: left;
- font-size: 1rem;
- margin: 0 auto;
- padding: 1.25rem;
- text-align: center;
- width: 25%; }
- .icon-bar > * i, .icon-bar > * img {
- display: block;
- margin: 0 auto; }
- .icon-bar > * i + label, .icon-bar > * img + label {
- margin-top: .0625rem; }
- .icon-bar > * i {
- font-size: 1.875rem;
+ padding: 0.7rem 1rem;
+ line-height: 1; }
+ .menu input,
+ .menu a,
+ .menu button {
+ margin-bottom: 0; }
+ .menu > li > a img,
+ .menu > li > a i,
+ .menu > li > a svg {
+ vertical-align: middle; }
+ .menu > li > a img + span,
+ .menu > li > a i + span,
+ .menu > li > a svg + span {
vertical-align: middle; }
- .icon-bar > * img {
- height: 1.875rem;
- width: 1.875rem; }
- .icon-bar.label-right > * i, .icon-bar.label-right > * img {
- display: inline-block;
- margin: 0 .0625rem 0 0; }
- .icon-bar.label-right > * i + label, .icon-bar.label-right > * img + label {
- margin-top: 0; }
- .icon-bar.label-right > * label {
+ .menu > li > a img,
+ .menu > li > a i,
+ .menu > li > a svg {
+ margin-right: 0.25rem;
display: inline-block; }
- .icon-bar.vertical.label-right > * {
- text-align: left; }
- .icon-bar.vertical, .icon-bar.small-vertical {
- height: 100%;
- width: auto; }
- .icon-bar.vertical .item, .icon-bar.small-vertical .item {
- float: none;
- margin: auto;
- width: auto; }
- @media only screen and (min-width: 40.0625em) {
- .icon-bar.medium-vertical {
- height: 100%;
- width: auto; }
- .icon-bar.medium-vertical .item {
- float: none;
- margin: auto;
- width: auto; } }
- @media only screen and (min-width: 64.0625em) {
- .icon-bar.large-vertical {
- height: 100%;
- width: auto; }
- .icon-bar.large-vertical .item {
- float: none;
- margin: auto;
- width: auto; } }
- .icon-bar > * {
- font-size: 1rem;
- padding: 1.25rem; }
- .icon-bar > * i + label, .icon-bar > * img + label {
- margin-top: .0625rem;
- font-size: 1rem; }
- .icon-bar > * i {
- font-size: 1.875rem; }
- .icon-bar > * img {
- height: 1.875rem;
- width: 1.875rem; }
- .icon-bar > * label {
- color: #FFFFFF; }
- .icon-bar > * i {
- color: #FFFFFF; }
- .icon-bar > a:hover {
- background: #008CBA; }
- .icon-bar > a:hover label {
- color: #FFFFFF; }
- .icon-bar > a:hover i {
- color: #FFFFFF; }
- .icon-bar > a.active {
- background: #008CBA; }
- .icon-bar > a.active label {
- color: #FFFFFF; }
- .icon-bar > a.active i {
- color: #FFFFFF; }
- .icon-bar .item.disabled {
- cursor: not-allowed;
- opacity: 0.7;
- pointer-events: none; }
- .icon-bar .item.disabled > * {
- opacity: 0.7;
- cursor: not-allowed; }
- .icon-bar.two-up .item {
- width: 50%; }
- .icon-bar.two-up.vertical .item, .icon-bar.two-up.small-vertical .item {
- width: auto; }
- @media only screen and (min-width: 40.0625em) {
- .icon-bar.two-up.medium-vertical .item {
- width: auto; } }
- @media only screen and (min-width: 64.0625em) {
- .icon-bar.two-up.large-vertical .item {
- width: auto; } }
- .icon-bar.three-up .item {
- width: 33.3333%; }
- .icon-bar.three-up.vertical .item, .icon-bar.three-up.small-vertical .item {
- width: auto; }
- @media only screen and (min-width: 40.0625em) {
- .icon-bar.three-up.medium-vertical .item {
- width: auto; } }
- @media only screen and (min-width: 64.0625em) {
- .icon-bar.three-up.large-vertical .item {
- width: auto; } }
- .icon-bar.four-up .item {
- width: 25%; }
- .icon-bar.four-up.vertical .item, .icon-bar.four-up.small-vertical .item {
- width: auto; }
- @media only screen and (min-width: 40.0625em) {
- .icon-bar.four-up.medium-vertical .item {
- width: auto; } }
- @media only screen and (min-width: 64.0625em) {
- .icon-bar.four-up.large-vertical .item {
- width: auto; } }
- .icon-bar.five-up .item {
- width: 20%; }
- .icon-bar.five-up.vertical .item, .icon-bar.five-up.small-vertical .item {
- width: auto; }
- @media only screen and (min-width: 40.0625em) {
- .icon-bar.five-up.medium-vertical .item {
- width: auto; } }
- @media only screen and (min-width: 64.0625em) {
- .icon-bar.five-up.large-vertical .item {
- width: auto; } }
- .icon-bar.six-up .item {
- width: 16.66667%; }
- .icon-bar.six-up.vertical .item, .icon-bar.six-up.small-vertical .item {
- width: auto; }
- @media only screen and (min-width: 40.0625em) {
- .icon-bar.six-up.medium-vertical .item {
- width: auto; } }
- @media only screen and (min-width: 64.0625em) {
- .icon-bar.six-up.large-vertical .item {
- width: auto; } }
- .icon-bar.seven-up .item {
- width: 14.28571%; }
- .icon-bar.seven-up.vertical .item, .icon-bar.seven-up.small-vertical .item {
- width: auto; }
- @media only screen and (min-width: 40.0625em) {
- .icon-bar.seven-up.medium-vertical .item {
- width: auto; } }
- @media only screen and (min-width: 64.0625em) {
- .icon-bar.seven-up.large-vertical .item {
- width: auto; } }
- .icon-bar.eight-up .item {
- width: 12.5%; }
- .icon-bar.eight-up.vertical .item, .icon-bar.eight-up.small-vertical .item {
- width: auto; }
- @media only screen and (min-width: 40.0625em) {
- .icon-bar.eight-up.medium-vertical .item {
- width: auto; } }
- @media only screen and (min-width: 64.0625em) {
- .icon-bar.eight-up.large-vertical .item {
- width: auto; } }
-
-.icon-bar.two-up .item {
- width: 50%; }
-.icon-bar.two-up.vertical .item, .icon-bar.two-up.small-vertical .item {
- width: auto; }
-@media only screen and (min-width: 40.0625em) {
- .icon-bar.two-up.medium-vertical .item {
- width: auto; } }
-@media only screen and (min-width: 64.0625em) {
- .icon-bar.two-up.large-vertical .item {
- width: auto; } }
-.icon-bar.three-up .item {
- width: 33.3333%; }
-.icon-bar.three-up.vertical .item, .icon-bar.three-up.small-vertical .item {
- width: auto; }
-@media only screen and (min-width: 40.0625em) {
- .icon-bar.three-up.medium-vertical .item {
- width: auto; } }
-@media only screen and (min-width: 64.0625em) {
- .icon-bar.three-up.large-vertical .item {
- width: auto; } }
-.icon-bar.four-up .item {
- width: 25%; }
-.icon-bar.four-up.vertical .item, .icon-bar.four-up.small-vertical .item {
- width: auto; }
-@media only screen and (min-width: 40.0625em) {
- .icon-bar.four-up.medium-vertical .item {
- width: auto; } }
-@media only screen and (min-width: 64.0625em) {
- .icon-bar.four-up.large-vertical .item {
- width: auto; } }
-.icon-bar.five-up .item {
- width: 20%; }
-.icon-bar.five-up.vertical .item, .icon-bar.five-up.small-vertical .item {
- width: auto; }
-@media only screen and (min-width: 40.0625em) {
- .icon-bar.five-up.medium-vertical .item {
- width: auto; } }
-@media only screen and (min-width: 64.0625em) {
- .icon-bar.five-up.large-vertical .item {
- width: auto; } }
-.icon-bar.six-up .item {
- width: 16.66667%; }
-.icon-bar.six-up.vertical .item, .icon-bar.six-up.small-vertical .item {
- width: auto; }
-@media only screen and (min-width: 40.0625em) {
- .icon-bar.six-up.medium-vertical .item {
- width: auto; } }
-@media only screen and (min-width: 64.0625em) {
- .icon-bar.six-up.large-vertical .item {
- width: auto; } }
-.icon-bar.seven-up .item {
- width: 14.28571%; }
-.icon-bar.seven-up.vertical .item, .icon-bar.seven-up.small-vertical .item {
- width: auto; }
-@media only screen and (min-width: 40.0625em) {
- .icon-bar.seven-up.medium-vertical .item {
- width: auto; } }
-@media only screen and (min-width: 64.0625em) {
- .icon-bar.seven-up.large-vertical .item {
- width: auto; } }
-.icon-bar.eight-up .item {
- width: 12.5%; }
-.icon-bar.eight-up.vertical .item, .icon-bar.eight-up.small-vertical .item {
- width: auto; }
-@media only screen and (min-width: 40.0625em) {
- .icon-bar.eight-up.medium-vertical .item {
- width: auto; } }
-@media only screen and (min-width: 64.0625em) {
- .icon-bar.eight-up.large-vertical .item {
- width: auto; } }
-
-.tabs {
- margin-bottom: 0 !important;
- margin-left: 0; }
- .tabs:before, .tabs:after {
- content: " ";
- display: table; }
- .tabs:after {
- clear: both; }
- .tabs dd,
- .tabs .tab-title {
- float: left;
- list-style: none;
- margin-bottom: 0 !important;
- position: relative; }
- .tabs dd > a,
- .tabs .tab-title > a {
- display: block;
- background-color: #EFEFEF;
- color: #222222;
- font-family: "Helvetica Neue", Helvetica, Roboto, Arial, sans-serif;
- font-size: 1rem;
- padding: 1rem 2rem; }
- .tabs dd > a:hover,
- .tabs .tab-title > a:hover {
- background-color: #e1e1e1; }
- .tabs dd.active a,
- .tabs .tab-title.active a {
- background-color: #FFFFFF;
- color: #222222; }
- .tabs.radius dd:first-child a,
- .tabs.radius .tab:first-child a {
- -webkit-border-bottom-left-radius: 3px;
- -webkit-border-top-left-radius: 3px;
- border-bottom-left-radius: 3px;
- border-top-left-radius: 3px; }
- .tabs.radius dd:last-child a,
- .tabs.radius .tab:last-child a {
- -webkit-border-bottom-right-radius: 3px;
- -webkit-border-top-right-radius: 3px;
- border-bottom-right-radius: 3px;
- border-top-right-radius: 3px; }
- .tabs.vertical dd,
- .tabs.vertical .tab-title {
- position: inherit;
- float: none;
- display: block;
- top: auto; }
-
-.tabs-content {
- margin-bottom: 1.5rem;
- width: 100%; }
- .tabs-content:before, .tabs-content:after {
- content: " ";
- display: table; }
- .tabs-content:after {
- clear: both; }
- .tabs-content > .content {
- display: none;
- float: left;
- padding: 0.9375rem 0;
- width: 100%; }
- .tabs-content > .content.active {
- display: block;
- float: none; }
- .tabs-content > .content.contained {
- padding: 0.9375rem; }
- .tabs-content.vertical {
+ .menu > li {
+ display: table-cell; }
+ .menu.vertical > li {
display: block; }
- .tabs-content.vertical > .content {
- padding: 0 0.9375rem; }
-
-@media only screen and (min-width: 40.0625em) {
- .tabs.vertical {
- float: left;
- margin: 0;
- margin-bottom: 1.25rem !important;
- max-width: 20%;
- width: 20%; }
-
- .tabs-content.vertical {
- float: left;
- margin-left: -1px;
- max-width: 80%;
- padding-left: 1rem;
- width: 80%; } }
-.no-js .tabs-content > .content {
- display: block;
- float: none; }
-
-ul.pagination {
- display: block;
- margin-left: -0.3125rem;
- min-height: 1.5rem; }
- ul.pagination li {
- color: #222222;
- font-size: 0.875rem;
- height: 1.5rem;
- margin-left: 0.3125rem; }
- ul.pagination li a, ul.pagination li button {
- border-radius: 3px;
- transition: background-color 300ms ease-out;
- background: none;
- color: #999999;
- display: block;
- font-size: 1em;
- font-weight: normal;
- line-height: inherit;
- padding: 0.0625rem 0.625rem 0.0625rem; }
- ul.pagination li:hover a,
- ul.pagination li a:focus, ul.pagination li:hover button,
- ul.pagination li button:focus {
- background: #e6e6e6; }
- ul.pagination li.unavailable a, ul.pagination li.unavailable button {
- cursor: default;
- color: #999999; }
- ul.pagination li.unavailable:hover a, ul.pagination li.unavailable a:focus, ul.pagination li.unavailable:hover button, ul.pagination li.unavailable button:focus {
- background: transparent; }
- ul.pagination li.current a, ul.pagination li.current button {
- background: #008CBA;
- color: #FFFFFF;
- cursor: default;
- font-weight: bold; }
- ul.pagination li.current a:hover, ul.pagination li.current a:focus, ul.pagination li.current button:hover, ul.pagination li.current button:focus {
- background: #008CBA; }
- ul.pagination li {
- display: block;
- float: left; }
-
-/* Pagination centred wrapper */
-.pagination-centered {
- text-align: center; }
- .pagination-centered ul.pagination li {
+ @media screen and (min-width: 40em) {
+ .menu.medium-horizontal > li {
+ display: table-cell; }
+ .menu.medium-vertical > li {
+ display: block; } }
+ @media screen and (min-width: 64em) {
+ .menu.large-horizontal > li {
+ display: table-cell; }
+ .menu.large-vertical > li {
+ display: block; } }
+ .menu.simple li {
+ line-height: 1;
display: inline-block;
- float: none; }
-
-.side-nav {
- display: block;
- font-family: "Helvetica Neue", Helvetica, Roboto, Arial, sans-serif;
- list-style-position: outside;
- list-style-type: none;
- margin: 0;
- padding: 0.875rem 0; }
- .side-nav li {
- font-size: 0.875rem;
- font-weight: normal;
- margin: 0 0 0.4375rem 0; }
- .side-nav li a:not(.button) {
- color: #008CBA;
- display: block;
- margin: 0;
- padding: 0.4375rem 0.875rem; }
- .side-nav li a:not(.button):hover, .side-nav li a:not(.button):focus {
- background: rgba(0, 0, 0, 0.025);
- color: #1cc7ff; }
- .side-nav li a:not(.button):active {
- color: #1cc7ff; }
- .side-nav li.active > a:first-child:not(.button) {
- color: #1cc7ff;
- font-family: "Helvetica Neue", Helvetica, Roboto, Arial, sans-serif;
- font-weight: normal; }
- .side-nav li.divider {
- border-top: 1px solid;
- height: 0;
- list-style: none;
- padding: 0;
- border-top-color: #e6e6e6; }
- .side-nav li.heading {
- color: #008CBA;
- font-size: 0.875rem;
- font-weight: bold;
- text-transform: uppercase; }
-
-.accordion {
- margin-bottom: 0; }
- .accordion:before, .accordion:after {
- content: " ";
+ margin-right: 1rem; }
+ .menu.simple a {
+ padding: 0; }
+ .menu.align-right::before, .menu.align-right::after {
+ content: ' ';
display: table; }
- .accordion:after {
+ .menu.align-right::after {
clear: both; }
- .accordion .accordion-navigation, .accordion dd {
- display: block;
- margin-bottom: 0 !important; }
- .accordion .accordion-navigation.active > a, .accordion dd.active > a {
- background: #e8e8e8; }
- .accordion .accordion-navigation > a, .accordion dd > a {
- background: #EFEFEF;
- color: #222222;
+ .menu.align-right > li {
+ float: right; }
+ .menu.expanded {
+ width: 100%;
+ display: table;
+ table-layout: fixed; }
+ .menu.expanded > li:first-child:last-child {
+ width: 100%; }
+ .menu.icon-top > li > a {
+ text-align: center; }
+ .menu.icon-top > li > a img,
+ .menu.icon-top > li > a i,
+ .menu.icon-top > li > a svg {
display: block;
- font-family: "Helvetica Neue", Helvetica, Roboto, Arial, sans-serif;
- font-size: 1rem;
- padding: 1rem; }
- .accordion .accordion-navigation > a:hover, .accordion dd > a:hover {
- background: #e3e3e3; }
- .accordion .accordion-navigation > .content, .accordion dd > .content {
- display: none;
- padding: 0.9375rem; }
- .accordion .accordion-navigation > .content.active, .accordion dd > .content.active {
- background: #FFFFFF;
- display: block; }
-
-.text-left {
- text-align: left !important; }
-
-.text-right {
- text-align: right !important; }
-
-.text-center {
- text-align: center !important; }
-
-.text-justify {
- text-align: justify !important; }
-
-@media only screen and (max-width: 40em) {
- .small-only-text-left {
- text-align: left !important; }
-
- .small-only-text-right {
- text-align: right !important; }
-
- .small-only-text-center {
- text-align: center !important; }
-
- .small-only-text-justify {
- text-align: justify !important; } }
-@media only screen {
- .small-text-left {
- text-align: left !important; }
-
- .small-text-right {
- text-align: right !important; }
-
- .small-text-center {
- text-align: center !important; }
-
- .small-text-justify {
- text-align: justify !important; } }
-@media only screen and (min-width: 40.0625em) and (max-width: 64em) {
- .medium-only-text-left {
- text-align: left !important; }
-
- .medium-only-text-right {
- text-align: right !important; }
-
- .medium-only-text-center {
- text-align: center !important; }
-
- .medium-only-text-justify {
- text-align: justify !important; } }
-@media only screen and (min-width: 40.0625em) {
- .medium-text-left {
- text-align: left !important; }
-
- .medium-text-right {
- text-align: right !important; }
-
- .medium-text-center {
- text-align: center !important; }
-
- .medium-text-justify {
- text-align: justify !important; } }
-@media only screen and (min-width: 64.0625em) and (max-width: 90em) {
- .large-only-text-left {
- text-align: left !important; }
-
- .large-only-text-right {
- text-align: right !important; }
-
- .large-only-text-center {
- text-align: center !important; }
-
- .large-only-text-justify {
- text-align: justify !important; } }
-@media only screen and (min-width: 64.0625em) {
- .large-text-left {
- text-align: left !important; }
-
- .large-text-right {
- text-align: right !important; }
-
- .large-text-center {
- text-align: center !important; }
-
- .large-text-justify {
- text-align: justify !important; } }
-@media only screen and (min-width: 90.0625em) and (max-width: 120em) {
- .xlarge-only-text-left {
- text-align: left !important; }
-
- .xlarge-only-text-right {
- text-align: right !important; }
-
- .xlarge-only-text-center {
- text-align: center !important; }
-
- .xlarge-only-text-justify {
- text-align: justify !important; } }
-@media only screen and (min-width: 90.0625em) {
- .xlarge-text-left {
- text-align: left !important; }
-
- .xlarge-text-right {
- text-align: right !important; }
-
- .xlarge-text-center {
- text-align: center !important; }
-
- .xlarge-text-justify {
- text-align: justify !important; } }
-@media only screen and (min-width: 120.0625em) and (max-width: 6249999.9375em) {
- .xxlarge-only-text-left {
- text-align: left !important; }
-
- .xxlarge-only-text-right {
- text-align: right !important; }
-
- .xxlarge-only-text-center {
- text-align: center !important; }
+ margin: 0 auto 0.25rem; }
+ .menu.nested {
+ margin-left: 1rem; }
+ .menu .active > a {
+ color: #fefefe;
+ background: #2199e8; }
+
+.menu-text {
+ font-weight: bold;
+ color: inherit;
+ line-height: 1;
+ padding-top: 0;
+ padding-bottom: 0;
+ padding: 0.7rem 1rem; }
- .xxlarge-only-text-justify {
- text-align: justify !important; } }
-@media only screen and (min-width: 120.0625em) {
- .xxlarge-text-left {
- text-align: left !important; }
+.menu-centered {
+ text-align: center; }
+ .menu-centered > .menu {
+ display: inline-block; }
- .xxlarge-text-right {
- text-align: right !important; }
+.no-js [data-responsive-menu] ul {
+ display: none; }
- .xxlarge-text-center {
- text-align: center !important; }
+.menu-icon {
+ position: relative;
+ display: inline-block;
+ vertical-align: middle;
+ cursor: pointer;
+ width: 20px;
+ height: 16px; }
+ .menu-icon::after {
+ content: '';
+ position: absolute;
+ display: block;
+ width: 100%;
+ height: 2px;
+ background: #fefefe;
+ top: 0;
+ left: 0;
+ -webkit-box-shadow: 0 7px 0 #fefefe, 0 14px 0 #fefefe;
+ box-shadow: 0 7px 0 #fefefe, 0 14px 0 #fefefe; }
+ .menu-icon:hover::after {
+ background: #cacaca;
+ -webkit-box-shadow: 0 7px 0 #cacaca, 0 14px 0 #cacaca;
+ box-shadow: 0 7px 0 #cacaca, 0 14px 0 #cacaca; }
+
+.menu-icon.dark {
+ position: relative;
+ display: inline-block;
+ vertical-align: middle;
+ cursor: pointer;
+ width: 20px;
+ height: 16px; }
+ .menu-icon.dark::after {
+ content: '';
+ position: absolute;
+ display: block;
+ width: 100%;
+ height: 2px;
+ background: #0a0a0a;
+ top: 0;
+ left: 0;
+ -webkit-box-shadow: 0 7px 0 #0a0a0a, 0 14px 0 #0a0a0a;
+ box-shadow: 0 7px 0 #0a0a0a, 0 14px 0 #0a0a0a; }
+ .menu-icon.dark:hover::after {
+ background: #8a8a8a;
+ -webkit-box-shadow: 0 7px 0 #8a8a8a, 0 14px 0 #8a8a8a;
+ box-shadow: 0 7px 0 #8a8a8a, 0 14px 0 #8a8a8a; }
+
+.is-drilldown {
+ position: relative;
+ overflow: hidden; }
+ .is-drilldown li {
+ display: block !important; }
- .xxlarge-text-justify {
- text-align: justify !important; } }
-/* Typography resets */
-div,
-dl,
-dt,
-dd,
-ul,
-ol,
-li,
-h1,
-h2,
-h3,
-h4,
-h5,
-h6,
-pre,
-form,
-p,
-blockquote,
-th,
-td {
- margin: 0;
- padding: 0; }
+.is-drilldown-submenu {
+ position: absolute;
+ top: 0;
+ left: 100%;
+ z-index: -1;
+ height: 100%;
+ width: 100%;
+ background: #fefefe;
+ -webkit-transition: -webkit-transform 0.15s linear;
+ transition: transform 0.15s linear; }
+ .is-drilldown-submenu.is-active {
+ z-index: 1;
+ display: block;
+ -webkit-transform: translateX(-100%);
+ -ms-transform: translateX(-100%);
+ transform: translateX(-100%); }
+ .is-drilldown-submenu.is-closing {
+ -webkit-transform: translateX(100%);
+ -ms-transform: translateX(100%);
+ transform: translateX(100%); }
+
+.is-drilldown-submenu-parent > a {
+ position: relative; }
+ .is-drilldown-submenu-parent > a::after {
+ content: '';
+ display: block;
+ width: 0;
+ height: 0;
+ border: inset 6px;
+ border-color: transparent transparent transparent #2199e8;
+ border-left-style: solid;
+ border-right-width: 0;
+ position: absolute;
+ top: 50%;
+ margin-top: -6px;
+ right: 1rem; }
-/* Default Link Styles */
-a {
- color: #008CBA;
- line-height: inherit;
- text-decoration: none; }
- a:hover, a:focus {
- color: #0078a0; }
- a img {
- border: none; }
+.js-drilldown-back > a::before {
+ content: '';
+ display: block;
+ width: 0;
+ height: 0;
+ border: inset 6px;
+ border-color: transparent #2199e8 transparent transparent;
+ border-right-style: solid;
+ border-left-width: 0;
+ border-left-width: 0;
+ display: inline-block;
+ vertical-align: middle;
+ margin-right: 0.75rem; }
-/* Default paragraph styles */
-p {
- font-family: inherit;
+.dropdown-pane {
+ background-color: #fefefe;
+ border: 1px solid #cacaca;
+ border-radius: 0;
+ display: block;
font-size: 1rem;
- font-weight: normal;
- line-height: 1.6;
- margin-bottom: 1.25rem;
- text-rendering: optimizeLegibility; }
- p.lead {
- font-size: 1.21875rem;
- line-height: 1.6; }
- p aside {
- font-size: 0.875rem;
- font-style: italic;
- line-height: 1.35; }
-
-/* Default header styles */
-h1, h2, h3, h4, h5, h6 {
- color: #222222;
- font-family: "Helvetica Neue", Helvetica, Roboto, Arial, sans-serif;
- font-style: normal;
- font-weight: normal;
- line-height: 1.4;
- margin-bottom: 0.5rem;
- margin-top: 0.2rem;
- text-rendering: optimizeLegibility; }
- h1 small, h2 small, h3 small, h4 small, h5 small, h6 small {
- color: #6f6f6f;
- font-size: 60%;
- line-height: 0; }
-
-h1 {
- font-size: 2.125rem; }
+ padding: 1rem;
+ position: absolute;
+ visibility: hidden;
+ width: 300px;
+ z-index: 10; }
+ .dropdown-pane.is-open {
+ visibility: visible; }
-h2 {
- font-size: 1.6875rem; }
+.dropdown-pane.tiny {
+ width: 100px; }
-h3 {
- font-size: 1.375rem; }
+.dropdown-pane.small {
+ width: 200px; }
-h4 {
- font-size: 1.125rem; }
+.dropdown-pane.large {
+ width: 400px; }
-h5 {
- font-size: 1.125rem; }
+.dropdown.menu > li.opens-left > .is-dropdown-submenu {
+ left: auto;
+ right: 0;
+ top: 100%; }
-h6 {
- font-size: 1rem; }
+.dropdown.menu > li.opens-right > .is-dropdown-submenu {
+ right: auto;
+ left: 0;
+ top: 100%; }
-.subheader {
- line-height: 1.4;
- color: #6f6f6f;
- font-weight: normal;
- margin-top: 0.2rem;
- margin-bottom: 0.5rem; }
+.dropdown.menu > li.is-dropdown-submenu-parent > a {
+ padding-right: 1.5rem;
+ position: relative; }
-hr {
- border: solid #DDDDDD;
- border-width: 1px 0 0;
- clear: both;
+.dropdown.menu > li.is-dropdown-submenu-parent > a::after {
+ content: '';
+ display: block;
+ width: 0;
height: 0;
- margin: 1.25rem 0 1.1875rem; }
+ border: inset 5px;
+ border-color: #2199e8 transparent transparent;
+ border-top-style: solid;
+ border-bottom-width: 0;
+ right: 5px;
+ margin-top: -2px; }
-/* Helpful Typography Defaults */
-em,
-i {
- font-style: italic;
- line-height: inherit; }
+[data-whatinput='mouse'] .dropdown.menu a {
+ outline: 0; }
-strong,
-b {
- font-weight: bold;
- line-height: inherit; }
+.no-js .dropdown.menu ul {
+ display: none; }
-small {
- font-size: 60%;
- line-height: inherit; }
+.dropdown.menu.vertical > li .is-dropdown-submenu {
+ top: 0; }
-code {
- background-color: #f8f8f8;
- border-color: #dfdfdf;
- border-style: solid;
- border-width: 1px;
- color: #333333;
- font-family: Consolas, "Liberation Mono", Courier, monospace;
- font-weight: normal;
- padding: 0.125rem 0.3125rem 0.0625rem; }
+.dropdown.menu.vertical > li.opens-left > .is-dropdown-submenu {
+ left: auto;
+ right: 100%; }
-/* Lists */
-ul,
-ol,
-dl {
- font-family: inherit;
- font-size: 1rem;
- line-height: 1.6;
- list-style-position: outside;
- margin-bottom: 1.25rem; }
+.dropdown.menu.vertical > li.opens-right > .is-dropdown-submenu {
+ right: auto;
+ left: 100%; }
-ul {
- margin-left: 1.1rem; }
- ul.no-bullet {
- margin-left: 0; }
- ul.no-bullet li ul,
- ul.no-bullet li ol {
- margin-left: 1.25rem;
- margin-bottom: 0;
- list-style: none; }
-
-/* Unordered Lists */
-ul li ul,
-ul li ol {
- margin-left: 1.25rem;
- margin-bottom: 0; }
-ul.square li ul, ul.circle li ul, ul.disc li ul {
- list-style: inherit; }
-ul.square {
- list-style-type: square;
- margin-left: 1.1rem; }
-ul.circle {
- list-style-type: circle;
- margin-left: 1.1rem; }
-ul.disc {
- list-style-type: disc;
- margin-left: 1.1rem; }
-ul.no-bullet {
- list-style: none; }
+.dropdown.menu.vertical > li > a::after {
+ right: 14px;
+ margin-top: -3px; }
-/* Ordered Lists */
-ol {
- margin-left: 1.4rem; }
- ol li ul,
- ol li ol {
- margin-left: 1.25rem;
- margin-bottom: 0; }
-
-/* Definition Lists */
-dl dt {
- margin-bottom: 0.3rem;
- font-weight: bold; }
-dl dd {
- margin-bottom: 0.75rem; }
-
-/* Abbreviations */
-abbr,
-acronym {
- text-transform: uppercase;
- font-size: 90%;
- color: #222;
- cursor: help; }
+.dropdown.menu.vertical > li.opens-left > a::after {
+ content: '';
+ display: block;
+ width: 0;
+ height: 0;
+ border: inset 5px;
+ border-color: transparent #2199e8 transparent transparent;
+ border-right-style: solid;
+ border-left-width: 0; }
-abbr {
- text-transform: none; }
- abbr[title] {
- border-bottom: 1px dotted #DDDDDD; }
+.dropdown.menu.vertical > li.opens-right > a::after {
+ content: '';
+ display: block;
+ width: 0;
+ height: 0;
+ border: inset 5px;
+ border-color: transparent transparent transparent #2199e8;
+ border-left-style: solid;
+ border-right-width: 0; }
-/* Blockquotes */
-blockquote {
- margin: 0 0 1.25rem;
- padding: 0.5625rem 1.25rem 0 1.1875rem;
- border-left: 1px solid #DDDDDD; }
- blockquote cite {
+@media screen and (min-width: 40em) {
+ .dropdown.menu.medium-horizontal > li.opens-left > .is-dropdown-submenu {
+ left: auto;
+ right: 0;
+ top: 100%; }
+ .dropdown.menu.medium-horizontal > li.opens-right > .is-dropdown-submenu {
+ right: auto;
+ left: 0;
+ top: 100%; }
+ .dropdown.menu.medium-horizontal > li.is-dropdown-submenu-parent > a {
+ padding-right: 1.5rem;
+ position: relative; }
+ .dropdown.menu.medium-horizontal > li.is-dropdown-submenu-parent > a::after {
+ content: '';
display: block;
- font-size: 0.8125rem;
- color: #555555; }
- blockquote cite:before {
- content: "\2014 \0020"; }
- blockquote cite a,
- blockquote cite a:visited {
- color: #555555; }
-
-blockquote,
-blockquote p {
- line-height: 1.6;
- color: #6f6f6f; }
-
-/* Microformats */
-.vcard {
- display: inline-block;
- margin: 0 0 1.25rem 0;
- border: 1px solid #DDDDDD;
- padding: 0.625rem 0.75rem; }
- .vcard li {
- margin: 0;
- display: block; }
- .vcard .fn {
- font-weight: bold;
- font-size: 0.9375rem; }
-
-.vevent .summary {
- font-weight: bold; }
-.vevent abbr {
- cursor: default;
- text-decoration: none;
- font-weight: bold;
- border: none;
- padding: 0 0.0625rem; }
-
-@media only screen and (min-width: 40.0625em) {
- h1, h2, h3, h4, h5, h6 {
- line-height: 1.4; }
-
- h1 {
- font-size: 2.75rem; }
-
- h2 {
- font-size: 2.3125rem; }
-
- h3 {
- font-size: 1.6875rem; }
-
- h4 {
- font-size: 1.4375rem; }
-
- h5 {
- font-size: 1.125rem; }
-
- h6 {
- font-size: 1rem; } }
-.split.button {
- position: relative;
- padding-right: 5.0625rem; }
- .split.button span {
+ width: 0;
+ height: 0;
+ border: inset 5px;
+ border-color: #2199e8 transparent transparent;
+ border-top-style: solid;
+ border-bottom-width: 0;
+ right: 5px;
+ margin-top: -2px; }
+ .dropdown.menu.medium-vertical > li .is-dropdown-submenu {
+ top: 0; }
+ .dropdown.menu.medium-vertical > li.opens-left > .is-dropdown-submenu {
+ left: auto;
+ right: 100%; }
+ .dropdown.menu.medium-vertical > li.opens-right > .is-dropdown-submenu {
+ right: auto;
+ left: 100%; }
+ .dropdown.menu.medium-vertical > li > a::after {
+ right: 14px;
+ margin-top: -3px; }
+ .dropdown.menu.medium-vertical > li.opens-left > a::after {
+ content: '';
display: block;
- height: 100%;
- position: absolute;
- right: 0;
- top: 0;
- border-left: solid 1px; }
- .split.button span:after {
- position: absolute;
- content: "";
- width: 0;
- height: 0;
- display: block;
- border-style: inset;
- top: 50%;
- left: 50%; }
- .split.button span:active {
- background-color: rgba(0, 0, 0, 0.1); }
- .split.button span {
- border-left-color: rgba(255, 255, 255, 0.5); }
- .split.button span {
- width: 3.09375rem; }
- .split.button span:after {
- border-top-style: solid;
- border-width: 0.375rem;
- margin-left: -0.375rem;
- top: 48%; }
- .split.button span:after {
- border-color: #FFFFFF transparent transparent transparent; }
- .split.button.secondary span {
- border-left-color: rgba(255, 255, 255, 0.5); }
- .split.button.secondary span:after {
- border-color: #FFFFFF transparent transparent transparent; }
- .split.button.alert span {
- border-left-color: rgba(255, 255, 255, 0.5); }
- .split.button.success span {
- border-left-color: rgba(255, 255, 255, 0.5); }
- .split.button.tiny {
- padding-right: 3.75rem; }
- .split.button.tiny span {
- width: 2.25rem; }
- .split.button.tiny span:after {
- border-top-style: solid;
- border-width: 0.375rem;
- margin-left: -0.375rem;
- top: 48%; }
- .split.button.small {
- padding-right: 4.375rem; }
- .split.button.small span {
- width: 2.625rem; }
- .split.button.small span:after {
- border-top-style: solid;
- border-width: 0.4375rem;
- margin-left: -0.375rem;
- top: 48%; }
- .split.button.large {
- padding-right: 5.5rem; }
- .split.button.large span {
- width: 3.4375rem; }
- .split.button.large span:after {
- border-top-style: solid;
- border-width: 0.3125rem;
- margin-left: -0.375rem;
- top: 48%; }
- .split.button.expand {
- padding-left: 2rem; }
- .split.button.secondary span:after {
- border-color: #333333 transparent transparent transparent; }
- .split.button.radius span {
- -webkit-border-bottom-right-radius: 3px;
- -webkit-border-top-right-radius: 3px;
- border-bottom-right-radius: 3px;
- border-top-right-radius: 3px; }
- .split.button.round span {
- -webkit-border-bottom-right-radius: 1000px;
- -webkit-border-top-right-radius: 1000px;
- border-bottom-right-radius: 1000px;
- border-top-right-radius: 1000px; }
- .split.button.no-pip span:before {
- border-style: none; }
- .split.button.no-pip span:after {
- border-style: none; }
- .split.button.no-pip span > i {
+ width: 0;
+ height: 0;
+ border: inset 5px;
+ border-color: transparent #2199e8 transparent transparent;
+ border-right-style: solid;
+ border-left-width: 0; }
+ .dropdown.menu.medium-vertical > li.opens-right > a::after {
+ content: '';
display: block;
- left: 50%;
- margin-left: -0.28889em;
- margin-top: -0.48889em;
- position: absolute;
- top: 50%; }
-
-.reveal-modal-bg {
- background: #000000;
- background: rgba(0, 0, 0, 0.45);
- bottom: 0;
- display: none;
- left: 0;
- position: fixed;
- right: 0;
- top: 0;
- z-index: 1004;
- left: 0; }
+ width: 0;
+ height: 0;
+ border: inset 5px;
+ border-color: transparent transparent transparent #2199e8;
+ border-left-style: solid;
+ border-right-width: 0; } }
-.reveal-modal {
- border-radius: 3px;
- display: none;
- position: absolute;
- top: 0;
- visibility: hidden;
- width: 100%;
- z-index: 1005;
- left: 0;
- background-color: #FFFFFF;
- padding: 1.875rem;
- border: solid 1px #666666;
- box-shadow: 0 0 10px rgba(0, 0, 0, 0.4); }
- @media only screen and (max-width: 40em) {
- .reveal-modal {
- min-height: 100vh; } }
- .reveal-modal .column, .reveal-modal .columns {
- min-width: 0; }
- .reveal-modal > :first-child {
- margin-top: 0; }
- .reveal-modal > :last-child {
- margin-bottom: 0; }
- @media only screen and (min-width: 40.0625em) {
- .reveal-modal {
- left: 0;
- margin: 0 auto;
- max-width: 62.5rem;
- right: 0;
- width: 80%; } }
- @media only screen and (min-width: 40.0625em) {
- .reveal-modal {
- top: 6.25rem; } }
- .reveal-modal.radius {
- border-radius: 3px; }
- .reveal-modal.round {
- border-radius: 1000px; }
- .reveal-modal.collapse {
- padding: 0; }
- @media only screen and (min-width: 40.0625em) {
- .reveal-modal.tiny {
- left: 0;
- margin: 0 auto;
- max-width: 62.5rem;
- right: 0;
- width: 30%; } }
- @media only screen and (min-width: 40.0625em) {
- .reveal-modal.small {
- left: 0;
- margin: 0 auto;
- max-width: 62.5rem;
- right: 0;
- width: 40%; } }
- @media only screen and (min-width: 40.0625em) {
- .reveal-modal.medium {
- left: 0;
- margin: 0 auto;
- max-width: 62.5rem;
- right: 0;
- width: 60%; } }
- @media only screen and (min-width: 40.0625em) {
- .reveal-modal.large {
- left: 0;
- margin: 0 auto;
- max-width: 62.5rem;
- right: 0;
- width: 70%; } }
- @media only screen and (min-width: 40.0625em) {
- .reveal-modal.xlarge {
- left: 0;
- margin: 0 auto;
- max-width: 62.5rem;
- right: 0;
- width: 95%; } }
- .reveal-modal.full {
- height: 100vh;
- height: 100%;
+@media screen and (min-width: 64em) {
+ .dropdown.menu.large-horizontal > li.opens-left > .is-dropdown-submenu {
+ left: auto;
+ right: 0;
+ top: 100%; }
+ .dropdown.menu.large-horizontal > li.opens-right > .is-dropdown-submenu {
+ right: auto;
left: 0;
- margin-left: 0 !important;
- max-width: none !important;
- min-height: 100vh;
- top: 0; }
- @media only screen and (min-width: 40.0625em) {
- .reveal-modal.full {
- left: 0;
- margin: 0 auto;
- max-width: 62.5rem;
- right: 0;
- width: 100%; } }
- .reveal-modal.toback {
- z-index: 1003; }
- .reveal-modal .close-reveal-modal {
- color: #AAAAAA;
- cursor: pointer;
- font-size: 2.5rem;
- font-weight: bold;
- line-height: 1;
- position: absolute;
- top: 0.625rem;
- right: 1.375rem; }
-
-/* Tooltips */
-.has-tip {
- border-bottom: dotted 1px #CCCCCC;
- color: #333333;
- cursor: help;
- font-weight: bold; }
- .has-tip:hover, .has-tip:focus {
- border-bottom: dotted 1px #003f54;
- color: #008CBA; }
- .has-tip.tip-left, .has-tip.tip-right {
- float: none !important; }
-
-.tooltip {
- background: #333333;
- color: #FFFFFF;
- display: none;
- font-size: 0.875rem;
- font-weight: normal;
- line-height: 1.3;
- max-width: 300px;
- padding: 0.75rem;
- position: absolute;
- width: 100%;
- z-index: 1006;
- left: 50%; }
- .tooltip > .nub {
- border-color: transparent transparent #333333 transparent;
- border: solid 5px;
+ top: 100%; }
+ .dropdown.menu.large-horizontal > li.is-dropdown-submenu-parent > a {
+ padding-right: 1.5rem;
+ position: relative; }
+ .dropdown.menu.large-horizontal > li.is-dropdown-submenu-parent > a::after {
+ content: '';
display: block;
- height: 0;
- pointer-events: none;
- position: absolute;
- top: -10px;
width: 0;
- left: 5px; }
- .tooltip > .nub.rtl {
- left: auto;
- right: 5px; }
- .tooltip.radius {
- border-radius: 3px; }
- .tooltip.round {
- border-radius: 1000px; }
- .tooltip.round > .nub {
- left: 2rem; }
- .tooltip.opened {
- border-bottom: dotted 1px #003f54 !important;
- color: #008CBA !important; }
-
-.tap-to-close {
- color: #777777;
- display: block;
- font-size: 0.625rem;
- font-weight: normal; }
-
-@media only screen and (min-width: 40.0625em) {
- .tooltip > .nub {
- border-color: transparent transparent #333333 transparent;
- top: -10px; }
- .tooltip.tip-top > .nub {
- border-color: #333333 transparent transparent transparent;
- bottom: -10px;
- top: auto; }
- .tooltip.tip-left, .tooltip.tip-right {
- float: none !important; }
- .tooltip.tip-left > .nub {
- border-color: transparent transparent transparent #333333;
+ height: 0;
+ border: inset 5px;
+ border-color: #2199e8 transparent transparent;
+ border-top-style: solid;
+ border-bottom-width: 0;
+ right: 5px;
+ margin-top: -2px; }
+ .dropdown.menu.large-vertical > li .is-dropdown-submenu {
+ top: 0; }
+ .dropdown.menu.large-vertical > li.opens-left > .is-dropdown-submenu {
left: auto;
- margin-top: -5px;
- right: -10px;
- top: 50%; }
- .tooltip.tip-right > .nub {
- border-color: transparent #333333 transparent transparent;
- left: -10px;
- margin-top: -5px;
+ right: 100%; }
+ .dropdown.menu.large-vertical > li.opens-right > .is-dropdown-submenu {
right: auto;
- top: 50%; } }
-/* Clearing Styles */
-.clearing-thumbs, [data-clearing] {
- list-style: none;
- margin-left: 0;
- margin-bottom: 0; }
- .clearing-thumbs:before, .clearing-thumbs:after, [data-clearing]:before, [data-clearing]:after {
- content: " ";
- display: table; }
- .clearing-thumbs:after, [data-clearing]:after {
- clear: both; }
- .clearing-thumbs li, [data-clearing] li {
- float: left;
- margin-right: 10px; }
- .clearing-thumbs[class*="block-grid-"] li, [data-clearing][class*="block-grid-"] li {
- margin-right: 0; }
-
-.clearing-blackout {
- background: #333333;
- height: 100%;
- position: fixed;
- top: 0;
- width: 100%;
- z-index: 998;
- left: 0; }
- .clearing-blackout .clearing-close {
- display: block; }
-
-.clearing-container {
- height: 100%;
- margin: 0;
- overflow: hidden;
- position: relative;
- z-index: 998; }
+ left: 100%; }
+ .dropdown.menu.large-vertical > li > a::after {
+ right: 14px;
+ margin-top: -3px; }
+ .dropdown.menu.large-vertical > li.opens-left > a::after {
+ content: '';
+ display: block;
+ width: 0;
+ height: 0;
+ border: inset 5px;
+ border-color: transparent #2199e8 transparent transparent;
+ border-right-style: solid;
+ border-left-width: 0; }
+ .dropdown.menu.large-vertical > li.opens-right > a::after {
+ content: '';
+ display: block;
+ width: 0;
+ height: 0;
+ border: inset 5px;
+ border-color: transparent transparent transparent #2199e8;
+ border-left-style: solid;
+ border-right-width: 0; } }
+
+.dropdown.menu.align-right .is-dropdown-submenu.first-sub {
+ top: 100%;
+ left: auto;
+ right: 0; }
-.clearing-touch-label {
- color: #AAAAAA;
- font-size: .6em;
- left: 50%;
- position: absolute;
- top: 50%; }
+.is-dropdown-menu.vertical {
+ width: 100px; }
+ .is-dropdown-menu.vertical.align-right {
+ float: right; }
-.visible-img {
- height: 95%;
+.is-dropdown-submenu-parent {
position: relative; }
- .visible-img img {
+ .is-dropdown-submenu-parent a::after {
position: absolute;
- left: 50%;
top: 50%;
- -webkit-transform: translateY(-50%) translateX(-50%);
- -moz-transform: translateY(-50%) translateX(-50%);
- -ms-transform: translateY(-50%) translateX(-50%);
- -o-transform: translateY(-50%) translateX(-50%);
- transform: translateY(-50%) translateX(-50%);
- max-height: 100%;
- max-width: 100%; }
-
-.clearing-caption {
- background: #333333;
- bottom: 0;
- color: #CCCCCC;
- font-size: 0.875em;
- line-height: 1.3;
- margin-bottom: 0;
- padding: 10px 30px 20px;
- position: absolute;
- text-align: center;
- width: 100%;
- left: 0; }
+ right: 5px;
+ margin-top: -2px; }
+ .is-dropdown-submenu-parent.opens-inner > .is-dropdown-submenu {
+ top: 100%;
+ left: auto; }
+ .is-dropdown-submenu-parent.opens-left > .is-dropdown-submenu {
+ left: auto;
+ right: 100%; }
+ .is-dropdown-submenu-parent.opens-right > .is-dropdown-submenu {
+ right: auto;
+ left: 100%; }
-.clearing-close {
- color: #CCCCCC;
+.is-dropdown-submenu {
display: none;
- font-size: 30px;
- line-height: 1;
- padding-left: 20px;
- padding-top: 10px;
- z-index: 999; }
- .clearing-close:hover, .clearing-close:focus {
- color: #CCCCCC; }
-
-.clearing-assembled .clearing-container {
- height: 100%; }
- .clearing-assembled .clearing-container .carousel > ul {
- display: none; }
-
-.clearing-feature li {
- display: none; }
- .clearing-feature li.clearing-featured-img {
+ position: absolute;
+ top: 0;
+ left: 100%;
+ min-width: 200px;
+ z-index: 1;
+ background: #fefefe;
+ border: 1px solid #cacaca; }
+ .is-dropdown-submenu .is-dropdown-submenu-parent > a::after {
+ right: 14px;
+ margin-top: -3px; }
+ .is-dropdown-submenu .is-dropdown-submenu-parent.opens-left > a::after {
+ content: '';
+ display: block;
+ width: 0;
+ height: 0;
+ border: inset 5px;
+ border-color: transparent #2199e8 transparent transparent;
+ border-right-style: solid;
+ border-left-width: 0; }
+ .is-dropdown-submenu .is-dropdown-submenu-parent.opens-right > a::after {
+ content: '';
+ display: block;
+ width: 0;
+ height: 0;
+ border: inset 5px;
+ border-color: transparent transparent transparent #2199e8;
+ border-left-style: solid;
+ border-right-width: 0; }
+ .is-dropdown-submenu .is-dropdown-submenu {
+ margin-top: -1px; }
+ .is-dropdown-submenu > li {
+ width: 100%; }
+ .is-dropdown-submenu.js-dropdown-active {
display: block; }
-@media only screen and (min-width: 40.0625em) {
- .clearing-main-prev,
- .clearing-main-next {
- height: 100%;
+.flex-video {
+ position: relative;
+ height: 0;
+ padding-bottom: 75%;
+ margin-bottom: 1rem;
+ overflow: hidden; }
+ .flex-video iframe,
+ .flex-video object,
+ .flex-video embed,
+ .flex-video video {
position: absolute;
top: 0;
- width: 40px; }
- .clearing-main-prev > span,
- .clearing-main-next > span {
- border: solid 12px;
- display: block;
- height: 0;
- position: absolute;
- top: 50%;
- width: 0; }
- .clearing-main-prev > span:hover,
- .clearing-main-next > span:hover {
- opacity: .8; }
-
- .clearing-main-prev {
- left: 0; }
- .clearing-main-prev > span {
- left: 5px;
- border-color: transparent;
- border-right-color: #CCCCCC; }
-
- .clearing-main-next {
- right: 0; }
- .clearing-main-next > span {
- border-color: transparent;
- border-left-color: #CCCCCC; }
-
- .clearing-main-prev.disabled,
- .clearing-main-next.disabled {
- opacity: .3; }
-
- .clearing-assembled .clearing-container .carousel {
- background: rgba(51, 51, 51, 0.8);
- height: 120px;
- margin-top: 10px;
- text-align: center; }
- .clearing-assembled .clearing-container .carousel > ul {
- display: inline-block;
- z-index: 999;
- height: 100%;
- position: relative;
- float: none; }
- .clearing-assembled .clearing-container .carousel > ul li {
- clear: none;
- cursor: pointer;
- display: block;
- float: left;
- margin-right: 0;
- min-height: inherit;
- opacity: .4;
- overflow: hidden;
- padding: 0;
- position: relative;
- width: 120px; }
- .clearing-assembled .clearing-container .carousel > ul li.fix-height img {
- height: 100%;
- max-width: none; }
- .clearing-assembled .clearing-container .carousel > ul li a.th {
- border: none;
- box-shadow: none;
- display: block; }
- .clearing-assembled .clearing-container .carousel > ul li img {
- cursor: pointer !important;
- width: 100% !important; }
- .clearing-assembled .clearing-container .carousel > ul li.visible {
- opacity: 1; }
- .clearing-assembled .clearing-container .carousel > ul li:hover {
- opacity: .8; }
- .clearing-assembled .clearing-container .visible-img {
- background: #333333;
- height: 85%;
- overflow: hidden; }
-
- .clearing-close {
- padding-left: 0;
- padding-top: 0;
- position: absolute;
- top: 10px;
- right: 20px; } }
-/* Progress Bar */
-.progress {
- background-color: #F6F6F6;
- border: 1px solid white;
- height: 1.5625rem;
- margin-bottom: 0.625rem;
- padding: 0.125rem; }
- .progress .meter {
- background: #008CBA;
- display: block;
- height: 100%; }
- .progress.secondary .meter {
- background: #e7e7e7;
- display: block;
- height: 100%; }
- .progress.success .meter {
- background: #43AC6A;
- display: block;
- height: 100%; }
- .progress.alert .meter {
- background: #f04124;
- display: block;
+ left: 0;
+ width: 100%;
height: 100%; }
- .progress.radius {
- border-radius: 3px; }
- .progress.radius .meter {
- border-radius: 2px; }
- .progress.round {
- border-radius: 1000px; }
- .progress.round .meter {
- border-radius: 999px; }
-
-.sub-nav {
- display: block;
- margin: -0.25rem 0 1.125rem;
- overflow: hidden;
- padding-top: 0.25rem;
- width: auto; }
- .sub-nav dt {
- text-transform: uppercase; }
- .sub-nav dt,
- .sub-nav dd,
- .sub-nav li {
- color: #999999;
- float: left;
- font-family: "Helvetica Neue", Helvetica, Roboto, Arial, sans-serif;
- font-size: 0.875rem;
- font-weight: normal;
- margin-left: 1rem;
- margin-bottom: 0; }
- .sub-nav dt a,
- .sub-nav dd a,
- .sub-nav li a {
- color: #999999;
- padding: 0.1875rem 1rem;
- text-decoration: none; }
- .sub-nav dt a:hover,
- .sub-nav dd a:hover,
- .sub-nav li a:hover {
- color: #737373; }
- .sub-nav dt.active a,
- .sub-nav dd.active a,
- .sub-nav li.active a {
- border-radius: 3px;
- background: #008CBA;
- color: #FFFFFF;
- cursor: default;
- font-weight: normal;
- padding: 0.1875rem 1rem; }
- .sub-nav dt.active a:hover,
- .sub-nav dd.active a:hover,
- .sub-nav li.active a:hover {
- background: #0078a0; }
-
-/* Foundation Joyride */
-.joyride-list {
- display: none; }
-
-/* Default styles for the container */
-.joyride-tip-guide {
- background: #333333;
- color: #FFFFFF;
- display: none;
- font-family: inherit;
- font-weight: normal;
- position: absolute;
- top: 0;
- width: 95%;
- z-index: 101;
- left: 2.5%; }
-
-.lt-ie9 .joyride-tip-guide {
- margin-left: -400px;
- max-width: 800px;
- left: 50%; }
-
-.joyride-content-wrapper {
- padding: 1.125rem 1.25rem 1.5rem;
- width: 100%; }
- .joyride-content-wrapper .button {
- margin-bottom: 0 !important; }
- .joyride-content-wrapper .joyride-prev-tip {
- margin-right: 10px; }
-
-/* Add a little css triangle pip, older browser just miss out on the fanciness of it */
-.joyride-tip-guide .joyride-nub {
- border: 10px solid #333333;
- display: block;
- height: 0;
- position: absolute;
- width: 0;
- left: 22px; }
- .joyride-tip-guide .joyride-nub.top {
- border-color: #333333;
- border-top-color: transparent !important;
- border-top-style: solid;
- border-left-color: transparent !important;
- border-right-color: transparent !important;
- top: -20px; }
- .joyride-tip-guide .joyride-nub.bottom {
- border-color: #333333 !important;
- border-bottom-color: transparent !important;
- border-bottom-style: solid;
- border-left-color: transparent !important;
- border-right-color: transparent !important;
- bottom: -20px; }
- .joyride-tip-guide .joyride-nub.right {
- right: -20px; }
- .joyride-tip-guide .joyride-nub.left {
- left: -20px; }
-
-/* Typography */
-.joyride-tip-guide h1,
-.joyride-tip-guide h2,
-.joyride-tip-guide h3,
-.joyride-tip-guide h4,
-.joyride-tip-guide h5,
-.joyride-tip-guide h6 {
- color: #FFFFFF;
- font-weight: bold;
- line-height: 1.25;
- margin: 0; }
-
-.joyride-tip-guide p {
- font-size: 0.875rem;
- line-height: 1.3;
- margin: 0 0 1.125rem 0; }
-
-.joyride-timer-indicator-wrap {
- border: solid 1px #555555;
- bottom: 1rem;
- height: 3px;
- position: absolute;
- width: 50px;
- right: 1.0625rem; }
-
-.joyride-timer-indicator {
- background: #666666;
- display: block;
- height: inherit;
- width: 0; }
-
-.joyride-close-tip {
- color: #777777 !important;
- font-size: 24px;
- font-weight: normal;
- line-height: .5 !important;
- position: absolute;
- text-decoration: none;
- top: 10px;
- right: 12px; }
- .joyride-close-tip:hover, .joyride-close-tip:focus {
- color: #EEEEEE !important; }
-
-.joyride-modal-bg {
- background: rgba(0, 0, 0, 0.5);
- cursor: pointer;
- display: none;
- height: 100%;
- position: fixed;
- top: 0;
- width: 100%;
- z-index: 100;
- left: 0; }
-
-.joyride-expose-wrapper {
- background-color: #FFFFFF;
- border-radius: 3px;
- box-shadow: 0 0 15px #FFFFFF;
- position: absolute;
- z-index: 102; }
+ .flex-video.widescreen {
+ padding-bottom: 56.25%; }
+ .flex-video.vimeo {
+ padding-top: 0; }
-.joyride-expose-cover {
- background: transparent;
- border-radius: 3px;
- left: 0;
- position: absolute;
- top: 0;
- z-index: 9999; }
-
-/* Styles for screens that are at least 768px; */
-@media only screen and (min-width: 40.0625em) {
- .joyride-tip-guide {
- width: 300px;
- left: inherit; }
- .joyride-tip-guide .joyride-nub.bottom {
- border-color: #333333 !important;
- border-bottom-color: transparent !important;
- border-left-color: transparent !important;
- border-right-color: transparent !important;
- bottom: -20px; }
- .joyride-tip-guide .joyride-nub.right {
- border-color: #333333 !important;
- border-right-color: transparent !important;
- border-bottom-color: transparent !important;
- border-top-color: transparent !important;
- left: auto;
- right: -20px;
- top: 22px; }
- .joyride-tip-guide .joyride-nub.left {
- border-color: #333333 !important;
- border-bottom-color: transparent !important;
- border-left-color: transparent !important;
- border-top-color: transparent !important;
- left: -20px;
- right: auto;
- top: 22px; } }
.label {
display: inline-block;
- font-family: "Helvetica Neue", Helvetica, Roboto, Arial, sans-serif;
- font-weight: normal;
+ padding: 0.33333rem 0.5rem;
+ font-size: 0.8rem;
line-height: 1;
- margin-bottom: auto;
- position: relative;
- text-align: center;
- text-decoration: none;
white-space: nowrap;
- padding: 0.25rem 0.5rem 0.25rem;
- font-size: 0.6875rem;
- background-color: #008CBA;
- color: #FFFFFF; }
- .label.radius {
- border-radius: 3px; }
- .label.round {
- border-radius: 1000px; }
- .label.alert {
- background-color: #f04124;
- color: #FFFFFF; }
- .label.warning {
- background-color: #f08a24;
- color: #FFFFFF; }
- .label.success {
- background-color: #43AC6A;
- color: #FFFFFF; }
+ cursor: default;
+ border-radius: 0;
+ background: #2199e8;
+ color: #fefefe; }
.label.secondary {
- background-color: #e7e7e7;
- color: #333333; }
- .label.info {
- background-color: #a0d3e8;
- color: #333333; }
+ background: #777;
+ color: #fefefe; }
+ .label.success {
+ background: #3adb76;
+ color: #fefefe; }
+ .label.warning {
+ background: #ffae00;
+ color: #fefefe; }
+ .label.alert {
+ background: #ec5840;
+ color: #fefefe; }
-.off-canvas-wrap {
- -webkit-backface-visibility: hidden;
- position: relative;
+.media-object {
+ margin-bottom: 1rem;
+ display: block; }
+ .media-object img {
+ max-width: none; }
+ @media screen and (max-width: 39.9375em) {
+ .media-object.stack-for-small .media-object-section {
+ padding: 0;
+ padding-bottom: 1rem;
+ display: block; }
+ .media-object.stack-for-small .media-object-section img {
+ width: 100%; } }
+
+.media-object-section {
+ display: table-cell;
+ vertical-align: top; }
+ .media-object-section:first-child {
+ padding-right: 1rem; }
+ .media-object-section:last-child:not(:nth-child(2)) {
+ padding-left: 1rem; }
+ .media-object-section > :last-child {
+ margin-bottom: 0; }
+ .media-object-section.middle {
+ vertical-align: middle; }
+ .media-object-section.bottom {
+ vertical-align: bottom; }
+
+html,
+body {
+ height: 100%; }
+
+.off-canvas-wrapper {
width: 100%;
- overflow: hidden; }
- .off-canvas-wrap.move-right, .off-canvas-wrap.move-left {
- min-height: 100%;
- -webkit-overflow-scrolling: touch; }
+ overflow-x: hidden;
+ position: relative;
+ -webkit-backface-visibility: hidden;
+ backface-visibility: hidden;
+ -webkit-overflow-scrolling: auto; }
-.inner-wrap {
+.off-canvas-wrapper-inner {
position: relative;
width: 100%;
- -webkit-transition: -webkit-transform 500ms ease;
- -moz-transition: -moz-transform 500ms ease;
- -ms-transition: -ms-transform 500ms ease;
- -o-transition: -o-transform 500ms ease;
- transition: transform 500ms ease; }
- .inner-wrap:before, .inner-wrap:after {
- content: " ";
+ -webkit-transition: -webkit-transform 0.5s ease;
+ transition: transform 0.5s ease; }
+ .off-canvas-wrapper-inner::before, .off-canvas-wrapper-inner::after {
+ content: ' ';
display: table; }
- .inner-wrap:after {
+ .off-canvas-wrapper-inner::after {
clear: both; }
-.tab-bar {
+.off-canvas-content,
+.off-canvas-content {
+ min-height: 100%;
+ background: #fefefe;
+ -webkit-transition: -webkit-transform 0.5s ease;
+ transition: transform 0.5s ease;
-webkit-backface-visibility: hidden;
- background: #333333;
- color: #FFFFFF;
- height: 2.8125rem;
- line-height: 2.8125rem;
- position: relative; }
- .tab-bar h1, .tab-bar h2, .tab-bar h3, .tab-bar h4, .tab-bar h5, .tab-bar h6 {
- color: #FFFFFF;
- font-weight: bold;
- line-height: 2.8125rem;
- margin: 0; }
- .tab-bar h1, .tab-bar h2, .tab-bar h3, .tab-bar h4 {
- font-size: 1.125rem; }
+ backface-visibility: hidden;
+ z-index: 1;
+ padding-bottom: 0.1px;
+ -webkit-box-shadow: 0 0 10px rgba(10, 10, 10, 0.5);
+ box-shadow: 0 0 10px rgba(10, 10, 10, 0.5); }
-.left-small {
- height: 2.8125rem;
+.js-off-canvas-exit {
+ display: none;
position: absolute;
top: 0;
- width: 2.8125rem;
- border-right: solid 1px #1a1a1a;
- left: 0; }
+ left: 0;
+ width: 100%;
+ height: 100%;
+ background: rgba(254, 254, 254, 0.25);
+ cursor: pointer;
+ -webkit-transition: background 0.5s ease;
+ transition: background 0.5s ease; }
-.right-small {
- height: 2.8125rem;
+.off-canvas {
position: absolute;
- top: 0;
- width: 2.8125rem;
- border-left: solid 1px #1a1a1a;
- right: 0; }
+ background: #e6e6e6;
+ z-index: -1;
+ max-height: 100%;
+ overflow-y: auto;
+ -webkit-transform: translateX(0);
+ -ms-transform: translateX(0);
+ transform: translateX(0); }
+ [data-whatinput='mouse'] .off-canvas {
+ outline: 0; }
+ .off-canvas.position-left {
+ left: -250px;
+ top: 0;
+ width: 250px; }
+ .is-open-left {
+ -webkit-transform: translateX(250px);
+ -ms-transform: translateX(250px);
+ transform: translateX(250px); }
+ .off-canvas.position-right {
+ right: -250px;
+ top: 0;
+ width: 250px; }
+ .is-open-right {
+ -webkit-transform: translateX(-250px);
+ -ms-transform: translateX(-250px);
+ transform: translateX(-250px); }
+
+@media screen and (min-width: 40em) {
+ .position-left.reveal-for-medium {
+ left: 0;
+ z-index: auto;
+ position: fixed; }
+ .position-left.reveal-for-medium ~ .off-canvas-content {
+ margin-left: 250px; }
+ .position-right.reveal-for-medium {
+ right: 0;
+ z-index: auto;
+ position: fixed; }
+ .position-right.reveal-for-medium ~ .off-canvas-content {
+ margin-right: 250px; } }
-.tab-bar-section {
- height: 2.8125rem;
- padding: 0 0.625rem;
- position: absolute;
- text-align: center;
- top: 0; }
- .tab-bar-section.left {
- text-align: left; }
- .tab-bar-section.right {
- text-align: right; }
- .tab-bar-section.left {
+@media screen and (min-width: 64em) {
+ .position-left.reveal-for-large {
left: 0;
- right: 2.8125rem; }
- .tab-bar-section.right {
- left: 2.8125rem;
- right: 0; }
- .tab-bar-section.middle {
- left: 2.8125rem;
- right: 2.8125rem; }
-
-.tab-bar .menu-icon {
- color: #FFFFFF;
- display: block;
- height: 2.8125rem;
- padding: 0;
+ z-index: auto;
+ position: fixed; }
+ .position-left.reveal-for-large ~ .off-canvas-content {
+ margin-left: 250px; }
+ .position-right.reveal-for-large {
+ right: 0;
+ z-index: auto;
+ position: fixed; }
+ .position-right.reveal-for-large ~ .off-canvas-content {
+ margin-right: 250px; } }
+
+.orbit {
+ position: relative; }
+
+.orbit-container {
position: relative;
- text-indent: 2.1875rem;
- transform: translate3d(0, 0, 0);
- width: 2.8125rem; }
- .tab-bar .menu-icon span::after {
- content: "";
- display: block;
- height: 0;
- position: absolute;
- top: 50%;
- margin-top: -0.5rem;
- left: 0.90625rem;
- box-shadow: 0 0 0 1px #FFFFFF, 0 7px 0 1px #FFFFFF, 0 14px 0 1px #FFFFFF;
- width: 1rem; }
- .tab-bar .menu-icon span:hover:after {
- box-shadow: 0 0 0 1px #b3b3b3, 0 7px 0 1px #b3b3b3, 0 14px 0 1px #b3b3b3; }
-
-.left-off-canvas-menu {
- -webkit-backface-visibility: hidden;
- background: #333333;
+ margin: 0;
+ overflow: hidden;
+ list-style: none; }
+
+.orbit-slide {
+ width: 100%;
+ max-height: 100%; }
+ .orbit-slide.no-motionui.is-active {
+ top: 0;
+ left: 0; }
+
+.orbit-figure {
+ margin: 0; }
+
+.orbit-image {
+ margin: 0;
+ width: 100%;
+ max-width: 100%; }
+
+.orbit-caption {
+ position: absolute;
bottom: 0;
- box-sizing: content-box;
- -webkit-overflow-scrolling: touch;
- -ms-overflow-style: -ms-autohiding-scrollbar;
- overflow-x: hidden;
- overflow-y: auto;
+ width: 100%;
+ padding: 1rem;
+ margin-bottom: 0;
+ color: #fefefe;
+ background-color: rgba(10, 10, 10, 0.5); }
+
+.orbit-previous, .orbit-next {
position: absolute;
- top: 0;
- transition: transform 500ms ease 0s;
- width: 15.625rem;
- z-index: 1001;
- -webkit-transform: translate3d(-100%, 0, 0);
- -moz-transform: translate3d(-100%, 0, 0);
- -ms-transform: translate(-100%, 0);
- -ms-transform: translate3d(-100%, 0, 0);
- -o-transform: translate3d(-100%, 0, 0);
- transform: translate3d(-100%, 0, 0);
+ top: 50%;
+ -webkit-transform: translateY(-50%);
+ -ms-transform: translateY(-50%);
+ transform: translateY(-50%);
+ z-index: 10;
+ padding: 1rem;
+ color: #fefefe; }
+ [data-whatinput='mouse'] .orbit-previous, [data-whatinput='mouse'] .orbit-next {
+ outline: 0; }
+ .orbit-previous:hover, .orbit-next:hover, .orbit-previous:active, .orbit-next:active, .orbit-previous:focus, .orbit-next:focus {
+ background-color: rgba(10, 10, 10, 0.5); }
+
+.orbit-previous {
left: 0; }
- .left-off-canvas-menu * {
- -webkit-backface-visibility: hidden; }
-.right-off-canvas-menu {
- -webkit-backface-visibility: hidden;
- background: #333333;
- bottom: 0;
- box-sizing: content-box;
- -webkit-overflow-scrolling: touch;
- -ms-overflow-style: -ms-autohiding-scrollbar;
- overflow-x: hidden;
- overflow-y: auto;
- position: absolute;
- top: 0;
- transition: transform 500ms ease 0s;
- width: 15.625rem;
- z-index: 1001;
- -webkit-transform: translate3d(100%, 0, 0);
- -moz-transform: translate3d(100%, 0, 0);
- -ms-transform: translate(100%, 0);
- -ms-transform: translate3d(100%, 0, 0);
- -o-transform: translate3d(100%, 0, 0);
- transform: translate3d(100%, 0, 0);
+.orbit-next {
+ left: auto;
right: 0; }
- .right-off-canvas-menu * {
- -webkit-backface-visibility: hidden; }
-ul.off-canvas-list {
- list-style-type: none;
- margin: 0;
- padding: 0; }
- ul.off-canvas-list li label {
- background: #444444;
- border-bottom: none;
- border-top: 1px solid #5e5e5e;
- color: #999999;
- display: block;
- font-size: 0.75rem;
- font-weight: bold;
- margin: 0;
- padding: 0.3rem 0.9375rem;
- text-transform: uppercase; }
- ul.off-canvas-list li a {
- border-bottom: 1px solid #262626;
- color: rgba(255, 255, 255, 0.7);
+.orbit-bullets {
+ position: relative;
+ margin-top: 0.8rem;
+ margin-bottom: 0.8rem;
+ text-align: center; }
+ [data-whatinput='mouse'] .orbit-bullets {
+ outline: 0; }
+ .orbit-bullets button {
+ width: 1.2rem;
+ height: 1.2rem;
+ margin: 0.1rem;
+ background-color: #cacaca;
+ border-radius: 50%; }
+ .orbit-bullets button:hover {
+ background-color: #8a8a8a; }
+ .orbit-bullets button.is-active {
+ background-color: #8a8a8a; }
+
+.pagination {
+ margin-left: 0;
+ margin-bottom: 1rem; }
+ .pagination::before, .pagination::after {
+ content: ' ';
+ display: table; }
+ .pagination::after {
+ clear: both; }
+ .pagination li {
+ font-size: 0.875rem;
+ margin-right: 0.0625rem;
+ border-radius: 0;
+ display: none; }
+ .pagination li:last-child, .pagination li:first-child {
+ display: inline-block; }
+ @media screen and (min-width: 40em) {
+ .pagination li {
+ display: inline-block; } }
+ .pagination a,
+ .pagination button {
+ color: #0a0a0a;
display: block;
- padding: 0.66667rem;
- transition: background 300ms ease; }
- ul.off-canvas-list li a:hover {
- background: #242424; }
- ul.off-canvas-list li a:active {
- background: #242424; }
-
-.move-right > .inner-wrap {
- -webkit-transform: translate3d(15.625rem, 0, 0);
- -moz-transform: translate3d(15.625rem, 0, 0);
- -ms-transform: translate(15.625rem, 0);
- -ms-transform: translate3d(15.625rem, 0, 0);
- -o-transform: translate3d(15.625rem, 0, 0);
- transform: translate3d(15.625rem, 0, 0); }
-.move-right .exit-off-canvas {
- -webkit-backface-visibility: hidden;
- box-shadow: -4px 0 4px rgba(0, 0, 0, 0.5), 4px 0 4px rgba(0, 0, 0, 0.5);
- cursor: pointer;
- transition: background 300ms ease;
- -webkit-tap-highlight-color: transparent;
- background: rgba(255, 255, 255, 0.2);
- bottom: 0;
- display: block;
- left: 0;
- position: absolute;
- right: 0;
- top: 0;
- z-index: 1002; }
- @media only screen and (min-width: 40.0625em) {
- .move-right .exit-off-canvas:hover {
- background: rgba(255, 255, 255, 0.05); } }
-
-.move-left > .inner-wrap {
- -webkit-transform: translate3d(-15.625rem, 0, 0);
- -moz-transform: translate3d(-15.625rem, 0, 0);
- -ms-transform: translate(-15.625rem, 0);
- -ms-transform: translate3d(-15.625rem, 0, 0);
- -o-transform: translate3d(-15.625rem, 0, 0);
- transform: translate3d(-15.625rem, 0, 0); }
-.move-left .exit-off-canvas {
- -webkit-backface-visibility: hidden;
- box-shadow: -4px 0 4px rgba(0, 0, 0, 0.5), 4px 0 4px rgba(0, 0, 0, 0.5);
- cursor: pointer;
- transition: background 300ms ease;
- -webkit-tap-highlight-color: transparent;
- background: rgba(255, 255, 255, 0.2);
- bottom: 0;
- display: block;
- left: 0;
- position: absolute;
- right: 0;
- top: 0;
- z-index: 1002; }
- @media only screen and (min-width: 40.0625em) {
- .move-left .exit-off-canvas:hover {
- background: rgba(255, 255, 255, 0.05); } }
-
-.offcanvas-overlap .left-off-canvas-menu, .offcanvas-overlap .right-off-canvas-menu {
- -ms-transform: none;
- -webkit-transform: none;
- -moz-transform: none;
- -o-transform: none;
- transform: none;
- z-index: 1003; }
-.offcanvas-overlap .exit-off-canvas {
- -webkit-backface-visibility: hidden;
- box-shadow: -4px 0 4px rgba(0, 0, 0, 0.5), 4px 0 4px rgba(0, 0, 0, 0.5);
- cursor: pointer;
- transition: background 300ms ease;
- -webkit-tap-highlight-color: transparent;
- background: rgba(255, 255, 255, 0.2);
- bottom: 0;
- display: block;
- left: 0;
- position: absolute;
- right: 0;
- top: 0;
- z-index: 1002; }
- @media only screen and (min-width: 40.0625em) {
- .offcanvas-overlap .exit-off-canvas:hover {
- background: rgba(255, 255, 255, 0.05); } }
-
-.offcanvas-overlap-left .right-off-canvas-menu {
- -ms-transform: none;
- -webkit-transform: none;
- -moz-transform: none;
- -o-transform: none;
- transform: none;
- z-index: 1003; }
-.offcanvas-overlap-left .exit-off-canvas {
- -webkit-backface-visibility: hidden;
- box-shadow: -4px 0 4px rgba(0, 0, 0, 0.5), 4px 0 4px rgba(0, 0, 0, 0.5);
- cursor: pointer;
- transition: background 300ms ease;
- -webkit-tap-highlight-color: transparent;
- background: rgba(255, 255, 255, 0.2);
- bottom: 0;
- display: block;
- left: 0;
- position: absolute;
- right: 0;
- top: 0;
- z-index: 1002; }
- @media only screen and (min-width: 40.0625em) {
- .offcanvas-overlap-left .exit-off-canvas:hover {
- background: rgba(255, 255, 255, 0.05); } }
-
-.offcanvas-overlap-right .left-off-canvas-menu {
- -ms-transform: none;
- -webkit-transform: none;
- -moz-transform: none;
- -o-transform: none;
- transform: none;
- z-index: 1003; }
-.offcanvas-overlap-right .exit-off-canvas {
- -webkit-backface-visibility: hidden;
- box-shadow: -4px 0 4px rgba(0, 0, 0, 0.5), 4px 0 4px rgba(0, 0, 0, 0.5);
- cursor: pointer;
- transition: background 300ms ease;
- -webkit-tap-highlight-color: transparent;
- background: rgba(255, 255, 255, 0.2);
- bottom: 0;
+ padding: 0.1875rem 0.625rem;
+ border-radius: 0; }
+ .pagination a:hover,
+ .pagination button:hover {
+ background: #e6e6e6; }
+ .pagination .current {
+ padding: 0.1875rem 0.625rem;
+ background: #2199e8;
+ color: #fefefe;
+ cursor: default; }
+ .pagination .disabled {
+ padding: 0.1875rem 0.625rem;
+ color: #cacaca;
+ cursor: not-allowed; }
+ .pagination .disabled:hover {
+ background: transparent; }
+ .pagination .ellipsis::after {
+ content: '\2026';
+ padding: 0.1875rem 0.625rem;
+ color: #0a0a0a; }
+
+.pagination-previous a::before,
+.pagination-previous.disabled::before {
+ content: '\00ab';
+ display: inline-block;
+ margin-right: 0.5rem; }
+
+.pagination-next a::after,
+.pagination-next.disabled::after {
+ content: '\00bb';
+ display: inline-block;
+ margin-left: 0.5rem; }
+
+.progress {
+ background-color: #cacaca;
+ height: 1rem;
+ margin-bottom: 1rem;
+ border-radius: 0; }
+ .progress.primary .progress-meter {
+ background-color: #2199e8; }
+ .progress.secondary .progress-meter {
+ background-color: #777; }
+ .progress.success .progress-meter {
+ background-color: #3adb76; }
+ .progress.warning .progress-meter {
+ background-color: #ffae00; }
+ .progress.alert .progress-meter {
+ background-color: #ec5840; }
+
+.progress-meter {
+ position: relative;
display: block;
- left: 0;
+ width: 0%;
+ height: 100%;
+ background-color: #2199e8; }
+
+.progress-meter-text {
position: absolute;
- right: 0;
- top: 0;
- z-index: 1002; }
- @media only screen and (min-width: 40.0625em) {
- .offcanvas-overlap-right .exit-off-canvas:hover {
- background: rgba(255, 255, 255, 0.05); } }
-
-.no-csstransforms .left-off-canvas-menu {
- left: -15.625rem; }
-.no-csstransforms .right-off-canvas-menu {
- right: -15.625rem; }
-.no-csstransforms .move-left > .inner-wrap {
- right: 15.625rem; }
-.no-csstransforms .move-right > .inner-wrap {
- left: 15.625rem; }
-
-.left-submenu {
- -webkit-backface-visibility: hidden;
- -webkit-overflow-scrolling: touch;
- background: #333333;
- bottom: 0;
- box-sizing: content-box;
- margin: 0;
- overflow-x: hidden;
- overflow-y: auto;
+ top: 50%;
+ left: 50%;
+ -webkit-transform: translate(-50%, -50%);
+ -ms-transform: translate(-50%, -50%);
+ transform: translate(-50%, -50%);
position: absolute;
- top: 0;
- width: 15.625rem;
- z-index: 1002;
- -webkit-transform: translate3d(-100%, 0, 0);
- -moz-transform: translate3d(-100%, 0, 0);
- -ms-transform: translate(-100%, 0);
- -ms-transform: translate3d(-100%, 0, 0);
- -o-transform: translate3d(-100%, 0, 0);
- transform: translate3d(-100%, 0, 0);
- left: 0;
- -webkit-transition: -webkit-transform 500ms ease;
- -moz-transition: -moz-transform 500ms ease;
- -ms-transition: -ms-transform 500ms ease;
- -o-transition: -o-transform 500ms ease;
- transition: transform 500ms ease; }
- .left-submenu * {
- -webkit-backface-visibility: hidden; }
- .left-submenu .back > a {
- background: #444;
- border-bottom: none;
- border-top: 1px solid #5e5e5e;
- color: #999999;
- font-weight: bold;
- padding: 0.3rem 0.9375rem;
- text-transform: uppercase;
- margin: 0; }
- .left-submenu .back > a:hover {
- background: #303030;
- border-bottom: none;
- border-top: 1px solid #5e5e5e; }
- .left-submenu .back > a:before {
- content: "\AB";
- margin-right: .5rem;
- display: inline; }
- .left-submenu.move-right, .left-submenu.offcanvas-overlap-right, .left-submenu.offcanvas-overlap {
- -webkit-transform: translate3d(0%, 0, 0);
- -moz-transform: translate3d(0%, 0, 0);
- -ms-transform: translate(0%, 0);
- -ms-transform: translate3d(0%, 0, 0);
- -o-transform: translate3d(0%, 0, 0);
- transform: translate3d(0%, 0, 0); }
-
-.right-submenu {
- -webkit-backface-visibility: hidden;
- -webkit-overflow-scrolling: touch;
- background: #333333;
- bottom: 0;
- box-sizing: content-box;
margin: 0;
- overflow-x: hidden;
- overflow-y: auto;
- position: absolute;
- top: 0;
- width: 15.625rem;
- z-index: 1002;
- -webkit-transform: translate3d(100%, 0, 0);
- -moz-transform: translate3d(100%, 0, 0);
- -ms-transform: translate(100%, 0);
- -ms-transform: translate3d(100%, 0, 0);
- -o-transform: translate3d(100%, 0, 0);
- transform: translate3d(100%, 0, 0);
- right: 0;
- -webkit-transition: -webkit-transform 500ms ease;
- -moz-transition: -moz-transform 500ms ease;
- -ms-transition: -ms-transform 500ms ease;
- -o-transition: -o-transform 500ms ease;
- transition: transform 500ms ease; }
- .right-submenu * {
- -webkit-backface-visibility: hidden; }
- .right-submenu .back > a {
- background: #444;
- border-bottom: none;
- border-top: 1px solid #5e5e5e;
- color: #999999;
- font-weight: bold;
- padding: 0.3rem 0.9375rem;
- text-transform: uppercase;
- margin: 0; }
- .right-submenu .back > a:hover {
- background: #303030;
- border-bottom: none;
- border-top: 1px solid #5e5e5e; }
- .right-submenu .back > a:after {
- content: "\BB";
- margin-left: .5rem;
- display: inline; }
- .right-submenu.move-left, .right-submenu.offcanvas-overlap-left, .right-submenu.offcanvas-overlap {
- -webkit-transform: translate3d(0%, 0, 0);
- -moz-transform: translate3d(0%, 0, 0);
- -ms-transform: translate(0%, 0);
- -ms-transform: translate3d(0%, 0, 0);
- -o-transform: translate3d(0%, 0, 0);
- transform: translate3d(0%, 0, 0); }
-
-.left-off-canvas-menu ul.off-canvas-list li.has-submenu > a:after {
- content: "\BB";
- margin-left: .5rem;
- display: inline; }
-
-.right-off-canvas-menu ul.off-canvas-list li.has-submenu > a:before {
- content: "\AB";
- margin-right: .5rem;
- display: inline; }
-
-/* Foundation Dropdowns */
-.f-dropdown {
- display: none;
- left: -9999px;
- list-style: none;
- margin-left: 0;
- position: absolute;
- background: #FFFFFF;
- border: solid 1px #cccccc;
- font-size: 0.875rem;
- height: auto;
- max-height: none;
- width: 100%;
- z-index: 89;
- margin-top: 2px;
- max-width: 200px; }
- .f-dropdown.open {
- display: block; }
- .f-dropdown > *:first-child {
- margin-top: 0; }
- .f-dropdown > *:last-child {
- margin-bottom: 0; }
- .f-dropdown:before {
- border: inset 6px;
- content: "";
- display: block;
- height: 0;
- width: 0;
- border-color: transparent transparent #FFFFFF transparent;
- border-bottom-style: solid;
- position: absolute;
- top: -12px;
- left: 10px;
- z-index: 89; }
- .f-dropdown:after {
- border: inset 7px;
- content: "";
- display: block;
- height: 0;
- width: 0;
- border-color: transparent transparent #cccccc transparent;
- border-bottom-style: solid;
- position: absolute;
- top: -14px;
- left: 9px;
- z-index: 88; }
- .f-dropdown.right:before {
- left: auto;
- right: 10px; }
- .f-dropdown.right:after {
- left: auto;
- right: 9px; }
- .f-dropdown.drop-right {
- display: none;
- left: -9999px;
- list-style: none;
- margin-left: 0;
- position: absolute;
- background: #FFFFFF;
- border: solid 1px #cccccc;
- font-size: 0.875rem;
- height: auto;
- max-height: none;
- width: 100%;
- z-index: 89;
- margin-top: 0;
- margin-left: 2px;
- max-width: 200px; }
- .f-dropdown.drop-right.open {
- display: block; }
- .f-dropdown.drop-right > *:first-child {
- margin-top: 0; }
- .f-dropdown.drop-right > *:last-child {
- margin-bottom: 0; }
- .f-dropdown.drop-right:before {
- border: inset 6px;
- content: "";
- display: block;
- height: 0;
- width: 0;
- border-color: transparent #FFFFFF transparent transparent;
- border-right-style: solid;
- position: absolute;
- top: 10px;
- left: -12px;
- z-index: 89; }
- .f-dropdown.drop-right:after {
- border: inset 7px;
- content: "";
- display: block;
- height: 0;
- width: 0;
- border-color: transparent #cccccc transparent transparent;
- border-right-style: solid;
- position: absolute;
- top: 9px;
- left: -14px;
- z-index: 88; }
- .f-dropdown.drop-left {
- display: none;
- left: -9999px;
- list-style: none;
- margin-left: 0;
- position: absolute;
- background: #FFFFFF;
- border: solid 1px #cccccc;
- font-size: 0.875rem;
- height: auto;
- max-height: none;
- width: 100%;
- z-index: 89;
- margin-top: 0;
- margin-left: -2px;
- max-width: 200px; }
- .f-dropdown.drop-left.open {
- display: block; }
- .f-dropdown.drop-left > *:first-child {
- margin-top: 0; }
- .f-dropdown.drop-left > *:last-child {
- margin-bottom: 0; }
- .f-dropdown.drop-left:before {
- border: inset 6px;
- content: "";
- display: block;
- height: 0;
- width: 0;
- border-color: transparent transparent transparent #FFFFFF;
- border-left-style: solid;
- position: absolute;
- top: 10px;
- right: -12px;
- left: auto;
- z-index: 89; }
- .f-dropdown.drop-left:after {
- border: inset 7px;
- content: "";
- display: block;
- height: 0;
- width: 0;
- border-color: transparent transparent transparent #cccccc;
- border-left-style: solid;
- position: absolute;
- top: 9px;
- right: -14px;
- left: auto;
- z-index: 88; }
- .f-dropdown.drop-top {
- display: none;
- left: -9999px;
- list-style: none;
- margin-left: 0;
- position: absolute;
- background: #FFFFFF;
- border: solid 1px #cccccc;
- font-size: 0.875rem;
- height: auto;
- max-height: none;
- width: 100%;
- z-index: 89;
- margin-left: 0;
- margin-top: -2px;
- max-width: 200px; }
- .f-dropdown.drop-top.open {
- display: block; }
- .f-dropdown.drop-top > *:first-child {
- margin-top: 0; }
- .f-dropdown.drop-top > *:last-child {
- margin-bottom: 0; }
- .f-dropdown.drop-top:before {
- border: inset 6px;
- content: "";
- display: block;
- height: 0;
- width: 0;
- border-color: #FFFFFF transparent transparent transparent;
- border-top-style: solid;
- bottom: -12px;
- position: absolute;
- top: auto;
- left: 10px;
- right: auto;
- z-index: 89; }
- .f-dropdown.drop-top:after {
- border: inset 7px;
- content: "";
- display: block;
- height: 0;
- width: 0;
- border-color: #cccccc transparent transparent transparent;
- border-top-style: solid;
- bottom: -14px;
- position: absolute;
- top: auto;
- left: 9px;
- right: auto;
- z-index: 88; }
- .f-dropdown li {
- cursor: pointer;
- font-size: 0.875rem;
- line-height: 1.125rem;
- margin: 0; }
- .f-dropdown li:hover, .f-dropdown li:focus {
- background: #EEEEEE; }
- .f-dropdown li.radius {
- border-radius: 3px; }
- .f-dropdown li a {
- display: block;
- padding: 0.5rem;
- color: #555555; }
- .f-dropdown.content {
- display: none;
- left: -9999px;
- list-style: none;
- margin-left: 0;
- position: absolute;
- background: #FFFFFF;
- border: solid 1px #cccccc;
- font-size: 0.875rem;
- height: auto;
- max-height: none;
- padding: 1.25rem;
- width: 100%;
- z-index: 89;
- max-width: 200px; }
- .f-dropdown.content.open {
- display: block; }
- .f-dropdown.content > *:first-child {
- margin-top: 0; }
- .f-dropdown.content > *:last-child {
- margin-bottom: 0; }
- .f-dropdown.tiny {
- max-width: 200px; }
- .f-dropdown.small {
- max-width: 300px; }
- .f-dropdown.medium {
- max-width: 500px; }
- .f-dropdown.large {
- max-width: 800px; }
- .f-dropdown.mega {
- width: 100% !important;
- max-width: 100% !important; }
- .f-dropdown.mega.open {
- left: 0 !important; }
-
-table {
- background: #FFFFFF;
- border: solid 1px #DDDDDD;
- margin-bottom: 1.25rem;
- table-layout: auto; }
- table caption {
- background: transparent;
- color: #222222;
- font-size: 1rem;
- font-weight: bold; }
- table thead {
- background: #F5F5F5; }
- table thead tr th,
- table thead tr td {
- color: #222222;
- font-size: 0.875rem;
- font-weight: bold;
- padding: 0.5rem 0.625rem 0.625rem; }
- table tfoot {
- background: #F5F5F5; }
- table tfoot tr th,
- table tfoot tr td {
- color: #222222;
- font-size: 0.875rem;
- font-weight: bold;
- padding: 0.5rem 0.625rem 0.625rem; }
- table tr th,
- table tr td {
- color: #222222;
- font-size: 0.875rem;
- padding: 0.5625rem 0.625rem;
- text-align: left; }
- table tr.even, table tr.alt, table tr:nth-of-type(even) {
- background: #F9F9F9; }
- table thead tr th,
- table tfoot tr th,
- table tfoot tr td,
- table tbody tr th,
- table tbody tr td,
- table tr td {
- display: table-cell;
- line-height: 1.125rem; }
+ font-size: 0.75rem;
+ font-weight: bold;
+ color: #fefefe;
+ white-space: nowrap; }
-.range-slider {
- border: 1px solid #DDDDDD;
- margin: 1.25rem 0;
+.slider {
position: relative;
+ height: 0.5rem;
+ margin-top: 1.25rem;
+ margin-bottom: 2.25rem;
+ background-color: #e6e6e6;
+ cursor: pointer;
+ -webkit-user-select: none;
+ -moz-user-select: none;
+ -ms-user-select: none;
+ user-select: none;
-ms-touch-action: none;
- touch-action: none;
- display: block;
- height: 1rem;
- width: 100%;
- background: #FAFAFA; }
- .range-slider.vertical-range {
- border: 1px solid #DDDDDD;
- margin: 1.25rem 0;
- position: relative;
- -ms-touch-action: none;
- touch-action: none;
- display: inline-block;
- height: 12.5rem;
- width: 1rem; }
- .range-slider.vertical-range .range-slider-handle {
- bottom: -10.5rem;
- margin-left: -0.5rem;
- margin-top: 0;
- position: absolute; }
- .range-slider.vertical-range .range-slider-active-segment {
- border-bottom-left-radius: inherit;
- border-bottom-right-radius: inherit;
- border-top-left-radius: initial;
- bottom: 0;
- height: auto;
- width: 0.875rem; }
- .range-slider.radius {
- background: #FAFAFA;
- border-radius: 3px; }
- .range-slider.radius .range-slider-handle {
- background: #008CBA;
- border-radius: 3px; }
- .range-slider.radius .range-slider-handle:hover {
- background: #007ba4; }
- .range-slider.round {
- background: #FAFAFA;
- border-radius: 1000px; }
- .range-slider.round .range-slider-handle {
- background: #008CBA;
- border-radius: 1000px; }
- .range-slider.round .range-slider-handle:hover {
- background: #007ba4; }
- .range-slider.disabled, .range-slider[disabled] {
- background: #FAFAFA;
- cursor: not-allowed;
- opacity: 0.7; }
- .range-slider.disabled .range-slider-handle, .range-slider[disabled] .range-slider-handle {
- background: #008CBA;
- cursor: default;
- opacity: 0.7; }
- .range-slider.disabled .range-slider-handle:hover, .range-slider[disabled] .range-slider-handle:hover {
- background: #007ba4; }
-
-.range-slider-active-segment {
- background: #e5e5e5;
- border-bottom-left-radius: inherit;
- border-top-left-radius: inherit;
- display: inline-block;
- height: 0.875rem;
- position: absolute; }
+ touch-action: none; }
-.range-slider-handle {
- border: 1px solid none;
- cursor: pointer;
+.slider-fill {
+ position: absolute;
+ top: 0;
+ left: 0;
display: inline-block;
- height: 1.375rem;
+ max-width: 100%;
+ height: 0.5rem;
+ background-color: #cacaca;
+ -webkit-transition: all 0.2s ease-in-out;
+ transition: all 0.2s ease-in-out; }
+ .slider-fill.is-dragging {
+ -webkit-transition: all 0s linear;
+ transition: all 0s linear; }
+
+.slider-handle {
position: absolute;
- top: -0.3125rem;
- width: 2rem;
+ top: 50%;
+ -webkit-transform: translateY(-50%);
+ -ms-transform: translateY(-50%);
+ transform: translateY(-50%);
+ position: absolute;
+ left: 0;
z-index: 1;
+ display: inline-block;
+ width: 1.4rem;
+ height: 1.4rem;
+ background-color: #2199e8;
+ -webkit-transition: all 0.2s ease-in-out;
+ transition: all 0.2s ease-in-out;
-ms-touch-action: manipulation;
- touch-action: manipulation;
- background: #008CBA; }
- .range-slider-handle:hover {
- background: #007ba4; }
-
-[class*="block-grid-"] {
- display: block;
- padding: 0;
- margin: 0 -0.625rem; }
- [class*="block-grid-"]:before, [class*="block-grid-"]:after {
- content: " ";
- display: table; }
- [class*="block-grid-"]:after {
- clear: both; }
- [class*="block-grid-"] > li {
- display: block;
- float: left;
- height: auto;
- padding: 0 0.625rem 1.25rem; }
-
-@media only screen {
- .small-block-grid-1 > li {
- list-style: none;
- width: 100%; }
- .small-block-grid-1 > li:nth-of-type(1n) {
- clear: none; }
- .small-block-grid-1 > li:nth-of-type(1n+1) {
- clear: both; }
-
- .small-block-grid-2 > li {
- list-style: none;
- width: 50%; }
- .small-block-grid-2 > li:nth-of-type(1n) {
- clear: none; }
- .small-block-grid-2 > li:nth-of-type(2n+1) {
- clear: both; }
-
- .small-block-grid-3 > li {
- list-style: none;
- width: 33.33333%; }
- .small-block-grid-3 > li:nth-of-type(1n) {
- clear: none; }
- .small-block-grid-3 > li:nth-of-type(3n+1) {
- clear: both; }
-
- .small-block-grid-4 > li {
- list-style: none;
- width: 25%; }
- .small-block-grid-4 > li:nth-of-type(1n) {
- clear: none; }
- .small-block-grid-4 > li:nth-of-type(4n+1) {
- clear: both; }
-
- .small-block-grid-5 > li {
- list-style: none;
- width: 20%; }
- .small-block-grid-5 > li:nth-of-type(1n) {
- clear: none; }
- .small-block-grid-5 > li:nth-of-type(5n+1) {
- clear: both; }
-
- .small-block-grid-6 > li {
- list-style: none;
- width: 16.66667%; }
- .small-block-grid-6 > li:nth-of-type(1n) {
- clear: none; }
- .small-block-grid-6 > li:nth-of-type(6n+1) {
- clear: both; }
-
- .small-block-grid-7 > li {
- list-style: none;
- width: 14.28571%; }
- .small-block-grid-7 > li:nth-of-type(1n) {
- clear: none; }
- .small-block-grid-7 > li:nth-of-type(7n+1) {
- clear: both; }
-
- .small-block-grid-8 > li {
- list-style: none;
- width: 12.5%; }
- .small-block-grid-8 > li:nth-of-type(1n) {
- clear: none; }
- .small-block-grid-8 > li:nth-of-type(8n+1) {
- clear: both; }
-
- .small-block-grid-9 > li {
- list-style: none;
- width: 11.11111%; }
- .small-block-grid-9 > li:nth-of-type(1n) {
- clear: none; }
- .small-block-grid-9 > li:nth-of-type(9n+1) {
- clear: both; }
-
- .small-block-grid-10 > li {
- list-style: none;
- width: 10%; }
- .small-block-grid-10 > li:nth-of-type(1n) {
- clear: none; }
- .small-block-grid-10 > li:nth-of-type(10n+1) {
- clear: both; }
-
- .small-block-grid-11 > li {
- list-style: none;
- width: 9.09091%; }
- .small-block-grid-11 > li:nth-of-type(1n) {
- clear: none; }
- .small-block-grid-11 > li:nth-of-type(11n+1) {
- clear: both; }
-
- .small-block-grid-12 > li {
- list-style: none;
- width: 8.33333%; }
- .small-block-grid-12 > li:nth-of-type(1n) {
- clear: none; }
- .small-block-grid-12 > li:nth-of-type(12n+1) {
- clear: both; } }
-@media only screen and (min-width: 40.0625em) {
- .medium-block-grid-1 > li {
- list-style: none;
- width: 100%; }
- .medium-block-grid-1 > li:nth-of-type(1n) {
- clear: none; }
- .medium-block-grid-1 > li:nth-of-type(1n+1) {
- clear: both; }
-
- .medium-block-grid-2 > li {
- list-style: none;
- width: 50%; }
- .medium-block-grid-2 > li:nth-of-type(1n) {
- clear: none; }
- .medium-block-grid-2 > li:nth-of-type(2n+1) {
- clear: both; }
-
- .medium-block-grid-3 > li {
- list-style: none;
- width: 33.33333%; }
- .medium-block-grid-3 > li:nth-of-type(1n) {
- clear: none; }
- .medium-block-grid-3 > li:nth-of-type(3n+1) {
- clear: both; }
-
- .medium-block-grid-4 > li {
- list-style: none;
- width: 25%; }
- .medium-block-grid-4 > li:nth-of-type(1n) {
- clear: none; }
- .medium-block-grid-4 > li:nth-of-type(4n+1) {
- clear: both; }
-
- .medium-block-grid-5 > li {
- list-style: none;
- width: 20%; }
- .medium-block-grid-5 > li:nth-of-type(1n) {
- clear: none; }
- .medium-block-grid-5 > li:nth-of-type(5n+1) {
- clear: both; }
-
- .medium-block-grid-6 > li {
- list-style: none;
- width: 16.66667%; }
- .medium-block-grid-6 > li:nth-of-type(1n) {
- clear: none; }
- .medium-block-grid-6 > li:nth-of-type(6n+1) {
- clear: both; }
-
- .medium-block-grid-7 > li {
- list-style: none;
- width: 14.28571%; }
- .medium-block-grid-7 > li:nth-of-type(1n) {
- clear: none; }
- .medium-block-grid-7 > li:nth-of-type(7n+1) {
- clear: both; }
-
- .medium-block-grid-8 > li {
- list-style: none;
- width: 12.5%; }
- .medium-block-grid-8 > li:nth-of-type(1n) {
- clear: none; }
- .medium-block-grid-8 > li:nth-of-type(8n+1) {
- clear: both; }
-
- .medium-block-grid-9 > li {
- list-style: none;
- width: 11.11111%; }
- .medium-block-grid-9 > li:nth-of-type(1n) {
- clear: none; }
- .medium-block-grid-9 > li:nth-of-type(9n+1) {
- clear: both; }
-
- .medium-block-grid-10 > li {
- list-style: none;
- width: 10%; }
- .medium-block-grid-10 > li:nth-of-type(1n) {
- clear: none; }
- .medium-block-grid-10 > li:nth-of-type(10n+1) {
- clear: both; }
-
- .medium-block-grid-11 > li {
- list-style: none;
- width: 9.09091%; }
- .medium-block-grid-11 > li:nth-of-type(1n) {
- clear: none; }
- .medium-block-grid-11 > li:nth-of-type(11n+1) {
- clear: both; }
-
- .medium-block-grid-12 > li {
- list-style: none;
- width: 8.33333%; }
- .medium-block-grid-12 > li:nth-of-type(1n) {
- clear: none; }
- .medium-block-grid-12 > li:nth-of-type(12n+1) {
- clear: both; } }
-@media only screen and (min-width: 64.0625em) {
- .large-block-grid-1 > li {
- list-style: none;
- width: 100%; }
- .large-block-grid-1 > li:nth-of-type(1n) {
- clear: none; }
- .large-block-grid-1 > li:nth-of-type(1n+1) {
- clear: both; }
-
- .large-block-grid-2 > li {
- list-style: none;
- width: 50%; }
- .large-block-grid-2 > li:nth-of-type(1n) {
- clear: none; }
- .large-block-grid-2 > li:nth-of-type(2n+1) {
- clear: both; }
-
- .large-block-grid-3 > li {
- list-style: none;
- width: 33.33333%; }
- .large-block-grid-3 > li:nth-of-type(1n) {
- clear: none; }
- .large-block-grid-3 > li:nth-of-type(3n+1) {
- clear: both; }
-
- .large-block-grid-4 > li {
- list-style: none;
- width: 25%; }
- .large-block-grid-4 > li:nth-of-type(1n) {
- clear: none; }
- .large-block-grid-4 > li:nth-of-type(4n+1) {
- clear: both; }
+ touch-action: manipulation;
+ border-radius: 0; }
+ [data-whatinput='mouse'] .slider-handle {
+ outline: 0; }
+ .slider-handle:hover {
+ background-color: #1583cc; }
+ .slider-handle.is-dragging {
+ -webkit-transition: all 0s linear;
+ transition: all 0s linear; }
+
+.slider.disabled,
+.slider[disabled] {
+ opacity: 0.25;
+ cursor: not-allowed; }
+
+.slider.vertical {
+ display: inline-block;
+ width: 0.5rem;
+ height: 12.5rem;
+ margin: 0 1.25rem;
+ -webkit-transform: scale(1, -1);
+ -ms-transform: scale(1, -1);
+ transform: scale(1, -1); }
+ .slider.vertical .slider-fill {
+ top: 0;
+ width: 0.5rem;
+ max-height: 100%; }
+ .slider.vertical .slider-handle {
+ position: absolute;
+ top: 0;
+ left: 50%;
+ width: 1.4rem;
+ height: 1.4rem;
+ -webkit-transform: translateX(-50%);
+ -ms-transform: translateX(-50%);
+ transform: translateX(-50%); }
- .large-block-grid-5 > li {
- list-style: none;
- width: 20%; }
- .large-block-grid-5 > li:nth-of-type(1n) {
- clear: none; }
- .large-block-grid-5 > li:nth-of-type(5n+1) {
- clear: both; }
+.sticky-container {
+ position: relative; }
- .large-block-grid-6 > li {
- list-style: none;
- width: 16.66667%; }
- .large-block-grid-6 > li:nth-of-type(1n) {
- clear: none; }
- .large-block-grid-6 > li:nth-of-type(6n+1) {
- clear: both; }
+.sticky {
+ position: absolute;
+ z-index: 0;
+ -webkit-transform: translate3d(0, 0, 0);
+ transform: translate3d(0, 0, 0); }
- .large-block-grid-7 > li {
- list-style: none;
- width: 14.28571%; }
- .large-block-grid-7 > li:nth-of-type(1n) {
- clear: none; }
- .large-block-grid-7 > li:nth-of-type(7n+1) {
- clear: both; }
+.sticky.is-stuck {
+ position: fixed;
+ z-index: 5; }
+ .sticky.is-stuck.is-at-top {
+ top: 0; }
+ .sticky.is-stuck.is-at-bottom {
+ bottom: 0; }
- .large-block-grid-8 > li {
- list-style: none;
- width: 12.5%; }
- .large-block-grid-8 > li:nth-of-type(1n) {
- clear: none; }
- .large-block-grid-8 > li:nth-of-type(8n+1) {
- clear: both; }
+.sticky.is-anchored {
+ position: absolute;
+ left: auto;
+ right: auto; }
+ .sticky.is-anchored.is-at-bottom {
+ bottom: 0; }
- .large-block-grid-9 > li {
- list-style: none;
- width: 11.11111%; }
- .large-block-grid-9 > li:nth-of-type(1n) {
- clear: none; }
- .large-block-grid-9 > li:nth-of-type(9n+1) {
- clear: both; }
+body.is-reveal-open {
+ overflow: hidden; }
- .large-block-grid-10 > li {
- list-style: none;
- width: 10%; }
- .large-block-grid-10 > li:nth-of-type(1n) {
- clear: none; }
- .large-block-grid-10 > li:nth-of-type(10n+1) {
- clear: both; }
+html.is-reveal-open,
+html.is-reveal-open body {
+ height: 100%;
+ overflow: hidden;
+ -webkit-user-select: none;
+ -moz-user-select: none;
+ -ms-user-select: none;
+ user-select: none; }
- .large-block-grid-11 > li {
- list-style: none;
- width: 9.09091%; }
- .large-block-grid-11 > li:nth-of-type(1n) {
- clear: none; }
- .large-block-grid-11 > li:nth-of-type(11n+1) {
- clear: both; }
+.reveal-overlay {
+ display: none;
+ position: fixed;
+ top: 0;
+ bottom: 0;
+ left: 0;
+ right: 0;
+ z-index: 1005;
+ background-color: rgba(10, 10, 10, 0.45);
+ overflow-y: scroll; }
- .large-block-grid-12 > li {
- list-style: none;
- width: 8.33333%; }
- .large-block-grid-12 > li:nth-of-type(1n) {
- clear: none; }
- .large-block-grid-12 > li:nth-of-type(12n+1) {
- clear: both; } }
-.flex-video {
- height: 0;
- margin-bottom: 1rem;
- overflow: hidden;
- padding-bottom: 67.5%;
- padding-top: 1.5625rem;
- position: relative; }
- .flex-video.widescreen {
- padding-bottom: 56.34%; }
- .flex-video.vimeo {
- padding-top: 0; }
- .flex-video iframe,
- .flex-video object,
- .flex-video embed,
- .flex-video video {
- height: 100%;
- position: absolute;
+.reveal {
+ display: none;
+ z-index: 1006;
+ padding: 1rem;
+ border: 1px solid #cacaca;
+ background-color: #fefefe;
+ border-radius: 0;
+ position: relative;
+ top: 100px;
+ margin-left: auto;
+ margin-right: auto;
+ overflow-y: auto; }
+ [data-whatinput='mouse'] .reveal {
+ outline: 0; }
+ @media screen and (min-width: 40em) {
+ .reveal {
+ min-height: 0; } }
+ .reveal .column, .reveal .columns,
+ .reveal .columns {
+ min-width: 0; }
+ .reveal > :last-child {
+ margin-bottom: 0; }
+ @media screen and (min-width: 40em) {
+ .reveal {
+ width: 600px;
+ max-width: 75rem; } }
+ @media screen and (min-width: 40em) {
+ .reveal .reveal {
+ left: auto;
+ right: auto;
+ margin: 0 auto; } }
+ .reveal.collapse {
+ padding: 0; }
+ @media screen and (min-width: 40em) {
+ .reveal.tiny {
+ width: 30%;
+ max-width: 75rem; } }
+ @media screen and (min-width: 40em) {
+ .reveal.small {
+ width: 50%;
+ max-width: 75rem; } }
+ @media screen and (min-width: 40em) {
+ .reveal.large {
+ width: 90%;
+ max-width: 75rem; } }
+ .reveal.full {
top: 0;
+ left: 0;
width: 100%;
- left: 0; }
-
-.keystroke,
-kbd {
- background-color: #ededed;
- border-color: #dddddd;
- color: #222222;
- border-style: solid;
- border-width: 1px;
- font-family: "Consolas", "Menlo", "Courier", monospace;
- font-size: inherit;
- margin: 0;
- padding: 0.125rem 0.25rem 0;
- border-radius: 3px; }
+ height: 100%;
+ height: 100vh;
+ min-height: 100vh;
+ max-width: none;
+ margin-left: 0;
+ border: 0;
+ border-radius: 0; }
+ @media screen and (max-width: 39.9375em) {
+ .reveal {
+ top: 0;
+ left: 0;
+ width: 100%;
+ height: 100%;
+ height: 100vh;
+ min-height: 100vh;
+ max-width: none;
+ margin-left: 0;
+ border: 0;
+ border-radius: 0; } }
+ .reveal.without-overlay {
+ position: fixed; }
.switch {
- border: none;
- margin-bottom: 1.5rem;
+ margin-bottom: 1rem;
outline: 0;
- padding: 0;
position: relative;
-webkit-user-select: none;
- -moz-user-select: none;
- -ms-user-select: none;
- user-select: none; }
- .switch label {
- background: #DDDDDD;
- color: transparent;
- cursor: pointer;
+ -moz-user-select: none;
+ -ms-user-select: none;
+ user-select: none;
+ color: #fefefe;
+ font-weight: bold;
+ font-size: 0.875rem; }
+
+.switch-input {
+ opacity: 0;
+ position: absolute; }
+
+.switch-paddle {
+ background: #cacaca;
+ cursor: pointer;
+ display: block;
+ position: relative;
+ width: 4rem;
+ height: 2rem;
+ -webkit-transition: all 0.25s ease-out;
+ transition: all 0.25s ease-out;
+ border-radius: 0;
+ color: inherit;
+ font-weight: inherit; }
+ input + .switch-paddle {
+ margin: 0; }
+ .switch-paddle::after {
+ background: #fefefe;
+ content: '';
display: block;
- margin-bottom: 1rem;
- position: relative;
- text-indent: 100%;
- width: 4rem;
- height: 2rem;
- transition: left 0.15s ease-out; }
- .switch input {
- left: 10px;
- opacity: 0;
- padding: 0;
position: absolute;
- top: 9px; }
- .switch input + label {
- margin-left: 0;
- margin-right: 0; }
- .switch label:after {
- background: #FFFFFF;
- content: "";
- display: block;
height: 1.5rem;
- left: .25rem;
- position: absolute;
- top: .25rem;
+ left: 0.25rem;
+ top: 0.25rem;
width: 1.5rem;
- -webkit-transition: left 0.15s ease-out;
- -moz-transition: left 0.15s ease-out;
- -o-transition: translate3d(0, 0, 0);
- transition: left 0.15s ease-out;
+ -webkit-transition: all 0.25s ease-out;
+ transition: all 0.25s ease-out;
-webkit-transform: translate3d(0, 0, 0);
- -moz-transform: translate3d(0, 0, 0);
- -ms-transform: translate3d(0, 0, 0);
- -o-transform: translate3d(0, 0, 0);
- transform: translate3d(0, 0, 0); }
- .switch input:checked + label {
- background: #008CBA; }
- .switch input:checked + label:after {
- left: 2.25rem; }
- .switch label {
- height: 2rem;
- width: 4rem; }
- .switch label:after {
- height: 1.5rem;
- width: 1.5rem; }
- .switch input:checked + label:after {
- left: 2.25rem; }
- .switch label {
- color: transparent;
- background: #DDDDDD; }
- .switch label:after {
- background: #FFFFFF; }
- .switch input:checked + label {
- background: #008CBA; }
- .switch.large label {
- height: 2.5rem;
- width: 5rem; }
- .switch.large label:after {
- height: 2rem;
- width: 2rem; }
- .switch.large input:checked + label:after {
- left: 2.75rem; }
- .switch.small label {
- height: 1.75rem;
- width: 3.5rem; }
- .switch.small label:after {
- height: 1.25rem;
- width: 1.25rem; }
- .switch.small input:checked + label:after {
- left: 2rem; }
- .switch.tiny label {
- height: 1.5rem;
- width: 3rem; }
- .switch.tiny label:after {
- height: 1rem;
- width: 1rem; }
- .switch.tiny input:checked + label:after {
- left: 1.75rem; }
- .switch.radius label {
- border-radius: 4px; }
- .switch.radius label:after {
- border-radius: 3px; }
- .switch.round {
- border-radius: 1000px; }
- .switch.round label {
- border-radius: 2rem; }
- .switch.round label:after {
- border-radius: 2rem; }
-
-/* small displays */
-@media only screen {
- .show-for-small-only, .show-for-small-up, .show-for-small, .show-for-small-down, .hide-for-medium-only, .hide-for-medium-up, .hide-for-medium, .show-for-medium-down, .hide-for-large-only, .hide-for-large-up, .hide-for-large, .show-for-large-down, .hide-for-xlarge-only, .hide-for-xlarge-up, .hide-for-xlarge, .show-for-xlarge-down, .hide-for-xxlarge-only, .hide-for-xxlarge-up, .hide-for-xxlarge, .show-for-xxlarge-down {
- display: inherit !important; }
-
- .hide-for-small-only, .hide-for-small-up, .hide-for-small, .hide-for-small-down, .show-for-medium-only, .show-for-medium-up, .show-for-medium, .hide-for-medium-down, .show-for-large-only, .show-for-large-up, .show-for-large, .hide-for-large-down, .show-for-xlarge-only, .show-for-xlarge-up, .show-for-xlarge, .hide-for-xlarge-down, .show-for-xxlarge-only, .show-for-xxlarge-up, .show-for-xxlarge, .hide-for-xxlarge-down {
- display: none !important; }
-
- .visible-for-small-only, .visible-for-small-up, .visible-for-small, .visible-for-small-down, .hidden-for-medium-only, .hidden-for-medium-up, .hidden-for-medium, .visible-for-medium-down, .hidden-for-large-only, .hidden-for-large-up, .hidden-for-large, .visible-for-large-down, .hidden-for-xlarge-only, .hidden-for-xlarge-up, .hidden-for-xlarge, .visible-for-xlarge-down, .hidden-for-xxlarge-only, .hidden-for-xxlarge-up, .hidden-for-xxlarge, .visible-for-xxlarge-down {
- position: static !important;
- height: auto;
- width: auto;
- overflow: visible;
- clip: auto; }
-
- .hidden-for-small-only, .hidden-for-small-up, .hidden-for-small, .hidden-for-small-down, .visible-for-medium-only, .visible-for-medium-up, .visible-for-medium, .hidden-for-medium-down, .visible-for-large-only, .visible-for-large-up, .visible-for-large, .hidden-for-large-down, .visible-for-xlarge-only, .visible-for-xlarge-up, .visible-for-xlarge, .hidden-for-xlarge-down, .visible-for-xxlarge-only, .visible-for-xxlarge-up, .visible-for-xxlarge, .hidden-for-xxlarge-down {
- clip: rect(1px, 1px, 1px, 1px);
- height: 1px;
- overflow: hidden;
- position: absolute !important;
- width: 1px; }
-
- table.show-for-small-only, table.show-for-small-up, table.show-for-small, table.show-for-small-down, table.hide-for-medium-only, table.hide-for-medium-up, table.hide-for-medium, table.show-for-medium-down, table.hide-for-large-only, table.hide-for-large-up, table.hide-for-large, table.show-for-large-down, table.hide-for-xlarge-only, table.hide-for-xlarge-up, table.hide-for-xlarge, table.show-for-xlarge-down, table.hide-for-xxlarge-only, table.hide-for-xxlarge-up, table.hide-for-xxlarge, table.show-for-xxlarge-down {
- display: table !important; }
-
- thead.show-for-small-only, thead.show-for-small-up, thead.show-for-small, thead.show-for-small-down, thead.hide-for-medium-only, thead.hide-for-medium-up, thead.hide-for-medium, thead.show-for-medium-down, thead.hide-for-large-only, thead.hide-for-large-up, thead.hide-for-large, thead.show-for-large-down, thead.hide-for-xlarge-only, thead.hide-for-xlarge-up, thead.hide-for-xlarge, thead.show-for-xlarge-down, thead.hide-for-xxlarge-only, thead.hide-for-xxlarge-up, thead.hide-for-xxlarge, thead.show-for-xxlarge-down {
- display: table-header-group !important; }
-
- tbody.show-for-small-only, tbody.show-for-small-up, tbody.show-for-small, tbody.show-for-small-down, tbody.hide-for-medium-only, tbody.hide-for-medium-up, tbody.hide-for-medium, tbody.show-for-medium-down, tbody.hide-for-large-only, tbody.hide-for-large-up, tbody.hide-for-large, tbody.show-for-large-down, tbody.hide-for-xlarge-only, tbody.hide-for-xlarge-up, tbody.hide-for-xlarge, tbody.show-for-xlarge-down, tbody.hide-for-xxlarge-only, tbody.hide-for-xxlarge-up, tbody.hide-for-xxlarge, tbody.show-for-xxlarge-down {
- display: table-row-group !important; }
-
- tr.show-for-small-only, tr.show-for-small-up, tr.show-for-small, tr.show-for-small-down, tr.hide-for-medium-only, tr.hide-for-medium-up, tr.hide-for-medium, tr.show-for-medium-down, tr.hide-for-large-only, tr.hide-for-large-up, tr.hide-for-large, tr.show-for-large-down, tr.hide-for-xlarge-only, tr.hide-for-xlarge-up, tr.hide-for-xlarge, tr.show-for-xlarge-down, tr.hide-for-xxlarge-only, tr.hide-for-xxlarge-up, tr.hide-for-xxlarge, tr.show-for-xxlarge-down {
- display: table-row; }
-
- th.show-for-small-only, td.show-for-small-only, th.show-for-small-up, td.show-for-small-up, th.show-for-small, td.show-for-small, th.show-for-small-down, td.show-for-small-down, th.hide-for-medium-only, td.hide-for-medium-only, th.hide-for-medium-up, td.hide-for-medium-up, th.hide-for-medium, td.hide-for-medium, th.show-for-medium-down, td.show-for-medium-down, th.hide-for-large-only, td.hide-for-large-only, th.hide-for-large-up, td.hide-for-large-up, th.hide-for-large, td.hide-for-large, th.show-for-large-down, td.show-for-large-down, th.hide-for-xlarge-only, td.hide-for-xlarge-only, th.hide-for-xlarge-up, td.hide-for-xlarge-up, th.hide-for-xlarge, td.hide-for-xlarge, th.show-for-xlarge-down, td.show-for-xlarge-down, th.hide-for-xxlarge-only, td.hide-for-xxlarge-only, th.hide-for-xxlarge-up, td.hide-for-xxlarge-up, th.hide-for-xxlarge, td.hide-for-xxlarge, th.show-for-xxlarge-down, td.show-for-xxlarge-down {
- display: table-cell !important; } }
-/* medium displays */
-@media only screen and (min-width: 40.0625em) {
- .hide-for-small-only, .show-for-small-up, .hide-for-small, .hide-for-small-down, .show-for-medium-only, .show-for-medium-up, .show-for-medium, .show-for-medium-down, .hide-for-large-only, .hide-for-large-up, .hide-for-large, .show-for-large-down, .hide-for-xlarge-only, .hide-for-xlarge-up, .hide-for-xlarge, .show-for-xlarge-down, .hide-for-xxlarge-only, .hide-for-xxlarge-up, .hide-for-xxlarge, .show-for-xxlarge-down {
- display: inherit !important; }
-
- .show-for-small-only, .hide-for-small-up, .show-for-small, .show-for-small-down, .hide-for-medium-only, .hide-for-medium-up, .hide-for-medium, .hide-for-medium-down, .show-for-large-only, .show-for-large-up, .show-for-large, .hide-for-large-down, .show-for-xlarge-only, .show-for-xlarge-up, .show-for-xlarge, .hide-for-xlarge-down, .show-for-xxlarge-only, .show-for-xxlarge-up, .show-for-xxlarge, .hide-for-xxlarge-down {
- display: none !important; }
-
- .hidden-for-small-only, .visible-for-small-up, .hidden-for-small, .hidden-for-small-down, .visible-for-medium-only, .visible-for-medium-up, .visible-for-medium, .visible-for-medium-down, .hidden-for-large-only, .hidden-for-large-up, .hidden-for-large, .visible-for-large-down, .hidden-for-xlarge-only, .hidden-for-xlarge-up, .hidden-for-xlarge, .visible-for-xlarge-down, .hidden-for-xxlarge-only, .hidden-for-xxlarge-up, .hidden-for-xxlarge, .visible-for-xxlarge-down {
- position: static !important;
- height: auto;
- width: auto;
- overflow: visible;
- clip: auto; }
-
- .visible-for-small-only, .hidden-for-small-up, .visible-for-small, .visible-for-small-down, .hidden-for-medium-only, .hidden-for-medium-up, .hidden-for-medium, .hidden-for-medium-down, .visible-for-large-only, .visible-for-large-up, .visible-for-large, .hidden-for-large-down, .visible-for-xlarge-only, .visible-for-xlarge-up, .visible-for-xlarge, .hidden-for-xlarge-down, .visible-for-xxlarge-only, .visible-for-xxlarge-up, .visible-for-xxlarge, .hidden-for-xxlarge-down {
- clip: rect(1px, 1px, 1px, 1px);
- height: 1px;
- overflow: hidden;
- position: absolute !important;
- width: 1px; }
-
- table.hide-for-small-only, table.show-for-small-up, table.hide-for-small, table.hide-for-small-down, table.show-for-medium-only, table.show-for-medium-up, table.show-for-medium, table.show-for-medium-down, table.hide-for-large-only, table.hide-for-large-up, table.hide-for-large, table.show-for-large-down, table.hide-for-xlarge-only, table.hide-for-xlarge-up, table.hide-for-xlarge, table.show-for-xlarge-down, table.hide-for-xxlarge-only, table.hide-for-xxlarge-up, table.hide-for-xxlarge, table.show-for-xxlarge-down {
- display: table !important; }
-
- thead.hide-for-small-only, thead.show-for-small-up, thead.hide-for-small, thead.hide-for-small-down, thead.show-for-medium-only, thead.show-for-medium-up, thead.show-for-medium, thead.show-for-medium-down, thead.hide-for-large-only, thead.hide-for-large-up, thead.hide-for-large, thead.show-for-large-down, thead.hide-for-xlarge-only, thead.hide-for-xlarge-up, thead.hide-for-xlarge, thead.show-for-xlarge-down, thead.hide-for-xxlarge-only, thead.hide-for-xxlarge-up, thead.hide-for-xxlarge, thead.show-for-xxlarge-down {
- display: table-header-group !important; }
-
- tbody.hide-for-small-only, tbody.show-for-small-up, tbody.hide-for-small, tbody.hide-for-small-down, tbody.show-for-medium-only, tbody.show-for-medium-up, tbody.show-for-medium, tbody.show-for-medium-down, tbody.hide-for-large-only, tbody.hide-for-large-up, tbody.hide-for-large, tbody.show-for-large-down, tbody.hide-for-xlarge-only, tbody.hide-for-xlarge-up, tbody.hide-for-xlarge, tbody.show-for-xlarge-down, tbody.hide-for-xxlarge-only, tbody.hide-for-xxlarge-up, tbody.hide-for-xxlarge, tbody.show-for-xxlarge-down {
- display: table-row-group !important; }
-
- tr.hide-for-small-only, tr.show-for-small-up, tr.hide-for-small, tr.hide-for-small-down, tr.show-for-medium-only, tr.show-for-medium-up, tr.show-for-medium, tr.show-for-medium-down, tr.hide-for-large-only, tr.hide-for-large-up, tr.hide-for-large, tr.show-for-large-down, tr.hide-for-xlarge-only, tr.hide-for-xlarge-up, tr.hide-for-xlarge, tr.show-for-xlarge-down, tr.hide-for-xxlarge-only, tr.hide-for-xxlarge-up, tr.hide-for-xxlarge, tr.show-for-xxlarge-down {
- display: table-row; }
-
- th.hide-for-small-only, td.hide-for-small-only, th.show-for-small-up, td.show-for-small-up, th.hide-for-small, td.hide-for-small, th.hide-for-small-down, td.hide-for-small-down, th.show-for-medium-only, td.show-for-medium-only, th.show-for-medium-up, td.show-for-medium-up, th.show-for-medium, td.show-for-medium, th.show-for-medium-down, td.show-for-medium-down, th.hide-for-large-only, td.hide-for-large-only, th.hide-for-large-up, td.hide-for-large-up, th.hide-for-large, td.hide-for-large, th.show-for-large-down, td.show-for-large-down, th.hide-for-xlarge-only, td.hide-for-xlarge-only, th.hide-for-xlarge-up, td.hide-for-xlarge-up, th.hide-for-xlarge, td.hide-for-xlarge, th.show-for-xlarge-down, td.show-for-xlarge-down, th.hide-for-xxlarge-only, td.hide-for-xxlarge-only, th.hide-for-xxlarge-up, td.hide-for-xxlarge-up, th.hide-for-xxlarge, td.hide-for-xxlarge, th.show-for-xxlarge-down, td.show-for-xxlarge-down {
- display: table-cell !important; } }
-/* large displays */
-@media only screen and (min-width: 64.0625em) {
- .hide-for-small-only, .show-for-small-up, .hide-for-small, .hide-for-small-down, .hide-for-medium-only, .show-for-medium-up, .hide-for-medium, .hide-for-medium-down, .show-for-large-only, .show-for-large-up, .show-for-large, .show-for-large-down, .hide-for-xlarge-only, .hide-for-xlarge-up, .hide-for-xlarge, .show-for-xlarge-down, .hide-for-xxlarge-only, .hide-for-xxlarge-up, .hide-for-xxlarge, .show-for-xxlarge-down {
- display: inherit !important; }
-
- .show-for-small-only, .hide-for-small-up, .show-for-small, .show-for-small-down, .show-for-medium-only, .hide-for-medium-up, .show-for-medium, .show-for-medium-down, .hide-for-large-only, .hide-for-large-up, .hide-for-large, .hide-for-large-down, .show-for-xlarge-only, .show-for-xlarge-up, .show-for-xlarge, .hide-for-xlarge-down, .show-for-xxlarge-only, .show-for-xxlarge-up, .show-for-xxlarge, .hide-for-xxlarge-down {
- display: none !important; }
-
- .hidden-for-small-only, .visible-for-small-up, .hidden-for-small, .hidden-for-small-down, .hidden-for-medium-only, .visible-for-medium-up, .hidden-for-medium, .hidden-for-medium-down, .visible-for-large-only, .visible-for-large-up, .visible-for-large, .visible-for-large-down, .hidden-for-xlarge-only, .hidden-for-xlarge-up, .hidden-for-xlarge, .visible-for-xlarge-down, .hidden-for-xxlarge-only, .hidden-for-xxlarge-up, .hidden-for-xxlarge, .visible-for-xxlarge-down {
- position: static !important;
- height: auto;
- width: auto;
- overflow: visible;
- clip: auto; }
-
- .visible-for-small-only, .hidden-for-small-up, .visible-for-small, .visible-for-small-down, .visible-for-medium-only, .hidden-for-medium-up, .visible-for-medium, .visible-for-medium-down, .hidden-for-large-only, .hidden-for-large-up, .hidden-for-large, .hidden-for-large-down, .visible-for-xlarge-only, .visible-for-xlarge-up, .visible-for-xlarge, .hidden-for-xlarge-down, .visible-for-xxlarge-only, .visible-for-xxlarge-up, .visible-for-xxlarge, .hidden-for-xxlarge-down {
- clip: rect(1px, 1px, 1px, 1px);
- height: 1px;
- overflow: hidden;
- position: absolute !important;
- width: 1px; }
-
- table.hide-for-small-only, table.show-for-small-up, table.hide-for-small, table.hide-for-small-down, table.hide-for-medium-only, table.show-for-medium-up, table.hide-for-medium, table.hide-for-medium-down, table.show-for-large-only, table.show-for-large-up, table.show-for-large, table.show-for-large-down, table.hide-for-xlarge-only, table.hide-for-xlarge-up, table.hide-for-xlarge, table.show-for-xlarge-down, table.hide-for-xxlarge-only, table.hide-for-xxlarge-up, table.hide-for-xxlarge, table.show-for-xxlarge-down {
- display: table !important; }
-
- thead.hide-for-small-only, thead.show-for-small-up, thead.hide-for-small, thead.hide-for-small-down, thead.hide-for-medium-only, thead.show-for-medium-up, thead.hide-for-medium, thead.hide-for-medium-down, thead.show-for-large-only, thead.show-for-large-up, thead.show-for-large, thead.show-for-large-down, thead.hide-for-xlarge-only, thead.hide-for-xlarge-up, thead.hide-for-xlarge, thead.show-for-xlarge-down, thead.hide-for-xxlarge-only, thead.hide-for-xxlarge-up, thead.hide-for-xxlarge, thead.show-for-xxlarge-down {
- display: table-header-group !important; }
-
- tbody.hide-for-small-only, tbody.show-for-small-up, tbody.hide-for-small, tbody.hide-for-small-down, tbody.hide-for-medium-only, tbody.show-for-medium-up, tbody.hide-for-medium, tbody.hide-for-medium-down, tbody.show-for-large-only, tbody.show-for-large-up, tbody.show-for-large, tbody.show-for-large-down, tbody.hide-for-xlarge-only, tbody.hide-for-xlarge-up, tbody.hide-for-xlarge, tbody.show-for-xlarge-down, tbody.hide-for-xxlarge-only, tbody.hide-for-xxlarge-up, tbody.hide-for-xxlarge, tbody.show-for-xxlarge-down {
- display: table-row-group !important; }
+ transform: translate3d(0, 0, 0);
+ border-radius: 0; }
+ input:checked ~ .switch-paddle {
+ background: #2199e8; }
+ input:checked ~ .switch-paddle::after {
+ left: 2.25rem; }
+ [data-whatinput='mouse'] input:focus ~ .switch-paddle {
+ outline: 0; }
+
+.switch-active, .switch-inactive {
+ position: absolute;
+ top: 50%;
+ -webkit-transform: translateY(-50%);
+ -ms-transform: translateY(-50%);
+ transform: translateY(-50%); }
- tr.hide-for-small-only, tr.show-for-small-up, tr.hide-for-small, tr.hide-for-small-down, tr.hide-for-medium-only, tr.show-for-medium-up, tr.hide-for-medium, tr.hide-for-medium-down, tr.show-for-large-only, tr.show-for-large-up, tr.show-for-large, tr.show-for-large-down, tr.hide-for-xlarge-only, tr.hide-for-xlarge-up, tr.hide-for-xlarge, tr.show-for-xlarge-down, tr.hide-for-xxlarge-only, tr.hide-for-xxlarge-up, tr.hide-for-xxlarge, tr.show-for-xxlarge-down {
- display: table-row; }
+.switch-active {
+ left: 8%;
+ display: none; }
+ input:checked + label > .switch-active {
+ display: block; }
- th.hide-for-small-only, td.hide-for-small-only, th.show-for-small-up, td.show-for-small-up, th.hide-for-small, td.hide-for-small, th.hide-for-small-down, td.hide-for-small-down, th.hide-for-medium-only, td.hide-for-medium-only, th.show-for-medium-up, td.show-for-medium-up, th.hide-for-medium, td.hide-for-medium, th.hide-for-medium-down, td.hide-for-medium-down, th.show-for-large-only, td.show-for-large-only, th.show-for-large-up, td.show-for-large-up, th.show-for-large, td.show-for-large, th.show-for-large-down, td.show-for-large-down, th.hide-for-xlarge-only, td.hide-for-xlarge-only, th.hide-for-xlarge-up, td.hide-for-xlarge-up, th.hide-for-xlarge, td.hide-for-xlarge, th.show-for-xlarge-down, td.show-for-xlarge-down, th.hide-for-xxlarge-only, td.hide-for-xxlarge-only, th.hide-for-xxlarge-up, td.hide-for-xxlarge-up, th.hide-for-xxlarge, td.hide-for-xxlarge, th.show-for-xxlarge-down, td.show-for-xxlarge-down {
- display: table-cell !important; } }
-/* xlarge displays */
-@media only screen and (min-width: 90.0625em) {
- .hide-for-small-only, .show-for-small-up, .hide-for-small, .hide-for-small-down, .hide-for-medium-only, .show-for-medium-up, .hide-for-medium, .hide-for-medium-down, .hide-for-large-only, .show-for-large-up, .hide-for-large, .hide-for-large-down, .show-for-xlarge-only, .show-for-xlarge-up, .show-for-xlarge, .show-for-xlarge-down, .hide-for-xxlarge-only, .hide-for-xxlarge-up, .hide-for-xxlarge, .show-for-xxlarge-down {
- display: inherit !important; }
+.switch-inactive {
+ right: 15%; }
+ input:checked + label > .switch-inactive {
+ display: none; }
- .show-for-small-only, .hide-for-small-up, .show-for-small, .show-for-small-down, .show-for-medium-only, .hide-for-medium-up, .show-for-medium, .show-for-medium-down, .show-for-large-only, .hide-for-large-up, .show-for-large, .show-for-large-down, .hide-for-xlarge-only, .hide-for-xlarge-up, .hide-for-xlarge, .hide-for-xlarge-down, .show-for-xxlarge-only, .show-for-xxlarge-up, .show-for-xxlarge, .hide-for-xxlarge-down {
- display: none !important; }
+.switch.tiny .switch-paddle {
+ width: 3rem;
+ height: 1.5rem;
+ font-size: 0.625rem; }
- .hidden-for-small-only, .visible-for-small-up, .hidden-for-small, .hidden-for-small-down, .hidden-for-medium-only, .visible-for-medium-up, .hidden-for-medium, .hidden-for-medium-down, .hidden-for-large-only, .visible-for-large-up, .hidden-for-large, .hidden-for-large-down, .visible-for-xlarge-only, .visible-for-xlarge-up, .visible-for-xlarge, .visible-for-xlarge-down, .hidden-for-xxlarge-only, .hidden-for-xxlarge-up, .hidden-for-xxlarge, .visible-for-xxlarge-down {
- position: static !important;
- height: auto;
- width: auto;
- overflow: visible;
- clip: auto; }
-
- .visible-for-small-only, .hidden-for-small-up, .visible-for-small, .visible-for-small-down, .visible-for-medium-only, .hidden-for-medium-up, .visible-for-medium, .visible-for-medium-down, .visible-for-large-only, .hidden-for-large-up, .visible-for-large, .visible-for-large-down, .hidden-for-xlarge-only, .hidden-for-xlarge-up, .hidden-for-xlarge, .hidden-for-xlarge-down, .visible-for-xxlarge-only, .visible-for-xxlarge-up, .visible-for-xxlarge, .hidden-for-xxlarge-down {
- clip: rect(1px, 1px, 1px, 1px);
- height: 1px;
- overflow: hidden;
- position: absolute !important;
- width: 1px; }
-
- table.hide-for-small-only, table.show-for-small-up, table.hide-for-small, table.hide-for-small-down, table.hide-for-medium-only, table.show-for-medium-up, table.hide-for-medium, table.hide-for-medium-down, table.hide-for-large-only, table.show-for-large-up, table.hide-for-large, table.hide-for-large-down, table.show-for-xlarge-only, table.show-for-xlarge-up, table.show-for-xlarge, table.show-for-xlarge-down, table.hide-for-xxlarge-only, table.hide-for-xxlarge-up, table.hide-for-xxlarge, table.show-for-xxlarge-down {
- display: table !important; }
+.switch.tiny .switch-paddle::after {
+ width: 1rem;
+ height: 1rem; }
- thead.hide-for-small-only, thead.show-for-small-up, thead.hide-for-small, thead.hide-for-small-down, thead.hide-for-medium-only, thead.show-for-medium-up, thead.hide-for-medium, thead.hide-for-medium-down, thead.hide-for-large-only, thead.show-for-large-up, thead.hide-for-large, thead.hide-for-large-down, thead.show-for-xlarge-only, thead.show-for-xlarge-up, thead.show-for-xlarge, thead.show-for-xlarge-down, thead.hide-for-xxlarge-only, thead.hide-for-xxlarge-up, thead.hide-for-xxlarge, thead.show-for-xxlarge-down {
- display: table-header-group !important; }
+.switch.tiny input:checked ~ .switch-paddle::after {
+ left: 1.75rem; }
- tbody.hide-for-small-only, tbody.show-for-small-up, tbody.hide-for-small, tbody.hide-for-small-down, tbody.hide-for-medium-only, tbody.show-for-medium-up, tbody.hide-for-medium, tbody.hide-for-medium-down, tbody.hide-for-large-only, tbody.show-for-large-up, tbody.hide-for-large, tbody.hide-for-large-down, tbody.show-for-xlarge-only, tbody.show-for-xlarge-up, tbody.show-for-xlarge, tbody.show-for-xlarge-down, tbody.hide-for-xxlarge-only, tbody.hide-for-xxlarge-up, tbody.hide-for-xxlarge, tbody.show-for-xxlarge-down {
- display: table-row-group !important; }
+.switch.small .switch-paddle {
+ width: 3.5rem;
+ height: 1.75rem;
+ font-size: 0.75rem; }
- tr.hide-for-small-only, tr.show-for-small-up, tr.hide-for-small, tr.hide-for-small-down, tr.hide-for-medium-only, tr.show-for-medium-up, tr.hide-for-medium, tr.hide-for-medium-down, tr.hide-for-large-only, tr.show-for-large-up, tr.hide-for-large, tr.hide-for-large-down, tr.show-for-xlarge-only, tr.show-for-xlarge-up, tr.show-for-xlarge, tr.show-for-xlarge-down, tr.hide-for-xxlarge-only, tr.hide-for-xxlarge-up, tr.hide-for-xxlarge, tr.show-for-xxlarge-down {
- display: table-row; }
+.switch.small .switch-paddle::after {
+ width: 1.25rem;
+ height: 1.25rem; }
- th.hide-for-small-only, td.hide-for-small-only, th.show-for-small-up, td.show-for-small-up, th.hide-for-small, td.hide-for-small, th.hide-for-small-down, td.hide-for-small-down, th.hide-for-medium-only, td.hide-for-medium-only, th.show-for-medium-up, td.show-for-medium-up, th.hide-for-medium, td.hide-for-medium, th.hide-for-medium-down, td.hide-for-medium-down, th.hide-for-large-only, td.hide-for-large-only, th.show-for-large-up, td.show-for-large-up, th.hide-for-large, td.hide-for-large, th.hide-for-large-down, td.hide-for-large-down, th.show-for-xlarge-only, td.show-for-xlarge-only, th.show-for-xlarge-up, td.show-for-xlarge-up, th.show-for-xlarge, td.show-for-xlarge, th.show-for-xlarge-down, td.show-for-xlarge-down, th.hide-for-xxlarge-only, td.hide-for-xxlarge-only, th.hide-for-xxlarge-up, td.hide-for-xxlarge-up, th.hide-for-xxlarge, td.hide-for-xxlarge, th.show-for-xxlarge-down, td.show-for-xxlarge-down {
- display: table-cell !important; } }
-/* xxlarge displays */
-@media only screen and (min-width: 120.0625em) {
- .hide-for-small-only, .show-for-small-up, .hide-for-small, .hide-for-small-down, .hide-for-medium-only, .show-for-medium-up, .hide-for-medium, .hide-for-medium-down, .hide-for-large-only, .show-for-large-up, .hide-for-large, .hide-for-large-down, .hide-for-xlarge-only, .show-for-xlarge-up, .hide-for-xlarge, .hide-for-xlarge-down, .show-for-xxlarge-only, .show-for-xxlarge-up, .show-for-xxlarge, .show-for-xxlarge-down {
- display: inherit !important; }
+.switch.small input:checked ~ .switch-paddle::after {
+ left: 2rem; }
- .show-for-small-only, .hide-for-small-up, .show-for-small, .show-for-small-down, .show-for-medium-only, .hide-for-medium-up, .show-for-medium, .show-for-medium-down, .show-for-large-only, .hide-for-large-up, .show-for-large, .show-for-large-down, .show-for-xlarge-only, .hide-for-xlarge-up, .show-for-xlarge, .show-for-xlarge-down, .hide-for-xxlarge-only, .hide-for-xxlarge-up, .hide-for-xxlarge, .hide-for-xxlarge-down {
- display: none !important; }
+.switch.large .switch-paddle {
+ width: 5rem;
+ height: 2.5rem;
+ font-size: 1rem; }
- .hidden-for-small-only, .visible-for-small-up, .hidden-for-small, .hidden-for-small-down, .hidden-for-medium-only, .visible-for-medium-up, .hidden-for-medium, .hidden-for-medium-down, .hidden-for-large-only, .visible-for-large-up, .hidden-for-large, .hidden-for-large-down, .hidden-for-xlarge-only, .visible-for-xlarge-up, .hidden-for-xlarge, .hidden-for-xlarge-down, .visible-for-xxlarge-only, .visible-for-xxlarge-up, .visible-for-xxlarge, .visible-for-xxlarge-down {
- position: static !important;
- height: auto;
- width: auto;
- overflow: visible;
- clip: auto; }
-
- .visible-for-small-only, .hidden-for-small-up, .visible-for-small, .visible-for-small-down, .visible-for-medium-only, .hidden-for-medium-up, .visible-for-medium, .visible-for-medium-down, .visible-for-large-only, .hidden-for-large-up, .visible-for-large, .visible-for-large-down, .visible-for-xlarge-only, .hidden-for-xlarge-up, .visible-for-xlarge, .visible-for-xlarge-down, .hidden-for-xxlarge-only, .hidden-for-xxlarge-up, .hidden-for-xxlarge, .hidden-for-xxlarge-down {
- clip: rect(1px, 1px, 1px, 1px);
- height: 1px;
- overflow: hidden;
- position: absolute !important;
- width: 1px; }
-
- table.hide-for-small-only, table.show-for-small-up, table.hide-for-small, table.hide-for-small-down, table.hide-for-medium-only, table.show-for-medium-up, table.hide-for-medium, table.hide-for-medium-down, table.hide-for-large-only, table.show-for-large-up, table.hide-for-large, table.hide-for-large-down, table.hide-for-xlarge-only, table.show-for-xlarge-up, table.hide-for-xlarge, table.hide-for-xlarge-down, table.show-for-xxlarge-only, table.show-for-xxlarge-up, table.show-for-xxlarge, table.show-for-xxlarge-down {
- display: table !important; }
+.switch.large .switch-paddle::after {
+ width: 2rem;
+ height: 2rem; }
- thead.hide-for-small-only, thead.show-for-small-up, thead.hide-for-small, thead.hide-for-small-down, thead.hide-for-medium-only, thead.show-for-medium-up, thead.hide-for-medium, thead.hide-for-medium-down, thead.hide-for-large-only, thead.show-for-large-up, thead.hide-for-large, thead.hide-for-large-down, thead.hide-for-xlarge-only, thead.show-for-xlarge-up, thead.hide-for-xlarge, thead.hide-for-xlarge-down, thead.show-for-xxlarge-only, thead.show-for-xxlarge-up, thead.show-for-xxlarge, thead.show-for-xxlarge-down {
- display: table-header-group !important; }
+.switch.large input:checked ~ .switch-paddle::after {
+ left: 2.75rem; }
- tbody.hide-for-small-only, tbody.show-for-small-up, tbody.hide-for-small, tbody.hide-for-small-down, tbody.hide-for-medium-only, tbody.show-for-medium-up, tbody.hide-for-medium, tbody.hide-for-medium-down, tbody.hide-for-large-only, tbody.show-for-large-up, tbody.hide-for-large, tbody.hide-for-large-down, tbody.hide-for-xlarge-only, tbody.show-for-xlarge-up, tbody.hide-for-xlarge, tbody.hide-for-xlarge-down, tbody.show-for-xxlarge-only, tbody.show-for-xxlarge-up, tbody.show-for-xxlarge, tbody.show-for-xxlarge-down {
- display: table-row-group !important; }
+table {
+ width: 100%;
+ margin-bottom: 1rem;
+ border-radius: 0; }
+ table thead,
+ table tbody,
+ table tfoot {
+ border: 1px solid #f1f1f1;
+ background-color: #fefefe; }
+ table caption {
+ font-weight: bold;
+ padding: 0.5rem 0.625rem 0.625rem; }
+ table thead,
+ table tfoot {
+ background: #f8f8f8;
+ color: #0a0a0a; }
+ table thead tr,
+ table tfoot tr {
+ background: transparent; }
+ table thead th,
+ table thead td,
+ table tfoot th,
+ table tfoot td {
+ padding: 0.5rem 0.625rem 0.625rem;
+ font-weight: bold;
+ text-align: left; }
+ table tbody tr:nth-child(even) {
+ background-color: #f1f1f1; }
+ table tbody th,
+ table tbody td {
+ padding: 0.5rem 0.625rem 0.625rem; }
+
+@media screen and (max-width: 63.9375em) {
+ table.stack thead {
+ display: none; }
+ table.stack tfoot {
+ display: none; }
+ table.stack tr,
+ table.stack th,
+ table.stack td {
+ display: block; }
+ table.stack td {
+ border-top: 0; } }
- tr.hide-for-small-only, tr.show-for-small-up, tr.hide-for-small, tr.hide-for-small-down, tr.hide-for-medium-only, tr.show-for-medium-up, tr.hide-for-medium, tr.hide-for-medium-down, tr.hide-for-large-only, tr.show-for-large-up, tr.hide-for-large, tr.hide-for-large-down, tr.hide-for-xlarge-only, tr.show-for-xlarge-up, tr.hide-for-xlarge, tr.hide-for-xlarge-down, tr.show-for-xxlarge-only, tr.show-for-xxlarge-up, tr.show-for-xxlarge, tr.show-for-xxlarge-down {
- display: table-row; }
+table.scroll {
+ display: block;
+ width: 100%;
+ overflow-x: auto; }
- th.hide-for-small-only, td.hide-for-small-only, th.show-for-small-up, td.show-for-small-up, th.hide-for-small, td.hide-for-small, th.hide-for-small-down, td.hide-for-small-down, th.hide-for-medium-only, td.hide-for-medium-only, th.show-for-medium-up, td.show-for-medium-up, th.hide-for-medium, td.hide-for-medium, th.hide-for-medium-down, td.hide-for-medium-down, th.hide-for-large-only, td.hide-for-large-only, th.show-for-large-up, td.show-for-large-up, th.hide-for-large, td.hide-for-large, th.hide-for-large-down, td.hide-for-large-down, th.hide-for-xlarge-only, td.hide-for-xlarge-only, th.show-for-xlarge-up, td.show-for-xlarge-up, th.hide-for-xlarge, td.hide-for-xlarge, th.hide-for-xlarge-down, td.hide-for-xlarge-down, th.show-for-xxlarge-only, td.show-for-xxlarge-only, th.show-for-xxlarge-up, td.show-for-xxlarge-up, th.show-for-xxlarge, td.show-for-xxlarge, th.show-for-xxlarge-down, td.show-for-xxlarge-down {
- display: table-cell !important; } }
-/* Orientation targeting */
-.show-for-landscape,
-.hide-for-portrait {
- display: inherit !important; }
+table.hover tr:hover {
+ background-color: #f9f9f9; }
-.hide-for-landscape,
-.show-for-portrait {
- display: none !important; }
+table.hover tr:nth-of-type(even):hover {
+ background-color: #ececec; }
-/* Specific visibility for tables */
-table.hide-for-landscape, table.show-for-portrait {
- display: table !important; }
+.table-scroll {
+ overflow-x: auto; }
+ .table-scroll table {
+ width: auto; }
-thead.hide-for-landscape, thead.show-for-portrait {
- display: table-header-group !important; }
+.tabs {
+ margin: 0;
+ list-style-type: none;
+ background: #fefefe;
+ border: 1px solid #e6e6e6; }
+ .tabs::before, .tabs::after {
+ content: ' ';
+ display: table; }
+ .tabs::after {
+ clear: both; }
-tbody.hide-for-landscape, tbody.show-for-portrait {
- display: table-row-group !important; }
+.tabs.vertical > li {
+ width: auto;
+ float: none;
+ display: block; }
-tr.hide-for-landscape, tr.show-for-portrait {
- display: table-row !important; }
+.tabs.simple > li > a {
+ padding: 0; }
+ .tabs.simple > li > a:hover {
+ background: transparent; }
-td.hide-for-landscape, td.show-for-portrait,
-th.hide-for-landscape,
-th.show-for-portrait {
- display: table-cell !important; }
+.tabs.primary {
+ background: #2199e8; }
+ .tabs.primary > li > a {
+ color: #fefefe; }
+ .tabs.primary > li > a:hover, .tabs.primary > li > a:focus {
+ background: #1893e4; }
-@media only screen and (orientation: landscape) {
- .show-for-landscape,
- .hide-for-portrait {
- display: inherit !important; }
+.tabs-title {
+ float: left; }
+ .tabs-title > a {
+ display: block;
+ padding: 1.25rem 1.5rem;
+ line-height: 1;
+ font-size: 0.75rem; }
+ .tabs-title > a:hover {
+ background: #fefefe; }
+ .tabs-title > a:focus, .tabs-title > a[aria-selected='true'] {
+ background: #e6e6e6; }
- .hide-for-landscape,
- .show-for-portrait {
- display: none !important; }
+.tabs-content {
+ background: #fefefe;
+ -webkit-transition: all 0.5s ease;
+ transition: all 0.5s ease;
+ border: 1px solid #e6e6e6;
+ border-top: 0; }
- /* Specific visibility for tables */
- table.show-for-landscape, table.hide-for-portrait {
- display: table !important; }
+.tabs-content.vertical {
+ border: 1px solid #e6e6e6;
+ border-left: 0; }
- thead.show-for-landscape, thead.hide-for-portrait {
- display: table-header-group !important; }
+.tabs-panel {
+ display: none;
+ padding: 1rem; }
+ .tabs-panel.is-active {
+ display: block; }
- tbody.show-for-landscape, tbody.hide-for-portrait {
- display: table-row-group !important; }
+.thumbnail {
+ border: solid 4px #fefefe;
+ -webkit-box-shadow: 0 0 0 1px rgba(10, 10, 10, 0.2);
+ box-shadow: 0 0 0 1px rgba(10, 10, 10, 0.2);
+ display: inline-block;
+ line-height: 0;
+ max-width: 100%;
+ -webkit-transition: -webkit-box-shadow 200ms ease-out;
+ transition: box-shadow 200ms ease-out;
+ border-radius: 0;
+ margin-bottom: 1rem; }
+ .thumbnail:hover, .thumbnail:focus {
+ -webkit-box-shadow: 0 0 6px 1px rgba(33, 153, 232, 0.5);
+ box-shadow: 0 0 6px 1px rgba(33, 153, 232, 0.5); }
+
+.title-bar {
+ background: #0a0a0a;
+ color: #fefefe;
+ padding: 0.5rem; }
+ .title-bar::before, .title-bar::after {
+ content: ' ';
+ display: table; }
+ .title-bar::after {
+ clear: both; }
+ .title-bar .menu-icon {
+ margin-left: 0.25rem;
+ margin-right: 0.25rem; }
- tr.show-for-landscape, tr.hide-for-portrait {
- display: table-row !important; }
+.title-bar-left {
+ float: left; }
- td.show-for-landscape, td.hide-for-portrait,
- th.show-for-landscape,
- th.hide-for-portrait {
- display: table-cell !important; } }
-@media only screen and (orientation: portrait) {
- .show-for-portrait,
- .hide-for-landscape {
- display: inherit !important; }
-
- .hide-for-portrait,
- .show-for-landscape {
- display: none !important; }
+.title-bar-right {
+ float: right;
+ text-align: right; }
- /* Specific visibility for tables */
- table.show-for-portrait, table.hide-for-landscape {
- display: table !important; }
+.title-bar-title {
+ font-weight: bold;
+ vertical-align: middle;
+ display: inline-block; }
- thead.show-for-portrait, thead.hide-for-landscape {
- display: table-header-group !important; }
+.menu-icon.dark {
+ position: relative;
+ display: inline-block;
+ vertical-align: middle;
+ cursor: pointer;
+ width: 20px;
+ height: 16px; }
+ .menu-icon.dark::after {
+ content: '';
+ position: absolute;
+ display: block;
+ width: 100%;
+ height: 2px;
+ background: #0a0a0a;
+ top: 0;
+ left: 0;
+ -webkit-box-shadow: 0 7px 0 #0a0a0a, 0 14px 0 #0a0a0a;
+ box-shadow: 0 7px 0 #0a0a0a, 0 14px 0 #0a0a0a; }
+ .menu-icon.dark:hover::after {
+ background: #8a8a8a;
+ -webkit-box-shadow: 0 7px 0 #8a8a8a, 0 14px 0 #8a8a8a;
+ box-shadow: 0 7px 0 #8a8a8a, 0 14px 0 #8a8a8a; }
- tbody.show-for-portrait, tbody.hide-for-landscape {
- display: table-row-group !important; }
+.has-tip {
+ border-bottom: dotted 1px #8a8a8a;
+ font-weight: bold;
+ position: relative;
+ display: inline-block;
+ cursor: help; }
- tr.show-for-portrait, tr.hide-for-landscape {
- display: table-row !important; }
+.tooltip {
+ background-color: #0a0a0a;
+ color: #fefefe;
+ font-size: 80%;
+ padding: 0.75rem;
+ position: absolute;
+ z-index: 10;
+ top: calc(100% + 0.6495rem);
+ max-width: 10rem !important;
+ border-radius: 0; }
+ .tooltip::before {
+ content: '';
+ display: block;
+ width: 0;
+ height: 0;
+ border: inset 0.75rem;
+ border-color: transparent transparent #0a0a0a;
+ border-bottom-style: solid;
+ border-top-width: 0;
+ bottom: 100%;
+ position: absolute;
+ left: 50%;
+ -webkit-transform: translateX(-50%);
+ -ms-transform: translateX(-50%);
+ transform: translateX(-50%); }
+ .tooltip.top::before {
+ content: '';
+ display: block;
+ width: 0;
+ height: 0;
+ border: inset 0.75rem;
+ border-color: #0a0a0a transparent transparent;
+ border-top-style: solid;
+ border-bottom-width: 0;
+ top: 100%;
+ bottom: auto; }
+ .tooltip.left::before {
+ content: '';
+ display: block;
+ width: 0;
+ height: 0;
+ border: inset 0.75rem;
+ border-color: transparent transparent transparent #0a0a0a;
+ border-left-style: solid;
+ border-right-width: 0;
+ bottom: auto;
+ left: 100%;
+ top: 50%;
+ -webkit-transform: translateY(-50%);
+ -ms-transform: translateY(-50%);
+ transform: translateY(-50%); }
+ .tooltip.right::before {
+ content: '';
+ display: block;
+ width: 0;
+ height: 0;
+ border: inset 0.75rem;
+ border-color: transparent #0a0a0a transparent transparent;
+ border-right-style: solid;
+ border-left-width: 0;
+ bottom: auto;
+ left: auto;
+ right: 100%;
+ top: 50%;
+ -webkit-transform: translateY(-50%);
+ -ms-transform: translateY(-50%);
+ transform: translateY(-50%); }
- td.show-for-portrait, td.hide-for-landscape,
- th.show-for-portrait,
- th.hide-for-landscape {
- display: table-cell !important; } }
-/* Touch-enabled device targeting */
-.show-for-touch {
- display: none !important; }
+.top-bar {
+ padding: 0.5rem; }
+ .top-bar::before, .top-bar::after {
+ content: ' ';
+ display: table; }
+ .top-bar::after {
+ clear: both; }
+ .top-bar,
+ .top-bar ul {
+ background-color: #e6e6e6; }
+ .top-bar input {
+ max-width: 200px;
+ margin-right: 1rem; }
+ .top-bar .input-group-field {
+ width: 100%;
+ margin-right: 0; }
+ .top-bar input.button {
+ width: auto; }
+ .top-bar .top-bar-left,
+ .top-bar .top-bar-right {
+ width: 100%; }
+ @media screen and (min-width: 40em) {
+ .top-bar .top-bar-left,
+ .top-bar .top-bar-right {
+ width: auto; } }
+ @media screen and (max-width: 63.9375em) {
+ .top-bar.stacked-for-medium .top-bar-left,
+ .top-bar.stacked-for-medium .top-bar-right {
+ width: 100%; } }
+ @media screen and (max-width: 74.9375em) {
+ .top-bar.stacked-for-large .top-bar-left,
+ .top-bar.stacked-for-large .top-bar-right {
+ width: 100%; } }
+
+.top-bar-title {
+ float: left;
+ margin-right: 1rem; }
-.hide-for-touch {
- display: inherit !important; }
+.top-bar-left {
+ float: left; }
-.touch .show-for-touch {
- display: inherit !important; }
+.top-bar-right {
+ float: right; }
-.touch .hide-for-touch {
+.hide {
display: none !important; }
-/* Specific visibility for tables */
-table.hide-for-touch {
- display: table !important; }
-
-.touch table.show-for-touch {
- display: table !important; }
-
-thead.hide-for-touch {
- display: table-header-group !important; }
+.invisible {
+ visibility: hidden; }
-.touch thead.show-for-touch {
- display: table-header-group !important; }
+@media screen and (max-width: 39.9375em) {
+ .hide-for-small-only {
+ display: none !important; } }
-tbody.hide-for-touch {
- display: table-row-group !important; }
+@media screen and (max-width: 0em), screen and (min-width: 40em) {
+ .show-for-small-only {
+ display: none !important; } }
-.touch tbody.show-for-touch {
- display: table-row-group !important; }
+@media screen and (min-width: 40em) {
+ .hide-for-medium {
+ display: none !important; } }
-tr.hide-for-touch {
- display: table-row !important; }
+@media screen and (max-width: 39.9375em) {
+ .show-for-medium {
+ display: none !important; } }
-.touch tr.show-for-touch {
- display: table-row !important; }
+@media screen and (min-width: 40em) and (max-width: 63.9375em) {
+ .hide-for-medium-only {
+ display: none !important; } }
-td.hide-for-touch {
- display: table-cell !important; }
+@media screen and (max-width: 39.9375em), screen and (min-width: 64em) {
+ .show-for-medium-only {
+ display: none !important; } }
-.touch td.show-for-touch {
- display: table-cell !important; }
+@media screen and (min-width: 64em) {
+ .hide-for-large {
+ display: none !important; } }
-th.hide-for-touch {
- display: table-cell !important; }
+@media screen and (max-width: 63.9375em) {
+ .show-for-large {
+ display: none !important; } }
-.touch th.show-for-touch {
- display: table-cell !important; }
+@media screen and (min-width: 64em) and (max-width: 74.9375em) {
+ .hide-for-large-only {
+ display: none !important; } }
-/* Screen reader-specific classes */
-.show-for-sr {
- clip: rect(1px, 1px, 1px, 1px);
- height: 1px;
- overflow: hidden;
- position: absolute !important;
- width: 1px; }
+@media screen and (max-width: 63.9375em), screen and (min-width: 75em) {
+ .show-for-large-only {
+ display: none !important; } }
+.show-for-sr,
.show-on-focus {
- clip: rect(1px, 1px, 1px, 1px);
+ position: absolute !important;
+ width: 1px;
height: 1px;
overflow: hidden;
- position: absolute !important;
- width: 1px; }
- .show-on-focus:focus, .show-on-focus:active {
- position: static !important;
- height: auto;
- width: auto;
- overflow: visible;
- clip: auto; }
-
-/*
- * Print styles.
- *
- * Inlined to avoid required HTTP connection: www.phpied.com/delay-loading-your-print-css/
- * Credit to Paul Irish and HTML5 Boilerplate (html5boilerplate.com)
-*/
-.print-only {
- display: none !important; }
-
-@media print {
- * {
- background: transparent !important;
- box-shadow: none !important;
- color: #000000 !important;
- /* Black prints faster: h5bp.com/s */
- text-shadow: none !important; }
-
- .show-for-print {
- display: block; }
-
- .hide-for-print {
- display: none; }
-
- table.show-for-print {
- display: table !important; }
-
- thead.show-for-print {
- display: table-header-group !important; }
-
- tbody.show-for-print {
- display: table-row-group !important; }
-
- tr.show-for-print {
- display: table-row !important; }
-
- td.show-for-print {
- display: table-cell !important; }
-
- th.show-for-print {
- display: table-cell !important; }
-
- a,
- a:visited {
- text-decoration: underline; }
+ clip: rect(0, 0, 0, 0); }
- a[href]:after {
- content: " (" attr(href) ")"; }
-
- abbr[title]:after {
- content: " (" attr(title) ")"; }
-
- .ir a:after,
- a[href^="javascript:"]:after,
- a[href^="#"]:after {
- content: ""; }
-
- pre,
- blockquote {
- border: 1px solid #999999;
- page-break-inside: avoid; }
-
- thead {
- display: table-header-group;
- /* h5bp.com/t */ }
-
- tr,
- img {
- page-break-inside: avoid; }
-
- img {
- max-width: 100% !important; }
-
- @page {
- margin: .5cm; }
- p,
- h2,
- h3 {
- orphans: 3;
- widows: 3; }
-
- h2,
- h3 {
- page-break-after: avoid; }
-
- .hide-on-print {
- display: none !important; }
-
- .print-only {
- display: block !important; }
-
- .hide-for-print {
- display: none !important; }
-
- .show-for-print {
- display: inherit !important; } }
-/* Print visibility */
-@media print {
- .show-for-print {
- display: block; }
+.show-on-focus:active, .show-on-focus:focus {
+ position: static !important;
+ height: auto;
+ width: auto;
+ overflow: visible;
+ clip: auto; }
- .hide-for-print {
- display: none; }
+.show-for-landscape,
+.hide-for-portrait {
+ display: block !important; }
+ @media screen and (orientation: landscape) {
+ .show-for-landscape,
+ .hide-for-portrait {
+ display: block !important; } }
+ @media screen and (orientation: portrait) {
+ .show-for-landscape,
+ .hide-for-portrait {
+ display: none !important; } }
- table.show-for-print {
- display: table !important; }
+.hide-for-landscape,
+.show-for-portrait {
+ display: none !important; }
+ @media screen and (orientation: landscape) {
+ .hide-for-landscape,
+ .show-for-portrait {
+ display: none !important; } }
+ @media screen and (orientation: portrait) {
+ .hide-for-landscape,
+ .show-for-portrait {
+ display: block !important; } }
+
+.float-left {
+ float: left !important; }
- thead.show-for-print {
- display: table-header-group !important; }
+.float-right {
+ float: right !important; }
- tbody.show-for-print {
- display: table-row-group !important; }
+.float-center {
+ display: block;
+ margin-left: auto;
+ margin-right: auto; }
- tr.show-for-print {
- display: table-row !important; }
+.clearfix::before, .clearfix::after {
+ content: ' ';
+ display: table; }
- td.show-for-print {
- display: table-cell !important; }
+.clearfix::after {
+ clear: both; }
- th.show-for-print {
- display: table-cell !important; } }
-@media not print {
- .show-for-print {
- display: none !important; } }
+/*# sourceMappingURL=foundation.css.map */
diff --git a/library/foundation/css/foundation.min.css b/library/foundation/css/foundation.min.css
index dc4928644..81418ac00 100644
--- a/library/foundation/css/foundation.min.css
+++ b/library/foundation/css/foundation.min.css
@@ -1 +1,2 @@
-meta.foundation-version{font-family:"/5.5.2/"}meta.foundation-mq-small{font-family:"/only screen/";width:0}meta.foundation-mq-small-only{font-family:"/only screen and (max-width: 40em)/";width:0}meta.foundation-mq-medium{font-family:"/only screen and (min-width:40.0625em)/";width:40.0625em}meta.foundation-mq-medium-only{font-family:"/only screen and (min-width:40.0625em) and (max-width:64em)/";width:40.0625em}meta.foundation-mq-large{font-family:"/only screen and (min-width:64.0625em)/";width:64.0625em}meta.foundation-mq-large-only{font-family:"/only screen and (min-width:64.0625em) and (max-width:90em)/";width:64.0625em}meta.foundation-mq-xlarge{font-family:"/only screen and (min-width:90.0625em)/";width:90.0625em}meta.foundation-mq-xlarge-only{font-family:"/only screen and (min-width:90.0625em) and (max-width:120em)/";width:90.0625em}meta.foundation-mq-xxlarge{font-family:"/only screen and (min-width:120.0625em)/";width:120.0625em}meta.foundation-data-attribute-namespace{font-family:false}html,body{height:100%}html{box-sizing:border-box}*,*:before,*:after{-webkit-box-sizing:inherit;-moz-box-sizing:inherit;box-sizing:inherit}html,body{font-size:100%}body{background:#fff;color:#222;cursor:auto;font-family:"Helvetica Neue",Helvetica,Roboto,Arial,sans-serif;font-style:normal;font-weight:normal;line-height:1.5;margin:0;padding:0;position:relative}a:hover{cursor:pointer}img{max-width:100%;height:auto}img{-ms-interpolation-mode:bicubic}#map_canvas img,#map_canvas embed,#map_canvas object,.map_canvas img,.map_canvas embed,.map_canvas object,.mqa-display img,.mqa-display embed,.mqa-display object{max-width:none !important}.left{float:left !important}.right{float:right !important}.clearfix:before,.clearfix:after{content:" ";display:table}.clearfix:after{clear:both}.hide{display:none}.invisible{visibility:hidden}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}img{display:inline-block;vertical-align:middle}textarea{height:auto;min-height:50px}select{width:100%}.row{margin:0 auto;max-width:62.5rem;width:100%}.row:before,.row:after{content:" ";display:table}.row:after{clear:both}.row.collapse>.column,.row.collapse>.columns{padding-left:0;padding-right:0}.row.collapse .row{margin-left:0;margin-right:0}.row .row{margin:0 -0.9375rem;max-width:none;width:auto}.row .row:before,.row .row:after{content:" ";display:table}.row .row:after{clear:both}.row .row.collapse{margin:0;max-width:none;width:auto}.row .row.collapse:before,.row .row.collapse:after{content:" ";display:table}.row .row.collapse:after{clear:both}.column,.columns{padding-left:0.9375rem;padding-right:0.9375rem;width:100%;float:left}.column+.column:last-child,.columns+.column:last-child,.column+.columns:last-child,.columns+.columns:last-child{float:right}.column+.column.end,.columns+.column.end,.column+.columns.end,.columns+.columns.end{float:left}@media only screen{.small-push-0{position:relative;left:0;right:auto}.small-pull-0{position:relative;right:0;left:auto}.small-push-1{position:relative;left:8.33333%;right:auto}.small-pull-1{position:relative;right:8.33333%;left:auto}.small-push-2{position:relative;left:16.66667%;right:auto}.small-pull-2{position:relative;right:16.66667%;left:auto}.small-push-3{position:relative;left:25%;right:auto}.small-pull-3{position:relative;right:25%;left:auto}.small-push-4{position:relative;left:33.33333%;right:auto}.small-pull-4{position:relative;right:33.33333%;left:auto}.small-push-5{position:relative;left:41.66667%;right:auto}.small-pull-5{position:relative;right:41.66667%;left:auto}.small-push-6{position:relative;left:50%;right:auto}.small-pull-6{position:relative;right:50%;left:auto}.small-push-7{position:relative;left:58.33333%;right:auto}.small-pull-7{position:relative;right:58.33333%;left:auto}.small-push-8{position:relative;left:66.66667%;right:auto}.small-pull-8{position:relative;right:66.66667%;left:auto}.small-push-9{position:relative;left:75%;right:auto}.small-pull-9{position:relative;right:75%;left:auto}.small-push-10{position:relative;left:83.33333%;right:auto}.small-pull-10{position:relative;right:83.33333%;left:auto}.small-push-11{position:relative;left:91.66667%;right:auto}.small-pull-11{position:relative;right:91.66667%;left:auto}.column,.columns{position:relative;padding-left:0.9375rem;padding-right:0.9375rem;float:left}.small-1{width:8.33333%}.small-2{width:16.66667%}.small-3{width:25%}.small-4{width:33.33333%}.small-5{width:41.66667%}.small-6{width:50%}.small-7{width:58.33333%}.small-8{width:66.66667%}.small-9{width:75%}.small-10{width:83.33333%}.small-11{width:91.66667%}.small-12{width:100%}.small-offset-0{margin-left:0 !important}.small-offset-1{margin-left:8.33333% !important}.small-offset-2{margin-left:16.66667% !important}.small-offset-3{margin-left:25% !important}.small-offset-4{margin-left:33.33333% !important}.small-offset-5{margin-left:41.66667% !important}.small-offset-6{margin-left:50% !important}.small-offset-7{margin-left:58.33333% !important}.small-offset-8{margin-left:66.66667% !important}.small-offset-9{margin-left:75% !important}.small-offset-10{margin-left:83.33333% !important}.small-offset-11{margin-left:91.66667% !important}.small-reset-order{float:left;left:auto;margin-left:0;margin-right:0;right:auto}.column.small-centered,.columns.small-centered{margin-left:auto;margin-right:auto;float:none}.column.small-uncentered,.columns.small-uncentered{float:left;margin-left:0;margin-right:0}.column.small-centered:last-child,.columns.small-centered:last-child{float:none}.column.small-uncentered:last-child,.columns.small-uncentered:last-child{float:left}.column.small-uncentered.opposite,.columns.small-uncentered.opposite{float:right}.row.small-collapse>.column,.row.small-collapse>.columns{padding-left:0;padding-right:0}.row.small-collapse .row{margin-left:0;margin-right:0}.row.small-uncollapse>.column,.row.small-uncollapse>.columns{padding-left:0.9375rem;padding-right:0.9375rem;float:left}}@media only screen and (min-width: 40.0625em){.medium-push-0{position:relative;left:0;right:auto}.medium-pull-0{position:relative;right:0;left:auto}.medium-push-1{position:relative;left:8.33333%;right:auto}.medium-pull-1{position:relative;right:8.33333%;left:auto}.medium-push-2{position:relative;left:16.66667%;right:auto}.medium-pull-2{position:relative;right:16.66667%;left:auto}.medium-push-3{position:relative;left:25%;right:auto}.medium-pull-3{position:relative;right:25%;left:auto}.medium-push-4{position:relative;left:33.33333%;right:auto}.medium-pull-4{position:relative;right:33.33333%;left:auto}.medium-push-5{position:relative;left:41.66667%;right:auto}.medium-pull-5{position:relative;right:41.66667%;left:auto}.medium-push-6{position:relative;left:50%;right:auto}.medium-pull-6{position:relative;right:50%;left:auto}.medium-push-7{position:relative;left:58.33333%;right:auto}.medium-pull-7{position:relative;right:58.33333%;left:auto}.medium-push-8{position:relative;left:66.66667%;right:auto}.medium-pull-8{position:relative;right:66.66667%;left:auto}.medium-push-9{position:relative;left:75%;right:auto}.medium-pull-9{position:relative;right:75%;left:auto}.medium-push-10{position:relative;left:83.33333%;right:auto}.medium-pull-10{position:relative;right:83.33333%;left:auto}.medium-push-11{position:relative;left:91.66667%;right:auto}.medium-pull-11{position:relative;right:91.66667%;left:auto}.column,.columns{position:relative;padding-left:0.9375rem;padding-right:0.9375rem;float:left}.medium-1{width:8.33333%}.medium-2{width:16.66667%}.medium-3{width:25%}.medium-4{width:33.33333%}.medium-5{width:41.66667%}.medium-6{width:50%}.medium-7{width:58.33333%}.medium-8{width:66.66667%}.medium-9{width:75%}.medium-10{width:83.33333%}.medium-11{width:91.66667%}.medium-12{width:100%}.medium-offset-0{margin-left:0 !important}.medium-offset-1{margin-left:8.33333% !important}.medium-offset-2{margin-left:16.66667% !important}.medium-offset-3{margin-left:25% !important}.medium-offset-4{margin-left:33.33333% !important}.medium-offset-5{margin-left:41.66667% !important}.medium-offset-6{margin-left:50% !important}.medium-offset-7{margin-left:58.33333% !important}.medium-offset-8{margin-left:66.66667% !important}.medium-offset-9{margin-left:75% !important}.medium-offset-10{margin-left:83.33333% !important}.medium-offset-11{margin-left:91.66667% !important}.medium-reset-order{float:left;left:auto;margin-left:0;margin-right:0;right:auto}.column.medium-centered,.columns.medium-centered{margin-left:auto;margin-right:auto;float:none}.column.medium-uncentered,.columns.medium-uncentered{float:left;margin-left:0;margin-right:0}.column.medium-centered:last-child,.columns.medium-centered:last-child{float:none}.column.medium-uncentered:last-child,.columns.medium-uncentered:last-child{float:left}.column.medium-uncentered.opposite,.columns.medium-uncentered.opposite{float:right}.row.medium-collapse>.column,.row.medium-collapse>.columns{padding-left:0;padding-right:0}.row.medium-collapse .row{margin-left:0;margin-right:0}.row.medium-uncollapse>.column,.row.medium-uncollapse>.columns{padding-left:0.9375rem;padding-right:0.9375rem;float:left}.push-0{position:relative;left:0;right:auto}.pull-0{position:relative;right:0;left:auto}.push-1{position:relative;left:8.33333%;right:auto}.pull-1{position:relative;right:8.33333%;left:auto}.push-2{position:relative;left:16.66667%;right:auto}.pull-2{position:relative;right:16.66667%;left:auto}.push-3{position:relative;left:25%;right:auto}.pull-3{position:relative;right:25%;left:auto}.push-4{position:relative;left:33.33333%;right:auto}.pull-4{position:relative;right:33.33333%;left:auto}.push-5{position:relative;left:41.66667%;right:auto}.pull-5{position:relative;right:41.66667%;left:auto}.push-6{position:relative;left:50%;right:auto}.pull-6{position:relative;right:50%;left:auto}.push-7{position:relative;left:58.33333%;right:auto}.pull-7{position:relative;right:58.33333%;left:auto}.push-8{position:relative;left:66.66667%;right:auto}.pull-8{position:relative;right:66.66667%;left:auto}.push-9{position:relative;left:75%;right:auto}.pull-9{position:relative;right:75%;left:auto}.push-10{position:relative;left:83.33333%;right:auto}.pull-10{position:relative;right:83.33333%;left:auto}.push-11{position:relative;left:91.66667%;right:auto}.pull-11{position:relative;right:91.66667%;left:auto}}@media only screen and (min-width: 64.0625em){.large-push-0{position:relative;left:0;right:auto}.large-pull-0{position:relative;right:0;left:auto}.large-push-1{position:relative;left:8.33333%;right:auto}.large-pull-1{position:relative;right:8.33333%;left:auto}.large-push-2{position:relative;left:16.66667%;right:auto}.large-pull-2{position:relative;right:16.66667%;left:auto}.large-push-3{position:relative;left:25%;right:auto}.large-pull-3{position:relative;right:25%;left:auto}.large-push-4{position:relative;left:33.33333%;right:auto}.large-pull-4{position:relative;right:33.33333%;left:auto}.large-push-5{position:relative;left:41.66667%;right:auto}.large-pull-5{position:relative;right:41.66667%;left:auto}.large-push-6{position:relative;left:50%;right:auto}.large-pull-6{position:relative;right:50%;left:auto}.large-push-7{position:relative;left:58.33333%;right:auto}.large-pull-7{position:relative;right:58.33333%;left:auto}.large-push-8{position:relative;left:66.66667%;right:auto}.large-pull-8{position:relative;right:66.66667%;left:auto}.large-push-9{position:relative;left:75%;right:auto}.large-pull-9{position:relative;right:75%;left:auto}.large-push-10{position:relative;left:83.33333%;right:auto}.large-pull-10{position:relative;right:83.33333%;left:auto}.large-push-11{position:relative;left:91.66667%;right:auto}.large-pull-11{position:relative;right:91.66667%;left:auto}.column,.columns{position:relative;padding-left:0.9375rem;padding-right:0.9375rem;float:left}.large-1{width:8.33333%}.large-2{width:16.66667%}.large-3{width:25%}.large-4{width:33.33333%}.large-5{width:41.66667%}.large-6{width:50%}.large-7{width:58.33333%}.large-8{width:66.66667%}.large-9{width:75%}.large-10{width:83.33333%}.large-11{width:91.66667%}.large-12{width:100%}.large-offset-0{margin-left:0 !important}.large-offset-1{margin-left:8.33333% !important}.large-offset-2{margin-left:16.66667% !important}.large-offset-3{margin-left:25% !important}.large-offset-4{margin-left:33.33333% !important}.large-offset-5{margin-left:41.66667% !important}.large-offset-6{margin-left:50% !important}.large-offset-7{margin-left:58.33333% !important}.large-offset-8{margin-left:66.66667% !important}.large-offset-9{margin-left:75% !important}.large-offset-10{margin-left:83.33333% !important}.large-offset-11{margin-left:91.66667% !important}.large-reset-order{float:left;left:auto;margin-left:0;margin-right:0;right:auto}.column.large-centered,.columns.large-centered{margin-left:auto;margin-right:auto;float:none}.column.large-uncentered,.columns.large-uncentered{float:left;margin-left:0;margin-right:0}.column.large-centered:last-child,.columns.large-centered:last-child{float:none}.column.large-uncentered:last-child,.columns.large-uncentered:last-child{float:left}.column.large-uncentered.opposite,.columns.large-uncentered.opposite{float:right}.row.large-collapse>.column,.row.large-collapse>.columns{padding-left:0;padding-right:0}.row.large-collapse .row{margin-left:0;margin-right:0}.row.large-uncollapse>.column,.row.large-uncollapse>.columns{padding-left:0.9375rem;padding-right:0.9375rem;float:left}.push-0{position:relative;left:0;right:auto}.pull-0{position:relative;right:0;left:auto}.push-1{position:relative;left:8.33333%;right:auto}.pull-1{position:relative;right:8.33333%;left:auto}.push-2{position:relative;left:16.66667%;right:auto}.pull-2{position:relative;right:16.66667%;left:auto}.push-3{position:relative;left:25%;right:auto}.pull-3{position:relative;right:25%;left:auto}.push-4{position:relative;left:33.33333%;right:auto}.pull-4{position:relative;right:33.33333%;left:auto}.push-5{position:relative;left:41.66667%;right:auto}.pull-5{position:relative;right:41.66667%;left:auto}.push-6{position:relative;left:50%;right:auto}.pull-6{position:relative;right:50%;left:auto}.push-7{position:relative;left:58.33333%;right:auto}.pull-7{position:relative;right:58.33333%;left:auto}.push-8{position:relative;left:66.66667%;right:auto}.pull-8{position:relative;right:66.66667%;left:auto}.push-9{position:relative;left:75%;right:auto}.pull-9{position:relative;right:75%;left:auto}.push-10{position:relative;left:83.33333%;right:auto}.pull-10{position:relative;right:83.33333%;left:auto}.push-11{position:relative;left:91.66667%;right:auto}.pull-11{position:relative;right:91.66667%;left:auto}}button,.button{-webkit-appearance:none;-moz-appearance:none;border-radius:0;border-style:solid;border-width:0;cursor:pointer;font-family:"Helvetica Neue",Helvetica,Roboto,Arial,sans-serif;font-weight:normal;line-height:normal;margin:0 0 1.25rem;position:relative;text-align:center;text-decoration:none;display:inline-block;padding:1rem 2rem 1.0625rem 2rem;font-size:1rem;background-color:#008CBA;border-color:#007095;color:#fff;transition:background-color 300ms ease-out}button:hover,button:focus,.button:hover,.button:focus{background-color:#007095}button:hover,button:focus,.button:hover,.button:focus{color:#fff}button.secondary,.button.secondary{background-color:#e7e7e7;border-color:#b9b9b9;color:#333}button.secondary:hover,button.secondary:focus,.button.secondary:hover,.button.secondary:focus{background-color:#b9b9b9}button.secondary:hover,button.secondary:focus,.button.secondary:hover,.button.secondary:focus{color:#333}button.success,.button.success{background-color:#43AC6A;border-color:#368a55;color:#fff}button.success:hover,button.success:focus,.button.success:hover,.button.success:focus{background-color:#368a55}button.success:hover,button.success:focus,.button.success:hover,.button.success:focus{color:#fff}button.alert,.button.alert{background-color:#f04124;border-color:#cf2a0e;color:#fff}button.alert:hover,button.alert:focus,.button.alert:hover,.button.alert:focus{background-color:#cf2a0e}button.alert:hover,button.alert:focus,.button.alert:hover,.button.alert:focus{color:#fff}button.warning,.button.warning{background-color:#f08a24;border-color:#cf6e0e;color:#fff}button.warning:hover,button.warning:focus,.button.warning:hover,.button.warning:focus{background-color:#cf6e0e}button.warning:hover,button.warning:focus,.button.warning:hover,.button.warning:focus{color:#fff}button.info,.button.info{background-color:#a0d3e8;border-color:#61b6d9;color:#333}button.info:hover,button.info:focus,.button.info:hover,.button.info:focus{background-color:#61b6d9}button.info:hover,button.info:focus,.button.info:hover,.button.info:focus{color:#fff}button.large,.button.large{padding:1.125rem 2.25rem 1.1875rem 2.25rem;font-size:1.25rem}button.small,.button.small{padding:0.875rem 1.75rem 0.9375rem 1.75rem;font-size:0.8125rem}button.tiny,.button.tiny{padding:0.625rem 1.25rem 0.6875rem 1.25rem;font-size:0.6875rem}button.expand,.button.expand{padding-left:0;padding-right:0;width:100%}button.left-align,.button.left-align{text-align:left;text-indent:0.75rem}button.right-align,.button.right-align{text-align:right;padding-right:0.75rem}button.radius,.button.radius{border-radius:3px}button.round,.button.round{border-radius:1000px}button.disabled,button[disabled],.button.disabled,.button[disabled]{background-color:#008CBA;border-color:#007095;color:#fff;box-shadow:none;cursor:default;opacity:0.7}button.disabled:hover,button.disabled:focus,button[disabled]:hover,button[disabled]:focus,.button.disabled:hover,.button.disabled:focus,.button[disabled]:hover,.button[disabled]:focus{background-color:#007095}button.disabled:hover,button.disabled:focus,button[disabled]:hover,button[disabled]:focus,.button.disabled:hover,.button.disabled:focus,.button[disabled]:hover,.button[disabled]:focus{color:#fff}button.disabled:hover,button.disabled:focus,button[disabled]:hover,button[disabled]:focus,.button.disabled:hover,.button.disabled:focus,.button[disabled]:hover,.button[disabled]:focus{background-color:#008CBA}button.disabled.secondary,button[disabled].secondary,.button.disabled.secondary,.button[disabled].secondary{background-color:#e7e7e7;border-color:#b9b9b9;color:#333;box-shadow:none;cursor:default;opacity:0.7}button.disabled.secondary:hover,button.disabled.secondary:focus,button[disabled].secondary:hover,button[disabled].secondary:focus,.button.disabled.secondary:hover,.button.disabled.secondary:focus,.button[disabled].secondary:hover,.button[disabled].secondary:focus{background-color:#b9b9b9}button.disabled.secondary:hover,button.disabled.secondary:focus,button[disabled].secondary:hover,button[disabled].secondary:focus,.button.disabled.secondary:hover,.button.disabled.secondary:focus,.button[disabled].secondary:hover,.button[disabled].secondary:focus{color:#333}button.disabled.secondary:hover,button.disabled.secondary:focus,button[disabled].secondary:hover,button[disabled].secondary:focus,.button.disabled.secondary:hover,.button.disabled.secondary:focus,.button[disabled].secondary:hover,.button[disabled].secondary:focus{background-color:#e7e7e7}button.disabled.success,button[disabled].success,.button.disabled.success,.button[disabled].success{background-color:#43AC6A;border-color:#368a55;color:#fff;box-shadow:none;cursor:default;opacity:0.7}button.disabled.success:hover,button.disabled.success:focus,button[disabled].success:hover,button[disabled].success:focus,.button.disabled.success:hover,.button.disabled.success:focus,.button[disabled].success:hover,.button[disabled].success:focus{background-color:#368a55}button.disabled.success:hover,button.disabled.success:focus,button[disabled].success:hover,button[disabled].success:focus,.button.disabled.success:hover,.button.disabled.success:focus,.button[disabled].success:hover,.button[disabled].success:focus{color:#fff}button.disabled.success:hover,button.disabled.success:focus,button[disabled].success:hover,button[disabled].success:focus,.button.disabled.success:hover,.button.disabled.success:focus,.button[disabled].success:hover,.button[disabled].success:focus{background-color:#43AC6A}button.disabled.alert,button[disabled].alert,.button.disabled.alert,.button[disabled].alert{background-color:#f04124;border-color:#cf2a0e;color:#fff;box-shadow:none;cursor:default;opacity:0.7}button.disabled.alert:hover,button.disabled.alert:focus,button[disabled].alert:hover,button[disabled].alert:focus,.button.disabled.alert:hover,.button.disabled.alert:focus,.button[disabled].alert:hover,.button[disabled].alert:focus{background-color:#cf2a0e}button.disabled.alert:hover,button.disabled.alert:focus,button[disabled].alert:hover,button[disabled].alert:focus,.button.disabled.alert:hover,.button.disabled.alert:focus,.button[disabled].alert:hover,.button[disabled].alert:focus{color:#fff}button.disabled.alert:hover,button.disabled.alert:focus,button[disabled].alert:hover,button[disabled].alert:focus,.button.disabled.alert:hover,.button.disabled.alert:focus,.button[disabled].alert:hover,.button[disabled].alert:focus{background-color:#f04124}button.disabled.warning,button[disabled].warning,.button.disabled.warning,.button[disabled].warning{background-color:#f08a24;border-color:#cf6e0e;color:#fff;box-shadow:none;cursor:default;opacity:0.7}button.disabled.warning:hover,button.disabled.warning:focus,button[disabled].warning:hover,button[disabled].warning:focus,.button.disabled.warning:hover,.button.disabled.warning:focus,.button[disabled].warning:hover,.button[disabled].warning:focus{background-color:#cf6e0e}button.disabled.warning:hover,button.disabled.warning:focus,button[disabled].warning:hover,button[disabled].warning:focus,.button.disabled.warning:hover,.button.disabled.warning:focus,.button[disabled].warning:hover,.button[disabled].warning:focus{color:#fff}button.disabled.warning:hover,button.disabled.warning:focus,button[disabled].warning:hover,button[disabled].warning:focus,.button.disabled.warning:hover,.button.disabled.warning:focus,.button[disabled].warning:hover,.button[disabled].warning:focus{background-color:#f08a24}button.disabled.info,button[disabled].info,.button.disabled.info,.button[disabled].info{background-color:#a0d3e8;border-color:#61b6d9;color:#333;box-shadow:none;cursor:default;opacity:0.7}button.disabled.info:hover,button.disabled.info:focus,button[disabled].info:hover,button[disabled].info:focus,.button.disabled.info:hover,.button.disabled.info:focus,.button[disabled].info:hover,.button[disabled].info:focus{background-color:#61b6d9}button.disabled.info:hover,button.disabled.info:focus,button[disabled].info:hover,button[disabled].info:focus,.button.disabled.info:hover,.button.disabled.info:focus,.button[disabled].info:hover,.button[disabled].info:focus{color:#fff}button.disabled.info:hover,button.disabled.info:focus,button[disabled].info:hover,button[disabled].info:focus,.button.disabled.info:hover,.button.disabled.info:focus,.button[disabled].info:hover,.button[disabled].info:focus{background-color:#a0d3e8}button::-moz-focus-inner{border:0;padding:0}@media only screen and (min-width: 40.0625em){button,.button{display:inline-block}}form{margin:0 0 1rem}form .row .row{margin:0 -0.5rem}form .row .row .column,form .row .row .columns{padding:0 0.5rem}form .row .row.collapse{margin:0}form .row .row.collapse .column,form .row .row.collapse .columns{padding:0}form .row .row.collapse input{-webkit-border-bottom-right-radius:0;-webkit-border-top-right-radius:0;border-bottom-right-radius:0;border-top-right-radius:0}form .row input.column,form .row input.columns,form .row textarea.column,form .row textarea.columns{padding-left:0.5rem}label{color:#4d4d4d;cursor:pointer;display:block;font-size:0.875rem;font-weight:normal;line-height:1.5;margin-bottom:0}label.right{float:none !important;text-align:right}label.inline{margin:0 0 1rem 0;padding:0.5625rem 0}label small{text-transform:capitalize;color:#676767}.prefix,.postfix{border-style:solid;border-width:1px;display:block;font-size:0.875rem;height:2.3125rem;line-height:2.3125rem;overflow:visible;padding-bottom:0;padding-top:0;position:relative;text-align:center;width:100%;z-index:2}.postfix.button{border-color:true}.prefix.button{border:none;padding-left:0;padding-right:0;padding-bottom:0;padding-top:0;text-align:center}.prefix.button.radius{border-radius:0;-webkit-border-bottom-left-radius:3px;-webkit-border-top-left-radius:3px;border-bottom-left-radius:3px;border-top-left-radius:3px}.postfix.button.radius{border-radius:0;-webkit-border-bottom-right-radius:3px;-webkit-border-top-right-radius:3px;border-bottom-right-radius:3px;border-top-right-radius:3px}.prefix.button.round{border-radius:0;-webkit-border-bottom-left-radius:1000px;-webkit-border-top-left-radius:1000px;border-bottom-left-radius:1000px;border-top-left-radius:1000px}.postfix.button.round{border-radius:0;-webkit-border-bottom-right-radius:1000px;-webkit-border-top-right-radius:1000px;border-bottom-right-radius:1000px;border-top-right-radius:1000px}span.prefix,label.prefix{background:#f2f2f2;border-right:none;color:#333;border-color:#ccc}span.postfix,label.postfix{background:#f2f2f2;color:#333;border-color:#ccc}input[type="text"],input[type="password"],input[type="date"],input[type="datetime"],input[type="datetime-local"],input[type="month"],input[type="week"],input[type="email"],input[type="number"],input[type="search"],input[type="tel"],input[type="time"],input[type="url"],input[type="color"],textarea{-webkit-appearance:none;-moz-appearance:none;border-radius:0;background-color:#fff;border-style:solid;border-width:1px;border-color:#ccc;box-shadow:inset 0 1px 2px rgba(0,0,0,0.1);color:rgba(0,0,0,0.75);display:block;font-family:inherit;font-size:0.875rem;height:2.3125rem;margin:0 0 1rem 0;padding:0.5rem;width:100%;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;-webkit-transition:border-color 0.15s linear,background 0.15s linear;-moz-transition:border-color 0.15s linear,background 0.15s linear;-ms-transition:border-color 0.15s linear,background 0.15s linear;-o-transition:border-color 0.15s linear,background 0.15s linear;transition:border-color 0.15s linear,background 0.15s linear}input[type="text"]:focus,input[type="password"]:focus,input[type="date"]:focus,input[type="datetime"]:focus,input[type="datetime-local"]:focus,input[type="month"]:focus,input[type="week"]:focus,input[type="email"]:focus,input[type="number"]:focus,input[type="search"]:focus,input[type="tel"]:focus,input[type="time"]:focus,input[type="url"]:focus,input[type="color"]:focus,textarea:focus{background:#fafafa;border-color:#999;outline:none}input[type="text"]:disabled,input[type="password"]:disabled,input[type="date"]:disabled,input[type="datetime"]:disabled,input[type="datetime-local"]:disabled,input[type="month"]:disabled,input[type="week"]:disabled,input[type="email"]:disabled,input[type="number"]:disabled,input[type="search"]:disabled,input[type="tel"]:disabled,input[type="time"]:disabled,input[type="url"]:disabled,input[type="color"]:disabled,textarea:disabled{background-color:#ddd;cursor:default}input[type="text"][disabled],input[type="text"][readonly],fieldset[disabled] input[type="text"],input[type="password"][disabled],input[type="password"][readonly],fieldset[disabled] input[type="password"],input[type="date"][disabled],input[type="date"][readonly],fieldset[disabled] input[type="date"],input[type="datetime"][disabled],input[type="datetime"][readonly],fieldset[disabled] input[type="datetime"],input[type="datetime-local"][disabled],input[type="datetime-local"][readonly],fieldset[disabled] input[type="datetime-local"],input[type="month"][disabled],input[type="month"][readonly],fieldset[disabled] input[type="month"],input[type="week"][disabled],input[type="week"][readonly],fieldset[disabled] input[type="week"],input[type="email"][disabled],input[type="email"][readonly],fieldset[disabled] input[type="email"],input[type="number"][disabled],input[type="number"][readonly],fieldset[disabled] input[type="number"],input[type="search"][disabled],input[type="search"][readonly],fieldset[disabled] input[type="search"],input[type="tel"][disabled],input[type="tel"][readonly],fieldset[disabled] input[type="tel"],input[type="time"][disabled],input[type="time"][readonly],fieldset[disabled] input[type="time"],input[type="url"][disabled],input[type="url"][readonly],fieldset[disabled] input[type="url"],input[type="color"][disabled],input[type="color"][readonly],fieldset[disabled] input[type="color"],textarea[disabled],textarea[readonly],fieldset[disabled] textarea{background-color:#ddd;cursor:default}input[type="text"].radius,input[type="password"].radius,input[type="date"].radius,input[type="datetime"].radius,input[type="datetime-local"].radius,input[type="month"].radius,input[type="week"].radius,input[type="email"].radius,input[type="number"].radius,input[type="search"].radius,input[type="tel"].radius,input[type="time"].radius,input[type="url"].radius,input[type="color"].radius,textarea.radius{border-radius:3px}form .row .prefix-radius.row.collapse input,form .row .prefix-radius.row.collapse textarea,form .row .prefix-radius.row.collapse select,form .row .prefix-radius.row.collapse button{border-radius:0;-webkit-border-bottom-right-radius:3px;-webkit-border-top-right-radius:3px;border-bottom-right-radius:3px;border-top-right-radius:3px}form .row .prefix-radius.row.collapse .prefix{border-radius:0;-webkit-border-bottom-left-radius:3px;-webkit-border-top-left-radius:3px;border-bottom-left-radius:3px;border-top-left-radius:3px}form .row .postfix-radius.row.collapse input,form .row .postfix-radius.row.collapse textarea,form .row .postfix-radius.row.collapse select,form .row .postfix-radius.row.collapse button{border-radius:0;-webkit-border-bottom-left-radius:3px;-webkit-border-top-left-radius:3px;border-bottom-left-radius:3px;border-top-left-radius:3px}form .row .postfix-radius.row.collapse .postfix{border-radius:0;-webkit-border-bottom-right-radius:3px;-webkit-border-top-right-radius:3px;border-bottom-right-radius:3px;border-top-right-radius:3px}form .row .prefix-round.row.collapse input,form .row .prefix-round.row.collapse textarea,form .row .prefix-round.row.collapse select,form .row .prefix-round.row.collapse button{border-radius:0;-webkit-border-bottom-right-radius:1000px;-webkit-border-top-right-radius:1000px;border-bottom-right-radius:1000px;border-top-right-radius:1000px}form .row .prefix-round.row.collapse .prefix{border-radius:0;-webkit-border-bottom-left-radius:1000px;-webkit-border-top-left-radius:1000px;border-bottom-left-radius:1000px;border-top-left-radius:1000px}form .row .postfix-round.row.collapse input,form .row .postfix-round.row.collapse textarea,form .row .postfix-round.row.collapse select,form .row .postfix-round.row.collapse button{border-radius:0;-webkit-border-bottom-left-radius:1000px;-webkit-border-top-left-radius:1000px;border-bottom-left-radius:1000px;border-top-left-radius:1000px}form .row .postfix-round.row.collapse .postfix{border-radius:0;-webkit-border-bottom-right-radius:1000px;-webkit-border-top-right-radius:1000px;border-bottom-right-radius:1000px;border-top-right-radius:1000px}input[type="submit"]{-webkit-appearance:none;-moz-appearance:none;border-radius:0}textarea[rows]{height:auto}textarea{max-width:100%}::-webkit-input-placeholder{color:#ccc}:-moz-placeholder{color:#ccc}::-moz-placeholder{color:#ccc}:-ms-input-placeholder{color:#ccc}select{-webkit-appearance:none !important;-moz-appearance:none !important;background-color:#FAFAFA;border-radius:0;background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZlcnNpb249IjEuMSIgeD0iMTJweCIgeT0iMHB4IiB3aWR0aD0iMjRweCIgaGVpZ2h0PSIzcHgiIHZpZXdCb3g9IjAgMCA2IDMiIGVuYWJsZS1iYWNrZ3JvdW5kPSJuZXcgMCAwIDYgMyIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSI+PHBvbHlnb24gcG9pbnRzPSI1Ljk5MiwwIDIuOTkyLDMgLTAuMDA4LDAgIi8+PC9zdmc+);background-position:100% center;background-repeat:no-repeat;border-style:solid;border-width:1px;border-color:#ccc;color:rgba(0,0,0,0.75);font-family:inherit;font-size:0.875rem;line-height:normal;padding:0.5rem;border-radius:0;height:2.3125rem}select::-ms-expand{display:none}select.radius{border-radius:3px}select:hover{background-color:#f3f3f3;border-color:#999}select:disabled{background-color:#ddd;cursor:default}select[multiple]{height:auto}input[type="file"],input[type="checkbox"],input[type="radio"],select{margin:0 0 1rem 0}input[type="checkbox"]+label,input[type="radio"]+label{display:inline-block;margin-left:0.5rem;margin-right:1rem;margin-bottom:0;vertical-align:baseline}input[type="file"]{width:100%}fieldset{border:1px solid #ddd;margin:1.125rem 0;padding:1.25rem}fieldset legend{background:#fff;font-weight:bold;margin-left:-0.1875rem;margin:0;padding:0 0.1875rem}[data-abide] .error small.error,[data-abide] .error span.error,[data-abide] span.error,[data-abide] small.error{display:block;font-size:0.75rem;font-style:italic;font-weight:normal;margin-bottom:1rem;margin-top:-1px;padding:0.375rem 0.5625rem 0.5625rem;background:#f04124;color:#fff}[data-abide] span.error,[data-abide] small.error{display:none}span.error,small.error{display:block;font-size:0.75rem;font-style:italic;font-weight:normal;margin-bottom:1rem;margin-top:-1px;padding:0.375rem 0.5625rem 0.5625rem;background:#f04124;color:#fff}.error input,.error textarea,.error select{margin-bottom:0}.error input[type="checkbox"],.error input[type="radio"]{margin-bottom:1rem}.error label,.error label.error{color:#f04124}.error small.error{display:block;font-size:0.75rem;font-style:italic;font-weight:normal;margin-bottom:1rem;margin-top:-1px;padding:0.375rem 0.5625rem 0.5625rem;background:#f04124;color:#fff}.error>label>small{background:transparent;color:#676767;display:inline;font-size:60%;font-style:normal;margin:0;padding:0;text-transform:capitalize}.error span.error-message{display:block}input.error,textarea.error,select.error{margin-bottom:0}label.error{color:#f04124}meta.foundation-mq-topbar{font-family:"/only screen and (min-width:40.0625em)/";width:40.0625em}.contain-to-grid{width:100%;background:#333}.contain-to-grid .top-bar{margin-bottom:0}.fixed{position:fixed;top:0;width:100%;z-index:99;left:0}.fixed.expanded:not(.top-bar){height:auto;max-height:100%;overflow-y:auto;width:100%}.fixed.expanded:not(.top-bar) .title-area{position:fixed;width:100%;z-index:99}.fixed.expanded:not(.top-bar) .top-bar-section{margin-top:2.8125rem;z-index:98}.top-bar{background:#333;height:2.8125rem;line-height:2.8125rem;margin-bottom:0;overflow:hidden;position:relative}.top-bar ul{list-style:none;margin-bottom:0}.top-bar .row{max-width:none}.top-bar form,.top-bar input,.top-bar select{margin-bottom:0}.top-bar input,.top-bar select{font-size:0.75rem;height:1.75rem;padding-bottom:.35rem;padding-top:.35rem}.top-bar .button,.top-bar button{font-size:0.75rem;margin-bottom:0;padding-bottom:0.4125rem;padding-top:0.4125rem}@media only screen and (max-width: 40em){.top-bar .button,.top-bar button{position:relative;top:-1px}}.top-bar .title-area{margin:0;position:relative}.top-bar .name{font-size:16px;height:2.8125rem;margin:0}.top-bar .name h1,.top-bar .name h2,.top-bar .name h3,.top-bar .name h4,.top-bar .name p,.top-bar .name span{font-size:1.0625rem;line-height:2.8125rem;margin:0}.top-bar .name h1 a,.top-bar .name h2 a,.top-bar .name h3 a,.top-bar .name h4 a,.top-bar .name p a,.top-bar .name span a{color:#fff;display:block;font-weight:normal;padding:0 0.9375rem;width:75%}.top-bar .toggle-topbar{position:absolute;right:0;top:0}.top-bar .toggle-topbar a{color:#fff;display:block;font-size:0.8125rem;font-weight:bold;height:2.8125rem;line-height:2.8125rem;padding:0 0.9375rem;position:relative;text-transform:uppercase}.top-bar .toggle-topbar.menu-icon{margin-top:-16px;top:50%}.top-bar .toggle-topbar.menu-icon a{color:#fff;height:34px;line-height:33px;padding:0 2.5rem 0 0.9375rem;position:relative}.top-bar .toggle-topbar.menu-icon a span::after{content:"";display:block;height:0;position:absolute;margin-top:-8px;top:50%;right:0.9375rem;box-shadow:0 0 0 1px #fff,0 7px 0 1px #fff,0 14px 0 1px #fff;width:16px}.top-bar .toggle-topbar.menu-icon a span:hover:after{box-shadow:0 0 0 1px "",0 7px 0 1px "",0 14px 0 1px ""}.top-bar.expanded{background:transparent;height:auto}.top-bar.expanded .title-area{background:#333}.top-bar.expanded .toggle-topbar a{color:#888}.top-bar.expanded .toggle-topbar a span::after{box-shadow:0 0 0 1px #888,0 7px 0 1px #888,0 14px 0 1px #888}@media screen and (-webkit-min-device-pixel-ratio: 0){.top-bar.expanded .top-bar-section .has-dropdown.moved>.dropdown,.top-bar.expanded .top-bar-section .dropdown{clip:initial}.top-bar.expanded .top-bar-section .has-dropdown:not(.moved)>ul{padding:0}}.top-bar-section{left:0;position:relative;width:auto;transition:left 300ms ease-out}.top-bar-section ul{display:block;font-size:16px;height:auto;margin:0;padding:0;width:100%}.top-bar-section .divider,.top-bar-section [role="separator"]{border-top:solid 1px #1a1a1a;clear:both;height:1px;width:100%}.top-bar-section ul li{background:#333}.top-bar-section ul li>a{color:#fff;display:block;font-family:"Helvetica Neue",Helvetica,Roboto,Arial,sans-serif;font-size:0.8125rem;font-weight:normal;padding-left:0.9375rem;padding:12px 0 12px 0.9375rem;text-transform:none;width:100%}.top-bar-section ul li>a.button{font-size:0.8125rem;padding-left:0.9375rem;padding-right:0.9375rem;background-color:#008CBA;border-color:#007095;color:#fff}.top-bar-section ul li>a.button:hover,.top-bar-section ul li>a.button:focus{background-color:#007095}.top-bar-section ul li>a.button:hover,.top-bar-section ul li>a.button:focus{color:#fff}.top-bar-section ul li>a.button.secondary{background-color:#e7e7e7;border-color:#b9b9b9;color:#333}.top-bar-section ul li>a.button.secondary:hover,.top-bar-section ul li>a.button.secondary:focus{background-color:#b9b9b9}.top-bar-section ul li>a.button.secondary:hover,.top-bar-section ul li>a.button.secondary:focus{color:#333}.top-bar-section ul li>a.button.success{background-color:#43AC6A;border-color:#368a55;color:#fff}.top-bar-section ul li>a.button.success:hover,.top-bar-section ul li>a.button.success:focus{background-color:#368a55}.top-bar-section ul li>a.button.success:hover,.top-bar-section ul li>a.button.success:focus{color:#fff}.top-bar-section ul li>a.button.alert{background-color:#f04124;border-color:#cf2a0e;color:#fff}.top-bar-section ul li>a.button.alert:hover,.top-bar-section ul li>a.button.alert:focus{background-color:#cf2a0e}.top-bar-section ul li>a.button.alert:hover,.top-bar-section ul li>a.button.alert:focus{color:#fff}.top-bar-section ul li>a.button.warning{background-color:#f08a24;border-color:#cf6e0e;color:#fff}.top-bar-section ul li>a.button.warning:hover,.top-bar-section ul li>a.button.warning:focus{background-color:#cf6e0e}.top-bar-section ul li>a.button.warning:hover,.top-bar-section ul li>a.button.warning:focus{color:#fff}.top-bar-section ul li>a.button.info{background-color:#a0d3e8;border-color:#61b6d9;color:#333}.top-bar-section ul li>a.button.info:hover,.top-bar-section ul li>a.button.info:focus{background-color:#61b6d9}.top-bar-section ul li>a.button.info:hover,.top-bar-section ul li>a.button.info:focus{color:#fff}.top-bar-section ul li>button{font-size:0.8125rem;padding-left:0.9375rem;padding-right:0.9375rem;background-color:#008CBA;border-color:#007095;color:#fff}.top-bar-section ul li>button:hover,.top-bar-section ul li>button:focus{background-color:#007095}.top-bar-section ul li>button:hover,.top-bar-section ul li>button:focus{color:#fff}.top-bar-section ul li>button.secondary{background-color:#e7e7e7;border-color:#b9b9b9;color:#333}.top-bar-section ul li>button.secondary:hover,.top-bar-section ul li>button.secondary:focus{background-color:#b9b9b9}.top-bar-section ul li>button.secondary:hover,.top-bar-section ul li>button.secondary:focus{color:#333}.top-bar-section ul li>button.success{background-color:#43AC6A;border-color:#368a55;color:#fff}.top-bar-section ul li>button.success:hover,.top-bar-section ul li>button.success:focus{background-color:#368a55}.top-bar-section ul li>button.success:hover,.top-bar-section ul li>button.success:focus{color:#fff}.top-bar-section ul li>button.alert{background-color:#f04124;border-color:#cf2a0e;color:#fff}.top-bar-section ul li>button.alert:hover,.top-bar-section ul li>button.alert:focus{background-color:#cf2a0e}.top-bar-section ul li>button.alert:hover,.top-bar-section ul li>button.alert:focus{color:#fff}.top-bar-section ul li>button.warning{background-color:#f08a24;border-color:#cf6e0e;color:#fff}.top-bar-section ul li>button.warning:hover,.top-bar-section ul li>button.warning:focus{background-color:#cf6e0e}.top-bar-section ul li>button.warning:hover,.top-bar-section ul li>button.warning:focus{color:#fff}.top-bar-section ul li>button.info{background-color:#a0d3e8;border-color:#61b6d9;color:#333}.top-bar-section ul li>button.info:hover,.top-bar-section ul li>button.info:focus{background-color:#61b6d9}.top-bar-section ul li>button.info:hover,.top-bar-section ul li>button.info:focus{color:#fff}.top-bar-section ul li:hover:not(.has-form)>a{background-color:#555;color:#fff;background:#222}.top-bar-section ul li.active>a{background:#008CBA;color:#fff}.top-bar-section ul li.active>a:hover{background:#0078a0;color:#fff}.top-bar-section .has-form{padding:0.9375rem}.top-bar-section .has-dropdown{position:relative}.top-bar-section .has-dropdown>a:after{border:inset 5px;content:"";display:block;height:0;width:0;border-color:transparent transparent transparent rgba(255,255,255,0.4);border-left-style:solid;margin-right:0.9375rem;margin-top:-4.5px;position:absolute;top:50%;right:0}.top-bar-section .has-dropdown.moved{position:static}.top-bar-section .has-dropdown.moved>.dropdown{position:static !important;height:auto;width:auto;overflow:visible;clip:auto;display:block;position:absolute !important;width:100%}.top-bar-section .has-dropdown.moved>a:after{display:none}.top-bar-section .dropdown{clip:rect(1px, 1px, 1px, 1px);height:1px;overflow:hidden;position:absolute !important;width:1px;display:block;padding:0;position:absolute;top:0;z-index:99;left:100%}.top-bar-section .dropdown li{height:auto;width:100%}.top-bar-section .dropdown li a{font-weight:normal;padding:8px 0.9375rem}.top-bar-section .dropdown li a.parent-link{font-weight:normal}.top-bar-section .dropdown li.title h5,.top-bar-section .dropdown li.parent-link{margin-bottom:0;margin-top:0;font-size:1.125rem}.top-bar-section .dropdown li.title h5 a,.top-bar-section .dropdown li.parent-link a{color:#fff;display:block}.top-bar-section .dropdown li.title h5 a:hover,.top-bar-section .dropdown li.parent-link a:hover{background:none}.top-bar-section .dropdown li.has-form{padding:8px 0.9375rem}.top-bar-section .dropdown li .button,.top-bar-section .dropdown li button{top:auto}.top-bar-section .dropdown label{color:#777;font-size:0.625rem;font-weight:bold;margin-bottom:0;padding:8px 0.9375rem 2px;text-transform:uppercase}.js-generated{display:block}@media only screen and (min-width: 40.0625em){.top-bar{background:#333;overflow:visible}.top-bar:before,.top-bar:after{content:" ";display:table}.top-bar:after{clear:both}.top-bar .toggle-topbar{display:none}.top-bar .title-area{float:left}.top-bar .name h1 a,.top-bar .name h2 a,.top-bar .name h3 a,.top-bar .name h4 a,.top-bar .name h5 a,.top-bar .name h6 a{width:auto}.top-bar input,.top-bar select,.top-bar .button,.top-bar button{font-size:0.875rem;height:1.75rem;position:relative;top:0.53125rem}.top-bar.expanded{background:#333}.contain-to-grid .top-bar{margin-bottom:0;margin:0 auto;max-width:62.5rem}.top-bar-section{transition:none 0 0;left:0 !important}.top-bar-section ul{display:inline;height:auto !important;width:auto}.top-bar-section ul li{float:left}.top-bar-section ul li .js-generated{display:none}.top-bar-section li.hover>a:not(.button){background-color:#555;background:#222;color:#fff}.top-bar-section li:not(.has-form) a:not(.button){background:#333;line-height:2.8125rem;padding:0 0.9375rem}.top-bar-section li:not(.has-form) a:not(.button):hover{background-color:#555;background:#222}.top-bar-section li.active:not(.has-form) a:not(.button){background:#008CBA;color:#fff;line-height:2.8125rem;padding:0 0.9375rem}.top-bar-section li.active:not(.has-form) a:not(.button):hover{background:#0078a0;color:#fff}.top-bar-section .has-dropdown>a{padding-right:2.1875rem !important}.top-bar-section .has-dropdown>a:after{border:inset 5px;content:"";display:block;height:0;width:0;border-color:rgba(255,255,255,0.4) transparent transparent transparent;border-top-style:solid;margin-top:-2.5px;top:1.40625rem}.top-bar-section .has-dropdown.moved{position:relative}.top-bar-section .has-dropdown.moved>.dropdown{clip:rect(1px, 1px, 1px, 1px);height:1px;overflow:hidden;position:absolute !important;width:1px;display:block}.top-bar-section .has-dropdown.hover>.dropdown,.top-bar-section .has-dropdown.not-click:hover>.dropdown{position:static !important;height:auto;width:auto;overflow:visible;clip:auto;display:block;position:absolute !important}.top-bar-section .has-dropdown>a:focus+.dropdown{position:static !important;height:auto;width:auto;overflow:visible;clip:auto;display:block;position:absolute !important}.top-bar-section .has-dropdown .dropdown li.has-dropdown>a:after{border:none;content:"\00bb";top:0.1875rem;right:5px}.top-bar-section .dropdown{left:0;background:transparent;min-width:100%;top:auto}.top-bar-section .dropdown li a{background:#333;color:#fff;line-height:2.8125rem;padding:12px 0.9375rem;white-space:nowrap}.top-bar-section .dropdown li:not(.has-form):not(.active)>a:not(.button){background:#333;color:#fff}.top-bar-section .dropdown li:not(.has-form):not(.active):hover>a:not(.button){background-color:#555;color:#fff;background:#222}.top-bar-section .dropdown li label{background:#333;white-space:nowrap}.top-bar-section .dropdown li .dropdown{left:100%;top:0}.top-bar-section>ul>.divider,.top-bar-section>ul>[role="separator"]{border-right:solid 1px #4e4e4e;border-bottom:none;border-top:none;clear:none;height:2.8125rem;width:0}.top-bar-section .has-form{background:#333;height:2.8125rem;padding:0 0.9375rem}.top-bar-section .right li .dropdown{left:auto;right:0}.top-bar-section .right li .dropdown li .dropdown{right:100%}.top-bar-section .left li .dropdown{right:auto;left:0}.top-bar-section .left li .dropdown li .dropdown{left:100%}.no-js .top-bar-section ul li:hover>a{background-color:#555;background:#222;color:#fff}.no-js .top-bar-section ul li:active>a{background:#008CBA;color:#fff}.no-js .top-bar-section .has-dropdown:hover>.dropdown{position:static !important;height:auto;width:auto;overflow:visible;clip:auto;display:block;position:absolute !important}.no-js .top-bar-section .has-dropdown>a:focus+.dropdown{position:static !important;height:auto;width:auto;overflow:visible;clip:auto;display:block;position:absolute !important}}.breadcrumbs{border-style:solid;border-width:1px;display:block;list-style:none;margin-left:0;overflow:hidden;padding:0.5625rem 0.875rem 0.5625rem;background-color:#f4f4f4;border-color:#dcdcdc;border-radius:3px}.breadcrumbs>*{color:#008CBA;float:left;font-size:0.6875rem;line-height:0.6875rem;margin:0;text-transform:uppercase}.breadcrumbs>*:hover a,.breadcrumbs>*:focus a{text-decoration:underline}.breadcrumbs>* a{color:#008CBA}.breadcrumbs>*.current{color:#333;cursor:default}.breadcrumbs>*.current a{color:#333;cursor:default}.breadcrumbs>*.current:hover,.breadcrumbs>*.current:hover a,.breadcrumbs>*.current:focus,.breadcrumbs>*.current:focus a{text-decoration:none}.breadcrumbs>*.unavailable{color:#999}.breadcrumbs>*.unavailable a{color:#999}.breadcrumbs>*.unavailable:hover,.breadcrumbs>*.unavailable:hover a,.breadcrumbs>*.unavailable:focus,.breadcrumbs>*.unavailable a:focus{color:#999;cursor:not-allowed;text-decoration:none}.breadcrumbs>*:before{color:#aaa;content:"/";margin:0 0.75rem;position:relative;top:1px}.breadcrumbs>*:first-child:before{content:" ";margin:0}[aria-label="breadcrumbs"] [aria-hidden="true"]:after{content:"/"}.alert-box{border-style:solid;border-width:1px;display:block;font-size:0.8125rem;font-weight:normal;margin-bottom:1.25rem;padding:0.875rem 1.5rem 0.875rem 0.875rem;position:relative;transition:opacity 300ms ease-out;background-color:#008CBA;border-color:#0078a0;color:#fff}.alert-box .close{right:0.25rem;background:inherit;color:#333;font-size:1.375rem;line-height:.9;margin-top:-0.6875rem;opacity:0.3;padding:0 6px 4px;position:absolute;top:50%}.alert-box .close:hover,.alert-box .close:focus{opacity:0.5}.alert-box.radius{border-radius:3px}.alert-box.round{border-radius:1000px}.alert-box.success{background-color:#43AC6A;border-color:#3a945b;color:#fff}.alert-box.alert{background-color:#f04124;border-color:#de2d0f;color:#fff}.alert-box.secondary{background-color:#e7e7e7;border-color:#c7c7c7;color:#4f4f4f}.alert-box.warning{background-color:#f08a24;border-color:#de770f;color:#fff}.alert-box.info{background-color:#a0d3e8;border-color:#74bfdd;color:#4f4f4f}.alert-box.alert-close{opacity:0}.inline-list{list-style:none;margin-left:-1.375rem;margin-right:0;margin:0 auto 1.0625rem auto;overflow:hidden;padding:0}.inline-list>li{display:block;float:left;list-style:none;margin-left:1.375rem}.inline-list>li>*{display:block}.button-group{list-style:none;margin:0;left:0}.button-group:before,.button-group:after{content:" ";display:table}.button-group:after{clear:both}.button-group.even-2 li{display:inline-block;margin:0 -2px;width:50%}.button-group.even-2 li>button,.button-group.even-2 li .button{border-left:1px solid;border-color:rgba(255,255,255,0.5)}.button-group.even-2 li:first-child button,.button-group.even-2 li:first-child .button{border-left:0}.button-group.even-2 li button,.button-group.even-2 li .button{width:100%}.button-group.even-3 li{display:inline-block;margin:0 -2px;width:33.33333%}.button-group.even-3 li>button,.button-group.even-3 li .button{border-left:1px solid;border-color:rgba(255,255,255,0.5)}.button-group.even-3 li:first-child button,.button-group.even-3 li:first-child .button{border-left:0}.button-group.even-3 li button,.button-group.even-3 li .button{width:100%}.button-group.even-4 li{display:inline-block;margin:0 -2px;width:25%}.button-group.even-4 li>button,.button-group.even-4 li .button{border-left:1px solid;border-color:rgba(255,255,255,0.5)}.button-group.even-4 li:first-child button,.button-group.even-4 li:first-child .button{border-left:0}.button-group.even-4 li button,.button-group.even-4 li .button{width:100%}.button-group.even-5 li{display:inline-block;margin:0 -2px;width:20%}.button-group.even-5 li>button,.button-group.even-5 li .button{border-left:1px solid;border-color:rgba(255,255,255,0.5)}.button-group.even-5 li:first-child button,.button-group.even-5 li:first-child .button{border-left:0}.button-group.even-5 li button,.button-group.even-5 li .button{width:100%}.button-group.even-6 li{display:inline-block;margin:0 -2px;width:16.66667%}.button-group.even-6 li>button,.button-group.even-6 li .button{border-left:1px solid;border-color:rgba(255,255,255,0.5)}.button-group.even-6 li:first-child button,.button-group.even-6 li:first-child .button{border-left:0}.button-group.even-6 li button,.button-group.even-6 li .button{width:100%}.button-group.even-7 li{display:inline-block;margin:0 -2px;width:14.28571%}.button-group.even-7 li>button,.button-group.even-7 li .button{border-left:1px solid;border-color:rgba(255,255,255,0.5)}.button-group.even-7 li:first-child button,.button-group.even-7 li:first-child .button{border-left:0}.button-group.even-7 li button,.button-group.even-7 li .button{width:100%}.button-group.even-8 li{display:inline-block;margin:0 -2px;width:12.5%}.button-group.even-8 li>button,.button-group.even-8 li .button{border-left:1px solid;border-color:rgba(255,255,255,0.5)}.button-group.even-8 li:first-child button,.button-group.even-8 li:first-child .button{border-left:0}.button-group.even-8 li button,.button-group.even-8 li .button{width:100%}.button-group>li{display:inline-block;margin:0 -2px}.button-group>li>button,.button-group>li .button{border-left:1px solid;border-color:rgba(255,255,255,0.5)}.button-group>li:first-child button,.button-group>li:first-child .button{border-left:0}.button-group.stack>li{display:block;margin:0;float:none}.button-group.stack>li>button,.button-group.stack>li .button{border-left:1px solid;border-color:rgba(255,255,255,0.5)}.button-group.stack>li:first-child button,.button-group.stack>li:first-child .button{border-left:0}.button-group.stack>li>button,.button-group.stack>li .button{border-color:rgba(255,255,255,0.5);border-left-width:0;border-top:1px solid;display:block;margin:0}.button-group.stack>li>button{width:100%}.button-group.stack>li:first-child button,.button-group.stack>li:first-child .button{border-top:0}.button-group.stack-for-small>li{display:inline-block;margin:0 -2px}.button-group.stack-for-small>li>button,.button-group.stack-for-small>li .button{border-left:1px solid;border-color:rgba(255,255,255,0.5)}.button-group.stack-for-small>li:first-child button,.button-group.stack-for-small>li:first-child .button{border-left:0}@media only screen and (max-width: 40em){.button-group.stack-for-small>li{display:block;margin:0}.button-group.stack-for-small>li>button,.button-group.stack-for-small>li .button{border-left:1px solid;border-color:rgba(255,255,255,0.5)}.button-group.stack-for-small>li:first-child button,.button-group.stack-for-small>li:first-child .button{border-left:0}.button-group.stack-for-small>li>button,.button-group.stack-for-small>li .button{border-color:rgba(255,255,255,0.5);border-left-width:0;border-top:1px solid;display:block;margin:0}.button-group.stack-for-small>li>button{width:100%}.button-group.stack-for-small>li:first-child button,.button-group.stack-for-small>li:first-child .button{border-top:0}}.button-group.radius>*{display:inline-block;margin:0 -2px}.button-group.radius>*>button,.button-group.radius>* .button{border-left:1px solid;border-color:rgba(255,255,255,0.5)}.button-group.radius>*:first-child button,.button-group.radius>*:first-child .button{border-left:0}.button-group.radius>*,.button-group.radius>*>a,.button-group.radius>*>button,.button-group.radius>*>.button{border-radius:0}.button-group.radius>*:first-child,.button-group.radius>*:first-child>a,.button-group.radius>*:first-child>button,.button-group.radius>*:first-child>.button{-webkit-border-bottom-left-radius:3px;-webkit-border-top-left-radius:3px;border-bottom-left-radius:3px;border-top-left-radius:3px}.button-group.radius>*:last-child,.button-group.radius>*:last-child>a,.button-group.radius>*:last-child>button,.button-group.radius>*:last-child>.button{-webkit-border-bottom-right-radius:3px;-webkit-border-top-right-radius:3px;border-bottom-right-radius:3px;border-top-right-radius:3px}.button-group.radius.stack>*{display:block;margin:0}.button-group.radius.stack>*>button,.button-group.radius.stack>* .button{border-left:1px solid;border-color:rgba(255,255,255,0.5)}.button-group.radius.stack>*:first-child button,.button-group.radius.stack>*:first-child .button{border-left:0}.button-group.radius.stack>*>button,.button-group.radius.stack>* .button{border-color:rgba(255,255,255,0.5);border-left-width:0;border-top:1px solid;display:block;margin:0}.button-group.radius.stack>*>button{width:100%}.button-group.radius.stack>*:first-child button,.button-group.radius.stack>*:first-child .button{border-top:0}.button-group.radius.stack>*,.button-group.radius.stack>*>a,.button-group.radius.stack>*>button,.button-group.radius.stack>*>.button{border-radius:0}.button-group.radius.stack>*:first-child,.button-group.radius.stack>*:first-child>a,.button-group.radius.stack>*:first-child>button,.button-group.radius.stack>*:first-child>.button{-webkit-top-left-radius:3px;-webkit-top-right-radius:3px;border-top-left-radius:3px;border-top-right-radius:3px}.button-group.radius.stack>*:last-child,.button-group.radius.stack>*:last-child>a,.button-group.radius.stack>*:last-child>button,.button-group.radius.stack>*:last-child>.button{-webkit-bottom-left-radius:3px;-webkit-bottom-right-radius:3px;border-bottom-left-radius:3px;border-bottom-right-radius:3px}@media only screen and (min-width: 40.0625em){.button-group.radius.stack-for-small>*{display:inline-block;margin:0 -2px}.button-group.radius.stack-for-small>*>button,.button-group.radius.stack-for-small>* .button{border-left:1px solid;border-color:rgba(255,255,255,0.5)}.button-group.radius.stack-for-small>*:first-child button,.button-group.radius.stack-for-small>*:first-child .button{border-left:0}.button-group.radius.stack-for-small>*,.button-group.radius.stack-for-small>*>a,.button-group.radius.stack-for-small>*>button,.button-group.radius.stack-for-small>*>.button{border-radius:0}.button-group.radius.stack-for-small>*:first-child,.button-group.radius.stack-for-small>*:first-child>a,.button-group.radius.stack-for-small>*:first-child>button,.button-group.radius.stack-for-small>*:first-child>.button{-webkit-border-bottom-left-radius:3px;-webkit-border-top-left-radius:3px;border-bottom-left-radius:3px;border-top-left-radius:3px}.button-group.radius.stack-for-small>*:last-child,.button-group.radius.stack-for-small>*:last-child>a,.button-group.radius.stack-for-small>*:last-child>button,.button-group.radius.stack-for-small>*:last-child>.button{-webkit-border-bottom-right-radius:3px;-webkit-border-top-right-radius:3px;border-bottom-right-radius:3px;border-top-right-radius:3px}}@media only screen and (max-width: 40em){.button-group.radius.stack-for-small>*{display:block;margin:0}.button-group.radius.stack-for-small>*>button,.button-group.radius.stack-for-small>* .button{border-left:1px solid;border-color:rgba(255,255,255,0.5)}.button-group.radius.stack-for-small>*:first-child button,.button-group.radius.stack-for-small>*:first-child .button{border-left:0}.button-group.radius.stack-for-small>*>button,.button-group.radius.stack-for-small>* .button{border-color:rgba(255,255,255,0.5);border-left-width:0;border-top:1px solid;display:block;margin:0}.button-group.radius.stack-for-small>*>button{width:100%}.button-group.radius.stack-for-small>*:first-child button,.button-group.radius.stack-for-small>*:first-child .button{border-top:0}.button-group.radius.stack-for-small>*,.button-group.radius.stack-for-small>*>a,.button-group.radius.stack-for-small>*>button,.button-group.radius.stack-for-small>*>.button{border-radius:0}.button-group.radius.stack-for-small>*:first-child,.button-group.radius.stack-for-small>*:first-child>a,.button-group.radius.stack-for-small>*:first-child>button,.button-group.radius.stack-for-small>*:first-child>.button{-webkit-top-left-radius:3px;-webkit-top-right-radius:3px;border-top-left-radius:3px;border-top-right-radius:3px}.button-group.radius.stack-for-small>*:last-child,.button-group.radius.stack-for-small>*:last-child>a,.button-group.radius.stack-for-small>*:last-child>button,.button-group.radius.stack-for-small>*:last-child>.button{-webkit-bottom-left-radius:3px;-webkit-bottom-right-radius:3px;border-bottom-left-radius:3px;border-bottom-right-radius:3px}}.button-group.round>*{display:inline-block;margin:0 -2px}.button-group.round>*>button,.button-group.round>* .button{border-left:1px solid;border-color:rgba(255,255,255,0.5)}.button-group.round>*:first-child button,.button-group.round>*:first-child .button{border-left:0}.button-group.round>*,.button-group.round>*>a,.button-group.round>*>button,.button-group.round>*>.button{border-radius:0}.button-group.round>*:first-child,.button-group.round>*:first-child>a,.button-group.round>*:first-child>button,.button-group.round>*:first-child>.button{-webkit-border-bottom-left-radius:1000px;-webkit-border-top-left-radius:1000px;border-bottom-left-radius:1000px;border-top-left-radius:1000px}.button-group.round>*:last-child,.button-group.round>*:last-child>a,.button-group.round>*:last-child>button,.button-group.round>*:last-child>.button{-webkit-border-bottom-right-radius:1000px;-webkit-border-top-right-radius:1000px;border-bottom-right-radius:1000px;border-top-right-radius:1000px}.button-group.round.stack>*{display:block;margin:0}.button-group.round.stack>*>button,.button-group.round.stack>* .button{border-left:1px solid;border-color:rgba(255,255,255,0.5)}.button-group.round.stack>*:first-child button,.button-group.round.stack>*:first-child .button{border-left:0}.button-group.round.stack>*>button,.button-group.round.stack>* .button{border-color:rgba(255,255,255,0.5);border-left-width:0;border-top:1px solid;display:block;margin:0}.button-group.round.stack>*>button{width:100%}.button-group.round.stack>*:first-child button,.button-group.round.stack>*:first-child .button{border-top:0}.button-group.round.stack>*,.button-group.round.stack>*>a,.button-group.round.stack>*>button,.button-group.round.stack>*>.button{border-radius:0}.button-group.round.stack>*:first-child,.button-group.round.stack>*:first-child>a,.button-group.round.stack>*:first-child>button,.button-group.round.stack>*:first-child>.button{-webkit-top-left-radius:1rem;-webkit-top-right-radius:1rem;border-top-left-radius:1rem;border-top-right-radius:1rem}.button-group.round.stack>*:last-child,.button-group.round.stack>*:last-child>a,.button-group.round.stack>*:last-child>button,.button-group.round.stack>*:last-child>.button{-webkit-bottom-left-radius:1rem;-webkit-bottom-right-radius:1rem;border-bottom-left-radius:1rem;border-bottom-right-radius:1rem}@media only screen and (min-width: 40.0625em){.button-group.round.stack-for-small>*{display:inline-block;margin:0 -2px}.button-group.round.stack-for-small>*>button,.button-group.round.stack-for-small>* .button{border-left:1px solid;border-color:rgba(255,255,255,0.5)}.button-group.round.stack-for-small>*:first-child button,.button-group.round.stack-for-small>*:first-child .button{border-left:0}.button-group.round.stack-for-small>*,.button-group.round.stack-for-small>*>a,.button-group.round.stack-for-small>*>button,.button-group.round.stack-for-small>*>.button{border-radius:0}.button-group.round.stack-for-small>*:first-child,.button-group.round.stack-for-small>*:first-child>a,.button-group.round.stack-for-small>*:first-child>button,.button-group.round.stack-for-small>*:first-child>.button{-webkit-border-bottom-left-radius:1000px;-webkit-border-top-left-radius:1000px;border-bottom-left-radius:1000px;border-top-left-radius:1000px}.button-group.round.stack-for-small>*:last-child,.button-group.round.stack-for-small>*:last-child>a,.button-group.round.stack-for-small>*:last-child>button,.button-group.round.stack-for-small>*:last-child>.button{-webkit-border-bottom-right-radius:1000px;-webkit-border-top-right-radius:1000px;border-bottom-right-radius:1000px;border-top-right-radius:1000px}}@media only screen and (max-width: 40em){.button-group.round.stack-for-small>*{display:block;margin:0}.button-group.round.stack-for-small>*>button,.button-group.round.stack-for-small>* .button{border-left:1px solid;border-color:rgba(255,255,255,0.5)}.button-group.round.stack-for-small>*:first-child button,.button-group.round.stack-for-small>*:first-child .button{border-left:0}.button-group.round.stack-for-small>*>button,.button-group.round.stack-for-small>* .button{border-color:rgba(255,255,255,0.5);border-left-width:0;border-top:1px solid;display:block;margin:0}.button-group.round.stack-for-small>*>button{width:100%}.button-group.round.stack-for-small>*:first-child button,.button-group.round.stack-for-small>*:first-child .button{border-top:0}.button-group.round.stack-for-small>*,.button-group.round.stack-for-small>*>a,.button-group.round.stack-for-small>*>button,.button-group.round.stack-for-small>*>.button{border-radius:0}.button-group.round.stack-for-small>*:first-child,.button-group.round.stack-for-small>*:first-child>a,.button-group.round.stack-for-small>*:first-child>button,.button-group.round.stack-for-small>*:first-child>.button{-webkit-top-left-radius:1rem;-webkit-top-right-radius:1rem;border-top-left-radius:1rem;border-top-right-radius:1rem}.button-group.round.stack-for-small>*:last-child,.button-group.round.stack-for-small>*:last-child>a,.button-group.round.stack-for-small>*:last-child>button,.button-group.round.stack-for-small>*:last-child>.button{-webkit-bottom-left-radius:1rem;-webkit-bottom-right-radius:1rem;border-bottom-left-radius:1rem;border-bottom-right-radius:1rem}}.button-bar:before,.button-bar:after{content:" ";display:table}.button-bar:after{clear:both}.button-bar .button-group{float:left;margin-right:0.625rem}.button-bar .button-group div{overflow:hidden}.panel{border-style:solid;border-width:1px;border-color:#d8d8d8;margin-bottom:1.25rem;padding:1.25rem;background:#f2f2f2;color:#333}.panel>:first-child{margin-top:0}.panel>:last-child{margin-bottom:0}.panel h1,.panel h2,.panel h3,.panel h4,.panel h5,.panel h6,.panel p,.panel li,.panel dl{color:#333}.panel h1,.panel h2,.panel h3,.panel h4,.panel h5,.panel h6{line-height:1;margin-bottom:0.625rem}.panel h1.subheader,.panel h2.subheader,.panel h3.subheader,.panel h4.subheader,.panel h5.subheader,.panel h6.subheader{line-height:1.4}.panel.callout{border-style:solid;border-width:1px;border-color:#d8d8d8;margin-bottom:1.25rem;padding:1.25rem;background:#ecfaff;color:#333}.panel.callout>:first-child{margin-top:0}.panel.callout>:last-child{margin-bottom:0}.panel.callout h1,.panel.callout h2,.panel.callout h3,.panel.callout h4,.panel.callout h5,.panel.callout h6,.panel.callout p,.panel.callout li,.panel.callout dl{color:#333}.panel.callout h1,.panel.callout h2,.panel.callout h3,.panel.callout h4,.panel.callout h5,.panel.callout h6{line-height:1;margin-bottom:0.625rem}.panel.callout h1.subheader,.panel.callout h2.subheader,.panel.callout h3.subheader,.panel.callout h4.subheader,.panel.callout h5.subheader,.panel.callout h6.subheader{line-height:1.4}.panel.callout a:not(.button){color:#008CBA}.panel.callout a:not(.button):hover,.panel.callout a:not(.button):focus{color:#0078a0}.panel.radius{border-radius:3px}.dropdown.button,button.dropdown{position:relative;padding-right:3.5625rem}.dropdown.button::after,button.dropdown::after{border-color:#fff transparent transparent transparent;border-style:solid;content:"";display:block;height:0;position:absolute;top:50%;width:0}.dropdown.button::after,button.dropdown::after{border-width:0.375rem;right:1.40625rem;margin-top:-0.15625rem}.dropdown.button::after,button.dropdown::after{border-color:#fff transparent transparent transparent}.dropdown.button.tiny,button.dropdown.tiny{padding-right:2.625rem}.dropdown.button.tiny:after,button.dropdown.tiny:after{border-width:0.375rem;right:1.125rem;margin-top:-0.125rem}.dropdown.button.tiny::after,button.dropdown.tiny::after{border-color:#fff transparent transparent transparent}.dropdown.button.small,button.dropdown.small{padding-right:3.0625rem}.dropdown.button.small::after,button.dropdown.small::after{border-width:0.4375rem;right:1.3125rem;margin-top:-0.15625rem}.dropdown.button.small::after,button.dropdown.small::after{border-color:#fff transparent transparent transparent}.dropdown.button.large,button.dropdown.large{padding-right:3.625rem}.dropdown.button.large::after,button.dropdown.large::after{border-width:0.3125rem;right:1.71875rem;margin-top:-0.15625rem}.dropdown.button.large::after,button.dropdown.large::after{border-color:#fff transparent transparent transparent}.dropdown.button.secondary:after,button.dropdown.secondary:after{border-color:#333 transparent transparent transparent}.th{border:solid 4px #fff;box-shadow:0 0 0 1px rgba(0,0,0,0.2);display:inline-block;line-height:0;max-width:100%;transition:all 200ms ease-out}.th:hover,.th:focus{box-shadow:0 0 6px 1px rgba(0,140,186,0.5)}.th.radius{border-radius:3px}.pricing-table{border:solid 1px #ddd;margin-left:0;margin-bottom:1.25rem}.pricing-table *{list-style:none;line-height:1}.pricing-table .title{background-color:#333;color:#eee;font-family:"Helvetica Neue",Helvetica,Roboto,Arial,sans-serif;font-size:1rem;font-weight:normal;padding:0.9375rem 1.25rem;text-align:center}.pricing-table .price{background-color:#F6F6F6;color:#333;font-family:"Helvetica Neue",Helvetica,Roboto,Arial,sans-serif;font-size:2rem;font-weight:normal;padding:0.9375rem 1.25rem;text-align:center}.pricing-table .description{background-color:#fff;border-bottom:dotted 1px #ddd;color:#777;font-size:0.75rem;font-weight:normal;line-height:1.4;padding:0.9375rem;text-align:center}.pricing-table .bullet-item{background-color:#fff;border-bottom:dotted 1px #ddd;color:#333;font-size:0.875rem;font-weight:normal;padding:0.9375rem;text-align:center}.pricing-table .cta-button{background-color:#fff;padding:1.25rem 1.25rem 0;text-align:center}@-webkit-keyframes rotate{from{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes rotate{from{-webkit-transform:rotate(0deg);-moz-transform:rotate(0deg);-ms-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(360deg);-moz-transform:rotate(360deg);-ms-transform:rotate(360deg);transform:rotate(360deg)}}.slideshow-wrapper{position:relative}.slideshow-wrapper ul{list-style-type:none;margin:0}.slideshow-wrapper ul li,.slideshow-wrapper ul li .orbit-caption{display:none}.slideshow-wrapper ul li:first-child{display:block}.slideshow-wrapper .orbit-container{background-color:transparent}.slideshow-wrapper .orbit-container li{display:block}.slideshow-wrapper .orbit-container li .orbit-caption{display:block}.slideshow-wrapper .orbit-container .orbit-bullets li{display:inline-block}.slideshow-wrapper .preloader{border-radius:1000px;animation-duration:1.5s;animation-iteration-count:infinite;animation-name:rotate;animation-timing-function:linear;border-color:#555 #fff;border:solid 3px;display:block;height:40px;left:50%;margin-left:-20px;margin-top:-20px;position:absolute;top:50%;width:40px}.orbit-container{background:none;overflow:hidden;position:relative;width:100%}.orbit-container .orbit-slides-container{list-style:none;margin:0;padding:0;position:relative;-webkit-transform:translateZ(0);-moz-transform:translateZ(0);-ms-transform:translateZ(0);-o-transform:translateZ(0);transform:translateZ(0)}.orbit-container .orbit-slides-container img{display:block;max-width:100%}.orbit-container .orbit-slides-container>*{position:absolute;top:0;width:100%;margin-left:100%}.orbit-container .orbit-slides-container>*:first-child{margin-left:0}.orbit-container .orbit-slides-container>* .orbit-caption{bottom:0;position:absolute;background-color:rgba(51,51,51,0.8);color:#fff;font-size:0.875rem;padding:0.625rem 0.875rem;width:100%}.orbit-container .orbit-slide-number{left:10px;background:transparent;color:#fff;font-size:12px;position:absolute;top:10px;z-index:10}.orbit-container .orbit-slide-number span{font-weight:700;padding:0.3125rem}.orbit-container .orbit-timer{position:absolute;top:12px;right:10px;height:6px;width:100px;z-index:10}.orbit-container .orbit-timer .orbit-progress{height:3px;background-color:rgba(255,255,255,0.3);display:block;width:0;position:relative;right:20px;top:5px}.orbit-container .orbit-timer>span{border:solid 4px #fff;border-bottom:none;border-top:none;display:none;height:14px;position:absolute;top:0;width:11px;right:0}.orbit-container .orbit-timer.paused>span{top:0;width:11px;height:14px;border:inset 8px;border-left-style:solid;border-color:transparent;border-left-color:#fff;right:-4px}.orbit-container .orbit-timer.paused>span.dark{border-left-color:#333}.orbit-container:hover .orbit-timer>span{display:block}.orbit-container .orbit-prev,.orbit-container .orbit-next{background-color:transparent;color:white;height:60px;line-height:50px;margin-top:-25px;position:absolute;text-indent:-9999px !important;top:45%;width:36px;z-index:10}.orbit-container .orbit-prev:hover,.orbit-container .orbit-next:hover{background-color:rgba(0,0,0,0.3)}.orbit-container .orbit-prev>span,.orbit-container .orbit-next>span{border:inset 10px;display:block;height:0;margin-top:-10px;position:absolute;top:50%;width:0}.orbit-container .orbit-prev{left:0}.orbit-container .orbit-prev>span{border-right-style:solid;border-color:transparent;border-right-color:#fff}.orbit-container .orbit-prev:hover>span{border-right-color:#fff}.orbit-container .orbit-next{right:0}.orbit-container .orbit-next>span{border-color:transparent;border-left-style:solid;border-left-color:#fff;left:50%;margin-left:-4px}.orbit-container .orbit-next:hover>span{border-left-color:#fff}.orbit-bullets-container{text-align:center}.orbit-bullets{display:block;float:none;margin:0 auto 30px auto;overflow:hidden;position:relative;text-align:center;top:10px}.orbit-bullets li{background:#ccc;cursor:pointer;display:inline-block;float:none;height:0.5625rem;margin-right:6px;width:0.5625rem;border-radius:1000px}.orbit-bullets li.active{background:#999}.orbit-bullets li:last-child{margin-right:0}.touch .orbit-container .orbit-prev,.touch .orbit-container .orbit-next{display:none}.touch .orbit-bullets{display:none}@media only screen and (min-width: 40.0625em){.touch .orbit-container .orbit-prev,.touch .orbit-container .orbit-next{display:inherit}.touch .orbit-bullets{display:block}}@media only screen and (max-width: 40em){.orbit-stack-on-small .orbit-slides-container{height:auto !important}.orbit-stack-on-small .orbit-slides-container>*{margin:0 !important;opacity:1 !important;position:relative}.orbit-stack-on-small .orbit-slide-number{display:none}.orbit-timer{display:none}.orbit-next,.orbit-prev{display:none}.orbit-bullets{display:none}}[data-magellan-expedition],[data-magellan-expedition-clone]{background:#fff;min-width:100%;padding:10px;z-index:50}[data-magellan-expedition] .sub-nav,[data-magellan-expedition-clone] .sub-nav{margin-bottom:0}[data-magellan-expedition] .sub-nav dd,[data-magellan-expedition-clone] .sub-nav dd{margin-bottom:0}[data-magellan-expedition] .sub-nav a,[data-magellan-expedition-clone] .sub-nav a{line-height:1.8em}.icon-bar{display:inline-block;font-size:0;width:100%;background:#333}.icon-bar>*{display:block;float:left;font-size:1rem;margin:0 auto;padding:1.25rem;text-align:center;width:25%}.icon-bar>* i,.icon-bar>* img{display:block;margin:0 auto}.icon-bar>* i+label,.icon-bar>* img+label{margin-top:.0625rem}.icon-bar>* i{font-size:1.875rem;vertical-align:middle}.icon-bar>* img{height:1.875rem;width:1.875rem}.icon-bar.label-right>* i,.icon-bar.label-right>* img{display:inline-block;margin:0 .0625rem 0 0}.icon-bar.label-right>* i+label,.icon-bar.label-right>* img+label{margin-top:0}.icon-bar.label-right>* label{display:inline-block}.icon-bar.vertical.label-right>*{text-align:left}.icon-bar.vertical,.icon-bar.small-vertical{height:100%;width:auto}.icon-bar.vertical .item,.icon-bar.small-vertical .item{float:none;margin:auto;width:auto}@media only screen and (min-width: 40.0625em){.icon-bar.medium-vertical{height:100%;width:auto}.icon-bar.medium-vertical .item{float:none;margin:auto;width:auto}}@media only screen and (min-width: 64.0625em){.icon-bar.large-vertical{height:100%;width:auto}.icon-bar.large-vertical .item{float:none;margin:auto;width:auto}}.icon-bar>*{font-size:1rem;padding:1.25rem}.icon-bar>* i+label,.icon-bar>* img+label{margin-top:.0625rem;font-size:1rem}.icon-bar>* i{font-size:1.875rem}.icon-bar>* img{height:1.875rem;width:1.875rem}.icon-bar>* label{color:#fff}.icon-bar>* i{color:#fff}.icon-bar>a:hover{background:#008CBA}.icon-bar>a:hover label{color:#fff}.icon-bar>a:hover i{color:#fff}.icon-bar>a.active{background:#008CBA}.icon-bar>a.active label{color:#fff}.icon-bar>a.active i{color:#fff}.icon-bar .item.disabled{cursor:not-allowed;opacity:0.7;pointer-events:none}.icon-bar .item.disabled>*{opacity:0.7;cursor:not-allowed}.icon-bar.two-up .item{width:50%}.icon-bar.two-up.vertical .item,.icon-bar.two-up.small-vertical .item{width:auto}@media only screen and (min-width: 40.0625em){.icon-bar.two-up.medium-vertical .item{width:auto}}@media only screen and (min-width: 64.0625em){.icon-bar.two-up.large-vertical .item{width:auto}}.icon-bar.three-up .item{width:33.3333%}.icon-bar.three-up.vertical .item,.icon-bar.three-up.small-vertical .item{width:auto}@media only screen and (min-width: 40.0625em){.icon-bar.three-up.medium-vertical .item{width:auto}}@media only screen and (min-width: 64.0625em){.icon-bar.three-up.large-vertical .item{width:auto}}.icon-bar.four-up .item{width:25%}.icon-bar.four-up.vertical .item,.icon-bar.four-up.small-vertical .item{width:auto}@media only screen and (min-width: 40.0625em){.icon-bar.four-up.medium-vertical .item{width:auto}}@media only screen and (min-width: 64.0625em){.icon-bar.four-up.large-vertical .item{width:auto}}.icon-bar.five-up .item{width:20%}.icon-bar.five-up.vertical .item,.icon-bar.five-up.small-vertical .item{width:auto}@media only screen and (min-width: 40.0625em){.icon-bar.five-up.medium-vertical .item{width:auto}}@media only screen and (min-width: 64.0625em){.icon-bar.five-up.large-vertical .item{width:auto}}.icon-bar.six-up .item{width:16.66667%}.icon-bar.six-up.vertical .item,.icon-bar.six-up.small-vertical .item{width:auto}@media only screen and (min-width: 40.0625em){.icon-bar.six-up.medium-vertical .item{width:auto}}@media only screen and (min-width: 64.0625em){.icon-bar.six-up.large-vertical .item{width:auto}}.icon-bar.seven-up .item{width:14.28571%}.icon-bar.seven-up.vertical .item,.icon-bar.seven-up.small-vertical .item{width:auto}@media only screen and (min-width: 40.0625em){.icon-bar.seven-up.medium-vertical .item{width:auto}}@media only screen and (min-width: 64.0625em){.icon-bar.seven-up.large-vertical .item{width:auto}}.icon-bar.eight-up .item{width:12.5%}.icon-bar.eight-up.vertical .item,.icon-bar.eight-up.small-vertical .item{width:auto}@media only screen and (min-width: 40.0625em){.icon-bar.eight-up.medium-vertical .item{width:auto}}@media only screen and (min-width: 64.0625em){.icon-bar.eight-up.large-vertical .item{width:auto}}.icon-bar.two-up .item{width:50%}.icon-bar.two-up.vertical .item,.icon-bar.two-up.small-vertical .item{width:auto}@media only screen and (min-width: 40.0625em){.icon-bar.two-up.medium-vertical .item{width:auto}}@media only screen and (min-width: 64.0625em){.icon-bar.two-up.large-vertical .item{width:auto}}.icon-bar.three-up .item{width:33.3333%}.icon-bar.three-up.vertical .item,.icon-bar.three-up.small-vertical .item{width:auto}@media only screen and (min-width: 40.0625em){.icon-bar.three-up.medium-vertical .item{width:auto}}@media only screen and (min-width: 64.0625em){.icon-bar.three-up.large-vertical .item{width:auto}}.icon-bar.four-up .item{width:25%}.icon-bar.four-up.vertical .item,.icon-bar.four-up.small-vertical .item{width:auto}@media only screen and (min-width: 40.0625em){.icon-bar.four-up.medium-vertical .item{width:auto}}@media only screen and (min-width: 64.0625em){.icon-bar.four-up.large-vertical .item{width:auto}}.icon-bar.five-up .item{width:20%}.icon-bar.five-up.vertical .item,.icon-bar.five-up.small-vertical .item{width:auto}@media only screen and (min-width: 40.0625em){.icon-bar.five-up.medium-vertical .item{width:auto}}@media only screen and (min-width: 64.0625em){.icon-bar.five-up.large-vertical .item{width:auto}}.icon-bar.six-up .item{width:16.66667%}.icon-bar.six-up.vertical .item,.icon-bar.six-up.small-vertical .item{width:auto}@media only screen and (min-width: 40.0625em){.icon-bar.six-up.medium-vertical .item{width:auto}}@media only screen and (min-width: 64.0625em){.icon-bar.six-up.large-vertical .item{width:auto}}.icon-bar.seven-up .item{width:14.28571%}.icon-bar.seven-up.vertical .item,.icon-bar.seven-up.small-vertical .item{width:auto}@media only screen and (min-width: 40.0625em){.icon-bar.seven-up.medium-vertical .item{width:auto}}@media only screen and (min-width: 64.0625em){.icon-bar.seven-up.large-vertical .item{width:auto}}.icon-bar.eight-up .item{width:12.5%}.icon-bar.eight-up.vertical .item,.icon-bar.eight-up.small-vertical .item{width:auto}@media only screen and (min-width: 40.0625em){.icon-bar.eight-up.medium-vertical .item{width:auto}}@media only screen and (min-width: 64.0625em){.icon-bar.eight-up.large-vertical .item{width:auto}}.tabs{margin-bottom:0 !important;margin-left:0}.tabs:before,.tabs:after{content:" ";display:table}.tabs:after{clear:both}.tabs dd,.tabs .tab-title{float:left;list-style:none;margin-bottom:0 !important;position:relative}.tabs dd>a,.tabs .tab-title>a{display:block;background-color:#EFEFEF;color:#222;font-family:"Helvetica Neue",Helvetica,Roboto,Arial,sans-serif;font-size:1rem;padding:1rem 2rem}.tabs dd>a:hover,.tabs .tab-title>a:hover{background-color:#e1e1e1}.tabs dd.active a,.tabs .tab-title.active a{background-color:#fff;color:#222}.tabs.radius dd:first-child a,.tabs.radius .tab:first-child a{-webkit-border-bottom-left-radius:3px;-webkit-border-top-left-radius:3px;border-bottom-left-radius:3px;border-top-left-radius:3px}.tabs.radius dd:last-child a,.tabs.radius .tab:last-child a{-webkit-border-bottom-right-radius:3px;-webkit-border-top-right-radius:3px;border-bottom-right-radius:3px;border-top-right-radius:3px}.tabs.vertical dd,.tabs.vertical .tab-title{position:inherit;float:none;display:block;top:auto}.tabs-content{margin-bottom:1.5rem;width:100%}.tabs-content:before,.tabs-content:after{content:" ";display:table}.tabs-content:after{clear:both}.tabs-content>.content{display:none;float:left;padding:0.9375rem 0;width:100%}.tabs-content>.content.active{display:block;float:none}.tabs-content>.content.contained{padding:0.9375rem}.tabs-content.vertical{display:block}.tabs-content.vertical>.content{padding:0 0.9375rem}@media only screen and (min-width: 40.0625em){.tabs.vertical{float:left;margin:0;margin-bottom:1.25rem !important;max-width:20%;width:20%}.tabs-content.vertical{float:left;margin-left:-1px;max-width:80%;padding-left:1rem;width:80%}}.no-js .tabs-content>.content{display:block;float:none}ul.pagination{display:block;margin-left:-0.3125rem;min-height:1.5rem}ul.pagination li{color:#222;font-size:0.875rem;height:1.5rem;margin-left:0.3125rem}ul.pagination li a,ul.pagination li button{border-radius:3px;transition:background-color 300ms ease-out;background:none;color:#999;display:block;font-size:1em;font-weight:normal;line-height:inherit;padding:0.0625rem 0.625rem 0.0625rem}ul.pagination li:hover a,ul.pagination li a:focus,ul.pagination li:hover button,ul.pagination li button:focus{background:#e6e6e6}ul.pagination li.unavailable a,ul.pagination li.unavailable button{cursor:default;color:#999}ul.pagination li.unavailable:hover a,ul.pagination li.unavailable a:focus,ul.pagination li.unavailable:hover button,ul.pagination li.unavailable button:focus{background:transparent}ul.pagination li.current a,ul.pagination li.current button{background:#008CBA;color:#fff;cursor:default;font-weight:bold}ul.pagination li.current a:hover,ul.pagination li.current a:focus,ul.pagination li.current button:hover,ul.pagination li.current button:focus{background:#008CBA}ul.pagination li{display:block;float:left}.pagination-centered{text-align:center}.pagination-centered ul.pagination li{display:inline-block;float:none}.side-nav{display:block;font-family:"Helvetica Neue",Helvetica,Roboto,Arial,sans-serif;list-style-position:outside;list-style-type:none;margin:0;padding:0.875rem 0}.side-nav li{font-size:0.875rem;font-weight:normal;margin:0 0 0.4375rem 0}.side-nav li a:not(.button){color:#008CBA;display:block;margin:0;padding:0.4375rem 0.875rem}.side-nav li a:not(.button):hover,.side-nav li a:not(.button):focus{background:rgba(0,0,0,0.025);color:#1cc7ff}.side-nav li a:not(.button):active{color:#1cc7ff}.side-nav li.active>a:first-child:not(.button){color:#1cc7ff;font-family:"Helvetica Neue",Helvetica,Roboto,Arial,sans-serif;font-weight:normal}.side-nav li.divider{border-top:1px solid;height:0;list-style:none;padding:0;border-top-color:#e6e6e6}.side-nav li.heading{color:#008CBA;font-size:0.875rem;font-weight:bold;text-transform:uppercase}.accordion{margin-bottom:0}.accordion:before,.accordion:after{content:" ";display:table}.accordion:after{clear:both}.accordion .accordion-navigation,.accordion dd{display:block;margin-bottom:0 !important}.accordion .accordion-navigation.active>a,.accordion dd.active>a{background:#e8e8e8}.accordion .accordion-navigation>a,.accordion dd>a{background:#EFEFEF;color:#222;display:block;font-family:"Helvetica Neue",Helvetica,Roboto,Arial,sans-serif;font-size:1rem;padding:1rem}.accordion .accordion-navigation>a:hover,.accordion dd>a:hover{background:#e3e3e3}.accordion .accordion-navigation>.content,.accordion dd>.content{display:none;padding:0.9375rem}.accordion .accordion-navigation>.content.active,.accordion dd>.content.active{background:#fff;display:block}.text-left{text-align:left !important}.text-right{text-align:right !important}.text-center{text-align:center !important}.text-justify{text-align:justify !important}@media only screen and (max-width: 40em){.small-only-text-left{text-align:left !important}.small-only-text-right{text-align:right !important}.small-only-text-center{text-align:center !important}.small-only-text-justify{text-align:justify !important}}@media only screen{.small-text-left{text-align:left !important}.small-text-right{text-align:right !important}.small-text-center{text-align:center !important}.small-text-justify{text-align:justify !important}}@media only screen and (min-width: 40.0625em) and (max-width: 64em){.medium-only-text-left{text-align:left !important}.medium-only-text-right{text-align:right !important}.medium-only-text-center{text-align:center !important}.medium-only-text-justify{text-align:justify !important}}@media only screen and (min-width: 40.0625em){.medium-text-left{text-align:left !important}.medium-text-right{text-align:right !important}.medium-text-center{text-align:center !important}.medium-text-justify{text-align:justify !important}}@media only screen and (min-width: 64.0625em) and (max-width: 90em){.large-only-text-left{text-align:left !important}.large-only-text-right{text-align:right !important}.large-only-text-center{text-align:center !important}.large-only-text-justify{text-align:justify !important}}@media only screen and (min-width: 64.0625em){.large-text-left{text-align:left !important}.large-text-right{text-align:right !important}.large-text-center{text-align:center !important}.large-text-justify{text-align:justify !important}}@media only screen and (min-width: 90.0625em) and (max-width: 120em){.xlarge-only-text-left{text-align:left !important}.xlarge-only-text-right{text-align:right !important}.xlarge-only-text-center{text-align:center !important}.xlarge-only-text-justify{text-align:justify !important}}@media only screen and (min-width: 90.0625em){.xlarge-text-left{text-align:left !important}.xlarge-text-right{text-align:right !important}.xlarge-text-center{text-align:center !important}.xlarge-text-justify{text-align:justify !important}}@media only screen and (min-width: 120.0625em) and (max-width: 6249999.9375em){.xxlarge-only-text-left{text-align:left !important}.xxlarge-only-text-right{text-align:right !important}.xxlarge-only-text-center{text-align:center !important}.xxlarge-only-text-justify{text-align:justify !important}}@media only screen and (min-width: 120.0625em){.xxlarge-text-left{text-align:left !important}.xxlarge-text-right{text-align:right !important}.xxlarge-text-center{text-align:center !important}.xxlarge-text-justify{text-align:justify !important}}div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,form,p,blockquote,th,td{margin:0;padding:0}a{color:#008CBA;line-height:inherit;text-decoration:none}a:hover,a:focus{color:#0078a0}a img{border:none}p{font-family:inherit;font-size:1rem;font-weight:normal;line-height:1.6;margin-bottom:1.25rem;text-rendering:optimizeLegibility}p.lead{font-size:1.21875rem;line-height:1.6}p aside{font-size:0.875rem;font-style:italic;line-height:1.35}h1,h2,h3,h4,h5,h6{color:#222;font-family:"Helvetica Neue",Helvetica,Roboto,Arial,sans-serif;font-style:normal;font-weight:normal;line-height:1.4;margin-bottom:0.5rem;margin-top:0.2rem;text-rendering:optimizeLegibility}h1 small,h2 small,h3 small,h4 small,h5 small,h6 small{color:#6f6f6f;font-size:60%;line-height:0}h1{font-size:2.125rem}h2{font-size:1.6875rem}h3{font-size:1.375rem}h4{font-size:1.125rem}h5{font-size:1.125rem}h6{font-size:1rem}.subheader{line-height:1.4;color:#6f6f6f;font-weight:normal;margin-top:0.2rem;margin-bottom:0.5rem}hr{border:solid #ddd;border-width:1px 0 0;clear:both;height:0;margin:1.25rem 0 1.1875rem}em,i{font-style:italic;line-height:inherit}strong,b{font-weight:bold;line-height:inherit}small{font-size:60%;line-height:inherit}code{background-color:#f8f8f8;border-color:#dfdfdf;border-style:solid;border-width:1px;color:#333;font-family:Consolas,"Liberation Mono",Courier,monospace;font-weight:normal;padding:0.125rem 0.3125rem 0.0625rem}ul,ol,dl{font-family:inherit;font-size:1rem;line-height:1.6;list-style-position:outside;margin-bottom:1.25rem}ul{margin-left:1.1rem}ul.no-bullet{margin-left:0}ul.no-bullet li ul,ul.no-bullet li ol{margin-left:1.25rem;margin-bottom:0;list-style:none}ul li ul,ul li ol{margin-left:1.25rem;margin-bottom:0}ul.square li ul,ul.circle li ul,ul.disc li ul{list-style:inherit}ul.square{list-style-type:square;margin-left:1.1rem}ul.circle{list-style-type:circle;margin-left:1.1rem}ul.disc{list-style-type:disc;margin-left:1.1rem}ul.no-bullet{list-style:none}ol{margin-left:1.4rem}ol li ul,ol li ol{margin-left:1.25rem;margin-bottom:0}dl dt{margin-bottom:0.3rem;font-weight:bold}dl dd{margin-bottom:0.75rem}abbr,acronym{text-transform:uppercase;font-size:90%;color:#222;cursor:help}abbr{text-transform:none}abbr[title]{border-bottom:1px dotted #ddd}blockquote{margin:0 0 1.25rem;padding:0.5625rem 1.25rem 0 1.1875rem;border-left:1px solid #ddd}blockquote cite{display:block;font-size:0.8125rem;color:#555}blockquote cite:before{content:"\2014 \0020"}blockquote cite a,blockquote cite a:visited{color:#555}blockquote,blockquote p{line-height:1.6;color:#6f6f6f}.vcard{display:inline-block;margin:0 0 1.25rem 0;border:1px solid #ddd;padding:0.625rem 0.75rem}.vcard li{margin:0;display:block}.vcard .fn{font-weight:bold;font-size:0.9375rem}.vevent .summary{font-weight:bold}.vevent abbr{cursor:default;text-decoration:none;font-weight:bold;border:none;padding:0 0.0625rem}@media only screen and (min-width: 40.0625em){h1,h2,h3,h4,h5,h6{line-height:1.4}h1{font-size:2.75rem}h2{font-size:2.3125rem}h3{font-size:1.6875rem}h4{font-size:1.4375rem}h5{font-size:1.125rem}h6{font-size:1rem}}.split.button{position:relative;padding-right:5.0625rem}.split.button span{display:block;height:100%;position:absolute;right:0;top:0;border-left:solid 1px}.split.button span:after{position:absolute;content:"";width:0;height:0;display:block;border-style:inset;top:50%;left:50%}.split.button span:active{background-color:rgba(0,0,0,0.1)}.split.button span{border-left-color:rgba(255,255,255,0.5)}.split.button span{width:3.09375rem}.split.button span:after{border-top-style:solid;border-width:0.375rem;margin-left:-0.375rem;top:48%}.split.button span:after{border-color:#fff transparent transparent transparent}.split.button.secondary span{border-left-color:rgba(255,255,255,0.5)}.split.button.secondary span:after{border-color:#fff transparent transparent transparent}.split.button.alert span{border-left-color:rgba(255,255,255,0.5)}.split.button.success span{border-left-color:rgba(255,255,255,0.5)}.split.button.tiny{padding-right:3.75rem}.split.button.tiny span{width:2.25rem}.split.button.tiny span:after{border-top-style:solid;border-width:0.375rem;margin-left:-0.375rem;top:48%}.split.button.small{padding-right:4.375rem}.split.button.small span{width:2.625rem}.split.button.small span:after{border-top-style:solid;border-width:0.4375rem;margin-left:-0.375rem;top:48%}.split.button.large{padding-right:5.5rem}.split.button.large span{width:3.4375rem}.split.button.large span:after{border-top-style:solid;border-width:0.3125rem;margin-left:-0.375rem;top:48%}.split.button.expand{padding-left:2rem}.split.button.secondary span:after{border-color:#333 transparent transparent transparent}.split.button.radius span{-webkit-border-bottom-right-radius:3px;-webkit-border-top-right-radius:3px;border-bottom-right-radius:3px;border-top-right-radius:3px}.split.button.round span{-webkit-border-bottom-right-radius:1000px;-webkit-border-top-right-radius:1000px;border-bottom-right-radius:1000px;border-top-right-radius:1000px}.split.button.no-pip span:before{border-style:none}.split.button.no-pip span:after{border-style:none}.split.button.no-pip span>i{display:block;left:50%;margin-left:-0.28889em;margin-top:-0.48889em;position:absolute;top:50%}.reveal-modal-bg{background:#000;background:rgba(0,0,0,0.45);bottom:0;display:none;left:0;position:fixed;right:0;top:0;z-index:1004;left:0}.reveal-modal{border-radius:3px;display:none;position:absolute;top:0;visibility:hidden;width:100%;z-index:1005;left:0;background-color:#fff;padding:1.875rem;border:solid 1px #666;box-shadow:0 0 10px rgba(0,0,0,0.4)}@media only screen and (max-width: 40em){.reveal-modal{min-height:100vh}}.reveal-modal .column,.reveal-modal .columns{min-width:0}.reveal-modal>:first-child{margin-top:0}.reveal-modal>:last-child{margin-bottom:0}@media only screen and (min-width: 40.0625em){.reveal-modal{left:0;margin:0 auto;max-width:62.5rem;right:0;width:80%}}@media only screen and (min-width: 40.0625em){.reveal-modal{top:6.25rem}}.reveal-modal.radius{border-radius:3px}.reveal-modal.round{border-radius:1000px}.reveal-modal.collapse{padding:0}@media only screen and (min-width: 40.0625em){.reveal-modal.tiny{left:0;margin:0 auto;max-width:62.5rem;right:0;width:30%}}@media only screen and (min-width: 40.0625em){.reveal-modal.small{left:0;margin:0 auto;max-width:62.5rem;right:0;width:40%}}@media only screen and (min-width: 40.0625em){.reveal-modal.medium{left:0;margin:0 auto;max-width:62.5rem;right:0;width:60%}}@media only screen and (min-width: 40.0625em){.reveal-modal.large{left:0;margin:0 auto;max-width:62.5rem;right:0;width:70%}}@media only screen and (min-width: 40.0625em){.reveal-modal.xlarge{left:0;margin:0 auto;max-width:62.5rem;right:0;width:95%}}.reveal-modal.full{height:100vh;height:100%;left:0;margin-left:0 !important;max-width:none !important;min-height:100vh;top:0}@media only screen and (min-width: 40.0625em){.reveal-modal.full{left:0;margin:0 auto;max-width:62.5rem;right:0;width:100%}}.reveal-modal.toback{z-index:1003}.reveal-modal .close-reveal-modal{color:#aaa;cursor:pointer;font-size:2.5rem;font-weight:bold;line-height:1;position:absolute;top:0.625rem;right:1.375rem}.has-tip{border-bottom:dotted 1px #ccc;color:#333;cursor:help;font-weight:bold}.has-tip:hover,.has-tip:focus{border-bottom:dotted 1px #003f54;color:#008CBA}.has-tip.tip-left,.has-tip.tip-right{float:none !important}.tooltip{background:#333;color:#fff;display:none;font-size:0.875rem;font-weight:normal;line-height:1.3;max-width:300px;padding:0.75rem;position:absolute;width:100%;z-index:1006;left:50%}.tooltip>.nub{border-color:transparent transparent #333 transparent;border:solid 5px;display:block;height:0;pointer-events:none;position:absolute;top:-10px;width:0;left:5px}.tooltip>.nub.rtl{left:auto;right:5px}.tooltip.radius{border-radius:3px}.tooltip.round{border-radius:1000px}.tooltip.round>.nub{left:2rem}.tooltip.opened{border-bottom:dotted 1px #003f54 !important;color:#008CBA !important}.tap-to-close{color:#777;display:block;font-size:0.625rem;font-weight:normal}@media only screen and (min-width: 40.0625em){.tooltip>.nub{border-color:transparent transparent #333 transparent;top:-10px}.tooltip.tip-top>.nub{border-color:#333 transparent transparent transparent;bottom:-10px;top:auto}.tooltip.tip-left,.tooltip.tip-right{float:none !important}.tooltip.tip-left>.nub{border-color:transparent transparent transparent #333;left:auto;margin-top:-5px;right:-10px;top:50%}.tooltip.tip-right>.nub{border-color:transparent #333 transparent transparent;left:-10px;margin-top:-5px;right:auto;top:50%}}.clearing-thumbs,[data-clearing]{list-style:none;margin-left:0;margin-bottom:0}.clearing-thumbs:before,.clearing-thumbs:after,[data-clearing]:before,[data-clearing]:after{content:" ";display:table}.clearing-thumbs:after,[data-clearing]:after{clear:both}.clearing-thumbs li,[data-clearing] li{float:left;margin-right:10px}.clearing-thumbs[class*="block-grid-"] li,[data-clearing][class*="block-grid-"] li{margin-right:0}.clearing-blackout{background:#333;height:100%;position:fixed;top:0;width:100%;z-index:998;left:0}.clearing-blackout .clearing-close{display:block}.clearing-container{height:100%;margin:0;overflow:hidden;position:relative;z-index:998}.clearing-touch-label{color:#aaa;font-size:.6em;left:50%;position:absolute;top:50%}.visible-img{height:95%;position:relative}.visible-img img{position:absolute;left:50%;top:50%;-webkit-transform:translateY(-50%) translateX(-50%);-moz-transform:translateY(-50%) translateX(-50%);-ms-transform:translateY(-50%) translateX(-50%);-o-transform:translateY(-50%) translateX(-50%);transform:translateY(-50%) translateX(-50%);max-height:100%;max-width:100%}.clearing-caption{background:#333;bottom:0;color:#ccc;font-size:0.875em;line-height:1.3;margin-bottom:0;padding:10px 30px 20px;position:absolute;text-align:center;width:100%;left:0}.clearing-close{color:#ccc;display:none;font-size:30px;line-height:1;padding-left:20px;padding-top:10px;z-index:999}.clearing-close:hover,.clearing-close:focus{color:#ccc}.clearing-assembled .clearing-container{height:100%}.clearing-assembled .clearing-container .carousel>ul{display:none}.clearing-feature li{display:none}.clearing-feature li.clearing-featured-img{display:block}@media only screen and (min-width: 40.0625em){.clearing-main-prev,.clearing-main-next{height:100%;position:absolute;top:0;width:40px}.clearing-main-prev>span,.clearing-main-next>span{border:solid 12px;display:block;height:0;position:absolute;top:50%;width:0}.clearing-main-prev>span:hover,.clearing-main-next>span:hover{opacity:.8}.clearing-main-prev{left:0}.clearing-main-prev>span{left:5px;border-color:transparent;border-right-color:#ccc}.clearing-main-next{right:0}.clearing-main-next>span{border-color:transparent;border-left-color:#ccc}.clearing-main-prev.disabled,.clearing-main-next.disabled{opacity:.3}.clearing-assembled .clearing-container .carousel{background:rgba(51,51,51,0.8);height:120px;margin-top:10px;text-align:center}.clearing-assembled .clearing-container .carousel>ul{display:inline-block;z-index:999;height:100%;position:relative;float:none}.clearing-assembled .clearing-container .carousel>ul li{clear:none;cursor:pointer;display:block;float:left;margin-right:0;min-height:inherit;opacity:.4;overflow:hidden;padding:0;position:relative;width:120px}.clearing-assembled .clearing-container .carousel>ul li.fix-height img{height:100%;max-width:none}.clearing-assembled .clearing-container .carousel>ul li a.th{border:none;box-shadow:none;display:block}.clearing-assembled .clearing-container .carousel>ul li img{cursor:pointer !important;width:100% !important}.clearing-assembled .clearing-container .carousel>ul li.visible{opacity:1}.clearing-assembled .clearing-container .carousel>ul li:hover{opacity:.8}.clearing-assembled .clearing-container .visible-img{background:#333;height:85%;overflow:hidden}.clearing-close{padding-left:0;padding-top:0;position:absolute;top:10px;right:20px}}.progress{background-color:#F6F6F6;border:1px solid #fff;height:1.5625rem;margin-bottom:0.625rem;padding:0.125rem}.progress .meter{background:#008CBA;display:block;height:100%}.progress.secondary .meter{background:#e7e7e7;display:block;height:100%}.progress.success .meter{background:#43AC6A;display:block;height:100%}.progress.alert .meter{background:#f04124;display:block;height:100%}.progress.radius{border-radius:3px}.progress.radius .meter{border-radius:2px}.progress.round{border-radius:1000px}.progress.round .meter{border-radius:999px}.sub-nav{display:block;margin:-0.25rem 0 1.125rem;overflow:hidden;padding-top:0.25rem;width:auto}.sub-nav dt{text-transform:uppercase}.sub-nav dt,.sub-nav dd,.sub-nav li{color:#999;float:left;font-family:"Helvetica Neue",Helvetica,Roboto,Arial,sans-serif;font-size:0.875rem;font-weight:normal;margin-left:1rem;margin-bottom:0}.sub-nav dt a,.sub-nav dd a,.sub-nav li a{color:#999;padding:0.1875rem 1rem;text-decoration:none}.sub-nav dt a:hover,.sub-nav dd a:hover,.sub-nav li a:hover{color:#737373}.sub-nav dt.active a,.sub-nav dd.active a,.sub-nav li.active a{border-radius:3px;background:#008CBA;color:#fff;cursor:default;font-weight:normal;padding:0.1875rem 1rem}.sub-nav dt.active a:hover,.sub-nav dd.active a:hover,.sub-nav li.active a:hover{background:#0078a0}.joyride-list{display:none}.joyride-tip-guide{background:#333;color:#fff;display:none;font-family:inherit;font-weight:normal;position:absolute;top:0;width:95%;z-index:101;left:2.5%}.lt-ie9 .joyride-tip-guide{margin-left:-400px;max-width:800px;left:50%}.joyride-content-wrapper{padding:1.125rem 1.25rem 1.5rem;width:100%}.joyride-content-wrapper .button{margin-bottom:0 !important}.joyride-content-wrapper .joyride-prev-tip{margin-right:10px}.joyride-tip-guide .joyride-nub{border:10px solid #333;display:block;height:0;position:absolute;width:0;left:22px}.joyride-tip-guide .joyride-nub.top{border-color:#333;border-top-color:transparent !important;border-top-style:solid;border-left-color:transparent !important;border-right-color:transparent !important;top:-20px}.joyride-tip-guide .joyride-nub.bottom{border-color:#333 !important;border-bottom-color:transparent !important;border-bottom-style:solid;border-left-color:transparent !important;border-right-color:transparent !important;bottom:-20px}.joyride-tip-guide .joyride-nub.right{right:-20px}.joyride-tip-guide .joyride-nub.left{left:-20px}.joyride-tip-guide h1,.joyride-tip-guide h2,.joyride-tip-guide h3,.joyride-tip-guide h4,.joyride-tip-guide h5,.joyride-tip-guide h6{color:#fff;font-weight:bold;line-height:1.25;margin:0}.joyride-tip-guide p{font-size:0.875rem;line-height:1.3;margin:0 0 1.125rem 0}.joyride-timer-indicator-wrap{border:solid 1px #555;bottom:1rem;height:3px;position:absolute;width:50px;right:1.0625rem}.joyride-timer-indicator{background:#666;display:block;height:inherit;width:0}.joyride-close-tip{color:#777 !important;font-size:24px;font-weight:normal;line-height:.5 !important;position:absolute;text-decoration:none;top:10px;right:12px}.joyride-close-tip:hover,.joyride-close-tip:focus{color:#eee !important}.joyride-modal-bg{background:rgba(0,0,0,0.5);cursor:pointer;display:none;height:100%;position:fixed;top:0;width:100%;z-index:100;left:0}.joyride-expose-wrapper{background-color:#fff;border-radius:3px;box-shadow:0 0 15px #fff;position:absolute;z-index:102}.joyride-expose-cover{background:transparent;border-radius:3px;left:0;position:absolute;top:0;z-index:9999}@media only screen and (min-width: 40.0625em){.joyride-tip-guide{width:300px;left:inherit}.joyride-tip-guide .joyride-nub.bottom{border-color:#333 !important;border-bottom-color:transparent !important;border-left-color:transparent !important;border-right-color:transparent !important;bottom:-20px}.joyride-tip-guide .joyride-nub.right{border-color:#333 !important;border-right-color:transparent !important;border-bottom-color:transparent !important;border-top-color:transparent !important;left:auto;right:-20px;top:22px}.joyride-tip-guide .joyride-nub.left{border-color:#333 !important;border-bottom-color:transparent !important;border-left-color:transparent !important;border-top-color:transparent !important;left:-20px;right:auto;top:22px}}.label{display:inline-block;font-family:"Helvetica Neue",Helvetica,Roboto,Arial,sans-serif;font-weight:normal;line-height:1;margin-bottom:auto;position:relative;text-align:center;text-decoration:none;white-space:nowrap;padding:0.25rem 0.5rem 0.25rem;font-size:0.6875rem;background-color:#008CBA;color:#fff}.label.radius{border-radius:3px}.label.round{border-radius:1000px}.label.alert{background-color:#f04124;color:#fff}.label.warning{background-color:#f08a24;color:#fff}.label.success{background-color:#43AC6A;color:#fff}.label.secondary{background-color:#e7e7e7;color:#333}.label.info{background-color:#a0d3e8;color:#333}.off-canvas-wrap{-webkit-backface-visibility:hidden;position:relative;width:100%;overflow:hidden}.off-canvas-wrap.move-right,.off-canvas-wrap.move-left{min-height:100%;-webkit-overflow-scrolling:touch}.inner-wrap{position:relative;width:100%;-webkit-transition:-webkit-transform 500ms ease;-moz-transition:-moz-transform 500ms ease;-ms-transition:-ms-transform 500ms ease;-o-transition:-o-transform 500ms ease;transition:transform 500ms ease}.inner-wrap:before,.inner-wrap:after{content:" ";display:table}.inner-wrap:after{clear:both}.tab-bar{-webkit-backface-visibility:hidden;background:#333;color:#fff;height:2.8125rem;line-height:2.8125rem;position:relative}.tab-bar h1,.tab-bar h2,.tab-bar h3,.tab-bar h4,.tab-bar h5,.tab-bar h6{color:#fff;font-weight:bold;line-height:2.8125rem;margin:0}.tab-bar h1,.tab-bar h2,.tab-bar h3,.tab-bar h4{font-size:1.125rem}.left-small{height:2.8125rem;position:absolute;top:0;width:2.8125rem;border-right:solid 1px #1a1a1a;left:0}.right-small{height:2.8125rem;position:absolute;top:0;width:2.8125rem;border-left:solid 1px #1a1a1a;right:0}.tab-bar-section{height:2.8125rem;padding:0 0.625rem;position:absolute;text-align:center;top:0}.tab-bar-section.left{text-align:left}.tab-bar-section.right{text-align:right}.tab-bar-section.left{left:0;right:2.8125rem}.tab-bar-section.right{left:2.8125rem;right:0}.tab-bar-section.middle{left:2.8125rem;right:2.8125rem}.tab-bar .menu-icon{color:#fff;display:block;height:2.8125rem;padding:0;position:relative;text-indent:2.1875rem;transform:translate3d(0, 0, 0);width:2.8125rem}.tab-bar .menu-icon span::after{content:"";display:block;height:0;position:absolute;top:50%;margin-top:-0.5rem;left:0.90625rem;box-shadow:0 0 0 1px #fff,0 7px 0 1px #fff,0 14px 0 1px #fff;width:1rem}.tab-bar .menu-icon span:hover:after{box-shadow:0 0 0 1px #b3b3b3,0 7px 0 1px #b3b3b3,0 14px 0 1px #b3b3b3}.left-off-canvas-menu{-webkit-backface-visibility:hidden;background:#333;bottom:0;box-sizing:content-box;-webkit-overflow-scrolling:touch;-ms-overflow-style:-ms-autohiding-scrollbar;overflow-x:hidden;overflow-y:auto;position:absolute;top:0;transition:transform 500ms ease 0s;width:15.625rem;z-index:1001;-webkit-transform:translate3d(-100%, 0, 0);-moz-transform:translate3d(-100%, 0, 0);-ms-transform:translate(-100%, 0);-ms-transform:translate3d(-100%, 0, 0);-o-transform:translate3d(-100%, 0, 0);transform:translate3d(-100%, 0, 0);left:0}.left-off-canvas-menu *{-webkit-backface-visibility:hidden}.right-off-canvas-menu{-webkit-backface-visibility:hidden;background:#333;bottom:0;box-sizing:content-box;-webkit-overflow-scrolling:touch;-ms-overflow-style:-ms-autohiding-scrollbar;overflow-x:hidden;overflow-y:auto;position:absolute;top:0;transition:transform 500ms ease 0s;width:15.625rem;z-index:1001;-webkit-transform:translate3d(100%, 0, 0);-moz-transform:translate3d(100%, 0, 0);-ms-transform:translate(100%, 0);-ms-transform:translate3d(100%, 0, 0);-o-transform:translate3d(100%, 0, 0);transform:translate3d(100%, 0, 0);right:0}.right-off-canvas-menu *{-webkit-backface-visibility:hidden}ul.off-canvas-list{list-style-type:none;margin:0;padding:0}ul.off-canvas-list li label{background:#444;border-bottom:none;border-top:1px solid #5e5e5e;color:#999;display:block;font-size:0.75rem;font-weight:bold;margin:0;padding:0.3rem 0.9375rem;text-transform:uppercase}ul.off-canvas-list li a{border-bottom:1px solid #262626;color:rgba(255,255,255,0.7);display:block;padding:0.66667rem;transition:background 300ms ease}ul.off-canvas-list li a:hover{background:#242424}ul.off-canvas-list li a:active{background:#242424}.move-right>.inner-wrap{-webkit-transform:translate3d(15.625rem, 0, 0);-moz-transform:translate3d(15.625rem, 0, 0);-ms-transform:translate(15.625rem, 0);-ms-transform:translate3d(15.625rem, 0, 0);-o-transform:translate3d(15.625rem, 0, 0);transform:translate3d(15.625rem, 0, 0)}.move-right .exit-off-canvas{-webkit-backface-visibility:hidden;box-shadow:-4px 0 4px rgba(0,0,0,0.5),4px 0 4px rgba(0,0,0,0.5);cursor:pointer;transition:background 300ms ease;-webkit-tap-highlight-color:transparent;background:rgba(255,255,255,0.2);bottom:0;display:block;left:0;position:absolute;right:0;top:0;z-index:1002}@media only screen and (min-width: 40.0625em){.move-right .exit-off-canvas:hover{background:rgba(255,255,255,0.05)}}.move-left>.inner-wrap{-webkit-transform:translate3d(-15.625rem, 0, 0);-moz-transform:translate3d(-15.625rem, 0, 0);-ms-transform:translate(-15.625rem, 0);-ms-transform:translate3d(-15.625rem, 0, 0);-o-transform:translate3d(-15.625rem, 0, 0);transform:translate3d(-15.625rem, 0, 0)}.move-left .exit-off-canvas{-webkit-backface-visibility:hidden;box-shadow:-4px 0 4px rgba(0,0,0,0.5),4px 0 4px rgba(0,0,0,0.5);cursor:pointer;transition:background 300ms ease;-webkit-tap-highlight-color:transparent;background:rgba(255,255,255,0.2);bottom:0;display:block;left:0;position:absolute;right:0;top:0;z-index:1002}@media only screen and (min-width: 40.0625em){.move-left .exit-off-canvas:hover{background:rgba(255,255,255,0.05)}}.offcanvas-overlap .left-off-canvas-menu,.offcanvas-overlap .right-off-canvas-menu{-ms-transform:none;-webkit-transform:none;-moz-transform:none;-o-transform:none;transform:none;z-index:1003}.offcanvas-overlap .exit-off-canvas{-webkit-backface-visibility:hidden;box-shadow:-4px 0 4px rgba(0,0,0,0.5),4px 0 4px rgba(0,0,0,0.5);cursor:pointer;transition:background 300ms ease;-webkit-tap-highlight-color:transparent;background:rgba(255,255,255,0.2);bottom:0;display:block;left:0;position:absolute;right:0;top:0;z-index:1002}@media only screen and (min-width: 40.0625em){.offcanvas-overlap .exit-off-canvas:hover{background:rgba(255,255,255,0.05)}}.offcanvas-overlap-left .right-off-canvas-menu{-ms-transform:none;-webkit-transform:none;-moz-transform:none;-o-transform:none;transform:none;z-index:1003}.offcanvas-overlap-left .exit-off-canvas{-webkit-backface-visibility:hidden;box-shadow:-4px 0 4px rgba(0,0,0,0.5),4px 0 4px rgba(0,0,0,0.5);cursor:pointer;transition:background 300ms ease;-webkit-tap-highlight-color:transparent;background:rgba(255,255,255,0.2);bottom:0;display:block;left:0;position:absolute;right:0;top:0;z-index:1002}@media only screen and (min-width: 40.0625em){.offcanvas-overlap-left .exit-off-canvas:hover{background:rgba(255,255,255,0.05)}}.offcanvas-overlap-right .left-off-canvas-menu{-ms-transform:none;-webkit-transform:none;-moz-transform:none;-o-transform:none;transform:none;z-index:1003}.offcanvas-overlap-right .exit-off-canvas{-webkit-backface-visibility:hidden;box-shadow:-4px 0 4px rgba(0,0,0,0.5),4px 0 4px rgba(0,0,0,0.5);cursor:pointer;transition:background 300ms ease;-webkit-tap-highlight-color:transparent;background:rgba(255,255,255,0.2);bottom:0;display:block;left:0;position:absolute;right:0;top:0;z-index:1002}@media only screen and (min-width: 40.0625em){.offcanvas-overlap-right .exit-off-canvas:hover{background:rgba(255,255,255,0.05)}}.no-csstransforms .left-off-canvas-menu{left:-15.625rem}.no-csstransforms .right-off-canvas-menu{right:-15.625rem}.no-csstransforms .move-left>.inner-wrap{right:15.625rem}.no-csstransforms .move-right>.inner-wrap{left:15.625rem}.left-submenu{-webkit-backface-visibility:hidden;-webkit-overflow-scrolling:touch;background:#333;bottom:0;box-sizing:content-box;margin:0;overflow-x:hidden;overflow-y:auto;position:absolute;top:0;width:15.625rem;z-index:1002;-webkit-transform:translate3d(-100%, 0, 0);-moz-transform:translate3d(-100%, 0, 0);-ms-transform:translate(-100%, 0);-ms-transform:translate3d(-100%, 0, 0);-o-transform:translate3d(-100%, 0, 0);transform:translate3d(-100%, 0, 0);left:0;-webkit-transition:-webkit-transform 500ms ease;-moz-transition:-moz-transform 500ms ease;-ms-transition:-ms-transform 500ms ease;-o-transition:-o-transform 500ms ease;transition:transform 500ms ease}.left-submenu *{-webkit-backface-visibility:hidden}.left-submenu .back>a{background:#444;border-bottom:none;border-top:1px solid #5e5e5e;color:#999;font-weight:bold;padding:0.3rem 0.9375rem;text-transform:uppercase;margin:0}.left-submenu .back>a:hover{background:#303030;border-bottom:none;border-top:1px solid #5e5e5e}.left-submenu .back>a:before{content:"\AB";margin-right:.5rem;display:inline}.left-submenu.move-right,.left-submenu.offcanvas-overlap-right,.left-submenu.offcanvas-overlap{-webkit-transform:translate3d(0%, 0, 0);-moz-transform:translate3d(0%, 0, 0);-ms-transform:translate(0%, 0);-ms-transform:translate3d(0%, 0, 0);-o-transform:translate3d(0%, 0, 0);transform:translate3d(0%, 0, 0)}.right-submenu{-webkit-backface-visibility:hidden;-webkit-overflow-scrolling:touch;background:#333;bottom:0;box-sizing:content-box;margin:0;overflow-x:hidden;overflow-y:auto;position:absolute;top:0;width:15.625rem;z-index:1002;-webkit-transform:translate3d(100%, 0, 0);-moz-transform:translate3d(100%, 0, 0);-ms-transform:translate(100%, 0);-ms-transform:translate3d(100%, 0, 0);-o-transform:translate3d(100%, 0, 0);transform:translate3d(100%, 0, 0);right:0;-webkit-transition:-webkit-transform 500ms ease;-moz-transition:-moz-transform 500ms ease;-ms-transition:-ms-transform 500ms ease;-o-transition:-o-transform 500ms ease;transition:transform 500ms ease}.right-submenu *{-webkit-backface-visibility:hidden}.right-submenu .back>a{background:#444;border-bottom:none;border-top:1px solid #5e5e5e;color:#999;font-weight:bold;padding:0.3rem 0.9375rem;text-transform:uppercase;margin:0}.right-submenu .back>a:hover{background:#303030;border-bottom:none;border-top:1px solid #5e5e5e}.right-submenu .back>a:after{content:"\BB";margin-left:.5rem;display:inline}.right-submenu.move-left,.right-submenu.offcanvas-overlap-left,.right-submenu.offcanvas-overlap{-webkit-transform:translate3d(0%, 0, 0);-moz-transform:translate3d(0%, 0, 0);-ms-transform:translate(0%, 0);-ms-transform:translate3d(0%, 0, 0);-o-transform:translate3d(0%, 0, 0);transform:translate3d(0%, 0, 0)}.left-off-canvas-menu ul.off-canvas-list li.has-submenu>a:after{content:"\BB";margin-left:.5rem;display:inline}.right-off-canvas-menu ul.off-canvas-list li.has-submenu>a:before{content:"\AB";margin-right:.5rem;display:inline}.f-dropdown{display:none;left:-9999px;list-style:none;margin-left:0;position:absolute;background:#fff;border:solid 1px #ccc;font-size:0.875rem;height:auto;max-height:none;width:100%;z-index:89;margin-top:2px;max-width:200px}.f-dropdown.open{display:block}.f-dropdown>*:first-child{margin-top:0}.f-dropdown>*:last-child{margin-bottom:0}.f-dropdown:before{border:inset 6px;content:"";display:block;height:0;width:0;border-color:transparent transparent #fff transparent;border-bottom-style:solid;position:absolute;top:-12px;left:10px;z-index:89}.f-dropdown:after{border:inset 7px;content:"";display:block;height:0;width:0;border-color:transparent transparent #ccc transparent;border-bottom-style:solid;position:absolute;top:-14px;left:9px;z-index:88}.f-dropdown.right:before{left:auto;right:10px}.f-dropdown.right:after{left:auto;right:9px}.f-dropdown.drop-right{display:none;left:-9999px;list-style:none;margin-left:0;position:absolute;background:#fff;border:solid 1px #ccc;font-size:0.875rem;height:auto;max-height:none;width:100%;z-index:89;margin-top:0;margin-left:2px;max-width:200px}.f-dropdown.drop-right.open{display:block}.f-dropdown.drop-right>*:first-child{margin-top:0}.f-dropdown.drop-right>*:last-child{margin-bottom:0}.f-dropdown.drop-right:before{border:inset 6px;content:"";display:block;height:0;width:0;border-color:transparent #fff transparent transparent;border-right-style:solid;position:absolute;top:10px;left:-12px;z-index:89}.f-dropdown.drop-right:after{border:inset 7px;content:"";display:block;height:0;width:0;border-color:transparent #ccc transparent transparent;border-right-style:solid;position:absolute;top:9px;left:-14px;z-index:88}.f-dropdown.drop-left{display:none;left:-9999px;list-style:none;margin-left:0;position:absolute;background:#fff;border:solid 1px #ccc;font-size:0.875rem;height:auto;max-height:none;width:100%;z-index:89;margin-top:0;margin-left:-2px;max-width:200px}.f-dropdown.drop-left.open{display:block}.f-dropdown.drop-left>*:first-child{margin-top:0}.f-dropdown.drop-left>*:last-child{margin-bottom:0}.f-dropdown.drop-left:before{border:inset 6px;content:"";display:block;height:0;width:0;border-color:transparent transparent transparent #fff;border-left-style:solid;position:absolute;top:10px;right:-12px;left:auto;z-index:89}.f-dropdown.drop-left:after{border:inset 7px;content:"";display:block;height:0;width:0;border-color:transparent transparent transparent #ccc;border-left-style:solid;position:absolute;top:9px;right:-14px;left:auto;z-index:88}.f-dropdown.drop-top{display:none;left:-9999px;list-style:none;margin-left:0;position:absolute;background:#fff;border:solid 1px #ccc;font-size:0.875rem;height:auto;max-height:none;width:100%;z-index:89;margin-left:0;margin-top:-2px;max-width:200px}.f-dropdown.drop-top.open{display:block}.f-dropdown.drop-top>*:first-child{margin-top:0}.f-dropdown.drop-top>*:last-child{margin-bottom:0}.f-dropdown.drop-top:before{border:inset 6px;content:"";display:block;height:0;width:0;border-color:#fff transparent transparent transparent;border-top-style:solid;bottom:-12px;position:absolute;top:auto;left:10px;right:auto;z-index:89}.f-dropdown.drop-top:after{border:inset 7px;content:"";display:block;height:0;width:0;border-color:#ccc transparent transparent transparent;border-top-style:solid;bottom:-14px;position:absolute;top:auto;left:9px;right:auto;z-index:88}.f-dropdown li{cursor:pointer;font-size:0.875rem;line-height:1.125rem;margin:0}.f-dropdown li:hover,.f-dropdown li:focus{background:#eee}.f-dropdown li.radius{border-radius:3px}.f-dropdown li a{display:block;padding:0.5rem;color:#555}.f-dropdown.content{display:none;left:-9999px;list-style:none;margin-left:0;position:absolute;background:#fff;border:solid 1px #ccc;font-size:0.875rem;height:auto;max-height:none;padding:1.25rem;width:100%;z-index:89;max-width:200px}.f-dropdown.content.open{display:block}.f-dropdown.content>*:first-child{margin-top:0}.f-dropdown.content>*:last-child{margin-bottom:0}.f-dropdown.tiny{max-width:200px}.f-dropdown.small{max-width:300px}.f-dropdown.medium{max-width:500px}.f-dropdown.large{max-width:800px}.f-dropdown.mega{width:100% !important;max-width:100% !important}.f-dropdown.mega.open{left:0 !important}table{background:#fff;border:solid 1px #ddd;margin-bottom:1.25rem;table-layout:auto}table caption{background:transparent;color:#222;font-size:1rem;font-weight:bold}table thead{background:#F5F5F5}table thead tr th,table thead tr td{color:#222;font-size:0.875rem;font-weight:bold;padding:0.5rem 0.625rem 0.625rem}table tfoot{background:#F5F5F5}table tfoot tr th,table tfoot tr td{color:#222;font-size:0.875rem;font-weight:bold;padding:0.5rem 0.625rem 0.625rem}table tr th,table tr td{color:#222;font-size:0.875rem;padding:0.5625rem 0.625rem;text-align:left}table tr.even,table tr.alt,table tr:nth-of-type(even){background:#F9F9F9}table thead tr th,table tfoot tr th,table tfoot tr td,table tbody tr th,table tbody tr td,table tr td{display:table-cell;line-height:1.125rem}.range-slider{border:1px solid #ddd;margin:1.25rem 0;position:relative;-ms-touch-action:none;touch-action:none;display:block;height:1rem;width:100%;background:#FAFAFA}.range-slider.vertical-range{border:1px solid #ddd;margin:1.25rem 0;position:relative;-ms-touch-action:none;touch-action:none;display:inline-block;height:12.5rem;width:1rem}.range-slider.vertical-range .range-slider-handle{bottom:-10.5rem;margin-left:-0.5rem;margin-top:0;position:absolute}.range-slider.vertical-range .range-slider-active-segment{border-bottom-left-radius:inherit;border-bottom-right-radius:inherit;border-top-left-radius:initial;bottom:0;height:auto;width:0.875rem}.range-slider.radius{background:#FAFAFA;border-radius:3px}.range-slider.radius .range-slider-handle{background:#008CBA;border-radius:3px}.range-slider.radius .range-slider-handle:hover{background:#007ba4}.range-slider.round{background:#FAFAFA;border-radius:1000px}.range-slider.round .range-slider-handle{background:#008CBA;border-radius:1000px}.range-slider.round .range-slider-handle:hover{background:#007ba4}.range-slider.disabled,.range-slider[disabled]{background:#FAFAFA;cursor:not-allowed;opacity:0.7}.range-slider.disabled .range-slider-handle,.range-slider[disabled] .range-slider-handle{background:#008CBA;cursor:default;opacity:0.7}.range-slider.disabled .range-slider-handle:hover,.range-slider[disabled] .range-slider-handle:hover{background:#007ba4}.range-slider-active-segment{background:#e5e5e5;border-bottom-left-radius:inherit;border-top-left-radius:inherit;display:inline-block;height:0.875rem;position:absolute}.range-slider-handle{border:1px solid none;cursor:pointer;display:inline-block;height:1.375rem;position:absolute;top:-0.3125rem;width:2rem;z-index:1;-ms-touch-action:manipulation;touch-action:manipulation;background:#008CBA}.range-slider-handle:hover{background:#007ba4}[class*="block-grid-"]{display:block;padding:0;margin:0 -0.625rem}[class*="block-grid-"]:before,[class*="block-grid-"]:after{content:" ";display:table}[class*="block-grid-"]:after{clear:both}[class*="block-grid-"]>li{display:block;float:left;height:auto;padding:0 0.625rem 1.25rem}@media only screen{.small-block-grid-1>li{list-style:none;width:100%}.small-block-grid-1>li:nth-of-type(1n){clear:none}.small-block-grid-1>li:nth-of-type(1n+1){clear:both}.small-block-grid-2>li{list-style:none;width:50%}.small-block-grid-2>li:nth-of-type(1n){clear:none}.small-block-grid-2>li:nth-of-type(2n+1){clear:both}.small-block-grid-3>li{list-style:none;width:33.33333%}.small-block-grid-3>li:nth-of-type(1n){clear:none}.small-block-grid-3>li:nth-of-type(3n+1){clear:both}.small-block-grid-4>li{list-style:none;width:25%}.small-block-grid-4>li:nth-of-type(1n){clear:none}.small-block-grid-4>li:nth-of-type(4n+1){clear:both}.small-block-grid-5>li{list-style:none;width:20%}.small-block-grid-5>li:nth-of-type(1n){clear:none}.small-block-grid-5>li:nth-of-type(5n+1){clear:both}.small-block-grid-6>li{list-style:none;width:16.66667%}.small-block-grid-6>li:nth-of-type(1n){clear:none}.small-block-grid-6>li:nth-of-type(6n+1){clear:both}.small-block-grid-7>li{list-style:none;width:14.28571%}.small-block-grid-7>li:nth-of-type(1n){clear:none}.small-block-grid-7>li:nth-of-type(7n+1){clear:both}.small-block-grid-8>li{list-style:none;width:12.5%}.small-block-grid-8>li:nth-of-type(1n){clear:none}.small-block-grid-8>li:nth-of-type(8n+1){clear:both}.small-block-grid-9>li{list-style:none;width:11.11111%}.small-block-grid-9>li:nth-of-type(1n){clear:none}.small-block-grid-9>li:nth-of-type(9n+1){clear:both}.small-block-grid-10>li{list-style:none;width:10%}.small-block-grid-10>li:nth-of-type(1n){clear:none}.small-block-grid-10>li:nth-of-type(10n+1){clear:both}.small-block-grid-11>li{list-style:none;width:9.09091%}.small-block-grid-11>li:nth-of-type(1n){clear:none}.small-block-grid-11>li:nth-of-type(11n+1){clear:both}.small-block-grid-12>li{list-style:none;width:8.33333%}.small-block-grid-12>li:nth-of-type(1n){clear:none}.small-block-grid-12>li:nth-of-type(12n+1){clear:both}}@media only screen and (min-width: 40.0625em){.medium-block-grid-1>li{list-style:none;width:100%}.medium-block-grid-1>li:nth-of-type(1n){clear:none}.medium-block-grid-1>li:nth-of-type(1n+1){clear:both}.medium-block-grid-2>li{list-style:none;width:50%}.medium-block-grid-2>li:nth-of-type(1n){clear:none}.medium-block-grid-2>li:nth-of-type(2n+1){clear:both}.medium-block-grid-3>li{list-style:none;width:33.33333%}.medium-block-grid-3>li:nth-of-type(1n){clear:none}.medium-block-grid-3>li:nth-of-type(3n+1){clear:both}.medium-block-grid-4>li{list-style:none;width:25%}.medium-block-grid-4>li:nth-of-type(1n){clear:none}.medium-block-grid-4>li:nth-of-type(4n+1){clear:both}.medium-block-grid-5>li{list-style:none;width:20%}.medium-block-grid-5>li:nth-of-type(1n){clear:none}.medium-block-grid-5>li:nth-of-type(5n+1){clear:both}.medium-block-grid-6>li{list-style:none;width:16.66667%}.medium-block-grid-6>li:nth-of-type(1n){clear:none}.medium-block-grid-6>li:nth-of-type(6n+1){clear:both}.medium-block-grid-7>li{list-style:none;width:14.28571%}.medium-block-grid-7>li:nth-of-type(1n){clear:none}.medium-block-grid-7>li:nth-of-type(7n+1){clear:both}.medium-block-grid-8>li{list-style:none;width:12.5%}.medium-block-grid-8>li:nth-of-type(1n){clear:none}.medium-block-grid-8>li:nth-of-type(8n+1){clear:both}.medium-block-grid-9>li{list-style:none;width:11.11111%}.medium-block-grid-9>li:nth-of-type(1n){clear:none}.medium-block-grid-9>li:nth-of-type(9n+1){clear:both}.medium-block-grid-10>li{list-style:none;width:10%}.medium-block-grid-10>li:nth-of-type(1n){clear:none}.medium-block-grid-10>li:nth-of-type(10n+1){clear:both}.medium-block-grid-11>li{list-style:none;width:9.09091%}.medium-block-grid-11>li:nth-of-type(1n){clear:none}.medium-block-grid-11>li:nth-of-type(11n+1){clear:both}.medium-block-grid-12>li{list-style:none;width:8.33333%}.medium-block-grid-12>li:nth-of-type(1n){clear:none}.medium-block-grid-12>li:nth-of-type(12n+1){clear:both}}@media only screen and (min-width: 64.0625em){.large-block-grid-1>li{list-style:none;width:100%}.large-block-grid-1>li:nth-of-type(1n){clear:none}.large-block-grid-1>li:nth-of-type(1n+1){clear:both}.large-block-grid-2>li{list-style:none;width:50%}.large-block-grid-2>li:nth-of-type(1n){clear:none}.large-block-grid-2>li:nth-of-type(2n+1){clear:both}.large-block-grid-3>li{list-style:none;width:33.33333%}.large-block-grid-3>li:nth-of-type(1n){clear:none}.large-block-grid-3>li:nth-of-type(3n+1){clear:both}.large-block-grid-4>li{list-style:none;width:25%}.large-block-grid-4>li:nth-of-type(1n){clear:none}.large-block-grid-4>li:nth-of-type(4n+1){clear:both}.large-block-grid-5>li{list-style:none;width:20%}.large-block-grid-5>li:nth-of-type(1n){clear:none}.large-block-grid-5>li:nth-of-type(5n+1){clear:both}.large-block-grid-6>li{list-style:none;width:16.66667%}.large-block-grid-6>li:nth-of-type(1n){clear:none}.large-block-grid-6>li:nth-of-type(6n+1){clear:both}.large-block-grid-7>li{list-style:none;width:14.28571%}.large-block-grid-7>li:nth-of-type(1n){clear:none}.large-block-grid-7>li:nth-of-type(7n+1){clear:both}.large-block-grid-8>li{list-style:none;width:12.5%}.large-block-grid-8>li:nth-of-type(1n){clear:none}.large-block-grid-8>li:nth-of-type(8n+1){clear:both}.large-block-grid-9>li{list-style:none;width:11.11111%}.large-block-grid-9>li:nth-of-type(1n){clear:none}.large-block-grid-9>li:nth-of-type(9n+1){clear:both}.large-block-grid-10>li{list-style:none;width:10%}.large-block-grid-10>li:nth-of-type(1n){clear:none}.large-block-grid-10>li:nth-of-type(10n+1){clear:both}.large-block-grid-11>li{list-style:none;width:9.09091%}.large-block-grid-11>li:nth-of-type(1n){clear:none}.large-block-grid-11>li:nth-of-type(11n+1){clear:both}.large-block-grid-12>li{list-style:none;width:8.33333%}.large-block-grid-12>li:nth-of-type(1n){clear:none}.large-block-grid-12>li:nth-of-type(12n+1){clear:both}}.flex-video{height:0;margin-bottom:1rem;overflow:hidden;padding-bottom:67.5%;padding-top:1.5625rem;position:relative}.flex-video.widescreen{padding-bottom:56.34%}.flex-video.vimeo{padding-top:0}.flex-video iframe,.flex-video object,.flex-video embed,.flex-video video{height:100%;position:absolute;top:0;width:100%;left:0}.keystroke,kbd{background-color:#ededed;border-color:#ddd;color:#222;border-style:solid;border-width:1px;font-family:"Consolas","Menlo","Courier",monospace;font-size:inherit;margin:0;padding:0.125rem 0.25rem 0;border-radius:3px}.switch{border:none;margin-bottom:1.5rem;outline:0;padding:0;position:relative;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.switch label{background:#ddd;color:transparent;cursor:pointer;display:block;margin-bottom:1rem;position:relative;text-indent:100%;width:4rem;height:2rem;transition:left 0.15s ease-out}.switch input{left:10px;opacity:0;padding:0;position:absolute;top:9px}.switch input+label{margin-left:0;margin-right:0}.switch label:after{background:#fff;content:"";display:block;height:1.5rem;left:.25rem;position:absolute;top:.25rem;width:1.5rem;-webkit-transition:left 0.15s ease-out;-moz-transition:left 0.15s ease-out;-o-transition:translate3d(0, 0, 0);transition:left 0.15s ease-out;-webkit-transform:translate3d(0, 0, 0);-moz-transform:translate3d(0, 0, 0);-ms-transform:translate3d(0, 0, 0);-o-transform:translate3d(0, 0, 0);transform:translate3d(0, 0, 0)}.switch input:checked+label{background:#008CBA}.switch input:checked+label:after{left:2.25rem}.switch label{height:2rem;width:4rem}.switch label:after{height:1.5rem;width:1.5rem}.switch input:checked+label:after{left:2.25rem}.switch label{color:transparent;background:#ddd}.switch label:after{background:#fff}.switch input:checked+label{background:#008CBA}.switch.large label{height:2.5rem;width:5rem}.switch.large label:after{height:2rem;width:2rem}.switch.large input:checked+label:after{left:2.75rem}.switch.small label{height:1.75rem;width:3.5rem}.switch.small label:after{height:1.25rem;width:1.25rem}.switch.small input:checked+label:after{left:2rem}.switch.tiny label{height:1.5rem;width:3rem}.switch.tiny label:after{height:1rem;width:1rem}.switch.tiny input:checked+label:after{left:1.75rem}.switch.radius label{border-radius:4px}.switch.radius label:after{border-radius:3px}.switch.round{border-radius:1000px}.switch.round label{border-radius:2rem}.switch.round label:after{border-radius:2rem}@media only screen{.show-for-small-only,.show-for-small-up,.show-for-small,.show-for-small-down,.hide-for-medium-only,.hide-for-medium-up,.hide-for-medium,.show-for-medium-down,.hide-for-large-only,.hide-for-large-up,.hide-for-large,.show-for-large-down,.hide-for-xlarge-only,.hide-for-xlarge-up,.hide-for-xlarge,.show-for-xlarge-down,.hide-for-xxlarge-only,.hide-for-xxlarge-up,.hide-for-xxlarge,.show-for-xxlarge-down{display:inherit !important}.hide-for-small-only,.hide-for-small-up,.hide-for-small,.hide-for-small-down,.show-for-medium-only,.show-for-medium-up,.show-for-medium,.hide-for-medium-down,.show-for-large-only,.show-for-large-up,.show-for-large,.hide-for-large-down,.show-for-xlarge-only,.show-for-xlarge-up,.show-for-xlarge,.hide-for-xlarge-down,.show-for-xxlarge-only,.show-for-xxlarge-up,.show-for-xxlarge,.hide-for-xxlarge-down{display:none !important}.visible-for-small-only,.visible-for-small-up,.visible-for-small,.visible-for-small-down,.hidden-for-medium-only,.hidden-for-medium-up,.hidden-for-medium,.visible-for-medium-down,.hidden-for-large-only,.hidden-for-large-up,.hidden-for-large,.visible-for-large-down,.hidden-for-xlarge-only,.hidden-for-xlarge-up,.hidden-for-xlarge,.visible-for-xlarge-down,.hidden-for-xxlarge-only,.hidden-for-xxlarge-up,.hidden-for-xxlarge,.visible-for-xxlarge-down{position:static !important;height:auto;width:auto;overflow:visible;clip:auto}.hidden-for-small-only,.hidden-for-small-up,.hidden-for-small,.hidden-for-small-down,.visible-for-medium-only,.visible-for-medium-up,.visible-for-medium,.hidden-for-medium-down,.visible-for-large-only,.visible-for-large-up,.visible-for-large,.hidden-for-large-down,.visible-for-xlarge-only,.visible-for-xlarge-up,.visible-for-xlarge,.hidden-for-xlarge-down,.visible-for-xxlarge-only,.visible-for-xxlarge-up,.visible-for-xxlarge,.hidden-for-xxlarge-down{clip:rect(1px, 1px, 1px, 1px);height:1px;overflow:hidden;position:absolute !important;width:1px}table.show-for-small-only,table.show-for-small-up,table.show-for-small,table.show-for-small-down,table.hide-for-medium-only,table.hide-for-medium-up,table.hide-for-medium,table.show-for-medium-down,table.hide-for-large-only,table.hide-for-large-up,table.hide-for-large,table.show-for-large-down,table.hide-for-xlarge-only,table.hide-for-xlarge-up,table.hide-for-xlarge,table.show-for-xlarge-down,table.hide-for-xxlarge-only,table.hide-for-xxlarge-up,table.hide-for-xxlarge,table.show-for-xxlarge-down{display:table !important}thead.show-for-small-only,thead.show-for-small-up,thead.show-for-small,thead.show-for-small-down,thead.hide-for-medium-only,thead.hide-for-medium-up,thead.hide-for-medium,thead.show-for-medium-down,thead.hide-for-large-only,thead.hide-for-large-up,thead.hide-for-large,thead.show-for-large-down,thead.hide-for-xlarge-only,thead.hide-for-xlarge-up,thead.hide-for-xlarge,thead.show-for-xlarge-down,thead.hide-for-xxlarge-only,thead.hide-for-xxlarge-up,thead.hide-for-xxlarge,thead.show-for-xxlarge-down{display:table-header-group !important}tbody.show-for-small-only,tbody.show-for-small-up,tbody.show-for-small,tbody.show-for-small-down,tbody.hide-for-medium-only,tbody.hide-for-medium-up,tbody.hide-for-medium,tbody.show-for-medium-down,tbody.hide-for-large-only,tbody.hide-for-large-up,tbody.hide-for-large,tbody.show-for-large-down,tbody.hide-for-xlarge-only,tbody.hide-for-xlarge-up,tbody.hide-for-xlarge,tbody.show-for-xlarge-down,tbody.hide-for-xxlarge-only,tbody.hide-for-xxlarge-up,tbody.hide-for-xxlarge,tbody.show-for-xxlarge-down{display:table-row-group !important}tr.show-for-small-only,tr.show-for-small-up,tr.show-for-small,tr.show-for-small-down,tr.hide-for-medium-only,tr.hide-for-medium-up,tr.hide-for-medium,tr.show-for-medium-down,tr.hide-for-large-only,tr.hide-for-large-up,tr.hide-for-large,tr.show-for-large-down,tr.hide-for-xlarge-only,tr.hide-for-xlarge-up,tr.hide-for-xlarge,tr.show-for-xlarge-down,tr.hide-for-xxlarge-only,tr.hide-for-xxlarge-up,tr.hide-for-xxlarge,tr.show-for-xxlarge-down{display:table-row}th.show-for-small-only,td.show-for-small-only,th.show-for-small-up,td.show-for-small-up,th.show-for-small,td.show-for-small,th.show-for-small-down,td.show-for-small-down,th.hide-for-medium-only,td.hide-for-medium-only,th.hide-for-medium-up,td.hide-for-medium-up,th.hide-for-medium,td.hide-for-medium,th.show-for-medium-down,td.show-for-medium-down,th.hide-for-large-only,td.hide-for-large-only,th.hide-for-large-up,td.hide-for-large-up,th.hide-for-large,td.hide-for-large,th.show-for-large-down,td.show-for-large-down,th.hide-for-xlarge-only,td.hide-for-xlarge-only,th.hide-for-xlarge-up,td.hide-for-xlarge-up,th.hide-for-xlarge,td.hide-for-xlarge,th.show-for-xlarge-down,td.show-for-xlarge-down,th.hide-for-xxlarge-only,td.hide-for-xxlarge-only,th.hide-for-xxlarge-up,td.hide-for-xxlarge-up,th.hide-for-xxlarge,td.hide-for-xxlarge,th.show-for-xxlarge-down,td.show-for-xxlarge-down{display:table-cell !important}}@media only screen and (min-width: 40.0625em){.hide-for-small-only,.show-for-small-up,.hide-for-small,.hide-for-small-down,.show-for-medium-only,.show-for-medium-up,.show-for-medium,.show-for-medium-down,.hide-for-large-only,.hide-for-large-up,.hide-for-large,.show-for-large-down,.hide-for-xlarge-only,.hide-for-xlarge-up,.hide-for-xlarge,.show-for-xlarge-down,.hide-for-xxlarge-only,.hide-for-xxlarge-up,.hide-for-xxlarge,.show-for-xxlarge-down{display:inherit !important}.show-for-small-only,.hide-for-small-up,.show-for-small,.show-for-small-down,.hide-for-medium-only,.hide-for-medium-up,.hide-for-medium,.hide-for-medium-down,.show-for-large-only,.show-for-large-up,.show-for-large,.hide-for-large-down,.show-for-xlarge-only,.show-for-xlarge-up,.show-for-xlarge,.hide-for-xlarge-down,.show-for-xxlarge-only,.show-for-xxlarge-up,.show-for-xxlarge,.hide-for-xxlarge-down{display:none !important}.hidden-for-small-only,.visible-for-small-up,.hidden-for-small,.hidden-for-small-down,.visible-for-medium-only,.visible-for-medium-up,.visible-for-medium,.visible-for-medium-down,.hidden-for-large-only,.hidden-for-large-up,.hidden-for-large,.visible-for-large-down,.hidden-for-xlarge-only,.hidden-for-xlarge-up,.hidden-for-xlarge,.visible-for-xlarge-down,.hidden-for-xxlarge-only,.hidden-for-xxlarge-up,.hidden-for-xxlarge,.visible-for-xxlarge-down{position:static !important;height:auto;width:auto;overflow:visible;clip:auto}.visible-for-small-only,.hidden-for-small-up,.visible-for-small,.visible-for-small-down,.hidden-for-medium-only,.hidden-for-medium-up,.hidden-for-medium,.hidden-for-medium-down,.visible-for-large-only,.visible-for-large-up,.visible-for-large,.hidden-for-large-down,.visible-for-xlarge-only,.visible-for-xlarge-up,.visible-for-xlarge,.hidden-for-xlarge-down,.visible-for-xxlarge-only,.visible-for-xxlarge-up,.visible-for-xxlarge,.hidden-for-xxlarge-down{clip:rect(1px, 1px, 1px, 1px);height:1px;overflow:hidden;position:absolute !important;width:1px}table.hide-for-small-only,table.show-for-small-up,table.hide-for-small,table.hide-for-small-down,table.show-for-medium-only,table.show-for-medium-up,table.show-for-medium,table.show-for-medium-down,table.hide-for-large-only,table.hide-for-large-up,table.hide-for-large,table.show-for-large-down,table.hide-for-xlarge-only,table.hide-for-xlarge-up,table.hide-for-xlarge,table.show-for-xlarge-down,table.hide-for-xxlarge-only,table.hide-for-xxlarge-up,table.hide-for-xxlarge,table.show-for-xxlarge-down{display:table !important}thead.hide-for-small-only,thead.show-for-small-up,thead.hide-for-small,thead.hide-for-small-down,thead.show-for-medium-only,thead.show-for-medium-up,thead.show-for-medium,thead.show-for-medium-down,thead.hide-for-large-only,thead.hide-for-large-up,thead.hide-for-large,thead.show-for-large-down,thead.hide-for-xlarge-only,thead.hide-for-xlarge-up,thead.hide-for-xlarge,thead.show-for-xlarge-down,thead.hide-for-xxlarge-only,thead.hide-for-xxlarge-up,thead.hide-for-xxlarge,thead.show-for-xxlarge-down{display:table-header-group !important}tbody.hide-for-small-only,tbody.show-for-small-up,tbody.hide-for-small,tbody.hide-for-small-down,tbody.show-for-medium-only,tbody.show-for-medium-up,tbody.show-for-medium,tbody.show-for-medium-down,tbody.hide-for-large-only,tbody.hide-for-large-up,tbody.hide-for-large,tbody.show-for-large-down,tbody.hide-for-xlarge-only,tbody.hide-for-xlarge-up,tbody.hide-for-xlarge,tbody.show-for-xlarge-down,tbody.hide-for-xxlarge-only,tbody.hide-for-xxlarge-up,tbody.hide-for-xxlarge,tbody.show-for-xxlarge-down{display:table-row-group !important}tr.hide-for-small-only,tr.show-for-small-up,tr.hide-for-small,tr.hide-for-small-down,tr.show-for-medium-only,tr.show-for-medium-up,tr.show-for-medium,tr.show-for-medium-down,tr.hide-for-large-only,tr.hide-for-large-up,tr.hide-for-large,tr.show-for-large-down,tr.hide-for-xlarge-only,tr.hide-for-xlarge-up,tr.hide-for-xlarge,tr.show-for-xlarge-down,tr.hide-for-xxlarge-only,tr.hide-for-xxlarge-up,tr.hide-for-xxlarge,tr.show-for-xxlarge-down{display:table-row}th.hide-for-small-only,td.hide-for-small-only,th.show-for-small-up,td.show-for-small-up,th.hide-for-small,td.hide-for-small,th.hide-for-small-down,td.hide-for-small-down,th.show-for-medium-only,td.show-for-medium-only,th.show-for-medium-up,td.show-for-medium-up,th.show-for-medium,td.show-for-medium,th.show-for-medium-down,td.show-for-medium-down,th.hide-for-large-only,td.hide-for-large-only,th.hide-for-large-up,td.hide-for-large-up,th.hide-for-large,td.hide-for-large,th.show-for-large-down,td.show-for-large-down,th.hide-for-xlarge-only,td.hide-for-xlarge-only,th.hide-for-xlarge-up,td.hide-for-xlarge-up,th.hide-for-xlarge,td.hide-for-xlarge,th.show-for-xlarge-down,td.show-for-xlarge-down,th.hide-for-xxlarge-only,td.hide-for-xxlarge-only,th.hide-for-xxlarge-up,td.hide-for-xxlarge-up,th.hide-for-xxlarge,td.hide-for-xxlarge,th.show-for-xxlarge-down,td.show-for-xxlarge-down{display:table-cell !important}}@media only screen and (min-width: 64.0625em){.hide-for-small-only,.show-for-small-up,.hide-for-small,.hide-for-small-down,.hide-for-medium-only,.show-for-medium-up,.hide-for-medium,.hide-for-medium-down,.show-for-large-only,.show-for-large-up,.show-for-large,.show-for-large-down,.hide-for-xlarge-only,.hide-for-xlarge-up,.hide-for-xlarge,.show-for-xlarge-down,.hide-for-xxlarge-only,.hide-for-xxlarge-up,.hide-for-xxlarge,.show-for-xxlarge-down{display:inherit !important}.show-for-small-only,.hide-for-small-up,.show-for-small,.show-for-small-down,.show-for-medium-only,.hide-for-medium-up,.show-for-medium,.show-for-medium-down,.hide-for-large-only,.hide-for-large-up,.hide-for-large,.hide-for-large-down,.show-for-xlarge-only,.show-for-xlarge-up,.show-for-xlarge,.hide-for-xlarge-down,.show-for-xxlarge-only,.show-for-xxlarge-up,.show-for-xxlarge,.hide-for-xxlarge-down{display:none !important}.hidden-for-small-only,.visible-for-small-up,.hidden-for-small,.hidden-for-small-down,.hidden-for-medium-only,.visible-for-medium-up,.hidden-for-medium,.hidden-for-medium-down,.visible-for-large-only,.visible-for-large-up,.visible-for-large,.visible-for-large-down,.hidden-for-xlarge-only,.hidden-for-xlarge-up,.hidden-for-xlarge,.visible-for-xlarge-down,.hidden-for-xxlarge-only,.hidden-for-xxlarge-up,.hidden-for-xxlarge,.visible-for-xxlarge-down{position:static !important;height:auto;width:auto;overflow:visible;clip:auto}.visible-for-small-only,.hidden-for-small-up,.visible-for-small,.visible-for-small-down,.visible-for-medium-only,.hidden-for-medium-up,.visible-for-medium,.visible-for-medium-down,.hidden-for-large-only,.hidden-for-large-up,.hidden-for-large,.hidden-for-large-down,.visible-for-xlarge-only,.visible-for-xlarge-up,.visible-for-xlarge,.hidden-for-xlarge-down,.visible-for-xxlarge-only,.visible-for-xxlarge-up,.visible-for-xxlarge,.hidden-for-xxlarge-down{clip:rect(1px, 1px, 1px, 1px);height:1px;overflow:hidden;position:absolute !important;width:1px}table.hide-for-small-only,table.show-for-small-up,table.hide-for-small,table.hide-for-small-down,table.hide-for-medium-only,table.show-for-medium-up,table.hide-for-medium,table.hide-for-medium-down,table.show-for-large-only,table.show-for-large-up,table.show-for-large,table.show-for-large-down,table.hide-for-xlarge-only,table.hide-for-xlarge-up,table.hide-for-xlarge,table.show-for-xlarge-down,table.hide-for-xxlarge-only,table.hide-for-xxlarge-up,table.hide-for-xxlarge,table.show-for-xxlarge-down{display:table !important}thead.hide-for-small-only,thead.show-for-small-up,thead.hide-for-small,thead.hide-for-small-down,thead.hide-for-medium-only,thead.show-for-medium-up,thead.hide-for-medium,thead.hide-for-medium-down,thead.show-for-large-only,thead.show-for-large-up,thead.show-for-large,thead.show-for-large-down,thead.hide-for-xlarge-only,thead.hide-for-xlarge-up,thead.hide-for-xlarge,thead.show-for-xlarge-down,thead.hide-for-xxlarge-only,thead.hide-for-xxlarge-up,thead.hide-for-xxlarge,thead.show-for-xxlarge-down{display:table-header-group !important}tbody.hide-for-small-only,tbody.show-for-small-up,tbody.hide-for-small,tbody.hide-for-small-down,tbody.hide-for-medium-only,tbody.show-for-medium-up,tbody.hide-for-medium,tbody.hide-for-medium-down,tbody.show-for-large-only,tbody.show-for-large-up,tbody.show-for-large,tbody.show-for-large-down,tbody.hide-for-xlarge-only,tbody.hide-for-xlarge-up,tbody.hide-for-xlarge,tbody.show-for-xlarge-down,tbody.hide-for-xxlarge-only,tbody.hide-for-xxlarge-up,tbody.hide-for-xxlarge,tbody.show-for-xxlarge-down{display:table-row-group !important}tr.hide-for-small-only,tr.show-for-small-up,tr.hide-for-small,tr.hide-for-small-down,tr.hide-for-medium-only,tr.show-for-medium-up,tr.hide-for-medium,tr.hide-for-medium-down,tr.show-for-large-only,tr.show-for-large-up,tr.show-for-large,tr.show-for-large-down,tr.hide-for-xlarge-only,tr.hide-for-xlarge-up,tr.hide-for-xlarge,tr.show-for-xlarge-down,tr.hide-for-xxlarge-only,tr.hide-for-xxlarge-up,tr.hide-for-xxlarge,tr.show-for-xxlarge-down{display:table-row}th.hide-for-small-only,td.hide-for-small-only,th.show-for-small-up,td.show-for-small-up,th.hide-for-small,td.hide-for-small,th.hide-for-small-down,td.hide-for-small-down,th.hide-for-medium-only,td.hide-for-medium-only,th.show-for-medium-up,td.show-for-medium-up,th.hide-for-medium,td.hide-for-medium,th.hide-for-medium-down,td.hide-for-medium-down,th.show-for-large-only,td.show-for-large-only,th.show-for-large-up,td.show-for-large-up,th.show-for-large,td.show-for-large,th.show-for-large-down,td.show-for-large-down,th.hide-for-xlarge-only,td.hide-for-xlarge-only,th.hide-for-xlarge-up,td.hide-for-xlarge-up,th.hide-for-xlarge,td.hide-for-xlarge,th.show-for-xlarge-down,td.show-for-xlarge-down,th.hide-for-xxlarge-only,td.hide-for-xxlarge-only,th.hide-for-xxlarge-up,td.hide-for-xxlarge-up,th.hide-for-xxlarge,td.hide-for-xxlarge,th.show-for-xxlarge-down,td.show-for-xxlarge-down{display:table-cell !important}}@media only screen and (min-width: 90.0625em){.hide-for-small-only,.show-for-small-up,.hide-for-small,.hide-for-small-down,.hide-for-medium-only,.show-for-medium-up,.hide-for-medium,.hide-for-medium-down,.hide-for-large-only,.show-for-large-up,.hide-for-large,.hide-for-large-down,.show-for-xlarge-only,.show-for-xlarge-up,.show-for-xlarge,.show-for-xlarge-down,.hide-for-xxlarge-only,.hide-for-xxlarge-up,.hide-for-xxlarge,.show-for-xxlarge-down{display:inherit !important}.show-for-small-only,.hide-for-small-up,.show-for-small,.show-for-small-down,.show-for-medium-only,.hide-for-medium-up,.show-for-medium,.show-for-medium-down,.show-for-large-only,.hide-for-large-up,.show-for-large,.show-for-large-down,.hide-for-xlarge-only,.hide-for-xlarge-up,.hide-for-xlarge,.hide-for-xlarge-down,.show-for-xxlarge-only,.show-for-xxlarge-up,.show-for-xxlarge,.hide-for-xxlarge-down{display:none !important}.hidden-for-small-only,.visible-for-small-up,.hidden-for-small,.hidden-for-small-down,.hidden-for-medium-only,.visible-for-medium-up,.hidden-for-medium,.hidden-for-medium-down,.hidden-for-large-only,.visible-for-large-up,.hidden-for-large,.hidden-for-large-down,.visible-for-xlarge-only,.visible-for-xlarge-up,.visible-for-xlarge,.visible-for-xlarge-down,.hidden-for-xxlarge-only,.hidden-for-xxlarge-up,.hidden-for-xxlarge,.visible-for-xxlarge-down{position:static !important;height:auto;width:auto;overflow:visible;clip:auto}.visible-for-small-only,.hidden-for-small-up,.visible-for-small,.visible-for-small-down,.visible-for-medium-only,.hidden-for-medium-up,.visible-for-medium,.visible-for-medium-down,.visible-for-large-only,.hidden-for-large-up,.visible-for-large,.visible-for-large-down,.hidden-for-xlarge-only,.hidden-for-xlarge-up,.hidden-for-xlarge,.hidden-for-xlarge-down,.visible-for-xxlarge-only,.visible-for-xxlarge-up,.visible-for-xxlarge,.hidden-for-xxlarge-down{clip:rect(1px, 1px, 1px, 1px);height:1px;overflow:hidden;position:absolute !important;width:1px}table.hide-for-small-only,table.show-for-small-up,table.hide-for-small,table.hide-for-small-down,table.hide-for-medium-only,table.show-for-medium-up,table.hide-for-medium,table.hide-for-medium-down,table.hide-for-large-only,table.show-for-large-up,table.hide-for-large,table.hide-for-large-down,table.show-for-xlarge-only,table.show-for-xlarge-up,table.show-for-xlarge,table.show-for-xlarge-down,table.hide-for-xxlarge-only,table.hide-for-xxlarge-up,table.hide-for-xxlarge,table.show-for-xxlarge-down{display:table !important}thead.hide-for-small-only,thead.show-for-small-up,thead.hide-for-small,thead.hide-for-small-down,thead.hide-for-medium-only,thead.show-for-medium-up,thead.hide-for-medium,thead.hide-for-medium-down,thead.hide-for-large-only,thead.show-for-large-up,thead.hide-for-large,thead.hide-for-large-down,thead.show-for-xlarge-only,thead.show-for-xlarge-up,thead.show-for-xlarge,thead.show-for-xlarge-down,thead.hide-for-xxlarge-only,thead.hide-for-xxlarge-up,thead.hide-for-xxlarge,thead.show-for-xxlarge-down{display:table-header-group !important}tbody.hide-for-small-only,tbody.show-for-small-up,tbody.hide-for-small,tbody.hide-for-small-down,tbody.hide-for-medium-only,tbody.show-for-medium-up,tbody.hide-for-medium,tbody.hide-for-medium-down,tbody.hide-for-large-only,tbody.show-for-large-up,tbody.hide-for-large,tbody.hide-for-large-down,tbody.show-for-xlarge-only,tbody.show-for-xlarge-up,tbody.show-for-xlarge,tbody.show-for-xlarge-down,tbody.hide-for-xxlarge-only,tbody.hide-for-xxlarge-up,tbody.hide-for-xxlarge,tbody.show-for-xxlarge-down{display:table-row-group !important}tr.hide-for-small-only,tr.show-for-small-up,tr.hide-for-small,tr.hide-for-small-down,tr.hide-for-medium-only,tr.show-for-medium-up,tr.hide-for-medium,tr.hide-for-medium-down,tr.hide-for-large-only,tr.show-for-large-up,tr.hide-for-large,tr.hide-for-large-down,tr.show-for-xlarge-only,tr.show-for-xlarge-up,tr.show-for-xlarge,tr.show-for-xlarge-down,tr.hide-for-xxlarge-only,tr.hide-for-xxlarge-up,tr.hide-for-xxlarge,tr.show-for-xxlarge-down{display:table-row}th.hide-for-small-only,td.hide-for-small-only,th.show-for-small-up,td.show-for-small-up,th.hide-for-small,td.hide-for-small,th.hide-for-small-down,td.hide-for-small-down,th.hide-for-medium-only,td.hide-for-medium-only,th.show-for-medium-up,td.show-for-medium-up,th.hide-for-medium,td.hide-for-medium,th.hide-for-medium-down,td.hide-for-medium-down,th.hide-for-large-only,td.hide-for-large-only,th.show-for-large-up,td.show-for-large-up,th.hide-for-large,td.hide-for-large,th.hide-for-large-down,td.hide-for-large-down,th.show-for-xlarge-only,td.show-for-xlarge-only,th.show-for-xlarge-up,td.show-for-xlarge-up,th.show-for-xlarge,td.show-for-xlarge,th.show-for-xlarge-down,td.show-for-xlarge-down,th.hide-for-xxlarge-only,td.hide-for-xxlarge-only,th.hide-for-xxlarge-up,td.hide-for-xxlarge-up,th.hide-for-xxlarge,td.hide-for-xxlarge,th.show-for-xxlarge-down,td.show-for-xxlarge-down{display:table-cell !important}}@media only screen and (min-width: 120.0625em){.hide-for-small-only,.show-for-small-up,.hide-for-small,.hide-for-small-down,.hide-for-medium-only,.show-for-medium-up,.hide-for-medium,.hide-for-medium-down,.hide-for-large-only,.show-for-large-up,.hide-for-large,.hide-for-large-down,.hide-for-xlarge-only,.show-for-xlarge-up,.hide-for-xlarge,.hide-for-xlarge-down,.show-for-xxlarge-only,.show-for-xxlarge-up,.show-for-xxlarge,.show-for-xxlarge-down{display:inherit !important}.show-for-small-only,.hide-for-small-up,.show-for-small,.show-for-small-down,.show-for-medium-only,.hide-for-medium-up,.show-for-medium,.show-for-medium-down,.show-for-large-only,.hide-for-large-up,.show-for-large,.show-for-large-down,.show-for-xlarge-only,.hide-for-xlarge-up,.show-for-xlarge,.show-for-xlarge-down,.hide-for-xxlarge-only,.hide-for-xxlarge-up,.hide-for-xxlarge,.hide-for-xxlarge-down{display:none !important}.hidden-for-small-only,.visible-for-small-up,.hidden-for-small,.hidden-for-small-down,.hidden-for-medium-only,.visible-for-medium-up,.hidden-for-medium,.hidden-for-medium-down,.hidden-for-large-only,.visible-for-large-up,.hidden-for-large,.hidden-for-large-down,.hidden-for-xlarge-only,.visible-for-xlarge-up,.hidden-for-xlarge,.hidden-for-xlarge-down,.visible-for-xxlarge-only,.visible-for-xxlarge-up,.visible-for-xxlarge,.visible-for-xxlarge-down{position:static !important;height:auto;width:auto;overflow:visible;clip:auto}.visible-for-small-only,.hidden-for-small-up,.visible-for-small,.visible-for-small-down,.visible-for-medium-only,.hidden-for-medium-up,.visible-for-medium,.visible-for-medium-down,.visible-for-large-only,.hidden-for-large-up,.visible-for-large,.visible-for-large-down,.visible-for-xlarge-only,.hidden-for-xlarge-up,.visible-for-xlarge,.visible-for-xlarge-down,.hidden-for-xxlarge-only,.hidden-for-xxlarge-up,.hidden-for-xxlarge,.hidden-for-xxlarge-down{clip:rect(1px, 1px, 1px, 1px);height:1px;overflow:hidden;position:absolute !important;width:1px}table.hide-for-small-only,table.show-for-small-up,table.hide-for-small,table.hide-for-small-down,table.hide-for-medium-only,table.show-for-medium-up,table.hide-for-medium,table.hide-for-medium-down,table.hide-for-large-only,table.show-for-large-up,table.hide-for-large,table.hide-for-large-down,table.hide-for-xlarge-only,table.show-for-xlarge-up,table.hide-for-xlarge,table.hide-for-xlarge-down,table.show-for-xxlarge-only,table.show-for-xxlarge-up,table.show-for-xxlarge,table.show-for-xxlarge-down{display:table !important}thead.hide-for-small-only,thead.show-for-small-up,thead.hide-for-small,thead.hide-for-small-down,thead.hide-for-medium-only,thead.show-for-medium-up,thead.hide-for-medium,thead.hide-for-medium-down,thead.hide-for-large-only,thead.show-for-large-up,thead.hide-for-large,thead.hide-for-large-down,thead.hide-for-xlarge-only,thead.show-for-xlarge-up,thead.hide-for-xlarge,thead.hide-for-xlarge-down,thead.show-for-xxlarge-only,thead.show-for-xxlarge-up,thead.show-for-xxlarge,thead.show-for-xxlarge-down{display:table-header-group !important}tbody.hide-for-small-only,tbody.show-for-small-up,tbody.hide-for-small,tbody.hide-for-small-down,tbody.hide-for-medium-only,tbody.show-for-medium-up,tbody.hide-for-medium,tbody.hide-for-medium-down,tbody.hide-for-large-only,tbody.show-for-large-up,tbody.hide-for-large,tbody.hide-for-large-down,tbody.hide-for-xlarge-only,tbody.show-for-xlarge-up,tbody.hide-for-xlarge,tbody.hide-for-xlarge-down,tbody.show-for-xxlarge-only,tbody.show-for-xxlarge-up,tbody.show-for-xxlarge,tbody.show-for-xxlarge-down{display:table-row-group !important}tr.hide-for-small-only,tr.show-for-small-up,tr.hide-for-small,tr.hide-for-small-down,tr.hide-for-medium-only,tr.show-for-medium-up,tr.hide-for-medium,tr.hide-for-medium-down,tr.hide-for-large-only,tr.show-for-large-up,tr.hide-for-large,tr.hide-for-large-down,tr.hide-for-xlarge-only,tr.show-for-xlarge-up,tr.hide-for-xlarge,tr.hide-for-xlarge-down,tr.show-for-xxlarge-only,tr.show-for-xxlarge-up,tr.show-for-xxlarge,tr.show-for-xxlarge-down{display:table-row}th.hide-for-small-only,td.hide-for-small-only,th.show-for-small-up,td.show-for-small-up,th.hide-for-small,td.hide-for-small,th.hide-for-small-down,td.hide-for-small-down,th.hide-for-medium-only,td.hide-for-medium-only,th.show-for-medium-up,td.show-for-medium-up,th.hide-for-medium,td.hide-for-medium,th.hide-for-medium-down,td.hide-for-medium-down,th.hide-for-large-only,td.hide-for-large-only,th.show-for-large-up,td.show-for-large-up,th.hide-for-large,td.hide-for-large,th.hide-for-large-down,td.hide-for-large-down,th.hide-for-xlarge-only,td.hide-for-xlarge-only,th.show-for-xlarge-up,td.show-for-xlarge-up,th.hide-for-xlarge,td.hide-for-xlarge,th.hide-for-xlarge-down,td.hide-for-xlarge-down,th.show-for-xxlarge-only,td.show-for-xxlarge-only,th.show-for-xxlarge-up,td.show-for-xxlarge-up,th.show-for-xxlarge,td.show-for-xxlarge,th.show-for-xxlarge-down,td.show-for-xxlarge-down{display:table-cell !important}}.show-for-landscape,.hide-for-portrait{display:inherit !important}.hide-for-landscape,.show-for-portrait{display:none !important}table.hide-for-landscape,table.show-for-portrait{display:table !important}thead.hide-for-landscape,thead.show-for-portrait{display:table-header-group !important}tbody.hide-for-landscape,tbody.show-for-portrait{display:table-row-group !important}tr.hide-for-landscape,tr.show-for-portrait{display:table-row !important}td.hide-for-landscape,td.show-for-portrait,th.hide-for-landscape,th.show-for-portrait{display:table-cell !important}@media only screen and (orientation: landscape){.show-for-landscape,.hide-for-portrait{display:inherit !important}.hide-for-landscape,.show-for-portrait{display:none !important}table.show-for-landscape,table.hide-for-portrait{display:table !important}thead.show-for-landscape,thead.hide-for-portrait{display:table-header-group !important}tbody.show-for-landscape,tbody.hide-for-portrait{display:table-row-group !important}tr.show-for-landscape,tr.hide-for-portrait{display:table-row !important}td.show-for-landscape,td.hide-for-portrait,th.show-for-landscape,th.hide-for-portrait{display:table-cell !important}}@media only screen and (orientation: portrait){.show-for-portrait,.hide-for-landscape{display:inherit !important}.hide-for-portrait,.show-for-landscape{display:none !important}table.show-for-portrait,table.hide-for-landscape{display:table !important}thead.show-for-portrait,thead.hide-for-landscape{display:table-header-group !important}tbody.show-for-portrait,tbody.hide-for-landscape{display:table-row-group !important}tr.show-for-portrait,tr.hide-for-landscape{display:table-row !important}td.show-for-portrait,td.hide-for-landscape,th.show-for-portrait,th.hide-for-landscape{display:table-cell !important}}.show-for-touch{display:none !important}.hide-for-touch{display:inherit !important}.touch .show-for-touch{display:inherit !important}.touch .hide-for-touch{display:none !important}table.hide-for-touch{display:table !important}.touch table.show-for-touch{display:table !important}thead.hide-for-touch{display:table-header-group !important}.touch thead.show-for-touch{display:table-header-group !important}tbody.hide-for-touch{display:table-row-group !important}.touch tbody.show-for-touch{display:table-row-group !important}tr.hide-for-touch{display:table-row !important}.touch tr.show-for-touch{display:table-row !important}td.hide-for-touch{display:table-cell !important}.touch td.show-for-touch{display:table-cell !important}th.hide-for-touch{display:table-cell !important}.touch th.show-for-touch{display:table-cell !important}.show-for-sr{clip:rect(1px, 1px, 1px, 1px);height:1px;overflow:hidden;position:absolute !important;width:1px}.show-on-focus{clip:rect(1px, 1px, 1px, 1px);height:1px;overflow:hidden;position:absolute !important;width:1px}.show-on-focus:focus,.show-on-focus:active{position:static !important;height:auto;width:auto;overflow:visible;clip:auto}.print-only{display:none !important}@media print{*{background:transparent !important;box-shadow:none !important;color:#000 !important;text-shadow:none !important}.show-for-print{display:block}.hide-for-print{display:none}table.show-for-print{display:table !important}thead.show-for-print{display:table-header-group !important}tbody.show-for-print{display:table-row-group !important}tr.show-for-print{display:table-row !important}td.show-for-print{display:table-cell !important}th.show-for-print{display:table-cell !important}a,a:visited{text-decoration:underline}a[href]:after{content:" (" attr(href) ")"}abbr[title]:after{content:" (" attr(title) ")"}.ir a:after,a[href^="javascript:"]:after,a[href^="#"]:after{content:""}pre,blockquote{border:1px solid #999;page-break-inside:avoid}thead{display:table-header-group}tr,img{page-break-inside:avoid}img{max-width:100% !important}@page{margin:.5cm}p,h2,h3{orphans:3;widows:3}h2,h3{page-break-after:avoid}.hide-on-print{display:none !important}.print-only{display:block !important}.hide-for-print{display:none !important}.show-for-print{display:inherit !important}}@media print{.show-for-print{display:block}.hide-for-print{display:none}table.show-for-print{display:table !important}thead.show-for-print{display:table-header-group !important}tbody.show-for-print{display:table-row-group !important}tr.show-for-print{display:table-row !important}td.show-for-print{display:table-cell !important}th.show-for-print{display:table-cell !important}}@media not print{.show-for-print{display:none !important}}
+@charset "UTF-8";
+/*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */html{font-family:sans-serif;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body{margin:0}article,aside,details,figcaption,figure,footer,header,hgroup,main,menu,nav,section,summary{display:block}audio,canvas,progress,video{display:inline-block;vertical-align:baseline}audio:not([controls]){display:none;height:0}[hidden],template{display:none}a{background-color:transparent}a:active,a:hover{outline:0}abbr[title]{border-bottom:1px dotted}b,strong{font-weight:700}dfn{font-style:italic}h1{font-size:2em;margin:.67em 0}mark{background:#ff0;color:#000}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sup{top:-.5em}sub{bottom:-.25em}img{border:0}svg:not(:root){overflow:hidden}figure{margin:1em 40px}hr{box-sizing:content-box;height:0}pre{overflow:auto}code,kbd,pre,samp{font-family:monospace;font-size:1em}button,input,optgroup,select,textarea{color:inherit;font:inherit;margin:0}button{overflow:visible}button,select{text-transform:none}button,html input[type=button],input[type=reset],input[type=submit]{-webkit-appearance:button;cursor:pointer}button[disabled],html input[disabled]{cursor:not-allowed}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}input{line-height:normal}input[type=checkbox],input[type=radio]{box-sizing:border-box;padding:0}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{height:auto}input[type=search]{-webkit-appearance:textfield;box-sizing:content-box}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}legend{border:0;padding:0}textarea{overflow:auto}optgroup{font-weight:700}table{border-collapse:collapse;border-spacing:0}td,th{padding:0}.foundation-mq{font-family:"small=0em&medium=40em&large=64em&xlarge=75em&xxlarge=90em"}html{font-size:100%;box-sizing:border-box}*,:after,:before{box-sizing:inherit}body{padding:0;margin:0;font-family:Helvetica Neue,Helvetica,Roboto,Arial,sans-serif;font-weight:400;line-height:1.5;color:#0a0a0a;background:#fefefe;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}img{max-width:100%;height:auto;-ms-interpolation-mode:bicubic;display:inline-block;vertical-align:middle}textarea{height:auto;min-height:50px;border-radius:0}select{width:100%;border-radius:0}#map_canvas embed,#map_canvas img,#map_canvas object,.map_canvas embed,.map_canvas img,.map_canvas object,.mqa-display embed,.mqa-display img,.mqa-display object{max-width:none!important}button{-webkit-appearance:none;-moz-appearance:none;background:transparent;padding:0;border:0;border-radius:0;line-height:1}[data-whatinput=mouse] button{outline:0}.is-visible{display:block!important}.is-hidden{display:none!important}.row{max-width:75rem;margin-left:auto;margin-right:auto}.row:after,.row:before{content:' ';display:table}.row:after{clear:both}.row.collapse>.column,.row.collapse>.columns{padding-left:0;padding-right:0}.row .row{max-width:none;margin-left:-.625rem;margin-right:-.625rem}@media screen and (min-width:40em){.row .row{margin-left:-.9375rem;margin-right:-.9375rem}}.row .row.collapse{margin-left:0;margin-right:0}.row.expanded{max-width:none}.row.expanded .row{margin-left:auto;margin-right:auto}.column,.columns{width:100%;float:left;padding-left:.625rem;padding-right:.625rem}@media screen and (min-width:40em){.column,.columns{padding-left:.9375rem;padding-right:.9375rem}}.column:last-child:not(:first-child),.columns:last-child:not(:first-child){float:right}.column.end:last-child:last-child,.end.columns:last-child:last-child{float:left}.column.row.row,.row.row.columns{float:none}.row .column.row.row,.row .row.row.columns{padding-left:0;padding-right:0;margin-left:0;margin-right:0}.small-1{width:8.33333%}.small-push-1{position:relative;left:8.33333%}.small-pull-1{position:relative;left:-8.33333%}.small-offset-0{margin-left:0}.small-2{width:16.66667%}.small-push-2{position:relative;left:16.66667%}.small-pull-2{position:relative;left:-16.66667%}.small-offset-1{margin-left:8.33333%}.small-3{width:25%}.small-push-3{position:relative;left:25%}.small-pull-3{position:relative;left:-25%}.small-offset-2{margin-left:16.66667%}.small-4{width:33.33333%}.small-push-4{position:relative;left:33.33333%}.small-pull-4{position:relative;left:-33.33333%}.small-offset-3{margin-left:25%}.small-5{width:41.66667%}.small-push-5{position:relative;left:41.66667%}.small-pull-5{position:relative;left:-41.66667%}.small-offset-4{margin-left:33.33333%}.small-6{width:50%}.small-push-6{position:relative;left:50%}.small-pull-6{position:relative;left:-50%}.small-offset-5{margin-left:41.66667%}.small-7{width:58.33333%}.small-push-7{position:relative;left:58.33333%}.small-pull-7{position:relative;left:-58.33333%}.small-offset-6{margin-left:50%}.small-8{width:66.66667%}.small-push-8{position:relative;left:66.66667%}.small-pull-8{position:relative;left:-66.66667%}.small-offset-7{margin-left:58.33333%}.small-9{width:75%}.small-push-9{position:relative;left:75%}.small-pull-9{position:relative;left:-75%}.small-offset-8{margin-left:66.66667%}.small-10{width:83.33333%}.small-push-10{position:relative;left:83.33333%}.small-pull-10{position:relative;left:-83.33333%}.small-offset-9{margin-left:75%}.small-11{width:91.66667%}.small-push-11{position:relative;left:91.66667%}.small-pull-11{position:relative;left:-91.66667%}.small-offset-10{margin-left:83.33333%}.small-12{width:100%}.small-offset-11{margin-left:91.66667%}.small-up-1>.column,.small-up-1>.columns{width:100%;float:left}.small-up-1>.column:nth-of-type(1n),.small-up-1>.columns:nth-of-type(1n){clear:none}.small-up-1>.column:nth-of-type(1n+1),.small-up-1>.columns:nth-of-type(1n+1){clear:both}.small-up-1>.column:last-child,.small-up-1>.columns:last-child{float:left}.small-up-2>.column,.small-up-2>.columns{width:50%;float:left}.small-up-2>.column:nth-of-type(1n),.small-up-2>.columns:nth-of-type(1n){clear:none}.small-up-2>.column:nth-of-type(2n+1),.small-up-2>.columns:nth-of-type(2n+1){clear:both}.small-up-2>.column:last-child,.small-up-2>.columns:last-child{float:left}.small-up-3>.column,.small-up-3>.columns{width:33.33333%;float:left}.small-up-3>.column:nth-of-type(1n),.small-up-3>.columns:nth-of-type(1n){clear:none}.small-up-3>.column:nth-of-type(3n+1),.small-up-3>.columns:nth-of-type(3n+1){clear:both}.small-up-3>.column:last-child,.small-up-3>.columns:last-child{float:left}.small-up-4>.column,.small-up-4>.columns{width:25%;float:left}.small-up-4>.column:nth-of-type(1n),.small-up-4>.columns:nth-of-type(1n){clear:none}.small-up-4>.column:nth-of-type(4n+1),.small-up-4>.columns:nth-of-type(4n+1){clear:both}.small-up-4>.column:last-child,.small-up-4>.columns:last-child{float:left}.small-up-5>.column,.small-up-5>.columns{width:20%;float:left}.small-up-5>.column:nth-of-type(1n),.small-up-5>.columns:nth-of-type(1n){clear:none}.small-up-5>.column:nth-of-type(5n+1),.small-up-5>.columns:nth-of-type(5n+1){clear:both}.small-up-5>.column:last-child,.small-up-5>.columns:last-child{float:left}.small-up-6>.column,.small-up-6>.columns{width:16.66667%;float:left}.small-up-6>.column:nth-of-type(1n),.small-up-6>.columns:nth-of-type(1n){clear:none}.small-up-6>.column:nth-of-type(6n+1),.small-up-6>.columns:nth-of-type(6n+1){clear:both}.small-up-6>.column:last-child,.small-up-6>.columns:last-child{float:left}.small-up-7>.column,.small-up-7>.columns{width:14.28571%;float:left}.small-up-7>.column:nth-of-type(1n),.small-up-7>.columns:nth-of-type(1n){clear:none}.small-up-7>.column:nth-of-type(7n+1),.small-up-7>.columns:nth-of-type(7n+1){clear:both}.small-up-7>.column:last-child,.small-up-7>.columns:last-child{float:left}.small-up-8>.column,.small-up-8>.columns{width:12.5%;float:left}.small-up-8>.column:nth-of-type(1n),.small-up-8>.columns:nth-of-type(1n){clear:none}.small-up-8>.column:nth-of-type(8n+1),.small-up-8>.columns:nth-of-type(8n+1){clear:both}.small-up-8>.column:last-child,.small-up-8>.columns:last-child{float:left}.small-collapse>.column,.small-collapse>.columns{padding-left:0;padding-right:0}.expanded.row .small-collapse.row,.small-collapse .row{margin-left:0;margin-right:0}.small-uncollapse>.column,.small-uncollapse>.columns{padding-left:.625rem;padding-right:.625rem}.small-centered{float:none;margin-left:auto;margin-right:auto}.small-pull-0,.small-push-0,.small-uncentered{position:static;margin-left:0;margin-right:0;float:left}@media screen and (min-width:40em){.medium-1{width:8.33333%}.medium-push-1{position:relative;left:8.33333%}.medium-pull-1{position:relative;left:-8.33333%}.medium-offset-0{margin-left:0}.medium-2{width:16.66667%}.medium-push-2{position:relative;left:16.66667%}.medium-pull-2{position:relative;left:-16.66667%}.medium-offset-1{margin-left:8.33333%}.medium-3{width:25%}.medium-push-3{position:relative;left:25%}.medium-pull-3{position:relative;left:-25%}.medium-offset-2{margin-left:16.66667%}.medium-4{width:33.33333%}.medium-push-4{position:relative;left:33.33333%}.medium-pull-4{position:relative;left:-33.33333%}.medium-offset-3{margin-left:25%}.medium-5{width:41.66667%}.medium-push-5{position:relative;left:41.66667%}.medium-pull-5{position:relative;left:-41.66667%}.medium-offset-4{margin-left:33.33333%}.medium-6{width:50%}.medium-push-6{position:relative;left:50%}.medium-pull-6{position:relative;left:-50%}.medium-offset-5{margin-left:41.66667%}.medium-7{width:58.33333%}.medium-push-7{position:relative;left:58.33333%}.medium-pull-7{position:relative;left:-58.33333%}.medium-offset-6{margin-left:50%}.medium-8{width:66.66667%}.medium-push-8{position:relative;left:66.66667%}.medium-pull-8{position:relative;left:-66.66667%}.medium-offset-7{margin-left:58.33333%}.medium-9{width:75%}.medium-push-9{position:relative;left:75%}.medium-pull-9{position:relative;left:-75%}.medium-offset-8{margin-left:66.66667%}.medium-10{width:83.33333%}.medium-push-10{position:relative;left:83.33333%}.medium-pull-10{position:relative;left:-83.33333%}.medium-offset-9{margin-left:75%}.medium-11{width:91.66667%}.medium-push-11{position:relative;left:91.66667%}.medium-pull-11{position:relative;left:-91.66667%}.medium-offset-10{margin-left:83.33333%}.medium-12{width:100%}.medium-offset-11{margin-left:91.66667%}.medium-up-1>.column,.medium-up-1>.columns{width:100%;float:left}.medium-up-1>.column:nth-of-type(1n),.medium-up-1>.columns:nth-of-type(1n){clear:none}.medium-up-1>.column:nth-of-type(1n+1),.medium-up-1>.columns:nth-of-type(1n+1){clear:both}.medium-up-1>.column:last-child,.medium-up-1>.columns:last-child{float:left}.medium-up-2>.column,.medium-up-2>.columns{width:50%;float:left}.medium-up-2>.column:nth-of-type(1n),.medium-up-2>.columns:nth-of-type(1n){clear:none}.medium-up-2>.column:nth-of-type(2n+1),.medium-up-2>.columns:nth-of-type(2n+1){clear:both}.medium-up-2>.column:last-child,.medium-up-2>.columns:last-child{float:left}.medium-up-3>.column,.medium-up-3>.columns{width:33.33333%;float:left}.medium-up-3>.column:nth-of-type(1n),.medium-up-3>.columns:nth-of-type(1n){clear:none}.medium-up-3>.column:nth-of-type(3n+1),.medium-up-3>.columns:nth-of-type(3n+1){clear:both}.medium-up-3>.column:last-child,.medium-up-3>.columns:last-child{float:left}.medium-up-4>.column,.medium-up-4>.columns{width:25%;float:left}.medium-up-4>.column:nth-of-type(1n),.medium-up-4>.columns:nth-of-type(1n){clear:none}.medium-up-4>.column:nth-of-type(4n+1),.medium-up-4>.columns:nth-of-type(4n+1){clear:both}.medium-up-4>.column:last-child,.medium-up-4>.columns:last-child{float:left}.medium-up-5>.column,.medium-up-5>.columns{width:20%;float:left}.medium-up-5>.column:nth-of-type(1n),.medium-up-5>.columns:nth-of-type(1n){clear:none}.medium-up-5>.column:nth-of-type(5n+1),.medium-up-5>.columns:nth-of-type(5n+1){clear:both}.medium-up-5>.column:last-child,.medium-up-5>.columns:last-child{float:left}.medium-up-6>.column,.medium-up-6>.columns{width:16.66667%;float:left}.medium-up-6>.column:nth-of-type(1n),.medium-up-6>.columns:nth-of-type(1n){clear:none}.medium-up-6>.column:nth-of-type(6n+1),.medium-up-6>.columns:nth-of-type(6n+1){clear:both}.medium-up-6>.column:last-child,.medium-up-6>.columns:last-child{float:left}.medium-up-7>.column,.medium-up-7>.columns{width:14.28571%;float:left}.medium-up-7>.column:nth-of-type(1n),.medium-up-7>.columns:nth-of-type(1n){clear:none}.medium-up-7>.column:nth-of-type(7n+1),.medium-up-7>.columns:nth-of-type(7n+1){clear:both}.medium-up-7>.column:last-child,.medium-up-7>.columns:last-child{float:left}.medium-up-8>.column,.medium-up-8>.columns{width:12.5%;float:left}.medium-up-8>.column:nth-of-type(1n),.medium-up-8>.columns:nth-of-type(1n){clear:none}.medium-up-8>.column:nth-of-type(8n+1),.medium-up-8>.columns:nth-of-type(8n+1){clear:both}.medium-up-8>.column:last-child,.medium-up-8>.columns:last-child{float:left}.medium-collapse>.column,.medium-collapse>.columns{padding-left:0;padding-right:0}.expanded.row .medium-collapse.row,.medium-collapse .row{margin-left:0;margin-right:0}.medium-uncollapse>.column,.medium-uncollapse>.columns{padding-left:.9375rem;padding-right:.9375rem}.medium-centered{float:none;margin-left:auto;margin-right:auto}.medium-pull-0,.medium-push-0,.medium-uncentered{position:static;margin-left:0;margin-right:0;float:left}}@media screen and (min-width:64em){.large-1{width:8.33333%}.large-push-1{position:relative;left:8.33333%}.large-pull-1{position:relative;left:-8.33333%}.large-offset-0{margin-left:0}.large-2{width:16.66667%}.large-push-2{position:relative;left:16.66667%}.large-pull-2{position:relative;left:-16.66667%}.large-offset-1{margin-left:8.33333%}.large-3{width:25%}.large-push-3{position:relative;left:25%}.large-pull-3{position:relative;left:-25%}.large-offset-2{margin-left:16.66667%}.large-4{width:33.33333%}.large-push-4{position:relative;left:33.33333%}.large-pull-4{position:relative;left:-33.33333%}.large-offset-3{margin-left:25%}.large-5{width:41.66667%}.large-push-5{position:relative;left:41.66667%}.large-pull-5{position:relative;left:-41.66667%}.large-offset-4{margin-left:33.33333%}.large-6{width:50%}.large-push-6{position:relative;left:50%}.large-pull-6{position:relative;left:-50%}.large-offset-5{margin-left:41.66667%}.large-7{width:58.33333%}.large-push-7{position:relative;left:58.33333%}.large-pull-7{position:relative;left:-58.33333%}.large-offset-6{margin-left:50%}.large-8{width:66.66667%}.large-push-8{position:relative;left:66.66667%}.large-pull-8{position:relative;left:-66.66667%}.large-offset-7{margin-left:58.33333%}.large-9{width:75%}.large-push-9{position:relative;left:75%}.large-pull-9{position:relative;left:-75%}.large-offset-8{margin-left:66.66667%}.large-10{width:83.33333%}.large-push-10{position:relative;left:83.33333%}.large-pull-10{position:relative;left:-83.33333%}.large-offset-9{margin-left:75%}.large-11{width:91.66667%}.large-push-11{position:relative;left:91.66667%}.large-pull-11{position:relative;left:-91.66667%}.large-offset-10{margin-left:83.33333%}.large-12{width:100%}.large-offset-11{margin-left:91.66667%}.large-up-1>.column,.large-up-1>.columns{width:100%;float:left}.large-up-1>.column:nth-of-type(1n),.large-up-1>.columns:nth-of-type(1n){clear:none}.large-up-1>.column:nth-of-type(1n+1),.large-up-1>.columns:nth-of-type(1n+1){clear:both}.large-up-1>.column:last-child,.large-up-1>.columns:last-child{float:left}.large-up-2>.column,.large-up-2>.columns{width:50%;float:left}.large-up-2>.column:nth-of-type(1n),.large-up-2>.columns:nth-of-type(1n){clear:none}.large-up-2>.column:nth-of-type(2n+1),.large-up-2>.columns:nth-of-type(2n+1){clear:both}.large-up-2>.column:last-child,.large-up-2>.columns:last-child{float:left}.large-up-3>.column,.large-up-3>.columns{width:33.33333%;float:left}.large-up-3>.column:nth-of-type(1n),.large-up-3>.columns:nth-of-type(1n){clear:none}.large-up-3>.column:nth-of-type(3n+1),.large-up-3>.columns:nth-of-type(3n+1){clear:both}.large-up-3>.column:last-child,.large-up-3>.columns:last-child{float:left}.large-up-4>.column,.large-up-4>.columns{width:25%;float:left}.large-up-4>.column:nth-of-type(1n),.large-up-4>.columns:nth-of-type(1n){clear:none}.large-up-4>.column:nth-of-type(4n+1),.large-up-4>.columns:nth-of-type(4n+1){clear:both}.large-up-4>.column:last-child,.large-up-4>.columns:last-child{float:left}.large-up-5>.column,.large-up-5>.columns{width:20%;float:left}.large-up-5>.column:nth-of-type(1n),.large-up-5>.columns:nth-of-type(1n){clear:none}.large-up-5>.column:nth-of-type(5n+1),.large-up-5>.columns:nth-of-type(5n+1){clear:both}.large-up-5>.column:last-child,.large-up-5>.columns:last-child{float:left}.large-up-6>.column,.large-up-6>.columns{width:16.66667%;float:left}.large-up-6>.column:nth-of-type(1n),.large-up-6>.columns:nth-of-type(1n){clear:none}.large-up-6>.column:nth-of-type(6n+1),.large-up-6>.columns:nth-of-type(6n+1){clear:both}.large-up-6>.column:last-child,.large-up-6>.columns:last-child{float:left}.large-up-7>.column,.large-up-7>.columns{width:14.28571%;float:left}.large-up-7>.column:nth-of-type(1n),.large-up-7>.columns:nth-of-type(1n){clear:none}.large-up-7>.column:nth-of-type(7n+1),.large-up-7>.columns:nth-of-type(7n+1){clear:both}.large-up-7>.column:last-child,.large-up-7>.columns:last-child{float:left}.large-up-8>.column,.large-up-8>.columns{width:12.5%;float:left}.large-up-8>.column:nth-of-type(1n),.large-up-8>.columns:nth-of-type(1n){clear:none}.large-up-8>.column:nth-of-type(8n+1),.large-up-8>.columns:nth-of-type(8n+1){clear:both}.large-up-8>.column:last-child,.large-up-8>.columns:last-child{float:left}.large-collapse>.column,.large-collapse>.columns{padding-left:0;padding-right:0}.expanded.row .large-collapse.row,.large-collapse .row{margin-left:0;margin-right:0}.large-uncollapse>.column,.large-uncollapse>.columns{padding-left:.9375rem;padding-right:.9375rem}.large-centered{float:none;margin-left:auto;margin-right:auto}.large-pull-0,.large-push-0,.large-uncentered{position:static;margin-left:0;margin-right:0;float:left}}blockquote,dd,div,dl,dt,form,h1,h2,h3,h4,h5,h6,li,ol,p,pre,td,th,ul{margin:0;padding:0}p{font-size:inherit;line-height:1.6;margin-bottom:1rem;text-rendering:optimizeLegibility}em,i{font-style:italic}b,em,i,strong{line-height:inherit}b,strong{font-weight:700}small{font-size:80%;line-height:inherit}h1,h2,h3,h4,h5,h6{font-family:Helvetica Neue,Helvetica,Roboto,Arial,sans-serif;font-weight:400;font-style:normal;color:inherit;text-rendering:optimizeLegibility;margin-top:0;margin-bottom:.5rem;line-height:1.4}h1 small,h2 small,h3 small,h4 small,h5 small,h6 small{color:#cacaca;line-height:0}h1{font-size:1.5rem}h2{font-size:1.25rem}h3{font-size:1.1875rem}h4{font-size:1.125rem}h5{font-size:1.0625rem}h6{font-size:1rem}@media screen and (min-width:40em){h1{font-size:3rem}h2{font-size:2.5rem}h3{font-size:1.9375rem}h4{font-size:1.5625rem}h5{font-size:1.25rem}h6{font-size:1rem}}a{color:#2199e8;text-decoration:none;line-height:inherit;cursor:pointer}a:focus,a:hover{color:#1585cf}a img{border:0}hr{max-width:75rem;height:0;border-right:0;border-top:0;border-bottom:1px solid #cacaca;border-left:0;margin:1.25rem auto;clear:both}dl,ol,ul{line-height:1.6;margin-bottom:1rem;list-style-position:outside}li{font-size:inherit}ul{list-style-type:disc}ol,ul{margin-left:1.25rem}ol ol,ol ul,ul ol,ul ul{margin-left:1.25rem;margin-bottom:0}dl{margin-bottom:1rem}dl dt{margin-bottom:.3rem;font-weight:700}blockquote{margin:0 0 1rem;padding:.5625rem 1.25rem 0 1.1875rem;border-left:1px solid #cacaca}blockquote,blockquote p{line-height:1.6;color:#8a8a8a}cite{display:block;font-size:.8125rem;color:#8a8a8a}cite:before{content:'\2014 \0020'}abbr{color:#0a0a0a;cursor:help;border-bottom:1px dotted #0a0a0a}code{font-weight:400;border:1px solid #cacaca;padding:.125rem .3125rem .0625rem}code,kbd{font-family:Consolas,Liberation Mono,Courier,monospace;color:#0a0a0a;background-color:#e6e6e6}kbd{padding:.125rem .25rem 0;margin:0}.subheader{margin-top:.2rem;margin-bottom:.5rem;font-weight:400;line-height:1.4;color:#8a8a8a}.lead{font-size:125%;line-height:1.6}.stat{font-size:2.5rem;line-height:1}p+.stat{margin-top:-1rem}.no-bullet{margin-left:0;list-style:none}.text-left{text-align:left}.text-right{text-align:right}.text-center{text-align:center}.text-justify{text-align:justify}@media screen and (min-width:40em){.medium-text-left{text-align:left}.medium-text-right{text-align:right}.medium-text-center{text-align:center}.medium-text-justify{text-align:justify}}@media screen and (min-width:64em){.large-text-left{text-align:left}.large-text-right{text-align:right}.large-text-center{text-align:center}.large-text-justify{text-align:justify}}.show-for-print{display:none!important}@media print{*{background:transparent!important;color:#000!important;box-shadow:none!important;text-shadow:none!important}.show-for-print{display:block!important}.hide-for-print{display:none!important}table.show-for-print{display:table!important}thead.show-for-print{display:table-header-group!important}tbody.show-for-print{display:table-row-group!important}tr.show-for-print{display:table-row!important}td.show-for-print,th.show-for-print{display:table-cell!important}a,a:visited{text-decoration:underline}a[href]:after{content:" (" attr(href) ")"}.ir a:after,a[href^='#']:after,a[href^='javascript:']:after{content:''}abbr[title]:after{content:" (" attr(title) ")"}blockquote,pre{border:1px solid #8a8a8a;page-break-inside:avoid}thead{display:table-header-group}img,tr{page-break-inside:avoid}img{max-width:100%!important}@page{margin:.5cm}h2,h3,p{orphans:3;widows:3}h2,h3{page-break-after:avoid}}[type=color],[type=date],[type=datetime-local],[type=datetime],[type=email],[type=month],[type=number],[type=password],[type=search],[type=tel],[type=text],[type=time],[type=url],[type=week],textarea{display:block;box-sizing:border-box;width:100%;height:2.4375rem;padding:.5rem;border:1px solid #cacaca;margin:0 0 1rem;font-family:inherit;font-size:1rem;color:#0a0a0a;background-color:#fefefe;box-shadow:inset 0 1px 2px hsla(0,0%,4%,.1);border-radius:0;-webkit-transition:-webkit-box-shadow .5s,border-color .25s ease-in-out;transition:box-shadow .5s,border-color .25s ease-in-out;-webkit-appearance:none;-moz-appearance:none}[type=color]:focus,[type=date]:focus,[type=datetime-local]:focus,[type=datetime]:focus,[type=email]:focus,[type=month]:focus,[type=number]:focus,[type=password]:focus,[type=search]:focus,[type=tel]:focus,[type=text]:focus,[type=time]:focus,[type=url]:focus,[type=week]:focus,textarea:focus{border:1px solid #8a8a8a;background-color:#fefefe;outline:none;box-shadow:0 0 5px #cacaca;-webkit-transition:-webkit-box-shadow .5s,border-color .25s ease-in-out;transition:box-shadow .5s,border-color .25s ease-in-out}textarea{max-width:100%}textarea[rows]{height:auto}input::-webkit-input-placeholder,textarea::-webkit-input-placeholder{color:#cacaca}input::-moz-placeholder,textarea::-moz-placeholder{color:#cacaca}input:-ms-input-placeholder,textarea:-ms-input-placeholder{color:#cacaca}input::placeholder,textarea::placeholder{color:#cacaca}input:disabled,input[readonly],textarea:disabled,textarea[readonly]{background-color:#e6e6e6;cursor:not-allowed}[type=button],[type=submit]{border-radius:0;-webkit-appearance:none;-moz-appearance:none}input[type=search]{box-sizing:border-box}[type=checkbox],[type=file],[type=radio]{margin:0 0 1rem}[type=checkbox]+label,[type=radio]+label{display:inline-block;margin-left:.5rem;margin-right:1rem;margin-bottom:0;vertical-align:baseline}[type=checkbox]+label[for],[type=radio]+label[for]{cursor:pointer}label>[type=checkbox],label>[type=radio]{margin-right:.5rem}[type=file]{width:100%}label{display:block;margin:0;font-size:.875rem;font-weight:400;line-height:1.8;color:#0a0a0a}label.middle{margin:0 0 1rem;padding:.5625rem 0}.help-text{margin-top:-.5rem;font-size:.8125rem;font-style:italic;color:#0a0a0a}.input-group{display:table;width:100%;margin-bottom:1rem}.input-group>:first-child,.input-group>:last-child>*{border-radius:0 0 0 0}.input-group-button,.input-group-field,.input-group-label{margin:0;white-space:nowrap;display:table-cell;vertical-align:middle}.input-group-label{text-align:center;padding:0 1rem;background:#e6e6e6;color:#0a0a0a;border:1px solid #cacaca;white-space:nowrap;width:1%;height:100%}.input-group-label:first-child{border-right:0}.input-group-label:last-child{border-left:0}.input-group-field{border-radius:0;height:2.5rem}.input-group-button{padding-top:0;padding-bottom:0;text-align:center;height:100%;width:1%}.input-group-button a,.input-group-button button,.input-group-button input{margin:0}.input-group .input-group-button{display:table-cell}fieldset{border:0;padding:0;margin:0}legend{margin-bottom:.5rem;max-width:100%}.fieldset{border:1px solid #cacaca;padding:1.25rem;margin:1.125rem 0}.fieldset legend{background:#fefefe;padding:0 .1875rem;margin:0;margin-left:-.1875rem}select{height:2.4375rem;padding:.5rem;border:1px solid #cacaca;margin:0 0 1rem;font-size:1rem;font-family:inherit;line-height:normal;color:#0a0a0a;background-color:#fefefe;border-radius:0;-webkit-appearance:none;-moz-appearance:none;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' version='1.1' width='32' height='24' viewBox='0 0 32 24'><polygon points='0,0 32,0 16,24' style='fill: rgb%28138, 138, 138%29'></polygon></svg>");background-size:9px 6px;background-position:right -1rem center;background-origin:content-box;background-repeat:no-repeat;padding-right:1.5rem}@media screen and (min-width:0\0){select{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAYCAYAAACbU/80AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAIpJREFUeNrEkckNgDAMBBfRkEt0ObRBBdsGXUDgmQfK4XhH2m8czQAAy27R3tsw4Qfe2x8uOO6oYLb6GlOor3GF+swURAOmUJ+RwtEJs9WvTGEYxBXqI1MQAZhCfUQKRzDMVj+TwrAIV6jvSUEkYAr1LSkcyTBb/V+KYfX7xAeusq3sLDtGH3kEGACPWIflNZfhRQAAAABJRU5ErkJggg==")}}select:disabled{background-color:#e6e6e6;cursor:not-allowed}select::-ms-expand{display:none}select[multiple]{height:auto;background-image:none}.is-invalid-input:not(:focus){background-color:rgba(236,88,64,.1);border-color:#ec5840}.form-error,.is-invalid-label{color:#ec5840}.form-error{display:none;margin-top:-.5rem;margin-bottom:1rem;font-size:.75rem;font-weight:700}.form-error.is-visible{display:block}.button{display:inline-block;text-align:center;line-height:1;cursor:pointer;-webkit-appearance:none;-webkit-transition:background-color .25s ease-out,color .25s ease-out;transition:background-color .25s ease-out,color .25s ease-out;vertical-align:middle;border:1px solid transparent;border-radius:0;padding:.85em 1em;margin:0 0 1rem;font-size:.9rem;background-color:#2199e8;color:#fefefe}[data-whatinput=mouse] .button{outline:0}.button:focus,.button:hover{background-color:#1583cc;color:#fefefe}.button.tiny{font-size:.6rem}.button.small{font-size:.75rem}.button.large{font-size:1.25rem}.button.expanded{display:block;width:100%;margin-left:0;margin-right:0}.button.primary{background-color:#2199e8;color:#fefefe}.button.primary:focus,.button.primary:hover{background-color:#147cc0;color:#fefefe}.button.secondary{background-color:#777;color:#fefefe}.button.secondary:focus,.button.secondary:hover{background-color:#5f5f5f;color:#fefefe}.button.success{background-color:#3adb76;color:#fefefe}.button.success:focus,.button.success:hover{background-color:#22bb5b;color:#fefefe}.button.warning{background-color:#ffae00;color:#fefefe}.button.warning:focus,.button.warning:hover{background-color:#cc8b00;color:#fefefe}.button.alert{background-color:#ec5840;color:#fefefe}.button.alert:focus,.button.alert:hover{background-color:#da3116;color:#fefefe}.button.hollow{border:1px solid #2199e8;color:#2199e8}.button.hollow,.button.hollow:focus,.button.hollow:hover{background-color:transparent}.button.hollow:focus,.button.hollow:hover{border-color:#0c4d78;color:#0c4d78}.button.hollow.primary{border:1px solid #2199e8;color:#2199e8}.button.hollow.primary:focus,.button.hollow.primary:hover{border-color:#0c4d78;color:#0c4d78}.button.hollow.secondary{border:1px solid #777;color:#777}.button.hollow.secondary:focus,.button.hollow.secondary:hover{border-color:#3c3c3c;color:#3c3c3c}.button.hollow.success{border:1px solid #3adb76;color:#3adb76}.button.hollow.success:focus,.button.hollow.success:hover{border-color:#157539;color:#157539}.button.hollow.warning{border:1px solid #ffae00;color:#ffae00}.button.hollow.warning:focus,.button.hollow.warning:hover{border-color:#805700;color:#805700}.button.hollow.alert{border:1px solid #ec5840;color:#ec5840}.button.hollow.alert:focus,.button.hollow.alert:hover{border-color:#881f0e;color:#881f0e}.button.disabled,.button[disabled]{opacity:.25;cursor:not-allowed}.button.disabled:focus,.button.disabled:hover,.button[disabled]:focus,.button[disabled]:hover{background-color:#2199e8;color:#fefefe}.button.dropdown:after{content:'';display:block;width:0;height:0;border:.4em inset;border-color:#fefefe transparent transparent;border-top-style:solid;border-bottom-width:0;position:relative;top:.4em;float:right;margin-left:1em;display:inline-block}.button.arrow-only:after{margin-left:0;float:none;top:-.1em}.accordion{list-style-type:none;background:#fefefe;margin-left:0}.accordion-item:first-child>:first-child,.accordion-item:last-child>:last-child{border-radius:0 0 0 0}.accordion-title{display:block;padding:1.25rem 1rem;line-height:1;font-size:.75rem;color:#2199e8;position:relative;border:1px solid #e6e6e6;border-bottom:0}:last-child:not(.is-active)>.accordion-title{border-radius:0 0 0 0;border-bottom:1px solid #e6e6e6}.accordion-title:focus,.accordion-title:hover{background-color:#e6e6e6}.accordion-title:before{content:'+';position:absolute;right:1rem;top:50%;margin-top:-.5rem}.is-active>.accordion-title:before{content:'–'}.accordion-content{padding:1rem;display:none;border:1px solid #e6e6e6;border-bottom:0;background-color:#fefefe;color:#0a0a0a}:last-child>.accordion-content:last-child{border-bottom:1px solid #e6e6e6}.is-accordion-submenu-parent>a{position:relative}.is-accordion-submenu-parent>a:after{content:'';display:block;width:0;height:0;border:6px inset;border-color:#2199e8 transparent transparent;border-top-style:solid;border-bottom-width:0;position:absolute;top:50%;margin-top:-4px;right:1rem}.is-accordion-submenu-parent[aria-expanded=true]>a:after{-webkit-transform-origin:50% 50%;transform-origin:50% 50%;-webkit-transform:scaleY(-1);transform:scaleY(-1)}.badge{display:inline-block;padding:.3em;min-width:2.1em;font-size:.6rem;text-align:center;border-radius:50%;background:#2199e8;color:#fefefe}.badge.secondary{background:#777;color:#fefefe}.badge.success{background:#3adb76;color:#fefefe}.badge.warning{background:#ffae00;color:#fefefe}.badge.alert{background:#ec5840;color:#fefefe}.breadcrumbs{list-style:none;margin:0 0 1rem}.breadcrumbs:after,.breadcrumbs:before{content:' ';display:table}.breadcrumbs:after{clear:both}.breadcrumbs li{float:left;color:#0a0a0a;font-size:.6875rem;cursor:default;text-transform:uppercase}.breadcrumbs li:not(:last-child):after{color:#cacaca;content:"/";margin:0 .75rem;position:relative;top:1px;opacity:1}.breadcrumbs a{color:#2199e8}.breadcrumbs a:hover{text-decoration:underline}.breadcrumbs .disabled{color:#cacaca;cursor:not-allowed}.button-group{margin-bottom:1rem;font-size:0}.button-group:after,.button-group:before{content:' ';display:table}.button-group:after{clear:both}.button-group .button{margin:0;margin-right:1px;margin-bottom:1px;font-size:.9rem}.button-group .button:last-child{margin-right:0}.button-group.tiny .button{font-size:.6rem}.button-group.small .button{font-size:.75rem}.button-group.large .button{font-size:1.25rem}.button-group.expanded{margin-right:-1px}.button-group.expanded:after,.button-group.expanded:before{display:none}.button-group.expanded .button:first-child:nth-last-child(2),.button-group.expanded .button:first-child:nth-last-child(2):first-child:nth-last-child(2)~.button{display:inline-block;width:calc(50% - 1px);margin-right:1px}.button-group.expanded .button:first-child:nth-last-child(2):first-child:nth-last-child(2)~.button:last-child,.button-group.expanded .button:first-child:nth-last-child(2):last-child{margin-right:-6px}.button-group.expanded .button:first-child:nth-last-child(3),.button-group.expanded .button:first-child:nth-last-child(3):first-child:nth-last-child(3)~.button{display:inline-block;width:calc(33.33333% - 1px);margin-right:1px}.button-group.expanded .button:first-child:nth-last-child(3):first-child:nth-last-child(3)~.button:last-child,.button-group.expanded .button:first-child:nth-last-child(3):last-child{margin-right:-6px}.button-group.expanded .button:first-child:nth-last-child(4),.button-group.expanded .button:first-child:nth-last-child(4):first-child:nth-last-child(4)~.button{display:inline-block;width:calc(25% - 1px);margin-right:1px}.button-group.expanded .button:first-child:nth-last-child(4):first-child:nth-last-child(4)~.button:last-child,.button-group.expanded .button:first-child:nth-last-child(4):last-child{margin-right:-6px}.button-group.expanded .button:first-child:nth-last-child(5),.button-group.expanded .button:first-child:nth-last-child(5):first-child:nth-last-child(5)~.button{display:inline-block;width:calc(20% - 1px);margin-right:1px}.button-group.expanded .button:first-child:nth-last-child(5):first-child:nth-last-child(5)~.button:last-child,.button-group.expanded .button:first-child:nth-last-child(5):last-child{margin-right:-6px}.button-group.expanded .button:first-child:nth-last-child(6),.button-group.expanded .button:first-child:nth-last-child(6):first-child:nth-last-child(6)~.button{display:inline-block;width:calc(16.66667% - 1px);margin-right:1px}.button-group.expanded .button:first-child:nth-last-child(6):first-child:nth-last-child(6)~.button:last-child,.button-group.expanded .button:first-child:nth-last-child(6):last-child{margin-right:-6px}.button-group.primary .button{background-color:#2199e8;color:#fefefe}.button-group.primary .button:focus,.button-group.primary .button:hover{background-color:#147cc0;color:#fefefe}.button-group.secondary .button{background-color:#777;color:#fefefe}.button-group.secondary .button:focus,.button-group.secondary .button:hover{background-color:#5f5f5f;color:#fefefe}.button-group.success .button{background-color:#3adb76;color:#fefefe}.button-group.success .button:focus,.button-group.success .button:hover{background-color:#22bb5b;color:#fefefe}.button-group.warning .button{background-color:#ffae00;color:#fefefe}.button-group.warning .button:focus,.button-group.warning .button:hover{background-color:#cc8b00;color:#fefefe}.button-group.alert .button{background-color:#ec5840;color:#fefefe}.button-group.alert .button:focus,.button-group.alert .button:hover{background-color:#da3116;color:#fefefe}.button-group.stacked-for-medium .button,.button-group.stacked-for-small .button,.button-group.stacked .button{width:100%}.button-group.stacked-for-medium .button:last-child,.button-group.stacked-for-small .button:last-child,.button-group.stacked .button:last-child{margin-bottom:0}@media screen and (min-width:40em){.button-group.stacked-for-small .button{width:auto;margin-bottom:0}}@media screen and (min-width:64em){.button-group.stacked-for-medium .button{width:auto;margin-bottom:0}}@media screen and (max-width:39.9375em){.button-group.stacked-for-small.expanded{display:block}.button-group.stacked-for-small.expanded .button{display:block;margin-right:0}}.callout{margin:0 0 1rem;padding:1rem;border:1px solid hsla(0,0%,4%,.25);border-radius:0;position:relative;color:#0a0a0a;background-color:#fff}.callout>:first-child{margin-top:0}.callout>:last-child{margin-bottom:0}.callout.primary{background-color:#def0fc}.callout.secondary{background-color:#ebebeb}.callout.success{background-color:#e1faea}.callout.warning{background-color:#fff3d9}.callout.alert{background-color:#fce6e2}.callout.small{padding:.5rem}.callout.large{padding:3rem}.close-button{position:absolute;color:#8a8a8a;right:1rem;top:.5rem;font-size:2em;line-height:1;cursor:pointer}[data-whatinput=mouse] .close-button{outline:0}.close-button:focus,.close-button:hover{color:#0a0a0a}.menu{margin:0;list-style-type:none}.menu>li{display:table-cell;vertical-align:middle}[data-whatinput=mouse] .menu>li{outline:0}.menu>li>a{display:block;padding:.7rem 1rem;line-height:1}.menu a,.menu button,.menu input{margin-bottom:0}.menu>li>a i,.menu>li>a i+span,.menu>li>a img,.menu>li>a img+span,.menu>li>a svg,.menu>li>a svg+span{vertical-align:middle}.menu>li>a i,.menu>li>a img,.menu>li>a svg{margin-right:.25rem;display:inline-block}.menu>li{display:table-cell}.menu.vertical>li{display:block}@media screen and (min-width:40em){.menu.medium-horizontal>li{display:table-cell}.menu.medium-vertical>li{display:block}}@media screen and (min-width:64em){.menu.large-horizontal>li{display:table-cell}.menu.large-vertical>li{display:block}}.menu.simple li{line-height:1;display:inline-block;margin-right:1rem}.menu.simple a{padding:0}.menu.align-right:after,.menu.align-right:before{content:' ';display:table}.menu.align-right:after{clear:both}.menu.align-right>li{float:right}.menu.expanded{width:100%;display:table;table-layout:fixed}.menu.expanded>li:first-child:last-child{width:100%}.menu.icon-top>li>a{text-align:center}.menu.icon-top>li>a i,.menu.icon-top>li>a img,.menu.icon-top>li>a svg{display:block;margin:0 auto .25rem}.menu.nested{margin-left:1rem}.menu .active>a{color:#fefefe;background:#2199e8}.menu-text{font-weight:700;color:inherit;line-height:1;padding-top:0;padding-bottom:0;padding:.7rem 1rem}.menu-centered{text-align:center}.menu-centered>.menu{display:inline-block}.no-js [data-responsive-menu] ul{display:none}.menu-icon{position:relative;display:inline-block;vertical-align:middle;cursor:pointer;width:20px;height:16px}.menu-icon:after{content:'';position:absolute;display:block;width:100%;height:2px;background:#fefefe;top:0;left:0;box-shadow:0 7px 0 #fefefe,0 14px 0 #fefefe}.menu-icon:hover:after{background:#cacaca;box-shadow:0 7px 0 #cacaca,0 14px 0 #cacaca}.is-drilldown{position:relative;overflow:hidden}.is-drilldown li{display:block!important}.is-drilldown-submenu{position:absolute;top:0;left:100%;z-index:-1;height:100%;width:100%;background:#fefefe;-webkit-transition:-webkit-transform .15s linear;transition:transform .15s linear}.is-drilldown-submenu.is-active{z-index:1;display:block;-webkit-transform:translateX(-100%);transform:translateX(-100%)}.is-drilldown-submenu.is-closing{-webkit-transform:translateX(100%);transform:translateX(100%)}.is-drilldown-submenu-parent>a{position:relative}.is-drilldown-submenu-parent>a:after{content:'';display:block;width:0;height:0;border:6px inset;border-color:transparent transparent transparent #2199e8;border-left-style:solid;border-right-width:0;position:absolute;top:50%;margin-top:-6px;right:1rem}.js-drilldown-back>a:before{content:'';display:block;width:0;height:0;border:6px inset;border-color:transparent #2199e8 transparent transparent;border-right-style:solid;border-left-width:0;display:inline-block;vertical-align:middle;margin-right:.75rem}.dropdown-pane{background-color:#fefefe;border:1px solid #cacaca;border-radius:0;display:block;font-size:1rem;padding:1rem;position:absolute;visibility:hidden;width:300px;z-index:10}.dropdown-pane.is-open{visibility:visible}.dropdown-pane.tiny{width:100px}.dropdown-pane.small{width:200px}.dropdown-pane.large{width:400px}.dropdown.menu>li.opens-left>.is-dropdown-submenu{left:auto;right:0;top:100%}.dropdown.menu>li.opens-right>.is-dropdown-submenu{right:auto;left:0;top:100%}.dropdown.menu>li.is-dropdown-submenu-parent>a{padding-right:1.5rem;position:relative}.dropdown.menu>li.is-dropdown-submenu-parent>a:after{content:'';display:block;width:0;height:0;border:5px inset;border-color:#2199e8 transparent transparent;border-top-style:solid;border-bottom-width:0;right:5px;margin-top:-2px}[data-whatinput=mouse] .dropdown.menu a{outline:0}.no-js .dropdown.menu ul{display:none}.dropdown.menu.vertical>li .is-dropdown-submenu{top:0}.dropdown.menu.vertical>li.opens-left>.is-dropdown-submenu{left:auto;right:100%}.dropdown.menu.vertical>li.opens-right>.is-dropdown-submenu{right:auto;left:100%}.dropdown.menu.vertical>li>a:after{right:14px;margin-top:-3px}.dropdown.menu.vertical>li.opens-left>a:after{content:'';display:block;width:0;height:0;border:5px inset;border-color:transparent #2199e8 transparent transparent;border-right-style:solid;border-left-width:0}.dropdown.menu.vertical>li.opens-right>a:after{content:'';display:block;width:0;height:0;border:5px inset;border-color:transparent transparent transparent #2199e8;border-left-style:solid;border-right-width:0}@media screen and (min-width:40em){.dropdown.menu.medium-horizontal>li.opens-left>.is-dropdown-submenu{left:auto;right:0;top:100%}.dropdown.menu.medium-horizontal>li.opens-right>.is-dropdown-submenu{right:auto;left:0;top:100%}.dropdown.menu.medium-horizontal>li.is-dropdown-submenu-parent>a{padding-right:1.5rem;position:relative}.dropdown.menu.medium-horizontal>li.is-dropdown-submenu-parent>a:after{content:'';display:block;width:0;height:0;border:5px inset;border-color:#2199e8 transparent transparent;border-top-style:solid;border-bottom-width:0;right:5px;margin-top:-2px}.dropdown.menu.medium-vertical>li .is-dropdown-submenu{top:0}.dropdown.menu.medium-vertical>li.opens-left>.is-dropdown-submenu{left:auto;right:100%}.dropdown.menu.medium-vertical>li.opens-right>.is-dropdown-submenu{right:auto;left:100%}.dropdown.menu.medium-vertical>li>a:after{right:14px;margin-top:-3px}.dropdown.menu.medium-vertical>li.opens-left>a:after{content:'';display:block;width:0;height:0;border:5px inset;border-color:transparent #2199e8 transparent transparent;border-right-style:solid;border-left-width:0}.dropdown.menu.medium-vertical>li.opens-right>a:after{content:'';display:block;width:0;height:0;border:5px inset;border-color:transparent transparent transparent #2199e8;border-left-style:solid;border-right-width:0}}@media screen and (min-width:64em){.dropdown.menu.large-horizontal>li.opens-left>.is-dropdown-submenu{left:auto;right:0;top:100%}.dropdown.menu.large-horizontal>li.opens-right>.is-dropdown-submenu{right:auto;left:0;top:100%}.dropdown.menu.large-horizontal>li.is-dropdown-submenu-parent>a{padding-right:1.5rem;position:relative}.dropdown.menu.large-horizontal>li.is-dropdown-submenu-parent>a:after{content:'';display:block;width:0;height:0;border:5px inset;border-color:#2199e8 transparent transparent;border-top-style:solid;border-bottom-width:0;right:5px;margin-top:-2px}.dropdown.menu.large-vertical>li .is-dropdown-submenu{top:0}.dropdown.menu.large-vertical>li.opens-left>.is-dropdown-submenu{left:auto;right:100%}.dropdown.menu.large-vertical>li.opens-right>.is-dropdown-submenu{right:auto;left:100%}.dropdown.menu.large-vertical>li>a:after{right:14px;margin-top:-3px}.dropdown.menu.large-vertical>li.opens-left>a:after{content:'';display:block;width:0;height:0;border:5px inset;border-color:transparent #2199e8 transparent transparent;border-right-style:solid;border-left-width:0}.dropdown.menu.large-vertical>li.opens-right>a:after{content:'';display:block;width:0;height:0;border:5px inset;border-color:transparent transparent transparent #2199e8;border-left-style:solid;border-right-width:0}}.dropdown.menu.align-right .is-dropdown-submenu.first-sub{top:100%;left:auto;right:0}.is-dropdown-menu.vertical{width:100px}.is-dropdown-menu.vertical.align-right{float:right}.is-dropdown-submenu-parent{position:relative}.is-dropdown-submenu-parent a:after{position:absolute;top:50%;right:5px;margin-top:-2px}.is-dropdown-submenu-parent.opens-inner>.is-dropdown-submenu{top:100%;left:auto}.is-dropdown-submenu-parent.opens-left>.is-dropdown-submenu{left:auto;right:100%}.is-dropdown-submenu-parent.opens-right>.is-dropdown-submenu{right:auto;left:100%}.is-dropdown-submenu{display:none;position:absolute;top:0;left:100%;min-width:200px;z-index:1;background:#fefefe;border:1px solid #cacaca}.is-dropdown-submenu .is-dropdown-submenu-parent>a:after{right:14px;margin-top:-3px}.is-dropdown-submenu .is-dropdown-submenu-parent.opens-left>a:after{content:'';display:block;width:0;height:0;border:5px inset;border-color:transparent #2199e8 transparent transparent;border-right-style:solid;border-left-width:0}.is-dropdown-submenu .is-dropdown-submenu-parent.opens-right>a:after{content:'';display:block;width:0;height:0;border:5px inset;border-color:transparent transparent transparent #2199e8;border-left-style:solid;border-right-width:0}.is-dropdown-submenu .is-dropdown-submenu{margin-top:-1px}.is-dropdown-submenu>li{width:100%}.is-dropdown-submenu.js-dropdown-active{display:block}.flex-video{position:relative;height:0;padding-bottom:75%;margin-bottom:1rem;overflow:hidden}.flex-video embed,.flex-video iframe,.flex-video object,.flex-video video{position:absolute;top:0;left:0;width:100%;height:100%}.flex-video.widescreen{padding-bottom:56.25%}.flex-video.vimeo{padding-top:0}.label{display:inline-block;padding:.33333rem .5rem;font-size:.8rem;line-height:1;white-space:nowrap;cursor:default;border-radius:0;background:#2199e8;color:#fefefe}.label.secondary{background:#777;color:#fefefe}.label.success{background:#3adb76;color:#fefefe}.label.warning{background:#ffae00;color:#fefefe}.label.alert{background:#ec5840;color:#fefefe}.media-object{margin-bottom:1rem;display:block}.media-object img{max-width:none}@media screen and (max-width:39.9375em){.media-object.stack-for-small .media-object-section{padding:0;padding-bottom:1rem;display:block}.media-object.stack-for-small .media-object-section img{width:100%}}.media-object-section{display:table-cell;vertical-align:top}.media-object-section:first-child{padding-right:1rem}.media-object-section:last-child:not(:nth-child(2)){padding-left:1rem}.media-object-section>:last-child{margin-bottom:0}.media-object-section.middle{vertical-align:middle}.media-object-section.bottom{vertical-align:bottom}body,html{height:100%}.off-canvas-wrapper{width:100%;overflow-x:hidden;position:relative;-webkit-backface-visibility:hidden;backface-visibility:hidden;-webkit-overflow-scrolling:auto}.off-canvas-wrapper-inner{position:relative;width:100%;-webkit-transition:-webkit-transform .5s ease;transition:transform .5s ease}.off-canvas-wrapper-inner:after,.off-canvas-wrapper-inner:before{content:' ';display:table}.off-canvas-wrapper-inner:after{clear:both}.off-canvas-content{min-height:100%;background:#fefefe;-webkit-transition:-webkit-transform .5s ease;transition:transform .5s ease;-webkit-backface-visibility:hidden;backface-visibility:hidden;z-index:1;padding-bottom:.1px;box-shadow:0 0 10px hsla(0,0%,4%,.5)}.js-off-canvas-exit{display:none;position:absolute;top:0;left:0;width:100%;height:100%;background:hsla(0,0%,100%,.25);cursor:pointer;-webkit-transition:background .5s ease;transition:background .5s ease}.off-canvas{position:absolute;background:#e6e6e6;z-index:-1;max-height:100%;overflow-y:auto;-webkit-transform:translateX(0);transform:translateX(0)}[data-whatinput=mouse] .off-canvas{outline:0}.off-canvas.position-left{left:-250px;top:0;width:250px}.is-open-left{-webkit-transform:translateX(250px);transform:translateX(250px)}.off-canvas.position-right{right:-250px;top:0;width:250px}.is-open-right{-webkit-transform:translateX(-250px);transform:translateX(-250px)}@media screen and (min-width:40em){.position-left.reveal-for-medium{left:0;z-index:auto;position:fixed}.position-left.reveal-for-medium~.off-canvas-content{margin-left:250px}.position-right.reveal-for-medium{right:0;z-index:auto;position:fixed}.position-right.reveal-for-medium~.off-canvas-content{margin-right:250px}}@media screen and (min-width:64em){.position-left.reveal-for-large{left:0;z-index:auto;position:fixed}.position-left.reveal-for-large~.off-canvas-content{margin-left:250px}.position-right.reveal-for-large{right:0;z-index:auto;position:fixed}.position-right.reveal-for-large~.off-canvas-content{margin-right:250px}}.orbit,.orbit-container{position:relative}.orbit-container{margin:0;overflow:hidden;list-style:none}.orbit-slide{width:100%;max-height:100%}.orbit-slide.no-motionui.is-active{top:0;left:0}.orbit-figure{margin:0}.orbit-image{margin:0;width:100%;max-width:100%}.orbit-caption{bottom:0;width:100%;margin-bottom:0;background-color:hsla(0,0%,4%,.5)}.orbit-caption,.orbit-next,.orbit-previous{position:absolute;padding:1rem;color:#fefefe}.orbit-next,.orbit-previous{top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%);z-index:10}[data-whatinput=mouse] .orbit-next,[data-whatinput=mouse] .orbit-previous{outline:0}.orbit-next:active,.orbit-next:focus,.orbit-next:hover,.orbit-previous:active,.orbit-previous:focus,.orbit-previous:hover{background-color:hsla(0,0%,4%,.5)}.orbit-previous{left:0}.orbit-next{left:auto;right:0}.orbit-bullets{position:relative;margin-top:.8rem;margin-bottom:.8rem;text-align:center}[data-whatinput=mouse] .orbit-bullets{outline:0}.orbit-bullets button{width:1.2rem;height:1.2rem;margin:.1rem;background-color:#cacaca;border-radius:50%}.orbit-bullets button.is-active,.orbit-bullets button:hover{background-color:#8a8a8a}.pagination{margin-left:0;margin-bottom:1rem}.pagination:after,.pagination:before{content:' ';display:table}.pagination:after{clear:both}.pagination li{font-size:.875rem;margin-right:.0625rem;border-radius:0;display:none}.pagination li:first-child,.pagination li:last-child{display:inline-block}@media screen and (min-width:40em){.pagination li{display:inline-block}}.pagination a,.pagination button{color:#0a0a0a;display:block;padding:.1875rem .625rem;border-radius:0}.pagination a:hover,.pagination button:hover{background:#e6e6e6}.pagination .current{padding:.1875rem .625rem;background:#2199e8;color:#fefefe;cursor:default}.pagination .disabled{padding:.1875rem .625rem;color:#cacaca;cursor:not-allowed}.pagination .disabled:hover{background:transparent}.pagination .ellipsis:after{content:'\2026';padding:.1875rem .625rem;color:#0a0a0a}.pagination-previous.disabled:before,.pagination-previous a:before{content:'\00ab';display:inline-block;margin-right:.5rem}.pagination-next.disabled:after,.pagination-next a:after{content:'\00bb';display:inline-block;margin-left:.5rem}.progress{background-color:#cacaca;height:1rem;margin-bottom:1rem;border-radius:0}.progress.primary .progress-meter{background-color:#2199e8}.progress.secondary .progress-meter{background-color:#777}.progress.success .progress-meter{background-color:#3adb76}.progress.warning .progress-meter{background-color:#ffae00}.progress.alert .progress-meter{background-color:#ec5840}.progress-meter{position:relative;display:block;width:0;height:100%;background-color:#2199e8}.progress-meter-text{top:50%;left:50%;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%);position:absolute;margin:0;font-size:.75rem;font-weight:700;color:#fefefe;white-space:nowrap}.slider{position:relative;height:.5rem;margin-top:1.25rem;margin-bottom:2.25rem;background-color:#e6e6e6;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-ms-touch-action:none;touch-action:none}.slider-fill{position:absolute;top:0;left:0;display:inline-block;max-width:100%;height:.5rem;background-color:#cacaca;-webkit-transition:all .2s ease-in-out;transition:all .2s ease-in-out}.slider-fill.is-dragging{-webkit-transition:all 0s linear;transition:all 0s linear}.slider-handle{top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%);position:absolute;left:0;z-index:1;display:inline-block;width:1.4rem;height:1.4rem;background-color:#2199e8;-webkit-transition:all .2s ease-in-out;transition:all .2s ease-in-out;-ms-touch-action:manipulation;touch-action:manipulation;border-radius:0}[data-whatinput=mouse] .slider-handle{outline:0}.slider-handle:hover{background-color:#1583cc}.slider-handle.is-dragging{-webkit-transition:all 0s linear;transition:all 0s linear}.slider.disabled,.slider[disabled]{opacity:.25;cursor:not-allowed}.slider.vertical{display:inline-block;width:.5rem;height:12.5rem;margin:0 1.25rem;-webkit-transform:scaleY(-1);transform:scaleY(-1)}.slider.vertical .slider-fill{top:0;width:.5rem;max-height:100%}.slider.vertical .slider-handle{position:absolute;top:0;left:50%;width:1.4rem;height:1.4rem;-webkit-transform:translateX(-50%);transform:translateX(-50%)}.sticky-container{position:relative}.sticky{position:absolute;z-index:0;-webkit-transform:translateZ(0);transform:translateZ(0)}.sticky.is-stuck{position:fixed;z-index:5}.sticky.is-stuck.is-at-top{top:0}.sticky.is-stuck.is-at-bottom{bottom:0}.sticky.is-anchored{position:absolute;left:auto;right:auto}.sticky.is-anchored.is-at-bottom{bottom:0}body.is-reveal-open{overflow:hidden}html.is-reveal-open,html.is-reveal-open body{height:100%;overflow:hidden;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.reveal-overlay{display:none;position:fixed;top:0;bottom:0;left:0;right:0;z-index:1005;background-color:hsla(0,0%,4%,.45);overflow-y:scroll}.reveal{display:none;z-index:1006;padding:1rem;border:1px solid #cacaca;background-color:#fefefe;border-radius:0;position:relative;top:100px;margin-left:auto;margin-right:auto;overflow-y:auto}[data-whatinput=mouse] .reveal{outline:0}@media screen and (min-width:40em){.reveal{min-height:0}}.reveal .column,.reveal .columns{min-width:0}.reveal>:last-child{margin-bottom:0}@media screen and (min-width:40em){.reveal{width:600px;max-width:75rem}}@media screen and (min-width:40em){.reveal .reveal{left:auto;right:auto;margin:0 auto}}.reveal.collapse{padding:0}@media screen and (min-width:40em){.reveal.tiny{width:30%;max-width:75rem}}@media screen and (min-width:40em){.reveal.small{width:50%;max-width:75rem}}@media screen and (min-width:40em){.reveal.large{width:90%;max-width:75rem}}.reveal.full{top:0;left:0;width:100%;height:100%;height:100vh;min-height:100vh;max-width:none;margin-left:0;border:0;border-radius:0}@media screen and (max-width:39.9375em){.reveal{top:0;left:0;width:100%;height:100%;height:100vh;min-height:100vh;max-width:none;margin-left:0;border:0;border-radius:0}}.reveal.without-overlay{position:fixed}.switch{margin-bottom:1rem;outline:0;position:relative;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;color:#fefefe;font-weight:700;font-size:.875rem}.switch-input{opacity:0;position:absolute}.switch-paddle{background:#cacaca;cursor:pointer;display:block;position:relative;width:4rem;height:2rem;-webkit-transition:all .25s ease-out;transition:all .25s ease-out;border-radius:0;color:inherit;font-weight:inherit}input+.switch-paddle{margin:0}.switch-paddle:after{background:#fefefe;content:'';display:block;position:absolute;height:1.5rem;left:.25rem;top:.25rem;width:1.5rem;-webkit-transition:all .25s ease-out;transition:all .25s ease-out;-webkit-transform:translateZ(0);transform:translateZ(0);border-radius:0}input:checked~.switch-paddle{background:#2199e8}input:checked~.switch-paddle:after{left:2.25rem}[data-whatinput=mouse] input:focus~.switch-paddle{outline:0}.switch-active,.switch-inactive{position:absolute;top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%)}.switch-active{left:8%;display:none}input:checked+label>.switch-active{display:block}.switch-inactive{right:15%}input:checked+label>.switch-inactive{display:none}.switch.tiny .switch-paddle{width:3rem;height:1.5rem;font-size:.625rem}.switch.tiny .switch-paddle:after{width:1rem;height:1rem}.switch.tiny input:checked~.switch-paddle:after{left:1.75rem}.switch.small .switch-paddle{width:3.5rem;height:1.75rem;font-size:.75rem}.switch.small .switch-paddle:after{width:1.25rem;height:1.25rem}.switch.small input:checked~.switch-paddle:after{left:2rem}.switch.large .switch-paddle{width:5rem;height:2.5rem;font-size:1rem}.switch.large .switch-paddle:after{width:2rem;height:2rem}.switch.large input:checked~.switch-paddle:after{left:2.75rem}table{width:100%;margin-bottom:1rem;border-radius:0}table tbody,table tfoot,table thead{border:1px solid #f1f1f1;background-color:#fefefe}table caption{font-weight:700;padding:.5rem .625rem .625rem}table tfoot,table thead{background:#f8f8f8;color:#0a0a0a}table tfoot tr,table thead tr{background:transparent}table tfoot td,table tfoot th,table thead td,table thead th{padding:.5rem .625rem .625rem;font-weight:700;text-align:left}table tbody tr:nth-child(even){background-color:#f1f1f1}table tbody td,table tbody th{padding:.5rem .625rem .625rem}@media screen and (max-width:63.9375em){table.stack tfoot,table.stack thead{display:none}table.stack td,table.stack th,table.stack tr{display:block}table.stack td{border-top:0}}table.scroll{display:block;width:100%;overflow-x:auto}table.hover tr:hover{background-color:#f9f9f9}table.hover tr:nth-of-type(even):hover{background-color:#ececec}.table-scroll{overflow-x:auto}.table-scroll table{width:auto}.tabs{margin:0;list-style-type:none;background:#fefefe;border:1px solid #e6e6e6}.tabs:after,.tabs:before{content:' ';display:table}.tabs:after{clear:both}.tabs.vertical>li{width:auto;float:none;display:block}.tabs.simple>li>a{padding:0}.tabs.simple>li>a:hover{background:transparent}.tabs.primary{background:#2199e8}.tabs.primary>li>a{color:#fefefe}.tabs.primary>li>a:focus,.tabs.primary>li>a:hover{background:#1893e4}.tabs-title{float:left}.tabs-title>a{display:block;padding:1.25rem 1.5rem;line-height:1;font-size:.75rem}.tabs-title>a:hover{background:#fefefe}.tabs-title>a:focus,.tabs-title>a[aria-selected=true]{background:#e6e6e6}.tabs-content{background:#fefefe;-webkit-transition:all .5s ease;transition:all .5s ease;border:1px solid #e6e6e6;border-top:0}.tabs-content.vertical{border:1px solid #e6e6e6;border-left:0}.tabs-panel{display:none;padding:1rem}.tabs-panel.is-active{display:block}.thumbnail{border:4px solid #fefefe;box-shadow:0 0 0 1px hsla(0,0%,4%,.2);display:inline-block;line-height:0;max-width:100%;-webkit-transition:-webkit-box-shadow .2s ease-out;transition:box-shadow .2s ease-out;border-radius:0;margin-bottom:1rem}.thumbnail:focus,.thumbnail:hover{box-shadow:0 0 6px 1px rgba(33,153,232,.5)}.title-bar{background:#0a0a0a;color:#fefefe;padding:.5rem}.title-bar:after,.title-bar:before{content:' ';display:table}.title-bar:after{clear:both}.title-bar .menu-icon{margin-left:.25rem;margin-right:.25rem}.title-bar-left{float:left}.title-bar-right{float:right;text-align:right}.title-bar-title{font-weight:700}.menu-icon.dark,.title-bar-title{vertical-align:middle;display:inline-block}.menu-icon.dark{position:relative;cursor:pointer;width:20px;height:16px}.menu-icon.dark:after{content:'';position:absolute;display:block;width:100%;height:2px;background:#0a0a0a;top:0;left:0;box-shadow:0 7px 0 #0a0a0a,0 14px 0 #0a0a0a}.menu-icon.dark:hover:after{background:#8a8a8a;box-shadow:0 7px 0 #8a8a8a,0 14px 0 #8a8a8a}.has-tip{border-bottom:1px dotted #8a8a8a;font-weight:700;position:relative;display:inline-block;cursor:help}.tooltip{background-color:#0a0a0a;color:#fefefe;font-size:80%;padding:.75rem;position:absolute;z-index:10;top:calc(100% + .6495rem);max-width:10rem!important;border-radius:0}.tooltip:before{border-color:transparent transparent #0a0a0a;border-bottom-style:solid;border-top-width:0;bottom:100%;position:absolute;left:50%;-webkit-transform:translateX(-50%);transform:translateX(-50%)}.tooltip.top:before,.tooltip:before{content:'';display:block;width:0;height:0;border:.75rem inset}.tooltip.top:before{border-color:#0a0a0a transparent transparent;border-top-style:solid;border-bottom-width:0;top:100%;bottom:auto}.tooltip.left:before{border-color:transparent transparent transparent #0a0a0a;border-left-style:solid;border-right-width:0;left:100%}.tooltip.left:before,.tooltip.right:before{content:'';display:block;width:0;height:0;border:.75rem inset;bottom:auto;top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%)}.tooltip.right:before{border-color:transparent #0a0a0a transparent transparent;border-right-style:solid;border-left-width:0;left:auto;right:100%}.top-bar{padding:.5rem}.top-bar:after,.top-bar:before{content:' ';display:table}.top-bar:after{clear:both}.top-bar,.top-bar ul{background-color:#e6e6e6}.top-bar input{max-width:200px;margin-right:1rem}.top-bar .input-group-field{width:100%;margin-right:0}.top-bar input.button{width:auto}.top-bar .top-bar-left,.top-bar .top-bar-right{width:100%}@media screen and (min-width:40em){.top-bar .top-bar-left,.top-bar .top-bar-right{width:auto}}@media screen and (max-width:63.9375em){.top-bar.stacked-for-medium .top-bar-left,.top-bar.stacked-for-medium .top-bar-right{width:100%}}@media screen and (max-width:74.9375em){.top-bar.stacked-for-large .top-bar-left,.top-bar.stacked-for-large .top-bar-right{width:100%}}.top-bar-title{float:left;margin-right:1rem}.top-bar-left{float:left}.top-bar-right{float:right}.hide{display:none!important}.invisible{visibility:hidden}@media screen and (max-width:39.9375em){.hide-for-small-only{display:none!important}}@media screen and (max-width:0em),screen and (min-width:40em){.show-for-small-only{display:none!important}}@media screen and (min-width:40em){.hide-for-medium{display:none!important}}@media screen and (max-width:39.9375em){.show-for-medium{display:none!important}}@media screen and (min-width:40em) and (max-width:63.9375em){.hide-for-medium-only{display:none!important}}@media screen and (max-width:39.9375em),screen and (min-width:64em){.show-for-medium-only{display:none!important}}@media screen and (min-width:64em){.hide-for-large{display:none!important}}@media screen and (max-width:63.9375em){.show-for-large{display:none!important}}@media screen and (min-width:64em) and (max-width:74.9375em){.hide-for-large-only{display:none!important}}@media screen and (max-width:63.9375em),screen and (min-width:75em){.show-for-large-only{display:none!important}}.show-for-sr,.show-on-focus{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.show-on-focus:active,.show-on-focus:focus{position:static!important;height:auto;width:auto;overflow:visible;clip:auto}.hide-for-portrait,.show-for-landscape{display:block!important}@media screen and (orientation:landscape){.hide-for-portrait,.show-for-landscape{display:block!important}}@media screen and (orientation:portrait){.hide-for-portrait,.show-for-landscape{display:none!important}}.hide-for-landscape,.show-for-portrait{display:none!important}@media screen and (orientation:landscape){.hide-for-landscape,.show-for-portrait{display:none!important}}@media screen and (orientation:portrait){.hide-for-landscape,.show-for-portrait{display:block!important}}.float-left{float:left!important}.float-right{float:right!important}.float-center{display:block;margin-left:auto;margin-right:auto}.clearfix:after,.clearfix:before{content:' ';display:table}.clearfix:after{clear:both} \ No newline at end of file
diff --git a/library/foundation/js/foundation.js b/library/foundation/js/foundation.js
new file mode 100644
index 000000000..8570bdd16
--- /dev/null
+++ b/library/foundation/js/foundation.js
@@ -0,0 +1,9069 @@
+!function ($) {
+
+ "use strict";
+
+ var FOUNDATION_VERSION = '6.2.3';
+
+ // Global Foundation object
+ // This is attached to the window, or used as a module for AMD/Browserify
+ var Foundation = {
+ version: FOUNDATION_VERSION,
+
+ /**
+ * Stores initialized plugins.
+ */
+ _plugins: {},
+
+ /**
+ * Stores generated unique ids for plugin instances
+ */
+ _uuids: [],
+
+ /**
+ * Returns a boolean for RTL support
+ */
+ rtl: function () {
+ return $('html').attr('dir') === 'rtl';
+ },
+ /**
+ * Defines a Foundation plugin, adding it to the `Foundation` namespace and the list of plugins to initialize when reflowing.
+ * @param {Object} plugin - The constructor of the plugin.
+ */
+ plugin: function (plugin, name) {
+ // Object key to use when adding to global Foundation object
+ // Examples: Foundation.Reveal, Foundation.OffCanvas
+ var className = name || functionName(plugin);
+ // Object key to use when storing the plugin, also used to create the identifying data attribute for the plugin
+ // Examples: data-reveal, data-off-canvas
+ var attrName = hyphenate(className);
+
+ // Add to the Foundation object and the plugins list (for reflowing)
+ this._plugins[attrName] = this[className] = plugin;
+ },
+ /**
+ * @function
+ * Populates the _uuids array with pointers to each individual plugin instance.
+ * Adds the `zfPlugin` data-attribute to programmatically created plugins to allow use of $(selector).foundation(method) calls.
+ * Also fires the initialization event for each plugin, consolidating repetitive code.
+ * @param {Object} plugin - an instance of a plugin, usually `this` in context.
+ * @param {String} name - the name of the plugin, passed as a camelCased string.
+ * @fires Plugin#init
+ */
+ registerPlugin: function (plugin, name) {
+ var pluginName = name ? hyphenate(name) : functionName(plugin.constructor).toLowerCase();
+ plugin.uuid = this.GetYoDigits(6, pluginName);
+
+ if (!plugin.$element.attr('data-' + pluginName)) {
+ plugin.$element.attr('data-' + pluginName, plugin.uuid);
+ }
+ if (!plugin.$element.data('zfPlugin')) {
+ plugin.$element.data('zfPlugin', plugin);
+ }
+ /**
+ * Fires when the plugin has initialized.
+ * @event Plugin#init
+ */
+ plugin.$element.trigger('init.zf.' + pluginName);
+
+ this._uuids.push(plugin.uuid);
+
+ return;
+ },
+ /**
+ * @function
+ * Removes the plugins uuid from the _uuids array.
+ * Removes the zfPlugin data attribute, as well as the data-plugin-name attribute.
+ * Also fires the destroyed event for the plugin, consolidating repetitive code.
+ * @param {Object} plugin - an instance of a plugin, usually `this` in context.
+ * @fires Plugin#destroyed
+ */
+ unregisterPlugin: function (plugin) {
+ var pluginName = hyphenate(functionName(plugin.$element.data('zfPlugin').constructor));
+
+ this._uuids.splice(this._uuids.indexOf(plugin.uuid), 1);
+ plugin.$element.removeAttr('data-' + pluginName).removeData('zfPlugin')
+ /**
+ * Fires when the plugin has been destroyed.
+ * @event Plugin#destroyed
+ */
+ .trigger('destroyed.zf.' + pluginName);
+ for (var prop in plugin) {
+ plugin[prop] = null; //clean up script to prep for garbage collection.
+ }
+ return;
+ },
+
+ /**
+ * @function
+ * Causes one or more active plugins to re-initialize, resetting event listeners, recalculating positions, etc.
+ * @param {String} plugins - optional string of an individual plugin key, attained by calling `$(element).data('pluginName')`, or string of a plugin class i.e. `'dropdown'`
+ * @default If no argument is passed, reflow all currently active plugins.
+ */
+ reInit: function (plugins) {
+ var isJQ = plugins instanceof $;
+ try {
+ if (isJQ) {
+ plugins.each(function () {
+ $(this).data('zfPlugin')._init();
+ });
+ } else {
+ var type = typeof plugins,
+ _this = this,
+ fns = {
+ 'object': function (plgs) {
+ plgs.forEach(function (p) {
+ p = hyphenate(p);
+ $('[data-' + p + ']').foundation('_init');
+ });
+ },
+ 'string': function () {
+ plugins = hyphenate(plugins);
+ $('[data-' + plugins + ']').foundation('_init');
+ },
+ 'undefined': function () {
+ this['object'](Object.keys(_this._plugins));
+ }
+ };
+ fns[type](plugins);
+ }
+ } catch (err) {
+ console.error(err);
+ } finally {
+ return plugins;
+ }
+ },
+
+ /**
+ * returns a random base-36 uid with namespacing
+ * @function
+ * @param {Number} length - number of random base-36 digits desired. Increase for more random strings.
+ * @param {String} namespace - name of plugin to be incorporated in uid, optional.
+ * @default {String} '' - if no plugin name is provided, nothing is appended to the uid.
+ * @returns {String} - unique id
+ */
+ GetYoDigits: function (length, namespace) {
+ length = length || 6;
+ return Math.round(Math.pow(36, length + 1) - Math.random() * Math.pow(36, length)).toString(36).slice(1) + (namespace ? '-' + namespace : '');
+ },
+ /**
+ * Initialize plugins on any elements within `elem` (and `elem` itself) that aren't already initialized.
+ * @param {Object} elem - jQuery object containing the element to check inside. Also checks the element itself, unless it's the `document` object.
+ * @param {String|Array} plugins - A list of plugins to initialize. Leave this out to initialize everything.
+ */
+ reflow: function (elem, plugins) {
+
+ // If plugins is undefined, just grab everything
+ if (typeof plugins === 'undefined') {
+ plugins = Object.keys(this._plugins);
+ }
+ // If plugins is a string, convert it to an array with one item
+ else if (typeof plugins === 'string') {
+ plugins = [plugins];
+ }
+
+ var _this = this;
+
+ // Iterate through each plugin
+ $.each(plugins, function (i, name) {
+ // Get the current plugin
+ var plugin = _this._plugins[name];
+
+ // Localize the search to all elements inside elem, as well as elem itself, unless elem === document
+ var $elem = $(elem).find('[data-' + name + ']').addBack('[data-' + name + ']');
+
+ // For each plugin found, initialize it
+ $elem.each(function () {
+ var $el = $(this),
+ opts = {};
+ // Don't double-dip on plugins
+ if ($el.data('zfPlugin')) {
+ console.warn("Tried to initialize " + name + " on an element that already has a Foundation plugin.");
+ return;
+ }
+
+ if ($el.attr('data-options')) {
+ var thing = $el.attr('data-options').split(';').forEach(function (e, i) {
+ var opt = e.split(':').map(function (el) {
+ return el.trim();
+ });
+ if (opt[0]) opts[opt[0]] = parseValue(opt[1]);
+ });
+ }
+ try {
+ $el.data('zfPlugin', new plugin($(this), opts));
+ } catch (er) {
+ console.error(er);
+ } finally {
+ return;
+ }
+ });
+ });
+ },
+ getFnName: functionName,
+ transitionend: function ($elem) {
+ var transitions = {
+ 'transition': 'transitionend',
+ 'WebkitTransition': 'webkitTransitionEnd',
+ 'MozTransition': 'transitionend',
+ 'OTransition': 'otransitionend'
+ };
+ var elem = document.createElement('div'),
+ end;
+
+ for (var t in transitions) {
+ if (typeof elem.style[t] !== 'undefined') {
+ end = transitions[t];
+ }
+ }
+ if (end) {
+ return end;
+ } else {
+ end = setTimeout(function () {
+ $elem.triggerHandler('transitionend', [$elem]);
+ }, 1);
+ return 'transitionend';
+ }
+ }
+ };
+
+ Foundation.util = {
+ /**
+ * Function for applying a debounce effect to a function call.
+ * @function
+ * @param {Function} func - Function to be called at end of timeout.
+ * @param {Number} delay - Time in ms to delay the call of `func`.
+ * @returns function
+ */
+ throttle: function (func, delay) {
+ var timer = null;
+
+ return function () {
+ var context = this,
+ args = arguments;
+
+ if (timer === null) {
+ timer = setTimeout(function () {
+ func.apply(context, args);
+ timer = null;
+ }, delay);
+ }
+ };
+ }
+ };
+
+ // TODO: consider not making this a jQuery function
+ // TODO: need way to reflow vs. re-initialize
+ /**
+ * The Foundation jQuery method.
+ * @param {String|Array} method - An action to perform on the current jQuery object.
+ */
+ var foundation = function (method) {
+ var type = typeof method,
+ $meta = $('meta.foundation-mq'),
+ $noJS = $('.no-js');
+
+ if (!$meta.length) {
+ $('<meta class="foundation-mq">').appendTo(document.head);
+ }
+ if ($noJS.length) {
+ $noJS.removeClass('no-js');
+ }
+
+ if (type === 'undefined') {
+ //needs to initialize the Foundation object, or an individual plugin.
+ Foundation.MediaQuery._init();
+ Foundation.reflow(this);
+ } else if (type === 'string') {
+ //an individual method to invoke on a plugin or group of plugins
+ var args = Array.prototype.slice.call(arguments, 1); //collect all the arguments, if necessary
+ var plugClass = this.data('zfPlugin'); //determine the class of plugin
+
+ if (plugClass !== undefined && plugClass[method] !== undefined) {
+ //make sure both the class and method exist
+ if (this.length === 1) {
+ //if there's only one, call it directly.
+ plugClass[method].apply(plugClass, args);
+ } else {
+ this.each(function (i, el) {
+ //otherwise loop through the jQuery collection and invoke the method on each
+ plugClass[method].apply($(el).data('zfPlugin'), args);
+ });
+ }
+ } else {
+ //error for no class or no method
+ throw new ReferenceError("We're sorry, '" + method + "' is not an available method for " + (plugClass ? functionName(plugClass) : 'this element') + '.');
+ }
+ } else {
+ //error for invalid argument type
+ throw new TypeError('We\'re sorry, ' + type + ' is not a valid parameter. You must use a string representing the method you wish to invoke.');
+ }
+ return this;
+ };
+
+ window.Foundation = Foundation;
+ $.fn.foundation = foundation;
+
+ // Polyfill for requestAnimationFrame
+ (function () {
+ if (!Date.now || !window.Date.now) window.Date.now = Date.now = function () {
+ return new Date().getTime();
+ };
+
+ var vendors = ['webkit', 'moz'];
+ for (var i = 0; i < vendors.length && !window.requestAnimationFrame; ++i) {
+ var vp = vendors[i];
+ window.requestAnimationFrame = window[vp + 'RequestAnimationFrame'];
+ window.cancelAnimationFrame = window[vp + 'CancelAnimationFrame'] || window[vp + 'CancelRequestAnimationFrame'];
+ }
+ if (/iP(ad|hone|od).*OS 6/.test(window.navigator.userAgent) || !window.requestAnimationFrame || !window.cancelAnimationFrame) {
+ var lastTime = 0;
+ window.requestAnimationFrame = function (callback) {
+ var now = Date.now();
+ var nextTime = Math.max(lastTime + 16, now);
+ return setTimeout(function () {
+ callback(lastTime = nextTime);
+ }, nextTime - now);
+ };
+ window.cancelAnimationFrame = clearTimeout;
+ }
+ /**
+ * Polyfill for performance.now, required by rAF
+ */
+ if (!window.performance || !window.performance.now) {
+ window.performance = {
+ start: Date.now(),
+ now: function () {
+ return Date.now() - this.start;
+ }
+ };
+ }
+ })();
+ if (!Function.prototype.bind) {
+ Function.prototype.bind = function (oThis) {
+ if (typeof this !== 'function') {
+ // closest thing possible to the ECMAScript 5
+ // internal IsCallable function
+ throw new TypeError('Function.prototype.bind - what is trying to be bound is not callable');
+ }
+
+ var aArgs = Array.prototype.slice.call(arguments, 1),
+ fToBind = this,
+ fNOP = function () {},
+ fBound = function () {
+ return fToBind.apply(this instanceof fNOP ? this : oThis, aArgs.concat(Array.prototype.slice.call(arguments)));
+ };
+
+ if (this.prototype) {
+ // native functions don't have a prototype
+ fNOP.prototype = this.prototype;
+ }
+ fBound.prototype = new fNOP();
+
+ return fBound;
+ };
+ }
+ // Polyfill to get the name of a function in IE9
+ function functionName(fn) {
+ if (Function.prototype.name === undefined) {
+ var funcNameRegex = /function\s([^(]{1,})\(/;
+ var results = funcNameRegex.exec(fn.toString());
+ return results && results.length > 1 ? results[1].trim() : "";
+ } else if (fn.prototype === undefined) {
+ return fn.constructor.name;
+ } else {
+ return fn.prototype.constructor.name;
+ }
+ }
+ function parseValue(str) {
+ if (/true/.test(str)) return true;else if (/false/.test(str)) return false;else if (!isNaN(str * 1)) return parseFloat(str);
+ return str;
+ }
+ // Convert PascalCase to kebab-case
+ // Thank you: http://stackoverflow.com/a/8955580
+ function hyphenate(str) {
+ return str.replace(/([a-z])([A-Z])/g, '$1-$2').toLowerCase();
+ }
+}(jQuery);
+'use strict';
+
+!function ($) {
+
+ Foundation.Box = {
+ ImNotTouchingYou: ImNotTouchingYou,
+ GetDimensions: GetDimensions,
+ GetOffsets: GetOffsets
+ };
+
+ /**
+ * Compares the dimensions of an element to a container and determines collision events with container.
+ * @function
+ * @param {jQuery} element - jQuery object to test for collisions.
+ * @param {jQuery} parent - jQuery object to use as bounding container.
+ * @param {Boolean} lrOnly - set to true to check left and right values only.
+ * @param {Boolean} tbOnly - set to true to check top and bottom values only.
+ * @default if no parent object passed, detects collisions with `window`.
+ * @returns {Boolean} - true if collision free, false if a collision in any direction.
+ */
+ function ImNotTouchingYou(element, parent, lrOnly, tbOnly) {
+ var eleDims = GetDimensions(element),
+ top,
+ bottom,
+ left,
+ right;
+
+ if (parent) {
+ var parDims = GetDimensions(parent);
+
+ bottom = eleDims.offset.top + eleDims.height <= parDims.height + parDims.offset.top;
+ top = eleDims.offset.top >= parDims.offset.top;
+ left = eleDims.offset.left >= parDims.offset.left;
+ right = eleDims.offset.left + eleDims.width <= parDims.width + parDims.offset.left;
+ } else {
+ bottom = eleDims.offset.top + eleDims.height <= eleDims.windowDims.height + eleDims.windowDims.offset.top;
+ top = eleDims.offset.top >= eleDims.windowDims.offset.top;
+ left = eleDims.offset.left >= eleDims.windowDims.offset.left;
+ right = eleDims.offset.left + eleDims.width <= eleDims.windowDims.width;
+ }
+
+ var allDirs = [bottom, top, left, right];
+
+ if (lrOnly) {
+ return left === right === true;
+ }
+
+ if (tbOnly) {
+ return top === bottom === true;
+ }
+
+ return allDirs.indexOf(false) === -1;
+ };
+
+ /**
+ * Uses native methods to return an object of dimension values.
+ * @function
+ * @param {jQuery || HTML} element - jQuery object or DOM element for which to get the dimensions. Can be any element other that document or window.
+ * @returns {Object} - nested object of integer pixel values
+ * TODO - if element is window, return only those values.
+ */
+ function GetDimensions(elem, test) {
+ elem = elem.length ? elem[0] : elem;
+
+ if (elem === window || elem === document) {
+ throw new Error("I'm sorry, Dave. I'm afraid I can't do that.");
+ }
+
+ var rect = elem.getBoundingClientRect(),
+ parRect = elem.parentNode.getBoundingClientRect(),
+ winRect = document.body.getBoundingClientRect(),
+ winY = window.pageYOffset,
+ winX = window.pageXOffset;
+
+ return {
+ width: rect.width,
+ height: rect.height,
+ offset: {
+ top: rect.top + winY,
+ left: rect.left + winX
+ },
+ parentDims: {
+ width: parRect.width,
+ height: parRect.height,
+ offset: {
+ top: parRect.top + winY,
+ left: parRect.left + winX
+ }
+ },
+ windowDims: {
+ width: winRect.width,
+ height: winRect.height,
+ offset: {
+ top: winY,
+ left: winX
+ }
+ }
+ };
+ }
+
+ /**
+ * Returns an object of top and left integer pixel values for dynamically rendered elements,
+ * such as: Tooltip, Reveal, and Dropdown
+ * @function
+ * @param {jQuery} element - jQuery object for the element being positioned.
+ * @param {jQuery} anchor - jQuery object for the element's anchor point.
+ * @param {String} position - a string relating to the desired position of the element, relative to it's anchor
+ * @param {Number} vOffset - integer pixel value of desired vertical separation between anchor and element.
+ * @param {Number} hOffset - integer pixel value of desired horizontal separation between anchor and element.
+ * @param {Boolean} isOverflow - if a collision event is detected, sets to true to default the element to full width - any desired offset.
+ * TODO alter/rewrite to work with `em` values as well/instead of pixels
+ */
+ function GetOffsets(element, anchor, position, vOffset, hOffset, isOverflow) {
+ var $eleDims = GetDimensions(element),
+ $anchorDims = anchor ? GetDimensions(anchor) : null;
+
+ switch (position) {
+ case 'top':
+ return {
+ left: Foundation.rtl() ? $anchorDims.offset.left - $eleDims.width + $anchorDims.width : $anchorDims.offset.left,
+ top: $anchorDims.offset.top - ($eleDims.height + vOffset)
+ };
+ break;
+ case 'left':
+ return {
+ left: $anchorDims.offset.left - ($eleDims.width + hOffset),
+ top: $anchorDims.offset.top
+ };
+ break;
+ case 'right':
+ return {
+ left: $anchorDims.offset.left + $anchorDims.width + hOffset,
+ top: $anchorDims.offset.top
+ };
+ break;
+ case 'center top':
+ return {
+ left: $anchorDims.offset.left + $anchorDims.width / 2 - $eleDims.width / 2,
+ top: $anchorDims.offset.top - ($eleDims.height + vOffset)
+ };
+ break;
+ case 'center bottom':
+ return {
+ left: isOverflow ? hOffset : $anchorDims.offset.left + $anchorDims.width / 2 - $eleDims.width / 2,
+ top: $anchorDims.offset.top + $anchorDims.height + vOffset
+ };
+ break;
+ case 'center left':
+ return {
+ left: $anchorDims.offset.left - ($eleDims.width + hOffset),
+ top: $anchorDims.offset.top + $anchorDims.height / 2 - $eleDims.height / 2
+ };
+ break;
+ case 'center right':
+ return {
+ left: $anchorDims.offset.left + $anchorDims.width + hOffset + 1,
+ top: $anchorDims.offset.top + $anchorDims.height / 2 - $eleDims.height / 2
+ };
+ break;
+ case 'center':
+ return {
+ left: $eleDims.windowDims.offset.left + $eleDims.windowDims.width / 2 - $eleDims.width / 2,
+ top: $eleDims.windowDims.offset.top + $eleDims.windowDims.height / 2 - $eleDims.height / 2
+ };
+ break;
+ case 'reveal':
+ return {
+ left: ($eleDims.windowDims.width - $eleDims.width) / 2,
+ top: $eleDims.windowDims.offset.top + vOffset
+ };
+ case 'reveal full':
+ return {
+ left: $eleDims.windowDims.offset.left,
+ top: $eleDims.windowDims.offset.top
+ };
+ break;
+ case 'left bottom':
+ return {
+ left: $anchorDims.offset.left - ($eleDims.width + hOffset),
+ top: $anchorDims.offset.top + $anchorDims.height
+ };
+ break;
+ case 'right bottom':
+ return {
+ left: $anchorDims.offset.left + $anchorDims.width + hOffset - $eleDims.width,
+ top: $anchorDims.offset.top + $anchorDims.height
+ };
+ break;
+ default:
+ return {
+ left: Foundation.rtl() ? $anchorDims.offset.left - $eleDims.width + $anchorDims.width : $anchorDims.offset.left,
+ top: $anchorDims.offset.top + $anchorDims.height + vOffset
+ };
+ }
+ }
+}(jQuery);
+/*******************************************
+ * *
+ * This util was created by Marius Olbertz *
+ * Please thank Marius on GitHub /owlbertz *
+ * or the web http://www.mariusolbertz.de/ *
+ * *
+ ******************************************/
+
+'use strict';
+
+!function ($) {
+
+ var keyCodes = {
+ 9: 'TAB',
+ 13: 'ENTER',
+ 27: 'ESCAPE',
+ 32: 'SPACE',
+ 37: 'ARROW_LEFT',
+ 38: 'ARROW_UP',
+ 39: 'ARROW_RIGHT',
+ 40: 'ARROW_DOWN'
+ };
+
+ var commands = {};
+
+ var Keyboard = {
+ keys: getKeyCodes(keyCodes),
+
+ /**
+ * Parses the (keyboard) event and returns a String that represents its key
+ * Can be used like Foundation.parseKey(event) === Foundation.keys.SPACE
+ * @param {Event} event - the event generated by the event handler
+ * @return String key - String that represents the key pressed
+ */
+ parseKey: function (event) {
+ var key = keyCodes[event.which || event.keyCode] || String.fromCharCode(event.which).toUpperCase();
+ if (event.shiftKey) key = 'SHIFT_' + key;
+ if (event.ctrlKey) key = 'CTRL_' + key;
+ if (event.altKey) key = 'ALT_' + key;
+ return key;
+ },
+
+
+ /**
+ * Handles the given (keyboard) event
+ * @param {Event} event - the event generated by the event handler
+ * @param {String} component - Foundation component's name, e.g. Slider or Reveal
+ * @param {Objects} functions - collection of functions that are to be executed
+ */
+ handleKey: function (event, component, functions) {
+ var commandList = commands[component],
+ keyCode = this.parseKey(event),
+ cmds,
+ command,
+ fn;
+
+ if (!commandList) return console.warn('Component not defined!');
+
+ if (typeof commandList.ltr === 'undefined') {
+ // this component does not differentiate between ltr and rtl
+ cmds = commandList; // use plain list
+ } else {
+ // merge ltr and rtl: if document is rtl, rtl overwrites ltr and vice versa
+ if (Foundation.rtl()) cmds = $.extend({}, commandList.ltr, commandList.rtl);else cmds = $.extend({}, commandList.rtl, commandList.ltr);
+ }
+ command = cmds[keyCode];
+
+ fn = functions[command];
+ if (fn && typeof fn === 'function') {
+ // execute function if exists
+ var returnValue = fn.apply();
+ if (functions.handled || typeof functions.handled === 'function') {
+ // execute function when event was handled
+ functions.handled(returnValue);
+ }
+ } else {
+ if (functions.unhandled || typeof functions.unhandled === 'function') {
+ // execute function when event was not handled
+ functions.unhandled();
+ }
+ }
+ },
+
+
+ /**
+ * Finds all focusable elements within the given `$element`
+ * @param {jQuery} $element - jQuery object to search within
+ * @return {jQuery} $focusable - all focusable elements within `$element`
+ */
+ findFocusable: function ($element) {
+ return $element.find('a[href], area[href], input:not([disabled]), select:not([disabled]), textarea:not([disabled]), button:not([disabled]), iframe, object, embed, *[tabindex], *[contenteditable]').filter(function () {
+ if (!$(this).is(':visible') || $(this).attr('tabindex') < 0) {
+ return false;
+ } //only have visible elements and those that have a tabindex greater or equal 0
+ return true;
+ });
+ },
+
+
+ /**
+ * Returns the component name name
+ * @param {Object} component - Foundation component, e.g. Slider or Reveal
+ * @return String componentName
+ */
+
+ register: function (componentName, cmds) {
+ commands[componentName] = cmds;
+ }
+ };
+
+ /*
+ * Constants for easier comparing.
+ * Can be used like Foundation.parseKey(event) === Foundation.keys.SPACE
+ */
+ function getKeyCodes(kcs) {
+ var k = {};
+ for (var kc in kcs) {
+ k[kcs[kc]] = kcs[kc];
+ }return k;
+ }
+
+ Foundation.Keyboard = Keyboard;
+}(jQuery);
+'use strict';
+
+!function ($) {
+
+ // Default set of media queries
+ var defaultQueries = {
+ 'default': 'only screen',
+ landscape: 'only screen and (orientation: landscape)',
+ portrait: 'only screen and (orientation: portrait)',
+ retina: 'only screen and (-webkit-min-device-pixel-ratio: 2),' + 'only screen and (min--moz-device-pixel-ratio: 2),' + 'only screen and (-o-min-device-pixel-ratio: 2/1),' + 'only screen and (min-device-pixel-ratio: 2),' + 'only screen and (min-resolution: 192dpi),' + 'only screen and (min-resolution: 2dppx)'
+ };
+
+ var MediaQuery = {
+ queries: [],
+
+ current: '',
+
+ /**
+ * Initializes the media query helper, by extracting the breakpoint list from the CSS and activating the breakpoint watcher.
+ * @function
+ * @private
+ */
+ _init: function () {
+ var self = this;
+ var extractedStyles = $('.foundation-mq').css('font-family');
+ var namedQueries;
+
+ namedQueries = parseStyleToObject(extractedStyles);
+
+ for (var key in namedQueries) {
+ if (namedQueries.hasOwnProperty(key)) {
+ self.queries.push({
+ name: key,
+ value: 'only screen and (min-width: ' + namedQueries[key] + ')'
+ });
+ }
+ }
+
+ this.current = this._getCurrentSize();
+
+ this._watcher();
+ },
+
+
+ /**
+ * Checks if the screen is at least as wide as a breakpoint.
+ * @function
+ * @param {String} size - Name of the breakpoint to check.
+ * @returns {Boolean} `true` if the breakpoint matches, `false` if it's smaller.
+ */
+ atLeast: function (size) {
+ var query = this.get(size);
+
+ if (query) {
+ return window.matchMedia(query).matches;
+ }
+
+ return false;
+ },
+
+
+ /**
+ * Gets the media query of a breakpoint.
+ * @function
+ * @param {String} size - Name of the breakpoint to get.
+ * @returns {String|null} - The media query of the breakpoint, or `null` if the breakpoint doesn't exist.
+ */
+ get: function (size) {
+ for (var i in this.queries) {
+ if (this.queries.hasOwnProperty(i)) {
+ var query = this.queries[i];
+ if (size === query.name) return query.value;
+ }
+ }
+
+ return null;
+ },
+
+
+ /**
+ * Gets the current breakpoint name by testing every breakpoint and returning the last one to match (the biggest one).
+ * @function
+ * @private
+ * @returns {String} Name of the current breakpoint.
+ */
+ _getCurrentSize: function () {
+ var matched;
+
+ for (var i = 0; i < this.queries.length; i++) {
+ var query = this.queries[i];
+
+ if (window.matchMedia(query.value).matches) {
+ matched = query;
+ }
+ }
+
+ if (typeof matched === 'object') {
+ return matched.name;
+ } else {
+ return matched;
+ }
+ },
+
+
+ /**
+ * Activates the breakpoint watcher, which fires an event on the window whenever the breakpoint changes.
+ * @function
+ * @private
+ */
+ _watcher: function () {
+ var _this = this;
+
+ $(window).on('resize.zf.mediaquery', function () {
+ var newSize = _this._getCurrentSize(),
+ currentSize = _this.current;
+
+ if (newSize !== currentSize) {
+ // Change the current media query
+ _this.current = newSize;
+
+ // Broadcast the media query change on the window
+ $(window).trigger('changed.zf.mediaquery', [newSize, currentSize]);
+ }
+ });
+ }
+ };
+
+ Foundation.MediaQuery = MediaQuery;
+
+ // matchMedia() polyfill - Test a CSS media type/query in JS.
+ // Authors & copyright (c) 2012: Scott Jehl, Paul Irish, Nicholas Zakas, David Knight. Dual MIT/BSD license
+ window.matchMedia || (window.matchMedia = function () {
+ 'use strict';
+
+ // For browsers that support matchMedium api such as IE 9 and webkit
+
+ var styleMedia = window.styleMedia || window.media;
+
+ // For those that don't support matchMedium
+ if (!styleMedia) {
+ var style = document.createElement('style'),
+ script = document.getElementsByTagName('script')[0],
+ info = null;
+
+ style.type = 'text/css';
+ style.id = 'matchmediajs-test';
+
+ script.parentNode.insertBefore(style, script);
+
+ // 'style.currentStyle' is used by IE <= 8 and 'window.getComputedStyle' for all other browsers
+ info = 'getComputedStyle' in window && window.getComputedStyle(style, null) || style.currentStyle;
+
+ styleMedia = {
+ matchMedium: function (media) {
+ var text = '@media ' + media + '{ #matchmediajs-test { width: 1px; } }';
+
+ // 'style.styleSheet' is used by IE <= 8 and 'style.textContent' for all other browsers
+ if (style.styleSheet) {
+ style.styleSheet.cssText = text;
+ } else {
+ style.textContent = text;
+ }
+
+ // Test if media query is true or false
+ return info.width === '1px';
+ }
+ };
+ }
+
+ return function (media) {
+ return {
+ matches: styleMedia.matchMedium(media || 'all'),
+ media: media || 'all'
+ };
+ };
+ }());
+
+ // Thank you: https://github.com/sindresorhus/query-string
+ function parseStyleToObject(str) {
+ var styleObject = {};
+
+ if (typeof str !== 'string') {
+ return styleObject;
+ }
+
+ str = str.trim().slice(1, -1); // browsers re-quote string style values
+
+ if (!str) {
+ return styleObject;
+ }
+
+ styleObject = str.split('&').reduce(function (ret, param) {
+ var parts = param.replace(/\+/g, ' ').split('=');
+ var key = parts[0];
+ var val = parts[1];
+ key = decodeURIComponent(key);
+
+ // missing `=` should be `null`:
+ // http://w3.org/TR/2012/WD-url-20120524/#collect-url-parameters
+ val = val === undefined ? null : decodeURIComponent(val);
+
+ if (!ret.hasOwnProperty(key)) {
+ ret[key] = val;
+ } else if (Array.isArray(ret[key])) {
+ ret[key].push(val);
+ } else {
+ ret[key] = [ret[key], val];
+ }
+ return ret;
+ }, {});
+
+ return styleObject;
+ }
+
+ Foundation.MediaQuery = MediaQuery;
+}(jQuery);
+'use strict';
+
+!function ($) {
+
+ /**
+ * Motion module.
+ * @module foundation.motion
+ */
+
+ var initClasses = ['mui-enter', 'mui-leave'];
+ var activeClasses = ['mui-enter-active', 'mui-leave-active'];
+
+ var Motion = {
+ animateIn: function (element, animation, cb) {
+ animate(true, element, animation, cb);
+ },
+
+ animateOut: function (element, animation, cb) {
+ animate(false, element, animation, cb);
+ }
+ };
+
+ function Move(duration, elem, fn) {
+ var anim,
+ prog,
+ start = null;
+ // console.log('called');
+
+ function move(ts) {
+ if (!start) start = window.performance.now();
+ // console.log(start, ts);
+ prog = ts - start;
+ fn.apply(elem);
+
+ if (prog < duration) {
+ anim = window.requestAnimationFrame(move, elem);
+ } else {
+ window.cancelAnimationFrame(anim);
+ elem.trigger('finished.zf.animate', [elem]).triggerHandler('finished.zf.animate', [elem]);
+ }
+ }
+ anim = window.requestAnimationFrame(move);
+ }
+
+ /**
+ * Animates an element in or out using a CSS transition class.
+ * @function
+ * @private
+ * @param {Boolean} isIn - Defines if the animation is in or out.
+ * @param {Object} element - jQuery or HTML object to animate.
+ * @param {String} animation - CSS class to use.
+ * @param {Function} cb - Callback to run when animation is finished.
+ */
+ function animate(isIn, element, animation, cb) {
+ element = $(element).eq(0);
+
+ if (!element.length) return;
+
+ var initClass = isIn ? initClasses[0] : initClasses[1];
+ var activeClass = isIn ? activeClasses[0] : activeClasses[1];
+
+ // Set up the animation
+ reset();
+
+ element.addClass(animation).css('transition', 'none');
+
+ requestAnimationFrame(function () {
+ element.addClass(initClass);
+ if (isIn) element.show();
+ });
+
+ // Start the animation
+ requestAnimationFrame(function () {
+ element[0].offsetWidth;
+ element.css('transition', '').addClass(activeClass);
+ });
+
+ // Clean up the animation when it finishes
+ element.one(Foundation.transitionend(element), finish);
+
+ // Hides the element (for out animations), resets the element, and runs a callback
+ function finish() {
+ if (!isIn) element.hide();
+ reset();
+ if (cb) cb.apply(element);
+ }
+
+ // Resets transitions and removes motion-specific classes
+ function reset() {
+ element[0].style.transitionDuration = 0;
+ element.removeClass(initClass + ' ' + activeClass + ' ' + animation);
+ }
+ }
+
+ Foundation.Move = Move;
+ Foundation.Motion = Motion;
+}(jQuery);
+'use strict';
+
+!function ($) {
+
+ var Nest = {
+ Feather: function (menu) {
+ var type = arguments.length <= 1 || arguments[1] === undefined ? 'zf' : arguments[1];
+
+ menu.attr('role', 'menubar');
+
+ var items = menu.find('li').attr({ 'role': 'menuitem' }),
+ subMenuClass = 'is-' + type + '-submenu',
+ subItemClass = subMenuClass + '-item',
+ hasSubClass = 'is-' + type + '-submenu-parent';
+
+ menu.find('a:first').attr('tabindex', 0);
+
+ items.each(function () {
+ var $item = $(this),
+ $sub = $item.children('ul');
+
+ if ($sub.length) {
+ $item.addClass(hasSubClass).attr({
+ 'aria-haspopup': true,
+ 'aria-expanded': false,
+ 'aria-label': $item.children('a:first').text()
+ });
+
+ $sub.addClass('submenu ' + subMenuClass).attr({
+ 'data-submenu': '',
+ 'aria-hidden': true,
+ 'role': 'menu'
+ });
+ }
+
+ if ($item.parent('[data-submenu]').length) {
+ $item.addClass('is-submenu-item ' + subItemClass);
+ }
+ });
+
+ return;
+ },
+ Burn: function (menu, type) {
+ var items = menu.find('li').removeAttr('tabindex'),
+ subMenuClass = 'is-' + type + '-submenu',
+ subItemClass = subMenuClass + '-item',
+ hasSubClass = 'is-' + type + '-submenu-parent';
+
+ menu.find('*').removeClass(subMenuClass + ' ' + subItemClass + ' ' + hasSubClass + ' is-submenu-item submenu is-active').removeAttr('data-submenu').css('display', '');
+
+ // console.log( menu.find('.' + subMenuClass + ', .' + subItemClass + ', .has-submenu, .is-submenu-item, .submenu, [data-submenu]')
+ // .removeClass(subMenuClass + ' ' + subItemClass + ' has-submenu is-submenu-item submenu')
+ // .removeAttr('data-submenu'));
+ // items.each(function(){
+ // var $item = $(this),
+ // $sub = $item.children('ul');
+ // if($item.parent('[data-submenu]').length){
+ // $item.removeClass('is-submenu-item ' + subItemClass);
+ // }
+ // if($sub.length){
+ // $item.removeClass('has-submenu');
+ // $sub.removeClass('submenu ' + subMenuClass).removeAttr('data-submenu');
+ // }
+ // });
+ }
+ };
+
+ Foundation.Nest = Nest;
+}(jQuery);
+'use strict';
+
+!function ($) {
+
+ function Timer(elem, options, cb) {
+ var _this = this,
+ duration = options.duration,
+ //options is an object for easily adding features later.
+ nameSpace = Object.keys(elem.data())[0] || 'timer',
+ remain = -1,
+ start,
+ timer;
+
+ this.isPaused = false;
+
+ this.restart = function () {
+ remain = -1;
+ clearTimeout(timer);
+ this.start();
+ };
+
+ this.start = function () {
+ this.isPaused = false;
+ // if(!elem.data('paused')){ return false; }//maybe implement this sanity check if used for other things.
+ clearTimeout(timer);
+ remain = remain <= 0 ? duration : remain;
+ elem.data('paused', false);
+ start = Date.now();
+ timer = setTimeout(function () {
+ if (options.infinite) {
+ _this.restart(); //rerun the timer.
+ }
+ cb();
+ }, remain);
+ elem.trigger('timerstart.zf.' + nameSpace);
+ };
+
+ this.pause = function () {
+ this.isPaused = true;
+ //if(elem.data('paused')){ return false; }//maybe implement this sanity check if used for other things.
+ clearTimeout(timer);
+ elem.data('paused', true);
+ var end = Date.now();
+ remain = remain - (end - start);
+ elem.trigger('timerpaused.zf.' + nameSpace);
+ };
+ }
+
+ /**
+ * Runs a callback function when images are fully loaded.
+ * @param {Object} images - Image(s) to check if loaded.
+ * @param {Func} callback - Function to execute when image is fully loaded.
+ */
+ function onImagesLoaded(images, callback) {
+ var self = this,
+ unloaded = images.length;
+
+ if (unloaded === 0) {
+ callback();
+ }
+
+ images.each(function () {
+ if (this.complete) {
+ singleImageLoaded();
+ } else if (typeof this.naturalWidth !== 'undefined' && this.naturalWidth > 0) {
+ singleImageLoaded();
+ } else {
+ $(this).one('load', function () {
+ singleImageLoaded();
+ });
+ }
+ });
+
+ function singleImageLoaded() {
+ unloaded--;
+ if (unloaded === 0) {
+ callback();
+ }
+ }
+ }
+
+ Foundation.Timer = Timer;
+ Foundation.onImagesLoaded = onImagesLoaded;
+}(jQuery);
+//**************************************************
+//**Work inspired by multiple jquery swipe plugins**
+//**Done by Yohai Ararat ***************************
+//**************************************************
+(function ($) {
+
+ $.spotSwipe = {
+ version: '1.0.0',
+ enabled: 'ontouchstart' in document.documentElement,
+ preventDefault: false,
+ moveThreshold: 75,
+ timeThreshold: 200
+ };
+
+ var startPosX,
+ startPosY,
+ startTime,
+ elapsedTime,
+ isMoving = false;
+
+ function onTouchEnd() {
+ // alert(this);
+ this.removeEventListener('touchmove', onTouchMove);
+ this.removeEventListener('touchend', onTouchEnd);
+ isMoving = false;
+ }
+
+ function onTouchMove(e) {
+ if ($.spotSwipe.preventDefault) {
+ e.preventDefault();
+ }
+ if (isMoving) {
+ var x = e.touches[0].pageX;
+ var y = e.touches[0].pageY;
+ var dx = startPosX - x;
+ var dy = startPosY - y;
+ var dir;
+ elapsedTime = new Date().getTime() - startTime;
+ if (Math.abs(dx) >= $.spotSwipe.moveThreshold && elapsedTime <= $.spotSwipe.timeThreshold) {
+ dir = dx > 0 ? 'left' : 'right';
+ }
+ // else if(Math.abs(dy) >= $.spotSwipe.moveThreshold && elapsedTime <= $.spotSwipe.timeThreshold) {
+ // dir = dy > 0 ? 'down' : 'up';
+ // }
+ if (dir) {
+ e.preventDefault();
+ onTouchEnd.call(this);
+ $(this).trigger('swipe', dir).trigger('swipe' + dir);
+ }
+ }
+ }
+
+ function onTouchStart(e) {
+ if (e.touches.length == 1) {
+ startPosX = e.touches[0].pageX;
+ startPosY = e.touches[0].pageY;
+ isMoving = true;
+ startTime = new Date().getTime();
+ this.addEventListener('touchmove', onTouchMove, false);
+ this.addEventListener('touchend', onTouchEnd, false);
+ }
+ }
+
+ function init() {
+ this.addEventListener && this.addEventListener('touchstart', onTouchStart, false);
+ }
+
+ function teardown() {
+ this.removeEventListener('touchstart', onTouchStart);
+ }
+
+ $.event.special.swipe = { setup: init };
+
+ $.each(['left', 'up', 'down', 'right'], function () {
+ $.event.special['swipe' + this] = { setup: function () {
+ $(this).on('swipe', $.noop);
+ } };
+ });
+})(jQuery);
+/****************************************************
+ * Method for adding psuedo drag events to elements *
+ ***************************************************/
+!function ($) {
+ $.fn.addTouch = function () {
+ this.each(function (i, el) {
+ $(el).bind('touchstart touchmove touchend touchcancel', function () {
+ //we pass the original event object because the jQuery event
+ //object is normalized to w3c specs and does not provide the TouchList
+ handleTouch(event);
+ });
+ });
+
+ var handleTouch = function (event) {
+ var touches = event.changedTouches,
+ first = touches[0],
+ eventTypes = {
+ touchstart: 'mousedown',
+ touchmove: 'mousemove',
+ touchend: 'mouseup'
+ },
+ type = eventTypes[event.type],
+ simulatedEvent;
+
+ if ('MouseEvent' in window && typeof window.MouseEvent === 'function') {
+ simulatedEvent = new window.MouseEvent(type, {
+ 'bubbles': true,
+ 'cancelable': true,
+ 'screenX': first.screenX,
+ 'screenY': first.screenY,
+ 'clientX': first.clientX,
+ 'clientY': first.clientY
+ });
+ } else {
+ simulatedEvent = document.createEvent('MouseEvent');
+ simulatedEvent.initMouseEvent(type, true, true, window, 1, first.screenX, first.screenY, first.clientX, first.clientY, false, false, false, false, 0 /*left*/, null);
+ }
+ first.target.dispatchEvent(simulatedEvent);
+ };
+ };
+}(jQuery);
+
+//**********************************
+//**From the jQuery Mobile Library**
+//**need to recreate functionality**
+//**and try to improve if possible**
+//**********************************
+
+/* Removing the jQuery function ****
+************************************
+
+(function( $, window, undefined ) {
+
+ var $document = $( document ),
+ // supportTouch = $.mobile.support.touch,
+ touchStartEvent = 'touchstart'//supportTouch ? "touchstart" : "mousedown",
+ touchStopEvent = 'touchend'//supportTouch ? "touchend" : "mouseup",
+ touchMoveEvent = 'touchmove'//supportTouch ? "touchmove" : "mousemove";
+
+ // setup new event shortcuts
+ $.each( ( "touchstart touchmove touchend " +
+ "swipe swipeleft swiperight" ).split( " " ), function( i, name ) {
+
+ $.fn[ name ] = function( fn ) {
+ return fn ? this.bind( name, fn ) : this.trigger( name );
+ };
+
+ // jQuery < 1.8
+ if ( $.attrFn ) {
+ $.attrFn[ name ] = true;
+ }
+ });
+
+ function triggerCustomEvent( obj, eventType, event, bubble ) {
+ var originalType = event.type;
+ event.type = eventType;
+ if ( bubble ) {
+ $.event.trigger( event, undefined, obj );
+ } else {
+ $.event.dispatch.call( obj, event );
+ }
+ event.type = originalType;
+ }
+
+ // also handles taphold
+
+ // Also handles swipeleft, swiperight
+ $.event.special.swipe = {
+
+ // More than this horizontal displacement, and we will suppress scrolling.
+ scrollSupressionThreshold: 30,
+
+ // More time than this, and it isn't a swipe.
+ durationThreshold: 1000,
+
+ // Swipe horizontal displacement must be more than this.
+ horizontalDistanceThreshold: window.devicePixelRatio >= 2 ? 15 : 30,
+
+ // Swipe vertical displacement must be less than this.
+ verticalDistanceThreshold: window.devicePixelRatio >= 2 ? 15 : 30,
+
+ getLocation: function ( event ) {
+ var winPageX = window.pageXOffset,
+ winPageY = window.pageYOffset,
+ x = event.clientX,
+ y = event.clientY;
+
+ if ( event.pageY === 0 && Math.floor( y ) > Math.floor( event.pageY ) ||
+ event.pageX === 0 && Math.floor( x ) > Math.floor( event.pageX ) ) {
+
+ // iOS4 clientX/clientY have the value that should have been
+ // in pageX/pageY. While pageX/page/ have the value 0
+ x = x - winPageX;
+ y = y - winPageY;
+ } else if ( y < ( event.pageY - winPageY) || x < ( event.pageX - winPageX ) ) {
+
+ // Some Android browsers have totally bogus values for clientX/Y
+ // when scrolling/zooming a page. Detectable since clientX/clientY
+ // should never be smaller than pageX/pageY minus page scroll
+ x = event.pageX - winPageX;
+ y = event.pageY - winPageY;
+ }
+
+ return {
+ x: x,
+ y: y
+ };
+ },
+
+ start: function( event ) {
+ var data = event.originalEvent.touches ?
+ event.originalEvent.touches[ 0 ] : event,
+ location = $.event.special.swipe.getLocation( data );
+ return {
+ time: ( new Date() ).getTime(),
+ coords: [ location.x, location.y ],
+ origin: $( event.target )
+ };
+ },
+
+ stop: function( event ) {
+ var data = event.originalEvent.touches ?
+ event.originalEvent.touches[ 0 ] : event,
+ location = $.event.special.swipe.getLocation( data );
+ return {
+ time: ( new Date() ).getTime(),
+ coords: [ location.x, location.y ]
+ };
+ },
+
+ handleSwipe: function( start, stop, thisObject, origTarget ) {
+ if ( stop.time - start.time < $.event.special.swipe.durationThreshold &&
+ Math.abs( start.coords[ 0 ] - stop.coords[ 0 ] ) > $.event.special.swipe.horizontalDistanceThreshold &&
+ Math.abs( start.coords[ 1 ] - stop.coords[ 1 ] ) < $.event.special.swipe.verticalDistanceThreshold ) {
+ var direction = start.coords[0] > stop.coords[ 0 ] ? "swipeleft" : "swiperight";
+
+ triggerCustomEvent( thisObject, "swipe", $.Event( "swipe", { target: origTarget, swipestart: start, swipestop: stop }), true );
+ triggerCustomEvent( thisObject, direction,$.Event( direction, { target: origTarget, swipestart: start, swipestop: stop } ), true );
+ return true;
+ }
+ return false;
+
+ },
+
+ // This serves as a flag to ensure that at most one swipe event event is
+ // in work at any given time
+ eventInProgress: false,
+
+ setup: function() {
+ var events,
+ thisObject = this,
+ $this = $( thisObject ),
+ context = {};
+
+ // Retrieve the events data for this element and add the swipe context
+ events = $.data( this, "mobile-events" );
+ if ( !events ) {
+ events = { length: 0 };
+ $.data( this, "mobile-events", events );
+ }
+ events.length++;
+ events.swipe = context;
+
+ context.start = function( event ) {
+
+ // Bail if we're already working on a swipe event
+ if ( $.event.special.swipe.eventInProgress ) {
+ return;
+ }
+ $.event.special.swipe.eventInProgress = true;
+
+ var stop,
+ start = $.event.special.swipe.start( event ),
+ origTarget = event.target,
+ emitted = false;
+
+ context.move = function( event ) {
+ if ( !start || event.isDefaultPrevented() ) {
+ return;
+ }
+
+ stop = $.event.special.swipe.stop( event );
+ if ( !emitted ) {
+ emitted = $.event.special.swipe.handleSwipe( start, stop, thisObject, origTarget );
+ if ( emitted ) {
+
+ // Reset the context to make way for the next swipe event
+ $.event.special.swipe.eventInProgress = false;
+ }
+ }
+ // prevent scrolling
+ if ( Math.abs( start.coords[ 0 ] - stop.coords[ 0 ] ) > $.event.special.swipe.scrollSupressionThreshold ) {
+ event.preventDefault();
+ }
+ };
+
+ context.stop = function() {
+ emitted = true;
+
+ // Reset the context to make way for the next swipe event
+ $.event.special.swipe.eventInProgress = false;
+ $document.off( touchMoveEvent, context.move );
+ context.move = null;
+ };
+
+ $document.on( touchMoveEvent, context.move )
+ .one( touchStopEvent, context.stop );
+ };
+ $this.on( touchStartEvent, context.start );
+ },
+
+ teardown: function() {
+ var events, context;
+
+ events = $.data( this, "mobile-events" );
+ if ( events ) {
+ context = events.swipe;
+ delete events.swipe;
+ events.length--;
+ if ( events.length === 0 ) {
+ $.removeData( this, "mobile-events" );
+ }
+ }
+
+ if ( context ) {
+ if ( context.start ) {
+ $( this ).off( touchStartEvent, context.start );
+ }
+ if ( context.move ) {
+ $document.off( touchMoveEvent, context.move );
+ }
+ if ( context.stop ) {
+ $document.off( touchStopEvent, context.stop );
+ }
+ }
+ }
+ };
+ $.each({
+ swipeleft: "swipe.left",
+ swiperight: "swipe.right"
+ }, function( event, sourceEvent ) {
+
+ $.event.special[ event ] = {
+ setup: function() {
+ $( this ).bind( sourceEvent, $.noop );
+ },
+ teardown: function() {
+ $( this ).unbind( sourceEvent );
+ }
+ };
+ });
+})( jQuery, this );
+*/
+'use strict';
+
+!function ($) {
+
+ var MutationObserver = function () {
+ var prefixes = ['WebKit', 'Moz', 'O', 'Ms', ''];
+ for (var i = 0; i < prefixes.length; i++) {
+ if (prefixes[i] + 'MutationObserver' in window) {
+ return window[prefixes[i] + 'MutationObserver'];
+ }
+ }
+ return false;
+ }();
+
+ var triggers = function (el, type) {
+ el.data(type).split(' ').forEach(function (id) {
+ $('#' + id)[type === 'close' ? 'trigger' : 'triggerHandler'](type + '.zf.trigger', [el]);
+ });
+ };
+ // Elements with [data-open] will reveal a plugin that supports it when clicked.
+ $(document).on('click.zf.trigger', '[data-open]', function () {
+ triggers($(this), 'open');
+ });
+
+ // Elements with [data-close] will close a plugin that supports it when clicked.
+ // If used without a value on [data-close], the event will bubble, allowing it to close a parent component.
+ $(document).on('click.zf.trigger', '[data-close]', function () {
+ var id = $(this).data('close');
+ if (id) {
+ triggers($(this), 'close');
+ } else {
+ $(this).trigger('close.zf.trigger');
+ }
+ });
+
+ // Elements with [data-toggle] will toggle a plugin that supports it when clicked.
+ $(document).on('click.zf.trigger', '[data-toggle]', function () {
+ triggers($(this), 'toggle');
+ });
+
+ // Elements with [data-closable] will respond to close.zf.trigger events.
+ $(document).on('close.zf.trigger', '[data-closable]', function (e) {
+ e.stopPropagation();
+ var animation = $(this).data('closable');
+
+ if (animation !== '') {
+ Foundation.Motion.animateOut($(this), animation, function () {
+ $(this).trigger('closed.zf');
+ });
+ } else {
+ $(this).fadeOut().trigger('closed.zf');
+ }
+ });
+
+ $(document).on('focus.zf.trigger blur.zf.trigger', '[data-toggle-focus]', function () {
+ var id = $(this).data('toggle-focus');
+ $('#' + id).triggerHandler('toggle.zf.trigger', [$(this)]);
+ });
+
+ /**
+ * Fires once after all other scripts have loaded
+ * @function
+ * @private
+ */
+ $(window).on('load', function () {
+ checkListeners();
+ });
+
+ function checkListeners() {
+ eventsListener();
+ resizeListener();
+ scrollListener();
+ closemeListener();
+ }
+
+ //******** only fires this function once on load, if there's something to watch ********
+ function closemeListener(pluginName) {
+ var yetiBoxes = $('[data-yeti-box]'),
+ plugNames = ['dropdown', 'tooltip', 'reveal'];
+
+ if (pluginName) {
+ if (typeof pluginName === 'string') {
+ plugNames.push(pluginName);
+ } else if (typeof pluginName === 'object' && typeof pluginName[0] === 'string') {
+ plugNames.concat(pluginName);
+ } else {
+ console.error('Plugin names must be strings');
+ }
+ }
+ if (yetiBoxes.length) {
+ var listeners = plugNames.map(function (name) {
+ return 'closeme.zf.' + name;
+ }).join(' ');
+
+ $(window).off(listeners).on(listeners, function (e, pluginId) {
+ var plugin = e.namespace.split('.')[0];
+ var plugins = $('[data-' + plugin + ']').not('[data-yeti-box="' + pluginId + '"]');
+
+ plugins.each(function () {
+ var _this = $(this);
+
+ _this.triggerHandler('close.zf.trigger', [_this]);
+ });
+ });
+ }
+ }
+
+ function resizeListener(debounce) {
+ var timer = void 0,
+ $nodes = $('[data-resize]');
+ if ($nodes.length) {
+ $(window).off('resize.zf.trigger').on('resize.zf.trigger', function (e) {
+ if (timer) {
+ clearTimeout(timer);
+ }
+
+ timer = setTimeout(function () {
+
+ if (!MutationObserver) {
+ //fallback for IE 9
+ $nodes.each(function () {
+ $(this).triggerHandler('resizeme.zf.trigger');
+ });
+ }
+ //trigger all listening elements and signal a resize event
+ $nodes.attr('data-events', "resize");
+ }, debounce || 10); //default time to emit resize event
+ });
+ }
+ }
+
+ function scrollListener(debounce) {
+ var timer = void 0,
+ $nodes = $('[data-scroll]');
+ if ($nodes.length) {
+ $(window).off('scroll.zf.trigger').on('scroll.zf.trigger', function (e) {
+ if (timer) {
+ clearTimeout(timer);
+ }
+
+ timer = setTimeout(function () {
+
+ if (!MutationObserver) {
+ //fallback for IE 9
+ $nodes.each(function () {
+ $(this).triggerHandler('scrollme.zf.trigger');
+ });
+ }
+ //trigger all listening elements and signal a scroll event
+ $nodes.attr('data-events', "scroll");
+ }, debounce || 10); //default time to emit scroll event
+ });
+ }
+ }
+
+ function eventsListener() {
+ if (!MutationObserver) {
+ return false;
+ }
+ var nodes = document.querySelectorAll('[data-resize], [data-scroll], [data-mutate]');
+
+ //element callback
+ var listeningElementsMutation = function (mutationRecordsList) {
+ var $target = $(mutationRecordsList[0].target);
+ //trigger the event handler for the element depending on type
+ switch ($target.attr("data-events")) {
+
+ case "resize":
+ $target.triggerHandler('resizeme.zf.trigger', [$target]);
+ break;
+
+ case "scroll":
+ $target.triggerHandler('scrollme.zf.trigger', [$target, window.pageYOffset]);
+ break;
+
+ // case "mutate" :
+ // console.log('mutate', $target);
+ // $target.triggerHandler('mutate.zf.trigger');
+ //
+ // //make sure we don't get stuck in an infinite loop from sloppy codeing
+ // if ($target.index('[data-mutate]') == $("[data-mutate]").length-1) {
+ // domMutationObserver();
+ // }
+ // break;
+
+ default:
+ return false;
+ //nothing
+ }
+ };
+
+ if (nodes.length) {
+ //for each element that needs to listen for resizing, scrolling, (or coming soon mutation) add a single observer
+ for (var i = 0; i <= nodes.length - 1; i++) {
+ var elementObserver = new MutationObserver(listeningElementsMutation);
+ elementObserver.observe(nodes[i], { attributes: true, childList: false, characterData: false, subtree: false, attributeFilter: ["data-events"] });
+ }
+ }
+ }
+
+ // ------------------------------------
+
+ // [PH]
+ // Foundation.CheckWatchers = checkWatchers;
+ Foundation.IHearYou = checkListeners;
+ // Foundation.ISeeYou = scrollListener;
+ // Foundation.IFeelYou = closemeListener;
+}(jQuery);
+
+// function domMutationObserver(debounce) {
+// // !!! This is coming soon and needs more work; not active !!! //
+// var timer,
+// nodes = document.querySelectorAll('[data-mutate]');
+// //
+// if (nodes.length) {
+// // var MutationObserver = (function () {
+// // var prefixes = ['WebKit', 'Moz', 'O', 'Ms', ''];
+// // for (var i=0; i < prefixes.length; i++) {
+// // if (prefixes[i] + 'MutationObserver' in window) {
+// // return window[prefixes[i] + 'MutationObserver'];
+// // }
+// // }
+// // return false;
+// // }());
+//
+//
+// //for the body, we need to listen for all changes effecting the style and class attributes
+// var bodyObserver = new MutationObserver(bodyMutation);
+// bodyObserver.observe(document.body, { attributes: true, childList: true, characterData: false, subtree:true, attributeFilter:["style", "class"]});
+//
+//
+// //body callback
+// function bodyMutation(mutate) {
+// //trigger all listening elements and signal a mutation event
+// if (timer) { clearTimeout(timer); }
+//
+// timer = setTimeout(function() {
+// bodyObserver.disconnect();
+// $('[data-mutate]').attr('data-events',"mutate");
+// }, debounce || 150);
+// }
+// }
+// }
+'use strict';
+
+var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
+
+function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
+
+!function ($) {
+
+ /**
+ * Abide module.
+ * @module foundation.abide
+ */
+
+ var Abide = function () {
+ /**
+ * Creates a new instance of Abide.
+ * @class
+ * @fires Abide#init
+ * @param {Object} element - jQuery object to add the trigger to.
+ * @param {Object} options - Overrides to the default plugin settings.
+ */
+
+ function Abide(element) {
+ var options = arguments.length <= 1 || arguments[1] === undefined ? {} : arguments[1];
+
+ _classCallCheck(this, Abide);
+
+ this.$element = element;
+ this.options = $.extend({}, Abide.defaults, this.$element.data(), options);
+
+ this._init();
+
+ Foundation.registerPlugin(this, 'Abide');
+ }
+
+ /**
+ * Initializes the Abide plugin and calls functions to get Abide functioning on load.
+ * @private
+ */
+
+
+ _createClass(Abide, [{
+ key: '_init',
+ value: function _init() {
+ this.$inputs = this.$element.find('input, textarea, select');
+
+ this._events();
+ }
+
+ /**
+ * Initializes events for Abide.
+ * @private
+ */
+
+ }, {
+ key: '_events',
+ value: function _events() {
+ var _this2 = this;
+
+ this.$element.off('.abide').on('reset.zf.abide', function () {
+ _this2.resetForm();
+ }).on('submit.zf.abide', function () {
+ return _this2.validateForm();
+ });
+
+ if (this.options.validateOn === 'fieldChange') {
+ this.$inputs.off('change.zf.abide').on('change.zf.abide', function (e) {
+ _this2.validateInput($(e.target));
+ });
+ }
+
+ if (this.options.liveValidate) {
+ this.$inputs.off('input.zf.abide').on('input.zf.abide', function (e) {
+ _this2.validateInput($(e.target));
+ });
+ }
+ }
+
+ /**
+ * Calls necessary functions to update Abide upon DOM change
+ * @private
+ */
+
+ }, {
+ key: '_reflow',
+ value: function _reflow() {
+ this._init();
+ }
+
+ /**
+ * Checks whether or not a form element has the required attribute and if it's checked or not
+ * @param {Object} element - jQuery object to check for required attribute
+ * @returns {Boolean} Boolean value depends on whether or not attribute is checked or empty
+ */
+
+ }, {
+ key: 'requiredCheck',
+ value: function requiredCheck($el) {
+ if (!$el.attr('required')) return true;
+
+ var isGood = true;
+
+ switch ($el[0].type) {
+ case 'checkbox':
+ isGood = $el[0].checked;
+ break;
+
+ case 'select':
+ case 'select-one':
+ case 'select-multiple':
+ var opt = $el.find('option:selected');
+ if (!opt.length || !opt.val()) isGood = false;
+ break;
+
+ default:
+ if (!$el.val() || !$el.val().length) isGood = false;
+ }
+
+ return isGood;
+ }
+
+ /**
+ * Based on $el, get the first element with selector in this order:
+ * 1. The element's direct sibling('s).
+ * 3. The element's parent's children.
+ *
+ * This allows for multiple form errors per input, though if none are found, no form errors will be shown.
+ *
+ * @param {Object} $el - jQuery object to use as reference to find the form error selector.
+ * @returns {Object} jQuery object with the selector.
+ */
+
+ }, {
+ key: 'findFormError',
+ value: function findFormError($el) {
+ var $error = $el.siblings(this.options.formErrorSelector);
+
+ if (!$error.length) {
+ $error = $el.parent().find(this.options.formErrorSelector);
+ }
+
+ return $error;
+ }
+
+ /**
+ * Get the first element in this order:
+ * 2. The <label> with the attribute `[for="someInputId"]`
+ * 3. The `.closest()` <label>
+ *
+ * @param {Object} $el - jQuery object to check for required attribute
+ * @returns {Boolean} Boolean value depends on whether or not attribute is checked or empty
+ */
+
+ }, {
+ key: 'findLabel',
+ value: function findLabel($el) {
+ var id = $el[0].id;
+ var $label = this.$element.find('label[for="' + id + '"]');
+
+ if (!$label.length) {
+ return $el.closest('label');
+ }
+
+ return $label;
+ }
+
+ /**
+ * Get the set of labels associated with a set of radio els in this order
+ * 2. The <label> with the attribute `[for="someInputId"]`
+ * 3. The `.closest()` <label>
+ *
+ * @param {Object} $el - jQuery object to check for required attribute
+ * @returns {Boolean} Boolean value depends on whether or not attribute is checked or empty
+ */
+
+ }, {
+ key: 'findRadioLabels',
+ value: function findRadioLabels($els) {
+ var _this3 = this;
+
+ var labels = $els.map(function (i, el) {
+ var id = el.id;
+ var $label = _this3.$element.find('label[for="' + id + '"]');
+
+ if (!$label.length) {
+ $label = $(el).closest('label');
+ }
+ return $label[0];
+ });
+
+ return $(labels);
+ }
+
+ /**
+ * Adds the CSS error class as specified by the Abide settings to the label, input, and the form
+ * @param {Object} $el - jQuery object to add the class to
+ */
+
+ }, {
+ key: 'addErrorClasses',
+ value: function addErrorClasses($el) {
+ var $label = this.findLabel($el);
+ var $formError = this.findFormError($el);
+
+ if ($label.length) {
+ $label.addClass(this.options.labelErrorClass);
+ }
+
+ if ($formError.length) {
+ $formError.addClass(this.options.formErrorClass);
+ }
+
+ $el.addClass(this.options.inputErrorClass).attr('data-invalid', '');
+ }
+
+ /**
+ * Remove CSS error classes etc from an entire radio button group
+ * @param {String} groupName - A string that specifies the name of a radio button group
+ *
+ */
+
+ }, {
+ key: 'removeRadioErrorClasses',
+ value: function removeRadioErrorClasses(groupName) {
+ var $els = this.$element.find(':radio[name="' + groupName + '"]');
+ var $labels = this.findRadioLabels($els);
+ var $formErrors = this.findFormError($els);
+
+ if ($labels.length) {
+ $labels.removeClass(this.options.labelErrorClass);
+ }
+
+ if ($formErrors.length) {
+ $formErrors.removeClass(this.options.formErrorClass);
+ }
+
+ $els.removeClass(this.options.inputErrorClass).removeAttr('data-invalid');
+ }
+
+ /**
+ * Removes CSS error class as specified by the Abide settings from the label, input, and the form
+ * @param {Object} $el - jQuery object to remove the class from
+ */
+
+ }, {
+ key: 'removeErrorClasses',
+ value: function removeErrorClasses($el) {
+ // radios need to clear all of the els
+ if ($el[0].type == 'radio') {
+ return this.removeRadioErrorClasses($el.attr('name'));
+ }
+
+ var $label = this.findLabel($el);
+ var $formError = this.findFormError($el);
+
+ if ($label.length) {
+ $label.removeClass(this.options.labelErrorClass);
+ }
+
+ if ($formError.length) {
+ $formError.removeClass(this.options.formErrorClass);
+ }
+
+ $el.removeClass(this.options.inputErrorClass).removeAttr('data-invalid');
+ }
+
+ /**
+ * Goes through a form to find inputs and proceeds to validate them in ways specific to their type
+ * @fires Abide#invalid
+ * @fires Abide#valid
+ * @param {Object} element - jQuery object to validate, should be an HTML input
+ * @returns {Boolean} goodToGo - If the input is valid or not.
+ */
+
+ }, {
+ key: 'validateInput',
+ value: function validateInput($el) {
+ var clearRequire = this.requiredCheck($el),
+ validated = false,
+ customValidator = true,
+ validator = $el.attr('data-validator'),
+ equalTo = true;
+
+ // don't validate ignored inputs or hidden inputs
+ if ($el.is('[data-abide-ignore]') || $el.is('[type="hidden"]')) {
+ return true;
+ }
+
+ switch ($el[0].type) {
+ case 'radio':
+ validated = this.validateRadio($el.attr('name'));
+ break;
+
+ case 'checkbox':
+ validated = clearRequire;
+ break;
+
+ case 'select':
+ case 'select-one':
+ case 'select-multiple':
+ validated = clearRequire;
+ break;
+
+ default:
+ validated = this.validateText($el);
+ }
+
+ if (validator) {
+ customValidator = this.matchValidation($el, validator, $el.attr('required'));
+ }
+
+ if ($el.attr('data-equalto')) {
+ equalTo = this.options.validators.equalTo($el);
+ }
+
+ var goodToGo = [clearRequire, validated, customValidator, equalTo].indexOf(false) === -1;
+ var message = (goodToGo ? 'valid' : 'invalid') + '.zf.abide';
+
+ this[goodToGo ? 'removeErrorClasses' : 'addErrorClasses']($el);
+
+ /**
+ * Fires when the input is done checking for validation. Event trigger is either `valid.zf.abide` or `invalid.zf.abide`
+ * Trigger includes the DOM element of the input.
+ * @event Abide#valid
+ * @event Abide#invalid
+ */
+ $el.trigger(message, [$el]);
+
+ return goodToGo;
+ }
+
+ /**
+ * Goes through a form and if there are any invalid inputs, it will display the form error element
+ * @returns {Boolean} noError - true if no errors were detected...
+ * @fires Abide#formvalid
+ * @fires Abide#forminvalid
+ */
+
+ }, {
+ key: 'validateForm',
+ value: function validateForm() {
+ var acc = [];
+ var _this = this;
+
+ this.$inputs.each(function () {
+ acc.push(_this.validateInput($(this)));
+ });
+
+ var noError = acc.indexOf(false) === -1;
+
+ this.$element.find('[data-abide-error]').css('display', noError ? 'none' : 'block');
+
+ /**
+ * Fires when the form is finished validating. Event trigger is either `formvalid.zf.abide` or `forminvalid.zf.abide`.
+ * Trigger includes the element of the form.
+ * @event Abide#formvalid
+ * @event Abide#forminvalid
+ */
+ this.$element.trigger((noError ? 'formvalid' : 'forminvalid') + '.zf.abide', [this.$element]);
+
+ return noError;
+ }
+
+ /**
+ * Determines whether or a not a text input is valid based on the pattern specified in the attribute. If no matching pattern is found, returns true.
+ * @param {Object} $el - jQuery object to validate, should be a text input HTML element
+ * @param {String} pattern - string value of one of the RegEx patterns in Abide.options.patterns
+ * @returns {Boolean} Boolean value depends on whether or not the input value matches the pattern specified
+ */
+
+ }, {
+ key: 'validateText',
+ value: function validateText($el, pattern) {
+ // A pattern can be passed to this function, or it will be infered from the input's "pattern" attribute, or it's "type" attribute
+ pattern = pattern || $el.attr('pattern') || $el.attr('type');
+ var inputText = $el.val();
+ var valid = false;
+
+ if (inputText.length) {
+ // If the pattern attribute on the element is in Abide's list of patterns, then test that regexp
+ if (this.options.patterns.hasOwnProperty(pattern)) {
+ valid = this.options.patterns[pattern].test(inputText);
+ }
+ // If the pattern name isn't also the type attribute of the field, then test it as a regexp
+ else if (pattern !== $el.attr('type')) {
+ valid = new RegExp(pattern).test(inputText);
+ } else {
+ valid = true;
+ }
+ }
+ // An empty field is valid if it's not required
+ else if (!$el.prop('required')) {
+ valid = true;
+ }
+
+ return valid;
+ }
+
+ /**
+ * Determines whether or a not a radio input is valid based on whether or not it is required and selected. Although the function targets a single `<input>`, it validates by checking the `required` and `checked` properties of all radio buttons in its group.
+ * @param {String} groupName - A string that specifies the name of a radio button group
+ * @returns {Boolean} Boolean value depends on whether or not at least one radio input has been selected (if it's required)
+ */
+
+ }, {
+ key: 'validateRadio',
+ value: function validateRadio(groupName) {
+ // If at least one radio in the group has the `required` attribute, the group is considered required
+ // Per W3C spec, all radio buttons in a group should have `required`, but we're being nice
+ var $group = this.$element.find(':radio[name="' + groupName + '"]');
+ var valid = false,
+ required = false;
+
+ // For the group to be required, at least one radio needs to be required
+ $group.each(function (i, e) {
+ if ($(e).attr('required')) {
+ required = true;
+ }
+ });
+ if (!required) valid = true;
+
+ if (!valid) {
+ // For the group to be valid, at least one radio needs to be checked
+ $group.each(function (i, e) {
+ if ($(e).prop('checked')) {
+ valid = true;
+ }
+ });
+ };
+
+ return valid;
+ }
+
+ /**
+ * Determines if a selected input passes a custom validation function. Multiple validations can be used, if passed to the element with `data-validator="foo bar baz"` in a space separated listed.
+ * @param {Object} $el - jQuery input element.
+ * @param {String} validators - a string of function names matching functions in the Abide.options.validators object.
+ * @param {Boolean} required - self explanatory?
+ * @returns {Boolean} - true if validations passed.
+ */
+
+ }, {
+ key: 'matchValidation',
+ value: function matchValidation($el, validators, required) {
+ var _this4 = this;
+
+ required = required ? true : false;
+
+ var clear = validators.split(' ').map(function (v) {
+ return _this4.options.validators[v]($el, required, $el.parent());
+ });
+ return clear.indexOf(false) === -1;
+ }
+
+ /**
+ * Resets form inputs and styles
+ * @fires Abide#formreset
+ */
+
+ }, {
+ key: 'resetForm',
+ value: function resetForm() {
+ var $form = this.$element,
+ opts = this.options;
+
+ $('.' + opts.labelErrorClass, $form).not('small').removeClass(opts.labelErrorClass);
+ $('.' + opts.inputErrorClass, $form).not('small').removeClass(opts.inputErrorClass);
+ $(opts.formErrorSelector + '.' + opts.formErrorClass).removeClass(opts.formErrorClass);
+ $form.find('[data-abide-error]').css('display', 'none');
+ $(':input', $form).not(':button, :submit, :reset, :hidden, :radio, :checkbox, [data-abide-ignore]').val('').removeAttr('data-invalid');
+ $(':input:radio', $form).not('[data-abide-ignore]').prop('checked', false).removeAttr('data-invalid');
+ $(':input:checkbox', $form).not('[data-abide-ignore]').prop('checked', false).removeAttr('data-invalid');
+ /**
+ * Fires when the form has been reset.
+ * @event Abide#formreset
+ */
+ $form.trigger('formreset.zf.abide', [$form]);
+ }
+
+ /**
+ * Destroys an instance of Abide.
+ * Removes error styles and classes from elements, without resetting their values.
+ */
+
+ }, {
+ key: 'destroy',
+ value: function destroy() {
+ var _this = this;
+ this.$element.off('.abide').find('[data-abide-error]').css('display', 'none');
+
+ this.$inputs.off('.abide').each(function () {
+ _this.removeErrorClasses($(this));
+ });
+
+ Foundation.unregisterPlugin(this);
+ }
+ }]);
+
+ return Abide;
+ }();
+
+ /**
+ * Default settings for plugin
+ */
+
+
+ Abide.defaults = {
+ /**
+ * The default event to validate inputs. Checkboxes and radios validate immediately.
+ * Remove or change this value for manual validation.
+ * @option
+ * @example 'fieldChange'
+ */
+ validateOn: 'fieldChange',
+
+ /**
+ * Class to be applied to input labels on failed validation.
+ * @option
+ * @example 'is-invalid-label'
+ */
+ labelErrorClass: 'is-invalid-label',
+
+ /**
+ * Class to be applied to inputs on failed validation.
+ * @option
+ * @example 'is-invalid-input'
+ */
+ inputErrorClass: 'is-invalid-input',
+
+ /**
+ * Class selector to use to target Form Errors for show/hide.
+ * @option
+ * @example '.form-error'
+ */
+ formErrorSelector: '.form-error',
+
+ /**
+ * Class added to Form Errors on failed validation.
+ * @option
+ * @example 'is-visible'
+ */
+ formErrorClass: 'is-visible',
+
+ /**
+ * Set to true to validate text inputs on any value change.
+ * @option
+ * @example false
+ */
+ liveValidate: false,
+
+ patterns: {
+ alpha: /^[a-zA-Z]+$/,
+ alpha_numeric: /^[a-zA-Z0-9]+$/,
+ integer: /^[-+]?\d+$/,
+ number: /^[-+]?\d*(?:[\.\,]\d+)?$/,
+
+ // amex, visa, diners
+ card: /^(?:4[0-9]{12}(?:[0-9]{3})?|5[1-5][0-9]{14}|6(?:011|5[0-9][0-9])[0-9]{12}|3[47][0-9]{13}|3(?:0[0-5]|[68][0-9])[0-9]{11}|(?:2131|1800|35\d{3})\d{11})$/,
+ cvv: /^([0-9]){3,4}$/,
+
+ // http://www.whatwg.org/specs/web-apps/current-work/multipage/states-of-the-type-attribute.html#valid-e-mail-address
+ email: /^[a-zA-Z0-9.!#$%&'*+\/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+$/,
+
+ url: /^(https?|ftp|file|ssh):\/\/(((([a-zA-Z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:)*@)?(((\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5]))|((([a-zA-Z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-zA-Z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-zA-Z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-zA-Z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-zA-Z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-zA-Z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-zA-Z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-zA-Z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?)(:\d*)?)(\/((([a-zA-Z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)+(\/(([a-zA-Z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)*)*)?)?(\?((([a-zA-Z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|[\uE000-\uF8FF]|\/|\?)*)?(\#((([a-zA-Z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|\/|\?)*)?$/,
+ // abc.de
+ domain: /^([a-zA-Z0-9]([a-zA-Z0-9\-]{0,61}[a-zA-Z0-9])?\.)+[a-zA-Z]{2,8}$/,
+
+ datetime: /^([0-2][0-9]{3})\-([0-1][0-9])\-([0-3][0-9])T([0-5][0-9])\:([0-5][0-9])\:([0-5][0-9])(Z|([\-\+]([0-1][0-9])\:00))$/,
+ // YYYY-MM-DD
+ date: /(?:19|20)[0-9]{2}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1[0-9]|2[0-9])|(?:(?!02)(?:0[1-9]|1[0-2])-(?:30))|(?:(?:0[13578]|1[02])-31))$/,
+ // HH:MM:SS
+ time: /^(0[0-9]|1[0-9]|2[0-3])(:[0-5][0-9]){2}$/,
+ dateISO: /^\d{4}[\/\-]\d{1,2}[\/\-]\d{1,2}$/,
+ // MM/DD/YYYY
+ month_day_year: /^(0[1-9]|1[012])[- \/.](0[1-9]|[12][0-9]|3[01])[- \/.]\d{4}$/,
+ // DD/MM/YYYY
+ day_month_year: /^(0[1-9]|[12][0-9]|3[01])[- \/.](0[1-9]|1[012])[- \/.]\d{4}$/,
+
+ // #FFF or #FFFFFF
+ color: /^#?([a-fA-F0-9]{6}|[a-fA-F0-9]{3})$/
+ },
+
+ /**
+ * Optional validation functions to be used. `equalTo` being the only default included function.
+ * Functions should return only a boolean if the input is valid or not. Functions are given the following arguments:
+ * el : The jQuery element to validate.
+ * required : Boolean value of the required attribute be present or not.
+ * parent : The direct parent of the input.
+ * @option
+ */
+ validators: {
+ equalTo: function (el, required, parent) {
+ return $('#' + el.attr('data-equalto')).val() === el.val();
+ }
+ }
+ };
+
+ // Window exports
+ Foundation.plugin(Abide, 'Abide');
+}(jQuery);
+'use strict';
+
+var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
+
+function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
+
+!function ($) {
+
+ /**
+ * Accordion module.
+ * @module foundation.accordion
+ * @requires foundation.util.keyboard
+ * @requires foundation.util.motion
+ */
+
+ var Accordion = function () {
+ /**
+ * Creates a new instance of an accordion.
+ * @class
+ * @fires Accordion#init
+ * @param {jQuery} element - jQuery object to make into an accordion.
+ * @param {Object} options - a plain object with settings to override the default options.
+ */
+
+ function Accordion(element, options) {
+ _classCallCheck(this, Accordion);
+
+ this.$element = element;
+ this.options = $.extend({}, Accordion.defaults, this.$element.data(), options);
+
+ this._init();
+
+ Foundation.registerPlugin(this, 'Accordion');
+ Foundation.Keyboard.register('Accordion', {
+ 'ENTER': 'toggle',
+ 'SPACE': 'toggle',
+ 'ARROW_DOWN': 'next',
+ 'ARROW_UP': 'previous'
+ });
+ }
+
+ /**
+ * Initializes the accordion by animating the preset active pane(s).
+ * @private
+ */
+
+
+ _createClass(Accordion, [{
+ key: '_init',
+ value: function _init() {
+ this.$element.attr('role', 'tablist');
+ this.$tabs = this.$element.children('li, [data-accordion-item]');
+
+ this.$tabs.each(function (idx, el) {
+ var $el = $(el),
+ $content = $el.children('[data-tab-content]'),
+ id = $content[0].id || Foundation.GetYoDigits(6, 'accordion'),
+ linkId = el.id || id + '-label';
+
+ $el.find('a:first').attr({
+ 'aria-controls': id,
+ 'role': 'tab',
+ 'id': linkId,
+ 'aria-expanded': false,
+ 'aria-selected': false
+ });
+
+ $content.attr({ 'role': 'tabpanel', 'aria-labelledby': linkId, 'aria-hidden': true, 'id': id });
+ });
+ var $initActive = this.$element.find('.is-active').children('[data-tab-content]');
+ if ($initActive.length) {
+ this.down($initActive, true);
+ }
+ this._events();
+ }
+
+ /**
+ * Adds event handlers for items within the accordion.
+ * @private
+ */
+
+ }, {
+ key: '_events',
+ value: function _events() {
+ var _this = this;
+
+ this.$tabs.each(function () {
+ var $elem = $(this);
+ var $tabContent = $elem.children('[data-tab-content]');
+ if ($tabContent.length) {
+ $elem.children('a').off('click.zf.accordion keydown.zf.accordion').on('click.zf.accordion', function (e) {
+ // $(this).children('a').on('click.zf.accordion', function(e) {
+ e.preventDefault();
+ if ($elem.hasClass('is-active')) {
+ if (_this.options.allowAllClosed || $elem.siblings().hasClass('is-active')) {
+ _this.up($tabContent);
+ }
+ } else {
+ _this.down($tabContent);
+ }
+ }).on('keydown.zf.accordion', function (e) {
+ Foundation.Keyboard.handleKey(e, 'Accordion', {
+ toggle: function () {
+ _this.toggle($tabContent);
+ },
+ next: function () {
+ var $a = $elem.next().find('a').focus();
+ if (!_this.options.multiExpand) {
+ $a.trigger('click.zf.accordion');
+ }
+ },
+ previous: function () {
+ var $a = $elem.prev().find('a').focus();
+ if (!_this.options.multiExpand) {
+ $a.trigger('click.zf.accordion');
+ }
+ },
+ handled: function () {
+ e.preventDefault();
+ e.stopPropagation();
+ }
+ });
+ });
+ }
+ });
+ }
+
+ /**
+ * Toggles the selected content pane's open/close state.
+ * @param {jQuery} $target - jQuery object of the pane to toggle.
+ * @function
+ */
+
+ }, {
+ key: 'toggle',
+ value: function toggle($target) {
+ if ($target.parent().hasClass('is-active')) {
+ if (this.options.allowAllClosed || $target.parent().siblings().hasClass('is-active')) {
+ this.up($target);
+ } else {
+ return;
+ }
+ } else {
+ this.down($target);
+ }
+ }
+
+ /**
+ * Opens the accordion tab defined by `$target`.
+ * @param {jQuery} $target - Accordion pane to open.
+ * @param {Boolean} firstTime - flag to determine if reflow should happen.
+ * @fires Accordion#down
+ * @function
+ */
+
+ }, {
+ key: 'down',
+ value: function down($target, firstTime) {
+ var _this2 = this;
+
+ if (!this.options.multiExpand && !firstTime) {
+ var $currentActive = this.$element.children('.is-active').children('[data-tab-content]');
+ if ($currentActive.length) {
+ this.up($currentActive);
+ }
+ }
+
+ $target.attr('aria-hidden', false).parent('[data-tab-content]').addBack().parent().addClass('is-active');
+
+ $target.slideDown(this.options.slideSpeed, function () {
+ /**
+ * Fires when the tab is done opening.
+ * @event Accordion#down
+ */
+ _this2.$element.trigger('down.zf.accordion', [$target]);
+ });
+
+ $('#' + $target.attr('aria-labelledby')).attr({
+ 'aria-expanded': true,
+ 'aria-selected': true
+ });
+ }
+
+ /**
+ * Closes the tab defined by `$target`.
+ * @param {jQuery} $target - Accordion tab to close.
+ * @fires Accordion#up
+ * @function
+ */
+
+ }, {
+ key: 'up',
+ value: function up($target) {
+ var $aunts = $target.parent().siblings(),
+ _this = this;
+ var canClose = this.options.multiExpand ? $aunts.hasClass('is-active') : $target.parent().hasClass('is-active');
+
+ if (!this.options.allowAllClosed && !canClose) {
+ return;
+ }
+
+ // Foundation.Move(this.options.slideSpeed, $target, function(){
+ $target.slideUp(_this.options.slideSpeed, function () {
+ /**
+ * Fires when the tab is done collapsing up.
+ * @event Accordion#up
+ */
+ _this.$element.trigger('up.zf.accordion', [$target]);
+ });
+ // });
+
+ $target.attr('aria-hidden', true).parent().removeClass('is-active');
+
+ $('#' + $target.attr('aria-labelledby')).attr({
+ 'aria-expanded': false,
+ 'aria-selected': false
+ });
+ }
+
+ /**
+ * Destroys an instance of an accordion.
+ * @fires Accordion#destroyed
+ * @function
+ */
+
+ }, {
+ key: 'destroy',
+ value: function destroy() {
+ this.$element.find('[data-tab-content]').stop(true).slideUp(0).css('display', '');
+ this.$element.find('a').off('.zf.accordion');
+
+ Foundation.unregisterPlugin(this);
+ }
+ }]);
+
+ return Accordion;
+ }();
+
+ Accordion.defaults = {
+ /**
+ * Amount of time to animate the opening of an accordion pane.
+ * @option
+ * @example 250
+ */
+ slideSpeed: 250,
+ /**
+ * Allow the accordion to have multiple open panes.
+ * @option
+ * @example false
+ */
+ multiExpand: false,
+ /**
+ * Allow the accordion to close all panes.
+ * @option
+ * @example false
+ */
+ allowAllClosed: false
+ };
+
+ // Window exports
+ Foundation.plugin(Accordion, 'Accordion');
+}(jQuery);
+'use strict';
+
+var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
+
+function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
+
+!function ($) {
+
+ /**
+ * AccordionMenu module.
+ * @module foundation.accordionMenu
+ * @requires foundation.util.keyboard
+ * @requires foundation.util.motion
+ * @requires foundation.util.nest
+ */
+
+ var AccordionMenu = function () {
+ /**
+ * Creates a new instance of an accordion menu.
+ * @class
+ * @fires AccordionMenu#init
+ * @param {jQuery} element - jQuery object to make into an accordion menu.
+ * @param {Object} options - Overrides to the default plugin settings.
+ */
+
+ function AccordionMenu(element, options) {
+ _classCallCheck(this, AccordionMenu);
+
+ this.$element = element;
+ this.options = $.extend({}, AccordionMenu.defaults, this.$element.data(), options);
+
+ Foundation.Nest.Feather(this.$element, 'accordion');
+
+ this._init();
+
+ Foundation.registerPlugin(this, 'AccordionMenu');
+ Foundation.Keyboard.register('AccordionMenu', {
+ 'ENTER': 'toggle',
+ 'SPACE': 'toggle',
+ 'ARROW_RIGHT': 'open',
+ 'ARROW_UP': 'up',
+ 'ARROW_DOWN': 'down',
+ 'ARROW_LEFT': 'close',
+ 'ESCAPE': 'closeAll',
+ 'TAB': 'down',
+ 'SHIFT_TAB': 'up'
+ });
+ }
+
+ /**
+ * Initializes the accordion menu by hiding all nested menus.
+ * @private
+ */
+
+
+ _createClass(AccordionMenu, [{
+ key: '_init',
+ value: function _init() {
+ this.$element.find('[data-submenu]').not('.is-active').slideUp(0); //.find('a').css('padding-left', '1rem');
+ this.$element.attr({
+ 'role': 'tablist',
+ 'aria-multiselectable': this.options.multiOpen
+ });
+
+ this.$menuLinks = this.$element.find('.is-accordion-submenu-parent');
+ this.$menuLinks.each(function () {
+ var linkId = this.id || Foundation.GetYoDigits(6, 'acc-menu-link'),
+ $elem = $(this),
+ $sub = $elem.children('[data-submenu]'),
+ subId = $sub[0].id || Foundation.GetYoDigits(6, 'acc-menu'),
+ isActive = $sub.hasClass('is-active');
+ $elem.attr({
+ 'aria-controls': subId,
+ 'aria-expanded': isActive,
+ 'role': 'tab',
+ 'id': linkId
+ });
+ $sub.attr({
+ 'aria-labelledby': linkId,
+ 'aria-hidden': !isActive,
+ 'role': 'tabpanel',
+ 'id': subId
+ });
+ });
+ var initPanes = this.$element.find('.is-active');
+ if (initPanes.length) {
+ var _this = this;
+ initPanes.each(function () {
+ _this.down($(this));
+ });
+ }
+ this._events();
+ }
+
+ /**
+ * Adds event handlers for items within the menu.
+ * @private
+ */
+
+ }, {
+ key: '_events',
+ value: function _events() {
+ var _this = this;
+
+ this.$element.find('li').each(function () {
+ var $submenu = $(this).children('[data-submenu]');
+
+ if ($submenu.length) {
+ $(this).children('a').off('click.zf.accordionMenu').on('click.zf.accordionMenu', function (e) {
+ e.preventDefault();
+
+ _this.toggle($submenu);
+ });
+ }
+ }).on('keydown.zf.accordionmenu', function (e) {
+ var $element = $(this),
+ $elements = $element.parent('ul').children('li'),
+ $prevElement,
+ $nextElement,
+ $target = $element.children('[data-submenu]');
+
+ $elements.each(function (i) {
+ if ($(this).is($element)) {
+ $prevElement = $elements.eq(Math.max(0, i - 1)).find('a').first();
+ $nextElement = $elements.eq(Math.min(i + 1, $elements.length - 1)).find('a').first();
+
+ if ($(this).children('[data-submenu]:visible').length) {
+ // has open sub menu
+ $nextElement = $element.find('li:first-child').find('a').first();
+ }
+ if ($(this).is(':first-child')) {
+ // is first element of sub menu
+ $prevElement = $element.parents('li').first().find('a').first();
+ } else if ($prevElement.children('[data-submenu]:visible').length) {
+ // if previous element has open sub menu
+ $prevElement = $prevElement.find('li:last-child').find('a').first();
+ }
+ if ($(this).is(':last-child')) {
+ // is last element of sub menu
+ $nextElement = $element.parents('li').first().next('li').find('a').first();
+ }
+
+ return;
+ }
+ });
+ Foundation.Keyboard.handleKey(e, 'AccordionMenu', {
+ open: function () {
+ if ($target.is(':hidden')) {
+ _this.down($target);
+ $target.find('li').first().find('a').first().focus();
+ }
+ },
+ close: function () {
+ if ($target.length && !$target.is(':hidden')) {
+ // close active sub of this item
+ _this.up($target);
+ } else if ($element.parent('[data-submenu]').length) {
+ // close currently open sub
+ _this.up($element.parent('[data-submenu]'));
+ $element.parents('li').first().find('a').first().focus();
+ }
+ },
+ up: function () {
+ $prevElement.attr('tabindex', -1).focus();
+ return true;
+ },
+ down: function () {
+ $nextElement.attr('tabindex', -1).focus();
+ return true;
+ },
+ toggle: function () {
+ if ($element.children('[data-submenu]').length) {
+ _this.toggle($element.children('[data-submenu]'));
+ }
+ },
+ closeAll: function () {
+ _this.hideAll();
+ },
+ handled: function (preventDefault) {
+ if (preventDefault) {
+ e.preventDefault();
+ }
+ e.stopImmediatePropagation();
+ }
+ });
+ }); //.attr('tabindex', 0);
+ }
+
+ /**
+ * Closes all panes of the menu.
+ * @function
+ */
+
+ }, {
+ key: 'hideAll',
+ value: function hideAll() {
+ this.$element.find('[data-submenu]').slideUp(this.options.slideSpeed);
+ }
+
+ /**
+ * Toggles the open/close state of a submenu.
+ * @function
+ * @param {jQuery} $target - the submenu to toggle
+ */
+
+ }, {
+ key: 'toggle',
+ value: function toggle($target) {
+ if (!$target.is(':animated')) {
+ if (!$target.is(':hidden')) {
+ this.up($target);
+ } else {
+ this.down($target);
+ }
+ }
+ }
+
+ /**
+ * Opens the sub-menu defined by `$target`.
+ * @param {jQuery} $target - Sub-menu to open.
+ * @fires AccordionMenu#down
+ */
+
+ }, {
+ key: 'down',
+ value: function down($target) {
+ var _this = this;
+
+ if (!this.options.multiOpen) {
+ this.up(this.$element.find('.is-active').not($target.parentsUntil(this.$element).add($target)));
+ }
+
+ $target.addClass('is-active').attr({ 'aria-hidden': false }).parent('.is-accordion-submenu-parent').attr({ 'aria-expanded': true });
+
+ //Foundation.Move(this.options.slideSpeed, $target, function() {
+ $target.slideDown(_this.options.slideSpeed, function () {
+ /**
+ * Fires when the menu is done opening.
+ * @event AccordionMenu#down
+ */
+ _this.$element.trigger('down.zf.accordionMenu', [$target]);
+ });
+ //});
+ }
+
+ /**
+ * Closes the sub-menu defined by `$target`. All sub-menus inside the target will be closed as well.
+ * @param {jQuery} $target - Sub-menu to close.
+ * @fires AccordionMenu#up
+ */
+
+ }, {
+ key: 'up',
+ value: function up($target) {
+ var _this = this;
+ //Foundation.Move(this.options.slideSpeed, $target, function(){
+ $target.slideUp(_this.options.slideSpeed, function () {
+ /**
+ * Fires when the menu is done collapsing up.
+ * @event AccordionMenu#up
+ */
+ _this.$element.trigger('up.zf.accordionMenu', [$target]);
+ });
+ //});
+
+ var $menus = $target.find('[data-submenu]').slideUp(0).addBack().attr('aria-hidden', true);
+
+ $menus.parent('.is-accordion-submenu-parent').attr('aria-expanded', false);
+ }
+
+ /**
+ * Destroys an instance of accordion menu.
+ * @fires AccordionMenu#destroyed
+ */
+
+ }, {
+ key: 'destroy',
+ value: function destroy() {
+ this.$element.find('[data-submenu]').slideDown(0).css('display', '');
+ this.$element.find('a').off('click.zf.accordionMenu');
+
+ Foundation.Nest.Burn(this.$element, 'accordion');
+ Foundation.unregisterPlugin(this);
+ }
+ }]);
+
+ return AccordionMenu;
+ }();
+
+ AccordionMenu.defaults = {
+ /**
+ * Amount of time to animate the opening of a submenu in ms.
+ * @option
+ * @example 250
+ */
+ slideSpeed: 250,
+ /**
+ * Allow the menu to have multiple open panes.
+ * @option
+ * @example true
+ */
+ multiOpen: true
+ };
+
+ // Window exports
+ Foundation.plugin(AccordionMenu, 'AccordionMenu');
+}(jQuery);
+'use strict';
+
+var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
+
+function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
+
+!function ($) {
+
+ /**
+ * Drilldown module.
+ * @module foundation.drilldown
+ * @requires foundation.util.keyboard
+ * @requires foundation.util.motion
+ * @requires foundation.util.nest
+ */
+
+ var Drilldown = function () {
+ /**
+ * Creates a new instance of a drilldown menu.
+ * @class
+ * @param {jQuery} element - jQuery object to make into an accordion menu.
+ * @param {Object} options - Overrides to the default plugin settings.
+ */
+
+ function Drilldown(element, options) {
+ _classCallCheck(this, Drilldown);
+
+ this.$element = element;
+ this.options = $.extend({}, Drilldown.defaults, this.$element.data(), options);
+
+ Foundation.Nest.Feather(this.$element, 'drilldown');
+
+ this._init();
+
+ Foundation.registerPlugin(this, 'Drilldown');
+ Foundation.Keyboard.register('Drilldown', {
+ 'ENTER': 'open',
+ 'SPACE': 'open',
+ 'ARROW_RIGHT': 'next',
+ 'ARROW_UP': 'up',
+ 'ARROW_DOWN': 'down',
+ 'ARROW_LEFT': 'previous',
+ 'ESCAPE': 'close',
+ 'TAB': 'down',
+ 'SHIFT_TAB': 'up'
+ });
+ }
+
+ /**
+ * Initializes the drilldown by creating jQuery collections of elements
+ * @private
+ */
+
+
+ _createClass(Drilldown, [{
+ key: '_init',
+ value: function _init() {
+ this.$submenuAnchors = this.$element.find('li.is-drilldown-submenu-parent').children('a');
+ this.$submenus = this.$submenuAnchors.parent('li').children('[data-submenu]');
+ this.$menuItems = this.$element.find('li').not('.js-drilldown-back').attr('role', 'menuitem').find('a');
+
+ this._prepareMenu();
+
+ this._keyboardEvents();
+ }
+
+ /**
+ * prepares drilldown menu by setting attributes to links and elements
+ * sets a min height to prevent content jumping
+ * wraps the element if not already wrapped
+ * @private
+ * @function
+ */
+
+ }, {
+ key: '_prepareMenu',
+ value: function _prepareMenu() {
+ var _this = this;
+ // if(!this.options.holdOpen){
+ // this._menuLinkEvents();
+ // }
+ this.$submenuAnchors.each(function () {
+ var $link = $(this);
+ var $sub = $link.parent();
+ if (_this.options.parentLink) {
+ $link.clone().prependTo($sub.children('[data-submenu]')).wrap('<li class="is-submenu-parent-item is-submenu-item is-drilldown-submenu-item" role="menu-item"></li>');
+ }
+ $link.data('savedHref', $link.attr('href')).removeAttr('href');
+ $link.children('[data-submenu]').attr({
+ 'aria-hidden': true,
+ 'tabindex': 0,
+ 'role': 'menu'
+ });
+ _this._events($link);
+ });
+ this.$submenus.each(function () {
+ var $menu = $(this),
+ $back = $menu.find('.js-drilldown-back');
+ if (!$back.length) {
+ $menu.prepend(_this.options.backButton);
+ }
+ _this._back($menu);
+ });
+ if (!this.$element.parent().hasClass('is-drilldown')) {
+ this.$wrapper = $(this.options.wrapper).addClass('is-drilldown');
+ this.$wrapper = this.$element.wrap(this.$wrapper).parent().css(this._getMaxDims());
+ }
+ }
+
+ /**
+ * Adds event handlers to elements in the menu.
+ * @function
+ * @private
+ * @param {jQuery} $elem - the current menu item to add handlers to.
+ */
+
+ }, {
+ key: '_events',
+ value: function _events($elem) {
+ var _this = this;
+
+ $elem.off('click.zf.drilldown').on('click.zf.drilldown', function (e) {
+ if ($(e.target).parentsUntil('ul', 'li').hasClass('is-drilldown-submenu-parent')) {
+ e.stopImmediatePropagation();
+ e.preventDefault();
+ }
+
+ // if(e.target !== e.currentTarget.firstElementChild){
+ // return false;
+ // }
+ _this._show($elem.parent('li'));
+
+ if (_this.options.closeOnClick) {
+ var $body = $('body');
+ $body.off('.zf.drilldown').on('click.zf.drilldown', function (e) {
+ if (e.target === _this.$element[0] || $.contains(_this.$element[0], e.target)) {
+ return;
+ }
+ e.preventDefault();
+ _this._hideAll();
+ $body.off('.zf.drilldown');
+ });
+ }
+ });
+ }
+
+ /**
+ * Adds keydown event listener to `li`'s in the menu.
+ * @private
+ */
+
+ }, {
+ key: '_keyboardEvents',
+ value: function _keyboardEvents() {
+ var _this = this;
+
+ this.$menuItems.add(this.$element.find('.js-drilldown-back > a')).on('keydown.zf.drilldown', function (e) {
+
+ var $element = $(this),
+ $elements = $element.parent('li').parent('ul').children('li').children('a'),
+ $prevElement,
+ $nextElement;
+
+ $elements.each(function (i) {
+ if ($(this).is($element)) {
+ $prevElement = $elements.eq(Math.max(0, i - 1));
+ $nextElement = $elements.eq(Math.min(i + 1, $elements.length - 1));
+ return;
+ }
+ });
+
+ Foundation.Keyboard.handleKey(e, 'Drilldown', {
+ next: function () {
+ if ($element.is(_this.$submenuAnchors)) {
+ _this._show($element.parent('li'));
+ $element.parent('li').one(Foundation.transitionend($element), function () {
+ $element.parent('li').find('ul li a').filter(_this.$menuItems).first().focus();
+ });
+ return true;
+ }
+ },
+ previous: function () {
+ _this._hide($element.parent('li').parent('ul'));
+ $element.parent('li').parent('ul').one(Foundation.transitionend($element), function () {
+ setTimeout(function () {
+ $element.parent('li').parent('ul').parent('li').children('a').first().focus();
+ }, 1);
+ });
+ return true;
+ },
+ up: function () {
+ $prevElement.focus();
+ return true;
+ },
+ down: function () {
+ $nextElement.focus();
+ return true;
+ },
+ close: function () {
+ _this._back();
+ //_this.$menuItems.first().focus(); // focus to first element
+ },
+ open: function () {
+ if (!$element.is(_this.$menuItems)) {
+ // not menu item means back button
+ _this._hide($element.parent('li').parent('ul'));
+ $element.parent('li').parent('ul').one(Foundation.transitionend($element), function () {
+ setTimeout(function () {
+ $element.parent('li').parent('ul').parent('li').children('a').first().focus();
+ }, 1);
+ });
+ } else if ($element.is(_this.$submenuAnchors)) {
+ _this._show($element.parent('li'));
+ $element.parent('li').one(Foundation.transitionend($element), function () {
+ $element.parent('li').find('ul li a').filter(_this.$menuItems).first().focus();
+ });
+ }
+ return true;
+ },
+ handled: function (preventDefault) {
+ if (preventDefault) {
+ e.preventDefault();
+ }
+ e.stopImmediatePropagation();
+ }
+ });
+ }); // end keyboardAccess
+ }
+
+ /**
+ * Closes all open elements, and returns to root menu.
+ * @function
+ * @fires Drilldown#closed
+ */
+
+ }, {
+ key: '_hideAll',
+ value: function _hideAll() {
+ var $elem = this.$element.find('.is-drilldown-submenu.is-active').addClass('is-closing');
+ $elem.one(Foundation.transitionend($elem), function (e) {
+ $elem.removeClass('is-active is-closing');
+ });
+ /**
+ * Fires when the menu is fully closed.
+ * @event Drilldown#closed
+ */
+ this.$element.trigger('closed.zf.drilldown');
+ }
+
+ /**
+ * Adds event listener for each `back` button, and closes open menus.
+ * @function
+ * @fires Drilldown#back
+ * @param {jQuery} $elem - the current sub-menu to add `back` event.
+ */
+
+ }, {
+ key: '_back',
+ value: function _back($elem) {
+ var _this = this;
+ $elem.off('click.zf.drilldown');
+ $elem.children('.js-drilldown-back').on('click.zf.drilldown', function (e) {
+ e.stopImmediatePropagation();
+ // console.log('mouseup on back');
+ _this._hide($elem);
+ });
+ }
+
+ /**
+ * Adds event listener to menu items w/o submenus to close open menus on click.
+ * @function
+ * @private
+ */
+
+ }, {
+ key: '_menuLinkEvents',
+ value: function _menuLinkEvents() {
+ var _this = this;
+ this.$menuItems.not('.is-drilldown-submenu-parent').off('click.zf.drilldown').on('click.zf.drilldown', function (e) {
+ // e.stopImmediatePropagation();
+ setTimeout(function () {
+ _this._hideAll();
+ }, 0);
+ });
+ }
+
+ /**
+ * Opens a submenu.
+ * @function
+ * @fires Drilldown#open
+ * @param {jQuery} $elem - the current element with a submenu to open, i.e. the `li` tag.
+ */
+
+ }, {
+ key: '_show',
+ value: function _show($elem) {
+ $elem.children('[data-submenu]').addClass('is-active');
+ /**
+ * Fires when the submenu has opened.
+ * @event Drilldown#open
+ */
+ this.$element.trigger('open.zf.drilldown', [$elem]);
+ }
+ }, {
+ key: '_hide',
+
+
+ /**
+ * Hides a submenu
+ * @function
+ * @fires Drilldown#hide
+ * @param {jQuery} $elem - the current sub-menu to hide, i.e. the `ul` tag.
+ */
+ value: function _hide($elem) {
+ var _this = this;
+ $elem.addClass('is-closing').one(Foundation.transitionend($elem), function () {
+ $elem.removeClass('is-active is-closing');
+ $elem.blur();
+ });
+ /**
+ * Fires when the submenu has closed.
+ * @event Drilldown#hide
+ */
+ $elem.trigger('hide.zf.drilldown', [$elem]);
+ }
+
+ /**
+ * Iterates through the nested menus to calculate the min-height, and max-width for the menu.
+ * Prevents content jumping.
+ * @function
+ * @private
+ */
+
+ }, {
+ key: '_getMaxDims',
+ value: function _getMaxDims() {
+ var max = 0,
+ result = {};
+ this.$submenus.add(this.$element).each(function () {
+ var numOfElems = $(this).children('li').length;
+ max = numOfElems > max ? numOfElems : max;
+ });
+
+ result['min-height'] = max * this.$menuItems[0].getBoundingClientRect().height + 'px';
+ result['max-width'] = this.$element[0].getBoundingClientRect().width + 'px';
+
+ return result;
+ }
+
+ /**
+ * Destroys the Drilldown Menu
+ * @function
+ */
+
+ }, {
+ key: 'destroy',
+ value: function destroy() {
+ this._hideAll();
+ Foundation.Nest.Burn(this.$element, 'drilldown');
+ this.$element.unwrap().find('.js-drilldown-back, .is-submenu-parent-item').remove().end().find('.is-active, .is-closing, .is-drilldown-submenu').removeClass('is-active is-closing is-drilldown-submenu').end().find('[data-submenu]').removeAttr('aria-hidden tabindex role');
+ this.$submenuAnchors.each(function () {
+ $(this).off('.zf.drilldown');
+ });
+ this.$element.find('a').each(function () {
+ var $link = $(this);
+ if ($link.data('savedHref')) {
+ $link.attr('href', $link.data('savedHref')).removeData('savedHref');
+ } else {
+ return;
+ }
+ });
+ Foundation.unregisterPlugin(this);
+ }
+ }]);
+
+ return Drilldown;
+ }();
+
+ Drilldown.defaults = {
+ /**
+ * Markup used for JS generated back button. Prepended to submenu lists and deleted on `destroy` method, 'js-drilldown-back' class required. Remove the backslash (`\`) if copy and pasting.
+ * @option
+ * @example '<\li><\a>Back<\/a><\/li>'
+ */
+ backButton: '<li class="js-drilldown-back"><a tabindex="0">Back</a></li>',
+ /**
+ * Markup used to wrap drilldown menu. Use a class name for independent styling; the JS applied class: `is-drilldown` is required. Remove the backslash (`\`) if copy and pasting.
+ * @option
+ * @example '<\div class="is-drilldown"><\/div>'
+ */
+ wrapper: '<div></div>',
+ /**
+ * Adds the parent link to the submenu.
+ * @option
+ * @example false
+ */
+ parentLink: false,
+ /**
+ * Allow the menu to return to root list on body click.
+ * @option
+ * @example false
+ */
+ closeOnClick: false
+ // holdOpen: false
+ };
+
+ // Window exports
+ Foundation.plugin(Drilldown, 'Drilldown');
+}(jQuery);
+'use strict';
+
+var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
+
+function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
+
+!function ($) {
+
+ /**
+ * Dropdown module.
+ * @module foundation.dropdown
+ * @requires foundation.util.keyboard
+ * @requires foundation.util.box
+ * @requires foundation.util.triggers
+ */
+
+ var Dropdown = function () {
+ /**
+ * Creates a new instance of a dropdown.
+ * @class
+ * @param {jQuery} element - jQuery object to make into a dropdown.
+ * Object should be of the dropdown panel, rather than its anchor.
+ * @param {Object} options - Overrides to the default plugin settings.
+ */
+
+ function Dropdown(element, options) {
+ _classCallCheck(this, Dropdown);
+
+ this.$element = element;
+ this.options = $.extend({}, Dropdown.defaults, this.$element.data(), options);
+ this._init();
+
+ Foundation.registerPlugin(this, 'Dropdown');
+ Foundation.Keyboard.register('Dropdown', {
+ 'ENTER': 'open',
+ 'SPACE': 'open',
+ 'ESCAPE': 'close',
+ 'TAB': 'tab_forward',
+ 'SHIFT_TAB': 'tab_backward'
+ });
+ }
+
+ /**
+ * Initializes the plugin by setting/checking options and attributes, adding helper variables, and saving the anchor.
+ * @function
+ * @private
+ */
+
+
+ _createClass(Dropdown, [{
+ key: '_init',
+ value: function _init() {
+ var $id = this.$element.attr('id');
+
+ this.$anchor = $('[data-toggle="' + $id + '"]') || $('[data-open="' + $id + '"]');
+ this.$anchor.attr({
+ 'aria-controls': $id,
+ 'data-is-focus': false,
+ 'data-yeti-box': $id,
+ 'aria-haspopup': true,
+ 'aria-expanded': false
+
+ });
+
+ this.options.positionClass = this.getPositionClass();
+ this.counter = 4;
+ this.usedPositions = [];
+ this.$element.attr({
+ 'aria-hidden': 'true',
+ 'data-yeti-box': $id,
+ 'data-resize': $id,
+ 'aria-labelledby': this.$anchor[0].id || Foundation.GetYoDigits(6, 'dd-anchor')
+ });
+ this._events();
+ }
+
+ /**
+ * Helper function to determine current orientation of dropdown pane.
+ * @function
+ * @returns {String} position - string value of a position class.
+ */
+
+ }, {
+ key: 'getPositionClass',
+ value: function getPositionClass() {
+ var verticalPosition = this.$element[0].className.match(/(top|left|right|bottom)/g);
+ verticalPosition = verticalPosition ? verticalPosition[0] : '';
+ var horizontalPosition = /float-(\S+)\s/.exec(this.$anchor[0].className);
+ horizontalPosition = horizontalPosition ? horizontalPosition[1] : '';
+ var position = horizontalPosition ? horizontalPosition + ' ' + verticalPosition : verticalPosition;
+ return position;
+ }
+
+ /**
+ * Adjusts the dropdown panes orientation by adding/removing positioning classes.
+ * @function
+ * @private
+ * @param {String} position - position class to remove.
+ */
+
+ }, {
+ key: '_reposition',
+ value: function _reposition(position) {
+ this.usedPositions.push(position ? position : 'bottom');
+ //default, try switching to opposite side
+ if (!position && this.usedPositions.indexOf('top') < 0) {
+ this.$element.addClass('top');
+ } else if (position === 'top' && this.usedPositions.indexOf('bottom') < 0) {
+ this.$element.removeClass(position);
+ } else if (position === 'left' && this.usedPositions.indexOf('right') < 0) {
+ this.$element.removeClass(position).addClass('right');
+ } else if (position === 'right' && this.usedPositions.indexOf('left') < 0) {
+ this.$element.removeClass(position).addClass('left');
+ }
+
+ //if default change didn't work, try bottom or left first
+ else if (!position && this.usedPositions.indexOf('top') > -1 && this.usedPositions.indexOf('left') < 0) {
+ this.$element.addClass('left');
+ } else if (position === 'top' && this.usedPositions.indexOf('bottom') > -1 && this.usedPositions.indexOf('left') < 0) {
+ this.$element.removeClass(position).addClass('left');
+ } else if (position === 'left' && this.usedPositions.indexOf('right') > -1 && this.usedPositions.indexOf('bottom') < 0) {
+ this.$element.removeClass(position);
+ } else if (position === 'right' && this.usedPositions.indexOf('left') > -1 && this.usedPositions.indexOf('bottom') < 0) {
+ this.$element.removeClass(position);
+ }
+ //if nothing cleared, set to bottom
+ else {
+ this.$element.removeClass(position);
+ }
+ this.classChanged = true;
+ this.counter--;
+ }
+
+ /**
+ * Sets the position and orientation of the dropdown pane, checks for collisions.
+ * Recursively calls itself if a collision is detected, with a new position class.
+ * @function
+ * @private
+ */
+
+ }, {
+ key: '_setPosition',
+ value: function _setPosition() {
+ if (this.$anchor.attr('aria-expanded') === 'false') {
+ return false;
+ }
+ var position = this.getPositionClass(),
+ $eleDims = Foundation.Box.GetDimensions(this.$element),
+ $anchorDims = Foundation.Box.GetDimensions(this.$anchor),
+ _this = this,
+ direction = position === 'left' ? 'left' : position === 'right' ? 'left' : 'top',
+ param = direction === 'top' ? 'height' : 'width',
+ offset = param === 'height' ? this.options.vOffset : this.options.hOffset;
+
+ if ($eleDims.width >= $eleDims.windowDims.width || !this.counter && !Foundation.Box.ImNotTouchingYou(this.$element)) {
+ this.$element.offset(Foundation.Box.GetOffsets(this.$element, this.$anchor, 'center bottom', this.options.vOffset, this.options.hOffset, true)).css({
+ 'width': $eleDims.windowDims.width - this.options.hOffset * 2,
+ 'height': 'auto'
+ });
+ this.classChanged = true;
+ return false;
+ }
+
+ this.$element.offset(Foundation.Box.GetOffsets(this.$element, this.$anchor, position, this.options.vOffset, this.options.hOffset));
+
+ while (!Foundation.Box.ImNotTouchingYou(this.$element, false, true) && this.counter) {
+ this._reposition(position);
+ this._setPosition();
+ }
+ }
+
+ /**
+ * Adds event listeners to the element utilizing the triggers utility library.
+ * @function
+ * @private
+ */
+
+ }, {
+ key: '_events',
+ value: function _events() {
+ var _this = this;
+ this.$element.on({
+ 'open.zf.trigger': this.open.bind(this),
+ 'close.zf.trigger': this.close.bind(this),
+ 'toggle.zf.trigger': this.toggle.bind(this),
+ 'resizeme.zf.trigger': this._setPosition.bind(this)
+ });
+
+ if (this.options.hover) {
+ this.$anchor.off('mouseenter.zf.dropdown mouseleave.zf.dropdown').on('mouseenter.zf.dropdown', function () {
+ clearTimeout(_this.timeout);
+ _this.timeout = setTimeout(function () {
+ _this.open();
+ _this.$anchor.data('hover', true);
+ }, _this.options.hoverDelay);
+ }).on('mouseleave.zf.dropdown', function () {
+ clearTimeout(_this.timeout);
+ _this.timeout = setTimeout(function () {
+ _this.close();
+ _this.$anchor.data('hover', false);
+ }, _this.options.hoverDelay);
+ });
+ if (this.options.hoverPane) {
+ this.$element.off('mouseenter.zf.dropdown mouseleave.zf.dropdown').on('mouseenter.zf.dropdown', function () {
+ clearTimeout(_this.timeout);
+ }).on('mouseleave.zf.dropdown', function () {
+ clearTimeout(_this.timeout);
+ _this.timeout = setTimeout(function () {
+ _this.close();
+ _this.$anchor.data('hover', false);
+ }, _this.options.hoverDelay);
+ });
+ }
+ }
+ this.$anchor.add(this.$element).on('keydown.zf.dropdown', function (e) {
+
+ var $target = $(this),
+ visibleFocusableElements = Foundation.Keyboard.findFocusable(_this.$element);
+
+ Foundation.Keyboard.handleKey(e, 'Dropdown', {
+ tab_forward: function () {
+ if (_this.$element.find(':focus').is(visibleFocusableElements.eq(-1))) {
+ // left modal downwards, setting focus to first element
+ if (_this.options.trapFocus) {
+ // if focus shall be trapped
+ visibleFocusableElements.eq(0).focus();
+ e.preventDefault();
+ } else {
+ // if focus is not trapped, close dropdown on focus out
+ _this.close();
+ }
+ }
+ },
+ tab_backward: function () {
+ if (_this.$element.find(':focus').is(visibleFocusableElements.eq(0)) || _this.$element.is(':focus')) {
+ // left modal upwards, setting focus to last element
+ if (_this.options.trapFocus) {
+ // if focus shall be trapped
+ visibleFocusableElements.eq(-1).focus();
+ e.preventDefault();
+ } else {
+ // if focus is not trapped, close dropdown on focus out
+ _this.close();
+ }
+ }
+ },
+ open: function () {
+ if ($target.is(_this.$anchor)) {
+ _this.open();
+ _this.$element.attr('tabindex', -1).focus();
+ e.preventDefault();
+ }
+ },
+ close: function () {
+ _this.close();
+ _this.$anchor.focus();
+ }
+ });
+ });
+ }
+
+ /**
+ * Adds an event handler to the body to close any dropdowns on a click.
+ * @function
+ * @private
+ */
+
+ }, {
+ key: '_addBodyHandler',
+ value: function _addBodyHandler() {
+ var $body = $(document.body).not(this.$element),
+ _this = this;
+ $body.off('click.zf.dropdown').on('click.zf.dropdown', function (e) {
+ if (_this.$anchor.is(e.target) || _this.$anchor.find(e.target).length) {
+ return;
+ }
+ if (_this.$element.find(e.target).length) {
+ return;
+ }
+ _this.close();
+ $body.off('click.zf.dropdown');
+ });
+ }
+
+ /**
+ * Opens the dropdown pane, and fires a bubbling event to close other dropdowns.
+ * @function
+ * @fires Dropdown#closeme
+ * @fires Dropdown#show
+ */
+
+ }, {
+ key: 'open',
+ value: function open() {
+ // var _this = this;
+ /**
+ * Fires to close other open dropdowns
+ * @event Dropdown#closeme
+ */
+ this.$element.trigger('closeme.zf.dropdown', this.$element.attr('id'));
+ this.$anchor.addClass('hover').attr({ 'aria-expanded': true });
+ // this.$element/*.show()*/;
+ this._setPosition();
+ this.$element.addClass('is-open').attr({ 'aria-hidden': false });
+
+ if (this.options.autoFocus) {
+ var $focusable = Foundation.Keyboard.findFocusable(this.$element);
+ if ($focusable.length) {
+ $focusable.eq(0).focus();
+ }
+ }
+
+ if (this.options.closeOnClick) {
+ this._addBodyHandler();
+ }
+
+ /**
+ * Fires once the dropdown is visible.
+ * @event Dropdown#show
+ */
+ this.$element.trigger('show.zf.dropdown', [this.$element]);
+ }
+
+ /**
+ * Closes the open dropdown pane.
+ * @function
+ * @fires Dropdown#hide
+ */
+
+ }, {
+ key: 'close',
+ value: function close() {
+ if (!this.$element.hasClass('is-open')) {
+ return false;
+ }
+ this.$element.removeClass('is-open').attr({ 'aria-hidden': true });
+
+ this.$anchor.removeClass('hover').attr('aria-expanded', false);
+
+ if (this.classChanged) {
+ var curPositionClass = this.getPositionClass();
+ if (curPositionClass) {
+ this.$element.removeClass(curPositionClass);
+ }
+ this.$element.addClass(this.options.positionClass)
+ /*.hide()*/.css({ height: '', width: '' });
+ this.classChanged = false;
+ this.counter = 4;
+ this.usedPositions.length = 0;
+ }
+ this.$element.trigger('hide.zf.dropdown', [this.$element]);
+ }
+
+ /**
+ * Toggles the dropdown pane's visibility.
+ * @function
+ */
+
+ }, {
+ key: 'toggle',
+ value: function toggle() {
+ if (this.$element.hasClass('is-open')) {
+ if (this.$anchor.data('hover')) return;
+ this.close();
+ } else {
+ this.open();
+ }
+ }
+
+ /**
+ * Destroys the dropdown.
+ * @function
+ */
+
+ }, {
+ key: 'destroy',
+ value: function destroy() {
+ this.$element.off('.zf.trigger').hide();
+ this.$anchor.off('.zf.dropdown');
+
+ Foundation.unregisterPlugin(this);
+ }
+ }]);
+
+ return Dropdown;
+ }();
+
+ Dropdown.defaults = {
+ /**
+ * Amount of time to delay opening a submenu on hover event.
+ * @option
+ * @example 250
+ */
+ hoverDelay: 250,
+ /**
+ * Allow submenus to open on hover events
+ * @option
+ * @example false
+ */
+ hover: false,
+ /**
+ * Don't close dropdown when hovering over dropdown pane
+ * @option
+ * @example true
+ */
+ hoverPane: false,
+ /**
+ * Number of pixels between the dropdown pane and the triggering element on open.
+ * @option
+ * @example 1
+ */
+ vOffset: 1,
+ /**
+ * Number of pixels between the dropdown pane and the triggering element on open.
+ * @option
+ * @example 1
+ */
+ hOffset: 1,
+ /**
+ * Class applied to adjust open position. JS will test and fill this in.
+ * @option
+ * @example 'top'
+ */
+ positionClass: '',
+ /**
+ * Allow the plugin to trap focus to the dropdown pane if opened with keyboard commands.
+ * @option
+ * @example false
+ */
+ trapFocus: false,
+ /**
+ * Allow the plugin to set focus to the first focusable element within the pane, regardless of method of opening.
+ * @option
+ * @example true
+ */
+ autoFocus: false,
+ /**
+ * Allows a click on the body to close the dropdown.
+ * @option
+ * @example false
+ */
+ closeOnClick: false
+ };
+
+ // Window exports
+ Foundation.plugin(Dropdown, 'Dropdown');
+}(jQuery);
+'use strict';
+
+var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
+
+function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
+
+!function ($) {
+
+ /**
+ * DropdownMenu module.
+ * @module foundation.dropdown-menu
+ * @requires foundation.util.keyboard
+ * @requires foundation.util.box
+ * @requires foundation.util.nest
+ */
+
+ var DropdownMenu = function () {
+ /**
+ * Creates a new instance of DropdownMenu.
+ * @class
+ * @fires DropdownMenu#init
+ * @param {jQuery} element - jQuery object to make into a dropdown menu.
+ * @param {Object} options - Overrides to the default plugin settings.
+ */
+
+ function DropdownMenu(element, options) {
+ _classCallCheck(this, DropdownMenu);
+
+ this.$element = element;
+ this.options = $.extend({}, DropdownMenu.defaults, this.$element.data(), options);
+
+ Foundation.Nest.Feather(this.$element, 'dropdown');
+ this._init();
+
+ Foundation.registerPlugin(this, 'DropdownMenu');
+ Foundation.Keyboard.register('DropdownMenu', {
+ 'ENTER': 'open',
+ 'SPACE': 'open',
+ 'ARROW_RIGHT': 'next',
+ 'ARROW_UP': 'up',
+ 'ARROW_DOWN': 'down',
+ 'ARROW_LEFT': 'previous',
+ 'ESCAPE': 'close'
+ });
+ }
+
+ /**
+ * Initializes the plugin, and calls _prepareMenu
+ * @private
+ * @function
+ */
+
+
+ _createClass(DropdownMenu, [{
+ key: '_init',
+ value: function _init() {
+ var subs = this.$element.find('li.is-dropdown-submenu-parent');
+ this.$element.children('.is-dropdown-submenu-parent').children('.is-dropdown-submenu').addClass('first-sub');
+
+ this.$menuItems = this.$element.find('[role="menuitem"]');
+ this.$tabs = this.$element.children('[role="menuitem"]');
+ this.$tabs.find('ul.is-dropdown-submenu').addClass(this.options.verticalClass);
+
+ if (this.$element.hasClass(this.options.rightClass) || this.options.alignment === 'right' || Foundation.rtl() || this.$element.parents('.top-bar-right').is('*')) {
+ this.options.alignment = 'right';
+ subs.addClass('opens-left');
+ } else {
+ subs.addClass('opens-right');
+ }
+ this.changed = false;
+ this._events();
+ }
+ }, {
+ key: '_events',
+
+ /**
+ * Adds event listeners to elements within the menu
+ * @private
+ * @function
+ */
+ value: function _events() {
+ var _this = this,
+ hasTouch = 'ontouchstart' in window || typeof window.ontouchstart !== 'undefined',
+ parClass = 'is-dropdown-submenu-parent';
+
+ // used for onClick and in the keyboard handlers
+ var handleClickFn = function (e) {
+ var $elem = $(e.target).parentsUntil('ul', '.' + parClass),
+ hasSub = $elem.hasClass(parClass),
+ hasClicked = $elem.attr('data-is-click') === 'true',
+ $sub = $elem.children('.is-dropdown-submenu');
+
+ if (hasSub) {
+ if (hasClicked) {
+ if (!_this.options.closeOnClick || !_this.options.clickOpen && !hasTouch || _this.options.forceFollow && hasTouch) {
+ return;
+ } else {
+ e.stopImmediatePropagation();
+ e.preventDefault();
+ _this._hide($elem);
+ }
+ } else {
+ e.preventDefault();
+ e.stopImmediatePropagation();
+ _this._show($elem.children('.is-dropdown-submenu'));
+ $elem.add($elem.parentsUntil(_this.$element, '.' + parClass)).attr('data-is-click', true);
+ }
+ } else {
+ return;
+ }
+ };
+
+ if (this.options.clickOpen || hasTouch) {
+ this.$menuItems.on('click.zf.dropdownmenu touchstart.zf.dropdownmenu', handleClickFn);
+ }
+
+ if (!this.options.disableHover) {
+ this.$menuItems.on('mouseenter.zf.dropdownmenu', function (e) {
+ var $elem = $(this),
+ hasSub = $elem.hasClass(parClass);
+
+ if (hasSub) {
+ clearTimeout(_this.delay);
+ _this.delay = setTimeout(function () {
+ _this._show($elem.children('.is-dropdown-submenu'));
+ }, _this.options.hoverDelay);
+ }
+ }).on('mouseleave.zf.dropdownmenu', function (e) {
+ var $elem = $(this),
+ hasSub = $elem.hasClass(parClass);
+ if (hasSub && _this.options.autoclose) {
+ if ($elem.attr('data-is-click') === 'true' && _this.options.clickOpen) {
+ return false;
+ }
+
+ clearTimeout(_this.delay);
+ _this.delay = setTimeout(function () {
+ _this._hide($elem);
+ }, _this.options.closingTime);
+ }
+ });
+ }
+ this.$menuItems.on('keydown.zf.dropdownmenu', function (e) {
+ var $element = $(e.target).parentsUntil('ul', '[role="menuitem"]'),
+ isTab = _this.$tabs.index($element) > -1,
+ $elements = isTab ? _this.$tabs : $element.siblings('li').add($element),
+ $prevElement,
+ $nextElement;
+
+ $elements.each(function (i) {
+ if ($(this).is($element)) {
+ $prevElement = $elements.eq(i - 1);
+ $nextElement = $elements.eq(i + 1);
+ return;
+ }
+ });
+
+ var nextSibling = function () {
+ if (!$element.is(':last-child')) {
+ $nextElement.children('a:first').focus();
+ e.preventDefault();
+ }
+ },
+ prevSibling = function () {
+ $prevElement.children('a:first').focus();
+ e.preventDefault();
+ },
+ openSub = function () {
+ var $sub = $element.children('ul.is-dropdown-submenu');
+ if ($sub.length) {
+ _this._show($sub);
+ $element.find('li > a:first').focus();
+ e.preventDefault();
+ } else {
+ return;
+ }
+ },
+ closeSub = function () {
+ //if ($element.is(':first-child')) {
+ var close = $element.parent('ul').parent('li');
+ close.children('a:first').focus();
+ _this._hide(close);
+ e.preventDefault();
+ //}
+ };
+ var functions = {
+ open: openSub,
+ close: function () {
+ _this._hide(_this.$element);
+ _this.$menuItems.find('a:first').focus(); // focus to first element
+ e.preventDefault();
+ },
+ handled: function () {
+ e.stopImmediatePropagation();
+ }
+ };
+
+ if (isTab) {
+ if (_this.$element.hasClass(_this.options.verticalClass)) {
+ // vertical menu
+ if (_this.options.alignment === 'left') {
+ // left aligned
+ $.extend(functions, {
+ down: nextSibling,
+ up: prevSibling,
+ next: openSub,
+ previous: closeSub
+ });
+ } else {
+ // right aligned
+ $.extend(functions, {
+ down: nextSibling,
+ up: prevSibling,
+ next: closeSub,
+ previous: openSub
+ });
+ }
+ } else {
+ // horizontal menu
+ $.extend(functions, {
+ next: nextSibling,
+ previous: prevSibling,
+ down: openSub,
+ up: closeSub
+ });
+ }
+ } else {
+ // not tabs -> one sub
+ if (_this.options.alignment === 'left') {
+ // left aligned
+ $.extend(functions, {
+ next: openSub,
+ previous: closeSub,
+ down: nextSibling,
+ up: prevSibling
+ });
+ } else {
+ // right aligned
+ $.extend(functions, {
+ next: closeSub,
+ previous: openSub,
+ down: nextSibling,
+ up: prevSibling
+ });
+ }
+ }
+ Foundation.Keyboard.handleKey(e, 'DropdownMenu', functions);
+ });
+ }
+
+ /**
+ * Adds an event handler to the body to close any dropdowns on a click.
+ * @function
+ * @private
+ */
+
+ }, {
+ key: '_addBodyHandler',
+ value: function _addBodyHandler() {
+ var $body = $(document.body),
+ _this = this;
+ $body.off('mouseup.zf.dropdownmenu touchend.zf.dropdownmenu').on('mouseup.zf.dropdownmenu touchend.zf.dropdownmenu', function (e) {
+ var $link = _this.$element.find(e.target);
+ if ($link.length) {
+ return;
+ }
+
+ _this._hide();
+ $body.off('mouseup.zf.dropdownmenu touchend.zf.dropdownmenu');
+ });
+ }
+
+ /**
+ * Opens a dropdown pane, and checks for collisions first.
+ * @param {jQuery} $sub - ul element that is a submenu to show
+ * @function
+ * @private
+ * @fires DropdownMenu#show
+ */
+
+ }, {
+ key: '_show',
+ value: function _show($sub) {
+ var idx = this.$tabs.index(this.$tabs.filter(function (i, el) {
+ return $(el).find($sub).length > 0;
+ }));
+ var $sibs = $sub.parent('li.is-dropdown-submenu-parent').siblings('li.is-dropdown-submenu-parent');
+ this._hide($sibs, idx);
+ $sub.css('visibility', 'hidden').addClass('js-dropdown-active').attr({ 'aria-hidden': false }).parent('li.is-dropdown-submenu-parent').addClass('is-active').attr({ 'aria-expanded': true });
+ var clear = Foundation.Box.ImNotTouchingYou($sub, null, true);
+ if (!clear) {
+ var oldClass = this.options.alignment === 'left' ? '-right' : '-left',
+ $parentLi = $sub.parent('.is-dropdown-submenu-parent');
+ $parentLi.removeClass('opens' + oldClass).addClass('opens-' + this.options.alignment);
+ clear = Foundation.Box.ImNotTouchingYou($sub, null, true);
+ if (!clear) {
+ $parentLi.removeClass('opens-' + this.options.alignment).addClass('opens-inner');
+ }
+ this.changed = true;
+ }
+ $sub.css('visibility', '');
+ if (this.options.closeOnClick) {
+ this._addBodyHandler();
+ }
+ /**
+ * Fires when the new dropdown pane is visible.
+ * @event DropdownMenu#show
+ */
+ this.$element.trigger('show.zf.dropdownmenu', [$sub]);
+ }
+
+ /**
+ * Hides a single, currently open dropdown pane, if passed a parameter, otherwise, hides everything.
+ * @function
+ * @param {jQuery} $elem - element with a submenu to hide
+ * @param {Number} idx - index of the $tabs collection to hide
+ * @private
+ */
+
+ }, {
+ key: '_hide',
+ value: function _hide($elem, idx) {
+ var $toClose;
+ if ($elem && $elem.length) {
+ $toClose = $elem;
+ } else if (idx !== undefined) {
+ $toClose = this.$tabs.not(function (i, el) {
+ return i === idx;
+ });
+ } else {
+ $toClose = this.$element;
+ }
+ var somethingToClose = $toClose.hasClass('is-active') || $toClose.find('.is-active').length > 0;
+
+ if (somethingToClose) {
+ $toClose.find('li.is-active').add($toClose).attr({
+ 'aria-expanded': false,
+ 'data-is-click': false
+ }).removeClass('is-active');
+
+ $toClose.find('ul.js-dropdown-active').attr({
+ 'aria-hidden': true
+ }).removeClass('js-dropdown-active');
+
+ if (this.changed || $toClose.find('opens-inner').length) {
+ var oldClass = this.options.alignment === 'left' ? 'right' : 'left';
+ $toClose.find('li.is-dropdown-submenu-parent').add($toClose).removeClass('opens-inner opens-' + this.options.alignment).addClass('opens-' + oldClass);
+ this.changed = false;
+ }
+ /**
+ * Fires when the open menus are closed.
+ * @event DropdownMenu#hide
+ */
+ this.$element.trigger('hide.zf.dropdownmenu', [$toClose]);
+ }
+ }
+
+ /**
+ * Destroys the plugin.
+ * @function
+ */
+
+ }, {
+ key: 'destroy',
+ value: function destroy() {
+ this.$menuItems.off('.zf.dropdownmenu').removeAttr('data-is-click').removeClass('is-right-arrow is-left-arrow is-down-arrow opens-right opens-left opens-inner');
+ $(document.body).off('.zf.dropdownmenu');
+ Foundation.Nest.Burn(this.$element, 'dropdown');
+ Foundation.unregisterPlugin(this);
+ }
+ }]);
+
+ return DropdownMenu;
+ }();
+
+ /**
+ * Default settings for plugin
+ */
+
+
+ DropdownMenu.defaults = {
+ /**
+ * Disallows hover events from opening submenus
+ * @option
+ * @example false
+ */
+ disableHover: false,
+ /**
+ * Allow a submenu to automatically close on a mouseleave event, if not clicked open.
+ * @option
+ * @example true
+ */
+ autoclose: true,
+ /**
+ * Amount of time to delay opening a submenu on hover event.
+ * @option
+ * @example 50
+ */
+ hoverDelay: 50,
+ /**
+ * Allow a submenu to open/remain open on parent click event. Allows cursor to move away from menu.
+ * @option
+ * @example true
+ */
+ clickOpen: false,
+ /**
+ * Amount of time to delay closing a submenu on a mouseleave event.
+ * @option
+ * @example 500
+ */
+
+ closingTime: 500,
+ /**
+ * Position of the menu relative to what direction the submenus should open. Handled by JS.
+ * @option
+ * @example 'left'
+ */
+ alignment: 'left',
+ /**
+ * Allow clicks on the body to close any open submenus.
+ * @option
+ * @example true
+ */
+ closeOnClick: true,
+ /**
+ * Class applied to vertical oriented menus, Foundation default is `vertical`. Update this if using your own class.
+ * @option
+ * @example 'vertical'
+ */
+ verticalClass: 'vertical',
+ /**
+ * Class applied to right-side oriented menus, Foundation default is `align-right`. Update this if using your own class.
+ * @option
+ * @example 'align-right'
+ */
+ rightClass: 'align-right',
+ /**
+ * Boolean to force overide the clicking of links to perform default action, on second touch event for mobile.
+ * @option
+ * @example false
+ */
+ forceFollow: true
+ };
+
+ // Window exports
+ Foundation.plugin(DropdownMenu, 'DropdownMenu');
+}(jQuery);
+'use strict';
+
+var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
+
+function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
+
+!function ($) {
+
+ /**
+ * Equalizer module.
+ * @module foundation.equalizer
+ */
+
+ var Equalizer = function () {
+ /**
+ * Creates a new instance of Equalizer.
+ * @class
+ * @fires Equalizer#init
+ * @param {Object} element - jQuery object to add the trigger to.
+ * @param {Object} options - Overrides to the default plugin settings.
+ */
+
+ function Equalizer(element, options) {
+ _classCallCheck(this, Equalizer);
+
+ this.$element = element;
+ this.options = $.extend({}, Equalizer.defaults, this.$element.data(), options);
+
+ this._init();
+
+ Foundation.registerPlugin(this, 'Equalizer');
+ }
+
+ /**
+ * Initializes the Equalizer plugin and calls functions to get equalizer functioning on load.
+ * @private
+ */
+
+
+ _createClass(Equalizer, [{
+ key: '_init',
+ value: function _init() {
+ var eqId = this.$element.attr('data-equalizer') || '';
+ var $watched = this.$element.find('[data-equalizer-watch="' + eqId + '"]');
+
+ this.$watched = $watched.length ? $watched : this.$element.find('[data-equalizer-watch]');
+ this.$element.attr('data-resize', eqId || Foundation.GetYoDigits(6, 'eq'));
+
+ this.hasNested = this.$element.find('[data-equalizer]').length > 0;
+ this.isNested = this.$element.parentsUntil(document.body, '[data-equalizer]').length > 0;
+ this.isOn = false;
+ this._bindHandler = {
+ onResizeMeBound: this._onResizeMe.bind(this),
+ onPostEqualizedBound: this._onPostEqualized.bind(this)
+ };
+
+ var imgs = this.$element.find('img');
+ var tooSmall;
+ if (this.options.equalizeOn) {
+ tooSmall = this._checkMQ();
+ $(window).on('changed.zf.mediaquery', this._checkMQ.bind(this));
+ } else {
+ this._events();
+ }
+ if (tooSmall !== undefined && tooSmall === false || tooSmall === undefined) {
+ if (imgs.length) {
+ Foundation.onImagesLoaded(imgs, this._reflow.bind(this));
+ } else {
+ this._reflow();
+ }
+ }
+ }
+
+ /**
+ * Removes event listeners if the breakpoint is too small.
+ * @private
+ */
+
+ }, {
+ key: '_pauseEvents',
+ value: function _pauseEvents() {
+ this.isOn = false;
+ this.$element.off({
+ '.zf.equalizer': this._bindHandler.onPostEqualizedBound,
+ 'resizeme.zf.trigger': this._bindHandler.onResizeMeBound
+ });
+ }
+
+ /**
+ * function to handle $elements resizeme.zf.trigger, with bound this on _bindHandler.onResizeMeBound
+ * @private
+ */
+
+ }, {
+ key: '_onResizeMe',
+ value: function _onResizeMe(e) {
+ this._reflow();
+ }
+
+ /**
+ * function to handle $elements postequalized.zf.equalizer, with bound this on _bindHandler.onPostEqualizedBound
+ * @private
+ */
+
+ }, {
+ key: '_onPostEqualized',
+ value: function _onPostEqualized(e) {
+ if (e.target !== this.$element[0]) {
+ this._reflow();
+ }
+ }
+
+ /**
+ * Initializes events for Equalizer.
+ * @private
+ */
+
+ }, {
+ key: '_events',
+ value: function _events() {
+ var _this = this;
+ this._pauseEvents();
+ if (this.hasNested) {
+ this.$element.on('postequalized.zf.equalizer', this._bindHandler.onPostEqualizedBound);
+ } else {
+ this.$element.on('resizeme.zf.trigger', this._bindHandler.onResizeMeBound);
+ }
+ this.isOn = true;
+ }
+
+ /**
+ * Checks the current breakpoint to the minimum required size.
+ * @private
+ */
+
+ }, {
+ key: '_checkMQ',
+ value: function _checkMQ() {
+ var tooSmall = !Foundation.MediaQuery.atLeast(this.options.equalizeOn);
+ if (tooSmall) {
+ if (this.isOn) {
+ this._pauseEvents();
+ this.$watched.css('height', 'auto');
+ }
+ } else {
+ if (!this.isOn) {
+ this._events();
+ }
+ }
+ return tooSmall;
+ }
+
+ /**
+ * A noop version for the plugin
+ * @private
+ */
+
+ }, {
+ key: '_killswitch',
+ value: function _killswitch() {
+ return;
+ }
+
+ /**
+ * Calls necessary functions to update Equalizer upon DOM change
+ * @private
+ */
+
+ }, {
+ key: '_reflow',
+ value: function _reflow() {
+ if (!this.options.equalizeOnStack) {
+ if (this._isStacked()) {
+ this.$watched.css('height', 'auto');
+ return false;
+ }
+ }
+ if (this.options.equalizeByRow) {
+ this.getHeightsByRow(this.applyHeightByRow.bind(this));
+ } else {
+ this.getHeights(this.applyHeight.bind(this));
+ }
+ }
+
+ /**
+ * Manually determines if the first 2 elements are *NOT* stacked.
+ * @private
+ */
+
+ }, {
+ key: '_isStacked',
+ value: function _isStacked() {
+ return this.$watched[0].getBoundingClientRect().top !== this.$watched[1].getBoundingClientRect().top;
+ }
+
+ /**
+ * Finds the outer heights of children contained within an Equalizer parent and returns them in an array
+ * @param {Function} cb - A non-optional callback to return the heights array to.
+ * @returns {Array} heights - An array of heights of children within Equalizer container
+ */
+
+ }, {
+ key: 'getHeights',
+ value: function getHeights(cb) {
+ var heights = [];
+ for (var i = 0, len = this.$watched.length; i < len; i++) {
+ this.$watched[i].style.height = 'auto';
+ heights.push(this.$watched[i].offsetHeight);
+ }
+ cb(heights);
+ }
+
+ /**
+ * Finds the outer heights of children contained within an Equalizer parent and returns them in an array
+ * @param {Function} cb - A non-optional callback to return the heights array to.
+ * @returns {Array} groups - An array of heights of children within Equalizer container grouped by row with element,height and max as last child
+ */
+
+ }, {
+ key: 'getHeightsByRow',
+ value: function getHeightsByRow(cb) {
+ var lastElTopOffset = this.$watched.length ? this.$watched.first().offset().top : 0,
+ groups = [],
+ group = 0;
+ //group by Row
+ groups[group] = [];
+ for (var i = 0, len = this.$watched.length; i < len; i++) {
+ this.$watched[i].style.height = 'auto';
+ //maybe could use this.$watched[i].offsetTop
+ var elOffsetTop = $(this.$watched[i]).offset().top;
+ if (elOffsetTop != lastElTopOffset) {
+ group++;
+ groups[group] = [];
+ lastElTopOffset = elOffsetTop;
+ }
+ groups[group].push([this.$watched[i], this.$watched[i].offsetHeight]);
+ }
+
+ for (var j = 0, ln = groups.length; j < ln; j++) {
+ var heights = $(groups[j]).map(function () {
+ return this[1];
+ }).get();
+ var max = Math.max.apply(null, heights);
+ groups[j].push(max);
+ }
+ cb(groups);
+ }
+
+ /**
+ * Changes the CSS height property of each child in an Equalizer parent to match the tallest
+ * @param {array} heights - An array of heights of children within Equalizer container
+ * @fires Equalizer#preequalized
+ * @fires Equalizer#postequalized
+ */
+
+ }, {
+ key: 'applyHeight',
+ value: function applyHeight(heights) {
+ var max = Math.max.apply(null, heights);
+ /**
+ * Fires before the heights are applied
+ * @event Equalizer#preequalized
+ */
+ this.$element.trigger('preequalized.zf.equalizer');
+
+ this.$watched.css('height', max);
+
+ /**
+ * Fires when the heights have been applied
+ * @event Equalizer#postequalized
+ */
+ this.$element.trigger('postequalized.zf.equalizer');
+ }
+
+ /**
+ * Changes the CSS height property of each child in an Equalizer parent to match the tallest by row
+ * @param {array} groups - An array of heights of children within Equalizer container grouped by row with element,height and max as last child
+ * @fires Equalizer#preequalized
+ * @fires Equalizer#preequalizedRow
+ * @fires Equalizer#postequalizedRow
+ * @fires Equalizer#postequalized
+ */
+
+ }, {
+ key: 'applyHeightByRow',
+ value: function applyHeightByRow(groups) {
+ /**
+ * Fires before the heights are applied
+ */
+ this.$element.trigger('preequalized.zf.equalizer');
+ for (var i = 0, len = groups.length; i < len; i++) {
+ var groupsILength = groups[i].length,
+ max = groups[i][groupsILength - 1];
+ if (groupsILength <= 2) {
+ $(groups[i][0][0]).css({ 'height': 'auto' });
+ continue;
+ }
+ /**
+ * Fires before the heights per row are applied
+ * @event Equalizer#preequalizedRow
+ */
+ this.$element.trigger('preequalizedrow.zf.equalizer');
+ for (var j = 0, lenJ = groupsILength - 1; j < lenJ; j++) {
+ $(groups[i][j][0]).css({ 'height': max });
+ }
+ /**
+ * Fires when the heights per row have been applied
+ * @event Equalizer#postequalizedRow
+ */
+ this.$element.trigger('postequalizedrow.zf.equalizer');
+ }
+ /**
+ * Fires when the heights have been applied
+ */
+ this.$element.trigger('postequalized.zf.equalizer');
+ }
+
+ /**
+ * Destroys an instance of Equalizer.
+ * @function
+ */
+
+ }, {
+ key: 'destroy',
+ value: function destroy() {
+ this._pauseEvents();
+ this.$watched.css('height', 'auto');
+
+ Foundation.unregisterPlugin(this);
+ }
+ }]);
+
+ return Equalizer;
+ }();
+
+ /**
+ * Default settings for plugin
+ */
+
+
+ Equalizer.defaults = {
+ /**
+ * Enable height equalization when stacked on smaller screens.
+ * @option
+ * @example true
+ */
+ equalizeOnStack: true,
+ /**
+ * Enable height equalization row by row.
+ * @option
+ * @example false
+ */
+ equalizeByRow: false,
+ /**
+ * String representing the minimum breakpoint size the plugin should equalize heights on.
+ * @option
+ * @example 'medium'
+ */
+ equalizeOn: ''
+ };
+
+ // Window exports
+ Foundation.plugin(Equalizer, 'Equalizer');
+}(jQuery);
+'use strict';
+
+var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
+
+function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
+
+!function ($) {
+
+ /**
+ * Interchange module.
+ * @module foundation.interchange
+ * @requires foundation.util.mediaQuery
+ * @requires foundation.util.timerAndImageLoader
+ */
+
+ var Interchange = function () {
+ /**
+ * Creates a new instance of Interchange.
+ * @class
+ * @fires Interchange#init
+ * @param {Object} element - jQuery object to add the trigger to.
+ * @param {Object} options - Overrides to the default plugin settings.
+ */
+
+ function Interchange(element, options) {
+ _classCallCheck(this, Interchange);
+
+ this.$element = element;
+ this.options = $.extend({}, Interchange.defaults, options);
+ this.rules = [];
+ this.currentPath = '';
+
+ this._init();
+ this._events();
+
+ Foundation.registerPlugin(this, 'Interchange');
+ }
+
+ /**
+ * Initializes the Interchange plugin and calls functions to get interchange functioning on load.
+ * @function
+ * @private
+ */
+
+
+ _createClass(Interchange, [{
+ key: '_init',
+ value: function _init() {
+ this._addBreakpoints();
+ this._generateRules();
+ this._reflow();
+ }
+
+ /**
+ * Initializes events for Interchange.
+ * @function
+ * @private
+ */
+
+ }, {
+ key: '_events',
+ value: function _events() {
+ $(window).on('resize.zf.interchange', Foundation.util.throttle(this._reflow.bind(this), 50));
+ }
+
+ /**
+ * Calls necessary functions to update Interchange upon DOM change
+ * @function
+ * @private
+ */
+
+ }, {
+ key: '_reflow',
+ value: function _reflow() {
+ var match;
+
+ // Iterate through each rule, but only save the last match
+ for (var i in this.rules) {
+ if (this.rules.hasOwnProperty(i)) {
+ var rule = this.rules[i];
+
+ if (window.matchMedia(rule.query).matches) {
+ match = rule;
+ }
+ }
+ }
+
+ if (match) {
+ this.replace(match.path);
+ }
+ }
+
+ /**
+ * Gets the Foundation breakpoints and adds them to the Interchange.SPECIAL_QUERIES object.
+ * @function
+ * @private
+ */
+
+ }, {
+ key: '_addBreakpoints',
+ value: function _addBreakpoints() {
+ for (var i in Foundation.MediaQuery.queries) {
+ if (Foundation.MediaQuery.queries.hasOwnProperty(i)) {
+ var query = Foundation.MediaQuery.queries[i];
+ Interchange.SPECIAL_QUERIES[query.name] = query.value;
+ }
+ }
+ }
+
+ /**
+ * Checks the Interchange element for the provided media query + content pairings
+ * @function
+ * @private
+ * @param {Object} element - jQuery object that is an Interchange instance
+ * @returns {Array} scenarios - Array of objects that have 'mq' and 'path' keys with corresponding keys
+ */
+
+ }, {
+ key: '_generateRules',
+ value: function _generateRules(element) {
+ var rulesList = [];
+ var rules;
+
+ if (this.options.rules) {
+ rules = this.options.rules;
+ } else {
+ rules = this.$element.data('interchange').match(/\[.*?\]/g);
+ }
+
+ for (var i in rules) {
+ if (rules.hasOwnProperty(i)) {
+ var rule = rules[i].slice(1, -1).split(', ');
+ var path = rule.slice(0, -1).join('');
+ var query = rule[rule.length - 1];
+
+ if (Interchange.SPECIAL_QUERIES[query]) {
+ query = Interchange.SPECIAL_QUERIES[query];
+ }
+
+ rulesList.push({
+ path: path,
+ query: query
+ });
+ }
+ }
+
+ this.rules = rulesList;
+ }
+
+ /**
+ * Update the `src` property of an image, or change the HTML of a container, to the specified path.
+ * @function
+ * @param {String} path - Path to the image or HTML partial.
+ * @fires Interchange#replaced
+ */
+
+ }, {
+ key: 'replace',
+ value: function replace(path) {
+ if (this.currentPath === path) return;
+
+ var _this = this,
+ trigger = 'replaced.zf.interchange';
+
+ // Replacing images
+ if (this.$element[0].nodeName === 'IMG') {
+ this.$element.attr('src', path).on('load', function () {
+ _this.currentPath = path;
+ }).trigger(trigger);
+ }
+ // Replacing background images
+ else if (path.match(/\.(gif|jpg|jpeg|png|svg|tiff)([?#].*)?/i)) {
+ this.$element.css({ 'background-image': 'url(' + path + ')' }).trigger(trigger);
+ }
+ // Replacing HTML
+ else {
+ $.get(path, function (response) {
+ _this.$element.html(response).trigger(trigger);
+ $(response).foundation();
+ _this.currentPath = path;
+ });
+ }
+
+ /**
+ * Fires when content in an Interchange element is done being loaded.
+ * @event Interchange#replaced
+ */
+ // this.$element.trigger('replaced.zf.interchange');
+ }
+
+ /**
+ * Destroys an instance of interchange.
+ * @function
+ */
+
+ }, {
+ key: 'destroy',
+ value: function destroy() {
+ //TODO this.
+ }
+ }]);
+
+ return Interchange;
+ }();
+
+ /**
+ * Default settings for plugin
+ */
+
+
+ Interchange.defaults = {
+ /**
+ * Rules to be applied to Interchange elements. Set with the `data-interchange` array notation.
+ * @option
+ */
+ rules: null
+ };
+
+ Interchange.SPECIAL_QUERIES = {
+ 'landscape': 'screen and (orientation: landscape)',
+ 'portrait': 'screen and (orientation: portrait)',
+ 'retina': 'only screen and (-webkit-min-device-pixel-ratio: 2), only screen and (min--moz-device-pixel-ratio: 2), only screen and (-o-min-device-pixel-ratio: 2/1), only screen and (min-device-pixel-ratio: 2), only screen and (min-resolution: 192dpi), only screen and (min-resolution: 2dppx)'
+ };
+
+ // Window exports
+ Foundation.plugin(Interchange, 'Interchange');
+}(jQuery);
+'use strict';
+
+var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
+
+function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
+
+!function ($) {
+
+ /**
+ * Magellan module.
+ * @module foundation.magellan
+ */
+
+ var Magellan = function () {
+ /**
+ * Creates a new instance of Magellan.
+ * @class
+ * @fires Magellan#init
+ * @param {Object} element - jQuery object to add the trigger to.
+ * @param {Object} options - Overrides to the default plugin settings.
+ */
+
+ function Magellan(element, options) {
+ _classCallCheck(this, Magellan);
+
+ this.$element = element;
+ this.options = $.extend({}, Magellan.defaults, this.$element.data(), options);
+
+ this._init();
+
+ Foundation.registerPlugin(this, 'Magellan');
+ }
+
+ /**
+ * Initializes the Magellan plugin and calls functions to get equalizer functioning on load.
+ * @private
+ */
+
+
+ _createClass(Magellan, [{
+ key: '_init',
+ value: function _init() {
+ var id = this.$element[0].id || Foundation.GetYoDigits(6, 'magellan');
+ var _this = this;
+ this.$targets = $('[data-magellan-target]');
+ this.$links = this.$element.find('a');
+ this.$element.attr({
+ 'data-resize': id,
+ 'data-scroll': id,
+ 'id': id
+ });
+ this.$active = $();
+ this.scrollPos = parseInt(window.pageYOffset, 10);
+
+ this._events();
+ }
+
+ /**
+ * Calculates an array of pixel values that are the demarcation lines between locations on the page.
+ * Can be invoked if new elements are added or the size of a location changes.
+ * @function
+ */
+
+ }, {
+ key: 'calcPoints',
+ value: function calcPoints() {
+ var _this = this,
+ body = document.body,
+ html = document.documentElement;
+
+ this.points = [];
+ this.winHeight = Math.round(Math.max(window.innerHeight, html.clientHeight));
+ this.docHeight = Math.round(Math.max(body.scrollHeight, body.offsetHeight, html.clientHeight, html.scrollHeight, html.offsetHeight));
+
+ this.$targets.each(function () {
+ var $tar = $(this),
+ pt = Math.round($tar.offset().top - _this.options.threshold);
+ $tar.targetPoint = pt;
+ _this.points.push(pt);
+ });
+ }
+
+ /**
+ * Initializes events for Magellan.
+ * @private
+ */
+
+ }, {
+ key: '_events',
+ value: function _events() {
+ var _this = this,
+ $body = $('html, body'),
+ opts = {
+ duration: _this.options.animationDuration,
+ easing: _this.options.animationEasing
+ };
+ $(window).one('load', function () {
+ if (_this.options.deepLinking) {
+ if (location.hash) {
+ _this.scrollToLoc(location.hash);
+ }
+ }
+ _this.calcPoints();
+ _this._updateActive();
+ });
+
+ this.$element.on({
+ 'resizeme.zf.trigger': this.reflow.bind(this),
+ 'scrollme.zf.trigger': this._updateActive.bind(this)
+ }).on('click.zf.magellan', 'a[href^="#"]', function (e) {
+ e.preventDefault();
+ var arrival = this.getAttribute('href');
+ _this.scrollToLoc(arrival);
+ });
+ }
+
+ /**
+ * Function to scroll to a given location on the page.
+ * @param {String} loc - a properly formatted jQuery id selector. Example: '#foo'
+ * @function
+ */
+
+ }, {
+ key: 'scrollToLoc',
+ value: function scrollToLoc(loc) {
+ var scrollPos = Math.round($(loc).offset().top - this.options.threshold / 2 - this.options.barOffset);
+
+ $('html, body').stop(true).animate({ scrollTop: scrollPos }, this.options.animationDuration, this.options.animationEasing);
+ }
+
+ /**
+ * Calls necessary functions to update Magellan upon DOM change
+ * @function
+ */
+
+ }, {
+ key: 'reflow',
+ value: function reflow() {
+ this.calcPoints();
+ this._updateActive();
+ }
+
+ /**
+ * Updates the visibility of an active location link, and updates the url hash for the page, if deepLinking enabled.
+ * @private
+ * @function
+ * @fires Magellan#update
+ */
+
+ }, {
+ key: '_updateActive',
+ value: function _updateActive() /*evt, elem, scrollPos*/{
+ var winPos = /*scrollPos ||*/parseInt(window.pageYOffset, 10),
+ curIdx;
+
+ if (winPos + this.winHeight === this.docHeight) {
+ curIdx = this.points.length - 1;
+ } else if (winPos < this.points[0]) {
+ curIdx = 0;
+ } else {
+ var isDown = this.scrollPos < winPos,
+ _this = this,
+ curVisible = this.points.filter(function (p, i) {
+ return isDown ? p - _this.options.barOffset <= winPos : p - _this.options.barOffset - _this.options.threshold <= winPos;
+ });
+ curIdx = curVisible.length ? curVisible.length - 1 : 0;
+ }
+
+ this.$active.removeClass(this.options.activeClass);
+ this.$active = this.$links.eq(curIdx).addClass(this.options.activeClass);
+
+ if (this.options.deepLinking) {
+ var hash = this.$active[0].getAttribute('href');
+ if (window.history.pushState) {
+ window.history.pushState(null, null, hash);
+ } else {
+ window.location.hash = hash;
+ }
+ }
+
+ this.scrollPos = winPos;
+ /**
+ * Fires when magellan is finished updating to the new active element.
+ * @event Magellan#update
+ */
+ this.$element.trigger('update.zf.magellan', [this.$active]);
+ }
+
+ /**
+ * Destroys an instance of Magellan and resets the url of the window.
+ * @function
+ */
+
+ }, {
+ key: 'destroy',
+ value: function destroy() {
+ this.$element.off('.zf.trigger .zf.magellan').find('.' + this.options.activeClass).removeClass(this.options.activeClass);
+
+ if (this.options.deepLinking) {
+ var hash = this.$active[0].getAttribute('href');
+ window.location.hash.replace(hash, '');
+ }
+
+ Foundation.unregisterPlugin(this);
+ }
+ }]);
+
+ return Magellan;
+ }();
+
+ /**
+ * Default settings for plugin
+ */
+
+
+ Magellan.defaults = {
+ /**
+ * Amount of time, in ms, the animated scrolling should take between locations.
+ * @option
+ * @example 500
+ */
+ animationDuration: 500,
+ /**
+ * Animation style to use when scrolling between locations.
+ * @option
+ * @example 'ease-in-out'
+ */
+ animationEasing: 'linear',
+ /**
+ * Number of pixels to use as a marker for location changes.
+ * @option
+ * @example 50
+ */
+ threshold: 50,
+ /**
+ * Class applied to the active locations link on the magellan container.
+ * @option
+ * @example 'active'
+ */
+ activeClass: 'active',
+ /**
+ * Allows the script to manipulate the url of the current page, and if supported, alter the history.
+ * @option
+ * @example true
+ */
+ deepLinking: false,
+ /**
+ * Number of pixels to offset the scroll of the page on item click if using a sticky nav bar.
+ * @option
+ * @example 25
+ */
+ barOffset: 0
+ };
+
+ // Window exports
+ Foundation.plugin(Magellan, 'Magellan');
+}(jQuery);
+'use strict';
+
+var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
+
+function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
+
+!function ($) {
+
+ /**
+ * OffCanvas module.
+ * @module foundation.offcanvas
+ * @requires foundation.util.mediaQuery
+ * @requires foundation.util.triggers
+ * @requires foundation.util.motion
+ */
+
+ var OffCanvas = function () {
+ /**
+ * Creates a new instance of an off-canvas wrapper.
+ * @class
+ * @fires OffCanvas#init
+ * @param {Object} element - jQuery object to initialize.
+ * @param {Object} options - Overrides to the default plugin settings.
+ */
+
+ function OffCanvas(element, options) {
+ _classCallCheck(this, OffCanvas);
+
+ this.$element = element;
+ this.options = $.extend({}, OffCanvas.defaults, this.$element.data(), options);
+ this.$lastTrigger = $();
+ this.$triggers = $();
+
+ this._init();
+ this._events();
+
+ Foundation.registerPlugin(this, 'OffCanvas');
+ }
+
+ /**
+ * Initializes the off-canvas wrapper by adding the exit overlay (if needed).
+ * @function
+ * @private
+ */
+
+
+ _createClass(OffCanvas, [{
+ key: '_init',
+ value: function _init() {
+ var id = this.$element.attr('id');
+
+ this.$element.attr('aria-hidden', 'true');
+
+ // Find triggers that affect this element and add aria-expanded to them
+ this.$triggers = $(document).find('[data-open="' + id + '"], [data-close="' + id + '"], [data-toggle="' + id + '"]').attr('aria-expanded', 'false').attr('aria-controls', id);
+
+ // Add a close trigger over the body if necessary
+ if (this.options.closeOnClick) {
+ if ($('.js-off-canvas-exit').length) {
+ this.$exiter = $('.js-off-canvas-exit');
+ } else {
+ var exiter = document.createElement('div');
+ exiter.setAttribute('class', 'js-off-canvas-exit');
+ $('[data-off-canvas-content]').append(exiter);
+
+ this.$exiter = $(exiter);
+ }
+ }
+
+ this.options.isRevealed = this.options.isRevealed || new RegExp(this.options.revealClass, 'g').test(this.$element[0].className);
+
+ if (this.options.isRevealed) {
+ this.options.revealOn = this.options.revealOn || this.$element[0].className.match(/(reveal-for-medium|reveal-for-large)/g)[0].split('-')[2];
+ this._setMQChecker();
+ }
+ if (!this.options.transitionTime) {
+ this.options.transitionTime = parseFloat(window.getComputedStyle($('[data-off-canvas-wrapper]')[0]).transitionDuration) * 1000;
+ }
+ }
+
+ /**
+ * Adds event handlers to the off-canvas wrapper and the exit overlay.
+ * @function
+ * @private
+ */
+
+ }, {
+ key: '_events',
+ value: function _events() {
+ this.$element.off('.zf.trigger .zf.offcanvas').on({
+ 'open.zf.trigger': this.open.bind(this),
+ 'close.zf.trigger': this.close.bind(this),
+ 'toggle.zf.trigger': this.toggle.bind(this),
+ 'keydown.zf.offcanvas': this._handleKeyboard.bind(this)
+ });
+
+ if (this.options.closeOnClick && this.$exiter.length) {
+ this.$exiter.on({ 'click.zf.offcanvas': this.close.bind(this) });
+ }
+ }
+
+ /**
+ * Applies event listener for elements that will reveal at certain breakpoints.
+ * @private
+ */
+
+ }, {
+ key: '_setMQChecker',
+ value: function _setMQChecker() {
+ var _this = this;
+
+ $(window).on('changed.zf.mediaquery', function () {
+ if (Foundation.MediaQuery.atLeast(_this.options.revealOn)) {
+ _this.reveal(true);
+ } else {
+ _this.reveal(false);
+ }
+ }).one('load.zf.offcanvas', function () {
+ if (Foundation.MediaQuery.atLeast(_this.options.revealOn)) {
+ _this.reveal(true);
+ }
+ });
+ }
+
+ /**
+ * Handles the revealing/hiding the off-canvas at breakpoints, not the same as open.
+ * @param {Boolean} isRevealed - true if element should be revealed.
+ * @function
+ */
+
+ }, {
+ key: 'reveal',
+ value: function reveal(isRevealed) {
+ var $closer = this.$element.find('[data-close]');
+ if (isRevealed) {
+ this.close();
+ this.isRevealed = true;
+ // if (!this.options.forceTop) {
+ // var scrollPos = parseInt(window.pageYOffset);
+ // this.$element[0].style.transform = 'translate(0,' + scrollPos + 'px)';
+ // }
+ // if (this.options.isSticky) { this._stick(); }
+ this.$element.off('open.zf.trigger toggle.zf.trigger');
+ if ($closer.length) {
+ $closer.hide();
+ }
+ } else {
+ this.isRevealed = false;
+ // if (this.options.isSticky || !this.options.forceTop) {
+ // this.$element[0].style.transform = '';
+ // $(window).off('scroll.zf.offcanvas');
+ // }
+ this.$element.on({
+ 'open.zf.trigger': this.open.bind(this),
+ 'toggle.zf.trigger': this.toggle.bind(this)
+ });
+ if ($closer.length) {
+ $closer.show();
+ }
+ }
+ }
+
+ /**
+ * Opens the off-canvas menu.
+ * @function
+ * @param {Object} event - Event object passed from listener.
+ * @param {jQuery} trigger - element that triggered the off-canvas to open.
+ * @fires OffCanvas#opened
+ */
+
+ }, {
+ key: 'open',
+ value: function open(event, trigger) {
+ if (this.$element.hasClass('is-open') || this.isRevealed) {
+ return;
+ }
+ var _this = this,
+ $body = $(document.body);
+
+ if (this.options.forceTop) {
+ $('body').scrollTop(0);
+ }
+ // window.pageYOffset = 0;
+
+ // if (!this.options.forceTop) {
+ // var scrollPos = parseInt(window.pageYOffset);
+ // this.$element[0].style.transform = 'translate(0,' + scrollPos + 'px)';
+ // if (this.$exiter.length) {
+ // this.$exiter[0].style.transform = 'translate(0,' + scrollPos + 'px)';
+ // }
+ // }
+ /**
+ * Fires when the off-canvas menu opens.
+ * @event OffCanvas#opened
+ */
+ Foundation.Move(this.options.transitionTime, this.$element, function () {
+ $('[data-off-canvas-wrapper]').addClass('is-off-canvas-open is-open-' + _this.options.position);
+
+ _this.$element.addClass('is-open');
+
+ // if (_this.options.isSticky) {
+ // _this._stick();
+ // }
+ });
+
+ this.$triggers.attr('aria-expanded', 'true');
+ this.$element.attr('aria-hidden', 'false').trigger('opened.zf.offcanvas');
+
+ if (this.options.closeOnClick) {
+ this.$exiter.addClass('is-visible');
+ }
+
+ if (trigger) {
+ this.$lastTrigger = trigger;
+ }
+
+ if (this.options.autoFocus) {
+ this.$element.one(Foundation.transitionend(this.$element), function () {
+ _this.$element.find('a, button').eq(0).focus();
+ });
+ }
+
+ if (this.options.trapFocus) {
+ $('[data-off-canvas-content]').attr('tabindex', '-1');
+ this._trapFocus();
+ }
+ }
+
+ /**
+ * Traps focus within the offcanvas on open.
+ * @private
+ */
+
+ }, {
+ key: '_trapFocus',
+ value: function _trapFocus() {
+ var focusable = Foundation.Keyboard.findFocusable(this.$element),
+ first = focusable.eq(0),
+ last = focusable.eq(-1);
+
+ focusable.off('.zf.offcanvas').on('keydown.zf.offcanvas', function (e) {
+ if (e.which === 9 || e.keycode === 9) {
+ if (e.target === last[0] && !e.shiftKey) {
+ e.preventDefault();
+ first.focus();
+ }
+ if (e.target === first[0] && e.shiftKey) {
+ e.preventDefault();
+ last.focus();
+ }
+ }
+ });
+ }
+
+ /**
+ * Allows the offcanvas to appear sticky utilizing translate properties.
+ * @private
+ */
+ // OffCanvas.prototype._stick = function() {
+ // var elStyle = this.$element[0].style;
+ //
+ // if (this.options.closeOnClick) {
+ // var exitStyle = this.$exiter[0].style;
+ // }
+ //
+ // $(window).on('scroll.zf.offcanvas', function(e) {
+ // console.log(e);
+ // var pageY = window.pageYOffset;
+ // elStyle.transform = 'translate(0,' + pageY + 'px)';
+ // if (exitStyle !== undefined) { exitStyle.transform = 'translate(0,' + pageY + 'px)'; }
+ // });
+ // // this.$element.trigger('stuck.zf.offcanvas');
+ // };
+ /**
+ * Closes the off-canvas menu.
+ * @function
+ * @param {Function} cb - optional cb to fire after closure.
+ * @fires OffCanvas#closed
+ */
+
+ }, {
+ key: 'close',
+ value: function close(cb) {
+ if (!this.$element.hasClass('is-open') || this.isRevealed) {
+ return;
+ }
+
+ var _this = this;
+
+ // Foundation.Move(this.options.transitionTime, this.$element, function() {
+ $('[data-off-canvas-wrapper]').removeClass('is-off-canvas-open is-open-' + _this.options.position);
+ _this.$element.removeClass('is-open');
+ // Foundation._reflow();
+ // });
+ this.$element.attr('aria-hidden', 'true')
+ /**
+ * Fires when the off-canvas menu opens.
+ * @event OffCanvas#closed
+ */
+ .trigger('closed.zf.offcanvas');
+ // if (_this.options.isSticky || !_this.options.forceTop) {
+ // setTimeout(function() {
+ // _this.$element[0].style.transform = '';
+ // $(window).off('scroll.zf.offcanvas');
+ // }, this.options.transitionTime);
+ // }
+ if (this.options.closeOnClick) {
+ this.$exiter.removeClass('is-visible');
+ }
+
+ this.$triggers.attr('aria-expanded', 'false');
+ if (this.options.trapFocus) {
+ $('[data-off-canvas-content]').removeAttr('tabindex');
+ }
+ }
+
+ /**
+ * Toggles the off-canvas menu open or closed.
+ * @function
+ * @param {Object} event - Event object passed from listener.
+ * @param {jQuery} trigger - element that triggered the off-canvas to open.
+ */
+
+ }, {
+ key: 'toggle',
+ value: function toggle(event, trigger) {
+ if (this.$element.hasClass('is-open')) {
+ this.close(event, trigger);
+ } else {
+ this.open(event, trigger);
+ }
+ }
+
+ /**
+ * Handles keyboard input when detected. When the escape key is pressed, the off-canvas menu closes, and focus is restored to the element that opened the menu.
+ * @function
+ * @private
+ */
+
+ }, {
+ key: '_handleKeyboard',
+ value: function _handleKeyboard(event) {
+ if (event.which !== 27) return;
+
+ event.stopPropagation();
+ event.preventDefault();
+ this.close();
+ this.$lastTrigger.focus();
+ }
+
+ /**
+ * Destroys the offcanvas plugin.
+ * @function
+ */
+
+ }, {
+ key: 'destroy',
+ value: function destroy() {
+ this.close();
+ this.$element.off('.zf.trigger .zf.offcanvas');
+ this.$exiter.off('.zf.offcanvas');
+
+ Foundation.unregisterPlugin(this);
+ }
+ }]);
+
+ return OffCanvas;
+ }();
+
+ OffCanvas.defaults = {
+ /**
+ * Allow the user to click outside of the menu to close it.
+ * @option
+ * @example true
+ */
+ closeOnClick: true,
+
+ /**
+ * Amount of time in ms the open and close transition requires. If none selected, pulls from body style.
+ * @option
+ * @example 500
+ */
+ transitionTime: 0,
+
+ /**
+ * Direction the offcanvas opens from. Determines class applied to body.
+ * @option
+ * @example left
+ */
+ position: 'left',
+
+ /**
+ * Force the page to scroll to top on open.
+ * @option
+ * @example true
+ */
+ forceTop: true,
+
+ /**
+ * Allow the offcanvas to remain open for certain breakpoints.
+ * @option
+ * @example false
+ */
+ isRevealed: false,
+
+ /**
+ * Breakpoint at which to reveal. JS will use a RegExp to target standard classes, if changing classnames, pass your class with the `revealClass` option.
+ * @option
+ * @example reveal-for-large
+ */
+ revealOn: null,
+
+ /**
+ * Force focus to the offcanvas on open. If true, will focus the opening trigger on close.
+ * @option
+ * @example true
+ */
+ autoFocus: true,
+
+ /**
+ * Class used to force an offcanvas to remain open. Foundation defaults for this are `reveal-for-large` & `reveal-for-medium`.
+ * @option
+ * TODO improve the regex testing for this.
+ * @example reveal-for-large
+ */
+ revealClass: 'reveal-for-',
+
+ /**
+ * Triggers optional focus trapping when opening an offcanvas. Sets tabindex of [data-off-canvas-content] to -1 for accessibility purposes.
+ * @option
+ * @example true
+ */
+ trapFocus: false
+ };
+
+ // Window exports
+ Foundation.plugin(OffCanvas, 'OffCanvas');
+}(jQuery);
+'use strict';
+
+var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
+
+function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
+
+!function ($) {
+
+ /**
+ * Orbit module.
+ * @module foundation.orbit
+ * @requires foundation.util.keyboard
+ * @requires foundation.util.motion
+ * @requires foundation.util.timerAndImageLoader
+ * @requires foundation.util.touch
+ */
+
+ var Orbit = function () {
+ /**
+ * Creates a new instance of an orbit carousel.
+ * @class
+ * @param {jQuery} element - jQuery object to make into an Orbit Carousel.
+ * @param {Object} options - Overrides to the default plugin settings.
+ */
+
+ function Orbit(element, options) {
+ _classCallCheck(this, Orbit);
+
+ this.$element = element;
+ this.options = $.extend({}, Orbit.defaults, this.$element.data(), options);
+
+ this._init();
+
+ Foundation.registerPlugin(this, 'Orbit');
+ Foundation.Keyboard.register('Orbit', {
+ 'ltr': {
+ 'ARROW_RIGHT': 'next',
+ 'ARROW_LEFT': 'previous'
+ },
+ 'rtl': {
+ 'ARROW_LEFT': 'next',
+ 'ARROW_RIGHT': 'previous'
+ }
+ });
+ }
+
+ /**
+ * Initializes the plugin by creating jQuery collections, setting attributes, and starting the animation.
+ * @function
+ * @private
+ */
+
+
+ _createClass(Orbit, [{
+ key: '_init',
+ value: function _init() {
+ this.$wrapper = this.$element.find('.' + this.options.containerClass);
+ this.$slides = this.$element.find('.' + this.options.slideClass);
+ var $images = this.$element.find('img'),
+ initActive = this.$slides.filter('.is-active');
+
+ if (!initActive.length) {
+ this.$slides.eq(0).addClass('is-active');
+ }
+
+ if (!this.options.useMUI) {
+ this.$slides.addClass('no-motionui');
+ }
+
+ if ($images.length) {
+ Foundation.onImagesLoaded($images, this._prepareForOrbit.bind(this));
+ } else {
+ this._prepareForOrbit(); //hehe
+ }
+
+ if (this.options.bullets) {
+ this._loadBullets();
+ }
+
+ this._events();
+
+ if (this.options.autoPlay && this.$slides.length > 1) {
+ this.geoSync();
+ }
+
+ if (this.options.accessible) {
+ // allow wrapper to be focusable to enable arrow navigation
+ this.$wrapper.attr('tabindex', 0);
+ }
+ }
+
+ /**
+ * Creates a jQuery collection of bullets, if they are being used.
+ * @function
+ * @private
+ */
+
+ }, {
+ key: '_loadBullets',
+ value: function _loadBullets() {
+ this.$bullets = this.$element.find('.' + this.options.boxOfBullets).find('button');
+ }
+
+ /**
+ * Sets a `timer` object on the orbit, and starts the counter for the next slide.
+ * @function
+ */
+
+ }, {
+ key: 'geoSync',
+ value: function geoSync() {
+ var _this = this;
+ this.timer = new Foundation.Timer(this.$element, {
+ duration: this.options.timerDelay,
+ infinite: false
+ }, function () {
+ _this.changeSlide(true);
+ });
+ this.timer.start();
+ }
+
+ /**
+ * Sets wrapper and slide heights for the orbit.
+ * @function
+ * @private
+ */
+
+ }, {
+ key: '_prepareForOrbit',
+ value: function _prepareForOrbit() {
+ var _this = this;
+ this._setWrapperHeight(function (max) {
+ _this._setSlideHeight(max);
+ });
+ }
+
+ /**
+ * Calulates the height of each slide in the collection, and uses the tallest one for the wrapper height.
+ * @function
+ * @private
+ * @param {Function} cb - a callback function to fire when complete.
+ */
+
+ }, {
+ key: '_setWrapperHeight',
+ value: function _setWrapperHeight(cb) {
+ //rewrite this to `for` loop
+ var max = 0,
+ temp,
+ counter = 0;
+
+ this.$slides.each(function () {
+ temp = this.getBoundingClientRect().height;
+ $(this).attr('data-slide', counter);
+
+ if (counter) {
+ //if not the first slide, set css position and display property
+ $(this).css({ 'position': 'relative', 'display': 'none' });
+ }
+ max = temp > max ? temp : max;
+ counter++;
+ });
+
+ if (counter === this.$slides.length) {
+ this.$wrapper.css({ 'height': max }); //only change the wrapper height property once.
+ cb(max); //fire callback with max height dimension.
+ }
+ }
+
+ /**
+ * Sets the max-height of each slide.
+ * @function
+ * @private
+ */
+
+ }, {
+ key: '_setSlideHeight',
+ value: function _setSlideHeight(height) {
+ this.$slides.each(function () {
+ $(this).css('max-height', height);
+ });
+ }
+
+ /**
+ * Adds event listeners to basically everything within the element.
+ * @function
+ * @private
+ */
+
+ }, {
+ key: '_events',
+ value: function _events() {
+ var _this = this;
+
+ //***************************************
+ //**Now using custom event - thanks to:**
+ //** Yohai Ararat of Toronto **
+ //***************************************
+ if (this.$slides.length > 1) {
+
+ if (this.options.swipe) {
+ this.$slides.off('swipeleft.zf.orbit swiperight.zf.orbit').on('swipeleft.zf.orbit', function (e) {
+ e.preventDefault();
+ _this.changeSlide(true);
+ }).on('swiperight.zf.orbit', function (e) {
+ e.preventDefault();
+ _this.changeSlide(false);
+ });
+ }
+ //***************************************
+
+ if (this.options.autoPlay) {
+ this.$slides.on('click.zf.orbit', function () {
+ _this.$element.data('clickedOn', _this.$element.data('clickedOn') ? false : true);
+ _this.timer[_this.$element.data('clickedOn') ? 'pause' : 'start']();
+ });
+
+ if (this.options.pauseOnHover) {
+ this.$element.on('mouseenter.zf.orbit', function () {
+ _this.timer.pause();
+ }).on('mouseleave.zf.orbit', function () {
+ if (!_this.$element.data('clickedOn')) {
+ _this.timer.start();
+ }
+ });
+ }
+ }
+
+ if (this.options.navButtons) {
+ var $controls = this.$element.find('.' + this.options.nextClass + ', .' + this.options.prevClass);
+ $controls.attr('tabindex', 0)
+ //also need to handle enter/return and spacebar key presses
+ .on('click.zf.orbit touchend.zf.orbit', function (e) {
+ e.preventDefault();
+ _this.changeSlide($(this).hasClass(_this.options.nextClass));
+ });
+ }
+
+ if (this.options.bullets) {
+ this.$bullets.on('click.zf.orbit touchend.zf.orbit', function () {
+ if (/is-active/g.test(this.className)) {
+ return false;
+ } //if this is active, kick out of function.
+ var idx = $(this).data('slide'),
+ ltr = idx > _this.$slides.filter('.is-active').data('slide'),
+ $slide = _this.$slides.eq(idx);
+
+ _this.changeSlide(ltr, $slide, idx);
+ });
+ }
+
+ this.$wrapper.add(this.$bullets).on('keydown.zf.orbit', function (e) {
+ // handle keyboard event with keyboard util
+ Foundation.Keyboard.handleKey(e, 'Orbit', {
+ next: function () {
+ _this.changeSlide(true);
+ },
+ previous: function () {
+ _this.changeSlide(false);
+ },
+ handled: function () {
+ // if bullet is focused, make sure focus moves
+ if ($(e.target).is(_this.$bullets)) {
+ _this.$bullets.filter('.is-active').focus();
+ }
+ }
+ });
+ });
+ }
+ }
+
+ /**
+ * Changes the current slide to a new one.
+ * @function
+ * @param {Boolean} isLTR - flag if the slide should move left to right.
+ * @param {jQuery} chosenSlide - the jQuery element of the slide to show next, if one is selected.
+ * @param {Number} idx - the index of the new slide in its collection, if one chosen.
+ * @fires Orbit#slidechange
+ */
+
+ }, {
+ key: 'changeSlide',
+ value: function changeSlide(isLTR, chosenSlide, idx) {
+ var $curSlide = this.$slides.filter('.is-active').eq(0);
+
+ if (/mui/g.test($curSlide[0].className)) {
+ return false;
+ } //if the slide is currently animating, kick out of the function
+
+ var $firstSlide = this.$slides.first(),
+ $lastSlide = this.$slides.last(),
+ dirIn = isLTR ? 'Right' : 'Left',
+ dirOut = isLTR ? 'Left' : 'Right',
+ _this = this,
+ $newSlide;
+
+ if (!chosenSlide) {
+ //most of the time, this will be auto played or clicked from the navButtons.
+ $newSlide = isLTR ? //if wrapping enabled, check to see if there is a `next` or `prev` sibling, if not, select the first or last slide to fill in. if wrapping not enabled, attempt to select `next` or `prev`, if there's nothing there, the function will kick out on next step. CRAZY NESTED TERNARIES!!!!!
+ this.options.infiniteWrap ? $curSlide.next('.' + this.options.slideClass).length ? $curSlide.next('.' + this.options.slideClass) : $firstSlide : $curSlide.next('.' + this.options.slideClass) : //pick next slide if moving left to right
+ this.options.infiniteWrap ? $curSlide.prev('.' + this.options.slideClass).length ? $curSlide.prev('.' + this.options.slideClass) : $lastSlide : $curSlide.prev('.' + this.options.slideClass); //pick prev slide if moving right to left
+ } else {
+ $newSlide = chosenSlide;
+ }
+
+ if ($newSlide.length) {
+ if (this.options.bullets) {
+ idx = idx || this.$slides.index($newSlide); //grab index to update bullets
+ this._updateBullets(idx);
+ }
+
+ if (this.options.useMUI) {
+ Foundation.Motion.animateIn($newSlide.addClass('is-active').css({ 'position': 'absolute', 'top': 0 }), this.options['animInFrom' + dirIn], function () {
+ $newSlide.css({ 'position': 'relative', 'display': 'block' }).attr('aria-live', 'polite');
+ });
+
+ Foundation.Motion.animateOut($curSlide.removeClass('is-active'), this.options['animOutTo' + dirOut], function () {
+ $curSlide.removeAttr('aria-live');
+ if (_this.options.autoPlay && !_this.timer.isPaused) {
+ _this.timer.restart();
+ }
+ //do stuff?
+ });
+ } else {
+ $curSlide.removeClass('is-active is-in').removeAttr('aria-live').hide();
+ $newSlide.addClass('is-active is-in').attr('aria-live', 'polite').show();
+ if (this.options.autoPlay && !this.timer.isPaused) {
+ this.timer.restart();
+ }
+ }
+ /**
+ * Triggers when the slide has finished animating in.
+ * @event Orbit#slidechange
+ */
+ this.$element.trigger('slidechange.zf.orbit', [$newSlide]);
+ }
+ }
+
+ /**
+ * Updates the active state of the bullets, if displayed.
+ * @function
+ * @private
+ * @param {Number} idx - the index of the current slide.
+ */
+
+ }, {
+ key: '_updateBullets',
+ value: function _updateBullets(idx) {
+ var $oldBullet = this.$element.find('.' + this.options.boxOfBullets).find('.is-active').removeClass('is-active').blur(),
+ span = $oldBullet.find('span:last').detach(),
+ $newBullet = this.$bullets.eq(idx).addClass('is-active').append(span);
+ }
+
+ /**
+ * Destroys the carousel and hides the element.
+ * @function
+ */
+
+ }, {
+ key: 'destroy',
+ value: function destroy() {
+ this.$element.off('.zf.orbit').find('*').off('.zf.orbit').end().hide();
+ Foundation.unregisterPlugin(this);
+ }
+ }]);
+
+ return Orbit;
+ }();
+
+ Orbit.defaults = {
+ /**
+ * Tells the JS to look for and loadBullets.
+ * @option
+ * @example true
+ */
+ bullets: true,
+ /**
+ * Tells the JS to apply event listeners to nav buttons
+ * @option
+ * @example true
+ */
+ navButtons: true,
+ /**
+ * motion-ui animation class to apply
+ * @option
+ * @example 'slide-in-right'
+ */
+ animInFromRight: 'slide-in-right',
+ /**
+ * motion-ui animation class to apply
+ * @option
+ * @example 'slide-out-right'
+ */
+ animOutToRight: 'slide-out-right',
+ /**
+ * motion-ui animation class to apply
+ * @option
+ * @example 'slide-in-left'
+ *
+ */
+ animInFromLeft: 'slide-in-left',
+ /**
+ * motion-ui animation class to apply
+ * @option
+ * @example 'slide-out-left'
+ */
+ animOutToLeft: 'slide-out-left',
+ /**
+ * Allows Orbit to automatically animate on page load.
+ * @option
+ * @example true
+ */
+ autoPlay: true,
+ /**
+ * Amount of time, in ms, between slide transitions
+ * @option
+ * @example 5000
+ */
+ timerDelay: 5000,
+ /**
+ * Allows Orbit to infinitely loop through the slides
+ * @option
+ * @example true
+ */
+ infiniteWrap: true,
+ /**
+ * Allows the Orbit slides to bind to swipe events for mobile, requires an additional util library
+ * @option
+ * @example true
+ */
+ swipe: true,
+ /**
+ * Allows the timing function to pause animation on hover.
+ * @option
+ * @example true
+ */
+ pauseOnHover: true,
+ /**
+ * Allows Orbit to bind keyboard events to the slider, to animate frames with arrow keys
+ * @option
+ * @example true
+ */
+ accessible: true,
+ /**
+ * Class applied to the container of Orbit
+ * @option
+ * @example 'orbit-container'
+ */
+ containerClass: 'orbit-container',
+ /**
+ * Class applied to individual slides.
+ * @option
+ * @example 'orbit-slide'
+ */
+ slideClass: 'orbit-slide',
+ /**
+ * Class applied to the bullet container. You're welcome.
+ * @option
+ * @example 'orbit-bullets'
+ */
+ boxOfBullets: 'orbit-bullets',
+ /**
+ * Class applied to the `next` navigation button.
+ * @option
+ * @example 'orbit-next'
+ */
+ nextClass: 'orbit-next',
+ /**
+ * Class applied to the `previous` navigation button.
+ * @option
+ * @example 'orbit-previous'
+ */
+ prevClass: 'orbit-previous',
+ /**
+ * Boolean to flag the js to use motion ui classes or not. Default to true for backwards compatability.
+ * @option
+ * @example true
+ */
+ useMUI: true
+ };
+
+ // Window exports
+ Foundation.plugin(Orbit, 'Orbit');
+}(jQuery);
+'use strict';
+
+var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
+
+function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
+
+!function ($) {
+
+ /**
+ * ResponsiveMenu module.
+ * @module foundation.responsiveMenu
+ * @requires foundation.util.triggers
+ * @requires foundation.util.mediaQuery
+ * @requires foundation.util.accordionMenu
+ * @requires foundation.util.drilldown
+ * @requires foundation.util.dropdown-menu
+ */
+
+ var ResponsiveMenu = function () {
+ /**
+ * Creates a new instance of a responsive menu.
+ * @class
+ * @fires ResponsiveMenu#init
+ * @param {jQuery} element - jQuery object to make into a dropdown menu.
+ * @param {Object} options - Overrides to the default plugin settings.
+ */
+
+ function ResponsiveMenu(element, options) {
+ _classCallCheck(this, ResponsiveMenu);
+
+ this.$element = $(element);
+ this.rules = this.$element.data('responsive-menu');
+ this.currentMq = null;
+ this.currentPlugin = null;
+
+ this._init();
+ this._events();
+
+ Foundation.registerPlugin(this, 'ResponsiveMenu');
+ }
+
+ /**
+ * Initializes the Menu by parsing the classes from the 'data-ResponsiveMenu' attribute on the element.
+ * @function
+ * @private
+ */
+
+
+ _createClass(ResponsiveMenu, [{
+ key: '_init',
+ value: function _init() {
+ // The first time an Interchange plugin is initialized, this.rules is converted from a string of "classes" to an object of rules
+ if (typeof this.rules === 'string') {
+ var rulesTree = {};
+
+ // Parse rules from "classes" pulled from data attribute
+ var rules = this.rules.split(' ');
+
+ // Iterate through every rule found
+ for (var i = 0; i < rules.length; i++) {
+ var rule = rules[i].split('-');
+ var ruleSize = rule.length > 1 ? rule[0] : 'small';
+ var rulePlugin = rule.length > 1 ? rule[1] : rule[0];
+
+ if (MenuPlugins[rulePlugin] !== null) {
+ rulesTree[ruleSize] = MenuPlugins[rulePlugin];
+ }
+ }
+
+ this.rules = rulesTree;
+ }
+
+ if (!$.isEmptyObject(this.rules)) {
+ this._checkMediaQueries();
+ }
+ }
+
+ /**
+ * Initializes events for the Menu.
+ * @function
+ * @private
+ */
+
+ }, {
+ key: '_events',
+ value: function _events() {
+ var _this = this;
+
+ $(window).on('changed.zf.mediaquery', function () {
+ _this._checkMediaQueries();
+ });
+ // $(window).on('resize.zf.ResponsiveMenu', function() {
+ // _this._checkMediaQueries();
+ // });
+ }
+
+ /**
+ * Checks the current screen width against available media queries. If the media query has changed, and the plugin needed has changed, the plugins will swap out.
+ * @function
+ * @private
+ */
+
+ }, {
+ key: '_checkMediaQueries',
+ value: function _checkMediaQueries() {
+ var matchedMq,
+ _this = this;
+ // Iterate through each rule and find the last matching rule
+ $.each(this.rules, function (key) {
+ if (Foundation.MediaQuery.atLeast(key)) {
+ matchedMq = key;
+ }
+ });
+
+ // No match? No dice
+ if (!matchedMq) return;
+
+ // Plugin already initialized? We good
+ if (this.currentPlugin instanceof this.rules[matchedMq].plugin) return;
+
+ // Remove existing plugin-specific CSS classes
+ $.each(MenuPlugins, function (key, value) {
+ _this.$element.removeClass(value.cssClass);
+ });
+
+ // Add the CSS class for the new plugin
+ this.$element.addClass(this.rules[matchedMq].cssClass);
+
+ // Create an instance of the new plugin
+ if (this.currentPlugin) this.currentPlugin.destroy();
+ this.currentPlugin = new this.rules[matchedMq].plugin(this.$element, {});
+ }
+
+ /**
+ * Destroys the instance of the current plugin on this element, as well as the window resize handler that switches the plugins out.
+ * @function
+ */
+
+ }, {
+ key: 'destroy',
+ value: function destroy() {
+ this.currentPlugin.destroy();
+ $(window).off('.zf.ResponsiveMenu');
+ Foundation.unregisterPlugin(this);
+ }
+ }]);
+
+ return ResponsiveMenu;
+ }();
+
+ ResponsiveMenu.defaults = {};
+
+ // The plugin matches the plugin classes with these plugin instances.
+ var MenuPlugins = {
+ dropdown: {
+ cssClass: 'dropdown',
+ plugin: Foundation._plugins['dropdown-menu'] || null
+ },
+ drilldown: {
+ cssClass: 'drilldown',
+ plugin: Foundation._plugins['drilldown'] || null
+ },
+ accordion: {
+ cssClass: 'accordion-menu',
+ plugin: Foundation._plugins['accordion-menu'] || null
+ }
+ };
+
+ // Window exports
+ Foundation.plugin(ResponsiveMenu, 'ResponsiveMenu');
+}(jQuery);
+'use strict';
+
+var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
+
+function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
+
+!function ($) {
+
+ /**
+ * ResponsiveToggle module.
+ * @module foundation.responsiveToggle
+ * @requires foundation.util.mediaQuery
+ */
+
+ var ResponsiveToggle = function () {
+ /**
+ * Creates a new instance of Tab Bar.
+ * @class
+ * @fires ResponsiveToggle#init
+ * @param {jQuery} element - jQuery object to attach tab bar functionality to.
+ * @param {Object} options - Overrides to the default plugin settings.
+ */
+
+ function ResponsiveToggle(element, options) {
+ _classCallCheck(this, ResponsiveToggle);
+
+ this.$element = $(element);
+ this.options = $.extend({}, ResponsiveToggle.defaults, this.$element.data(), options);
+
+ this._init();
+ this._events();
+
+ Foundation.registerPlugin(this, 'ResponsiveToggle');
+ }
+
+ /**
+ * Initializes the tab bar by finding the target element, toggling element, and running update().
+ * @function
+ * @private
+ */
+
+
+ _createClass(ResponsiveToggle, [{
+ key: '_init',
+ value: function _init() {
+ var targetID = this.$element.data('responsive-toggle');
+ if (!targetID) {
+ console.error('Your tab bar needs an ID of a Menu as the value of data-tab-bar.');
+ }
+
+ this.$targetMenu = $('#' + targetID);
+ this.$toggler = this.$element.find('[data-toggle]');
+
+ this._update();
+ }
+
+ /**
+ * Adds necessary event handlers for the tab bar to work.
+ * @function
+ * @private
+ */
+
+ }, {
+ key: '_events',
+ value: function _events() {
+ var _this = this;
+
+ this._updateMqHandler = this._update.bind(this);
+
+ $(window).on('changed.zf.mediaquery', this._updateMqHandler);
+
+ this.$toggler.on('click.zf.responsiveToggle', this.toggleMenu.bind(this));
+ }
+
+ /**
+ * Checks the current media query to determine if the tab bar should be visible or hidden.
+ * @function
+ * @private
+ */
+
+ }, {
+ key: '_update',
+ value: function _update() {
+ // Mobile
+ if (!Foundation.MediaQuery.atLeast(this.options.hideFor)) {
+ this.$element.show();
+ this.$targetMenu.hide();
+ }
+
+ // Desktop
+ else {
+ this.$element.hide();
+ this.$targetMenu.show();
+ }
+ }
+
+ /**
+ * Toggles the element attached to the tab bar. The toggle only happens if the screen is small enough to allow it.
+ * @function
+ * @fires ResponsiveToggle#toggled
+ */
+
+ }, {
+ key: 'toggleMenu',
+ value: function toggleMenu() {
+ if (!Foundation.MediaQuery.atLeast(this.options.hideFor)) {
+ this.$targetMenu.toggle(0);
+
+ /**
+ * Fires when the element attached to the tab bar toggles.
+ * @event ResponsiveToggle#toggled
+ */
+ this.$element.trigger('toggled.zf.responsiveToggle');
+ }
+ }
+ }, {
+ key: 'destroy',
+ value: function destroy() {
+ this.$element.off('.zf.responsiveToggle');
+ this.$toggler.off('.zf.responsiveToggle');
+
+ $(window).off('changed.zf.mediaquery', this._updateMqHandler);
+
+ Foundation.unregisterPlugin(this);
+ }
+ }]);
+
+ return ResponsiveToggle;
+ }();
+
+ ResponsiveToggle.defaults = {
+ /**
+ * The breakpoint after which the menu is always shown, and the tab bar is hidden.
+ * @option
+ * @example 'medium'
+ */
+ hideFor: 'medium'
+ };
+
+ // Window exports
+ Foundation.plugin(ResponsiveToggle, 'ResponsiveToggle');
+}(jQuery);
+'use strict';
+
+var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
+
+function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
+
+!function ($) {
+
+ /**
+ * Reveal module.
+ * @module foundation.reveal
+ * @requires foundation.util.keyboard
+ * @requires foundation.util.box
+ * @requires foundation.util.triggers
+ * @requires foundation.util.mediaQuery
+ * @requires foundation.util.motion if using animations
+ */
+
+ var Reveal = function () {
+ /**
+ * Creates a new instance of Reveal.
+ * @class
+ * @param {jQuery} element - jQuery object to use for the modal.
+ * @param {Object} options - optional parameters.
+ */
+
+ function Reveal(element, options) {
+ _classCallCheck(this, Reveal);
+
+ this.$element = element;
+ this.options = $.extend({}, Reveal.defaults, this.$element.data(), options);
+ this._init();
+
+ Foundation.registerPlugin(this, 'Reveal');
+ Foundation.Keyboard.register('Reveal', {
+ 'ENTER': 'open',
+ 'SPACE': 'open',
+ 'ESCAPE': 'close',
+ 'TAB': 'tab_forward',
+ 'SHIFT_TAB': 'tab_backward'
+ });
+ }
+
+ /**
+ * Initializes the modal by adding the overlay and close buttons, (if selected).
+ * @private
+ */
+
+
+ _createClass(Reveal, [{
+ key: '_init',
+ value: function _init() {
+ this.id = this.$element.attr('id');
+ this.isActive = false;
+ this.cached = { mq: Foundation.MediaQuery.current };
+ this.isMobile = mobileSniff();
+
+ this.$anchor = $('[data-open="' + this.id + '"]').length ? $('[data-open="' + this.id + '"]') : $('[data-toggle="' + this.id + '"]');
+ this.$anchor.attr({
+ 'aria-controls': this.id,
+ 'aria-haspopup': true,
+ 'tabindex': 0
+ });
+
+ if (this.options.fullScreen || this.$element.hasClass('full')) {
+ this.options.fullScreen = true;
+ this.options.overlay = false;
+ }
+ if (this.options.overlay && !this.$overlay) {
+ this.$overlay = this._makeOverlay(this.id);
+ }
+
+ this.$element.attr({
+ 'role': 'dialog',
+ 'aria-hidden': true,
+ 'data-yeti-box': this.id,
+ 'data-resize': this.id
+ });
+
+ if (this.$overlay) {
+ this.$element.detach().appendTo(this.$overlay);
+ } else {
+ this.$element.detach().appendTo($('body'));
+ this.$element.addClass('without-overlay');
+ }
+ this._events();
+ if (this.options.deepLink && window.location.hash === '#' + this.id) {
+ $(window).one('load.zf.reveal', this.open.bind(this));
+ }
+ }
+
+ /**
+ * Creates an overlay div to display behind the modal.
+ * @private
+ */
+
+ }, {
+ key: '_makeOverlay',
+ value: function _makeOverlay(id) {
+ var $overlay = $('<div></div>').addClass('reveal-overlay').appendTo('body');
+ return $overlay;
+ }
+
+ /**
+ * Updates position of modal
+ * TODO: Figure out if we actually need to cache these values or if it doesn't matter
+ * @private
+ */
+
+ }, {
+ key: '_updatePosition',
+ value: function _updatePosition() {
+ var width = this.$element.outerWidth();
+ var outerWidth = $(window).width();
+ var height = this.$element.outerHeight();
+ var outerHeight = $(window).height();
+ var left, top;
+ if (this.options.hOffset === 'auto') {
+ left = parseInt((outerWidth - width) / 2, 10);
+ } else {
+ left = parseInt(this.options.hOffset, 10);
+ }
+ if (this.options.vOffset === 'auto') {
+ if (height > outerHeight) {
+ top = parseInt(Math.min(100, outerHeight / 10), 10);
+ } else {
+ top = parseInt((outerHeight - height) / 4, 10);
+ }
+ } else {
+ top = parseInt(this.options.vOffset, 10);
+ }
+ this.$element.css({ top: top + 'px' });
+ // only worry about left if we don't have an overlay or we havea horizontal offset,
+ // otherwise we're perfectly in the middle
+ if (!this.$overlay || this.options.hOffset !== 'auto') {
+ this.$element.css({ left: left + 'px' });
+ this.$element.css({ margin: '0px' });
+ }
+ }
+
+ /**
+ * Adds event handlers for the modal.
+ * @private
+ */
+
+ }, {
+ key: '_events',
+ value: function _events() {
+ var _this2 = this;
+
+ var _this = this;
+
+ this.$element.on({
+ 'open.zf.trigger': this.open.bind(this),
+ 'close.zf.trigger': function (event, $element) {
+ if (event.target === _this.$element[0] || $(event.target).parents('[data-closable]')[0] === $element) {
+ // only close reveal when it's explicitly called
+ return _this2.close.apply(_this2);
+ }
+ },
+ 'toggle.zf.trigger': this.toggle.bind(this),
+ 'resizeme.zf.trigger': function () {
+ _this._updatePosition();
+ }
+ });
+
+ if (this.$anchor.length) {
+ this.$anchor.on('keydown.zf.reveal', function (e) {
+ if (e.which === 13 || e.which === 32) {
+ e.stopPropagation();
+ e.preventDefault();
+ _this.open();
+ }
+ });
+ }
+
+ if (this.options.closeOnClick && this.options.overlay) {
+ this.$overlay.off('.zf.reveal').on('click.zf.reveal', function (e) {
+ if (e.target === _this.$element[0] || $.contains(_this.$element[0], e.target)) {
+ return;
+ }
+ _this.close();
+ });
+ }
+ if (this.options.deepLink) {
+ $(window).on('popstate.zf.reveal:' + this.id, this._handleState.bind(this));
+ }
+ }
+
+ /**
+ * Handles modal methods on back/forward button clicks or any other event that triggers popstate.
+ * @private
+ */
+
+ }, {
+ key: '_handleState',
+ value: function _handleState(e) {
+ if (window.location.hash === '#' + this.id && !this.isActive) {
+ this.open();
+ } else {
+ this.close();
+ }
+ }
+
+ /**
+ * Opens the modal controlled by `this.$anchor`, and closes all others by default.
+ * @function
+ * @fires Reveal#closeme
+ * @fires Reveal#open
+ */
+
+ }, {
+ key: 'open',
+ value: function open() {
+ var _this3 = this;
+
+ if (this.options.deepLink) {
+ var hash = '#' + this.id;
+
+ if (window.history.pushState) {
+ window.history.pushState(null, null, hash);
+ } else {
+ window.location.hash = hash;
+ }
+ }
+
+ this.isActive = true;
+
+ // Make elements invisible, but remove display: none so we can get size and positioning
+ this.$element.css({ 'visibility': 'hidden' }).show().scrollTop(0);
+ if (this.options.overlay) {
+ this.$overlay.css({ 'visibility': 'hidden' }).show();
+ }
+
+ this._updatePosition();
+
+ this.$element.hide().css({ 'visibility': '' });
+
+ if (this.$overlay) {
+ this.$overlay.css({ 'visibility': '' }).hide();
+ if (this.$element.hasClass('fast')) {
+ this.$overlay.addClass('fast');
+ } else if (this.$element.hasClass('slow')) {
+ this.$overlay.addClass('slow');
+ }
+ }
+
+ if (!this.options.multipleOpened) {
+ /**
+ * Fires immediately before the modal opens.
+ * Closes any other modals that are currently open
+ * @event Reveal#closeme
+ */
+ this.$element.trigger('closeme.zf.reveal', this.id);
+ }
+ // Motion UI method of reveal
+ if (this.options.animationIn) {
+ var _this;
+
+ (function () {
+ var afterAnimationFocus = function () {
+ _this.$element.attr({
+ 'aria-hidden': false,
+ 'tabindex': -1
+ }).focus();
+ console.log('focus');
+ };
+
+ _this = _this3;
+
+ if (_this3.options.overlay) {
+ Foundation.Motion.animateIn(_this3.$overlay, 'fade-in');
+ }
+ Foundation.Motion.animateIn(_this3.$element, _this3.options.animationIn, function () {
+ _this3.focusableElements = Foundation.Keyboard.findFocusable(_this3.$element);
+ afterAnimationFocus();
+ });
+ })();
+ }
+ // jQuery method of reveal
+ else {
+ if (this.options.overlay) {
+ this.$overlay.show(0);
+ }
+ this.$element.show(this.options.showDelay);
+ }
+
+ // handle accessibility
+ this.$element.attr({
+ 'aria-hidden': false,
+ 'tabindex': -1
+ }).focus();
+
+ /**
+ * Fires when the modal has successfully opened.
+ * @event Reveal#open
+ */
+ this.$element.trigger('open.zf.reveal');
+
+ if (this.isMobile) {
+ this.originalScrollPos = window.pageYOffset;
+ $('html, body').addClass('is-reveal-open');
+ } else {
+ $('body').addClass('is-reveal-open');
+ }
+
+ setTimeout(function () {
+ _this3._extraHandlers();
+ }, 0);
+ }
+
+ /**
+ * Adds extra event handlers for the body and window if necessary.
+ * @private
+ */
+
+ }, {
+ key: '_extraHandlers',
+ value: function _extraHandlers() {
+ var _this = this;
+ this.focusableElements = Foundation.Keyboard.findFocusable(this.$element);
+
+ if (!this.options.overlay && this.options.closeOnClick && !this.options.fullScreen) {
+ $('body').on('click.zf.reveal', function (e) {
+ if (e.target === _this.$element[0] || $.contains(_this.$element[0], e.target)) {
+ return;
+ }
+ _this.close();
+ });
+ }
+
+ if (this.options.closeOnEsc) {
+ $(window).on('keydown.zf.reveal', function (e) {
+ Foundation.Keyboard.handleKey(e, 'Reveal', {
+ close: function () {
+ if (_this.options.closeOnEsc) {
+ _this.close();
+ _this.$anchor.focus();
+ }
+ }
+ });
+ });
+ }
+
+ // lock focus within modal while tabbing
+ this.$element.on('keydown.zf.reveal', function (e) {
+ var $target = $(this);
+ // handle keyboard event with keyboard util
+ Foundation.Keyboard.handleKey(e, 'Reveal', {
+ tab_forward: function () {
+ if (_this.$element.find(':focus').is(_this.focusableElements.eq(-1))) {
+ // left modal downwards, setting focus to first element
+ _this.focusableElements.eq(0).focus();
+ return true;
+ }
+ if (_this.focusableElements.length === 0) {
+ // no focusable elements inside the modal at all, prevent tabbing in general
+ return true;
+ }
+ },
+ tab_backward: function () {
+ if (_this.$element.find(':focus').is(_this.focusableElements.eq(0)) || _this.$element.is(':focus')) {
+ // left modal upwards, setting focus to last element
+ _this.focusableElements.eq(-1).focus();
+ return true;
+ }
+ if (_this.focusableElements.length === 0) {
+ // no focusable elements inside the modal at all, prevent tabbing in general
+ return true;
+ }
+ },
+ open: function () {
+ if (_this.$element.find(':focus').is(_this.$element.find('[data-close]'))) {
+ setTimeout(function () {
+ // set focus back to anchor if close button has been activated
+ _this.$anchor.focus();
+ }, 1);
+ } else if ($target.is(_this.focusableElements)) {
+ // dont't trigger if acual element has focus (i.e. inputs, links, ...)
+ _this.open();
+ }
+ },
+ close: function () {
+ if (_this.options.closeOnEsc) {
+ _this.close();
+ _this.$anchor.focus();
+ }
+ },
+ handled: function (preventDefault) {
+ if (preventDefault) {
+ e.preventDefault();
+ }
+ }
+ });
+ });
+ }
+
+ /**
+ * Closes the modal.
+ * @function
+ * @fires Reveal#closed
+ */
+
+ }, {
+ key: 'close',
+ value: function close() {
+ if (!this.isActive || !this.$element.is(':visible')) {
+ return false;
+ }
+ var _this = this;
+
+ // Motion UI method of hiding
+ if (this.options.animationOut) {
+ if (this.options.overlay) {
+ Foundation.Motion.animateOut(this.$overlay, 'fade-out', finishUp);
+ } else {
+ finishUp();
+ }
+
+ Foundation.Motion.animateOut(this.$element, this.options.animationOut);
+ }
+ // jQuery method of hiding
+ else {
+ if (this.options.overlay) {
+ this.$overlay.hide(0, finishUp);
+ } else {
+ finishUp();
+ }
+
+ this.$element.hide(this.options.hideDelay);
+ }
+
+ // Conditionals to remove extra event listeners added on open
+ if (this.options.closeOnEsc) {
+ $(window).off('keydown.zf.reveal');
+ }
+
+ if (!this.options.overlay && this.options.closeOnClick) {
+ $('body').off('click.zf.reveal');
+ }
+
+ this.$element.off('keydown.zf.reveal');
+
+ function finishUp() {
+ if (_this.isMobile) {
+ $('html, body').removeClass('is-reveal-open');
+ if (_this.originalScrollPos) {
+ $('body').scrollTop(_this.originalScrollPos);
+ _this.originalScrollPos = null;
+ }
+ } else {
+ $('body').removeClass('is-reveal-open');
+ }
+
+ _this.$element.attr('aria-hidden', true);
+
+ /**
+ * Fires when the modal is done closing.
+ * @event Reveal#closed
+ */
+ _this.$element.trigger('closed.zf.reveal');
+ }
+
+ /**
+ * Resets the modal content
+ * This prevents a running video to keep going in the background
+ */
+ if (this.options.resetOnClose) {
+ this.$element.html(this.$element.html());
+ }
+
+ this.isActive = false;
+ if (_this.options.deepLink) {
+ if (window.history.replaceState) {
+ window.history.replaceState("", document.title, window.location.pathname);
+ } else {
+ window.location.hash = '';
+ }
+ }
+ }
+
+ /**
+ * Toggles the open/closed state of a modal.
+ * @function
+ */
+
+ }, {
+ key: 'toggle',
+ value: function toggle() {
+ if (this.isActive) {
+ this.close();
+ } else {
+ this.open();
+ }
+ }
+ }, {
+ key: 'destroy',
+
+
+ /**
+ * Destroys an instance of a modal.
+ * @function
+ */
+ value: function destroy() {
+ if (this.options.overlay) {
+ this.$element.appendTo($('body')); // move $element outside of $overlay to prevent error unregisterPlugin()
+ this.$overlay.hide().off().remove();
+ }
+ this.$element.hide().off();
+ this.$anchor.off('.zf');
+ $(window).off('.zf.reveal:' + this.id);
+
+ Foundation.unregisterPlugin(this);
+ }
+ }]);
+
+ return Reveal;
+ }();
+
+ Reveal.defaults = {
+ /**
+ * Motion-UI class to use for animated elements. If none used, defaults to simple show/hide.
+ * @option
+ * @example 'slide-in-left'
+ */
+ animationIn: '',
+ /**
+ * Motion-UI class to use for animated elements. If none used, defaults to simple show/hide.
+ * @option
+ * @example 'slide-out-right'
+ */
+ animationOut: '',
+ /**
+ * Time, in ms, to delay the opening of a modal after a click if no animation used.
+ * @option
+ * @example 10
+ */
+ showDelay: 0,
+ /**
+ * Time, in ms, to delay the closing of a modal after a click if no animation used.
+ * @option
+ * @example 10
+ */
+ hideDelay: 0,
+ /**
+ * Allows a click on the body/overlay to close the modal.
+ * @option
+ * @example true
+ */
+ closeOnClick: true,
+ /**
+ * Allows the modal to close if the user presses the `ESCAPE` key.
+ * @option
+ * @example true
+ */
+ closeOnEsc: true,
+ /**
+ * If true, allows multiple modals to be displayed at once.
+ * @option
+ * @example false
+ */
+ multipleOpened: false,
+ /**
+ * Distance, in pixels, the modal should push down from the top of the screen.
+ * @option
+ * @example auto
+ */
+ vOffset: 'auto',
+ /**
+ * Distance, in pixels, the modal should push in from the side of the screen.
+ * @option
+ * @example auto
+ */
+ hOffset: 'auto',
+ /**
+ * Allows the modal to be fullscreen, completely blocking out the rest of the view. JS checks for this as well.
+ * @option
+ * @example false
+ */
+ fullScreen: false,
+ /**
+ * Percentage of screen height the modal should push up from the bottom of the view.
+ * @option
+ * @example 10
+ */
+ btmOffsetPct: 10,
+ /**
+ * Allows the modal to generate an overlay div, which will cover the view when modal opens.
+ * @option
+ * @example true
+ */
+ overlay: true,
+ /**
+ * Allows the modal to remove and reinject markup on close. Should be true if using video elements w/o using provider's api, otherwise, videos will continue to play in the background.
+ * @option
+ * @example false
+ */
+ resetOnClose: false,
+ /**
+ * Allows the modal to alter the url on open/close, and allows the use of the `back` button to close modals. ALSO, allows a modal to auto-maniacally open on page load IF the hash === the modal's user-set id.
+ * @option
+ * @example false
+ */
+ deepLink: false
+ };
+
+ // Window exports
+ Foundation.plugin(Reveal, 'Reveal');
+
+ function iPhoneSniff() {
+ return (/iP(ad|hone|od).*OS/.test(window.navigator.userAgent)
+ );
+ }
+
+ function androidSniff() {
+ return (/Android/.test(window.navigator.userAgent)
+ );
+ }
+
+ function mobileSniff() {
+ return iPhoneSniff() || androidSniff();
+ }
+}(jQuery);
+'use strict';
+
+var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
+
+function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
+
+!function ($) {
+
+ /**
+ * Slider module.
+ * @module foundation.slider
+ * @requires foundation.util.motion
+ * @requires foundation.util.triggers
+ * @requires foundation.util.keyboard
+ * @requires foundation.util.touch
+ */
+
+ var Slider = function () {
+ /**
+ * Creates a new instance of a drilldown menu.
+ * @class
+ * @param {jQuery} element - jQuery object to make into an accordion menu.
+ * @param {Object} options - Overrides to the default plugin settings.
+ */
+
+ function Slider(element, options) {
+ _classCallCheck(this, Slider);
+
+ this.$element = element;
+ this.options = $.extend({}, Slider.defaults, this.$element.data(), options);
+
+ this._init();
+
+ Foundation.registerPlugin(this, 'Slider');
+ Foundation.Keyboard.register('Slider', {
+ 'ltr': {
+ 'ARROW_RIGHT': 'increase',
+ 'ARROW_UP': 'increase',
+ 'ARROW_DOWN': 'decrease',
+ 'ARROW_LEFT': 'decrease',
+ 'SHIFT_ARROW_RIGHT': 'increase_fast',
+ 'SHIFT_ARROW_UP': 'increase_fast',
+ 'SHIFT_ARROW_DOWN': 'decrease_fast',
+ 'SHIFT_ARROW_LEFT': 'decrease_fast'
+ },
+ 'rtl': {
+ 'ARROW_LEFT': 'increase',
+ 'ARROW_RIGHT': 'decrease',
+ 'SHIFT_ARROW_LEFT': 'increase_fast',
+ 'SHIFT_ARROW_RIGHT': 'decrease_fast'
+ }
+ });
+ }
+
+ /**
+ * Initilizes the plugin by reading/setting attributes, creating collections and setting the initial position of the handle(s).
+ * @function
+ * @private
+ */
+
+
+ _createClass(Slider, [{
+ key: '_init',
+ value: function _init() {
+ this.inputs = this.$element.find('input');
+ this.handles = this.$element.find('[data-slider-handle]');
+
+ this.$handle = this.handles.eq(0);
+ this.$input = this.inputs.length ? this.inputs.eq(0) : $('#' + this.$handle.attr('aria-controls'));
+ this.$fill = this.$element.find('[data-slider-fill]').css(this.options.vertical ? 'height' : 'width', 0);
+
+ var isDbl = false,
+ _this = this;
+ if (this.options.disabled || this.$element.hasClass(this.options.disabledClass)) {
+ this.options.disabled = true;
+ this.$element.addClass(this.options.disabledClass);
+ }
+ if (!this.inputs.length) {
+ this.inputs = $().add(this.$input);
+ this.options.binding = true;
+ }
+ this._setInitAttr(0);
+ this._events(this.$handle);
+
+ if (this.handles[1]) {
+ this.options.doubleSided = true;
+ this.$handle2 = this.handles.eq(1);
+ this.$input2 = this.inputs.length > 1 ? this.inputs.eq(1) : $('#' + this.$handle2.attr('aria-controls'));
+
+ if (!this.inputs[1]) {
+ this.inputs = this.inputs.add(this.$input2);
+ }
+ isDbl = true;
+
+ this._setHandlePos(this.$handle, this.options.initialStart, true, function () {
+
+ _this._setHandlePos(_this.$handle2, _this.options.initialEnd, true);
+ });
+ // this.$handle.triggerHandler('click.zf.slider');
+ this._setInitAttr(1);
+ this._events(this.$handle2);
+ }
+
+ if (!isDbl) {
+ this._setHandlePos(this.$handle, this.options.initialStart, true);
+ }
+ }
+
+ /**
+ * Sets the position of the selected handle and fill bar.
+ * @function
+ * @private
+ * @param {jQuery} $hndl - the selected handle to move.
+ * @param {Number} location - floating point between the start and end values of the slider bar.
+ * @param {Function} cb - callback function to fire on completion.
+ * @fires Slider#moved
+ * @fires Slider#changed
+ */
+
+ }, {
+ key: '_setHandlePos',
+ value: function _setHandlePos($hndl, location, noInvert, cb) {
+ // don't move if the slider has been disabled since its initialization
+ if (this.$element.hasClass(this.options.disabledClass)) {
+ return;
+ }
+ //might need to alter that slightly for bars that will have odd number selections.
+ location = parseFloat(location); //on input change events, convert string to number...grumble.
+
+ // prevent slider from running out of bounds, if value exceeds the limits set through options, override the value to min/max
+ if (location < this.options.start) {
+ location = this.options.start;
+ } else if (location > this.options.end) {
+ location = this.options.end;
+ }
+
+ var isDbl = this.options.doubleSided;
+
+ if (isDbl) {
+ //this block is to prevent 2 handles from crossing eachother. Could/should be improved.
+ if (this.handles.index($hndl) === 0) {
+ var h2Val = parseFloat(this.$handle2.attr('aria-valuenow'));
+ location = location >= h2Val ? h2Val - this.options.step : location;
+ } else {
+ var h1Val = parseFloat(this.$handle.attr('aria-valuenow'));
+ location = location <= h1Val ? h1Val + this.options.step : location;
+ }
+ }
+
+ //this is for single-handled vertical sliders, it adjusts the value to account for the slider being "upside-down"
+ //for click and drag events, it's weird due to the scale(-1, 1) css property
+ if (this.options.vertical && !noInvert) {
+ location = this.options.end - location;
+ }
+
+ var _this = this,
+ vert = this.options.vertical,
+ hOrW = vert ? 'height' : 'width',
+ lOrT = vert ? 'top' : 'left',
+ handleDim = $hndl[0].getBoundingClientRect()[hOrW],
+ elemDim = this.$element[0].getBoundingClientRect()[hOrW],
+
+ //percentage of bar min/max value based on click or drag point
+ pctOfBar = percent(location - this.options.start, this.options.end - this.options.start).toFixed(2),
+
+ //number of actual pixels to shift the handle, based on the percentage obtained above
+ pxToMove = (elemDim - handleDim) * pctOfBar,
+
+ //percentage of bar to shift the handle
+ movement = (percent(pxToMove, elemDim) * 100).toFixed(this.options.decimal);
+ //fixing the decimal value for the location number, is passed to other methods as a fixed floating-point value
+ location = parseFloat(location.toFixed(this.options.decimal));
+ // declare empty object for css adjustments, only used with 2 handled-sliders
+ var css = {};
+
+ this._setValues($hndl, location);
+
+ // TODO update to calculate based on values set to respective inputs??
+ if (isDbl) {
+ var isLeftHndl = this.handles.index($hndl) === 0,
+
+ //empty variable, will be used for min-height/width for fill bar
+ dim,
+
+ //percentage w/h of the handle compared to the slider bar
+ handlePct = ~ ~(percent(handleDim, elemDim) * 100);
+ //if left handle, the math is slightly different than if it's the right handle, and the left/top property needs to be changed for the fill bar
+ if (isLeftHndl) {
+ //left or top percentage value to apply to the fill bar.
+ css[lOrT] = movement + '%';
+ //calculate the new min-height/width for the fill bar.
+ dim = parseFloat(this.$handle2[0].style[lOrT]) - movement + handlePct;
+ //this callback is necessary to prevent errors and allow the proper placement and initialization of a 2-handled slider
+ //plus, it means we don't care if 'dim' isNaN on init, it won't be in the future.
+ if (cb && typeof cb === 'function') {
+ cb();
+ } //this is only needed for the initialization of 2 handled sliders
+ } else {
+ //just caching the value of the left/bottom handle's left/top property
+ var handlePos = parseFloat(this.$handle[0].style[lOrT]);
+ //calculate the new min-height/width for the fill bar. Use isNaN to prevent false positives for numbers <= 0
+ //based on the percentage of movement of the handle being manipulated, less the opposing handle's left/top position, plus the percentage w/h of the handle itself
+ dim = movement - (isNaN(handlePos) ? this.options.initialStart / ((this.options.end - this.options.start) / 100) : handlePos) + handlePct;
+ }
+ // assign the min-height/width to our css object
+ css['min-' + hOrW] = dim + '%';
+ }
+
+ this.$element.one('finished.zf.animate', function () {
+ /**
+ * Fires when the handle is done moving.
+ * @event Slider#moved
+ */
+ _this.$element.trigger('moved.zf.slider', [$hndl]);
+ });
+
+ //because we don't know exactly how the handle will be moved, check the amount of time it should take to move.
+ var moveTime = this.$element.data('dragging') ? 1000 / 60 : this.options.moveTime;
+
+ Foundation.Move(moveTime, $hndl, function () {
+ //adjusting the left/top property of the handle, based on the percentage calculated above
+ $hndl.css(lOrT, movement + '%');
+
+ if (!_this.options.doubleSided) {
+ //if single-handled, a simple method to expand the fill bar
+ _this.$fill.css(hOrW, pctOfBar * 100 + '%');
+ } else {
+ //otherwise, use the css object we created above
+ _this.$fill.css(css);
+ }
+ });
+
+ /**
+ * Fires when the value has not been change for a given time.
+ * @event Slider#changed
+ */
+ clearTimeout(_this.timeout);
+ _this.timeout = setTimeout(function () {
+ _this.$element.trigger('changed.zf.slider', [$hndl]);
+ }, _this.options.changedDelay);
+ }
+
+ /**
+ * Sets the initial attribute for the slider element.
+ * @function
+ * @private
+ * @param {Number} idx - index of the current handle/input to use.
+ */
+
+ }, {
+ key: '_setInitAttr',
+ value: function _setInitAttr(idx) {
+ var id = this.inputs.eq(idx).attr('id') || Foundation.GetYoDigits(6, 'slider');
+ this.inputs.eq(idx).attr({
+ 'id': id,
+ 'max': this.options.end,
+ 'min': this.options.start,
+ 'step': this.options.step
+ });
+ this.handles.eq(idx).attr({
+ 'role': 'slider',
+ 'aria-controls': id,
+ 'aria-valuemax': this.options.end,
+ 'aria-valuemin': this.options.start,
+ 'aria-valuenow': idx === 0 ? this.options.initialStart : this.options.initialEnd,
+ 'aria-orientation': this.options.vertical ? 'vertical' : 'horizontal',
+ 'tabindex': 0
+ });
+ }
+
+ /**
+ * Sets the input and `aria-valuenow` values for the slider element.
+ * @function
+ * @private
+ * @param {jQuery} $handle - the currently selected handle.
+ * @param {Number} val - floating point of the new value.
+ */
+
+ }, {
+ key: '_setValues',
+ value: function _setValues($handle, val) {
+ var idx = this.options.doubleSided ? this.handles.index($handle) : 0;
+ this.inputs.eq(idx).val(val);
+ $handle.attr('aria-valuenow', val);
+ }
+
+ /**
+ * Handles events on the slider element.
+ * Calculates the new location of the current handle.
+ * If there are two handles and the bar was clicked, it determines which handle to move.
+ * @function
+ * @private
+ * @param {Object} e - the `event` object passed from the listener.
+ * @param {jQuery} $handle - the current handle to calculate for, if selected.
+ * @param {Number} val - floating point number for the new value of the slider.
+ * TODO clean this up, there's a lot of repeated code between this and the _setHandlePos fn.
+ */
+
+ }, {
+ key: '_handleEvent',
+ value: function _handleEvent(e, $handle, val) {
+ var value, hasVal;
+ if (!val) {
+ //click or drag events
+ e.preventDefault();
+ var _this = this,
+ vertical = this.options.vertical,
+ param = vertical ? 'height' : 'width',
+ direction = vertical ? 'top' : 'left',
+ eventOffset = vertical ? e.pageY : e.pageX,
+ halfOfHandle = this.$handle[0].getBoundingClientRect()[param] / 2,
+ barDim = this.$element[0].getBoundingClientRect()[param],
+ windowScroll = vertical ? $(window).scrollTop() : $(window).scrollLeft();
+
+ var elemOffset = this.$element.offset()[direction];
+
+ // touch events emulated by the touch util give position relative to screen, add window.scroll to event coordinates...
+ // best way to guess this is simulated is if clientY == pageY
+ if (e.clientY === e.pageY) {
+ eventOffset = eventOffset + windowScroll;
+ }
+ var eventFromBar = eventOffset - elemOffset;
+ var barXY;
+ if (eventFromBar < 0) {
+ barXY = 0;
+ } else if (eventFromBar > barDim) {
+ barXY = barDim;
+ } else {
+ barXY = eventFromBar;
+ }
+ offsetPct = percent(barXY, barDim);
+
+ value = (this.options.end - this.options.start) * offsetPct + this.options.start;
+
+ // turn everything around for RTL, yay math!
+ if (Foundation.rtl() && !this.options.vertical) {
+ value = this.options.end - value;
+ }
+
+ value = _this._adjustValue(null, value);
+ //boolean flag for the setHandlePos fn, specifically for vertical sliders
+ hasVal = false;
+
+ if (!$handle) {
+ //figure out which handle it is, pass it to the next function.
+ var firstHndlPos = absPosition(this.$handle, direction, barXY, param),
+ secndHndlPos = absPosition(this.$handle2, direction, barXY, param);
+ $handle = firstHndlPos <= secndHndlPos ? this.$handle : this.$handle2;
+ }
+ } else {
+ //change event on input
+ value = this._adjustValue(null, val);
+ hasVal = true;
+ }
+
+ this._setHandlePos($handle, value, hasVal);
+ }
+
+ /**
+ * Adjustes value for handle in regard to step value. returns adjusted value
+ * @function
+ * @private
+ * @param {jQuery} $handle - the selected handle.
+ * @param {Number} value - value to adjust. used if $handle is falsy
+ */
+
+ }, {
+ key: '_adjustValue',
+ value: function _adjustValue($handle, value) {
+ var val,
+ step = this.options.step,
+ div = parseFloat(step / 2),
+ left,
+ prev_val,
+ next_val;
+ if (!!$handle) {
+ val = parseFloat($handle.attr('aria-valuenow'));
+ } else {
+ val = value;
+ }
+ left = val % step;
+ prev_val = val - left;
+ next_val = prev_val + step;
+ if (left === 0) {
+ return val;
+ }
+ val = val >= prev_val + div ? next_val : prev_val;
+ return val;
+ }
+
+ /**
+ * Adds event listeners to the slider elements.
+ * @function
+ * @private
+ * @param {jQuery} $handle - the current handle to apply listeners to.
+ */
+
+ }, {
+ key: '_events',
+ value: function _events($handle) {
+ var _this = this,
+ curHandle,
+ timer;
+
+ this.inputs.off('change.zf.slider').on('change.zf.slider', function (e) {
+ var idx = _this.inputs.index($(this));
+ _this._handleEvent(e, _this.handles.eq(idx), $(this).val());
+ });
+
+ if (this.options.clickSelect) {
+ this.$element.off('click.zf.slider').on('click.zf.slider', function (e) {
+ if (_this.$element.data('dragging')) {
+ return false;
+ }
+
+ if (!$(e.target).is('[data-slider-handle]')) {
+ if (_this.options.doubleSided) {
+ _this._handleEvent(e);
+ } else {
+ _this._handleEvent(e, _this.$handle);
+ }
+ }
+ });
+ }
+
+ if (this.options.draggable) {
+ this.handles.addTouch();
+
+ var $body = $('body');
+ $handle.off('mousedown.zf.slider').on('mousedown.zf.slider', function (e) {
+ $handle.addClass('is-dragging');
+ _this.$fill.addClass('is-dragging'); //
+ _this.$element.data('dragging', true);
+
+ curHandle = $(e.currentTarget);
+
+ $body.on('mousemove.zf.slider', function (e) {
+ e.preventDefault();
+ _this._handleEvent(e, curHandle);
+ }).on('mouseup.zf.slider', function (e) {
+ _this._handleEvent(e, curHandle);
+
+ $handle.removeClass('is-dragging');
+ _this.$fill.removeClass('is-dragging');
+ _this.$element.data('dragging', false);
+
+ $body.off('mousemove.zf.slider mouseup.zf.slider');
+ });
+ })
+ // prevent events triggered by touch
+ .on('selectstart.zf.slider touchmove.zf.slider', function (e) {
+ e.preventDefault();
+ });
+ }
+
+ $handle.off('keydown.zf.slider').on('keydown.zf.slider', function (e) {
+ var _$handle = $(this),
+ idx = _this.options.doubleSided ? _this.handles.index(_$handle) : 0,
+ oldValue = parseFloat(_this.inputs.eq(idx).val()),
+ newValue;
+
+ // handle keyboard event with keyboard util
+ Foundation.Keyboard.handleKey(e, 'Slider', {
+ decrease: function () {
+ newValue = oldValue - _this.options.step;
+ },
+ increase: function () {
+ newValue = oldValue + _this.options.step;
+ },
+ decrease_fast: function () {
+ newValue = oldValue - _this.options.step * 10;
+ },
+ increase_fast: function () {
+ newValue = oldValue + _this.options.step * 10;
+ },
+ handled: function () {
+ // only set handle pos when event was handled specially
+ e.preventDefault();
+ _this._setHandlePos(_$handle, newValue, true);
+ }
+ });
+ /*if (newValue) { // if pressed key has special function, update value
+ e.preventDefault();
+ _this._setHandlePos(_$handle, newValue);
+ }*/
+ });
+ }
+
+ /**
+ * Destroys the slider plugin.
+ */
+
+ }, {
+ key: 'destroy',
+ value: function destroy() {
+ this.handles.off('.zf.slider');
+ this.inputs.off('.zf.slider');
+ this.$element.off('.zf.slider');
+
+ Foundation.unregisterPlugin(this);
+ }
+ }]);
+
+ return Slider;
+ }();
+
+ Slider.defaults = {
+ /**
+ * Minimum value for the slider scale.
+ * @option
+ * @example 0
+ */
+ start: 0,
+ /**
+ * Maximum value for the slider scale.
+ * @option
+ * @example 100
+ */
+ end: 100,
+ /**
+ * Minimum value change per change event.
+ * @option
+ * @example 1
+ */
+ step: 1,
+ /**
+ * Value at which the handle/input *(left handle/first input)* should be set to on initialization.
+ * @option
+ * @example 0
+ */
+ initialStart: 0,
+ /**
+ * Value at which the right handle/second input should be set to on initialization.
+ * @option
+ * @example 100
+ */
+ initialEnd: 100,
+ /**
+ * Allows the input to be located outside the container and visible. Set to by the JS
+ * @option
+ * @example false
+ */
+ binding: false,
+ /**
+ * Allows the user to click/tap on the slider bar to select a value.
+ * @option
+ * @example true
+ */
+ clickSelect: true,
+ /**
+ * Set to true and use the `vertical` class to change alignment to vertical.
+ * @option
+ * @example false
+ */
+ vertical: false,
+ /**
+ * Allows the user to drag the slider handle(s) to select a value.
+ * @option
+ * @example true
+ */
+ draggable: true,
+ /**
+ * Disables the slider and prevents event listeners from being applied. Double checked by JS with `disabledClass`.
+ * @option
+ * @example false
+ */
+ disabled: false,
+ /**
+ * Allows the use of two handles. Double checked by the JS. Changes some logic handling.
+ * @option
+ * @example false
+ */
+ doubleSided: false,
+ /**
+ * Potential future feature.
+ */
+ // steps: 100,
+ /**
+ * Number of decimal places the plugin should go to for floating point precision.
+ * @option
+ * @example 2
+ */
+ decimal: 2,
+ /**
+ * Time delay for dragged elements.
+ */
+ // dragDelay: 0,
+ /**
+ * Time, in ms, to animate the movement of a slider handle if user clicks/taps on the bar. Needs to be manually set if updating the transition time in the Sass settings.
+ * @option
+ * @example 200
+ */
+ moveTime: 200, //update this if changing the transition time in the sass
+ /**
+ * Class applied to disabled sliders.
+ * @option
+ * @example 'disabled'
+ */
+ disabledClass: 'disabled',
+ /**
+ * Will invert the default layout for a vertical<span data-tooltip title="who would do this???"> </span>slider.
+ * @option
+ * @example false
+ */
+ invertVertical: false,
+ /**
+ * Milliseconds before the `changed.zf-slider` event is triggered after value change.
+ * @option
+ * @example 500
+ */
+ changedDelay: 500
+ };
+
+ function percent(frac, num) {
+ return frac / num;
+ }
+ function absPosition($handle, dir, clickPos, param) {
+ return Math.abs($handle.position()[dir] + $handle[param]() / 2 - clickPos);
+ }
+
+ // Window exports
+ Foundation.plugin(Slider, 'Slider');
+}(jQuery);
+
+//*********this is in case we go to static, absolute positions instead of dynamic positioning********
+// this.setSteps(function() {
+// _this._events();
+// var initStart = _this.options.positions[_this.options.initialStart - 1] || null;
+// var initEnd = _this.options.initialEnd ? _this.options.position[_this.options.initialEnd - 1] : null;
+// if (initStart || initEnd) {
+// _this._handleEvent(initStart, initEnd);
+// }
+// });
+
+//***********the other part of absolute positions*************
+// Slider.prototype.setSteps = function(cb) {
+// var posChange = this.$element.outerWidth() / this.options.steps;
+// var counter = 0
+// while(counter < this.options.steps) {
+// if (counter) {
+// this.options.positions.push(this.options.positions[counter - 1] + posChange);
+// } else {
+// this.options.positions.push(posChange);
+// }
+// counter++;
+// }
+// cb();
+// };
+'use strict';
+
+var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
+
+function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
+
+!function ($) {
+
+ /**
+ * Sticky module.
+ * @module foundation.sticky
+ * @requires foundation.util.triggers
+ * @requires foundation.util.mediaQuery
+ */
+
+ var Sticky = function () {
+ /**
+ * Creates a new instance of a sticky thing.
+ * @class
+ * @param {jQuery} element - jQuery object to make sticky.
+ * @param {Object} options - options object passed when creating the element programmatically.
+ */
+
+ function Sticky(element, options) {
+ _classCallCheck(this, Sticky);
+
+ this.$element = element;
+ this.options = $.extend({}, Sticky.defaults, this.$element.data(), options);
+
+ this._init();
+
+ Foundation.registerPlugin(this, 'Sticky');
+ }
+
+ /**
+ * Initializes the sticky element by adding classes, getting/setting dimensions, breakpoints and attributes
+ * @function
+ * @private
+ */
+
+
+ _createClass(Sticky, [{
+ key: '_init',
+ value: function _init() {
+ var $parent = this.$element.parent('[data-sticky-container]'),
+ id = this.$element[0].id || Foundation.GetYoDigits(6, 'sticky'),
+ _this = this;
+
+ if (!$parent.length) {
+ this.wasWrapped = true;
+ }
+ this.$container = $parent.length ? $parent : $(this.options.container).wrapInner(this.$element);
+ this.$container.addClass(this.options.containerClass);
+
+ this.$element.addClass(this.options.stickyClass).attr({ 'data-resize': id });
+
+ this.scrollCount = this.options.checkEvery;
+ this.isStuck = false;
+ $(window).one('load.zf.sticky', function () {
+ if (_this.options.anchor !== '') {
+ _this.$anchor = $('#' + _this.options.anchor);
+ } else {
+ _this._parsePoints();
+ }
+
+ _this._setSizes(function () {
+ _this._calc(false);
+ });
+ _this._events(id.split('-').reverse().join('-'));
+ });
+ }
+
+ /**
+ * If using multiple elements as anchors, calculates the top and bottom pixel values the sticky thing should stick and unstick on.
+ * @function
+ * @private
+ */
+
+ }, {
+ key: '_parsePoints',
+ value: function _parsePoints() {
+ var top = this.options.topAnchor == "" ? 1 : this.options.topAnchor,
+ btm = this.options.btmAnchor == "" ? document.documentElement.scrollHeight : this.options.btmAnchor,
+ pts = [top, btm],
+ breaks = {};
+ for (var i = 0, len = pts.length; i < len && pts[i]; i++) {
+ var pt;
+ if (typeof pts[i] === 'number') {
+ pt = pts[i];
+ } else {
+ var place = pts[i].split(':'),
+ anchor = $('#' + place[0]);
+
+ pt = anchor.offset().top;
+ if (place[1] && place[1].toLowerCase() === 'bottom') {
+ pt += anchor[0].getBoundingClientRect().height;
+ }
+ }
+ breaks[i] = pt;
+ }
+
+ this.points = breaks;
+ return;
+ }
+
+ /**
+ * Adds event handlers for the scrolling element.
+ * @private
+ * @param {String} id - psuedo-random id for unique scroll event listener.
+ */
+
+ }, {
+ key: '_events',
+ value: function _events(id) {
+ var _this = this,
+ scrollListener = this.scrollListener = 'scroll.zf.' + id;
+ if (this.isOn) {
+ return;
+ }
+ if (this.canStick) {
+ this.isOn = true;
+ $(window).off(scrollListener).on(scrollListener, function (e) {
+ if (_this.scrollCount === 0) {
+ _this.scrollCount = _this.options.checkEvery;
+ _this._setSizes(function () {
+ _this._calc(false, window.pageYOffset);
+ });
+ } else {
+ _this.scrollCount--;
+ _this._calc(false, window.pageYOffset);
+ }
+ });
+ }
+
+ this.$element.off('resizeme.zf.trigger').on('resizeme.zf.trigger', function (e, el) {
+ _this._setSizes(function () {
+ _this._calc(false);
+ if (_this.canStick) {
+ if (!_this.isOn) {
+ _this._events(id);
+ }
+ } else if (_this.isOn) {
+ _this._pauseListeners(scrollListener);
+ }
+ });
+ });
+ }
+
+ /**
+ * Removes event handlers for scroll and change events on anchor.
+ * @fires Sticky#pause
+ * @param {String} scrollListener - unique, namespaced scroll listener attached to `window`
+ */
+
+ }, {
+ key: '_pauseListeners',
+ value: function _pauseListeners(scrollListener) {
+ this.isOn = false;
+ $(window).off(scrollListener);
+
+ /**
+ * Fires when the plugin is paused due to resize event shrinking the view.
+ * @event Sticky#pause
+ * @private
+ */
+ this.$element.trigger('pause.zf.sticky');
+ }
+
+ /**
+ * Called on every `scroll` event and on `_init`
+ * fires functions based on booleans and cached values
+ * @param {Boolean} checkSizes - true if plugin should recalculate sizes and breakpoints.
+ * @param {Number} scroll - current scroll position passed from scroll event cb function. If not passed, defaults to `window.pageYOffset`.
+ */
+
+ }, {
+ key: '_calc',
+ value: function _calc(checkSizes, scroll) {
+ if (checkSizes) {
+ this._setSizes();
+ }
+
+ if (!this.canStick) {
+ if (this.isStuck) {
+ this._removeSticky(true);
+ }
+ return false;
+ }
+
+ if (!scroll) {
+ scroll = window.pageYOffset;
+ }
+
+ if (scroll >= this.topPoint) {
+ if (scroll <= this.bottomPoint) {
+ if (!this.isStuck) {
+ this._setSticky();
+ }
+ } else {
+ if (this.isStuck) {
+ this._removeSticky(false);
+ }
+ }
+ } else {
+ if (this.isStuck) {
+ this._removeSticky(true);
+ }
+ }
+ }
+
+ /**
+ * Causes the $element to become stuck.
+ * Adds `position: fixed;`, and helper classes.
+ * @fires Sticky#stuckto
+ * @function
+ * @private
+ */
+
+ }, {
+ key: '_setSticky',
+ value: function _setSticky() {
+ var _this = this,
+ stickTo = this.options.stickTo,
+ mrgn = stickTo === 'top' ? 'marginTop' : 'marginBottom',
+ notStuckTo = stickTo === 'top' ? 'bottom' : 'top',
+ css = {};
+
+ css[mrgn] = this.options[mrgn] + 'em';
+ css[stickTo] = 0;
+ css[notStuckTo] = 'auto';
+ css['left'] = this.$container.offset().left + parseInt(window.getComputedStyle(this.$container[0])["padding-left"], 10);
+ this.isStuck = true;
+ this.$element.removeClass('is-anchored is-at-' + notStuckTo).addClass('is-stuck is-at-' + stickTo).css(css)
+ /**
+ * Fires when the $element has become `position: fixed;`
+ * Namespaced to `top` or `bottom`, e.g. `sticky.zf.stuckto:top`
+ * @event Sticky#stuckto
+ */
+ .trigger('sticky.zf.stuckto:' + stickTo);
+ this.$element.on("transitionend webkitTransitionEnd oTransitionEnd otransitionend MSTransitionEnd", function () {
+ _this._setSizes();
+ });
+ }
+
+ /**
+ * Causes the $element to become unstuck.
+ * Removes `position: fixed;`, and helper classes.
+ * Adds other helper classes.
+ * @param {Boolean} isTop - tells the function if the $element should anchor to the top or bottom of its $anchor element.
+ * @fires Sticky#unstuckfrom
+ * @private
+ */
+
+ }, {
+ key: '_removeSticky',
+ value: function _removeSticky(isTop) {
+ var stickTo = this.options.stickTo,
+ stickToTop = stickTo === 'top',
+ css = {},
+ anchorPt = (this.points ? this.points[1] - this.points[0] : this.anchorHeight) - this.elemHeight,
+ mrgn = stickToTop ? 'marginTop' : 'marginBottom',
+ notStuckTo = stickToTop ? 'bottom' : 'top',
+ topOrBottom = isTop ? 'top' : 'bottom';
+
+ css[mrgn] = 0;
+
+ css['bottom'] = 'auto';
+ if (isTop) {
+ css['top'] = 0;
+ } else {
+ css['top'] = anchorPt;
+ }
+
+ css['left'] = '';
+ this.isStuck = false;
+ this.$element.removeClass('is-stuck is-at-' + stickTo).addClass('is-anchored is-at-' + topOrBottom).css(css)
+ /**
+ * Fires when the $element has become anchored.
+ * Namespaced to `top` or `bottom`, e.g. `sticky.zf.unstuckfrom:bottom`
+ * @event Sticky#unstuckfrom
+ */
+ .trigger('sticky.zf.unstuckfrom:' + topOrBottom);
+ }
+
+ /**
+ * Sets the $element and $container sizes for plugin.
+ * Calls `_setBreakPoints`.
+ * @param {Function} cb - optional callback function to fire on completion of `_setBreakPoints`.
+ * @private
+ */
+
+ }, {
+ key: '_setSizes',
+ value: function _setSizes(cb) {
+ this.canStick = Foundation.MediaQuery.atLeast(this.options.stickyOn);
+ if (!this.canStick) {
+ cb();
+ }
+ var _this = this,
+ newElemWidth = this.$container[0].getBoundingClientRect().width,
+ comp = window.getComputedStyle(this.$container[0]),
+ pdng = parseInt(comp['padding-right'], 10);
+
+ if (this.$anchor && this.$anchor.length) {
+ this.anchorHeight = this.$anchor[0].getBoundingClientRect().height;
+ } else {
+ this._parsePoints();
+ }
+
+ this.$element.css({
+ 'max-width': newElemWidth - pdng + 'px'
+ });
+
+ var newContainerHeight = this.$element[0].getBoundingClientRect().height || this.containerHeight;
+ if (this.$element.css("display") == "none") {
+ newContainerHeight = 0;
+ }
+ this.containerHeight = newContainerHeight;
+ this.$container.css({
+ height: newContainerHeight
+ });
+ this.elemHeight = newContainerHeight;
+
+ if (this.isStuck) {
+ this.$element.css({ "left": this.$container.offset().left + parseInt(comp['padding-left'], 10) });
+ }
+
+ this._setBreakPoints(newContainerHeight, function () {
+ if (cb) {
+ cb();
+ }
+ });
+ }
+
+ /**
+ * Sets the upper and lower breakpoints for the element to become sticky/unsticky.
+ * @param {Number} elemHeight - px value for sticky.$element height, calculated by `_setSizes`.
+ * @param {Function} cb - optional callback function to be called on completion.
+ * @private
+ */
+
+ }, {
+ key: '_setBreakPoints',
+ value: function _setBreakPoints(elemHeight, cb) {
+ if (!this.canStick) {
+ if (cb) {
+ cb();
+ } else {
+ return false;
+ }
+ }
+ var mTop = emCalc(this.options.marginTop),
+ mBtm = emCalc(this.options.marginBottom),
+ topPoint = this.points ? this.points[0] : this.$anchor.offset().top,
+ bottomPoint = this.points ? this.points[1] : topPoint + this.anchorHeight,
+
+ // topPoint = this.$anchor.offset().top || this.points[0],
+ // bottomPoint = topPoint + this.anchorHeight || this.points[1],
+ winHeight = window.innerHeight;
+
+ if (this.options.stickTo === 'top') {
+ topPoint -= mTop;
+ bottomPoint -= elemHeight + mTop;
+ } else if (this.options.stickTo === 'bottom') {
+ topPoint -= winHeight - (elemHeight + mBtm);
+ bottomPoint -= winHeight - mBtm;
+ } else {
+ //this would be the stickTo: both option... tricky
+ }
+
+ this.topPoint = topPoint;
+ this.bottomPoint = bottomPoint;
+
+ if (cb) {
+ cb();
+ }
+ }
+
+ /**
+ * Destroys the current sticky element.
+ * Resets the element to the top position first.
+ * Removes event listeners, JS-added css properties and classes, and unwraps the $element if the JS added the $container.
+ * @function
+ */
+
+ }, {
+ key: 'destroy',
+ value: function destroy() {
+ this._removeSticky(true);
+
+ this.$element.removeClass(this.options.stickyClass + ' is-anchored is-at-top').css({
+ height: '',
+ top: '',
+ bottom: '',
+ 'max-width': ''
+ }).off('resizeme.zf.trigger');
+ if (this.$anchor && this.$anchor.length) {
+ this.$anchor.off('change.zf.sticky');
+ }
+ $(window).off(this.scrollListener);
+
+ if (this.wasWrapped) {
+ this.$element.unwrap();
+ } else {
+ this.$container.removeClass(this.options.containerClass).css({
+ height: ''
+ });
+ }
+ Foundation.unregisterPlugin(this);
+ }
+ }]);
+
+ return Sticky;
+ }();
+
+ Sticky.defaults = {
+ /**
+ * Customizable container template. Add your own classes for styling and sizing.
+ * @option
+ * @example '&lt;div data-sticky-container class="small-6 columns"&gt;&lt;/div&gt;'
+ */
+ container: '<div data-sticky-container></div>',
+ /**
+ * Location in the view the element sticks to.
+ * @option
+ * @example 'top'
+ */
+ stickTo: 'top',
+ /**
+ * If anchored to a single element, the id of that element.
+ * @option
+ * @example 'exampleId'
+ */
+ anchor: '',
+ /**
+ * If using more than one element as anchor points, the id of the top anchor.
+ * @option
+ * @example 'exampleId:top'
+ */
+ topAnchor: '',
+ /**
+ * If using more than one element as anchor points, the id of the bottom anchor.
+ * @option
+ * @example 'exampleId:bottom'
+ */
+ btmAnchor: '',
+ /**
+ * Margin, in `em`'s to apply to the top of the element when it becomes sticky.
+ * @option
+ * @example 1
+ */
+ marginTop: 1,
+ /**
+ * Margin, in `em`'s to apply to the bottom of the element when it becomes sticky.
+ * @option
+ * @example 1
+ */
+ marginBottom: 1,
+ /**
+ * Breakpoint string that is the minimum screen size an element should become sticky.
+ * @option
+ * @example 'medium'
+ */
+ stickyOn: 'medium',
+ /**
+ * Class applied to sticky element, and removed on destruction. Foundation defaults to `sticky`.
+ * @option
+ * @example 'sticky'
+ */
+ stickyClass: 'sticky',
+ /**
+ * Class applied to sticky container. Foundation defaults to `sticky-container`.
+ * @option
+ * @example 'sticky-container'
+ */
+ containerClass: 'sticky-container',
+ /**
+ * Number of scroll events between the plugin's recalculating sticky points. Setting it to `0` will cause it to recalc every scroll event, setting it to `-1` will prevent recalc on scroll.
+ * @option
+ * @example 50
+ */
+ checkEvery: -1
+ };
+
+ /**
+ * Helper function to calculate em values
+ * @param Number {em} - number of em's to calculate into pixels
+ */
+ function emCalc(em) {
+ return parseInt(window.getComputedStyle(document.body, null).fontSize, 10) * em;
+ }
+
+ // Window exports
+ Foundation.plugin(Sticky, 'Sticky');
+}(jQuery);
+'use strict';
+
+var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
+
+function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
+
+!function ($) {
+
+ /**
+ * Tabs module.
+ * @module foundation.tabs
+ * @requires foundation.util.keyboard
+ * @requires foundation.util.timerAndImageLoader if tabs contain images
+ */
+
+ var Tabs = function () {
+ /**
+ * Creates a new instance of tabs.
+ * @class
+ * @fires Tabs#init
+ * @param {jQuery} element - jQuery object to make into tabs.
+ * @param {Object} options - Overrides to the default plugin settings.
+ */
+
+ function Tabs(element, options) {
+ _classCallCheck(this, Tabs);
+
+ this.$element = element;
+ this.options = $.extend({}, Tabs.defaults, this.$element.data(), options);
+
+ this._init();
+ Foundation.registerPlugin(this, 'Tabs');
+ Foundation.Keyboard.register('Tabs', {
+ 'ENTER': 'open',
+ 'SPACE': 'open',
+ 'ARROW_RIGHT': 'next',
+ 'ARROW_UP': 'previous',
+ 'ARROW_DOWN': 'next',
+ 'ARROW_LEFT': 'previous'
+ // 'TAB': 'next',
+ // 'SHIFT_TAB': 'previous'
+ });
+ }
+
+ /**
+ * Initializes the tabs by showing and focusing (if autoFocus=true) the preset active tab.
+ * @private
+ */
+
+
+ _createClass(Tabs, [{
+ key: '_init',
+ value: function _init() {
+ var _this = this;
+
+ this.$tabTitles = this.$element.find('.' + this.options.linkClass);
+ this.$tabContent = $('[data-tabs-content="' + this.$element[0].id + '"]');
+
+ this.$tabTitles.each(function () {
+ var $elem = $(this),
+ $link = $elem.find('a'),
+ isActive = $elem.hasClass('is-active'),
+ hash = $link[0].hash.slice(1),
+ linkId = $link[0].id ? $link[0].id : hash + '-label',
+ $tabContent = $('#' + hash);
+
+ $elem.attr({ 'role': 'presentation' });
+
+ $link.attr({
+ 'role': 'tab',
+ 'aria-controls': hash,
+ 'aria-selected': isActive,
+ 'id': linkId
+ });
+
+ $tabContent.attr({
+ 'role': 'tabpanel',
+ 'aria-hidden': !isActive,
+ 'aria-labelledby': linkId
+ });
+
+ if (isActive && _this.options.autoFocus) {
+ $link.focus();
+ }
+ });
+
+ if (this.options.matchHeight) {
+ var $images = this.$tabContent.find('img');
+
+ if ($images.length) {
+ Foundation.onImagesLoaded($images, this._setHeight.bind(this));
+ } else {
+ this._setHeight();
+ }
+ }
+
+ this._events();
+ }
+
+ /**
+ * Adds event handlers for items within the tabs.
+ * @private
+ */
+
+ }, {
+ key: '_events',
+ value: function _events() {
+ this._addKeyHandler();
+ this._addClickHandler();
+ this._setHeightMqHandler = null;
+
+ if (this.options.matchHeight) {
+ this._setHeightMqHandler = this._setHeight.bind(this);
+
+ $(window).on('changed.zf.mediaquery', this._setHeightMqHandler);
+ }
+ }
+
+ /**
+ * Adds click handlers for items within the tabs.
+ * @private
+ */
+
+ }, {
+ key: '_addClickHandler',
+ value: function _addClickHandler() {
+ var _this = this;
+
+ this.$element.off('click.zf.tabs').on('click.zf.tabs', '.' + this.options.linkClass, function (e) {
+ e.preventDefault();
+ e.stopPropagation();
+ if ($(this).hasClass('is-active')) {
+ return;
+ }
+ _this._handleTabChange($(this));
+ });
+ }
+
+ /**
+ * Adds keyboard event handlers for items within the tabs.
+ * @private
+ */
+
+ }, {
+ key: '_addKeyHandler',
+ value: function _addKeyHandler() {
+ var _this = this;
+ var $firstTab = _this.$element.find('li:first-of-type');
+ var $lastTab = _this.$element.find('li:last-of-type');
+
+ this.$tabTitles.off('keydown.zf.tabs').on('keydown.zf.tabs', function (e) {
+ if (e.which === 9) return;
+
+ var $element = $(this),
+ $elements = $element.parent('ul').children('li'),
+ $prevElement,
+ $nextElement;
+
+ $elements.each(function (i) {
+ if ($(this).is($element)) {
+ if (_this.options.wrapOnKeys) {
+ $prevElement = i === 0 ? $elements.last() : $elements.eq(i - 1);
+ $nextElement = i === $elements.length - 1 ? $elements.first() : $elements.eq(i + 1);
+ } else {
+ $prevElement = $elements.eq(Math.max(0, i - 1));
+ $nextElement = $elements.eq(Math.min(i + 1, $elements.length - 1));
+ }
+ return;
+ }
+ });
+
+ // handle keyboard event with keyboard util
+ Foundation.Keyboard.handleKey(e, 'Tabs', {
+ open: function () {
+ $element.find('[role="tab"]').focus();
+ _this._handleTabChange($element);
+ },
+ previous: function () {
+ $prevElement.find('[role="tab"]').focus();
+ _this._handleTabChange($prevElement);
+ },
+ next: function () {
+ $nextElement.find('[role="tab"]').focus();
+ _this._handleTabChange($nextElement);
+ },
+ handled: function () {
+ e.stopPropagation();
+ e.preventDefault();
+ }
+ });
+ });
+ }
+
+ /**
+ * Opens the tab `$targetContent` defined by `$target`.
+ * @param {jQuery} $target - Tab to open.
+ * @fires Tabs#change
+ * @function
+ */
+
+ }, {
+ key: '_handleTabChange',
+ value: function _handleTabChange($target) {
+ var $tabLink = $target.find('[role="tab"]'),
+ hash = $tabLink[0].hash,
+ $targetContent = this.$tabContent.find(hash),
+ $oldTab = this.$element.find('.' + this.options.linkClass + '.is-active').removeClass('is-active').find('[role="tab"]').attr({ 'aria-selected': 'false' });
+
+ $('#' + $oldTab.attr('aria-controls')).removeClass('is-active').attr({ 'aria-hidden': 'true' });
+
+ $target.addClass('is-active');
+
+ $tabLink.attr({ 'aria-selected': 'true' });
+
+ $targetContent.addClass('is-active').attr({ 'aria-hidden': 'false' });
+
+ /**
+ * Fires when the plugin has successfully changed tabs.
+ * @event Tabs#change
+ */
+ this.$element.trigger('change.zf.tabs', [$target]);
+ }
+
+ /**
+ * Public method for selecting a content pane to display.
+ * @param {jQuery | String} elem - jQuery object or string of the id of the pane to display.
+ * @function
+ */
+
+ }, {
+ key: 'selectTab',
+ value: function selectTab(elem) {
+ var idStr;
+
+ if (typeof elem === 'object') {
+ idStr = elem[0].id;
+ } else {
+ idStr = elem;
+ }
+
+ if (idStr.indexOf('#') < 0) {
+ idStr = '#' + idStr;
+ }
+
+ var $target = this.$tabTitles.find('[href="' + idStr + '"]').parent('.' + this.options.linkClass);
+
+ this._handleTabChange($target);
+ }
+ }, {
+ key: '_setHeight',
+
+ /**
+ * Sets the height of each panel to the height of the tallest panel.
+ * If enabled in options, gets called on media query change.
+ * If loading content via external source, can be called directly or with _reflow.
+ * @function
+ * @private
+ */
+ value: function _setHeight() {
+ var max = 0;
+ this.$tabContent.find('.' + this.options.panelClass).css('height', '').each(function () {
+ var panel = $(this),
+ isActive = panel.hasClass('is-active');
+
+ if (!isActive) {
+ panel.css({ 'visibility': 'hidden', 'display': 'block' });
+ }
+
+ var temp = this.getBoundingClientRect().height;
+
+ if (!isActive) {
+ panel.css({
+ 'visibility': '',
+ 'display': ''
+ });
+ }
+
+ max = temp > max ? temp : max;
+ }).css('height', max + 'px');
+ }
+
+ /**
+ * Destroys an instance of an tabs.
+ * @fires Tabs#destroyed
+ */
+
+ }, {
+ key: 'destroy',
+ value: function destroy() {
+ this.$element.find('.' + this.options.linkClass).off('.zf.tabs').hide().end().find('.' + this.options.panelClass).hide();
+
+ if (this.options.matchHeight) {
+ if (this._setHeightMqHandler != null) {
+ $(window).off('changed.zf.mediaquery', this._setHeightMqHandler);
+ }
+ }
+
+ Foundation.unregisterPlugin(this);
+ }
+ }]);
+
+ return Tabs;
+ }();
+
+ Tabs.defaults = {
+ /**
+ * Allows the window to scroll to content of active pane on load if set to true.
+ * @option
+ * @example false
+ */
+ autoFocus: false,
+
+ /**
+ * Allows keyboard input to 'wrap' around the tab links.
+ * @option
+ * @example true
+ */
+ wrapOnKeys: true,
+
+ /**
+ * Allows the tab content panes to match heights if set to true.
+ * @option
+ * @example false
+ */
+ matchHeight: false,
+
+ /**
+ * Class applied to `li`'s in tab link list.
+ * @option
+ * @example 'tabs-title'
+ */
+ linkClass: 'tabs-title',
+
+ /**
+ * Class applied to the content containers.
+ * @option
+ * @example 'tabs-panel'
+ */
+ panelClass: 'tabs-panel'
+ };
+
+ function checkClass($elem) {
+ return $elem.hasClass('is-active');
+ }
+
+ // Window exports
+ Foundation.plugin(Tabs, 'Tabs');
+}(jQuery);
+'use strict';
+
+var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
+
+function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
+
+!function ($) {
+
+ /**
+ * Toggler module.
+ * @module foundation.toggler
+ * @requires foundation.util.motion
+ * @requires foundation.util.triggers
+ */
+
+ var Toggler = function () {
+ /**
+ * Creates a new instance of Toggler.
+ * @class
+ * @fires Toggler#init
+ * @param {Object} element - jQuery object to add the trigger to.
+ * @param {Object} options - Overrides to the default plugin settings.
+ */
+
+ function Toggler(element, options) {
+ _classCallCheck(this, Toggler);
+
+ this.$element = element;
+ this.options = $.extend({}, Toggler.defaults, element.data(), options);
+ this.className = '';
+
+ this._init();
+ this._events();
+
+ Foundation.registerPlugin(this, 'Toggler');
+ }
+
+ /**
+ * Initializes the Toggler plugin by parsing the toggle class from data-toggler, or animation classes from data-animate.
+ * @function
+ * @private
+ */
+
+
+ _createClass(Toggler, [{
+ key: '_init',
+ value: function _init() {
+ var input;
+ // Parse animation classes if they were set
+ if (this.options.animate) {
+ input = this.options.animate.split(' ');
+
+ this.animationIn = input[0];
+ this.animationOut = input[1] || null;
+ }
+ // Otherwise, parse toggle class
+ else {
+ input = this.$element.data('toggler');
+ // Allow for a . at the beginning of the string
+ this.className = input[0] === '.' ? input.slice(1) : input;
+ }
+
+ // Add ARIA attributes to triggers
+ var id = this.$element[0].id;
+ $('[data-open="' + id + '"], [data-close="' + id + '"], [data-toggle="' + id + '"]').attr('aria-controls', id);
+ // If the target is hidden, add aria-hidden
+ this.$element.attr('aria-expanded', this.$element.is(':hidden') ? false : true);
+ }
+
+ /**
+ * Initializes events for the toggle trigger.
+ * @function
+ * @private
+ */
+
+ }, {
+ key: '_events',
+ value: function _events() {
+ this.$element.off('toggle.zf.trigger').on('toggle.zf.trigger', this.toggle.bind(this));
+ }
+
+ /**
+ * Toggles the target class on the target element. An event is fired from the original trigger depending on if the resultant state was "on" or "off".
+ * @function
+ * @fires Toggler#on
+ * @fires Toggler#off
+ */
+
+ }, {
+ key: 'toggle',
+ value: function toggle() {
+ this[this.options.animate ? '_toggleAnimate' : '_toggleClass']();
+ }
+ }, {
+ key: '_toggleClass',
+ value: function _toggleClass() {
+ this.$element.toggleClass(this.className);
+
+ var isOn = this.$element.hasClass(this.className);
+ if (isOn) {
+ /**
+ * Fires if the target element has the class after a toggle.
+ * @event Toggler#on
+ */
+ this.$element.trigger('on.zf.toggler');
+ } else {
+ /**
+ * Fires if the target element does not have the class after a toggle.
+ * @event Toggler#off
+ */
+ this.$element.trigger('off.zf.toggler');
+ }
+
+ this._updateARIA(isOn);
+ }
+ }, {
+ key: '_toggleAnimate',
+ value: function _toggleAnimate() {
+ var _this = this;
+
+ if (this.$element.is(':hidden')) {
+ Foundation.Motion.animateIn(this.$element, this.animationIn, function () {
+ _this._updateARIA(true);
+ this.trigger('on.zf.toggler');
+ });
+ } else {
+ Foundation.Motion.animateOut(this.$element, this.animationOut, function () {
+ _this._updateARIA(false);
+ this.trigger('off.zf.toggler');
+ });
+ }
+ }
+ }, {
+ key: '_updateARIA',
+ value: function _updateARIA(isOn) {
+ this.$element.attr('aria-expanded', isOn ? true : false);
+ }
+
+ /**
+ * Destroys the instance of Toggler on the element.
+ * @function
+ */
+
+ }, {
+ key: 'destroy',
+ value: function destroy() {
+ this.$element.off('.zf.toggler');
+ Foundation.unregisterPlugin(this);
+ }
+ }]);
+
+ return Toggler;
+ }();
+
+ Toggler.defaults = {
+ /**
+ * Tells the plugin if the element should animated when toggled.
+ * @option
+ * @example false
+ */
+ animate: false
+ };
+
+ // Window exports
+ Foundation.plugin(Toggler, 'Toggler');
+}(jQuery);
+'use strict';
+
+var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
+
+function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
+
+!function ($) {
+
+ /**
+ * Tooltip module.
+ * @module foundation.tooltip
+ * @requires foundation.util.box
+ * @requires foundation.util.triggers
+ */
+
+ var Tooltip = function () {
+ /**
+ * Creates a new instance of a Tooltip.
+ * @class
+ * @fires Tooltip#init
+ * @param {jQuery} element - jQuery object to attach a tooltip to.
+ * @param {Object} options - object to extend the default configuration.
+ */
+
+ function Tooltip(element, options) {
+ _classCallCheck(this, Tooltip);
+
+ this.$element = element;
+ this.options = $.extend({}, Tooltip.defaults, this.$element.data(), options);
+
+ this.isActive = false;
+ this.isClick = false;
+ this._init();
+
+ Foundation.registerPlugin(this, 'Tooltip');
+ }
+
+ /**
+ * Initializes the tooltip by setting the creating the tip element, adding it's text, setting private variables and setting attributes on the anchor.
+ * @private
+ */
+
+
+ _createClass(Tooltip, [{
+ key: '_init',
+ value: function _init() {
+ var elemId = this.$element.attr('aria-describedby') || Foundation.GetYoDigits(6, 'tooltip');
+
+ this.options.positionClass = this.options.positionClass || this._getPositionClass(this.$element);
+ this.options.tipText = this.options.tipText || this.$element.attr('title');
+ this.template = this.options.template ? $(this.options.template) : this._buildTemplate(elemId);
+
+ this.template.appendTo(document.body).text(this.options.tipText).hide();
+
+ this.$element.attr({
+ 'title': '',
+ 'aria-describedby': elemId,
+ 'data-yeti-box': elemId,
+ 'data-toggle': elemId,
+ 'data-resize': elemId
+ }).addClass(this.triggerClass);
+
+ //helper variables to track movement on collisions
+ this.usedPositions = [];
+ this.counter = 4;
+ this.classChanged = false;
+
+ this._events();
+ }
+
+ /**
+ * Grabs the current positioning class, if present, and returns the value or an empty string.
+ * @private
+ */
+
+ }, {
+ key: '_getPositionClass',
+ value: function _getPositionClass(element) {
+ if (!element) {
+ return '';
+ }
+ // var position = element.attr('class').match(/top|left|right/g);
+ var position = element[0].className.match(/\b(top|left|right)\b/g);
+ position = position ? position[0] : '';
+ return position;
+ }
+ }, {
+ key: '_buildTemplate',
+
+ /**
+ * builds the tooltip element, adds attributes, and returns the template.
+ * @private
+ */
+ value: function _buildTemplate(id) {
+ var templateClasses = (this.options.tooltipClass + ' ' + this.options.positionClass + ' ' + this.options.templateClasses).trim();
+ var $template = $('<div></div>').addClass(templateClasses).attr({
+ 'role': 'tooltip',
+ 'aria-hidden': true,
+ 'data-is-active': false,
+ 'data-is-focus': false,
+ 'id': id
+ });
+ return $template;
+ }
+
+ /**
+ * Function that gets called if a collision event is detected.
+ * @param {String} position - positioning class to try
+ * @private
+ */
+
+ }, {
+ key: '_reposition',
+ value: function _reposition(position) {
+ this.usedPositions.push(position ? position : 'bottom');
+
+ //default, try switching to opposite side
+ if (!position && this.usedPositions.indexOf('top') < 0) {
+ this.template.addClass('top');
+ } else if (position === 'top' && this.usedPositions.indexOf('bottom') < 0) {
+ this.template.removeClass(position);
+ } else if (position === 'left' && this.usedPositions.indexOf('right') < 0) {
+ this.template.removeClass(position).addClass('right');
+ } else if (position === 'right' && this.usedPositions.indexOf('left') < 0) {
+ this.template.removeClass(position).addClass('left');
+ }
+
+ //if default change didn't work, try bottom or left first
+ else if (!position && this.usedPositions.indexOf('top') > -1 && this.usedPositions.indexOf('left') < 0) {
+ this.template.addClass('left');
+ } else if (position === 'top' && this.usedPositions.indexOf('bottom') > -1 && this.usedPositions.indexOf('left') < 0) {
+ this.template.removeClass(position).addClass('left');
+ } else if (position === 'left' && this.usedPositions.indexOf('right') > -1 && this.usedPositions.indexOf('bottom') < 0) {
+ this.template.removeClass(position);
+ } else if (position === 'right' && this.usedPositions.indexOf('left') > -1 && this.usedPositions.indexOf('bottom') < 0) {
+ this.template.removeClass(position);
+ }
+ //if nothing cleared, set to bottom
+ else {
+ this.template.removeClass(position);
+ }
+ this.classChanged = true;
+ this.counter--;
+ }
+
+ /**
+ * sets the position class of an element and recursively calls itself until there are no more possible positions to attempt, or the tooltip element is no longer colliding.
+ * if the tooltip is larger than the screen width, default to full width - any user selected margin
+ * @private
+ */
+
+ }, {
+ key: '_setPosition',
+ value: function _setPosition() {
+ var position = this._getPositionClass(this.template),
+ $tipDims = Foundation.Box.GetDimensions(this.template),
+ $anchorDims = Foundation.Box.GetDimensions(this.$element),
+ direction = position === 'left' ? 'left' : position === 'right' ? 'left' : 'top',
+ param = direction === 'top' ? 'height' : 'width',
+ offset = param === 'height' ? this.options.vOffset : this.options.hOffset,
+ _this = this;
+
+ if ($tipDims.width >= $tipDims.windowDims.width || !this.counter && !Foundation.Box.ImNotTouchingYou(this.template)) {
+ this.template.offset(Foundation.Box.GetOffsets(this.template, this.$element, 'center bottom', this.options.vOffset, this.options.hOffset, true)).css({
+ // this.$element.offset(Foundation.GetOffsets(this.template, this.$element, 'center bottom', this.options.vOffset, this.options.hOffset, true)).css({
+ 'width': $anchorDims.windowDims.width - this.options.hOffset * 2,
+ 'height': 'auto'
+ });
+ return false;
+ }
+
+ this.template.offset(Foundation.Box.GetOffsets(this.template, this.$element, 'center ' + (position || 'bottom'), this.options.vOffset, this.options.hOffset));
+
+ while (!Foundation.Box.ImNotTouchingYou(this.template) && this.counter) {
+ this._reposition(position);
+ this._setPosition();
+ }
+ }
+
+ /**
+ * reveals the tooltip, and fires an event to close any other open tooltips on the page
+ * @fires Tooltip#closeme
+ * @fires Tooltip#show
+ * @function
+ */
+
+ }, {
+ key: 'show',
+ value: function show() {
+ if (this.options.showOn !== 'all' && !Foundation.MediaQuery.atLeast(this.options.showOn)) {
+ // console.error('The screen is too small to display this tooltip');
+ return false;
+ }
+
+ var _this = this;
+ this.template.css('visibility', 'hidden').show();
+ this._setPosition();
+
+ /**
+ * Fires to close all other open tooltips on the page
+ * @event Closeme#tooltip
+ */
+ this.$element.trigger('closeme.zf.tooltip', this.template.attr('id'));
+
+ this.template.attr({
+ 'data-is-active': true,
+ 'aria-hidden': false
+ });
+ _this.isActive = true;
+ // console.log(this.template);
+ this.template.stop().hide().css('visibility', '').fadeIn(this.options.fadeInDuration, function () {
+ //maybe do stuff?
+ });
+ /**
+ * Fires when the tooltip is shown
+ * @event Tooltip#show
+ */
+ this.$element.trigger('show.zf.tooltip');
+ }
+
+ /**
+ * Hides the current tooltip, and resets the positioning class if it was changed due to collision
+ * @fires Tooltip#hide
+ * @function
+ */
+
+ }, {
+ key: 'hide',
+ value: function hide() {
+ // console.log('hiding', this.$element.data('yeti-box'));
+ var _this = this;
+ this.template.stop().attr({
+ 'aria-hidden': true,
+ 'data-is-active': false
+ }).fadeOut(this.options.fadeOutDuration, function () {
+ _this.isActive = false;
+ _this.isClick = false;
+ if (_this.classChanged) {
+ _this.template.removeClass(_this._getPositionClass(_this.template)).addClass(_this.options.positionClass);
+
+ _this.usedPositions = [];
+ _this.counter = 4;
+ _this.classChanged = false;
+ }
+ });
+ /**
+ * fires when the tooltip is hidden
+ * @event Tooltip#hide
+ */
+ this.$element.trigger('hide.zf.tooltip');
+ }
+
+ /**
+ * adds event listeners for the tooltip and its anchor
+ * TODO combine some of the listeners like focus and mouseenter, etc.
+ * @private
+ */
+
+ }, {
+ key: '_events',
+ value: function _events() {
+ var _this = this;
+ var $template = this.template;
+ var isFocus = false;
+
+ if (!this.options.disableHover) {
+
+ this.$element.on('mouseenter.zf.tooltip', function (e) {
+ if (!_this.isActive) {
+ _this.timeout = setTimeout(function () {
+ _this.show();
+ }, _this.options.hoverDelay);
+ }
+ }).on('mouseleave.zf.tooltip', function (e) {
+ clearTimeout(_this.timeout);
+ if (!isFocus || _this.isClick && !_this.options.clickOpen) {
+ _this.hide();
+ }
+ });
+ }
+
+ if (this.options.clickOpen) {
+ this.$element.on('mousedown.zf.tooltip', function (e) {
+ e.stopImmediatePropagation();
+ if (_this.isClick) {
+ //_this.hide();
+ // _this.isClick = false;
+ } else {
+ _this.isClick = true;
+ if ((_this.options.disableHover || !_this.$element.attr('tabindex')) && !_this.isActive) {
+ _this.show();
+ }
+ }
+ });
+ } else {
+ this.$element.on('mousedown.zf.tooltip', function (e) {
+ e.stopImmediatePropagation();
+ _this.isClick = true;
+ });
+ }
+
+ if (!this.options.disableForTouch) {
+ this.$element.on('tap.zf.tooltip touchend.zf.tooltip', function (e) {
+ _this.isActive ? _this.hide() : _this.show();
+ });
+ }
+
+ this.$element.on({
+ // 'toggle.zf.trigger': this.toggle.bind(this),
+ // 'close.zf.trigger': this.hide.bind(this)
+ 'close.zf.trigger': this.hide.bind(this)
+ });
+
+ this.$element.on('focus.zf.tooltip', function (e) {
+ isFocus = true;
+ if (_this.isClick) {
+ // If we're not showing open on clicks, we need to pretend a click-launched focus isn't
+ // a real focus, otherwise on hover and come back we get bad behavior
+ if (!_this.options.clickOpen) {
+ isFocus = false;
+ }
+ return false;
+ } else {
+ _this.show();
+ }
+ }).on('focusout.zf.tooltip', function (e) {
+ isFocus = false;
+ _this.isClick = false;
+ _this.hide();
+ }).on('resizeme.zf.trigger', function () {
+ if (_this.isActive) {
+ _this._setPosition();
+ }
+ });
+ }
+
+ /**
+ * adds a toggle method, in addition to the static show() & hide() functions
+ * @function
+ */
+
+ }, {
+ key: 'toggle',
+ value: function toggle() {
+ if (this.isActive) {
+ this.hide();
+ } else {
+ this.show();
+ }
+ }
+
+ /**
+ * Destroys an instance of tooltip, removes template element from the view.
+ * @function
+ */
+
+ }, {
+ key: 'destroy',
+ value: function destroy() {
+ this.$element.attr('title', this.template.text()).off('.zf.trigger .zf.tootip')
+ // .removeClass('has-tip')
+ .removeAttr('aria-describedby').removeAttr('data-yeti-box').removeAttr('data-toggle').removeAttr('data-resize');
+
+ this.template.remove();
+
+ Foundation.unregisterPlugin(this);
+ }
+ }]);
+
+ return Tooltip;
+ }();
+
+ Tooltip.defaults = {
+ disableForTouch: false,
+ /**
+ * Time, in ms, before a tooltip should open on hover.
+ * @option
+ * @example 200
+ */
+ hoverDelay: 200,
+ /**
+ * Time, in ms, a tooltip should take to fade into view.
+ * @option
+ * @example 150
+ */
+ fadeInDuration: 150,
+ /**
+ * Time, in ms, a tooltip should take to fade out of view.
+ * @option
+ * @example 150
+ */
+ fadeOutDuration: 150,
+ /**
+ * Disables hover events from opening the tooltip if set to true
+ * @option
+ * @example false
+ */
+ disableHover: false,
+ /**
+ * Optional addtional classes to apply to the tooltip template on init.
+ * @option
+ * @example 'my-cool-tip-class'
+ */
+ templateClasses: '',
+ /**
+ * Non-optional class added to tooltip templates. Foundation default is 'tooltip'.
+ * @option
+ * @example 'tooltip'
+ */
+ tooltipClass: 'tooltip',
+ /**
+ * Class applied to the tooltip anchor element.
+ * @option
+ * @example 'has-tip'
+ */
+ triggerClass: 'has-tip',
+ /**
+ * Minimum breakpoint size at which to open the tooltip.
+ * @option
+ * @example 'small'
+ */
+ showOn: 'small',
+ /**
+ * Custom template to be used to generate markup for tooltip.
+ * @option
+ * @example '&lt;div class="tooltip"&gt;&lt;/div&gt;'
+ */
+ template: '',
+ /**
+ * Text displayed in the tooltip template on open.
+ * @option
+ * @example 'Some cool space fact here.'
+ */
+ tipText: '',
+ touchCloseText: 'Tap to close.',
+ /**
+ * Allows the tooltip to remain open if triggered with a click or touch event.
+ * @option
+ * @example true
+ */
+ clickOpen: true,
+ /**
+ * Additional positioning classes, set by the JS
+ * @option
+ * @example 'top'
+ */
+ positionClass: '',
+ /**
+ * Distance, in pixels, the template should push away from the anchor on the Y axis.
+ * @option
+ * @example 10
+ */
+ vOffset: 10,
+ /**
+ * Distance, in pixels, the template should push away from the anchor on the X axis, if aligned to a side.
+ * @option
+ * @example 12
+ */
+ hOffset: 12
+ };
+
+ /**
+ * TODO utilize resize event trigger
+ */
+
+ // Window exports
+ Foundation.plugin(Tooltip, 'Tooltip');
+}(jQuery);
diff --git a/library/foundation/js/foundation/foundation.abide.js b/library/foundation/js/foundation/foundation.abide.js
deleted file mode 100644
index c84960c2c..000000000
--- a/library/foundation/js/foundation/foundation.abide.js
+++ /dev/null
@@ -1,408 +0,0 @@
-;(function ($, window, document, undefined) {
- 'use strict';
-
- Foundation.libs.abide = {
- name : 'abide',
-
- version : '5.5.2',
-
- settings : {
- live_validate : true,
- validate_on_blur : true,
- // validate_on: 'tab', // tab (when user tabs between fields), change (input changes), manual (call custom events)
- focus_on_invalid : true,
- error_labels : true, // labels with a for="inputId" will recieve an `error` class
- error_class : 'error',
- timeout : 1000,
- patterns : {
- alpha : /^[a-zA-Z]+$/,
- alpha_numeric : /^[a-zA-Z0-9]+$/,
- integer : /^[-+]?\d+$/,
- number : /^[-+]?\d*(?:[\.\,]\d+)?$/,
-
- // amex, visa, diners
- card : /^(?:4[0-9]{12}(?:[0-9]{3})?|5[1-5][0-9]{14}|6(?:011|5[0-9][0-9])[0-9]{12}|3[47][0-9]{13}|3(?:0[0-5]|[68][0-9])[0-9]{11}|(?:2131|1800|35\d{3})\d{11})$/,
- cvv : /^([0-9]){3,4}$/,
-
- // http://www.whatwg.org/specs/web-apps/current-work/multipage/states-of-the-type-attribute.html#valid-e-mail-address
- email : /^[a-zA-Z0-9.!#$%&'*+\/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+$/,
-
- // http://blogs.lse.ac.uk/lti/2008/04/23/a-regular-expression-to-match-any-url/
- url: /^(https?|ftp|file|ssh):\/\/([-;:&=\+\$,\w]+@{1})?([-A-Za-z0-9\.]+)+:?(\d+)?((\/[-\+~%\/\.\w]+)?\??([-\+=&;%@\.\w]+)?#?([\w]+)?)?/,
- // abc.de
- domain : /^([a-zA-Z0-9]([a-zA-Z0-9\-]{0,61}[a-zA-Z0-9])?\.)+[a-zA-Z]{2,8}$/,
-
- datetime : /^([0-2][0-9]{3})\-([0-1][0-9])\-([0-3][0-9])T([0-5][0-9])\:([0-5][0-9])\:([0-5][0-9])(Z|([\-\+]([0-1][0-9])\:00))$/,
- // YYYY-MM-DD
- date : /(?:19|20)[0-9]{2}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1[0-9]|2[0-9])|(?:(?!02)(?:0[1-9]|1[0-2])-(?:30))|(?:(?:0[13578]|1[02])-31))$/,
- // HH:MM:SS
- time : /^(0[0-9]|1[0-9]|2[0-3])(:[0-5][0-9]){2}$/,
- dateISO : /^\d{4}[\/\-]\d{1,2}[\/\-]\d{1,2}$/,
- // MM/DD/YYYY
- month_day_year : /^(0[1-9]|1[012])[- \/.](0[1-9]|[12][0-9]|3[01])[- \/.]\d{4}$/,
- // DD/MM/YYYY
- day_month_year : /^(0[1-9]|[12][0-9]|3[01])[- \/.](0[1-9]|1[012])[- \/.]\d{4}$/,
-
- // #FFF or #FFFFFF
- color : /^#?([a-fA-F0-9]{6}|[a-fA-F0-9]{3})$/
- },
- validators : {
- equalTo : function (el, required, parent) {
- var from = document.getElementById(el.getAttribute(this.add_namespace('data-equalto'))).value,
- to = el.value,
- valid = (from === to);
-
- return valid;
- }
- }
- },
-
- timer : null,
-
- init : function (scope, method, options) {
- this.bindings(method, options);
- },
-
- events : function (scope) {
- var self = this,
- form = self.S(scope).attr('novalidate', 'novalidate'),
- settings = form.data(this.attr_name(true) + '-init') || {};
-
- this.invalid_attr = this.add_namespace('data-invalid');
-
- function validate(originalSelf, e) {
- clearTimeout(self.timer);
- self.timer = setTimeout(function () {
- self.validate([originalSelf], e);
- }.bind(originalSelf), settings.timeout);
- }
-
-
- form
- .off('.abide')
- .on('submit.fndtn.abide', function (e) {
- var is_ajax = /ajax/i.test(self.S(this).attr(self.attr_name()));
- return self.validate(self.S(this).find('input, textarea, select').not(":hidden, [data-abide-ignore]").get(), e, is_ajax);
- })
- .on('validate.fndtn.abide', function (e) {
- if (settings.validate_on === 'manual') {
- self.validate([e.target], e);
- }
- })
- .on('reset', function (e) {
- return self.reset($(this), e);
- })
- .find('input, textarea, select').not(":hidden, [data-abide-ignore]")
- .off('.abide')
- .on('blur.fndtn.abide change.fndtn.abide', function (e) {
- // old settings fallback
- // will be deprecated with F6 release
- if (settings.validate_on_blur && settings.validate_on_blur === true) {
- validate(this, e);
- }
- // new settings combining validate options into one setting
- if (settings.validate_on === 'change') {
- validate(this, e);
- }
- })
- .on('keydown.fndtn.abide', function (e) {
- // old settings fallback
- // will be deprecated with F6 release
- if (settings.live_validate && settings.live_validate === true && e.which != 9) {
- validate(this, e);
- }
- // new settings combining validate options into one setting
- if (settings.validate_on === 'tab' && e.which === 9) {
- validate(this, e);
- }
- else if (settings.validate_on === 'change') {
- validate(this, e);
- }
- })
- .on('focus', function (e) {
- if (navigator.userAgent.match(/iPad|iPhone|Android|BlackBerry|Windows Phone|webOS/i)) {
- $('html, body').animate({
- scrollTop: $(e.target).offset().top
- }, 100);
- }
- });
- },
-
- reset : function (form, e) {
- var self = this;
- form.removeAttr(self.invalid_attr);
-
- $('[' + self.invalid_attr + ']', form).removeAttr(self.invalid_attr);
- $('.' + self.settings.error_class, form).not('small').removeClass(self.settings.error_class);
- $(':input', form).not(':button, :submit, :reset, :hidden, [data-abide-ignore]').val('').removeAttr(self.invalid_attr);
- },
-
- validate : function (els, e, is_ajax) {
- var validations = this.parse_patterns(els),
- validation_count = validations.length,
- form = this.S(els[0]).closest('form'),
- submit_event = /submit/.test(e.type);
-
- // Has to count up to make sure the focus gets applied to the top error
- for (var i = 0; i < validation_count; i++) {
- if (!validations[i] && (submit_event || is_ajax)) {
- if (this.settings.focus_on_invalid) {
- els[i].focus();
- }
- form.trigger('invalid.fndtn.abide');
- this.S(els[i]).closest('form').attr(this.invalid_attr, '');
- return false;
- }
- }
-
- if (submit_event || is_ajax) {
- form.trigger('valid.fndtn.abide');
- }
-
- form.removeAttr(this.invalid_attr);
-
- if (is_ajax) {
- return false;
- }
-
- return true;
- },
-
- parse_patterns : function (els) {
- var i = els.length,
- el_patterns = [];
-
- while (i--) {
- el_patterns.push(this.pattern(els[i]));
- }
-
- return this.check_validation_and_apply_styles(el_patterns);
- },
-
- pattern : function (el) {
- var type = el.getAttribute('type'),
- required = typeof el.getAttribute('required') === 'string';
-
- var pattern = el.getAttribute('pattern') || '';
-
- if (this.settings.patterns.hasOwnProperty(pattern) && pattern.length > 0) {
- return [el, this.settings.patterns[pattern], required];
- } else if (pattern.length > 0) {
- return [el, new RegExp(pattern), required];
- }
-
- if (this.settings.patterns.hasOwnProperty(type)) {
- return [el, this.settings.patterns[type], required];
- }
-
- pattern = /.*/;
-
- return [el, pattern, required];
- },
-
- // TODO: Break this up into smaller methods, getting hard to read.
- check_validation_and_apply_styles : function (el_patterns) {
- var i = el_patterns.length,
- validations = [],
- form = this.S(el_patterns[0][0]).closest('[data-' + this.attr_name(true) + ']'),
- settings = form.data(this.attr_name(true) + '-init') || {};
- while (i--) {
- var el = el_patterns[i][0],
- required = el_patterns[i][2],
- value = el.value.trim(),
- direct_parent = this.S(el).parent(),
- validator = el.getAttribute(this.add_namespace('data-abide-validator')),
- is_radio = el.type === 'radio',
- is_checkbox = el.type === 'checkbox',
- label = this.S('label[for="' + el.getAttribute('id') + '"]'),
- valid_length = (required) ? (el.value.length > 0) : true,
- el_validations = [];
-
- var parent, valid;
-
- // support old way to do equalTo validations
- if (el.getAttribute(this.add_namespace('data-equalto'))) { validator = 'equalTo' }
-
- if (!direct_parent.is('label')) {
- parent = direct_parent;
- } else {
- parent = direct_parent.parent();
- }
-
- if (is_radio && required) {
- el_validations.push(this.valid_radio(el, required));
- } else if (is_checkbox && required) {
- el_validations.push(this.valid_checkbox(el, required));
-
- } else if (validator) {
- // Validate using each of the specified (space-delimited) validators.
- var validators = validator.split(' ');
- var last_valid = true, all_valid = true;
- for (var iv = 0; iv < validators.length; iv++) {
- valid = this.settings.validators[validators[iv]].apply(this, [el, required, parent])
- el_validations.push(valid);
- all_valid = valid && last_valid;
- last_valid = valid;
- }
- if (all_valid) {
- this.S(el).removeAttr(this.invalid_attr);
- parent.removeClass('error');
- if (label.length > 0 && this.settings.error_labels) {
- label.removeClass(this.settings.error_class).removeAttr('role');
- }
- $(el).triggerHandler('valid');
- } else {
- this.S(el).attr(this.invalid_attr, '');
- parent.addClass('error');
- if (label.length > 0 && this.settings.error_labels) {
- label.addClass(this.settings.error_class).attr('role', 'alert');
- }
- $(el).triggerHandler('invalid');
- }
- } else {
-
- if (el_patterns[i][1].test(value) && valid_length ||
- !required && el.value.length < 1 || $(el).attr('disabled')) {
- el_validations.push(true);
- } else {
- el_validations.push(false);
- }
-
- el_validations = [el_validations.every(function (valid) {return valid;})];
- if (el_validations[0]) {
- this.S(el).removeAttr(this.invalid_attr);
- el.setAttribute('aria-invalid', 'false');
- el.removeAttribute('aria-describedby');
- parent.removeClass(this.settings.error_class);
- if (label.length > 0 && this.settings.error_labels) {
- label.removeClass(this.settings.error_class).removeAttr('role');
- }
- $(el).triggerHandler('valid');
- } else {
- this.S(el).attr(this.invalid_attr, '');
- el.setAttribute('aria-invalid', 'true');
-
- // Try to find the error associated with the input
- var errorElem = parent.find('small.' + this.settings.error_class, 'span.' + this.settings.error_class);
- var errorID = errorElem.length > 0 ? errorElem[0].id : '';
- if (errorID.length > 0) {
- el.setAttribute('aria-describedby', errorID);
- }
-
- // el.setAttribute('aria-describedby', $(el).find('.error')[0].id);
- parent.addClass(this.settings.error_class);
- if (label.length > 0 && this.settings.error_labels) {
- label.addClass(this.settings.error_class).attr('role', 'alert');
- }
- $(el).triggerHandler('invalid');
- }
- }
- validations = validations.concat(el_validations);
- }
- return validations;
- },
-
- valid_checkbox : function (el, required) {
- var el = this.S(el),
- valid = (el.is(':checked') || !required || el.get(0).getAttribute('disabled'));
-
- if (valid) {
- el.removeAttr(this.invalid_attr).parent().removeClass(this.settings.error_class);
- $(el).triggerHandler('valid');
- } else {
- el.attr(this.invalid_attr, '').parent().addClass(this.settings.error_class);
- $(el).triggerHandler('invalid');
- }
-
- return valid;
- },
-
- valid_radio : function (el, required) {
- var name = el.getAttribute('name'),
- group = this.S(el).closest('[data-' + this.attr_name(true) + ']').find("[name='" + name + "']"),
- count = group.length,
- valid = false,
- disabled = false;
-
- // Has to count up to make sure the focus gets applied to the top error
- for (var i=0; i < count; i++) {
- if( group[i].getAttribute('disabled') ){
- disabled=true;
- valid=true;
- } else {
- if (group[i].checked){
- valid = true;
- } else {
- if( disabled ){
- valid = false;
- }
- }
- }
- }
-
- // Has to count up to make sure the focus gets applied to the top error
- for (var i = 0; i < count; i++) {
- if (valid) {
- this.S(group[i]).removeAttr(this.invalid_attr).parent().removeClass(this.settings.error_class);
- $(group[i]).triggerHandler('valid');
- } else {
- this.S(group[i]).attr(this.invalid_attr, '').parent().addClass(this.settings.error_class);
- $(group[i]).triggerHandler('invalid');
- }
- }
-
- return valid;
- },
-
- valid_equal : function (el, required, parent) {
- var from = document.getElementById(el.getAttribute(this.add_namespace('data-equalto'))).value,
- to = el.value,
- valid = (from === to);
-
- if (valid) {
- this.S(el).removeAttr(this.invalid_attr);
- parent.removeClass(this.settings.error_class);
- if (label.length > 0 && settings.error_labels) {
- label.removeClass(this.settings.error_class);
- }
- } else {
- this.S(el).attr(this.invalid_attr, '');
- parent.addClass(this.settings.error_class);
- if (label.length > 0 && settings.error_labels) {
- label.addClass(this.settings.error_class);
- }
- }
-
- return valid;
- },
-
- valid_oneof : function (el, required, parent, doNotValidateOthers) {
- var el = this.S(el),
- others = this.S('[' + this.add_namespace('data-oneof') + ']'),
- valid = others.filter(':checked').length > 0;
-
- if (valid) {
- el.removeAttr(this.invalid_attr).parent().removeClass(this.settings.error_class);
- } else {
- el.attr(this.invalid_attr, '').parent().addClass(this.settings.error_class);
- }
-
- if (!doNotValidateOthers) {
- var _this = this;
- others.each(function () {
- _this.valid_oneof.call(_this, this, null, null, true);
- });
- }
-
- return valid;
- },
-
- reflow : function(scope, options) {
- var self = this,
- form = self.S('[' + this.attr_name() + ']').attr('novalidate', 'novalidate');
- self.S(form).each(function (idx, el) {
- self.events(el);
- });
- }
- };
-}(jQuery, window, window.document));
diff --git a/library/foundation/js/foundation/foundation.accordion.js b/library/foundation/js/foundation/foundation.accordion.js
deleted file mode 100644
index 898ae8510..000000000
--- a/library/foundation/js/foundation/foundation.accordion.js
+++ /dev/null
@@ -1,88 +0,0 @@
-;(function ($, window, document, undefined) {
- 'use strict';
-
- Foundation.libs.accordion = {
- name : 'accordion',
-
- version : '5.5.2',
-
- settings : {
- content_class : 'content',
- active_class : 'active',
- multi_expand : false,
- toggleable : true,
- callback : function () {}
- },
-
- init : function (scope, method, options) {
- this.bindings(method, options);
- },
-
- events : function (instance) {
- var self = this;
- var S = this.S;
- self.create(this.S(instance));
-
- S(this.scope)
- .off('.fndtn.accordion')
- .on('click.fndtn.accordion', '[' + this.attr_name() + '] > dd > a, [' + this.attr_name() + '] > li > a', function (e) {
- var accordion = S(this).closest('[' + self.attr_name() + ']'),
- groupSelector = self.attr_name() + '=' + accordion.attr(self.attr_name()),
- settings = accordion.data(self.attr_name(true) + '-init') || self.settings,
- target = S('#' + this.href.split('#')[1]),
- aunts = $('> dd, > li', accordion),
- siblings = aunts.children('.' + settings.content_class),
- active_content = siblings.filter('.' + settings.active_class);
-
- e.preventDefault();
-
- if (accordion.attr(self.attr_name())) {
- siblings = siblings.add('[' + groupSelector + '] dd > ' + '.' + settings.content_class + ', [' + groupSelector + '] li > ' + '.' + settings.content_class);
- aunts = aunts.add('[' + groupSelector + '] dd, [' + groupSelector + '] li');
- }
-
- if (settings.toggleable && target.is(active_content)) {
- target.parent('dd, li').toggleClass(settings.active_class, false);
- target.toggleClass(settings.active_class, false);
- S(this).attr('aria-expanded', function(i, attr){
- return attr === 'true' ? 'false' : 'true';
- });
- settings.callback(target);
- target.triggerHandler('toggled', [accordion]);
- accordion.triggerHandler('toggled', [target]);
- return;
- }
-
- if (!settings.multi_expand) {
- siblings.removeClass(settings.active_class);
- aunts.removeClass(settings.active_class);
- aunts.children('a').attr('aria-expanded','false');
- }
-
- target.addClass(settings.active_class).parent().addClass(settings.active_class);
- settings.callback(target);
- target.triggerHandler('toggled', [accordion]);
- accordion.triggerHandler('toggled', [target]);
- S(this).attr('aria-expanded','true');
- });
- },
-
- create: function($instance) {
- var self = this,
- accordion = $instance,
- aunts = $('> .accordion-navigation', accordion),
- settings = accordion.data(self.attr_name(true) + '-init') || self.settings;
-
- aunts.children('a').attr('aria-expanded','false');
- aunts.has('.' + settings.content_class + '.' + settings.active_class).children('a').attr('aria-expanded','true');
-
- if (settings.multi_expand) {
- $instance.attr('aria-multiselectable','true');
- }
- },
-
- off : function () {},
-
- reflow : function () {}
- };
-}(jQuery, window, window.document));
diff --git a/library/foundation/js/foundation/foundation.alert.js b/library/foundation/js/foundation/foundation.alert.js
deleted file mode 100644
index c37f950ac..000000000
--- a/library/foundation/js/foundation/foundation.alert.js
+++ /dev/null
@@ -1,43 +0,0 @@
-;(function ($, window, document, undefined) {
- 'use strict';
-
- Foundation.libs.alert = {
- name : 'alert',
-
- version : '5.5.2',
-
- settings : {
- callback : function () {}
- },
-
- init : function (scope, method, options) {
- this.bindings(method, options);
- },
-
- events : function () {
- var self = this,
- S = this.S;
-
- $(this.scope).off('.alert').on('click.fndtn.alert', '[' + this.attr_name() + '] .close', function (e) {
- var alertBox = S(this).closest('[' + self.attr_name() + ']'),
- settings = alertBox.data(self.attr_name(true) + '-init') || self.settings;
-
- e.preventDefault();
- if (Modernizr.csstransitions) {
- alertBox.addClass('alert-close');
- alertBox.on('transitionend webkitTransitionEnd oTransitionEnd', function (e) {
- S(this).trigger('close.fndtn.alert').remove();
- settings.callback();
- });
- } else {
- alertBox.fadeOut(300, function () {
- S(this).trigger('close.fndtn.alert').remove();
- settings.callback();
- });
- }
- });
- },
-
- reflow : function () {}
- };
-}(jQuery, window, window.document));
diff --git a/library/foundation/js/foundation/foundation.clearing.js b/library/foundation/js/foundation/foundation.clearing.js
deleted file mode 100644
index 78fe36443..000000000
--- a/library/foundation/js/foundation/foundation.clearing.js
+++ /dev/null
@@ -1,586 +0,0 @@
-;(function ($, window, document, undefined) {
- 'use strict';
-
- Foundation.libs.clearing = {
- name : 'clearing',
-
- version : '5.5.2',
-
- settings : {
- templates : {
- viewing : '<a href="#" class="clearing-close">&times;</a>' +
- '<div class="visible-img" style="display: none"><div class="clearing-touch-label"></div><img src="data:image/gif;base64,R0lGODlhAQABAAD/ACwAAAAAAQABAAACADs%3D" alt="" />' +
- '<p class="clearing-caption"></p><a href="#" class="clearing-main-prev"><span></span></a>' +
- '<a href="#" class="clearing-main-next"><span></span></a></div>' +
- '<img class="clearing-preload-next" style="display: none" src="data:image/gif;base64,R0lGODlhAQABAAD/ACwAAAAAAQABAAACADs%3D" alt="" />' +
- '<img class="clearing-preload-prev" style="display: none" src="data:image/gif;base64,R0lGODlhAQABAAD/ACwAAAAAAQABAAACADs%3D" alt="" />'
- },
-
- // comma delimited list of selectors that, on click, will close clearing,
- // add 'div.clearing-blackout, div.visible-img' to close on background click
- close_selectors : '.clearing-close, div.clearing-blackout',
-
- // Default to the entire li element.
- open_selectors : '',
-
- // Image will be skipped in carousel.
- skip_selector : '',
-
- touch_label : '',
-
- // event initializers and locks
- init : false,
- locked : false
- },
-
- init : function (scope, method, options) {
- var self = this;
- Foundation.inherit(this, 'throttle image_loaded');
-
- this.bindings(method, options);
-
- if (self.S(this.scope).is('[' + this.attr_name() + ']')) {
- this.assemble(self.S('li', this.scope));
- } else {
- self.S('[' + this.attr_name() + ']', this.scope).each(function () {
- self.assemble(self.S('li', this));
- });
- }
- },
-
- events : function (scope) {
- var self = this,
- S = self.S,
- $scroll_container = $('.scroll-container');
-
- if ($scroll_container.length > 0) {
- this.scope = $scroll_container;
- }
-
- S(this.scope)
- .off('.clearing')
- .on('click.fndtn.clearing', 'ul[' + this.attr_name() + '] li ' + this.settings.open_selectors,
- function (e, current, target) {
- var current = current || S(this),
- target = target || current,
- next = current.next('li'),
- settings = current.closest('[' + self.attr_name() + ']').data(self.attr_name(true) + '-init'),
- image = S(e.target);
-
- e.preventDefault();
-
- if (!settings) {
- self.init();
- settings = current.closest('[' + self.attr_name() + ']').data(self.attr_name(true) + '-init');
- }
-
- // if clearing is open and the current image is
- // clicked, go to the next image in sequence
- if (target.hasClass('visible') &&
- current[0] === target[0] &&
- next.length > 0 && self.is_open(current)) {
- target = next;
- image = S('img', target);
- }
-
- // set current and target to the clicked li if not otherwise defined.
- self.open(image, current, target);
- self.update_paddles(target);
- })
-
- .on('click.fndtn.clearing', '.clearing-main-next',
- function (e) { self.nav(e, 'next') })
- .on('click.fndtn.clearing', '.clearing-main-prev',
- function (e) { self.nav(e, 'prev') })
- .on('click.fndtn.clearing', this.settings.close_selectors,
- function (e) { Foundation.libs.clearing.close(e, this) });
-
- $(document).on('keydown.fndtn.clearing',
- function (e) { self.keydown(e) });
-
- S(window).off('.clearing').on('resize.fndtn.clearing',
- function () { self.resize() });
-
- this.swipe_events(scope);
- },
-
- swipe_events : function (scope) {
- var self = this,
- S = self.S;
-
- S(this.scope)
- .on('touchstart.fndtn.clearing', '.visible-img', function (e) {
- if (!e.touches) { e = e.originalEvent; }
- var data = {
- start_page_x : e.touches[0].pageX,
- start_page_y : e.touches[0].pageY,
- start_time : (new Date()).getTime(),
- delta_x : 0,
- is_scrolling : undefined
- };
-
- S(this).data('swipe-transition', data);
- e.stopPropagation();
- })
- .on('touchmove.fndtn.clearing', '.visible-img', function (e) {
- if (!e.touches) {
- e = e.originalEvent;
- }
- // Ignore pinch/zoom events
- if (e.touches.length > 1 || e.scale && e.scale !== 1) {
- return;
- }
-
- var data = S(this).data('swipe-transition');
-
- if (typeof data === 'undefined') {
- data = {};
- }
-
- data.delta_x = e.touches[0].pageX - data.start_page_x;
-
- if (Foundation.rtl) {
- data.delta_x = -data.delta_x;
- }
-
- if (typeof data.is_scrolling === 'undefined') {
- data.is_scrolling = !!( data.is_scrolling || Math.abs(data.delta_x) < Math.abs(e.touches[0].pageY - data.start_page_y) );
- }
-
- if (!data.is_scrolling && !data.active) {
- e.preventDefault();
- var direction = (data.delta_x < 0) ? 'next' : 'prev';
- data.active = true;
- self.nav(e, direction);
- }
- })
- .on('touchend.fndtn.clearing', '.visible-img', function (e) {
- S(this).data('swipe-transition', {});
- e.stopPropagation();
- });
- },
-
- assemble : function ($li) {
- var $el = $li.parent();
-
- if ($el.parent().hasClass('carousel')) {
- return;
- }
-
- $el.after('<div id="foundationClearingHolder"></div>');
-
- var grid = $el.detach(),
- grid_outerHTML = '';
-
- if (grid[0] == null) {
- return;
- } else {
- grid_outerHTML = grid[0].outerHTML;
- }
-
- var holder = this.S('#foundationClearingHolder'),
- settings = $el.data(this.attr_name(true) + '-init'),
- data = {
- grid : '<div class="carousel">' + grid_outerHTML + '</div>',
- viewing : settings.templates.viewing
- },
- wrapper = '<div class="clearing-assembled"><div>' + data.viewing +
- data.grid + '</div></div>',
- touch_label = this.settings.touch_label;
-
- if (Modernizr.touch) {
- wrapper = $(wrapper).find('.clearing-touch-label').html(touch_label).end();
- }
-
- holder.after(wrapper).remove();
- },
-
- open : function ($image, current, target) {
- var self = this,
- body = $(document.body),
- root = target.closest('.clearing-assembled'),
- container = self.S('div', root).first(),
- visible_image = self.S('.visible-img', container),
- image = self.S('img', visible_image).not($image),
- label = self.S('.clearing-touch-label', container),
- error = false,
- loaded = {};
-
- // Event to disable scrolling on touch devices when Clearing is activated
- $('body').on('touchmove', function (e) {
- e.preventDefault();
- });
-
- image.error(function () {
- error = true;
- });
-
- function startLoad() {
- setTimeout(function () {
- this.image_loaded(image, function () {
- if (image.outerWidth() === 1 && !error) {
- startLoad.call(this);
- } else {
- cb.call(this, image);
- }
- }.bind(this));
- }.bind(this), 100);
- }
-
- function cb (image) {
- var $image = $(image);
- $image.css('visibility', 'visible');
- $image.trigger('imageVisible');
- // toggle the gallery
- body.css('overflow', 'hidden');
- root.addClass('clearing-blackout');
- container.addClass('clearing-container');
- visible_image.show();
- this.fix_height(target)
- .caption(self.S('.clearing-caption', visible_image), self.S('img', target))
- .center_and_label(image, label)
- .shift(current, target, function () {
- target.closest('li').siblings().removeClass('visible');
- target.closest('li').addClass('visible');
- });
- visible_image.trigger('opened.fndtn.clearing')
- }
-
- if (!this.locked()) {
- visible_image.trigger('open.fndtn.clearing');
- // set the image to the selected thumbnail
- loaded = this.load($image);
- if (loaded.interchange) {
- image
- .attr('data-interchange', loaded.interchange)
- .foundation('interchange', 'reflow');
- } else {
- image
- .attr('src', loaded.src)
- .attr('data-interchange', '');
- }
- image.css('visibility', 'hidden');
-
- startLoad.call(this);
- }
- },
-
- close : function (e, el) {
- e.preventDefault();
-
- var root = (function (target) {
- if (/blackout/.test(target.selector)) {
- return target;
- } else {
- return target.closest('.clearing-blackout');
- }
- }($(el))),
- body = $(document.body), container, visible_image;
-
- if (el === e.target && root) {
- body.css('overflow', '');
- container = $('div', root).first();
- visible_image = $('.visible-img', container);
- visible_image.trigger('close.fndtn.clearing');
- this.settings.prev_index = 0;
- $('ul[' + this.attr_name() + ']', root)
- .attr('style', '').closest('.clearing-blackout')
- .removeClass('clearing-blackout');
- container.removeClass('clearing-container');
- visible_image.hide();
- visible_image.trigger('closed.fndtn.clearing');
- }
-
- // Event to re-enable scrolling on touch devices
- $('body').off('touchmove');
-
- return false;
- },
-
- is_open : function (current) {
- return current.parent().prop('style').length > 0;
- },
-
- keydown : function (e) {
- var clearing = $('.clearing-blackout ul[' + this.attr_name() + ']'),
- NEXT_KEY = this.rtl ? 37 : 39,
- PREV_KEY = this.rtl ? 39 : 37,
- ESC_KEY = 27;
-
- if (e.which === NEXT_KEY) {
- this.go(clearing, 'next');
- }
- if (e.which === PREV_KEY) {
- this.go(clearing, 'prev');
- }
- if (e.which === ESC_KEY) {
- this.S('a.clearing-close').trigger('click.fndtn.clearing');
- }
- },
-
- nav : function (e, direction) {
- var clearing = $('ul[' + this.attr_name() + ']', '.clearing-blackout');
-
- e.preventDefault();
- this.go(clearing, direction);
- },
-
- resize : function () {
- var image = $('img', '.clearing-blackout .visible-img'),
- label = $('.clearing-touch-label', '.clearing-blackout');
-
- if (image.length) {
- this.center_and_label(image, label);
- image.trigger('resized.fndtn.clearing')
- }
- },
-
- // visual adjustments
- fix_height : function (target) {
- var lis = target.parent().children(),
- self = this;
-
- lis.each(function () {
- var li = self.S(this),
- image = li.find('img');
-
- if (li.height() > image.outerHeight()) {
- li.addClass('fix-height');
- }
- })
- .closest('ul')
- .width(lis.length * 100 + '%');
-
- return this;
- },
-
- update_paddles : function (target) {
- target = target.closest('li');
- var visible_image = target
- .closest('.carousel')
- .siblings('.visible-img');
-
- if (target.next().length > 0) {
- this.S('.clearing-main-next', visible_image).removeClass('disabled');
- } else {
- this.S('.clearing-main-next', visible_image).addClass('disabled');
- }
-
- if (target.prev().length > 0) {
- this.S('.clearing-main-prev', visible_image).removeClass('disabled');
- } else {
- this.S('.clearing-main-prev', visible_image).addClass('disabled');
- }
- },
-
- center_and_label : function (target, label) {
- if (!this.rtl && label.length > 0) {
- label.css({
- marginLeft : -(label.outerWidth() / 2),
- marginTop : -(target.outerHeight() / 2)-label.outerHeight()-10
- });
- } else {
- label.css({
- marginRight : -(label.outerWidth() / 2),
- marginTop : -(target.outerHeight() / 2)-label.outerHeight()-10,
- left: 'auto',
- right: '50%'
- });
- }
- return this;
- },
-
- // image loading and preloading
-
- load : function ($image) {
- var href,
- interchange,
- closest_a;
-
- if ($image[0].nodeName === 'A') {
- href = $image.attr('href');
- interchange = $image.data('clearing-interchange');
- } else {
- closest_a = $image.closest('a');
- href = closest_a.attr('href');
- interchange = closest_a.data('clearing-interchange');
- }
-
- this.preload($image);
-
- return {
- 'src': href ? href : $image.attr('src'),
- 'interchange': href ? interchange : $image.data('clearing-interchange')
- }
- },
-
- preload : function ($image) {
- this
- .img($image.closest('li').next(), 'next')
- .img($image.closest('li').prev(), 'prev');
- },
-
- img : function (img, sibling_type) {
- if (img.length) {
- var preload_img = $('.clearing-preload-' + sibling_type),
- new_a = this.S('a', img),
- src,
- interchange,
- image;
-
- if (new_a.length) {
- src = new_a.attr('href');
- interchange = new_a.data('clearing-interchange');
- } else {
- image = this.S('img', img);
- src = image.attr('src');
- interchange = image.data('clearing-interchange');
- }
-
- if (interchange) {
- preload_img.attr('data-interchange', interchange);
- } else {
- preload_img.attr('src', src);
- preload_img.attr('data-interchange', '');
- }
- }
- return this;
- },
-
- // image caption
-
- caption : function (container, $image) {
- var caption = $image.attr('data-caption');
-
- if (caption) {
- container
- .html(caption)
- .show();
- } else {
- container
- .text('')
- .hide();
- }
- return this;
- },
-
- // directional methods
-
- go : function ($ul, direction) {
- var current = this.S('.visible', $ul),
- target = current[direction]();
-
- // Check for skip selector.
- if (this.settings.skip_selector && target.find(this.settings.skip_selector).length != 0) {
- target = target[direction]();
- }
-
- if (target.length) {
- this.S('img', target)
- .trigger('click.fndtn.clearing', [current, target])
- .trigger('change.fndtn.clearing');
- }
- },
-
- shift : function (current, target, callback) {
- var clearing = target.parent(),
- old_index = this.settings.prev_index || target.index(),
- direction = this.direction(clearing, current, target),
- dir = this.rtl ? 'right' : 'left',
- left = parseInt(clearing.css('left'), 10),
- width = target.outerWidth(),
- skip_shift;
-
- var dir_obj = {};
-
- // we use jQuery animate instead of CSS transitions because we
- // need a callback to unlock the next animation
- // needs support for RTL **
- if (target.index() !== old_index && !/skip/.test(direction)) {
- if (/left/.test(direction)) {
- this.lock();
- dir_obj[dir] = left + width;
- clearing.animate(dir_obj, 300, this.unlock());
- } else if (/right/.test(direction)) {
- this.lock();
- dir_obj[dir] = left - width;
- clearing.animate(dir_obj, 300, this.unlock());
- }
- } else if (/skip/.test(direction)) {
- // the target image is not adjacent to the current image, so
- // do we scroll right or not
- skip_shift = target.index() - this.settings.up_count;
- this.lock();
-
- if (skip_shift > 0) {
- dir_obj[dir] = -(skip_shift * width);
- clearing.animate(dir_obj, 300, this.unlock());
- } else {
- dir_obj[dir] = 0;
- clearing.animate(dir_obj, 300, this.unlock());
- }
- }
-
- callback();
- },
-
- direction : function ($el, current, target) {
- var lis = this.S('li', $el),
- li_width = lis.outerWidth() + (lis.outerWidth() / 4),
- up_count = Math.floor(this.S('.clearing-container').outerWidth() / li_width) - 1,
- target_index = lis.index(target),
- response;
-
- this.settings.up_count = up_count;
-
- if (this.adjacent(this.settings.prev_index, target_index)) {
- if ((target_index > up_count) && target_index > this.settings.prev_index) {
- response = 'right';
- } else if ((target_index > up_count - 1) && target_index <= this.settings.prev_index) {
- response = 'left';
- } else {
- response = false;
- }
- } else {
- response = 'skip';
- }
-
- this.settings.prev_index = target_index;
-
- return response;
- },
-
- adjacent : function (current_index, target_index) {
- for (var i = target_index + 1; i >= target_index - 1; i--) {
- if (i === current_index) {
- return true;
- }
- }
- return false;
- },
-
- // lock management
-
- lock : function () {
- this.settings.locked = true;
- },
-
- unlock : function () {
- this.settings.locked = false;
- },
-
- locked : function () {
- return this.settings.locked;
- },
-
- off : function () {
- this.S(this.scope).off('.fndtn.clearing');
- this.S(window).off('.fndtn.clearing');
- },
-
- reflow : function () {
- this.init();
- }
- };
-
-}(jQuery, window, window.document));
diff --git a/library/foundation/js/foundation/foundation.dropdown.js b/library/foundation/js/foundation/foundation.dropdown.js
deleted file mode 100644
index 5c2e5bb33..000000000
--- a/library/foundation/js/foundation/foundation.dropdown.js
+++ /dev/null
@@ -1,463 +0,0 @@
-;(function ($, window, document, undefined) {
- 'use strict';
-
- Foundation.libs.dropdown = {
- name : 'dropdown',
-
- version : '5.5.2',
-
- settings : {
- active_class : 'open',
- disabled_class : 'disabled',
- mega_class : 'mega',
- align : 'bottom',
- is_hover : false,
- hover_timeout : 150,
- opened : function () {},
- closed : function () {}
- },
-
- init : function (scope, method, options) {
- Foundation.inherit(this, 'throttle');
-
- $.extend(true, this.settings, method, options);
- this.bindings(method, options);
- },
-
- events : function (scope) {
- var self = this,
- S = self.S;
-
- S(this.scope)
- .off('.dropdown')
- .on('click.fndtn.dropdown', '[' + this.attr_name() + ']', function (e) {
- var settings = S(this).data(self.attr_name(true) + '-init') || self.settings;
- if (!settings.is_hover || Modernizr.touch) {
- e.preventDefault();
- if (S(this).parent('[data-reveal-id]').length) {
- e.stopPropagation();
- }
- self.toggle($(this));
- }
- })
- .on('mouseenter.fndtn.dropdown', '[' + this.attr_name() + '], [' + this.attr_name() + '-content]', function (e) {
- var $this = S(this),
- dropdown,
- target;
-
- clearTimeout(self.timeout);
-
- if ($this.data(self.data_attr())) {
- dropdown = S('#' + $this.data(self.data_attr()));
- target = $this;
- } else {
- dropdown = $this;
- target = S('[' + self.attr_name() + '="' + dropdown.attr('id') + '"]');
- }
-
- var settings = target.data(self.attr_name(true) + '-init') || self.settings;
-
- if (S(e.currentTarget).data(self.data_attr()) && settings.is_hover) {
- self.closeall.call(self);
- }
-
- if (settings.is_hover) {
- self.open.apply(self, [dropdown, target]);
- }
- })
- .on('mouseleave.fndtn.dropdown', '[' + this.attr_name() + '], [' + this.attr_name() + '-content]', function (e) {
- var $this = S(this);
- var settings;
-
- if ($this.data(self.data_attr())) {
- settings = $this.data(self.data_attr(true) + '-init') || self.settings;
- } else {
- var target = S('[' + self.attr_name() + '="' + S(this).attr('id') + '"]'),
- settings = target.data(self.attr_name(true) + '-init') || self.settings;
- }
-
- self.timeout = setTimeout(function () {
- if ($this.data(self.data_attr())) {
- if (settings.is_hover) {
- self.close.call(self, S('#' + $this.data(self.data_attr())));
- }
- } else {
- if (settings.is_hover) {
- self.close.call(self, $this);
- }
- }
- }.bind(this), settings.hover_timeout);
- })
- .on('click.fndtn.dropdown', function (e) {
- var parent = S(e.target).closest('[' + self.attr_name() + '-content]');
- var links = parent.find('a');
-
- if (links.length > 0 && parent.attr('aria-autoclose') !== 'false') {
- self.close.call(self, S('[' + self.attr_name() + '-content]'));
- }
-
- if (e.target !== document && !$.contains(document.documentElement, e.target)) {
- return;
- }
-
- if (S(e.target).closest('[' + self.attr_name() + ']').length > 0) {
- return;
- }
-
- if (!(S(e.target).data('revealId')) &&
- (parent.length > 0 && (S(e.target).is('[' + self.attr_name() + '-content]') ||
- $.contains(parent.first()[0], e.target)))) {
- e.stopPropagation();
- return;
- }
-
- self.close.call(self, S('[' + self.attr_name() + '-content]'));
- })
- .on('opened.fndtn.dropdown', '[' + self.attr_name() + '-content]', function () {
- self.settings.opened.call(this);
- })
- .on('closed.fndtn.dropdown', '[' + self.attr_name() + '-content]', function () {
- self.settings.closed.call(this);
- });
-
- S(window)
- .off('.dropdown')
- .on('resize.fndtn.dropdown', self.throttle(function () {
- self.resize.call(self);
- }, 50));
-
- this.resize();
- },
-
- close : function (dropdown) {
- var self = this;
- dropdown.each(function (idx) {
- var original_target = $('[' + self.attr_name() + '=' + dropdown[idx].id + ']') || $('aria-controls=' + dropdown[idx].id + ']');
- original_target.attr('aria-expanded', 'false');
- if (self.S(this).hasClass(self.settings.active_class)) {
- self.S(this)
- .css(Foundation.rtl ? 'right' : 'left', '-99999px')
- .attr('aria-hidden', 'true')
- .removeClass(self.settings.active_class)
- .prev('[' + self.attr_name() + ']')
- .removeClass(self.settings.active_class)
- .removeData('target');
-
- self.S(this).trigger('closed.fndtn.dropdown', [dropdown]);
- }
- });
- dropdown.removeClass('f-open-' + this.attr_name(true));
- },
-
- closeall : function () {
- var self = this;
- $.each(self.S('.f-open-' + this.attr_name(true)), function () {
- self.close.call(self, self.S(this));
- });
- },
-
- open : function (dropdown, target) {
- this
- .css(dropdown
- .addClass(this.settings.active_class), target);
- dropdown.prev('[' + this.attr_name() + ']').addClass(this.settings.active_class);
- dropdown.data('target', target.get(0)).trigger('opened.fndtn.dropdown', [dropdown, target]);
- dropdown.attr('aria-hidden', 'false');
- target.attr('aria-expanded', 'true');
- dropdown.focus();
- dropdown.addClass('f-open-' + this.attr_name(true));
- },
-
- data_attr : function () {
- if (this.namespace.length > 0) {
- return this.namespace + '-' + this.name;
- }
-
- return this.name;
- },
-
- toggle : function (target) {
- if (target.hasClass(this.settings.disabled_class)) {
- return;
- }
- var dropdown = this.S('#' + target.data(this.data_attr()));
- if (dropdown.length === 0) {
- // No dropdown found, not continuing
- return;
- }
-
- this.close.call(this, this.S('[' + this.attr_name() + '-content]').not(dropdown));
-
- if (dropdown.hasClass(this.settings.active_class)) {
- this.close.call(this, dropdown);
- if (dropdown.data('target') !== target.get(0)) {
- this.open.call(this, dropdown, target);
- }
- } else {
- this.open.call(this, dropdown, target);
- }
- },
-
- resize : function () {
- var dropdown = this.S('[' + this.attr_name() + '-content].open');
- var target = $(dropdown.data("target"));
-
- if (dropdown.length && target.length) {
- this.css(dropdown, target);
- }
- },
-
- css : function (dropdown, target) {
- var left_offset = Math.max((target.width() - dropdown.width()) / 2, 8),
- settings = target.data(this.attr_name(true) + '-init') || this.settings,
- parentOverflow = dropdown.parent().css('overflow-y') || dropdown.parent().css('overflow');
-
- this.clear_idx();
-
-
-
- if (this.small()) {
- var p = this.dirs.bottom.call(dropdown, target, settings);
-
- dropdown.attr('style', '').removeClass('drop-left drop-right drop-top').css({
- position : 'absolute',
- width : '95%',
- 'max-width' : 'none',
- top : p.top
- });
-
- dropdown.css(Foundation.rtl ? 'right' : 'left', left_offset);
- }
- // detect if dropdown is in an overflow container
- else if (parentOverflow !== 'visible') {
- var offset = target[0].offsetTop + target[0].offsetHeight;
-
- dropdown.attr('style', '').css({
- position : 'absolute',
- top : offset
- });
-
- dropdown.css(Foundation.rtl ? 'right' : 'left', left_offset);
- }
- else {
-
- this.style(dropdown, target, settings);
- }
-
- return dropdown;
- },
-
- style : function (dropdown, target, settings) {
- var css = $.extend({position : 'absolute'},
- this.dirs[settings.align].call(dropdown, target, settings));
-
- dropdown.attr('style', '').css(css);
- },
-
- // return CSS property object
- // `this` is the dropdown
- dirs : {
- // Calculate target offset
- _base : function (t) {
- var o_p = this.offsetParent(),
- o = o_p.offset(),
- p = t.offset();
-
- p.top -= o.top;
- p.left -= o.left;
-
- //set some flags on the p object to pass along
- p.missRight = false;
- p.missTop = false;
- p.missLeft = false;
- p.leftRightFlag = false;
-
- //lets see if the panel will be off the screen
- //get the actual width of the page and store it
- var actualBodyWidth;
- if (document.getElementsByClassName('row')[0]) {
- actualBodyWidth = document.getElementsByClassName('row')[0].clientWidth;
- } else {
- actualBodyWidth = window.innerWidth;
- }
-
- var actualMarginWidth = (window.innerWidth - actualBodyWidth) / 2;
- var actualBoundary = actualBodyWidth;
-
- if (!this.hasClass('mega')) {
- //miss top
- if (t.offset().top <= this.outerHeight()) {
- p.missTop = true;
- actualBoundary = window.innerWidth - actualMarginWidth;
- p.leftRightFlag = true;
- }
-
- //miss right
- if (t.offset().left + this.outerWidth() > t.offset().left + actualMarginWidth && t.offset().left - actualMarginWidth > this.outerWidth()) {
- p.missRight = true;
- p.missLeft = false;
- }
-
- //miss left
- if (t.offset().left - this.outerWidth() <= 0) {
- p.missLeft = true;
- p.missRight = false;
- }
- }
-
- return p;
- },
-
- top : function (t, s) {
- var self = Foundation.libs.dropdown,
- p = self.dirs._base.call(this, t);
-
- this.addClass('drop-top');
-
- if (p.missTop == true) {
- p.top = p.top + t.outerHeight() + this.outerHeight();
- this.removeClass('drop-top');
- }
-
- if (p.missRight == true) {
- p.left = p.left - this.outerWidth() + t.outerWidth();
- }
-
- if (t.outerWidth() < this.outerWidth() || self.small() || this.hasClass(s.mega_menu)) {
- self.adjust_pip(this, t, s, p);
- }
-
- if (Foundation.rtl) {
- return {left : p.left - this.outerWidth() + t.outerWidth(),
- top : p.top - this.outerHeight()};
- }
-
- return {left : p.left, top : p.top - this.outerHeight()};
- },
-
- bottom : function (t, s) {
- var self = Foundation.libs.dropdown,
- p = self.dirs._base.call(this, t);
-
- if (p.missRight == true) {
- p.left = p.left - this.outerWidth() + t.outerWidth();
- }
-
- if (t.outerWidth() < this.outerWidth() || self.small() || this.hasClass(s.mega_menu)) {
- self.adjust_pip(this, t, s, p);
- }
-
- if (self.rtl) {
- return {left : p.left - this.outerWidth() + t.outerWidth(), top : p.top + t.outerHeight()};
- }
-
- return {left : p.left, top : p.top + t.outerHeight()};
- },
-
- left : function (t, s) {
- var p = Foundation.libs.dropdown.dirs._base.call(this, t);
-
- this.addClass('drop-left');
-
- if (p.missLeft == true) {
- p.left = p.left + this.outerWidth();
- p.top = p.top + t.outerHeight();
- this.removeClass('drop-left');
- }
-
- return {left : p.left - this.outerWidth(), top : p.top};
- },
-
- right : function (t, s) {
- var p = Foundation.libs.dropdown.dirs._base.call(this, t);
-
- this.addClass('drop-right');
-
- if (p.missRight == true) {
- p.left = p.left - this.outerWidth();
- p.top = p.top + t.outerHeight();
- this.removeClass('drop-right');
- } else {
- p.triggeredRight = true;
- }
-
- var self = Foundation.libs.dropdown;
-
- if (t.outerWidth() < this.outerWidth() || self.small() || this.hasClass(s.mega_menu)) {
- self.adjust_pip(this, t, s, p);
- }
-
- return {left : p.left + t.outerWidth(), top : p.top};
- }
- },
-
- // Insert rule to style psuedo elements
- adjust_pip : function (dropdown, target, settings, position) {
- var sheet = Foundation.stylesheet,
- pip_offset_base = 8;
-
- if (dropdown.hasClass(settings.mega_class)) {
- pip_offset_base = position.left + (target.outerWidth() / 2) - 8;
- } else if (this.small()) {
- pip_offset_base += position.left - 8;
- }
-
- this.rule_idx = sheet.cssRules.length;
-
- //default
- var sel_before = '.f-dropdown.open:before',
- sel_after = '.f-dropdown.open:after',
- css_before = 'left: ' + pip_offset_base + 'px;',
- css_after = 'left: ' + (pip_offset_base - 1) + 'px;';
-
- if (position.missRight == true) {
- pip_offset_base = dropdown.outerWidth() - 23;
- sel_before = '.f-dropdown.open:before',
- sel_after = '.f-dropdown.open:after',
- css_before = 'left: ' + pip_offset_base + 'px;',
- css_after = 'left: ' + (pip_offset_base - 1) + 'px;';
- }
-
- //just a case where right is fired, but its not missing right
- if (position.triggeredRight == true) {
- sel_before = '.f-dropdown.open:before',
- sel_after = '.f-dropdown.open:after',
- css_before = 'left:-12px;',
- css_after = 'left:-14px;';
- }
-
- if (sheet.insertRule) {
- sheet.insertRule([sel_before, '{', css_before, '}'].join(' '), this.rule_idx);
- sheet.insertRule([sel_after, '{', css_after, '}'].join(' '), this.rule_idx + 1);
- } else {
- sheet.addRule(sel_before, css_before, this.rule_idx);
- sheet.addRule(sel_after, css_after, this.rule_idx + 1);
- }
- },
-
- // Remove old dropdown rule index
- clear_idx : function () {
- var sheet = Foundation.stylesheet;
-
- if (typeof this.rule_idx !== 'undefined') {
- sheet.deleteRule(this.rule_idx);
- sheet.deleteRule(this.rule_idx);
- delete this.rule_idx;
- }
- },
-
- small : function () {
- return matchMedia(Foundation.media_queries.small).matches &&
- !matchMedia(Foundation.media_queries.medium).matches;
- },
-
- off : function () {
- this.S(this.scope).off('.fndtn.dropdown');
- this.S('html, body').off('.fndtn.dropdown');
- this.S(window).off('.fndtn.dropdown');
- this.S('[data-dropdown-content]').off('.fndtn.dropdown');
- },
-
- reflow : function () {}
- };
-}(jQuery, window, window.document));
diff --git a/library/foundation/js/foundation/foundation.equalizer.js b/library/foundation/js/foundation/foundation.equalizer.js
deleted file mode 100644
index 23ab1052c..000000000
--- a/library/foundation/js/foundation/foundation.equalizer.js
+++ /dev/null
@@ -1,104 +0,0 @@
-;(function ($, window, document, undefined) {
- 'use strict';
-
- Foundation.libs.equalizer = {
- name : 'equalizer',
-
- version : '5.5.2',
-
- settings : {
- use_tallest : true,
- before_height_change : $.noop,
- after_height_change : $.noop,
- equalize_on_stack : false,
- act_on_hidden_el: false
- },
-
- init : function (scope, method, options) {
- Foundation.inherit(this, 'image_loaded');
- this.bindings(method, options);
- this.reflow();
- },
-
- events : function () {
- this.S(window).off('.equalizer').on('resize.fndtn.equalizer', function (e) {
- this.reflow();
- }.bind(this));
- },
-
- equalize : function (equalizer) {
- var isStacked = false,
- group = equalizer.data('equalizer'),
- settings = equalizer.data(this.attr_name(true)+'-init') || this.settings,
- vals,
- firstTopOffset;
-
- if (settings.act_on_hidden_el) {
- vals = group ? equalizer.find('['+this.attr_name()+'-watch="'+group+'"]') : equalizer.find('['+this.attr_name()+'-watch]');
- }
- else {
- vals = group ? equalizer.find('['+this.attr_name()+'-watch="'+group+'"]:visible') : equalizer.find('['+this.attr_name()+'-watch]:visible');
- }
-
- if (vals.length === 0) {
- return;
- }
-
- settings.before_height_change();
- equalizer.trigger('before-height-change.fndth.equalizer');
- vals.height('inherit');
-
- if (settings.equalize_on_stack === false) {
- firstTopOffset = vals.first().offset().top;
- vals.each(function () {
- if ($(this).offset().top !== firstTopOffset) {
- isStacked = true;
- return false;
- }
- });
- if (isStacked) {
- return;
- }
- }
-
- var heights = vals.map(function () { return $(this).outerHeight(false) }).get();
-
- if (settings.use_tallest) {
- var max = Math.max.apply(null, heights);
- vals.css('height', max);
- } else {
- var min = Math.min.apply(null, heights);
- vals.css('height', min);
- }
-
- settings.after_height_change();
- equalizer.trigger('after-height-change.fndtn.equalizer');
- },
-
- reflow : function () {
- var self = this;
-
- this.S('[' + this.attr_name() + ']', this.scope).each(function () {
- var $eq_target = $(this),
- media_query = $eq_target.data('equalizer-mq'),
- ignore_media_query = true;
-
- if (media_query) {
- media_query = 'is_' + media_query.replace(/-/g, '_');
- if (Foundation.utils.hasOwnProperty(media_query)) {
- ignore_media_query = false;
- }
- }
-
- self.image_loaded(self.S('img', this), function () {
- if (ignore_media_query || Foundation.utils[media_query]()) {
- self.equalize($eq_target)
- } else {
- var vals = $eq_target.find('[' + self.attr_name() + '-watch]:visible');
- vals.css('height', 'auto');
- }
- });
- });
- }
- };
-})(jQuery, window, window.document);
diff --git a/library/foundation/js/foundation/foundation.interchange.js b/library/foundation/js/foundation/foundation.interchange.js
deleted file mode 100644
index 7ec2ad1b4..000000000
--- a/library/foundation/js/foundation/foundation.interchange.js
+++ /dev/null
@@ -1,359 +0,0 @@
-;(function ($, window, document, undefined) {
- 'use strict';
-
- Foundation.libs.interchange = {
- name : 'interchange',
-
- version : '5.5.2',
-
- cache : {},
-
- images_loaded : false,
- nodes_loaded : false,
-
- settings : {
- load_attr : 'interchange',
-
- named_queries : {
- 'default' : 'only screen',
- 'small' : Foundation.media_queries['small'],
- 'small-only' : Foundation.media_queries['small-only'],
- 'medium' : Foundation.media_queries['medium'],
- 'medium-only' : Foundation.media_queries['medium-only'],
- 'large' : Foundation.media_queries['large'],
- 'large-only' : Foundation.media_queries['large-only'],
- 'xlarge' : Foundation.media_queries['xlarge'],
- 'xlarge-only' : Foundation.media_queries['xlarge-only'],
- 'xxlarge' : Foundation.media_queries['xxlarge'],
- 'landscape' : 'only screen and (orientation: landscape)',
- 'portrait' : 'only screen and (orientation: portrait)',
- 'retina' : 'only screen and (-webkit-min-device-pixel-ratio: 2),' +
- 'only screen and (min--moz-device-pixel-ratio: 2),' +
- 'only screen and (-o-min-device-pixel-ratio: 2/1),' +
- 'only screen and (min-device-pixel-ratio: 2),' +
- 'only screen and (min-resolution: 192dpi),' +
- 'only screen and (min-resolution: 2dppx)'
- },
-
- directives : {
- replace : function (el, path, trigger) {
- // The trigger argument, if called within the directive, fires
- // an event named after the directive on the element, passing
- // any parameters along to the event that you pass to trigger.
- //
- // ex. trigger(), trigger([a, b, c]), or trigger(a, b, c)
- //
- // This allows you to bind a callback like so:
- // $('#interchangeContainer').on('replace', function (e, a, b, c) {
- // console.log($(this).html(), a, b, c);
- // });
-
- if (el !== null && /IMG/.test(el[0].nodeName)) {
- var orig_path = el[0].src;
-
- if (new RegExp(path, 'i').test(orig_path)) {
- return;
- }
-
- el.attr("src", path);
-
- return trigger(el[0].src);
- }
- var last_path = el.data(this.data_attr + '-last-path'),
- self = this;
-
- if (last_path == path) {
- return;
- }
-
- if (/\.(gif|jpg|jpeg|tiff|png)([?#].*)?/i.test(path)) {
- $(el).css('background-image', 'url(' + path + ')');
- el.data('interchange-last-path', path);
- return trigger(path);
- }
-
- return $.get(path, function (response) {
- el.html(response);
- el.data(self.data_attr + '-last-path', path);
- trigger();
- });
-
- }
- }
- },
-
- init : function (scope, method, options) {
- Foundation.inherit(this, 'throttle random_str');
-
- this.data_attr = this.set_data_attr();
- $.extend(true, this.settings, method, options);
- this.bindings(method, options);
- this.reflow();
- },
-
- get_media_hash : function () {
- var mediaHash = '';
- for (var queryName in this.settings.named_queries ) {
- mediaHash += matchMedia(this.settings.named_queries[queryName]).matches.toString();
- }
- return mediaHash;
- },
-
- events : function () {
- var self = this, prevMediaHash;
-
- $(window)
- .off('.interchange')
- .on('resize.fndtn.interchange', self.throttle(function () {
- var currMediaHash = self.get_media_hash();
- if (currMediaHash !== prevMediaHash) {
- self.resize();
- }
- prevMediaHash = currMediaHash;
- }, 50));
-
- return this;
- },
-
- resize : function () {
- var cache = this.cache;
-
- if (!this.images_loaded || !this.nodes_loaded) {
- setTimeout($.proxy(this.resize, this), 50);
- return;
- }
-
- for (var uuid in cache) {
- if (cache.hasOwnProperty(uuid)) {
- var passed = this.results(uuid, cache[uuid]);
- if (passed) {
- this.settings.directives[passed
- .scenario[1]].call(this, passed.el, passed.scenario[0], (function (passed) {
- if (arguments[0] instanceof Array) {
- var args = arguments[0];
- } else {
- var args = Array.prototype.slice.call(arguments, 0);
- }
-
- return function() {
- passed.el.trigger(passed.scenario[1], args);
- }
- }(passed)));
- }
- }
- }
-
- },
-
- results : function (uuid, scenarios) {
- var count = scenarios.length;
-
- if (count > 0) {
- var el = this.S('[' + this.add_namespace('data-uuid') + '="' + uuid + '"]');
-
- while (count--) {
- var mq, rule = scenarios[count][2];
- if (this.settings.named_queries.hasOwnProperty(rule)) {
- mq = matchMedia(this.settings.named_queries[rule]);
- } else {
- mq = matchMedia(rule);
- }
- if (mq.matches) {
- return {el : el, scenario : scenarios[count]};
- }
- }
- }
-
- return false;
- },
-
- load : function (type, force_update) {
- if (typeof this['cached_' + type] === 'undefined' || force_update) {
- this['update_' + type]();
- }
-
- return this['cached_' + type];
- },
-
- update_images : function () {
- var images = this.S('img[' + this.data_attr + ']'),
- count = images.length,
- i = count,
- loaded_count = 0,
- data_attr = this.data_attr;
-
- this.cache = {};
- this.cached_images = [];
- this.images_loaded = (count === 0);
-
- while (i--) {
- loaded_count++;
- if (images[i]) {
- var str = images[i].getAttribute(data_attr) || '';
-
- if (str.length > 0) {
- this.cached_images.push(images[i]);
- }
- }
-
- if (loaded_count === count) {
- this.images_loaded = true;
- this.enhance('images');
- }
- }
-
- return this;
- },
-
- update_nodes : function () {
- var nodes = this.S('[' + this.data_attr + ']').not('img'),
- count = nodes.length,
- i = count,
- loaded_count = 0,
- data_attr = this.data_attr;
-
- this.cached_nodes = [];
- this.nodes_loaded = (count === 0);
-
- while (i--) {
- loaded_count++;
- var str = nodes[i].getAttribute(data_attr) || '';
-
- if (str.length > 0) {
- this.cached_nodes.push(nodes[i]);
- }
-
- if (loaded_count === count) {
- this.nodes_loaded = true;
- this.enhance('nodes');
- }
- }
-
- return this;
- },
-
- enhance : function (type) {
- var i = this['cached_' + type].length;
-
- while (i--) {
- this.object($(this['cached_' + type][i]));
- }
-
- return $(window).trigger('resize.fndtn.interchange');
- },
-
- convert_directive : function (directive) {
-
- var trimmed = this.trim(directive);
-
- if (trimmed.length > 0) {
- return trimmed;
- }
-
- return 'replace';
- },
-
- parse_scenario : function (scenario) {
- // This logic had to be made more complex since some users were using commas in the url path
- // So we cannot simply just split on a comma
-
- var directive_match = scenario[0].match(/(.+),\s*(\w+)\s*$/),
- // getting the mq has gotten a bit complicated since we started accounting for several use cases
- // of URLs. For now we'll continue to match these scenarios, but we may consider having these scenarios
- // as nested objects or arrays in F6.
- // regex: match everything before close parenthesis for mq
- media_query = scenario[1].match(/(.*)\)/);
-
- if (directive_match) {
- var path = directive_match[1],
- directive = directive_match[2];
-
- } else {
- var cached_split = scenario[0].split(/,\s*$/),
- path = cached_split[0],
- directive = '';
- }
-
- return [this.trim(path), this.convert_directive(directive), this.trim(media_query[1])];
- },
-
- object : function (el) {
- var raw_arr = this.parse_data_attr(el),
- scenarios = [],
- i = raw_arr.length;
-
- if (i > 0) {
- while (i--) {
- // split array between comma delimited content and mq
- // regex: comma, optional space, open parenthesis
- var scenario = raw_arr[i].split(/,\s?\(/);
-
- if (scenario.length > 1) {
- var params = this.parse_scenario(scenario);
- scenarios.push(params);
- }
- }
- }
-
- return this.store(el, scenarios);
- },
-
- store : function (el, scenarios) {
- var uuid = this.random_str(),
- current_uuid = el.data(this.add_namespace('uuid', true));
-
- if (this.cache[current_uuid]) {
- return this.cache[current_uuid];
- }
-
- el.attr(this.add_namespace('data-uuid'), uuid);
- return this.cache[uuid] = scenarios;
- },
-
- trim : function (str) {
-
- if (typeof str === 'string') {
- return $.trim(str);
- }
-
- return str;
- },
-
- set_data_attr : function (init) {
- if (init) {
- if (this.namespace.length > 0) {
- return this.namespace + '-' + this.settings.load_attr;
- }
-
- return this.settings.load_attr;
- }
-
- if (this.namespace.length > 0) {
- return 'data-' + this.namespace + '-' + this.settings.load_attr;
- }
-
- return 'data-' + this.settings.load_attr;
- },
-
- parse_data_attr : function (el) {
- var raw = el.attr(this.attr_name()).split(/\[(.*?)\]/),
- i = raw.length,
- output = [];
-
- while (i--) {
- if (raw[i].replace(/[\W\d]+/, '').length > 4) {
- output.push(raw[i]);
- }
- }
-
- return output;
- },
-
- reflow : function () {
- this.load('images', true);
- this.load('nodes', true);
- }
-
- };
-
-}(jQuery, window, window.document));
diff --git a/library/foundation/js/foundation/foundation.joyride.js b/library/foundation/js/foundation/foundation.joyride.js
deleted file mode 100644
index 5433bf797..000000000
--- a/library/foundation/js/foundation/foundation.joyride.js
+++ /dev/null
@@ -1,932 +0,0 @@
-;(function ($, window, document, undefined) {
- 'use strict';
-
- var Modernizr = Modernizr || false;
-
- Foundation.libs.joyride = {
- name : 'joyride',
-
- version : '5.5.2',
-
- defaults : {
- expose : false, // turn on or off the expose feature
- modal : true, // Whether to cover page with modal during the tour
- keyboard : true, // enable left, right and esc keystrokes
- tip_location : 'bottom', // 'top' or 'bottom' in relation to parent
- nub_position : 'auto', // override on a per tooltip bases
- scroll_speed : 1500, // Page scrolling speed in milliseconds, 0 = no scroll animation
- scroll_animation : 'linear', // supports 'swing' and 'linear', extend with jQuery UI.
- timer : 0, // 0 = no timer , all other numbers = timer in milliseconds
- start_timer_on_click : true, // true or false - true requires clicking the first button start the timer
- start_offset : 0, // the index of the tooltip you want to start on (index of the li)
- next_button : true, // true or false to control whether a next button is used
- prev_button : true, // true or false to control whether a prev button is used
- tip_animation : 'fade', // 'pop' or 'fade' in each tip
- pause_after : [], // array of indexes where to pause the tour after
- exposed : [], // array of expose elements
- tip_animation_fade_speed : 300, // when tipAnimation = 'fade' this is speed in milliseconds for the transition
- cookie_monster : false, // true or false to control whether cookies are used
- cookie_name : 'joyride', // Name the cookie you'll use
- cookie_domain : false, // Will this cookie be attached to a domain, ie. '.notableapp.com'
- cookie_expires : 365, // set when you would like the cookie to expire.
- tip_container : 'body', // Where will the tip be attached
- abort_on_close : true, // When true, the close event will not fire any callback
- tip_location_patterns : {
- top : ['bottom'],
- bottom : [], // bottom should not need to be repositioned
- left : ['right', 'top', 'bottom'],
- right : ['left', 'top', 'bottom']
- },
- post_ride_callback : function () {}, // A method to call once the tour closes (canceled or complete)
- post_step_callback : function () {}, // A method to call after each step
- pre_step_callback : function () {}, // A method to call before each step
- pre_ride_callback : function () {}, // A method to call before the tour starts (passed index, tip, and cloned exposed element)
- post_expose_callback : function () {}, // A method to call after an element has been exposed
- template : { // HTML segments for tip layout
- link : '<a href="#close" class="joyride-close-tip">&times;</a>',
- timer : '<div class="joyride-timer-indicator-wrap"><span class="joyride-timer-indicator"></span></div>',
- tip : '<div class="joyride-tip-guide"><span class="joyride-nub"></span></div>',
- wrapper : '<div class="joyride-content-wrapper"></div>',
- button : '<a href="#" class="small button joyride-next-tip"></a>',
- prev_button : '<a href="#" class="small button joyride-prev-tip"></a>',
- modal : '<div class="joyride-modal-bg"></div>',
- expose : '<div class="joyride-expose-wrapper"></div>',
- expose_cover : '<div class="joyride-expose-cover"></div>'
- },
- expose_add_class : '' // One or more space-separated class names to be added to exposed element
- },
-
- init : function (scope, method, options) {
- Foundation.inherit(this, 'throttle random_str');
-
- this.settings = this.settings || $.extend({}, this.defaults, (options || method));
-
- this.bindings(method, options)
- },
-
- go_next : function () {
- if (this.settings.$li.next().length < 1) {
- this.end();
- } else if (this.settings.timer > 0) {
- clearTimeout(this.settings.automate);
- this.hide();
- this.show();
- this.startTimer();
- } else {
- this.hide();
- this.show();
- }
- },
-
- go_prev : function () {
- if (this.settings.$li.prev().length < 1) {
- // Do nothing if there are no prev element
- } else if (this.settings.timer > 0) {
- clearTimeout(this.settings.automate);
- this.hide();
- this.show(null, true);
- this.startTimer();
- } else {
- this.hide();
- this.show(null, true);
- }
- },
-
- events : function () {
- var self = this;
-
- $(this.scope)
- .off('.joyride')
- .on('click.fndtn.joyride', '.joyride-next-tip, .joyride-modal-bg', function (e) {
- e.preventDefault();
- this.go_next()
- }.bind(this))
- .on('click.fndtn.joyride', '.joyride-prev-tip', function (e) {
- e.preventDefault();
- this.go_prev();
- }.bind(this))
-
- .on('click.fndtn.joyride', '.joyride-close-tip', function (e) {
- e.preventDefault();
- this.end(this.settings.abort_on_close);
- }.bind(this))
-
- .on('keyup.fndtn.joyride', function (e) {
- // Don't do anything if keystrokes are disabled
- // or if the joyride is not being shown
- if (!this.settings.keyboard || !this.settings.riding) {
- return;
- }
-
- switch (e.which) {
- case 39: // right arrow
- e.preventDefault();
- this.go_next();
- break;
- case 37: // left arrow
- e.preventDefault();
- this.go_prev();
- break;
- case 27: // escape
- e.preventDefault();
- this.end(this.settings.abort_on_close);
- }
- }.bind(this));
-
- $(window)
- .off('.joyride')
- .on('resize.fndtn.joyride', self.throttle(function () {
- if ($('[' + self.attr_name() + ']').length > 0 && self.settings.$next_tip && self.settings.riding) {
- if (self.settings.exposed.length > 0) {
- var $els = $(self.settings.exposed);
-
- $els.each(function () {
- var $this = $(this);
- self.un_expose($this);
- self.expose($this);
- });
- }
-
- if (self.is_phone()) {
- self.pos_phone();
- } else {
- self.pos_default(false);
- }
- }
- }, 100));
- },
-
- start : function () {
- var self = this,
- $this = $('[' + this.attr_name() + ']', this.scope),
- integer_settings = ['timer', 'scrollSpeed', 'startOffset', 'tipAnimationFadeSpeed', 'cookieExpires'],
- int_settings_count = integer_settings.length;
-
- if (!$this.length > 0) {
- return;
- }
-
- if (!this.settings.init) {
- this.events();
- }
-
- this.settings = $this.data(this.attr_name(true) + '-init');
-
- // non configureable settings
- this.settings.$content_el = $this;
- this.settings.$body = $(this.settings.tip_container);
- this.settings.body_offset = $(this.settings.tip_container).position();
- this.settings.$tip_content = this.settings.$content_el.find('> li');
- this.settings.paused = false;
- this.settings.attempts = 0;
- this.settings.riding = true;
-
- // can we create cookies?
- if (typeof $.cookie !== 'function') {
- this.settings.cookie_monster = false;
- }
-
- // generate the tips and insert into dom.
- if (!this.settings.cookie_monster || this.settings.cookie_monster && !$.cookie(this.settings.cookie_name)) {
- this.settings.$tip_content.each(function (index) {
- var $this = $(this);
- this.settings = $.extend({}, self.defaults, self.data_options($this));
-
- // Make sure that settings parsed from data_options are integers where necessary
- var i = int_settings_count;
- while (i--) {
- self.settings[integer_settings[i]] = parseInt(self.settings[integer_settings[i]], 10);
- }
- self.create({$li : $this, index : index});
- });
-
- // show first tip
- if (!this.settings.start_timer_on_click && this.settings.timer > 0) {
- this.show('init');
- this.startTimer();
- } else {
- this.show('init');
- }
-
- }
- },
-
- resume : function () {
- this.set_li();
- this.show();
- },
-
- tip_template : function (opts) {
- var $blank, content;
-
- opts.tip_class = opts.tip_class || '';
-
- $blank = $(this.settings.template.tip).addClass(opts.tip_class);
- content = $.trim($(opts.li).html()) +
- this.prev_button_text(opts.prev_button_text, opts.index) +
- this.button_text(opts.button_text) +
- this.settings.template.link +
- this.timer_instance(opts.index);
-
- $blank.append($(this.settings.template.wrapper));
- $blank.first().attr(this.add_namespace('data-index'), opts.index);
- $('.joyride-content-wrapper', $blank).append(content);
-
- return $blank[0];
- },
-
- timer_instance : function (index) {
- var txt;
-
- if ((index === 0 && this.settings.start_timer_on_click && this.settings.timer > 0) || this.settings.timer === 0) {
- txt = '';
- } else {
- txt = $(this.settings.template.timer)[0].outerHTML;
- }
- return txt;
- },
-
- button_text : function (txt) {
- if (this.settings.tip_settings.next_button) {
- txt = $.trim(txt) || 'Next';
- txt = $(this.settings.template.button).append(txt)[0].outerHTML;
- } else {
- txt = '';
- }
- return txt;
- },
-
- prev_button_text : function (txt, idx) {
- if (this.settings.tip_settings.prev_button) {
- txt = $.trim(txt) || 'Previous';
-
- // Add the disabled class to the button if it's the first element
- if (idx == 0) {
- txt = $(this.settings.template.prev_button).append(txt).addClass('disabled')[0].outerHTML;
- } else {
- txt = $(this.settings.template.prev_button).append(txt)[0].outerHTML;
- }
- } else {
- txt = '';
- }
- return txt;
- },
-
- create : function (opts) {
- this.settings.tip_settings = $.extend({}, this.settings, this.data_options(opts.$li));
- var buttonText = opts.$li.attr(this.add_namespace('data-button')) || opts.$li.attr(this.add_namespace('data-text')),
- prevButtonText = opts.$li.attr(this.add_namespace('data-button-prev')) || opts.$li.attr(this.add_namespace('data-prev-text')),
- tipClass = opts.$li.attr('class'),
- $tip_content = $(this.tip_template({
- tip_class : tipClass,
- index : opts.index,
- button_text : buttonText,
- prev_button_text : prevButtonText,
- li : opts.$li
- }));
-
- $(this.settings.tip_container).append($tip_content);
- },
-
- show : function (init, is_prev) {
- var $timer = null;
-
- // are we paused?
- if (this.settings.$li === undefined || ($.inArray(this.settings.$li.index(), this.settings.pause_after) === -1)) {
-
- // don't go to the next li if the tour was paused
- if (this.settings.paused) {
- this.settings.paused = false;
- } else {
- this.set_li(init, is_prev);
- }
-
- this.settings.attempts = 0;
-
- if (this.settings.$li.length && this.settings.$target.length > 0) {
- if (init) { //run when we first start
- this.settings.pre_ride_callback(this.settings.$li.index(), this.settings.$next_tip);
- if (this.settings.modal) {
- this.show_modal();
- }
- }
-
- this.settings.pre_step_callback(this.settings.$li.index(), this.settings.$next_tip);
-
- if (this.settings.modal && this.settings.expose) {
- this.expose();
- }
-
- this.settings.tip_settings = $.extend({}, this.settings, this.data_options(this.settings.$li));
-
- this.settings.timer = parseInt(this.settings.timer, 10);
-
- this.settings.tip_settings.tip_location_pattern = this.settings.tip_location_patterns[this.settings.tip_settings.tip_location];
-
- // scroll and hide bg if not modal
- if (!/body/i.test(this.settings.$target.selector)) {
- var joyridemodalbg = $('.joyride-modal-bg');
- if (/pop/i.test(this.settings.tipAnimation)) {
- joyridemodalbg.hide();
- } else {
- joyridemodalbg.fadeOut(this.settings.tipAnimationFadeSpeed);
- }
- this.scroll_to();
- }
-
- if (this.is_phone()) {
- this.pos_phone(true);
- } else {
- this.pos_default(true);
- }
-
- $timer = this.settings.$next_tip.find('.joyride-timer-indicator');
-
- if (/pop/i.test(this.settings.tip_animation)) {
-
- $timer.width(0);
-
- if (this.settings.timer > 0) {
-
- this.settings.$next_tip.show();
-
- setTimeout(function () {
- $timer.animate({
- width : $timer.parent().width()
- }, this.settings.timer, 'linear');
- }.bind(this), this.settings.tip_animation_fade_speed);
-
- } else {
- this.settings.$next_tip.show();
-
- }
-
- } else if (/fade/i.test(this.settings.tip_animation)) {
-
- $timer.width(0);
-
- if (this.settings.timer > 0) {
-
- this.settings.$next_tip
- .fadeIn(this.settings.tip_animation_fade_speed)
- .show();
-
- setTimeout(function () {
- $timer.animate({
- width : $timer.parent().width()
- }, this.settings.timer, 'linear');
- }.bind(this), this.settings.tip_animation_fade_speed);
-
- } else {
- this.settings.$next_tip.fadeIn(this.settings.tip_animation_fade_speed);
- }
- }
-
- this.settings.$current_tip = this.settings.$next_tip;
-
- // skip non-existant targets
- } else if (this.settings.$li && this.settings.$target.length < 1) {
-
- this.show(init, is_prev);
-
- } else {
-
- this.end();
-
- }
- } else {
-
- this.settings.paused = true;
-
- }
-
- },
-
- is_phone : function () {
- return matchMedia(Foundation.media_queries.small).matches &&
- !matchMedia(Foundation.media_queries.medium).matches;
- },
-
- hide : function () {
- if (this.settings.modal && this.settings.expose) {
- this.un_expose();
- }
-
- if (!this.settings.modal) {
- $('.joyride-modal-bg').hide();
- }
-
- // Prevent scroll bouncing...wait to remove from layout
- this.settings.$current_tip.css('visibility', 'hidden');
- setTimeout($.proxy(function () {
- this.hide();
- this.css('visibility', 'visible');
- }, this.settings.$current_tip), 0);
- this.settings.post_step_callback(this.settings.$li.index(),
- this.settings.$current_tip);
- },
-
- set_li : function (init, is_prev) {
- if (init) {
- this.settings.$li = this.settings.$tip_content.eq(this.settings.start_offset);
- this.set_next_tip();
- this.settings.$current_tip = this.settings.$next_tip;
- } else {
- if (is_prev) {
- this.settings.$li = this.settings.$li.prev();
- } else {
- this.settings.$li = this.settings.$li.next();
- }
- this.set_next_tip();
- }
-
- this.set_target();
- },
-
- set_next_tip : function () {
- this.settings.$next_tip = $('.joyride-tip-guide').eq(this.settings.$li.index());
- this.settings.$next_tip.data('closed', '');
- },
-
- set_target : function () {
- var cl = this.settings.$li.attr(this.add_namespace('data-class')),
- id = this.settings.$li.attr(this.add_namespace('data-id')),
- $sel = function () {
- if (id) {
- return $(document.getElementById(id));
- } else if (cl) {
- return $('.' + cl).first();
- } else {
- return $('body');
- }
- };
-
- this.settings.$target = $sel();
- },
-
- scroll_to : function () {
- var window_half, tipOffset;
-
- window_half = $(window).height() / 2;
- tipOffset = Math.ceil(this.settings.$target.offset().top - window_half + this.settings.$next_tip.outerHeight());
-
- if (tipOffset != 0) {
- $('html, body').stop().animate({
- scrollTop : tipOffset
- }, this.settings.scroll_speed, 'swing');
- }
- },
-
- paused : function () {
- return ($.inArray((this.settings.$li.index() + 1), this.settings.pause_after) === -1);
- },
-
- restart : function () {
- this.hide();
- this.settings.$li = undefined;
- this.show('init');
- },
-
- pos_default : function (init) {
- var $nub = this.settings.$next_tip.find('.joyride-nub'),
- nub_width = Math.ceil($nub.outerWidth() / 2),
- nub_height = Math.ceil($nub.outerHeight() / 2),
- toggle = init || false;
-
- // tip must not be "display: none" to calculate position
- if (toggle) {
- this.settings.$next_tip.css('visibility', 'hidden');
- this.settings.$next_tip.show();
- }
-
- if (!/body/i.test(this.settings.$target.selector)) {
- var topAdjustment = this.settings.tip_settings.tipAdjustmentY ? parseInt(this.settings.tip_settings.tipAdjustmentY) : 0,
- leftAdjustment = this.settings.tip_settings.tipAdjustmentX ? parseInt(this.settings.tip_settings.tipAdjustmentX) : 0;
-
- if (this.bottom()) {
- if (this.rtl) {
- this.settings.$next_tip.css({
- top : (this.settings.$target.offset().top + nub_height + this.settings.$target.outerHeight() + topAdjustment),
- left : this.settings.$target.offset().left + this.settings.$target.outerWidth() - this.settings.$next_tip.outerWidth() + leftAdjustment});
- } else {
- this.settings.$next_tip.css({
- top : (this.settings.$target.offset().top + nub_height + this.settings.$target.outerHeight() + topAdjustment),
- left : this.settings.$target.offset().left + leftAdjustment});
- }
-
- this.nub_position($nub, this.settings.tip_settings.nub_position, 'top');
-
- } else if (this.top()) {
- if (this.rtl) {
- this.settings.$next_tip.css({
- top : (this.settings.$target.offset().top - this.settings.$next_tip.outerHeight() - nub_height + topAdjustment),
- left : this.settings.$target.offset().left + this.settings.$target.outerWidth() - this.settings.$next_tip.outerWidth()});
- } else {
- this.settings.$next_tip.css({
- top : (this.settings.$target.offset().top - this.settings.$next_tip.outerHeight() - nub_height + topAdjustment),
- left : this.settings.$target.offset().left + leftAdjustment});
- }
-
- this.nub_position($nub, this.settings.tip_settings.nub_position, 'bottom');
-
- } else if (this.right()) {
-
- this.settings.$next_tip.css({
- top : this.settings.$target.offset().top + topAdjustment,
- left : (this.settings.$target.outerWidth() + this.settings.$target.offset().left + nub_width + leftAdjustment)});
-
- this.nub_position($nub, this.settings.tip_settings.nub_position, 'left');
-
- } else if (this.left()) {
-
- this.settings.$next_tip.css({
- top : this.settings.$target.offset().top + topAdjustment,
- left : (this.settings.$target.offset().left - this.settings.$next_tip.outerWidth() - nub_width + leftAdjustment)});
-
- this.nub_position($nub, this.settings.tip_settings.nub_position, 'right');
-
- }
-
- if (!this.visible(this.corners(this.settings.$next_tip)) && this.settings.attempts < this.settings.tip_settings.tip_location_pattern.length) {
-
- $nub.removeClass('bottom')
- .removeClass('top')
- .removeClass('right')
- .removeClass('left');
-
- this.settings.tip_settings.tip_location = this.settings.tip_settings.tip_location_pattern[this.settings.attempts];
-
- this.settings.attempts++;
-
- this.pos_default();
-
- }
-
- } else if (this.settings.$li.length) {
-
- this.pos_modal($nub);
-
- }
-
- if (toggle) {
- this.settings.$next_tip.hide();
- this.settings.$next_tip.css('visibility', 'visible');
- }
-
- },
-
- pos_phone : function (init) {
- var tip_height = this.settings.$next_tip.outerHeight(),
- tip_offset = this.settings.$next_tip.offset(),
- target_height = this.settings.$target.outerHeight(),
- $nub = $('.joyride-nub', this.settings.$next_tip),
- nub_height = Math.ceil($nub.outerHeight() / 2),
- toggle = init || false;
-
- $nub.removeClass('bottom')
- .removeClass('top')
- .removeClass('right')
- .removeClass('left');
-
- if (toggle) {
- this.settings.$next_tip.css('visibility', 'hidden');
- this.settings.$next_tip.show();
- }
-
- if (!/body/i.test(this.settings.$target.selector)) {
-
- if (this.top()) {
-
- this.settings.$next_tip.offset({top : this.settings.$target.offset().top - tip_height - nub_height});
- $nub.addClass('bottom');
-
- } else {
-
- this.settings.$next_tip.offset({top : this.settings.$target.offset().top + target_height + nub_height});
- $nub.addClass('top');
-
- }
-
- } else if (this.settings.$li.length) {
- this.pos_modal($nub);
- }
-
- if (toggle) {
- this.settings.$next_tip.hide();
- this.settings.$next_tip.css('visibility', 'visible');
- }
- },
-
- pos_modal : function ($nub) {
- this.center();
- $nub.hide();
-
- this.show_modal();
- },
-
- show_modal : function () {
- if (!this.settings.$next_tip.data('closed')) {
- var joyridemodalbg = $('.joyride-modal-bg');
- if (joyridemodalbg.length < 1) {
- var joyridemodalbg = $(this.settings.template.modal);
- joyridemodalbg.appendTo('body');
- }
-
- if (/pop/i.test(this.settings.tip_animation)) {
- joyridemodalbg.show();
- } else {
- joyridemodalbg.fadeIn(this.settings.tip_animation_fade_speed);
- }
- }
- },
-
- expose : function () {
- var expose,
- exposeCover,
- el,
- origCSS,
- origClasses,
- randId = 'expose-' + this.random_str(6);
-
- if (arguments.length > 0 && arguments[0] instanceof $) {
- el = arguments[0];
- } else if (this.settings.$target && !/body/i.test(this.settings.$target.selector)) {
- el = this.settings.$target;
- } else {
- return false;
- }
-
- if (el.length < 1) {
- if (window.console) {
- console.error('element not valid', el);
- }
- return false;
- }
-
- expose = $(this.settings.template.expose);
- this.settings.$body.append(expose);
- expose.css({
- top : el.offset().top,
- left : el.offset().left,
- width : el.outerWidth(true),
- height : el.outerHeight(true)
- });
-
- exposeCover = $(this.settings.template.expose_cover);
-
- origCSS = {
- zIndex : el.css('z-index'),
- position : el.css('position')
- };
-
- origClasses = el.attr('class') == null ? '' : el.attr('class');
-
- el.css('z-index', parseInt(expose.css('z-index')) + 1);
-
- if (origCSS.position == 'static') {
- el.css('position', 'relative');
- }
-
- el.data('expose-css', origCSS);
- el.data('orig-class', origClasses);
- el.attr('class', origClasses + ' ' + this.settings.expose_add_class);
-
- exposeCover.css({
- top : el.offset().top,
- left : el.offset().left,
- width : el.outerWidth(true),
- height : el.outerHeight(true)
- });
-
- if (this.settings.modal) {
- this.show_modal();
- }
-
- this.settings.$body.append(exposeCover);
- expose.addClass(randId);
- exposeCover.addClass(randId);
- el.data('expose', randId);
- this.settings.post_expose_callback(this.settings.$li.index(), this.settings.$next_tip, el);
- this.add_exposed(el);
- },
-
- un_expose : function () {
- var exposeId,
- el,
- expose,
- origCSS,
- origClasses,
- clearAll = false;
-
- if (arguments.length > 0 && arguments[0] instanceof $) {
- el = arguments[0];
- } else if (this.settings.$target && !/body/i.test(this.settings.$target.selector)) {
- el = this.settings.$target;
- } else {
- return false;
- }
-
- if (el.length < 1) {
- if (window.console) {
- console.error('element not valid', el);
- }
- return false;
- }
-
- exposeId = el.data('expose');
- expose = $('.' + exposeId);
-
- if (arguments.length > 1) {
- clearAll = arguments[1];
- }
-
- if (clearAll === true) {
- $('.joyride-expose-wrapper,.joyride-expose-cover').remove();
- } else {
- expose.remove();
- }
-
- origCSS = el.data('expose-css');
-
- if (origCSS.zIndex == 'auto') {
- el.css('z-index', '');
- } else {
- el.css('z-index', origCSS.zIndex);
- }
-
- if (origCSS.position != el.css('position')) {
- if (origCSS.position == 'static') {// this is default, no need to set it.
- el.css('position', '');
- } else {
- el.css('position', origCSS.position);
- }
- }
-
- origClasses = el.data('orig-class');
- el.attr('class', origClasses);
- el.removeData('orig-classes');
-
- el.removeData('expose');
- el.removeData('expose-z-index');
- this.remove_exposed(el);
- },
-
- add_exposed : function (el) {
- this.settings.exposed = this.settings.exposed || [];
- if (el instanceof $ || typeof el === 'object') {
- this.settings.exposed.push(el[0]);
- } else if (typeof el == 'string') {
- this.settings.exposed.push(el);
- }
- },
-
- remove_exposed : function (el) {
- var search, i;
- if (el instanceof $) {
- search = el[0]
- } else if (typeof el == 'string') {
- search = el;
- }
-
- this.settings.exposed = this.settings.exposed || [];
- i = this.settings.exposed.length;
-
- while (i--) {
- if (this.settings.exposed[i] == search) {
- this.settings.exposed.splice(i, 1);
- return;
- }
- }
- },
-
- center : function () {
- var $w = $(window);
-
- this.settings.$next_tip.css({
- top : ((($w.height() - this.settings.$next_tip.outerHeight()) / 2) + $w.scrollTop()),
- left : ((($w.width() - this.settings.$next_tip.outerWidth()) / 2) + $w.scrollLeft())
- });
-
- return true;
- },
-
- bottom : function () {
- return /bottom/i.test(this.settings.tip_settings.tip_location);
- },
-
- top : function () {
- return /top/i.test(this.settings.tip_settings.tip_location);
- },
-
- right : function () {
- return /right/i.test(this.settings.tip_settings.tip_location);
- },
-
- left : function () {
- return /left/i.test(this.settings.tip_settings.tip_location);
- },
-
- corners : function (el) {
- var w = $(window),
- window_half = w.height() / 2,
- //using this to calculate since scroll may not have finished yet.
- tipOffset = Math.ceil(this.settings.$target.offset().top - window_half + this.settings.$next_tip.outerHeight()),
- right = w.width() + w.scrollLeft(),
- offsetBottom = w.height() + tipOffset,
- bottom = w.height() + w.scrollTop(),
- top = w.scrollTop();
-
- if (tipOffset < top) {
- if (tipOffset < 0) {
- top = 0;
- } else {
- top = tipOffset;
- }
- }
-
- if (offsetBottom > bottom) {
- bottom = offsetBottom;
- }
-
- return [
- el.offset().top < top,
- right < el.offset().left + el.outerWidth(),
- bottom < el.offset().top + el.outerHeight(),
- w.scrollLeft() > el.offset().left
- ];
- },
-
- visible : function (hidden_corners) {
- var i = hidden_corners.length;
-
- while (i--) {
- if (hidden_corners[i]) {
- return false;
- }
- }
-
- return true;
- },
-
- nub_position : function (nub, pos, def) {
- if (pos === 'auto') {
- nub.addClass(def);
- } else {
- nub.addClass(pos);
- }
- },
-
- startTimer : function () {
- if (this.settings.$li.length) {
- this.settings.automate = setTimeout(function () {
- this.hide();
- this.show();
- this.startTimer();
- }.bind(this), this.settings.timer);
- } else {
- clearTimeout(this.settings.automate);
- }
- },
-
- end : function (abort) {
- if (this.settings.cookie_monster) {
- $.cookie(this.settings.cookie_name, 'ridden', {expires : this.settings.cookie_expires, domain : this.settings.cookie_domain});
- }
-
- if (this.settings.timer > 0) {
- clearTimeout(this.settings.automate);
- }
-
- if (this.settings.modal && this.settings.expose) {
- this.un_expose();
- }
-
- // Unplug keystrokes listener
- $(this.scope).off('keyup.joyride')
-
- this.settings.$next_tip.data('closed', true);
- this.settings.riding = false;
-
- $('.joyride-modal-bg').hide();
- this.settings.$current_tip.hide();
-
- if (typeof abort === 'undefined' || abort === false) {
- this.settings.post_step_callback(this.settings.$li.index(), this.settings.$current_tip);
- this.settings.post_ride_callback(this.settings.$li.index(), this.settings.$current_tip);
- }
-
- $('.joyride-tip-guide').remove();
- },
-
- off : function () {
- $(this.scope).off('.joyride');
- $(window).off('.joyride');
- $('.joyride-close-tip, .joyride-next-tip, .joyride-modal-bg').off('.joyride');
- $('.joyride-tip-guide, .joyride-modal-bg').remove();
- clearTimeout(this.settings.automate);
- this.settings = {};
- },
-
- reflow : function () {}
- };
-}(jQuery, window, window.document));
diff --git a/library/foundation/js/foundation/foundation.js b/library/foundation/js/foundation/foundation.js
deleted file mode 100644
index 122ddc2f1..000000000
--- a/library/foundation/js/foundation/foundation.js
+++ /dev/null
@@ -1,725 +0,0 @@
-/*
- * Foundation Responsive Library
- * http://foundation.zurb.com
- * Copyright 2014, ZURB
- * Free to use under the MIT license.
- * http://www.opensource.org/licenses/mit-license.php
-*/
-
-(function ($, window, document, undefined) {
- 'use strict';
-
- var header_helpers = function (class_array) {
- var i = class_array.length;
- var head = $('head');
-
- while (i--) {
- if (head.has('.' + class_array[i]).length === 0) {
- head.append('<meta class="' + class_array[i] + '" />');
- }
- }
- };
-
- header_helpers([
- 'foundation-mq-small',
- 'foundation-mq-small-only',
- 'foundation-mq-medium',
- 'foundation-mq-medium-only',
- 'foundation-mq-large',
- 'foundation-mq-large-only',
- 'foundation-mq-xlarge',
- 'foundation-mq-xlarge-only',
- 'foundation-mq-xxlarge',
- 'foundation-data-attribute-namespace']);
-
- // Enable FastClick if present
-
- $(function () {
- if (typeof FastClick !== 'undefined') {
- // Don't attach to body if undefined
- if (typeof document.body !== 'undefined') {
- FastClick.attach(document.body);
- }
- }
- });
-
- // private Fast Selector wrapper,
- // returns jQuery object. Only use where
- // getElementById is not available.
- var S = function (selector, context) {
- if (typeof selector === 'string') {
- if (context) {
- var cont;
- if (context.jquery) {
- cont = context[0];
- if (!cont) {
- return context;
- }
- } else {
- cont = context;
- }
- return $(cont.querySelectorAll(selector));
- }
-
- return $(document.querySelectorAll(selector));
- }
-
- return $(selector, context);
- };
-
- // Namespace functions.
-
- var attr_name = function (init) {
- var arr = [];
- if (!init) {
- arr.push('data');
- }
- if (this.namespace.length > 0) {
- arr.push(this.namespace);
- }
- arr.push(this.name);
-
- return arr.join('-');
- };
-
- var add_namespace = function (str) {
- var parts = str.split('-'),
- i = parts.length,
- arr = [];
-
- while (i--) {
- if (i !== 0) {
- arr.push(parts[i]);
- } else {
- if (this.namespace.length > 0) {
- arr.push(this.namespace, parts[i]);
- } else {
- arr.push(parts[i]);
- }
- }
- }
-
- return arr.reverse().join('-');
- };
-
- // Event binding and data-options updating.
-
- var bindings = function (method, options) {
- var self = this,
- bind = function(){
- var $this = S(this),
- should_bind_events = !$this.data(self.attr_name(true) + '-init');
- $this.data(self.attr_name(true) + '-init', $.extend({}, self.settings, (options || method), self.data_options($this)));
-
- if (should_bind_events) {
- self.events(this);
- }
- };
-
- if (S(this.scope).is('[' + this.attr_name() +']')) {
- bind.call(this.scope);
- } else {
- S('[' + this.attr_name() +']', this.scope).each(bind);
- }
- // # Patch to fix #5043 to move this *after* the if/else clause in order for Backbone and similar frameworks to have improved control over event binding and data-options updating.
- if (typeof method === 'string') {
- return this[method].call(this, options);
- }
-
- };
-
- var single_image_loaded = function (image, callback) {
- function loaded () {
- callback(image[0]);
- }
-
- function bindLoad () {
- this.one('load', loaded);
-
- if (/MSIE (\d+\.\d+);/.test(navigator.userAgent)) {
- var src = this.attr( 'src' ),
- param = src.match( /\?/ ) ? '&' : '?';
-
- param += 'random=' + (new Date()).getTime();
- this.attr('src', src + param);
- }
- }
-
- if (!image.attr('src')) {
- loaded();
- return;
- }
-
- if (image[0].complete || image[0].readyState === 4) {
- loaded();
- } else {
- bindLoad.call(image);
- }
- };
-
- /*! matchMedia() polyfill - Test a CSS media type/query in JS. Authors & copyright (c) 2012: Scott Jehl, Paul Irish, Nicholas Zakas, David Knight. Dual MIT/BSD license */
-
- window.matchMedia || (window.matchMedia = function() {
- "use strict";
-
- // For browsers that support matchMedium api such as IE 9 and webkit
- var styleMedia = (window.styleMedia || window.media);
-
- // For those that don't support matchMedium
- if (!styleMedia) {
- var style = document.createElement('style'),
- script = document.getElementsByTagName('script')[0],
- info = null;
-
- style.type = 'text/css';
- style.id = 'matchmediajs-test';
-
- script.parentNode.insertBefore(style, script);
-
- // 'style.currentStyle' is used by IE <= 8 and 'window.getComputedStyle' for all other browsers
- info = ('getComputedStyle' in window) && window.getComputedStyle(style, null) || style.currentStyle;
-
- styleMedia = {
- matchMedium: function(media) {
- var text = '@media ' + media + '{ #matchmediajs-test { width: 1px; } }';
-
- // 'style.styleSheet' is used by IE <= 8 and 'style.textContent' for all other browsers
- if (style.styleSheet) {
- style.styleSheet.cssText = text;
- } else {
- style.textContent = text;
- }
-
- // Test if media query is true or false
- return info.width === '1px';
- }
- };
- }
-
- return function(media) {
- return {
- matches: styleMedia.matchMedium(media || 'all'),
- media: media || 'all'
- };
- };
- }());
-
- /*
- * jquery.requestAnimationFrame
- * https://github.com/gnarf37/jquery-requestAnimationFrame
- * Requires jQuery 1.8+
- *
- * Copyright (c) 2012 Corey Frang
- * Licensed under the MIT license.
- */
-
- (function(jQuery) {
-
-
- // requestAnimationFrame polyfill adapted from Erik Möller
- // fixes from Paul Irish and Tino Zijdel
- // http://paulirish.com/2011/requestanimationframe-for-smart-animating/
- // http://my.opera.com/emoller/blog/2011/12/20/requestanimationframe-for-smart-er-animating
-
- var animating,
- lastTime = 0,
- vendors = ['webkit', 'moz'],
- requestAnimationFrame = window.requestAnimationFrame,
- cancelAnimationFrame = window.cancelAnimationFrame,
- jqueryFxAvailable = 'undefined' !== typeof jQuery.fx;
-
- for (; lastTime < vendors.length && !requestAnimationFrame; lastTime++) {
- requestAnimationFrame = window[ vendors[lastTime] + 'RequestAnimationFrame' ];
- cancelAnimationFrame = cancelAnimationFrame ||
- window[ vendors[lastTime] + 'CancelAnimationFrame' ] ||
- window[ vendors[lastTime] + 'CancelRequestAnimationFrame' ];
- }
-
- function raf() {
- if (animating) {
- requestAnimationFrame(raf);
-
- if (jqueryFxAvailable) {
- jQuery.fx.tick();
- }
- }
- }
-
- if (requestAnimationFrame) {
- // use rAF
- window.requestAnimationFrame = requestAnimationFrame;
- window.cancelAnimationFrame = cancelAnimationFrame;
-
- if (jqueryFxAvailable) {
- jQuery.fx.timer = function (timer) {
- if (timer() && jQuery.timers.push(timer) && !animating) {
- animating = true;
- raf();
- }
- };
-
- jQuery.fx.stop = function () {
- animating = false;
- };
- }
- } else {
- // polyfill
- window.requestAnimationFrame = function (callback) {
- var currTime = new Date().getTime(),
- timeToCall = Math.max(0, 16 - (currTime - lastTime)),
- id = window.setTimeout(function () {
- callback(currTime + timeToCall);
- }, timeToCall);
- lastTime = currTime + timeToCall;
- return id;
- };
-
- window.cancelAnimationFrame = function (id) {
- clearTimeout(id);
- };
-
- }
-
- }( $ ));
-
- function removeQuotes (string) {
- if (typeof string === 'string' || string instanceof String) {
- string = string.replace(/^['\\/"]+|(;\s?})+|['\\/"]+$/g, '');
- }
-
- return string;
- }
-
- window.Foundation = {
- name : 'Foundation',
-
- version : '5.5.2',
-
- media_queries : {
- 'small' : S('.foundation-mq-small').css('font-family').replace(/^[\/\\'"]+|(;\s?})+|[\/\\'"]+$/g, ''),
- 'small-only' : S('.foundation-mq-small-only').css('font-family').replace(/^[\/\\'"]+|(;\s?})+|[\/\\'"]+$/g, ''),
- 'medium' : S('.foundation-mq-medium').css('font-family').replace(/^[\/\\'"]+|(;\s?})+|[\/\\'"]+$/g, ''),
- 'medium-only' : S('.foundation-mq-medium-only').css('font-family').replace(/^[\/\\'"]+|(;\s?})+|[\/\\'"]+$/g, ''),
- 'large' : S('.foundation-mq-large').css('font-family').replace(/^[\/\\'"]+|(;\s?})+|[\/\\'"]+$/g, ''),
- 'large-only' : S('.foundation-mq-large-only').css('font-family').replace(/^[\/\\'"]+|(;\s?})+|[\/\\'"]+$/g, ''),
- 'xlarge' : S('.foundation-mq-xlarge').css('font-family').replace(/^[\/\\'"]+|(;\s?})+|[\/\\'"]+$/g, ''),
- 'xlarge-only' : S('.foundation-mq-xlarge-only').css('font-family').replace(/^[\/\\'"]+|(;\s?})+|[\/\\'"]+$/g, ''),
- 'xxlarge' : S('.foundation-mq-xxlarge').css('font-family').replace(/^[\/\\'"]+|(;\s?})+|[\/\\'"]+$/g, '')
- },
-
- stylesheet : $('<style></style>').appendTo('head')[0].sheet,
-
- global : {
- namespace : undefined
- },
-
- init : function (scope, libraries, method, options, response) {
- var args = [scope, method, options, response],
- responses = [];
-
- // check RTL
- this.rtl = /rtl/i.test(S('html').attr('dir'));
-
- // set foundation global scope
- this.scope = scope || this.scope;
-
- this.set_namespace();
-
- if (libraries && typeof libraries === 'string' && !/reflow/i.test(libraries)) {
- if (this.libs.hasOwnProperty(libraries)) {
- responses.push(this.init_lib(libraries, args));
- }
- } else {
- for (var lib in this.libs) {
- responses.push(this.init_lib(lib, libraries));
- }
- }
-
- S(window).load(function () {
- S(window)
- .trigger('resize.fndtn.clearing')
- .trigger('resize.fndtn.dropdown')
- .trigger('resize.fndtn.equalizer')
- .trigger('resize.fndtn.interchange')
- .trigger('resize.fndtn.joyride')
- .trigger('resize.fndtn.magellan')
- .trigger('resize.fndtn.topbar')
- .trigger('resize.fndtn.slider');
- });
-
- return scope;
- },
-
- init_lib : function (lib, args) {
- if (this.libs.hasOwnProperty(lib)) {
- this.patch(this.libs[lib]);
-
- if (args && args.hasOwnProperty(lib)) {
- if (typeof this.libs[lib].settings !== 'undefined') {
- $.extend(true, this.libs[lib].settings, args[lib]);
- } else if (typeof this.libs[lib].defaults !== 'undefined') {
- $.extend(true, this.libs[lib].defaults, args[lib]);
- }
- return this.libs[lib].init.apply(this.libs[lib], [this.scope, args[lib]]);
- }
-
- args = args instanceof Array ? args : new Array(args);
- return this.libs[lib].init.apply(this.libs[lib], args);
- }
-
- return function () {};
- },
-
- patch : function (lib) {
- lib.scope = this.scope;
- lib.namespace = this.global.namespace;
- lib.rtl = this.rtl;
- lib['data_options'] = this.utils.data_options;
- lib['attr_name'] = attr_name;
- lib['add_namespace'] = add_namespace;
- lib['bindings'] = bindings;
- lib['S'] = this.utils.S;
- },
-
- inherit : function (scope, methods) {
- var methods_arr = methods.split(' '),
- i = methods_arr.length;
-
- while (i--) {
- if (this.utils.hasOwnProperty(methods_arr[i])) {
- scope[methods_arr[i]] = this.utils[methods_arr[i]];
- }
- }
- },
-
- set_namespace : function () {
-
- // Description:
- // Don't bother reading the namespace out of the meta tag
- // if the namespace has been set globally in javascript
- //
- // Example:
- // Foundation.global.namespace = 'my-namespace';
- // or make it an empty string:
- // Foundation.global.namespace = '';
- //
- //
-
- // If the namespace has not been set (is undefined), try to read it out of the meta element.
- // Otherwise use the globally defined namespace, even if it's empty ('')
- var namespace = ( this.global.namespace === undefined ) ? $('.foundation-data-attribute-namespace').css('font-family') : this.global.namespace;
-
- // Finally, if the namsepace is either undefined or false, set it to an empty string.
- // Otherwise use the namespace value.
- this.global.namespace = ( namespace === undefined || /false/i.test(namespace) ) ? '' : namespace;
- },
-
- libs : {},
-
- // methods that can be inherited in libraries
- utils : {
-
- // Description:
- // Fast Selector wrapper returns jQuery object. Only use where getElementById
- // is not available.
- //
- // Arguments:
- // Selector (String): CSS selector describing the element(s) to be
- // returned as a jQuery object.
- //
- // Scope (String): CSS selector describing the area to be searched. Default
- // is document.
- //
- // Returns:
- // Element (jQuery Object): jQuery object containing elements matching the
- // selector within the scope.
- S : S,
-
- // Description:
- // Executes a function a max of once every n milliseconds
- //
- // Arguments:
- // Func (Function): Function to be throttled.
- //
- // Delay (Integer): Function execution threshold in milliseconds.
- //
- // Returns:
- // Lazy_function (Function): Function with throttling applied.
- throttle : function (func, delay) {
- var timer = null;
-
- return function () {
- var context = this, args = arguments;
-
- if (timer == null) {
- timer = setTimeout(function () {
- func.apply(context, args);
- timer = null;
- }, delay);
- }
- };
- },
-
- // Description:
- // Executes a function when it stops being invoked for n seconds
- // Modified version of _.debounce() http://underscorejs.org
- //
- // Arguments:
- // Func (Function): Function to be debounced.
- //
- // Delay (Integer): Function execution threshold in milliseconds.
- //
- // Immediate (Bool): Whether the function should be called at the beginning
- // of the delay instead of the end. Default is false.
- //
- // Returns:
- // Lazy_function (Function): Function with debouncing applied.
- debounce : function (func, delay, immediate) {
- var timeout, result;
- return function () {
- var context = this, args = arguments;
- var later = function () {
- timeout = null;
- if (!immediate) {
- result = func.apply(context, args);
- }
- };
- var callNow = immediate && !timeout;
- clearTimeout(timeout);
- timeout = setTimeout(later, delay);
- if (callNow) {
- result = func.apply(context, args);
- }
- return result;
- };
- },
-
- // Description:
- // Parses data-options attribute
- //
- // Arguments:
- // El (jQuery Object): Element to be parsed.
- //
- // Returns:
- // Options (Javascript Object): Contents of the element's data-options
- // attribute.
- data_options : function (el, data_attr_name) {
- data_attr_name = data_attr_name || 'options';
- var opts = {}, ii, p, opts_arr,
- data_options = function (el) {
- var namespace = Foundation.global.namespace;
-
- if (namespace.length > 0) {
- return el.data(namespace + '-' + data_attr_name);
- }
-
- return el.data(data_attr_name);
- };
-
- var cached_options = data_options(el);
-
- if (typeof cached_options === 'object') {
- return cached_options;
- }
-
- opts_arr = (cached_options || ':').split(';');
- ii = opts_arr.length;
-
- function isNumber (o) {
- return !isNaN (o - 0) && o !== null && o !== '' && o !== false && o !== true;
- }
-
- function trim (str) {
- if (typeof str === 'string') {
- return $.trim(str);
- }
- return str;
- }
-
- while (ii--) {
- p = opts_arr[ii].split(':');
- p = [p[0], p.slice(1).join(':')];
-
- if (/true/i.test(p[1])) {
- p[1] = true;
- }
- if (/false/i.test(p[1])) {
- p[1] = false;
- }
- if (isNumber(p[1])) {
- if (p[1].indexOf('.') === -1) {
- p[1] = parseInt(p[1], 10);
- } else {
- p[1] = parseFloat(p[1]);
- }
- }
-
- if (p.length === 2 && p[0].length > 0) {
- opts[trim(p[0])] = trim(p[1]);
- }
- }
-
- return opts;
- },
-
- // Description:
- // Adds JS-recognizable media queries
- //
- // Arguments:
- // Media (String): Key string for the media query to be stored as in
- // Foundation.media_queries
- //
- // Class (String): Class name for the generated <meta> tag
- register_media : function (media, media_class) {
- if (Foundation.media_queries[media] === undefined) {
- $('head').append('<meta class="' + media_class + '"/>');
- Foundation.media_queries[media] = removeQuotes($('.' + media_class).css('font-family'));
- }
- },
-
- // Description:
- // Add custom CSS within a JS-defined media query
- //
- // Arguments:
- // Rule (String): CSS rule to be appended to the document.
- //
- // Media (String): Optional media query string for the CSS rule to be
- // nested under.
- add_custom_rule : function (rule, media) {
- if (media === undefined && Foundation.stylesheet) {
- Foundation.stylesheet.insertRule(rule, Foundation.stylesheet.cssRules.length);
- } else {
- var query = Foundation.media_queries[media];
-
- if (query !== undefined) {
- Foundation.stylesheet.insertRule('@media ' +
- Foundation.media_queries[media] + '{ ' + rule + ' }', Foundation.stylesheet.cssRules.length);
- }
- }
- },
-
- // Description:
- // Performs a callback function when an image is fully loaded
- //
- // Arguments:
- // Image (jQuery Object): Image(s) to check if loaded.
- //
- // Callback (Function): Function to execute when image is fully loaded.
- image_loaded : function (images, callback) {
- var self = this,
- unloaded = images.length;
-
- function pictures_has_height(images) {
- var pictures_number = images.length;
-
- for (var i = pictures_number - 1; i >= 0; i--) {
- if(images.attr('height') === undefined) {
- return false;
- };
- };
-
- return true;
- }
-
- if (unloaded === 0 || pictures_has_height(images)) {
- callback(images);
- }
-
- images.each(function () {
- single_image_loaded(self.S(this), function () {
- unloaded -= 1;
- if (unloaded === 0) {
- callback(images);
- }
- });
- });
- },
-
- // Description:
- // Returns a random, alphanumeric string
- //
- // Arguments:
- // Length (Integer): Length of string to be generated. Defaults to random
- // integer.
- //
- // Returns:
- // Rand (String): Pseudo-random, alphanumeric string.
- random_str : function () {
- if (!this.fidx) {
- this.fidx = 0;
- }
- this.prefix = this.prefix || [(this.name || 'F'), (+new Date).toString(36)].join('-');
-
- return this.prefix + (this.fidx++).toString(36);
- },
-
- // Description:
- // Helper for window.matchMedia
- //
- // Arguments:
- // mq (String): Media query
- //
- // Returns:
- // (Boolean): Whether the media query passes or not
- match : function (mq) {
- return window.matchMedia(mq).matches;
- },
-
- // Description:
- // Helpers for checking Foundation default media queries with JS
- //
- // Returns:
- // (Boolean): Whether the media query passes or not
-
- is_small_up : function () {
- return this.match(Foundation.media_queries.small);
- },
-
- is_medium_up : function () {
- return this.match(Foundation.media_queries.medium);
- },
-
- is_large_up : function () {
- return this.match(Foundation.media_queries.large);
- },
-
- is_xlarge_up : function () {
- return this.match(Foundation.media_queries.xlarge);
- },
-
- is_xxlarge_up : function () {
- return this.match(Foundation.media_queries.xxlarge);
- },
-
- is_small_only : function () {
- return !this.is_medium_up() && !this.is_large_up() && !this.is_xlarge_up() && !this.is_xxlarge_up();
- },
-
- is_medium_only : function () {
- return this.is_medium_up() && !this.is_large_up() && !this.is_xlarge_up() && !this.is_xxlarge_up();
- },
-
- is_large_only : function () {
- return this.is_medium_up() && this.is_large_up() && !this.is_xlarge_up() && !this.is_xxlarge_up();
- },
-
- is_xlarge_only : function () {
- return this.is_medium_up() && this.is_large_up() && this.is_xlarge_up() && !this.is_xxlarge_up();
- },
-
- is_xxlarge_only : function () {
- return this.is_medium_up() && this.is_large_up() && this.is_xlarge_up() && this.is_xxlarge_up();
- }
- }
- };
-
- $.fn.foundation = function () {
- var args = Array.prototype.slice.call(arguments, 0);
-
- return this.each(function () {
- Foundation.init.apply(Foundation, [this].concat(args));
- return this;
- });
- };
-
-}(jQuery, window, window.document));
diff --git a/library/foundation/js/foundation/foundation.magellan.js b/library/foundation/js/foundation/foundation.magellan.js
deleted file mode 100644
index 614923abb..000000000
--- a/library/foundation/js/foundation/foundation.magellan.js
+++ /dev/null
@@ -1,215 +0,0 @@
-;(function ($, window, document, undefined) {
- 'use strict';
-
- Foundation.libs['magellan-expedition'] = {
- name : 'magellan-expedition',
-
- version : '5.5.2',
-
- settings : {
- active_class : 'active',
- threshold : 0, // pixels from the top of the expedition for it to become fixes
- destination_threshold : 20, // pixels from the top of destination for it to be considered active
- throttle_delay : 30, // calculation throttling to increase framerate
- fixed_top : 0, // top distance in pixels assigend to the fixed element on scroll
- offset_by_height : true, // whether to offset the destination by the expedition height. Usually you want this to be true, unless your expedition is on the side.
- duration : 700, // animation duration time
- easing : 'swing' // animation easing
- },
-
- init : function (scope, method, options) {
- Foundation.inherit(this, 'throttle');
- this.bindings(method, options);
- },
-
- events : function () {
- var self = this,
- S = self.S,
- settings = self.settings;
-
- // initialize expedition offset
- self.set_expedition_position();
-
- S(self.scope)
- .off('.magellan')
- .on('click.fndtn.magellan', '[' + self.add_namespace('data-magellan-arrival') + '] a[href*=#]', function (e) {
- var sameHost = ((this.hostname === location.hostname) || !this.hostname),
- samePath = self.filterPathname(location.pathname) === self.filterPathname(this.pathname),
- testHash = this.hash.replace(/(:|\.|\/)/g, '\\$1'),
- anchor = this;
-
- if (sameHost && samePath && testHash) {
- e.preventDefault();
- var expedition = $(this).closest('[' + self.attr_name() + ']'),
- settings = expedition.data('magellan-expedition-init'),
- hash = this.hash.split('#').join(''),
- target = $('a[name="' + hash + '"]');
-
- if (target.length === 0) {
- target = $('#' + hash);
-
- }
-
- // Account for expedition height if fixed position
- var scroll_top = target.offset().top - settings.destination_threshold + 1;
- if (settings.offset_by_height) {
- scroll_top = scroll_top - expedition.outerHeight();
- }
- $('html, body').stop().animate({
- 'scrollTop' : scroll_top
- }, settings.duration, settings.easing, function () {
- if (history.pushState) {
- history.pushState(null, null, anchor.pathname + '#' + hash);
- }
- else {
- location.hash = anchor.pathname + '#' + hash;
- }
- });
- }
- })
- .on('scroll.fndtn.magellan', self.throttle(this.check_for_arrivals.bind(this), settings.throttle_delay));
- },
-
- check_for_arrivals : function () {
- var self = this;
- self.update_arrivals();
- self.update_expedition_positions();
- },
-
- set_expedition_position : function () {
- var self = this;
- $('[' + this.attr_name() + '=fixed]', self.scope).each(function (idx, el) {
- var expedition = $(this),
- settings = expedition.data('magellan-expedition-init'),
- styles = expedition.attr('styles'), // save styles
- top_offset, fixed_top;
-
- expedition.attr('style', '');
- top_offset = expedition.offset().top + settings.threshold;
-
- //set fixed-top by attribute
- fixed_top = parseInt(expedition.data('magellan-fixed-top'));
- if (!isNaN(fixed_top)) {
- self.settings.fixed_top = fixed_top;
- }
-
- expedition.data(self.data_attr('magellan-top-offset'), top_offset);
- expedition.attr('style', styles);
- });
- },
-
- update_expedition_positions : function () {
- var self = this,
- window_top_offset = $(window).scrollTop();
-
- $('[' + this.attr_name() + '=fixed]', self.scope).each(function () {
- var expedition = $(this),
- settings = expedition.data('magellan-expedition-init'),
- styles = expedition.attr('style'), // save styles
- top_offset = expedition.data('magellan-top-offset');
-
- //scroll to the top distance
- if (window_top_offset + self.settings.fixed_top >= top_offset) {
- // Placeholder allows height calculations to be consistent even when
- // appearing to switch between fixed/non-fixed placement
- var placeholder = expedition.prev('[' + self.add_namespace('data-magellan-expedition-clone') + ']');
- if (placeholder.length === 0) {
- placeholder = expedition.clone();
- placeholder.removeAttr(self.attr_name());
- placeholder.attr(self.add_namespace('data-magellan-expedition-clone'), '');
- expedition.before(placeholder);
- }
- expedition.css({position :'fixed', top : settings.fixed_top}).addClass('fixed');
- } else {
- expedition.prev('[' + self.add_namespace('data-magellan-expedition-clone') + ']').remove();
- expedition.attr('style', styles).css('position', '').css('top', '').removeClass('fixed');
- }
- });
- },
-
- update_arrivals : function () {
- var self = this,
- window_top_offset = $(window).scrollTop();
-
- $('[' + this.attr_name() + ']', self.scope).each(function () {
- var expedition = $(this),
- settings = expedition.data(self.attr_name(true) + '-init'),
- offsets = self.offsets(expedition, window_top_offset),
- arrivals = expedition.find('[' + self.add_namespace('data-magellan-arrival') + ']'),
- active_item = false;
- offsets.each(function (idx, item) {
- if (item.viewport_offset >= item.top_offset) {
- var arrivals = expedition.find('[' + self.add_namespace('data-magellan-arrival') + ']');
- arrivals.not(item.arrival).removeClass(settings.active_class);
- item.arrival.addClass(settings.active_class);
- active_item = true;
- return true;
- }
- });
-
- if (!active_item) {
- arrivals.removeClass(settings.active_class);
- }
- });
- },
-
- offsets : function (expedition, window_offset) {
- var self = this,
- settings = expedition.data(self.attr_name(true) + '-init'),
- viewport_offset = window_offset;
-
- return expedition.find('[' + self.add_namespace('data-magellan-arrival') + ']').map(function (idx, el) {
- var name = $(this).data(self.data_attr('magellan-arrival')),
- dest = $('[' + self.add_namespace('data-magellan-destination') + '=' + name + ']');
- if (dest.length > 0) {
- var top_offset = dest.offset().top - settings.destination_threshold;
- if (settings.offset_by_height) {
- top_offset = top_offset - expedition.outerHeight();
- }
- top_offset = Math.floor(top_offset);
- return {
- destination : dest,
- arrival : $(this),
- top_offset : top_offset,
- viewport_offset : viewport_offset
- }
- }
- }).sort(function (a, b) {
- if (a.top_offset < b.top_offset) {
- return -1;
- }
- if (a.top_offset > b.top_offset) {
- return 1;
- }
- return 0;
- });
- },
-
- data_attr : function (str) {
- if (this.namespace.length > 0) {
- return this.namespace + '-' + str;
- }
-
- return str;
- },
-
- off : function () {
- this.S(this.scope).off('.magellan');
- this.S(window).off('.magellan');
- },
-
- filterPathname : function (pathname) {
- pathname = pathname || '';
- return pathname
- .replace(/^\//,'')
- .replace(/(?:index|default).[a-zA-Z]{3,4}$/,'')
- .replace(/\/$/,'');
- },
-
- reflow : function () {
- var self = this;
- // remove placeholder expeditions used for height calculation purposes
- $('[' + self.add_namespace('data-magellan-expedition-clone') + ']', self.scope).remove();
- }
- };
-}(jQuery, window, window.document));
diff --git a/library/foundation/js/foundation/foundation.offcanvas.js b/library/foundation/js/foundation/foundation.offcanvas.js
deleted file mode 100644
index e73faaf68..000000000
--- a/library/foundation/js/foundation/foundation.offcanvas.js
+++ /dev/null
@@ -1,152 +0,0 @@
-;(function ($, window, document, undefined) {
- 'use strict';
-
- Foundation.libs.offcanvas = {
- name : 'offcanvas',
-
- version : '5.5.2',
-
- settings : {
- open_method : 'move',
- close_on_click : false
- },
-
- init : function (scope, method, options) {
- this.bindings(method, options);
- },
-
- events : function () {
- var self = this,
- S = self.S,
- move_class = '',
- right_postfix = '',
- left_postfix = '';
-
- if (this.settings.open_method === 'move') {
- move_class = 'move-';
- right_postfix = 'right';
- left_postfix = 'left';
- } else if (this.settings.open_method === 'overlap_single') {
- move_class = 'offcanvas-overlap-';
- right_postfix = 'right';
- left_postfix = 'left';
- } else if (this.settings.open_method === 'overlap') {
- move_class = 'offcanvas-overlap';
- }
-
- S(this.scope).off('.offcanvas')
- .on('click.fndtn.offcanvas', '.left-off-canvas-toggle', function (e) {
- self.click_toggle_class(e, move_class + right_postfix);
- if (self.settings.open_method !== 'overlap') {
- S('.left-submenu').removeClass(move_class + right_postfix);
- }
- $('.left-off-canvas-toggle').attr('aria-expanded', 'true');
- })
- .on('click.fndtn.offcanvas', '.left-off-canvas-menu a', function (e) {
- var settings = self.get_settings(e);
- var parent = S(this).parent();
-
- if (settings.close_on_click && !parent.hasClass('has-submenu') && !parent.hasClass('back')) {
- self.hide.call(self, move_class + right_postfix, self.get_wrapper(e));
- parent.parent().removeClass(move_class + right_postfix);
- } else if (S(this).parent().hasClass('has-submenu')) {
- e.preventDefault();
- S(this).siblings('.left-submenu').toggleClass(move_class + right_postfix);
- } else if (parent.hasClass('back')) {
- e.preventDefault();
- parent.parent().removeClass(move_class + right_postfix);
- }
- $('.left-off-canvas-toggle').attr('aria-expanded', 'true');
- })
- .on('click.fndtn.offcanvas', '.right-off-canvas-toggle', function (e) {
- self.click_toggle_class(e, move_class + left_postfix);
- if (self.settings.open_method !== 'overlap') {
- S('.right-submenu').removeClass(move_class + left_postfix);
- }
- $('.right-off-canvas-toggle').attr('aria-expanded', 'true');
- })
- .on('click.fndtn.offcanvas', '.right-off-canvas-menu a', function (e) {
- var settings = self.get_settings(e);
- var parent = S(this).parent();
-
- if (settings.close_on_click && !parent.hasClass('has-submenu') && !parent.hasClass('back')) {
- self.hide.call(self, move_class + left_postfix, self.get_wrapper(e));
- parent.parent().removeClass(move_class + left_postfix);
- } else if (S(this).parent().hasClass('has-submenu')) {
- e.preventDefault();
- S(this).siblings('.right-submenu').toggleClass(move_class + left_postfix);
- } else if (parent.hasClass('back')) {
- e.preventDefault();
- parent.parent().removeClass(move_class + left_postfix);
- }
- $('.right-off-canvas-toggle').attr('aria-expanded', 'true');
- })
- .on('click.fndtn.offcanvas', '.exit-off-canvas', function (e) {
- self.click_remove_class(e, move_class + left_postfix);
- S('.right-submenu').removeClass(move_class + left_postfix);
- if (right_postfix) {
- self.click_remove_class(e, move_class + right_postfix);
- S('.left-submenu').removeClass(move_class + left_postfix);
- }
- $('.right-off-canvas-toggle').attr('aria-expanded', 'true');
- })
- .on('click.fndtn.offcanvas', '.exit-off-canvas', function (e) {
- self.click_remove_class(e, move_class + left_postfix);
- $('.left-off-canvas-toggle').attr('aria-expanded', 'false');
- if (right_postfix) {
- self.click_remove_class(e, move_class + right_postfix);
- $('.right-off-canvas-toggle').attr('aria-expanded', 'false');
- }
- });
- },
-
- toggle : function (class_name, $off_canvas) {
- $off_canvas = $off_canvas || this.get_wrapper();
- if ($off_canvas.is('.' + class_name)) {
- this.hide(class_name, $off_canvas);
- } else {
- this.show(class_name, $off_canvas);
- }
- },
-
- show : function (class_name, $off_canvas) {
- $off_canvas = $off_canvas || this.get_wrapper();
- $off_canvas.trigger('open.fndtn.offcanvas');
- $off_canvas.addClass(class_name);
- },
-
- hide : function (class_name, $off_canvas) {
- $off_canvas = $off_canvas || this.get_wrapper();
- $off_canvas.trigger('close.fndtn.offcanvas');
- $off_canvas.removeClass(class_name);
- },
-
- click_toggle_class : function (e, class_name) {
- e.preventDefault();
- var $off_canvas = this.get_wrapper(e);
- this.toggle(class_name, $off_canvas);
- },
-
- click_remove_class : function (e, class_name) {
- e.preventDefault();
- var $off_canvas = this.get_wrapper(e);
- this.hide(class_name, $off_canvas);
- },
-
- get_settings : function (e) {
- var offcanvas = this.S(e.target).closest('[' + this.attr_name() + ']');
- return offcanvas.data(this.attr_name(true) + '-init') || this.settings;
- },
-
- get_wrapper : function (e) {
- var $off_canvas = this.S(e ? e.target : this.scope).closest('.off-canvas-wrap');
-
- if ($off_canvas.length === 0) {
- $off_canvas = this.S('.off-canvas-wrap');
- }
- return $off_canvas;
- },
-
- reflow : function () {}
- };
-}(jQuery, window, window.document));
diff --git a/library/foundation/js/foundation/foundation.orbit.js b/library/foundation/js/foundation/foundation.orbit.js
deleted file mode 100644
index 51e2a0453..000000000
--- a/library/foundation/js/foundation/foundation.orbit.js
+++ /dev/null
@@ -1,476 +0,0 @@
-;(function ($, window, document, undefined) {
- 'use strict';
-
- var noop = function () {};
-
- var Orbit = function (el, settings) {
- // Don't reinitialize plugin
- if (el.hasClass(settings.slides_container_class)) {
- return this;
- }
-
- var self = this,
- container,
- slides_container = el,
- number_container,
- bullets_container,
- timer_container,
- idx = 0,
- animate,
- timer,
- locked = false,
- adjust_height_after = false;
-
- self.slides = function () {
- return slides_container.children(settings.slide_selector);
- };
-
- self.slides().first().addClass(settings.active_slide_class);
-
- self.update_slide_number = function (index) {
- if (settings.slide_number) {
- number_container.find('span:first').text(parseInt(index) + 1);
- number_container.find('span:last').text(self.slides().length);
- }
- if (settings.bullets) {
- bullets_container.children().removeClass(settings.bullets_active_class);
- $(bullets_container.children().get(index)).addClass(settings.bullets_active_class);
- }
- };
-
- self.update_active_link = function (index) {
- var link = $('[data-orbit-link="' + self.slides().eq(index).attr('data-orbit-slide') + '"]');
- link.siblings().removeClass(settings.bullets_active_class);
- link.addClass(settings.bullets_active_class);
- };
-
- self.build_markup = function () {
- slides_container.wrap('<div class="' + settings.container_class + '"></div>');
- container = slides_container.parent();
- slides_container.addClass(settings.slides_container_class);
-
- if (settings.stack_on_small) {
- container.addClass(settings.stack_on_small_class);
- }
-
- if (settings.navigation_arrows) {
- container.append($('<a href="#"><span></span></a>').addClass(settings.prev_class));
- container.append($('<a href="#"><span></span></a>').addClass(settings.next_class));
- }
-
- if (settings.timer) {
- timer_container = $('<div>').addClass(settings.timer_container_class);
- timer_container.append('<span>');
- timer_container.append($('<div>').addClass(settings.timer_progress_class));
- timer_container.addClass(settings.timer_paused_class);
- container.append(timer_container);
- }
-
- if (settings.slide_number) {
- number_container = $('<div>').addClass(settings.slide_number_class);
- number_container.append('<span></span> ' + settings.slide_number_text + ' <span></span>');
- container.append(number_container);
- }
-
- if (settings.bullets) {
- bullets_container = $('<ol>').addClass(settings.bullets_container_class);
- container.append(bullets_container);
- bullets_container.wrap('<div class="orbit-bullets-container"></div>');
- self.slides().each(function (idx, el) {
- var bullet = $('<li>').attr('data-orbit-slide', idx).on('click', self.link_bullet);;
- bullets_container.append(bullet);
- });
- }
-
- };
-
- self._goto = function (next_idx, start_timer) {
- // if (locked) {return false;}
- if (next_idx === idx) {return false;}
- if (typeof timer === 'object') {timer.restart();}
- var slides = self.slides();
-
- var dir = 'next';
- locked = true;
- if (next_idx < idx) {dir = 'prev';}
- if (next_idx >= slides.length) {
- if (!settings.circular) {
- return false;
- }
- next_idx = 0;
- } else if (next_idx < 0) {
- if (!settings.circular) {
- return false;
- }
- next_idx = slides.length - 1;
- }
-
- var current = $(slides.get(idx));
- var next = $(slides.get(next_idx));
-
- current.css('zIndex', 2);
- current.removeClass(settings.active_slide_class);
- next.css('zIndex', 4).addClass(settings.active_slide_class);
-
- slides_container.trigger('before-slide-change.fndtn.orbit');
- settings.before_slide_change();
- self.update_active_link(next_idx);
-
- var callback = function () {
- var unlock = function () {
- idx = next_idx;
- locked = false;
- if (start_timer === true) {timer = self.create_timer(); timer.start();}
- self.update_slide_number(idx);
- slides_container.trigger('after-slide-change.fndtn.orbit', [{slide_number : idx, total_slides : slides.length}]);
- settings.after_slide_change(idx, slides.length);
- };
- if (slides_container.outerHeight() != next.outerHeight() && settings.variable_height) {
- slides_container.animate({'height': next.outerHeight()}, 250, 'linear', unlock);
- } else {
- unlock();
- }
- };
-
- if (slides.length === 1) {callback(); return false;}
-
- var start_animation = function () {
- if (dir === 'next') {animate.next(current, next, callback);}
- if (dir === 'prev') {animate.prev(current, next, callback);}
- };
-
- if (next.outerHeight() > slides_container.outerHeight() && settings.variable_height) {
- slides_container.animate({'height': next.outerHeight()}, 250, 'linear', start_animation);
- } else {
- start_animation();
- }
- };
-
- self.next = function (e) {
- e.stopImmediatePropagation();
- e.preventDefault();
- self._goto(idx + 1);
- };
-
- self.prev = function (e) {
- e.stopImmediatePropagation();
- e.preventDefault();
- self._goto(idx - 1);
- };
-
- self.link_custom = function (e) {
- e.preventDefault();
- var link = $(this).attr('data-orbit-link');
- if ((typeof link === 'string') && (link = $.trim(link)) != '') {
- var slide = container.find('[data-orbit-slide=' + link + ']');
- if (slide.index() != -1) {self._goto(slide.index());}
- }
- };
-
- self.link_bullet = function (e) {
- var index = $(this).attr('data-orbit-slide');
- if ((typeof index === 'string') && (index = $.trim(index)) != '') {
- if (isNaN(parseInt(index))) {
- var slide = container.find('[data-orbit-slide=' + index + ']');
- if (slide.index() != -1) {self._goto(slide.index() + 1);}
- } else {
- self._goto(parseInt(index));
- }
- }
-
- }
-
- self.timer_callback = function () {
- self._goto(idx + 1, true);
- }
-
- self.compute_dimensions = function () {
- var current = $(self.slides().get(idx));
- var h = current.outerHeight();
- if (!settings.variable_height) {
- self.slides().each(function(){
- if ($(this).outerHeight() > h) { h = $(this).outerHeight(); }
- });
- }
- slides_container.height(h);
- };
-
- self.create_timer = function () {
- var t = new Timer(
- container.find('.' + settings.timer_container_class),
- settings,
- self.timer_callback
- );
- return t;
- };
-
- self.stop_timer = function () {
- if (typeof timer === 'object') {
- timer.stop();
- }
- };
-
- self.toggle_timer = function () {
- var t = container.find('.' + settings.timer_container_class);
- if (t.hasClass(settings.timer_paused_class)) {
- if (typeof timer === 'undefined') {timer = self.create_timer();}
- timer.start();
- } else {
- if (typeof timer === 'object') {timer.stop();}
- }
- };
-
- self.init = function () {
- self.build_markup();
- if (settings.timer) {
- timer = self.create_timer();
- Foundation.utils.image_loaded(this.slides().children('img'), timer.start);
- }
- animate = new FadeAnimation(settings, slides_container);
- if (settings.animation === 'slide') {
- animate = new SlideAnimation(settings, slides_container);
- }
-
- container.on('click', '.' + settings.next_class, self.next);
- container.on('click', '.' + settings.prev_class, self.prev);
-
- if (settings.next_on_click) {
- container.on('click', '.' + settings.slides_container_class + ' [data-orbit-slide]', self.link_bullet);
- }
-
- container.on('click', self.toggle_timer);
- if (settings.swipe) {
- container.on('touchstart.fndtn.orbit', function (e) {
- if (!e.touches) {e = e.originalEvent;}
- var data = {
- start_page_x : e.touches[0].pageX,
- start_page_y : e.touches[0].pageY,
- start_time : (new Date()).getTime(),
- delta_x : 0,
- is_scrolling : undefined
- };
- container.data('swipe-transition', data);
- e.stopPropagation();
- })
- .on('touchmove.fndtn.orbit', function (e) {
- if (!e.touches) {
- e = e.originalEvent;
- }
- // Ignore pinch/zoom events
- if (e.touches.length > 1 || e.scale && e.scale !== 1) {
- return;
- }
-
- var data = container.data('swipe-transition');
- if (typeof data === 'undefined') {data = {};}
-
- data.delta_x = e.touches[0].pageX - data.start_page_x;
-
- if ( typeof data.is_scrolling === 'undefined') {
- data.is_scrolling = !!( data.is_scrolling || Math.abs(data.delta_x) < Math.abs(e.touches[0].pageY - data.start_page_y) );
- }
-
- if (!data.is_scrolling && !data.active) {
- e.preventDefault();
- var direction = (data.delta_x < 0) ? (idx + 1) : (idx - 1);
- data.active = true;
- self._goto(direction);
- }
- })
- .on('touchend.fndtn.orbit', function (e) {
- container.data('swipe-transition', {});
- e.stopPropagation();
- })
- }
- container.on('mouseenter.fndtn.orbit', function (e) {
- if (settings.timer && settings.pause_on_hover) {
- self.stop_timer();
- }
- })
- .on('mouseleave.fndtn.orbit', function (e) {
- if (settings.timer && settings.resume_on_mouseout) {
- timer.start();
- }
- });
-
- $(document).on('click', '[data-orbit-link]', self.link_custom);
- $(window).on('load resize', self.compute_dimensions);
- Foundation.utils.image_loaded(this.slides().children('img'), self.compute_dimensions);
- Foundation.utils.image_loaded(this.slides().children('img'), function () {
- container.prev('.' + settings.preloader_class).css('display', 'none');
- self.update_slide_number(0);
- self.update_active_link(0);
- slides_container.trigger('ready.fndtn.orbit');
- });
- };
-
- self.init();
- };
-
- var Timer = function (el, settings, callback) {
- var self = this,
- duration = settings.timer_speed,
- progress = el.find('.' + settings.timer_progress_class),
- start,
- timeout,
- left = -1;
-
- this.update_progress = function (w) {
- var new_progress = progress.clone();
- new_progress.attr('style', '');
- new_progress.css('width', w + '%');
- progress.replaceWith(new_progress);
- progress = new_progress;
- };
-
- this.restart = function () {
- clearTimeout(timeout);
- el.addClass(settings.timer_paused_class);
- left = -1;
- self.update_progress(0);
- };
-
- this.start = function () {
- if (!el.hasClass(settings.timer_paused_class)) {return true;}
- left = (left === -1) ? duration : left;
- el.removeClass(settings.timer_paused_class);
- start = new Date().getTime();
- progress.animate({'width' : '100%'}, left, 'linear');
- timeout = setTimeout(function () {
- self.restart();
- callback();
- }, left);
- el.trigger('timer-started.fndtn.orbit')
- };
-
- this.stop = function () {
- if (el.hasClass(settings.timer_paused_class)) {return true;}
- clearTimeout(timeout);
- el.addClass(settings.timer_paused_class);
- var end = new Date().getTime();
- left = left - (end - start);
- var w = 100 - ((left / duration) * 100);
- self.update_progress(w);
- el.trigger('timer-stopped.fndtn.orbit');
- };
- };
-
- var SlideAnimation = function (settings, container) {
- var duration = settings.animation_speed;
- var is_rtl = ($('html[dir=rtl]').length === 1);
- var margin = is_rtl ? 'marginRight' : 'marginLeft';
- var animMargin = {};
- animMargin[margin] = '0%';
-
- this.next = function (current, next, callback) {
- current.animate({marginLeft : '-100%'}, duration);
- next.animate(animMargin, duration, function () {
- current.css(margin, '100%');
- callback();
- });
- };
-
- this.prev = function (current, prev, callback) {
- current.animate({marginLeft : '100%'}, duration);
- prev.css(margin, '-100%');
- prev.animate(animMargin, duration, function () {
- current.css(margin, '100%');
- callback();
- });
- };
- };
-
- var FadeAnimation = function (settings, container) {
- var duration = settings.animation_speed;
- var is_rtl = ($('html[dir=rtl]').length === 1);
- var margin = is_rtl ? 'marginRight' : 'marginLeft';
-
- this.next = function (current, next, callback) {
- next.css({'margin' : '0%', 'opacity' : '0.01'});
- next.animate({'opacity' :'1'}, duration, 'linear', function () {
- current.css('margin', '100%');
- callback();
- });
- };
-
- this.prev = function (current, prev, callback) {
- prev.css({'margin' : '0%', 'opacity' : '0.01'});
- prev.animate({'opacity' : '1'}, duration, 'linear', function () {
- current.css('margin', '100%');
- callback();
- });
- };
- };
-
- Foundation.libs = Foundation.libs || {};
-
- Foundation.libs.orbit = {
- name : 'orbit',
-
- version : '5.5.2',
-
- settings : {
- animation : 'slide',
- timer_speed : 10000,
- pause_on_hover : true,
- resume_on_mouseout : false,
- next_on_click : true,
- animation_speed : 500,
- stack_on_small : false,
- navigation_arrows : true,
- slide_number : true,
- slide_number_text : 'of',
- container_class : 'orbit-container',
- stack_on_small_class : 'orbit-stack-on-small',
- next_class : 'orbit-next',
- prev_class : 'orbit-prev',
- timer_container_class : 'orbit-timer',
- timer_paused_class : 'paused',
- timer_progress_class : 'orbit-progress',
- slides_container_class : 'orbit-slides-container',
- preloader_class : 'preloader',
- slide_selector : '*',
- bullets_container_class : 'orbit-bullets',
- bullets_active_class : 'active',
- slide_number_class : 'orbit-slide-number',
- caption_class : 'orbit-caption',
- active_slide_class : 'active',
- orbit_transition_class : 'orbit-transitioning',
- bullets : true,
- circular : true,
- timer : true,
- variable_height : false,
- swipe : true,
- before_slide_change : noop,
- after_slide_change : noop
- },
-
- init : function (scope, method, options) {
- var self = this;
- this.bindings(method, options);
- },
-
- events : function (instance) {
- var orbit_instance = new Orbit(this.S(instance), this.S(instance).data('orbit-init'));
- this.S(instance).data(this.name + '-instance', orbit_instance);
- },
-
- reflow : function () {
- var self = this;
-
- if (self.S(self.scope).is('[data-orbit]')) {
- var $el = self.S(self.scope);
- var instance = $el.data(self.name + '-instance');
- instance.compute_dimensions();
- } else {
- self.S('[data-orbit]', self.scope).each(function (idx, el) {
- var $el = self.S(el);
- var opts = self.data_options($el);
- var instance = $el.data(self.name + '-instance');
- instance.compute_dimensions();
- });
- }
- }
- };
-
-}(jQuery, window, window.document));
diff --git a/library/foundation/js/foundation/foundation.reveal.js b/library/foundation/js/foundation/foundation.reveal.js
deleted file mode 100644
index f049f8049..000000000
--- a/library/foundation/js/foundation/foundation.reveal.js
+++ /dev/null
@@ -1,498 +0,0 @@
-;(function ($, window, document, undefined) {
- 'use strict';
-
- Foundation.libs.reveal = {
- name : 'reveal',
-
- version : '5.5.2',
-
- locked : false,
-
- settings : {
- animation : 'fadeAndPop',
- animation_speed : 250,
- close_on_background_click : true,
- close_on_esc : true,
- dismiss_modal_class : 'close-reveal-modal',
- multiple_opened : false,
- bg_class : 'reveal-modal-bg',
- root_element : 'body',
- open : function(){},
- opened : function(){},
- close : function(){},
- closed : function(){},
- on_ajax_error: $.noop,
- bg : $('.reveal-modal-bg'),
- css : {
- open : {
- 'opacity' : 0,
- 'visibility' : 'visible',
- 'display' : 'block'
- },
- close : {
- 'opacity' : 1,
- 'visibility' : 'hidden',
- 'display' : 'none'
- }
- }
- },
-
- init : function (scope, method, options) {
- $.extend(true, this.settings, method, options);
- this.bindings(method, options);
- },
-
- events : function (scope) {
- var self = this,
- S = self.S;
-
- S(this.scope)
- .off('.reveal')
- .on('click.fndtn.reveal', '[' + this.add_namespace('data-reveal-id') + ']:not([disabled])', function (e) {
- e.preventDefault();
-
- if (!self.locked) {
- var element = S(this),
- ajax = element.data(self.data_attr('reveal-ajax')),
- replaceContentSel = element.data(self.data_attr('reveal-replace-content'));
-
- self.locked = true;
-
- if (typeof ajax === 'undefined') {
- self.open.call(self, element);
- } else {
- var url = ajax === true ? element.attr('href') : ajax;
- self.open.call(self, element, {url : url}, { replaceContentSel : replaceContentSel });
- }
- }
- });
-
- S(document)
- .on('click.fndtn.reveal', this.close_targets(), function (e) {
- e.preventDefault();
- if (!self.locked) {
- var settings = S('[' + self.attr_name() + '].open').data(self.attr_name(true) + '-init') || self.settings,
- bg_clicked = S(e.target)[0] === S('.' + settings.bg_class)[0];
-
- if (bg_clicked) {
- if (settings.close_on_background_click) {
- e.stopPropagation();
- } else {
- return;
- }
- }
-
- self.locked = true;
- self.close.call(self, bg_clicked ? S('[' + self.attr_name() + '].open:not(.toback)') : S(this).closest('[' + self.attr_name() + ']'));
- }
- });
-
- if (S('[' + self.attr_name() + ']', this.scope).length > 0) {
- S(this.scope)
- // .off('.reveal')
- .on('open.fndtn.reveal', this.settings.open)
- .on('opened.fndtn.reveal', this.settings.opened)
- .on('opened.fndtn.reveal', this.open_video)
- .on('close.fndtn.reveal', this.settings.close)
- .on('closed.fndtn.reveal', this.settings.closed)
- .on('closed.fndtn.reveal', this.close_video);
- } else {
- S(this.scope)
- // .off('.reveal')
- .on('open.fndtn.reveal', '[' + self.attr_name() + ']', this.settings.open)
- .on('opened.fndtn.reveal', '[' + self.attr_name() + ']', this.settings.opened)
- .on('opened.fndtn.reveal', '[' + self.attr_name() + ']', this.open_video)
- .on('close.fndtn.reveal', '[' + self.attr_name() + ']', this.settings.close)
- .on('closed.fndtn.reveal', '[' + self.attr_name() + ']', this.settings.closed)
- .on('closed.fndtn.reveal', '[' + self.attr_name() + ']', this.close_video);
- }
-
- return true;
- },
-
- // PATCH #3: turning on key up capture only when a reveal window is open
- key_up_on : function (scope) {
- var self = this;
-
- // PATCH #1: fixing multiple keyup event trigger from single key press
- self.S('body').off('keyup.fndtn.reveal').on('keyup.fndtn.reveal', function ( event ) {
- var open_modal = self.S('[' + self.attr_name() + '].open'),
- settings = open_modal.data(self.attr_name(true) + '-init') || self.settings ;
- // PATCH #2: making sure that the close event can be called only while unlocked,
- // so that multiple keyup.fndtn.reveal events don't prevent clean closing of the reveal window.
- if ( settings && event.which === 27 && settings.close_on_esc && !self.locked) { // 27 is the keycode for the Escape key
- self.close.call(self, open_modal);
- }
- });
-
- return true;
- },
-
- // PATCH #3: turning on key up capture only when a reveal window is open
- key_up_off : function (scope) {
- this.S('body').off('keyup.fndtn.reveal');
- return true;
- },
-
- open : function (target, ajax_settings) {
- var self = this,
- modal;
-
- if (target) {
- if (typeof target.selector !== 'undefined') {
- // Find the named node; only use the first one found, since the rest of the code assumes there's only one node
- modal = self.S('#' + target.data(self.data_attr('reveal-id'))).first();
- } else {
- modal = self.S(this.scope);
-
- ajax_settings = target;
- }
- } else {
- modal = self.S(this.scope);
- }
-
- var settings = modal.data(self.attr_name(true) + '-init');
- settings = settings || this.settings;
-
-
- if (modal.hasClass('open') && target.attr('data-reveal-id') == modal.attr('id')) {
- return self.close(modal);
- }
-
- if (!modal.hasClass('open')) {
- var open_modal = self.S('[' + self.attr_name() + '].open');
-
- if (typeof modal.data('css-top') === 'undefined') {
- modal.data('css-top', parseInt(modal.css('top'), 10))
- .data('offset', this.cache_offset(modal));
- }
-
- modal.attr('tabindex','0').attr('aria-hidden','false');
-
- this.key_up_on(modal); // PATCH #3: turning on key up capture only when a reveal window is open
-
- // Prevent namespace event from triggering twice
- modal.on('open.fndtn.reveal', function(e) {
- if (e.namespace !== 'fndtn.reveal') return;
- });
-
- modal.on('open.fndtn.reveal').trigger('open.fndtn.reveal');
-
- if (open_modal.length < 1) {
- this.toggle_bg(modal, true);
- }
-
- if (typeof ajax_settings === 'string') {
- ajax_settings = {
- url : ajax_settings
- };
- }
-
- if (typeof ajax_settings === 'undefined' || !ajax_settings.url) {
- if (open_modal.length > 0) {
- if (settings.multiple_opened) {
- self.to_back(open_modal);
- } else {
- self.hide(open_modal, settings.css.close);
- }
- }
-
- this.show(modal, settings.css.open);
- } else {
- var old_success = typeof ajax_settings.success !== 'undefined' ? ajax_settings.success : null;
- $.extend(ajax_settings, {
- success : function (data, textStatus, jqXHR) {
- if ( $.isFunction(old_success) ) {
- var result = old_success(data, textStatus, jqXHR);
- if (typeof result == 'string') {
- data = result;
- }
- }
-
- if (typeof options !== 'undefined' && typeof options.replaceContentSel !== 'undefined') {
- modal.find(options.replaceContentSel).html(data);
- } else {
- modal.html(data);
- }
-
- self.S(modal).foundation('section', 'reflow');
- self.S(modal).children().foundation();
-
- if (open_modal.length > 0) {
- if (settings.multiple_opened) {
- self.to_back(open_modal);
- } else {
- self.hide(open_modal, settings.css.close);
- }
- }
- self.show(modal, settings.css.open);
- }
- });
-
- // check for if user initalized with error callback
- if (settings.on_ajax_error !== $.noop) {
- $.extend(ajax_settings, {
- error : settings.on_ajax_error
- });
- }
-
- $.ajax(ajax_settings);
- }
- }
- self.S(window).trigger('resize');
- },
-
- close : function (modal) {
- var modal = modal && modal.length ? modal : this.S(this.scope),
- open_modals = this.S('[' + this.attr_name() + '].open'),
- settings = modal.data(this.attr_name(true) + '-init') || this.settings,
- self = this;
-
- if (open_modals.length > 0) {
-
- modal.removeAttr('tabindex','0').attr('aria-hidden','true');
-
- this.locked = true;
- this.key_up_off(modal); // PATCH #3: turning on key up capture only when a reveal window is open
-
- modal.trigger('close.fndtn.reveal');
-
- if ((settings.multiple_opened && open_modals.length === 1) || !settings.multiple_opened || modal.length > 1) {
- self.toggle_bg(modal, false);
- self.to_front(modal);
- }
-
- if (settings.multiple_opened) {
- self.hide(modal, settings.css.close, settings);
- self.to_front($($.makeArray(open_modals).reverse()[1]));
- } else {
- self.hide(open_modals, settings.css.close, settings);
- }
- }
- },
-
- close_targets : function () {
- var base = '.' + this.settings.dismiss_modal_class;
-
- if (this.settings.close_on_background_click) {
- return base + ', .' + this.settings.bg_class;
- }
-
- return base;
- },
-
- toggle_bg : function (modal, state) {
- if (this.S('.' + this.settings.bg_class).length === 0) {
- this.settings.bg = $('<div />', {'class': this.settings.bg_class})
- .appendTo('body').hide();
- }
-
- var visible = this.settings.bg.filter(':visible').length > 0;
- if ( state != visible ) {
- if ( state == undefined ? visible : !state ) {
- this.hide(this.settings.bg);
- } else {
- this.show(this.settings.bg);
- }
- }
- },
-
- show : function (el, css) {
- // is modal
- if (css) {
- var settings = el.data(this.attr_name(true) + '-init') || this.settings,
- root_element = settings.root_element,
- context = this;
-
- if (el.parent(root_element).length === 0) {
- var placeholder = el.wrap('<div style="display: none;" />').parent();
-
- el.on('closed.fndtn.reveal.wrapped', function () {
- el.detach().appendTo(placeholder);
- el.unwrap().unbind('closed.fndtn.reveal.wrapped');
- });
-
- el.detach().appendTo(root_element);
- }
-
- var animData = getAnimationData(settings.animation);
- if (!animData.animate) {
- this.locked = false;
- }
- if (animData.pop) {
- css.top = $(window).scrollTop() - el.data('offset') + 'px';
- var end_css = {
- top: $(window).scrollTop() + el.data('css-top') + 'px',
- opacity: 1
- };
-
- return setTimeout(function () {
- return el
- .css(css)
- .animate(end_css, settings.animation_speed, 'linear', function () {
- context.locked = false;
- el.trigger('opened.fndtn.reveal');
- })
- .addClass('open');
- }, settings.animation_speed / 2);
- }
-
- if (animData.fade) {
- css.top = $(window).scrollTop() + el.data('css-top') + 'px';
- var end_css = {opacity: 1};
-
- return setTimeout(function () {
- return el
- .css(css)
- .animate(end_css, settings.animation_speed, 'linear', function () {
- context.locked = false;
- el.trigger('opened.fndtn.reveal');
- })
- .addClass('open');
- }, settings.animation_speed / 2);
- }
-
- return el.css(css).show().css({opacity : 1}).addClass('open').trigger('opened.fndtn.reveal');
- }
-
- var settings = this.settings;
-
- // should we animate the background?
- if (getAnimationData(settings.animation).fade) {
- return el.fadeIn(settings.animation_speed / 2);
- }
-
- this.locked = false;
-
- return el.show();
- },
-
- to_back : function(el) {
- el.addClass('toback');
- },
-
- to_front : function(el) {
- el.removeClass('toback');
- },
-
- hide : function (el, css) {
- // is modal
- if (css) {
- var settings = el.data(this.attr_name(true) + '-init'),
- context = this;
- settings = settings || this.settings;
-
- var animData = getAnimationData(settings.animation);
- if (!animData.animate) {
- this.locked = false;
- }
- if (animData.pop) {
- var end_css = {
- top: - $(window).scrollTop() - el.data('offset') + 'px',
- opacity: 0
- };
-
- return setTimeout(function () {
- return el
- .animate(end_css, settings.animation_speed, 'linear', function () {
- context.locked = false;
- el.css(css).trigger('closed.fndtn.reveal');
- })
- .removeClass('open');
- }, settings.animation_speed / 2);
- }
-
- if (animData.fade) {
- var end_css = {opacity : 0};
-
- return setTimeout(function () {
- return el
- .animate(end_css, settings.animation_speed, 'linear', function () {
- context.locked = false;
- el.css(css).trigger('closed.fndtn.reveal');
- })
- .removeClass('open');
- }, settings.animation_speed / 2);
- }
-
- return el.hide().css(css).removeClass('open').trigger('closed.fndtn.reveal');
- }
-
- var settings = this.settings;
-
- // should we animate the background?
- if (getAnimationData(settings.animation).fade) {
- return el.fadeOut(settings.animation_speed / 2);
- }
-
- return el.hide();
- },
-
- close_video : function (e) {
- var video = $('.flex-video', e.target),
- iframe = $('iframe', video);
-
- if (iframe.length > 0) {
- iframe.attr('data-src', iframe[0].src);
- iframe.attr('src', iframe.attr('src'));
- video.hide();
- }
- },
-
- open_video : function (e) {
- var video = $('.flex-video', e.target),
- iframe = video.find('iframe');
-
- if (iframe.length > 0) {
- var data_src = iframe.attr('data-src');
- if (typeof data_src === 'string') {
- iframe[0].src = iframe.attr('data-src');
- } else {
- var src = iframe[0].src;
- iframe[0].src = undefined;
- iframe[0].src = src;
- }
- video.show();
- }
- },
-
- data_attr : function (str) {
- if (this.namespace.length > 0) {
- return this.namespace + '-' + str;
- }
-
- return str;
- },
-
- cache_offset : function (modal) {
- var offset = modal.show().height() + parseInt(modal.css('top'), 10) + modal.scrollY;
-
- modal.hide();
-
- return offset;
- },
-
- off : function () {
- $(this.scope).off('.fndtn.reveal');
- },
-
- reflow : function () {}
- };
-
- /*
- * getAnimationData('popAndFade') // {animate: true, pop: true, fade: true}
- * getAnimationData('fade') // {animate: true, pop: false, fade: true}
- * getAnimationData('pop') // {animate: true, pop: true, fade: false}
- * getAnimationData('foo') // {animate: false, pop: false, fade: false}
- * getAnimationData(null) // {animate: false, pop: false, fade: false}
- */
- function getAnimationData(str) {
- var fade = /fade/i.test(str);
- var pop = /pop/i.test(str);
- return {
- animate : fade || pop,
- pop : pop,
- fade : fade
- };
- }
-}(jQuery, window, window.document));
diff --git a/library/foundation/js/foundation/foundation.slider.js b/library/foundation/js/foundation/foundation.slider.js
deleted file mode 100644
index 5c8a40f9d..000000000
--- a/library/foundation/js/foundation/foundation.slider.js
+++ /dev/null
@@ -1,281 +0,0 @@
-;(function ($, window, document, undefined) {
- 'use strict';
-
- Foundation.libs.slider = {
- name : 'slider',
-
- version : '5.5.2',
-
- settings : {
- start : 0,
- end : 100,
- step : 1,
- precision : null,
- initial : null,
- display_selector : '',
- vertical : false,
- trigger_input_change : false,
- on_change : function () {}
- },
-
- cache : {},
-
- init : function (scope, method, options) {
- Foundation.inherit(this, 'throttle');
- this.bindings(method, options);
- this.reflow();
- },
-
- events : function () {
- var self = this;
-
- $(this.scope)
- .off('.slider')
- .on('mousedown.fndtn.slider touchstart.fndtn.slider pointerdown.fndtn.slider',
- '[' + self.attr_name() + ']:not(.disabled, [disabled]) .range-slider-handle', function (e) {
- if (!self.cache.active) {
- e.preventDefault();
- self.set_active_slider($(e.target));
- }
- })
- .on('mousemove.fndtn.slider touchmove.fndtn.slider pointermove.fndtn.slider', function (e) {
- if (!!self.cache.active) {
- e.preventDefault();
- if ($.data(self.cache.active[0], 'settings').vertical) {
- var scroll_offset = 0;
- if (!e.pageY) {
- scroll_offset = window.scrollY;
- }
- self.calculate_position(self.cache.active, self.get_cursor_position(e, 'y') + scroll_offset);
- } else {
- self.calculate_position(self.cache.active, self.get_cursor_position(e, 'x'));
- }
- }
- })
- .on('mouseup.fndtn.slider touchend.fndtn.slider pointerup.fndtn.slider', function (e) {
- self.remove_active_slider();
- })
- .on('change.fndtn.slider', function (e) {
- self.settings.on_change();
- });
-
- self.S(window)
- .on('resize.fndtn.slider', self.throttle(function (e) {
- self.reflow();
- }, 300));
-
- // update slider value as users change input value
- this.S('[' + this.attr_name() + ']').each(function () {
- var slider = $(this),
- handle = slider.children('.range-slider-handle')[0],
- settings = self.initialize_settings(handle);
-
- if (settings.display_selector != '') {
- $(settings.display_selector).each(function(){
- if (this.hasOwnProperty('value')) {
- $(this).change(function(){
- // is there a better way to do this?
- slider.foundation("slider", "set_value", $(this).val());
- });
- }
- });
- }
- });
- },
-
- get_cursor_position : function (e, xy) {
- var pageXY = 'page' + xy.toUpperCase(),
- clientXY = 'client' + xy.toUpperCase(),
- position;
-
- if (typeof e[pageXY] !== 'undefined') {
- position = e[pageXY];
- } else if (typeof e.originalEvent[clientXY] !== 'undefined') {
- position = e.originalEvent[clientXY];
- } else if (e.originalEvent.touches && e.originalEvent.touches[0] && typeof e.originalEvent.touches[0][clientXY] !== 'undefined') {
- position = e.originalEvent.touches[0][clientXY];
- } else if (e.currentPoint && typeof e.currentPoint[xy] !== 'undefined') {
- position = e.currentPoint[xy];
- }
-
- return position;
- },
-
- set_active_slider : function ($handle) {
- this.cache.active = $handle;
- },
-
- remove_active_slider : function () {
- this.cache.active = null;
- },
-
- calculate_position : function ($handle, cursor_x) {
- var self = this,
- settings = $.data($handle[0], 'settings'),
- handle_l = $.data($handle[0], 'handle_l'),
- handle_o = $.data($handle[0], 'handle_o'),
- bar_l = $.data($handle[0], 'bar_l'),
- bar_o = $.data($handle[0], 'bar_o');
-
- requestAnimationFrame(function () {
- var pct;
-
- if (Foundation.rtl && !settings.vertical) {
- pct = self.limit_to(((bar_o + bar_l - cursor_x) / bar_l), 0, 1);
- } else {
- pct = self.limit_to(((cursor_x - bar_o) / bar_l), 0, 1);
- }
-
- pct = settings.vertical ? 1 - pct : pct;
-
- var norm = self.normalized_value(pct, settings.start, settings.end, settings.step, settings.precision);
-
- self.set_ui($handle, norm);
- });
- },
-
- set_ui : function ($handle, value) {
- var settings = $.data($handle[0], 'settings'),
- handle_l = $.data($handle[0], 'handle_l'),
- bar_l = $.data($handle[0], 'bar_l'),
- norm_pct = this.normalized_percentage(value, settings.start, settings.end),
- handle_offset = norm_pct * (bar_l - handle_l) - 1,
- progress_bar_length = norm_pct * 100,
- $handle_parent = $handle.parent(),
- $hidden_inputs = $handle.parent().children('input[type=hidden]');
-
- if (Foundation.rtl && !settings.vertical) {
- handle_offset = -handle_offset;
- }
-
- handle_offset = settings.vertical ? -handle_offset + bar_l - handle_l + 1 : handle_offset;
- this.set_translate($handle, handle_offset, settings.vertical);
-
- if (settings.vertical) {
- $handle.siblings('.range-slider-active-segment').css('height', progress_bar_length + '%');
- } else {
- $handle.siblings('.range-slider-active-segment').css('width', progress_bar_length + '%');
- }
-
- $handle_parent.attr(this.attr_name(), value).trigger('change.fndtn.slider');
-
- $hidden_inputs.val(value);
- if (settings.trigger_input_change) {
- $hidden_inputs.trigger('change.fndtn.slider');
- }
-
- if (!$handle[0].hasAttribute('aria-valuemin')) {
- $handle.attr({
- 'aria-valuemin' : settings.start,
- 'aria-valuemax' : settings.end
- });
- }
- $handle.attr('aria-valuenow', value);
-
- if (settings.display_selector != '') {
- $(settings.display_selector).each(function () {
- if (this.hasAttribute('value')) {
- $(this).val(value);
- } else {
- $(this).text(value);
- }
- });
- }
-
- },
-
- normalized_percentage : function (val, start, end) {
- return Math.min(1, (val - start) / (end - start));
- },
-
- normalized_value : function (val, start, end, step, precision) {
- var range = end - start,
- point = val * range,
- mod = (point - (point % step)) / step,
- rem = point % step,
- round = ( rem >= step * 0.5 ? step : 0);
- return ((mod * step + round) + start).toFixed(precision);
- },
-
- set_translate : function (ele, offset, vertical) {
- if (vertical) {
- $(ele)
- .css('-webkit-transform', 'translateY(' + offset + 'px)')
- .css('-moz-transform', 'translateY(' + offset + 'px)')
- .css('-ms-transform', 'translateY(' + offset + 'px)')
- .css('-o-transform', 'translateY(' + offset + 'px)')
- .css('transform', 'translateY(' + offset + 'px)');
- } else {
- $(ele)
- .css('-webkit-transform', 'translateX(' + offset + 'px)')
- .css('-moz-transform', 'translateX(' + offset + 'px)')
- .css('-ms-transform', 'translateX(' + offset + 'px)')
- .css('-o-transform', 'translateX(' + offset + 'px)')
- .css('transform', 'translateX(' + offset + 'px)');
- }
- },
-
- limit_to : function (val, min, max) {
- return Math.min(Math.max(val, min), max);
- },
-
- initialize_settings : function (handle) {
- var settings = $.extend({}, this.settings, this.data_options($(handle).parent())),
- decimal_places_match_result;
-
- if (settings.precision === null) {
- decimal_places_match_result = ('' + settings.step).match(/\.([\d]*)/);
- settings.precision = decimal_places_match_result && decimal_places_match_result[1] ? decimal_places_match_result[1].length : 0;
- }
-
- if (settings.vertical) {
- $.data(handle, 'bar_o', $(handle).parent().offset().top);
- $.data(handle, 'bar_l', $(handle).parent().outerHeight());
- $.data(handle, 'handle_o', $(handle).offset().top);
- $.data(handle, 'handle_l', $(handle).outerHeight());
- } else {
- $.data(handle, 'bar_o', $(handle).parent().offset().left);
- $.data(handle, 'bar_l', $(handle).parent().outerWidth());
- $.data(handle, 'handle_o', $(handle).offset().left);
- $.data(handle, 'handle_l', $(handle).outerWidth());
- }
-
- $.data(handle, 'bar', $(handle).parent());
- return $.data(handle, 'settings', settings);
- },
-
- set_initial_position : function ($ele) {
- var settings = $.data($ele.children('.range-slider-handle')[0], 'settings'),
- initial = ((typeof settings.initial == 'number' && !isNaN(settings.initial)) ? settings.initial : Math.floor((settings.end - settings.start) * 0.5 / settings.step) * settings.step + settings.start),
- $handle = $ele.children('.range-slider-handle');
- this.set_ui($handle, initial);
- },
-
- set_value : function (value) {
- var self = this;
- $('[' + self.attr_name() + ']', this.scope).each(function () {
- $(this).attr(self.attr_name(), value);
- });
- if (!!$(this.scope).attr(self.attr_name())) {
- $(this.scope).attr(self.attr_name(), value);
- }
- self.reflow();
- },
-
- reflow : function () {
- var self = this;
- self.S('[' + this.attr_name() + ']').each(function () {
- var handle = $(this).children('.range-slider-handle')[0],
- val = $(this).attr(self.attr_name());
- self.initialize_settings(handle);
-
- if (val) {
- self.set_ui($(handle), parseFloat(val));
- } else {
- self.set_initial_position($(this));
- }
- });
- }
- };
-
-}(jQuery, window, window.document));
diff --git a/library/foundation/js/foundation/foundation.tab.js b/library/foundation/js/foundation/foundation.tab.js
deleted file mode 100644
index 7875dbe9f..000000000
--- a/library/foundation/js/foundation/foundation.tab.js
+++ /dev/null
@@ -1,249 +0,0 @@
-;(function ($, window, document, undefined) {
- 'use strict';
-
- Foundation.libs.tab = {
- name : 'tab',
-
- version : '5.5.2',
-
- settings : {
- active_class : 'active',
- callback : function () {},
- deep_linking : false,
- scroll_to_content : true,
- is_hover : false
- },
-
- default_tab_hashes : [],
-
- init : function (scope, method, options) {
- var self = this,
- S = this.S;
-
- // Store the default active tabs which will be referenced when the
- // location hash is absent, as in the case of navigating the tabs and
- // returning to the first viewing via the browser Back button.
- S('[' + this.attr_name() + '] > .active > a', this.scope).each(function () {
- self.default_tab_hashes.push(this.hash);
- });
-
- // store the initial href, which is used to allow correct behaviour of the
- // browser back button when deep linking is turned on.
- self.entry_location = window.location.href;
-
- this.bindings(method, options);
- this.handle_location_hash_change();
- },
-
- events : function () {
- var self = this,
- S = this.S;
-
- var usual_tab_behavior = function (e, target) {
- var settings = S(target).closest('[' + self.attr_name() + ']').data(self.attr_name(true) + '-init');
- if (!settings.is_hover || Modernizr.touch) {
- e.preventDefault();
- e.stopPropagation();
- self.toggle_active_tab(S(target).parent());
- }
- };
-
- S(this.scope)
- .off('.tab')
- // Key event: focus/tab key
- .on('keydown.fndtn.tab', '[' + this.attr_name() + '] > * > a', function(e) {
- var el = this;
- var keyCode = e.keyCode || e.which;
- // if user pressed tab key
- if (keyCode == 9) {
- e.preventDefault();
- // TODO: Change usual_tab_behavior into accessibility function?
- usual_tab_behavior(e, el);
- }
- })
- // Click event: tab title
- .on('click.fndtn.tab', '[' + this.attr_name() + '] > * > a', function(e) {
- var el = this;
- usual_tab_behavior(e, el);
- })
- // Hover event: tab title
- .on('mouseenter.fndtn.tab', '[' + this.attr_name() + '] > * > a', function (e) {
- var settings = S(this).closest('[' + self.attr_name() + ']').data(self.attr_name(true) + '-init');
- if (settings.is_hover) {
- self.toggle_active_tab(S(this).parent());
- }
- });
-
- // Location hash change event
- S(window).on('hashchange.fndtn.tab', function (e) {
- e.preventDefault();
- self.handle_location_hash_change();
- });
- },
-
- handle_location_hash_change : function () {
-
- var self = this,
- S = this.S;
-
- S('[' + this.attr_name() + ']', this.scope).each(function () {
- var settings = S(this).data(self.attr_name(true) + '-init');
- if (settings.deep_linking) {
- // Match the location hash to a label
- var hash;
- if (settings.scroll_to_content) {
- hash = self.scope.location.hash;
- } else {
- // prefix the hash to prevent anchor scrolling
- hash = self.scope.location.hash.replace('fndtn-', '');
- }
- if (hash != '') {
- // Check whether the location hash references a tab content div or
- // another element on the page (inside or outside the tab content div)
- var hash_element = S(hash);
- if (hash_element.hasClass('content') && hash_element.parent().hasClass('tabs-content')) {
- // Tab content div
- self.toggle_active_tab($('[' + self.attr_name() + '] > * > a[href=' + hash + ']').parent());
- } else {
- // Not the tab content div. If inside the tab content, find the
- // containing tab and toggle it as active.
- var hash_tab_container_id = hash_element.closest('.content').attr('id');
- if (hash_tab_container_id != undefined) {
- self.toggle_active_tab($('[' + self.attr_name() + '] > * > a[href=#' + hash_tab_container_id + ']').parent(), hash);
- }
- }
- } else {
- // Reference the default tab hashes which were initialized in the init function
- for (var ind = 0; ind < self.default_tab_hashes.length; ind++) {
- self.toggle_active_tab($('[' + self.attr_name() + '] > * > a[href=' + self.default_tab_hashes[ind] + ']').parent());
- }
- }
- }
- });
- },
-
- toggle_active_tab : function (tab, location_hash) {
- var self = this,
- S = self.S,
- tabs = tab.closest('[' + this.attr_name() + ']'),
- tab_link = tab.find('a'),
- anchor = tab.children('a').first(),
- target_hash = '#' + anchor.attr('href').split('#')[1],
- target = S(target_hash),
- siblings = tab.siblings(),
- settings = tabs.data(this.attr_name(true) + '-init'),
- interpret_keyup_action = function (e) {
- // Light modification of Heydon Pickering's Practical ARIA Examples: http://heydonworks.com/practical_aria_examples/js/a11y.js
-
- // define current, previous and next (possible) tabs
-
- var $original = $(this);
- var $prev = $(this).parents('li').prev().children('[role="tab"]');
- var $next = $(this).parents('li').next().children('[role="tab"]');
- var $target;
-
- // find the direction (prev or next)
-
- switch (e.keyCode) {
- case 37:
- $target = $prev;
- break;
- case 39:
- $target = $next;
- break;
- default:
- $target = false
- break;
- }
-
- if ($target.length) {
- $original.attr({
- 'tabindex' : '-1',
- 'aria-selected' : null
- });
- $target.attr({
- 'tabindex' : '0',
- 'aria-selected' : true
- }).focus();
- }
-
- // Hide panels
-
- $('[role="tabpanel"]')
- .attr('aria-hidden', 'true');
-
- // Show panel which corresponds to target
-
- $('#' + $(document.activeElement).attr('href').substring(1))
- .attr('aria-hidden', null);
-
- },
- go_to_hash = function(hash) {
- // This function allows correct behaviour of the browser's back button when deep linking is enabled. Without it
- // the user would get continually redirected to the default hash.
- var is_entry_location = window.location.href === self.entry_location,
- default_hash = settings.scroll_to_content ? self.default_tab_hashes[0] : is_entry_location ? window.location.hash :'fndtn-' + self.default_tab_hashes[0].replace('#', '')
-
- if (!(is_entry_location && hash === default_hash)) {
- window.location.hash = hash;
- }
- };
-
- // allow usage of data-tab-content attribute instead of href
- if (anchor.data('tab-content')) {
- target_hash = '#' + anchor.data('tab-content').split('#')[1];
- target = S(target_hash);
- }
-
- if (settings.deep_linking) {
-
- if (settings.scroll_to_content) {
-
- // retain current hash to scroll to content
- go_to_hash(location_hash || target_hash);
-
- if (location_hash == undefined || location_hash == target_hash) {
- tab.parent()[0].scrollIntoView();
- } else {
- S(target_hash)[0].scrollIntoView();
- }
- } else {
- // prefix the hashes so that the browser doesn't scroll down
- if (location_hash != undefined) {
- go_to_hash('fndtn-' + location_hash.replace('#', ''));
- } else {
- go_to_hash('fndtn-' + target_hash.replace('#', ''));
- }
- }
- }
-
- // WARNING: The activation and deactivation of the tab content must
- // occur after the deep linking in order to properly refresh the browser
- // window (notably in Chrome).
- // Clean up multiple attr instances to done once
- tab.addClass(settings.active_class).triggerHandler('opened');
- tab_link.attr({'aria-selected' : 'true', tabindex : 0});
- siblings.removeClass(settings.active_class)
- siblings.find('a').attr({'aria-selected' : 'false', tabindex : -1});
- target.siblings().removeClass(settings.active_class).attr({'aria-hidden' : 'true', tabindex : -1});
- target.addClass(settings.active_class).attr('aria-hidden', 'false').removeAttr('tabindex');
- settings.callback(tab);
- target.triggerHandler('toggled', [target]);
- tabs.triggerHandler('toggled', [tab]);
-
- tab_link.off('keydown').on('keydown', interpret_keyup_action );
- },
-
- data_attr : function (str) {
- if (this.namespace.length > 0) {
- return this.namespace + '-' + str;
- }
-
- return str;
- },
-
- off : function () {},
-
- reflow : function () {}
- };
-}(jQuery, window, window.document));
diff --git a/library/foundation/js/foundation/foundation.tooltip.js b/library/foundation/js/foundation/foundation.tooltip.js
deleted file mode 100644
index c69f26c66..000000000
--- a/library/foundation/js/foundation/foundation.tooltip.js
+++ /dev/null
@@ -1,339 +0,0 @@
-;(function ($, window, document, undefined) {
- 'use strict';
-
- Foundation.libs.tooltip = {
- name : 'tooltip',
-
- version : '5.5.2',
-
- settings : {
- additional_inheritable_classes : [],
- tooltip_class : '.tooltip',
- append_to : 'body',
- touch_close_text : 'Tap To Close',
- disable_for_touch : false,
- hover_delay : 200,
- show_on : 'all',
- tip_template : function (selector, content) {
- return '<span data-selector="' + selector + '" id="' + selector + '" class="'
- + Foundation.libs.tooltip.settings.tooltip_class.substring(1)
- + '" role="tooltip">' + content + '<span class="nub"></span></span>';
- }
- },
-
- cache : {},
-
- init : function (scope, method, options) {
- Foundation.inherit(this, 'random_str');
- this.bindings(method, options);
- },
-
- should_show : function (target, tip) {
- var settings = $.extend({}, this.settings, this.data_options(target));
-
- if (settings.show_on === 'all') {
- return true;
- } else if (this.small() && settings.show_on === 'small') {
- return true;
- } else if (this.medium() && settings.show_on === 'medium') {
- return true;
- } else if (this.large() && settings.show_on === 'large') {
- return true;
- }
- return false;
- },
-
- medium : function () {
- return matchMedia(Foundation.media_queries['medium']).matches;
- },
-
- large : function () {
- return matchMedia(Foundation.media_queries['large']).matches;
- },
-
- events : function (instance) {
- var self = this,
- S = self.S;
-
- self.create(this.S(instance));
-
- function _startShow(elt, $this, immediate) {
- if (elt.timer) {
- return;
- }
-
- if (immediate) {
- elt.timer = null;
- self.showTip($this);
- } else {
- elt.timer = setTimeout(function () {
- elt.timer = null;
- self.showTip($this);
- }.bind(elt), self.settings.hover_delay);
- }
- }
-
- function _startHide(elt, $this) {
- if (elt.timer) {
- clearTimeout(elt.timer);
- elt.timer = null;
- }
-
- self.hide($this);
- }
-
- $(this.scope)
- .off('.tooltip')
- .on('mouseenter.fndtn.tooltip mouseleave.fndtn.tooltip touchstart.fndtn.tooltip MSPointerDown.fndtn.tooltip',
- '[' + this.attr_name() + ']', function (e) {
- var $this = S(this),
- settings = $.extend({}, self.settings, self.data_options($this)),
- is_touch = false;
-
- if (Modernizr.touch && /touchstart|MSPointerDown/i.test(e.type) && S(e.target).is('a')) {
- return false;
- }
-
- if (/mouse/i.test(e.type) && self.ie_touch(e)) {
- return false;
- }
-
- if ($this.hasClass('open')) {
- if (Modernizr.touch && /touchstart|MSPointerDown/i.test(e.type)) {
- e.preventDefault();
- }
- self.hide($this);
- } else {
- if (settings.disable_for_touch && Modernizr.touch && /touchstart|MSPointerDown/i.test(e.type)) {
- return;
- } else if (!settings.disable_for_touch && Modernizr.touch && /touchstart|MSPointerDown/i.test(e.type)) {
- e.preventDefault();
- S(settings.tooltip_class + '.open').hide();
- is_touch = true;
- // close other open tooltips on touch
- if ($('.open[' + self.attr_name() + ']').length > 0) {
- var prevOpen = S($('.open[' + self.attr_name() + ']')[0]);
- self.hide(prevOpen);
- }
- }
-
- if (/enter|over/i.test(e.type)) {
- _startShow(this, $this);
-
- } else if (e.type === 'mouseout' || e.type === 'mouseleave') {
- _startHide(this, $this);
- } else {
- _startShow(this, $this, true);
- }
- }
- })
- .on('mouseleave.fndtn.tooltip touchstart.fndtn.tooltip MSPointerDown.fndtn.tooltip', '[' + this.attr_name() + '].open', function (e) {
- if (/mouse/i.test(e.type) && self.ie_touch(e)) {
- return false;
- }
-
- if ($(this).data('tooltip-open-event-type') == 'touch' && e.type == 'mouseleave') {
- return;
- } else if ($(this).data('tooltip-open-event-type') == 'mouse' && /MSPointerDown|touchstart/i.test(e.type)) {
- self.convert_to_touch($(this));
- } else {
- _startHide(this, $(this));
- }
- })
- .on('DOMNodeRemoved DOMAttrModified', '[' + this.attr_name() + ']:not(a)', function (e) {
- _startHide(this, S(this));
- });
- },
-
- ie_touch : function (e) {
- // How do I distinguish between IE11 and Windows Phone 8?????
- return false;
- },
-
- showTip : function ($target) {
- var $tip = this.getTip($target);
- if (this.should_show($target, $tip)) {
- return this.show($target);
- }
- return;
- },
-
- getTip : function ($target) {
- var selector = this.selector($target),
- settings = $.extend({}, this.settings, this.data_options($target)),
- tip = null;
-
- if (selector) {
- tip = this.S('span[data-selector="' + selector + '"]' + settings.tooltip_class);
- }
-
- return (typeof tip === 'object') ? tip : false;
- },
-
- selector : function ($target) {
- var dataSelector = $target.attr(this.attr_name()) || $target.attr('data-selector');
-
- if (typeof dataSelector != 'string') {
- dataSelector = this.random_str(6);
- $target
- .attr('data-selector', dataSelector)
- .attr('aria-describedby', dataSelector);
- }
-
- return dataSelector;
- },
-
- create : function ($target) {
- var self = this,
- settings = $.extend({}, this.settings, this.data_options($target)),
- tip_template = this.settings.tip_template;
-
- if (typeof settings.tip_template === 'string' && window.hasOwnProperty(settings.tip_template)) {
- tip_template = window[settings.tip_template];
- }
-
- var $tip = $(tip_template(this.selector($target), $('<div></div>').html($target.attr('title')).html())),
- classes = this.inheritable_classes($target);
-
- $tip.addClass(classes).appendTo(settings.append_to);
-
- if (Modernizr.touch) {
- $tip.append('<span class="tap-to-close">' + settings.touch_close_text + '</span>');
- $tip.on('touchstart.fndtn.tooltip MSPointerDown.fndtn.tooltip', function (e) {
- self.hide($target);
- });
- }
-
- $target.removeAttr('title').attr('title', '');
- },
-
- reposition : function (target, tip, classes) {
- var width, nub, nubHeight, nubWidth, column, objPos;
-
- tip.css('visibility', 'hidden').show();
-
- width = target.data('width');
- nub = tip.children('.nub');
- nubHeight = nub.outerHeight();
- nubWidth = nub.outerHeight();
-
- if (this.small()) {
- tip.css({'width' : '100%'});
- } else {
- tip.css({'width' : (width) ? width : 'auto'});
- }
-
- objPos = function (obj, top, right, bottom, left, width) {
- return obj.css({
- 'top' : (top) ? top : 'auto',
- 'bottom' : (bottom) ? bottom : 'auto',
- 'left' : (left) ? left : 'auto',
- 'right' : (right) ? right : 'auto'
- }).end();
- };
-
- objPos(tip, (target.offset().top + target.outerHeight() + 10), 'auto', 'auto', target.offset().left);
-
- if (this.small()) {
- objPos(tip, (target.offset().top + target.outerHeight() + 10), 'auto', 'auto', 12.5, $(this.scope).width());
- tip.addClass('tip-override');
- objPos(nub, -nubHeight, 'auto', 'auto', target.offset().left);
- } else {
- var left = target.offset().left;
- if (Foundation.rtl) {
- nub.addClass('rtl');
- left = target.offset().left + target.outerWidth() - tip.outerWidth();
- }
-
- objPos(tip, (target.offset().top + target.outerHeight() + 10), 'auto', 'auto', left);
- // reset nub from small styles, if they've been applied
- if (nub.attr('style')) {
- nub.removeAttr('style');
- }
-
- tip.removeClass('tip-override');
- if (classes && classes.indexOf('tip-top') > -1) {
- if (Foundation.rtl) {
- nub.addClass('rtl');
- }
- objPos(tip, (target.offset().top - tip.outerHeight()), 'auto', 'auto', left)
- .removeClass('tip-override');
- } else if (classes && classes.indexOf('tip-left') > -1) {
- objPos(tip, (target.offset().top + (target.outerHeight() / 2) - (tip.outerHeight() / 2)), 'auto', 'auto', (target.offset().left - tip.outerWidth() - nubHeight))
- .removeClass('tip-override');
- nub.removeClass('rtl');
- } else if (classes && classes.indexOf('tip-right') > -1) {
- objPos(tip, (target.offset().top + (target.outerHeight() / 2) - (tip.outerHeight() / 2)), 'auto', 'auto', (target.offset().left + target.outerWidth() + nubHeight))
- .removeClass('tip-override');
- nub.removeClass('rtl');
- }
- }
-
- tip.css('visibility', 'visible').hide();
- },
-
- small : function () {
- return matchMedia(Foundation.media_queries.small).matches &&
- !matchMedia(Foundation.media_queries.medium).matches;
- },
-
- inheritable_classes : function ($target) {
- var settings = $.extend({}, this.settings, this.data_options($target)),
- inheritables = ['tip-top', 'tip-left', 'tip-bottom', 'tip-right', 'radius', 'round'].concat(settings.additional_inheritable_classes),
- classes = $target.attr('class'),
- filtered = classes ? $.map(classes.split(' '), function (el, i) {
- if ($.inArray(el, inheritables) !== -1) {
- return el;
- }
- }).join(' ') : '';
-
- return $.trim(filtered);
- },
-
- convert_to_touch : function ($target) {
- var self = this,
- $tip = self.getTip($target),
- settings = $.extend({}, self.settings, self.data_options($target));
-
- if ($tip.find('.tap-to-close').length === 0) {
- $tip.append('<span class="tap-to-close">' + settings.touch_close_text + '</span>');
- $tip.on('click.fndtn.tooltip.tapclose touchstart.fndtn.tooltip.tapclose MSPointerDown.fndtn.tooltip.tapclose', function (e) {
- self.hide($target);
- });
- }
-
- $target.data('tooltip-open-event-type', 'touch');
- },
-
- show : function ($target) {
- var $tip = this.getTip($target);
-
- if ($target.data('tooltip-open-event-type') == 'touch') {
- this.convert_to_touch($target);
- }
-
- this.reposition($target, $tip, $target.attr('class'));
- $target.addClass('open');
- $tip.fadeIn(150);
- },
-
- hide : function ($target) {
- var $tip = this.getTip($target);
- $tip.fadeOut(150, function () {
- $tip.find('.tap-to-close').remove();
- $tip.off('click.fndtn.tooltip.tapclose MSPointerDown.fndtn.tapclose');
- $target.removeClass('open');
- });
- },
-
- off : function () {
- var self = this;
- this.S(this.scope).off('.fndtn.tooltip');
- this.S(this.settings.tooltip_class).each(function (i) {
- $('[' + self.attr_name() + ']').eq(i).attr('title', $(this).text());
- }).remove();
- },
-
- reflow : function () {}
- };
-}(jQuery, window, window.document));
diff --git a/library/foundation/js/foundation/foundation.topbar.js b/library/foundation/js/foundation/foundation.topbar.js
deleted file mode 100644
index c3b0ed6c7..000000000
--- a/library/foundation/js/foundation/foundation.topbar.js
+++ /dev/null
@@ -1,458 +0,0 @@
-;(function ($, window, document, undefined) {
- 'use strict';
-
- Foundation.libs.topbar = {
- name : 'topbar',
-
- version : '5.5.2',
-
- settings : {
- index : 0,
- start_offset : 0,
- sticky_class : 'sticky',
- custom_back_text : true,
- back_text : 'Back',
- mobile_show_parent_link : true,
- is_hover : true,
- scrolltop : true, // jump to top when sticky nav menu toggle is clicked
- sticky_on : 'all',
- dropdown_autoclose: true
- },
-
- init : function (section, method, options) {
- Foundation.inherit(this, 'add_custom_rule register_media throttle');
- var self = this;
-
- self.register_media('topbar', 'foundation-mq-topbar');
-
- this.bindings(method, options);
-
- self.S('[' + this.attr_name() + ']', this.scope).each(function () {
- var topbar = $(this),
- settings = topbar.data(self.attr_name(true) + '-init'),
- section = self.S('section, .top-bar-section', this);
- topbar.data('index', 0);
- var topbarContainer = topbar.parent();
- if (topbarContainer.hasClass('fixed') || self.is_sticky(topbar, topbarContainer, settings) ) {
- self.settings.sticky_class = settings.sticky_class;
- self.settings.sticky_topbar = topbar;
- topbar.data('height', topbarContainer.outerHeight());
- topbar.data('stickyoffset', topbarContainer.offset().top);
- } else {
- topbar.data('height', topbar.outerHeight());
- }
-
- if (!settings.assembled) {
- self.assemble(topbar);
- }
-
- if (settings.is_hover) {
- self.S('.has-dropdown', topbar).addClass('not-click');
- } else {
- self.S('.has-dropdown', topbar).removeClass('not-click');
- }
-
- // Pad body when sticky (scrolled) or fixed.
- self.add_custom_rule('.f-topbar-fixed { padding-top: ' + topbar.data('height') + 'px }');
-
- if (topbarContainer.hasClass('fixed')) {
- self.S('body').addClass('f-topbar-fixed');
- }
- });
-
- },
-
- is_sticky : function (topbar, topbarContainer, settings) {
- var sticky = topbarContainer.hasClass(settings.sticky_class);
- var smallMatch = matchMedia(Foundation.media_queries.small).matches;
- var medMatch = matchMedia(Foundation.media_queries.medium).matches;
- var lrgMatch = matchMedia(Foundation.media_queries.large).matches;
-
- if (sticky && settings.sticky_on === 'all') {
- return true;
- }
- if (sticky && this.small() && settings.sticky_on.indexOf('small') !== -1) {
- if (smallMatch && !medMatch && !lrgMatch) { return true; }
- }
- if (sticky && this.medium() && settings.sticky_on.indexOf('medium') !== -1) {
- if (smallMatch && medMatch && !lrgMatch) { return true; }
- }
- if (sticky && this.large() && settings.sticky_on.indexOf('large') !== -1) {
- if (smallMatch && medMatch && lrgMatch) { return true; }
- }
-
- return false;
- },
-
- toggle : function (toggleEl) {
- var self = this,
- topbar;
-
- if (toggleEl) {
- topbar = self.S(toggleEl).closest('[' + this.attr_name() + ']');
- } else {
- topbar = self.S('[' + this.attr_name() + ']');
- }
-
- var settings = topbar.data(this.attr_name(true) + '-init');
-
- var section = self.S('section, .top-bar-section', topbar);
-
- if (self.breakpoint()) {
- if (!self.rtl) {
- section.css({left : '0%'});
- $('>.name', section).css({left : '100%'});
- } else {
- section.css({right : '0%'});
- $('>.name', section).css({right : '100%'});
- }
-
- self.S('li.moved', section).removeClass('moved');
- topbar.data('index', 0);
-
- topbar
- .toggleClass('expanded')
- .css('height', '');
- }
-
- if (settings.scrolltop) {
- if (!topbar.hasClass('expanded')) {
- if (topbar.hasClass('fixed')) {
- topbar.parent().addClass('fixed');
- topbar.removeClass('fixed');
- self.S('body').addClass('f-topbar-fixed');
- }
- } else if (topbar.parent().hasClass('fixed')) {
- if (settings.scrolltop) {
- topbar.parent().removeClass('fixed');
- topbar.addClass('fixed');
- self.S('body').removeClass('f-topbar-fixed');
-
- window.scrollTo(0, 0);
- } else {
- topbar.parent().removeClass('expanded');
- }
- }
- } else {
- if (self.is_sticky(topbar, topbar.parent(), settings)) {
- topbar.parent().addClass('fixed');
- }
-
- if (topbar.parent().hasClass('fixed')) {
- if (!topbar.hasClass('expanded')) {
- topbar.removeClass('fixed');
- topbar.parent().removeClass('expanded');
- self.update_sticky_positioning();
- } else {
- topbar.addClass('fixed');
- topbar.parent().addClass('expanded');
- self.S('body').addClass('f-topbar-fixed');
- }
- }
- }
- },
-
- timer : null,
-
- events : function (bar) {
- var self = this,
- S = this.S;
-
- S(this.scope)
- .off('.topbar')
- .on('click.fndtn.topbar', '[' + this.attr_name() + '] .toggle-topbar', function (e) {
- e.preventDefault();
- self.toggle(this);
- })
- .on('click.fndtn.topbar contextmenu.fndtn.topbar', '.top-bar .top-bar-section li a[href^="#"],[' + this.attr_name() + '] .top-bar-section li a[href^="#"]', function (e) {
- var li = $(this).closest('li'),
- topbar = li.closest('[' + self.attr_name() + ']'),
- settings = topbar.data(self.attr_name(true) + '-init');
-
- if (settings.dropdown_autoclose && settings.is_hover) {
- var hoverLi = $(this).closest('.hover');
- hoverLi.removeClass('hover');
- }
- if (self.breakpoint() && !li.hasClass('back') && !li.hasClass('has-dropdown')) {
- self.toggle();
- }
-
- })
- .on('click.fndtn.topbar', '[' + this.attr_name() + '] li.has-dropdown', function (e) {
- var li = S(this),
- target = S(e.target),
- topbar = li.closest('[' + self.attr_name() + ']'),
- settings = topbar.data(self.attr_name(true) + '-init');
-
- if (target.data('revealId')) {
- self.toggle();
- return;
- }
-
- if (self.breakpoint()) {
- return;
- }
-
- if (settings.is_hover && !Modernizr.touch) {
- return;
- }
-
- e.stopImmediatePropagation();
-
- if (li.hasClass('hover')) {
- li
- .removeClass('hover')
- .find('li')
- .removeClass('hover');
-
- li.parents('li.hover')
- .removeClass('hover');
- } else {
- li.addClass('hover');
-
- $(li).siblings().removeClass('hover');
-
- if (target[0].nodeName === 'A' && target.parent().hasClass('has-dropdown')) {
- e.preventDefault();
- }
- }
- })
- .on('click.fndtn.topbar', '[' + this.attr_name() + '] .has-dropdown>a', function (e) {
- if (self.breakpoint()) {
-
- e.preventDefault();
-
- var $this = S(this),
- topbar = $this.closest('[' + self.attr_name() + ']'),
- section = topbar.find('section, .top-bar-section'),
- dropdownHeight = $this.next('.dropdown').outerHeight(),
- $selectedLi = $this.closest('li');
-
- topbar.data('index', topbar.data('index') + 1);
- $selectedLi.addClass('moved');
-
- if (!self.rtl) {
- section.css({left : -(100 * topbar.data('index')) + '%'});
- section.find('>.name').css({left : 100 * topbar.data('index') + '%'});
- } else {
- section.css({right : -(100 * topbar.data('index')) + '%'});
- section.find('>.name').css({right : 100 * topbar.data('index') + '%'});
- }
-
- topbar.css('height', $this.siblings('ul').outerHeight(true) + topbar.data('height'));
- }
- });
-
- S(window).off('.topbar').on('resize.fndtn.topbar', self.throttle(function () {
- self.resize.call(self);
- }, 50)).trigger('resize.fndtn.topbar').load(function () {
- // Ensure that the offset is calculated after all of the pages resources have loaded
- S(this).trigger('resize.fndtn.topbar');
- });
-
- S('body').off('.topbar').on('click.fndtn.topbar', function (e) {
- var parent = S(e.target).closest('li').closest('li.hover');
-
- if (parent.length > 0) {
- return;
- }
-
- S('[' + self.attr_name() + '] li.hover').removeClass('hover');
- });
-
- // Go up a level on Click
- S(this.scope).on('click.fndtn.topbar', '[' + this.attr_name() + '] .has-dropdown .back', function (e) {
- e.preventDefault();
-
- var $this = S(this),
- topbar = $this.closest('[' + self.attr_name() + ']'),
- section = topbar.find('section, .top-bar-section'),
- settings = topbar.data(self.attr_name(true) + '-init'),
- $movedLi = $this.closest('li.moved'),
- $previousLevelUl = $movedLi.parent();
-
- topbar.data('index', topbar.data('index') - 1);
-
- if (!self.rtl) {
- section.css({left : -(100 * topbar.data('index')) + '%'});
- section.find('>.name').css({left : 100 * topbar.data('index') + '%'});
- } else {
- section.css({right : -(100 * topbar.data('index')) + '%'});
- section.find('>.name').css({right : 100 * topbar.data('index') + '%'});
- }
-
- if (topbar.data('index') === 0) {
- topbar.css('height', '');
- } else {
- topbar.css('height', $previousLevelUl.outerHeight(true) + topbar.data('height'));
- }
-
- setTimeout(function () {
- $movedLi.removeClass('moved');
- }, 300);
- });
-
- // Show dropdown menus when their items are focused
- S(this.scope).find('.dropdown a')
- .focus(function () {
- $(this).parents('.has-dropdown').addClass('hover');
- })
- .blur(function () {
- $(this).parents('.has-dropdown').removeClass('hover');
- });
- },
-
- resize : function () {
- var self = this;
- self.S('[' + this.attr_name() + ']').each(function () {
- var topbar = self.S(this),
- settings = topbar.data(self.attr_name(true) + '-init');
-
- var stickyContainer = topbar.parent('.' + self.settings.sticky_class);
- var stickyOffset;
-
- if (!self.breakpoint()) {
- var doToggle = topbar.hasClass('expanded');
- topbar
- .css('height', '')
- .removeClass('expanded')
- .find('li')
- .removeClass('hover');
-
- if (doToggle) {
- self.toggle(topbar);
- }
- }
-
- if (self.is_sticky(topbar, stickyContainer, settings)) {
- if (stickyContainer.hasClass('fixed')) {
- // Remove the fixed to allow for correct calculation of the offset.
- stickyContainer.removeClass('fixed');
-
- stickyOffset = stickyContainer.offset().top;
- if (self.S(document.body).hasClass('f-topbar-fixed')) {
- stickyOffset -= topbar.data('height');
- }
-
- topbar.data('stickyoffset', stickyOffset);
- stickyContainer.addClass('fixed');
- } else {
- stickyOffset = stickyContainer.offset().top;
- topbar.data('stickyoffset', stickyOffset);
- }
- }
-
- });
- },
-
- breakpoint : function () {
- return !matchMedia(Foundation.media_queries['topbar']).matches;
- },
-
- small : function () {
- return matchMedia(Foundation.media_queries['small']).matches;
- },
-
- medium : function () {
- return matchMedia(Foundation.media_queries['medium']).matches;
- },
-
- large : function () {
- return matchMedia(Foundation.media_queries['large']).matches;
- },
-
- assemble : function (topbar) {
- var self = this,
- settings = topbar.data(this.attr_name(true) + '-init'),
- section = self.S('section, .top-bar-section', topbar);
-
- // Pull element out of the DOM for manipulation
- section.detach();
-
- self.S('.has-dropdown>a', section).each(function () {
- var $link = self.S(this),
- $dropdown = $link.siblings('.dropdown'),
- url = $link.attr('href'),
- $titleLi;
-
- if (!$dropdown.find('.title.back').length) {
-
- if (settings.mobile_show_parent_link == true && url) {
- $titleLi = $('<li class="title back js-generated"><h5><a href="javascript:void(0)"></a></h5></li><li class="parent-link hide-for-medium-up"><a class="parent-link js-generated" href="' + url + '">' + $link.html() +'</a></li>');
- } else {
- $titleLi = $('<li class="title back js-generated"><h5><a href="javascript:void(0)"></a></h5>');
- }
-
- // Copy link to subnav
- if (settings.custom_back_text == true) {
- $('h5>a', $titleLi).html(settings.back_text);
- } else {
- $('h5>a', $titleLi).html('&laquo; ' + $link.html());
- }
- $dropdown.prepend($titleLi);
- }
- });
-
- // Put element back in the DOM
- section.appendTo(topbar);
-
- // check for sticky
- this.sticky();
-
- this.assembled(topbar);
- },
-
- assembled : function (topbar) {
- topbar.data(this.attr_name(true), $.extend({}, topbar.data(this.attr_name(true)), {assembled : true}));
- },
-
- height : function (ul) {
- var total = 0,
- self = this;
-
- $('> li', ul).each(function () {
- total += self.S(this).outerHeight(true);
- });
-
- return total;
- },
-
- sticky : function () {
- var self = this;
-
- this.S(window).on('scroll', function () {
- self.update_sticky_positioning();
- });
- },
-
- update_sticky_positioning : function () {
- var klass = '.' + this.settings.sticky_class,
- $window = this.S(window),
- self = this;
-
- if (self.settings.sticky_topbar && self.is_sticky(this.settings.sticky_topbar,this.settings.sticky_topbar.parent(), this.settings)) {
- var distance = this.settings.sticky_topbar.data('stickyoffset') + this.settings.start_offset;
- if (!self.S(klass).hasClass('expanded')) {
- if ($window.scrollTop() > (distance)) {
- if (!self.S(klass).hasClass('fixed')) {
- self.S(klass).addClass('fixed');
- self.S('body').addClass('f-topbar-fixed');
- }
- } else if ($window.scrollTop() <= distance) {
- if (self.S(klass).hasClass('fixed')) {
- self.S(klass).removeClass('fixed');
- self.S('body').removeClass('f-topbar-fixed');
- }
- }
- }
- }
- },
-
- off : function () {
- this.S(this.scope).off('.fndtn.topbar');
- this.S(window).off('.fndtn.topbar');
- },
-
- reflow : function () {}
- };
-}(jQuery, window, window.document));
diff --git a/library/fullcalendar/CHANGELOG.txt b/library/fullcalendar/CHANGELOG.txt
index f488738b8..e91ce3bd6 100644
--- a/library/fullcalendar/CHANGELOG.txt
+++ b/library/fullcalendar/CHANGELOG.txt
@@ -1,4 +1,83 @@
+v3.0.1 (2016-09-26)
+-------------------
+
+Bugfixes:
+- list view rendering event times incorrectly (#3334)
+- list view rendering events/days out of order (#3347)
+- events with no title rendering as "undefined"
+- add .fc scope to table print styles (#3343)
+- "display no events" text fix for German (#3354)
+
+
+v3.0.0 (2016-09-04)
+-------------------
+
+Features:
+- List View (#560)
+ - new views: `listDay`, `listWeek`, `listMonth`, `listYear`, and simply `list`
+ - `listDayFormat`
+ - `listDayAltFormat`
+ - `noEventsMessage`
+- Clickable day/week numbers for easier navigation (#424)
+ - `navLinks`
+ - `navLinkDayClick`
+ - `navLinkWeekClick`
+- Programmatically allow/disallow user interactions:
+ - `eventAllow` (#2740)
+ - `selectAllow` (#2511)
+- Option to display week numbers in cells (#3024)
+ - `weekNumbersWithinDays` (set to `true` to activate)
+- When week calc is ISO, default first day-of-week to Monday (#3255)
+- Macedonian locale (#2739)
+- Malay locale
+
+Breaking Changes:
+- IE8 support dropped
+- jQuery: minimum support raised to v2.0.0
+- MomentJS: minimum support raised to v2.9.0
+- `lang` option renamed to `locale`
+- dist files have been renamed to be more consistent with MomentJS:
+ - `lang/` -> `locale/`
+ - `lang-all.js` -> `locale-all.js`
+- behavior of moment methods no longer affected by ambiguousness:
+ - `isSame`
+ - `isBefore`
+ - `isAfter`
+- View-Option-Hashes no longer supported (deprecated in 2.2.4)
+- removed `weekMode` setting
+- removed `axisFormat` setting
+- DOM structure of month/basic-view day cell numbers changed
+
+Bugfixes:
+- `$.fullCalendar.version` incorrect (#3292)
+
+Build System:
+- using gulp instead of grunt (faster)
+- using npm internally for dependencies instead of bower
+- changed repo directory structure
+
+
+v2.9.1 (2016-07-31)
+-------------------
+
+- multiple definitions for businessHours (#2686)
+- businessHours for single day doesn't display weekends (#2944)
+- height/contentHeight can accept a function or 'parent' for dynamic value (#3271)
+- fix +more popover clipped by overflow (#3232)
+- fix +more popover positioned incorrectly when scrolled (#3137)
+- Norwegian Nynorsk translation (#3246)
+- fix isAnimating JS error (#3285)
+
+
+v2.9.0 (2016-07-10)
+-------------------
+
+- Setters for (almost) all options (#564).
+ See [docs](http://fullcalendar.io/docs/utilities/dynamic_options/) for more info.
+- Travis CI improvements (#3266)
+
+
v2.8.0 (2016-06-19)
-------------------
diff --git a/library/fullcalendar/CONTRIBUTING.txt b/library/fullcalendar/CONTRIBUTING.txt
index 5c6dce4ac..74084517b 100644
--- a/library/fullcalendar/CONTRIBUTING.txt
+++ b/library/fullcalendar/CONTRIBUTING.txt
@@ -21,9 +21,9 @@ Furthermore, each new feature should be designed as robustly as possible and be
In the description of your [Pull Request][Using Pull Requests], please include recreation steps for the bug as well as a [JSFiddle/JSBin] demo. Communicating the buggy behavior is a requirement before a merge can happen.
-## Contributing Languages
+## Contributing Locales
-Please edit the original files in the `lang/` directory. DO NOT edit anything in the `dist/` directory. The build system will responsible for merging FullCalendar's `lang/` data with the [MomentJS locale data].
+Please edit the original files in the `locale/` directory. DO NOT edit anything in the `dist/` directory. The build system will responsible for merging FullCalendar's `locale/` data with the [MomentJS locale data].
## Other Ways to Contribute
@@ -35,18 +35,18 @@ Please edit the original files in the `lang/` directory. DO NOT edit anything in
You will need [Git][git], [Node][node], and NPM installed. For clarification, please view the [jQuery readme][jq-readme], which requires a similar setup.
-Also, you will need the [grunt-cli][grunt-cli] and [bower][bower] packages installed globally (`-g`) on your system:
+Also, you will need the [gulp-cli][gulp-cli] package installed globally (`-g`) on your system:
- npm install -g grunt-cli bower
+ npm install -g gulp-cli
Then, clone FullCalendar's git repo:
git clone git://github.com/fullcalendar/fullcalendar.git
-Enter the directory and install FullCalendar's development dependencies:
+Enter the directory and install FullCalendar's dependencies:
cd fullcalendar
- ./build/init.sh
+ npm install
## What to edit
@@ -58,19 +58,19 @@ When modifying files, please do not edit the generated or minified files in the
After you make code changes, you'll want to compile the JS/CSS so that it can be previewed from the tests and demos. You can either manually rebuild each time you make a change:
- grunt dev
+ gulp dev
Or, you can run a script that automatically rebuilds whenever you save a source file:
- ./build/watch.sh
+ gulp watch
When you are finished, run the following command to write the distributable files into the `./dist/` directory:
- grunt
+ gulp dist
If you want to clean up the generated files, run:
- grunt clean
+ gulp clean
## Style Guide
@@ -103,14 +103,14 @@ Notes about whitespace:
Run the command line tool to automatically check your style:
- grunt check
+ gulp lint
## Before Submitting your Code
If you have edited code (including **tests** and **translations**) and would like to submit a pull request, please make sure you have done the following:
-1. Conformed to the style guide (successfully run `grunt check`)
+1. Conformed to the style guide (successfully run `gulp lint`)
2. Written automated tests. View the [Automated Test Readme]
@@ -121,8 +121,7 @@ If you have edited code (including **tests** and **translations**) and would lik
[MomentJS locale data]: https://github.com/moment/moment/tree/develop/locale
[git]: http://git-scm.com/
[node]: http://nodejs.org/
-[grunt-cli]: http://gruntjs.com/getting-started#installing-the-cli
-[bower]: http://bower.io/
+[gulp-cli]: https://github.com/gulpjs/gulp/blob/master/docs/getting-started.md
[jq-readme]: https://github.com/jquery/jquery/blob/master/README.md#what-you-need-to-build-your-own-jquery
[Google JavaScript Style Guide]: http://google-styleguide.googlecode.com/svn/trunk/javascriptguide.xml
[Automated Test Readme]: https://github.com/fullcalendar/fullcalendar/wiki/Automated-Tests
diff --git a/library/fullcalendar/fullcalendar.css b/library/fullcalendar/fullcalendar.css
index 166bd09d3..7a3f39923 100644
--- a/library/fullcalendar/fullcalendar.css
+++ b/library/fullcalendar/fullcalendar.css
@@ -1,5 +1,5 @@
/*!
- * FullCalendar v2.8.0 Stylesheet
+ * FullCalendar v3.0.1 Stylesheet
* Docs & License: http://fullcalendar.io/
* (c) 2016 Adam Shaw
*/
@@ -29,7 +29,9 @@ body .fc { /* extra precedence to overcome jqui */
.fc-unthemed .fc-divider,
.fc-unthemed .fc-row,
.fc-unthemed .fc-content, /* for gutter border */
-.fc-unthemed .fc-popover {
+.fc-unthemed .fc-popover,
+.fc-unthemed .fc-list-view,
+.fc-unthemed .fc-list-heading td {
border-color: #ddd;
}
@@ -38,7 +40,8 @@ body .fc { /* extra precedence to overcome jqui */
}
.fc-unthemed .fc-divider,
-.fc-unthemed .fc-popover .fc-header {
+.fc-unthemed .fc-popover .fc-header,
+.fc-unthemed .fc-list-heading td {
background: #eee;
}
@@ -53,13 +56,11 @@ body .fc { /* extra precedence to overcome jqui */
.fc-highlight { /* when user is selecting cells */
background: #bce8f1;
opacity: .3;
- filter: alpha(opacity=30); /* for IE */
}
.fc-bgevent { /* default look for background events */
background: rgb(143, 223, 130);
opacity: .3;
- filter: alpha(opacity=30); /* for IE */
}
.fc-nonbusiness { /* default look for non-business-hours areas */
@@ -247,7 +248,6 @@ NOTE: use percentage font sizes or else old IE chokes
cursor: default;
background-image: none;
opacity: 0.65;
- filter: alpha(opacity=65);
box-shadow: none;
}
@@ -391,6 +391,18 @@ hr.fc-divider {
}
+/* Internal Nav Links
+--------------------------------------------------------------------------------------------------*/
+
+a[data-goto] {
+ cursor: pointer;
+}
+
+a[data-goto]:hover {
+ text-decoration: underline;
+}
+
+
/* Fake Table Rows
--------------------------------------------------------------------------------------------------*/
@@ -509,10 +521,14 @@ temporary rendered events).
line-height: 1.3;
border-radius: 3px;
border: 1px solid #3a87ad; /* default BORDER color */
- background-color: #3a87ad; /* default BACKGROUND color */
font-weight: normal; /* undo jqui's ui-widget-header bold */
}
+.fc-event,
+.fc-event-dot {
+ background-color: #3a87ad; /* default BACKGROUND color */
+}
+
/* overpower some of bootstrap's and jqui's styles on <a> tags */
.fc-event,
.fc-event:hover,
@@ -535,7 +551,6 @@ temporary rendered events).
z-index: 1;
background: #fff;
opacity: .25;
- filter: alpha(opacity=25); /* for IE */
}
.fc-event .fc-content {
@@ -689,6 +704,10 @@ be a descendant of the grid when it is being dragged.
padding: 0 1px;
}
+tr:first-child > td > .fc-day-grid-event {
+ margin-top: 2px; /* a little bit more space before the first event */
+}
+
.fc-day-grid-event.fc-selected:after {
content: "";
position: absolute;
@@ -701,7 +720,6 @@ be a descendant of the grid when it is being dragged.
/* darkening effect */
background: #000;
opacity: .25;
- filter: alpha(opacity=25); /* for IE */
}
.fc-day-grid-event .fc-content { /* force events to be one-line tall */
@@ -786,6 +804,8 @@ a.fc-more:hover {
-webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}
+
+
/* Toolbar
--------------------------------------------------------------------------------------------------*/
@@ -867,6 +887,8 @@ a.fc-more:hover {
z-index: 1;
}
+
+
/* BasicView
--------------------------------------------------------------------------------------------------*/
@@ -874,8 +896,7 @@ a.fc-more:hover {
.fc-basicWeek-view .fc-content-skeleton,
.fc-basicDay-view .fc-content-skeleton {
- /* we are sure there are no day numbers in these views, so... */
- padding-top: 1px; /* add a pixel to make sure there are 2px padding above events */
+ /* there may be week numbers in these views, so no padding-top */
padding-bottom: 1em; /* ensure a space at bottom of cell for user selecting/clicking */
}
@@ -898,42 +919,45 @@ a.fc-more:hover {
/* week and day number styling */
+.fc-day-top.fc-other-month {
+ opacity: 0.3;
+}
+
.fc-basic-view .fc-week-number,
.fc-basic-view .fc-day-number {
- padding: 0 2px;
+ padding: 2px;
+}
+
+.fc-basic-view th.fc-week-number,
+.fc-basic-view th.fc-day-number {
+ padding: 0 2px; /* column headers can't have as much v space */
}
-.fc-basic-view td.fc-week-number span,
-.fc-basic-view td.fc-day-number {
- padding-top: 2px;
- padding-bottom: 2px;
+.fc-ltr .fc-basic-view .fc-day-top .fc-day-number { float: right; }
+.fc-rtl .fc-basic-view .fc-day-top .fc-day-number { float: left; }
+
+.fc-ltr .fc-basic-view .fc-day-top .fc-week-number { float: left; border-radius: 0 0 3px 0; }
+.fc-rtl .fc-basic-view .fc-day-top .fc-week-number { float: right; border-radius: 0 0 0 3px; }
+
+.fc-basic-view .fc-day-top .fc-week-number {
+ min-width: 1.5em;
+ text-align: center;
+ background-color: #f2f2f2;
+ color: #808080;
}
-.fc-basic-view .fc-week-number {
+/* when week/day number have own column */
+
+.fc-basic-view td.fc-week-number {
text-align: center;
}
-.fc-basic-view .fc-week-number span {
+.fc-basic-view td.fc-week-number > * {
/* work around the way we do column resizing and ensure a minimum width */
display: inline-block;
min-width: 1.25em;
}
-.fc-ltr .fc-basic-view .fc-day-number {
- text-align: right;
-}
-
-.fc-rtl .fc-basic-view .fc-day-number {
- text-align: left;
-}
-
-.fc-day-number.fc-other-month {
- opacity: 0.3;
- filter: alpha(opacity=30); /* for IE */
- /* opacity with small font can sometimes look too faded
- might want to set the 'color' property instead
- making day-numbers bold also fixes the problem */
-}
/* AgendaView all-day area
--------------------------------------------------------------------------------------------------*/
@@ -948,7 +972,6 @@ a.fc-more:hover {
}
.fc-agenda-view .fc-day-grid .fc-row .fc-content-skeleton {
- padding-top: 1px; /* add a pixel to make sure there are 2px padding above events */
padding-bottom: 1em; /* give space underneath events for clicking/selecting days */
}
@@ -1259,3 +1282,116 @@ be a descendant of the grid when it is being dragged.
border-top-color: transparent;
border-bottom-color: transparent;
}
+
+
+
+/* List View
+--------------------------------------------------------------------------------------------------*/
+
+/* possibly reusable */
+
+.fc-event-dot {
+ display: inline-block;
+ width: 10px;
+ height: 10px;
+ border-radius: 5px;
+}
+
+/* view wrapper */
+
+.fc-rtl .fc-list-view {
+ direction: rtl; /* unlike core views, leverage browser RTL */
+}
+
+.fc-list-view {
+ border-width: 1px;
+ border-style: solid;
+}
+
+/* table resets */
+
+.fc .fc-list-table {
+ table-layout: auto; /* for shrinkwrapping cell content */
+}
+
+.fc-list-table td {
+ border-width: 1px 0 0;
+ padding: 8px 14px;
+}
+
+.fc-list-table tr:first-child td {
+ border-top-width: 0;
+}
+
+/* day headings with the list */
+
+.fc-list-heading {
+ border-bottom-width: 1px;
+}
+
+.fc-list-heading td {
+ font-weight: bold;
+}
+
+.fc-ltr .fc-list-heading-main { float: left; }
+.fc-ltr .fc-list-heading-alt { float: right; }
+
+.fc-rtl .fc-list-heading-main { float: right; }
+.fc-rtl .fc-list-heading-alt { float: left; }
+
+/* event list items */
+
+.fc-list-item.fc-has-url {
+ cursor: pointer; /* whole row will be clickable */
+}
+
+.fc-list-item:hover td {
+ background-color: #f5f5f5;
+}
+
+.fc-list-item-marker,
+.fc-list-item-time {
+ white-space: nowrap;
+ width: 1px;
+}
+
+/* make the dot closer to the event title */
+.fc-ltr .fc-list-item-marker { padding-right: 0; }
+.fc-rtl .fc-list-item-marker { padding-left: 0; }
+
+.fc-list-item-title a {
+ /* every event title cell has an <a> tag */
+ text-decoration: none;
+ color: inherit;
+}
+
+.fc-list-item-title a[href]:hover {
+ /* hover effect only on titles with hrefs */
+ text-decoration: underline;
+}
+
+/* message when no events */
+
+.fc-list-empty-wrap2 {
+ position: absolute;
+ top: 0;
+ left: 0;
+ right: 0;
+ bottom: 0;
+}
+
+.fc-list-empty-wrap1 {
+ width: 100%;
+ height: 100%;
+ display: table;
+}
+
+.fc-list-empty {
+ display: table-cell;
+ vertical-align: middle;
+ text-align: center;
+}
+
+.fc-unthemed .fc-list-empty { /* theme will provide own background */
+ background-color: #eee;
+}
diff --git a/library/fullcalendar/fullcalendar.js b/library/fullcalendar/fullcalendar.js
index 2460eb5e7..3c2c380bc 100644
--- a/library/fullcalendar/fullcalendar.js
+++ b/library/fullcalendar/fullcalendar.js
@@ -1,5 +1,5 @@
/*!
- * FullCalendar v2.8.0
+ * FullCalendar v3.0.1
* Docs & License: http://fullcalendar.io/
* (c) 2016 Adam Shaw
*/
@@ -19,8 +19,8 @@
;;
var FC = $.fullCalendar = {
- version: "2.8.0",
- internalApiVersion: 4
+ version: "3.0.1",
+ internalApiVersion: 6
};
var fcViews = FC.views = {};
@@ -71,56 +71,6 @@ function mergeOptions(optionObjs) {
return mergeProps(optionObjs, complexOptions);
}
-
-// Given options specified for the calendar's constructor, massages any legacy options into a non-legacy form.
-// Converts View-Option-Hashes into the View-Specific-Options format.
-function massageOverrides(input) {
- var overrides = { views: input.views || {} }; // the output. ensure a `views` hash
- var subObj;
-
- // iterate through all option override properties (except `views`)
- $.each(input, function(name, val) {
- if (name != 'views') {
-
- // could the value be a legacy View-Option-Hash?
- if (
- $.isPlainObject(val) &&
- !/(time|duration|interval)$/i.test(name) && // exclude duration options. might be given as objects
- $.inArray(name, complexOptions) == -1 // complex options aren't allowed to be View-Option-Hashes
- ) {
- subObj = null;
-
- // iterate through the properties of this possible View-Option-Hash value
- $.each(val, function(subName, subVal) {
-
- // is the property targeting a view?
- if (/^(month|week|day|default|basic(Week|Day)?|agenda(Week|Day)?)$/.test(subName)) {
- if (!overrides.views[subName]) { // ensure the view-target entry exists
- overrides.views[subName] = {};
- }
- overrides.views[subName][name] = subVal; // record the value in the `views` object
- }
- else { // a non-View-Option-Hash property
- if (!subObj) {
- subObj = {};
- }
- subObj[subName] = subVal; // accumulate these unrelated values for later
- }
- });
-
- if (subObj) { // non-View-Option-Hash properties? transfer them as-is
- overrides[name] = subObj;
- }
- }
- else {
- overrides[name] = val; // transfer normal options as-is
- }
- }
- });
-
- return overrides;
-}
-
;;
// exports
@@ -247,7 +197,7 @@ function undistributeHeight(els) {
function matchCellWidths(els) {
var maxInnerWidth = 0;
- els.find('> span').each(function(i, innerEl) {
+ els.find('> *').each(function(i, innerEl) {
var innerWidth = $(innerEl).outerWidth();
if (innerWidth > maxInnerWidth) {
maxInnerWidth = innerWidth;
@@ -628,7 +578,8 @@ function flexibleCompare(a, b) {
----------------------------------------------------------------------------------------------------------------------*/
-// Computes the intersection of the two ranges. Returns undefined if no intersection.
+// Computes the intersection of the two ranges. Will return fresh date clones in a range.
+// Returns undefined if no intersection.
// Expects all dates to be normalized to the same timezone beforehand.
// TODO: move to date section?
function intersectRanges(subjectRange, constraintRange) {
@@ -908,22 +859,6 @@ function copyOwnProps(src, dest) {
}
-// Copies over certain methods with the same names as Object.prototype methods. Overcomes an IE<=8 bug:
-// https://developer.mozilla.org/en-US/docs/ECMAScript_DontEnum_attribute#JScript_DontEnum_Bug
-function copyNativeMethods(src, dest) {
- var names = [ 'constructor', 'toString', 'valueOf' ];
- var i, name;
-
- for (i = 0; i < names.length; i++) {
- name = names[i];
-
- if (src[name] !== Object.prototype[name]) {
- dest[name] = src[name];
- }
- }
-}
-
-
function hasOwnProp(obj, name) {
return hasOwnPropMethod.call(obj, name);
}
@@ -989,6 +924,21 @@ function cssToStr(cssProps) {
}
+// Given an object hash of HTML attribute names to values,
+// generates a string that can be injected between < > in HTML
+function attrsToStr(attrs) {
+ var parts = [];
+
+ $.each(attrs, function(name, val) {
+ if (val != null) {
+ parts.push(name + '="' + htmlEscape(val) + '"');
+ }
+ });
+
+ return parts.join(' ');
+}
+
+
function capitaliseFirstLetter(str) {
return str.charAt(0).toUpperCase() + str.slice(1);
}
@@ -1070,14 +1020,24 @@ function syncThen(promise, thenFunc) {
;;
+/*
+GENERAL NOTE on moments throughout the *entire rest* of the codebase:
+All moments are assumed to be ambiguously-zoned unless otherwise noted,
+with the NOTABLE EXCEOPTION of start/end dates that live on *Event Objects*.
+Ambiguously-TIMED moments are assumed to be ambiguously-zoned by nature.
+*/
+
var ambigDateOfMonthRegex = /^\s*\d{4}-\d\d$/;
var ambigTimeOrZoneRegex =
/^\s*\d{4}-(?:(\d\d-\d\d)|(W\d\d$)|(W\d\d-\d)|(\d\d\d))((T| )(\d\d(:\d\d(:\d\d(\.\d+)?)?)?)?)?$/;
var newMomentProto = moment.fn; // where we will attach our new methods
var oldMomentProto = $.extend({}, newMomentProto); // copy of original moment methods
-var allowValueOptimization;
-var setUTCValues; // function defined below
-var setLocalValues; // function defined below
+
+// tell momentjs to transfer these properties upon clone
+var momentProperties = moment.momentProperties;
+momentProperties.push('_fullCalendar');
+momentProperties.push('_ambigTime');
+momentProperties.push('_ambigZone');
// Creating
@@ -1123,12 +1083,8 @@ function makeMoment(args, parseAsUTC, parseZone) {
var ambigMatch;
var mom;
- if (moment.isMoment(input)) {
- mom = moment.apply(null, args); // clone it
- transferAmbigs(input, mom); // the ambig flags weren't transfered with the clone
- }
- else if (isNativeDate(input) || input === undefined) {
- mom = moment.apply(null, args); // will be local
+ if (moment.isMoment(input) || isNativeDate(input) || input === undefined) {
+ mom = moment.apply(null, args);
}
else { // "parsing" is required
isAmbigTime = false;
@@ -1169,12 +1125,7 @@ function makeMoment(args, parseAsUTC, parseZone) {
mom._ambigZone = true;
}
else if (isSingleString) {
- if (mom.utcOffset) {
- mom.utcOffset(input); // if not a valid zone, will assign UTC
- }
- else {
- mom.zone(input); // for moment-pre-2.9
- }
+ mom.utcOffset(input); // if not a valid zone, will assign UTC
}
}
}
@@ -1185,21 +1136,6 @@ function makeMoment(args, parseAsUTC, parseZone) {
}
-// A clone method that works with the flags related to our enhanced functionality.
-// In the future, use moment.momentProperties
-newMomentProto.clone = function() {
- var mom = oldMomentProto.clone.apply(this, arguments);
-
- // these flags weren't transfered with the clone
- transferAmbigs(this, mom);
- if (this._fullCalendar) {
- mom._fullCalendar = true;
- }
-
- return mom;
-};
-
-
// Week Number
// -------------------------------------------------------------------------------------------------
@@ -1207,8 +1143,7 @@ newMomentProto.clone = function() {
// Returns the week number, considering the locale's custom week number calcuation
// `weeks` is an alias for `week`
newMomentProto.week = newMomentProto.weeks = function(input) {
- var weekCalc = (this._locale || this._lang) // works pre-moment-2.8
- ._fullCalendar_weekCalc;
+ var weekCalc = this._locale._fullCalendar_weekCalc;
if (input == null && typeof weekCalc === 'function') { // custom function only works for getter
return weekCalc(this);
@@ -1275,19 +1210,21 @@ newMomentProto.time = function(time) {
// but preserving its YMD. A moment with a stripped time will display no time
// nor timezone offset when .format() is called.
newMomentProto.stripTime = function() {
- var a;
if (!this._ambigTime) {
- // get the values before any conversion happens
- a = this.toArray(); // array of y/m/d/h/m/s/ms
+ this.utc(true); // keepLocalTime=true (for keeping *date* value)
- // TODO: use keepLocalTime in the future
- this.utc(); // set the internal UTC flag (will clear the ambig flags)
- setUTCValues(this, a.slice(0, 3)); // set the year/month/date. time will be zero
+ // set time to zero
+ this.set({
+ hours: 0,
+ minutes: 0,
+ seconds: 0,
+ ms: 0
+ });
// Mark the time as ambiguous. This needs to happen after the .utc() call, which might call .utcOffset(),
- // which clears all ambig flags. Same with setUTCValues with moment-timezone.
+ // which clears all ambig flags.
this._ambigTime = true;
this._ambigZone = true; // if ambiguous time, also ambiguous timezone offset
}
@@ -1307,24 +1244,20 @@ newMomentProto.hasTime = function() {
// Converts the moment to UTC, stripping out its timezone offset, but preserving its
// YMD and time-of-day. A moment with a stripped timezone offset will display no
// timezone offset when .format() is called.
-// TODO: look into Moment's keepLocalTime functionality
newMomentProto.stripZone = function() {
- var a, wasAmbigTime;
+ var wasAmbigTime;
if (!this._ambigZone) {
- // get the values before any conversion happens
- a = this.toArray(); // array of y/m/d/h/m/s/ms
wasAmbigTime = this._ambigTime;
- this.utc(); // set the internal UTC flag (might clear the ambig flags, depending on Moment internals)
- setUTCValues(this, a); // will set the year/month/date/hours/minutes/seconds/ms
+ this.utc(true); // keepLocalTime=true (for keeping date and time values)
// the above call to .utc()/.utcOffset() unfortunately might clear the ambig flags, so restore
this._ambigTime = wasAmbigTime || false;
// Mark the zone as ambiguous. This needs to happen after the .utc() call, which might call .utcOffset(),
- // which clears the ambig flags. Same with setUTCValues with moment-timezone.
+ // which clears the ambig flags.
this._ambigZone = true;
}
@@ -1337,32 +1270,26 @@ newMomentProto.hasZone = function() {
};
-// this method implicitly marks a zone
-newMomentProto.local = function() {
- var a = this.toArray(); // year,month,date,hours,minutes,seconds,ms as an array
- var wasAmbigZone = this._ambigZone;
+// implicitly marks a zone
+newMomentProto.local = function(keepLocalTime) {
- oldMomentProto.local.apply(this, arguments);
+ // for when converting from ambiguously-zoned to local,
+ // keep the time values when converting from UTC -> local
+ oldMomentProto.local.call(this, this._ambigZone || keepLocalTime);
// ensure non-ambiguous
// this probably already happened via local() -> utcOffset(), but don't rely on Moment's internals
this._ambigTime = false;
this._ambigZone = false;
- if (wasAmbigZone) {
- // If the moment was ambiguously zoned, the date fields were stored as UTC.
- // We want to preserve these, but in local time.
- // TODO: look into Moment's keepLocalTime functionality
- setLocalValues(this, a);
- }
-
return this; // for chaining
};
// implicitly marks a zone
-newMomentProto.utc = function() {
- oldMomentProto.utc.apply(this, arguments);
+newMomentProto.utc = function(keepLocalTime) {
+
+ oldMomentProto.utc.call(this, keepLocalTime);
// ensure non-ambiguous
// this probably already happened via utc() -> utcOffset(), but don't rely on Moment's internals
@@ -1373,28 +1300,18 @@ newMomentProto.utc = function() {
};
-// methods for arbitrarily manipulating timezone offset.
-// should clear time/zone ambiguity when called.
-$.each([
- 'zone', // only in moment-pre-2.9. deprecated afterwards
- 'utcOffset'
-], function(i, name) {
- if (oldMomentProto[name]) { // original method exists?
+// implicitly marks a zone (will probably get called upon .utc() and .local())
+newMomentProto.utcOffset = function(tzo) {
- // this method implicitly marks a zone (will probably get called upon .utc() and .local())
- newMomentProto[name] = function(tzo) {
-
- if (tzo != null) { // setter
- // these assignments needs to happen before the original zone method is called.
- // I forget why, something to do with a browser crash.
- this._ambigTime = false;
- this._ambigZone = false;
- }
-
- return oldMomentProto[name].apply(this, arguments);
- };
+ if (tzo != null) { // setter
+ // these assignments needs to happen before the original zone method is called.
+ // I forget why, something to do with a browser crash.
+ this._ambigTime = false;
+ this._ambigZone = false;
}
-});
+
+ return oldMomentProto.utcOffset.apply(this, arguments);
+};
// Formatting
@@ -1423,156 +1340,6 @@ newMomentProto.toISOString = function() {
return oldMomentProto.toISOString.apply(this, arguments);
};
-
-// Querying
-// -------------------------------------------------------------------------------------------------
-
-// Is the moment within the specified range? `end` is exclusive.
-// FYI, this method is not a standard Moment method, so always do our enhanced logic.
-newMomentProto.isWithin = function(start, end) {
- var a = commonlyAmbiguate([ this, start, end ]);
- return a[0] >= a[1] && a[0] < a[2];
-};
-
-// When isSame is called with units, timezone ambiguity is normalized before the comparison happens.
-// If no units specified, the two moments must be identically the same, with matching ambig flags.
-newMomentProto.isSame = function(input, units) {
- var a;
-
- // only do custom logic if this is an enhanced moment
- if (!this._fullCalendar) {
- return oldMomentProto.isSame.apply(this, arguments);
- }
-
- if (units) {
- a = commonlyAmbiguate([ this, input ], true); // normalize timezones but don't erase times
- return oldMomentProto.isSame.call(a[0], a[1], units);
- }
- else {
- input = FC.moment.parseZone(input); // normalize input
- return oldMomentProto.isSame.call(this, input) &&
- Boolean(this._ambigTime) === Boolean(input._ambigTime) &&
- Boolean(this._ambigZone) === Boolean(input._ambigZone);
- }
-};
-
-// Make these query methods work with ambiguous moments
-$.each([
- 'isBefore',
- 'isAfter'
-], function(i, methodName) {
- newMomentProto[methodName] = function(input, units) {
- var a;
-
- // only do custom logic if this is an enhanced moment
- if (!this._fullCalendar) {
- return oldMomentProto[methodName].apply(this, arguments);
- }
-
- a = commonlyAmbiguate([ this, input ]);
- return oldMomentProto[methodName].call(a[0], a[1], units);
- };
-});
-
-
-// Misc Internals
-// -------------------------------------------------------------------------------------------------
-
-// given an array of moment-like inputs, return a parallel array w/ moments similarly ambiguated.
-// for example, of one moment has ambig time, but not others, all moments will have their time stripped.
-// set `preserveTime` to `true` to keep times, but only normalize zone ambiguity.
-// returns the original moments if no modifications are necessary.
-function commonlyAmbiguate(inputs, preserveTime) {
- var anyAmbigTime = false;
- var anyAmbigZone = false;
- var len = inputs.length;
- var moms = [];
- var i, mom;
-
- // parse inputs into real moments and query their ambig flags
- for (i = 0; i < len; i++) {
- mom = inputs[i];
- if (!moment.isMoment(mom)) {
- mom = FC.moment.parseZone(mom);
- }
- anyAmbigTime = anyAmbigTime || mom._ambigTime;
- anyAmbigZone = anyAmbigZone || mom._ambigZone;
- moms.push(mom);
- }
-
- // strip each moment down to lowest common ambiguity
- // use clones to avoid modifying the original moments
- for (i = 0; i < len; i++) {
- mom = moms[i];
- if (!preserveTime && anyAmbigTime && !mom._ambigTime) {
- moms[i] = mom.clone().stripTime();
- }
- else if (anyAmbigZone && !mom._ambigZone) {
- moms[i] = mom.clone().stripZone();
- }
- }
-
- return moms;
-}
-
-// Transfers all the flags related to ambiguous time/zone from the `src` moment to the `dest` moment
-// TODO: look into moment.momentProperties for this.
-function transferAmbigs(src, dest) {
- if (src._ambigTime) {
- dest._ambigTime = true;
- }
- else if (dest._ambigTime) {
- dest._ambigTime = false;
- }
-
- if (src._ambigZone) {
- dest._ambigZone = true;
- }
- else if (dest._ambigZone) {
- dest._ambigZone = false;
- }
-}
-
-
-// Sets the year/month/date/etc values of the moment from the given array.
-// Inefficient because it calls each individual setter.
-function setMomentValues(mom, a) {
- mom.year(a[0] || 0)
- .month(a[1] || 0)
- .date(a[2] || 0)
- .hours(a[3] || 0)
- .minutes(a[4] || 0)
- .seconds(a[5] || 0)
- .milliseconds(a[6] || 0);
-}
-
-// Can we set the moment's internal date directly?
-allowValueOptimization = '_d' in moment() && 'updateOffset' in moment;
-
-// Utility function. Accepts a moment and an array of the UTC year/month/date/etc values to set.
-// Assumes the given moment is already in UTC mode.
-setUTCValues = allowValueOptimization ? function(mom, a) {
- // simlate what moment's accessors do
- mom._d.setTime(Date.UTC.apply(Date, a));
- moment.updateOffset(mom, false); // keepTime=false
-} : setMomentValues;
-
-// Utility function. Accepts a moment and an array of the local year/month/date/etc values to set.
-// Assumes the given moment is already in local mode.
-setLocalValues = allowValueOptimization ? function(mom, a) {
- // simlate what moment's accessors do
- mom._d.setTime(+new Date( // FYI, there is now way to apply an array of args to a constructor
- a[0] || 0,
- a[1] || 0,
- a[2] || 0,
- a[3] || 0,
- a[4] || 0,
- a[5] || 0,
- a[6] || 0
- ));
- moment.updateOffset(mom, false); // keepTime=false
-} : setMomentValues;
-
;;
// Single Date Formatting
@@ -1653,7 +1420,7 @@ function formatRange(date1, date2, formatStr, separator, isRTL) {
date1 = FC.moment.parseZone(date1);
date2 = FC.moment.parseZone(date2);
- localeData = (date1.localeData || date1.lang).call(date1); // works with moment-pre-2.8
+ localeData = date1.localeData();
// Expand localized format strings, like "LL" -> "MMMM D YYYY"
formatStr = localeData.longDateFormat(formatStr) || formatStr;
@@ -1807,6 +1574,49 @@ function chunkFormatString(formatStr) {
return chunks;
}
+
+// Misc Utils
+// -------------------------------------------------------------------------------------------------
+
+
+// granularity only goes up until day
+// TODO: unify with similarUnitMap
+var tokenGranularities = {
+ Y: { value: 1, unit: 'year' },
+ M: { value: 2, unit: 'month' },
+ W: { value: 3, unit: 'week' },
+ w: { value: 3, unit: 'week' },
+ D: { value: 4, unit: 'day' }, // day of month
+ d: { value: 4, unit: 'day' } // day of week
+};
+
+// returns a unit string, either 'year', 'month', 'day', or null
+// for the most granular formatting token in the string.
+FC.queryMostGranularFormatUnit = function(formatStr) {
+ var chunks = getFormatStringChunks(formatStr);
+ var i, chunk;
+ var candidate;
+ var best;
+
+ for (i = 0; i < chunks.length; i++) {
+ chunk = chunks[i];
+ if (chunk.token) {
+ candidate = tokenGranularities[chunk.token.charAt(0)];
+ if (candidate) {
+ if (!best || candidate.value > best.value) {
+ best = candidate;
+ }
+ }
+ }
+ }
+
+ if (best) {
+ return best.unit;
+ }
+
+ return null;
+};
+
;;
FC.Class = Class; // export
@@ -1858,7 +1668,6 @@ function extendClass(superClass, members) {
// copy each member variable/method onto the the subclass's prototype
copyOwnProps(members, subClass.prototype);
- copyNativeMethods(members, subClass.prototype); // hack for IE8
// copy over all class variables/methods to the subclass, such as `extend` and `mixin`
copyOwnProps(superClass, subClass);
@@ -1868,7 +1677,7 @@ function extendClass(superClass, members) {
function mixIntoClass(theClass, members) {
- copyOwnProps(members, theClass.prototype); // TODO: copyNativeMethods?
+ copyOwnProps(members, theClass.prototype);
}
;;
@@ -2263,17 +2072,6 @@ var CoordCache = FC.CoordCache = Class.extend({
},
- // Compute and return what the elements' bounding rectangle is, from the user's perspective.
- // Right now, only returns a rectangle if constrained by an overflow:scroll element.
- queryBoundingRect: function() {
- var scrollParentEl = getScrollParent(this.els.eq(0));
-
- if (!scrollParentEl.is(document)) {
- return getClientRect(scrollParentEl);
- }
- },
-
-
// Populates the left/right internal coordinate arrays
buildElHorizontals: function() {
var lefts = [];
@@ -2313,42 +2111,36 @@ var CoordCache = FC.CoordCache = Class.extend({
// Given a left offset (from document left), returns the index of the el that it horizontally intersects.
- // If no intersection is made, or outside of the boundingRect, returns undefined.
+ // If no intersection is made, returns undefined.
getHorizontalIndex: function(leftOffset) {
this.ensureBuilt();
- var boundingRect = this.boundingRect;
var lefts = this.lefts;
var rights = this.rights;
var len = lefts.length;
var i;
- if (!boundingRect || (leftOffset >= boundingRect.left && leftOffset < boundingRect.right)) {
- for (i = 0; i < len; i++) {
- if (leftOffset >= lefts[i] && leftOffset < rights[i]) {
- return i;
- }
+ for (i = 0; i < len; i++) {
+ if (leftOffset >= lefts[i] && leftOffset < rights[i]) {
+ return i;
}
}
},
// Given a top offset (from document top), returns the index of the el that it vertically intersects.
- // If no intersection is made, or outside of the boundingRect, returns undefined.
+ // If no intersection is made, returns undefined.
getVerticalIndex: function(topOffset) {
this.ensureBuilt();
- var boundingRect = this.boundingRect;
var tops = this.tops;
var bottoms = this.bottoms;
var len = tops.length;
var i;
- if (!boundingRect || (topOffset >= boundingRect.top && topOffset < boundingRect.bottom)) {
- for (i = 0; i < len; i++) {
- if (topOffset >= tops[i] && topOffset < bottoms[i]) {
- return i;
- }
+ for (i = 0; i < len; i++) {
+ if (topOffset >= tops[i] && topOffset < bottoms[i]) {
+ return i;
}
}
},
@@ -2424,6 +2216,32 @@ var CoordCache = FC.CoordCache = Class.extend({
getHeight: function(topIndex) {
this.ensureBuilt();
return this.bottoms[topIndex] - this.tops[topIndex];
+ },
+
+
+ // Bounding Rect
+ // TODO: decouple this from CoordCache
+
+ // Compute and return what the elements' bounding rectangle is, from the user's perspective.
+ // Right now, only returns a rectangle if constrained by an overflow:scroll element.
+ queryBoundingRect: function() {
+ var scrollParentEl = getScrollParent(this.els.eq(0));
+
+ if (!scrollParentEl.is(document)) {
+ return getClientRect(scrollParentEl);
+ }
+ },
+
+ isPointInBounds: function(leftOffset, topOffset) {
+ return this.isLeftInBounds(leftOffset) && this.isTopInBounds(topOffset);
+ },
+
+ isLeftInBounds: function(leftOffset) {
+ return !this.boundingRect || (leftOffset >= this.boundingRect.left && leftOffset < this.boundingRect.right);
+ },
+
+ isTopInBounds: function(topOffset) {
+ return !this.boundingRect || (topOffset >= this.boundingRect.top && topOffset < this.boundingRect.bottom);
}
});
@@ -2437,10 +2255,7 @@ var CoordCache = FC.CoordCache = Class.extend({
var DragListener = FC.DragListener = Class.extend(ListenerMixin, MouseIgnorerMixin, {
options: null,
-
- // for IE8 bug-fighting behavior
subjectEl: null,
- subjectHref: null,
// coordinates of the initial mousedown
originX: null,
@@ -2631,7 +2446,6 @@ var DragListener = FC.DragListener = Class.extend(ListenerMixin, MouseIgnorerMix
handleDragStart: function(ev) {
this.trigger('dragStart', ev);
- this.initHrefHack();
},
@@ -2671,7 +2485,6 @@ var DragListener = FC.DragListener = Class.extend(ListenerMixin, MouseIgnorerMix
handleDragEnd: function(ev) {
this.trigger('dragEnd', ev);
- this.destroyHrefHack();
},
@@ -2747,33 +2560,6 @@ var DragListener = FC.DragListener = Class.extend(ListenerMixin, MouseIgnorerMix
},
- // <A> HREF Hack
- // -----------------------------------------------------------------------------------------------------------------
-
-
- initHrefHack: function() {
- var subjectEl = this.subjectEl;
-
- // remove a mousedown'd <a>'s href so it is not visited (IE8 bug)
- if ((this.subjectHref = subjectEl ? subjectEl.attr('href') : null)) {
- subjectEl.removeAttr('href');
- }
- },
-
-
- destroyHrefHack: function() {
- var subjectEl = this.subjectEl;
- var subjectHref = this.subjectHref;
-
- // restore a mousedown'd <a>'s href (for IE8 bug)
- setTimeout(function() { // must be outside of the click's execution
- if (subjectHref) {
- subjectEl.attr('href', subjectHref);
- }
- }, 0);
- },
-
-
// Utils
// -----------------------------------------------------------------------------------------------------------------
@@ -3259,11 +3045,11 @@ var MouseFollower = Class.extend(ListenerMixin, {
var _this = this;
var revertDuration = this.options.revertDuration;
- function complete() {
- this.isAnimating = false;
+ function complete() { // might be called by .animate(), which might change `this` context
+ _this.isAnimating = false;
_this.removeElement();
- this.top0 = this.left0 = null; // reset state for future updatePosition calls
+ _this.top0 = _this.left0 = null; // reset state for future updatePosition calls
if (callback) {
callback();
@@ -3297,7 +3083,6 @@ var MouseFollower = Class.extend(ListenerMixin, {
var el = this.el;
if (!el) {
- this.sourceEl.width(); // hack to force IE8 to compute correct bounding box
el = this.el = this.sourceEl.clone()
.addClass(this.options.additionalClass || '')
.css({
@@ -3342,7 +3127,6 @@ var MouseFollower = Class.extend(ListenerMixin, {
// make sure origin info was computed
if (this.top0 === null) {
- this.sourceEl.width(); // hack to force IE8 to compute correct bounding box
sourceOffset = this.sourceEl.offset();
origin = this.el.offsetParent().offset();
this.top0 = sourceOffset.top - origin.top;
@@ -3396,6 +3180,9 @@ var MouseFollower = Class.extend(ListenerMixin, {
var Grid = FC.Grid = Class.extend(ListenerMixin, MouseIgnorerMixin, {
+ // self-config, overridable by subclasses
+ hasDayInteractions: true, // can user click/select ranges of time?
+
view: null, // a View object
isRTL: null, // shortcut to the view's isRTL option
@@ -3563,10 +3350,13 @@ var Grid = FC.Grid = Class.extend(ListenerMixin, MouseIgnorerMixin, {
// Does other DOM-related initializations.
setElement: function(el) {
this.el = el;
- preventSelection(el);
- this.bindDayHandler('touchstart', this.dayTouchStart);
- this.bindDayHandler('mousedown', this.dayMousedown);
+ if (this.hasDayInteractions) {
+ preventSelection(el);
+
+ this.bindDayHandler('touchstart', this.dayTouchStart);
+ this.bindDayHandler('mousedown', this.dayMousedown);
+ }
// attach event-element-related handlers. in Grid.events
// same garbage collection note as above.
@@ -3583,8 +3373,12 @@ var Grid = FC.Grid = Class.extend(ListenerMixin, MouseIgnorerMixin, {
// jQuery will take care of unregistering them when removeElement gets called.
this.el.on(name, function(ev) {
if (
- !$(ev.target).is('.fc-event-container *, .fc-more') && // not an an event element, or "more.." link
- !$(ev.target).closest('.fc-popover').length // not on a popover (like the "more.." events one)
+ !$(ev.target).is(
+ _this.segSelector + ',' + // directly on an event element
+ _this.segSelector + ' *,' + // within an event element
+ '.fc-more,' + // a "more.." link
+ 'a[data-goto]' // a clickable nav link
+ )
) {
return handler.call(_this, ev);
}
@@ -3683,6 +3477,7 @@ var Grid = FC.Grid = Class.extend(ListenerMixin, MouseIgnorerMixin, {
scroll: view.opt('dragScroll'),
interactionStart: function() {
dayClickHit = dragListener.origHit; // for dayClick, where no dragging happens
+ selectionSpan = null;
},
dragStart: function() {
view.unselect(); // since we could be rendering a new selection, we want to clear any old one
@@ -3709,10 +3504,12 @@ var Grid = FC.Grid = Class.extend(ListenerMixin, MouseIgnorerMixin, {
}
}
},
- hitOut: function() {
+ hitOut: function() { // called before mouse moves to a different hit OR moved out of all hits
dayClickHit = null;
selectionSpan = null;
_this.unrenderSelection();
+ },
+ hitDone: function() { // called after a hitOut OR before a dragEnd
enableCursor();
},
interactionEnd: function(ev, isCancelled) {
@@ -3731,7 +3528,6 @@ var Grid = FC.Grid = Class.extend(ListenerMixin, MouseIgnorerMixin, {
// the selection will already have been rendered. just report it
view.reportSelection(selectionSpan, ev);
}
- enableCursor();
}
}
});
@@ -4034,6 +3830,9 @@ var Grid = FC.Grid = Class.extend(ListenerMixin, MouseIgnorerMixin, {
Grid.mixin({
+ // self-config, overridable by subclasses
+ segSelector: '.fc-event-container > *', // what constitutes an event element?
+
mousedOverSeg: null, // the segment object the user's mouse is over. null if over nothing
isDraggingSeg: false, // is a segment being dragged? boolean
isResizingSeg: false, // is a segment being resized? boolean
@@ -4172,7 +3971,7 @@ Grid.mixin({
// Generates an array of classNames to be used for the default rendering of a background event.
- // Called by the fill system.
+ // Called by fillSegHtml.
bgEventSegClasses: function(seg) {
var event = seg.event;
var source = event.source || {};
@@ -4185,7 +3984,7 @@ Grid.mixin({
// Generates a semicolon-separated CSS string to be used for the default rendering of a background event.
- // Called by the fill system.
+ // Called by fillSegHtml.
bgEventSegCss: function(seg) {
return {
'background-color': this.getSegSkinCss(seg)['background-color']
@@ -4194,32 +3993,68 @@ Grid.mixin({
// Generates an array of classNames to be used for the rendering business hours overlay. Called by the fill system.
+ // Called by fillSegHtml.
businessHoursSegClasses: function(seg) {
return [ 'fc-nonbusiness', 'fc-bgevent' ];
},
+ /* Business Hours
+ ------------------------------------------------------------------------------------------------------------------*/
+
+
+ // Compute business hour segs for the grid's current date range.
+ // Caller must ask if whole-day business hours are needed.
+ buildBusinessHourSegs: function(wholeDay) {
+ var events = this.view.calendar.getCurrentBusinessHourEvents(wholeDay);
+
+ // HACK. Eventually refactor business hours "events" system.
+ // If no events are given, but businessHours is activated, this means the entire visible range should be
+ // marked as *not* business-hours, via inverse-background rendering.
+ if (
+ !events.length &&
+ this.view.calendar.options.businessHours // don't access view option. doesn't update with dynamic options
+ ) {
+ events = [
+ $.extend({}, BUSINESS_HOUR_EVENT_DEFAULTS, {
+ start: this.view.end, // guaranteed out-of-range
+ end: this.view.end, // "
+ dow: null
+ })
+ ];
+ }
+
+ return this.eventsToSegs(events);
+ },
+
+
/* Handlers
------------------------------------------------------------------------------------------------------------------*/
- // Attaches event-element-related handlers to the container element and leverage bubbling
+ // Attaches event-element-related handlers for *all* rendered event segments of the view.
bindSegHandlers: function() {
- this.bindSegHandler('touchstart', this.handleSegTouchStart);
- this.bindSegHandler('touchend', this.handleSegTouchEnd);
- this.bindSegHandler('mouseenter', this.handleSegMouseover);
- this.bindSegHandler('mouseleave', this.handleSegMouseout);
- this.bindSegHandler('mousedown', this.handleSegMousedown);
- this.bindSegHandler('click', this.handleSegClick);
+ this.bindSegHandlersToEl(this.el);
+ },
+
+
+ // Attaches event-element-related handlers to an arbitrary container element. leverages bubbling.
+ bindSegHandlersToEl: function(el) {
+ this.bindSegHandlerToEl(el, 'touchstart', this.handleSegTouchStart);
+ this.bindSegHandlerToEl(el, 'touchend', this.handleSegTouchEnd);
+ this.bindSegHandlerToEl(el, 'mouseenter', this.handleSegMouseover);
+ this.bindSegHandlerToEl(el, 'mouseleave', this.handleSegMouseout);
+ this.bindSegHandlerToEl(el, 'mousedown', this.handleSegMousedown);
+ this.bindSegHandlerToEl(el, 'click', this.handleSegClick);
},
// Executes a handler for any a user-interaction on a segment.
// Handler gets called with (seg, ev), and with the `this` context of the Grid
- bindSegHandler: function(name, handler) {
+ bindSegHandlerToEl: function(el, name, handler) {
var _this = this;
- this.el.on(name, '.fc-event-container > *', function(ev) {
+ el.on(name, this.segSelector, function(ev) {
var seg = $(this).data('fc-seg'); // grab segment data. put there by View::renderEvents
// only call the handlers if there is not a drag/resize in progress
@@ -4231,7 +4066,10 @@ Grid.mixin({
handleSegClick: function(seg, ev) {
- return this.view.trigger('eventClick', seg.el[0], seg.event, ev); // can return `false` to cancel
+ var res = this.view.trigger('eventClick', seg.el[0], seg.event, ev); // can return `false` to cancel
+ if (res === false) {
+ ev.preventDefault();
+ }
},
@@ -4242,7 +4080,9 @@ Grid.mixin({
!this.mousedOverSeg
) {
this.mousedOverSeg = seg;
- seg.el.addClass('fc-allow-mouse-resize');
+ if (this.view.isEventResizable(seg.event)) {
+ seg.el.addClass('fc-allow-mouse-resize');
+ }
this.view.trigger('eventMouseover', seg.el[0], seg.event, ev);
}
},
@@ -4256,7 +4096,9 @@ Grid.mixin({
if (this.mousedOverSeg) {
seg = seg || this.mousedOverSeg; // if given no args, use the currently moused-over segment
this.mousedOverSeg = null;
- seg.el.removeClass('fc-allow-mouse-resize');
+ if (this.view.isEventResizable(seg.event)) {
+ seg.el.removeClass('fc-allow-mouse-resize');
+ }
this.view.trigger('eventMouseout', seg.el[0], seg.event, ev);
}
},
@@ -4353,6 +4195,7 @@ Grid.mixin({
subjectEl: el,
subjectCenter: true,
interactionStart: function(ev) {
+ seg.component = _this; // for renderDrag
isDragging = false;
mouseFollower = new MouseFollower(seg.el, {
additionalClass: 'fc-dragging',
@@ -4421,6 +4264,8 @@ Grid.mixin({
enableCursor();
},
interactionEnd: function(ev) {
+ delete seg.component; // prevent side effects
+
// do revert animation if hasn't changed. calls a callback when finished (whether animation or not)
mouseFollower.stop(!dropLocation, function() {
if (isDragging) {
@@ -4508,11 +4353,7 @@ Grid.mixin({
}
// othewise, work off existing values
else {
- dropLocation = {
- start: event.start.clone(),
- end: event.end ? event.end.clone() : null,
- allDay: event.allDay // keep it the same
- };
+ dropLocation = pluckEventDateProps(event);
}
dropLocation.start.add(delta);
@@ -4538,11 +4379,7 @@ Grid.mixin({
var opacity = this.view.opt('dragOpacity');
if (opacity != null) {
- els.each(function(i, node) {
- // Don't use jQuery (will set an IE filter), do it the old fashioned way.
- // In IE8, a helper element will disappears if there's a filter.
- node.style.opacity = opacity;
- });
+ els.css('opacity', opacity);
}
},
@@ -4708,8 +4545,11 @@ Grid.mixin({
disableCursor();
resizeLocation = null;
}
- // no change? (TODO: how does this work with timezones?)
- else if (resizeLocation.start.isSame(event.start) && resizeLocation.end.isSame(eventEnd)) {
+ // no change? (FYI, event dates might have zones)
+ else if (
+ resizeLocation.start.isSame(event.start.clone().stripZone()) &&
+ resizeLocation.end.isSame(eventEnd.clone().stripZone())
+ ) {
resizeLocation = null;
}
}
@@ -4862,15 +4702,11 @@ Grid.mixin({
// Generic utility for generating the HTML classNames for an event segment's element
getSegClasses: function(seg, isDraggable, isResizable) {
var view = this.view;
- var event = seg.event;
var classes = [
'fc-event',
seg.isStart ? 'fc-start' : 'fc-not-start',
seg.isEnd ? 'fc-end' : 'fc-not-end'
- ].concat(
- event.className,
- event.source ? event.source.className : []
- );
+ ].concat(this.getSegCustomClasses(seg));
if (isDraggable) {
classes.push('fc-draggable');
@@ -4880,7 +4716,7 @@ Grid.mixin({
}
// event is currently selected? attach a className.
- if (view.isEventSelected(event)) {
+ if (view.isEventSelected(seg.event)) {
classes.push('fc-selected');
}
@@ -4888,38 +4724,78 @@ Grid.mixin({
},
- // Utility for generating event skin-related CSS properties
- getSegSkinCss: function(seg) {
+ // List of classes that were defined by the caller of the API in some way
+ getSegCustomClasses: function(seg) {
var event = seg.event;
- var view = this.view;
- var source = event.source || {};
- var eventColor = event.color;
- var sourceColor = source.color;
- var optionColor = view.opt('eventColor');
+ return [].concat(
+ event.className, // guaranteed to be an array
+ event.source ? event.source.className : []
+ );
+ },
+
+
+ // Utility for generating event skin-related CSS properties
+ getSegSkinCss: function(seg) {
return {
- 'background-color':
- event.backgroundColor ||
- eventColor ||
- source.backgroundColor ||
- sourceColor ||
- view.opt('eventBackgroundColor') ||
- optionColor,
- 'border-color':
- event.borderColor ||
- eventColor ||
- source.borderColor ||
- sourceColor ||
- view.opt('eventBorderColor') ||
- optionColor,
- color:
- event.textColor ||
- source.textColor ||
- view.opt('eventTextColor')
+ 'background-color': this.getSegBackgroundColor(seg),
+ 'border-color': this.getSegBorderColor(seg),
+ color: this.getSegTextColor(seg)
};
},
+ // Queries for caller-specified color, then falls back to default
+ getSegBackgroundColor: function(seg) {
+ return seg.event.backgroundColor ||
+ seg.event.color ||
+ this.getSegDefaultBackgroundColor(seg);
+ },
+
+
+ getSegDefaultBackgroundColor: function(seg) {
+ var source = seg.event.source || {};
+
+ return source.backgroundColor ||
+ source.color ||
+ this.view.opt('eventBackgroundColor') ||
+ this.view.opt('eventColor');
+ },
+
+
+ // Queries for caller-specified color, then falls back to default
+ getSegBorderColor: function(seg) {
+ return seg.event.borderColor ||
+ seg.event.color ||
+ this.getSegDefaultBorderColor(seg);
+ },
+
+
+ getSegDefaultBorderColor: function(seg) {
+ var source = seg.event.source || {};
+
+ return source.borderColor ||
+ source.color ||
+ this.view.opt('eventBorderColor') ||
+ this.view.opt('eventColor');
+ },
+
+
+ // Queries for caller-specified color, then falls back to default
+ getSegTextColor: function(seg) {
+ return seg.event.textColor ||
+ this.getSegDefaultTextColor(seg);
+ },
+
+
+ getSegDefaultTextColor: function(seg) {
+ var source = seg.event.source || {};
+
+ return source.textColor ||
+ this.view.opt('eventTextColor');
+ },
+
+
/* Converting events -> eventRange -> eventSpan -> eventSegs
------------------------------------------------------------------------------------------------------------------*/
@@ -4987,20 +4863,25 @@ Grid.mixin({
// Generates the unzoned start/end dates an event appears to occupy
// Can accept an event "location" as well (which only has start/end and no allDay)
eventToRange: function(event) {
- return {
- start: event.start.clone().stripZone(),
- end: (
+ var calendar = this.view.calendar;
+ var start = event.start.clone().stripZone();
+ var end = (
event.end ?
event.end.clone() :
// derive the end from the start and allDay. compute allDay if necessary
- this.view.calendar.getDefaultEventEnd(
+ calendar.getDefaultEventEnd(
event.allDay != null ?
event.allDay :
!event.start.hasTime(),
event.start
)
- ).stripZone()
- };
+ ).stripZone();
+
+ // hack: dynamic locale change forgets to upate stored event localed
+ calendar.localizeMoment(start);
+ calendar.localizeMoment(end);
+
+ return { start: start, end: end };
},
@@ -5103,6 +4984,16 @@ Grid.mixin({
----------------------------------------------------------------------------------------------------------------------*/
+function pluckEventDateProps(event) {
+ return {
+ start: event.start.clone(),
+ end: event.end ? event.end.clone() : null,
+ allDay: event.allDay // keep it the same
+ };
+}
+FC.pluckEventDateProps = pluckEventDateProps;
+
+
function isBgEvent(event) { // returns true if background OR inverse-background
var rendering = getEventRendering(event);
return rendering === 'background' || rendering === 'inverse-background';
@@ -5493,7 +5384,7 @@ var DayTableMixin = FC.DayTableMixin = {
return '' +
'<th class="fc-day-header ' + view.widgetHeaderClass + ' fc-' + dayIDs[date.day()] + '"' +
- (this.rowCnt == 1 ?
+ (this.rowCnt === 1 ?
' data-date="' + date.format('YYYY-MM-DD') + '"' :
'') +
(colspan > 1 ?
@@ -5502,8 +5393,12 @@ var DayTableMixin = FC.DayTableMixin = {
(otherAttrs ?
' ' + otherAttrs :
'') +
- '>' +
- htmlEscape(date.format(this.colHeadFormat)) +
+ '>' +
+ // don't make a link if the heading could represent multiple days, or if there's only one day (forceOff)
+ view.buildGotoAnchorHtml(
+ { date: date, forceOff: this.rowCnt > 1 || this.colCnt === 1 },
+ htmlEscape(date.format(this.colHeadFormat)) // inner HTML
+ ) +
'</th>';
},
@@ -5656,13 +5551,16 @@ var DayGrid = FC.DayGrid = Grid.extend(DayTableMixin, {
renderBusinessHours: function() {
- var events = this.view.calendar.getBusinessHoursEvents(true); // wholeDay=true
- var segs = this.eventsToSegs(events);
-
+ var segs = this.buildBusinessHourSegs(true); // wholeDay=true
this.renderFill('businessHours', segs, 'bgevent');
},
+ unrenderBusinessHours: function() {
+ this.unrenderFill('businessHours');
+ },
+
+
// Generates the HTML for a single row, which is a div that wraps a table.
// `row` is the row number.
renderDayRowHtml: function(row, isRigid) {
@@ -5729,19 +5627,53 @@ var DayGrid = FC.DayGrid = Grid.extend(DayTableMixin, {
// Generates the HTML for the <td>s of the "number" row in the DayGrid's content skeleton.
// The number row will only exist if either day numbers or week numbers are turned on.
renderNumberCellHtml: function(date) {
+ var html = '';
var classes;
+ var weekCalcFirstDoW;
- if (!this.view.dayNumbersVisible) { // if there are week numbers but not day numbers
+ if (!this.view.dayNumbersVisible && !this.view.cellWeekNumbersVisible) {
+ // no numbers in day cell (week number must be along the side)
return '<td/>'; // will create an empty space above events :(
}
classes = this.getDayClasses(date);
- classes.unshift('fc-day-number');
+ classes.unshift('fc-day-top');
- return '' +
- '<td class="' + classes.join(' ') + '" data-date="' + date.format() + '">' +
- date.date() +
- '</td>';
+ if (this.view.cellWeekNumbersVisible) {
+ // To determine the day of week number change under ISO, we cannot
+ // rely on moment.js methods such as firstDayOfWeek() or weekday(),
+ // because they rely on the locale's dow (possibly overridden by
+ // our firstDay option), which may not be Monday. We cannot change
+ // dow, because that would affect the calendar start day as well.
+ if (date._locale._fullCalendar_weekCalc === 'ISO') {
+ weekCalcFirstDoW = 1; // Monday by ISO 8601 definition
+ }
+ else {
+ weekCalcFirstDoW = date._locale.firstDayOfWeek();
+ }
+ }
+
+ html += '<td class="' + classes.join(' ') + '" data-date="' + date.format() + '">';
+
+ if (this.view.cellWeekNumbersVisible && (date.day() == weekCalcFirstDoW)) {
+ html += this.view.buildGotoAnchorHtml(
+ { date: date, type: 'week' },
+ { 'class': 'fc-week-number' },
+ date.format('w') // inner HTML
+ );
+ }
+
+ if (this.view.dayNumbersVisible) {
+ html += this.view.buildGotoAnchorHtml(
+ date,
+ { 'class': 'fc-day-number' },
+ date.date() // inner HTML
+ );
+ }
+
+ html += '</td>';
+
+ return html;
},
@@ -5809,11 +5741,13 @@ var DayGrid = FC.DayGrid = Grid.extend(DayTableMixin, {
queryHit: function(leftOffset, topOffset) {
- var col = this.colCoordCache.getHorizontalIndex(leftOffset);
- var row = this.rowCoordCache.getVerticalIndex(topOffset);
+ if (this.colCoordCache.isLeftInBounds(leftOffset) && this.rowCoordCache.isTopInBounds(topOffset)) {
+ var col = this.colCoordCache.getHorizontalIndex(leftOffset);
+ var row = this.rowCoordCache.getVerticalIndex(topOffset);
- if (row != null && col != null) {
- return this.getCellHit(row, col);
+ if (row != null && col != null) {
+ return this.getCellHit(row, col);
+ }
}
},
@@ -5864,8 +5798,7 @@ var DayGrid = FC.DayGrid = Grid.extend(DayTableMixin, {
this.renderHighlight(this.eventToSpan(eventLocation));
// if a segment from the same calendar but another component is being dragged, render a helper event
- if (seg && !seg.el.closest(this.el).length) {
-
+ if (seg && seg.component !== this) {
return this.renderEventLocationHelper(eventLocation, seg); // returns mock event elements
}
},
@@ -6573,7 +6506,7 @@ DayGrid.mixin({
options = {
className: 'fc-more-popover',
content: this.renderSegPopoverContent(row, col, segs),
- parentEl: this.el,
+ parentEl: this.view.el, // attach to root of view. guarantees outside of scrollbars.
top: topEl.offset().top,
autoHide: true, // when the user clicks elsewhere, hide the popover
viewportConstrain: view.opt('popoverViewportConstrain'),
@@ -6596,6 +6529,10 @@ DayGrid.mixin({
this.segPopover = new Popover(options);
this.segPopover.show();
+
+ // the popover doesn't live within the grid's container element, and thus won't get the event
+ // delegated-handlers for free. attach event-related handlers to the popover.
+ this.bindSegHandlersToEl(this.segPopover.el);
},
@@ -6844,7 +6781,6 @@ var TimeGrid = FC.TimeGrid = Grid.extend(DayTableMixin, {
this.labelFormat =
input ||
- view.opt('axisFormat') || // deprecated
view.opt('smallTimeFormat'); // the computed default
input = view.opt('slotLabelInterval');
@@ -6905,27 +6841,30 @@ var TimeGrid = FC.TimeGrid = Grid.extend(DayTableMixin, {
var snapsPerSlot = this.snapsPerSlot;
var colCoordCache = this.colCoordCache;
var slatCoordCache = this.slatCoordCache;
- var colIndex = colCoordCache.getHorizontalIndex(leftOffset);
- var slatIndex = slatCoordCache.getVerticalIndex(topOffset);
-
- if (colIndex != null && slatIndex != null) {
- var slatTop = slatCoordCache.getTopOffset(slatIndex);
- var slatHeight = slatCoordCache.getHeight(slatIndex);
- var partial = (topOffset - slatTop) / slatHeight; // floating point number between 0 and 1
- var localSnapIndex = Math.floor(partial * snapsPerSlot); // the snap # relative to start of slat
- var snapIndex = slatIndex * snapsPerSlot + localSnapIndex;
- var snapTop = slatTop + (localSnapIndex / snapsPerSlot) * slatHeight;
- var snapBottom = slatTop + ((localSnapIndex + 1) / snapsPerSlot) * slatHeight;
-
- return {
- col: colIndex,
- snap: snapIndex,
- component: this, // needed unfortunately :(
- left: colCoordCache.getLeftOffset(colIndex),
- right: colCoordCache.getRightOffset(colIndex),
- top: snapTop,
- bottom: snapBottom
- };
+
+ if (colCoordCache.isLeftInBounds(leftOffset) && slatCoordCache.isTopInBounds(topOffset)) {
+ var colIndex = colCoordCache.getHorizontalIndex(leftOffset);
+ var slatIndex = slatCoordCache.getVerticalIndex(topOffset);
+
+ if (colIndex != null && slatIndex != null) {
+ var slatTop = slatCoordCache.getTopOffset(slatIndex);
+ var slatHeight = slatCoordCache.getHeight(slatIndex);
+ var partial = (topOffset - slatTop) / slatHeight; // floating point number between 0 and 1
+ var localSnapIndex = Math.floor(partial * snapsPerSlot); // the snap # relative to start of slat
+ var snapIndex = slatIndex * snapsPerSlot + localSnapIndex;
+ var snapTop = slatTop + (localSnapIndex / snapsPerSlot) * slatHeight;
+ var snapBottom = slatTop + ((localSnapIndex + 1) / snapsPerSlot) * slatHeight;
+
+ return {
+ col: colIndex,
+ snap: snapIndex,
+ component: this, // needed unfortunately :(
+ left: colCoordCache.getLeftOffset(colIndex),
+ right: colCoordCache.getRightOffset(colIndex),
+ top: snapTop,
+ bottom: snapBottom
+ };
+ }
}
},
@@ -7128,10 +7067,9 @@ var TimeGrid = FC.TimeGrid = Grid.extend(DayTableMixin, {
renderBusinessHours: function() {
- var events = this.view.calendar.getBusinessHoursEvents();
- var segs = this.eventsToSegs(events);
-
- this.renderBusinessSegs(segs);
+ this.renderBusinessSegs(
+ this.buildBusinessHourSegs()
+ );
},
@@ -8074,6 +8012,62 @@ var View = FC.View = Class.extend(EmitterMixin, ListenerMixin, {
},
+ getAllDayHtml: function() {
+ return this.opt('allDayHtml') || htmlEscape(this.opt('allDayText'));
+ },
+
+
+ /* Navigation
+ ------------------------------------------------------------------------------------------------------------------*/
+
+
+ // Generates HTML for an anchor to another view into the calendar.
+ // Will either generate an <a> tag or a non-clickable <span> tag, depending on enabled settings.
+ // `gotoOptions` can either be a moment input, or an object with the form:
+ // { date, type, forceOff }
+ // `type` is a view-type like "day" or "week". default value is "day".
+ // `attrs` and `innerHtml` are use to generate the rest of the HTML tag.
+ buildGotoAnchorHtml: function(gotoOptions, attrs, innerHtml) {
+ var date, type, forceOff;
+ var finalOptions;
+
+ if ($.isPlainObject(gotoOptions)) {
+ date = gotoOptions.date;
+ type = gotoOptions.type;
+ forceOff = gotoOptions.forceOff;
+ }
+ else {
+ date = gotoOptions; // a single moment input
+ }
+ date = FC.moment(date); // if a string, parse it
+
+ finalOptions = { // for serialization into the link
+ date: date.format('YYYY-MM-DD'),
+ type: type || 'day'
+ };
+
+ if (typeof attrs === 'string') {
+ innerHtml = attrs;
+ attrs = null;
+ }
+
+ attrs = attrs ? ' ' + attrsToStr(attrs) : ''; // will have a leading space
+ innerHtml = innerHtml || '';
+
+ if (!forceOff && this.opt('navLinks')) {
+ return '<a' + attrs +
+ ' data-goto="' + htmlEscape(JSON.stringify(finalOptions)) + '">' +
+ innerHtml +
+ '</a>';
+ }
+ else {
+ return '<span' + attrs + '>' +
+ innerHtml +
+ '</span>';
+ }
+ },
+
+
/* Rendering
------------------------------------------------------------------------------------------------------------------*/
@@ -8110,12 +8104,12 @@ var View = FC.View = Class.extend(EmitterMixin, ListenerMixin, {
// Does everything necessary to display the view centered around the given unzoned date.
// Does every type of rendering EXCEPT rendering events.
// Is asychronous and returns a promise.
- display: function(date) {
+ display: function(date, explicitScrollState) {
var _this = this;
- var scrollState = null;
+ var prevScrollState = null;
- if (this.displaying) {
- scrollState = this.queryScroll();
+ if (explicitScrollState != null && this.displaying) { // don't need prevScrollState if explicitScrollState
+ prevScrollState = this.queryScroll();
}
this.calendar.freezeContentHeight();
@@ -8124,7 +8118,17 @@ var View = FC.View = Class.extend(EmitterMixin, ListenerMixin, {
return (
_this.displaying =
syncThen(_this.displayView(date), function() { // displayView might return a promise
- _this.forceScroll(_this.computeInitialScroll(scrollState));
+
+ // caller of display() wants a specific scroll state?
+ if (explicitScrollState != null) {
+ // we make an assumption that this is NOT the initial render,
+ // and thus don't need forceScroll (is inconveniently asynchronous)
+ _this.setScroll(explicitScrollState);
+ }
+ else {
+ _this.forceScroll(_this.computeInitialScroll(prevScrollState));
+ }
+
_this.calendar.unfreezeContentHeight();
_this.triggerRender();
})
@@ -8559,14 +8563,24 @@ var View = FC.View = Class.extend(EmitterMixin, ListenerMixin, {
// Computes if the given event is allowed to be dragged by the user
isEventDraggable: function(event) {
- var source = event.source || {};
+ return this.isEventStartEditable(event);
+ },
+
+ isEventStartEditable: function(event) {
return firstDefined(
event.startEditable,
- source.startEditable,
+ (event.source || {}).startEditable,
this.opt('eventStartEditable'),
+ this.isEventGenerallyEditable(event)
+ );
+ },
+
+
+ isEventGenerallyEditable: function(event) {
+ return firstDefined(
event.editable,
- source.editable,
+ (event.source || {}).editable,
this.opt('editable')
);
},
@@ -9066,8 +9080,9 @@ var Scroller = FC.Scroller = Class.extend({
var Calendar = FC.Calendar = Class.extend({
dirDefaults: null, // option defaults related to LTR or RTL
- langDefaults: null, // option defaults related to current locale
+ localeDefaults: null, // option defaults related to current locale
overrides: null, // option overrides given to the fullCalendar constructor
+ dynamicOverrides: null, // options set with dynamic setter method. higher precedence than view overrides.
options: null, // all defaults combined with overrides
viewSpecCache: null, // cache of view definitions
view: null, // current View object
@@ -9085,41 +9100,40 @@ var Calendar = FC.Calendar = Class.extend({
},
- // Initializes `this.options` and other important options-related objects
- initOptions: function(overrides) {
- var lang, langDefaults;
+ // Computes the flattened options hash for the calendar and assigns to `this.options`.
+ // Assumes this.overrides and this.dynamicOverrides have already been initialized.
+ populateOptionsHash: function() {
+ var locale, localeDefaults;
var isRTL, dirDefaults;
- // converts legacy options into non-legacy ones.
- // in the future, when this is removed, don't use `overrides` reference. make a copy.
- overrides = massageOverrides(overrides);
-
- lang = overrides.lang;
- langDefaults = langOptionHash[lang];
- if (!langDefaults) {
- lang = Calendar.defaults.lang;
- langDefaults = langOptionHash[lang] || {};
+ locale = firstDefined( // explicit locale option given?
+ this.dynamicOverrides.locale,
+ this.overrides.locale
+ );
+ localeDefaults = localeOptionHash[locale];
+ if (!localeDefaults) { // explicit locale option not given or invalid?
+ locale = Calendar.defaults.locale;
+ localeDefaults = localeOptionHash[locale] || {};
}
- isRTL = firstDefined(
- overrides.isRTL,
- langDefaults.isRTL,
+ isRTL = firstDefined( // based on options computed so far, is direction RTL?
+ this.dynamicOverrides.isRTL,
+ this.overrides.isRTL,
+ localeDefaults.isRTL,
Calendar.defaults.isRTL
);
dirDefaults = isRTL ? Calendar.rtlDefaults : {};
this.dirDefaults = dirDefaults;
- this.langDefaults = langDefaults;
- this.overrides = overrides;
+ this.localeDefaults = localeDefaults;
this.options = mergeOptions([ // merge defaults and overrides. lowest to highest precedence
Calendar.defaults, // global defaults
dirDefaults,
- langDefaults,
- overrides
+ localeDefaults,
+ this.overrides,
+ this.dynamicOverrides
]);
- populateInstanceComputableOptions(this.options);
-
- this.viewSpecCache = {}; // somewhat unrelated
+ populateInstanceComputableOptions(this.options); // fill in gaps with computed options
},
@@ -9231,9 +9245,10 @@ var Calendar = FC.Calendar = Class.extend({
Calendar.defaults, // global defaults
spec.defaults, // view's defaults (from ViewSubclass.defaults)
this.dirDefaults,
- this.langDefaults, // locale and dir take precedence over view's defaults!
+ this.localeDefaults, // locale and dir take precedence over view's defaults!
this.overrides, // calendar's overrides (options given to constructor)
- spec.overrides // view's overrides (view-specific options)
+ spec.overrides, // view's overrides (view-specific options)
+ this.dynamicOverrides // dynamically set via setter. highest precedence
]);
populateInstanceComputableOptions(spec.options);
},
@@ -9247,17 +9262,21 @@ var Calendar = FC.Calendar = Class.extend({
function queryButtonText(options) {
var buttonText = options.buttonText || {};
return buttonText[requestedViewType] ||
+ // view can decide to look up a certain key
+ (spec.buttonTextKey ? buttonText[spec.buttonTextKey] : null) ||
+ // a key like "month"
(spec.singleUnit ? buttonText[spec.singleUnit] : null);
}
// highest to lowest priority
spec.buttonTextOverride =
+ queryButtonText(this.dynamicOverrides) ||
queryButtonText(this.overrides) || // constructor-specified buttonText lookup hash takes precedence
spec.overrides.buttonText; // `buttonText` for view-specific options is a string
// highest to lowest priority. mirrors buildViewSpecOptions
spec.buttonTextDefault =
- queryButtonText(this.langDefaults) ||
+ queryButtonText(this.localeDefaults) ||
queryButtonText(this.dirDefaults) ||
spec.defaults.buttonText || // a single string. from ViewSubclass.defaults
queryButtonText(Calendar.defaults) ||
@@ -9324,10 +9343,6 @@ function Calendar_constructor(element, overrides) {
var t = this;
- t.initOptions(overrides || {});
- var options = this.options;
-
-
// Exports
// -----------------------------------------------------------------------------------
@@ -9352,67 +9367,95 @@ function Calendar_constructor(element, overrides) {
t.getDate = getDate;
t.getCalendar = getCalendar;
t.getView = getView;
- t.option = option;
+ t.option = option; // getter/setter method
t.trigger = trigger;
+ // Options
+ // -----------------------------------------------------------------------------------
- // Language-data Internals
+ t.dynamicOverrides = {};
+ t.viewSpecCache = {};
+ t.optionHandlers = {}; // for Calendar.options.js
+ t.overrides = $.extend({}, overrides); // make a copy
+
+ t.populateOptionsHash(); // sets this.options
+
+
+
+ // Locale-data Internals
// -----------------------------------------------------------------------------------
- // Apply overrides to the current language's data
+ // Apply overrides to the current locale's data
+ var localeData;
- var localeData = createObject( // make a cheap copy
- getMomentLocaleData(options.lang) // will fall back to en
- );
+ // Called immediately, and when any of the options change.
+ // Happens before any internal objects rebuild or rerender, because this is very core.
+ t.bindOptions([
+ 'locale', 'monthNames', 'monthNamesShort', 'dayNames', 'dayNamesShort', 'firstDay', 'weekNumberCalculation'
+ ], function(locale, monthNames, monthNamesShort, dayNames, dayNamesShort, firstDay, weekNumberCalculation) {
- if (options.monthNames) {
- localeData._months = options.monthNames;
- }
- if (options.monthNamesShort) {
- localeData._monthsShort = options.monthNamesShort;
- }
- if (options.dayNames) {
- localeData._weekdays = options.dayNames;
- }
- if (options.dayNamesShort) {
- localeData._weekdaysShort = options.dayNamesShort;
- }
- if (options.firstDay != null) {
- var _week = createObject(localeData._week); // _week: { dow: # }
- _week.dow = options.firstDay;
- localeData._week = _week;
- }
+ // normalize
+ if (weekNumberCalculation === 'iso') {
+ weekNumberCalculation = 'ISO'; // normalize
+ }
- // assign a normalized value, to be used by our .week() moment extension
- localeData._fullCalendar_weekCalc = (function(weekCalc) {
- if (typeof weekCalc === 'function') {
- return weekCalc;
+ localeData = createObject( // make a cheap copy
+ getMomentLocaleData(locale) // will fall back to en
+ );
+
+ if (monthNames) {
+ localeData._months = monthNames;
+ }
+ if (monthNamesShort) {
+ localeData._monthsShort = monthNamesShort;
+ }
+ if (dayNames) {
+ localeData._weekdays = dayNames;
+ }
+ if (dayNamesShort) {
+ localeData._weekdaysShort = dayNamesShort;
+ }
+
+ if (firstDay == null && weekNumberCalculation === 'ISO') {
+ firstDay = 1;
}
- else if (weekCalc === 'local') {
- return weekCalc;
+ if (firstDay != null) {
+ var _week = createObject(localeData._week); // _week: { dow: # }
+ _week.dow = firstDay;
+ localeData._week = _week;
}
- else if (weekCalc === 'iso' || weekCalc === 'ISO') {
- return 'ISO';
+
+ if ( // whitelist certain kinds of input
+ weekNumberCalculation === 'ISO' ||
+ weekNumberCalculation === 'local' ||
+ typeof weekNumberCalculation === 'function'
+ ) {
+ localeData._fullCalendar_weekCalc = weekNumberCalculation; // moment-ext will know what to do with it
}
- })(options.weekNumberCalculation);
+ // If the internal current date object already exists, move to new locale.
+ // We do NOT need to do this technique for event dates, because this happens when converting to "segments".
+ if (date) {
+ localizeMoment(date); // sets to localeData
+ }
+ });
// Calendar-specific Date Utilities
// -----------------------------------------------------------------------------------
- t.defaultAllDayEventDuration = moment.duration(options.defaultAllDayEventDuration);
- t.defaultTimedEventDuration = moment.duration(options.defaultTimedEventDuration);
+ t.defaultAllDayEventDuration = moment.duration(t.options.defaultAllDayEventDuration);
+ t.defaultTimedEventDuration = moment.duration(t.options.defaultTimedEventDuration);
- // Builds a moment using the settings of the current calendar: timezone and language.
+ // Builds a moment using the settings of the current calendar: timezone and locale.
// Accepts anything the vanilla moment() constructor accepts.
t.moment = function() {
var mom;
- if (options.timezone === 'local') {
+ if (t.options.timezone === 'local') {
mom = FC.moment.apply(null, arguments);
// Force the moment to be local, because FC.moment doesn't guarantee it.
@@ -9420,28 +9463,30 @@ function Calendar_constructor(element, overrides) {
mom.local();
}
}
- else if (options.timezone === 'UTC') {
+ else if (t.options.timezone === 'UTC') {
mom = FC.moment.utc.apply(null, arguments); // process as UTC
}
else {
mom = FC.moment.parseZone.apply(null, arguments); // let the input decide the zone
}
- if ('_locale' in mom) { // moment 2.8 and above
- mom._locale = localeData;
- }
- else { // pre-moment-2.8
- mom._lang = localeData;
- }
+ localizeMoment(mom);
return mom;
};
+ // Updates the given moment's locale settings to the current calendar locale settings.
+ function localizeMoment(mom) {
+ mom._locale = localeData;
+ }
+ t.localizeMoment = localizeMoment;
+
+
// Returns a boolean about whether or not the calendar knows how to calculate
// the timezone offset of arbitrary dates in the current timezone.
t.getIsAmbigTimezone = function() {
- return options.timezone !== 'local' && options.timezone !== 'UTC';
+ return t.options.timezone !== 'local' && t.options.timezone !== 'UTC';
};
@@ -9470,7 +9515,7 @@ function Calendar_constructor(element, overrides) {
// Returns a moment for the current date, as defined by the client's computer or from the `now` option.
// Will return an moment with an ambiguous timezone.
t.getNow = function() {
- var now = options.now;
+ var now = t.options.now;
if (typeof now === 'function') {
now = now();
}
@@ -9512,8 +9557,7 @@ function Calendar_constructor(element, overrides) {
// Produces a human-readable string for the given duration.
// Side-effect: changes the locale of the given duration.
t.humanizeDuration = function(duration) {
- return (duration.locale || duration.lang).call(duration, options.lang) // works moment-pre-2.8
- .humanize();
+ return duration.locale(t.options.locale).humanize();
};
@@ -9522,7 +9566,7 @@ function Calendar_constructor(element, overrides) {
// -----------------------------------------------------------------------------------
- EventManager.call(t, options);
+ EventManager.call(t);
var isFetchNeeded = t.isFetchNeeded;
var fetchEvents = t.fetchEvents;
var fetchEventSources = t.fetchEventSources;
@@ -9535,7 +9579,6 @@ function Calendar_constructor(element, overrides) {
var _element = element[0];
var header;
- var headerElement;
var content;
var tm; // for making theme classes
var currentView; // NOTE: keep this in sync with this.view
@@ -9553,8 +9596,8 @@ function Calendar_constructor(element, overrides) {
// compute the initial ambig-timezone date
- if (options.defaultDate != null) {
- date = t.moment(options.defaultDate).stripZone();
+ if (t.options.defaultDate != null) {
+ date = t.moment(t.options.defaultDate).stripZone();
}
else {
date = t.getNow(); // getNow already returns unzoned
@@ -9574,38 +9617,64 @@ function Calendar_constructor(element, overrides) {
function initialRender() {
- tm = options.theme ? 'ui' : 'fc';
element.addClass('fc');
- if (options.isRTL) {
- element.addClass('fc-rtl');
- }
- else {
- element.addClass('fc-ltr');
- }
+ // event delegation for nav links
+ element.on('click.fc', 'a[data-goto]', function(ev) {
+ var anchorEl = $(this);
+ var gotoOptions = anchorEl.data('goto'); // will automatically parse JSON
+ var date = t.moment(gotoOptions.date);
+ var viewType = gotoOptions.type;
- if (options.theme) {
- element.addClass('ui-widget');
- }
- else {
- element.addClass('fc-unthemed');
- }
+ // property like "navLinkDayClick". might be a string or a function
+ var customAction = currentView.opt('navLink' + capitaliseFirstLetter(viewType) + 'Click');
+
+ if (typeof customAction === 'function') {
+ customAction(date, ev);
+ }
+ else {
+ if (typeof customAction === 'string') {
+ viewType = customAction;
+ }
+ zoomTo(date, viewType);
+ }
+ });
+
+ // called immediately, and upon option change
+ t.bindOption('theme', function(theme) {
+ tm = theme ? 'ui' : 'fc'; // affects a larger scope
+ element.toggleClass('ui-widget', theme);
+ element.toggleClass('fc-unthemed', !theme);
+ });
+
+ // called immediately, and upon option change.
+ // HACK: locale often affects isRTL, so we explicitly listen to that too.
+ t.bindOptions([ 'isRTL', 'locale' ], function(isRTL) {
+ element.toggleClass('fc-ltr', !isRTL);
+ element.toggleClass('fc-rtl', isRTL);
+ });
content = $("<div class='fc-view-container'/>").prependTo(element);
- header = t.header = new Header(t, options);
- headerElement = header.render();
- if (headerElement) {
- element.prepend(headerElement);
- }
+ header = t.header = new Header(t);
+ renderHeader();
- renderView(options.defaultView);
+ renderView(t.options.defaultView);
- if (options.handleWindowResize) {
- windowResizeProxy = debounce(windowResize, options.windowResizeDelay); // prevents rapid calls
+ if (t.options.handleWindowResize) {
+ windowResizeProxy = debounce(windowResize, t.options.windowResizeDelay); // prevents rapid calls
$(window).resize(windowResizeProxy);
}
}
+
+
+ // can be called repeatedly and Header will rerender
+ function renderHeader() {
+ header.render();
+ if (header.el) {
+ element.prepend(header.el);
+ }
+ }
function destroy() {
@@ -9621,6 +9690,8 @@ function Calendar_constructor(element, overrides) {
content.remove();
element.removeClass('fc fc-ltr fc-rtl fc-unthemed ui-widget');
+ element.off('.fc'); // unbind nav link handlers
+
if (windowResizeProxy) {
$(window).unbind('resize', windowResizeProxy);
}
@@ -9639,15 +9710,14 @@ function Calendar_constructor(element, overrides) {
// Renders a view because of a date change, view-type change, or for the first time.
// If not given a viewType, keep the current view but render different dates.
- function renderView(viewType) {
+ // Accepts an optional scroll state to restore to.
+ function renderView(viewType, explicitScrollState) {
ignoreWindowResize++;
// if viewType is changing, remove the old view's rendering
if (currentView && viewType && currentView.type !== viewType) {
- header.deactivateButton(currentView.type);
freezeContentHeight(); // prevent a scroll jump when view element is removed
- currentView.removeElement();
- currentView = t.view = null;
+ clearView();
}
// if viewType changed, or the view was never created, create a fresh view
@@ -9670,11 +9740,14 @@ function Calendar_constructor(element, overrides) {
// render or rerender the view
if (
!currentView.displaying ||
- !date.isWithin(currentView.intervalStart, currentView.intervalEnd) // implicit date window change
+ !( // NOT within interval range signals an implicit date window change
+ date >= currentView.intervalStart &&
+ date < currentView.intervalEnd
+ )
) {
if (elementVisible()) {
- currentView.display(date); // will call freezeContentHeight
+ currentView.display(date, explicitScrollState); // will call freezeContentHeight
unfreezeContentHeight(); // immediately unfreeze regardless of whether display is async
// need to do this after View::render, so dates are calculated
@@ -9690,6 +9763,32 @@ function Calendar_constructor(element, overrides) {
ignoreWindowResize--;
}
+
+ // Unrenders the current view and reflects this change in the Header.
+ // Unregsiters the `currentView`, but does not remove from viewByType hash.
+ function clearView() {
+ header.deactivateButton(currentView.type);
+ currentView.removeElement();
+ currentView = t.view = null;
+ }
+
+
+ // Destroys the view, including the view object. Then, re-instantiates it and renders it.
+ // Maintains the same scroll state.
+ // TODO: maintain any other user-manipulated state.
+ function reinitView() {
+ ignoreWindowResize++;
+ freezeContentHeight();
+
+ var viewType = currentView.type;
+ var scrollState = currentView.queryScroll();
+ clearView();
+ renderView(viewType, scrollState);
+
+ unfreezeContentHeight();
+ ignoreWindowResize--;
+ }
+
// Resizing
@@ -9705,7 +9804,7 @@ function Calendar_constructor(element, overrides) {
t.isHeightAuto = function() {
- return options.contentHeight === 'auto' || options.height === 'auto';
+ return t.options.contentHeight === 'auto' || t.options.height === 'auto';
};
@@ -9733,16 +9832,33 @@ function Calendar_constructor(element, overrides) {
function _calcSize() { // assumes elementVisible
- if (typeof options.contentHeight === 'number') { // exists and not 'auto'
- suggestedViewHeight = options.contentHeight;
+ var contentHeightInput = t.options.contentHeight;
+ var heightInput = t.options.height;
+
+ if (typeof contentHeightInput === 'number') { // exists and not 'auto'
+ suggestedViewHeight = contentHeightInput;
}
- else if (typeof options.height === 'number') { // exists and not 'auto'
- suggestedViewHeight = options.height - (headerElement ? headerElement.outerHeight(true) : 0);
+ else if (typeof contentHeightInput === 'function') { // exists and is a function
+ suggestedViewHeight = contentHeightInput();
+ }
+ else if (typeof heightInput === 'number') { // exists and not 'auto'
+ suggestedViewHeight = heightInput - queryHeaderHeight();
+ }
+ else if (typeof heightInput === 'function') { // exists and is a function
+ suggestedViewHeight = heightInput() - queryHeaderHeight();
+ }
+ else if (heightInput === 'parent') { // set to height of parent element
+ suggestedViewHeight = element.parent().height() - queryHeaderHeight();
}
else {
- suggestedViewHeight = Math.round(content.width() / Math.max(options.aspectRatio, .5));
+ suggestedViewHeight = Math.round(content.width() / Math.max(t.options.aspectRatio, .5));
}
}
+
+
+ function queryHeaderHeight() {
+ return header.el ? header.el.outerHeight(true) : 0; // includes margin
+ }
function windowResize(ev) {
@@ -9785,7 +9901,7 @@ function Calendar_constructor(element, overrides) {
function getAndRenderEvents() {
- if (!options.lazyFetching || isFetchNeeded(currentView.start, currentView.end)) {
+ if (!t.options.lazyFetching || isFetchNeeded(currentView.start, currentView.end)) {
fetchAndRenderEvents();
}
else {
@@ -9826,7 +9942,8 @@ function Calendar_constructor(element, overrides) {
function updateTodayButton() {
var now = t.getNow();
- if (now.isWithin(currentView.intervalStart, currentView.intervalEnd)) {
+
+ if (now >= currentView.intervalStart && now < currentView.intervalEnd) {
header.disableButton('today');
}
else {
@@ -9964,13 +10081,69 @@ function Calendar_constructor(element, overrides) {
function option(name, value) {
- if (value === undefined) {
- return options[name];
+ var newOptionHash;
+
+ if (typeof name === 'string') {
+ if (value === undefined) { // getter
+ return t.options[name];
+ }
+ else { // setter for individual option
+ newOptionHash = {};
+ newOptionHash[name] = value;
+ setOptions(newOptionHash);
+ }
+ }
+ else if (typeof name === 'object') { // compound setter with object input
+ setOptions(name);
+ }
+ }
+
+
+ function setOptions(newOptionHash) {
+ var optionCnt = 0;
+ var optionName;
+
+ for (optionName in newOptionHash) {
+ t.dynamicOverrides[optionName] = newOptionHash[optionName];
+ }
+
+ t.viewSpecCache = {}; // the dynamic override invalidates the options in this cache, so just clear it
+ t.populateOptionsHash(); // this.options needs to be recomputed after the dynamic override
+
+ // trigger handlers after this.options has been updated
+ for (optionName in newOptionHash) {
+ t.triggerOptionHandlers(optionName); // recall bindOption/bindOptions
+ optionCnt++;
}
- if (name == 'height' || name == 'contentHeight' || name == 'aspectRatio') {
- options[name] = value;
- updateSize(true); // true = allow recalculation of height
+
+ // special-case handling of single option change.
+ // if only one option change, `optionName` will be its name.
+ if (optionCnt === 1) {
+ if (optionName === 'height' || optionName === 'contentHeight' || optionName === 'aspectRatio') {
+ updateSize(true); // true = allow recalculation of height
+ return;
+ }
+ else if (optionName === 'defaultDate') {
+ return; // can't change date this way. use gotoDate instead
+ }
+ else if (optionName === 'businessHours') {
+ if (currentView) {
+ currentView.unrenderBusinessHours();
+ currentView.renderBusinessHours();
+ }
+ return;
+ }
+ else if (optionName === 'timezone') {
+ t.rezoneArrayEventSources();
+ refetchEvents();
+ return;
+ }
}
+
+ // catch-all. rerender the header and rebuild/rerender the current view
+ renderHeader();
+ viewsByType = {}; // even non-current views will be affected by this option change. do before rerender
+ reinitView();
}
@@ -9980,8 +10153,8 @@ function Calendar_constructor(element, overrides) {
thisObj = thisObj || _element;
this.triggerWith(name, thisObj, args); // Emitter's method
- if (options[name]) {
- return options[name].apply(thisObj, args);
+ if (t.options[name]) {
+ return t.options[name].apply(thisObj, args);
}
}
@@ -9989,11 +10162,75 @@ function Calendar_constructor(element, overrides) {
}
;;
+/*
+Options binding/triggering system.
+*/
+Calendar.mixin({
+
+ // A map of option names to arrays of handler objects. Initialized to {} in Calendar.
+ // Format for a handler object:
+ // {
+ // func // callback function to be called upon change
+ // names // option names whose values should be given to func
+ // }
+ optionHandlers: null,
+
+ // Calls handlerFunc immediately, and when the given option has changed.
+ // handlerFunc will be given the option value.
+ bindOption: function(optionName, handlerFunc) {
+ this.bindOptions([ optionName ], handlerFunc);
+ },
+
+ // Calls handlerFunc immediately, and when any of the given options change.
+ // handlerFunc will be given each option value as ordered function arguments.
+ bindOptions: function(optionNames, handlerFunc) {
+ var handlerObj = { func: handlerFunc, names: optionNames };
+ var i;
+
+ for (i = 0; i < optionNames.length; i++) {
+ this.registerOptionHandlerObj(optionNames[i], handlerObj);
+ }
+
+ this.triggerOptionHandlerObj(handlerObj);
+ },
+
+ // Puts the given handler object into the internal hash
+ registerOptionHandlerObj: function(optionName, handlerObj) {
+ (this.optionHandlers[optionName] || (this.optionHandlers[optionName] = []))
+ .push(handlerObj);
+ },
+
+ // Reports that the given option has changed, and calls all appropriate handlers.
+ triggerOptionHandlers: function(optionName) {
+ var handlerObjs = this.optionHandlers[optionName] || [];
+ var i;
+
+ for (i = 0; i < handlerObjs.length; i++) {
+ this.triggerOptionHandlerObj(handlerObjs[i]);
+ }
+ },
+
+ // Calls the callback for a specific handler object, passing in the appropriate arguments.
+ triggerOptionHandlerObj: function(handlerObj) {
+ var optionNames = handlerObj.names;
+ var optionValues = [];
+ var i;
+
+ for (i = 0; i < optionNames.length; i++) {
+ optionValues.push(this.options[optionNames[i]]);
+ }
+
+ handlerObj.func.apply(this, optionValues); // maintain the Calendar's `this` context
+ }
+
+});
+
+;;
Calendar.defaults = {
titleRangeSeparator: ' \u2013 ', // en dash
- monthYearFormat: 'MMMM YYYY', // required for en. other languages rely on datepicker computable option
+ monthYearFormat: 'MMMM YYYY', // required for en. other locales rely on datepicker computable option
defaultTimedEventDuration: '02:00:00',
defaultAllDayEventDuration: { days: 1 },
@@ -10050,6 +10287,8 @@ Calendar.defaults = {
prevYear: 'left-double-arrow',
nextYear: 'right-double-arrow'
},
+
+ allDayText: 'all-day',
// jquery-ui theming
theme: false,
@@ -10078,14 +10317,14 @@ Calendar.defaults = {
dayPopoverFormat: 'LL',
handleWindowResize: true,
- windowResizeDelay: 200, // milliseconds before an updateSize happens
+ windowResizeDelay: 100, // milliseconds before an updateSize happens
longPressDelay: 1000
};
-Calendar.englishDefaults = { // used by lang.js
+Calendar.englishDefaults = { // used by locale.js
dayPopoverFormat: 'dddd, MMMM D'
};
@@ -10112,19 +10351,18 @@ Calendar.rtlDefaults = { // right-to-left defaults
;;
-var langOptionHash = FC.langs = {}; // initialize and expose
+var localeOptionHash = FC.locales = {}; // initialize and expose
-// TODO: document the structure and ordering of a FullCalendar lang file
-// TODO: rename everything "lang" to "locale", like what the moment project did
+// TODO: document the structure and ordering of a FullCalendar locale file
// Initialize jQuery UI datepicker translations while using some of the translations
-// Will set this as the default language for datepicker.
-FC.datepickerLang = function(langCode, dpLangCode, dpOptions) {
+// Will set this as the default locales for datepicker.
+FC.datepickerLocale = function(localeCode, dpLocaleCode, dpOptions) {
- // get the FullCalendar internal option hash for this language. create if necessary
- var fcOptions = langOptionHash[langCode] || (langOptionHash[langCode] = {});
+ // get the FullCalendar internal option hash for this locale. create if necessary
+ var fcOptions = localeOptionHash[localeCode] || (localeOptionHash[localeCode] = {});
// transfer some simple options from datepicker to fc
fcOptions.isRTL = dpOptions.isRTL;
@@ -10138,15 +10376,15 @@ FC.datepickerLang = function(langCode, dpLangCode, dpOptions) {
// is jQuery UI Datepicker is on the page?
if ($.datepicker) {
- // Register the language data.
- // FullCalendar and MomentJS use language codes like "pt-br" but Datepicker
- // does it like "pt-BR" or if it doesn't have the language, maybe just "pt".
- // Make an alias so the language can be referenced either way.
- $.datepicker.regional[dpLangCode] =
- $.datepicker.regional[langCode] = // alias
+ // Register the locale data.
+ // FullCalendar and MomentJS use locale codes like "pt-br" but Datepicker
+ // does it like "pt-BR" or if it doesn't have the locale, maybe just "pt".
+ // Make an alias so the locale can be referenced either way.
+ $.datepicker.regional[dpLocaleCode] =
+ $.datepicker.regional[localeCode] = // alias
dpOptions;
- // Alias 'en' to the default language data. Do this every time.
+ // Alias 'en' to the default locale data. Do this every time.
$.datepicker.regional.en = $.datepicker.regional[''];
// Set as Datepicker's global defaults.
@@ -10155,35 +10393,35 @@ FC.datepickerLang = function(langCode, dpLangCode, dpOptions) {
};
-// Sets FullCalendar-specific translations. Will set the language as the global default.
-FC.lang = function(langCode, newFcOptions) {
+// Sets FullCalendar-specific translations. Will set the locales as the global default.
+FC.locale = function(localeCode, newFcOptions) {
var fcOptions;
var momOptions;
- // get the FullCalendar internal option hash for this language. create if necessary
- fcOptions = langOptionHash[langCode] || (langOptionHash[langCode] = {});
+ // get the FullCalendar internal option hash for this locale. create if necessary
+ fcOptions = localeOptionHash[localeCode] || (localeOptionHash[localeCode] = {});
- // provided new options for this language? merge them in
+ // provided new options for this locales? merge them in
if (newFcOptions) {
- fcOptions = langOptionHash[langCode] = mergeOptions([ fcOptions, newFcOptions ]);
+ fcOptions = localeOptionHash[localeCode] = mergeOptions([ fcOptions, newFcOptions ]);
}
- // compute language options that weren't defined.
+ // compute locale options that weren't defined.
// always do this. newFcOptions can be undefined when initializing from i18n file,
// so no way to tell if this is an initialization or a default-setting.
- momOptions = getMomentLocaleData(langCode); // will fall back to en
+ momOptions = getMomentLocaleData(localeCode); // will fall back to en
$.each(momComputableOptions, function(name, func) {
if (fcOptions[name] == null) {
fcOptions[name] = func(momOptions, fcOptions);
}
});
- // set it as the default language for FullCalendar
- Calendar.defaults.lang = langCode;
+ // set it as the default locale for FullCalendar
+ Calendar.defaults.locale = localeCode;
};
-// NOTE: can't guarantee any of these computations will run because not every language has datepicker
+// NOTE: can't guarantee any of these computations will run because not every locale has datepicker
// configs, so make sure there are English fallbacks for these in the defaults file.
var dpComputableOptions = {
@@ -10233,7 +10471,7 @@ var momComputableOptions = {
smallTimeFormat: function(momOptions) {
return momOptions.longDateFormat('LT')
.replace(':mm', '(:mm)')
- .replace(/(\Wmm)$/, '($1)') // like above, but for foreign langs
+ .replace(/(\Wmm)$/, '($1)') // like above, but for foreign locales
.replace(/\s*a$/i, 'a'); // convert AM/PM/am/pm to lowercase. remove any spaces beforehand
},
@@ -10241,7 +10479,7 @@ var momComputableOptions = {
extraSmallTimeFormat: function(momOptions) {
return momOptions.longDateFormat('LT')
.replace(':mm', '(:mm)')
- .replace(/(\Wmm)$/, '($1)') // like above, but for foreign langs
+ .replace(/(\Wmm)$/, '($1)') // like above, but for foreign locales
.replace(/\s*a$/i, 't'); // convert to AM/PM/am/pm to lowercase one-letter. remove any spaces beforehand
},
@@ -10249,7 +10487,7 @@ var momComputableOptions = {
hourFormat: function(momOptions) {
return momOptions.longDateFormat('LT')
.replace(':mm', '')
- .replace(/(\Wmm)$/, '') // like above, but for foreign langs
+ .replace(/(\Wmm)$/, '') // like above, but for foreign locales
.replace(/\s*a$/i, 'a'); // convert AM/PM/am/pm to lowercase. remove any spaces beforehand
},
@@ -10263,7 +10501,7 @@ var momComputableOptions = {
// options that should be computed off live calendar options (considers override options)
-// TODO: best place for this? related to lang?
+// TODO: best place for this? related to locale?
// TODO: flipping text based on isRTL is a bad idea because the CSS `direction` might want to handle it
var instanceComputableOptions = {
@@ -10300,17 +10538,14 @@ function populateInstanceComputableOptions(options) {
// Returns moment's internal locale data. If doesn't exist, returns English.
-// Works with moment-pre-2.8
-function getMomentLocaleData(langCode) {
- var func = moment.localeData || moment.langData;
- return func.call(moment, langCode) ||
- func.call(moment, 'en'); // the newer localData could return null, so fall back to en
+function getMomentLocaleData(localeCode) {
+ return moment.localeData(localeCode) || moment.localeData('en');
}
// Initialize English by forcing computation of moment-derived options.
// Also, sets it as the default.
-FC.lang('en', Calendar.englishDefaults);
+FC.locale('en', Calendar.englishDefaults);
;;
@@ -10318,7 +10553,7 @@ FC.lang('en', Calendar.englishDefaults);
----------------------------------------------------------------------------------------------------------------------*/
// TODO: rename all header-related things to "toolbar"
-function Header(calendar, options) {
+function Header(calendar) {
var t = this;
// exports
@@ -10330,38 +10565,50 @@ function Header(calendar, options) {
t.disableButton = disableButton;
t.enableButton = enableButton;
t.getViewsWithButtons = getViewsWithButtons;
+ t.el = null; // mirrors local `el`
// locals
- var el = $();
+ var el;
var viewsWithButtons = [];
var tm;
+ // can be called repeatedly and will rerender
function render() {
+ var options = calendar.options;
var sections = options.header;
tm = options.theme ? 'ui' : 'fc';
if (sections) {
- el = $("<div class='fc-toolbar'/>")
- .append(renderSection('left'))
+ if (!el) {
+ el = this.el = $("<div class='fc-toolbar'/>");
+ }
+ else {
+ el.empty();
+ }
+ el.append(renderSection('left'))
.append(renderSection('right'))
.append(renderSection('center'))
.append('<div class="fc-clear"/>');
-
- return el;
+ }
+ else {
+ removeElement();
}
}
function removeElement() {
- el.remove();
- el = $();
+ if (el) {
+ el.remove();
+ el = t.el = null;
+ }
}
function renderSection(position) {
var sectionEl = $('<div class="fc-' + position + '"/>');
+ var options = calendar.options;
var buttonStr = options.header[position];
if (buttonStr) {
@@ -10387,7 +10634,7 @@ function Header(calendar, options) {
isOnlyButtons = false;
}
else {
- if ((customButtonProps = (calendar.options.customButtons || {})[buttonName])) {
+ if ((customButtonProps = (options.customButtons || {})[buttonName])) {
buttonClick = function(ev) {
if (customButtonProps.click) {
customButtonProps.click.call(button[0], ev);
@@ -10523,33 +10770,43 @@ function Header(calendar, options) {
function updateTitle(text) {
- el.find('h2').text(text);
+ if (el) {
+ el.find('h2').text(text);
+ }
}
function activateButton(buttonName) {
- el.find('.fc-' + buttonName + '-button')
- .addClass(tm + '-state-active');
+ if (el) {
+ el.find('.fc-' + buttonName + '-button')
+ .addClass(tm + '-state-active');
+ }
}
function deactivateButton(buttonName) {
- el.find('.fc-' + buttonName + '-button')
- .removeClass(tm + '-state-active');
+ if (el) {
+ el.find('.fc-' + buttonName + '-button')
+ .removeClass(tm + '-state-active');
+ }
}
function disableButton(buttonName) {
- el.find('.fc-' + buttonName + '-button')
- .prop('disabled', true)
- .addClass(tm + '-state-disabled');
+ if (el) {
+ el.find('.fc-' + buttonName + '-button')
+ .prop('disabled', true)
+ .addClass(tm + '-state-disabled');
+ }
}
function enableButton(buttonName) {
- el.find('.fc-' + buttonName + '-button')
- .prop('disabled', false)
- .removeClass(tm + '-state-disabled');
+ if (el) {
+ el.find('.fc-' + buttonName + '-button')
+ .prop('disabled', false)
+ .removeClass(tm + '-state-disabled');
+ }
}
@@ -10572,7 +10829,7 @@ var ajaxDefaults = {
var eventGUID = 1;
-function EventManager(options) { // assumed to be a calendar
+function EventManager() { // assumed to be a calendar
var t = this;
@@ -10609,7 +10866,7 @@ function EventManager(options) { // assumed to be a calendar
$.each(
- (options.events ? [ options.events ] : []).concat(options.eventSources || []),
+ (t.options.events ? [ t.options.events ] : []).concat(t.options.eventSources || []),
function(i, sourceInput) {
var source = buildEventSource(sourceInput);
if (source) {
@@ -10743,7 +11000,7 @@ function EventManager(options) { // assumed to be a calendar
source,
rangeStart.clone(),
rangeEnd.clone(),
- options.timezone,
+ t.options.timezone,
callback
);
@@ -10766,7 +11023,7 @@ function EventManager(options) { // assumed to be a calendar
t, // this, the Calendar object
rangeStart.clone(),
rangeEnd.clone(),
- options.timezone,
+ t.options.timezone,
function(events) {
callback(events);
t.popLoading();
@@ -10801,9 +11058,9 @@ function EventManager(options) { // assumed to be a calendar
// and not affect the passed-in object.
var data = $.extend({}, customData || {});
- var startParam = firstDefined(source.startParam, options.startParam);
- var endParam = firstDefined(source.endParam, options.endParam);
- var timezoneParam = firstDefined(source.timezoneParam, options.timezoneParam);
+ var startParam = firstDefined(source.startParam, t.options.startParam);
+ var endParam = firstDefined(source.endParam, t.options.endParam);
+ var timezoneParam = firstDefined(source.timezoneParam, t.options.timezoneParam);
if (startParam) {
data[startParam] = rangeStart.format();
@@ -10811,8 +11068,8 @@ function EventManager(options) { // assumed to be a calendar
if (endParam) {
data[endParam] = rangeEnd.format();
}
- if (options.timezone && options.timezone != 'local') {
- data[timezoneParam] = options.timezone;
+ if (t.options.timezone && t.options.timezone != 'local') {
+ data[timezoneParam] = t.options.timezone;
}
t.pushLoading();
@@ -11144,7 +11401,7 @@ function EventManager(options) { // assumed to be a calendar
reportEvents(cache);
}
-
+
function clientEvents(filter) {
if ($.isFunction(filter)) {
@@ -11158,7 +11415,33 @@ function EventManager(options) { // assumed to be a calendar
}
return cache; // else, return all
}
-
+
+
+ // Makes sure all array event sources have their internal event objects
+ // converted over to the Calendar's current timezone.
+ t.rezoneArrayEventSources = function() {
+ var i;
+ var events;
+ var j;
+
+ for (i = 0; i < sources.length; i++) {
+ events = sources[i].events;
+ if ($.isArray(events)) {
+
+ for (j = 0; j < events.length; j++) {
+ rezoneEventDates(events[j]);
+ }
+ }
+ }
+ };
+
+ function rezoneEventDates(event) {
+ event.start = t.moment(event.start);
+ if (event.end) {
+ event.end = t.moment(event.end);
+ }
+ backupEventDates(event);
+ }
/* Event Normalization
@@ -11174,8 +11457,8 @@ function EventManager(options) { // assumed to be a calendar
var start, end;
var allDay;
- if (options.eventDataTransform) {
- input = options.eventDataTransform(input);
+ if (t.options.eventDataTransform) {
+ input = t.options.eventDataTransform(input);
}
if (source && source.eventDataTransform) {
input = source.eventDataTransform(input);
@@ -11241,7 +11524,7 @@ function EventManager(options) { // assumed to be a calendar
if (allDay === undefined) { // still undefined? fallback to default
allDay = firstDefined(
source ? source.allDayDefault : undefined,
- options.allDayDefault
+ t.options.allDayDefault
);
// still undefined? normalizeEventDates will calculate it
}
@@ -11253,6 +11536,7 @@ function EventManager(options) { // assumed to be a calendar
return out;
}
+ t.buildEventFromInput = buildEventFromInput;
// Normalizes and assigns the given dates to the given partially-formed event object.
@@ -11277,7 +11561,7 @@ function EventManager(options) { // assumed to be a calendar
}
if (!eventProps.end) {
- if (options.forceEventDuration) {
+ if (t.options.forceEventDuration) {
eventProps.end = t.getDefaultEventEnd(eventProps.allDay, eventProps.start);
}
else {
@@ -11376,6 +11660,7 @@ function EventManager(options) { // assumed to be a calendar
return events;
}
+ t.expandEvent = expandEvent;
@@ -11569,125 +11854,134 @@ function EventManager(options) { // assumed to be a calendar
}
- /* Business Hours
- -----------------------------------------------------------------------------------------*/
+ t.getEventCache = function() {
+ return cache;
+ };
- t.getBusinessHoursEvents = getBusinessHoursEvents;
+}
- // Returns an array of events as to when the business hours occur in the given view.
- // Abuse of our event system :(
- function getBusinessHoursEvents(wholeDay) {
- var optionVal = options.businessHours;
- var defaultVal = {
- className: 'fc-nonbusiness',
- start: '09:00',
- end: '17:00',
- dow: [ 1, 2, 3, 4, 5 ], // monday - friday
- rendering: 'inverse-background'
- };
- var view = t.getView();
- var eventInput;
+// hook for external libs to manipulate event properties upon creation.
+// should manipulate the event in-place.
+Calendar.prototype.normalizeEvent = function(event) {
+};
- if (optionVal) { // `true` (which means "use the defaults") or an override object
- eventInput = $.extend(
- {}, // copy to a new object in either case
- defaultVal,
- typeof optionVal === 'object' ? optionVal : {} // override the defaults
- );
- }
- if (eventInput) {
+// Does the given span (start, end, and other location information)
+// fully contain the other?
+Calendar.prototype.spanContainsSpan = function(outerSpan, innerSpan) {
+ var eventStart = outerSpan.start.clone().stripZone();
+ var eventEnd = this.getEventEnd(outerSpan).stripZone();
- // if a whole-day series is requested, clear the start/end times
- if (wholeDay) {
- eventInput.start = null;
- eventInput.end = null;
- }
+ return innerSpan.start >= eventStart && innerSpan.end <= eventEnd;
+};
- return expandEvent(
- buildEventFromInput(eventInput),
- view.start,
- view.end
- );
- }
- return [];
+// Returns a list of events that the given event should be compared against when being considered for a move to
+// the specified span. Attached to the Calendar's prototype because EventManager is a mixin for a Calendar.
+Calendar.prototype.getPeerEvents = function(span, event) {
+ var cache = this.getEventCache();
+ var peerEvents = [];
+ var i, otherEvent;
+
+ for (i = 0; i < cache.length; i++) {
+ otherEvent = cache[i];
+ if (
+ !event ||
+ event._id !== otherEvent._id // don't compare the event to itself or other related [repeating] events
+ ) {
+ peerEvents.push(otherEvent);
+ }
}
+ return peerEvents;
+};
- /* Overlapping / Constraining
- -----------------------------------------------------------------------------------------*/
- t.isEventSpanAllowed = isEventSpanAllowed;
- t.isExternalSpanAllowed = isExternalSpanAllowed;
- t.isSelectionSpanAllowed = isSelectionSpanAllowed;
+// updates the "backup" properties, which are preserved in order to compute diffs later on.
+function backupEventDates(event) {
+ event._allDay = event.allDay;
+ event._start = event.start.clone();
+ event._end = event.end ? event.end.clone() : null;
+}
- // Determines if the given event can be relocated to the given span (unzoned start/end with other misc data)
- function isEventSpanAllowed(span, event) {
- var source = event.source || {};
- var constraint = firstDefined(
- event.constraint,
- source.constraint,
- options.eventConstraint
- );
- var overlap = firstDefined(
- event.overlap,
- source.overlap,
- options.eventOverlap
- );
- return isSpanAllowed(span, constraint, overlap, event);
- }
+/* Overlapping / Constraining
+-----------------------------------------------------------------------------------------*/
- // Determines if an external event can be relocated to the given span (unzoned start/end with other misc data)
- function isExternalSpanAllowed(eventSpan, eventLocation, eventProps) {
- var eventInput;
- var event;
+// Determines if the given event can be relocated to the given span (unzoned start/end with other misc data)
+Calendar.prototype.isEventSpanAllowed = function(span, event) {
+ var source = event.source || {};
- // note: very similar logic is in View's reportExternalDrop
- if (eventProps) {
- eventInput = $.extend({}, eventProps, eventLocation);
- event = expandEvent(buildEventFromInput(eventInput))[0];
- }
+ var constraint = firstDefined(
+ event.constraint,
+ source.constraint,
+ this.options.eventConstraint
+ );
- if (event) {
- return isEventSpanAllowed(eventSpan, event);
- }
- else { // treat it as a selection
+ var overlap = firstDefined(
+ event.overlap,
+ source.overlap,
+ this.options.eventOverlap
+ );
- return isSelectionSpanAllowed(eventSpan);
- }
+ return this.isSpanAllowed(span, constraint, overlap, event) &&
+ (!this.options.eventAllow || this.options.eventAllow(span, event) !== false);
+};
+
+
+// Determines if an external event can be relocated to the given span (unzoned start/end with other misc data)
+Calendar.prototype.isExternalSpanAllowed = function(eventSpan, eventLocation, eventProps) {
+ var eventInput;
+ var event;
+
+ // note: very similar logic is in View's reportExternalDrop
+ if (eventProps) {
+ eventInput = $.extend({}, eventProps, eventLocation);
+ event = this.expandEvent(
+ this.buildEventFromInput(eventInput)
+ )[0];
}
+ if (event) {
+ return this.isEventSpanAllowed(eventSpan, event);
+ }
+ else { // treat it as a selection
- // Determines the given span (unzoned start/end with other misc data) can be selected.
- function isSelectionSpanAllowed(span) {
- return isSpanAllowed(span, options.selectConstraint, options.selectOverlap);
+ return this.isSelectionSpanAllowed(eventSpan);
}
+};
- // Returns true if the given span (caused by an event drop/resize or a selection) is allowed to exist
- // according to the constraint/overlap settings.
- // `event` is not required if checking a selection.
- function isSpanAllowed(span, constraint, overlap, event) {
- var constraintEvents;
- var anyContainment;
- var peerEvents;
- var i, peerEvent;
- var peerOverlap;
+// Determines the given span (unzoned start/end with other misc data) can be selected.
+Calendar.prototype.isSelectionSpanAllowed = function(span) {
+ return this.isSpanAllowed(span, this.options.selectConstraint, this.options.selectOverlap) &&
+ (!this.options.selectAllow || this.options.selectAllow(span) !== false);
+};
+
+
+// Returns true if the given span (caused by an event drop/resize or a selection) is allowed to exist
+// according to the constraint/overlap settings.
+// `event` is not required if checking a selection.
+Calendar.prototype.isSpanAllowed = function(span, constraint, overlap, event) {
+ var constraintEvents;
+ var anyContainment;
+ var peerEvents;
+ var i, peerEvent;
+ var peerOverlap;
- // the range must be fully contained by at least one of produced constraint events
- if (constraint != null) {
+ // the range must be fully contained by at least one of produced constraint events
+ if (constraint != null) {
- // not treated as an event! intermediate data structure
- // TODO: use ranges in the future
- constraintEvents = constraintToEvents(constraint);
+ // not treated as an event! intermediate data structure
+ // TODO: use ranges in the future
+ constraintEvents = this.constraintToEvents(constraint);
+ if (constraintEvents) { // not invalid
anyContainment = false;
for (i = 0; i < constraintEvents.length; i++) {
- if (eventContainsRange(constraintEvents[i], span)) {
+ if (this.spanContainsSpan(constraintEvents[i], span)) {
anyContainment = true;
break;
}
@@ -11697,126 +11991,150 @@ function EventManager(options) { // assumed to be a calendar
return false;
}
}
+ }
+
+ peerEvents = this.getPeerEvents(span, event);
- peerEvents = t.getPeerEvents(span, event);
+ for (i = 0; i < peerEvents.length; i++) {
+ peerEvent = peerEvents[i];
- for (i = 0; i < peerEvents.length; i++) {
- peerEvent = peerEvents[i];
+ // there needs to be an actual intersection before disallowing anything
+ if (this.eventIntersectsRange(peerEvent, span)) {
- // there needs to be an actual intersection before disallowing anything
- if (eventIntersectsRange(peerEvent, span)) {
+ // evaluate overlap for the given range and short-circuit if necessary
+ if (overlap === false) {
+ return false;
+ }
+ // if the event's overlap is a test function, pass the peer event in question as the first param
+ else if (typeof overlap === 'function' && !overlap(peerEvent, event)) {
+ return false;
+ }
- // evaluate overlap for the given range and short-circuit if necessary
- if (overlap === false) {
+ // if we are computing if the given range is allowable for an event, consider the other event's
+ // EventObject-specific or Source-specific `overlap` property
+ if (event) {
+ peerOverlap = firstDefined(
+ peerEvent.overlap,
+ (peerEvent.source || {}).overlap
+ // we already considered the global `eventOverlap`
+ );
+ if (peerOverlap === false) {
return false;
}
- // if the event's overlap is a test function, pass the peer event in question as the first param
- else if (typeof overlap === 'function' && !overlap(peerEvent, event)) {
+ // if the peer event's overlap is a test function, pass the subject event as the first param
+ if (typeof peerOverlap === 'function' && !peerOverlap(event, peerEvent)) {
return false;
}
-
- // if we are computing if the given range is allowable for an event, consider the other event's
- // EventObject-specific or Source-specific `overlap` property
- if (event) {
- peerOverlap = firstDefined(
- peerEvent.overlap,
- (peerEvent.source || {}).overlap
- // we already considered the global `eventOverlap`
- );
- if (peerOverlap === false) {
- return false;
- }
- // if the peer event's overlap is a test function, pass the subject event as the first param
- if (typeof peerOverlap === 'function' && !peerOverlap(event, peerEvent)) {
- return false;
- }
- }
}
}
-
- return true;
}
+ return true;
+};
+
- // Given an event input from the API, produces an array of event objects. Possible event inputs:
- // 'businessHours'
- // An event ID (number or string)
- // An object with specific start/end dates or a recurring event (like what businessHours accepts)
- function constraintToEvents(constraintInput) {
+// Given an event input from the API, produces an array of event objects. Possible event inputs:
+// 'businessHours'
+// An event ID (number or string)
+// An object with specific start/end dates or a recurring event (like what businessHours accepts)
+Calendar.prototype.constraintToEvents = function(constraintInput) {
- if (constraintInput === 'businessHours') {
- return getBusinessHoursEvents();
- }
+ if (constraintInput === 'businessHours') {
+ return this.getCurrentBusinessHourEvents();
+ }
- if (typeof constraintInput === 'object') {
- return expandEvent(buildEventFromInput(constraintInput));
+ if (typeof constraintInput === 'object') {
+ if (constraintInput.start != null) { // needs to be event-like input
+ return this.expandEvent(this.buildEventFromInput(constraintInput));
+ }
+ else {
+ return null; // invalid
}
-
- return clientEvents(constraintInput); // probably an ID
}
+ return this.clientEvents(constraintInput); // probably an ID
+};
- // Does the event's date range fully contain the given range?
- // start/end already assumed to have stripped zones :(
- function eventContainsRange(event, range) {
- var eventStart = event.start.clone().stripZone();
- var eventEnd = t.getEventEnd(event).stripZone();
- return range.start >= eventStart && range.end <= eventEnd;
- }
+// Does the event's date range intersect with the given range?
+// start/end already assumed to have stripped zones :(
+Calendar.prototype.eventIntersectsRange = function(event, range) {
+ var eventStart = event.start.clone().stripZone();
+ var eventEnd = this.getEventEnd(event).stripZone();
+ return range.start < eventEnd && range.end > eventStart;
+};
- // Does the event's date range intersect with the given range?
- // start/end already assumed to have stripped zones :(
- function eventIntersectsRange(event, range) {
- var eventStart = event.start.clone().stripZone();
- var eventEnd = t.getEventEnd(event).stripZone();
- return range.start < eventEnd && range.end > eventStart;
- }
+/* Business Hours
+-----------------------------------------------------------------------------------------*/
+var BUSINESS_HOUR_EVENT_DEFAULTS = {
+ id: '_fcBusinessHours', // will relate events from different calls to expandEvent
+ start: '09:00',
+ end: '17:00',
+ dow: [ 1, 2, 3, 4, 5 ], // monday - friday
+ rendering: 'inverse-background'
+ // classNames are defined in businessHoursSegClasses
+};
- t.getEventCache = function() {
- return cache;
- };
+// Return events objects for business hours within the current view.
+// Abuse of our event system :(
+Calendar.prototype.getCurrentBusinessHourEvents = function(wholeDay) {
+ return this.computeBusinessHourEvents(wholeDay, this.options.businessHours);
+};
-}
+// Given a raw input value from options, return events objects for business hours within the current view.
+Calendar.prototype.computeBusinessHourEvents = function(wholeDay, input) {
+ if (input === true) {
+ return this.expandBusinessHourEvents(wholeDay, [ {} ]);
+ }
+ else if ($.isPlainObject(input)) {
+ return this.expandBusinessHourEvents(wholeDay, [ input ]);
+ }
+ else if ($.isArray(input)) {
+ return this.expandBusinessHourEvents(wholeDay, input, true);
+ }
+ else {
+ return [];
+ }
+};
+// inputs expected to be an array of objects.
+// if ignoreNoDow is true, will ignore entries that don't specify a day-of-week (dow) key.
+Calendar.prototype.expandBusinessHourEvents = function(wholeDay, inputs, ignoreNoDow) {
+ var view = this.getView();
+ var events = [];
+ var i, input;
-// hook for external libs to manipulate event properties upon creation.
-// should manipulate the event in-place.
-Calendar.prototype.normalizeEvent = function(event) {
-};
+ for (i = 0; i < inputs.length; i++) {
+ input = inputs[i];
+ if (ignoreNoDow && !input.dow) {
+ continue;
+ }
-// Returns a list of events that the given event should be compared against when being considered for a move to
-// the specified span. Attached to the Calendar's prototype because EventManager is a mixin for a Calendar.
-Calendar.prototype.getPeerEvents = function(span, event) {
- var cache = this.getEventCache();
- var peerEvents = [];
- var i, otherEvent;
+ // give defaults. will make a copy
+ input = $.extend({}, BUSINESS_HOUR_EVENT_DEFAULTS, input);
- for (i = 0; i < cache.length; i++) {
- otherEvent = cache[i];
- if (
- !event ||
- event._id !== otherEvent._id // don't compare the event to itself or other related [repeating] events
- ) {
- peerEvents.push(otherEvent);
+ // if a whole-day series is requested, clear the start/end times
+ if (wholeDay) {
+ input.start = null;
+ input.end = null;
}
+
+ events.push.apply(events, // append
+ this.expandEvent(
+ this.buildEventFromInput(input),
+ view.start,
+ view.end
+ )
+ );
}
- return peerEvents;
+ return events;
};
-
-// updates the "backup" properties, which are preserved in order to compute diffs later on.
-function backupEventDates(event) {
- event._allDay = event.allDay;
- event._start = event.start.clone();
- event._end = event.end ? event.end.clone() : null;
-}
-
;;
/* An abstract class for the "basic" views, as well as month view. Renders one or more rows of day cells.
@@ -11832,7 +12150,8 @@ var BasicView = FC.BasicView = View.extend({
dayGrid: null, // the main subcomponent that does most of the heavy lifting
dayNumbersVisible: false, // display day numbers on each day cell?
- weekNumbersVisible: false, // display week numbers along the side?
+ colWeekNumbersVisible: false, // display week numbers along the side?
+ cellWeekNumbersVisible: false, // display week numbers in day cell?
weekNumberWidth: null, // width of all the week-number cells running down the side
@@ -11893,8 +12212,18 @@ var BasicView = FC.BasicView = View.extend({
renderDates: function() {
this.dayNumbersVisible = this.dayGrid.rowCnt > 1; // TODO: make grid responsible
- this.weekNumbersVisible = this.opt('weekNumbers');
- this.dayGrid.numbersVisible = this.dayNumbersVisible || this.weekNumbersVisible;
+ if (this.opt('weekNumbers')) {
+ if (this.opt('weekNumbersWithinDays')) {
+ this.cellWeekNumbersVisible = true;
+ this.colWeekNumbersVisible = false;
+ }
+ else {
+ this.cellWeekNumbersVisible = false;
+ this.colWeekNumbersVisible = true;
+ };
+ }
+ this.dayGrid.numbersVisible = this.dayNumbersVisible ||
+ this.cellWeekNumbersVisible || this.colWeekNumbersVisible;
this.el.addClass('fc-basic-view').html(this.renderSkeletonHtml());
this.renderHead();
@@ -11932,6 +12261,11 @@ var BasicView = FC.BasicView = View.extend({
},
+ unrenderBusinessHours: function() {
+ this.dayGrid.unrenderBusinessHours();
+ },
+
+
// Builds the HTML skeleton for the view.
// The day-grid component will render inside of a container defined by this HTML.
renderSkeletonHtml: function() {
@@ -11973,7 +12307,7 @@ var BasicView = FC.BasicView = View.extend({
// Refreshes the horizontal dimensions of the view
updateWidth: function() {
- if (this.weekNumbersVisible) {
+ if (this.colWeekNumbersVisible) {
// Make sure all week number cells running down the side have the same width.
// Record the width for cells created later.
this.weekNumberWidth = matchCellWidths(
@@ -12114,9 +12448,8 @@ var BasicView = FC.BasicView = View.extend({
unrenderEvents: function() {
this.dayGrid.unrenderEvents();
- // we DON'T need to call updateHeight() because:
- // A) a renderEvents() call always happens after this, which will eventually call updateHeight()
- // B) in IE8, this causes a flash whenever events are rerendered
+ // we DON'T need to call updateHeight() because
+ // a renderEvents() call always happens after this, which will eventually call updateHeight()
},
@@ -12161,7 +12494,7 @@ var basicDayGridMethods = {
renderHeadIntroHtml: function() {
var view = this.view;
- if (view.weekNumbersVisible) {
+ if (view.colWeekNumbersVisible) {
return '' +
'<th class="fc-week-number ' + view.widgetHeaderClass + '" ' + view.weekNumberStyleAttr() + '>' +
'<span>' + // needed for matchCellWidths
@@ -12177,13 +12510,15 @@ var basicDayGridMethods = {
// Generates the HTML that will go before content-skeleton cells that display the day/week numbers
renderNumberIntroHtml: function(row) {
var view = this.view;
+ var weekStart = this.getCellDate(row, 0);
- if (view.weekNumbersVisible) {
+ if (view.colWeekNumbersVisible) {
return '' +
'<td class="fc-week-number" ' + view.weekNumberStyleAttr() + '>' +
- '<span>' + // needed for matchCellWidths
- this.getCellDate(row, 0).format('w') +
- '</span>' +
+ view.buildGotoAnchorHtml( // aside from link, important for matchCellWidths
+ { date: weekStart, type: 'week', forceOff: this.colCnt === 1 },
+ weekStart.format('w') // inner HTML
+ ) +
'</td>';
}
@@ -12195,7 +12530,7 @@ var basicDayGridMethods = {
renderBgIntroHtml: function() {
var view = this.view;
- if (view.weekNumbersVisible) {
+ if (view.colWeekNumbersVisible) {
return '<td class="fc-week-number ' + view.widgetContentClass + '" ' +
view.weekNumberStyleAttr() + '></td>';
}
@@ -12209,7 +12544,7 @@ var basicDayGridMethods = {
renderIntroHtml: function() {
var view = this.view;
- if (view.weekNumbersVisible) {
+ if (view.colWeekNumbersVisible) {
return '<td class="fc-week-number" ' + view.weekNumberStyleAttr() + '></td>';
}
@@ -12243,8 +12578,6 @@ var MonthView = FC.MonthView = BasicView.extend({
// Overrides the default BasicView behavior to have special multi-week auto-height logic
setGridHeight: function(height, isAuto) {
- isAuto = isAuto || this.opt('weekMode') === 'variable'; // LEGACY: weekMode is deprecated
-
// if auto, make the height of each row the height that it would be if there were 6 weeks
if (isAuto) {
height *= this.rowCnt / 6;
@@ -12255,11 +12588,6 @@ var MonthView = FC.MonthView = BasicView.extend({
isFixedWeeks: function() {
- var weekMode = this.opt('weekMode'); // LEGACY: weekMode is deprecated
- if (weekMode) {
- return weekMode === 'fixed'; // if any other type of weekMode, assume NOT fixed
- }
-
return this.opt('fixedWeekCount');
}
@@ -12689,9 +13017,8 @@ var AgendaView = FC.AgendaView = View.extend({
this.dayGrid.unrenderEvents();
}
- // we DON'T need to call updateHeight() because:
- // A) a renderEvents() call always happens after this, which will eventually call updateHeight()
- // B) in IE8, this causes a flash whenever events are rerendered
+ // we DON'T need to call updateHeight() because
+ // a renderEvents() call always happens after this, which will eventually call updateHeight()
},
@@ -12759,9 +13086,10 @@ var agendaTimeGridMethods = {
return '' +
'<th class="fc-axis fc-week-number ' + view.widgetHeaderClass + '" ' + view.axisStyleAttr() + '>' +
- '<span>' + // needed for matchCellWidths
- htmlEscape(weekText) +
- '</span>' +
+ view.buildGotoAnchorHtml( // aside from link, important for matchCellWidths
+ { date: this.start, type: 'week', forceOff: this.colCnt > 1 },
+ htmlEscape(weekText) // inner HTML
+ ) +
'</th>';
}
else {
@@ -12800,7 +13128,7 @@ var agendaDayGridMethods = {
return '' +
'<td class="fc-axis ' + view.widgetContentClass + '" ' + view.axisStyleAttr() + '>' +
'<span>' + // needed for matchCellWidths
- (view.opt('allDayHtml') || htmlEscape(view.opt('allDayText'))) +
+ view.getAllDayHtml() +
'</span>' +
'</td>';
},
@@ -12834,7 +13162,6 @@ fcViews.agenda = {
'class': AgendaView,
defaults: {
allDaySlot: true,
- allDayText: 'all-day',
slotDuration: '00:30:00',
minTime: '00:00:00',
maxTime: '24:00:00',
@@ -12853,5 +13180,332 @@ fcViews.agendaWeek = {
};
;;
-return FC; // export for Node/CommonJS
+/*
+Responsible for the scroller, and forwarding event-related actions into the "grid"
+*/
+var ListView = View.extend({
+
+ grid: null,
+ scroller: null,
+
+ initialize: function() {
+ this.grid = new ListViewGrid(this);
+ this.scroller = new Scroller({
+ overflowX: 'hidden',
+ overflowY: 'auto'
+ });
+ },
+
+ setRange: function(range) {
+ View.prototype.setRange.call(this, range); // super
+
+ this.grid.setRange(range); // needs to process range-related options
+ },
+
+ renderSkeleton: function() {
+ this.el.addClass(
+ 'fc-list-view ' +
+ this.widgetContentClass
+ );
+
+ this.scroller.render();
+ this.scroller.el.appendTo(this.el);
+
+ this.grid.setElement(this.scroller.scrollEl);
+ },
+
+ unrenderSkeleton: function() {
+ this.scroller.destroy(); // will remove the Grid too
+ },
+
+ setHeight: function(totalHeight, isAuto) {
+ this.scroller.setHeight(this.computeScrollerHeight(totalHeight));
+ },
+
+ computeScrollerHeight: function(totalHeight) {
+ return totalHeight -
+ subtractInnerElHeight(this.el, this.scroller.el); // everything that's NOT the scroller
+ },
+
+ renderEvents: function(events) {
+ this.grid.renderEvents(events);
+ },
+
+ unrenderEvents: function() {
+ this.grid.unrenderEvents();
+ },
+
+ isEventResizable: function(event) {
+ return false;
+ },
+
+ isEventDraggable: function(event) {
+ return false;
+ }
+
+});
+
+/*
+Responsible for event rendering and user-interaction.
+Its "el" is the inner-content of the above view's scroller.
+*/
+var ListViewGrid = Grid.extend({
+
+ segSelector: '.fc-list-item', // which elements accept event actions
+ hasDayInteractions: false, // no day selection or day clicking
+
+ // slices by day
+ spanToSegs: function(span) {
+ var view = this.view;
+ var dayStart = view.start.clone().time(0); // timed, so segs get times!
+ var dayIndex = 0;
+ var seg;
+ var segs = [];
+
+ while (dayStart < view.end) {
+
+ seg = intersectRanges(span, {
+ start: dayStart,
+ end: dayStart.clone().add(1, 'day')
+ });
+
+ if (seg) {
+ seg.dayIndex = dayIndex;
+ segs.push(seg);
+ }
+
+ dayStart.add(1, 'day');
+ dayIndex++;
+
+ // detect when span won't go fully into the next day,
+ // and mutate the latest seg to the be the end.
+ if (
+ seg && !seg.isEnd && span.end.hasTime() &&
+ span.end < dayStart.clone().add(this.view.nextDayThreshold)
+ ) {
+ seg.end = span.end.clone();
+ seg.isEnd = true;
+ break;
+ }
+ }
+
+ return segs;
+ },
+
+ // like "4:00am"
+ computeEventTimeFormat: function() {
+ return this.view.opt('mediumTimeFormat');
+ },
+
+ // for events with a url, the whole <tr> should be clickable,
+ // but it's impossible to wrap with an <a> tag. simulate this.
+ handleSegClick: function(seg, ev) {
+ var url;
+
+ Grid.prototype.handleSegClick.apply(this, arguments); // super. might prevent the default action
+
+ // not clicking on or within an <a> with an href
+ if (!$(ev.target).closest('a[href]').length) {
+ url = seg.event.url;
+ if (url && !ev.isDefaultPrevented()) { // jsEvent not cancelled in handler
+ window.location.href = url; // simulate link click
+ }
+ }
+ },
+
+ // returns list of foreground segs that were actually rendered
+ renderFgSegs: function(segs) {
+ segs = this.renderFgSegEls(segs); // might filter away hidden events
+
+ if (!segs.length) {
+ this.renderEmptyMessage();
+ }
+ else {
+ this.renderSegList(segs);
+ }
+
+ return segs;
+ },
+
+ renderEmptyMessage: function() {
+ this.el.html(
+ '<div class="fc-list-empty-wrap2">' + // TODO: try less wraps
+ '<div class="fc-list-empty-wrap1">' +
+ '<div class="fc-list-empty">' +
+ htmlEscape(this.view.opt('noEventsMessage')) +
+ '</div>' +
+ '</div>' +
+ '</div>'
+ );
+ },
+
+ // render the event segments in the view
+ renderSegList: function(allSegs) {
+ var segsByDay = this.groupSegsByDay(allSegs); // sparse array
+ var dayIndex;
+ var daySegs;
+ var i;
+ var tableEl = $('<table class="fc-list-table"><tbody/></table>');
+ var tbodyEl = tableEl.find('tbody');
+
+ for (dayIndex = 0; dayIndex < segsByDay.length; dayIndex++) {
+ daySegs = segsByDay[dayIndex];
+ if (daySegs) { // sparse array, so might be undefined
+
+ // append a day header
+ tbodyEl.append(this.dayHeaderHtml(
+ this.view.start.clone().add(dayIndex, 'days')
+ ));
+
+ this.sortEventSegs(daySegs);
+
+ for (i = 0; i < daySegs.length; i++) {
+ tbodyEl.append(daySegs[i].el); // append event row
+ }
+ }
+ }
+
+ this.el.empty().append(tableEl);
+ },
+
+ // Returns a sparse array of arrays, segs grouped by their dayIndex
+ groupSegsByDay: function(segs) {
+ var segsByDay = []; // sparse array
+ var i, seg;
+
+ for (i = 0; i < segs.length; i++) {
+ seg = segs[i];
+ (segsByDay[seg.dayIndex] || (segsByDay[seg.dayIndex] = []))
+ .push(seg);
+ }
+
+ return segsByDay;
+ },
+
+ // generates the HTML for the day headers that live amongst the event rows
+ dayHeaderHtml: function(dayDate) {
+ var view = this.view;
+ var mainFormat = view.opt('listDayFormat');
+ var altFormat = view.opt('listDayAltFormat');
+
+ return '<tr class="fc-list-heading" data-date="' + dayDate.format('YYYY-MM-DD') + '">' +
+ '<td class="' + view.widgetHeaderClass + '" colspan="3">' +
+ (mainFormat ?
+ view.buildGotoAnchorHtml(
+ dayDate,
+ { 'class': 'fc-list-heading-main' },
+ htmlEscape(dayDate.format(mainFormat)) // inner HTML
+ ) :
+ '') +
+ (altFormat ?
+ view.buildGotoAnchorHtml(
+ dayDate,
+ { 'class': 'fc-list-heading-alt' },
+ htmlEscape(dayDate.format(altFormat)) // inner HTML
+ ) :
+ '') +
+ '</td>' +
+ '</tr>';
+ },
+
+ // generates the HTML for a single event row
+ fgSegHtml: function(seg) {
+ var view = this.view;
+ var classes = [ 'fc-list-item' ].concat(this.getSegCustomClasses(seg));
+ var bgColor = this.getSegBackgroundColor(seg);
+ var event = seg.event;
+ var url = event.url;
+ var timeHtml;
+
+ if (event.allDay) {
+ timeHtml = view.getAllDayHtml();
+ }
+ else if (view.isMultiDayEvent(event)) { // if the event appears to span more than one day
+ if (seg.isStart || seg.isEnd) { // outer segment that probably lasts part of the day
+ timeHtml = htmlEscape(this.getEventTimeText(seg));
+ }
+ else { // inner segment that lasts the whole day
+ timeHtml = view.getAllDayHtml();
+ }
+ }
+ else {
+ // Display the normal time text for the *event's* times
+ timeHtml = htmlEscape(this.getEventTimeText(event));
+ }
+
+ if (url) {
+ classes.push('fc-has-url');
+ }
+
+ return '<tr class="' + classes.join(' ') + '">' +
+ (this.displayEventTime ?
+ '<td class="fc-list-item-time ' + view.widgetContentClass + '">' +
+ (timeHtml || '') +
+ '</td>' :
+ '') +
+ '<td class="fc-list-item-marker ' + view.widgetContentClass + '">' +
+ '<span class="fc-event-dot"' +
+ (bgColor ?
+ ' style="background-color:' + bgColor + '"' :
+ '') +
+ '></span>' +
+ '</td>' +
+ '<td class="fc-list-item-title ' + view.widgetContentClass + '">' +
+ '<a' + (url ? ' href="' + htmlEscape(url) + '"' : '') + '>' +
+ htmlEscape(seg.event.title || '') +
+ '</a>' +
+ '</td>' +
+ '</tr>';
+ }
+
+});
+
+;;
+
+fcViews.list = {
+ 'class': ListView,
+ buttonTextKey: 'list', // what to lookup in locale files
+ defaults: {
+ buttonText: 'list', // text to display for English
+ listDayFormat: 'LL', // like "January 1, 2016"
+ noEventsMessage: 'No events to display'
+ }
+};
+
+fcViews.listDay = {
+ type: 'list',
+ duration: { days: 1 },
+ defaults: {
+ listDayFormat: 'dddd' // day-of-week is all we need. full date is probably in header
+ }
+};
+
+fcViews.listWeek = {
+ type: 'list',
+ duration: { weeks: 1 },
+ defaults: {
+ listDayFormat: 'dddd', // day-of-week is more important
+ listDayAltFormat: 'LL'
+ }
+};
+
+fcViews.listMonth = {
+ type: 'list',
+ duration: { month: 1 },
+ defaults: {
+ listDayAltFormat: 'dddd' // day-of-week is nice-to-have
+ }
+};
+
+fcViews.listYear = {
+ type: 'list',
+ duration: { year: 1 },
+ defaults: {
+ listDayAltFormat: 'dddd' // day-of-week is nice-to-have
+ }
+};
+
+;;
+
+return FC; // export for Node/CommonJS
}); \ No newline at end of file
diff --git a/library/fullcalendar/fullcalendar.min.css b/library/fullcalendar/fullcalendar.min.css
index 9f395b445..87ee16e69 100644
--- a/library/fullcalendar/fullcalendar.min.css
+++ b/library/fullcalendar/fullcalendar.min.css
@@ -1,5 +1,5 @@
/*!
- * FullCalendar v2.8.0 Stylesheet
+ * FullCalendar v3.0.1 Stylesheet
* Docs & License: http://fullcalendar.io/
* (c) 2016 Adam Shaw
- */.fc-bgevent,.fc-highlight{opacity:.3;filter:alpha(opacity=30)}.fc-icon,body .fc{font-size:1em}.fc-button-group,.fc-icon{display:inline-block}.fc-bg,.fc-row .fc-bgevent-skeleton,.fc-row .fc-highlight-skeleton{bottom:0}.fc-icon,.fc-unselectable{-khtml-user-select:none;-webkit-touch-callout:none}.fc .fc-axis,.fc button,.fc-time-grid-event .fc-time,.fc-time-grid-event.fc-short .fc-content{white-space:nowrap}.fc{direction:ltr;text-align:left}.fc-rtl{text-align:right}.fc th,.fc-basic-view .fc-week-number,.fc-icon,.fc-toolbar{text-align:center}.fc-unthemed .fc-content,.fc-unthemed .fc-divider,.fc-unthemed .fc-popover,.fc-unthemed .fc-row,.fc-unthemed tbody,.fc-unthemed td,.fc-unthemed th,.fc-unthemed thead{border-color:#ddd}.fc-unthemed .fc-popover{background-color:#fff}.fc-unthemed .fc-divider,.fc-unthemed .fc-popover .fc-header{background:#eee}.fc-unthemed .fc-popover .fc-header .fc-close{color:#666}.fc-unthemed .fc-today{background:#fcf8e3}.fc-highlight{background:#bce8f1}.fc-bgevent{background:#8fdf82}.fc-nonbusiness{background:#d7d7d7}.fc-icon{height:1em;line-height:1em;overflow:hidden;font-family:"Courier New",Courier,monospace;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.fc-icon:after{position:relative}.fc-icon-left-single-arrow:after{content:"\02039";font-weight:700;font-size:200%;top:-7%}.fc-icon-right-single-arrow:after{content:"\0203A";font-weight:700;font-size:200%;top:-7%}.fc-icon-left-double-arrow:after{content:"\000AB";font-size:160%;top:-7%}.fc-icon-right-double-arrow:after{content:"\000BB";font-size:160%;top:-7%}.fc-icon-left-triangle:after{content:"\25C4";font-size:125%;top:3%}.fc-icon-right-triangle:after{content:"\25BA";font-size:125%;top:3%}.fc-icon-down-triangle:after{content:"\25BC";font-size:125%;top:2%}.fc-icon-x:after{content:"\000D7";font-size:200%;top:6%}.fc button{-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box;margin:0;height:2.1em;padding:0 .6em;font-size:1em;cursor:pointer}.fc button::-moz-focus-inner{margin:0;padding:0}.fc-state-default{border:1px solid;background-color:#f5f5f5;background-image:-moz-linear-gradient(top,#fff,#e6e6e6);background-image:-webkit-gradient(linear,0 0,0 100%,from(#fff),to(#e6e6e6));background-image:-webkit-linear-gradient(top,#fff,#e6e6e6);background-image:-o-linear-gradient(top,#fff,#e6e6e6);background-image:linear-gradient(to bottom,#fff,#e6e6e6);background-repeat:repeat-x;border-color:#e6e6e6 #e6e6e6 #bfbfbf;border-color:rgba(0,0,0,.1) rgba(0,0,0,.1) rgba(0,0,0,.25);color:#333;text-shadow:0 1px 1px rgba(255,255,255,.75);box-shadow:inset 0 1px 0 rgba(255,255,255,.2),0 1px 2px rgba(0,0,0,.05)}.fc-state-default.fc-corner-left{border-top-left-radius:4px;border-bottom-left-radius:4px}.fc-state-default.fc-corner-right{border-top-right-radius:4px;border-bottom-right-radius:4px}.fc button .fc-icon{position:relative;top:-.05em;margin:0 .2em;vertical-align:middle}.fc-state-active,.fc-state-disabled,.fc-state-down,.fc-state-hover{color:#333;background-color:#e6e6e6}.fc-state-hover{color:#333;text-decoration:none;background-position:0 -15px;-webkit-transition:background-position .1s linear;-moz-transition:background-position .1s linear;-o-transition:background-position .1s linear;transition:background-position .1s linear}.fc-state-active,.fc-state-down{background-color:#ccc;background-image:none;box-shadow:inset 0 2px 4px rgba(0,0,0,.15),0 1px 2px rgba(0,0,0,.05)}.fc-state-disabled{cursor:default;background-image:none;opacity:.65;filter:alpha(opacity=65);box-shadow:none}.fc-event.fc-draggable,.fc-event[href],.fc-popover .fc-header .fc-close{cursor:pointer}.fc .fc-button-group>*{float:left;margin:0 0 0 -1px}.fc .fc-button-group>:first-child{margin-left:0}.fc-popover{position:absolute;box-shadow:0 2px 6px rgba(0,0,0,.15)}.fc-popover .fc-header{padding:2px 4px}.fc-popover .fc-header .fc-title{margin:0 2px}.fc-ltr .fc-popover .fc-header .fc-title,.fc-rtl .fc-popover .fc-header .fc-close{float:left}.fc-ltr .fc-popover .fc-header .fc-close,.fc-rtl .fc-popover .fc-header .fc-title{float:right}.fc-unthemed .fc-popover{border-width:1px;border-style:solid}.fc-unthemed .fc-popover .fc-header .fc-close{font-size:.9em;margin-top:2px}.fc-popover>.ui-widget-header+.ui-widget-content{border-top:0}.fc-divider{border-style:solid;border-width:1px}hr.fc-divider{height:0;margin:0;padding:0 0 2px;border-width:1px 0}.fc-bg table,.fc-row .fc-bgevent-skeleton table,.fc-row .fc-highlight-skeleton table{height:100%}.fc-clear{clear:both}.fc-bg,.fc-bgevent-skeleton,.fc-helper-skeleton,.fc-highlight-skeleton{position:absolute;top:0;left:0;right:0}.fc table{width:100%;box-sizing:border-box;table-layout:fixed;border-collapse:collapse;border-spacing:0;font-size:1em}.fc td,.fc th{border-style:solid;border-width:1px;padding:0;vertical-align:top}.fc td.fc-today{border-style:double}.fc .fc-row{border-style:solid;border-width:0}.fc-row table{border-left:0 hidden transparent;border-right:0 hidden transparent;border-bottom:0 hidden transparent}.fc-row:first-child table{border-top:0 hidden transparent}.fc-row{position:relative}.fc-row .fc-bg{z-index:1}.fc-row .fc-bgevent-skeleton td,.fc-row .fc-highlight-skeleton td{border-color:transparent}.fc-row .fc-bgevent-skeleton{z-index:2}.fc-row .fc-highlight-skeleton{z-index:3}.fc-row .fc-content-skeleton{position:relative;z-index:4;padding-bottom:2px}.fc-row .fc-helper-skeleton{z-index:5}.fc-row .fc-content-skeleton td,.fc-row .fc-helper-skeleton td{background:0 0;border-color:transparent;border-bottom:0}.fc-row .fc-content-skeleton tbody td,.fc-row .fc-helper-skeleton tbody td{border-top:0}.fc-scroller{-webkit-overflow-scrolling:touch}.fc-row.fc-rigid,.fc-time-grid-event{overflow:hidden}.fc-scroller>.fc-day-grid,.fc-scroller>.fc-time-grid{position:relative;width:100%}.fc-event{position:relative;display:block;font-size:.85em;line-height:1.3;border-radius:3px;border:1px solid #3a87ad;background-color:#3a87ad;font-weight:400}.fc-event,.fc-event:hover,.ui-widget .fc-event{color:#fff;text-decoration:none}.fc-not-allowed,.fc-not-allowed .fc-event{cursor:not-allowed}.fc-event .fc-bg{z-index:1;background:#fff;opacity:.25;filter:alpha(opacity=25)}.fc-event .fc-content{position:relative;z-index:2}.fc-event .fc-resizer{position:absolute;z-index:4;display:none}.fc-event.fc-allow-mouse-resize .fc-resizer,.fc-event.fc-selected .fc-resizer{display:block}.fc-event.fc-selected .fc-resizer:before{content:"";position:absolute;z-index:9999;top:50%;left:50%;width:40px;height:40px;margin-left:-20px;margin-top:-20px}.fc-event.fc-selected{z-index:9999!important;box-shadow:0 2px 5px rgba(0,0,0,.2)}.fc-event.fc-selected.fc-dragging{box-shadow:0 2px 7px rgba(0,0,0,.3)}.fc-h-event.fc-selected:before{content:"";position:absolute;z-index:3;top:-10px;bottom:-10px;left:0;right:0}.fc-ltr .fc-h-event.fc-not-start,.fc-rtl .fc-h-event.fc-not-end{margin-left:0;border-left-width:0;padding-left:1px;border-top-left-radius:0;border-bottom-left-radius:0}.fc-ltr .fc-h-event.fc-not-end,.fc-rtl .fc-h-event.fc-not-start{margin-right:0;border-right-width:0;padding-right:1px;border-top-right-radius:0;border-bottom-right-radius:0}.fc-ltr .fc-h-event .fc-start-resizer,.fc-rtl .fc-h-event .fc-end-resizer{cursor:w-resize;left:-1px}.fc-ltr .fc-h-event .fc-end-resizer,.fc-rtl .fc-h-event .fc-start-resizer{cursor:e-resize;right:-1px}.fc-h-event.fc-allow-mouse-resize .fc-resizer{width:7px;top:-1px;bottom:-1px}.fc-h-event.fc-selected .fc-resizer{border-radius:4px;border-width:1px;width:6px;height:6px;border-style:solid;border-color:inherit;background:#fff;top:50%;margin-top:-4px}.fc-ltr .fc-h-event.fc-selected .fc-start-resizer,.fc-rtl .fc-h-event.fc-selected .fc-end-resizer{margin-left:-4px}.fc-ltr .fc-h-event.fc-selected .fc-end-resizer,.fc-rtl .fc-h-event.fc-selected .fc-start-resizer{margin-right:-4px}.fc-day-grid-event{margin:1px 2px 0;padding:0 1px}.fc-day-grid-event.fc-selected:after{content:"";position:absolute;z-index:1;top:-1px;right:-1px;bottom:-1px;left:-1px;background:#000;opacity:.25;filter:alpha(opacity=25)}.fc-day-grid-event .fc-content{white-space:nowrap;overflow:hidden}.fc-day-grid-event .fc-time{font-weight:700}.fc-ltr .fc-day-grid-event.fc-allow-mouse-resize .fc-start-resizer,.fc-rtl .fc-day-grid-event.fc-allow-mouse-resize .fc-end-resizer{margin-left:-2px}.fc-ltr .fc-day-grid-event.fc-allow-mouse-resize .fc-end-resizer,.fc-rtl .fc-day-grid-event.fc-allow-mouse-resize .fc-start-resizer{margin-right:-2px}a.fc-more{margin:1px 3px;font-size:.85em;cursor:pointer;text-decoration:none}a.fc-more:hover{text-decoration:underline}.fc-limited{display:none}.fc-day-grid .fc-row{z-index:1}.fc-more-popover{z-index:2;width:220px}.fc-more-popover .fc-event-container{padding:10px}.fc-now-indicator{position:absolute;border:0 solid red}.fc-unselectable{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}.fc-toolbar{margin-bottom:1em}.fc-toolbar .fc-left{float:left}.fc-toolbar .fc-right{float:right}.fc-toolbar .fc-center{display:inline-block}.fc .fc-toolbar>*>*{float:left;margin-left:.75em}.fc .fc-toolbar>*>:first-child{margin-left:0}.fc-toolbar h2{margin:0}.fc-toolbar button{position:relative}.fc-toolbar .fc-state-hover,.fc-toolbar .ui-state-hover{z-index:2}.fc-toolbar .fc-state-down{z-index:3}.fc-toolbar .fc-state-active,.fc-toolbar .ui-state-active{z-index:4}.fc-toolbar button:focus{z-index:5}.fc-view-container *,.fc-view-container :after,.fc-view-container :before{-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box}.fc-view,.fc-view>table{position:relative;z-index:1}.fc-basicDay-view .fc-content-skeleton,.fc-basicWeek-view .fc-content-skeleton{padding-top:1px;padding-bottom:1em}.fc-basic-view .fc-body .fc-row{min-height:4em}.fc-row.fc-rigid .fc-content-skeleton{position:absolute;top:0;left:0;right:0}.fc-basic-view .fc-day-number,.fc-basic-view .fc-week-number{padding:0 2px}.fc-basic-view td.fc-day-number,.fc-basic-view td.fc-week-number span{padding-top:2px;padding-bottom:2px}.fc-basic-view .fc-week-number span{display:inline-block;min-width:1.25em}.fc-ltr .fc-basic-view .fc-day-number{text-align:right}.fc-rtl .fc-basic-view .fc-day-number{text-align:left}.fc-day-number.fc-other-month{opacity:.3;filter:alpha(opacity=30)}.fc-agenda-view .fc-day-grid{position:relative;z-index:2}.fc-agenda-view .fc-day-grid .fc-row{min-height:3em}.fc-agenda-view .fc-day-grid .fc-row .fc-content-skeleton{padding-top:1px;padding-bottom:1em}.fc .fc-axis{vertical-align:middle;padding:0 4px}.fc-ltr .fc-axis{text-align:right}.fc-rtl .fc-axis{text-align:left}.ui-widget td.fc-axis{font-weight:400}.fc-time-grid,.fc-time-grid-container{position:relative;z-index:1}.fc-time-grid{min-height:100%}.fc-time-grid table{border:0 hidden transparent}.fc-time-grid>.fc-bg{z-index:1}.fc-time-grid .fc-slats,.fc-time-grid>hr{position:relative;z-index:2}.fc-time-grid .fc-content-col{position:relative}.fc-time-grid .fc-content-skeleton{position:absolute;z-index:3;top:0;left:0;right:0}.fc-time-grid .fc-business-container{position:relative;z-index:1}.fc-time-grid .fc-bgevent-container{position:relative;z-index:2}.fc-time-grid .fc-highlight-container{z-index:3;position:relative}.fc-time-grid .fc-event-container{position:relative;z-index:4}.fc-time-grid .fc-now-indicator-line{z-index:5}.fc-time-grid .fc-helper-container{position:relative;z-index:6}.fc-time-grid .fc-slats td{height:1.5em;border-bottom:0}.fc-time-grid .fc-slats .fc-minor td{border-top-style:dotted}.fc-time-grid .fc-slats .ui-widget-content{background:0 0}.fc-time-grid .fc-highlight{position:absolute;left:0;right:0}.fc-ltr .fc-time-grid .fc-event-container{margin:0 2.5% 0 2px}.fc-rtl .fc-time-grid .fc-event-container{margin:0 2px 0 2.5%}.fc-time-grid .fc-bgevent,.fc-time-grid .fc-event{position:absolute;z-index:1}.fc-time-grid .fc-bgevent{left:0;right:0}.fc-v-event.fc-not-start{border-top-width:0;padding-top:1px;border-top-left-radius:0;border-top-right-radius:0}.fc-v-event.fc-not-end{border-bottom-width:0;padding-bottom:1px;border-bottom-left-radius:0;border-bottom-right-radius:0}.fc-time-grid-event.fc-selected{overflow:visible}.fc-time-grid-event.fc-selected .fc-bg{display:none}.fc-time-grid-event .fc-content{overflow:hidden}.fc-time-grid-event .fc-time,.fc-time-grid-event .fc-title{padding:0 1px}.fc-time-grid-event .fc-time{font-size:.85em}.fc-time-grid-event.fc-short .fc-time,.fc-time-grid-event.fc-short .fc-title{display:inline-block;vertical-align:top}.fc-time-grid-event.fc-short .fc-time span{display:none}.fc-time-grid-event.fc-short .fc-time:before{content:attr(data-start)}.fc-time-grid-event.fc-short .fc-time:after{content:"\000A0-\000A0"}.fc-time-grid-event.fc-short .fc-title{font-size:.85em;padding:0}.fc-time-grid-event.fc-allow-mouse-resize .fc-resizer{left:0;right:0;bottom:0;height:8px;overflow:hidden;line-height:8px;font-size:11px;font-family:monospace;text-align:center;cursor:s-resize}.fc-time-grid-event.fc-allow-mouse-resize .fc-resizer:after{content:"="}.fc-time-grid-event.fc-selected .fc-resizer{border-radius:5px;border-width:1px;width:8px;height:8px;border-style:solid;border-color:inherit;background:#fff;left:50%;margin-left:-5px;bottom:-5px}.fc-time-grid .fc-now-indicator-line{border-top-width:1px;left:0;right:0}.fc-time-grid .fc-now-indicator-arrow{margin-top:-5px}.fc-ltr .fc-time-grid .fc-now-indicator-arrow{left:0;border-width:5px 0 5px 6px;border-top-color:transparent;border-bottom-color:transparent}.fc-rtl .fc-time-grid .fc-now-indicator-arrow{right:0;border-width:5px 6px 5px 0;border-top-color:transparent;border-bottom-color:transparent} \ No newline at end of file
+ */.fc-icon,body .fc{font-size:1em}.fc-button-group,.fc-icon{display:inline-block}.fc-bg,.fc-row .fc-bgevent-skeleton,.fc-row .fc-highlight-skeleton{bottom:0}.fc-icon,.fc-unselectable{-khtml-user-select:none;-webkit-touch-callout:none}.fc{direction:ltr;text-align:left}.fc-rtl{text-align:right}.fc th,.fc-basic-view td.fc-week-number,.fc-icon,.fc-toolbar{text-align:center}.fc-unthemed .fc-content,.fc-unthemed .fc-divider,.fc-unthemed .fc-list-heading td,.fc-unthemed .fc-list-view,.fc-unthemed .fc-popover,.fc-unthemed .fc-row,.fc-unthemed tbody,.fc-unthemed td,.fc-unthemed th,.fc-unthemed thead{border-color:#ddd}.fc-unthemed .fc-popover{background-color:#fff}.fc-unthemed .fc-divider,.fc-unthemed .fc-list-heading td,.fc-unthemed .fc-popover .fc-header{background:#eee}.fc-unthemed .fc-popover .fc-header .fc-close{color:#666}.fc-unthemed .fc-today{background:#fcf8e3}.fc-highlight{background:#bce8f1;opacity:.3}.fc-bgevent{background:#8fdf82;opacity:.3}.fc-nonbusiness{background:#d7d7d7}.fc-icon{height:1em;line-height:1em;overflow:hidden;font-family:"Courier New",Courier,monospace;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.fc-icon:after{position:relative}.fc-icon-left-single-arrow:after{content:"\02039";font-weight:700;font-size:200%;top:-7%}.fc-icon-right-single-arrow:after{content:"\0203A";font-weight:700;font-size:200%;top:-7%}.fc-icon-left-double-arrow:after{content:"\000AB";font-size:160%;top:-7%}.fc-icon-right-double-arrow:after{content:"\000BB";font-size:160%;top:-7%}.fc-icon-left-triangle:after{content:"\25C4";font-size:125%;top:3%}.fc-icon-right-triangle:after{content:"\25BA";font-size:125%;top:3%}.fc-icon-down-triangle:after{content:"\25BC";font-size:125%;top:2%}.fc-icon-x:after{content:"\000D7";font-size:200%;top:6%}.fc button{-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box;margin:0;height:2.1em;padding:0 .6em;font-size:1em;white-space:nowrap;cursor:pointer}.fc button::-moz-focus-inner{margin:0;padding:0}.fc-state-default{border:1px solid;background-color:#f5f5f5;background-image:-moz-linear-gradient(top,#fff,#e6e6e6);background-image:-webkit-gradient(linear,0 0,0 100%,from(#fff),to(#e6e6e6));background-image:-webkit-linear-gradient(top,#fff,#e6e6e6);background-image:-o-linear-gradient(top,#fff,#e6e6e6);background-image:linear-gradient(to bottom,#fff,#e6e6e6);background-repeat:repeat-x;border-color:#e6e6e6 #e6e6e6 #bfbfbf;border-color:rgba(0,0,0,.1) rgba(0,0,0,.1) rgba(0,0,0,.25);color:#333;text-shadow:0 1px 1px rgba(255,255,255,.75);box-shadow:inset 0 1px 0 rgba(255,255,255,.2),0 1px 2px rgba(0,0,0,.05)}.fc-state-default.fc-corner-left{border-top-left-radius:4px;border-bottom-left-radius:4px}.fc-state-default.fc-corner-right{border-top-right-radius:4px;border-bottom-right-radius:4px}.fc button .fc-icon{position:relative;top:-.05em;margin:0 .2em;vertical-align:middle}.fc-state-active,.fc-state-disabled,.fc-state-down,.fc-state-hover{color:#333;background-color:#e6e6e6}.fc-state-hover{color:#333;text-decoration:none;background-position:0 -15px;-webkit-transition:background-position .1s linear;-moz-transition:background-position .1s linear;-o-transition:background-position .1s linear;transition:background-position .1s linear}.fc-state-active,.fc-state-down{background-color:#ccc;background-image:none;box-shadow:inset 0 2px 4px rgba(0,0,0,.15),0 1px 2px rgba(0,0,0,.05)}.fc-state-disabled{cursor:default;background-image:none;opacity:.65;box-shadow:none}.fc-event.fc-draggable,.fc-event[href],.fc-popover .fc-header .fc-close,a[data-goto]{cursor:pointer}.fc .fc-button-group>*{float:left;margin:0 0 0 -1px}.fc .fc-button-group>:first-child{margin-left:0}.fc-popover{position:absolute;box-shadow:0 2px 6px rgba(0,0,0,.15)}.fc-popover .fc-header{padding:2px 4px}.fc-popover .fc-header .fc-title{margin:0 2px}.fc-ltr .fc-popover .fc-header .fc-title,.fc-rtl .fc-popover .fc-header .fc-close{float:left}.fc-ltr .fc-popover .fc-header .fc-close,.fc-rtl .fc-popover .fc-header .fc-title{float:right}.fc-unthemed .fc-popover{border-width:1px;border-style:solid}.fc-unthemed .fc-popover .fc-header .fc-close{font-size:.9em;margin-top:2px}.fc-popover>.ui-widget-header+.ui-widget-content{border-top:0}.fc-divider{border-style:solid;border-width:1px}hr.fc-divider{height:0;margin:0;padding:0 0 2px;border-width:1px 0}.fc-bg table,.fc-row .fc-bgevent-skeleton table,.fc-row .fc-highlight-skeleton table{height:100%}.fc-clear{clear:both}.fc-bg,.fc-bgevent-skeleton,.fc-helper-skeleton,.fc-highlight-skeleton{position:absolute;top:0;left:0;right:0}.fc table{width:100%;box-sizing:border-box;table-layout:fixed;border-collapse:collapse;border-spacing:0;font-size:1em}.fc td,.fc th{border-style:solid;border-width:1px;padding:0;vertical-align:top}.fc td.fc-today{border-style:double}a[data-goto]:hover{text-decoration:underline}.fc .fc-row{border-style:solid;border-width:0}.fc-row table{border-left:0 hidden transparent;border-right:0 hidden transparent;border-bottom:0 hidden transparent}.fc-row:first-child table{border-top:0 hidden transparent}.fc-row{position:relative}.fc-row .fc-bg{z-index:1}.fc-row .fc-bgevent-skeleton td,.fc-row .fc-highlight-skeleton td{border-color:transparent}.fc-row .fc-bgevent-skeleton{z-index:2}.fc-row .fc-highlight-skeleton{z-index:3}.fc-row .fc-content-skeleton{position:relative;z-index:4;padding-bottom:2px}.fc-row .fc-helper-skeleton{z-index:5}.fc-row .fc-content-skeleton td,.fc-row .fc-helper-skeleton td{background:0 0;border-color:transparent;border-bottom:0}.fc-row .fc-content-skeleton tbody td,.fc-row .fc-helper-skeleton tbody td{border-top:0}.fc-scroller{-webkit-overflow-scrolling:touch}.fc-row.fc-rigid,.fc-time-grid-event{overflow:hidden}.fc-scroller>.fc-day-grid,.fc-scroller>.fc-time-grid{position:relative;width:100%}.fc-event{position:relative;display:block;font-size:.85em;line-height:1.3;border-radius:3px;border:1px solid #3a87ad;font-weight:400}.fc-event,.fc-event-dot{background-color:#3a87ad}.fc-event,.fc-event:hover,.ui-widget .fc-event{color:#fff;text-decoration:none}.fc-not-allowed,.fc-not-allowed .fc-event{cursor:not-allowed}.fc-event .fc-bg{z-index:1;background:#fff;opacity:.25}.fc-event .fc-content{position:relative;z-index:2}.fc-event .fc-resizer{position:absolute;z-index:4;display:none}.fc-event.fc-allow-mouse-resize .fc-resizer,.fc-event.fc-selected .fc-resizer{display:block}.fc-event.fc-selected .fc-resizer:before{content:"";position:absolute;z-index:9999;top:50%;left:50%;width:40px;height:40px;margin-left:-20px;margin-top:-20px}.fc-event.fc-selected{z-index:9999!important;box-shadow:0 2px 5px rgba(0,0,0,.2)}.fc-event.fc-selected.fc-dragging{box-shadow:0 2px 7px rgba(0,0,0,.3)}.fc-h-event.fc-selected:before{content:"";position:absolute;z-index:3;top:-10px;bottom:-10px;left:0;right:0}.fc-ltr .fc-h-event.fc-not-start,.fc-rtl .fc-h-event.fc-not-end{margin-left:0;border-left-width:0;padding-left:1px;border-top-left-radius:0;border-bottom-left-radius:0}.fc-ltr .fc-h-event.fc-not-end,.fc-rtl .fc-h-event.fc-not-start{margin-right:0;border-right-width:0;padding-right:1px;border-top-right-radius:0;border-bottom-right-radius:0}.fc-ltr .fc-h-event .fc-start-resizer,.fc-rtl .fc-h-event .fc-end-resizer{cursor:w-resize;left:-1px}.fc-ltr .fc-h-event .fc-end-resizer,.fc-rtl .fc-h-event .fc-start-resizer{cursor:e-resize;right:-1px}.fc-h-event.fc-allow-mouse-resize .fc-resizer{width:7px;top:-1px;bottom:-1px}.fc-h-event.fc-selected .fc-resizer{border-radius:4px;border-width:1px;width:6px;height:6px;border-style:solid;border-color:inherit;background:#fff;top:50%;margin-top:-4px}.fc-ltr .fc-h-event.fc-selected .fc-start-resizer,.fc-rtl .fc-h-event.fc-selected .fc-end-resizer{margin-left:-4px}.fc-ltr .fc-h-event.fc-selected .fc-end-resizer,.fc-rtl .fc-h-event.fc-selected .fc-start-resizer{margin-right:-4px}.fc-day-grid-event{margin:1px 2px 0;padding:0 1px}tr:first-child>td>.fc-day-grid-event{margin-top:2px}.fc-day-grid-event.fc-selected:after{content:"";position:absolute;z-index:1;top:-1px;right:-1px;bottom:-1px;left:-1px;background:#000;opacity:.25}.fc-day-grid-event .fc-content{white-space:nowrap;overflow:hidden}.fc-day-grid-event .fc-time{font-weight:700}.fc-ltr .fc-day-grid-event.fc-allow-mouse-resize .fc-start-resizer,.fc-rtl .fc-day-grid-event.fc-allow-mouse-resize .fc-end-resizer{margin-left:-2px}.fc-ltr .fc-day-grid-event.fc-allow-mouse-resize .fc-end-resizer,.fc-rtl .fc-day-grid-event.fc-allow-mouse-resize .fc-start-resizer{margin-right:-2px}a.fc-more{margin:1px 3px;font-size:.85em;cursor:pointer;text-decoration:none}a.fc-more:hover{text-decoration:underline}.fc-limited{display:none}.fc-day-grid .fc-row{z-index:1}.fc-more-popover{z-index:2;width:220px}.fc-more-popover .fc-event-container{padding:10px}.fc-now-indicator{position:absolute;border:0 solid red}.fc-unselectable{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}.fc-toolbar{margin-bottom:1em}.fc-toolbar .fc-left{float:left}.fc-toolbar .fc-right{float:right}.fc-toolbar .fc-center{display:inline-block}.fc .fc-toolbar>*>*{float:left;margin-left:.75em}.fc .fc-toolbar>*>:first-child{margin-left:0}.fc-toolbar h2{margin:0}.fc-toolbar button{position:relative}.fc-toolbar .fc-state-hover,.fc-toolbar .ui-state-hover{z-index:2}.fc-toolbar .fc-state-down{z-index:3}.fc-toolbar .fc-state-active,.fc-toolbar .ui-state-active{z-index:4}.fc-toolbar button:focus{z-index:5}.fc-view-container *,.fc-view-container :after,.fc-view-container :before{-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box}.fc-view,.fc-view>table{position:relative;z-index:1}.fc-basicDay-view .fc-content-skeleton,.fc-basicWeek-view .fc-content-skeleton{padding-bottom:1em}.fc-basic-view .fc-body .fc-row{min-height:4em}.fc-row.fc-rigid .fc-content-skeleton{position:absolute;top:0;left:0;right:0}.fc-day-top.fc-other-month{opacity:.3}.fc-basic-view .fc-day-number,.fc-basic-view .fc-week-number{padding:2px}.fc-basic-view th.fc-day-number,.fc-basic-view th.fc-week-number{padding:0 2px}.fc-ltr .fc-basic-view .fc-day-top .fc-day-number{float:right}.fc-rtl .fc-basic-view .fc-day-top .fc-day-number{float:left}.fc-ltr .fc-basic-view .fc-day-top .fc-week-number{float:left;border-radius:0 0 3px}.fc-rtl .fc-basic-view .fc-day-top .fc-week-number{float:right;border-radius:0 0 0 3px}.fc-basic-view .fc-day-top .fc-week-number{min-width:1.5em;text-align:center;background-color:#f2f2f2;color:grey}.fc-basic-view td.fc-week-number>*{display:inline-block;min-width:1.25em}.fc-agenda-view .fc-day-grid{position:relative;z-index:2}.fc-agenda-view .fc-day-grid .fc-row{min-height:3em}.fc-agenda-view .fc-day-grid .fc-row .fc-content-skeleton{padding-bottom:1em}.fc .fc-axis{vertical-align:middle;padding:0 4px;white-space:nowrap}.fc-ltr .fc-axis{text-align:right}.fc-rtl .fc-axis{text-align:left}.ui-widget td.fc-axis{font-weight:400}.fc-time-grid,.fc-time-grid-container{position:relative;z-index:1}.fc-time-grid{min-height:100%}.fc-time-grid table{border:0 hidden transparent}.fc-time-grid>.fc-bg{z-index:1}.fc-time-grid .fc-slats,.fc-time-grid>hr{position:relative;z-index:2}.fc-time-grid .fc-content-col{position:relative}.fc-time-grid .fc-content-skeleton{position:absolute;z-index:3;top:0;left:0;right:0}.fc-time-grid .fc-business-container{position:relative;z-index:1}.fc-time-grid .fc-bgevent-container{position:relative;z-index:2}.fc-time-grid .fc-highlight-container{z-index:3;position:relative}.fc-time-grid .fc-event-container{position:relative;z-index:4}.fc-time-grid .fc-now-indicator-line{z-index:5}.fc-time-grid .fc-helper-container{position:relative;z-index:6}.fc-time-grid .fc-slats td{height:1.5em;border-bottom:0}.fc-time-grid .fc-slats .fc-minor td{border-top-style:dotted}.fc-time-grid .fc-slats .ui-widget-content{background:0 0}.fc-time-grid .fc-highlight{position:absolute;left:0;right:0}.fc-ltr .fc-time-grid .fc-event-container{margin:0 2.5% 0 2px}.fc-rtl .fc-time-grid .fc-event-container{margin:0 2px 0 2.5%}.fc-time-grid .fc-bgevent,.fc-time-grid .fc-event{position:absolute;z-index:1}.fc-time-grid .fc-bgevent{left:0;right:0}.fc-v-event.fc-not-start{border-top-width:0;padding-top:1px;border-top-left-radius:0;border-top-right-radius:0}.fc-v-event.fc-not-end{border-bottom-width:0;padding-bottom:1px;border-bottom-left-radius:0;border-bottom-right-radius:0}.fc-time-grid-event.fc-selected{overflow:visible}.fc-time-grid-event.fc-selected .fc-bg{display:none}.fc-time-grid-event .fc-content{overflow:hidden}.fc-time-grid-event .fc-time,.fc-time-grid-event .fc-title{padding:0 1px}.fc-time-grid-event .fc-time{font-size:.85em;white-space:nowrap}.fc-time-grid-event.fc-short .fc-content{white-space:nowrap}.fc-time-grid-event.fc-short .fc-time,.fc-time-grid-event.fc-short .fc-title{display:inline-block;vertical-align:top}.fc-time-grid-event.fc-short .fc-time span{display:none}.fc-time-grid-event.fc-short .fc-time:before{content:attr(data-start)}.fc-time-grid-event.fc-short .fc-time:after{content:"\000A0-\000A0"}.fc-time-grid-event.fc-short .fc-title{font-size:.85em;padding:0}.fc-time-grid-event.fc-allow-mouse-resize .fc-resizer{left:0;right:0;bottom:0;height:8px;overflow:hidden;line-height:8px;font-size:11px;font-family:monospace;text-align:center;cursor:s-resize}.fc-time-grid-event.fc-allow-mouse-resize .fc-resizer:after{content:"="}.fc-time-grid-event.fc-selected .fc-resizer{border-radius:5px;border-width:1px;width:8px;height:8px;border-style:solid;border-color:inherit;background:#fff;left:50%;margin-left:-5px;bottom:-5px}.fc-time-grid .fc-now-indicator-line{border-top-width:1px;left:0;right:0}.fc-time-grid .fc-now-indicator-arrow{margin-top:-5px}.fc-ltr .fc-time-grid .fc-now-indicator-arrow{left:0;border-width:5px 0 5px 6px;border-top-color:transparent;border-bottom-color:transparent}.fc-rtl .fc-time-grid .fc-now-indicator-arrow{right:0;border-width:5px 6px 5px 0;border-top-color:transparent;border-bottom-color:transparent}.fc-event-dot{display:inline-block;width:10px;height:10px;border-radius:5px}.fc-rtl .fc-list-view{direction:rtl}.fc-list-view{border-width:1px;border-style:solid}.fc .fc-list-table{table-layout:auto}.fc-list-table td{border-width:1px 0 0;padding:8px 14px}.fc-list-table tr:first-child td{border-top-width:0}.fc-list-heading{border-bottom-width:1px}.fc-list-heading td{font-weight:700}.fc-ltr .fc-list-heading-main{float:left}.fc-ltr .fc-list-heading-alt,.fc-rtl .fc-list-heading-main{float:right}.fc-rtl .fc-list-heading-alt{float:left}.fc-list-item.fc-has-url{cursor:pointer}.fc-list-item:hover td{background-color:#f5f5f5}.fc-list-item-marker,.fc-list-item-time{white-space:nowrap;width:1px}.fc-ltr .fc-list-item-marker{padding-right:0}.fc-rtl .fc-list-item-marker{padding-left:0}.fc-list-item-title a{text-decoration:none;color:inherit}.fc-list-item-title a[href]:hover{text-decoration:underline}.fc-list-empty-wrap2{position:absolute;top:0;left:0;right:0;bottom:0}.fc-list-empty-wrap1{width:100%;height:100%;display:table}.fc-list-empty{display:table-cell;vertical-align:middle;text-align:center}.fc-unthemed .fc-list-empty{background-color:#eee} \ No newline at end of file
diff --git a/library/fullcalendar/fullcalendar.min.js b/library/fullcalendar/fullcalendar.min.js
index d05408974..bc8b51c8a 100644
--- a/library/fullcalendar/fullcalendar.min.js
+++ b/library/fullcalendar/fullcalendar.min.js
@@ -1,9 +1,9 @@
/*!
- * FullCalendar v2.8.0
+ * FullCalendar v3.0.1
* Docs & License: http://fullcalendar.io/
* (c) 2016 Adam Shaw
*/
-!function(a){"function"==typeof define&&define.amd?define(["jquery","moment"],a):"object"==typeof exports?module.exports=a(require("jquery"),require("moment")):a(jQuery,moment)}(function(a,b){function c(a){return W(a,Ya)}function d(b){var c,d={views:b.views||{}};return a.each(b,function(b,e){"views"!=b&&(a.isPlainObject(e)&&!/(time|duration|interval)$/i.test(b)&&-1==a.inArray(b,Ya)?(c=null,a.each(e,function(a,e){/^(month|week|day|default|basic(Week|Day)?|agenda(Week|Day)?)$/.test(a)?(d.views[a]||(d.views[a]={}),d.views[a][b]=e):(c||(c={}),c[a]=e)}),c&&(d[b]=c)):d[b]=e)}),d}function e(a,b){b.left&&a.css({"border-left-width":1,"margin-left":b.left-1}),b.right&&a.css({"border-right-width":1,"margin-right":b.right-1})}function f(a){a.css({"margin-left":"","margin-right":"","border-left-width":"","border-right-width":""})}function g(){a("body").addClass("fc-not-allowed")}function h(){a("body").removeClass("fc-not-allowed")}function i(b,c,d){var e=Math.floor(c/b.length),f=Math.floor(c-e*(b.length-1)),g=[],h=[],i=[],k=0;j(b),b.each(function(c,d){var j=c===b.length-1?f:e,l=a(d).outerHeight(!0);j>l?(g.push(d),h.push(l),i.push(a(d).height())):k+=l}),d&&(c-=k,e=Math.floor(c/g.length),f=Math.floor(c-e*(g.length-1))),a(g).each(function(b,c){var d=b===g.length-1?f:e,j=h[b],k=i[b],l=d-(j-k);d>j&&a(c).height(l)})}function j(a){a.height("")}function k(b){var c=0;return b.find("> span").each(function(b,d){var e=a(d).outerWidth();e>c&&(c=e)}),c++,b.width(c),c}function l(a,b){var c,d=a.add(b);return d.css({position:"relative",left:-1}),c=a.outerHeight()-b.outerHeight(),d.css({position:"",left:""}),c}function m(b){var c=b.css("position"),d=b.parents().filter(function(){var b=a(this);return/(auto|scroll)/.test(b.css("overflow")+b.css("overflow-y")+b.css("overflow-x"))}).eq(0);return"fixed"!==c&&d.length?d:a(b[0].ownerDocument||document)}function n(a,b){var c=a.offset(),d=c.left-(b?b.left:0),e=c.top-(b?b.top:0);return{left:d,right:d+a.outerWidth(),top:e,bottom:e+a.outerHeight()}}function o(a,b){var c=a.offset(),d=q(a),e=c.left+t(a,"border-left-width")+d.left-(b?b.left:0),f=c.top+t(a,"border-top-width")+d.top-(b?b.top:0);return{left:e,right:e+a[0].clientWidth,top:f,bottom:f+a[0].clientHeight}}function p(a,b){var c=a.offset(),d=c.left+t(a,"border-left-width")+t(a,"padding-left")-(b?b.left:0),e=c.top+t(a,"border-top-width")+t(a,"padding-top")-(b?b.top:0);return{left:d,right:d+a.width(),top:e,bottom:e+a.height()}}function q(a){var b=a.innerWidth()-a[0].clientWidth,c={left:0,right:0,top:0,bottom:a.innerHeight()-a[0].clientHeight};return r()&&"rtl"==a.css("direction")?c.left=b:c.right=b,c}function r(){return null===Za&&(Za=s()),Za}function s(){var b=a("<div><div/></div>").css({position:"absolute",top:-1e3,left:0,border:0,padding:0,overflow:"scroll",direction:"rtl"}).appendTo("body"),c=b.children(),d=c.offset().left>b.offset().left;return b.remove(),d}function t(a,b){return parseFloat(a.css(b))||0}function u(a){return 1==a.which&&!a.ctrlKey}function v(a){if(void 0!==a.pageX)return a.pageX;var b=a.originalEvent.touches;return b?b[0].pageX:void 0}function w(a){if(void 0!==a.pageY)return a.pageY;var b=a.originalEvent.touches;return b?b[0].pageY:void 0}function x(a){return/^touch/.test(a.type)}function y(a){a.addClass("fc-unselectable").on("selectstart",z)}function z(a){a.preventDefault()}function A(a){return window.addEventListener?(window.addEventListener("scroll",a,!0),!0):!1}function B(a){return window.removeEventListener?(window.removeEventListener("scroll",a,!0),!0):!1}function C(a,b){var c={left:Math.max(a.left,b.left),right:Math.min(a.right,b.right),top:Math.max(a.top,b.top),bottom:Math.min(a.bottom,b.bottom)};return c.left<c.right&&c.top<c.bottom?c:!1}function D(a,b){return{left:Math.min(Math.max(a.left,b.left),b.right),top:Math.min(Math.max(a.top,b.top),b.bottom)}}function E(a){return{left:(a.left+a.right)/2,top:(a.top+a.bottom)/2}}function F(a,b){return{left:a.left-b.left,top:a.top-b.top}}function G(b){var c,d,e=[],f=[];for("string"==typeof b?f=b.split(/\s*,\s*/):"function"==typeof b?f=[b]:a.isArray(b)&&(f=b),c=0;c<f.length;c++)d=f[c],"string"==typeof d?e.push("-"==d.charAt(0)?{field:d.substring(1),order:-1}:{field:d,order:1}):"function"==typeof d&&e.push({func:d});return e}function H(a,b,c){var d,e;for(d=0;d<c.length;d++)if(e=I(a,b,c[d]))return e;return 0}function I(a,b,c){return c.func?c.func(a,b):J(a[c.field],b[c.field])*(c.order||1)}function J(b,c){return b||c?null==c?-1:null==b?1:"string"===a.type(b)||"string"===a.type(c)?String(b).localeCompare(String(c)):b-c:0}function K(a,b){var c,d,e,f,g=a.start,h=a.end,i=b.start,j=b.end;return h>i&&j>g?(g>=i?(c=g.clone(),e=!0):(c=i.clone(),e=!1),j>=h?(d=h.clone(),f=!0):(d=j.clone(),f=!1),{start:c,end:d,isStart:e,isEnd:f}):void 0}function L(a,c){return b.duration({days:a.clone().stripTime().diff(c.clone().stripTime(),"days"),ms:a.time()-c.time()})}function M(a,c){return b.duration({days:a.clone().stripTime().diff(c.clone().stripTime(),"days")})}function N(a,c,d){return b.duration(Math.round(a.diff(c,d,!0)),d)}function O(a,b){var c,d,e;for(c=0;c<_a.length&&(d=_a[c],e=P(d,a,b),!(e>=1&&ha(e)));c++);return d}function P(a,c,d){return null!=d?d.diff(c,a,!0):b.isDuration(c)?c.as(a):c.end.diff(c.start,a,!0)}function Q(a,b,c){var d;return T(c)?(b-a)/c:(d=c.asMonths(),Math.abs(d)>=1&&ha(d)?b.diff(a,"months",!0)/d:b.diff(a,"days",!0)/c.asDays())}function R(a,b){var c,d;return T(a)||T(b)?a/b:(c=a.asMonths(),d=b.asMonths(),Math.abs(c)>=1&&ha(c)&&Math.abs(d)>=1&&ha(d)?c/d:a.asDays()/b.asDays())}function S(a,c){var d;return T(a)?b.duration(a*c):(d=a.asMonths(),Math.abs(d)>=1&&ha(d)?b.duration({months:d*c}):b.duration({days:a.asDays()*c}))}function T(a){return Boolean(a.hours()||a.minutes()||a.seconds()||a.milliseconds())}function U(a){return"[object Date]"===Object.prototype.toString.call(a)||a instanceof Date}function V(a){return/^\d+\:\d+(?:\:\d+\.?(?:\d{3})?)?$/.test(a)}function W(a,b){var c,d,e,f,g,h,i={};if(b)for(c=0;c<b.length;c++){for(d=b[c],e=[],f=a.length-1;f>=0;f--)if(g=a[f][d],"object"==typeof g)e.unshift(g);else if(void 0!==g){i[d]=g;break}e.length&&(i[d]=W(e))}for(c=a.length-1;c>=0;c--){h=a[c];for(d in h)d in i||(i[d]=h[d])}return i}function X(a){var b=function(){};return b.prototype=a,new b}function Y(a,b){for(var c in a)$(a,c)&&(b[c]=a[c])}function Z(a,b){var c,d,e=["constructor","toString","valueOf"];for(c=0;c<e.length;c++)d=e[c],a[d]!==Object.prototype[d]&&(b[d]=a[d])}function $(a,b){return db.call(a,b)}function _(b){return/undefined|null|boolean|number|string/.test(a.type(b))}function aa(b,c,d){if(a.isFunction(b)&&(b=[b]),b){var e,f;for(e=0;e<b.length;e++)f=b[e].apply(c,d)||f;return f}}function ba(){for(var a=0;a<arguments.length;a++)if(void 0!==arguments[a])return arguments[a]}function ca(a){return(a+"").replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/'/g,"&#039;").replace(/"/g,"&quot;").replace(/\n/g,"<br />")}function da(a){return a.replace(/&.*?;/g,"")}function ea(b){var c=[];return a.each(b,function(a,b){null!=b&&c.push(a+":"+b)}),c.join(";")}function fa(a){return a.charAt(0).toUpperCase()+a.slice(1)}function ga(a,b){return a-b}function ha(a){return a%1===0}function ia(a,b){var c=a[b];return function(){return c.apply(a,arguments)}}function ja(a,b,c){var d,e,f,g,h,i=function(){var j=+new Date-g;b>j?d=setTimeout(i,b-j):(d=null,c||(h=a.apply(f,e),f=e=null))};return function(){f=this,e=arguments,g=+new Date;var j=c&&!d;return d||(d=setTimeout(i,b)),j&&(h=a.apply(f,e),f=e=null),h}}function ka(b,c){return b&&b.then&&"resolved"!==b.state()?c?b.then(c):void 0:a.when(c())}function la(c,d,e){var f,g,h,i,j=c[0],k=1==c.length&&"string"==typeof j;return b.isMoment(j)?(i=b.apply(null,c),na(j,i)):U(j)||void 0===j?i=b.apply(null,c):(f=!1,g=!1,k?eb.test(j)?(j+="-01",c=[j],f=!0,g=!0):(h=fb.exec(j))&&(f=!h[5],g=!0):a.isArray(j)&&(g=!0),i=d||f?b.utc.apply(b,c):b.apply(null,c),f?(i._ambigTime=!0,i._ambigZone=!0):e&&(g?i._ambigZone=!0:k&&(i.utcOffset?i.utcOffset(j):i.zone(j)))),i._fullCalendar=!0,i}function ma(a,c){var d,e,f=!1,g=!1,h=a.length,i=[];for(d=0;h>d;d++)e=a[d],b.isMoment(e)||(e=Wa.moment.parseZone(e)),f=f||e._ambigTime,g=g||e._ambigZone,i.push(e);for(d=0;h>d;d++)e=i[d],c||!f||e._ambigTime?g&&!e._ambigZone&&(i[d]=e.clone().stripZone()):i[d]=e.clone().stripTime();return i}function na(a,b){a._ambigTime?b._ambigTime=!0:b._ambigTime&&(b._ambigTime=!1),a._ambigZone?b._ambigZone=!0:b._ambigZone&&(b._ambigZone=!1)}function oa(a,b){a.year(b[0]||0).month(b[1]||0).date(b[2]||0).hours(b[3]||0).minutes(b[4]||0).seconds(b[5]||0).milliseconds(b[6]||0)}function pa(a,b){return hb.format.call(a,b)}function qa(a,b){return ra(a,wa(b))}function ra(a,b){var c,d="";for(c=0;c<b.length;c++)d+=sa(a,b[c]);return d}function sa(a,b){var c,d;return"string"==typeof b?b:(c=b.token)?ib[c]?ib[c](a):pa(a,c):b.maybe&&(d=ra(a,b.maybe),d.match(/[1-9]/))?d:""}function ta(a,b,c,d,e){var f;return a=Wa.moment.parseZone(a),b=Wa.moment.parseZone(b),f=(a.localeData||a.lang).call(a),c=f.longDateFormat(c)||c,d=d||" - ",ua(a,b,wa(c),d,e)}function ua(a,b,c,d,e){var f,g,h,i,j=a.clone().stripZone(),k=b.clone().stripZone(),l="",m="",n="",o="",p="";for(g=0;g<c.length&&(f=va(a,b,j,k,c[g]),f!==!1);g++)l+=f;for(h=c.length-1;h>g&&(f=va(a,b,j,k,c[h]),f!==!1);h--)m=f+m;for(i=g;h>=i;i++)n+=sa(a,c[i]),o+=sa(b,c[i]);return(n||o)&&(p=e?o+d+n:n+d+o),l+p+m}function va(a,b,c,d,e){var f,g;return"string"==typeof e?e:(f=e.token)&&(g=jb[f.charAt(0)],g&&c.isSame(d,g))?pa(a,f):!1}function wa(a){return a in kb?kb[a]:kb[a]=xa(a)}function xa(a){for(var b,c=[],d=/\[([^\]]*)\]|\(([^\)]*)\)|(LTS|LT|(\w)\4*o?)|([^\w\[\(]+)/g;b=d.exec(a);)b[1]?c.push(b[1]):b[2]?c.push({maybe:xa(b[2])}):b[3]?c.push({token:b[3]}):b[5]&&c.push(b[5]);return c}function ya(){}function za(a,b){var c;return $(b,"constructor")&&(c=b.constructor),"function"!=typeof c&&(c=b.constructor=function(){a.apply(this,arguments)}),c.prototype=X(a.prototype),Y(b,c.prototype),Z(b,c.prototype),Y(a,c),c}function Aa(a,b){Y(b,a.prototype)}function Ba(a,b){return a||b?a&&b?a.component===b.component&&Ca(a,b)&&Ca(b,a):!1:!0}function Ca(a,b){for(var c in a)if(!/^(component|left|right|top|bottom)$/.test(c)&&a[c]!==b[c])return!1;return!0}function Da(a){var b=Fa(a);return"background"===b||"inverse-background"===b}function Ea(a){return"inverse-background"===Fa(a)}function Fa(a){return ba((a.source||{}).rendering,a.rendering)}function Ga(a){var b,c,d={};for(b=0;b<a.length;b++)c=a[b],(d[c._id]||(d[c._id]=[])).push(c);return d}function Ha(a,b){return a.start-b.start}function Ia(c){var d,e,f,g,h=Wa.dataAttrPrefix;return h&&(h+="-"),d=c.data(h+"event")||null,d&&(d="object"==typeof d?a.extend({},d):{},e=d.start,null==e&&(e=d.time),f=d.duration,g=d.stick,delete d.start,delete d.time,delete d.duration,delete d.stick),null==e&&(e=c.data(h+"start")),null==e&&(e=c.data(h+"time")),null==f&&(f=c.data(h+"duration")),null==g&&(g=c.data(h+"stick")),e=null!=e?b.duration(e):null,f=null!=f?b.duration(f):null,g=Boolean(g),{eventProps:d,startTime:e,duration:f,stick:g}}function Ja(a,b){var c,d;for(c=0;c<b.length;c++)if(d=b[c],d.leftCol<=a.rightCol&&d.rightCol>=a.leftCol)return!0;return!1}function Ka(a,b){return a.leftCol-b.leftCol}function La(a){var b,c,d,e=[];for(b=0;b<a.length;b++){for(c=a[b],d=0;d<e.length&&Oa(c,e[d]).length;d++);c.level=d,(e[d]||(e[d]=[])).push(c)}return e}function Ma(a){var b,c,d,e,f;for(b=0;b<a.length;b++)for(c=a[b],d=0;d<c.length;d++)for(e=c[d],e.forwardSegs=[],f=b+1;f<a.length;f++)Oa(e,a[f],e.forwardSegs)}function Na(a){var b,c,d=a.forwardSegs,e=0;if(void 0===a.forwardPressure){for(b=0;b<d.length;b++)c=d[b],Na(c),e=Math.max(e,1+c.forwardPressure);a.forwardPressure=e}}function Oa(a,b,c){c=c||[];for(var d=0;d<b.length;d++)Pa(a,b[d])&&c.push(b[d]);return c}function Pa(a,b){return a.bottom>b.top&&a.top<b.bottom}function Qa(c,d){function e(){T?h()&&(k(),i()):f()}function f(){U=O.theme?"ui":"fc",c.addClass("fc"),O.isRTL?c.addClass("fc-rtl"):c.addClass("fc-ltr"),O.theme?c.addClass("ui-widget"):c.addClass("fc-unthemed"),T=a("<div class='fc-view-container'/>").prependTo(c),R=N.header=new Ta(N,O),S=R.render(),S&&c.prepend(S),i(O.defaultView),O.handleWindowResize&&(Y=ja(m,O.windowResizeDelay),a(window).resize(Y))}function g(){V&&V.removeElement(),R.removeElement(),T.remove(),c.removeClass("fc fc-ltr fc-rtl fc-unthemed ui-widget"),Y&&a(window).unbind("resize",Y)}function h(){return c.is(":visible")}function i(b){da++,V&&b&&V.type!==b&&(R.deactivateButton(V.type),H(),V.removeElement(),V=N.view=null),!V&&b&&(V=N.view=ca[b]||(ca[b]=N.instantiateView(b)),V.setElement(a("<div class='fc-view fc-"+b+"-view' />").appendTo(T)),R.activateButton(b)),V&&(Z=V.massageCurrentDate(Z),V.displaying&&Z.isWithin(V.intervalStart,V.intervalEnd)||h()&&(V.display(Z),I(),u(),v(),q())),I(),da--}function j(a){return h()?(a&&l(),da++,V.updateSize(!0),da--,!0):void 0}function k(){h()&&l()}function l(){W="number"==typeof O.contentHeight?O.contentHeight:"number"==typeof O.height?O.height-(S?S.outerHeight(!0):0):Math.round(T.width()/Math.max(O.aspectRatio,.5))}function m(a){!da&&a.target===window&&V.start&&j(!0)&&V.trigger("windowResize",ba)}function n(){r()}function o(a){aa(N.getEventSourcesByMatchArray(a))}function p(){h()&&(H(),V.displayEvents(ea),I())}function q(){!O.lazyFetching||$(V.start,V.end)?r():p()}function r(){_(V.start,V.end)}function s(a){ea=a,p()}function t(){p()}function u(){R.updateTitle(V.title)}function v(){var a=N.getNow();a.isWithin(V.intervalStart,V.intervalEnd)?R.disableButton("today"):R.enableButton("today")}function w(a,b){V.select(N.buildSelectSpan.apply(N,arguments))}function x(){V&&V.unselect()}function y(){Z=V.computePrevDate(Z),i()}function z(){Z=V.computeNextDate(Z),i()}function A(){Z.add(-1,"years"),i()}function B(){Z.add(1,"years"),i()}function C(){Z=N.getNow(),i()}function D(a){Z=N.moment(a).stripZone(),i()}function E(a){Z.add(b.duration(a)),i()}function F(a,b){var c;b=b||"day",c=N.getViewSpec(b)||N.getUnitViewSpec(b),Z=a.clone(),i(c?c.type:null)}function G(){return N.applyTimezone(Z)}function H(){T.css({width:"100%",height:T.height(),overflow:"hidden"})}function I(){T.css({width:"",height:"",overflow:""})}function J(){return N}function K(){return V}function L(a,b){return void 0===b?O[a]:void("height"!=a&&"contentHeight"!=a&&"aspectRatio"!=a||(O[a]=b,j(!0)))}function M(a,b){var c=Array.prototype.slice.call(arguments,2);return b=b||ba,this.triggerWith(a,b,c),O[a]?O[a].apply(b,c):void 0}var N=this;N.initOptions(d||{});var O=this.options;N.render=e,N.destroy=g,N.refetchEvents=n,N.refetchEventSources=o,N.reportEvents=s,N.reportEventChange=t,N.rerenderEvents=p,N.changeView=i,N.select=w,N.unselect=x,N.prev=y,N.next=z,N.prevYear=A,N.nextYear=B,N.today=C,N.gotoDate=D,N.incrementDate=E,N.zoomTo=F,N.getDate=G,N.getCalendar=J,N.getView=K,N.option=L,N.trigger=M;var P=X(Sa(O.lang));if(O.monthNames&&(P._months=O.monthNames),O.monthNamesShort&&(P._monthsShort=O.monthNamesShort),O.dayNames&&(P._weekdays=O.dayNames),O.dayNamesShort&&(P._weekdaysShort=O.dayNamesShort),null!=O.firstDay){var Q=X(P._week);Q.dow=O.firstDay,P._week=Q}P._fullCalendar_weekCalc=function(a){return"function"==typeof a?a:"local"===a?a:"iso"===a||"ISO"===a?"ISO":void 0}(O.weekNumberCalculation),N.defaultAllDayEventDuration=b.duration(O.defaultAllDayEventDuration),N.defaultTimedEventDuration=b.duration(O.defaultTimedEventDuration),N.moment=function(){var a;return"local"===O.timezone?(a=Wa.moment.apply(null,arguments),a.hasTime()&&a.local()):a="UTC"===O.timezone?Wa.moment.utc.apply(null,arguments):Wa.moment.parseZone.apply(null,arguments),"_locale"in a?a._locale=P:a._lang=P,a},N.getIsAmbigTimezone=function(){return"local"!==O.timezone&&"UTC"!==O.timezone},N.applyTimezone=function(a){if(!a.hasTime())return a.clone();var b,c=N.moment(a.toArray()),d=a.time()-c.time();return d&&(b=c.clone().add(d),a.time()-b.time()===0&&(c=b)),c},N.getNow=function(){var a=O.now;return"function"==typeof a&&(a=a()),N.moment(a).stripZone()},N.getEventEnd=function(a){return a.end?a.end.clone():N.getDefaultEventEnd(a.allDay,a.start)},N.getDefaultEventEnd=function(a,b){var c=b.clone();return a?c.stripTime().add(N.defaultAllDayEventDuration):c.add(N.defaultTimedEventDuration),N.getIsAmbigTimezone()&&c.stripZone(),c},N.humanizeDuration=function(a){return(a.locale||a.lang).call(a,O.lang).humanize()},Ua.call(N,O);var R,S,T,U,V,W,Y,Z,$=N.isFetchNeeded,_=N.fetchEvents,aa=N.fetchEventSources,ba=c[0],ca={},da=0,ea=[];Z=null!=O.defaultDate?N.moment(O.defaultDate).stripZone():N.getNow(),N.getSuggestedViewHeight=function(){return void 0===W&&k(),W},N.isHeightAuto=function(){return"auto"===O.contentHeight||"auto"===O.height},N.freezeContentHeight=H,N.unfreezeContentHeight=I,N.initialize()}function Ra(b){a.each(Db,function(a,c){null==b[a]&&(b[a]=c(b))})}function Sa(a){var c=b.localeData||b.langData;return c.call(b,a)||c.call(b,"en")}function Ta(b,c){function d(){var b=c.header;return n=c.theme?"ui":"fc",b?o=a("<div class='fc-toolbar'/>").append(f("left")).append(f("right")).append(f("center")).append('<div class="fc-clear"/>'):void 0}function e(){o.remove(),o=a()}function f(d){var e=a('<div class="fc-'+d+'"/>'),f=c.header[d];return f&&a.each(f.split(" "),function(d){var f,g=a(),h=!0;a.each(this.split(","),function(d,e){var f,i,j,k,l,m,o,q,r,s;"title"==e?(g=g.add(a("<h2>&nbsp;</h2>")),h=!1):((f=(b.options.customButtons||{})[e])?(j=function(a){f.click&&f.click.call(s[0],a)},k="",l=f.text):(i=b.getViewSpec(e))?(j=function(){b.changeView(e)},p.push(e),k=i.buttonTextOverride,l=i.buttonTextDefault):b[e]&&(j=function(){b[e]()},k=(b.overrides.buttonText||{})[e],l=c.buttonText[e]),j&&(m=f?f.themeIcon:c.themeButtonIcons[e],o=f?f.icon:c.buttonIcons[e],q=k?ca(k):m&&c.theme?"<span class='ui-icon ui-icon-"+m+"'></span>":o&&!c.theme?"<span class='fc-icon fc-icon-"+o+"'></span>":ca(l),r=["fc-"+e+"-button",n+"-button",n+"-state-default"],s=a('<button type="button" class="'+r.join(" ")+'">'+q+"</button>").click(function(a){s.hasClass(n+"-state-disabled")||(j(a),(s.hasClass(n+"-state-active")||s.hasClass(n+"-state-disabled"))&&s.removeClass(n+"-state-hover"))}).mousedown(function(){s.not("."+n+"-state-active").not("."+n+"-state-disabled").addClass(n+"-state-down")}).mouseup(function(){s.removeClass(n+"-state-down")}).hover(function(){s.not("."+n+"-state-active").not("."+n+"-state-disabled").addClass(n+"-state-hover")},function(){s.removeClass(n+"-state-hover").removeClass(n+"-state-down")}),g=g.add(s)))}),h&&g.first().addClass(n+"-corner-left").end().last().addClass(n+"-corner-right").end(),g.length>1?(f=a("<div/>"),h&&f.addClass("fc-button-group"),f.append(g),e.append(f)):e.append(g)}),e}function g(a){o.find("h2").text(a)}function h(a){o.find(".fc-"+a+"-button").addClass(n+"-state-active")}function i(a){o.find(".fc-"+a+"-button").removeClass(n+"-state-active")}function j(a){o.find(".fc-"+a+"-button").prop("disabled",!0).addClass(n+"-state-disabled")}function k(a){o.find(".fc-"+a+"-button").prop("disabled",!1).removeClass(n+"-state-disabled")}function l(){return p}var m=this;m.render=d,m.removeElement=e,m.updateTitle=g,m.activateButton=h,m.deactivateButton=i,m.disableButton=j,m.enableButton=k,m.getViewsWithButtons=l;var n,o=a(),p=[]}function Ua(c){function d(a,b){return!W||W>a||b>X}function e(a,b){W=a,X=b,f($,"reset")}function f(a,b){var c,d;for("reset"===b?da=[]:"add"!==b&&(da=v(da,a)),c=0;c<a.length;c++)d=a[c],"pending"!==d._status&&ca++,d._fetchId=(d._fetchId||0)+1,d._status="pending";for(c=0;c<a.length;c++)d=a[c],g(d,d._fetchId)}function g(b,c){j(b,function(d){var e,f,g,h=a.isArray(b.events);if(c===b._fetchId&&"rejected"!==b._status){if(b._status="resolved",d)for(e=0;e<d.length;e++)f=d[e],g=h?f:C(f,b),g&&da.push.apply(da,G(g));i()}})}function h(a){var b="pending"===a._status;a._status="rejected",b&&i()}function i(){ca--,ca||Y(da)}function j(b,d){var e,f,g=Wa.sourceFetchers;for(e=0;e<g.length;e++){if(f=g[e].call(U,b,W.clone(),X.clone(),c.timezone,d),f===!0)return;if("object"==typeof f)return void j(f,d)}var h=b.events;if(h)a.isFunction(h)?(U.pushLoading(),h.call(U,W.clone(),X.clone(),c.timezone,function(a){d(a),U.popLoading()})):a.isArray(h)?d(h):d();else{var i=b.url;if(i){var k,l=b.success,m=b.error,n=b.complete;k=a.isFunction(b.data)?b.data():b.data;var o=a.extend({},k||{}),p=ba(b.startParam,c.startParam),q=ba(b.endParam,c.endParam),r=ba(b.timezoneParam,c.timezoneParam);p&&(o[p]=W.format()),q&&(o[q]=X.format()),c.timezone&&"local"!=c.timezone&&(o[r]=c.timezone),U.pushLoading(),a.ajax(a.extend({},Eb,b,{data:o,success:function(b){b=b||[];var c=aa(l,this,arguments);a.isArray(c)&&(b=c),d(b)},error:function(){aa(m,this,arguments),d()},complete:function(){aa(n,this,arguments),U.popLoading()}}))}else d()}}function k(a){var b=l(a);b&&($.push(b),f([b],"add"))}function l(b){var c,d,e=Wa.sourceNormalizers;if(a.isFunction(b)||a.isArray(b)?c={events:b}:"string"==typeof b?c={url:b}:"object"==typeof b&&(c=a.extend({},b)),c){for(c.className?"string"==typeof c.className&&(c.className=c.className.split(/\s+/)):c.className=[],a.isArray(c.events)&&(c.origArray=c.events,c.events=a.map(c.events,function(a){return C(a,c)})),d=0;d<e.length;d++)e[d].call(U,c);return c}}function m(a){o(s(a))}function n(a){null==a?o($,!0):o(r(a))}function o(b,c){var d;for(d=0;d<b.length;d++)h(b[d]);c?($=[],da=[]):($=a.grep($,function(a){for(d=0;d<b.length;d++)if(a===b[d])return!1;return!0}),da=v(da,b)),Y(da)}function p(){return $.slice(1)}function q(b){return a.grep($,function(a){return a.id&&a.id===b})[0]}function r(b){b?a.isArray(b)||(b=[b]):b=[];var c,d=[];for(c=0;c<b.length;c++)d.push.apply(d,s(b[c]));return d}function s(b){var c,d;for(c=0;c<$.length;c++)if(d=$[c],d===b)return[d];return d=q(b),d?[d]:a.grep($,function(a){return t(b,a)})}function t(a,b){return a&&b&&u(a)==u(b)}function u(a){return("object"==typeof a?a.origArray||a.googleCalendarId||a.url||a.events:null)||a}function v(b,c){return a.grep(b,function(a){for(var b=0;b<c.length;b++)if(a.source===c[b])return!1;return!0})}function w(a){a.start=U.moment(a.start),a.end?a.end=U.moment(a.end):a.end=null,H(a,x(a)),Y(da)}function x(b){var c={};return a.each(b,function(a,b){y(a)&&void 0!==b&&_(b)&&(c[a]=b)}),c}function y(a){return!/^_|^(id|allDay|start|end)$/.test(a)}function z(a,b){var c,d,e,f=C(a);if(f){for(c=G(f),d=0;d<c.length;d++)e=c[d],e.source||(b&&(Z.events.push(e),e.source=Z),da.push(e));return Y(da),c}return[]}function A(b){var c,d;for(null==b?b=function(){return!0}:a.isFunction(b)||(c=b+"",b=function(a){return a._id==c}),da=a.grep(da,b,!0),d=0;d<$.length;d++)a.isArray($[d].events)&&($[d].events=a.grep($[d].events,b,!0));Y(da)}function B(b){return a.isFunction(b)?a.grep(da,b):null!=b?(b+="",a.grep(da,function(a){return a._id==b})):da}function C(d,e){var f,g,h,i={};if(c.eventDataTransform&&(d=c.eventDataTransform(d)),e&&e.eventDataTransform&&(d=e.eventDataTransform(d)),a.extend(i,d),e&&(i.source=e),i._id=d._id||(void 0===d.id?"_fc"+Fb++:d.id+""),d.className?"string"==typeof d.className?i.className=d.className.split(/\s+/):i.className=d.className:i.className=[],f=d.start||d.date,g=d.end,V(f)&&(f=b.duration(f)),V(g)&&(g=b.duration(g)),d.dow||b.isDuration(f)||b.isDuration(g))i.start=f?b.duration(f):null,i.end=g?b.duration(g):null,i._recurring=!0;else{if(f&&(f=U.moment(f),!f.isValid()))return!1;g&&(g=U.moment(g),g.isValid()||(g=null)),h=d.allDay,void 0===h&&(h=ba(e?e.allDayDefault:void 0,c.allDayDefault)),D(f,g,h,i)}return U.normalizeEvent(i),i}function D(a,b,c,d){d.start=a,d.end=b,d.allDay=c,E(d),Va(d)}function E(a){F(a),a.end&&!a.end.isAfter(a.start)&&(a.end=null),a.end||(c.forceEventDuration?a.end=U.getDefaultEventEnd(a.allDay,a.start):a.end=null)}function F(a){null==a.allDay&&(a.allDay=!(a.start.hasTime()||a.end&&a.end.hasTime())),a.allDay?(a.start.stripTime(),a.end&&a.end.stripTime()):(a.start.hasTime()||(a.start=U.applyTimezone(a.start.time(0))),a.end&&!a.end.hasTime()&&(a.end=U.applyTimezone(a.end.time(0))))}function G(b,c,d){var e,f,g,h,i,j,k,l,m,n=[];if(c=c||W,d=d||X,b)if(b._recurring){if(f=b.dow)for(e={},g=0;g<f.length;g++)e[f[g]]=!0;for(h=c.clone().stripTime();h.isBefore(d);)e&&!e[h.day()]||(i=b.start,j=b.end,k=h.clone(),l=null,i&&(k=k.time(i)),j&&(l=h.clone().time(j)),m=a.extend({},b),D(k,l,!i&&!j,m),n.push(m)),h.add(1,"days")}else n.push(b);return n}function H(b,c,d){function e(a,b){return d?N(a,b,d):c.allDay?M(a,b):L(a,b)}var f,g,h,i,j,k,l={};return c=c||{},c.start||(c.start=b.start.clone()),void 0===c.end&&(c.end=b.end?b.end.clone():null),null==c.allDay&&(c.allDay=b.allDay),E(c),f={start:b._start.clone(),end:b._end?b._end.clone():U.getDefaultEventEnd(b._allDay,b._start),allDay:c.allDay},E(f),g=null!==b._end&&null===c.end,h=e(c.start,f.start),c.end?(i=e(c.end,f.end),j=i.subtract(h)):j=null,a.each(c,function(a,b){y(a)&&void 0!==b&&(l[a]=b)}),k=I(B(b._id),g,c.allDay,h,j,l),{dateDelta:h,durationDelta:j,undo:k}}function I(b,c,d,e,f,g){var h=U.getIsAmbigTimezone(),i=[];return e&&!e.valueOf()&&(e=null),f&&!f.valueOf()&&(f=null),a.each(b,function(b,j){var k,l;k={start:j.start.clone(),end:j.end?j.end.clone():null,allDay:j.allDay},a.each(g,function(a){k[a]=j[a]}),l={start:j._start,end:j._end,allDay:d},E(l),c?l.end=null:f&&!l.end&&(l.end=U.getDefaultEventEnd(l.allDay,l.start)),e&&(l.start.add(e),l.end&&l.end.add(e)),f&&l.end.add(f),h&&!l.allDay&&(e||f)&&(l.start.stripZone(),l.end&&l.end.stripZone()),a.extend(j,g,l),Va(j),i.push(function(){a.extend(j,k),Va(j)})}),function(){for(var a=0;a<i.length;a++)i[a]()}}function J(b){var d,e=c.businessHours,f={className:"fc-nonbusiness",start:"09:00",end:"17:00",dow:[1,2,3,4,5],rendering:"inverse-background"},g=U.getView();return e&&(d=a.extend({},f,"object"==typeof e?e:{})),d?(b&&(d.start=null,d.end=null),G(C(d),g.start,g.end)):[]}function K(a,b){var d=b.source||{},e=ba(b.constraint,d.constraint,c.eventConstraint),f=ba(b.overlap,d.overlap,c.eventOverlap);return Q(a,e,f,b)}function O(b,c,d){var e,f;return d&&(e=a.extend({},d,c),f=G(C(e))[0]),f?K(b,f):P(b)}function P(a){return Q(a,c.selectConstraint,c.selectOverlap)}function Q(a,b,c,d){var e,f,g,h,i,j;if(null!=b){for(e=R(b),f=!1,h=0;h<e.length;h++)if(S(e[h],a)){f=!0;break}if(!f)return!1}for(g=U.getPeerEvents(a,d),h=0;h<g.length;h++)if(i=g[h],T(i,a)){if(c===!1)return!1;if("function"==typeof c&&!c(i,d))return!1;if(d){if(j=ba(i.overlap,(i.source||{}).overlap),j===!1)return!1;if("function"==typeof j&&!j(d,i))return!1}}return!0}function R(a){return"businessHours"===a?J():"object"==typeof a?G(C(a)):B(a)}function S(a,b){var c=a.start.clone().stripZone(),d=U.getEventEnd(a).stripZone();return b.start>=c&&b.end<=d}function T(a,b){var c=a.start.clone().stripZone(),d=U.getEventEnd(a).stripZone();return b.start<d&&b.end>c}var U=this;U.isFetchNeeded=d,U.fetchEvents=e,U.fetchEventSources=f,U.getEventSources=p,U.getEventSourceById=q,U.getEventSourcesByMatchArray=r,U.getEventSourcesByMatch=s,U.addEventSource=k,U.removeEventSource=m,U.removeEventSources=n,U.updateEvent=w,U.renderEvent=z,U.removeEvents=A,U.clientEvents=B,U.mutateEvent=H,U.normalizeEventDates=E,U.normalizeEventTimes=F;var W,X,Y=U.reportEvents,Z={events:[]},$=[Z],ca=0,da=[];a.each((c.events?[c.events]:[]).concat(c.eventSources||[]),function(a,b){var c=l(b);c&&$.push(c)}),U.getBusinessHoursEvents=J,U.isEventSpanAllowed=K,U.isExternalSpanAllowed=O,U.isSelectionSpanAllowed=P,U.getEventCache=function(){return da}}function Va(a){a._allDay=a.allDay,a._start=a.start.clone(),a._end=a.end?a.end.clone():null}var Wa=a.fullCalendar={version:"2.8.0",internalApiVersion:4},Xa=Wa.views={};a.fn.fullCalendar=function(b){var c=Array.prototype.slice.call(arguments,1),d=this;return this.each(function(e,f){var g,h=a(f),i=h.data("fullCalendar");"string"==typeof b?i&&a.isFunction(i[b])&&(g=i[b].apply(i,c),e||(d=g),"destroy"===b&&h.removeData("fullCalendar")):i||(i=new zb(h,b),h.data("fullCalendar",i),i.render())}),d};var Ya=["header","buttonText","buttonIcons","themeButtonIcons"];Wa.intersectRanges=K,Wa.applyAll=aa,Wa.debounce=ja,Wa.isInt=ha,Wa.htmlEscape=ca,Wa.cssToStr=ea,Wa.proxy=ia,Wa.capitaliseFirstLetter=fa,Wa.getOuterRect=n,Wa.getClientRect=o,Wa.getContentRect=p,Wa.getScrollbarWidths=q;var Za=null;Wa.preventDefault=z,Wa.intersectRects=C,Wa.parseFieldSpecs=G,Wa.compareByFieldSpecs=H,Wa.compareByFieldSpec=I,Wa.flexibleCompare=J,Wa.computeIntervalUnit=O,Wa.divideRangeByDuration=Q,Wa.divideDurationByDuration=R,Wa.multiplyDuration=S,Wa.durationHasTime=T;var $a=["sun","mon","tue","wed","thu","fri","sat"],_a=["year","month","week","day","hour","minute","second","millisecond"];Wa.log=function(){var a=window.console;return a&&a.log?a.log.apply(a,arguments):void 0},Wa.warn=function(){var a=window.console;return a&&a.warn?a.warn.apply(a,arguments):Wa.log.apply(Wa,arguments)};var ab,bb,cb,db={}.hasOwnProperty,eb=/^\s*\d{4}-\d\d$/,fb=/^\s*\d{4}-(?:(\d\d-\d\d)|(W\d\d$)|(W\d\d-\d)|(\d\d\d))((T| )(\d\d(:\d\d(:\d\d(\.\d+)?)?)?)?)?$/,gb=b.fn,hb=a.extend({},gb);Wa.moment=function(){return la(arguments)},Wa.moment.utc=function(){var a=la(arguments,!0);return a.hasTime()&&a.utc(),a},Wa.moment.parseZone=function(){return la(arguments,!0,!0)},gb.clone=function(){var a=hb.clone.apply(this,arguments);return na(this,a),this._fullCalendar&&(a._fullCalendar=!0),a},gb.week=gb.weeks=function(a){var b=(this._locale||this._lang)._fullCalendar_weekCalc;return null==a&&"function"==typeof b?b(this):"ISO"===b?hb.isoWeek.apply(this,arguments):hb.week.apply(this,arguments)},gb.time=function(a){if(!this._fullCalendar)return hb.time.apply(this,arguments);if(null==a)return b.duration({hours:this.hours(),minutes:this.minutes(),seconds:this.seconds(),milliseconds:this.milliseconds()});this._ambigTime=!1,b.isDuration(a)||b.isMoment(a)||(a=b.duration(a));var c=0;return b.isDuration(a)&&(c=24*Math.floor(a.asDays())),this.hours(c+a.hours()).minutes(a.minutes()).seconds(a.seconds()).milliseconds(a.milliseconds())},gb.stripTime=function(){var a;return this._ambigTime||(a=this.toArray(),this.utc(),bb(this,a.slice(0,3)),this._ambigTime=!0,this._ambigZone=!0),this},gb.hasTime=function(){return!this._ambigTime},gb.stripZone=function(){var a,b;return this._ambigZone||(a=this.toArray(),b=this._ambigTime,this.utc(),bb(this,a),this._ambigTime=b||!1,this._ambigZone=!0),this},gb.hasZone=function(){return!this._ambigZone},gb.local=function(){var a=this.toArray(),b=this._ambigZone;return hb.local.apply(this,arguments),this._ambigTime=!1,this._ambigZone=!1,b&&cb(this,a),this},gb.utc=function(){return hb.utc.apply(this,arguments),this._ambigTime=!1,this._ambigZone=!1,this},a.each(["zone","utcOffset"],function(a,b){hb[b]&&(gb[b]=function(a){return null!=a&&(this._ambigTime=!1,this._ambigZone=!1),hb[b].apply(this,arguments)})}),gb.format=function(){return this._fullCalendar&&arguments[0]?qa(this,arguments[0]):this._ambigTime?pa(this,"YYYY-MM-DD"):this._ambigZone?pa(this,"YYYY-MM-DD[T]HH:mm:ss"):hb.format.apply(this,arguments)},gb.toISOString=function(){return this._ambigTime?pa(this,"YYYY-MM-DD"):this._ambigZone?pa(this,"YYYY-MM-DD[T]HH:mm:ss"):hb.toISOString.apply(this,arguments)},gb.isWithin=function(a,b){var c=ma([this,a,b]);return c[0]>=c[1]&&c[0]<c[2]},gb.isSame=function(a,b){var c;return this._fullCalendar?b?(c=ma([this,a],!0),hb.isSame.call(c[0],c[1],b)):(a=Wa.moment.parseZone(a),hb.isSame.call(this,a)&&Boolean(this._ambigTime)===Boolean(a._ambigTime)&&Boolean(this._ambigZone)===Boolean(a._ambigZone)):hb.isSame.apply(this,arguments)},a.each(["isBefore","isAfter"],function(a,b){gb[b]=function(a,c){var d;return this._fullCalendar?(d=ma([this,a]),hb[b].call(d[0],d[1],c)):hb[b].apply(this,arguments)}}),ab="_d"in b()&&"updateOffset"in b,bb=ab?function(a,c){a._d.setTime(Date.UTC.apply(Date,c)),b.updateOffset(a,!1)}:oa,cb=ab?function(a,c){a._d.setTime(+new Date(c[0]||0,c[1]||0,c[2]||0,c[3]||0,c[4]||0,c[5]||0,c[6]||0)),b.updateOffset(a,!1)}:oa;var ib={t:function(a){return pa(a,"a").charAt(0)},T:function(a){return pa(a,"A").charAt(0)}};Wa.formatRange=ta;var jb={Y:"year",M:"month",D:"day",d:"day",A:"second",a:"second",T:"second",t:"second",H:"second",h:"second",m:"second",s:"second"},kb={};Wa.Class=ya,ya.extend=function(){var a,b,c=arguments.length;for(a=0;c>a;a++)b=arguments[a],c-1>a&&Aa(this,b);return za(this,b||{});
-},ya.mixin=function(a){Aa(this,a)};var lb=Wa.EmitterMixin={on:function(b,c){var d=function(a,b){return c.apply(b.context||this,b.args||[])};return c.guid||(c.guid=a.guid++),d.guid=c.guid,a(this).on(b,d),this},off:function(b,c){return a(this).off(b,c),this},trigger:function(b){var c=Array.prototype.slice.call(arguments,1);return a(this).triggerHandler(b,{args:c}),this},triggerWith:function(b,c,d){return a(this).triggerHandler(b,{context:c,args:d}),this}},mb=Wa.ListenerMixin=function(){var b=0,c={listenerId:null,listenTo:function(b,c,d){if("object"==typeof c)for(var e in c)c.hasOwnProperty(e)&&this.listenTo(b,e,c[e]);else"string"==typeof c&&b.on(c+"."+this.getListenerNamespace(),a.proxy(d,this))},stopListeningTo:function(a,b){a.off((b||"")+"."+this.getListenerNamespace())},getListenerNamespace:function(){return null==this.listenerId&&(this.listenerId=b++),"_listener"+this.listenerId}};return c}(),nb={isIgnoringMouse:!1,delayUnignoreMouse:null,initMouseIgnoring:function(a){this.delayUnignoreMouse=ja(ia(this,"unignoreMouse"),a||1e3)},tempIgnoreMouse:function(){this.isIgnoringMouse=!0,this.delayUnignoreMouse()},unignoreMouse:function(){this.isIgnoringMouse=!1}},ob=ya.extend(mb,{isHidden:!0,options:null,el:null,margin:10,constructor:function(a){this.options=a||{}},show:function(){this.isHidden&&(this.el||this.render(),this.el.show(),this.position(),this.isHidden=!1,this.trigger("show"))},hide:function(){this.isHidden||(this.el.hide(),this.isHidden=!0,this.trigger("hide"))},render:function(){var b=this,c=this.options;this.el=a('<div class="fc-popover"/>').addClass(c.className||"").css({top:0,left:0}).append(c.content).appendTo(c.parentEl),this.el.on("click",".fc-close",function(){b.hide()}),c.autoHide&&this.listenTo(a(document),"mousedown",this.documentMousedown)},documentMousedown:function(b){this.el&&!a(b.target).closest(this.el).length&&this.hide()},removeElement:function(){this.hide(),this.el&&(this.el.remove(),this.el=null),this.stopListeningTo(a(document),"mousedown")},position:function(){var b,c,d,e,f,g=this.options,h=this.el.offsetParent().offset(),i=this.el.outerWidth(),j=this.el.outerHeight(),k=a(window),l=m(this.el);e=g.top||0,f=void 0!==g.left?g.left:void 0!==g.right?g.right-i:0,l.is(window)||l.is(document)?(l=k,b=0,c=0):(d=l.offset(),b=d.top,c=d.left),b+=k.scrollTop(),c+=k.scrollLeft(),g.viewportConstrain!==!1&&(e=Math.min(e,b+l.outerHeight()-j-this.margin),e=Math.max(e,b+this.margin),f=Math.min(f,c+l.outerWidth()-i-this.margin),f=Math.max(f,c+this.margin)),this.el.css({top:e-h.top,left:f-h.left})},trigger:function(a){this.options[a]&&this.options[a].apply(this,Array.prototype.slice.call(arguments,1))}}),pb=Wa.CoordCache=ya.extend({els:null,forcedOffsetParentEl:null,origin:null,boundingRect:null,isHorizontal:!1,isVertical:!1,lefts:null,rights:null,tops:null,bottoms:null,constructor:function(b){this.els=a(b.els),this.isHorizontal=b.isHorizontal,this.isVertical=b.isVertical,this.forcedOffsetParentEl=b.offsetParent?a(b.offsetParent):null},build:function(){var a=this.forcedOffsetParentEl||this.els.eq(0).offsetParent();this.origin=a.offset(),this.boundingRect=this.queryBoundingRect(),this.isHorizontal&&this.buildElHorizontals(),this.isVertical&&this.buildElVerticals()},clear:function(){this.origin=null,this.boundingRect=null,this.lefts=null,this.rights=null,this.tops=null,this.bottoms=null},ensureBuilt:function(){this.origin||this.build()},queryBoundingRect:function(){var a=m(this.els.eq(0));return a.is(document)?void 0:o(a)},buildElHorizontals:function(){var b=[],c=[];this.els.each(function(d,e){var f=a(e),g=f.offset().left,h=f.outerWidth();b.push(g),c.push(g+h)}),this.lefts=b,this.rights=c},buildElVerticals:function(){var b=[],c=[];this.els.each(function(d,e){var f=a(e),g=f.offset().top,h=f.outerHeight();b.push(g),c.push(g+h)}),this.tops=b,this.bottoms=c},getHorizontalIndex:function(a){this.ensureBuilt();var b,c=this.boundingRect,d=this.lefts,e=this.rights,f=d.length;if(!c||a>=c.left&&a<c.right)for(b=0;f>b;b++)if(a>=d[b]&&a<e[b])return b},getVerticalIndex:function(a){this.ensureBuilt();var b,c=this.boundingRect,d=this.tops,e=this.bottoms,f=d.length;if(!c||a>=c.top&&a<c.bottom)for(b=0;f>b;b++)if(a>=d[b]&&a<e[b])return b},getLeftOffset:function(a){return this.ensureBuilt(),this.lefts[a]},getLeftPosition:function(a){return this.ensureBuilt(),this.lefts[a]-this.origin.left},getRightOffset:function(a){return this.ensureBuilt(),this.rights[a]},getRightPosition:function(a){return this.ensureBuilt(),this.rights[a]-this.origin.left},getWidth:function(a){return this.ensureBuilt(),this.rights[a]-this.lefts[a]},getTopOffset:function(a){return this.ensureBuilt(),this.tops[a]},getTopPosition:function(a){return this.ensureBuilt(),this.tops[a]-this.origin.top},getBottomOffset:function(a){return this.ensureBuilt(),this.bottoms[a]},getBottomPosition:function(a){return this.ensureBuilt(),this.bottoms[a]-this.origin.top},getHeight:function(a){return this.ensureBuilt(),this.bottoms[a]-this.tops[a]}}),qb=Wa.DragListener=ya.extend(mb,nb,{options:null,subjectEl:null,subjectHref:null,originX:null,originY:null,scrollEl:null,isInteracting:!1,isDistanceSurpassed:!1,isDelayEnded:!1,isDragging:!1,isTouch:!1,delay:null,delayTimeoutId:null,minDistance:null,handleTouchScrollProxy:null,constructor:function(a){this.options=a||{},this.handleTouchScrollProxy=ia(this,"handleTouchScroll"),this.initMouseIgnoring(500)},startInteraction:function(b,c){var d=x(b);if("mousedown"===b.type){if(this.isIgnoringMouse)return;if(!u(b))return;b.preventDefault()}this.isInteracting||(c=c||{},this.delay=ba(c.delay,this.options.delay,0),this.minDistance=ba(c.distance,this.options.distance,0),this.subjectEl=this.options.subjectEl,this.isInteracting=!0,this.isTouch=d,this.isDelayEnded=!1,this.isDistanceSurpassed=!1,this.originX=v(b),this.originY=w(b),this.scrollEl=m(a(b.target)),this.bindHandlers(),this.initAutoScroll(),this.handleInteractionStart(b),this.startDelay(b),this.minDistance||this.handleDistanceSurpassed(b))},handleInteractionStart:function(a){this.trigger("interactionStart",a)},endInteraction:function(a,b){this.isInteracting&&(this.endDrag(a),this.delayTimeoutId&&(clearTimeout(this.delayTimeoutId),this.delayTimeoutId=null),this.destroyAutoScroll(),this.unbindHandlers(),this.isInteracting=!1,this.handleInteractionEnd(a,b),this.isTouch&&this.tempIgnoreMouse())},handleInteractionEnd:function(a,b){this.trigger("interactionEnd",a,b||!1)},bindHandlers:function(){var b=this,c=1;this.isTouch?(this.listenTo(a(document),{touchmove:this.handleTouchMove,touchend:this.endInteraction,touchcancel:this.endInteraction,touchstart:function(a){c?c--:b.endInteraction(a,!0)}}),!A(this.handleTouchScrollProxy)&&this.scrollEl&&this.listenTo(this.scrollEl,"scroll",this.handleTouchScroll)):this.listenTo(a(document),{mousemove:this.handleMouseMove,mouseup:this.endInteraction}),this.listenTo(a(document),{selectstart:z,contextmenu:z})},unbindHandlers:function(){this.stopListeningTo(a(document)),B(this.handleTouchScrollProxy),this.scrollEl&&this.stopListeningTo(this.scrollEl,"scroll")},startDrag:function(a,b){this.startInteraction(a,b),this.isDragging||(this.isDragging=!0,this.handleDragStart(a))},handleDragStart:function(a){this.trigger("dragStart",a),this.initHrefHack()},handleMove:function(a){var b,c=v(a)-this.originX,d=w(a)-this.originY,e=this.minDistance;this.isDistanceSurpassed||(b=c*c+d*d,b>=e*e&&this.handleDistanceSurpassed(a)),this.isDragging&&this.handleDrag(c,d,a)},handleDrag:function(a,b,c){this.trigger("drag",a,b,c),this.updateAutoScroll(c)},endDrag:function(a){this.isDragging&&(this.isDragging=!1,this.handleDragEnd(a))},handleDragEnd:function(a){this.trigger("dragEnd",a),this.destroyHrefHack()},startDelay:function(a){var b=this;this.delay?this.delayTimeoutId=setTimeout(function(){b.handleDelayEnd(a)},this.delay):this.handleDelayEnd(a)},handleDelayEnd:function(a){this.isDelayEnded=!0,this.isDistanceSurpassed&&this.startDrag(a)},handleDistanceSurpassed:function(a){this.isDistanceSurpassed=!0,this.isDelayEnded&&this.startDrag(a)},handleTouchMove:function(a){this.isDragging&&a.preventDefault(),this.handleMove(a)},handleMouseMove:function(a){this.handleMove(a)},handleTouchScroll:function(a){this.isDragging||this.endInteraction(a,!0)},initHrefHack:function(){var a=this.subjectEl;(this.subjectHref=a?a.attr("href"):null)&&a.removeAttr("href")},destroyHrefHack:function(){var a=this.subjectEl,b=this.subjectHref;setTimeout(function(){b&&a.attr("href",b)},0)},trigger:function(a){this.options[a]&&this.options[a].apply(this,Array.prototype.slice.call(arguments,1)),this["_"+a]&&this["_"+a].apply(this,Array.prototype.slice.call(arguments,1))}});qb.mixin({isAutoScroll:!1,scrollBounds:null,scrollTopVel:null,scrollLeftVel:null,scrollIntervalId:null,scrollSensitivity:30,scrollSpeed:200,scrollIntervalMs:50,initAutoScroll:function(){var a=this.scrollEl;this.isAutoScroll=this.options.scroll&&a&&!a.is(window)&&!a.is(document),this.isAutoScroll&&this.listenTo(a,"scroll",ja(this.handleDebouncedScroll,100))},destroyAutoScroll:function(){this.endAutoScroll(),this.isAutoScroll&&this.stopListeningTo(this.scrollEl,"scroll")},computeScrollBounds:function(){this.isAutoScroll&&(this.scrollBounds=n(this.scrollEl))},updateAutoScroll:function(a){var b,c,d,e,f=this.scrollSensitivity,g=this.scrollBounds,h=0,i=0;g&&(b=(f-(w(a)-g.top))/f,c=(f-(g.bottom-w(a)))/f,d=(f-(v(a)-g.left))/f,e=(f-(g.right-v(a)))/f,b>=0&&1>=b?h=b*this.scrollSpeed*-1:c>=0&&1>=c&&(h=c*this.scrollSpeed),d>=0&&1>=d?i=d*this.scrollSpeed*-1:e>=0&&1>=e&&(i=e*this.scrollSpeed)),this.setScrollVel(h,i)},setScrollVel:function(a,b){this.scrollTopVel=a,this.scrollLeftVel=b,this.constrainScrollVel(),!this.scrollTopVel&&!this.scrollLeftVel||this.scrollIntervalId||(this.scrollIntervalId=setInterval(ia(this,"scrollIntervalFunc"),this.scrollIntervalMs))},constrainScrollVel:function(){var a=this.scrollEl;this.scrollTopVel<0?a.scrollTop()<=0&&(this.scrollTopVel=0):this.scrollTopVel>0&&a.scrollTop()+a[0].clientHeight>=a[0].scrollHeight&&(this.scrollTopVel=0),this.scrollLeftVel<0?a.scrollLeft()<=0&&(this.scrollLeftVel=0):this.scrollLeftVel>0&&a.scrollLeft()+a[0].clientWidth>=a[0].scrollWidth&&(this.scrollLeftVel=0)},scrollIntervalFunc:function(){var a=this.scrollEl,b=this.scrollIntervalMs/1e3;this.scrollTopVel&&a.scrollTop(a.scrollTop()+this.scrollTopVel*b),this.scrollLeftVel&&a.scrollLeft(a.scrollLeft()+this.scrollLeftVel*b),this.constrainScrollVel(),this.scrollTopVel||this.scrollLeftVel||this.endAutoScroll()},endAutoScroll:function(){this.scrollIntervalId&&(clearInterval(this.scrollIntervalId),this.scrollIntervalId=null,this.handleScrollEnd())},handleDebouncedScroll:function(){this.scrollIntervalId||this.handleScrollEnd()},handleScrollEnd:function(){}});var rb=qb.extend({component:null,origHit:null,hit:null,coordAdjust:null,constructor:function(a,b){qb.call(this,b),this.component=a},handleInteractionStart:function(a){var b,c,d,e=this.subjectEl;this.computeCoords(),a?(c={left:v(a),top:w(a)},d=c,e&&(b=n(e),d=D(d,b)),this.origHit=this.queryHit(d.left,d.top),e&&this.options.subjectCenter&&(this.origHit&&(b=C(this.origHit,b)||b),d=E(b)),this.coordAdjust=F(d,c)):(this.origHit=null,this.coordAdjust=null),qb.prototype.handleInteractionStart.apply(this,arguments)},computeCoords:function(){this.component.prepareHits(),this.computeScrollBounds()},handleDragStart:function(a){var b;qb.prototype.handleDragStart.apply(this,arguments),b=this.queryHit(v(a),w(a)),b&&this.handleHitOver(b)},handleDrag:function(a,b,c){var d;qb.prototype.handleDrag.apply(this,arguments),d=this.queryHit(v(c),w(c)),Ba(d,this.hit)||(this.hit&&this.handleHitOut(),d&&this.handleHitOver(d))},handleDragEnd:function(){this.handleHitDone(),qb.prototype.handleDragEnd.apply(this,arguments)},handleHitOver:function(a){var b=Ba(a,this.origHit);this.hit=a,this.trigger("hitOver",this.hit,b,this.origHit)},handleHitOut:function(){this.hit&&(this.trigger("hitOut",this.hit),this.handleHitDone(),this.hit=null)},handleHitDone:function(){this.hit&&this.trigger("hitDone",this.hit)},handleInteractionEnd:function(){qb.prototype.handleInteractionEnd.apply(this,arguments),this.origHit=null,this.hit=null,this.component.releaseHits()},handleScrollEnd:function(){qb.prototype.handleScrollEnd.apply(this,arguments),this.computeCoords()},queryHit:function(a,b){return this.coordAdjust&&(a+=this.coordAdjust.left,b+=this.coordAdjust.top),this.component.queryHit(a,b)}}),sb=ya.extend(mb,{options:null,sourceEl:null,el:null,parentEl:null,top0:null,left0:null,y0:null,x0:null,topDelta:null,leftDelta:null,isFollowing:!1,isHidden:!1,isAnimating:!1,constructor:function(b,c){this.options=c=c||{},this.sourceEl=b,this.parentEl=c.parentEl?a(c.parentEl):b.parent()},start:function(b){this.isFollowing||(this.isFollowing=!0,this.y0=w(b),this.x0=v(b),this.topDelta=0,this.leftDelta=0,this.isHidden||this.updatePosition(),x(b)?this.listenTo(a(document),"touchmove",this.handleMove):this.listenTo(a(document),"mousemove",this.handleMove))},stop:function(b,c){function d(){this.isAnimating=!1,e.removeElement(),this.top0=this.left0=null,c&&c()}var e=this,f=this.options.revertDuration;this.isFollowing&&!this.isAnimating&&(this.isFollowing=!1,this.stopListeningTo(a(document)),b&&f&&!this.isHidden?(this.isAnimating=!0,this.el.animate({top:this.top0,left:this.left0},{duration:f,complete:d})):d())},getEl:function(){var a=this.el;return a||(this.sourceEl.width(),a=this.el=this.sourceEl.clone().addClass(this.options.additionalClass||"").css({position:"absolute",visibility:"",display:this.isHidden?"none":"",margin:0,right:"auto",bottom:"auto",width:this.sourceEl.width(),height:this.sourceEl.height(),opacity:this.options.opacity||"",zIndex:this.options.zIndex}),a.addClass("fc-unselectable"),a.appendTo(this.parentEl)),a},removeElement:function(){this.el&&(this.el.remove(),this.el=null)},updatePosition:function(){var a,b;this.getEl(),null===this.top0&&(this.sourceEl.width(),a=this.sourceEl.offset(),b=this.el.offsetParent().offset(),this.top0=a.top-b.top,this.left0=a.left-b.left),this.el.css({top:this.top0+this.topDelta,left:this.left0+this.leftDelta})},handleMove:function(a){this.topDelta=w(a)-this.y0,this.leftDelta=v(a)-this.x0,this.isHidden||this.updatePosition()},hide:function(){this.isHidden||(this.isHidden=!0,this.el&&this.el.hide())},show:function(){this.isHidden&&(this.isHidden=!1,this.updatePosition(),this.getEl().show())}}),tb=Wa.Grid=ya.extend(mb,nb,{view:null,isRTL:null,start:null,end:null,el:null,elsByFill:null,eventTimeFormat:null,displayEventTime:null,displayEventEnd:null,minResizeDuration:null,largeUnit:null,dayDragListener:null,segDragListener:null,segResizeListener:null,externalDragListener:null,constructor:function(a){this.view=a,this.isRTL=a.opt("isRTL"),this.elsByFill={},this.dayDragListener=this.buildDayDragListener(),this.initMouseIgnoring()},computeEventTimeFormat:function(){return this.view.opt("smallTimeFormat")},computeDisplayEventTime:function(){return!0},computeDisplayEventEnd:function(){return!0},setRange:function(a){this.start=a.start.clone(),this.end=a.end.clone(),this.rangeUpdated(),this.processRangeOptions()},rangeUpdated:function(){},processRangeOptions:function(){var a,b,c=this.view;this.eventTimeFormat=c.opt("eventTimeFormat")||c.opt("timeFormat")||this.computeEventTimeFormat(),a=c.opt("displayEventTime"),null==a&&(a=this.computeDisplayEventTime()),b=c.opt("displayEventEnd"),null==b&&(b=this.computeDisplayEventEnd()),this.displayEventTime=a,this.displayEventEnd=b},spanToSegs:function(a){},diffDates:function(a,b){return this.largeUnit?N(a,b,this.largeUnit):L(a,b)},prepareHits:function(){},releaseHits:function(){},queryHit:function(a,b){},getHitSpan:function(a){},getHitEl:function(a){},setElement:function(a){this.el=a,y(a),this.bindDayHandler("touchstart",this.dayTouchStart),this.bindDayHandler("mousedown",this.dayMousedown),this.bindSegHandlers(),this.bindGlobalHandlers()},bindDayHandler:function(b,c){var d=this;this.el.on(b,function(b){return a(b.target).is(".fc-event-container *, .fc-more")||a(b.target).closest(".fc-popover").length?void 0:c.call(d,b)})},removeElement:function(){this.unbindGlobalHandlers(),this.clearDragListeners(),this.el.remove()},renderSkeleton:function(){},renderDates:function(){},unrenderDates:function(){},bindGlobalHandlers:function(){this.listenTo(a(document),{dragstart:this.externalDragStart,sortstart:this.externalDragStart})},unbindGlobalHandlers:function(){this.stopListeningTo(a(document))},dayMousedown:function(a){this.isIgnoringMouse||this.dayDragListener.startInteraction(a,{})},dayTouchStart:function(a){var b=this.view;(b.isSelected||b.selectedEvent)&&this.tempIgnoreMouse(),this.dayDragListener.startInteraction(a,{delay:this.view.opt("longPressDelay")})},buildDayDragListener:function(){var a,b,c=this,d=this.view,e=d.opt("selectable"),f=new rb(this,{scroll:d.opt("dragScroll"),interactionStart:function(){a=f.origHit},dragStart:function(){d.unselect()},hitOver:function(d,f,h){h&&(f||(a=null),e&&(b=c.computeSelection(c.getHitSpan(h),c.getHitSpan(d)),b?c.renderSelection(b):b===!1&&g()))},hitOut:function(){a=null,b=null,c.unrenderSelection(),h()},interactionEnd:function(e,f){f||(a&&!c.isIgnoringMouse&&d.triggerDayClick(c.getHitSpan(a),c.getHitEl(a),e),b&&d.reportSelection(b,e),h())}});return f},clearDragListeners:function(){this.dayDragListener.endInteraction(),this.segDragListener&&this.segDragListener.endInteraction(),this.segResizeListener&&this.segResizeListener.endInteraction(),this.externalDragListener&&this.externalDragListener.endInteraction()},renderEventLocationHelper:function(a,b){var c=this.fabricateHelperEvent(a,b);return this.renderHelper(c,b)},fabricateHelperEvent:function(a,b){var c=b?X(b.event):{};return c.start=a.start.clone(),c.end=a.end?a.end.clone():null,c.allDay=null,this.view.calendar.normalizeEventDates(c),c.className=(c.className||[]).concat("fc-helper"),b||(c.editable=!1),c},renderHelper:function(a,b){},unrenderHelper:function(){},renderSelection:function(a){this.renderHighlight(a)},unrenderSelection:function(){this.unrenderHighlight()},computeSelection:function(a,b){var c=this.computeSelectionSpan(a,b);return c&&!this.view.calendar.isSelectionSpanAllowed(c)?!1:c},computeSelectionSpan:function(a,b){var c=[a.start,a.end,b.start,b.end];return c.sort(ga),{start:c[0].clone(),end:c[3].clone()}},renderHighlight:function(a){this.renderFill("highlight",this.spanToSegs(a))},unrenderHighlight:function(){this.unrenderFill("highlight")},highlightSegClasses:function(){return["fc-highlight"]},renderBusinessHours:function(){},unrenderBusinessHours:function(){},getNowIndicatorUnit:function(){},renderNowIndicator:function(a){},unrenderNowIndicator:function(){},renderFill:function(a,b){},unrenderFill:function(a){var b=this.elsByFill[a];b&&(b.remove(),delete this.elsByFill[a])},renderFillSegEls:function(b,c){var d,e=this,f=this[b+"SegEl"],g="",h=[];if(c.length){for(d=0;d<c.length;d++)g+=this.fillSegHtml(b,c[d]);a(g).each(function(b,d){var g=c[b],i=a(d);f&&(i=f.call(e,g,i)),i&&(i=a(i),i.is(e.fillSegTag)&&(g.el=i,h.push(g)))})}return h},fillSegTag:"div",fillSegHtml:function(a,b){var c=this[a+"SegClasses"],d=this[a+"SegCss"],e=c?c.call(this,b):[],f=ea(d?d.call(this,b):{});return"<"+this.fillSegTag+(e.length?' class="'+e.join(" ")+'"':"")+(f?' style="'+f+'"':"")+" />"},getDayClasses:function(a){var b=this.view,c=b.calendar.getNow(),d=["fc-"+$a[a.day()]];return 1==b.intervalDuration.as("months")&&a.month()!=b.intervalStart.month()&&d.push("fc-other-month"),a.isSame(c,"day")?d.push("fc-today",b.highlightStateClass):c>a?d.push("fc-past"):d.push("fc-future"),d}});tb.mixin({mousedOverSeg:null,isDraggingSeg:!1,isResizingSeg:!1,isDraggingExternal:!1,segs:null,renderEvents:function(a){var b,c=[],d=[];for(b=0;b<a.length;b++)(Da(a[b])?c:d).push(a[b]);this.segs=[].concat(this.renderBgEvents(c),this.renderFgEvents(d))},renderBgEvents:function(a){var b=this.eventsToSegs(a);return this.renderBgSegs(b)||b},renderFgEvents:function(a){var b=this.eventsToSegs(a);return this.renderFgSegs(b)||b},unrenderEvents:function(){this.handleSegMouseout(),this.clearDragListeners(),this.unrenderFgSegs(),this.unrenderBgSegs(),this.segs=null},getEventSegs:function(){return this.segs||[]},renderFgSegs:function(a){},unrenderFgSegs:function(){},renderFgSegEls:function(b,c){var d,e=this.view,f="",g=[];if(b.length){for(d=0;d<b.length;d++)f+=this.fgSegHtml(b[d],c);a(f).each(function(c,d){var f=b[c],h=e.resolveEventEl(f.event,a(d));h&&(h.data("fc-seg",f),f.el=h,g.push(f))})}return g},fgSegHtml:function(a,b){},renderBgSegs:function(a){return this.renderFill("bgEvent",a)},unrenderBgSegs:function(){this.unrenderFill("bgEvent")},bgEventSegEl:function(a,b){return this.view.resolveEventEl(a.event,b)},bgEventSegClasses:function(a){var b=a.event,c=b.source||{};return["fc-bgevent"].concat(b.className,c.className||[])},bgEventSegCss:function(a){return{"background-color":this.getSegSkinCss(a)["background-color"]}},businessHoursSegClasses:function(a){return["fc-nonbusiness","fc-bgevent"]},bindSegHandlers:function(){this.bindSegHandler("touchstart",this.handleSegTouchStart),this.bindSegHandler("touchend",this.handleSegTouchEnd),this.bindSegHandler("mouseenter",this.handleSegMouseover),this.bindSegHandler("mouseleave",this.handleSegMouseout),this.bindSegHandler("mousedown",this.handleSegMousedown),this.bindSegHandler("click",this.handleSegClick)},bindSegHandler:function(b,c){var d=this;this.el.on(b,".fc-event-container > *",function(b){var e=a(this).data("fc-seg");return!e||d.isDraggingSeg||d.isResizingSeg?void 0:c.call(d,e,b)})},handleSegClick:function(a,b){return this.view.trigger("eventClick",a.el[0],a.event,b)},handleSegMouseover:function(a,b){this.isIgnoringMouse||this.mousedOverSeg||(this.mousedOverSeg=a,a.el.addClass("fc-allow-mouse-resize"),this.view.trigger("eventMouseover",a.el[0],a.event,b))},handleSegMouseout:function(a,b){b=b||{},this.mousedOverSeg&&(a=a||this.mousedOverSeg,this.mousedOverSeg=null,a.el.removeClass("fc-allow-mouse-resize"),this.view.trigger("eventMouseout",a.el[0],a.event,b))},handleSegMousedown:function(a,b){var c=this.startSegResize(a,b,{distance:5});!c&&this.view.isEventDraggable(a.event)&&this.buildSegDragListener(a).startInteraction(b,{distance:5})},handleSegTouchStart:function(a,b){var c,d=this.view,e=a.event,f=d.isEventSelected(e),g=d.isEventDraggable(e),h=d.isEventResizable(e),i=!1;f&&h&&(i=this.startSegResize(a,b)),i||!g&&!h||(c=g?this.buildSegDragListener(a):this.buildSegSelectListener(a),c.startInteraction(b,{delay:f?0:this.view.opt("longPressDelay")})),this.tempIgnoreMouse()},handleSegTouchEnd:function(a,b){this.tempIgnoreMouse()},startSegResize:function(b,c,d){return a(c.target).is(".fc-resizer")?(this.buildSegResizeListener(b,a(c.target).is(".fc-start-resizer")).startInteraction(c,d),!0):!1},buildSegDragListener:function(a){var b,c,d,e=this,f=this.view,i=f.calendar,j=a.el,k=a.event;if(this.segDragListener)return this.segDragListener;var l=this.segDragListener=new rb(f,{scroll:f.opt("dragScroll"),subjectEl:j,subjectCenter:!0,interactionStart:function(d){b=!1,c=new sb(a.el,{additionalClass:"fc-dragging",parentEl:f.el,opacity:l.isTouch?null:f.opt("dragOpacity"),revertDuration:f.opt("dragRevertDuration"),zIndex:2}),c.hide(),c.start(d)},dragStart:function(c){l.isTouch&&!f.isEventSelected(k)&&f.selectEvent(k),b=!0,e.handleSegMouseout(a,c),e.segDragStart(a,c),f.hideEvent(k)},hitOver:function(b,h,j){var m;a.hit&&(j=a.hit),d=e.computeEventDrop(j.component.getHitSpan(j),b.component.getHitSpan(b),k),d&&!i.isEventSpanAllowed(e.eventToSpan(d),k)&&(g(),d=null),d&&(m=f.renderDrag(d,a))?(m.addClass("fc-dragging"),l.isTouch||e.applyDragOpacity(m),c.hide()):c.show(),h&&(d=null)},hitOut:function(){f.unrenderDrag(),c.show(),d=null},hitDone:function(){h()},interactionEnd:function(g){c.stop(!d,function(){b&&(f.unrenderDrag(),f.showEvent(k),e.segDragStop(a,g)),d&&f.reportEventDrop(k,d,this.largeUnit,j,g)}),e.segDragListener=null}});return l},buildSegSelectListener:function(a){var b=this,c=this.view,d=a.event;if(this.segDragListener)return this.segDragListener;var e=this.segDragListener=new qb({dragStart:function(a){e.isTouch&&!c.isEventSelected(d)&&c.selectEvent(d)},interactionEnd:function(a){b.segDragListener=null}});return e},segDragStart:function(a,b){this.isDraggingSeg=!0,this.view.trigger("eventDragStart",a.el[0],a.event,b,{})},segDragStop:function(a,b){this.isDraggingSeg=!1,this.view.trigger("eventDragStop",a.el[0],a.event,b,{})},computeEventDrop:function(a,b,c){var d,e,f=this.view.calendar,g=a.start,h=b.start;return g.hasTime()===h.hasTime()?(d=this.diffDates(h,g),c.allDay&&T(d)?(e={start:c.start.clone(),end:f.getEventEnd(c),allDay:!1},f.normalizeEventTimes(e)):e={start:c.start.clone(),end:c.end?c.end.clone():null,allDay:c.allDay},e.start.add(d),e.end&&e.end.add(d)):e={start:h.clone(),end:null,allDay:!h.hasTime()},e},applyDragOpacity:function(a){var b=this.view.opt("dragOpacity");null!=b&&a.each(function(a,c){c.style.opacity=b})},externalDragStart:function(b,c){var d,e,f=this.view;f.opt("droppable")&&(d=a((c?c.item:null)||b.target),e=f.opt("dropAccept"),(a.isFunction(e)?e.call(d[0],d):d.is(e))&&(this.isDraggingExternal||this.listenToExternalDrag(d,b,c)))},listenToExternalDrag:function(a,b,c){var d,e=this,f=this.view.calendar,i=Ia(a),j=e.externalDragListener=new rb(this,{interactionStart:function(){e.isDraggingExternal=!0},hitOver:function(a){d=e.computeExternalDrop(a.component.getHitSpan(a),i),d&&!f.isExternalSpanAllowed(e.eventToSpan(d),d,i.eventProps)&&(g(),d=null),d&&e.renderDrag(d)},hitOut:function(){d=null},hitDone:function(){h(),e.unrenderDrag()},interactionEnd:function(b){d&&e.view.reportExternalDrop(i,d,a,b,c),e.isDraggingExternal=!1,e.externalDragListener=null}});j.startDrag(b)},computeExternalDrop:function(a,b){var c=this.view.calendar,d={start:c.applyTimezone(a.start),end:null};return b.startTime&&!d.start.hasTime()&&d.start.time(b.startTime),b.duration&&(d.end=d.start.clone().add(b.duration)),d},renderDrag:function(a,b){},unrenderDrag:function(){},buildSegResizeListener:function(a,b){var c,d,e=this,f=this.view,i=f.calendar,j=a.el,k=a.event,l=i.getEventEnd(k),m=this.segResizeListener=new rb(this,{scroll:f.opt("dragScroll"),subjectEl:j,interactionStart:function(){c=!1},dragStart:function(b){c=!0,e.handleSegMouseout(a,b),e.segResizeStart(a,b)},hitOver:function(c,h,j){var m=e.getHitSpan(j),n=e.getHitSpan(c);d=b?e.computeEventStartResize(m,n,k):e.computeEventEndResize(m,n,k),d&&(i.isEventSpanAllowed(e.eventToSpan(d),k)?d.start.isSame(k.start)&&d.end.isSame(l)&&(d=null):(g(),d=null)),d&&(f.hideEvent(k),e.renderEventResize(d,a))},hitOut:function(){d=null},hitDone:function(){e.unrenderEventResize(),f.showEvent(k),h()},interactionEnd:function(b){c&&e.segResizeStop(a,b),d&&f.reportEventResize(k,d,this.largeUnit,j,b),e.segResizeListener=null}});return m},segResizeStart:function(a,b){this.isResizingSeg=!0,this.view.trigger("eventResizeStart",a.el[0],a.event,b,{})},segResizeStop:function(a,b){this.isResizingSeg=!1,this.view.trigger("eventResizeStop",a.el[0],a.event,b,{})},computeEventStartResize:function(a,b,c){return this.computeEventResize("start",a,b,c)},computeEventEndResize:function(a,b,c){return this.computeEventResize("end",a,b,c)},computeEventResize:function(a,b,c,d){var e,f,g=this.view.calendar,h=this.diffDates(c[a],b[a]);return e={start:d.start.clone(),end:g.getEventEnd(d),allDay:d.allDay},e.allDay&&T(h)&&(e.allDay=!1,g.normalizeEventTimes(e)),e[a].add(h),e.start.isBefore(e.end)||(f=this.minResizeDuration||(d.allDay?g.defaultAllDayEventDuration:g.defaultTimedEventDuration),"start"==a?e.start=e.end.clone().subtract(f):e.end=e.start.clone().add(f)),e},renderEventResize:function(a,b){},unrenderEventResize:function(){},getEventTimeText:function(a,b,c){return null==b&&(b=this.eventTimeFormat),null==c&&(c=this.displayEventEnd),this.displayEventTime&&a.start.hasTime()?c&&a.end?this.view.formatRange(a,b):a.start.format(b):""},getSegClasses:function(a,b,c){var d=this.view,e=a.event,f=["fc-event",a.isStart?"fc-start":"fc-not-start",a.isEnd?"fc-end":"fc-not-end"].concat(e.className,e.source?e.source.className:[]);return b&&f.push("fc-draggable"),c&&f.push("fc-resizable"),d.isEventSelected(e)&&f.push("fc-selected"),f},getSegSkinCss:function(a){var b=a.event,c=this.view,d=b.source||{},e=b.color,f=d.color,g=c.opt("eventColor");return{"background-color":b.backgroundColor||e||d.backgroundColor||f||c.opt("eventBackgroundColor")||g,"border-color":b.borderColor||e||d.borderColor||f||c.opt("eventBorderColor")||g,color:b.textColor||d.textColor||c.opt("eventTextColor")}},eventToSegs:function(a){return this.eventsToSegs([a])},eventToSpan:function(a){return this.eventToSpans(a)[0]},eventToSpans:function(a){var b=this.eventToRange(a);return this.eventRangeToSpans(b,a)},eventsToSegs:function(b,c){var d=this,e=Ga(b),f=[];return a.each(e,function(a,b){var e,g=[];for(e=0;e<b.length;e++)g.push(d.eventToRange(b[e]));if(Ea(b[0]))for(g=d.invertRanges(g),e=0;e<g.length;e++)f.push.apply(f,d.eventRangeToSegs(g[e],b[0],c));else for(e=0;e<g.length;e++)f.push.apply(f,d.eventRangeToSegs(g[e],b[e],c))}),f},eventToRange:function(a){return{start:a.start.clone().stripZone(),end:(a.end?a.end.clone():this.view.calendar.getDefaultEventEnd(null!=a.allDay?a.allDay:!a.start.hasTime(),a.start)).stripZone()}},eventRangeToSegs:function(a,b,c){var d,e=this.eventRangeToSpans(a,b),f=[];for(d=0;d<e.length;d++)f.push.apply(f,this.eventSpanToSegs(e[d],b,c));return f},eventRangeToSpans:function(b,c){return[a.extend({},b)]},eventSpanToSegs:function(a,b,c){var d,e,f=c?c(a):this.spanToSegs(a);for(d=0;d<f.length;d++)e=f[d],e.event=b,e.eventStartMS=+a.start,e.eventDurationMS=a.end-a.start;return f},invertRanges:function(a){var b,c,d=this.view,e=d.start.clone(),f=d.end.clone(),g=[],h=e;for(a.sort(Ha),b=0;b<a.length;b++)c=a[b],c.start>h&&g.push({start:h,end:c.start}),h=c.end;return f>h&&g.push({start:h,end:f}),g},sortEventSegs:function(a){a.sort(ia(this,"compareEventSegs"))},compareEventSegs:function(a,b){return a.eventStartMS-b.eventStartMS||b.eventDurationMS-a.eventDurationMS||b.event.allDay-a.event.allDay||H(a.event,b.event,this.view.eventOrderSpecs)}}),Wa.isBgEvent=Da,Wa.dataAttrPrefix="";var ub=Wa.DayTableMixin={breakOnWeeks:!1,dayDates:null,dayIndices:null,daysPerRow:null,rowCnt:null,colCnt:null,colHeadFormat:null,updateDayTable:function(){for(var a,b,c,d=this.view,e=this.start.clone(),f=-1,g=[],h=[];e.isBefore(this.end);)d.isHiddenDay(e)?g.push(f+.5):(f++,g.push(f),h.push(e.clone())),e.add(1,"days");if(this.breakOnWeeks){for(b=h[0].day(),a=1;a<h.length&&h[a].day()!=b;a++);c=Math.ceil(h.length/a)}else c=1,a=h.length;this.dayDates=h,this.dayIndices=g,this.daysPerRow=a,this.rowCnt=c,this.updateDayTableCols()},updateDayTableCols:function(){this.colCnt=this.computeColCnt(),this.colHeadFormat=this.view.opt("columnFormat")||this.computeColHeadFormat()},computeColCnt:function(){return this.daysPerRow},getCellDate:function(a,b){return this.dayDates[this.getCellDayIndex(a,b)].clone()},getCellRange:function(a,b){var c=this.getCellDate(a,b),d=c.clone().add(1,"days");return{start:c,end:d}},getCellDayIndex:function(a,b){return a*this.daysPerRow+this.getColDayIndex(b)},getColDayIndex:function(a){return this.isRTL?this.colCnt-1-a:a},getDateDayIndex:function(a){var b=this.dayIndices,c=a.diff(this.start,"days");return 0>c?b[0]-1:c>=b.length?b[b.length-1]+1:b[c]},computeColHeadFormat:function(){return this.rowCnt>1||this.colCnt>10?"ddd":this.colCnt>1?this.view.opt("dayOfMonthFormat"):"dddd"},sliceRangeByRow:function(a){var b,c,d,e,f,g=this.daysPerRow,h=this.view.computeDayRange(a),i=this.getDateDayIndex(h.start),j=this.getDateDayIndex(h.end.clone().subtract(1,"days")),k=[];for(b=0;b<this.rowCnt;b++)c=b*g,d=c+g-1,e=Math.max(i,c),f=Math.min(j,d),e=Math.ceil(e),f=Math.floor(f),f>=e&&k.push({row:b,firstRowDayIndex:e-c,lastRowDayIndex:f-c,isStart:e===i,isEnd:f===j});return k},sliceRangeByDay:function(a){var b,c,d,e,f,g,h=this.daysPerRow,i=this.view.computeDayRange(a),j=this.getDateDayIndex(i.start),k=this.getDateDayIndex(i.end.clone().subtract(1,"days")),l=[];for(b=0;b<this.rowCnt;b++)for(c=b*h,
-d=c+h-1,e=c;d>=e;e++)f=Math.max(j,e),g=Math.min(k,e),f=Math.ceil(f),g=Math.floor(g),g>=f&&l.push({row:b,firstRowDayIndex:f-c,lastRowDayIndex:g-c,isStart:f===j,isEnd:g===k});return l},renderHeadHtml:function(){var a=this.view;return'<div class="fc-row '+a.widgetHeaderClass+'"><table><thead>'+this.renderHeadTrHtml()+"</thead></table></div>"},renderHeadIntroHtml:function(){return this.renderIntroHtml()},renderHeadTrHtml:function(){return"<tr>"+(this.isRTL?"":this.renderHeadIntroHtml())+this.renderHeadDateCellsHtml()+(this.isRTL?this.renderHeadIntroHtml():"")+"</tr>"},renderHeadDateCellsHtml:function(){var a,b,c=[];for(a=0;a<this.colCnt;a++)b=this.getCellDate(0,a),c.push(this.renderHeadDateCellHtml(b));return c.join("")},renderHeadDateCellHtml:function(a,b,c){var d=this.view;return'<th class="fc-day-header '+d.widgetHeaderClass+" fc-"+$a[a.day()]+'"'+(1==this.rowCnt?' data-date="'+a.format("YYYY-MM-DD")+'"':"")+(b>1?' colspan="'+b+'"':"")+(c?" "+c:"")+">"+ca(a.format(this.colHeadFormat))+"</th>"},renderBgTrHtml:function(a){return"<tr>"+(this.isRTL?"":this.renderBgIntroHtml(a))+this.renderBgCellsHtml(a)+(this.isRTL?this.renderBgIntroHtml(a):"")+"</tr>"},renderBgIntroHtml:function(a){return this.renderIntroHtml()},renderBgCellsHtml:function(a){var b,c,d=[];for(b=0;b<this.colCnt;b++)c=this.getCellDate(a,b),d.push(this.renderBgCellHtml(c));return d.join("")},renderBgCellHtml:function(a,b){var c=this.view,d=this.getDayClasses(a);return d.unshift("fc-day",c.widgetContentClass),'<td class="'+d.join(" ")+'" data-date="'+a.format("YYYY-MM-DD")+'"'+(b?" "+b:"")+"></td>"},renderIntroHtml:function(){},bookendCells:function(a){var b=this.renderIntroHtml();b&&(this.isRTL?a.append(b):a.prepend(b))}},vb=Wa.DayGrid=tb.extend(ub,{numbersVisible:!1,bottomCoordPadding:0,rowEls:null,cellEls:null,helperEls:null,rowCoordCache:null,colCoordCache:null,renderDates:function(a){var b,c,d=this.view,e=this.rowCnt,f=this.colCnt,g="";for(b=0;e>b;b++)g+=this.renderDayRowHtml(b,a);for(this.el.html(g),this.rowEls=this.el.find(".fc-row"),this.cellEls=this.el.find(".fc-day"),this.rowCoordCache=new pb({els:this.rowEls,isVertical:!0}),this.colCoordCache=new pb({els:this.cellEls.slice(0,this.colCnt),isHorizontal:!0}),b=0;e>b;b++)for(c=0;f>c;c++)d.trigger("dayRender",null,this.getCellDate(b,c),this.getCellEl(b,c))},unrenderDates:function(){this.removeSegPopover()},renderBusinessHours:function(){var a=this.view.calendar.getBusinessHoursEvents(!0),b=this.eventsToSegs(a);this.renderFill("businessHours",b,"bgevent")},renderDayRowHtml:function(a,b){var c=this.view,d=["fc-row","fc-week",c.widgetContentClass];return b&&d.push("fc-rigid"),'<div class="'+d.join(" ")+'"><div class="fc-bg"><table>'+this.renderBgTrHtml(a)+'</table></div><div class="fc-content-skeleton"><table>'+(this.numbersVisible?"<thead>"+this.renderNumberTrHtml(a)+"</thead>":"")+"</table></div></div>"},renderNumberTrHtml:function(a){return"<tr>"+(this.isRTL?"":this.renderNumberIntroHtml(a))+this.renderNumberCellsHtml(a)+(this.isRTL?this.renderNumberIntroHtml(a):"")+"</tr>"},renderNumberIntroHtml:function(a){return this.renderIntroHtml()},renderNumberCellsHtml:function(a){var b,c,d=[];for(b=0;b<this.colCnt;b++)c=this.getCellDate(a,b),d.push(this.renderNumberCellHtml(c));return d.join("")},renderNumberCellHtml:function(a){var b;return this.view.dayNumbersVisible?(b=this.getDayClasses(a),b.unshift("fc-day-number"),'<td class="'+b.join(" ")+'" data-date="'+a.format()+'">'+a.date()+"</td>"):"<td/>"},computeEventTimeFormat:function(){return this.view.opt("extraSmallTimeFormat")},computeDisplayEventEnd:function(){return 1==this.colCnt},rangeUpdated:function(){this.updateDayTable()},spanToSegs:function(a){var b,c,d=this.sliceRangeByRow(a);for(b=0;b<d.length;b++)c=d[b],this.isRTL?(c.leftCol=this.daysPerRow-1-c.lastRowDayIndex,c.rightCol=this.daysPerRow-1-c.firstRowDayIndex):(c.leftCol=c.firstRowDayIndex,c.rightCol=c.lastRowDayIndex);return d},prepareHits:function(){this.colCoordCache.build(),this.rowCoordCache.build(),this.rowCoordCache.bottoms[this.rowCnt-1]+=this.bottomCoordPadding},releaseHits:function(){this.colCoordCache.clear(),this.rowCoordCache.clear()},queryHit:function(a,b){var c=this.colCoordCache.getHorizontalIndex(a),d=this.rowCoordCache.getVerticalIndex(b);return null!=d&&null!=c?this.getCellHit(d,c):void 0},getHitSpan:function(a){return this.getCellRange(a.row,a.col)},getHitEl:function(a){return this.getCellEl(a.row,a.col)},getCellHit:function(a,b){return{row:a,col:b,component:this,left:this.colCoordCache.getLeftOffset(b),right:this.colCoordCache.getRightOffset(b),top:this.rowCoordCache.getTopOffset(a),bottom:this.rowCoordCache.getBottomOffset(a)}},getCellEl:function(a,b){return this.cellEls.eq(a*this.colCnt+b)},renderDrag:function(a,b){return this.renderHighlight(this.eventToSpan(a)),b&&!b.el.closest(this.el).length?this.renderEventLocationHelper(a,b):void 0},unrenderDrag:function(){this.unrenderHighlight(),this.unrenderHelper()},renderEventResize:function(a,b){return this.renderHighlight(this.eventToSpan(a)),this.renderEventLocationHelper(a,b)},unrenderEventResize:function(){this.unrenderHighlight(),this.unrenderHelper()},renderHelper:function(b,c){var d,e=[],f=this.eventToSegs(b);return f=this.renderFgSegEls(f),d=this.renderSegRows(f),this.rowEls.each(function(b,f){var g,h=a(f),i=a('<div class="fc-helper-skeleton"><table/></div>');g=c&&c.row===b?c.el.position().top:h.find(".fc-content-skeleton tbody").position().top,i.css("top",g).find("table").append(d[b].tbodyEl),h.append(i),e.push(i[0])}),this.helperEls=a(e)},unrenderHelper:function(){this.helperEls&&(this.helperEls.remove(),this.helperEls=null)},fillSegTag:"td",renderFill:function(b,c,d){var e,f,g,h=[];for(c=this.renderFillSegEls(b,c),e=0;e<c.length;e++)f=c[e],g=this.renderFillRow(b,f,d),this.rowEls.eq(f.row).append(g),h.push(g[0]);return this.elsByFill[b]=a(h),c},renderFillRow:function(b,c,d){var e,f,g=this.colCnt,h=c.leftCol,i=c.rightCol+1;return d=d||b.toLowerCase(),e=a('<div class="fc-'+d+'-skeleton"><table><tr/></table></div>'),f=e.find("tr"),h>0&&f.append('<td colspan="'+h+'"/>'),f.append(c.el.attr("colspan",i-h)),g>i&&f.append('<td colspan="'+(g-i)+'"/>'),this.bookendCells(f),e}});vb.mixin({rowStructs:null,unrenderEvents:function(){this.removeSegPopover(),tb.prototype.unrenderEvents.apply(this,arguments)},getEventSegs:function(){return tb.prototype.getEventSegs.call(this).concat(this.popoverSegs||[])},renderBgSegs:function(b){var c=a.grep(b,function(a){return a.event.allDay});return tb.prototype.renderBgSegs.call(this,c)},renderFgSegs:function(b){var c;return b=this.renderFgSegEls(b),c=this.rowStructs=this.renderSegRows(b),this.rowEls.each(function(b,d){a(d).find(".fc-content-skeleton > table").append(c[b].tbodyEl)}),b},unrenderFgSegs:function(){for(var a,b=this.rowStructs||[];a=b.pop();)a.tbodyEl.remove();this.rowStructs=null},renderSegRows:function(a){var b,c,d=[];for(b=this.groupSegRows(a),c=0;c<b.length;c++)d.push(this.renderSegRow(c,b[c]));return d},fgSegHtml:function(a,b){var c,d,e=this.view,f=a.event,g=e.isEventDraggable(f),h=!b&&f.allDay&&a.isStart&&e.isEventResizableFromStart(f),i=!b&&f.allDay&&a.isEnd&&e.isEventResizableFromEnd(f),j=this.getSegClasses(a,g,h||i),k=ea(this.getSegSkinCss(a)),l="";return j.unshift("fc-day-grid-event","fc-h-event"),a.isStart&&(c=this.getEventTimeText(f),c&&(l='<span class="fc-time">'+ca(c)+"</span>")),d='<span class="fc-title">'+(ca(f.title||"")||"&nbsp;")+"</span>",'<a class="'+j.join(" ")+'"'+(f.url?' href="'+ca(f.url)+'"':"")+(k?' style="'+k+'"':"")+'><div class="fc-content">'+(this.isRTL?d+" "+l:l+" "+d)+"</div>"+(h?'<div class="fc-resizer fc-start-resizer" />':"")+(i?'<div class="fc-resizer fc-end-resizer" />':"")+"</a>"},renderSegRow:function(b,c){function d(b){for(;b>g;)k=(r[e-1]||[])[g],k?k.attr("rowspan",parseInt(k.attr("rowspan")||1,10)+1):(k=a("<td/>"),h.append(k)),q[e][g]=k,r[e][g]=k,g++}var e,f,g,h,i,j,k,l=this.colCnt,m=this.buildSegLevels(c),n=Math.max(1,m.length),o=a("<tbody/>"),p=[],q=[],r=[];for(e=0;n>e;e++){if(f=m[e],g=0,h=a("<tr/>"),p.push([]),q.push([]),r.push([]),f)for(i=0;i<f.length;i++){for(j=f[i],d(j.leftCol),k=a('<td class="fc-event-container"/>').append(j.el),j.leftCol!=j.rightCol?k.attr("colspan",j.rightCol-j.leftCol+1):r[e][g]=k;g<=j.rightCol;)q[e][g]=k,p[e][g]=j,g++;h.append(k)}d(l),this.bookendCells(h),o.append(h)}return{row:b,tbodyEl:o,cellMatrix:q,segMatrix:p,segLevels:m,segs:c}},buildSegLevels:function(a){var b,c,d,e=[];for(this.sortEventSegs(a),b=0;b<a.length;b++){for(c=a[b],d=0;d<e.length&&Ja(c,e[d]);d++);c.level=d,(e[d]||(e[d]=[])).push(c)}for(d=0;d<e.length;d++)e[d].sort(Ka);return e},groupSegRows:function(a){var b,c=[];for(b=0;b<this.rowCnt;b++)c.push([]);for(b=0;b<a.length;b++)c[a[b].row].push(a[b]);return c}}),vb.mixin({segPopover:null,popoverSegs:null,removeSegPopover:function(){this.segPopover&&this.segPopover.hide()},limitRows:function(a){var b,c,d=this.rowStructs||[];for(b=0;b<d.length;b++)this.unlimitRow(b),c=a?"number"==typeof a?a:this.computeRowLevelLimit(b):!1,c!==!1&&this.limitRow(b,c)},computeRowLevelLimit:function(b){function c(b,c){f=Math.max(f,a(c).outerHeight())}var d,e,f,g=this.rowEls.eq(b),h=g.height(),i=this.rowStructs[b].tbodyEl.children();for(d=0;d<i.length;d++)if(e=i.eq(d).removeClass("fc-limited"),f=0,e.find("> td > :first-child").each(c),e.position().top+f>h)return d;return!1},limitRow:function(b,c){function d(d){for(;d>w;)j=t.getCellSegs(b,w,c),j.length&&(m=f[c-1][w],s=t.renderMoreLink(b,w,j),r=a("<div/>").append(s),m.append(r),v.push(r[0])),w++}var e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t=this,u=this.rowStructs[b],v=[],w=0;if(c&&c<u.segLevels.length){for(e=u.segLevels[c-1],f=u.cellMatrix,g=u.tbodyEl.children().slice(c).addClass("fc-limited").get(),h=0;h<e.length;h++){for(i=e[h],d(i.leftCol),l=[],k=0;w<=i.rightCol;)j=this.getCellSegs(b,w,c),l.push(j),k+=j.length,w++;if(k){for(m=f[c-1][i.leftCol],n=m.attr("rowspan")||1,o=[],p=0;p<l.length;p++)q=a('<td class="fc-more-cell"/>').attr("rowspan",n),j=l[p],s=this.renderMoreLink(b,i.leftCol+p,[i].concat(j)),r=a("<div/>").append(s),q.append(r),o.push(q[0]),v.push(q[0]);m.addClass("fc-limited").after(a(o)),g.push(m[0])}}d(this.colCnt),u.moreEls=a(v),u.limitedEls=a(g)}},unlimitRow:function(a){var b=this.rowStructs[a];b.moreEls&&(b.moreEls.remove(),b.moreEls=null),b.limitedEls&&(b.limitedEls.removeClass("fc-limited"),b.limitedEls=null)},renderMoreLink:function(b,c,d){var e=this,f=this.view;return a('<a class="fc-more"/>').text(this.getMoreLinkText(d.length)).on("click",function(g){var h=f.opt("eventLimitClick"),i=e.getCellDate(b,c),j=a(this),k=e.getCellEl(b,c),l=e.getCellSegs(b,c),m=e.resliceDaySegs(l,i),n=e.resliceDaySegs(d,i);"function"==typeof h&&(h=f.trigger("eventLimitClick",null,{date:i,dayEl:k,moreEl:j,segs:m,hiddenSegs:n},g)),"popover"===h?e.showSegPopover(b,c,j,m):"string"==typeof h&&f.calendar.zoomTo(i,h)})},showSegPopover:function(a,b,c,d){var e,f,g=this,h=this.view,i=c.parent();e=1==this.rowCnt?h.el:this.rowEls.eq(a),f={className:"fc-more-popover",content:this.renderSegPopoverContent(a,b,d),parentEl:this.el,top:e.offset().top,autoHide:!0,viewportConstrain:h.opt("popoverViewportConstrain"),hide:function(){g.segPopover.removeElement(),g.segPopover=null,g.popoverSegs=null}},this.isRTL?f.right=i.offset().left+i.outerWidth()+1:f.left=i.offset().left-1,this.segPopover=new ob(f),this.segPopover.show()},renderSegPopoverContent:function(b,c,d){var e,f=this.view,g=f.opt("theme"),h=this.getCellDate(b,c).format(f.opt("dayPopoverFormat")),i=a('<div class="fc-header '+f.widgetHeaderClass+'"><span class="fc-close '+(g?"ui-icon ui-icon-closethick":"fc-icon fc-icon-x")+'"></span><span class="fc-title">'+ca(h)+'</span><div class="fc-clear"/></div><div class="fc-body '+f.widgetContentClass+'"><div class="fc-event-container"></div></div>'),j=i.find(".fc-event-container");for(d=this.renderFgSegEls(d,!0),this.popoverSegs=d,e=0;e<d.length;e++)this.prepareHits(),d[e].hit=this.getCellHit(b,c),this.releaseHits(),j.append(d[e].el);return i},resliceDaySegs:function(b,c){var d=a.map(b,function(a){return a.event}),e=c.clone(),f=e.clone().add(1,"days"),g={start:e,end:f};return b=this.eventsToSegs(d,function(a){var b=K(a,g);return b?[b]:[]}),this.sortEventSegs(b),b},getMoreLinkText:function(a){var b=this.view.opt("eventLimitText");return"function"==typeof b?b(a):"+"+a+" "+b},getCellSegs:function(a,b,c){for(var d,e=this.rowStructs[a].segMatrix,f=c||0,g=[];f<e.length;)d=e[f][b],d&&g.push(d),f++;return g}});var wb=Wa.TimeGrid=tb.extend(ub,{slotDuration:null,snapDuration:null,snapsPerSlot:null,minTime:null,maxTime:null,labelFormat:null,labelInterval:null,colEls:null,slatContainerEl:null,slatEls:null,nowIndicatorEls:null,colCoordCache:null,slatCoordCache:null,constructor:function(){tb.apply(this,arguments),this.processOptions()},renderDates:function(){this.el.html(this.renderHtml()),this.colEls=this.el.find(".fc-day"),this.slatContainerEl=this.el.find(".fc-slats"),this.slatEls=this.slatContainerEl.find("tr"),this.colCoordCache=new pb({els:this.colEls,isHorizontal:!0}),this.slatCoordCache=new pb({els:this.slatEls,isVertical:!0}),this.renderContentSkeleton()},renderHtml:function(){return'<div class="fc-bg"><table>'+this.renderBgTrHtml(0)+'</table></div><div class="fc-slats"><table>'+this.renderSlatRowHtml()+"</table></div>"},renderSlatRowHtml:function(){for(var a,c,d,e=this.view,f=this.isRTL,g="",h=b.duration(+this.minTime);h<this.maxTime;)a=this.start.clone().time(h),c=ha(R(h,this.labelInterval)),d='<td class="fc-axis fc-time '+e.widgetContentClass+'" '+e.axisStyleAttr()+">"+(c?"<span>"+ca(a.format(this.labelFormat))+"</span>":"")+"</td>",g+='<tr data-time="'+a.format("HH:mm:ss")+'"'+(c?"":' class="fc-minor"')+">"+(f?"":d)+'<td class="'+e.widgetContentClass+'"/>'+(f?d:"")+"</tr>",h.add(this.slotDuration);return g},processOptions:function(){var c,d=this.view,e=d.opt("slotDuration"),f=d.opt("snapDuration");e=b.duration(e),f=f?b.duration(f):e,this.slotDuration=e,this.snapDuration=f,this.snapsPerSlot=e/f,this.minResizeDuration=f,this.minTime=b.duration(d.opt("minTime")),this.maxTime=b.duration(d.opt("maxTime")),c=d.opt("slotLabelFormat"),a.isArray(c)&&(c=c[c.length-1]),this.labelFormat=c||d.opt("axisFormat")||d.opt("smallTimeFormat"),c=d.opt("slotLabelInterval"),this.labelInterval=c?b.duration(c):this.computeLabelInterval(e)},computeLabelInterval:function(a){var c,d,e;for(c=Nb.length-1;c>=0;c--)if(d=b.duration(Nb[c]),e=R(d,a),ha(e)&&e>1)return d;return b.duration(a)},computeEventTimeFormat:function(){return this.view.opt("noMeridiemTimeFormat")},computeDisplayEventEnd:function(){return!0},prepareHits:function(){this.colCoordCache.build(),this.slatCoordCache.build()},releaseHits:function(){this.colCoordCache.clear()},queryHit:function(a,b){var c=this.snapsPerSlot,d=this.colCoordCache,e=this.slatCoordCache,f=d.getHorizontalIndex(a),g=e.getVerticalIndex(b);if(null!=f&&null!=g){var h=e.getTopOffset(g),i=e.getHeight(g),j=(b-h)/i,k=Math.floor(j*c),l=g*c+k,m=h+k/c*i,n=h+(k+1)/c*i;return{col:f,snap:l,component:this,left:d.getLeftOffset(f),right:d.getRightOffset(f),top:m,bottom:n}}},getHitSpan:function(a){var b,c=this.getCellDate(0,a.col),d=this.computeSnapTime(a.snap);return c.time(d),b=c.clone().add(this.snapDuration),{start:c,end:b}},getHitEl:function(a){return this.colEls.eq(a.col)},rangeUpdated:function(){this.updateDayTable()},computeSnapTime:function(a){return b.duration(this.minTime+this.snapDuration*a)},spanToSegs:function(a){var b,c=this.sliceRangeByTimes(a);for(b=0;b<c.length;b++)this.isRTL?c[b].col=this.daysPerRow-1-c[b].dayIndex:c[b].col=c[b].dayIndex;return c},sliceRangeByTimes:function(a){var b,c,d,e,f=[];for(c=0;c<this.daysPerRow;c++)d=this.dayDates[c].clone(),e={start:d.clone().time(this.minTime),end:d.clone().time(this.maxTime)},b=K(a,e),b&&(b.dayIndex=c,f.push(b));return f},updateSize:function(a){this.slatCoordCache.build(),a&&this.updateSegVerticals([].concat(this.fgSegs||[],this.bgSegs||[],this.businessSegs||[]))},getTotalSlatHeight:function(){return this.slatContainerEl.outerHeight()},computeDateTop:function(a,c){return this.computeTimeTop(b.duration(a-c.clone().stripTime()))},computeTimeTop:function(a){var b,c,d=this.slatEls.length,e=(a-this.minTime)/this.slotDuration;return e=Math.max(0,e),e=Math.min(d,e),b=Math.floor(e),b=Math.min(b,d-1),c=e-b,this.slatCoordCache.getTopPosition(b)+this.slatCoordCache.getHeight(b)*c},renderDrag:function(a,b){return b?this.renderEventLocationHelper(a,b):void this.renderHighlight(this.eventToSpan(a))},unrenderDrag:function(){this.unrenderHelper(),this.unrenderHighlight()},renderEventResize:function(a,b){return this.renderEventLocationHelper(a,b)},unrenderEventResize:function(){this.unrenderHelper()},renderHelper:function(a,b){return this.renderHelperSegs(this.eventToSegs(a),b)},unrenderHelper:function(){this.unrenderHelperSegs()},renderBusinessHours:function(){var a=this.view.calendar.getBusinessHoursEvents(),b=this.eventsToSegs(a);this.renderBusinessSegs(b)},unrenderBusinessHours:function(){this.unrenderBusinessSegs()},getNowIndicatorUnit:function(){return"minute"},renderNowIndicator:function(b){var c,d=this.spanToSegs({start:b,end:b}),e=this.computeDateTop(b,b),f=[];for(c=0;c<d.length;c++)f.push(a('<div class="fc-now-indicator fc-now-indicator-line"></div>').css("top",e).appendTo(this.colContainerEls.eq(d[c].col))[0]);d.length>0&&f.push(a('<div class="fc-now-indicator fc-now-indicator-arrow"></div>').css("top",e).appendTo(this.el.find(".fc-content-skeleton"))[0]),this.nowIndicatorEls=a(f)},unrenderNowIndicator:function(){this.nowIndicatorEls&&(this.nowIndicatorEls.remove(),this.nowIndicatorEls=null)},renderSelection:function(a){this.view.opt("selectHelper")?this.renderEventLocationHelper(a):this.renderHighlight(a)},unrenderSelection:function(){this.unrenderHelper(),this.unrenderHighlight()},renderHighlight:function(a){this.renderHighlightSegs(this.spanToSegs(a))},unrenderHighlight:function(){this.unrenderHighlightSegs()}});wb.mixin({colContainerEls:null,fgContainerEls:null,bgContainerEls:null,helperContainerEls:null,highlightContainerEls:null,businessContainerEls:null,fgSegs:null,bgSegs:null,helperSegs:null,highlightSegs:null,businessSegs:null,renderContentSkeleton:function(){var b,c,d="";for(b=0;b<this.colCnt;b++)d+='<td><div class="fc-content-col"><div class="fc-event-container fc-helper-container"></div><div class="fc-event-container"></div><div class="fc-highlight-container"></div><div class="fc-bgevent-container"></div><div class="fc-business-container"></div></div></td>';c=a('<div class="fc-content-skeleton"><table><tr>'+d+"</tr></table></div>"),this.colContainerEls=c.find(".fc-content-col"),this.helperContainerEls=c.find(".fc-helper-container"),this.fgContainerEls=c.find(".fc-event-container:not(.fc-helper-container)"),this.bgContainerEls=c.find(".fc-bgevent-container"),this.highlightContainerEls=c.find(".fc-highlight-container"),this.businessContainerEls=c.find(".fc-business-container"),this.bookendCells(c.find("tr")),this.el.append(c)},renderFgSegs:function(a){return a=this.renderFgSegsIntoContainers(a,this.fgContainerEls),this.fgSegs=a,a},unrenderFgSegs:function(){this.unrenderNamedSegs("fgSegs")},renderHelperSegs:function(b,c){var d,e,f,g=[];for(b=this.renderFgSegsIntoContainers(b,this.helperContainerEls),d=0;d<b.length;d++)e=b[d],c&&c.col===e.col&&(f=c.el,e.el.css({left:f.css("left"),right:f.css("right"),"margin-left":f.css("margin-left"),"margin-right":f.css("margin-right")})),g.push(e.el[0]);return this.helperSegs=b,a(g)},unrenderHelperSegs:function(){this.unrenderNamedSegs("helperSegs")},renderBgSegs:function(a){return a=this.renderFillSegEls("bgEvent",a),this.updateSegVerticals(a),this.attachSegsByCol(this.groupSegsByCol(a),this.bgContainerEls),this.bgSegs=a,a},unrenderBgSegs:function(){this.unrenderNamedSegs("bgSegs")},renderHighlightSegs:function(a){a=this.renderFillSegEls("highlight",a),this.updateSegVerticals(a),this.attachSegsByCol(this.groupSegsByCol(a),this.highlightContainerEls),this.highlightSegs=a},unrenderHighlightSegs:function(){this.unrenderNamedSegs("highlightSegs")},renderBusinessSegs:function(a){a=this.renderFillSegEls("businessHours",a),this.updateSegVerticals(a),this.attachSegsByCol(this.groupSegsByCol(a),this.businessContainerEls),this.businessSegs=a},unrenderBusinessSegs:function(){this.unrenderNamedSegs("businessSegs")},groupSegsByCol:function(a){var b,c=[];for(b=0;b<this.colCnt;b++)c.push([]);for(b=0;b<a.length;b++)c[a[b].col].push(a[b]);return c},attachSegsByCol:function(a,b){var c,d,e;for(c=0;c<this.colCnt;c++)for(d=a[c],e=0;e<d.length;e++)b.eq(c).append(d[e].el)},unrenderNamedSegs:function(a){var b,c=this[a];if(c){for(b=0;b<c.length;b++)c[b].el.remove();this[a]=null}},renderFgSegsIntoContainers:function(a,b){var c,d;for(a=this.renderFgSegEls(a),c=this.groupSegsByCol(a),d=0;d<this.colCnt;d++)this.updateFgSegCoords(c[d]);return this.attachSegsByCol(c,b),a},fgSegHtml:function(a,b){var c,d,e,f=this.view,g=a.event,h=f.isEventDraggable(g),i=!b&&a.isStart&&f.isEventResizableFromStart(g),j=!b&&a.isEnd&&f.isEventResizableFromEnd(g),k=this.getSegClasses(a,h,i||j),l=ea(this.getSegSkinCss(a));return k.unshift("fc-time-grid-event","fc-v-event"),f.isMultiDayEvent(g)?(a.isStart||a.isEnd)&&(c=this.getEventTimeText(a),d=this.getEventTimeText(a,"LT"),e=this.getEventTimeText(a,null,!1)):(c=this.getEventTimeText(g),d=this.getEventTimeText(g,"LT"),e=this.getEventTimeText(g,null,!1)),'<a class="'+k.join(" ")+'"'+(g.url?' href="'+ca(g.url)+'"':"")+(l?' style="'+l+'"':"")+'><div class="fc-content">'+(c?'<div class="fc-time" data-start="'+ca(e)+'" data-full="'+ca(d)+'"><span>'+ca(c)+"</span></div>":"")+(g.title?'<div class="fc-title">'+ca(g.title)+"</div>":"")+'</div><div class="fc-bg"/>'+(j?'<div class="fc-resizer fc-end-resizer" />':"")+"</a>"},updateSegVerticals:function(a){this.computeSegVerticals(a),this.assignSegVerticals(a)},computeSegVerticals:function(a){var b,c;for(b=0;b<a.length;b++)c=a[b],c.top=this.computeDateTop(c.start,c.start),c.bottom=this.computeDateTop(c.end,c.start)},assignSegVerticals:function(a){var b,c;for(b=0;b<a.length;b++)c=a[b],c.el.css(this.generateSegVerticalCss(c))},generateSegVerticalCss:function(a){return{top:a.top,bottom:-a.bottom}},updateFgSegCoords:function(a){this.computeSegVerticals(a),this.computeFgSegHorizontals(a),this.assignSegVerticals(a),this.assignFgSegHorizontals(a)},computeFgSegHorizontals:function(a){var b,c,d;if(this.sortEventSegs(a),b=La(a),Ma(b),c=b[0]){for(d=0;d<c.length;d++)Na(c[d]);for(d=0;d<c.length;d++)this.computeFgSegForwardBack(c[d],0,0)}},computeFgSegForwardBack:function(a,b,c){var d,e=a.forwardSegs;if(void 0===a.forwardCoord)for(e.length?(this.sortForwardSegs(e),this.computeFgSegForwardBack(e[0],b+1,c),a.forwardCoord=e[0].backwardCoord):a.forwardCoord=1,a.backwardCoord=a.forwardCoord-(a.forwardCoord-c)/(b+1),d=0;d<e.length;d++)this.computeFgSegForwardBack(e[d],0,a.forwardCoord)},sortForwardSegs:function(a){a.sort(ia(this,"compareForwardSegs"))},compareForwardSegs:function(a,b){return b.forwardPressure-a.forwardPressure||(a.backwardCoord||0)-(b.backwardCoord||0)||this.compareEventSegs(a,b)},assignFgSegHorizontals:function(a){var b,c;for(b=0;b<a.length;b++)c=a[b],c.el.css(this.generateFgSegHorizontalCss(c)),c.bottom-c.top<30&&c.el.addClass("fc-short")},generateFgSegHorizontalCss:function(a){var b,c,d=this.view.opt("slotEventOverlap"),e=a.backwardCoord,f=a.forwardCoord,g=this.generateSegVerticalCss(a);return d&&(f=Math.min(1,e+2*(f-e))),this.isRTL?(b=1-f,c=e):(b=e,c=1-f),g.zIndex=a.level+1,g.left=100*b+"%",g.right=100*c+"%",d&&a.forwardPressure&&(g[this.isRTL?"marginLeft":"marginRight"]=20),g}});var xb=Wa.View=ya.extend(lb,mb,{type:null,name:null,title:null,calendar:null,options:null,el:null,displaying:null,isSkeletonRendered:!1,isEventsRendered:!1,start:null,end:null,intervalStart:null,intervalEnd:null,intervalDuration:null,intervalUnit:null,isRTL:!1,isSelected:!1,selectedEvent:null,eventOrderSpecs:null,widgetHeaderClass:null,widgetContentClass:null,highlightStateClass:null,nextDayThreshold:null,isHiddenDayHash:null,isNowIndicatorRendered:null,initialNowDate:null,initialNowQueriedMs:null,nowIndicatorTimeoutID:null,nowIndicatorIntervalID:null,constructor:function(a,c,d,e){this.calendar=a,this.type=this.name=c,this.options=d,this.intervalDuration=e||b.duration(1,"day"),this.nextDayThreshold=b.duration(this.opt("nextDayThreshold")),this.initThemingProps(),this.initHiddenDays(),this.isRTL=this.opt("isRTL"),this.eventOrderSpecs=G(this.opt("eventOrder")),this.initialize()},initialize:function(){},opt:function(a){return this.options[a]},trigger:function(a,b){var c=this.calendar;return c.trigger.apply(c,[a,b||this].concat(Array.prototype.slice.call(arguments,2),[this]))},setDate:function(a){this.setRange(this.computeRange(a))},setRange:function(b){a.extend(this,b),this.updateTitle()},computeRange:function(a){var b,c,d=O(this.intervalDuration),e=a.clone().startOf(d),f=e.clone().add(this.intervalDuration);return/year|month|week|day/.test(d)?(e.stripTime(),f.stripTime()):(e.hasTime()||(e=this.calendar.time(0)),f.hasTime()||(f=this.calendar.time(0))),b=e.clone(),b=this.skipHiddenDays(b),c=f.clone(),c=this.skipHiddenDays(c,-1,!0),{intervalUnit:d,intervalStart:e,intervalEnd:f,start:b,end:c}},computePrevDate:function(a){return this.massageCurrentDate(a.clone().startOf(this.intervalUnit).subtract(this.intervalDuration),-1)},computeNextDate:function(a){return this.massageCurrentDate(a.clone().startOf(this.intervalUnit).add(this.intervalDuration))},massageCurrentDate:function(a,b){return this.intervalDuration.as("days")<=1&&this.isHiddenDay(a)&&(a=this.skipHiddenDays(a,b),a.startOf("day")),a},updateTitle:function(){this.title=this.computeTitle()},computeTitle:function(){return this.formatRange({start:this.calendar.applyTimezone(this.intervalStart),end:this.calendar.applyTimezone(this.intervalEnd)},this.opt("titleFormat")||this.computeTitleFormat(),this.opt("titleRangeSeparator"))},computeTitleFormat:function(){return"year"==this.intervalUnit?"YYYY":"month"==this.intervalUnit?this.opt("monthYearFormat"):this.intervalDuration.as("days")>1?"ll":"LL"},formatRange:function(a,b,c){var d=a.end;return d.hasTime()||(d=d.clone().subtract(1)),ta(a.start,d,b,c,this.opt("isRTL"))},setElement:function(a){this.el=a,this.bindGlobalHandlers()},removeElement:function(){this.clear(),this.isSkeletonRendered&&(this.unrenderSkeleton(),this.isSkeletonRendered=!1),this.unbindGlobalHandlers(),this.el.remove()},display:function(a){var b=this,c=null;return this.displaying&&(c=this.queryScroll()),this.calendar.freezeContentHeight(),ka(this.clear(),function(){return b.displaying=ka(b.displayView(a),function(){b.forceScroll(b.computeInitialScroll(c)),b.calendar.unfreezeContentHeight(),b.triggerRender()})})},clear:function(){var b=this,c=this.displaying;return c?ka(c,function(){return b.displaying=null,b.clearEvents(),b.clearView()}):a.when()},displayView:function(a){this.isSkeletonRendered||(this.renderSkeleton(),this.isSkeletonRendered=!0),a&&this.setDate(a),this.render&&this.render(),this.renderDates(),this.updateSize(),this.renderBusinessHours(),this.startNowIndicator()},clearView:function(){this.unselect(),this.stopNowIndicator(),this.triggerUnrender(),this.unrenderBusinessHours(),this.unrenderDates(),this.destroy&&this.destroy()},renderSkeleton:function(){},unrenderSkeleton:function(){},renderDates:function(){},unrenderDates:function(){},triggerRender:function(){this.trigger("viewRender",this,this,this.el)},triggerUnrender:function(){this.trigger("viewDestroy",this,this,this.el)},bindGlobalHandlers:function(){this.listenTo(a(document),"mousedown",this.handleDocumentMousedown),this.listenTo(a(document),"touchstart",this.processUnselect)},unbindGlobalHandlers:function(){this.stopListeningTo(a(document))},initThemingProps:function(){var a=this.opt("theme")?"ui":"fc";this.widgetHeaderClass=a+"-widget-header",this.widgetContentClass=a+"-widget-content",this.highlightStateClass=a+"-state-highlight"},renderBusinessHours:function(){},unrenderBusinessHours:function(){},startNowIndicator:function(){var a,c,d,e=this;this.opt("nowIndicator")&&(a=this.getNowIndicatorUnit(),a&&(c=ia(this,"updateNowIndicator"),this.initialNowDate=this.calendar.getNow(),this.initialNowQueriedMs=+new Date,this.renderNowIndicator(this.initialNowDate),this.isNowIndicatorRendered=!0,d=this.initialNowDate.clone().startOf(a).add(1,a)-this.initialNowDate,this.nowIndicatorTimeoutID=setTimeout(function(){e.nowIndicatorTimeoutID=null,c(),d=+b.duration(1,a),d=Math.max(100,d),e.nowIndicatorIntervalID=setInterval(c,d)},d)))},updateNowIndicator:function(){this.isNowIndicatorRendered&&(this.unrenderNowIndicator(),this.renderNowIndicator(this.initialNowDate.clone().add(new Date-this.initialNowQueriedMs)))},stopNowIndicator:function(){this.isNowIndicatorRendered&&(this.nowIndicatorTimeoutID&&(clearTimeout(this.nowIndicatorTimeoutID),this.nowIndicatorTimeoutID=null),this.nowIndicatorIntervalID&&(clearTimeout(this.nowIndicatorIntervalID),this.nowIndicatorIntervalID=null),this.unrenderNowIndicator(),this.isNowIndicatorRendered=!1)},getNowIndicatorUnit:function(){},renderNowIndicator:function(a){},unrenderNowIndicator:function(){},updateSize:function(a){var b;a&&(b=this.queryScroll()),this.updateHeight(a),this.updateWidth(a),this.updateNowIndicator(),a&&this.setScroll(b)},updateWidth:function(a){},updateHeight:function(a){var b=this.calendar;this.setHeight(b.getSuggestedViewHeight(),b.isHeightAuto())},setHeight:function(a,b){},computeInitialScroll:function(a){return 0},queryScroll:function(){},setScroll:function(a){},forceScroll:function(a){var b=this;this.setScroll(a),setTimeout(function(){b.setScroll(a)},0)},displayEvents:function(a){var b=this.queryScroll();this.clearEvents(),this.renderEvents(a),this.isEventsRendered=!0,this.setScroll(b),this.triggerEventRender()},clearEvents:function(){var a;this.isEventsRendered&&(a=this.queryScroll(),this.triggerEventUnrender(),this.destroyEvents&&this.destroyEvents(),this.unrenderEvents(),this.setScroll(a),this.isEventsRendered=!1)},renderEvents:function(a){},unrenderEvents:function(){},triggerEventRender:function(){this.renderedEventSegEach(function(a){this.trigger("eventAfterRender",a.event,a.event,a.el)}),this.trigger("eventAfterAllRender")},triggerEventUnrender:function(){this.renderedEventSegEach(function(a){this.trigger("eventDestroy",a.event,a.event,a.el)})},resolveEventEl:function(b,c){var d=this.trigger("eventRender",b,b,c);return d===!1?c=null:d&&d!==!0&&(c=a(d)),c},showEvent:function(a){this.renderedEventSegEach(function(a){a.el.css("visibility","")},a)},hideEvent:function(a){this.renderedEventSegEach(function(a){a.el.css("visibility","hidden")},a)},renderedEventSegEach:function(a,b){var c,d=this.getEventSegs();for(c=0;c<d.length;c++)b&&d[c].event._id!==b._id||d[c].el&&a.call(this,d[c])},getEventSegs:function(){return[]},isEventDraggable:function(a){var b=a.source||{};return ba(a.startEditable,b.startEditable,this.opt("eventStartEditable"),a.editable,b.editable,this.opt("editable"))},reportEventDrop:function(a,b,c,d,e){var f=this.calendar,g=f.mutateEvent(a,b,c),h=function(){g.undo(),f.reportEventChange()};this.triggerEventDrop(a,g.dateDelta,h,d,e),f.reportEventChange()},triggerEventDrop:function(a,b,c,d,e){this.trigger("eventDrop",d[0],a,b,c,e,{})},reportExternalDrop:function(b,c,d,e,f){var g,h,i=b.eventProps;i&&(g=a.extend({},i,c),h=this.calendar.renderEvent(g,b.stick)[0]),this.triggerExternalDrop(h,c,d,e,f)},triggerExternalDrop:function(a,b,c,d,e){this.trigger("drop",c[0],b.start,d,e),a&&this.trigger("eventReceive",null,a)},renderDrag:function(a,b){},unrenderDrag:function(){},isEventResizableFromStart:function(a){return this.opt("eventResizableFromStart")&&this.isEventResizable(a)},isEventResizableFromEnd:function(a){return this.isEventResizable(a)},isEventResizable:function(a){var b=a.source||{};return ba(a.durationEditable,b.durationEditable,this.opt("eventDurationEditable"),a.editable,b.editable,this.opt("editable"))},reportEventResize:function(a,b,c,d,e){var f=this.calendar,g=f.mutateEvent(a,b,c),h=function(){g.undo(),
-f.reportEventChange()};this.triggerEventResize(a,g.durationDelta,h,d,e),f.reportEventChange()},triggerEventResize:function(a,b,c,d,e){this.trigger("eventResize",d[0],a,b,c,e,{})},select:function(a,b){this.unselect(b),this.renderSelection(a),this.reportSelection(a,b)},renderSelection:function(a){},reportSelection:function(a,b){this.isSelected=!0,this.triggerSelect(a,b)},triggerSelect:function(a,b){this.trigger("select",null,this.calendar.applyTimezone(a.start),this.calendar.applyTimezone(a.end),b)},unselect:function(a){this.isSelected&&(this.isSelected=!1,this.destroySelection&&this.destroySelection(),this.unrenderSelection(),this.trigger("unselect",null,a))},unrenderSelection:function(){},selectEvent:function(a){this.selectedEvent&&this.selectedEvent===a||(this.unselectEvent(),this.renderedEventSegEach(function(a){a.el.addClass("fc-selected")},a),this.selectedEvent=a)},unselectEvent:function(){this.selectedEvent&&(this.renderedEventSegEach(function(a){a.el.removeClass("fc-selected")},this.selectedEvent),this.selectedEvent=null)},isEventSelected:function(a){return this.selectedEvent&&this.selectedEvent._id===a._id},handleDocumentMousedown:function(a){u(a)&&this.processUnselect(a)},processUnselect:function(a){this.processRangeUnselect(a),this.processEventUnselect(a)},processRangeUnselect:function(b){var c;this.isSelected&&this.opt("unselectAuto")&&(c=this.opt("unselectCancel"),c&&a(b.target).closest(c).length||this.unselect(b))},processEventUnselect:function(b){this.selectedEvent&&(a(b.target).closest(".fc-selected").length||this.unselectEvent())},triggerDayClick:function(a,b,c){this.trigger("dayClick",b,this.calendar.applyTimezone(a.start),c)},initHiddenDays:function(){var b,c=this.opt("hiddenDays")||[],d=[],e=0;for(this.opt("weekends")===!1&&c.push(0,6),b=0;7>b;b++)(d[b]=-1!==a.inArray(b,c))||e++;if(!e)throw"invalid hiddenDays";this.isHiddenDayHash=d},isHiddenDay:function(a){return b.isMoment(a)&&(a=a.day()),this.isHiddenDayHash[a]},skipHiddenDays:function(a,b,c){var d=a.clone();for(b=b||1;this.isHiddenDayHash[(d.day()+(c?b:0)+7)%7];)d.add(b,"days");return d},computeDayRange:function(a){var b,c=a.start.clone().stripTime(),d=a.end,e=null;return d&&(e=d.clone().stripTime(),b=+d.time(),b&&b>=this.nextDayThreshold&&e.add(1,"days")),(!d||c>=e)&&(e=c.clone().add(1,"days")),{start:c,end:e}},isMultiDayEvent:function(a){var b=this.computeDayRange(a);return b.end.diff(b.start,"days")>1}}),yb=Wa.Scroller=ya.extend({el:null,scrollEl:null,overflowX:null,overflowY:null,constructor:function(a){a=a||{},this.overflowX=a.overflowX||a.overflow||"auto",this.overflowY=a.overflowY||a.overflow||"auto"},render:function(){this.el=this.renderEl(),this.applyOverflow()},renderEl:function(){return this.scrollEl=a('<div class="fc-scroller"></div>')},clear:function(){this.setHeight("auto"),this.applyOverflow()},destroy:function(){this.el.remove()},applyOverflow:function(){this.scrollEl.css({"overflow-x":this.overflowX,"overflow-y":this.overflowY})},lockOverflow:function(a){var b=this.overflowX,c=this.overflowY;a=a||this.getScrollbarWidths(),"auto"===b&&(b=a.top||a.bottom||this.scrollEl[0].scrollWidth-1>this.scrollEl[0].clientWidth?"scroll":"hidden"),"auto"===c&&(c=a.left||a.right||this.scrollEl[0].scrollHeight-1>this.scrollEl[0].clientHeight?"scroll":"hidden"),this.scrollEl.css({"overflow-x":b,"overflow-y":c})},setHeight:function(a){this.scrollEl.height(a)},getScrollTop:function(){return this.scrollEl.scrollTop()},setScrollTop:function(a){this.scrollEl.scrollTop(a)},getClientWidth:function(){return this.scrollEl[0].clientWidth},getClientHeight:function(){return this.scrollEl[0].clientHeight},getScrollbarWidths:function(){return q(this.scrollEl)}}),zb=Wa.Calendar=ya.extend({dirDefaults:null,langDefaults:null,overrides:null,options:null,viewSpecCache:null,view:null,header:null,loadingLevel:0,constructor:Qa,initialize:function(){},initOptions:function(a){var b,e,f,g;a=d(a),b=a.lang,e=Ab[b],e||(b=zb.defaults.lang,e=Ab[b]||{}),f=ba(a.isRTL,e.isRTL,zb.defaults.isRTL),g=f?zb.rtlDefaults:{},this.dirDefaults=g,this.langDefaults=e,this.overrides=a,this.options=c([zb.defaults,g,e,a]),Ra(this.options),this.viewSpecCache={}},getViewSpec:function(a){var b=this.viewSpecCache;return b[a]||(b[a]=this.buildViewSpec(a))},getUnitViewSpec:function(b){var c,d,e;if(-1!=a.inArray(b,_a))for(c=this.header.getViewsWithButtons(),a.each(Wa.views,function(a){c.push(a)}),d=0;d<c.length;d++)if(e=this.getViewSpec(c[d]),e&&e.singleUnit==b)return e},buildViewSpec:function(a){for(var d,e,f,g,h=this.overrides.views||{},i=[],j=[],k=[],l=a;l;)d=Xa[l],e=h[l],l=null,"function"==typeof d&&(d={"class":d}),d&&(i.unshift(d),j.unshift(d.defaults||{}),f=f||d.duration,l=l||d.type),e&&(k.unshift(e),f=f||e.duration,l=l||e.type);return d=W(i),d.type=a,d["class"]?(f&&(f=b.duration(f),f.valueOf()&&(d.duration=f,g=O(f),1===f.as(g)&&(d.singleUnit=g,k.unshift(h[g]||{})))),d.defaults=c(j),d.overrides=c(k),this.buildViewSpecOptions(d),this.buildViewSpecButtonText(d,a),d):!1},buildViewSpecOptions:function(a){a.options=c([zb.defaults,a.defaults,this.dirDefaults,this.langDefaults,this.overrides,a.overrides]),Ra(a.options)},buildViewSpecButtonText:function(a,b){function c(c){var d=c.buttonText||{};return d[b]||(a.singleUnit?d[a.singleUnit]:null)}a.buttonTextOverride=c(this.overrides)||a.overrides.buttonText,a.buttonTextDefault=c(this.langDefaults)||c(this.dirDefaults)||a.defaults.buttonText||c(zb.defaults)||(a.duration?this.humanizeDuration(a.duration):null)||b},instantiateView:function(a){var b=this.getViewSpec(a);return new b["class"](this,a,b.options,b.duration)},isValidViewType:function(a){return Boolean(this.getViewSpec(a))},pushLoading:function(){this.loadingLevel++||this.trigger("loading",null,!0,this.view)},popLoading:function(){--this.loadingLevel||this.trigger("loading",null,!1,this.view)},buildSelectSpan:function(a,b){var c,d=this.moment(a).stripZone();return c=b?this.moment(b).stripZone():d.hasTime()?d.clone().add(this.defaultTimedEventDuration):d.clone().add(this.defaultAllDayEventDuration),{start:d,end:c}}});zb.mixin(lb),zb.defaults={titleRangeSeparator:" – ",monthYearFormat:"MMMM YYYY",defaultTimedEventDuration:"02:00:00",defaultAllDayEventDuration:{days:1},forceEventDuration:!1,nextDayThreshold:"09:00:00",defaultView:"month",aspectRatio:1.35,header:{left:"title",center:"",right:"today prev,next"},weekends:!0,weekNumbers:!1,weekNumberTitle:"W",weekNumberCalculation:"local",scrollTime:"06:00:00",lazyFetching:!0,startParam:"start",endParam:"end",timezoneParam:"timezone",timezone:!1,isRTL:!1,buttonText:{prev:"prev",next:"next",prevYear:"prev year",nextYear:"next year",year:"year",today:"today",month:"month",week:"week",day:"day"},buttonIcons:{prev:"left-single-arrow",next:"right-single-arrow",prevYear:"left-double-arrow",nextYear:"right-double-arrow"},theme:!1,themeButtonIcons:{prev:"circle-triangle-w",next:"circle-triangle-e",prevYear:"seek-prev",nextYear:"seek-next"},dragOpacity:.75,dragRevertDuration:500,dragScroll:!0,unselectAuto:!0,dropAccept:"*",eventOrder:"title",eventLimit:!1,eventLimitText:"more",eventLimitClick:"popover",dayPopoverFormat:"LL",handleWindowResize:!0,windowResizeDelay:200,longPressDelay:1e3},zb.englishDefaults={dayPopoverFormat:"dddd, MMMM D"},zb.rtlDefaults={header:{left:"next,prev today",center:"",right:"title"},buttonIcons:{prev:"right-single-arrow",next:"left-single-arrow",prevYear:"right-double-arrow",nextYear:"left-double-arrow"},themeButtonIcons:{prev:"circle-triangle-e",next:"circle-triangle-w",nextYear:"seek-prev",prevYear:"seek-next"}};var Ab=Wa.langs={};Wa.datepickerLang=function(b,c,d){var e=Ab[b]||(Ab[b]={});e.isRTL=d.isRTL,e.weekNumberTitle=d.weekHeader,a.each(Bb,function(a,b){e[a]=b(d)}),a.datepicker&&(a.datepicker.regional[c]=a.datepicker.regional[b]=d,a.datepicker.regional.en=a.datepicker.regional[""],a.datepicker.setDefaults(d))},Wa.lang=function(b,d){var e,f;e=Ab[b]||(Ab[b]={}),d&&(e=Ab[b]=c([e,d])),f=Sa(b),a.each(Cb,function(a,b){null==e[a]&&(e[a]=b(f,e))}),zb.defaults.lang=b};var Bb={buttonText:function(a){return{prev:da(a.prevText),next:da(a.nextText),today:da(a.currentText)}},monthYearFormat:function(a){return a.showMonthAfterYear?"YYYY["+a.yearSuffix+"] MMMM":"MMMM YYYY["+a.yearSuffix+"]"}},Cb={dayOfMonthFormat:function(a,b){var c=a.longDateFormat("l");return c=c.replace(/^Y+[^\w\s]*|[^\w\s]*Y+$/g,""),b.isRTL?c+=" ddd":c="ddd "+c,c},mediumTimeFormat:function(a){return a.longDateFormat("LT").replace(/\s*a$/i,"a")},smallTimeFormat:function(a){return a.longDateFormat("LT").replace(":mm","(:mm)").replace(/(\Wmm)$/,"($1)").replace(/\s*a$/i,"a")},extraSmallTimeFormat:function(a){return a.longDateFormat("LT").replace(":mm","(:mm)").replace(/(\Wmm)$/,"($1)").replace(/\s*a$/i,"t")},hourFormat:function(a){return a.longDateFormat("LT").replace(":mm","").replace(/(\Wmm)$/,"").replace(/\s*a$/i,"a")},noMeridiemTimeFormat:function(a){return a.longDateFormat("LT").replace(/\s*a$/i,"")}},Db={smallDayDateFormat:function(a){return a.isRTL?"D dd":"dd D"},weekFormat:function(a){return a.isRTL?"w[ "+a.weekNumberTitle+"]":"["+a.weekNumberTitle+" ]w"},smallWeekFormat:function(a){return a.isRTL?"w["+a.weekNumberTitle+"]":"["+a.weekNumberTitle+"]w"}};Wa.lang("en",zb.englishDefaults),Wa.sourceNormalizers=[],Wa.sourceFetchers=[];var Eb={dataType:"json",cache:!1},Fb=1;zb.prototype.normalizeEvent=function(a){},zb.prototype.getPeerEvents=function(a,b){var c,d,e=this.getEventCache(),f=[];for(c=0;c<e.length;c++)d=e[c],b&&b._id===d._id||f.push(d);return f};var Gb=Wa.BasicView=xb.extend({scroller:null,dayGridClass:vb,dayGrid:null,dayNumbersVisible:!1,weekNumbersVisible:!1,weekNumberWidth:null,headContainerEl:null,headRowEl:null,initialize:function(){this.dayGrid=this.instantiateDayGrid(),this.scroller=new yb({overflowX:"hidden",overflowY:"auto"})},instantiateDayGrid:function(){var a=this.dayGridClass.extend(Hb);return new a(this)},setRange:function(a){xb.prototype.setRange.call(this,a),this.dayGrid.breakOnWeeks=/year|month|week/.test(this.intervalUnit),this.dayGrid.setRange(a)},computeRange:function(a){var b=xb.prototype.computeRange.call(this,a);return/year|month/.test(b.intervalUnit)&&(b.start.startOf("week"),b.start=this.skipHiddenDays(b.start),b.end.weekday()&&(b.end.add(1,"week").startOf("week"),b.end=this.skipHiddenDays(b.end,-1,!0))),b},renderDates:function(){this.dayNumbersVisible=this.dayGrid.rowCnt>1,this.weekNumbersVisible=this.opt("weekNumbers"),this.dayGrid.numbersVisible=this.dayNumbersVisible||this.weekNumbersVisible,this.el.addClass("fc-basic-view").html(this.renderSkeletonHtml()),this.renderHead(),this.scroller.render();var b=this.scroller.el.addClass("fc-day-grid-container"),c=a('<div class="fc-day-grid" />').appendTo(b);this.el.find(".fc-body > tr > td").append(b),this.dayGrid.setElement(c),this.dayGrid.renderDates(this.hasRigidRows())},renderHead:function(){this.headContainerEl=this.el.find(".fc-head-container").html(this.dayGrid.renderHeadHtml()),this.headRowEl=this.headContainerEl.find(".fc-row")},unrenderDates:function(){this.dayGrid.unrenderDates(),this.dayGrid.removeElement(),this.scroller.destroy()},renderBusinessHours:function(){this.dayGrid.renderBusinessHours()},renderSkeletonHtml:function(){return'<table><thead class="fc-head"><tr><td class="fc-head-container '+this.widgetHeaderClass+'"></td></tr></thead><tbody class="fc-body"><tr><td class="'+this.widgetContentClass+'"></td></tr></tbody></table>'},weekNumberStyleAttr:function(){return null!==this.weekNumberWidth?'style="width:'+this.weekNumberWidth+'px"':""},hasRigidRows:function(){var a=this.opt("eventLimit");return a&&"number"!=typeof a},updateWidth:function(){this.weekNumbersVisible&&(this.weekNumberWidth=k(this.el.find(".fc-week-number")))},setHeight:function(a,b){var c,d,g=this.opt("eventLimit");this.scroller.clear(),f(this.headRowEl),this.dayGrid.removeSegPopover(),g&&"number"==typeof g&&this.dayGrid.limitRows(g),c=this.computeScrollerHeight(a),this.setGridHeight(c,b),g&&"number"!=typeof g&&this.dayGrid.limitRows(g),b||(this.scroller.setHeight(c),d=this.scroller.getScrollbarWidths(),(d.left||d.right)&&(e(this.headRowEl,d),c=this.computeScrollerHeight(a),this.scroller.setHeight(c)),this.scroller.lockOverflow(d))},computeScrollerHeight:function(a){return a-l(this.el,this.scroller.el)},setGridHeight:function(a,b){b?j(this.dayGrid.rowEls):i(this.dayGrid.rowEls,a,!0)},queryScroll:function(){return this.scroller.getScrollTop()},setScroll:function(a){this.scroller.setScrollTop(a)},prepareHits:function(){this.dayGrid.prepareHits()},releaseHits:function(){this.dayGrid.releaseHits()},queryHit:function(a,b){return this.dayGrid.queryHit(a,b)},getHitSpan:function(a){return this.dayGrid.getHitSpan(a)},getHitEl:function(a){return this.dayGrid.getHitEl(a)},renderEvents:function(a){this.dayGrid.renderEvents(a),this.updateHeight()},getEventSegs:function(){return this.dayGrid.getEventSegs()},unrenderEvents:function(){this.dayGrid.unrenderEvents()},renderDrag:function(a,b){return this.dayGrid.renderDrag(a,b)},unrenderDrag:function(){this.dayGrid.unrenderDrag()},renderSelection:function(a){this.dayGrid.renderSelection(a)},unrenderSelection:function(){this.dayGrid.unrenderSelection()}}),Hb={renderHeadIntroHtml:function(){var a=this.view;return a.weekNumbersVisible?'<th class="fc-week-number '+a.widgetHeaderClass+'" '+a.weekNumberStyleAttr()+"><span>"+ca(a.opt("weekNumberTitle"))+"</span></th>":""},renderNumberIntroHtml:function(a){var b=this.view;return b.weekNumbersVisible?'<td class="fc-week-number" '+b.weekNumberStyleAttr()+"><span>"+this.getCellDate(a,0).format("w")+"</span></td>":""},renderBgIntroHtml:function(){var a=this.view;return a.weekNumbersVisible?'<td class="fc-week-number '+a.widgetContentClass+'" '+a.weekNumberStyleAttr()+"></td>":""},renderIntroHtml:function(){var a=this.view;return a.weekNumbersVisible?'<td class="fc-week-number" '+a.weekNumberStyleAttr()+"></td>":""}},Ib=Wa.MonthView=Gb.extend({computeRange:function(a){var b,c=Gb.prototype.computeRange.call(this,a);return this.isFixedWeeks()&&(b=Math.ceil(c.end.diff(c.start,"weeks",!0)),c.end.add(6-b,"weeks")),c},setGridHeight:function(a,b){b=b||"variable"===this.opt("weekMode"),b&&(a*=this.rowCnt/6),i(this.dayGrid.rowEls,a,!b)},isFixedWeeks:function(){var a=this.opt("weekMode");return a?"fixed"===a:this.opt("fixedWeekCount")}});Xa.basic={"class":Gb},Xa.basicDay={type:"basic",duration:{days:1}},Xa.basicWeek={type:"basic",duration:{weeks:1}},Xa.month={"class":Ib,duration:{months:1},defaults:{fixedWeekCount:!0}};var Jb=Wa.AgendaView=xb.extend({scroller:null,timeGridClass:wb,timeGrid:null,dayGridClass:vb,dayGrid:null,axisWidth:null,headContainerEl:null,noScrollRowEls:null,bottomRuleEl:null,initialize:function(){this.timeGrid=this.instantiateTimeGrid(),this.opt("allDaySlot")&&(this.dayGrid=this.instantiateDayGrid()),this.scroller=new yb({overflowX:"hidden",overflowY:"auto"})},instantiateTimeGrid:function(){var a=this.timeGridClass.extend(Kb);return new a(this)},instantiateDayGrid:function(){var a=this.dayGridClass.extend(Lb);return new a(this)},setRange:function(a){xb.prototype.setRange.call(this,a),this.timeGrid.setRange(a),this.dayGrid&&this.dayGrid.setRange(a)},renderDates:function(){this.el.addClass("fc-agenda-view").html(this.renderSkeletonHtml()),this.renderHead(),this.scroller.render();var b=this.scroller.el.addClass("fc-time-grid-container"),c=a('<div class="fc-time-grid" />').appendTo(b);this.el.find(".fc-body > tr > td").append(b),this.timeGrid.setElement(c),this.timeGrid.renderDates(),this.bottomRuleEl=a('<hr class="fc-divider '+this.widgetHeaderClass+'"/>').appendTo(this.timeGrid.el),this.dayGrid&&(this.dayGrid.setElement(this.el.find(".fc-day-grid")),this.dayGrid.renderDates(),this.dayGrid.bottomCoordPadding=this.dayGrid.el.next("hr").outerHeight()),this.noScrollRowEls=this.el.find(".fc-row:not(.fc-scroller *)")},renderHead:function(){this.headContainerEl=this.el.find(".fc-head-container").html(this.timeGrid.renderHeadHtml())},unrenderDates:function(){this.timeGrid.unrenderDates(),this.timeGrid.removeElement(),this.dayGrid&&(this.dayGrid.unrenderDates(),this.dayGrid.removeElement()),this.scroller.destroy()},renderSkeletonHtml:function(){return'<table><thead class="fc-head"><tr><td class="fc-head-container '+this.widgetHeaderClass+'"></td></tr></thead><tbody class="fc-body"><tr><td class="'+this.widgetContentClass+'">'+(this.dayGrid?'<div class="fc-day-grid"/><hr class="fc-divider '+this.widgetHeaderClass+'"/>':"")+"</td></tr></tbody></table>"},axisStyleAttr:function(){return null!==this.axisWidth?'style="width:'+this.axisWidth+'px"':""},renderBusinessHours:function(){this.timeGrid.renderBusinessHours(),this.dayGrid&&this.dayGrid.renderBusinessHours()},unrenderBusinessHours:function(){this.timeGrid.unrenderBusinessHours(),this.dayGrid&&this.dayGrid.unrenderBusinessHours()},getNowIndicatorUnit:function(){return this.timeGrid.getNowIndicatorUnit()},renderNowIndicator:function(a){this.timeGrid.renderNowIndicator(a)},unrenderNowIndicator:function(){this.timeGrid.unrenderNowIndicator()},updateSize:function(a){this.timeGrid.updateSize(a),xb.prototype.updateSize.call(this,a)},updateWidth:function(){this.axisWidth=k(this.el.find(".fc-axis"))},setHeight:function(a,b){var c,d,g;this.bottomRuleEl.hide(),this.scroller.clear(),f(this.noScrollRowEls),this.dayGrid&&(this.dayGrid.removeSegPopover(),c=this.opt("eventLimit"),c&&"number"!=typeof c&&(c=Mb),c&&this.dayGrid.limitRows(c)),b||(d=this.computeScrollerHeight(a),this.scroller.setHeight(d),g=this.scroller.getScrollbarWidths(),(g.left||g.right)&&(e(this.noScrollRowEls,g),d=this.computeScrollerHeight(a),this.scroller.setHeight(d)),this.scroller.lockOverflow(g),this.timeGrid.getTotalSlatHeight()<d&&this.bottomRuleEl.show())},computeScrollerHeight:function(a){return a-l(this.el,this.scroller.el)},computeInitialScroll:function(){var a=b.duration(this.opt("scrollTime")),c=this.timeGrid.computeTimeTop(a);return c=Math.ceil(c),c&&c++,c},queryScroll:function(){return this.scroller.getScrollTop()},setScroll:function(a){this.scroller.setScrollTop(a)},prepareHits:function(){this.timeGrid.prepareHits(),this.dayGrid&&this.dayGrid.prepareHits()},releaseHits:function(){this.timeGrid.releaseHits(),this.dayGrid&&this.dayGrid.releaseHits()},queryHit:function(a,b){var c=this.timeGrid.queryHit(a,b);return!c&&this.dayGrid&&(c=this.dayGrid.queryHit(a,b)),c},getHitSpan:function(a){return a.component.getHitSpan(a)},getHitEl:function(a){return a.component.getHitEl(a)},renderEvents:function(a){var b,c,d=[],e=[],f=[];for(c=0;c<a.length;c++)a[c].allDay?d.push(a[c]):e.push(a[c]);b=this.timeGrid.renderEvents(e),this.dayGrid&&(f=this.dayGrid.renderEvents(d)),this.updateHeight()},getEventSegs:function(){return this.timeGrid.getEventSegs().concat(this.dayGrid?this.dayGrid.getEventSegs():[])},unrenderEvents:function(){this.timeGrid.unrenderEvents(),this.dayGrid&&this.dayGrid.unrenderEvents()},renderDrag:function(a,b){return a.start.hasTime()?this.timeGrid.renderDrag(a,b):this.dayGrid?this.dayGrid.renderDrag(a,b):void 0},unrenderDrag:function(){this.timeGrid.unrenderDrag(),this.dayGrid&&this.dayGrid.unrenderDrag()},renderSelection:function(a){a.start.hasTime()||a.end.hasTime()?this.timeGrid.renderSelection(a):this.dayGrid&&this.dayGrid.renderSelection(a)},unrenderSelection:function(){this.timeGrid.unrenderSelection(),this.dayGrid&&this.dayGrid.unrenderSelection()}}),Kb={renderHeadIntroHtml:function(){var a,b=this.view;return b.opt("weekNumbers")?(a=this.start.format(b.opt("smallWeekFormat")),'<th class="fc-axis fc-week-number '+b.widgetHeaderClass+'" '+b.axisStyleAttr()+"><span>"+ca(a)+"</span></th>"):'<th class="fc-axis '+b.widgetHeaderClass+'" '+b.axisStyleAttr()+"></th>"},renderBgIntroHtml:function(){var a=this.view;return'<td class="fc-axis '+a.widgetContentClass+'" '+a.axisStyleAttr()+"></td>"},renderIntroHtml:function(){var a=this.view;return'<td class="fc-axis" '+a.axisStyleAttr()+"></td>"}},Lb={renderBgIntroHtml:function(){var a=this.view;return'<td class="fc-axis '+a.widgetContentClass+'" '+a.axisStyleAttr()+"><span>"+(a.opt("allDayHtml")||ca(a.opt("allDayText")))+"</span></td>"},renderIntroHtml:function(){var a=this.view;return'<td class="fc-axis" '+a.axisStyleAttr()+"></td>"}},Mb=5,Nb=[{hours:1},{minutes:30},{minutes:15},{seconds:30},{seconds:15}];return Xa.agenda={"class":Jb,defaults:{allDaySlot:!0,allDayText:"all-day",slotDuration:"00:30:00",minTime:"00:00:00",maxTime:"24:00:00",slotEventOverlap:!0}},Xa.agendaDay={type:"agenda",duration:{days:1}},Xa.agendaWeek={type:"agenda",duration:{weeks:1}},Wa}); \ No newline at end of file
+!function(t){"function"==typeof define&&define.amd?define(["jquery","moment"],t):"object"==typeof exports?module.exports=t(require("jquery"),require("moment")):t(jQuery,moment)}(function(t,e){function n(t){return q(t,qt)}function i(t,e){e.left&&t.css({"border-left-width":1,"margin-left":e.left-1}),e.right&&t.css({"border-right-width":1,"margin-right":e.right-1})}function r(t){t.css({"margin-left":"","margin-right":"","border-left-width":"","border-right-width":""})}function s(){t("body").addClass("fc-not-allowed")}function o(){t("body").removeClass("fc-not-allowed")}function l(e,n,i){var r=Math.floor(n/e.length),s=Math.floor(n-r*(e.length-1)),o=[],l=[],u=[],d=0;a(e),e.each(function(n,i){var a=n===e.length-1?s:r,c=t(i).outerHeight(!0);c<a?(o.push(i),l.push(c),u.push(t(i).height())):d+=c}),i&&(n-=d,r=Math.floor(n/o.length),s=Math.floor(n-r*(o.length-1))),t(o).each(function(e,n){var i=e===o.length-1?s:r,a=l[e],d=u[e],c=i-(a-d);a<i&&t(n).height(c)})}function a(t){t.height("")}function u(e){var n=0;return e.find("> *").each(function(e,i){var r=t(i).outerWidth();r>n&&(n=r)}),n++,e.width(n),n}function d(t,e){var n,i=t.add(e);return i.css({position:"relative",left:-1}),n=t.outerHeight()-e.outerHeight(),i.css({position:"",left:""}),n}function c(e){var n=e.css("position"),i=e.parents().filter(function(){var e=t(this);return/(auto|scroll)/.test(e.css("overflow")+e.css("overflow-y")+e.css("overflow-x"))}).eq(0);return"fixed"!==n&&i.length?i:t(e[0].ownerDocument||document)}function h(t,e){var n=t.offset(),i=n.left-(e?e.left:0),r=n.top-(e?e.top:0);return{left:i,right:i+t.outerWidth(),top:r,bottom:r+t.outerHeight()}}function f(t,e){var n=t.offset(),i=p(t),r=n.left+y(t,"border-left-width")+i.left-(e?e.left:0),s=n.top+y(t,"border-top-width")+i.top-(e?e.top:0);return{left:r,right:r+t[0].clientWidth,top:s,bottom:s+t[0].clientHeight}}function g(t,e){var n=t.offset(),i=n.left+y(t,"border-left-width")+y(t,"padding-left")-(e?e.left:0),r=n.top+y(t,"border-top-width")+y(t,"padding-top")-(e?e.top:0);return{left:i,right:i+t.width(),top:r,bottom:r+t.height()}}function p(t){var e=t.innerWidth()-t[0].clientWidth,n={left:0,right:0,top:0,bottom:t.innerHeight()-t[0].clientHeight};return v()&&"rtl"==t.css("direction")?n.left=e:n.right=e,n}function v(){return null===Zt&&(Zt=m()),Zt}function m(){var e=t("<div><div/></div>").css({position:"absolute",top:-1e3,left:0,border:0,padding:0,overflow:"scroll",direction:"rtl"}).appendTo("body"),n=e.children(),i=n.offset().left>e.offset().left;return e.remove(),i}function y(t,e){return parseFloat(t.css(e))||0}function S(t){return 1==t.which&&!t.ctrlKey}function w(t){if(void 0!==t.pageX)return t.pageX;var e=t.originalEvent.touches;return e?e[0].pageX:void 0}function E(t){if(void 0!==t.pageY)return t.pageY;var e=t.originalEvent.touches;return e?e[0].pageY:void 0}function D(t){return/^touch/.test(t.type)}function b(t){t.addClass("fc-unselectable").on("selectstart",C)}function C(t){t.preventDefault()}function H(t){return!!window.addEventListener&&(window.addEventListener("scroll",t,!0),!0)}function T(t){return!!window.removeEventListener&&(window.removeEventListener("scroll",t,!0),!0)}function x(t,e){var n={left:Math.max(t.left,e.left),right:Math.min(t.right,e.right),top:Math.max(t.top,e.top),bottom:Math.min(t.bottom,e.bottom)};return n.left<n.right&&n.top<n.bottom&&n}function R(t,e){return{left:Math.min(Math.max(t.left,e.left),e.right),top:Math.min(Math.max(t.top,e.top),e.bottom)}}function I(t){return{left:(t.left+t.right)/2,top:(t.top+t.bottom)/2}}function k(t,e){return{left:t.left-e.left,top:t.top-e.top}}function M(e){var n,i,r=[],s=[];for("string"==typeof e?s=e.split(/\s*,\s*/):"function"==typeof e?s=[e]:t.isArray(e)&&(s=e),n=0;n<s.length;n++)i=s[n],"string"==typeof i?r.push("-"==i.charAt(0)?{field:i.substring(1),order:-1}:{field:i,order:1}):"function"==typeof i&&r.push({func:i});return r}function L(t,e,n){var i,r;for(i=0;i<n.length;i++)if(r=B(t,e,n[i]))return r;return 0}function B(t,e,n){return n.func?n.func(t,e):z(t[n.field],e[n.field])*(n.order||1)}function z(e,n){return e||n?null==n?-1:null==e?1:"string"===t.type(e)||"string"===t.type(n)?String(e).localeCompare(String(n)):e-n:0}function F(t,e){var n,i,r,s,o=t.start,l=t.end,a=e.start,u=e.end;if(l>a&&o<u)return o>=a?(n=o.clone(),r=!0):(n=a.clone(),r=!1),l<=u?(i=l.clone(),s=!0):(i=u.clone(),s=!1),{start:n,end:i,isStart:r,isEnd:s}}function N(t,n){return e.duration({days:t.clone().stripTime().diff(n.clone().stripTime(),"days"),ms:t.time()-n.time()})}function G(t,n){return e.duration({days:t.clone().stripTime().diff(n.clone().stripTime(),"days")})}function A(t,n,i){return e.duration(Math.round(t.diff(n,i,!0)),i)}function O(t,e){var n,i,r;for(n=0;n<Xt.length&&(i=Xt[n],r=V(i,t,e),!(r>=1&&ot(r)));n++);return i}function V(t,n,i){return null!=i?i.diff(n,t,!0):e.isDuration(n)?n.as(t):n.end.diff(n.start,t,!0)}function P(t,e,n){var i;return W(n)?(e-t)/n:(i=n.asMonths(),Math.abs(i)>=1&&ot(i)?e.diff(t,"months",!0)/i:e.diff(t,"days",!0)/n.asDays())}function _(t,e){var n,i;return W(t)||W(e)?t/e:(n=t.asMonths(),i=e.asMonths(),Math.abs(n)>=1&&ot(n)&&Math.abs(i)>=1&&ot(i)?n/i:t.asDays()/e.asDays())}function Y(t,n){var i;return W(t)?e.duration(t*n):(i=t.asMonths(),Math.abs(i)>=1&&ot(i)?e.duration({months:i*n}):e.duration({days:t.asDays()*n}))}function W(t){return Boolean(t.hours()||t.minutes()||t.seconds()||t.milliseconds())}function j(t){return"[object Date]"===Object.prototype.toString.call(t)||t instanceof Date}function U(t){return/^\d+\:\d+(?:\:\d+\.?(?:\d{3})?)?$/.test(t)}function q(t,e){var n,i,r,s,o,l,a={};if(e)for(n=0;n<e.length;n++){for(i=e[n],r=[],s=t.length-1;s>=0;s--)if(o=t[s][i],"object"==typeof o)r.unshift(o);else if(void 0!==o){a[i]=o;break}r.length&&(a[i]=q(r))}for(n=t.length-1;n>=0;n--){l=t[n];for(i in l)i in a||(a[i]=l[i])}return a}function Z(t){var e=function(){};return e.prototype=t,new e}function $(t,e){for(var n in t)X(t,n)&&(e[n]=t[n])}function X(t,e){return Kt.call(t,e)}function K(e){return/undefined|null|boolean|number|string/.test(t.type(e))}function Q(e,n,i){if(t.isFunction(e)&&(e=[e]),e){var r,s;for(r=0;r<e.length;r++)s=e[r].apply(n,i)||s;return s}}function J(){for(var t=0;t<arguments.length;t++)if(void 0!==arguments[t])return arguments[t]}function tt(t){return(t+"").replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/'/g,"&#039;").replace(/"/g,"&quot;").replace(/\n/g,"<br />")}function et(t){return t.replace(/&.*?;/g,"")}function nt(e){var n=[];return t.each(e,function(t,e){null!=e&&n.push(t+":"+e)}),n.join(";")}function it(e){var n=[];return t.each(e,function(t,e){null!=e&&n.push(t+'="'+tt(e)+'"')}),n.join(" ")}function rt(t){return t.charAt(0).toUpperCase()+t.slice(1)}function st(t,e){return t-e}function ot(t){return t%1===0}function lt(t,e){var n=t[e];return function(){return n.apply(t,arguments)}}function at(t,e,n){var i,r,s,o,l,a=function(){var u=+new Date-o;u<e?i=setTimeout(a,e-u):(i=null,n||(l=t.apply(s,r),s=r=null))};return function(){s=this,r=arguments,o=+new Date;var u=n&&!i;return i||(i=setTimeout(a,e)),u&&(l=t.apply(s,r),s=r=null),l}}function ut(e,n){return e&&e.then&&"resolved"!==e.state()?n?e.then(n):void 0:t.when(n())}function dt(n,i,r){var s,o,l,a,u=n[0],d=1==n.length&&"string"==typeof u;return e.isMoment(u)||j(u)||void 0===u?a=e.apply(null,n):(s=!1,o=!1,d?Qt.test(u)?(u+="-01",n=[u],s=!0,o=!0):(l=Jt.exec(u))&&(s=!l[5],o=!0):t.isArray(u)&&(o=!0),a=i||s?e.utc.apply(e,n):e.apply(null,n),s?(a._ambigTime=!0,a._ambigZone=!0):r&&(o?a._ambigZone=!0:d&&a.utcOffset(u))),a._fullCalendar=!0,a}function ct(t,e){return ee.format.call(t,e)}function ht(t,e){return ft(t,yt(e))}function ft(t,e){var n,i="";for(n=0;n<e.length;n++)i+=gt(t,e[n]);return i}function gt(t,e){var n,i;return"string"==typeof e?e:(n=e.token)?ie[n]?ie[n](t):ct(t,n):e.maybe&&(i=ft(t,e.maybe),i.match(/[1-9]/))?i:""}function pt(t,e,n,i,r){var s;return t=jt.moment.parseZone(t),e=jt.moment.parseZone(e),s=t.localeData(),n=s.longDateFormat(n)||n,i=i||" - ",vt(t,e,yt(n),i,r)}function vt(t,e,n,i,r){var s,o,l,a,u=t.clone().stripZone(),d=e.clone().stripZone(),c="",h="",f="",g="",p="";for(o=0;o<n.length&&(s=mt(t,e,u,d,n[o]),s!==!1);o++)c+=s;for(l=n.length-1;l>o&&(s=mt(t,e,u,d,n[l]),s!==!1);l--)h=s+h;for(a=o;a<=l;a++)f+=gt(t,n[a]),g+=gt(e,n[a]);return(f||g)&&(p=r?g+i+f:f+i+g),c+p+h}function mt(t,e,n,i,r){var s,o;return"string"==typeof r?r:!!((s=r.token)&&(o=re[s.charAt(0)],o&&n.isSame(i,o)))&&ct(t,s)}function yt(t){return t in se?se[t]:se[t]=St(t)}function St(t){for(var e,n=[],i=/\[([^\]]*)\]|\(([^\)]*)\)|(LTS|LT|(\w)\4*o?)|([^\w\[\(]+)/g;e=i.exec(t);)e[1]?n.push(e[1]):e[2]?n.push({maybe:St(e[2])}):e[3]?n.push({token:e[3]}):e[5]&&n.push(e[5]);return n}function wt(){}function Et(t,e){var n;return X(e,"constructor")&&(n=e.constructor),"function"!=typeof n&&(n=e.constructor=function(){t.apply(this,arguments)}),n.prototype=Z(t.prototype),$(e,n.prototype),$(t,n),n}function Dt(t,e){$(e,t.prototype)}function bt(t,e){return!t&&!e||!(!t||!e)&&(t.component===e.component&&Ct(t,e)&&Ct(e,t))}function Ct(t,e){for(var n in t)if(!/^(component|left|right|top|bottom)$/.test(n)&&t[n]!==e[n])return!1;return!0}function Ht(t){return{start:t.start.clone(),end:t.end?t.end.clone():null,allDay:t.allDay}}function Tt(t){var e=Rt(t);return"background"===e||"inverse-background"===e}function xt(t){return"inverse-background"===Rt(t)}function Rt(t){return J((t.source||{}).rendering,t.rendering)}function It(t){var e,n,i={};for(e=0;e<t.length;e++)n=t[e],(i[n._id]||(i[n._id]=[])).push(n);return i}function kt(t,e){return t.start-e.start}function Mt(n){var i,r,s,o,l=jt.dataAttrPrefix;return l&&(l+="-"),i=n.data(l+"event")||null,i&&(i="object"==typeof i?t.extend({},i):{},r=i.start,null==r&&(r=i.time),s=i.duration,o=i.stick,delete i.start,delete i.time,delete i.duration,delete i.stick),null==r&&(r=n.data(l+"start")),null==r&&(r=n.data(l+"time")),null==s&&(s=n.data(l+"duration")),null==o&&(o=n.data(l+"stick")),r=null!=r?e.duration(r):null,s=null!=s?e.duration(s):null,o=Boolean(o),{eventProps:i,startTime:r,duration:s,stick:o}}function Lt(t,e){var n,i;for(n=0;n<e.length;n++)if(i=e[n],i.leftCol<=t.rightCol&&i.rightCol>=t.leftCol)return!0;return!1}function Bt(t,e){return t.leftCol-e.leftCol}function zt(t){var e,n,i,r=[];for(e=0;e<t.length;e++){for(n=t[e],i=0;i<r.length&&Gt(n,r[i]).length;i++);n.level=i,(r[i]||(r[i]=[])).push(n)}return r}function Ft(t){var e,n,i,r,s;for(e=0;e<t.length;e++)for(n=t[e],i=0;i<n.length;i++)for(r=n[i],r.forwardSegs=[],s=e+1;s<t.length;s++)Gt(r,t[s],r.forwardSegs)}function Nt(t){var e,n,i=t.forwardSegs,r=0;if(void 0===t.forwardPressure){for(e=0;e<i.length;e++)n=i[e],Nt(n),r=Math.max(r,1+n.forwardPressure);t.forwardPressure=r}}function Gt(t,e,n){n=n||[];for(var i=0;i<e.length;i++)At(t,e[i])&&n.push(e[i]);return n}function At(t,e){return t.bottom>e.top&&t.top<e.bottom}function Ot(n,i){function r(t){t._locale=U}function s(){$?u()&&(g(),d()):o()}function o(){n.addClass("fc"),n.on("click.fc","a[data-goto]",function(e){var n=t(this),i=n.data("goto"),r=j.moment(i.date),s=i.type,o=K.opt("navLink"+rt(s)+"Click");"function"==typeof o?o(r,e):("string"==typeof o&&(s=o),N(r,s))}),j.bindOption("theme",function(t){X=t?"ui":"fc",n.toggleClass("ui-widget",t),n.toggleClass("fc-unthemed",!t)}),j.bindOptions(["isRTL","locale"],function(t){n.toggleClass("fc-ltr",!t),n.toggleClass("fc-rtl",t)}),$=t("<div class='fc-view-container'/>").prependTo(n),q=j.header=new _t(j),l(),d(j.options.defaultView),j.options.handleWindowResize&&(J=at(m,j.options.windowResizeDelay),t(window).resize(J))}function l(){q.render(),q.el&&n.prepend(q.el)}function a(){K&&K.removeElement(),q.removeElement(),$.remove(),n.removeClass("fc fc-ltr fc-rtl fc-unthemed ui-widget"),n.off(".fc"),J&&t(window).unbind("resize",J)}function u(){return n.is(":visible")}function d(e,n){lt++,K&&e&&K.type!==e&&(A(),c()),!K&&e&&(K=j.view=ot[e]||(ot[e]=j.instantiateView(e)),K.setElement(t("<div class='fc-view fc-"+e+"-view' />").appendTo($)),q.activateButton(e)),K&&(tt=K.massageCurrentDate(tt),K.displaying&&tt>=K.intervalStart&&tt<K.intervalEnd||u()&&(K.display(tt,n),O(),H(),T(),E())),O(),lt--}function c(){q.deactivateButton(K.type),K.removeElement(),K=j.view=null}function h(){lt++,A();var t=K.type,e=K.queryScroll();c(),d(t,e),O(),lt--}function f(t){if(u())return t&&p(),lt++,K.updateSize(!0),lt--,!0}function g(){u()&&p()}function p(){var t=j.options.contentHeight,e=j.options.height;Q="number"==typeof t?t:"function"==typeof t?t():"number"==typeof e?e-v():"function"==typeof e?e()-v():"parent"===e?n.parent().height()-v():Math.round($.width()/Math.max(j.options.aspectRatio,.5))}function v(){return q.el?q.el.outerHeight(!0):0}function m(t){!lt&&t.target===window&&K.start&&f(!0)&&K.trigger("windowResize",st)}function y(){D()}function S(t){it(j.getEventSourcesByMatchArray(t))}function w(){u()&&(A(),K.displayEvents(ut),O())}function E(){!j.options.lazyFetching||et(K.start,K.end)?D():w()}function D(){nt(K.start,K.end)}function b(t){ut=t,w()}function C(){w()}function H(){q.updateTitle(K.title)}function T(){var t=j.getNow();t>=K.intervalStart&&t<K.intervalEnd?q.disableButton("today"):q.enableButton("today")}function x(t,e){K.select(j.buildSelectSpan.apply(j,arguments))}function R(){K&&K.unselect()}function I(){tt=K.computePrevDate(tt),d()}function k(){tt=K.computeNextDate(tt),d()}function M(){tt.add(-1,"years"),d()}function L(){tt.add(1,"years"),d()}function B(){tt=j.getNow(),d()}function z(t){tt=j.moment(t).stripZone(),d()}function F(t){tt.add(e.duration(t)),d()}function N(t,e){var n;e=e||"day",n=j.getViewSpec(e)||j.getUnitViewSpec(e),tt=t.clone(),d(n?n.type:null)}function G(){return j.applyTimezone(tt)}function A(){$.css({width:"100%",height:$.height(),overflow:"hidden"})}function O(){$.css({width:"",height:"",overflow:""})}function V(){return j}function P(){return K}function _(t,e){var n;if("string"==typeof t){if(void 0===e)return j.options[t];n={},n[t]=e,Y(n)}else"object"==typeof t&&Y(t)}function Y(t){var e,n=0;for(e in t)j.dynamicOverrides[e]=t[e];j.viewSpecCache={},j.populateOptionsHash();for(e in t)j.triggerOptionHandlers(e),n++;if(1===n){if("height"===e||"contentHeight"===e||"aspectRatio"===e)return void f(!0);if("defaultDate"===e)return;if("businessHours"===e)return void(K&&(K.unrenderBusinessHours(),K.renderBusinessHours()));if("timezone"===e)return j.rezoneArrayEventSources(),void y()}l(),ot={},h()}function W(t,e){var n=Array.prototype.slice.call(arguments,2);if(e=e||st,this.triggerWith(t,e,n),j.options[t])return j.options[t].apply(e,n)}var j=this;j.render=s,j.destroy=a,j.refetchEvents=y,j.refetchEventSources=S,j.reportEvents=b,j.reportEventChange=C,j.rerenderEvents=w,j.changeView=d,j.select=x,j.unselect=R,j.prev=I,j.next=k,j.prevYear=M,j.nextYear=L,j.today=B,j.gotoDate=z,j.incrementDate=F,j.zoomTo=N,j.getDate=G,j.getCalendar=V,j.getView=P,j.option=_,j.trigger=W,j.dynamicOverrides={},j.viewSpecCache={},j.optionHandlers={},j.overrides=t.extend({},i),j.populateOptionsHash();var U;j.bindOptions(["locale","monthNames","monthNamesShort","dayNames","dayNamesShort","firstDay","weekNumberCalculation"],function(t,e,n,i,s,o,l){if("iso"===l&&(l="ISO"),U=Z(Pt(t)),e&&(U._months=e),n&&(U._monthsShort=n),i&&(U._weekdays=i),s&&(U._weekdaysShort=s),null==o&&"ISO"===l&&(o=1),null!=o){var a=Z(U._week);a.dow=o,U._week=a}"ISO"!==l&&"local"!==l&&"function"!=typeof l||(U._fullCalendar_weekCalc=l),tt&&r(tt)}),j.defaultAllDayEventDuration=e.duration(j.options.defaultAllDayEventDuration),j.defaultTimedEventDuration=e.duration(j.options.defaultTimedEventDuration),j.moment=function(){var t;return"local"===j.options.timezone?(t=jt.moment.apply(null,arguments),t.hasTime()&&t.local()):t="UTC"===j.options.timezone?jt.moment.utc.apply(null,arguments):jt.moment.parseZone.apply(null,arguments),r(t),t},j.localizeMoment=r,j.getIsAmbigTimezone=function(){return"local"!==j.options.timezone&&"UTC"!==j.options.timezone},j.applyTimezone=function(t){if(!t.hasTime())return t.clone();var e,n=j.moment(t.toArray()),i=t.time()-n.time();return i&&(e=n.clone().add(i),t.time()-e.time()===0&&(n=e)),n},j.getNow=function(){var t=j.options.now;return"function"==typeof t&&(t=t()),j.moment(t).stripZone()},j.getEventEnd=function(t){return t.end?t.end.clone():j.getDefaultEventEnd(t.allDay,t.start)},j.getDefaultEventEnd=function(t,e){var n=e.clone();return t?n.stripTime().add(j.defaultAllDayEventDuration):n.add(j.defaultTimedEventDuration),j.getIsAmbigTimezone()&&n.stripZone(),n},j.humanizeDuration=function(t){return t.locale(j.options.locale).humanize()},Yt.call(j);var q,$,X,K,Q,J,tt,et=j.isFetchNeeded,nt=j.fetchEvents,it=j.fetchEventSources,st=n[0],ot={},lt=0,ut=[];tt=null!=j.options.defaultDate?j.moment(j.options.defaultDate).stripZone():j.getNow(),j.getSuggestedViewHeight=function(){return void 0===Q&&g(),Q},j.isHeightAuto=function(){return"auto"===j.options.contentHeight||"auto"===j.options.height},j.freezeContentHeight=A,j.unfreezeContentHeight=O,j.initialize()}function Vt(e){t.each(He,function(t,n){null==e[t]&&(e[t]=n(e))})}function Pt(t){return e.localeData(t)||e.localeData("en")}function _t(e){function n(){var n=e.options,s=n.header;f=n.theme?"ui":"fc",s?(h?h.empty():h=this.el=t("<div class='fc-toolbar'/>"),h.append(r("left")).append(r("right")).append(r("center")).append('<div class="fc-clear"/>')):i()}function i(){h&&(h.remove(),h=c.el=null)}function r(n){var i=t('<div class="fc-'+n+'"/>'),r=e.options,s=r.header[n];return s&&t.each(s.split(" "),function(n){var s,o=t(),l=!0;t.each(this.split(","),function(n,i){var s,a,u,d,c,h,p,v,m,y;"title"==i?(o=o.add(t("<h2>&nbsp;</h2>")),l=!1):((s=(r.customButtons||{})[i])?(u=function(t){s.click&&s.click.call(y[0],t)},d="",c=s.text):(a=e.getViewSpec(i))?(u=function(){e.changeView(i)},g.push(i),d=a.buttonTextOverride,c=a.buttonTextDefault):e[i]&&(u=function(){e[i]()},d=(e.overrides.buttonText||{})[i],c=r.buttonText[i]),u&&(h=s?s.themeIcon:r.themeButtonIcons[i],p=s?s.icon:r.buttonIcons[i],v=d?tt(d):h&&r.theme?"<span class='ui-icon ui-icon-"+h+"'></span>":p&&!r.theme?"<span class='fc-icon fc-icon-"+p+"'></span>":tt(c),m=["fc-"+i+"-button",f+"-button",f+"-state-default"],y=t('<button type="button" class="'+m.join(" ")+'">'+v+"</button>").click(function(t){y.hasClass(f+"-state-disabled")||(u(t),(y.hasClass(f+"-state-active")||y.hasClass(f+"-state-disabled"))&&y.removeClass(f+"-state-hover"))}).mousedown(function(){y.not("."+f+"-state-active").not("."+f+"-state-disabled").addClass(f+"-state-down")}).mouseup(function(){y.removeClass(f+"-state-down")}).hover(function(){y.not("."+f+"-state-active").not("."+f+"-state-disabled").addClass(f+"-state-hover")},function(){y.removeClass(f+"-state-hover").removeClass(f+"-state-down")}),o=o.add(y)))}),l&&o.first().addClass(f+"-corner-left").end().last().addClass(f+"-corner-right").end(),o.length>1?(s=t("<div/>"),l&&s.addClass("fc-button-group"),s.append(o),i.append(s)):i.append(o)}),i}function s(t){h&&h.find("h2").text(t)}function o(t){h&&h.find(".fc-"+t+"-button").addClass(f+"-state-active")}function l(t){h&&h.find(".fc-"+t+"-button").removeClass(f+"-state-active")}function a(t){h&&h.find(".fc-"+t+"-button").prop("disabled",!0).addClass(f+"-state-disabled")}function u(t){h&&h.find(".fc-"+t+"-button").prop("disabled",!1).removeClass(f+"-state-disabled")}function d(){return g}var c=this;c.render=n,c.removeElement=i,c.updateTitle=s,c.activateButton=o,c.deactivateButton=l,c.disableButton=a,c.enableButton=u,c.getViewsWithButtons=d,c.el=null;var h,f,g=[]}function Yt(){function n(t,e){return!O||t<O||e>V}function i(t,e){O=t,V=e,r(Y,"reset")}function r(t,e){var n,i;for("reset"===e?j=[]:"add"!==e&&(j=w(j,t)),n=0;n<t.length;n++)i=t[n],"pending"!==i._status&&W++,i._fetchId=(i._fetchId||0)+1,i._status="pending";for(n=0;n<t.length;n++)i=t[n],s(i,i._fetchId)}function s(e,n){a(e,function(i){var r,s,o,a=t.isArray(e.events);if(n===e._fetchId&&"rejected"!==e._status){if(e._status="resolved",i)for(r=0;r<i.length;r++)s=i[r],o=a?s:R(s,e),o&&j.push.apply(j,L(o));l()}})}function o(t){var e="pending"===t._status;t._status="rejected",e&&l()}function l(){W--,W||P(j)}function a(e,n){var i,r,s=jt.sourceFetchers;for(i=0;i<s.length;i++){if(r=s[i].call(F,e,O.clone(),V.clone(),F.options.timezone,n),r===!0)return;if("object"==typeof r)return void a(r,n)}var o=e.events;if(o)t.isFunction(o)?(F.pushLoading(),o.call(F,O.clone(),V.clone(),F.options.timezone,function(t){n(t),F.popLoading()})):t.isArray(o)?n(o):n();else{var l=e.url;if(l){var u,d=e.success,c=e.error,h=e.complete;u=t.isFunction(e.data)?e.data():e.data;var f=t.extend({},u||{}),g=J(e.startParam,F.options.startParam),p=J(e.endParam,F.options.endParam),v=J(e.timezoneParam,F.options.timezoneParam);g&&(f[g]=O.format()),p&&(f[p]=V.format()),F.options.timezone&&"local"!=F.options.timezone&&(f[v]=F.options.timezone),F.pushLoading(),t.ajax(t.extend({},Te,e,{data:f,success:function(e){e=e||[];var i=Q(d,this,arguments);t.isArray(i)&&(e=i),n(e)},error:function(){Q(c,this,arguments),n()},complete:function(){Q(h,this,arguments),F.popLoading()}}))}else n()}}function u(t){var e=d(t);e&&(Y.push(e),r([e],"add"))}function d(e){var n,i,r=jt.sourceNormalizers;if(t.isFunction(e)||t.isArray(e)?n={events:e}:"string"==typeof e?n={url:e}:"object"==typeof e&&(n=t.extend({},e)),n){for(n.className?"string"==typeof n.className&&(n.className=n.className.split(/\s+/)):n.className=[],t.isArray(n.events)&&(n.origArray=n.events,n.events=t.map(n.events,function(t){return R(t,n)})),i=0;i<r.length;i++)r[i].call(F,n);return n}}function c(t){f(m(t))}function h(t){null==t?f(Y,!0):f(v(t))}function f(e,n){var i;for(i=0;i<e.length;i++)o(e[i]);n?(Y=[],j=[]):(Y=t.grep(Y,function(t){for(i=0;i<e.length;i++)if(t===e[i])return!1;return!0}),j=w(j,e)),P(j)}function g(){return Y.slice(1)}function p(e){return t.grep(Y,function(t){return t.id&&t.id===e})[0]}function v(e){e?t.isArray(e)||(e=[e]):e=[];var n,i=[];for(n=0;n<e.length;n++)i.push.apply(i,m(e[n]));return i}function m(e){var n,i;for(n=0;n<Y.length;n++)if(i=Y[n],i===e)return[i];return i=p(e),i?[i]:t.grep(Y,function(t){return y(e,t)})}function y(t,e){return t&&e&&S(t)==S(e)}function S(t){return("object"==typeof t?t.origArray||t.googleCalendarId||t.url||t.events:null)||t}function w(e,n){return t.grep(e,function(t){for(var e=0;e<n.length;e++)if(t.source===n[e])return!1;return!0})}function E(t){t.start=F.moment(t.start),t.end?t.end=F.moment(t.end):t.end=null,B(t,D(t)),P(j)}function D(e){var n={};return t.each(e,function(t,e){b(t)&&void 0!==e&&K(e)&&(n[t]=e)}),n}function b(t){return!/^_|^(id|allDay|start|end)$/.test(t)}function C(t,e){var n,i,r,s=R(t);if(s){for(n=L(s),i=0;i<n.length;i++)r=n[i],r.source||(e&&(_.events.push(r),r.source=_),j.push(r));return P(j),n}return[]}function H(e){var n,i;for(null==e?e=function(){return!0}:t.isFunction(e)||(n=e+"",e=function(t){return t._id==n}),j=t.grep(j,e,!0),i=0;i<Y.length;i++)t.isArray(Y[i].events)&&(Y[i].events=t.grep(Y[i].events,e,!0));P(j)}function T(e){return t.isFunction(e)?t.grep(j,e):null!=e?(e+="",t.grep(j,function(t){return t._id==e})):j}function x(t){t.start=F.moment(t.start),t.end&&(t.end=F.moment(t.end)),Wt(t)}function R(n,i){var r,s,o,l={};if(F.options.eventDataTransform&&(n=F.options.eventDataTransform(n)),i&&i.eventDataTransform&&(n=i.eventDataTransform(n)),t.extend(l,n),i&&(l.source=i),l._id=n._id||(void 0===n.id?"_fc"+xe++:n.id+""),n.className?"string"==typeof n.className?l.className=n.className.split(/\s+/):l.className=n.className:l.className=[],r=n.start||n.date,s=n.end,U(r)&&(r=e.duration(r)),U(s)&&(s=e.duration(s)),n.dow||e.isDuration(r)||e.isDuration(s))l.start=r?e.duration(r):null,l.end=s?e.duration(s):null,l._recurring=!0;else{if(r&&(r=F.moment(r),!r.isValid()))return!1;s&&(s=F.moment(s),s.isValid()||(s=null)),o=n.allDay,void 0===o&&(o=J(i?i.allDayDefault:void 0,F.options.allDayDefault)),I(r,s,o,l)}return F.normalizeEvent(l),l}function I(t,e,n,i){i.start=t,i.end=e,i.allDay=n,k(i),Wt(i)}function k(t){M(t),t.end&&!t.end.isAfter(t.start)&&(t.end=null),t.end||(F.options.forceEventDuration?t.end=F.getDefaultEventEnd(t.allDay,t.start):t.end=null)}function M(t){null==t.allDay&&(t.allDay=!(t.start.hasTime()||t.end&&t.end.hasTime())),t.allDay?(t.start.stripTime(),t.end&&t.end.stripTime()):(t.start.hasTime()||(t.start=F.applyTimezone(t.start.time(0))),t.end&&!t.end.hasTime()&&(t.end=F.applyTimezone(t.end.time(0))))}function L(e,n,i){var r,s,o,l,a,u,d,c,h,f=[];if(n=n||O,i=i||V,e)if(e._recurring){if(s=e.dow)for(r={},o=0;o<s.length;o++)r[s[o]]=!0;for(l=n.clone().stripTime();l.isBefore(i);)r&&!r[l.day()]||(a=e.start,u=e.end,d=l.clone(),c=null,a&&(d=d.time(a)),u&&(c=l.clone().time(u)),h=t.extend({},e),I(d,c,!a&&!u,h),f.push(h)),l.add(1,"days")}else f.push(e);return f}function B(e,n,i){function r(t,e){return i?A(t,e,i):n.allDay?G(t,e):N(t,e)}var s,o,l,a,u,d,c={};return n=n||{},n.start||(n.start=e.start.clone()),void 0===n.end&&(n.end=e.end?e.end.clone():null),null==n.allDay&&(n.allDay=e.allDay),k(n),s={start:e._start.clone(),end:e._end?e._end.clone():F.getDefaultEventEnd(e._allDay,e._start),allDay:n.allDay},k(s),o=null!==e._end&&null===n.end,l=r(n.start,s.start),n.end?(a=r(n.end,s.end),u=a.subtract(l)):u=null,t.each(n,function(t,e){b(t)&&void 0!==e&&(c[t]=e)}),d=z(T(e._id),o,n.allDay,l,u,c),{dateDelta:l,durationDelta:u,undo:d}}function z(e,n,i,r,s,o){var l=F.getIsAmbigTimezone(),a=[];return r&&!r.valueOf()&&(r=null),s&&!s.valueOf()&&(s=null),t.each(e,function(e,u){var d,c;d={start:u.start.clone(),end:u.end?u.end.clone():null,allDay:u.allDay},t.each(o,function(t){d[t]=u[t]}),c={start:u._start,end:u._end,allDay:i},k(c),n?c.end=null:s&&!c.end&&(c.end=F.getDefaultEventEnd(c.allDay,c.start)),r&&(c.start.add(r),c.end&&c.end.add(r)),s&&c.end.add(s),l&&!c.allDay&&(r||s)&&(c.start.stripZone(),c.end&&c.end.stripZone()),t.extend(u,o,c),Wt(u),a.push(function(){t.extend(u,d),Wt(u)})}),function(){for(var t=0;t<a.length;t++)a[t]()}}var F=this;F.isFetchNeeded=n,F.fetchEvents=i,F.fetchEventSources=r,F.getEventSources=g,F.getEventSourceById=p,F.getEventSourcesByMatchArray=v,F.getEventSourcesByMatch=m,F.addEventSource=u,F.removeEventSource=c,F.removeEventSources=h,F.updateEvent=E,F.renderEvent=C,F.removeEvents=H,F.clientEvents=T,F.mutateEvent=B,F.normalizeEventDates=k,F.normalizeEventTimes=M;var O,V,P=F.reportEvents,_={events:[]},Y=[_],W=0,j=[];t.each((F.options.events?[F.options.events]:[]).concat(F.options.eventSources||[]),function(t,e){var n=d(e);n&&Y.push(n)}),F.rezoneArrayEventSources=function(){var e,n,i;for(e=0;e<Y.length;e++)if(n=Y[e].events,t.isArray(n))for(i=0;i<n.length;i++)x(n[i])},F.buildEventFromInput=R,F.expandEvent=L,F.getEventCache=function(){return j}}function Wt(t){t._allDay=t.allDay,t._start=t.start.clone(),t._end=t.end?t.end.clone():null}var jt=t.fullCalendar={version:"3.0.1",internalApiVersion:6},Ut=jt.views={};t.fn.fullCalendar=function(e){var n=Array.prototype.slice.call(arguments,1),i=this;return this.each(function(r,s){var o,l=t(s),a=l.data("fullCalendar");"string"==typeof e?a&&t.isFunction(a[e])&&(o=a[e].apply(a,n),r||(i=o),"destroy"===e&&l.removeData("fullCalendar")):a||(a=new Ee(l,e),l.data("fullCalendar",a),a.render())}),i};var qt=["header","buttonText","buttonIcons","themeButtonIcons"];jt.intersectRanges=F,jt.applyAll=Q,jt.debounce=at,jt.isInt=ot,jt.htmlEscape=tt,jt.cssToStr=nt,jt.proxy=lt,jt.capitaliseFirstLetter=rt,jt.getOuterRect=h,jt.getClientRect=f,jt.getContentRect=g,jt.getScrollbarWidths=p;var Zt=null;jt.preventDefault=C,jt.intersectRects=x,jt.parseFieldSpecs=M,jt.compareByFieldSpecs=L,jt.compareByFieldSpec=B,jt.flexibleCompare=z,jt.computeIntervalUnit=O,jt.divideRangeByDuration=P,jt.divideDurationByDuration=_,jt.multiplyDuration=Y,jt.durationHasTime=W;var $t=["sun","mon","tue","wed","thu","fri","sat"],Xt=["year","month","week","day","hour","minute","second","millisecond"];jt.log=function(){var t=window.console;if(t&&t.log)return t.log.apply(t,arguments)},jt.warn=function(){var t=window.console;return t&&t.warn?t.warn.apply(t,arguments):jt.log.apply(jt,arguments)};var Kt={}.hasOwnProperty,Qt=/^\s*\d{4}-\d\d$/,Jt=/^\s*\d{4}-(?:(\d\d-\d\d)|(W\d\d$)|(W\d\d-\d)|(\d\d\d))((T| )(\d\d(:\d\d(:\d\d(\.\d+)?)?)?)?)?$/,te=e.fn,ee=t.extend({},te),ne=e.momentProperties;ne.push("_fullCalendar"),ne.push("_ambigTime"),ne.push("_ambigZone"),jt.moment=function(){return dt(arguments)},jt.moment.utc=function(){var t=dt(arguments,!0);return t.hasTime()&&t.utc(),t},jt.moment.parseZone=function(){return dt(arguments,!0,!0)},te.week=te.weeks=function(t){var e=this._locale._fullCalendar_weekCalc;return null==t&&"function"==typeof e?e(this):"ISO"===e?ee.isoWeek.apply(this,arguments):ee.week.apply(this,arguments)},te.time=function(t){if(!this._fullCalendar)return ee.time.apply(this,arguments);if(null==t)return e.duration({hours:this.hours(),minutes:this.minutes(),seconds:this.seconds(),milliseconds:this.milliseconds()});this._ambigTime=!1,e.isDuration(t)||e.isMoment(t)||(t=e.duration(t));var n=0;return e.isDuration(t)&&(n=24*Math.floor(t.asDays())),this.hours(n+t.hours()).minutes(t.minutes()).seconds(t.seconds()).milliseconds(t.milliseconds())},te.stripTime=function(){return this._ambigTime||(this.utc(!0),this.set({hours:0,minutes:0,seconds:0,ms:0}),this._ambigTime=!0,this._ambigZone=!0),this},te.hasTime=function(){return!this._ambigTime},te.stripZone=function(){var t;return this._ambigZone||(t=this._ambigTime,this.utc(!0),this._ambigTime=t||!1,this._ambigZone=!0),this},te.hasZone=function(){return!this._ambigZone},te.local=function(t){return ee.local.call(this,this._ambigZone||t),this._ambigTime=!1,this._ambigZone=!1,this},te.utc=function(t){return ee.utc.call(this,t),this._ambigTime=!1,this._ambigZone=!1,this},te.utcOffset=function(t){return null!=t&&(this._ambigTime=!1,this._ambigZone=!1),ee.utcOffset.apply(this,arguments)},te.format=function(){return this._fullCalendar&&arguments[0]?ht(this,arguments[0]):this._ambigTime?ct(this,"YYYY-MM-DD"):this._ambigZone?ct(this,"YYYY-MM-DD[T]HH:mm:ss"):ee.format.apply(this,arguments)},te.toISOString=function(){return this._ambigTime?ct(this,"YYYY-MM-DD"):this._ambigZone?ct(this,"YYYY-MM-DD[T]HH:mm:ss"):ee.toISOString.apply(this,arguments)};var ie={t:function(t){return ct(t,"a").charAt(0)},T:function(t){return ct(t,"A").charAt(0)}};jt.formatRange=pt;var re={Y:"year",M:"month",D:"day",d:"day",A:"second",a:"second",T:"second",t:"second",H:"second",h:"second",m:"second",s:"second"},se={},oe={Y:{value:1,unit:"year"},M:{value:2,unit:"month"},W:{value:3,unit:"week"},w:{value:3,unit:"week"},D:{value:4,unit:"day"},d:{value:4,unit:"day"}};jt.queryMostGranularFormatUnit=function(t){var e,n,i,r,s=yt(t);for(e=0;e<s.length;e++)n=s[e],n.token&&(i=oe[n.token.charAt(0)],i&&(!r||i.value>r.value)&&(r=i));return r?r.unit:null},jt.Class=wt,wt.extend=function(){var t,e,n=arguments.length;for(t=0;t<n;t++)e=arguments[t],t<n-1&&Dt(this,e);return Et(this,e||{})},wt.mixin=function(t){Dt(this,t)};var le=jt.EmitterMixin={on:function(e,n){var i=function(t,e){return n.apply(e.context||this,e.args||[])};return n.guid||(n.guid=t.guid++),i.guid=n.guid,t(this).on(e,i),this},off:function(e,n){return t(this).off(e,n),this},trigger:function(e){var n=Array.prototype.slice.call(arguments,1);return t(this).triggerHandler(e,{args:n}),this},triggerWith:function(e,n,i){return t(this).triggerHandler(e,{context:n,args:i}),this}},ae=jt.ListenerMixin=function(){var e=0,n={listenerId:null,listenTo:function(e,n,i){if("object"==typeof n)for(var r in n)n.hasOwnProperty(r)&&this.listenTo(e,r,n[r]);else"string"==typeof n&&e.on(n+"."+this.getListenerNamespace(),t.proxy(i,this))},stopListeningTo:function(t,e){t.off((e||"")+"."+this.getListenerNamespace())},getListenerNamespace:function(){return null==this.listenerId&&(this.listenerId=e++),"_listener"+this.listenerId}};return n}(),ue={isIgnoringMouse:!1,delayUnignoreMouse:null,initMouseIgnoring:function(t){this.delayUnignoreMouse=at(lt(this,"unignoreMouse"),t||1e3)},tempIgnoreMouse:function(){this.isIgnoringMouse=!0,this.delayUnignoreMouse()},unignoreMouse:function(){this.isIgnoringMouse=!1}},de=wt.extend(ae,{isHidden:!0,options:null,el:null,margin:10,constructor:function(t){this.options=t||{}},show:function(){
+this.isHidden&&(this.el||this.render(),this.el.show(),this.position(),this.isHidden=!1,this.trigger("show"))},hide:function(){this.isHidden||(this.el.hide(),this.isHidden=!0,this.trigger("hide"))},render:function(){var e=this,n=this.options;this.el=t('<div class="fc-popover"/>').addClass(n.className||"").css({top:0,left:0}).append(n.content).appendTo(n.parentEl),this.el.on("click",".fc-close",function(){e.hide()}),n.autoHide&&this.listenTo(t(document),"mousedown",this.documentMousedown)},documentMousedown:function(e){this.el&&!t(e.target).closest(this.el).length&&this.hide()},removeElement:function(){this.hide(),this.el&&(this.el.remove(),this.el=null),this.stopListeningTo(t(document),"mousedown")},position:function(){var e,n,i,r,s,o=this.options,l=this.el.offsetParent().offset(),a=this.el.outerWidth(),u=this.el.outerHeight(),d=t(window),h=c(this.el);r=o.top||0,s=void 0!==o.left?o.left:void 0!==o.right?o.right-a:0,h.is(window)||h.is(document)?(h=d,e=0,n=0):(i=h.offset(),e=i.top,n=i.left),e+=d.scrollTop(),n+=d.scrollLeft(),o.viewportConstrain!==!1&&(r=Math.min(r,e+h.outerHeight()-u-this.margin),r=Math.max(r,e+this.margin),s=Math.min(s,n+h.outerWidth()-a-this.margin),s=Math.max(s,n+this.margin)),this.el.css({top:r-l.top,left:s-l.left})},trigger:function(t){this.options[t]&&this.options[t].apply(this,Array.prototype.slice.call(arguments,1))}}),ce=jt.CoordCache=wt.extend({els:null,forcedOffsetParentEl:null,origin:null,boundingRect:null,isHorizontal:!1,isVertical:!1,lefts:null,rights:null,tops:null,bottoms:null,constructor:function(e){this.els=t(e.els),this.isHorizontal=e.isHorizontal,this.isVertical=e.isVertical,this.forcedOffsetParentEl=e.offsetParent?t(e.offsetParent):null},build:function(){var t=this.forcedOffsetParentEl||this.els.eq(0).offsetParent();this.origin=t.offset(),this.boundingRect=this.queryBoundingRect(),this.isHorizontal&&this.buildElHorizontals(),this.isVertical&&this.buildElVerticals()},clear:function(){this.origin=null,this.boundingRect=null,this.lefts=null,this.rights=null,this.tops=null,this.bottoms=null},ensureBuilt:function(){this.origin||this.build()},buildElHorizontals:function(){var e=[],n=[];this.els.each(function(i,r){var s=t(r),o=s.offset().left,l=s.outerWidth();e.push(o),n.push(o+l)}),this.lefts=e,this.rights=n},buildElVerticals:function(){var e=[],n=[];this.els.each(function(i,r){var s=t(r),o=s.offset().top,l=s.outerHeight();e.push(o),n.push(o+l)}),this.tops=e,this.bottoms=n},getHorizontalIndex:function(t){this.ensureBuilt();var e,n=this.lefts,i=this.rights,r=n.length;for(e=0;e<r;e++)if(t>=n[e]&&t<i[e])return e},getVerticalIndex:function(t){this.ensureBuilt();var e,n=this.tops,i=this.bottoms,r=n.length;for(e=0;e<r;e++)if(t>=n[e]&&t<i[e])return e},getLeftOffset:function(t){return this.ensureBuilt(),this.lefts[t]},getLeftPosition:function(t){return this.ensureBuilt(),this.lefts[t]-this.origin.left},getRightOffset:function(t){return this.ensureBuilt(),this.rights[t]},getRightPosition:function(t){return this.ensureBuilt(),this.rights[t]-this.origin.left},getWidth:function(t){return this.ensureBuilt(),this.rights[t]-this.lefts[t]},getTopOffset:function(t){return this.ensureBuilt(),this.tops[t]},getTopPosition:function(t){return this.ensureBuilt(),this.tops[t]-this.origin.top},getBottomOffset:function(t){return this.ensureBuilt(),this.bottoms[t]},getBottomPosition:function(t){return this.ensureBuilt(),this.bottoms[t]-this.origin.top},getHeight:function(t){return this.ensureBuilt(),this.bottoms[t]-this.tops[t]},queryBoundingRect:function(){var t=c(this.els.eq(0));if(!t.is(document))return f(t)},isPointInBounds:function(t,e){return this.isLeftInBounds(t)&&this.isTopInBounds(e)},isLeftInBounds:function(t){return!this.boundingRect||t>=this.boundingRect.left&&t<this.boundingRect.right},isTopInBounds:function(t){return!this.boundingRect||t>=this.boundingRect.top&&t<this.boundingRect.bottom}}),he=jt.DragListener=wt.extend(ae,ue,{options:null,subjectEl:null,originX:null,originY:null,scrollEl:null,isInteracting:!1,isDistanceSurpassed:!1,isDelayEnded:!1,isDragging:!1,isTouch:!1,delay:null,delayTimeoutId:null,minDistance:null,handleTouchScrollProxy:null,constructor:function(t){this.options=t||{},this.handleTouchScrollProxy=lt(this,"handleTouchScroll"),this.initMouseIgnoring(500)},startInteraction:function(e,n){var i=D(e);if("mousedown"===e.type){if(this.isIgnoringMouse)return;if(!S(e))return;e.preventDefault()}this.isInteracting||(n=n||{},this.delay=J(n.delay,this.options.delay,0),this.minDistance=J(n.distance,this.options.distance,0),this.subjectEl=this.options.subjectEl,this.isInteracting=!0,this.isTouch=i,this.isDelayEnded=!1,this.isDistanceSurpassed=!1,this.originX=w(e),this.originY=E(e),this.scrollEl=c(t(e.target)),this.bindHandlers(),this.initAutoScroll(),this.handleInteractionStart(e),this.startDelay(e),this.minDistance||this.handleDistanceSurpassed(e))},handleInteractionStart:function(t){this.trigger("interactionStart",t)},endInteraction:function(t,e){this.isInteracting&&(this.endDrag(t),this.delayTimeoutId&&(clearTimeout(this.delayTimeoutId),this.delayTimeoutId=null),this.destroyAutoScroll(),this.unbindHandlers(),this.isInteracting=!1,this.handleInteractionEnd(t,e),this.isTouch&&this.tempIgnoreMouse())},handleInteractionEnd:function(t,e){this.trigger("interactionEnd",t,e||!1)},bindHandlers:function(){var e=this,n=1;this.isTouch?(this.listenTo(t(document),{touchmove:this.handleTouchMove,touchend:this.endInteraction,touchcancel:this.endInteraction,touchstart:function(t){n?n--:e.endInteraction(t,!0)}}),!H(this.handleTouchScrollProxy)&&this.scrollEl&&this.listenTo(this.scrollEl,"scroll",this.handleTouchScroll)):this.listenTo(t(document),{mousemove:this.handleMouseMove,mouseup:this.endInteraction}),this.listenTo(t(document),{selectstart:C,contextmenu:C})},unbindHandlers:function(){this.stopListeningTo(t(document)),T(this.handleTouchScrollProxy),this.scrollEl&&this.stopListeningTo(this.scrollEl,"scroll")},startDrag:function(t,e){this.startInteraction(t,e),this.isDragging||(this.isDragging=!0,this.handleDragStart(t))},handleDragStart:function(t){this.trigger("dragStart",t)},handleMove:function(t){var e,n=w(t)-this.originX,i=E(t)-this.originY,r=this.minDistance;this.isDistanceSurpassed||(e=n*n+i*i,e>=r*r&&this.handleDistanceSurpassed(t)),this.isDragging&&this.handleDrag(n,i,t)},handleDrag:function(t,e,n){this.trigger("drag",t,e,n),this.updateAutoScroll(n)},endDrag:function(t){this.isDragging&&(this.isDragging=!1,this.handleDragEnd(t))},handleDragEnd:function(t){this.trigger("dragEnd",t)},startDelay:function(t){var e=this;this.delay?this.delayTimeoutId=setTimeout(function(){e.handleDelayEnd(t)},this.delay):this.handleDelayEnd(t)},handleDelayEnd:function(t){this.isDelayEnded=!0,this.isDistanceSurpassed&&this.startDrag(t)},handleDistanceSurpassed:function(t){this.isDistanceSurpassed=!0,this.isDelayEnded&&this.startDrag(t)},handleTouchMove:function(t){this.isDragging&&t.preventDefault(),this.handleMove(t)},handleMouseMove:function(t){this.handleMove(t)},handleTouchScroll:function(t){this.isDragging||this.endInteraction(t,!0)},trigger:function(t){this.options[t]&&this.options[t].apply(this,Array.prototype.slice.call(arguments,1)),this["_"+t]&&this["_"+t].apply(this,Array.prototype.slice.call(arguments,1))}});he.mixin({isAutoScroll:!1,scrollBounds:null,scrollTopVel:null,scrollLeftVel:null,scrollIntervalId:null,scrollSensitivity:30,scrollSpeed:200,scrollIntervalMs:50,initAutoScroll:function(){var t=this.scrollEl;this.isAutoScroll=this.options.scroll&&t&&!t.is(window)&&!t.is(document),this.isAutoScroll&&this.listenTo(t,"scroll",at(this.handleDebouncedScroll,100))},destroyAutoScroll:function(){this.endAutoScroll(),this.isAutoScroll&&this.stopListeningTo(this.scrollEl,"scroll")},computeScrollBounds:function(){this.isAutoScroll&&(this.scrollBounds=h(this.scrollEl))},updateAutoScroll:function(t){var e,n,i,r,s=this.scrollSensitivity,o=this.scrollBounds,l=0,a=0;o&&(e=(s-(E(t)-o.top))/s,n=(s-(o.bottom-E(t)))/s,i=(s-(w(t)-o.left))/s,r=(s-(o.right-w(t)))/s,e>=0&&e<=1?l=e*this.scrollSpeed*-1:n>=0&&n<=1&&(l=n*this.scrollSpeed),i>=0&&i<=1?a=i*this.scrollSpeed*-1:r>=0&&r<=1&&(a=r*this.scrollSpeed)),this.setScrollVel(l,a)},setScrollVel:function(t,e){this.scrollTopVel=t,this.scrollLeftVel=e,this.constrainScrollVel(),!this.scrollTopVel&&!this.scrollLeftVel||this.scrollIntervalId||(this.scrollIntervalId=setInterval(lt(this,"scrollIntervalFunc"),this.scrollIntervalMs))},constrainScrollVel:function(){var t=this.scrollEl;this.scrollTopVel<0?t.scrollTop()<=0&&(this.scrollTopVel=0):this.scrollTopVel>0&&t.scrollTop()+t[0].clientHeight>=t[0].scrollHeight&&(this.scrollTopVel=0),this.scrollLeftVel<0?t.scrollLeft()<=0&&(this.scrollLeftVel=0):this.scrollLeftVel>0&&t.scrollLeft()+t[0].clientWidth>=t[0].scrollWidth&&(this.scrollLeftVel=0)},scrollIntervalFunc:function(){var t=this.scrollEl,e=this.scrollIntervalMs/1e3;this.scrollTopVel&&t.scrollTop(t.scrollTop()+this.scrollTopVel*e),this.scrollLeftVel&&t.scrollLeft(t.scrollLeft()+this.scrollLeftVel*e),this.constrainScrollVel(),this.scrollTopVel||this.scrollLeftVel||this.endAutoScroll()},endAutoScroll:function(){this.scrollIntervalId&&(clearInterval(this.scrollIntervalId),this.scrollIntervalId=null,this.handleScrollEnd())},handleDebouncedScroll:function(){this.scrollIntervalId||this.handleScrollEnd()},handleScrollEnd:function(){}});var fe=he.extend({component:null,origHit:null,hit:null,coordAdjust:null,constructor:function(t,e){he.call(this,e),this.component=t},handleInteractionStart:function(t){var e,n,i,r=this.subjectEl;this.computeCoords(),t?(n={left:w(t),top:E(t)},i=n,r&&(e=h(r),i=R(i,e)),this.origHit=this.queryHit(i.left,i.top),r&&this.options.subjectCenter&&(this.origHit&&(e=x(this.origHit,e)||e),i=I(e)),this.coordAdjust=k(i,n)):(this.origHit=null,this.coordAdjust=null),he.prototype.handleInteractionStart.apply(this,arguments)},computeCoords:function(){this.component.prepareHits(),this.computeScrollBounds()},handleDragStart:function(t){var e;he.prototype.handleDragStart.apply(this,arguments),e=this.queryHit(w(t),E(t)),e&&this.handleHitOver(e)},handleDrag:function(t,e,n){var i;he.prototype.handleDrag.apply(this,arguments),i=this.queryHit(w(n),E(n)),bt(i,this.hit)||(this.hit&&this.handleHitOut(),i&&this.handleHitOver(i))},handleDragEnd:function(){this.handleHitDone(),he.prototype.handleDragEnd.apply(this,arguments)},handleHitOver:function(t){var e=bt(t,this.origHit);this.hit=t,this.trigger("hitOver",this.hit,e,this.origHit)},handleHitOut:function(){this.hit&&(this.trigger("hitOut",this.hit),this.handleHitDone(),this.hit=null)},handleHitDone:function(){this.hit&&this.trigger("hitDone",this.hit)},handleInteractionEnd:function(){he.prototype.handleInteractionEnd.apply(this,arguments),this.origHit=null,this.hit=null,this.component.releaseHits()},handleScrollEnd:function(){he.prototype.handleScrollEnd.apply(this,arguments),this.computeCoords()},queryHit:function(t,e){return this.coordAdjust&&(t+=this.coordAdjust.left,e+=this.coordAdjust.top),this.component.queryHit(t,e)}}),ge=wt.extend(ae,{options:null,sourceEl:null,el:null,parentEl:null,top0:null,left0:null,y0:null,x0:null,topDelta:null,leftDelta:null,isFollowing:!1,isHidden:!1,isAnimating:!1,constructor:function(e,n){this.options=n=n||{},this.sourceEl=e,this.parentEl=n.parentEl?t(n.parentEl):e.parent()},start:function(e){this.isFollowing||(this.isFollowing=!0,this.y0=E(e),this.x0=w(e),this.topDelta=0,this.leftDelta=0,this.isHidden||this.updatePosition(),D(e)?this.listenTo(t(document),"touchmove",this.handleMove):this.listenTo(t(document),"mousemove",this.handleMove))},stop:function(e,n){function i(){r.isAnimating=!1,r.removeElement(),r.top0=r.left0=null,n&&n()}var r=this,s=this.options.revertDuration;this.isFollowing&&!this.isAnimating&&(this.isFollowing=!1,this.stopListeningTo(t(document)),e&&s&&!this.isHidden?(this.isAnimating=!0,this.el.animate({top:this.top0,left:this.left0},{duration:s,complete:i})):i())},getEl:function(){var t=this.el;return t||(t=this.el=this.sourceEl.clone().addClass(this.options.additionalClass||"").css({position:"absolute",visibility:"",display:this.isHidden?"none":"",margin:0,right:"auto",bottom:"auto",width:this.sourceEl.width(),height:this.sourceEl.height(),opacity:this.options.opacity||"",zIndex:this.options.zIndex}),t.addClass("fc-unselectable"),t.appendTo(this.parentEl)),t},removeElement:function(){this.el&&(this.el.remove(),this.el=null)},updatePosition:function(){var t,e;this.getEl(),null===this.top0&&(t=this.sourceEl.offset(),e=this.el.offsetParent().offset(),this.top0=t.top-e.top,this.left0=t.left-e.left),this.el.css({top:this.top0+this.topDelta,left:this.left0+this.leftDelta})},handleMove:function(t){this.topDelta=E(t)-this.y0,this.leftDelta=w(t)-this.x0,this.isHidden||this.updatePosition()},hide:function(){this.isHidden||(this.isHidden=!0,this.el&&this.el.hide())},show:function(){this.isHidden&&(this.isHidden=!1,this.updatePosition(),this.getEl().show())}}),pe=jt.Grid=wt.extend(ae,ue,{hasDayInteractions:!0,view:null,isRTL:null,start:null,end:null,el:null,elsByFill:null,eventTimeFormat:null,displayEventTime:null,displayEventEnd:null,minResizeDuration:null,largeUnit:null,dayDragListener:null,segDragListener:null,segResizeListener:null,externalDragListener:null,constructor:function(t){this.view=t,this.isRTL=t.opt("isRTL"),this.elsByFill={},this.dayDragListener=this.buildDayDragListener(),this.initMouseIgnoring()},computeEventTimeFormat:function(){return this.view.opt("smallTimeFormat")},computeDisplayEventTime:function(){return!0},computeDisplayEventEnd:function(){return!0},setRange:function(t){this.start=t.start.clone(),this.end=t.end.clone(),this.rangeUpdated(),this.processRangeOptions()},rangeUpdated:function(){},processRangeOptions:function(){var t,e,n=this.view;this.eventTimeFormat=n.opt("eventTimeFormat")||n.opt("timeFormat")||this.computeEventTimeFormat(),t=n.opt("displayEventTime"),null==t&&(t=this.computeDisplayEventTime()),e=n.opt("displayEventEnd"),null==e&&(e=this.computeDisplayEventEnd()),this.displayEventTime=t,this.displayEventEnd=e},spanToSegs:function(t){},diffDates:function(t,e){return this.largeUnit?A(t,e,this.largeUnit):N(t,e)},prepareHits:function(){},releaseHits:function(){},queryHit:function(t,e){},getHitSpan:function(t){},getHitEl:function(t){},setElement:function(t){this.el=t,this.hasDayInteractions&&(b(t),this.bindDayHandler("touchstart",this.dayTouchStart),this.bindDayHandler("mousedown",this.dayMousedown)),this.bindSegHandlers(),this.bindGlobalHandlers()},bindDayHandler:function(e,n){var i=this;this.el.on(e,function(e){if(!t(e.target).is(i.segSelector+","+i.segSelector+" *,.fc-more,a[data-goto]"))return n.call(i,e)})},removeElement:function(){this.unbindGlobalHandlers(),this.clearDragListeners(),this.el.remove()},renderSkeleton:function(){},renderDates:function(){},unrenderDates:function(){},bindGlobalHandlers:function(){this.listenTo(t(document),{dragstart:this.externalDragStart,sortstart:this.externalDragStart})},unbindGlobalHandlers:function(){this.stopListeningTo(t(document))},dayMousedown:function(t){this.isIgnoringMouse||this.dayDragListener.startInteraction(t,{})},dayTouchStart:function(t){var e=this.view;(e.isSelected||e.selectedEvent)&&this.tempIgnoreMouse(),this.dayDragListener.startInteraction(t,{delay:this.view.opt("longPressDelay")})},buildDayDragListener:function(){var t,e,n=this,i=this.view,r=i.opt("selectable"),l=new fe(this,{scroll:i.opt("dragScroll"),interactionStart:function(){t=l.origHit,e=null},dragStart:function(){i.unselect()},hitOver:function(i,o,l){l&&(o||(t=null),r&&(e=n.computeSelection(n.getHitSpan(l),n.getHitSpan(i)),e?n.renderSelection(e):e===!1&&s()))},hitOut:function(){t=null,e=null,n.unrenderSelection()},hitDone:function(){o()},interactionEnd:function(r,s){s||(t&&!n.isIgnoringMouse&&i.triggerDayClick(n.getHitSpan(t),n.getHitEl(t),r),e&&i.reportSelection(e,r))}});return l},clearDragListeners:function(){this.dayDragListener.endInteraction(),this.segDragListener&&this.segDragListener.endInteraction(),this.segResizeListener&&this.segResizeListener.endInteraction(),this.externalDragListener&&this.externalDragListener.endInteraction()},renderEventLocationHelper:function(t,e){var n=this.fabricateHelperEvent(t,e);return this.renderHelper(n,e)},fabricateHelperEvent:function(t,e){var n=e?Z(e.event):{};return n.start=t.start.clone(),n.end=t.end?t.end.clone():null,n.allDay=null,this.view.calendar.normalizeEventDates(n),n.className=(n.className||[]).concat("fc-helper"),e||(n.editable=!1),n},renderHelper:function(t,e){},unrenderHelper:function(){},renderSelection:function(t){this.renderHighlight(t)},unrenderSelection:function(){this.unrenderHighlight()},computeSelection:function(t,e){var n=this.computeSelectionSpan(t,e);return!(n&&!this.view.calendar.isSelectionSpanAllowed(n))&&n},computeSelectionSpan:function(t,e){var n=[t.start,t.end,e.start,e.end];return n.sort(st),{start:n[0].clone(),end:n[3].clone()}},renderHighlight:function(t){this.renderFill("highlight",this.spanToSegs(t))},unrenderHighlight:function(){this.unrenderFill("highlight")},highlightSegClasses:function(){return["fc-highlight"]},renderBusinessHours:function(){},unrenderBusinessHours:function(){},getNowIndicatorUnit:function(){},renderNowIndicator:function(t){},unrenderNowIndicator:function(){},renderFill:function(t,e){},unrenderFill:function(t){var e=this.elsByFill[t];e&&(e.remove(),delete this.elsByFill[t])},renderFillSegEls:function(e,n){var i,r=this,s=this[e+"SegEl"],o="",l=[];if(n.length){for(i=0;i<n.length;i++)o+=this.fillSegHtml(e,n[i]);t(o).each(function(e,i){var o=n[e],a=t(i);s&&(a=s.call(r,o,a)),a&&(a=t(a),a.is(r.fillSegTag)&&(o.el=a,l.push(o)))})}return l},fillSegTag:"div",fillSegHtml:function(t,e){var n=this[t+"SegClasses"],i=this[t+"SegCss"],r=n?n.call(this,e):[],s=nt(i?i.call(this,e):{});return"<"+this.fillSegTag+(r.length?' class="'+r.join(" ")+'"':"")+(s?' style="'+s+'"':"")+" />"},getDayClasses:function(t){var e=this.view,n=e.calendar.getNow(),i=["fc-"+$t[t.day()]];return 1==e.intervalDuration.as("months")&&t.month()!=e.intervalStart.month()&&i.push("fc-other-month"),t.isSame(n,"day")?i.push("fc-today",e.highlightStateClass):t<n?i.push("fc-past"):i.push("fc-future"),i}});pe.mixin({segSelector:".fc-event-container > *",mousedOverSeg:null,isDraggingSeg:!1,isResizingSeg:!1,isDraggingExternal:!1,segs:null,renderEvents:function(t){var e,n=[],i=[];for(e=0;e<t.length;e++)(Tt(t[e])?n:i).push(t[e]);this.segs=[].concat(this.renderBgEvents(n),this.renderFgEvents(i))},renderBgEvents:function(t){var e=this.eventsToSegs(t);return this.renderBgSegs(e)||e},renderFgEvents:function(t){var e=this.eventsToSegs(t);return this.renderFgSegs(e)||e},unrenderEvents:function(){this.handleSegMouseout(),this.clearDragListeners(),this.unrenderFgSegs(),this.unrenderBgSegs(),this.segs=null},getEventSegs:function(){return this.segs||[]},renderFgSegs:function(t){},unrenderFgSegs:function(){},renderFgSegEls:function(e,n){var i,r=this.view,s="",o=[];if(e.length){for(i=0;i<e.length;i++)s+=this.fgSegHtml(e[i],n);t(s).each(function(n,i){var s=e[n],l=r.resolveEventEl(s.event,t(i));l&&(l.data("fc-seg",s),s.el=l,o.push(s))})}return o},fgSegHtml:function(t,e){},renderBgSegs:function(t){return this.renderFill("bgEvent",t)},unrenderBgSegs:function(){this.unrenderFill("bgEvent")},bgEventSegEl:function(t,e){return this.view.resolveEventEl(t.event,e)},bgEventSegClasses:function(t){var e=t.event,n=e.source||{};return["fc-bgevent"].concat(e.className,n.className||[])},bgEventSegCss:function(t){return{"background-color":this.getSegSkinCss(t)["background-color"]}},businessHoursSegClasses:function(t){return["fc-nonbusiness","fc-bgevent"]},buildBusinessHourSegs:function(e){var n=this.view.calendar.getCurrentBusinessHourEvents(e);return!n.length&&this.view.calendar.options.businessHours&&(n=[t.extend({},Re,{start:this.view.end,end:this.view.end,dow:null})]),this.eventsToSegs(n)},bindSegHandlers:function(){this.bindSegHandlersToEl(this.el)},bindSegHandlersToEl:function(t){this.bindSegHandlerToEl(t,"touchstart",this.handleSegTouchStart),this.bindSegHandlerToEl(t,"touchend",this.handleSegTouchEnd),this.bindSegHandlerToEl(t,"mouseenter",this.handleSegMouseover),this.bindSegHandlerToEl(t,"mouseleave",this.handleSegMouseout),this.bindSegHandlerToEl(t,"mousedown",this.handleSegMousedown),this.bindSegHandlerToEl(t,"click",this.handleSegClick)},bindSegHandlerToEl:function(e,n,i){var r=this;e.on(n,this.segSelector,function(e){var n=t(this).data("fc-seg");if(n&&!r.isDraggingSeg&&!r.isResizingSeg)return i.call(r,n,e)})},handleSegClick:function(t,e){var n=this.view.trigger("eventClick",t.el[0],t.event,e);n===!1&&e.preventDefault()},handleSegMouseover:function(t,e){this.isIgnoringMouse||this.mousedOverSeg||(this.mousedOverSeg=t,this.view.isEventResizable(t.event)&&t.el.addClass("fc-allow-mouse-resize"),this.view.trigger("eventMouseover",t.el[0],t.event,e))},handleSegMouseout:function(t,e){e=e||{},this.mousedOverSeg&&(t=t||this.mousedOverSeg,this.mousedOverSeg=null,this.view.isEventResizable(t.event)&&t.el.removeClass("fc-allow-mouse-resize"),this.view.trigger("eventMouseout",t.el[0],t.event,e))},handleSegMousedown:function(t,e){var n=this.startSegResize(t,e,{distance:5});!n&&this.view.isEventDraggable(t.event)&&this.buildSegDragListener(t).startInteraction(e,{distance:5})},handleSegTouchStart:function(t,e){var n,i=this.view,r=t.event,s=i.isEventSelected(r),o=i.isEventDraggable(r),l=i.isEventResizable(r),a=!1;s&&l&&(a=this.startSegResize(t,e)),a||!o&&!l||(n=o?this.buildSegDragListener(t):this.buildSegSelectListener(t),n.startInteraction(e,{delay:s?0:this.view.opt("longPressDelay")})),this.tempIgnoreMouse()},handleSegTouchEnd:function(t,e){this.tempIgnoreMouse()},startSegResize:function(e,n,i){return!!t(n.target).is(".fc-resizer")&&(this.buildSegResizeListener(e,t(n.target).is(".fc-start-resizer")).startInteraction(n,i),!0)},buildSegDragListener:function(t){var e,n,i,r=this,l=this.view,a=l.calendar,u=t.el,d=t.event;if(this.segDragListener)return this.segDragListener;var c=this.segDragListener=new fe(l,{scroll:l.opt("dragScroll"),subjectEl:u,subjectCenter:!0,interactionStart:function(i){t.component=r,e=!1,n=new ge(t.el,{additionalClass:"fc-dragging",parentEl:l.el,opacity:c.isTouch?null:l.opt("dragOpacity"),revertDuration:l.opt("dragRevertDuration"),zIndex:2}),n.hide(),n.start(i)},dragStart:function(n){c.isTouch&&!l.isEventSelected(d)&&l.selectEvent(d),e=!0,r.handleSegMouseout(t,n),r.segDragStart(t,n),l.hideEvent(d)},hitOver:function(e,o,u){var h;t.hit&&(u=t.hit),i=r.computeEventDrop(u.component.getHitSpan(u),e.component.getHitSpan(e),d),i&&!a.isEventSpanAllowed(r.eventToSpan(i),d)&&(s(),i=null),i&&(h=l.renderDrag(i,t))?(h.addClass("fc-dragging"),c.isTouch||r.applyDragOpacity(h),n.hide()):n.show(),o&&(i=null)},hitOut:function(){l.unrenderDrag(),n.show(),i=null},hitDone:function(){o()},interactionEnd:function(s){delete t.component,n.stop(!i,function(){e&&(l.unrenderDrag(),l.showEvent(d),r.segDragStop(t,s)),i&&l.reportEventDrop(d,i,this.largeUnit,u,s)}),r.segDragListener=null}});return c},buildSegSelectListener:function(t){var e=this,n=this.view,i=t.event;if(this.segDragListener)return this.segDragListener;var r=this.segDragListener=new he({dragStart:function(t){r.isTouch&&!n.isEventSelected(i)&&n.selectEvent(i)},interactionEnd:function(t){e.segDragListener=null}});return r},segDragStart:function(t,e){this.isDraggingSeg=!0,this.view.trigger("eventDragStart",t.el[0],t.event,e,{})},segDragStop:function(t,e){this.isDraggingSeg=!1,this.view.trigger("eventDragStop",t.el[0],t.event,e,{})},computeEventDrop:function(t,e,n){var i,r,s=this.view.calendar,o=t.start,l=e.start;return o.hasTime()===l.hasTime()?(i=this.diffDates(l,o),n.allDay&&W(i)?(r={start:n.start.clone(),end:s.getEventEnd(n),allDay:!1},s.normalizeEventTimes(r)):r=Ht(n),r.start.add(i),r.end&&r.end.add(i)):r={start:l.clone(),end:null,allDay:!l.hasTime()},r},applyDragOpacity:function(t){var e=this.view.opt("dragOpacity");null!=e&&t.css("opacity",e)},externalDragStart:function(e,n){var i,r,s=this.view;s.opt("droppable")&&(i=t((n?n.item:null)||e.target),r=s.opt("dropAccept"),(t.isFunction(r)?r.call(i[0],i):i.is(r))&&(this.isDraggingExternal||this.listenToExternalDrag(i,e,n)))},listenToExternalDrag:function(t,e,n){var i,r=this,l=this.view.calendar,a=Mt(t),u=r.externalDragListener=new fe(this,{interactionStart:function(){r.isDraggingExternal=!0},hitOver:function(t){i=r.computeExternalDrop(t.component.getHitSpan(t),a),i&&!l.isExternalSpanAllowed(r.eventToSpan(i),i,a.eventProps)&&(s(),i=null),i&&r.renderDrag(i)},hitOut:function(){i=null},hitDone:function(){o(),r.unrenderDrag()},interactionEnd:function(e){i&&r.view.reportExternalDrop(a,i,t,e,n),r.isDraggingExternal=!1,r.externalDragListener=null}});u.startDrag(e)},computeExternalDrop:function(t,e){var n=this.view.calendar,i={start:n.applyTimezone(t.start),end:null};return e.startTime&&!i.start.hasTime()&&i.start.time(e.startTime),e.duration&&(i.end=i.start.clone().add(e.duration)),i},renderDrag:function(t,e){},unrenderDrag:function(){},buildSegResizeListener:function(t,e){var n,i,r=this,l=this.view,a=l.calendar,u=t.el,d=t.event,c=a.getEventEnd(d),h=this.segResizeListener=new fe(this,{scroll:l.opt("dragScroll"),subjectEl:u,interactionStart:function(){n=!1},dragStart:function(e){n=!0,r.handleSegMouseout(t,e),r.segResizeStart(t,e)},hitOver:function(n,o,u){var h=r.getHitSpan(u),f=r.getHitSpan(n);i=e?r.computeEventStartResize(h,f,d):r.computeEventEndResize(h,f,d),i&&(a.isEventSpanAllowed(r.eventToSpan(i),d)?i.start.isSame(d.start.clone().stripZone())&&i.end.isSame(c.clone().stripZone())&&(i=null):(s(),i=null)),i&&(l.hideEvent(d),r.renderEventResize(i,t))},hitOut:function(){i=null},hitDone:function(){r.unrenderEventResize(),l.showEvent(d),o()},interactionEnd:function(e){n&&r.segResizeStop(t,e),i&&l.reportEventResize(d,i,this.largeUnit,u,e),r.segResizeListener=null}});return h},segResizeStart:function(t,e){this.isResizingSeg=!0,this.view.trigger("eventResizeStart",t.el[0],t.event,e,{})},segResizeStop:function(t,e){this.isResizingSeg=!1,this.view.trigger("eventResizeStop",t.el[0],t.event,e,{})},computeEventStartResize:function(t,e,n){return this.computeEventResize("start",t,e,n)},computeEventEndResize:function(t,e,n){return this.computeEventResize("end",t,e,n)},computeEventResize:function(t,e,n,i){var r,s,o=this.view.calendar,l=this.diffDates(n[t],e[t]);return r={start:i.start.clone(),end:o.getEventEnd(i),allDay:i.allDay},r.allDay&&W(l)&&(r.allDay=!1,o.normalizeEventTimes(r)),r[t].add(l),r.start.isBefore(r.end)||(s=this.minResizeDuration||(i.allDay?o.defaultAllDayEventDuration:o.defaultTimedEventDuration),"start"==t?r.start=r.end.clone().subtract(s):r.end=r.start.clone().add(s)),r},renderEventResize:function(t,e){},unrenderEventResize:function(){},getEventTimeText:function(t,e,n){return null==e&&(e=this.eventTimeFormat),null==n&&(n=this.displayEventEnd),this.displayEventTime&&t.start.hasTime()?n&&t.end?this.view.formatRange(t,e):t.start.format(e):""},getSegClasses:function(t,e,n){var i=this.view,r=["fc-event",t.isStart?"fc-start":"fc-not-start",t.isEnd?"fc-end":"fc-not-end"].concat(this.getSegCustomClasses(t));return e&&r.push("fc-draggable"),n&&r.push("fc-resizable"),i.isEventSelected(t.event)&&r.push("fc-selected"),r},getSegCustomClasses:function(t){var e=t.event;return[].concat(e.className,e.source?e.source.className:[])},getSegSkinCss:function(t){return{"background-color":this.getSegBackgroundColor(t),"border-color":this.getSegBorderColor(t),color:this.getSegTextColor(t)}},getSegBackgroundColor:function(t){return t.event.backgroundColor||t.event.color||this.getSegDefaultBackgroundColor(t)},getSegDefaultBackgroundColor:function(t){var e=t.event.source||{};return e.backgroundColor||e.color||this.view.opt("eventBackgroundColor")||this.view.opt("eventColor")},getSegBorderColor:function(t){return t.event.borderColor||t.event.color||this.getSegDefaultBorderColor(t)},getSegDefaultBorderColor:function(t){var e=t.event.source||{};return e.borderColor||e.color||this.view.opt("eventBorderColor")||this.view.opt("eventColor")},getSegTextColor:function(t){return t.event.textColor||this.getSegDefaultTextColor(t)},getSegDefaultTextColor:function(t){var e=t.event.source||{};return e.textColor||this.view.opt("eventTextColor")},eventToSegs:function(t){return this.eventsToSegs([t])},eventToSpan:function(t){return this.eventToSpans(t)[0]},eventToSpans:function(t){var e=this.eventToRange(t);return this.eventRangeToSpans(e,t)},eventsToSegs:function(e,n){var i=this,r=It(e),s=[];return t.each(r,function(t,e){var r,o=[];for(r=0;r<e.length;r++)o.push(i.eventToRange(e[r]));if(xt(e[0]))for(o=i.invertRanges(o),r=0;r<o.length;r++)s.push.apply(s,i.eventRangeToSegs(o[r],e[0],n));else for(r=0;r<o.length;r++)s.push.apply(s,i.eventRangeToSegs(o[r],e[r],n))}),s},eventToRange:function(t){var e=this.view.calendar,n=t.start.clone().stripZone(),i=(t.end?t.end.clone():e.getDefaultEventEnd(null!=t.allDay?t.allDay:!t.start.hasTime(),t.start)).stripZone();return e.localizeMoment(n),e.localizeMoment(i),{start:n,end:i}},eventRangeToSegs:function(t,e,n){var i,r=this.eventRangeToSpans(t,e),s=[];for(i=0;i<r.length;i++)s.push.apply(s,this.eventSpanToSegs(r[i],e,n));return s},eventRangeToSpans:function(e,n){return[t.extend({},e)]},eventSpanToSegs:function(t,e,n){var i,r,s=n?n(t):this.spanToSegs(t);for(i=0;i<s.length;i++)r=s[i],r.event=e,r.eventStartMS=+t.start,r.eventDurationMS=t.end-t.start;return s},invertRanges:function(t){var e,n,i=this.view,r=i.start.clone(),s=i.end.clone(),o=[],l=r;for(t.sort(kt),e=0;e<t.length;e++)n=t[e],n.start>l&&o.push({start:l,end:n.start}),l=n.end;return l<s&&o.push({start:l,end:s}),o},sortEventSegs:function(t){t.sort(lt(this,"compareEventSegs"))},compareEventSegs:function(t,e){return t.eventStartMS-e.eventStartMS||e.eventDurationMS-t.eventDurationMS||e.event.allDay-t.event.allDay||L(t.event,e.event,this.view.eventOrderSpecs)}}),jt.pluckEventDateProps=Ht,jt.isBgEvent=Tt,jt.dataAttrPrefix="";var ve=jt.DayTableMixin={breakOnWeeks:!1,dayDates:null,dayIndices:null,daysPerRow:null,rowCnt:null,colCnt:null,colHeadFormat:null,updateDayTable:function(){for(var t,e,n,i=this.view,r=this.start.clone(),s=-1,o=[],l=[];r.isBefore(this.end);)i.isHiddenDay(r)?o.push(s+.5):(s++,o.push(s),l.push(r.clone())),r.add(1,"days");if(this.breakOnWeeks){for(e=l[0].day(),t=1;t<l.length&&l[t].day()!=e;t++);n=Math.ceil(l.length/t)}else n=1,t=l.length;this.dayDates=l,this.dayIndices=o,this.daysPerRow=t,this.rowCnt=n,this.updateDayTableCols()},updateDayTableCols:function(){this.colCnt=this.computeColCnt(),this.colHeadFormat=this.view.opt("columnFormat")||this.computeColHeadFormat()},computeColCnt:function(){return this.daysPerRow},getCellDate:function(t,e){return this.dayDates[this.getCellDayIndex(t,e)].clone()},getCellRange:function(t,e){var n=this.getCellDate(t,e),i=n.clone().add(1,"days");return{start:n,end:i}},getCellDayIndex:function(t,e){return t*this.daysPerRow+this.getColDayIndex(e)},getColDayIndex:function(t){return this.isRTL?this.colCnt-1-t:t},getDateDayIndex:function(t){var e=this.dayIndices,n=t.diff(this.start,"days");return n<0?e[0]-1:n>=e.length?e[e.length-1]+1:e[n]},computeColHeadFormat:function(){return this.rowCnt>1||this.colCnt>10?"ddd":this.colCnt>1?this.view.opt("dayOfMonthFormat"):"dddd"},sliceRangeByRow:function(t){var e,n,i,r,s,o=this.daysPerRow,l=this.view.computeDayRange(t),a=this.getDateDayIndex(l.start),u=this.getDateDayIndex(l.end.clone().subtract(1,"days")),d=[];for(e=0;e<this.rowCnt;e++)n=e*o,i=n+o-1,r=Math.max(a,n),s=Math.min(u,i),r=Math.ceil(r),s=Math.floor(s),r<=s&&d.push({row:e,firstRowDayIndex:r-n,lastRowDayIndex:s-n,isStart:r===a,isEnd:s===u});return d},sliceRangeByDay:function(t){var e,n,i,r,s,o,l=this.daysPerRow,a=this.view.computeDayRange(t),u=this.getDateDayIndex(a.start),d=this.getDateDayIndex(a.end.clone().subtract(1,"days")),c=[];for(e=0;e<this.rowCnt;e++)for(n=e*l,i=n+l-1,r=n;r<=i;r++)s=Math.max(u,r),o=Math.min(d,r),s=Math.ceil(s),o=Math.floor(o),s<=o&&c.push({row:e,firstRowDayIndex:s-n,lastRowDayIndex:o-n,isStart:s===u,isEnd:o===d});return c;
+},renderHeadHtml:function(){var t=this.view;return'<div class="fc-row '+t.widgetHeaderClass+'"><table><thead>'+this.renderHeadTrHtml()+"</thead></table></div>"},renderHeadIntroHtml:function(){return this.renderIntroHtml()},renderHeadTrHtml:function(){return"<tr>"+(this.isRTL?"":this.renderHeadIntroHtml())+this.renderHeadDateCellsHtml()+(this.isRTL?this.renderHeadIntroHtml():"")+"</tr>"},renderHeadDateCellsHtml:function(){var t,e,n=[];for(t=0;t<this.colCnt;t++)e=this.getCellDate(0,t),n.push(this.renderHeadDateCellHtml(e));return n.join("")},renderHeadDateCellHtml:function(t,e,n){var i=this.view;return'<th class="fc-day-header '+i.widgetHeaderClass+" fc-"+$t[t.day()]+'"'+(1===this.rowCnt?' data-date="'+t.format("YYYY-MM-DD")+'"':"")+(e>1?' colspan="'+e+'"':"")+(n?" "+n:"")+">"+i.buildGotoAnchorHtml({date:t,forceOff:this.rowCnt>1||1===this.colCnt},tt(t.format(this.colHeadFormat)))+"</th>"},renderBgTrHtml:function(t){return"<tr>"+(this.isRTL?"":this.renderBgIntroHtml(t))+this.renderBgCellsHtml(t)+(this.isRTL?this.renderBgIntroHtml(t):"")+"</tr>"},renderBgIntroHtml:function(t){return this.renderIntroHtml()},renderBgCellsHtml:function(t){var e,n,i=[];for(e=0;e<this.colCnt;e++)n=this.getCellDate(t,e),i.push(this.renderBgCellHtml(n));return i.join("")},renderBgCellHtml:function(t,e){var n=this.view,i=this.getDayClasses(t);return i.unshift("fc-day",n.widgetContentClass),'<td class="'+i.join(" ")+'" data-date="'+t.format("YYYY-MM-DD")+'"'+(e?" "+e:"")+"></td>"},renderIntroHtml:function(){},bookendCells:function(t){var e=this.renderIntroHtml();e&&(this.isRTL?t.append(e):t.prepend(e))}},me=jt.DayGrid=pe.extend(ve,{numbersVisible:!1,bottomCoordPadding:0,rowEls:null,cellEls:null,helperEls:null,rowCoordCache:null,colCoordCache:null,renderDates:function(t){var e,n,i=this.view,r=this.rowCnt,s=this.colCnt,o="";for(e=0;e<r;e++)o+=this.renderDayRowHtml(e,t);for(this.el.html(o),this.rowEls=this.el.find(".fc-row"),this.cellEls=this.el.find(".fc-day"),this.rowCoordCache=new ce({els:this.rowEls,isVertical:!0}),this.colCoordCache=new ce({els:this.cellEls.slice(0,this.colCnt),isHorizontal:!0}),e=0;e<r;e++)for(n=0;n<s;n++)i.trigger("dayRender",null,this.getCellDate(e,n),this.getCellEl(e,n))},unrenderDates:function(){this.removeSegPopover()},renderBusinessHours:function(){var t=this.buildBusinessHourSegs(!0);this.renderFill("businessHours",t,"bgevent")},unrenderBusinessHours:function(){this.unrenderFill("businessHours")},renderDayRowHtml:function(t,e){var n=this.view,i=["fc-row","fc-week",n.widgetContentClass];return e&&i.push("fc-rigid"),'<div class="'+i.join(" ")+'"><div class="fc-bg"><table>'+this.renderBgTrHtml(t)+'</table></div><div class="fc-content-skeleton"><table>'+(this.numbersVisible?"<thead>"+this.renderNumberTrHtml(t)+"</thead>":"")+"</table></div></div>"},renderNumberTrHtml:function(t){return"<tr>"+(this.isRTL?"":this.renderNumberIntroHtml(t))+this.renderNumberCellsHtml(t)+(this.isRTL?this.renderNumberIntroHtml(t):"")+"</tr>"},renderNumberIntroHtml:function(t){return this.renderIntroHtml()},renderNumberCellsHtml:function(t){var e,n,i=[];for(e=0;e<this.colCnt;e++)n=this.getCellDate(t,e),i.push(this.renderNumberCellHtml(n));return i.join("")},renderNumberCellHtml:function(t){var e,n,i="";return this.view.dayNumbersVisible||this.view.cellWeekNumbersVisible?(e=this.getDayClasses(t),e.unshift("fc-day-top"),this.view.cellWeekNumbersVisible&&(n="ISO"===t._locale._fullCalendar_weekCalc?1:t._locale.firstDayOfWeek()),i+='<td class="'+e.join(" ")+'" data-date="'+t.format()+'">',this.view.cellWeekNumbersVisible&&t.day()==n&&(i+=this.view.buildGotoAnchorHtml({date:t,type:"week"},{class:"fc-week-number"},t.format("w"))),this.view.dayNumbersVisible&&(i+=this.view.buildGotoAnchorHtml(t,{class:"fc-day-number"},t.date())),i+="</td>"):"<td/>"},computeEventTimeFormat:function(){return this.view.opt("extraSmallTimeFormat")},computeDisplayEventEnd:function(){return 1==this.colCnt},rangeUpdated:function(){this.updateDayTable()},spanToSegs:function(t){var e,n,i=this.sliceRangeByRow(t);for(e=0;e<i.length;e++)n=i[e],this.isRTL?(n.leftCol=this.daysPerRow-1-n.lastRowDayIndex,n.rightCol=this.daysPerRow-1-n.firstRowDayIndex):(n.leftCol=n.firstRowDayIndex,n.rightCol=n.lastRowDayIndex);return i},prepareHits:function(){this.colCoordCache.build(),this.rowCoordCache.build(),this.rowCoordCache.bottoms[this.rowCnt-1]+=this.bottomCoordPadding},releaseHits:function(){this.colCoordCache.clear(),this.rowCoordCache.clear()},queryHit:function(t,e){if(this.colCoordCache.isLeftInBounds(t)&&this.rowCoordCache.isTopInBounds(e)){var n=this.colCoordCache.getHorizontalIndex(t),i=this.rowCoordCache.getVerticalIndex(e);if(null!=i&&null!=n)return this.getCellHit(i,n)}},getHitSpan:function(t){return this.getCellRange(t.row,t.col)},getHitEl:function(t){return this.getCellEl(t.row,t.col)},getCellHit:function(t,e){return{row:t,col:e,component:this,left:this.colCoordCache.getLeftOffset(e),right:this.colCoordCache.getRightOffset(e),top:this.rowCoordCache.getTopOffset(t),bottom:this.rowCoordCache.getBottomOffset(t)}},getCellEl:function(t,e){return this.cellEls.eq(t*this.colCnt+e)},renderDrag:function(t,e){if(this.renderHighlight(this.eventToSpan(t)),e&&e.component!==this)return this.renderEventLocationHelper(t,e)},unrenderDrag:function(){this.unrenderHighlight(),this.unrenderHelper()},renderEventResize:function(t,e){return this.renderHighlight(this.eventToSpan(t)),this.renderEventLocationHelper(t,e)},unrenderEventResize:function(){this.unrenderHighlight(),this.unrenderHelper()},renderHelper:function(e,n){var i,r=[],s=this.eventToSegs(e);return s=this.renderFgSegEls(s),i=this.renderSegRows(s),this.rowEls.each(function(e,s){var o,l=t(s),a=t('<div class="fc-helper-skeleton"><table/></div>');o=n&&n.row===e?n.el.position().top:l.find(".fc-content-skeleton tbody").position().top,a.css("top",o).find("table").append(i[e].tbodyEl),l.append(a),r.push(a[0])}),this.helperEls=t(r)},unrenderHelper:function(){this.helperEls&&(this.helperEls.remove(),this.helperEls=null)},fillSegTag:"td",renderFill:function(e,n,i){var r,s,o,l=[];for(n=this.renderFillSegEls(e,n),r=0;r<n.length;r++)s=n[r],o=this.renderFillRow(e,s,i),this.rowEls.eq(s.row).append(o),l.push(o[0]);return this.elsByFill[e]=t(l),n},renderFillRow:function(e,n,i){var r,s,o=this.colCnt,l=n.leftCol,a=n.rightCol+1;return i=i||e.toLowerCase(),r=t('<div class="fc-'+i+'-skeleton"><table><tr/></table></div>'),s=r.find("tr"),l>0&&s.append('<td colspan="'+l+'"/>'),s.append(n.el.attr("colspan",a-l)),a<o&&s.append('<td colspan="'+(o-a)+'"/>'),this.bookendCells(s),r}});me.mixin({rowStructs:null,unrenderEvents:function(){this.removeSegPopover(),pe.prototype.unrenderEvents.apply(this,arguments)},getEventSegs:function(){return pe.prototype.getEventSegs.call(this).concat(this.popoverSegs||[])},renderBgSegs:function(e){var n=t.grep(e,function(t){return t.event.allDay});return pe.prototype.renderBgSegs.call(this,n)},renderFgSegs:function(e){var n;return e=this.renderFgSegEls(e),n=this.rowStructs=this.renderSegRows(e),this.rowEls.each(function(e,i){t(i).find(".fc-content-skeleton > table").append(n[e].tbodyEl)}),e},unrenderFgSegs:function(){for(var t,e=this.rowStructs||[];t=e.pop();)t.tbodyEl.remove();this.rowStructs=null},renderSegRows:function(t){var e,n,i=[];for(e=this.groupSegRows(t),n=0;n<e.length;n++)i.push(this.renderSegRow(n,e[n]));return i},fgSegHtml:function(t,e){var n,i,r=this.view,s=t.event,o=r.isEventDraggable(s),l=!e&&s.allDay&&t.isStart&&r.isEventResizableFromStart(s),a=!e&&s.allDay&&t.isEnd&&r.isEventResizableFromEnd(s),u=this.getSegClasses(t,o,l||a),d=nt(this.getSegSkinCss(t)),c="";return u.unshift("fc-day-grid-event","fc-h-event"),t.isStart&&(n=this.getEventTimeText(s),n&&(c='<span class="fc-time">'+tt(n)+"</span>")),i='<span class="fc-title">'+(tt(s.title||"")||"&nbsp;")+"</span>",'<a class="'+u.join(" ")+'"'+(s.url?' href="'+tt(s.url)+'"':"")+(d?' style="'+d+'"':"")+'><div class="fc-content">'+(this.isRTL?i+" "+c:c+" "+i)+"</div>"+(l?'<div class="fc-resizer fc-start-resizer" />':"")+(a?'<div class="fc-resizer fc-end-resizer" />':"")+"</a>"},renderSegRow:function(e,n){function i(e){for(;o<e;)d=(m[r-1]||[])[o],d?d.attr("rowspan",parseInt(d.attr("rowspan")||1,10)+1):(d=t("<td/>"),l.append(d)),v[r][o]=d,m[r][o]=d,o++}var r,s,o,l,a,u,d,c=this.colCnt,h=this.buildSegLevels(n),f=Math.max(1,h.length),g=t("<tbody/>"),p=[],v=[],m=[];for(r=0;r<f;r++){if(s=h[r],o=0,l=t("<tr/>"),p.push([]),v.push([]),m.push([]),s)for(a=0;a<s.length;a++){for(u=s[a],i(u.leftCol),d=t('<td class="fc-event-container"/>').append(u.el),u.leftCol!=u.rightCol?d.attr("colspan",u.rightCol-u.leftCol+1):m[r][o]=d;o<=u.rightCol;)v[r][o]=d,p[r][o]=u,o++;l.append(d)}i(c),this.bookendCells(l),g.append(l)}return{row:e,tbodyEl:g,cellMatrix:v,segMatrix:p,segLevels:h,segs:n}},buildSegLevels:function(t){var e,n,i,r=[];for(this.sortEventSegs(t),e=0;e<t.length;e++){for(n=t[e],i=0;i<r.length&&Lt(n,r[i]);i++);n.level=i,(r[i]||(r[i]=[])).push(n)}for(i=0;i<r.length;i++)r[i].sort(Bt);return r},groupSegRows:function(t){var e,n=[];for(e=0;e<this.rowCnt;e++)n.push([]);for(e=0;e<t.length;e++)n[t[e].row].push(t[e]);return n}}),me.mixin({segPopover:null,popoverSegs:null,removeSegPopover:function(){this.segPopover&&this.segPopover.hide()},limitRows:function(t){var e,n,i=this.rowStructs||[];for(e=0;e<i.length;e++)this.unlimitRow(e),n=!!t&&("number"==typeof t?t:this.computeRowLevelLimit(e)),n!==!1&&this.limitRow(e,n)},computeRowLevelLimit:function(e){function n(e,n){s=Math.max(s,t(n).outerHeight())}var i,r,s,o=this.rowEls.eq(e),l=o.height(),a=this.rowStructs[e].tbodyEl.children();for(i=0;i<a.length;i++)if(r=a.eq(i).removeClass("fc-limited"),s=0,r.find("> td > :first-child").each(n),r.position().top+s>l)return i;return!1},limitRow:function(e,n){function i(i){for(;D<i;)u=S.getCellSegs(e,D,n),u.length&&(h=s[n-1][D],y=S.renderMoreLink(e,D,u),m=t("<div/>").append(y),h.append(m),E.push(m[0])),D++}var r,s,o,l,a,u,d,c,h,f,g,p,v,m,y,S=this,w=this.rowStructs[e],E=[],D=0;if(n&&n<w.segLevels.length){for(r=w.segLevels[n-1],s=w.cellMatrix,o=w.tbodyEl.children().slice(n).addClass("fc-limited").get(),l=0;l<r.length;l++){for(a=r[l],i(a.leftCol),c=[],d=0;D<=a.rightCol;)u=this.getCellSegs(e,D,n),c.push(u),d+=u.length,D++;if(d){for(h=s[n-1][a.leftCol],f=h.attr("rowspan")||1,g=[],p=0;p<c.length;p++)v=t('<td class="fc-more-cell"/>').attr("rowspan",f),u=c[p],y=this.renderMoreLink(e,a.leftCol+p,[a].concat(u)),m=t("<div/>").append(y),v.append(m),g.push(v[0]),E.push(v[0]);h.addClass("fc-limited").after(t(g)),o.push(h[0])}}i(this.colCnt),w.moreEls=t(E),w.limitedEls=t(o)}},unlimitRow:function(t){var e=this.rowStructs[t];e.moreEls&&(e.moreEls.remove(),e.moreEls=null),e.limitedEls&&(e.limitedEls.removeClass("fc-limited"),e.limitedEls=null)},renderMoreLink:function(e,n,i){var r=this,s=this.view;return t('<a class="fc-more"/>').text(this.getMoreLinkText(i.length)).on("click",function(o){var l=s.opt("eventLimitClick"),a=r.getCellDate(e,n),u=t(this),d=r.getCellEl(e,n),c=r.getCellSegs(e,n),h=r.resliceDaySegs(c,a),f=r.resliceDaySegs(i,a);"function"==typeof l&&(l=s.trigger("eventLimitClick",null,{date:a,dayEl:d,moreEl:u,segs:h,hiddenSegs:f},o)),"popover"===l?r.showSegPopover(e,n,u,h):"string"==typeof l&&s.calendar.zoomTo(a,l)})},showSegPopover:function(t,e,n,i){var r,s,o=this,l=this.view,a=n.parent();r=1==this.rowCnt?l.el:this.rowEls.eq(t),s={className:"fc-more-popover",content:this.renderSegPopoverContent(t,e,i),parentEl:this.view.el,top:r.offset().top,autoHide:!0,viewportConstrain:l.opt("popoverViewportConstrain"),hide:function(){o.segPopover.removeElement(),o.segPopover=null,o.popoverSegs=null}},this.isRTL?s.right=a.offset().left+a.outerWidth()+1:s.left=a.offset().left-1,this.segPopover=new de(s),this.segPopover.show(),this.bindSegHandlersToEl(this.segPopover.el)},renderSegPopoverContent:function(e,n,i){var r,s=this.view,o=s.opt("theme"),l=this.getCellDate(e,n).format(s.opt("dayPopoverFormat")),a=t('<div class="fc-header '+s.widgetHeaderClass+'"><span class="fc-close '+(o?"ui-icon ui-icon-closethick":"fc-icon fc-icon-x")+'"></span><span class="fc-title">'+tt(l)+'</span><div class="fc-clear"/></div><div class="fc-body '+s.widgetContentClass+'"><div class="fc-event-container"></div></div>'),u=a.find(".fc-event-container");for(i=this.renderFgSegEls(i,!0),this.popoverSegs=i,r=0;r<i.length;r++)this.prepareHits(),i[r].hit=this.getCellHit(e,n),this.releaseHits(),u.append(i[r].el);return a},resliceDaySegs:function(e,n){var i=t.map(e,function(t){return t.event}),r=n.clone(),s=r.clone().add(1,"days"),o={start:r,end:s};return e=this.eventsToSegs(i,function(t){var e=F(t,o);return e?[e]:[]}),this.sortEventSegs(e),e},getMoreLinkText:function(t){var e=this.view.opt("eventLimitText");return"function"==typeof e?e(t):"+"+t+" "+e},getCellSegs:function(t,e,n){for(var i,r=this.rowStructs[t].segMatrix,s=n||0,o=[];s<r.length;)i=r[s][e],i&&o.push(i),s++;return o}});var ye=jt.TimeGrid=pe.extend(ve,{slotDuration:null,snapDuration:null,snapsPerSlot:null,minTime:null,maxTime:null,labelFormat:null,labelInterval:null,colEls:null,slatContainerEl:null,slatEls:null,nowIndicatorEls:null,colCoordCache:null,slatCoordCache:null,constructor:function(){pe.apply(this,arguments),this.processOptions()},renderDates:function(){this.el.html(this.renderHtml()),this.colEls=this.el.find(".fc-day"),this.slatContainerEl=this.el.find(".fc-slats"),this.slatEls=this.slatContainerEl.find("tr"),this.colCoordCache=new ce({els:this.colEls,isHorizontal:!0}),this.slatCoordCache=new ce({els:this.slatEls,isVertical:!0}),this.renderContentSkeleton()},renderHtml:function(){return'<div class="fc-bg"><table>'+this.renderBgTrHtml(0)+'</table></div><div class="fc-slats"><table>'+this.renderSlatRowHtml()+"</table></div>"},renderSlatRowHtml:function(){for(var t,n,i,r=this.view,s=this.isRTL,o="",l=e.duration(+this.minTime);l<this.maxTime;)t=this.start.clone().time(l),n=ot(_(l,this.labelInterval)),i='<td class="fc-axis fc-time '+r.widgetContentClass+'" '+r.axisStyleAttr()+">"+(n?"<span>"+tt(t.format(this.labelFormat))+"</span>":"")+"</td>",o+='<tr data-time="'+t.format("HH:mm:ss")+'"'+(n?"":' class="fc-minor"')+">"+(s?"":i)+'<td class="'+r.widgetContentClass+'"/>'+(s?i:"")+"</tr>",l.add(this.slotDuration);return o},processOptions:function(){var n,i=this.view,r=i.opt("slotDuration"),s=i.opt("snapDuration");r=e.duration(r),s=s?e.duration(s):r,this.slotDuration=r,this.snapDuration=s,this.snapsPerSlot=r/s,this.minResizeDuration=s,this.minTime=e.duration(i.opt("minTime")),this.maxTime=e.duration(i.opt("maxTime")),n=i.opt("slotLabelFormat"),t.isArray(n)&&(n=n[n.length-1]),this.labelFormat=n||i.opt("smallTimeFormat"),n=i.opt("slotLabelInterval"),this.labelInterval=n?e.duration(n):this.computeLabelInterval(r)},computeLabelInterval:function(t){var n,i,r;for(n=Ne.length-1;n>=0;n--)if(i=e.duration(Ne[n]),r=_(i,t),ot(r)&&r>1)return i;return e.duration(t)},computeEventTimeFormat:function(){return this.view.opt("noMeridiemTimeFormat")},computeDisplayEventEnd:function(){return!0},prepareHits:function(){this.colCoordCache.build(),this.slatCoordCache.build()},releaseHits:function(){this.colCoordCache.clear()},queryHit:function(t,e){var n=this.snapsPerSlot,i=this.colCoordCache,r=this.slatCoordCache;if(i.isLeftInBounds(t)&&r.isTopInBounds(e)){var s=i.getHorizontalIndex(t),o=r.getVerticalIndex(e);if(null!=s&&null!=o){var l=r.getTopOffset(o),a=r.getHeight(o),u=(e-l)/a,d=Math.floor(u*n),c=o*n+d,h=l+d/n*a,f=l+(d+1)/n*a;return{col:s,snap:c,component:this,left:i.getLeftOffset(s),right:i.getRightOffset(s),top:h,bottom:f}}}},getHitSpan:function(t){var e,n=this.getCellDate(0,t.col),i=this.computeSnapTime(t.snap);return n.time(i),e=n.clone().add(this.snapDuration),{start:n,end:e}},getHitEl:function(t){return this.colEls.eq(t.col)},rangeUpdated:function(){this.updateDayTable()},computeSnapTime:function(t){return e.duration(this.minTime+this.snapDuration*t)},spanToSegs:function(t){var e,n=this.sliceRangeByTimes(t);for(e=0;e<n.length;e++)this.isRTL?n[e].col=this.daysPerRow-1-n[e].dayIndex:n[e].col=n[e].dayIndex;return n},sliceRangeByTimes:function(t){var e,n,i,r,s=[];for(n=0;n<this.daysPerRow;n++)i=this.dayDates[n].clone(),r={start:i.clone().time(this.minTime),end:i.clone().time(this.maxTime)},e=F(t,r),e&&(e.dayIndex=n,s.push(e));return s},updateSize:function(t){this.slatCoordCache.build(),t&&this.updateSegVerticals([].concat(this.fgSegs||[],this.bgSegs||[],this.businessSegs||[]))},getTotalSlatHeight:function(){return this.slatContainerEl.outerHeight()},computeDateTop:function(t,n){return this.computeTimeTop(e.duration(t-n.clone().stripTime()))},computeTimeTop:function(t){var e,n,i=this.slatEls.length,r=(t-this.minTime)/this.slotDuration;return r=Math.max(0,r),r=Math.min(i,r),e=Math.floor(r),e=Math.min(e,i-1),n=r-e,this.slatCoordCache.getTopPosition(e)+this.slatCoordCache.getHeight(e)*n},renderDrag:function(t,e){return e?this.renderEventLocationHelper(t,e):void this.renderHighlight(this.eventToSpan(t))},unrenderDrag:function(){this.unrenderHelper(),this.unrenderHighlight()},renderEventResize:function(t,e){return this.renderEventLocationHelper(t,e)},unrenderEventResize:function(){this.unrenderHelper()},renderHelper:function(t,e){return this.renderHelperSegs(this.eventToSegs(t),e)},unrenderHelper:function(){this.unrenderHelperSegs()},renderBusinessHours:function(){this.renderBusinessSegs(this.buildBusinessHourSegs())},unrenderBusinessHours:function(){this.unrenderBusinessSegs()},getNowIndicatorUnit:function(){return"minute"},renderNowIndicator:function(e){var n,i=this.spanToSegs({start:e,end:e}),r=this.computeDateTop(e,e),s=[];for(n=0;n<i.length;n++)s.push(t('<div class="fc-now-indicator fc-now-indicator-line"></div>').css("top",r).appendTo(this.colContainerEls.eq(i[n].col))[0]);i.length>0&&s.push(t('<div class="fc-now-indicator fc-now-indicator-arrow"></div>').css("top",r).appendTo(this.el.find(".fc-content-skeleton"))[0]),this.nowIndicatorEls=t(s)},unrenderNowIndicator:function(){this.nowIndicatorEls&&(this.nowIndicatorEls.remove(),this.nowIndicatorEls=null)},renderSelection:function(t){this.view.opt("selectHelper")?this.renderEventLocationHelper(t):this.renderHighlight(t)},unrenderSelection:function(){this.unrenderHelper(),this.unrenderHighlight()},renderHighlight:function(t){this.renderHighlightSegs(this.spanToSegs(t))},unrenderHighlight:function(){this.unrenderHighlightSegs()}});ye.mixin({colContainerEls:null,fgContainerEls:null,bgContainerEls:null,helperContainerEls:null,highlightContainerEls:null,businessContainerEls:null,fgSegs:null,bgSegs:null,helperSegs:null,highlightSegs:null,businessSegs:null,renderContentSkeleton:function(){var e,n,i="";for(e=0;e<this.colCnt;e++)i+='<td><div class="fc-content-col"><div class="fc-event-container fc-helper-container"></div><div class="fc-event-container"></div><div class="fc-highlight-container"></div><div class="fc-bgevent-container"></div><div class="fc-business-container"></div></div></td>';n=t('<div class="fc-content-skeleton"><table><tr>'+i+"</tr></table></div>"),this.colContainerEls=n.find(".fc-content-col"),this.helperContainerEls=n.find(".fc-helper-container"),this.fgContainerEls=n.find(".fc-event-container:not(.fc-helper-container)"),this.bgContainerEls=n.find(".fc-bgevent-container"),this.highlightContainerEls=n.find(".fc-highlight-container"),this.businessContainerEls=n.find(".fc-business-container"),this.bookendCells(n.find("tr")),this.el.append(n)},renderFgSegs:function(t){return t=this.renderFgSegsIntoContainers(t,this.fgContainerEls),this.fgSegs=t,t},unrenderFgSegs:function(){this.unrenderNamedSegs("fgSegs")},renderHelperSegs:function(e,n){var i,r,s,o=[];for(e=this.renderFgSegsIntoContainers(e,this.helperContainerEls),i=0;i<e.length;i++)r=e[i],n&&n.col===r.col&&(s=n.el,r.el.css({left:s.css("left"),right:s.css("right"),"margin-left":s.css("margin-left"),"margin-right":s.css("margin-right")})),o.push(r.el[0]);return this.helperSegs=e,t(o)},unrenderHelperSegs:function(){this.unrenderNamedSegs("helperSegs")},renderBgSegs:function(t){return t=this.renderFillSegEls("bgEvent",t),this.updateSegVerticals(t),this.attachSegsByCol(this.groupSegsByCol(t),this.bgContainerEls),this.bgSegs=t,t},unrenderBgSegs:function(){this.unrenderNamedSegs("bgSegs")},renderHighlightSegs:function(t){t=this.renderFillSegEls("highlight",t),this.updateSegVerticals(t),this.attachSegsByCol(this.groupSegsByCol(t),this.highlightContainerEls),this.highlightSegs=t},unrenderHighlightSegs:function(){this.unrenderNamedSegs("highlightSegs")},renderBusinessSegs:function(t){t=this.renderFillSegEls("businessHours",t),this.updateSegVerticals(t),this.attachSegsByCol(this.groupSegsByCol(t),this.businessContainerEls),this.businessSegs=t},unrenderBusinessSegs:function(){this.unrenderNamedSegs("businessSegs")},groupSegsByCol:function(t){var e,n=[];for(e=0;e<this.colCnt;e++)n.push([]);for(e=0;e<t.length;e++)n[t[e].col].push(t[e]);return n},attachSegsByCol:function(t,e){var n,i,r;for(n=0;n<this.colCnt;n++)for(i=t[n],r=0;r<i.length;r++)e.eq(n).append(i[r].el)},unrenderNamedSegs:function(t){var e,n=this[t];if(n){for(e=0;e<n.length;e++)n[e].el.remove();this[t]=null}},renderFgSegsIntoContainers:function(t,e){var n,i;for(t=this.renderFgSegEls(t),n=this.groupSegsByCol(t),i=0;i<this.colCnt;i++)this.updateFgSegCoords(n[i]);return this.attachSegsByCol(n,e),t},fgSegHtml:function(t,e){var n,i,r,s=this.view,o=t.event,l=s.isEventDraggable(o),a=!e&&t.isStart&&s.isEventResizableFromStart(o),u=!e&&t.isEnd&&s.isEventResizableFromEnd(o),d=this.getSegClasses(t,l,a||u),c=nt(this.getSegSkinCss(t));return d.unshift("fc-time-grid-event","fc-v-event"),s.isMultiDayEvent(o)?(t.isStart||t.isEnd)&&(n=this.getEventTimeText(t),i=this.getEventTimeText(t,"LT"),r=this.getEventTimeText(t,null,!1)):(n=this.getEventTimeText(o),i=this.getEventTimeText(o,"LT"),r=this.getEventTimeText(o,null,!1)),'<a class="'+d.join(" ")+'"'+(o.url?' href="'+tt(o.url)+'"':"")+(c?' style="'+c+'"':"")+'><div class="fc-content">'+(n?'<div class="fc-time" data-start="'+tt(r)+'" data-full="'+tt(i)+'"><span>'+tt(n)+"</span></div>":"")+(o.title?'<div class="fc-title">'+tt(o.title)+"</div>":"")+'</div><div class="fc-bg"/>'+(u?'<div class="fc-resizer fc-end-resizer" />':"")+"</a>"},updateSegVerticals:function(t){this.computeSegVerticals(t),this.assignSegVerticals(t)},computeSegVerticals:function(t){var e,n;for(e=0;e<t.length;e++)n=t[e],n.top=this.computeDateTop(n.start,n.start),n.bottom=this.computeDateTop(n.end,n.start)},assignSegVerticals:function(t){var e,n;for(e=0;e<t.length;e++)n=t[e],n.el.css(this.generateSegVerticalCss(n))},generateSegVerticalCss:function(t){return{top:t.top,bottom:-t.bottom}},updateFgSegCoords:function(t){this.computeSegVerticals(t),this.computeFgSegHorizontals(t),this.assignSegVerticals(t),this.assignFgSegHorizontals(t)},computeFgSegHorizontals:function(t){var e,n,i;if(this.sortEventSegs(t),e=zt(t),Ft(e),n=e[0]){for(i=0;i<n.length;i++)Nt(n[i]);for(i=0;i<n.length;i++)this.computeFgSegForwardBack(n[i],0,0)}},computeFgSegForwardBack:function(t,e,n){var i,r=t.forwardSegs;if(void 0===t.forwardCoord)for(r.length?(this.sortForwardSegs(r),this.computeFgSegForwardBack(r[0],e+1,n),t.forwardCoord=r[0].backwardCoord):t.forwardCoord=1,t.backwardCoord=t.forwardCoord-(t.forwardCoord-n)/(e+1),i=0;i<r.length;i++)this.computeFgSegForwardBack(r[i],0,t.forwardCoord)},sortForwardSegs:function(t){t.sort(lt(this,"compareForwardSegs"))},compareForwardSegs:function(t,e){return e.forwardPressure-t.forwardPressure||(t.backwardCoord||0)-(e.backwardCoord||0)||this.compareEventSegs(t,e)},assignFgSegHorizontals:function(t){var e,n;for(e=0;e<t.length;e++)n=t[e],n.el.css(this.generateFgSegHorizontalCss(n)),n.bottom-n.top<30&&n.el.addClass("fc-short")},generateFgSegHorizontalCss:function(t){var e,n,i=this.view.opt("slotEventOverlap"),r=t.backwardCoord,s=t.forwardCoord,o=this.generateSegVerticalCss(t);return i&&(s=Math.min(1,r+2*(s-r))),this.isRTL?(e=1-s,n=r):(e=r,n=1-s),o.zIndex=t.level+1,o.left=100*e+"%",o.right=100*n+"%",i&&t.forwardPressure&&(o[this.isRTL?"marginLeft":"marginRight"]=20),o}});var Se=jt.View=wt.extend(le,ae,{type:null,name:null,title:null,calendar:null,options:null,el:null,displaying:null,isSkeletonRendered:!1,isEventsRendered:!1,start:null,end:null,intervalStart:null,intervalEnd:null,intervalDuration:null,intervalUnit:null,isRTL:!1,isSelected:!1,selectedEvent:null,eventOrderSpecs:null,widgetHeaderClass:null,widgetContentClass:null,highlightStateClass:null,nextDayThreshold:null,isHiddenDayHash:null,isNowIndicatorRendered:null,initialNowDate:null,initialNowQueriedMs:null,nowIndicatorTimeoutID:null,nowIndicatorIntervalID:null,constructor:function(t,n,i,r){this.calendar=t,this.type=this.name=n,this.options=i,this.intervalDuration=r||e.duration(1,"day"),this.nextDayThreshold=e.duration(this.opt("nextDayThreshold")),this.initThemingProps(),this.initHiddenDays(),this.isRTL=this.opt("isRTL"),this.eventOrderSpecs=M(this.opt("eventOrder")),this.initialize()},initialize:function(){},opt:function(t){return this.options[t]},trigger:function(t,e){var n=this.calendar;return n.trigger.apply(n,[t,e||this].concat(Array.prototype.slice.call(arguments,2),[this]))},setDate:function(t){this.setRange(this.computeRange(t))},setRange:function(e){t.extend(this,e),this.updateTitle()},computeRange:function(t){var e,n,i=O(this.intervalDuration),r=t.clone().startOf(i),s=r.clone().add(this.intervalDuration);return/year|month|week|day/.test(i)?(r.stripTime(),s.stripTime()):(r.hasTime()||(r=this.calendar.time(0)),s.hasTime()||(s=this.calendar.time(0))),e=r.clone(),e=this.skipHiddenDays(e),n=s.clone(),n=this.skipHiddenDays(n,-1,!0),{intervalUnit:i,intervalStart:r,intervalEnd:s,start:e,end:n}},computePrevDate:function(t){return this.massageCurrentDate(t.clone().startOf(this.intervalUnit).subtract(this.intervalDuration),-1)},computeNextDate:function(t){return this.massageCurrentDate(t.clone().startOf(this.intervalUnit).add(this.intervalDuration))},massageCurrentDate:function(t,e){return this.intervalDuration.as("days")<=1&&this.isHiddenDay(t)&&(t=this.skipHiddenDays(t,e),t.startOf("day")),t},updateTitle:function(){this.title=this.computeTitle()},computeTitle:function(){return this.formatRange({start:this.calendar.applyTimezone(this.intervalStart),end:this.calendar.applyTimezone(this.intervalEnd)},this.opt("titleFormat")||this.computeTitleFormat(),this.opt("titleRangeSeparator"))},computeTitleFormat:function(){return"year"==this.intervalUnit?"YYYY":"month"==this.intervalUnit?this.opt("monthYearFormat"):this.intervalDuration.as("days")>1?"ll":"LL"},formatRange:function(t,e,n){var i=t.end;return i.hasTime()||(i=i.clone().subtract(1)),pt(t.start,i,e,n,this.opt("isRTL"))},getAllDayHtml:function(){return this.opt("allDayHtml")||tt(this.opt("allDayText"))},buildGotoAnchorHtml:function(e,n,i){var r,s,o,l;return t.isPlainObject(e)?(r=e.date,s=e.type,o=e.forceOff):r=e,r=jt.moment(r),l={date:r.format("YYYY-MM-DD"),type:s||"day"},"string"==typeof n&&(i=n,n=null),n=n?" "+it(n):"",i=i||"",!o&&this.opt("navLinks")?"<a"+n+' data-goto="'+tt(JSON.stringify(l))+'">'+i+"</a>":"<span"+n+">"+i+"</span>"},setElement:function(t){this.el=t,this.bindGlobalHandlers()},removeElement:function(){this.clear(),this.isSkeletonRendered&&(this.unrenderSkeleton(),this.isSkeletonRendered=!1),this.unbindGlobalHandlers(),this.el.remove()},display:function(t,e){var n=this,i=null;return null!=e&&this.displaying&&(i=this.queryScroll()),this.calendar.freezeContentHeight(),ut(this.clear(),function(){return n.displaying=ut(n.displayView(t),function(){null!=e?n.setScroll(e):n.forceScroll(n.computeInitialScroll(i)),n.calendar.unfreezeContentHeight(),n.triggerRender()})})},clear:function(){var e=this,n=this.displaying;return n?ut(n,function(){return e.displaying=null,e.clearEvents(),e.clearView()}):t.when()},displayView:function(t){this.isSkeletonRendered||(this.renderSkeleton(),this.isSkeletonRendered=!0),t&&this.setDate(t),this.render&&this.render(),this.renderDates(),this.updateSize(),this.renderBusinessHours(),this.startNowIndicator()},clearView:function(){this.unselect(),this.stopNowIndicator(),this.triggerUnrender(),this.unrenderBusinessHours(),this.unrenderDates(),this.destroy&&this.destroy()},renderSkeleton:function(){},unrenderSkeleton:function(){},renderDates:function(){},unrenderDates:function(){},triggerRender:function(){this.trigger("viewRender",this,this,this.el)},triggerUnrender:function(){this.trigger("viewDestroy",this,this,this.el)},bindGlobalHandlers:function(){this.listenTo(t(document),"mousedown",this.handleDocumentMousedown),this.listenTo(t(document),"touchstart",this.processUnselect)},unbindGlobalHandlers:function(){this.stopListeningTo(t(document))},initThemingProps:function(){var t=this.opt("theme")?"ui":"fc";this.widgetHeaderClass=t+"-widget-header",this.widgetContentClass=t+"-widget-content",this.highlightStateClass=t+"-state-highlight"},renderBusinessHours:function(){},unrenderBusinessHours:function(){},startNowIndicator:function(){var t,n,i,r=this;this.opt("nowIndicator")&&(t=this.getNowIndicatorUnit(),t&&(n=lt(this,"updateNowIndicator"),this.initialNowDate=this.calendar.getNow(),this.initialNowQueriedMs=+new Date,this.renderNowIndicator(this.initialNowDate),this.isNowIndicatorRendered=!0,i=this.initialNowDate.clone().startOf(t).add(1,t)-this.initialNowDate,this.nowIndicatorTimeoutID=setTimeout(function(){r.nowIndicatorTimeoutID=null,n(),i=+e.duration(1,t),i=Math.max(100,i),r.nowIndicatorIntervalID=setInterval(n,i)},i)))},updateNowIndicator:function(){this.isNowIndicatorRendered&&(this.unrenderNowIndicator(),this.renderNowIndicator(this.initialNowDate.clone().add(new Date-this.initialNowQueriedMs)))},stopNowIndicator:function(){this.isNowIndicatorRendered&&(this.nowIndicatorTimeoutID&&(clearTimeout(this.nowIndicatorTimeoutID),this.nowIndicatorTimeoutID=null),this.nowIndicatorIntervalID&&(clearTimeout(this.nowIndicatorIntervalID),this.nowIndicatorIntervalID=null),this.unrenderNowIndicator(),this.isNowIndicatorRendered=!1)},getNowIndicatorUnit:function(){},renderNowIndicator:function(t){},unrenderNowIndicator:function(){},updateSize:function(t){var e;t&&(e=this.queryScroll()),this.updateHeight(t),this.updateWidth(t),this.updateNowIndicator(),t&&this.setScroll(e)},updateWidth:function(t){},updateHeight:function(t){var e=this.calendar;this.setHeight(e.getSuggestedViewHeight(),e.isHeightAuto())},setHeight:function(t,e){},computeInitialScroll:function(t){return 0},queryScroll:function(){},setScroll:function(t){},forceScroll:function(t){var e=this;this.setScroll(t),setTimeout(function(){e.setScroll(t)},0)},displayEvents:function(t){var e=this.queryScroll();this.clearEvents(),this.renderEvents(t),this.isEventsRendered=!0,this.setScroll(e),this.triggerEventRender()},clearEvents:function(){var t;this.isEventsRendered&&(t=this.queryScroll(),this.triggerEventUnrender(),this.destroyEvents&&this.destroyEvents(),this.unrenderEvents(),this.setScroll(t),this.isEventsRendered=!1)},renderEvents:function(t){},unrenderEvents:function(){},triggerEventRender:function(){this.renderedEventSegEach(function(t){this.trigger("eventAfterRender",t.event,t.event,t.el)}),this.trigger("eventAfterAllRender")},triggerEventUnrender:function(){this.renderedEventSegEach(function(t){this.trigger("eventDestroy",t.event,t.event,t.el)})},resolveEventEl:function(e,n){var i=this.trigger("eventRender",e,e,n);return i===!1?n=null:i&&i!==!0&&(n=t(i)),n},showEvent:function(t){this.renderedEventSegEach(function(t){t.el.css("visibility","")},t)},hideEvent:function(t){this.renderedEventSegEach(function(t){t.el.css("visibility","hidden")},t)},renderedEventSegEach:function(t,e){var n,i=this.getEventSegs();for(n=0;n<i.length;n++)e&&i[n].event._id!==e._id||i[n].el&&t.call(this,i[n])},getEventSegs:function(){return[]},isEventDraggable:function(t){return this.isEventStartEditable(t)},isEventStartEditable:function(t){return J(t.startEditable,(t.source||{}).startEditable,this.opt("eventStartEditable"),this.isEventGenerallyEditable(t))},isEventGenerallyEditable:function(t){return J(t.editable,(t.source||{}).editable,this.opt("editable"))},reportEventDrop:function(t,e,n,i,r){
+var s=this.calendar,o=s.mutateEvent(t,e,n),l=function(){o.undo(),s.reportEventChange()};this.triggerEventDrop(t,o.dateDelta,l,i,r),s.reportEventChange()},triggerEventDrop:function(t,e,n,i,r){this.trigger("eventDrop",i[0],t,e,n,r,{})},reportExternalDrop:function(e,n,i,r,s){var o,l,a=e.eventProps;a&&(o=t.extend({},a,n),l=this.calendar.renderEvent(o,e.stick)[0]),this.triggerExternalDrop(l,n,i,r,s)},triggerExternalDrop:function(t,e,n,i,r){this.trigger("drop",n[0],e.start,i,r),t&&this.trigger("eventReceive",null,t)},renderDrag:function(t,e){},unrenderDrag:function(){},isEventResizableFromStart:function(t){return this.opt("eventResizableFromStart")&&this.isEventResizable(t)},isEventResizableFromEnd:function(t){return this.isEventResizable(t)},isEventResizable:function(t){var e=t.source||{};return J(t.durationEditable,e.durationEditable,this.opt("eventDurationEditable"),t.editable,e.editable,this.opt("editable"))},reportEventResize:function(t,e,n,i,r){var s=this.calendar,o=s.mutateEvent(t,e,n),l=function(){o.undo(),s.reportEventChange()};this.triggerEventResize(t,o.durationDelta,l,i,r),s.reportEventChange()},triggerEventResize:function(t,e,n,i,r){this.trigger("eventResize",i[0],t,e,n,r,{})},select:function(t,e){this.unselect(e),this.renderSelection(t),this.reportSelection(t,e)},renderSelection:function(t){},reportSelection:function(t,e){this.isSelected=!0,this.triggerSelect(t,e)},triggerSelect:function(t,e){this.trigger("select",null,this.calendar.applyTimezone(t.start),this.calendar.applyTimezone(t.end),e)},unselect:function(t){this.isSelected&&(this.isSelected=!1,this.destroySelection&&this.destroySelection(),this.unrenderSelection(),this.trigger("unselect",null,t))},unrenderSelection:function(){},selectEvent:function(t){this.selectedEvent&&this.selectedEvent===t||(this.unselectEvent(),this.renderedEventSegEach(function(t){t.el.addClass("fc-selected")},t),this.selectedEvent=t)},unselectEvent:function(){this.selectedEvent&&(this.renderedEventSegEach(function(t){t.el.removeClass("fc-selected")},this.selectedEvent),this.selectedEvent=null)},isEventSelected:function(t){return this.selectedEvent&&this.selectedEvent._id===t._id},handleDocumentMousedown:function(t){S(t)&&this.processUnselect(t)},processUnselect:function(t){this.processRangeUnselect(t),this.processEventUnselect(t)},processRangeUnselect:function(e){var n;this.isSelected&&this.opt("unselectAuto")&&(n=this.opt("unselectCancel"),n&&t(e.target).closest(n).length||this.unselect(e))},processEventUnselect:function(e){this.selectedEvent&&(t(e.target).closest(".fc-selected").length||this.unselectEvent())},triggerDayClick:function(t,e,n){this.trigger("dayClick",e,this.calendar.applyTimezone(t.start),n)},initHiddenDays:function(){var e,n=this.opt("hiddenDays")||[],i=[],r=0;for(this.opt("weekends")===!1&&n.push(0,6),e=0;e<7;e++)(i[e]=t.inArray(e,n)!==-1)||r++;if(!r)throw"invalid hiddenDays";this.isHiddenDayHash=i},isHiddenDay:function(t){return e.isMoment(t)&&(t=t.day()),this.isHiddenDayHash[t]},skipHiddenDays:function(t,e,n){var i=t.clone();for(e=e||1;this.isHiddenDayHash[(i.day()+(n?e:0)+7)%7];)i.add(e,"days");return i},computeDayRange:function(t){var e,n=t.start.clone().stripTime(),i=t.end,r=null;return i&&(r=i.clone().stripTime(),e=+i.time(),e&&e>=this.nextDayThreshold&&r.add(1,"days")),(!i||r<=n)&&(r=n.clone().add(1,"days")),{start:n,end:r}},isMultiDayEvent:function(t){var e=this.computeDayRange(t);return e.end.diff(e.start,"days")>1}}),we=jt.Scroller=wt.extend({el:null,scrollEl:null,overflowX:null,overflowY:null,constructor:function(t){t=t||{},this.overflowX=t.overflowX||t.overflow||"auto",this.overflowY=t.overflowY||t.overflow||"auto"},render:function(){this.el=this.renderEl(),this.applyOverflow()},renderEl:function(){return this.scrollEl=t('<div class="fc-scroller"></div>')},clear:function(){this.setHeight("auto"),this.applyOverflow()},destroy:function(){this.el.remove()},applyOverflow:function(){this.scrollEl.css({"overflow-x":this.overflowX,"overflow-y":this.overflowY})},lockOverflow:function(t){var e=this.overflowX,n=this.overflowY;t=t||this.getScrollbarWidths(),"auto"===e&&(e=t.top||t.bottom||this.scrollEl[0].scrollWidth-1>this.scrollEl[0].clientWidth?"scroll":"hidden"),"auto"===n&&(n=t.left||t.right||this.scrollEl[0].scrollHeight-1>this.scrollEl[0].clientHeight?"scroll":"hidden"),this.scrollEl.css({"overflow-x":e,"overflow-y":n})},setHeight:function(t){this.scrollEl.height(t)},getScrollTop:function(){return this.scrollEl.scrollTop()},setScrollTop:function(t){this.scrollEl.scrollTop(t)},getClientWidth:function(){return this.scrollEl[0].clientWidth},getClientHeight:function(){return this.scrollEl[0].clientHeight},getScrollbarWidths:function(){return p(this.scrollEl)}}),Ee=jt.Calendar=wt.extend({dirDefaults:null,localeDefaults:null,overrides:null,dynamicOverrides:null,options:null,viewSpecCache:null,view:null,header:null,loadingLevel:0,constructor:Ot,initialize:function(){},populateOptionsHash:function(){var t,e,i,r;t=J(this.dynamicOverrides.locale,this.overrides.locale),e=De[t],e||(t=Ee.defaults.locale,e=De[t]||{}),i=J(this.dynamicOverrides.isRTL,this.overrides.isRTL,e.isRTL,Ee.defaults.isRTL),r=i?Ee.rtlDefaults:{},this.dirDefaults=r,this.localeDefaults=e,this.options=n([Ee.defaults,r,e,this.overrides,this.dynamicOverrides]),Vt(this.options)},getViewSpec:function(t){var e=this.viewSpecCache;return e[t]||(e[t]=this.buildViewSpec(t))},getUnitViewSpec:function(e){var n,i,r;if(t.inArray(e,Xt)!=-1)for(n=this.header.getViewsWithButtons(),t.each(jt.views,function(t){n.push(t)}),i=0;i<n.length;i++)if(r=this.getViewSpec(n[i]),r&&r.singleUnit==e)return r},buildViewSpec:function(t){for(var i,r,s,o,l=this.overrides.views||{},a=[],u=[],d=[],c=t;c;)i=Ut[c],r=l[c],c=null,"function"==typeof i&&(i={class:i}),i&&(a.unshift(i),u.unshift(i.defaults||{}),s=s||i.duration,c=c||i.type),r&&(d.unshift(r),s=s||r.duration,c=c||r.type);return i=q(a),i.type=t,!!i.class&&(s&&(s=e.duration(s),s.valueOf()&&(i.duration=s,o=O(s),1===s.as(o)&&(i.singleUnit=o,d.unshift(l[o]||{})))),i.defaults=n(u),i.overrides=n(d),this.buildViewSpecOptions(i),this.buildViewSpecButtonText(i,t),i)},buildViewSpecOptions:function(t){t.options=n([Ee.defaults,t.defaults,this.dirDefaults,this.localeDefaults,this.overrides,t.overrides,this.dynamicOverrides]),Vt(t.options)},buildViewSpecButtonText:function(t,e){function n(n){var i=n.buttonText||{};return i[e]||(t.buttonTextKey?i[t.buttonTextKey]:null)||(t.singleUnit?i[t.singleUnit]:null)}t.buttonTextOverride=n(this.dynamicOverrides)||n(this.overrides)||t.overrides.buttonText,t.buttonTextDefault=n(this.localeDefaults)||n(this.dirDefaults)||t.defaults.buttonText||n(Ee.defaults)||(t.duration?this.humanizeDuration(t.duration):null)||e},instantiateView:function(t){var e=this.getViewSpec(t);return new e.class(this,t,e.options,e.duration)},isValidViewType:function(t){return Boolean(this.getViewSpec(t))},pushLoading:function(){this.loadingLevel++||this.trigger("loading",null,!0,this.view)},popLoading:function(){--this.loadingLevel||this.trigger("loading",null,!1,this.view)},buildSelectSpan:function(t,e){var n,i=this.moment(t).stripZone();return n=e?this.moment(e).stripZone():i.hasTime()?i.clone().add(this.defaultTimedEventDuration):i.clone().add(this.defaultAllDayEventDuration),{start:i,end:n}}});Ee.mixin(le),Ee.mixin({optionHandlers:null,bindOption:function(t,e){this.bindOptions([t],e)},bindOptions:function(t,e){var n,i={func:e,names:t};for(n=0;n<t.length;n++)this.registerOptionHandlerObj(t[n],i);this.triggerOptionHandlerObj(i)},registerOptionHandlerObj:function(t,e){(this.optionHandlers[t]||(this.optionHandlers[t]=[])).push(e)},triggerOptionHandlers:function(t){var e,n=this.optionHandlers[t]||[];for(e=0;e<n.length;e++)this.triggerOptionHandlerObj(n[e])},triggerOptionHandlerObj:function(t){var e,n=t.names,i=[];for(e=0;e<n.length;e++)i.push(this.options[n[e]]);t.func.apply(this,i)}}),Ee.defaults={titleRangeSeparator:" – ",monthYearFormat:"MMMM YYYY",defaultTimedEventDuration:"02:00:00",defaultAllDayEventDuration:{days:1},forceEventDuration:!1,nextDayThreshold:"09:00:00",defaultView:"month",aspectRatio:1.35,header:{left:"title",center:"",right:"today prev,next"},weekends:!0,weekNumbers:!1,weekNumberTitle:"W",weekNumberCalculation:"local",scrollTime:"06:00:00",lazyFetching:!0,startParam:"start",endParam:"end",timezoneParam:"timezone",timezone:!1,isRTL:!1,buttonText:{prev:"prev",next:"next",prevYear:"prev year",nextYear:"next year",year:"year",today:"today",month:"month",week:"week",day:"day"},buttonIcons:{prev:"left-single-arrow",next:"right-single-arrow",prevYear:"left-double-arrow",nextYear:"right-double-arrow"},allDayText:"all-day",theme:!1,themeButtonIcons:{prev:"circle-triangle-w",next:"circle-triangle-e",prevYear:"seek-prev",nextYear:"seek-next"},dragOpacity:.75,dragRevertDuration:500,dragScroll:!0,unselectAuto:!0,dropAccept:"*",eventOrder:"title",eventLimit:!1,eventLimitText:"more",eventLimitClick:"popover",dayPopoverFormat:"LL",handleWindowResize:!0,windowResizeDelay:100,longPressDelay:1e3},Ee.englishDefaults={dayPopoverFormat:"dddd, MMMM D"},Ee.rtlDefaults={header:{left:"next,prev today",center:"",right:"title"},buttonIcons:{prev:"right-single-arrow",next:"left-single-arrow",prevYear:"right-double-arrow",nextYear:"left-double-arrow"},themeButtonIcons:{prev:"circle-triangle-e",next:"circle-triangle-w",nextYear:"seek-prev",prevYear:"seek-next"}};var De=jt.locales={};jt.datepickerLocale=function(e,n,i){var r=De[e]||(De[e]={});r.isRTL=i.isRTL,r.weekNumberTitle=i.weekHeader,t.each(be,function(t,e){r[t]=e(i)}),t.datepicker&&(t.datepicker.regional[n]=t.datepicker.regional[e]=i,t.datepicker.regional.en=t.datepicker.regional[""],t.datepicker.setDefaults(i))},jt.locale=function(e,i){var r,s;r=De[e]||(De[e]={}),i&&(r=De[e]=n([r,i])),s=Pt(e),t.each(Ce,function(t,e){null==r[t]&&(r[t]=e(s,r))}),Ee.defaults.locale=e};var be={buttonText:function(t){return{prev:et(t.prevText),next:et(t.nextText),today:et(t.currentText)}},monthYearFormat:function(t){return t.showMonthAfterYear?"YYYY["+t.yearSuffix+"] MMMM":"MMMM YYYY["+t.yearSuffix+"]"}},Ce={dayOfMonthFormat:function(t,e){var n=t.longDateFormat("l");return n=n.replace(/^Y+[^\w\s]*|[^\w\s]*Y+$/g,""),e.isRTL?n+=" ddd":n="ddd "+n,n},mediumTimeFormat:function(t){return t.longDateFormat("LT").replace(/\s*a$/i,"a")},smallTimeFormat:function(t){return t.longDateFormat("LT").replace(":mm","(:mm)").replace(/(\Wmm)$/,"($1)").replace(/\s*a$/i,"a")},extraSmallTimeFormat:function(t){return t.longDateFormat("LT").replace(":mm","(:mm)").replace(/(\Wmm)$/,"($1)").replace(/\s*a$/i,"t")},hourFormat:function(t){return t.longDateFormat("LT").replace(":mm","").replace(/(\Wmm)$/,"").replace(/\s*a$/i,"a")},noMeridiemTimeFormat:function(t){return t.longDateFormat("LT").replace(/\s*a$/i,"")}},He={smallDayDateFormat:function(t){return t.isRTL?"D dd":"dd D"},weekFormat:function(t){return t.isRTL?"w[ "+t.weekNumberTitle+"]":"["+t.weekNumberTitle+" ]w"},smallWeekFormat:function(t){return t.isRTL?"w["+t.weekNumberTitle+"]":"["+t.weekNumberTitle+"]w"}};jt.locale("en",Ee.englishDefaults),jt.sourceNormalizers=[],jt.sourceFetchers=[];var Te={dataType:"json",cache:!1},xe=1;Ee.prototype.normalizeEvent=function(t){},Ee.prototype.spanContainsSpan=function(t,e){var n=t.start.clone().stripZone(),i=this.getEventEnd(t).stripZone();return e.start>=n&&e.end<=i},Ee.prototype.getPeerEvents=function(t,e){var n,i,r=this.getEventCache(),s=[];for(n=0;n<r.length;n++)i=r[n],e&&e._id===i._id||s.push(i);return s},Ee.prototype.isEventSpanAllowed=function(t,e){var n=e.source||{},i=J(e.constraint,n.constraint,this.options.eventConstraint),r=J(e.overlap,n.overlap,this.options.eventOverlap);return this.isSpanAllowed(t,i,r,e)&&(!this.options.eventAllow||this.options.eventAllow(t,e)!==!1)},Ee.prototype.isExternalSpanAllowed=function(e,n,i){var r,s;return i&&(r=t.extend({},i,n),s=this.expandEvent(this.buildEventFromInput(r))[0]),s?this.isEventSpanAllowed(e,s):this.isSelectionSpanAllowed(e)},Ee.prototype.isSelectionSpanAllowed=function(t){return this.isSpanAllowed(t,this.options.selectConstraint,this.options.selectOverlap)&&(!this.options.selectAllow||this.options.selectAllow(t)!==!1)},Ee.prototype.isSpanAllowed=function(t,e,n,i){var r,s,o,l,a,u;if(null!=e&&(r=this.constraintToEvents(e))){for(s=!1,l=0;l<r.length;l++)if(this.spanContainsSpan(r[l],t)){s=!0;break}if(!s)return!1}for(o=this.getPeerEvents(t,i),l=0;l<o.length;l++)if(a=o[l],this.eventIntersectsRange(a,t)){if(n===!1)return!1;if("function"==typeof n&&!n(a,i))return!1;if(i){if(u=J(a.overlap,(a.source||{}).overlap),u===!1)return!1;if("function"==typeof u&&!u(i,a))return!1}}return!0},Ee.prototype.constraintToEvents=function(t){return"businessHours"===t?this.getCurrentBusinessHourEvents():"object"==typeof t?null!=t.start?this.expandEvent(this.buildEventFromInput(t)):null:this.clientEvents(t)},Ee.prototype.eventIntersectsRange=function(t,e){var n=t.start.clone().stripZone(),i=this.getEventEnd(t).stripZone();return e.start<i&&e.end>n};var Re={id:"_fcBusinessHours",start:"09:00",end:"17:00",dow:[1,2,3,4,5],rendering:"inverse-background"};Ee.prototype.getCurrentBusinessHourEvents=function(t){return this.computeBusinessHourEvents(t,this.options.businessHours)},Ee.prototype.computeBusinessHourEvents=function(e,n){return n===!0?this.expandBusinessHourEvents(e,[{}]):t.isPlainObject(n)?this.expandBusinessHourEvents(e,[n]):t.isArray(n)?this.expandBusinessHourEvents(e,n,!0):[]},Ee.prototype.expandBusinessHourEvents=function(e,n,i){var r,s,o=this.getView(),l=[];for(r=0;r<n.length;r++)s=n[r],i&&!s.dow||(s=t.extend({},Re,s),e&&(s.start=null,s.end=null),l.push.apply(l,this.expandEvent(this.buildEventFromInput(s),o.start,o.end)));return l};var Ie=jt.BasicView=Se.extend({scroller:null,dayGridClass:me,dayGrid:null,dayNumbersVisible:!1,colWeekNumbersVisible:!1,cellWeekNumbersVisible:!1,weekNumberWidth:null,headContainerEl:null,headRowEl:null,initialize:function(){this.dayGrid=this.instantiateDayGrid(),this.scroller=new we({overflowX:"hidden",overflowY:"auto"})},instantiateDayGrid:function(){var t=this.dayGridClass.extend(ke);return new t(this)},setRange:function(t){Se.prototype.setRange.call(this,t),this.dayGrid.breakOnWeeks=/year|month|week/.test(this.intervalUnit),this.dayGrid.setRange(t)},computeRange:function(t){var e=Se.prototype.computeRange.call(this,t);return/year|month/.test(e.intervalUnit)&&(e.start.startOf("week"),e.start=this.skipHiddenDays(e.start),e.end.weekday()&&(e.end.add(1,"week").startOf("week"),e.end=this.skipHiddenDays(e.end,-1,!0))),e},renderDates:function(){this.dayNumbersVisible=this.dayGrid.rowCnt>1,this.opt("weekNumbers")&&(this.opt("weekNumbersWithinDays")?(this.cellWeekNumbersVisible=!0,this.colWeekNumbersVisible=!1):(this.cellWeekNumbersVisible=!1,this.colWeekNumbersVisible=!0)),this.dayGrid.numbersVisible=this.dayNumbersVisible||this.cellWeekNumbersVisible||this.colWeekNumbersVisible,this.el.addClass("fc-basic-view").html(this.renderSkeletonHtml()),this.renderHead(),this.scroller.render();var e=this.scroller.el.addClass("fc-day-grid-container"),n=t('<div class="fc-day-grid" />').appendTo(e);this.el.find(".fc-body > tr > td").append(e),this.dayGrid.setElement(n),this.dayGrid.renderDates(this.hasRigidRows())},renderHead:function(){this.headContainerEl=this.el.find(".fc-head-container").html(this.dayGrid.renderHeadHtml()),this.headRowEl=this.headContainerEl.find(".fc-row")},unrenderDates:function(){this.dayGrid.unrenderDates(),this.dayGrid.removeElement(),this.scroller.destroy()},renderBusinessHours:function(){this.dayGrid.renderBusinessHours()},unrenderBusinessHours:function(){this.dayGrid.unrenderBusinessHours()},renderSkeletonHtml:function(){return'<table><thead class="fc-head"><tr><td class="fc-head-container '+this.widgetHeaderClass+'"></td></tr></thead><tbody class="fc-body"><tr><td class="'+this.widgetContentClass+'"></td></tr></tbody></table>'},weekNumberStyleAttr:function(){return null!==this.weekNumberWidth?'style="width:'+this.weekNumberWidth+'px"':""},hasRigidRows:function(){var t=this.opt("eventLimit");return t&&"number"!=typeof t},updateWidth:function(){this.colWeekNumbersVisible&&(this.weekNumberWidth=u(this.el.find(".fc-week-number")))},setHeight:function(t,e){var n,s,o=this.opt("eventLimit");this.scroller.clear(),r(this.headRowEl),this.dayGrid.removeSegPopover(),o&&"number"==typeof o&&this.dayGrid.limitRows(o),n=this.computeScrollerHeight(t),this.setGridHeight(n,e),o&&"number"!=typeof o&&this.dayGrid.limitRows(o),e||(this.scroller.setHeight(n),s=this.scroller.getScrollbarWidths(),(s.left||s.right)&&(i(this.headRowEl,s),n=this.computeScrollerHeight(t),this.scroller.setHeight(n)),this.scroller.lockOverflow(s))},computeScrollerHeight:function(t){return t-d(this.el,this.scroller.el)},setGridHeight:function(t,e){e?a(this.dayGrid.rowEls):l(this.dayGrid.rowEls,t,!0)},queryScroll:function(){return this.scroller.getScrollTop()},setScroll:function(t){this.scroller.setScrollTop(t)},prepareHits:function(){this.dayGrid.prepareHits()},releaseHits:function(){this.dayGrid.releaseHits()},queryHit:function(t,e){return this.dayGrid.queryHit(t,e)},getHitSpan:function(t){return this.dayGrid.getHitSpan(t)},getHitEl:function(t){return this.dayGrid.getHitEl(t)},renderEvents:function(t){this.dayGrid.renderEvents(t),this.updateHeight()},getEventSegs:function(){return this.dayGrid.getEventSegs()},unrenderEvents:function(){this.dayGrid.unrenderEvents()},renderDrag:function(t,e){return this.dayGrid.renderDrag(t,e)},unrenderDrag:function(){this.dayGrid.unrenderDrag()},renderSelection:function(t){this.dayGrid.renderSelection(t)},unrenderSelection:function(){this.dayGrid.unrenderSelection()}}),ke={renderHeadIntroHtml:function(){var t=this.view;return t.colWeekNumbersVisible?'<th class="fc-week-number '+t.widgetHeaderClass+'" '+t.weekNumberStyleAttr()+"><span>"+tt(t.opt("weekNumberTitle"))+"</span></th>":""},renderNumberIntroHtml:function(t){var e=this.view,n=this.getCellDate(t,0);return e.colWeekNumbersVisible?'<td class="fc-week-number" '+e.weekNumberStyleAttr()+">"+e.buildGotoAnchorHtml({date:n,type:"week",forceOff:1===this.colCnt},n.format("w"))+"</td>":""},renderBgIntroHtml:function(){var t=this.view;return t.colWeekNumbersVisible?'<td class="fc-week-number '+t.widgetContentClass+'" '+t.weekNumberStyleAttr()+"></td>":""},renderIntroHtml:function(){var t=this.view;return t.colWeekNumbersVisible?'<td class="fc-week-number" '+t.weekNumberStyleAttr()+"></td>":""}},Me=jt.MonthView=Ie.extend({computeRange:function(t){var e,n=Ie.prototype.computeRange.call(this,t);return this.isFixedWeeks()&&(e=Math.ceil(n.end.diff(n.start,"weeks",!0)),n.end.add(6-e,"weeks")),n},setGridHeight:function(t,e){e&&(t*=this.rowCnt/6),l(this.dayGrid.rowEls,t,!e)},isFixedWeeks:function(){return this.opt("fixedWeekCount")}});Ut.basic={class:Ie},Ut.basicDay={type:"basic",duration:{days:1}},Ut.basicWeek={type:"basic",duration:{weeks:1}},Ut.month={class:Me,duration:{months:1},defaults:{fixedWeekCount:!0}};var Le=jt.AgendaView=Se.extend({scroller:null,timeGridClass:ye,timeGrid:null,dayGridClass:me,dayGrid:null,axisWidth:null,headContainerEl:null,noScrollRowEls:null,bottomRuleEl:null,initialize:function(){this.timeGrid=this.instantiateTimeGrid(),this.opt("allDaySlot")&&(this.dayGrid=this.instantiateDayGrid()),this.scroller=new we({overflowX:"hidden",overflowY:"auto"})},instantiateTimeGrid:function(){var t=this.timeGridClass.extend(Be);return new t(this)},instantiateDayGrid:function(){var t=this.dayGridClass.extend(ze);return new t(this)},setRange:function(t){Se.prototype.setRange.call(this,t),this.timeGrid.setRange(t),this.dayGrid&&this.dayGrid.setRange(t)},renderDates:function(){this.el.addClass("fc-agenda-view").html(this.renderSkeletonHtml()),this.renderHead(),this.scroller.render();var e=this.scroller.el.addClass("fc-time-grid-container"),n=t('<div class="fc-time-grid" />').appendTo(e);this.el.find(".fc-body > tr > td").append(e),this.timeGrid.setElement(n),this.timeGrid.renderDates(),this.bottomRuleEl=t('<hr class="fc-divider '+this.widgetHeaderClass+'"/>').appendTo(this.timeGrid.el),this.dayGrid&&(this.dayGrid.setElement(this.el.find(".fc-day-grid")),this.dayGrid.renderDates(),this.dayGrid.bottomCoordPadding=this.dayGrid.el.next("hr").outerHeight()),this.noScrollRowEls=this.el.find(".fc-row:not(.fc-scroller *)")},renderHead:function(){this.headContainerEl=this.el.find(".fc-head-container").html(this.timeGrid.renderHeadHtml())},unrenderDates:function(){this.timeGrid.unrenderDates(),this.timeGrid.removeElement(),this.dayGrid&&(this.dayGrid.unrenderDates(),this.dayGrid.removeElement()),this.scroller.destroy()},renderSkeletonHtml:function(){return'<table><thead class="fc-head"><tr><td class="fc-head-container '+this.widgetHeaderClass+'"></td></tr></thead><tbody class="fc-body"><tr><td class="'+this.widgetContentClass+'">'+(this.dayGrid?'<div class="fc-day-grid"/><hr class="fc-divider '+this.widgetHeaderClass+'"/>':"")+"</td></tr></tbody></table>"},axisStyleAttr:function(){return null!==this.axisWidth?'style="width:'+this.axisWidth+'px"':""},renderBusinessHours:function(){this.timeGrid.renderBusinessHours(),this.dayGrid&&this.dayGrid.renderBusinessHours()},unrenderBusinessHours:function(){this.timeGrid.unrenderBusinessHours(),this.dayGrid&&this.dayGrid.unrenderBusinessHours()},getNowIndicatorUnit:function(){return this.timeGrid.getNowIndicatorUnit()},renderNowIndicator:function(t){this.timeGrid.renderNowIndicator(t)},unrenderNowIndicator:function(){this.timeGrid.unrenderNowIndicator()},updateSize:function(t){this.timeGrid.updateSize(t),Se.prototype.updateSize.call(this,t)},updateWidth:function(){this.axisWidth=u(this.el.find(".fc-axis"))},setHeight:function(t,e){var n,s,o;this.bottomRuleEl.hide(),this.scroller.clear(),r(this.noScrollRowEls),this.dayGrid&&(this.dayGrid.removeSegPopover(),n=this.opt("eventLimit"),n&&"number"!=typeof n&&(n=Fe),n&&this.dayGrid.limitRows(n)),e||(s=this.computeScrollerHeight(t),this.scroller.setHeight(s),o=this.scroller.getScrollbarWidths(),(o.left||o.right)&&(i(this.noScrollRowEls,o),s=this.computeScrollerHeight(t),this.scroller.setHeight(s)),this.scroller.lockOverflow(o),this.timeGrid.getTotalSlatHeight()<s&&this.bottomRuleEl.show())},computeScrollerHeight:function(t){return t-d(this.el,this.scroller.el)},computeInitialScroll:function(){var t=e.duration(this.opt("scrollTime")),n=this.timeGrid.computeTimeTop(t);return n=Math.ceil(n),n&&n++,n},queryScroll:function(){return this.scroller.getScrollTop()},setScroll:function(t){this.scroller.setScrollTop(t)},prepareHits:function(){this.timeGrid.prepareHits(),this.dayGrid&&this.dayGrid.prepareHits()},releaseHits:function(){this.timeGrid.releaseHits(),this.dayGrid&&this.dayGrid.releaseHits()},queryHit:function(t,e){var n=this.timeGrid.queryHit(t,e);return!n&&this.dayGrid&&(n=this.dayGrid.queryHit(t,e)),n},getHitSpan:function(t){return t.component.getHitSpan(t)},getHitEl:function(t){return t.component.getHitEl(t)},renderEvents:function(t){var e,n,i=[],r=[],s=[];for(n=0;n<t.length;n++)t[n].allDay?i.push(t[n]):r.push(t[n]);e=this.timeGrid.renderEvents(r),this.dayGrid&&(s=this.dayGrid.renderEvents(i)),this.updateHeight()},getEventSegs:function(){return this.timeGrid.getEventSegs().concat(this.dayGrid?this.dayGrid.getEventSegs():[])},unrenderEvents:function(){this.timeGrid.unrenderEvents(),this.dayGrid&&this.dayGrid.unrenderEvents()},renderDrag:function(t,e){return t.start.hasTime()?this.timeGrid.renderDrag(t,e):this.dayGrid?this.dayGrid.renderDrag(t,e):void 0},unrenderDrag:function(){this.timeGrid.unrenderDrag(),this.dayGrid&&this.dayGrid.unrenderDrag()},renderSelection:function(t){t.start.hasTime()||t.end.hasTime()?this.timeGrid.renderSelection(t):this.dayGrid&&this.dayGrid.renderSelection(t)},unrenderSelection:function(){this.timeGrid.unrenderSelection(),this.dayGrid&&this.dayGrid.unrenderSelection()}}),Be={renderHeadIntroHtml:function(){var t,e=this.view;return e.opt("weekNumbers")?(t=this.start.format(e.opt("smallWeekFormat")),'<th class="fc-axis fc-week-number '+e.widgetHeaderClass+'" '+e.axisStyleAttr()+">"+e.buildGotoAnchorHtml({date:this.start,type:"week",forceOff:this.colCnt>1},tt(t))+"</th>"):'<th class="fc-axis '+e.widgetHeaderClass+'" '+e.axisStyleAttr()+"></th>"},renderBgIntroHtml:function(){var t=this.view;return'<td class="fc-axis '+t.widgetContentClass+'" '+t.axisStyleAttr()+"></td>"},renderIntroHtml:function(){var t=this.view;return'<td class="fc-axis" '+t.axisStyleAttr()+"></td>"}},ze={renderBgIntroHtml:function(){var t=this.view;return'<td class="fc-axis '+t.widgetContentClass+'" '+t.axisStyleAttr()+"><span>"+t.getAllDayHtml()+"</span></td>"},renderIntroHtml:function(){var t=this.view;return'<td class="fc-axis" '+t.axisStyleAttr()+"></td>"}},Fe=5,Ne=[{hours:1},{minutes:30},{minutes:15},{seconds:30},{seconds:15}];Ut.agenda={class:Le,defaults:{allDaySlot:!0,slotDuration:"00:30:00",minTime:"00:00:00",maxTime:"24:00:00",slotEventOverlap:!0}},Ut.agendaDay={type:"agenda",duration:{days:1}},Ut.agendaWeek={type:"agenda",duration:{weeks:1}};var Ge=Se.extend({grid:null,scroller:null,initialize:function(){this.grid=new Ae(this),this.scroller=new we({overflowX:"hidden",overflowY:"auto"})},setRange:function(t){Se.prototype.setRange.call(this,t),this.grid.setRange(t)},renderSkeleton:function(){this.el.addClass("fc-list-view "+this.widgetContentClass),this.scroller.render(),this.scroller.el.appendTo(this.el),this.grid.setElement(this.scroller.scrollEl)},unrenderSkeleton:function(){this.scroller.destroy()},setHeight:function(t,e){this.scroller.setHeight(this.computeScrollerHeight(t))},computeScrollerHeight:function(t){return t-d(this.el,this.scroller.el)},renderEvents:function(t){this.grid.renderEvents(t)},unrenderEvents:function(){this.grid.unrenderEvents()},isEventResizable:function(t){return!1},isEventDraggable:function(t){return!1}}),Ae=pe.extend({segSelector:".fc-list-item",hasDayInteractions:!1,spanToSegs:function(t){for(var e,n=this.view,i=n.start.clone().time(0),r=0,s=[];i<n.end;)if(e=F(t,{start:i,end:i.clone().add(1,"day")}),e&&(e.dayIndex=r,s.push(e)),i.add(1,"day"),r++,e&&!e.isEnd&&t.end.hasTime()&&t.end<i.clone().add(this.view.nextDayThreshold)){e.end=t.end.clone(),e.isEnd=!0;break}return s},computeEventTimeFormat:function(){return this.view.opt("mediumTimeFormat")},handleSegClick:function(e,n){var i;pe.prototype.handleSegClick.apply(this,arguments),t(n.target).closest("a[href]").length||(i=e.event.url,i&&!n.isDefaultPrevented()&&(window.location.href=i))},renderFgSegs:function(t){return t=this.renderFgSegEls(t),t.length?this.renderSegList(t):this.renderEmptyMessage(),t},renderEmptyMessage:function(){this.el.html('<div class="fc-list-empty-wrap2"><div class="fc-list-empty-wrap1"><div class="fc-list-empty">'+tt(this.view.opt("noEventsMessage"))+"</div></div></div>")},renderSegList:function(e){var n,i,r,s=this.groupSegsByDay(e),o=t('<table class="fc-list-table"><tbody/></table>'),l=o.find("tbody");for(n=0;n<s.length;n++)if(i=s[n])for(l.append(this.dayHeaderHtml(this.view.start.clone().add(n,"days"))),this.sortEventSegs(i),r=0;r<i.length;r++)l.append(i[r].el);this.el.empty().append(o)},groupSegsByDay:function(t){var e,n,i=[];for(e=0;e<t.length;e++)n=t[e],(i[n.dayIndex]||(i[n.dayIndex]=[])).push(n);return i},dayHeaderHtml:function(t){var e=this.view,n=e.opt("listDayFormat"),i=e.opt("listDayAltFormat");return'<tr class="fc-list-heading" data-date="'+t.format("YYYY-MM-DD")+'"><td class="'+e.widgetHeaderClass+'" colspan="3">'+(n?e.buildGotoAnchorHtml(t,{class:"fc-list-heading-main"},tt(t.format(n))):"")+(i?e.buildGotoAnchorHtml(t,{class:"fc-list-heading-alt"},tt(t.format(i))):"")+"</td></tr>"},fgSegHtml:function(t){var e,n=this.view,i=["fc-list-item"].concat(this.getSegCustomClasses(t)),r=this.getSegBackgroundColor(t),s=t.event,o=s.url;return e=s.allDay?n.getAllDayHtml():n.isMultiDayEvent(s)?t.isStart||t.isEnd?tt(this.getEventTimeText(t)):n.getAllDayHtml():tt(this.getEventTimeText(s)),o&&i.push("fc-has-url"),'<tr class="'+i.join(" ")+'">'+(this.displayEventTime?'<td class="fc-list-item-time '+n.widgetContentClass+'">'+(e||"")+"</td>":"")+'<td class="fc-list-item-marker '+n.widgetContentClass+'"><span class="fc-event-dot"'+(r?' style="background-color:'+r+'"':"")+'></span></td><td class="fc-list-item-title '+n.widgetContentClass+'"><a'+(o?' href="'+tt(o)+'"':"")+">"+tt(t.event.title||"")+"</a></td></tr>"}});return Ut.list={class:Ge,buttonTextKey:"list",defaults:{buttonText:"list",listDayFormat:"LL",noEventsMessage:"No events to display"}},Ut.listDay={type:"list",duration:{days:1},defaults:{listDayFormat:"dddd"}},Ut.listWeek={type:"list",duration:{weeks:1},defaults:{listDayFormat:"dddd",listDayAltFormat:"LL"}},Ut.listMonth={type:"list",duration:{month:1},defaults:{listDayAltFormat:"dddd"}},Ut.listYear={type:"list",duration:{year:1},defaults:{listDayAltFormat:"dddd"}},jt}); \ No newline at end of file
diff --git a/library/fullcalendar/fullcalendar.print.css b/library/fullcalendar/fullcalendar.print.css
index 83d11563b..bfa910b3c 100644
--- a/library/fullcalendar/fullcalendar.print.css
+++ b/library/fullcalendar/fullcalendar.print.css
@@ -1,5 +1,5 @@
/*!
- * FullCalendar v2.8.0 Print Stylesheet
+ * FullCalendar v3.0.1 Print Stylesheet
* Docs & License: http://fullcalendar.io/
* (c) 2016 Adam Shaw
*/
@@ -32,11 +32,11 @@
/* Table & Day-Row Restyling
--------------------------------------------------------------------------------------------------*/
-th,
-td,
-hr,
-thead,
-tbody,
+.fc th,
+.fc td,
+.fc hr,
+.fc thead,
+.fc tbody,
.fc-row {
border-color: #ccc !important;
background: #fff !important;
diff --git a/library/fullcalendar/gcal.js b/library/fullcalendar/gcal.js
index 1d6b91c5b..dfe6fa905 100644
--- a/library/fullcalendar/gcal.js
+++ b/library/fullcalendar/gcal.js
@@ -1,5 +1,5 @@
/*!
- * FullCalendar v2.8.0 Google Calendar Plugin
+ * FullCalendar v3.0.1 Google Calendar Plugin
* Docs & License: http://fullcalendar.io/
* (c) 2016 Adam Shaw
*/
diff --git a/library/fullcalendar/lang-all.js b/library/fullcalendar/lang-all.js
deleted file mode 100644
index dc7577063..000000000
--- a/library/fullcalendar/lang-all.js
+++ /dev/null
@@ -1,4 +0,0 @@
-!function(a){"function"==typeof define&&define.amd?define(["jquery","moment"],a):"object"==typeof exports?module.exports=a(require("jquery"),require("moment")):a(jQuery,moment)}(function(a,b){!function(){!function(){"use strict";var a=(b.defineLocale||b.lang).call(b,"ar-ma",{months:"يناير_فبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر".split("_"),monthsShort:"يناير_فبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر".split("_"),weekdays:"الأحد_الإتنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت".split("_"),weekdaysShort:"احد_اتنين_ثلاثاء_اربعاء_خميس_جمعة_سبت".split("_"),weekdaysMin:"ح_ن_ث_ر_خ_ج_س".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[اليوم على الساعة] LT",nextDay:"[غدا على الساعة] LT",nextWeek:"dddd [على الساعة] LT",lastDay:"[أمس على الساعة] LT",lastWeek:"dddd [على الساعة] LT",sameElse:"L"},relativeTime:{future:"في %s",past:"منذ %s",s:"ثوان",m:"دقيقة",mm:"%d دقائق",h:"ساعة",hh:"%d ساعات",d:"يوم",dd:"%d أيام",M:"شهر",MM:"%d أشهر",y:"سنة",yy:"%d سنوات"},week:{dow:6,doy:12}});return a}(),a.fullCalendar.datepickerLang("ar-ma","ar",{closeText:"إغلاق",prevText:"&#x3C;السابق",nextText:"التالي&#x3E;",currentText:"اليوم",monthNames:["يناير","فبراير","مارس","أبريل","مايو","يونيو","يوليو","أغسطس","سبتمبر","أكتوبر","نوفمبر","ديسمبر"],monthNamesShort:["1","2","3","4","5","6","7","8","9","10","11","12"],dayNames:["الأحد","الاثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"],dayNamesShort:["أحد","اثنين","ثلاثاء","أربعاء","خميس","جمعة","سبت"],dayNamesMin:["ح","ن","ث","ر","خ","ج","س"],weekHeader:"أسبوع",dateFormat:"dd/mm/yy",firstDay:0,isRTL:!0,showMonthAfterYear:!1,yearSuffix:""}),a.fullCalendar.lang("ar-ma",{buttonText:{month:"شهر",week:"أسبوع",day:"يوم",list:"أجندة"},allDayText:"اليوم كله",eventLimitText:"أخرى"})}(),function(){!function(){"use strict";var a={1:"١",2:"٢",3:"٣",4:"٤",5:"٥",6:"٦",7:"٧",8:"٨",9:"٩",0:"٠"},c={"١":"1","٢":"2","٣":"3","٤":"4","٥":"5","٦":"6","٧":"7","٨":"8","٩":"9","٠":"0"},d=(b.defineLocale||b.lang).call(b,"ar-sa",{months:"يناير_فبراير_مارس_أبريل_مايو_يونيو_يوليو_أغسطس_سبتمبر_أكتوبر_نوفمبر_ديسمبر".split("_"),monthsShort:"يناير_فبراير_مارس_أبريل_مايو_يونيو_يوليو_أغسطس_سبتمبر_أكتوبر_نوفمبر_ديسمبر".split("_"),weekdays:"الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت".split("_"),weekdaysShort:"أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت".split("_"),weekdaysMin:"ح_ن_ث_ر_خ_ج_س".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},meridiemParse:/ص|م/,isPM:function(a){return"م"===a},meridiem:function(a,b,c){return 12>a?"ص":"م"},calendar:{sameDay:"[اليوم على الساعة] LT",nextDay:"[غدا على الساعة] LT",nextWeek:"dddd [على الساعة] LT",lastDay:"[أمس على الساعة] LT",lastWeek:"dddd [على الساعة] LT",sameElse:"L"},relativeTime:{future:"في %s",past:"منذ %s",s:"ثوان",m:"دقيقة",mm:"%d دقائق",h:"ساعة",hh:"%d ساعات",d:"يوم",dd:"%d أيام",M:"شهر",MM:"%d أشهر",y:"سنة",yy:"%d سنوات"},preparse:function(a){return a.replace(/[١٢٣٤٥٦٧٨٩٠]/g,function(a){return c[a]}).replace(/،/g,",")},postformat:function(b){return b.replace(/\d/g,function(b){return a[b]}).replace(/,/g,"،")},week:{dow:6,doy:12}});return d}(),a.fullCalendar.datepickerLang("ar-sa","ar",{closeText:"إغلاق",prevText:"&#x3C;السابق",nextText:"التالي&#x3E;",currentText:"اليوم",monthNames:["يناير","فبراير","مارس","أبريل","مايو","يونيو","يوليو","أغسطس","سبتمبر","أكتوبر","نوفمبر","ديسمبر"],monthNamesShort:["1","2","3","4","5","6","7","8","9","10","11","12"],dayNames:["الأحد","الاثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"],dayNamesShort:["أحد","اثنين","ثلاثاء","أربعاء","خميس","جمعة","سبت"],dayNamesMin:["ح","ن","ث","ر","خ","ج","س"],weekHeader:"أسبوع",dateFormat:"dd/mm/yy",firstDay:0,isRTL:!0,showMonthAfterYear:!1,yearSuffix:""}),a.fullCalendar.lang("ar-sa",{buttonText:{month:"شهر",week:"أسبوع",day:"يوم",list:"أجندة"},allDayText:"اليوم كله",eventLimitText:"أخرى"})}(),function(){!function(){"use strict";var a=(b.defineLocale||b.lang).call(b,"ar-tn",{months:"جانفي_فيفري_مارس_أفريل_ماي_جوان_جويلية_أوت_سبتمبر_أكتوبر_نوفمبر_ديسمبر".split("_"),monthsShort:"جانفي_فيفري_مارس_أفريل_ماي_جوان_جويلية_أوت_سبتمبر_أكتوبر_نوفمبر_ديسمبر".split("_"),weekdays:"الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت".split("_"),weekdaysShort:"أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت".split("_"),weekdaysMin:"ح_ن_ث_ر_خ_ج_س".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[اليوم على الساعة] LT",nextDay:"[غدا على الساعة] LT",nextWeek:"dddd [على الساعة] LT",lastDay:"[أمس على الساعة] LT",lastWeek:"dddd [على الساعة] LT",sameElse:"L"},relativeTime:{future:"في %s",past:"منذ %s",s:"ثوان",m:"دقيقة",mm:"%d دقائق",h:"ساعة",hh:"%d ساعات",d:"يوم",dd:"%d أيام",M:"شهر",MM:"%d أشهر",y:"سنة",yy:"%d سنوات"},week:{dow:1,doy:4}});return a}(),a.fullCalendar.datepickerLang("ar-tn","ar",{closeText:"إغلاق",prevText:"&#x3C;السابق",nextText:"التالي&#x3E;",currentText:"اليوم",monthNames:["يناير","فبراير","مارس","أبريل","مايو","يونيو","يوليو","أغسطس","سبتمبر","أكتوبر","نوفمبر","ديسمبر"],monthNamesShort:["1","2","3","4","5","6","7","8","9","10","11","12"],dayNames:["الأحد","الاثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"],dayNamesShort:["أحد","اثنين","ثلاثاء","أربعاء","خميس","جمعة","سبت"],dayNamesMin:["ح","ن","ث","ر","خ","ج","س"],weekHeader:"أسبوع",dateFormat:"dd/mm/yy",firstDay:0,isRTL:!0,showMonthAfterYear:!1,yearSuffix:""}),a.fullCalendar.lang("ar-tn",{buttonText:{month:"شهر",week:"أسبوع",day:"يوم",list:"أجندة"},allDayText:"اليوم كله",eventLimitText:"أخرى"})}(),function(){!function(){"use strict";var a={1:"١",2:"٢",3:"٣",4:"٤",5:"٥",6:"٦",7:"٧",8:"٨",9:"٩",0:"٠"},c={"١":"1","٢":"2","٣":"3","٤":"4","٥":"5","٦":"6","٧":"7","٨":"8","٩":"9","٠":"0"},d=function(a){return 0===a?0:1===a?1:2===a?2:a%100>=3&&10>=a%100?3:a%100>=11?4:5},e={s:["أقل من ثانية","ثانية واحدة",["ثانيتان","ثانيتين"],"%d ثوان","%d ثانية","%d ثانية"],m:["أقل من دقيقة","دقيقة واحدة",["دقيقتان","دقيقتين"],"%d دقائق","%d دقيقة","%d دقيقة"],h:["أقل من ساعة","ساعة واحدة",["ساعتان","ساعتين"],"%d ساعات","%d ساعة","%d ساعة"],d:["أقل من يوم","يوم واحد",["يومان","يومين"],"%d أيام","%d يومًا","%d يوم"],M:["أقل من شهر","شهر واحد",["شهران","شهرين"],"%d أشهر","%d شهرا","%d شهر"],y:["أقل من عام","عام واحد",["عامان","عامين"],"%d أعوام","%d عامًا","%d عام"]},f=function(a){return function(b,c,f,g){var h=d(b),i=e[a][d(b)];return 2===h&&(i=i[c?0:1]),i.replace(/%d/i,b)}},g=["كانون الثاني يناير","شباط فبراير","آذار مارس","نيسان أبريل","أيار مايو","حزيران يونيو","تموز يوليو","آب أغسطس","أيلول سبتمبر","تشرين الأول أكتوبر","تشرين الثاني نوفمبر","كانون الأول ديسمبر"],h=(b.defineLocale||b.lang).call(b,"ar",{months:g,monthsShort:g,weekdays:"الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت".split("_"),weekdaysShort:"أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت".split("_"),weekdaysMin:"ح_ن_ث_ر_خ_ج_س".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"D/‏M/‏YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},meridiemParse:/ص|م/,isPM:function(a){return"م"===a},meridiem:function(a,b,c){return 12>a?"ص":"م"},calendar:{sameDay:"[اليوم عند الساعة] LT",nextDay:"[غدًا عند الساعة] LT",nextWeek:"dddd [عند الساعة] LT",lastDay:"[أمس عند الساعة] LT",lastWeek:"dddd [عند الساعة] LT",sameElse:"L"},relativeTime:{future:"بعد %s",past:"منذ %s",s:f("s"),m:f("m"),mm:f("m"),h:f("h"),hh:f("h"),d:f("d"),dd:f("d"),M:f("M"),MM:f("M"),y:f("y"),yy:f("y")},preparse:function(a){return a.replace(/\u200f/g,"").replace(/[١٢٣٤٥٦٧٨٩٠]/g,function(a){return c[a]}).replace(/،/g,",")},postformat:function(b){return b.replace(/\d/g,function(b){return a[b]}).replace(/,/g,"،")},week:{dow:6,doy:12}});return h}(),a.fullCalendar.datepickerLang("ar","ar",{closeText:"إغلاق",prevText:"&#x3C;السابق",nextText:"التالي&#x3E;",currentText:"اليوم",monthNames:["يناير","فبراير","مارس","أبريل","مايو","يونيو","يوليو","أغسطس","سبتمبر","أكتوبر","نوفمبر","ديسمبر"],monthNamesShort:["1","2","3","4","5","6","7","8","9","10","11","12"],dayNames:["الأحد","الاثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"],dayNamesShort:["أحد","اثنين","ثلاثاء","أربعاء","خميس","جمعة","سبت"],dayNamesMin:["ح","ن","ث","ر","خ","ج","س"],weekHeader:"أسبوع",dateFormat:"dd/mm/yy",firstDay:0,isRTL:!0,showMonthAfterYear:!1,yearSuffix:""}),a.fullCalendar.lang("ar",{buttonText:{month:"شهر",week:"أسبوع",day:"يوم",list:"أجندة"},allDayText:"اليوم كله",eventLimitText:"أخرى"})}(),function(){!function(){"use strict";var a=(b.defineLocale||b.lang).call(b,"bg",{months:"януари_февруари_март_април_май_юни_юли_август_септември_октомври_ноември_декември".split("_"),monthsShort:"янр_фев_мар_апр_май_юни_юли_авг_сеп_окт_ное_дек".split("_"),weekdays:"неделя_понеделник_вторник_сряда_четвъртък_петък_събота".split("_"),weekdaysShort:"нед_пон_вто_сря_чет_пет_съб".split("_"),weekdaysMin:"нд_пн_вт_ср_чт_пт_сб".split("_"),longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"D.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY H:mm",LLLL:"dddd, D MMMM YYYY H:mm"},calendar:{sameDay:"[Днес в] LT",nextDay:"[Утре в] LT",nextWeek:"dddd [в] LT",lastDay:"[Вчера в] LT",lastWeek:function(){switch(this.day()){case 0:case 3:case 6:return"[В изминалата] dddd [в] LT";case 1:case 2:case 4:case 5:return"[В изминалия] dddd [в] LT"}},sameElse:"L"},relativeTime:{future:"след %s",past:"преди %s",s:"няколко секунди",m:"минута",mm:"%d минути",h:"час",hh:"%d часа",d:"ден",dd:"%d дни",M:"месец",MM:"%d месеца",y:"година",yy:"%d години"},ordinalParse:/\d{1,2}-(ев|ен|ти|ви|ри|ми)/,ordinal:function(a){var b=a%10,c=a%100;return 0===a?a+"-ев":0===c?a+"-ен":c>10&&20>c?a+"-ти":1===b?a+"-ви":2===b?a+"-ри":7===b||8===b?a+"-ми":a+"-ти"},week:{dow:1,doy:7}});return a}(),a.fullCalendar.datepickerLang("bg","bg",{closeText:"затвори",prevText:"&#x3C;назад",nextText:"напред&#x3E;",nextBigText:"&#x3E;&#x3E;",currentText:"днес",monthNames:["Януари","Февруари","Март","Април","Май","Юни","Юли","Август","Септември","Октомври","Ноември","Декември"],monthNamesShort:["Яну","Фев","Мар","Апр","Май","Юни","Юли","Авг","Сеп","Окт","Нов","Дек"],dayNames:["Неделя","Понеделник","Вторник","Сряда","Четвъртък","Петък","Събота"],dayNamesShort:["Нед","Пон","Вто","Сря","Чет","Пет","Съб"],dayNamesMin:["Не","По","Вт","Ср","Че","Пе","Съ"],weekHeader:"Wk",dateFormat:"dd.mm.yy",firstDay:1,isRTL:!1,showMonthAfterYear:!1,yearSuffix:""}),a.fullCalendar.lang("bg",{buttonText:{month:"Месец",week:"Седмица",day:"Ден",list:"График"},allDayText:"Цял ден",eventLimitText:function(a){return"+още "+a}})}(),function(){!function(){"use strict";var a=(b.defineLocale||b.lang).call(b,"ca",{months:"gener_febrer_març_abril_maig_juny_juliol_agost_setembre_octubre_novembre_desembre".split("_"),monthsShort:"gen._febr._mar._abr._mai._jun._jul._ag._set._oct._nov._des.".split("_"),monthsParseExact:!0,weekdays:"diumenge_dilluns_dimarts_dimecres_dijous_divendres_dissabte".split("_"),weekdaysShort:"dg._dl._dt._dc._dj._dv._ds.".split("_"),weekdaysMin:"Dg_Dl_Dt_Dc_Dj_Dv_Ds".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY H:mm",LLLL:"dddd D MMMM YYYY H:mm"},calendar:{sameDay:function(){return"[avui a "+(1!==this.hours()?"les":"la")+"] LT"},nextDay:function(){return"[demà a "+(1!==this.hours()?"les":"la")+"] LT"},nextWeek:function(){return"dddd [a "+(1!==this.hours()?"les":"la")+"] LT"},lastDay:function(){return"[ahir a "+(1!==this.hours()?"les":"la")+"] LT"},lastWeek:function(){return"[el] dddd [passat a "+(1!==this.hours()?"les":"la")+"] LT"},sameElse:"L"},relativeTime:{future:"en %s",past:"fa %s",s:"uns segons",m:"un minut",mm:"%d minuts",h:"una hora",hh:"%d hores",d:"un dia",dd:"%d dies",M:"un mes",MM:"%d mesos",y:"un any",yy:"%d anys"},ordinalParse:/\d{1,2}(r|n|t|è|a)/,ordinal:function(a,b){var c=1===a?"r":2===a?"n":3===a?"r":4===a?"t":"è";return"w"!==b&&"W"!==b||(c="a"),a+c},week:{dow:1,doy:4}});return a}(),a.fullCalendar.datepickerLang("ca","ca",{closeText:"Tanca",prevText:"Anterior",nextText:"Següent",currentText:"Avui",monthNames:["gener","febrer","març","abril","maig","juny","juliol","agost","setembre","octubre","novembre","desembre"],monthNamesShort:["gen","feb","març","abr","maig","juny","jul","ag","set","oct","nov","des"],dayNames:["diumenge","dilluns","dimarts","dimecres","dijous","divendres","dissabte"],dayNamesShort:["dg","dl","dt","dc","dj","dv","ds"],dayNamesMin:["dg","dl","dt","dc","dj","dv","ds"],weekHeader:"Set",dateFormat:"dd/mm/yy",firstDay:1,isRTL:!1,showMonthAfterYear:!1,yearSuffix:""}),a.fullCalendar.lang("ca",{buttonText:{month:"Mes",week:"Setmana",day:"Dia",list:"Agenda"},allDayText:"Tot el dia",eventLimitText:"més"})}(),function(){!function(){"use strict";function a(a){return a>1&&5>a&&1!==~~(a/10)}function c(b,c,d,e){var f=b+" ";switch(d){case"s":return c||e?"pár sekund":"pár sekundami";case"m":return c?"minuta":e?"minutu":"minutou";case"mm":return c||e?f+(a(b)?"minuty":"minut"):f+"minutami";case"h":return c?"hodina":e?"hodinu":"hodinou";case"hh":return c||e?f+(a(b)?"hodiny":"hodin"):f+"hodinami";case"d":return c||e?"den":"dnem";case"dd":return c||e?f+(a(b)?"dny":"dní"):f+"dny";case"M":return c||e?"měsíc":"měsícem";case"MM":return c||e?f+(a(b)?"měsíce":"měsíců"):f+"měsíci";case"y":return c||e?"rok":"rokem";case"yy":return c||e?f+(a(b)?"roky":"let"):f+"lety"}}var d="leden_únor_březen_duben_květen_červen_červenec_srpen_září_říjen_listopad_prosinec".split("_"),e="led_úno_bře_dub_kvě_čvn_čvc_srp_zář_říj_lis_pro".split("_"),f=(b.defineLocale||b.lang).call(b,"cs",{months:d,monthsShort:e,monthsParse:function(a,b){var c,d=[];for(c=0;12>c;c++)d[c]=new RegExp("^"+a[c]+"$|^"+b[c]+"$","i");return d}(d,e),shortMonthsParse:function(a){var b,c=[];for(b=0;12>b;b++)c[b]=new RegExp("^"+a[b]+"$","i");return c}(e),longMonthsParse:function(a){var b,c=[];for(b=0;12>b;b++)c[b]=new RegExp("^"+a[b]+"$","i");return c}(d),weekdays:"neděle_pondělí_úterý_středa_čtvrtek_pátek_sobota".split("_"),weekdaysShort:"ne_po_út_st_čt_pá_so".split("_"),weekdaysMin:"ne_po_út_st_čt_pá_so".split("_"),longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY H:mm",LLLL:"dddd D. MMMM YYYY H:mm"},calendar:{sameDay:"[dnes v] LT",nextDay:"[zítra v] LT",nextWeek:function(){switch(this.day()){case 0:return"[v neděli v] LT";case 1:case 2:return"[v] dddd [v] LT";case 3:return"[ve středu v] LT";case 4:return"[ve čtvrtek v] LT";case 5:return"[v pátek v] LT";case 6:return"[v sobotu v] LT"}},lastDay:"[včera v] LT",lastWeek:function(){switch(this.day()){case 0:return"[minulou neděli v] LT";case 1:case 2:return"[minulé] dddd [v] LT";case 3:return"[minulou středu v] LT";case 4:case 5:return"[minulý] dddd [v] LT";case 6:return"[minulou sobotu v] LT"}},sameElse:"L"},relativeTime:{future:"za %s",past:"před %s",s:c,m:c,mm:c,h:c,hh:c,d:c,dd:c,M:c,MM:c,y:c,yy:c},ordinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}});return f}(),a.fullCalendar.datepickerLang("cs","cs",{closeText:"Zavřít",prevText:"&#x3C;Dříve",nextText:"Později&#x3E;",currentText:"Nyní",monthNames:["leden","únor","březen","duben","květen","červen","červenec","srpen","září","říjen","listopad","prosinec"],monthNamesShort:["led","úno","bře","dub","kvě","čer","čvc","srp","zář","říj","lis","pro"],dayNames:["neděle","pondělí","úterý","středa","čtvrtek","pátek","sobota"],dayNamesShort:["ne","po","út","st","čt","pá","so"],dayNamesMin:["ne","po","út","st","čt","pá","so"],weekHeader:"Týd",dateFormat:"dd.mm.yy",firstDay:1,isRTL:!1,showMonthAfterYear:!1,yearSuffix:""}),a.fullCalendar.lang("cs",{buttonText:{month:"Měsíc",week:"Týden",day:"Den",list:"Agenda"},allDayText:"Celý den",eventLimitText:function(a){return"+další: "+a}})}(),function(){!function(){"use strict";var a=(b.defineLocale||b.lang).call(b,"da",{months:"januar_februar_marts_april_maj_juni_juli_august_september_oktober_november_december".split("_"),monthsShort:"jan_feb_mar_apr_maj_jun_jul_aug_sep_okt_nov_dec".split("_"),weekdays:"søndag_mandag_tirsdag_onsdag_torsdag_fredag_lørdag".split("_"),weekdaysShort:"søn_man_tir_ons_tor_fre_lør".split("_"),weekdaysMin:"sø_ma_ti_on_to_fr_lø".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY HH:mm",LLLL:"dddd [d.] D. MMMM YYYY HH:mm"},calendar:{sameDay:"[I dag kl.] LT",nextDay:"[I morgen kl.] LT",nextWeek:"dddd [kl.] LT",lastDay:"[I går kl.] LT",lastWeek:"[sidste] dddd [kl] LT",sameElse:"L"},relativeTime:{future:"om %s",past:"%s siden",s:"få sekunder",m:"et minut",mm:"%d minutter",h:"en time",hh:"%d timer",d:"en dag",dd:"%d dage",M:"en måned",MM:"%d måneder",y:"et år",yy:"%d år"},ordinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}});return a}(),a.fullCalendar.datepickerLang("da","da",{closeText:"Luk",prevText:"&#x3C;Forrige",nextText:"Næste&#x3E;",currentText:"Idag",monthNames:["Januar","Februar","Marts","April","Maj","Juni","Juli","August","September","Oktober","November","December"],monthNamesShort:["Jan","Feb","Mar","Apr","Maj","Jun","Jul","Aug","Sep","Okt","Nov","Dec"],dayNames:["Søndag","Mandag","Tirsdag","Onsdag","Torsdag","Fredag","Lørdag"],dayNamesShort:["Søn","Man","Tir","Ons","Tor","Fre","Lør"],dayNamesMin:["Sø","Ma","Ti","On","To","Fr","Lø"],weekHeader:"Uge",dateFormat:"dd-mm-yy",firstDay:1,isRTL:!1,showMonthAfterYear:!1,yearSuffix:""}),a.fullCalendar.lang("da",{buttonText:{month:"Måned",week:"Uge",day:"Dag",list:"Agenda"},allDayText:"Hele dagen",eventLimitText:"flere"})}(),function(){!function(){"use strict";function a(a,b,c,d){var e={m:["eine Minute","einer Minute"],h:["eine Stunde","einer Stunde"],d:["ein Tag","einem Tag"],dd:[a+" Tage",a+" Tagen"],M:["ein Monat","einem Monat"],MM:[a+" Monate",a+" Monaten"],y:["ein Jahr","einem Jahr"],yy:[a+" Jahre",a+" Jahren"]};return b?e[c][0]:e[c][1]}var c=(b.defineLocale||b.lang).call(b,"de-at",{months:"Jänner_Februar_März_April_Mai_Juni_Juli_August_September_Oktober_November_Dezember".split("_"),monthsShort:"Jän._Febr._Mrz._Apr._Mai_Jun._Jul._Aug._Sept._Okt._Nov._Dez.".split("_"),monthsParseExact:!0,weekdays:"Sonntag_Montag_Dienstag_Mittwoch_Donnerstag_Freitag_Samstag".split("_"),weekdaysShort:"So._Mo._Di._Mi._Do._Fr._Sa.".split("_"),weekdaysMin:"So_Mo_Di_Mi_Do_Fr_Sa".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY HH:mm",LLLL:"dddd, D. MMMM YYYY HH:mm"},calendar:{sameDay:"[heute um] LT [Uhr]",sameElse:"L",nextDay:"[morgen um] LT [Uhr]",nextWeek:"dddd [um] LT [Uhr]",lastDay:"[gestern um] LT [Uhr]",lastWeek:"[letzten] dddd [um] LT [Uhr]"},relativeTime:{future:"in %s",past:"vor %s",s:"ein paar Sekunden",m:a,mm:"%d Minuten",h:a,hh:"%d Stunden",d:a,dd:a,M:a,MM:a,y:a,yy:a},ordinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}});return c}(),a.fullCalendar.datepickerLang("de-at","de",{closeText:"Schließen",prevText:"&#x3C;Zurück",nextText:"Vor&#x3E;",currentText:"Heute",monthNames:["Januar","Februar","März","April","Mai","Juni","Juli","August","September","Oktober","November","Dezember"],monthNamesShort:["Jan","Feb","Mär","Apr","Mai","Jun","Jul","Aug","Sep","Okt","Nov","Dez"],dayNames:["Sonntag","Montag","Dienstag","Mittwoch","Donnerstag","Freitag","Samstag"],dayNamesShort:["So","Mo","Di","Mi","Do","Fr","Sa"],dayNamesMin:["So","Mo","Di","Mi","Do","Fr","Sa"],weekHeader:"KW",dateFormat:"dd.mm.yy",firstDay:1,isRTL:!1,showMonthAfterYear:!1,yearSuffix:""}),a.fullCalendar.lang("de-at",{buttonText:{month:"Monat",week:"Woche",day:"Tag",list:"Terminübersicht"},allDayText:"Ganztägig",eventLimitText:function(a){return"+ weitere "+a}})}(),function(){!function(){"use strict";function a(a,b,c,d){var e={m:["eine Minute","einer Minute"],h:["eine Stunde","einer Stunde"],d:["ein Tag","einem Tag"],dd:[a+" Tage",a+" Tagen"],M:["ein Monat","einem Monat"],MM:[a+" Monate",a+" Monaten"],y:["ein Jahr","einem Jahr"],yy:[a+" Jahre",a+" Jahren"]};return b?e[c][0]:e[c][1]}var c=(b.defineLocale||b.lang).call(b,"de",{months:"Januar_Februar_März_April_Mai_Juni_Juli_August_September_Oktober_November_Dezember".split("_"),monthsShort:"Jan._Febr._Mrz._Apr._Mai_Jun._Jul._Aug._Sept._Okt._Nov._Dez.".split("_"),monthsParseExact:!0,weekdays:"Sonntag_Montag_Dienstag_Mittwoch_Donnerstag_Freitag_Samstag".split("_"),weekdaysShort:"So._Mo._Di._Mi._Do._Fr._Sa.".split("_"),weekdaysMin:"So_Mo_Di_Mi_Do_Fr_Sa".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY HH:mm",LLLL:"dddd, D. MMMM YYYY HH:mm"},calendar:{sameDay:"[heute um] LT [Uhr]",sameElse:"L",nextDay:"[morgen um] LT [Uhr]",nextWeek:"dddd [um] LT [Uhr]",lastDay:"[gestern um] LT [Uhr]",lastWeek:"[letzten] dddd [um] LT [Uhr]"},relativeTime:{future:"in %s",past:"vor %s",s:"ein paar Sekunden",m:a,mm:"%d Minuten",h:a,hh:"%d Stunden",d:a,dd:a,M:a,MM:a,y:a,yy:a},ordinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}});return c}(),a.fullCalendar.datepickerLang("de","de",{closeText:"Schließen",prevText:"&#x3C;Zurück",nextText:"Vor&#x3E;",currentText:"Heute",monthNames:["Januar","Februar","März","April","Mai","Juni","Juli","August","September","Oktober","November","Dezember"],monthNamesShort:["Jan","Feb","Mär","Apr","Mai","Jun","Jul","Aug","Sep","Okt","Nov","Dez"],dayNames:["Sonntag","Montag","Dienstag","Mittwoch","Donnerstag","Freitag","Samstag"],dayNamesShort:["So","Mo","Di","Mi","Do","Fr","Sa"],dayNamesMin:["So","Mo","Di","Mi","Do","Fr","Sa"],weekHeader:"KW",dateFormat:"dd.mm.yy",firstDay:1,isRTL:!1,showMonthAfterYear:!1,yearSuffix:""}),a.fullCalendar.lang("de",{buttonText:{month:"Monat",week:"Woche",day:"Tag",list:"Terminübersicht"},allDayText:"Ganztägig",eventLimitText:function(a){return"+ weitere "+a}})}(),function(){!function(){"use strict";function a(a){return a instanceof Function||"[object Function]"===Object.prototype.toString.call(a)}var c=(b.defineLocale||b.lang).call(b,"el",{monthsNominativeEl:"Ιανουάριος_Φεβρουάριος_Μάρτιος_Απρίλιος_Μάιος_Ιούνιος_Ιούλιος_Αύγουστος_Σεπτέμβριος_Οκτώβριος_Νοέμβριος_Δεκέμβριος".split("_"),monthsGenitiveEl:"Ιανουαρίου_Φεβρουαρίου_Μαρτίου_Απριλίου_Μαΐου_Ιουνίου_Ιουλίου_Αυγούστου_Σεπτεμβρίου_Οκτωβρίου_Νοεμβρίου_Δεκεμβρίου".split("_"),months:function(a,b){return/D/.test(b.substring(0,b.indexOf("MMMM")))?this._monthsGenitiveEl[a.month()]:this._monthsNominativeEl[a.month()]},monthsShort:"Ιαν_Φεβ_Μαρ_Απρ_Μαϊ_Ιουν_Ιουλ_Αυγ_Σεπ_Οκτ_Νοε_Δεκ".split("_"),weekdays:"Κυριακή_Δευτέρα_Τρίτη_Τετάρτη_Πέμπτη_Παρασκευή_Σάββατο".split("_"),weekdaysShort:"Κυρ_Δευ_Τρι_Τετ_Πεμ_Παρ_Σαβ".split("_"),weekdaysMin:"Κυ_Δε_Τρ_Τε_Πε_Πα_Σα".split("_"),meridiem:function(a,b,c){return a>11?c?"μμ":"ΜΜ":c?"πμ":"ΠΜ"},isPM:function(a){return"μ"===(a+"").toLowerCase()[0]},meridiemParse:/[ΠΜ]\.?Μ?\.?/i,longDateFormat:{LT:"h:mm A",LTS:"h:mm:ss A",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY h:mm A",LLLL:"dddd, D MMMM YYYY h:mm A"},calendarEl:{sameDay:"[Σήμερα {}] LT",nextDay:"[Αύριο {}] LT",nextWeek:"dddd [{}] LT",lastDay:"[Χθες {}] LT",lastWeek:function(){switch(this.day()){case 6:return"[το προηγούμενο] dddd [{}] LT";default:return"[την προηγούμενη] dddd [{}] LT"}},sameElse:"L"},calendar:function(b,c){var d=this._calendarEl[b],e=c&&c.hours();return a(d)&&(d=d.apply(c)),d.replace("{}",e%12===1?"στη":"στις")},relativeTime:{future:"σε %s",past:"%s πριν",s:"λίγα δευτερόλεπτα",m:"ένα λεπτό",mm:"%d λεπτά",h:"μία ώρα",hh:"%d ώρες",d:"μία μέρα",dd:"%d μέρες",M:"ένας μήνας",MM:"%d μήνες",y:"ένας χρόνος",yy:"%d χρόνια"},ordinalParse:/\d{1,2}η/,ordinal:"%dη",week:{dow:1,doy:4}});return c}(),a.fullCalendar.datepickerLang("el","el",{closeText:"Κλείσιμο",prevText:"Προηγούμενος",nextText:"Επόμενος",currentText:"Σήμερα",monthNames:["Ιανουάριος","Φεβρουάριος","Μάρτιος","Απρίλιος","Μάιος","Ιούνιος","Ιούλιος","Αύγουστος","Σεπτέμβριος","Οκτώβριος","Νοέμβριος","Δεκέμβριος"],monthNamesShort:["Ιαν","Φεβ","Μαρ","Απρ","Μαι","Ιουν","Ιουλ","Αυγ","Σεπ","Οκτ","Νοε","Δεκ"],dayNames:["Κυριακή","Δευτέρα","Τρίτη","Τετάρτη","Πέμπτη","Παρασκευή","Σάββατο"],dayNamesShort:["Κυρ","Δευ","Τρι","Τετ","Πεμ","Παρ","Σαβ"],dayNamesMin:["Κυ","Δε","Τρ","Τε","Πε","Πα","Σα"],weekHeader:"Εβδ",dateFormat:"dd/mm/yy",firstDay:1,isRTL:!1,showMonthAfterYear:!1,yearSuffix:""}),a.fullCalendar.lang("el",{buttonText:{month:"Μήνας",week:"Εβδομάδα",day:"Ημέρα",list:"Ατζέντα"},allDayText:"Ολοήμερο",eventLimitText:"περισσότερα"})}(),function(){!function(){"use strict";var a=(b.defineLocale||b.lang).call(b,"en-au",{months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),monthsShort:"Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),weekdaysShort:"Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),weekdaysMin:"Su_Mo_Tu_We_Th_Fr_Sa".split("_"),longDateFormat:{LT:"h:mm A",LTS:"h:mm:ss A",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY h:mm A",LLLL:"dddd, D MMMM YYYY h:mm A"},calendar:{sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},relativeTime:{future:"in %s",past:"%s ago",s:"a few seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",M:"a month",MM:"%d months",y:"a year",yy:"%d years"},ordinalParse:/\d{1,2}(st|nd|rd|th)/,ordinal:function(a){var b=a%10,c=1===~~(a%100/10)?"th":1===b?"st":2===b?"nd":3===b?"rd":"th";return a+c},week:{dow:1,doy:4}});return a}(),a.fullCalendar.datepickerLang("en-au","en-AU",{closeText:"Done",prevText:"Prev",nextText:"Next",currentText:"Today",monthNames:["January","February","March","April","May","June","July","August","September","October","November","December"],monthNamesShort:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],dayNames:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],dayNamesShort:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],dayNamesMin:["Su","Mo","Tu","We","Th","Fr","Sa"],weekHeader:"Wk",dateFormat:"dd/mm/yy",firstDay:1,isRTL:!1,showMonthAfterYear:!1,yearSuffix:""}),a.fullCalendar.lang("en-au")}(),function(){!function(){"use strict";var a=(b.defineLocale||b.lang).call(b,"en-ca",{months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),monthsShort:"Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),weekdaysShort:"Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),weekdaysMin:"Su_Mo_Tu_We_Th_Fr_Sa".split("_"),longDateFormat:{LT:"h:mm A",LTS:"h:mm:ss A",L:"YYYY-MM-DD",LL:"MMMM D, YYYY",LLL:"MMMM D, YYYY h:mm A",LLLL:"dddd, MMMM D, YYYY h:mm A"},calendar:{sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},relativeTime:{future:"in %s",past:"%s ago",s:"a few seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",M:"a month",MM:"%d months",y:"a year",yy:"%d years"},ordinalParse:/\d{1,2}(st|nd|rd|th)/,ordinal:function(a){var b=a%10,c=1===~~(a%100/10)?"th":1===b?"st":2===b?"nd":3===b?"rd":"th";return a+c}});return a}(),a.fullCalendar.lang("en-ca")}(),function(){!function(){"use strict";var a=(b.defineLocale||b.lang).call(b,"en-gb",{months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),monthsShort:"Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),weekdaysShort:"Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),weekdaysMin:"Su_Mo_Tu_We_Th_Fr_Sa".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},relativeTime:{future:"in %s",past:"%s ago",s:"a few seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",M:"a month",MM:"%d months",y:"a year",yy:"%d years"},ordinalParse:/\d{1,2}(st|nd|rd|th)/,ordinal:function(a){var b=a%10,c=1===~~(a%100/10)?"th":1===b?"st":2===b?"nd":3===b?"rd":"th";return a+c},week:{dow:1,doy:4}});return a}(),a.fullCalendar.datepickerLang("en-gb","en-GB",{closeText:"Done",prevText:"Prev",nextText:"Next",currentText:"Today",monthNames:["January","February","March","April","May","June","July","August","September","October","November","December"],monthNamesShort:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],dayNames:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],dayNamesShort:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],dayNamesMin:["Su","Mo","Tu","We","Th","Fr","Sa"],weekHeader:"Wk",dateFormat:"dd/mm/yy",firstDay:1,isRTL:!1,showMonthAfterYear:!1,yearSuffix:""}),a.fullCalendar.lang("en-gb")}(),function(){!function(){"use strict";var a=(b.defineLocale||b.lang).call(b,"en-ie",{months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),monthsShort:"Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),weekdaysShort:"Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),weekdaysMin:"Su_Mo_Tu_We_Th_Fr_Sa".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD-MM-YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},relativeTime:{future:"in %s",past:"%s ago",s:"a few seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",M:"a month",MM:"%d months",y:"a year",yy:"%d years"},ordinalParse:/\d{1,2}(st|nd|rd|th)/,ordinal:function(a){var b=a%10,c=1===~~(a%100/10)?"th":1===b?"st":2===b?"nd":3===b?"rd":"th";return a+c},week:{dow:1,doy:4}});return a}(),a.fullCalendar.lang("en-ie")}(),function(){!function(){"use strict";var a=(b.defineLocale||b.lang).call(b,"en-nz",{months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),monthsShort:"Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),weekdaysShort:"Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),weekdaysMin:"Su_Mo_Tu_We_Th_Fr_Sa".split("_"),longDateFormat:{LT:"h:mm A",LTS:"h:mm:ss A",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY h:mm A",LLLL:"dddd, D MMMM YYYY h:mm A"},calendar:{sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},relativeTime:{future:"in %s",past:"%s ago",s:"a few seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",M:"a month",MM:"%d months",y:"a year",yy:"%d years"},ordinalParse:/\d{1,2}(st|nd|rd|th)/,ordinal:function(a){var b=a%10,c=1===~~(a%100/10)?"th":1===b?"st":2===b?"nd":3===b?"rd":"th";return a+c},week:{dow:1,doy:4}});return a}(),a.fullCalendar.datepickerLang("en-nz","en-NZ",{closeText:"Done",prevText:"Prev",nextText:"Next",currentText:"Today",monthNames:["January","February","March","April","May","June","July","August","September","October","November","December"],monthNamesShort:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],dayNames:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],dayNamesShort:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],dayNamesMin:["Su","Mo","Tu","We","Th","Fr","Sa"],weekHeader:"Wk",dateFormat:"dd/mm/yy",firstDay:1,isRTL:!1,showMonthAfterYear:!1,yearSuffix:""}),a.fullCalendar.lang("en-nz")}(),function(){!function(){"use strict";var a="ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.".split("_"),c="ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic".split("_"),d=(b.defineLocale||b.lang).call(b,"es",{
-months:"enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre".split("_"),monthsShort:function(b,d){return/-MMM-/.test(d)?c[b.month()]:a[b.month()]},monthsParseExact:!0,weekdays:"domingo_lunes_martes_miércoles_jueves_viernes_sábado".split("_"),weekdaysShort:"dom._lun._mar._mié._jue._vie._sáb.".split("_"),weekdaysMin:"do_lu_ma_mi_ju_vi_sá".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD/MM/YYYY",LL:"D [de] MMMM [de] YYYY",LLL:"D [de] MMMM [de] YYYY H:mm",LLLL:"dddd, D [de] MMMM [de] YYYY H:mm"},calendar:{sameDay:function(){return"[hoy a la"+(1!==this.hours()?"s":"")+"] LT"},nextDay:function(){return"[mañana a la"+(1!==this.hours()?"s":"")+"] LT"},nextWeek:function(){return"dddd [a la"+(1!==this.hours()?"s":"")+"] LT"},lastDay:function(){return"[ayer a la"+(1!==this.hours()?"s":"")+"] LT"},lastWeek:function(){return"[el] dddd [pasado a la"+(1!==this.hours()?"s":"")+"] LT"},sameElse:"L"},relativeTime:{future:"en %s",past:"hace %s",s:"unos segundos",m:"un minuto",mm:"%d minutos",h:"una hora",hh:"%d horas",d:"un día",dd:"%d días",M:"un mes",MM:"%d meses",y:"un año",yy:"%d años"},ordinalParse:/\d{1,2}º/,ordinal:"%dº",week:{dow:1,doy:4}});return d}(),a.fullCalendar.datepickerLang("es","es",{closeText:"Cerrar",prevText:"&#x3C;Ant",nextText:"Sig&#x3E;",currentText:"Hoy",monthNames:["enero","febrero","marzo","abril","mayo","junio","julio","agosto","septiembre","octubre","noviembre","diciembre"],monthNamesShort:["ene","feb","mar","abr","may","jun","jul","ago","sep","oct","nov","dic"],dayNames:["domingo","lunes","martes","miércoles","jueves","viernes","sábado"],dayNamesShort:["dom","lun","mar","mié","jue","vie","sáb"],dayNamesMin:["D","L","M","X","J","V","S"],weekHeader:"Sm",dateFormat:"dd/mm/yy",firstDay:1,isRTL:!1,showMonthAfterYear:!1,yearSuffix:""}),a.fullCalendar.lang("es",{buttonText:{month:"Mes",week:"Semana",day:"Día",list:"Agenda"},allDayHtml:"Todo<br/>el día",eventLimitText:"más"})}(),function(){!function(){"use strict";var a=(b.defineLocale||b.lang).call(b,"eu",{months:"urtarrila_otsaila_martxoa_apirila_maiatza_ekaina_uztaila_abuztua_iraila_urria_azaroa_abendua".split("_"),monthsShort:"urt._ots._mar._api._mai._eka._uzt._abu._ira._urr._aza._abe.".split("_"),monthsParseExact:!0,weekdays:"igandea_astelehena_asteartea_asteazkena_osteguna_ostirala_larunbata".split("_"),weekdaysShort:"ig._al._ar._az._og._ol._lr.".split("_"),weekdaysMin:"ig_al_ar_az_og_ol_lr".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY-MM-DD",LL:"YYYY[ko] MMMM[ren] D[a]",LLL:"YYYY[ko] MMMM[ren] D[a] HH:mm",LLLL:"dddd, YYYY[ko] MMMM[ren] D[a] HH:mm",l:"YYYY-M-D",ll:"YYYY[ko] MMM D[a]",lll:"YYYY[ko] MMM D[a] HH:mm",llll:"ddd, YYYY[ko] MMM D[a] HH:mm"},calendar:{sameDay:"[gaur] LT[etan]",nextDay:"[bihar] LT[etan]",nextWeek:"dddd LT[etan]",lastDay:"[atzo] LT[etan]",lastWeek:"[aurreko] dddd LT[etan]",sameElse:"L"},relativeTime:{future:"%s barru",past:"duela %s",s:"segundo batzuk",m:"minutu bat",mm:"%d minutu",h:"ordu bat",hh:"%d ordu",d:"egun bat",dd:"%d egun",M:"hilabete bat",MM:"%d hilabete",y:"urte bat",yy:"%d urte"},ordinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:7}});return a}(),a.fullCalendar.datepickerLang("eu","eu",{closeText:"Egina",prevText:"&#x3C;Aur",nextText:"Hur&#x3E;",currentText:"Gaur",monthNames:["urtarrila","otsaila","martxoa","apirila","maiatza","ekaina","uztaila","abuztua","iraila","urria","azaroa","abendua"],monthNamesShort:["urt.","ots.","mar.","api.","mai.","eka.","uzt.","abu.","ira.","urr.","aza.","abe."],dayNames:["igandea","astelehena","asteartea","asteazkena","osteguna","ostirala","larunbata"],dayNamesShort:["ig.","al.","ar.","az.","og.","ol.","lr."],dayNamesMin:["ig","al","ar","az","og","ol","lr"],weekHeader:"As",dateFormat:"yy-mm-dd",firstDay:1,isRTL:!1,showMonthAfterYear:!1,yearSuffix:""}),a.fullCalendar.lang("eu",{buttonText:{month:"Hilabetea",week:"Astea",day:"Eguna",list:"Agenda"},allDayHtml:"Egun<br/>osoa",eventLimitText:"gehiago"})}(),function(){!function(){"use strict";var a={1:"۱",2:"۲",3:"۳",4:"۴",5:"۵",6:"۶",7:"۷",8:"۸",9:"۹",0:"۰"},c={"۱":"1","۲":"2","۳":"3","۴":"4","۵":"5","۶":"6","۷":"7","۸":"8","۹":"9","۰":"0"},d=(b.defineLocale||b.lang).call(b,"fa",{months:"ژانویه_فوریه_مارس_آوریل_مه_ژوئن_ژوئیه_اوت_سپتامبر_اکتبر_نوامبر_دسامبر".split("_"),monthsShort:"ژانویه_فوریه_مارس_آوریل_مه_ژوئن_ژوئیه_اوت_سپتامبر_اکتبر_نوامبر_دسامبر".split("_"),weekdays:"یک‌شنبه_دوشنبه_سه‌شنبه_چهارشنبه_پنج‌شنبه_جمعه_شنبه".split("_"),weekdaysShort:"یک‌شنبه_دوشنبه_سه‌شنبه_چهارشنبه_پنج‌شنبه_جمعه_شنبه".split("_"),weekdaysMin:"ی_د_س_چ_پ_ج_ش".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},meridiemParse:/قبل از ظهر|بعد از ظهر/,isPM:function(a){return/بعد از ظهر/.test(a)},meridiem:function(a,b,c){return 12>a?"قبل از ظهر":"بعد از ظهر"},calendar:{sameDay:"[امروز ساعت] LT",nextDay:"[فردا ساعت] LT",nextWeek:"dddd [ساعت] LT",lastDay:"[دیروز ساعت] LT",lastWeek:"dddd [پیش] [ساعت] LT",sameElse:"L"},relativeTime:{future:"در %s",past:"%s پیش",s:"چندین ثانیه",m:"یک دقیقه",mm:"%d دقیقه",h:"یک ساعت",hh:"%d ساعت",d:"یک روز",dd:"%d روز",M:"یک ماه",MM:"%d ماه",y:"یک سال",yy:"%d سال"},preparse:function(a){return a.replace(/[۰-۹]/g,function(a){return c[a]}).replace(/،/g,",")},postformat:function(b){return b.replace(/\d/g,function(b){return a[b]}).replace(/,/g,"،")},ordinalParse:/\d{1,2}م/,ordinal:"%dم",week:{dow:6,doy:12}});return d}(),a.fullCalendar.datepickerLang("fa","fa",{closeText:"بستن",prevText:"&#x3C;قبلی",nextText:"بعدی&#x3E;",currentText:"امروز",monthNames:["ژانویه","فوریه","مارس","آوریل","مه","ژوئن","ژوئیه","اوت","سپتامبر","اکتبر","نوامبر","دسامبر"],monthNamesShort:["1","2","3","4","5","6","7","8","9","10","11","12"],dayNames:["يکشنبه","دوشنبه","سه‌شنبه","چهارشنبه","پنجشنبه","جمعه","شنبه"],dayNamesShort:["ی","د","س","چ","پ","ج","ش"],dayNamesMin:["ی","د","س","چ","پ","ج","ش"],weekHeader:"هف",dateFormat:"yy/mm/dd",firstDay:6,isRTL:!0,showMonthAfterYear:!1,yearSuffix:""}),a.fullCalendar.lang("fa",{buttonText:{month:"ماه",week:"هفته",day:"روز",list:"برنامه"},allDayText:"تمام روز",eventLimitText:function(a){return"بیش از "+a}})}(),function(){!function(){"use strict";function a(a,b,d,e){var f="";switch(d){case"s":return e?"muutaman sekunnin":"muutama sekunti";case"m":return e?"minuutin":"minuutti";case"mm":f=e?"minuutin":"minuuttia";break;case"h":return e?"tunnin":"tunti";case"hh":f=e?"tunnin":"tuntia";break;case"d":return e?"päivän":"päivä";case"dd":f=e?"päivän":"päivää";break;case"M":return e?"kuukauden":"kuukausi";case"MM":f=e?"kuukauden":"kuukautta";break;case"y":return e?"vuoden":"vuosi";case"yy":f=e?"vuoden":"vuotta"}return f=c(a,e)+" "+f}function c(a,b){return 10>a?b?e[a]:d[a]:a}var d="nolla yksi kaksi kolme neljä viisi kuusi seitsemän kahdeksan yhdeksän".split(" "),e=["nolla","yhden","kahden","kolmen","neljän","viiden","kuuden",d[7],d[8],d[9]],f=(b.defineLocale||b.lang).call(b,"fi",{months:"tammikuu_helmikuu_maaliskuu_huhtikuu_toukokuu_kesäkuu_heinäkuu_elokuu_syyskuu_lokakuu_marraskuu_joulukuu".split("_"),monthsShort:"tammi_helmi_maalis_huhti_touko_kesä_heinä_elo_syys_loka_marras_joulu".split("_"),weekdays:"sunnuntai_maanantai_tiistai_keskiviikko_torstai_perjantai_lauantai".split("_"),weekdaysShort:"su_ma_ti_ke_to_pe_la".split("_"),weekdaysMin:"su_ma_ti_ke_to_pe_la".split("_"),longDateFormat:{LT:"HH.mm",LTS:"HH.mm.ss",L:"DD.MM.YYYY",LL:"Do MMMM[ta] YYYY",LLL:"Do MMMM[ta] YYYY, [klo] HH.mm",LLLL:"dddd, Do MMMM[ta] YYYY, [klo] HH.mm",l:"D.M.YYYY",ll:"Do MMM YYYY",lll:"Do MMM YYYY, [klo] HH.mm",llll:"ddd, Do MMM YYYY, [klo] HH.mm"},calendar:{sameDay:"[tänään] [klo] LT",nextDay:"[huomenna] [klo] LT",nextWeek:"dddd [klo] LT",lastDay:"[eilen] [klo] LT",lastWeek:"[viime] dddd[na] [klo] LT",sameElse:"L"},relativeTime:{future:"%s päästä",past:"%s sitten",s:a,m:a,mm:a,h:a,hh:a,d:a,dd:a,M:a,MM:a,y:a,yy:a},ordinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}});return f}(),a.fullCalendar.datepickerLang("fi","fi",{closeText:"Sulje",prevText:"&#xAB;Edellinen",nextText:"Seuraava&#xBB;",currentText:"Tänään",monthNames:["Tammikuu","Helmikuu","Maaliskuu","Huhtikuu","Toukokuu","Kesäkuu","Heinäkuu","Elokuu","Syyskuu","Lokakuu","Marraskuu","Joulukuu"],monthNamesShort:["Tammi","Helmi","Maalis","Huhti","Touko","Kesä","Heinä","Elo","Syys","Loka","Marras","Joulu"],dayNamesShort:["Su","Ma","Ti","Ke","To","Pe","La"],dayNames:["Sunnuntai","Maanantai","Tiistai","Keskiviikko","Torstai","Perjantai","Lauantai"],dayNamesMin:["Su","Ma","Ti","Ke","To","Pe","La"],weekHeader:"Vk",dateFormat:"d.m.yy",firstDay:1,isRTL:!1,showMonthAfterYear:!1,yearSuffix:""}),a.fullCalendar.lang("fi",{buttonText:{month:"Kuukausi",week:"Viikko",day:"Päivä",list:"Tapahtumat"},allDayText:"Koko päivä",eventLimitText:"lisää"})}(),function(){!function(){"use strict";var a=(b.defineLocale||b.lang).call(b,"fr-ca",{months:"janvier_février_mars_avril_mai_juin_juillet_août_septembre_octobre_novembre_décembre".split("_"),monthsShort:"janv._févr._mars_avr._mai_juin_juil._août_sept._oct._nov._déc.".split("_"),monthsParseExact:!0,weekdays:"dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi".split("_"),weekdaysShort:"dim._lun._mar._mer._jeu._ven._sam.".split("_"),weekdaysMin:"Di_Lu_Ma_Me_Je_Ve_Sa".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY-MM-DD",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[Aujourd'hui à] LT",nextDay:"[Demain à] LT",nextWeek:"dddd [à] LT",lastDay:"[Hier à] LT",lastWeek:"dddd [dernier à] LT",sameElse:"L"},relativeTime:{future:"dans %s",past:"il y a %s",s:"quelques secondes",m:"une minute",mm:"%d minutes",h:"une heure",hh:"%d heures",d:"un jour",dd:"%d jours",M:"un mois",MM:"%d mois",y:"un an",yy:"%d ans"},ordinalParse:/\d{1,2}(er|e)/,ordinal:function(a){return a+(1===a?"er":"e")}});return a}(),a.fullCalendar.datepickerLang("fr-ca","fr-CA",{closeText:"Fermer",prevText:"Précédent",nextText:"Suivant",currentText:"Aujourd'hui",monthNames:["janvier","février","mars","avril","mai","juin","juillet","août","septembre","octobre","novembre","décembre"],monthNamesShort:["janv.","févr.","mars","avril","mai","juin","juil.","août","sept.","oct.","nov.","déc."],dayNames:["dimanche","lundi","mardi","mercredi","jeudi","vendredi","samedi"],dayNamesShort:["dim.","lun.","mar.","mer.","jeu.","ven.","sam."],dayNamesMin:["D","L","M","M","J","V","S"],weekHeader:"Sem.",dateFormat:"yy-mm-dd",firstDay:0,isRTL:!1,showMonthAfterYear:!1,yearSuffix:""}),a.fullCalendar.lang("fr-ca",{buttonText:{year:"Année",month:"Mois",week:"Semaine",day:"Jour",list:"Mon planning"},allDayHtml:"Toute la<br/>journée",eventLimitText:"en plus"})}(),function(){!function(){"use strict";var a=(b.defineLocale||b.lang).call(b,"fr-ch",{months:"janvier_février_mars_avril_mai_juin_juillet_août_septembre_octobre_novembre_décembre".split("_"),monthsShort:"janv._févr._mars_avr._mai_juin_juil._août_sept._oct._nov._déc.".split("_"),monthsParseExact:!0,weekdays:"dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi".split("_"),weekdaysShort:"dim._lun._mar._mer._jeu._ven._sam.".split("_"),weekdaysMin:"Di_Lu_Ma_Me_Je_Ve_Sa".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[Aujourd'hui à] LT",nextDay:"[Demain à] LT",nextWeek:"dddd [à] LT",lastDay:"[Hier à] LT",lastWeek:"dddd [dernier à] LT",sameElse:"L"},relativeTime:{future:"dans %s",past:"il y a %s",s:"quelques secondes",m:"une minute",mm:"%d minutes",h:"une heure",hh:"%d heures",d:"un jour",dd:"%d jours",M:"un mois",MM:"%d mois",y:"un an",yy:"%d ans"},ordinalParse:/\d{1,2}(er|e)/,ordinal:function(a){return a+(1===a?"er":"e")},week:{dow:1,doy:4}});return a}(),a.fullCalendar.datepickerLang("fr-ch","fr-CH",{closeText:"Fermer",prevText:"&#x3C;Préc",nextText:"Suiv&#x3E;",currentText:"Courant",monthNames:["janvier","février","mars","avril","mai","juin","juillet","août","septembre","octobre","novembre","décembre"],monthNamesShort:["janv.","févr.","mars","avril","mai","juin","juil.","août","sept.","oct.","nov.","déc."],dayNames:["dimanche","lundi","mardi","mercredi","jeudi","vendredi","samedi"],dayNamesShort:["dim.","lun.","mar.","mer.","jeu.","ven.","sam."],dayNamesMin:["D","L","M","M","J","V","S"],weekHeader:"Sm",dateFormat:"dd.mm.yy",firstDay:1,isRTL:!1,showMonthAfterYear:!1,yearSuffix:""}),a.fullCalendar.lang("fr-ch",{buttonText:{year:"Année",month:"Mois",week:"Semaine",day:"Jour",list:"Mon planning"},allDayHtml:"Toute la<br/>journée",eventLimitText:"en plus"})}(),function(){!function(){"use strict";var a=(b.defineLocale||b.lang).call(b,"fr",{months:"janvier_février_mars_avril_mai_juin_juillet_août_septembre_octobre_novembre_décembre".split("_"),monthsShort:"janv._févr._mars_avr._mai_juin_juil._août_sept._oct._nov._déc.".split("_"),monthsParseExact:!0,weekdays:"dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi".split("_"),weekdaysShort:"dim._lun._mar._mer._jeu._ven._sam.".split("_"),weekdaysMin:"Di_Lu_Ma_Me_Je_Ve_Sa".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[Aujourd'hui à] LT",nextDay:"[Demain à] LT",nextWeek:"dddd [à] LT",lastDay:"[Hier à] LT",lastWeek:"dddd [dernier à] LT",sameElse:"L"},relativeTime:{future:"dans %s",past:"il y a %s",s:"quelques secondes",m:"une minute",mm:"%d minutes",h:"une heure",hh:"%d heures",d:"un jour",dd:"%d jours",M:"un mois",MM:"%d mois",y:"un an",yy:"%d ans"},ordinalParse:/\d{1,2}(er|)/,ordinal:function(a){return a+(1===a?"er":"")},week:{dow:1,doy:4}});return a}(),a.fullCalendar.datepickerLang("fr","fr",{closeText:"Fermer",prevText:"Précédent",nextText:"Suivant",currentText:"Aujourd'hui",monthNames:["janvier","février","mars","avril","mai","juin","juillet","août","septembre","octobre","novembre","décembre"],monthNamesShort:["janv.","févr.","mars","avr.","mai","juin","juil.","août","sept.","oct.","nov.","déc."],dayNames:["dimanche","lundi","mardi","mercredi","jeudi","vendredi","samedi"],dayNamesShort:["dim.","lun.","mar.","mer.","jeu.","ven.","sam."],dayNamesMin:["D","L","M","M","J","V","S"],weekHeader:"Sem.",dateFormat:"dd/mm/yy",firstDay:1,isRTL:!1,showMonthAfterYear:!1,yearSuffix:""}),a.fullCalendar.lang("fr",{buttonText:{year:"Année",month:"Mois",week:"Semaine",day:"Jour",list:"Mon planning"},allDayHtml:"Toute la<br/>journée",eventLimitText:"en plus"})}(),function(){!function(){"use strict";var a=(b.defineLocale||b.lang).call(b,"gl",{months:"Xaneiro_Febreiro_Marzo_Abril_Maio_Xuño_Xullo_Agosto_Setembro_Outubro_Novembro_Decembro".split("_"),monthsShort:"Xan._Feb._Mar._Abr._Mai._Xuñ._Xul._Ago._Set._Out._Nov._Dec.".split("_"),monthsParseExact:!0,weekdays:"Domingo_Luns_Martes_Mércores_Xoves_Venres_Sábado".split("_"),weekdaysShort:"Dom._Lun._Mar._Mér._Xov._Ven._Sáb.".split("_"),weekdaysMin:"Do_Lu_Ma_Mé_Xo_Ve_Sá".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY H:mm",LLLL:"dddd D MMMM YYYY H:mm"},calendar:{sameDay:function(){return"[hoxe "+(1!==this.hours()?"ás":"á")+"] LT"},nextDay:function(){return"[mañá "+(1!==this.hours()?"ás":"á")+"] LT"},nextWeek:function(){return"dddd ["+(1!==this.hours()?"ás":"a")+"] LT"},lastDay:function(){return"[onte "+(1!==this.hours()?"á":"a")+"] LT"},lastWeek:function(){return"[o] dddd [pasado "+(1!==this.hours()?"ás":"a")+"] LT"},sameElse:"L"},relativeTime:{future:function(a){return"uns segundos"===a?"nuns segundos":"en "+a},past:"hai %s",s:"uns segundos",m:"un minuto",mm:"%d minutos",h:"unha hora",hh:"%d horas",d:"un día",dd:"%d días",M:"un mes",MM:"%d meses",y:"un ano",yy:"%d anos"},ordinalParse:/\d{1,2}º/,ordinal:"%dº",week:{dow:1,doy:7}});return a}(),a.fullCalendar.datepickerLang("gl","gl",{closeText:"Pechar",prevText:"&#x3C;Ant",nextText:"Seg&#x3E;",currentText:"Hoxe",monthNames:["Xaneiro","Febreiro","Marzo","Abril","Maio","Xuño","Xullo","Agosto","Setembro","Outubro","Novembro","Decembro"],monthNamesShort:["Xan","Feb","Mar","Abr","Mai","Xuñ","Xul","Ago","Set","Out","Nov","Dec"],dayNames:["Domingo","Luns","Martes","Mércores","Xoves","Venres","Sábado"],dayNamesShort:["Dom","Lun","Mar","Mér","Xov","Ven","Sáb"],dayNamesMin:["Do","Lu","Ma","Mé","Xo","Ve","Sá"],weekHeader:"Sm",dateFormat:"dd/mm/yy",firstDay:1,isRTL:!1,showMonthAfterYear:!1,yearSuffix:""}),a.fullCalendar.lang("gl",{buttonText:{month:"Mes",week:"Semana",day:"Día",list:"Axenda"},allDayHtml:"Todo<br/>o día",eventLimitText:"máis"})}(),function(){!function(){"use strict";var a=(b.defineLocale||b.lang).call(b,"he",{months:"ינואר_פברואר_מרץ_אפריל_מאי_יוני_יולי_אוגוסט_ספטמבר_אוקטובר_נובמבר_דצמבר".split("_"),monthsShort:"ינו׳_פבר׳_מרץ_אפר׳_מאי_יוני_יולי_אוג׳_ספט׳_אוק׳_נוב׳_דצמ׳".split("_"),weekdays:"ראשון_שני_שלישי_רביעי_חמישי_שישי_שבת".split("_"),weekdaysShort:"א׳_ב׳_ג׳_ד׳_ה׳_ו׳_ש׳".split("_"),weekdaysMin:"א_ב_ג_ד_ה_ו_ש".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D [ב]MMMM YYYY",LLL:"D [ב]MMMM YYYY HH:mm",LLLL:"dddd, D [ב]MMMM YYYY HH:mm",l:"D/M/YYYY",ll:"D MMM YYYY",lll:"D MMM YYYY HH:mm",llll:"ddd, D MMM YYYY HH:mm"},calendar:{sameDay:"[היום ב־]LT",nextDay:"[מחר ב־]LT",nextWeek:"dddd [בשעה] LT",lastDay:"[אתמול ב־]LT",lastWeek:"[ביום] dddd [האחרון בשעה] LT",sameElse:"L"},relativeTime:{future:"בעוד %s",past:"לפני %s",s:"מספר שניות",m:"דקה",mm:"%d דקות",h:"שעה",hh:function(a){return 2===a?"שעתיים":a+" שעות"},d:"יום",dd:function(a){return 2===a?"יומיים":a+" ימים"},M:"חודש",MM:function(a){return 2===a?"חודשיים":a+" חודשים"},y:"שנה",yy:function(a){return 2===a?"שנתיים":a%10===0&&10!==a?a+" שנה":a+" שנים"}},meridiemParse:/אחה"צ|לפנה"צ|אחרי הצהריים|לפני הצהריים|לפנות בוקר|בבוקר|בערב/i,isPM:function(a){return/^(אחה"צ|אחרי הצהריים|בערב)$/.test(a)},meridiem:function(a,b,c){return 5>a?"לפנות בוקר":10>a?"בבוקר":12>a?c?'לפנה"צ':"לפני הצהריים":18>a?c?'אחה"צ':"אחרי הצהריים":"בערב"}});return a}(),a.fullCalendar.datepickerLang("he","he",{closeText:"סגור",prevText:"&#x3C;הקודם",nextText:"הבא&#x3E;",currentText:"היום",monthNames:["ינואר","פברואר","מרץ","אפריל","מאי","יוני","יולי","אוגוסט","ספטמבר","אוקטובר","נובמבר","דצמבר"],monthNamesShort:["ינו","פבר","מרץ","אפר","מאי","יוני","יולי","אוג","ספט","אוק","נוב","דצמ"],dayNames:["ראשון","שני","שלישי","רביעי","חמישי","שישי","שבת"],dayNamesShort:["א'","ב'","ג'","ד'","ה'","ו'","שבת"],dayNamesMin:["א'","ב'","ג'","ד'","ה'","ו'","שבת"],weekHeader:"Wk",dateFormat:"dd/mm/yy",firstDay:0,isRTL:!0,showMonthAfterYear:!1,yearSuffix:""}),a.fullCalendar.lang("he",{defaultButtonText:{month:"חודש",week:"שבוע",day:"יום",list:"סדר יום"},weekNumberTitle:"שבוע",allDayText:"כל היום",eventLimitText:"אחר"})}(),function(){!function(){"use strict";var a={1:"१",2:"२",3:"३",4:"४",5:"५",6:"६",7:"७",8:"८",9:"९",0:"०"},c={"१":"1","२":"2","३":"3","४":"4","५":"5","६":"6","७":"7","८":"8","९":"9","०":"0"},d=(b.defineLocale||b.lang).call(b,"hi",{months:"जनवरी_फ़रवरी_मार्च_अप्रैल_मई_जून_जुलाई_अगस्त_सितम्बर_अक्टूबर_नवम्बर_दिसम्बर".split("_"),monthsShort:"जन._फ़र._मार्च_अप्रै._मई_जून_जुल._अग._सित._अक्टू._नव._दिस.".split("_"),monthsParseExact:!0,weekdays:"रविवार_सोमवार_मंगलवार_बुधवार_गुरूवार_शुक्रवार_शनिवार".split("_"),weekdaysShort:"रवि_सोम_मंगल_बुध_गुरू_शुक्र_शनि".split("_"),weekdaysMin:"र_सो_मं_बु_गु_शु_श".split("_"),longDateFormat:{LT:"A h:mm बजे",LTS:"A h:mm:ss बजे",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, A h:mm बजे",LLLL:"dddd, D MMMM YYYY, A h:mm बजे"},calendar:{sameDay:"[आज] LT",nextDay:"[कल] LT",nextWeek:"dddd, LT",lastDay:"[कल] LT",lastWeek:"[पिछले] dddd, LT",sameElse:"L"},relativeTime:{future:"%s में",past:"%s पहले",s:"कुछ ही क्षण",m:"एक मिनट",mm:"%d मिनट",h:"एक घंटा",hh:"%d घंटे",d:"एक दिन",dd:"%d दिन",M:"एक महीने",MM:"%d महीने",y:"एक वर्ष",yy:"%d वर्ष"},preparse:function(a){return a.replace(/[१२३४५६७८९०]/g,function(a){return c[a]})},postformat:function(b){return b.replace(/\d/g,function(b){return a[b]})},meridiemParse:/रात|सुबह|दोपहर|शाम/,meridiemHour:function(a,b){return 12===a&&(a=0),"रात"===b?4>a?a:a+12:"सुबह"===b?a:"दोपहर"===b?a>=10?a:a+12:"शाम"===b?a+12:void 0},meridiem:function(a,b,c){return 4>a?"रात":10>a?"सुबह":17>a?"दोपहर":20>a?"शाम":"रात"},week:{dow:0,doy:6}});return d}(),a.fullCalendar.datepickerLang("hi","hi",{closeText:"बंद",prevText:"पिछला",nextText:"अगला",currentText:"आज",monthNames:["जनवरी ","फरवरी","मार्च","अप्रेल","मई","जून","जूलाई","अगस्त ","सितम्बर","अक्टूबर","नवम्बर","दिसम्बर"],monthNamesShort:["जन","फर","मार्च","अप्रेल","मई","जून","जूलाई","अग","सित","अक्ट","नव","दि"],dayNames:["रविवार","सोमवार","मंगलवार","बुधवार","गुरुवार","शुक्रवार","शनिवार"],dayNamesShort:["रवि","सोम","मंगल","बुध","गुरु","शुक्र","शनि"],dayNamesMin:["रवि","सोम","मंगल","बुध","गुरु","शुक्र","शनि"],weekHeader:"हफ्ता",dateFormat:"dd/mm/yy",firstDay:1,isRTL:!1,showMonthAfterYear:!1,yearSuffix:""}),a.fullCalendar.lang("hi",{buttonText:{month:"महीना",week:"सप्ताह",day:"दिन",list:"कार्यसूची"},allDayText:"सभी दिन",eventLimitText:function(a){return"+अधिक "+a}})}(),function(){!function(){"use strict";function a(a,b,c){var d=a+" ";switch(c){case"m":return b?"jedna minuta":"jedne minute";case"mm":return d+=1===a?"minuta":2===a||3===a||4===a?"minute":"minuta";case"h":return b?"jedan sat":"jednog sata";case"hh":return d+=1===a?"sat":2===a||3===a||4===a?"sata":"sati";case"dd":return d+=1===a?"dan":"dana";case"MM":return d+=1===a?"mjesec":2===a||3===a||4===a?"mjeseca":"mjeseci";case"yy":return d+=1===a?"godina":2===a||3===a||4===a?"godine":"godina"}}var c=(b.defineLocale||b.lang).call(b,"hr",{months:{format:"siječnja_veljače_ožujka_travnja_svibnja_lipnja_srpnja_kolovoza_rujna_listopada_studenoga_prosinca".split("_"),standalone:"siječanj_veljača_ožujak_travanj_svibanj_lipanj_srpanj_kolovoz_rujan_listopad_studeni_prosinac".split("_")},monthsShort:"sij._velj._ožu._tra._svi._lip._srp._kol._ruj._lis._stu._pro.".split("_"),monthsParseExact:!0,weekdays:"nedjelja_ponedjeljak_utorak_srijeda_četvrtak_petak_subota".split("_"),weekdaysShort:"ned._pon._uto._sri._čet._pet._sub.".split("_"),weekdaysMin:"ne_po_ut_sr_če_pe_su".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD. MM. YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY H:mm",LLLL:"dddd, D. MMMM YYYY H:mm"},calendar:{sameDay:"[danas u] LT",nextDay:"[sutra u] LT",nextWeek:function(){switch(this.day()){case 0:return"[u] [nedjelju] [u] LT";case 3:return"[u] [srijedu] [u] LT";case 6:return"[u] [subotu] [u] LT";case 1:case 2:case 4:case 5:return"[u] dddd [u] LT"}},lastDay:"[jučer u] LT",lastWeek:function(){switch(this.day()){case 0:case 3:return"[prošlu] dddd [u] LT";case 6:return"[prošle] [subote] [u] LT";case 1:case 2:case 4:case 5:return"[prošli] dddd [u] LT"}},sameElse:"L"},relativeTime:{future:"za %s",past:"prije %s",s:"par sekundi",m:a,mm:a,h:a,hh:a,d:"dan",dd:a,M:"mjesec",MM:a,y:"godinu",yy:a},ordinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:7}});return c}(),a.fullCalendar.datepickerLang("hr","hr",{closeText:"Zatvori",prevText:"&#x3C;",nextText:"&#x3E;",currentText:"Danas",monthNames:["Siječanj","Veljača","Ožujak","Travanj","Svibanj","Lipanj","Srpanj","Kolovoz","Rujan","Listopad","Studeni","Prosinac"],monthNamesShort:["Sij","Velj","Ožu","Tra","Svi","Lip","Srp","Kol","Ruj","Lis","Stu","Pro"],dayNames:["Nedjelja","Ponedjeljak","Utorak","Srijeda","Četvrtak","Petak","Subota"],dayNamesShort:["Ned","Pon","Uto","Sri","Čet","Pet","Sub"],dayNamesMin:["Ne","Po","Ut","Sr","Če","Pe","Su"],weekHeader:"Tje",dateFormat:"dd.mm.yy.",firstDay:1,isRTL:!1,showMonthAfterYear:!1,yearSuffix:""}),a.fullCalendar.lang("hr",{buttonText:{month:"Mjesec",week:"Tjedan",day:"Dan",list:"Raspored"},allDayText:"Cijeli dan",eventLimitText:function(a){return"+ još "+a}})}(),function(){!function(){"use strict";function a(a,b,c,d){var e=a;switch(c){case"s":return d||b?"néhány másodperc":"néhány másodperce";case"m":return"egy"+(d||b?" perc":" perce");case"mm":return e+(d||b?" perc":" perce");case"h":return"egy"+(d||b?" óra":" órája");case"hh":return e+(d||b?" óra":" órája");case"d":return"egy"+(d||b?" nap":" napja");case"dd":return e+(d||b?" nap":" napja");case"M":return"egy"+(d||b?" hónap":" hónapja");case"MM":return e+(d||b?" hónap":" hónapja");case"y":return"egy"+(d||b?" év":" éve");case"yy":return e+(d||b?" év":" éve")}return""}function c(a){return(a?"":"[múlt] ")+"["+d[this.day()]+"] LT[-kor]"}var d="vasárnap hétfőn kedden szerdán csütörtökön pénteken szombaton".split(" "),e=(b.defineLocale||b.lang).call(b,"hu",{months:"január_február_március_április_május_június_július_augusztus_szeptember_október_november_december".split("_"),monthsShort:"jan_feb_márc_ápr_máj_jún_júl_aug_szept_okt_nov_dec".split("_"),weekdays:"vasárnap_hétfő_kedd_szerda_csütörtök_péntek_szombat".split("_"),weekdaysShort:"vas_hét_kedd_sze_csüt_pén_szo".split("_"),weekdaysMin:"v_h_k_sze_cs_p_szo".split("_"),longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"YYYY.MM.DD.",LL:"YYYY. MMMM D.",LLL:"YYYY. MMMM D. H:mm",LLLL:"YYYY. MMMM D., dddd H:mm"},meridiemParse:/de|du/i,isPM:function(a){return"u"===a.charAt(1).toLowerCase()},meridiem:function(a,b,c){return 12>a?c===!0?"de":"DE":c===!0?"du":"DU"},calendar:{sameDay:"[ma] LT[-kor]",nextDay:"[holnap] LT[-kor]",nextWeek:function(){return c.call(this,!0)},lastDay:"[tegnap] LT[-kor]",lastWeek:function(){return c.call(this,!1)},sameElse:"L"},relativeTime:{future:"%s múlva",past:"%s",s:a,m:a,mm:a,h:a,hh:a,d:a,dd:a,M:a,MM:a,y:a,yy:a},ordinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:7}});return e}(),a.fullCalendar.datepickerLang("hu","hu",{closeText:"bezár",prevText:"vissza",nextText:"előre",currentText:"ma",monthNames:["Január","Február","Március","Április","Május","Június","Július","Augusztus","Szeptember","Október","November","December"],monthNamesShort:["Jan","Feb","Már","Ápr","Máj","Jún","Júl","Aug","Szep","Okt","Nov","Dec"],dayNames:["Vasárnap","Hétfő","Kedd","Szerda","Csütörtök","Péntek","Szombat"],dayNamesShort:["Vas","Hét","Ked","Sze","Csü","Pén","Szo"],dayNamesMin:["V","H","K","Sze","Cs","P","Szo"],weekHeader:"Hét",dateFormat:"yy.mm.dd.",firstDay:1,isRTL:!1,showMonthAfterYear:!0,yearSuffix:""}),a.fullCalendar.lang("hu",{buttonText:{month:"Hónap",week:"Hét",day:"Nap",list:"Napló"},allDayText:"Egész nap",eventLimitText:"további"})}(),function(){!function(){"use strict";var a=(b.defineLocale||b.lang).call(b,"id",{months:"Januari_Februari_Maret_April_Mei_Juni_Juli_Agustus_September_Oktober_November_Desember".split("_"),monthsShort:"Jan_Feb_Mar_Apr_Mei_Jun_Jul_Ags_Sep_Okt_Nov_Des".split("_"),weekdays:"Minggu_Senin_Selasa_Rabu_Kamis_Jumat_Sabtu".split("_"),weekdaysShort:"Min_Sen_Sel_Rab_Kam_Jum_Sab".split("_"),weekdaysMin:"Mg_Sn_Sl_Rb_Km_Jm_Sb".split("_"),longDateFormat:{LT:"HH.mm",LTS:"HH.mm.ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY [pukul] HH.mm",LLLL:"dddd, D MMMM YYYY [pukul] HH.mm"},meridiemParse:/pagi|siang|sore|malam/,meridiemHour:function(a,b){return 12===a&&(a=0),"pagi"===b?a:"siang"===b?a>=11?a:a+12:"sore"===b||"malam"===b?a+12:void 0},meridiem:function(a,b,c){return 11>a?"pagi":15>a?"siang":19>a?"sore":"malam"},calendar:{sameDay:"[Hari ini pukul] LT",nextDay:"[Besok pukul] LT",nextWeek:"dddd [pukul] LT",lastDay:"[Kemarin pukul] LT",lastWeek:"dddd [lalu pukul] LT",sameElse:"L"},relativeTime:{future:"dalam %s",past:"%s yang lalu",s:"beberapa detik",m:"semenit",mm:"%d menit",h:"sejam",hh:"%d jam",d:"sehari",dd:"%d hari",M:"sebulan",MM:"%d bulan",y:"setahun",yy:"%d tahun"},week:{dow:1,doy:7}});return a}(),a.fullCalendar.datepickerLang("id","id",{closeText:"Tutup",prevText:"&#x3C;mundur",nextText:"maju&#x3E;",currentText:"hari ini",monthNames:["Januari","Februari","Maret","April","Mei","Juni","Juli","Agustus","September","Oktober","Nopember","Desember"],monthNamesShort:["Jan","Feb","Mar","Apr","Mei","Jun","Jul","Agus","Sep","Okt","Nop","Des"],dayNames:["Minggu","Senin","Selasa","Rabu","Kamis","Jumat","Sabtu"],dayNamesShort:["Min","Sen","Sel","Rab","kam","Jum","Sab"],dayNamesMin:["Mg","Sn","Sl","Rb","Km","jm","Sb"],weekHeader:"Mg",dateFormat:"dd/mm/yy",firstDay:0,isRTL:!1,showMonthAfterYear:!1,yearSuffix:""}),a.fullCalendar.lang("id",{buttonText:{month:"Bulan",week:"Minggu",day:"Hari",list:"Agenda"},allDayHtml:"Sehari<br/>penuh",eventLimitText:"lebih"})}(),function(){!function(){"use strict";function a(a){return a%100===11?!0:a%10!==1}function c(b,c,d,e){var f=b+" ";switch(d){case"s":return c||e?"nokkrar sekúndur":"nokkrum sekúndum";case"m":return c?"mínúta":"mínútu";case"mm":return a(b)?f+(c||e?"mínútur":"mínútum"):c?f+"mínúta":f+"mínútu";case"hh":return a(b)?f+(c||e?"klukkustundir":"klukkustundum"):f+"klukkustund";case"d":return c?"dagur":e?"dag":"degi";case"dd":return a(b)?c?f+"dagar":f+(e?"daga":"dögum"):c?f+"dagur":f+(e?"dag":"degi");case"M":return c?"mánuður":e?"mánuð":"mánuði";case"MM":return a(b)?c?f+"mánuðir":f+(e?"mánuði":"mánuðum"):c?f+"mánuður":f+(e?"mánuð":"mánuði");case"y":return c||e?"ár":"ári";case"yy":return a(b)?f+(c||e?"ár":"árum"):f+(c||e?"ár":"ári")}}var d=(b.defineLocale||b.lang).call(b,"is",{months:"janúar_febrúar_mars_apríl_maí_júní_júlí_ágúst_september_október_nóvember_desember".split("_"),monthsShort:"jan_feb_mar_apr_maí_jún_júl_ágú_sep_okt_nóv_des".split("_"),weekdays:"sunnudagur_mánudagur_þriðjudagur_miðvikudagur_fimmtudagur_föstudagur_laugardagur".split("_"),weekdaysShort:"sun_mán_þri_mið_fim_fös_lau".split("_"),weekdaysMin:"Su_Má_Þr_Mi_Fi_Fö_La".split("_"),longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY [kl.] H:mm",LLLL:"dddd, D. MMMM YYYY [kl.] H:mm"},calendar:{sameDay:"[í dag kl.] LT",nextDay:"[á morgun kl.] LT",nextWeek:"dddd [kl.] LT",lastDay:"[í gær kl.] LT",lastWeek:"[síðasta] dddd [kl.] LT",sameElse:"L"},relativeTime:{future:"eftir %s",past:"fyrir %s síðan",s:c,m:c,mm:c,h:"klukkustund",hh:c,d:c,dd:c,M:c,MM:c,y:c,yy:c},ordinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}});return d}(),a.fullCalendar.datepickerLang("is","is",{closeText:"Loka",prevText:"&#x3C; Fyrri",nextText:"Næsti &#x3E;",currentText:"Í dag",monthNames:["Janúar","Febrúar","Mars","Apríl","Maí","Júní","Júlí","Ágúst","September","Október","Nóvember","Desember"],monthNamesShort:["Jan","Feb","Mar","Apr","Maí","Jún","Júl","Ágú","Sep","Okt","Nóv","Des"],dayNames:["Sunnudagur","Mánudagur","Þriðjudagur","Miðvikudagur","Fimmtudagur","Föstudagur","Laugardagur"],dayNamesShort:["Sun","Mán","Þri","Mið","Fim","Fös","Lau"],dayNamesMin:["Su","Má","Þr","Mi","Fi","Fö","La"],weekHeader:"Vika",dateFormat:"dd.mm.yy",firstDay:0,isRTL:!1,showMonthAfterYear:!1,yearSuffix:""}),a.fullCalendar.lang("is",{buttonText:{month:"Mánuður",week:"Vika",day:"Dagur",list:"Dagskrá"},allDayHtml:"Allan<br/>daginn",eventLimitText:"meira"})}(),function(){!function(){"use strict";var a=(b.defineLocale||b.lang).call(b,"it",{months:"gennaio_febbraio_marzo_aprile_maggio_giugno_luglio_agosto_settembre_ottobre_novembre_dicembre".split("_"),monthsShort:"gen_feb_mar_apr_mag_giu_lug_ago_set_ott_nov_dic".split("_"),weekdays:"Domenica_Lunedì_Martedì_Mercoledì_Giovedì_Venerdì_Sabato".split("_"),weekdaysShort:"Dom_Lun_Mar_Mer_Gio_Ven_Sab".split("_"),weekdaysMin:"Do_Lu_Ma_Me_Gi_Ve_Sa".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[Oggi alle] LT",nextDay:"[Domani alle] LT",nextWeek:"dddd [alle] LT",lastDay:"[Ieri alle] LT",lastWeek:function(){switch(this.day()){case 0:return"[la scorsa] dddd [alle] LT";default:return"[lo scorso] dddd [alle] LT"}},sameElse:"L"},relativeTime:{future:function(a){return(/^[0-9].+$/.test(a)?"tra":"in")+" "+a},past:"%s fa",s:"alcuni secondi",m:"un minuto",mm:"%d minuti",h:"un'ora",hh:"%d ore",d:"un giorno",dd:"%d giorni",M:"un mese",MM:"%d mesi",y:"un anno",yy:"%d anni"},ordinalParse:/\d{1,2}º/,ordinal:"%dº",week:{dow:1,doy:4}});return a}(),a.fullCalendar.datepickerLang("it","it",{closeText:"Chiudi",prevText:"&#x3C;Prec",nextText:"Succ&#x3E;",currentText:"Oggi",monthNames:["Gennaio","Febbraio","Marzo","Aprile","Maggio","Giugno","Luglio","Agosto","Settembre","Ottobre","Novembre","Dicembre"],
-monthNamesShort:["Gen","Feb","Mar","Apr","Mag","Giu","Lug","Ago","Set","Ott","Nov","Dic"],dayNames:["Domenica","Lunedì","Martedì","Mercoledì","Giovedì","Venerdì","Sabato"],dayNamesShort:["Dom","Lun","Mar","Mer","Gio","Ven","Sab"],dayNamesMin:["Do","Lu","Ma","Me","Gi","Ve","Sa"],weekHeader:"Sm",dateFormat:"dd/mm/yy",firstDay:1,isRTL:!1,showMonthAfterYear:!1,yearSuffix:""}),a.fullCalendar.lang("it",{buttonText:{month:"Mese",week:"Settimana",day:"Giorno",list:"Agenda"},allDayHtml:"Tutto il<br/>giorno",eventLimitText:function(a){return"+altri "+a}})}(),function(){!function(){"use strict";var a=(b.defineLocale||b.lang).call(b,"ja",{months:"1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月".split("_"),monthsShort:"1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月".split("_"),weekdays:"日曜日_月曜日_火曜日_水曜日_木曜日_金曜日_土曜日".split("_"),weekdaysShort:"日_月_火_水_木_金_土".split("_"),weekdaysMin:"日_月_火_水_木_金_土".split("_"),longDateFormat:{LT:"Ah時m分",LTS:"Ah時m分s秒",L:"YYYY/MM/DD",LL:"YYYY年M月D日",LLL:"YYYY年M月D日Ah時m分",LLLL:"YYYY年M月D日Ah時m分 dddd"},meridiemParse:/午前|午後/i,isPM:function(a){return"午後"===a},meridiem:function(a,b,c){return 12>a?"午前":"午後"},calendar:{sameDay:"[今日] LT",nextDay:"[明日] LT",nextWeek:"[来週]dddd LT",lastDay:"[昨日] LT",lastWeek:"[前週]dddd LT",sameElse:"L"},ordinalParse:/\d{1,2}日/,ordinal:function(a,b){switch(b){case"d":case"D":case"DDD":return a+"日";default:return a}},relativeTime:{future:"%s後",past:"%s前",s:"数秒",m:"1分",mm:"%d分",h:"1時間",hh:"%d時間",d:"1日",dd:"%d日",M:"1ヶ月",MM:"%dヶ月",y:"1年",yy:"%d年"}});return a}(),a.fullCalendar.datepickerLang("ja","ja",{closeText:"閉じる",prevText:"&#x3C;前",nextText:"次&#x3E;",currentText:"今日",monthNames:["1月","2月","3月","4月","5月","6月","7月","8月","9月","10月","11月","12月"],monthNamesShort:["1月","2月","3月","4月","5月","6月","7月","8月","9月","10月","11月","12月"],dayNames:["日曜日","月曜日","火曜日","水曜日","木曜日","金曜日","土曜日"],dayNamesShort:["日","月","火","水","木","金","土"],dayNamesMin:["日","月","火","水","木","金","土"],weekHeader:"週",dateFormat:"yy/mm/dd",firstDay:0,isRTL:!1,showMonthAfterYear:!0,yearSuffix:"年"}),a.fullCalendar.lang("ja",{buttonText:{month:"月",week:"週",day:"日",list:"予定リスト"},allDayText:"終日",eventLimitText:function(a){return"他 "+a+" 件"}})}(),function(){!function(){"use strict";var a=(b.defineLocale||b.lang).call(b,"ko",{months:"1월_2월_3월_4월_5월_6월_7월_8월_9월_10월_11월_12월".split("_"),monthsShort:"1월_2월_3월_4월_5월_6월_7월_8월_9월_10월_11월_12월".split("_"),weekdays:"일요일_월요일_화요일_수요일_목요일_금요일_토요일".split("_"),weekdaysShort:"일_월_화_수_목_금_토".split("_"),weekdaysMin:"일_월_화_수_목_금_토".split("_"),longDateFormat:{LT:"A h시 m분",LTS:"A h시 m분 s초",L:"YYYY.MM.DD",LL:"YYYY년 MMMM D일",LLL:"YYYY년 MMMM D일 A h시 m분",LLLL:"YYYY년 MMMM D일 dddd A h시 m분"},calendar:{sameDay:"오늘 LT",nextDay:"내일 LT",nextWeek:"dddd LT",lastDay:"어제 LT",lastWeek:"지난주 dddd LT",sameElse:"L"},relativeTime:{future:"%s 후",past:"%s 전",s:"몇 초",ss:"%d초",m:"일분",mm:"%d분",h:"한 시간",hh:"%d시간",d:"하루",dd:"%d일",M:"한 달",MM:"%d달",y:"일 년",yy:"%d년"},ordinalParse:/\d{1,2}일/,ordinal:"%d일",meridiemParse:/오전|오후/,isPM:function(a){return"오후"===a},meridiem:function(a,b,c){return 12>a?"오전":"오후"}});return a}(),a.fullCalendar.datepickerLang("ko","ko",{closeText:"닫기",prevText:"이전달",nextText:"다음달",currentText:"오늘",monthNames:["1월","2월","3월","4월","5월","6월","7월","8월","9월","10월","11월","12월"],monthNamesShort:["1월","2월","3월","4월","5월","6월","7월","8월","9월","10월","11월","12월"],dayNames:["일요일","월요일","화요일","수요일","목요일","금요일","토요일"],dayNamesShort:["일","월","화","수","목","금","토"],dayNamesMin:["일","월","화","수","목","금","토"],weekHeader:"Wk",dateFormat:"yy-mm-dd",firstDay:0,isRTL:!1,showMonthAfterYear:!0,yearSuffix:"년"}),a.fullCalendar.lang("ko",{buttonText:{month:"월",week:"주",day:"일",list:"일정목록"},allDayText:"종일",eventLimitText:"개"})}(),function(){!function(){"use strict";function a(a,b,c,d){var e={m:["eng Minutt","enger Minutt"],h:["eng Stonn","enger Stonn"],d:["een Dag","engem Dag"],M:["ee Mount","engem Mount"],y:["ee Joer","engem Joer"]};return b?e[c][0]:e[c][1]}function c(a){var b=a.substr(0,a.indexOf(" "));return e(b)?"a "+a:"an "+a}function d(a){var b=a.substr(0,a.indexOf(" "));return e(b)?"viru "+a:"virun "+a}function e(a){if(a=parseInt(a,10),isNaN(a))return!1;if(0>a)return!0;if(10>a)return a>=4&&7>=a;if(100>a){var b=a%10,c=a/10;return e(0===b?c:b)}if(1e4>a){for(;a>=10;)a/=10;return e(a)}return a/=1e3,e(a)}var f=(b.defineLocale||b.lang).call(b,"lb",{months:"Januar_Februar_Mäerz_Abrëll_Mee_Juni_Juli_August_September_Oktober_November_Dezember".split("_"),monthsShort:"Jan._Febr._Mrz._Abr._Mee_Jun._Jul._Aug._Sept._Okt._Nov._Dez.".split("_"),monthsParseExact:!0,weekdays:"Sonndeg_Méindeg_Dënschdeg_Mëttwoch_Donneschdeg_Freideg_Samschdeg".split("_"),weekdaysShort:"So._Mé._Dë._Më._Do._Fr._Sa.".split("_"),weekdaysMin:"So_Mé_Dë_Më_Do_Fr_Sa".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm [Auer]",LTS:"H:mm:ss [Auer]",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY H:mm [Auer]",LLLL:"dddd, D. MMMM YYYY H:mm [Auer]"},calendar:{sameDay:"[Haut um] LT",sameElse:"L",nextDay:"[Muer um] LT",nextWeek:"dddd [um] LT",lastDay:"[Gëschter um] LT",lastWeek:function(){switch(this.day()){case 2:case 4:return"[Leschten] dddd [um] LT";default:return"[Leschte] dddd [um] LT"}}},relativeTime:{future:c,past:d,s:"e puer Sekonnen",m:a,mm:"%d Minutten",h:a,hh:"%d Stonnen",d:a,dd:"%d Deeg",M:a,MM:"%d Méint",y:a,yy:"%d Joer"},ordinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}});return f}(),a.fullCalendar.datepickerLang("lb","lb",{closeText:"Fäerdeg",prevText:"Zréck",nextText:"Weider",currentText:"Haut",monthNames:["Januar","Februar","Mäerz","Abrëll","Mee","Juni","Juli","August","September","Oktober","November","Dezember"],monthNamesShort:["Jan","Feb","Mäe","Abr","Mee","Jun","Jul","Aug","Sep","Okt","Nov","Dez"],dayNames:["Sonndeg","Méindeg","Dënschdeg","Mëttwoch","Donneschdeg","Freideg","Samschdeg"],dayNamesShort:["Son","Méi","Dën","Mët","Don","Fre","Sam"],dayNamesMin:["So","Mé","Dë","Më","Do","Fr","Sa"],weekHeader:"W",dateFormat:"dd.mm.yy",firstDay:1,isRTL:!1,showMonthAfterYear:!1,yearSuffix:""}),a.fullCalendar.lang("lb",{buttonText:{month:"Mount",week:"Woch",day:"Dag",list:"Terminiwwersiicht"},allDayText:"Ganzen Dag",eventLimitText:"méi"})}(),function(){!function(){"use strict";function a(a,b,c,d){return b?"kelios sekundės":d?"kelių sekundžių":"kelias sekundes"}function c(a,b,c,d){return b?e(c)[0]:d?e(c)[1]:e(c)[2]}function d(a){return a%10===0||a>10&&20>a}function e(a){return g[a].split("_")}function f(a,b,f,g){var h=a+" ";return 1===a?h+c(a,b,f[0],g):b?h+(d(a)?e(f)[1]:e(f)[0]):g?h+e(f)[1]:h+(d(a)?e(f)[1]:e(f)[2])}var g={m:"minutė_minutės_minutę",mm:"minutės_minučių_minutes",h:"valanda_valandos_valandą",hh:"valandos_valandų_valandas",d:"diena_dienos_dieną",dd:"dienos_dienų_dienas",M:"mėnuo_mėnesio_mėnesį",MM:"mėnesiai_mėnesių_mėnesius",y:"metai_metų_metus",yy:"metai_metų_metus"},h=(b.defineLocale||b.lang).call(b,"lt",{months:{format:"sausio_vasario_kovo_balandžio_gegužės_birželio_liepos_rugpjūčio_rugsėjo_spalio_lapkričio_gruodžio".split("_"),standalone:"sausis_vasaris_kovas_balandis_gegužė_birželis_liepa_rugpjūtis_rugsėjis_spalis_lapkritis_gruodis".split("_")},monthsShort:"sau_vas_kov_bal_geg_bir_lie_rgp_rgs_spa_lap_grd".split("_"),weekdays:{format:"sekmadienį_pirmadienį_antradienį_trečiadienį_ketvirtadienį_penktadienį_šeštadienį".split("_"),standalone:"sekmadienis_pirmadienis_antradienis_trečiadienis_ketvirtadienis_penktadienis_šeštadienis".split("_"),isFormat:/dddd HH:mm/},weekdaysShort:"Sek_Pir_Ant_Tre_Ket_Pen_Šeš".split("_"),weekdaysMin:"S_P_A_T_K_Pn_Š".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY-MM-DD",LL:"YYYY [m.] MMMM D [d.]",LLL:"YYYY [m.] MMMM D [d.], HH:mm [val.]",LLLL:"YYYY [m.] MMMM D [d.], dddd, HH:mm [val.]",l:"YYYY-MM-DD",ll:"YYYY [m.] MMMM D [d.]",lll:"YYYY [m.] MMMM D [d.], HH:mm [val.]",llll:"YYYY [m.] MMMM D [d.], ddd, HH:mm [val.]"},calendar:{sameDay:"[Šiandien] LT",nextDay:"[Rytoj] LT",nextWeek:"dddd LT",lastDay:"[Vakar] LT",lastWeek:"[Praėjusį] dddd LT",sameElse:"L"},relativeTime:{future:"po %s",past:"prieš %s",s:a,m:c,mm:f,h:c,hh:f,d:c,dd:f,M:c,MM:f,y:c,yy:f},ordinalParse:/\d{1,2}-oji/,ordinal:function(a){return a+"-oji"},week:{dow:1,doy:4}});return h}(),a.fullCalendar.datepickerLang("lt","lt",{closeText:"Uždaryti",prevText:"&#x3C;Atgal",nextText:"Pirmyn&#x3E;",currentText:"Šiandien",monthNames:["Sausis","Vasaris","Kovas","Balandis","Gegužė","Birželis","Liepa","Rugpjūtis","Rugsėjis","Spalis","Lapkritis","Gruodis"],monthNamesShort:["Sau","Vas","Kov","Bal","Geg","Bir","Lie","Rugp","Rugs","Spa","Lap","Gru"],dayNames:["sekmadienis","pirmadienis","antradienis","trečiadienis","ketvirtadienis","penktadienis","šeštadienis"],dayNamesShort:["sek","pir","ant","tre","ket","pen","šeš"],dayNamesMin:["Se","Pr","An","Tr","Ke","Pe","Še"],weekHeader:"SAV",dateFormat:"yy-mm-dd",firstDay:1,isRTL:!1,showMonthAfterYear:!0,yearSuffix:""}),a.fullCalendar.lang("lt",{buttonText:{month:"Mėnuo",week:"Savaitė",day:"Diena",list:"Darbotvarkė"},allDayText:"Visą dieną",eventLimitText:"daugiau"})}(),function(){!function(){"use strict";function a(a,b,c){return c?b%10===1&&11!==b?a[2]:a[3]:b%10===1&&11!==b?a[0]:a[1]}function c(b,c,d){return b+" "+a(f[d],b,c)}function d(b,c,d){return a(f[d],b,c)}function e(a,b){return b?"dažas sekundes":"dažām sekundēm"}var f={m:"minūtes_minūtēm_minūte_minūtes".split("_"),mm:"minūtes_minūtēm_minūte_minūtes".split("_"),h:"stundas_stundām_stunda_stundas".split("_"),hh:"stundas_stundām_stunda_stundas".split("_"),d:"dienas_dienām_diena_dienas".split("_"),dd:"dienas_dienām_diena_dienas".split("_"),M:"mēneša_mēnešiem_mēnesis_mēneši".split("_"),MM:"mēneša_mēnešiem_mēnesis_mēneši".split("_"),y:"gada_gadiem_gads_gadi".split("_"),yy:"gada_gadiem_gads_gadi".split("_")},g=(b.defineLocale||b.lang).call(b,"lv",{months:"janvāris_februāris_marts_aprīlis_maijs_jūnijs_jūlijs_augusts_septembris_oktobris_novembris_decembris".split("_"),monthsShort:"jan_feb_mar_apr_mai_jūn_jūl_aug_sep_okt_nov_dec".split("_"),weekdays:"svētdiena_pirmdiena_otrdiena_trešdiena_ceturtdiena_piektdiena_sestdiena".split("_"),weekdaysShort:"Sv_P_O_T_C_Pk_S".split("_"),weekdaysMin:"Sv_P_O_T_C_Pk_S".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY.",LL:"YYYY. [gada] D. MMMM",LLL:"YYYY. [gada] D. MMMM, HH:mm",LLLL:"YYYY. [gada] D. MMMM, dddd, HH:mm"},calendar:{sameDay:"[Šodien pulksten] LT",nextDay:"[Rīt pulksten] LT",nextWeek:"dddd [pulksten] LT",lastDay:"[Vakar pulksten] LT",lastWeek:"[Pagājušā] dddd [pulksten] LT",sameElse:"L"},relativeTime:{future:"pēc %s",past:"pirms %s",s:e,m:d,mm:c,h:d,hh:c,d:d,dd:c,M:d,MM:c,y:d,yy:c},ordinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}});return g}(),a.fullCalendar.datepickerLang("lv","lv",{closeText:"Aizvērt",prevText:"Iepr.",nextText:"Nāk.",currentText:"Šodien",monthNames:["Janvāris","Februāris","Marts","Aprīlis","Maijs","Jūnijs","Jūlijs","Augusts","Septembris","Oktobris","Novembris","Decembris"],monthNamesShort:["Jan","Feb","Mar","Apr","Mai","Jūn","Jūl","Aug","Sep","Okt","Nov","Dec"],dayNames:["svētdiena","pirmdiena","otrdiena","trešdiena","ceturtdiena","piektdiena","sestdiena"],dayNamesShort:["svt","prm","otr","tre","ctr","pkt","sst"],dayNamesMin:["Sv","Pr","Ot","Tr","Ct","Pk","Ss"],weekHeader:"Ned.",dateFormat:"dd.mm.yy",firstDay:1,isRTL:!1,showMonthAfterYear:!1,yearSuffix:""}),a.fullCalendar.lang("lv",{buttonText:{month:"Mēnesis",week:"Nedēļa",day:"Diena",list:"Dienas kārtība"},allDayText:"Visu dienu",eventLimitText:function(a){return"+vēl "+a}})}(),function(){!function(){"use strict";var a=(b.defineLocale||b.lang).call(b,"nb",{months:"januar_februar_mars_april_mai_juni_juli_august_september_oktober_november_desember".split("_"),monthsShort:"jan._feb._mars_april_mai_juni_juli_aug._sep._okt._nov._des.".split("_"),monthsParseExact:!0,weekdays:"søndag_mandag_tirsdag_onsdag_torsdag_fredag_lørdag".split("_"),weekdaysShort:"sø._ma._ti._on._to._fr._lø.".split("_"),weekdaysMin:"sø_ma_ti_on_to_fr_lø".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY [kl.] HH:mm",LLLL:"dddd D. MMMM YYYY [kl.] HH:mm"},calendar:{sameDay:"[i dag kl.] LT",nextDay:"[i morgen kl.] LT",nextWeek:"dddd [kl.] LT",lastDay:"[i går kl.] LT",lastWeek:"[forrige] dddd [kl.] LT",sameElse:"L"},relativeTime:{future:"om %s",past:"%s siden",s:"noen sekunder",m:"ett minutt",mm:"%d minutter",h:"en time",hh:"%d timer",d:"en dag",dd:"%d dager",M:"en måned",MM:"%d måneder",y:"ett år",yy:"%d år"},ordinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}});return a}(),a.fullCalendar.datepickerLang("nb","nb",{closeText:"Lukk",prevText:"&#xAB;Forrige",nextText:"Neste&#xBB;",currentText:"I dag",monthNames:["januar","februar","mars","april","mai","juni","juli","august","september","oktober","november","desember"],monthNamesShort:["jan","feb","mar","apr","mai","jun","jul","aug","sep","okt","nov","des"],dayNamesShort:["søn","man","tir","ons","tor","fre","lør"],dayNames:["søndag","mandag","tirsdag","onsdag","torsdag","fredag","lørdag"],dayNamesMin:["sø","ma","ti","on","to","fr","lø"],weekHeader:"Uke",dateFormat:"dd.mm.yy",firstDay:1,isRTL:!1,showMonthAfterYear:!1,yearSuffix:""}),a.fullCalendar.lang("nb",{buttonText:{month:"Måned",week:"Uke",day:"Dag",list:"Agenda"},allDayText:"Hele dagen",eventLimitText:"til"})}(),function(){!function(){"use strict";var a="jan._feb._mrt._apr._mei_jun._jul._aug._sep._okt._nov._dec.".split("_"),c="jan_feb_mrt_apr_mei_jun_jul_aug_sep_okt_nov_dec".split("_"),d=(b.defineLocale||b.lang).call(b,"nl",{months:"januari_februari_maart_april_mei_juni_juli_augustus_september_oktober_november_december".split("_"),monthsShort:function(b,d){return/-MMM-/.test(d)?c[b.month()]:a[b.month()]},monthsParseExact:!0,weekdays:"zondag_maandag_dinsdag_woensdag_donderdag_vrijdag_zaterdag".split("_"),weekdaysShort:"zo._ma._di._wo._do._vr._za.".split("_"),weekdaysMin:"Zo_Ma_Di_Wo_Do_Vr_Za".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD-MM-YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[vandaag om] LT",nextDay:"[morgen om] LT",nextWeek:"dddd [om] LT",lastDay:"[gisteren om] LT",lastWeek:"[afgelopen] dddd [om] LT",sameElse:"L"},relativeTime:{future:"over %s",past:"%s geleden",s:"een paar seconden",m:"één minuut",mm:"%d minuten",h:"één uur",hh:"%d uur",d:"één dag",dd:"%d dagen",M:"één maand",MM:"%d maanden",y:"één jaar",yy:"%d jaar"},ordinalParse:/\d{1,2}(ste|de)/,ordinal:function(a){return a+(1===a||8===a||a>=20?"ste":"de")},week:{dow:1,doy:4}});return d}(),a.fullCalendar.datepickerLang("nl","nl",{closeText:"Sluiten",prevText:"←",nextText:"→",currentText:"Vandaag",monthNames:["januari","februari","maart","april","mei","juni","juli","augustus","september","oktober","november","december"],monthNamesShort:["jan","feb","mrt","apr","mei","jun","jul","aug","sep","okt","nov","dec"],dayNames:["zondag","maandag","dinsdag","woensdag","donderdag","vrijdag","zaterdag"],dayNamesShort:["zon","maa","din","woe","don","vri","zat"],dayNamesMin:["zo","ma","di","wo","do","vr","za"],weekHeader:"Wk",dateFormat:"dd-mm-yy",firstDay:1,isRTL:!1,showMonthAfterYear:!1,yearSuffix:""}),a.fullCalendar.lang("nl",{buttonText:{month:"Maand",week:"Week",day:"Dag",list:"Agenda"},allDayText:"Hele dag",eventLimitText:"extra"})}(),function(){!function(){"use strict";function a(a){return 5>a%10&&a%10>1&&~~(a/10)%10!==1}function c(b,c,d){var e=b+" ";switch(d){case"m":return c?"minuta":"minutę";case"mm":return e+(a(b)?"minuty":"minut");case"h":return c?"godzina":"godzinę";case"hh":return e+(a(b)?"godziny":"godzin");case"MM":return e+(a(b)?"miesiące":"miesięcy");case"yy":return e+(a(b)?"lata":"lat")}}var d="styczeń_luty_marzec_kwiecień_maj_czerwiec_lipiec_sierpień_wrzesień_październik_listopad_grudzień".split("_"),e="stycznia_lutego_marca_kwietnia_maja_czerwca_lipca_sierpnia_września_października_listopada_grudnia".split("_"),f=(b.defineLocale||b.lang).call(b,"pl",{months:function(a,b){return""===b?"("+e[a.month()]+"|"+d[a.month()]+")":/D MMMM/.test(b)?e[a.month()]:d[a.month()]},monthsShort:"sty_lut_mar_kwi_maj_cze_lip_sie_wrz_paź_lis_gru".split("_"),weekdays:"niedziela_poniedziałek_wtorek_środa_czwartek_piątek_sobota".split("_"),weekdaysShort:"nie_pon_wt_śr_czw_pt_sb".split("_"),weekdaysMin:"Nd_Pn_Wt_Śr_Cz_Pt_So".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[Dziś o] LT",nextDay:"[Jutro o] LT",nextWeek:"[W] dddd [o] LT",lastDay:"[Wczoraj o] LT",lastWeek:function(){switch(this.day()){case 0:return"[W zeszłą niedzielę o] LT";case 3:return"[W zeszłą środę o] LT";case 6:return"[W zeszłą sobotę o] LT";default:return"[W zeszły] dddd [o] LT"}},sameElse:"L"},relativeTime:{future:"za %s",past:"%s temu",s:"kilka sekund",m:c,mm:c,h:c,hh:c,d:"1 dzień",dd:"%d dni",M:"miesiąc",MM:c,y:"rok",yy:c},ordinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}});return f}(),a.fullCalendar.datepickerLang("pl","pl",{closeText:"Zamknij",prevText:"&#x3C;Poprzedni",nextText:"Następny&#x3E;",currentText:"Dziś",monthNames:["Styczeń","Luty","Marzec","Kwiecień","Maj","Czerwiec","Lipiec","Sierpień","Wrzesień","Październik","Listopad","Grudzień"],monthNamesShort:["Sty","Lu","Mar","Kw","Maj","Cze","Lip","Sie","Wrz","Pa","Lis","Gru"],dayNames:["Niedziela","Poniedziałek","Wtorek","Środa","Czwartek","Piątek","Sobota"],dayNamesShort:["Nie","Pn","Wt","Śr","Czw","Pt","So"],dayNamesMin:["N","Pn","Wt","Śr","Cz","Pt","So"],weekHeader:"Tydz",dateFormat:"dd.mm.yy",firstDay:1,isRTL:!1,showMonthAfterYear:!1,yearSuffix:""}),a.fullCalendar.lang("pl",{buttonText:{month:"Miesiąc",week:"Tydzień",day:"Dzień",list:"Plan dnia"},allDayText:"Cały dzień",eventLimitText:"więcej"})}(),function(){!function(){"use strict";var a=(b.defineLocale||b.lang).call(b,"pt-br",{months:"Janeiro_Fevereiro_Março_Abril_Maio_Junho_Julho_Agosto_Setembro_Outubro_Novembro_Dezembro".split("_"),monthsShort:"Jan_Fev_Mar_Abr_Mai_Jun_Jul_Ago_Set_Out_Nov_Dez".split("_"),weekdays:"Domingo_Segunda-feira_Terça-feira_Quarta-feira_Quinta-feira_Sexta-feira_Sábado".split("_"),weekdaysShort:"Dom_Seg_Ter_Qua_Qui_Sex_Sáb".split("_"),weekdaysMin:"Dom_2ª_3ª_4ª_5ª_6ª_Sáb".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D [de] MMMM [de] YYYY",LLL:"D [de] MMMM [de] YYYY [às] HH:mm",LLLL:"dddd, D [de] MMMM [de] YYYY [às] HH:mm"},calendar:{sameDay:"[Hoje às] LT",nextDay:"[Amanhã às] LT",nextWeek:"dddd [às] LT",lastDay:"[Ontem às] LT",lastWeek:function(){return 0===this.day()||6===this.day()?"[Último] dddd [às] LT":"[Última] dddd [às] LT"},sameElse:"L"},relativeTime:{future:"em %s",past:"%s atrás",s:"poucos segundos",m:"um minuto",mm:"%d minutos",h:"uma hora",hh:"%d horas",d:"um dia",dd:"%d dias",M:"um mês",MM:"%d meses",y:"um ano",yy:"%d anos"},ordinalParse:/\d{1,2}º/,ordinal:"%dº"});return a}(),a.fullCalendar.datepickerLang("pt-br","pt-BR",{closeText:"Fechar",prevText:"&#x3C;Anterior",nextText:"Próximo&#x3E;",currentText:"Hoje",monthNames:["Janeiro","Fevereiro","Março","Abril","Maio","Junho","Julho","Agosto","Setembro","Outubro","Novembro","Dezembro"],monthNamesShort:["Jan","Fev","Mar","Abr","Mai","Jun","Jul","Ago","Set","Out","Nov","Dez"],dayNames:["Domingo","Segunda-feira","Terça-feira","Quarta-feira","Quinta-feira","Sexta-feira","Sábado"],dayNamesShort:["Dom","Seg","Ter","Qua","Qui","Sex","Sáb"],dayNamesMin:["Dom","Seg","Ter","Qua","Qui","Sex","Sáb"],weekHeader:"Sm",dateFormat:"dd/mm/yy",firstDay:0,isRTL:!1,showMonthAfterYear:!1,yearSuffix:""}),a.fullCalendar.lang("pt-br",{buttonText:{month:"Mês",week:"Semana",day:"Dia",list:"Compromissos"},allDayText:"dia inteiro",eventLimitText:function(a){return"mais +"+a}})}(),function(){!function(){"use strict";var a=(b.defineLocale||b.lang).call(b,"pt",{months:"Janeiro_Fevereiro_Março_Abril_Maio_Junho_Julho_Agosto_Setembro_Outubro_Novembro_Dezembro".split("_"),monthsShort:"Jan_Fev_Mar_Abr_Mai_Jun_Jul_Ago_Set_Out_Nov_Dez".split("_"),weekdays:"Domingo_Segunda-Feira_Terça-Feira_Quarta-Feira_Quinta-Feira_Sexta-Feira_Sábado".split("_"),weekdaysShort:"Dom_Seg_Ter_Qua_Qui_Sex_Sáb".split("_"),weekdaysMin:"Dom_2ª_3ª_4ª_5ª_6ª_Sáb".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D [de] MMMM [de] YYYY",LLL:"D [de] MMMM [de] YYYY HH:mm",LLLL:"dddd, D [de] MMMM [de] YYYY HH:mm"},calendar:{sameDay:"[Hoje às] LT",nextDay:"[Amanhã às] LT",nextWeek:"dddd [às] LT",lastDay:"[Ontem às] LT",lastWeek:function(){return 0===this.day()||6===this.day()?"[Último] dddd [às] LT":"[Última] dddd [às] LT"},sameElse:"L"},relativeTime:{future:"em %s",past:"há %s",s:"segundos",m:"um minuto",mm:"%d minutos",h:"uma hora",hh:"%d horas",d:"um dia",dd:"%d dias",M:"um mês",MM:"%d meses",y:"um ano",yy:"%d anos"},ordinalParse:/\d{1,2}º/,ordinal:"%dº",week:{dow:1,doy:4}});return a}(),a.fullCalendar.datepickerLang("pt","pt",{closeText:"Fechar",prevText:"Anterior",nextText:"Seguinte",currentText:"Hoje",monthNames:["Janeiro","Fevereiro","Março","Abril","Maio","Junho","Julho","Agosto","Setembro","Outubro","Novembro","Dezembro"],monthNamesShort:["Jan","Fev","Mar","Abr","Mai","Jun","Jul","Ago","Set","Out","Nov","Dez"],dayNames:["Domingo","Segunda-feira","Terça-feira","Quarta-feira","Quinta-feira","Sexta-feira","Sábado"],dayNamesShort:["Dom","Seg","Ter","Qua","Qui","Sex","Sáb"],dayNamesMin:["Dom","Seg","Ter","Qua","Qui","Sex","Sáb"],weekHeader:"Sem",dateFormat:"dd/mm/yy",firstDay:0,isRTL:!1,showMonthAfterYear:!1,yearSuffix:""}),a.fullCalendar.lang("pt",{buttonText:{month:"Mês",week:"Semana",day:"Dia",list:"Agenda"},allDayText:"Todo o dia",eventLimitText:"mais"})}(),function(){!function(){"use strict";function a(a,b,c){var d={mm:"minute",hh:"ore",dd:"zile",MM:"luni",yy:"ani"},e=" ";return(a%100>=20||a>=100&&a%100===0)&&(e=" de "),a+e+d[c]}var c=(b.defineLocale||b.lang).call(b,"ro",{months:"ianuarie_februarie_martie_aprilie_mai_iunie_iulie_august_septembrie_octombrie_noiembrie_decembrie".split("_"),monthsShort:"ian._febr._mart._apr._mai_iun._iul._aug._sept._oct._nov._dec.".split("_"),monthsParseExact:!0,weekdays:"duminică_luni_marți_miercuri_joi_vineri_sâmbătă".split("_"),weekdaysShort:"Dum_Lun_Mar_Mie_Joi_Vin_Sâm".split("_"),weekdaysMin:"Du_Lu_Ma_Mi_Jo_Vi_Sâ".split("_"),longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY H:mm",LLLL:"dddd, D MMMM YYYY H:mm"},calendar:{sameDay:"[azi la] LT",nextDay:"[mâine la] LT",nextWeek:"dddd [la] LT",lastDay:"[ieri la] LT",lastWeek:"[fosta] dddd [la] LT",sameElse:"L"},relativeTime:{future:"peste %s",past:"%s în urmă",s:"câteva secunde",m:"un minut",mm:a,h:"o oră",hh:a,d:"o zi",dd:a,M:"o lună",MM:a,y:"un an",yy:a},week:{dow:1,doy:7}});return c}(),a.fullCalendar.datepickerLang("ro","ro",{closeText:"Închide",prevText:"&#xAB; Luna precedentă",nextText:"Luna următoare &#xBB;",currentText:"Azi",monthNames:["Ianuarie","Februarie","Martie","Aprilie","Mai","Iunie","Iulie","August","Septembrie","Octombrie","Noiembrie","Decembrie"],monthNamesShort:["Ian","Feb","Mar","Apr","Mai","Iun","Iul","Aug","Sep","Oct","Nov","Dec"],dayNames:["Duminică","Luni","Marţi","Miercuri","Joi","Vineri","Sâmbătă"],dayNamesShort:["Dum","Lun","Mar","Mie","Joi","Vin","Sâm"],dayNamesMin:["Du","Lu","Ma","Mi","Jo","Vi","Sâ"],weekHeader:"Săpt",dateFormat:"dd.mm.yy",firstDay:1,isRTL:!1,showMonthAfterYear:!1,yearSuffix:""}),a.fullCalendar.lang("ro",{buttonText:{prev:"precedentă",next:"următoare",month:"Lună",week:"Săptămână",day:"Zi",list:"Agendă"},allDayText:"Toată ziua",eventLimitText:function(a){return"+alte "+a}})}(),function(){!function(){"use strict";function a(a,b){var c=a.split("_");return b%10===1&&b%100!==11?c[0]:b%10>=2&&4>=b%10&&(10>b%100||b%100>=20)?c[1]:c[2]}function c(b,c,d){var e={mm:c?"минута_минуты_минут":"минуту_минуты_минут",hh:"час_часа_часов",dd:"день_дня_дней",MM:"месяц_месяца_месяцев",yy:"год_года_лет"};return"m"===d?c?"минута":"минуту":b+" "+a(e[d],+b)}var d=[/^янв/i,/^фев/i,/^мар/i,/^апр/i,/^ма[йя]/i,/^июн/i,/^июл/i,/^авг/i,/^сен/i,/^окт/i,/^ноя/i,/^дек/i],e=(b.defineLocale||b.lang).call(b,"ru",{months:{format:"января_февраля_марта_апреля_мая_июня_июля_августа_сентября_октября_ноября_декабря".split("_"),standalone:"январь_февраль_март_апрель_май_июнь_июль_август_сентябрь_октябрь_ноябрь_декабрь".split("_")},monthsShort:{format:"янв._февр._мар._апр._мая_июня_июля_авг._сент._окт._нояб._дек.".split("_"),standalone:"янв._февр._март_апр._май_июнь_июль_авг._сент._окт._нояб._дек.".split("_")},weekdays:{standalone:"воскресенье_понедельник_вторник_среда_четверг_пятница_суббота".split("_"),format:"воскресенье_понедельник_вторник_среду_четверг_пятницу_субботу".split("_"),isFormat:/\[ ?[Вв] ?(?:прошлую|следующую|эту)? ?\] ?dddd/},weekdaysShort:"вс_пн_вт_ср_чт_пт_сб".split("_"),weekdaysMin:"вс_пн_вт_ср_чт_пт_сб".split("_"),monthsParse:d,longMonthsParse:d,shortMonthsParse:d,monthsRegex:/^(сентябр[яь]|октябр[яь]|декабр[яь]|феврал[яь]|январ[яь]|апрел[яь]|августа?|ноябр[яь]|сент\.|февр\.|нояб\.|июнь|янв.|июль|дек.|авг.|апр.|марта|мар[.т]|окт.|июн[яь]|июл[яь]|ма[яй])/i,monthsShortRegex:/^(сентябр[яь]|октябр[яь]|декабр[яь]|феврал[яь]|январ[яь]|апрел[яь]|августа?|ноябр[яь]|сент\.|февр\.|нояб\.|июнь|янв.|июль|дек.|авг.|апр.|марта|мар[.т]|окт.|июн[яь]|июл[яь]|ма[яй])/i,monthsStrictRegex:/^(сентябр[яь]|октябр[яь]|декабр[яь]|феврал[яь]|январ[яь]|апрел[яь]|августа?|ноябр[яь]|марта?|июн[яь]|июл[яь]|ма[яй])/i,monthsShortStrictRegex:/^(нояб\.|февр\.|сент\.|июль|янв\.|июн[яь]|мар[.т]|авг\.|апр\.|окт\.|дек\.|ма[яй])/i,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY г.",LLL:"D MMMM YYYY г., HH:mm",LLLL:"dddd, D MMMM YYYY г., HH:mm"},calendar:{sameDay:"[Сегодня в] LT",nextDay:"[Завтра в] LT",lastDay:"[Вчера в] LT",nextWeek:function(a){if(a.week()===this.week())return 2===this.day()?"[Во] dddd [в] LT":"[В] dddd [в] LT";switch(this.day()){case 0:return"[В следующее] dddd [в] LT";case 1:case 2:case 4:return"[В следующий] dddd [в] LT";case 3:case 5:case 6:return"[В следующую] dddd [в] LT"}},lastWeek:function(a){if(a.week()===this.week())return 2===this.day()?"[Во] dddd [в] LT":"[В] dddd [в] LT";switch(this.day()){case 0:return"[В прошлое] dddd [в] LT";case 1:case 2:case 4:return"[В прошлый] dddd [в] LT";case 3:case 5:case 6:return"[В прошлую] dddd [в] LT"}},sameElse:"L"},relativeTime:{future:"через %s",past:"%s назад",s:"несколько секунд",m:c,mm:c,h:"час",hh:c,d:"день",dd:c,M:"месяц",MM:c,y:"год",yy:c},meridiemParse:/ночи|утра|дня|вечера/i,isPM:function(a){return/^(дня|вечера)$/.test(a)},meridiem:function(a,b,c){return 4>a?"ночи":12>a?"утра":17>a?"дня":"вечера"},ordinalParse:/\d{1,2}-(й|го|я)/,ordinal:function(a,b){switch(b){case"M":case"d":case"DDD":return a+"-й";case"D":return a+"-го";case"w":case"W":return a+"-я";default:return a}},week:{dow:1,doy:7}});return e}(),a.fullCalendar.datepickerLang("ru","ru",{closeText:"Закрыть",prevText:"&#x3C;Пред",nextText:"След&#x3E;",currentText:"Сегодня",monthNames:["Январь","Февраль","Март","Апрель","Май","Июнь","Июль","Август","Сентябрь","Октябрь","Ноябрь","Декабрь"],monthNamesShort:["Янв","Фев","Мар","Апр","Май","Июн","Июл","Авг","Сен","Окт","Ноя","Дек"],dayNames:["воскресенье","понедельник","вторник","среда","четверг","пятница","суббота"],dayNamesShort:["вск","пнд","втр","срд","чтв","птн","сбт"],dayNamesMin:["Вс","Пн","Вт","Ср","Чт","Пт","Сб"],weekHeader:"Нед",dateFormat:"dd.mm.yy",firstDay:1,isRTL:!1,showMonthAfterYear:!1,yearSuffix:""}),a.fullCalendar.lang("ru",{buttonText:{month:"Месяц",week:"Неделя",day:"День",list:"Повестка дня"},allDayText:"Весь день",eventLimitText:function(a){return"+ ещё "+a}})}(),function(){!function(){"use strict";function a(a){return a>1&&5>a}function c(b,c,d,e){var f=b+" ";switch(d){case"s":return c||e?"pár sekúnd":"pár sekundami";case"m":return c?"minúta":e?"minútu":"minútou";case"mm":return c||e?f+(a(b)?"minúty":"minút"):f+"minútami";case"h":return c?"hodina":e?"hodinu":"hodinou";case"hh":return c||e?f+(a(b)?"hodiny":"hodín"):f+"hodinami";case"d":return c||e?"deň":"dňom";case"dd":return c||e?f+(a(b)?"dni":"dní"):f+"dňami";case"M":return c||e?"mesiac":"mesiacom";case"MM":return c||e?f+(a(b)?"mesiace":"mesiacov"):f+"mesiacmi";case"y":return c||e?"rok":"rokom";case"yy":return c||e?f+(a(b)?"roky":"rokov"):f+"rokmi"}}var d="január_február_marec_apríl_máj_jún_júl_august_september_október_november_december".split("_"),e="jan_feb_mar_apr_máj_jún_júl_aug_sep_okt_nov_dec".split("_"),f=(b.defineLocale||b.lang).call(b,"sk",{months:d,monthsShort:e,weekdays:"nedeľa_pondelok_utorok_streda_štvrtok_piatok_sobota".split("_"),weekdaysShort:"ne_po_ut_st_št_pi_so".split("_"),weekdaysMin:"ne_po_ut_st_št_pi_so".split("_"),longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY H:mm",LLLL:"dddd D. MMMM YYYY H:mm"},calendar:{sameDay:"[dnes o] LT",nextDay:"[zajtra o] LT",nextWeek:function(){switch(this.day()){case 0:return"[v nedeľu o] LT";case 1:case 2:return"[v] dddd [o] LT";case 3:return"[v stredu o] LT";case 4:return"[vo štvrtok o] LT";case 5:return"[v piatok o] LT";case 6:return"[v sobotu o] LT"}},lastDay:"[včera o] LT",lastWeek:function(){switch(this.day()){case 0:return"[minulú nedeľu o] LT";case 1:case 2:return"[minulý] dddd [o] LT";case 3:return"[minulú stredu o] LT";case 4:case 5:return"[minulý] dddd [o] LT";case 6:return"[minulú sobotu o] LT"}},sameElse:"L"},relativeTime:{future:"za %s",past:"pred %s",s:c,m:c,mm:c,h:c,hh:c,d:c,dd:c,M:c,MM:c,y:c,yy:c},ordinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}});return f}(),a.fullCalendar.datepickerLang("sk","sk",{closeText:"Zavrieť",prevText:"&#x3C;Predchádzajúci",nextText:"Nasledujúci&#x3E;",currentText:"Dnes",monthNames:["január","február","marec","apríl","máj","jún","júl","august","september","október","november","december"],monthNamesShort:["Jan","Feb","Mar","Apr","Máj","Jún","Júl","Aug","Sep","Okt","Nov","Dec"],dayNames:["nedeľa","pondelok","utorok","streda","štvrtok","piatok","sobota"],dayNamesShort:["Ned","Pon","Uto","Str","Štv","Pia","Sob"],dayNamesMin:["Ne","Po","Ut","St","Št","Pia","So"],weekHeader:"Ty",dateFormat:"dd.mm.yy",firstDay:1,isRTL:!1,showMonthAfterYear:!1,yearSuffix:""}),a.fullCalendar.lang("sk",{buttonText:{month:"Mesiac",week:"Týždeň",day:"Deň",list:"Rozvrh"},allDayText:"Celý deň",eventLimitText:function(a){return"+ďalšie: "+a}})}(),function(){!function(){"use strict";function a(a,b,c,d){var e=a+" ";switch(c){case"s":return b||d?"nekaj sekund":"nekaj sekundami";case"m":return b?"ena minuta":"eno minuto";case"mm":return e+=1===a?b?"minuta":"minuto":2===a?b||d?"minuti":"minutama":5>a?b||d?"minute":"minutami":b||d?"minut":"minutami";case"h":return b?"ena ura":"eno uro";case"hh":return e+=1===a?b?"ura":"uro":2===a?b||d?"uri":"urama":5>a?b||d?"ure":"urami":b||d?"ur":"urami";case"d":return b||d?"en dan":"enim dnem";case"dd":return e+=1===a?b||d?"dan":"dnem":2===a?b||d?"dni":"dnevoma":b||d?"dni":"dnevi";case"M":return b||d?"en mesec":"enim mesecem";case"MM":return e+=1===a?b||d?"mesec":"mesecem":2===a?b||d?"meseca":"mesecema":5>a?b||d?"mesece":"meseci":b||d?"mesecev":"meseci";case"y":return b||d?"eno leto":"enim letom";case"yy":return e+=1===a?b||d?"leto":"letom":2===a?b||d?"leti":"letoma":5>a?b||d?"leta":"leti":b||d?"let":"leti"}}var c=(b.defineLocale||b.lang).call(b,"sl",{months:"januar_februar_marec_april_maj_junij_julij_avgust_september_oktober_november_december".split("_"),monthsShort:"jan._feb._mar._apr._maj._jun._jul._avg._sep._okt._nov._dec.".split("_"),monthsParseExact:!0,weekdays:"nedelja_ponedeljek_torek_sreda_četrtek_petek_sobota".split("_"),weekdaysShort:"ned._pon._tor._sre._čet._pet._sob.".split("_"),weekdaysMin:"ne_po_to_sr_če_pe_so".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD. MM. YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY H:mm",LLLL:"dddd, D. MMMM YYYY H:mm"},calendar:{sameDay:"[danes ob] LT",nextDay:"[jutri ob] LT",nextWeek:function(){switch(this.day()){case 0:return"[v] [nedeljo] [ob] LT";case 3:return"[v] [sredo] [ob] LT";case 6:return"[v] [soboto] [ob] LT";case 1:case 2:case 4:case 5:return"[v] dddd [ob] LT"}},lastDay:"[včeraj ob] LT",lastWeek:function(){
-switch(this.day()){case 0:return"[prejšnjo] [nedeljo] [ob] LT";case 3:return"[prejšnjo] [sredo] [ob] LT";case 6:return"[prejšnjo] [soboto] [ob] LT";case 1:case 2:case 4:case 5:return"[prejšnji] dddd [ob] LT"}},sameElse:"L"},relativeTime:{future:"čez %s",past:"pred %s",s:a,m:a,mm:a,h:a,hh:a,d:a,dd:a,M:a,MM:a,y:a,yy:a},ordinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:7}});return c}(),a.fullCalendar.datepickerLang("sl","sl",{closeText:"Zapri",prevText:"&#x3C;Prejšnji",nextText:"Naslednji&#x3E;",currentText:"Trenutni",monthNames:["Januar","Februar","Marec","April","Maj","Junij","Julij","Avgust","September","Oktober","November","December"],monthNamesShort:["Jan","Feb","Mar","Apr","Maj","Jun","Jul","Avg","Sep","Okt","Nov","Dec"],dayNames:["Nedelja","Ponedeljek","Torek","Sreda","Četrtek","Petek","Sobota"],dayNamesShort:["Ned","Pon","Tor","Sre","Čet","Pet","Sob"],dayNamesMin:["Ne","Po","To","Sr","Če","Pe","So"],weekHeader:"Teden",dateFormat:"dd.mm.yy",firstDay:1,isRTL:!1,showMonthAfterYear:!1,yearSuffix:""}),a.fullCalendar.lang("sl",{buttonText:{month:"Mesec",week:"Teden",day:"Dan",list:"Dnevni red"},allDayText:"Ves dan",eventLimitText:"več"})}(),function(){!function(){"use strict";var a={words:{m:["један минут","једне минуте"],mm:["минут","минуте","минута"],h:["један сат","једног сата"],hh:["сат","сата","сати"],dd:["дан","дана","дана"],MM:["месец","месеца","месеци"],yy:["година","године","година"]},correctGrammaticalCase:function(a,b){return 1===a?b[0]:a>=2&&4>=a?b[1]:b[2]},translate:function(b,c,d){var e=a.words[d];return 1===d.length?c?e[0]:e[1]:b+" "+a.correctGrammaticalCase(b,e)}},c=(b.defineLocale||b.lang).call(b,"sr-cyrl",{months:"јануар_фебруар_март_април_мај_јун_јул_август_септембар_октобар_новембар_децембар".split("_"),monthsShort:"јан._феб._мар._апр._мај_јун_јул_авг._сеп._окт._нов._дец.".split("_"),monthsParseExact:!0,weekdays:"недеља_понедељак_уторак_среда_четвртак_петак_субота".split("_"),weekdaysShort:"нед._пон._уто._сре._чет._пет._суб.".split("_"),weekdaysMin:"не_по_ут_ср_че_пе_су".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD. MM. YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY H:mm",LLLL:"dddd, D. MMMM YYYY H:mm"},calendar:{sameDay:"[данас у] LT",nextDay:"[сутра у] LT",nextWeek:function(){switch(this.day()){case 0:return"[у] [недељу] [у] LT";case 3:return"[у] [среду] [у] LT";case 6:return"[у] [суботу] [у] LT";case 1:case 2:case 4:case 5:return"[у] dddd [у] LT"}},lastDay:"[јуче у] LT",lastWeek:function(){var a=["[прошле] [недеље] [у] LT","[прошлог] [понедељка] [у] LT","[прошлог] [уторка] [у] LT","[прошле] [среде] [у] LT","[прошлог] [четвртка] [у] LT","[прошлог] [петка] [у] LT","[прошле] [суботе] [у] LT"];return a[this.day()]},sameElse:"L"},relativeTime:{future:"за %s",past:"пре %s",s:"неколико секунди",m:a.translate,mm:a.translate,h:a.translate,hh:a.translate,d:"дан",dd:a.translate,M:"месец",MM:a.translate,y:"годину",yy:a.translate},ordinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:7}});return c}(),a.fullCalendar.datepickerLang("sr-cyrl","sr",{closeText:"Затвори",prevText:"&#x3C;",nextText:"&#x3E;",currentText:"Данас",monthNames:["Јануар","Фебруар","Март","Април","Мај","Јун","Јул","Август","Септембар","Октобар","Новембар","Децембар"],monthNamesShort:["Јан","Феб","Мар","Апр","Мај","Јун","Јул","Авг","Сеп","Окт","Нов","Дец"],dayNames:["Недеља","Понедељак","Уторак","Среда","Четвртак","Петак","Субота"],dayNamesShort:["Нед","Пон","Уто","Сре","Чет","Пет","Суб"],dayNamesMin:["Не","По","Ут","Ср","Че","Пе","Су"],weekHeader:"Сед",dateFormat:"dd.mm.yy",firstDay:1,isRTL:!1,showMonthAfterYear:!1,yearSuffix:""}),a.fullCalendar.lang("sr-cyrl",{buttonText:{month:"Месец",week:"Недеља",day:"Дан",list:"Планер"},allDayText:"Цео дан",eventLimitText:function(a){return"+ још "+a}})}(),function(){!function(){"use strict";var a={words:{m:["jedan minut","jedne minute"],mm:["minut","minute","minuta"],h:["jedan sat","jednog sata"],hh:["sat","sata","sati"],dd:["dan","dana","dana"],MM:["mesec","meseca","meseci"],yy:["godina","godine","godina"]},correctGrammaticalCase:function(a,b){return 1===a?b[0]:a>=2&&4>=a?b[1]:b[2]},translate:function(b,c,d){var e=a.words[d];return 1===d.length?c?e[0]:e[1]:b+" "+a.correctGrammaticalCase(b,e)}},c=(b.defineLocale||b.lang).call(b,"sr",{months:"januar_februar_mart_april_maj_jun_jul_avgust_septembar_oktobar_novembar_decembar".split("_"),monthsShort:"jan._feb._mar._apr._maj_jun_jul_avg._sep._okt._nov._dec.".split("_"),monthsParseExact:!0,weekdays:"nedelja_ponedeljak_utorak_sreda_četvrtak_petak_subota".split("_"),weekdaysShort:"ned._pon._uto._sre._čet._pet._sub.".split("_"),weekdaysMin:"ne_po_ut_sr_če_pe_su".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD. MM. YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY H:mm",LLLL:"dddd, D. MMMM YYYY H:mm"},calendar:{sameDay:"[danas u] LT",nextDay:"[sutra u] LT",nextWeek:function(){switch(this.day()){case 0:return"[u] [nedelju] [u] LT";case 3:return"[u] [sredu] [u] LT";case 6:return"[u] [subotu] [u] LT";case 1:case 2:case 4:case 5:return"[u] dddd [u] LT"}},lastDay:"[juče u] LT",lastWeek:function(){var a=["[prošle] [nedelje] [u] LT","[prošlog] [ponedeljka] [u] LT","[prošlog] [utorka] [u] LT","[prošle] [srede] [u] LT","[prošlog] [četvrtka] [u] LT","[prošlog] [petka] [u] LT","[prošle] [subote] [u] LT"];return a[this.day()]},sameElse:"L"},relativeTime:{future:"za %s",past:"pre %s",s:"nekoliko sekundi",m:a.translate,mm:a.translate,h:a.translate,hh:a.translate,d:"dan",dd:a.translate,M:"mesec",MM:a.translate,y:"godinu",yy:a.translate},ordinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:7}});return c}(),a.fullCalendar.datepickerLang("sr","sr",{closeText:"Затвори",prevText:"&#x3C;",nextText:"&#x3E;",currentText:"Данас",monthNames:["Јануар","Фебруар","Март","Април","Мај","Јун","Јул","Август","Септембар","Октобар","Новембар","Децембар"],monthNamesShort:["Јан","Феб","Мар","Апр","Мај","Јун","Јул","Авг","Сеп","Окт","Нов","Дец"],dayNames:["Недеља","Понедељак","Уторак","Среда","Четвртак","Петак","Субота"],dayNamesShort:["Нед","Пон","Уто","Сре","Чет","Пет","Суб"],dayNamesMin:["Не","По","Ут","Ср","Че","Пе","Су"],weekHeader:"Сед",dateFormat:"dd.mm.yy",firstDay:1,isRTL:!1,showMonthAfterYear:!1,yearSuffix:""}),a.fullCalendar.lang("sr",{buttonText:{month:"Месец",week:"Недеља",day:"Дан",list:"Планер"},allDayText:"Цео дан",eventLimitText:function(a){return"+ још "+a}})}(),function(){!function(){"use strict";var a=(b.defineLocale||b.lang).call(b,"sv",{months:"januari_februari_mars_april_maj_juni_juli_augusti_september_oktober_november_december".split("_"),monthsShort:"jan_feb_mar_apr_maj_jun_jul_aug_sep_okt_nov_dec".split("_"),weekdays:"söndag_måndag_tisdag_onsdag_torsdag_fredag_lördag".split("_"),weekdaysShort:"sön_mån_tis_ons_tor_fre_lör".split("_"),weekdaysMin:"sö_må_ti_on_to_fr_lö".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY-MM-DD",LL:"D MMMM YYYY",LLL:"D MMMM YYYY [kl.] HH:mm",LLLL:"dddd D MMMM YYYY [kl.] HH:mm",lll:"D MMM YYYY HH:mm",llll:"ddd D MMM YYYY HH:mm"},calendar:{sameDay:"[Idag] LT",nextDay:"[Imorgon] LT",lastDay:"[Igår] LT",nextWeek:"[På] dddd LT",lastWeek:"[I] dddd[s] LT",sameElse:"L"},relativeTime:{future:"om %s",past:"för %s sedan",s:"några sekunder",m:"en minut",mm:"%d minuter",h:"en timme",hh:"%d timmar",d:"en dag",dd:"%d dagar",M:"en månad",MM:"%d månader",y:"ett år",yy:"%d år"},ordinalParse:/\d{1,2}(e|a)/,ordinal:function(a){var b=a%10,c=1===~~(a%100/10)?"e":1===b?"a":2===b?"a":"e";return a+c},week:{dow:1,doy:4}});return a}(),a.fullCalendar.datepickerLang("sv","sv",{closeText:"Stäng",prevText:"&#xAB;Förra",nextText:"Nästa&#xBB;",currentText:"Idag",monthNames:["Januari","Februari","Mars","April","Maj","Juni","Juli","Augusti","September","Oktober","November","December"],monthNamesShort:["Jan","Feb","Mar","Apr","Maj","Jun","Jul","Aug","Sep","Okt","Nov","Dec"],dayNamesShort:["Sön","Mån","Tis","Ons","Tor","Fre","Lör"],dayNames:["Söndag","Måndag","Tisdag","Onsdag","Torsdag","Fredag","Lördag"],dayNamesMin:["Sö","Må","Ti","On","To","Fr","Lö"],weekHeader:"Ve",dateFormat:"yy-mm-dd",firstDay:1,isRTL:!1,showMonthAfterYear:!1,yearSuffix:""}),a.fullCalendar.lang("sv",{buttonText:{month:"Månad",week:"Vecka",day:"Dag",list:"Program"},allDayText:"Heldag",eventLimitText:"till"})}(),function(){!function(){"use strict";var a=(b.defineLocale||b.lang).call(b,"th",{months:"มกราคม_กุมภาพันธ์_มีนาคม_เมษายน_พฤษภาคม_มิถุนายน_กรกฎาคม_สิงหาคม_กันยายน_ตุลาคม_พฤศจิกายน_ธันวาคม".split("_"),monthsShort:"มกรา_กุมภา_มีนา_เมษา_พฤษภา_มิถุนา_กรกฎา_สิงหา_กันยา_ตุลา_พฤศจิกา_ธันวา".split("_"),monthsParseExact:!0,weekdays:"อาทิตย์_จันทร์_อังคาร_พุธ_พฤหัสบดี_ศุกร์_เสาร์".split("_"),weekdaysShort:"อาทิตย์_จันทร์_อังคาร_พุธ_พฤหัส_ศุกร์_เสาร์".split("_"),weekdaysMin:"อา._จ._อ._พ._พฤ._ศ._ส.".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H นาฬิกา m นาที",LTS:"H นาฬิกา m นาที s วินาที",L:"YYYY/MM/DD",LL:"D MMMM YYYY",LLL:"D MMMM YYYY เวลา H นาฬิกา m นาที",LLLL:"วันddddที่ D MMMM YYYY เวลา H นาฬิกา m นาที"},meridiemParse:/ก่อนเที่ยง|หลังเที่ยง/,isPM:function(a){return"หลังเที่ยง"===a},meridiem:function(a,b,c){return 12>a?"ก่อนเที่ยง":"หลังเที่ยง"},calendar:{sameDay:"[วันนี้ เวลา] LT",nextDay:"[พรุ่งนี้ เวลา] LT",nextWeek:"dddd[หน้า เวลา] LT",lastDay:"[เมื่อวานนี้ เวลา] LT",lastWeek:"[วัน]dddd[ที่แล้ว เวลา] LT",sameElse:"L"},relativeTime:{future:"อีก %s",past:"%sที่แล้ว",s:"ไม่กี่วินาที",m:"1 นาที",mm:"%d นาที",h:"1 ชั่วโมง",hh:"%d ชั่วโมง",d:"1 วัน",dd:"%d วัน",M:"1 เดือน",MM:"%d เดือน",y:"1 ปี",yy:"%d ปี"}});return a}(),a.fullCalendar.datepickerLang("th","th",{closeText:"ปิด",prevText:"&#xAB;&#xA0;ย้อน",nextText:"ถัดไป&#xA0;&#xBB;",currentText:"วันนี้",monthNames:["มกราคม","กุมภาพันธ์","มีนาคม","เมษายน","พฤษภาคม","มิถุนายน","กรกฎาคม","สิงหาคม","กันยายน","ตุลาคม","พฤศจิกายน","ธันวาคม"],monthNamesShort:["ม.ค.","ก.พ.","มี.ค.","เม.ย.","พ.ค.","มิ.ย.","ก.ค.","ส.ค.","ก.ย.","ต.ค.","พ.ย.","ธ.ค."],dayNames:["อาทิตย์","จันทร์","อังคาร","พุธ","พฤหัสบดี","ศุกร์","เสาร์"],dayNamesShort:["อา.","จ.","อ.","พ.","พฤ.","ศ.","ส."],dayNamesMin:["อา.","จ.","อ.","พ.","พฤ.","ศ.","ส."],weekHeader:"Wk",dateFormat:"dd/mm/yy",firstDay:0,isRTL:!1,showMonthAfterYear:!1,yearSuffix:""}),a.fullCalendar.lang("th",{buttonText:{month:"เดือน",week:"สัปดาห์",day:"วัน",list:"แผนงาน"},allDayText:"ตลอดวัน",eventLimitText:"เพิ่มเติม"})}(),function(){!function(){"use strict";var a={1:"'inci",5:"'inci",8:"'inci",70:"'inci",80:"'inci",2:"'nci",7:"'nci",20:"'nci",50:"'nci",3:"'üncü",4:"'üncü",100:"'üncü",6:"'ncı",9:"'uncu",10:"'uncu",30:"'uncu",60:"'ıncı",90:"'ıncı"},c=(b.defineLocale||b.lang).call(b,"tr",{months:"Ocak_Şubat_Mart_Nisan_Mayıs_Haziran_Temmuz_Ağustos_Eylül_Ekim_Kasım_Aralık".split("_"),monthsShort:"Oca_Şub_Mar_Nis_May_Haz_Tem_Ağu_Eyl_Eki_Kas_Ara".split("_"),weekdays:"Pazar_Pazartesi_Salı_Çarşamba_Perşembe_Cuma_Cumartesi".split("_"),weekdaysShort:"Paz_Pts_Sal_Çar_Per_Cum_Cts".split("_"),weekdaysMin:"Pz_Pt_Sa_Ça_Pe_Cu_Ct".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[bugün saat] LT",nextDay:"[yarın saat] LT",nextWeek:"[haftaya] dddd [saat] LT",lastDay:"[dün] LT",lastWeek:"[geçen hafta] dddd [saat] LT",sameElse:"L"},relativeTime:{future:"%s sonra",past:"%s önce",s:"birkaç saniye",m:"bir dakika",mm:"%d dakika",h:"bir saat",hh:"%d saat",d:"bir gün",dd:"%d gün",M:"bir ay",MM:"%d ay",y:"bir yıl",yy:"%d yıl"},ordinalParse:/\d{1,2}'(inci|nci|üncü|ncı|uncu|ıncı)/,ordinal:function(b){if(0===b)return b+"'ıncı";var c=b%10,d=b%100-c,e=b>=100?100:null;return b+(a[c]||a[d]||a[e])},week:{dow:1,doy:7}});return c}(),a.fullCalendar.datepickerLang("tr","tr",{closeText:"kapat",prevText:"&#x3C;geri",nextText:"ileri&#x3e",currentText:"bugün",monthNames:["Ocak","Şubat","Mart","Nisan","Mayıs","Haziran","Temmuz","Ağustos","Eylül","Ekim","Kasım","Aralık"],monthNamesShort:["Oca","Şub","Mar","Nis","May","Haz","Tem","Ağu","Eyl","Eki","Kas","Ara"],dayNames:["Pazar","Pazartesi","Salı","Çarşamba","Perşembe","Cuma","Cumartesi"],dayNamesShort:["Pz","Pt","Sa","Ça","Pe","Cu","Ct"],dayNamesMin:["Pz","Pt","Sa","Ça","Pe","Cu","Ct"],weekHeader:"Hf",dateFormat:"dd.mm.yy",firstDay:1,isRTL:!1,showMonthAfterYear:!1,yearSuffix:""}),a.fullCalendar.lang("tr",{buttonText:{next:"ileri",month:"Ay",week:"Hafta",day:"Gün",list:"Ajanda"},allDayText:"Tüm gün",eventLimitText:"daha fazla"})}(),function(){!function(){"use strict";function a(a,b){var c=a.split("_");return b%10===1&&b%100!==11?c[0]:b%10>=2&&4>=b%10&&(10>b%100||b%100>=20)?c[1]:c[2]}function c(b,c,d){var e={mm:c?"хвилина_хвилини_хвилин":"хвилину_хвилини_хвилин",hh:c?"година_години_годин":"годину_години_годин",dd:"день_дні_днів",MM:"місяць_місяці_місяців",yy:"рік_роки_років"};return"m"===d?c?"хвилина":"хвилину":"h"===d?c?"година":"годину":b+" "+a(e[d],+b)}function d(a,b){var c={nominative:"неділя_понеділок_вівторок_середа_четвер_п’ятниця_субота".split("_"),accusative:"неділю_понеділок_вівторок_середу_четвер_п’ятницю_суботу".split("_"),genitive:"неділі_понеділка_вівторка_середи_четверга_п’ятниці_суботи".split("_")},d=/(\[[ВвУу]\]) ?dddd/.test(b)?"accusative":/\[?(?:минулої|наступної)? ?\] ?dddd/.test(b)?"genitive":"nominative";return c[d][a.day()]}function e(a){return function(){return a+"о"+(11===this.hours()?"б":"")+"] LT"}}var f=(b.defineLocale||b.lang).call(b,"uk",{months:{format:"січня_лютого_березня_квітня_травня_червня_липня_серпня_вересня_жовтня_листопада_грудня".split("_"),standalone:"січень_лютий_березень_квітень_травень_червень_липень_серпень_вересень_жовтень_листопад_грудень".split("_")},monthsShort:"січ_лют_бер_квіт_трав_черв_лип_серп_вер_жовт_лист_груд".split("_"),weekdays:d,weekdaysShort:"нд_пн_вт_ср_чт_пт_сб".split("_"),weekdaysMin:"нд_пн_вт_ср_чт_пт_сб".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY р.",LLL:"D MMMM YYYY р., HH:mm",LLLL:"dddd, D MMMM YYYY р., HH:mm"},calendar:{sameDay:e("[Сьогодні "),nextDay:e("[Завтра "),lastDay:e("[Вчора "),nextWeek:e("[У] dddd ["),lastWeek:function(){switch(this.day()){case 0:case 3:case 5:case 6:return e("[Минулої] dddd [").call(this);case 1:case 2:case 4:return e("[Минулого] dddd [").call(this)}},sameElse:"L"},relativeTime:{future:"за %s",past:"%s тому",s:"декілька секунд",m:c,mm:c,h:"годину",hh:c,d:"день",dd:c,M:"місяць",MM:c,y:"рік",yy:c},meridiemParse:/ночі|ранку|дня|вечора/,isPM:function(a){return/^(дня|вечора)$/.test(a)},meridiem:function(a,b,c){return 4>a?"ночі":12>a?"ранку":17>a?"дня":"вечора"},ordinalParse:/\d{1,2}-(й|го)/,ordinal:function(a,b){switch(b){case"M":case"d":case"DDD":case"w":case"W":return a+"-й";case"D":return a+"-го";default:return a}},week:{dow:1,doy:7}});return f}(),a.fullCalendar.datepickerLang("uk","uk",{closeText:"Закрити",prevText:"&#x3C;",nextText:"&#x3E;",currentText:"Сьогодні",monthNames:["Січень","Лютий","Березень","Квітень","Травень","Червень","Липень","Серпень","Вересень","Жовтень","Листопад","Грудень"],monthNamesShort:["Січ","Лют","Бер","Кві","Тра","Чер","Лип","Сер","Вер","Жов","Лис","Гру"],dayNames:["неділя","понеділок","вівторок","середа","четвер","п’ятниця","субота"],dayNamesShort:["нед","пнд","вів","срд","чтв","птн","сбт"],dayNamesMin:["Нд","Пн","Вт","Ср","Чт","Пт","Сб"],weekHeader:"Тиж",dateFormat:"dd.mm.yy",firstDay:1,isRTL:!1,showMonthAfterYear:!1,yearSuffix:""}),a.fullCalendar.lang("uk",{buttonText:{month:"Місяць",week:"Тиждень",day:"День",list:"Порядок денний"},allDayText:"Увесь день",eventLimitText:function(a){return"+ще "+a+"..."}})}(),function(){!function(){"use strict";var a=(b.defineLocale||b.lang).call(b,"vi",{months:"tháng 1_tháng 2_tháng 3_tháng 4_tháng 5_tháng 6_tháng 7_tháng 8_tháng 9_tháng 10_tháng 11_tháng 12".split("_"),monthsShort:"Th01_Th02_Th03_Th04_Th05_Th06_Th07_Th08_Th09_Th10_Th11_Th12".split("_"),monthsParseExact:!0,weekdays:"chủ nhật_thứ hai_thứ ba_thứ tư_thứ năm_thứ sáu_thứ bảy".split("_"),weekdaysShort:"CN_T2_T3_T4_T5_T6_T7".split("_"),weekdaysMin:"CN_T2_T3_T4_T5_T6_T7".split("_"),weekdaysParseExact:!0,meridiemParse:/sa|ch/i,isPM:function(a){return/^ch$/i.test(a)},meridiem:function(a,b,c){return 12>a?c?"sa":"SA":c?"ch":"CH"},longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM [năm] YYYY",LLL:"D MMMM [năm] YYYY HH:mm",LLLL:"dddd, D MMMM [năm] YYYY HH:mm",l:"DD/M/YYYY",ll:"D MMM YYYY",lll:"D MMM YYYY HH:mm",llll:"ddd, D MMM YYYY HH:mm"},calendar:{sameDay:"[Hôm nay lúc] LT",nextDay:"[Ngày mai lúc] LT",nextWeek:"dddd [tuần tới lúc] LT",lastDay:"[Hôm qua lúc] LT",lastWeek:"dddd [tuần rồi lúc] LT",sameElse:"L"},relativeTime:{future:"%s tới",past:"%s trước",s:"vài giây",m:"một phút",mm:"%d phút",h:"một giờ",hh:"%d giờ",d:"một ngày",dd:"%d ngày",M:"một tháng",MM:"%d tháng",y:"một năm",yy:"%d năm"},ordinalParse:/\d{1,2}/,ordinal:function(a){return a},week:{dow:1,doy:4}});return a}(),a.fullCalendar.datepickerLang("vi","vi",{closeText:"Đóng",prevText:"&#x3C;Trước",nextText:"Tiếp&#x3E;",currentText:"Hôm nay",monthNames:["Tháng Một","Tháng Hai","Tháng Ba","Tháng Tư","Tháng Năm","Tháng Sáu","Tháng Bảy","Tháng Tám","Tháng Chín","Tháng Mười","Tháng Mười Một","Tháng Mười Hai"],monthNamesShort:["Tháng 1","Tháng 2","Tháng 3","Tháng 4","Tháng 5","Tháng 6","Tháng 7","Tháng 8","Tháng 9","Tháng 10","Tháng 11","Tháng 12"],dayNames:["Chủ Nhật","Thứ Hai","Thứ Ba","Thứ Tư","Thứ Năm","Thứ Sáu","Thứ Bảy"],dayNamesShort:["CN","T2","T3","T4","T5","T6","T7"],dayNamesMin:["CN","T2","T3","T4","T5","T6","T7"],weekHeader:"Tu",dateFormat:"dd/mm/yy",firstDay:0,isRTL:!1,showMonthAfterYear:!1,yearSuffix:""}),a.fullCalendar.lang("vi",{buttonText:{month:"Tháng",week:"Tuần",day:"Ngày",list:"Lịch biểu"},allDayText:"Cả ngày",eventLimitText:function(a){return"+ thêm "+a}})}(),function(){!function(){"use strict";var a=(b.defineLocale||b.lang).call(b,"zh-cn",{months:"一月_二月_三月_四月_五月_六月_七月_八月_九月_十月_十一月_十二月".split("_"),monthsShort:"1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月".split("_"),weekdays:"星期日_星期一_星期二_星期三_星期四_星期五_星期六".split("_"),weekdaysShort:"周日_周一_周二_周三_周四_周五_周六".split("_"),weekdaysMin:"日_一_二_三_四_五_六".split("_"),longDateFormat:{LT:"Ah点mm分",LTS:"Ah点m分s秒",L:"YYYY-MM-DD",LL:"YYYY年MMMD日",LLL:"YYYY年MMMD日Ah点mm分",LLLL:"YYYY年MMMD日ddddAh点mm分",l:"YYYY-MM-DD",ll:"YYYY年MMMD日",lll:"YYYY年MMMD日Ah点mm分",llll:"YYYY年MMMD日ddddAh点mm分"},meridiemParse:/凌晨|早上|上午|中午|下午|晚上/,meridiemHour:function(a,b){return 12===a&&(a=0),"凌晨"===b||"早上"===b||"上午"===b?a:"下午"===b||"晚上"===b?a+12:a>=11?a:a+12},meridiem:function(a,b,c){var d=100*a+b;return 600>d?"凌晨":900>d?"早上":1130>d?"上午":1230>d?"中午":1800>d?"下午":"晚上"},calendar:{sameDay:function(){return 0===this.minutes()?"[今天]Ah[点整]":"[今天]LT"},nextDay:function(){return 0===this.minutes()?"[明天]Ah[点整]":"[明天]LT"},lastDay:function(){return 0===this.minutes()?"[昨天]Ah[点整]":"[昨天]LT"},nextWeek:function(){var a,c;return a=b().startOf("week"),c=this.diff(a,"days")>=7?"[下]":"[本]",0===this.minutes()?c+"dddAh点整":c+"dddAh点mm"},lastWeek:function(){var a,c;return a=b().startOf("week"),c=this.unix()<a.unix()?"[上]":"[本]",0===this.minutes()?c+"dddAh点整":c+"dddAh点mm"},sameElse:"LL"},ordinalParse:/\d{1,2}(日|月|周)/,ordinal:function(a,b){switch(b){case"d":case"D":case"DDD":return a+"日";case"M":return a+"月";case"w":case"W":return a+"周";default:return a}},relativeTime:{future:"%s内",past:"%s前",s:"几秒",m:"1 分钟",mm:"%d 分钟",h:"1 小时",hh:"%d 小时",d:"1 天",dd:"%d 天",M:"1 个月",MM:"%d 个月",y:"1 年",yy:"%d 年"},week:{dow:1,doy:4}});return a}(),a.fullCalendar.datepickerLang("zh-cn","zh-CN",{closeText:"关闭",prevText:"&#x3C;上月",nextText:"下月&#x3E;",currentText:"今天",monthNames:["一月","二月","三月","四月","五月","六月","七月","八月","九月","十月","十一月","十二月"],monthNamesShort:["一月","二月","三月","四月","五月","六月","七月","八月","九月","十月","十一月","十二月"],dayNames:["星期日","星期一","星期二","星期三","星期四","星期五","星期六"],dayNamesShort:["周日","周一","周二","周三","周四","周五","周六"],dayNamesMin:["日","一","二","三","四","五","六"],weekHeader:"周",dateFormat:"yy-mm-dd",firstDay:1,isRTL:!1,showMonthAfterYear:!0,yearSuffix:"年"}),a.fullCalendar.lang("zh-cn",{buttonText:{month:"月",week:"周",day:"日",list:"日程"},allDayText:"全天",eventLimitText:function(a){return"另外 "+a+" 个"}})}(),function(){!function(){"use strict";var a=(b.defineLocale||b.lang).call(b,"zh-tw",{months:"一月_二月_三月_四月_五月_六月_七月_八月_九月_十月_十一月_十二月".split("_"),monthsShort:"1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月".split("_"),weekdays:"星期日_星期一_星期二_星期三_星期四_星期五_星期六".split("_"),weekdaysShort:"週日_週一_週二_週三_週四_週五_週六".split("_"),weekdaysMin:"日_一_二_三_四_五_六".split("_"),longDateFormat:{LT:"Ah點mm分",LTS:"Ah點m分s秒",L:"YYYY年MMMD日",LL:"YYYY年MMMD日",LLL:"YYYY年MMMD日Ah點mm分",LLLL:"YYYY年MMMD日ddddAh點mm分",l:"YYYY年MMMD日",ll:"YYYY年MMMD日",lll:"YYYY年MMMD日Ah點mm分",llll:"YYYY年MMMD日ddddAh點mm分"},meridiemParse:/早上|上午|中午|下午|晚上/,meridiemHour:function(a,b){return 12===a&&(a=0),"早上"===b||"上午"===b?a:"中午"===b?a>=11?a:a+12:"下午"===b||"晚上"===b?a+12:void 0},meridiem:function(a,b,c){var d=100*a+b;return 900>d?"早上":1130>d?"上午":1230>d?"中午":1800>d?"下午":"晚上"},calendar:{sameDay:"[今天]LT",nextDay:"[明天]LT",nextWeek:"[下]ddddLT",lastDay:"[昨天]LT",lastWeek:"[上]ddddLT",sameElse:"L"},ordinalParse:/\d{1,2}(日|月|週)/,ordinal:function(a,b){switch(b){case"d":case"D":case"DDD":return a+"日";case"M":return a+"月";case"w":case"W":return a+"週";default:return a}},relativeTime:{future:"%s內",past:"%s前",s:"幾秒",m:"1分鐘",mm:"%d分鐘",h:"1小時",hh:"%d小時",d:"1天",dd:"%d天",M:"1個月",MM:"%d個月",y:"1年",yy:"%d年"}});return a}(),a.fullCalendar.datepickerLang("zh-tw","zh-TW",{closeText:"關閉",prevText:"&#x3C;上月",nextText:"下月&#x3E;",currentText:"今天",monthNames:["一月","二月","三月","四月","五月","六月","七月","八月","九月","十月","十一月","十二月"],monthNamesShort:["一月","二月","三月","四月","五月","六月","七月","八月","九月","十月","十一月","十二月"],dayNames:["星期日","星期一","星期二","星期三","星期四","星期五","星期六"],dayNamesShort:["周日","周一","周二","周三","周四","周五","周六"],dayNamesMin:["日","一","二","三","四","五","六"],weekHeader:"周",dateFormat:"yy/mm/dd",firstDay:1,isRTL:!1,showMonthAfterYear:!0,yearSuffix:"年"}),a.fullCalendar.lang("zh-tw",{buttonText:{month:"月",week:"週",day:"天",list:"待辦事項"},allDayText:"全天",eventLimitText:"更多"})}(),(b.locale||b.lang).call(b,"en"),a.fullCalendar.lang("en"),a.datepicker&&a.datepicker.setDefaults(a.datepicker.regional[""])}); \ No newline at end of file
diff --git a/library/fullcalendar/locale-all.js b/library/fullcalendar/locale-all.js
new file mode 100644
index 000000000..8332f58fa
--- /dev/null
+++ b/library/fullcalendar/locale-all.js
@@ -0,0 +1,5 @@
+!function(e){"function"==typeof define&&define.amd?define(["jquery","moment"],e):"object"==typeof exports?module.exports=e(require("jquery"),require("moment")):e(jQuery,moment)}(function(e,a){!function(){!function(){var e={1:"١",2:"٢",3:"٣",4:"٤",5:"٥",6:"٦",7:"٧",8:"٨",9:"٩",0:"٠"},t={"١":"1","٢":"2","٣":"3","٤":"4","٥":"5","٦":"6","٧":"7","٨":"8","٩":"9","٠":"0"},n=function(e){return 0===e?0:1===e?1:2===e?2:e%100>=3&&e%100<=10?3:e%100>=11?4:5},r={s:["أقل من ثانية","ثانية واحدة",["ثانيتان","ثانيتين"],"%d ثوان","%d ثانية","%d ثانية"],m:["أقل من دقيقة","دقيقة واحدة",["دقيقتان","دقيقتين"],"%d دقائق","%d دقيقة","%d دقيقة"],h:["أقل من ساعة","ساعة واحدة",["ساعتان","ساعتين"],"%d ساعات","%d ساعة","%d ساعة"],d:["أقل من يوم","يوم واحد",["يومان","يومين"],"%d أيام","%d يومًا","%d يوم"],M:["أقل من شهر","شهر واحد",["شهران","شهرين"],"%d أشهر","%d شهرا","%d شهر"],y:["أقل من عام","عام واحد",["عامان","عامين"],"%d أعوام","%d عامًا","%d عام"]},s=function(e){return function(a,t,s,d){var i=n(a),o=r[e][n(a)];return 2===i&&(o=o[t?0:1]),o.replace(/%d/i,a)}},d=["كانون الثاني يناير","شباط فبراير","آذار مارس","نيسان أبريل","أيار مايو","حزيران يونيو","تموز يوليو","آب أغسطس","أيلول سبتمبر","تشرين الأول أكتوبر","تشرين الثاني نوفمبر","كانون الأول ديسمبر"],i=a.defineLocale("ar",{months:d,monthsShort:d,weekdays:"الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت".split("_"),weekdaysShort:"أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت".split("_"),weekdaysMin:"ح_ن_ث_ر_خ_ج_س".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"D/‏M/‏YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},meridiemParse:/ص|م/,isPM:function(e){return"م"===e},meridiem:function(e,a,t){return e<12?"ص":"م"},calendar:{sameDay:"[اليوم عند الساعة] LT",nextDay:"[غدًا عند الساعة] LT",nextWeek:"dddd [عند الساعة] LT",lastDay:"[أمس عند الساعة] LT",lastWeek:"dddd [عند الساعة] LT",sameElse:"L"},relativeTime:{future:"بعد %s",past:"منذ %s",s:s("s"),m:s("m"),mm:s("m"),h:s("h"),hh:s("h"),d:s("d"),dd:s("d"),M:s("M"),MM:s("M"),y:s("y"),yy:s("y")},preparse:function(e){return e.replace(/\u200f/g,"").replace(/[١٢٣٤٥٦٧٨٩٠]/g,function(e){return t[e]}).replace(/،/g,",")},postformat:function(a){return a.replace(/\d/g,function(a){return e[a]}).replace(/,/g,"،")},week:{dow:6,doy:12}});return i}(),e.fullCalendar.datepickerLocale("ar","ar",{closeText:"إغلاق",prevText:"&#x3C;السابق",nextText:"التالي&#x3E;",currentText:"اليوم",monthNames:["يناير","فبراير","مارس","أبريل","مايو","يونيو","يوليو","أغسطس","سبتمبر","أكتوبر","نوفمبر","ديسمبر"],monthNamesShort:["1","2","3","4","5","6","7","8","9","10","11","12"],dayNames:["الأحد","الاثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"],dayNamesShort:["أحد","اثنين","ثلاثاء","أربعاء","خميس","جمعة","سبت"],dayNamesMin:["ح","ن","ث","ر","خ","ج","س"],weekHeader:"أسبوع",dateFormat:"dd/mm/yy",firstDay:0,isRTL:!0,showMonthAfterYear:!1,yearSuffix:""}),e.fullCalendar.locale("ar",{buttonText:{month:"شهر",week:"أسبوع",day:"يوم",list:"أجندة"},allDayText:"اليوم كله",eventLimitText:"أخرى",noEventsMessage:"أي أحداث لعرض"})}(),function(){!function(){var e=a.defineLocale("ar-ma",{months:"يناير_فبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر".split("_"),monthsShort:"يناير_فبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر".split("_"),weekdays:"الأحد_الإتنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت".split("_"),weekdaysShort:"احد_اتنين_ثلاثاء_اربعاء_خميس_جمعة_سبت".split("_"),weekdaysMin:"ح_ن_ث_ر_خ_ج_س".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[اليوم على الساعة] LT",nextDay:"[غدا على الساعة] LT",nextWeek:"dddd [على الساعة] LT",lastDay:"[أمس على الساعة] LT",lastWeek:"dddd [على الساعة] LT",sameElse:"L"},relativeTime:{future:"في %s",past:"منذ %s",s:"ثوان",m:"دقيقة",mm:"%d دقائق",h:"ساعة",hh:"%d ساعات",d:"يوم",dd:"%d أيام",M:"شهر",MM:"%d أشهر",y:"سنة",yy:"%d سنوات"},week:{dow:6,doy:12}});return e}(),e.fullCalendar.datepickerLocale("ar-ma","ar",{closeText:"إغلاق",prevText:"&#x3C;السابق",nextText:"التالي&#x3E;",currentText:"اليوم",monthNames:["يناير","فبراير","مارس","أبريل","مايو","يونيو","يوليو","أغسطس","سبتمبر","أكتوبر","نوفمبر","ديسمبر"],monthNamesShort:["1","2","3","4","5","6","7","8","9","10","11","12"],dayNames:["الأحد","الاثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"],dayNamesShort:["أحد","اثنين","ثلاثاء","أربعاء","خميس","جمعة","سبت"],dayNamesMin:["ح","ن","ث","ر","خ","ج","س"],weekHeader:"أسبوع",dateFormat:"dd/mm/yy",firstDay:0,isRTL:!0,showMonthAfterYear:!1,yearSuffix:""}),e.fullCalendar.locale("ar-ma",{buttonText:{month:"شهر",week:"أسبوع",day:"يوم",list:"أجندة"},allDayText:"اليوم كله",eventLimitText:"أخرى",noEventsMessage:"أي أحداث لعرض"})}(),function(){!function(){var e={1:"١",2:"٢",3:"٣",4:"٤",5:"٥",6:"٦",7:"٧",8:"٨",9:"٩",0:"٠"},t={"١":"1","٢":"2","٣":"3","٤":"4","٥":"5","٦":"6","٧":"7","٨":"8","٩":"9","٠":"0"},n=a.defineLocale("ar-sa",{months:"يناير_فبراير_مارس_أبريل_مايو_يونيو_يوليو_أغسطس_سبتمبر_أكتوبر_نوفمبر_ديسمبر".split("_"),monthsShort:"يناير_فبراير_مارس_أبريل_مايو_يونيو_يوليو_أغسطس_سبتمبر_أكتوبر_نوفمبر_ديسمبر".split("_"),weekdays:"الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت".split("_"),weekdaysShort:"أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت".split("_"),weekdaysMin:"ح_ن_ث_ر_خ_ج_س".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},meridiemParse:/ص|م/,isPM:function(e){return"م"===e},meridiem:function(e,a,t){return e<12?"ص":"م"},calendar:{sameDay:"[اليوم على الساعة] LT",nextDay:"[غدا على الساعة] LT",nextWeek:"dddd [على الساعة] LT",lastDay:"[أمس على الساعة] LT",lastWeek:"dddd [على الساعة] LT",sameElse:"L"},relativeTime:{future:"في %s",past:"منذ %s",s:"ثوان",m:"دقيقة",mm:"%d دقائق",h:"ساعة",hh:"%d ساعات",d:"يوم",dd:"%d أيام",M:"شهر",MM:"%d أشهر",y:"سنة",yy:"%d سنوات"},preparse:function(e){return e.replace(/[١٢٣٤٥٦٧٨٩٠]/g,function(e){return t[e]}).replace(/،/g,",")},postformat:function(a){return a.replace(/\d/g,function(a){return e[a]}).replace(/,/g,"،")},week:{dow:6,doy:12}});return n}(),e.fullCalendar.datepickerLocale("ar-sa","ar",{closeText:"إغلاق",prevText:"&#x3C;السابق",nextText:"التالي&#x3E;",currentText:"اليوم",monthNames:["يناير","فبراير","مارس","أبريل","مايو","يونيو","يوليو","أغسطس","سبتمبر","أكتوبر","نوفمبر","ديسمبر"],monthNamesShort:["1","2","3","4","5","6","7","8","9","10","11","12"],dayNames:["الأحد","الاثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"],dayNamesShort:["أحد","اثنين","ثلاثاء","أربعاء","خميس","جمعة","سبت"],dayNamesMin:["ح","ن","ث","ر","خ","ج","س"],weekHeader:"أسبوع",dateFormat:"dd/mm/yy",firstDay:0,isRTL:!0,showMonthAfterYear:!1,yearSuffix:""}),e.fullCalendar.locale("ar-sa",{buttonText:{month:"شهر",week:"أسبوع",day:"يوم",list:"أجندة"},allDayText:"اليوم كله",eventLimitText:"أخرى",noEventsMessage:"أي أحداث لعرض"})}(),function(){!function(){var e=a.defineLocale("ar-tn",{months:"جانفي_فيفري_مارس_أفريل_ماي_جوان_جويلية_أوت_سبتمبر_أكتوبر_نوفمبر_ديسمبر".split("_"),monthsShort:"جانفي_فيفري_مارس_أفريل_ماي_جوان_جويلية_أوت_سبتمبر_أكتوبر_نوفمبر_ديسمبر".split("_"),weekdays:"الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت".split("_"),weekdaysShort:"أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت".split("_"),weekdaysMin:"ح_ن_ث_ر_خ_ج_س".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[اليوم على الساعة] LT",nextDay:"[غدا على الساعة] LT",nextWeek:"dddd [على الساعة] LT",lastDay:"[أمس على الساعة] LT",lastWeek:"dddd [على الساعة] LT",sameElse:"L"},relativeTime:{future:"في %s",past:"منذ %s",s:"ثوان",m:"دقيقة",mm:"%d دقائق",h:"ساعة",hh:"%d ساعات",d:"يوم",dd:"%d أيام",M:"شهر",MM:"%d أشهر",y:"سنة",yy:"%d سنوات"},week:{dow:1,doy:4}});return e}(),e.fullCalendar.datepickerLocale("ar-tn","ar",{closeText:"إغلاق",prevText:"&#x3C;السابق",nextText:"التالي&#x3E;",currentText:"اليوم",monthNames:["يناير","فبراير","مارس","أبريل","مايو","يونيو","يوليو","أغسطس","سبتمبر","أكتوبر","نوفمبر","ديسمبر"],monthNamesShort:["1","2","3","4","5","6","7","8","9","10","11","12"],dayNames:["الأحد","الاثنين","الثلاثاء","الأربعاء","الخميس","الجمعة","السبت"],dayNamesShort:["أحد","اثنين","ثلاثاء","أربعاء","خميس","جمعة","سبت"],dayNamesMin:["ح","ن","ث","ر","خ","ج","س"],weekHeader:"أسبوع",dateFormat:"dd/mm/yy",firstDay:0,isRTL:!0,showMonthAfterYear:!1,yearSuffix:""}),e.fullCalendar.locale("ar-tn",{buttonText:{month:"شهر",week:"أسبوع",day:"يوم",list:"أجندة"},allDayText:"اليوم كله",eventLimitText:"أخرى",noEventsMessage:"أي أحداث لعرض"})}(),function(){!function(){var e=a.defineLocale("bg",{months:"януари_февруари_март_април_май_юни_юли_август_септември_октомври_ноември_декември".split("_"),monthsShort:"янр_фев_мар_апр_май_юни_юли_авг_сеп_окт_ное_дек".split("_"),weekdays:"неделя_понеделник_вторник_сряда_четвъртък_петък_събота".split("_"),weekdaysShort:"нед_пон_вто_сря_чет_пет_съб".split("_"),weekdaysMin:"нд_пн_вт_ср_чт_пт_сб".split("_"),longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"D.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY H:mm",LLLL:"dddd, D MMMM YYYY H:mm"},calendar:{sameDay:"[Днес в] LT",nextDay:"[Утре в] LT",nextWeek:"dddd [в] LT",lastDay:"[Вчера в] LT",lastWeek:function(){switch(this.day()){case 0:case 3:case 6:return"[В изминалата] dddd [в] LT";case 1:case 2:case 4:case 5:return"[В изминалия] dddd [в] LT"}},sameElse:"L"},relativeTime:{future:"след %s",past:"преди %s",s:"няколко секунди",m:"минута",mm:"%d минути",h:"час",hh:"%d часа",d:"ден",dd:"%d дни",M:"месец",MM:"%d месеца",y:"година",yy:"%d години"},ordinalParse:/\d{1,2}-(ев|ен|ти|ви|ри|ми)/,ordinal:function(e){var a=e%10,t=e%100;return 0===e?e+"-ев":0===t?e+"-ен":t>10&&t<20?e+"-ти":1===a?e+"-ви":2===a?e+"-ри":7===a||8===a?e+"-ми":e+"-ти"},week:{dow:1,doy:7}});return e}(),e.fullCalendar.datepickerLocale("bg","bg",{closeText:"затвори",prevText:"&#x3C;назад",nextText:"напред&#x3E;",nextBigText:"&#x3E;&#x3E;",currentText:"днес",monthNames:["Януари","Февруари","Март","Април","Май","Юни","Юли","Август","Септември","Октомври","Ноември","Декември"],monthNamesShort:["Яну","Фев","Мар","Апр","Май","Юни","Юли","Авг","Сеп","Окт","Нов","Дек"],dayNames:["Неделя","Понеделник","Вторник","Сряда","Четвъртък","Петък","Събота"],dayNamesShort:["Нед","Пон","Вто","Сря","Чет","Пет","Съб"],dayNamesMin:["Не","По","Вт","Ср","Че","Пе","Съ"],weekHeader:"Wk",dateFormat:"dd.mm.yy",firstDay:1,isRTL:!1,showMonthAfterYear:!1,yearSuffix:""}),e.fullCalendar.locale("bg",{buttonText:{month:"Месец",week:"Седмица",day:"Ден",list:"График"},allDayText:"Цял ден",eventLimitText:function(e){return"+още "+e},noEventsMessage:"Няма събития за показване"})}(),function(){!function(){var e=a.defineLocale("ca",{months:"gener_febrer_març_abril_maig_juny_juliol_agost_setembre_octubre_novembre_desembre".split("_"),monthsShort:"gen._febr._mar._abr._mai._jun._jul._ag._set._oct._nov._des.".split("_"),monthsParseExact:!0,weekdays:"diumenge_dilluns_dimarts_dimecres_dijous_divendres_dissabte".split("_"),weekdaysShort:"dg._dl._dt._dc._dj._dv._ds.".split("_"),weekdaysMin:"Dg_Dl_Dt_Dc_Dj_Dv_Ds".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY H:mm",LLLL:"dddd D MMMM YYYY H:mm"},calendar:{sameDay:function(){return"[avui a "+(1!==this.hours()?"les":"la")+"] LT"},nextDay:function(){return"[demà a "+(1!==this.hours()?"les":"la")+"] LT"},nextWeek:function(){return"dddd [a "+(1!==this.hours()?"les":"la")+"] LT"},lastDay:function(){return"[ahir a "+(1!==this.hours()?"les":"la")+"] LT"},lastWeek:function(){return"[el] dddd [passat a "+(1!==this.hours()?"les":"la")+"] LT"},sameElse:"L"},relativeTime:{future:"en %s",past:"fa %s",s:"uns segons",m:"un minut",mm:"%d minuts",h:"una hora",hh:"%d hores",d:"un dia",dd:"%d dies",M:"un mes",MM:"%d mesos",y:"un any",yy:"%d anys"},ordinalParse:/\d{1,2}(r|n|t|è|a)/,ordinal:function(e,a){var t=1===e?"r":2===e?"n":3===e?"r":4===e?"t":"è";return"w"!==a&&"W"!==a||(t="a"),e+t},week:{dow:1,doy:4}});return e}(),e.fullCalendar.datepickerLocale("ca","ca",{closeText:"Tanca",prevText:"Anterior",nextText:"Següent",currentText:"Avui",monthNames:["gener","febrer","març","abril","maig","juny","juliol","agost","setembre","octubre","novembre","desembre"],monthNamesShort:["gen","feb","març","abr","maig","juny","jul","ag","set","oct","nov","des"],dayNames:["diumenge","dilluns","dimarts","dimecres","dijous","divendres","dissabte"],dayNamesShort:["dg","dl","dt","dc","dj","dv","ds"],dayNamesMin:["dg","dl","dt","dc","dj","dv","ds"],weekHeader:"Set",dateFormat:"dd/mm/yy",firstDay:1,isRTL:!1,showMonthAfterYear:!1,yearSuffix:""}),e.fullCalendar.locale("ca",{buttonText:{month:"Mes",week:"Setmana",day:"Dia",list:"Agenda"},allDayText:"Tot el dia",eventLimitText:"més",noEventsMessage:"No hi ha esdeveniments per mostrar"})}(),function(){!function(){function e(e){return e>1&&e<5&&1!==~~(e/10)}function t(a,t,n,r){var s=a+" ";switch(n){case"s":return t||r?"pár sekund":"pár sekundami";case"m":return t?"minuta":r?"minutu":"minutou";case"mm":return t||r?s+(e(a)?"minuty":"minut"):s+"minutami";case"h":return t?"hodina":r?"hodinu":"hodinou";case"hh":return t||r?s+(e(a)?"hodiny":"hodin"):s+"hodinami";case"d":return t||r?"den":"dnem";case"dd":return t||r?s+(e(a)?"dny":"dní"):s+"dny";case"M":return t||r?"měsíc":"měsícem";case"MM":return t||r?s+(e(a)?"měsíce":"měsíců"):s+"měsíci";case"y":return t||r?"rok":"rokem";case"yy":return t||r?s+(e(a)?"roky":"let"):s+"lety"}}var n="leden_únor_březen_duben_květen_červen_červenec_srpen_září_říjen_listopad_prosinec".split("_"),r="led_úno_bře_dub_kvě_čvn_čvc_srp_zář_říj_lis_pro".split("_"),s=a.defineLocale("cs",{months:n,monthsShort:r,monthsParse:function(e,a){var t,n=[];for(t=0;t<12;t++)n[t]=new RegExp("^"+e[t]+"$|^"+a[t]+"$","i");return n}(n,r),shortMonthsParse:function(e){var a,t=[];for(a=0;a<12;a++)t[a]=new RegExp("^"+e[a]+"$","i");return t}(r),longMonthsParse:function(e){var a,t=[];for(a=0;a<12;a++)t[a]=new RegExp("^"+e[a]+"$","i");return t}(n),weekdays:"neděle_pondělí_úterý_středa_čtvrtek_pátek_sobota".split("_"),weekdaysShort:"ne_po_út_st_čt_pá_so".split("_"),weekdaysMin:"ne_po_út_st_čt_pá_so".split("_"),longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY H:mm",LLLL:"dddd D. MMMM YYYY H:mm",l:"D. M. YYYY"},calendar:{sameDay:"[dnes v] LT",nextDay:"[zítra v] LT",nextWeek:function(){switch(this.day()){case 0:return"[v neděli v] LT";case 1:case 2:return"[v] dddd [v] LT";case 3:return"[ve středu v] LT";case 4:return"[ve čtvrtek v] LT";case 5:return"[v pátek v] LT";case 6:return"[v sobotu v] LT"}},lastDay:"[včera v] LT",lastWeek:function(){switch(this.day()){case 0:return"[minulou neděli v] LT";case 1:case 2:return"[minulé] dddd [v] LT";case 3:return"[minulou středu v] LT";case 4:case 5:return"[minulý] dddd [v] LT";case 6:return"[minulou sobotu v] LT"}},sameElse:"L"},relativeTime:{future:"za %s",past:"před %s",s:t,m:t,mm:t,h:t,hh:t,d:t,dd:t,M:t,MM:t,y:t,yy:t},ordinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}});return s}(),e.fullCalendar.datepickerLocale("cs","cs",{closeText:"Zavřít",prevText:"&#x3C;Dříve",nextText:"Později&#x3E;",currentText:"Nyní",monthNames:["leden","únor","březen","duben","květen","červen","červenec","srpen","září","říjen","listopad","prosinec"],monthNamesShort:["led","úno","bře","dub","kvě","čer","čvc","srp","zář","říj","lis","pro"],dayNames:["neděle","pondělí","úterý","středa","čtvrtek","pátek","sobota"],dayNamesShort:["ne","po","út","st","čt","pá","so"],dayNamesMin:["ne","po","út","st","čt","pá","so"],weekHeader:"Týd",dateFormat:"dd.mm.yy",firstDay:1,isRTL:!1,showMonthAfterYear:!1,yearSuffix:""}),e.fullCalendar.locale("cs",{buttonText:{month:"Měsíc",week:"Týden",day:"Den",list:"Agenda"},allDayText:"Celý den",eventLimitText:function(e){return"+další: "+e},noEventsMessage:"Žádné akce k zobrazení"})}(),function(){!function(){var e=a.defineLocale("da",{months:"januar_februar_marts_april_maj_juni_juli_august_september_oktober_november_december".split("_"),monthsShort:"jan_feb_mar_apr_maj_jun_jul_aug_sep_okt_nov_dec".split("_"),weekdays:"søndag_mandag_tirsdag_onsdag_torsdag_fredag_lørdag".split("_"),weekdaysShort:"søn_man_tir_ons_tor_fre_lør".split("_"),weekdaysMin:"sø_ma_ti_on_to_fr_lø".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY HH:mm",LLLL:"dddd [d.] D. MMMM YYYY HH:mm"},calendar:{sameDay:"[I dag kl.] LT",nextDay:"[I morgen kl.] LT",nextWeek:"dddd [kl.] LT",lastDay:"[I går kl.] LT",lastWeek:"[sidste] dddd [kl] LT",sameElse:"L"},relativeTime:{future:"om %s",past:"%s siden",s:"få sekunder",m:"et minut",mm:"%d minutter",h:"en time",hh:"%d timer",d:"en dag",dd:"%d dage",M:"en måned",MM:"%d måneder",y:"et år",yy:"%d år"},ordinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}});return e}(),e.fullCalendar.datepickerLocale("da","da",{closeText:"Luk",prevText:"&#x3C;Forrige",nextText:"Næste&#x3E;",currentText:"Idag",monthNames:["Januar","Februar","Marts","April","Maj","Juni","Juli","August","September","Oktober","November","December"],monthNamesShort:["Jan","Feb","Mar","Apr","Maj","Jun","Jul","Aug","Sep","Okt","Nov","Dec"],dayNames:["Søndag","Mandag","Tirsdag","Onsdag","Torsdag","Fredag","Lørdag"],dayNamesShort:["Søn","Man","Tir","Ons","Tor","Fre","Lør"],dayNamesMin:["Sø","Ma","Ti","On","To","Fr","Lø"],weekHeader:"Uge",dateFormat:"dd-mm-yy",firstDay:1,isRTL:!1,showMonthAfterYear:!1,yearSuffix:""}),e.fullCalendar.locale("da",{buttonText:{month:"Måned",week:"Uge",day:"Dag",list:"Agenda"},allDayText:"Hele dagen",eventLimitText:"flere",noEventsMessage:"Ingen arrangementer at vise"})}(),function(){!function(){function e(e,a,t,n){var r={m:["eine Minute","einer Minute"],h:["eine Stunde","einer Stunde"],d:["ein Tag","einem Tag"],dd:[e+" Tage",e+" Tagen"],M:["ein Monat","einem Monat"],MM:[e+" Monate",e+" Monaten"],y:["ein Jahr","einem Jahr"],yy:[e+" Jahre",e+" Jahren"]};return a?r[t][0]:r[t][1]}var t=a.defineLocale("de",{months:"Januar_Februar_März_April_Mai_Juni_Juli_August_September_Oktober_November_Dezember".split("_"),monthsShort:"Jan._Febr._Mrz._Apr._Mai_Jun._Jul._Aug._Sept._Okt._Nov._Dez.".split("_"),monthsParseExact:!0,weekdays:"Sonntag_Montag_Dienstag_Mittwoch_Donnerstag_Freitag_Samstag".split("_"),weekdaysShort:"So._Mo._Di._Mi._Do._Fr._Sa.".split("_"),weekdaysMin:"So_Mo_Di_Mi_Do_Fr_Sa".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY HH:mm",LLLL:"dddd, D. MMMM YYYY HH:mm"},calendar:{sameDay:"[heute um] LT [Uhr]",sameElse:"L",nextDay:"[morgen um] LT [Uhr]",nextWeek:"dddd [um] LT [Uhr]",lastDay:"[gestern um] LT [Uhr]",lastWeek:"[letzten] dddd [um] LT [Uhr]"},relativeTime:{future:"in %s",past:"vor %s",s:"ein paar Sekunden",m:e,mm:"%d Minuten",h:e,hh:"%d Stunden",d:e,dd:e,M:e,MM:e,y:e,yy:e},ordinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}});return t}(),e.fullCalendar.datepickerLocale("de","de",{closeText:"Schließen",prevText:"&#x3C;Zurück",nextText:"Vor&#x3E;",currentText:"Heute",monthNames:["Januar","Februar","März","April","Mai","Juni","Juli","August","September","Oktober","November","Dezember"],monthNamesShort:["Jan","Feb","Mär","Apr","Mai","Jun","Jul","Aug","Sep","Okt","Nov","Dez"],dayNames:["Sonntag","Montag","Dienstag","Mittwoch","Donnerstag","Freitag","Samstag"],dayNamesShort:["So","Mo","Di","Mi","Do","Fr","Sa"],dayNamesMin:["So","Mo","Di","Mi","Do","Fr","Sa"],weekHeader:"KW",dateFormat:"dd.mm.yy",firstDay:1,isRTL:!1,showMonthAfterYear:!1,yearSuffix:""}),e.fullCalendar.locale("de",{buttonText:{month:"Monat",week:"Woche",day:"Tag",list:"Terminübersicht"},allDayText:"Ganztägig",eventLimitText:function(e){return"+ weitere "+e},noEventsMessage:"Keine Ereignisse anzuzeigen"})}(),function(){!function(){function e(e,a,t,n){var r={m:["eine Minute","einer Minute"],h:["eine Stunde","einer Stunde"],d:["ein Tag","einem Tag"],dd:[e+" Tage",e+" Tagen"],M:["ein Monat","einem Monat"],MM:[e+" Monate",e+" Monaten"],y:["ein Jahr","einem Jahr"],yy:[e+" Jahre",e+" Jahren"]};return a?r[t][0]:r[t][1]}var t=a.defineLocale("de-at",{months:"Jänner_Februar_März_April_Mai_Juni_Juli_August_September_Oktober_November_Dezember".split("_"),monthsShort:"Jän._Febr._Mrz._Apr._Mai_Jun._Jul._Aug._Sept._Okt._Nov._Dez.".split("_"),monthsParseExact:!0,weekdays:"Sonntag_Montag_Dienstag_Mittwoch_Donnerstag_Freitag_Samstag".split("_"),weekdaysShort:"So._Mo._Di._Mi._Do._Fr._Sa.".split("_"),weekdaysMin:"So_Mo_Di_Mi_Do_Fr_Sa".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY HH:mm",LLLL:"dddd, D. MMMM YYYY HH:mm"},calendar:{sameDay:"[heute um] LT [Uhr]",sameElse:"L",nextDay:"[morgen um] LT [Uhr]",nextWeek:"dddd [um] LT [Uhr]",lastDay:"[gestern um] LT [Uhr]",lastWeek:"[letzten] dddd [um] LT [Uhr]"},relativeTime:{future:"in %s",past:"vor %s",s:"ein paar Sekunden",m:e,mm:"%d Minuten",h:e,hh:"%d Stunden",d:e,dd:e,M:e,MM:e,y:e,yy:e},ordinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}});return t}(),e.fullCalendar.datepickerLocale("de-at","de",{closeText:"Schließen",prevText:"&#x3C;Zurück",nextText:"Vor&#x3E;",currentText:"Heute",monthNames:["Januar","Februar","März","April","Mai","Juni","Juli","August","September","Oktober","November","Dezember"],monthNamesShort:["Jan","Feb","Mär","Apr","Mai","Jun","Jul","Aug","Sep","Okt","Nov","Dez"],dayNames:["Sonntag","Montag","Dienstag","Mittwoch","Donnerstag","Freitag","Samstag"],dayNamesShort:["So","Mo","Di","Mi","Do","Fr","Sa"],dayNamesMin:["So","Mo","Di","Mi","Do","Fr","Sa"],weekHeader:"KW",dateFormat:"dd.mm.yy",firstDay:1,isRTL:!1,showMonthAfterYear:!1,yearSuffix:""}),e.fullCalendar.locale("de-at",{buttonText:{month:"Monat",week:"Woche",day:"Tag",list:"Terminübersicht"},allDayText:"Ganztägig",eventLimitText:function(e){return"+ weitere "+e},noEventsMessage:"Keine Ereignisse anzuzeigen"})}(),function(){!function(){function e(e){return e instanceof Function||"[object Function]"===Object.prototype.toString.call(e)}var t=a.defineLocale("el",{monthsNominativeEl:"Ιανουάριος_Φεβρουάριος_Μάρτιος_Απρίλιος_Μάιος_Ιούνιος_Ιούλιος_Αύγουστος_Σεπτέμβριος_Οκτώβριος_Νοέμβριος_Δεκέμβριος".split("_"),monthsGenitiveEl:"Ιανουαρίου_Φεβρουαρίου_Μαρτίου_Απριλίου_Μαΐου_Ιουνίου_Ιουλίου_Αυγούστου_Σεπτεμβρίου_Οκτωβρίου_Νοεμβρίου_Δεκεμβρίου".split("_"),months:function(e,a){return/D/.test(a.substring(0,a.indexOf("MMMM")))?this._monthsGenitiveEl[e.month()]:this._monthsNominativeEl[e.month()]},monthsShort:"Ιαν_Φεβ_Μαρ_Απρ_Μαϊ_Ιουν_Ιουλ_Αυγ_Σεπ_Οκτ_Νοε_Δεκ".split("_"),weekdays:"Κυριακή_Δευτέρα_Τρίτη_Τετάρτη_Πέμπτη_Παρασκευή_Σάββατο".split("_"),weekdaysShort:"Κυρ_Δευ_Τρι_Τετ_Πεμ_Παρ_Σαβ".split("_"),weekdaysMin:"Κυ_Δε_Τρ_Τε_Πε_Πα_Σα".split("_"),meridiem:function(e,a,t){return e>11?t?"μμ":"ΜΜ":t?"πμ":"ΠΜ"},isPM:function(e){return"μ"===(e+"").toLowerCase()[0]},meridiemParse:/[ΠΜ]\.?Μ?\.?/i,longDateFormat:{LT:"h:mm A",LTS:"h:mm:ss A",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY h:mm A",LLLL:"dddd, D MMMM YYYY h:mm A"},calendarEl:{sameDay:"[Σήμερα {}] LT",nextDay:"[Αύριο {}] LT",nextWeek:"dddd [{}] LT",lastDay:"[Χθες {}] LT",lastWeek:function(){switch(this.day()){case 6:return"[το προηγούμενο] dddd [{}] LT";default:return"[την προηγούμενη] dddd [{}] LT"}},sameElse:"L"},calendar:function(a,t){var n=this._calendarEl[a],r=t&&t.hours();return e(n)&&(n=n.apply(t)),n.replace("{}",r%12===1?"στη":"στις")},relativeTime:{future:"σε %s",past:"%s πριν",s:"λίγα δευτερόλεπτα",m:"ένα λεπτό",mm:"%d λεπτά",h:"μία ώρα",hh:"%d ώρες",d:"μία μέρα",dd:"%d μέρες",M:"ένας μήνας",MM:"%d μήνες",y:"ένας χρόνος",yy:"%d χρόνια"},ordinalParse:/\d{1,2}η/,ordinal:"%dη",week:{dow:1,doy:4}});return t}(),e.fullCalendar.datepickerLocale("el","el",{closeText:"Κλείσιμο",prevText:"Προηγούμενος",nextText:"Επόμενος",currentText:"Σήμερα",monthNames:["Ιανουάριος","Φεβρουάριος","Μάρτιος","Απρίλιος","Μάιος","Ιούνιος","Ιούλιος","Αύγουστος","Σεπτέμβριος","Οκτώβριος","Νοέμβριος","Δεκέμβριος"],monthNamesShort:["Ιαν","Φεβ","Μαρ","Απρ","Μαι","Ιουν","Ιουλ","Αυγ","Σεπ","Οκτ","Νοε","Δεκ"],dayNames:["Κυριακή","Δευτέρα","Τρίτη","Τετάρτη","Πέμπτη","Παρασκευή","Σάββατο"],dayNamesShort:["Κυρ","Δευ","Τρι","Τετ","Πεμ","Παρ","Σαβ"],dayNamesMin:["Κυ","Δε","Τρ","Τε","Πε","Πα","Σα"],weekHeader:"Εβδ",dateFormat:"dd/mm/yy",firstDay:1,isRTL:!1,showMonthAfterYear:!1,yearSuffix:""}),e.fullCalendar.locale("el",{buttonText:{month:"Μήνας",week:"Εβδομάδα",day:"Ημέρα",list:"Ατζέντα"},allDayText:"Ολοήμερο",eventLimitText:"περισσότερα",noEventsMessage:"Δεν υπάρχουν γεγονότα για να εμφανιστεί"})}(),function(){!function(){var e=a.defineLocale("en-au",{months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),monthsShort:"Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),weekdaysShort:"Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),weekdaysMin:"Su_Mo_Tu_We_Th_Fr_Sa".split("_"),longDateFormat:{LT:"h:mm A",LTS:"h:mm:ss A",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY h:mm A",LLLL:"dddd, D MMMM YYYY h:mm A"},calendar:{sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},relativeTime:{future:"in %s",past:"%s ago",s:"a few seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",M:"a month",MM:"%d months",y:"a year",yy:"%d years"},ordinalParse:/\d{1,2}(st|nd|rd|th)/,ordinal:function(e){var a=e%10,t=1===~~(e%100/10)?"th":1===a?"st":2===a?"nd":3===a?"rd":"th";return e+t},week:{dow:1,doy:4}});return e}(),e.fullCalendar.datepickerLocale("en-au","en-AU",{closeText:"Done",prevText:"Prev",nextText:"Next",currentText:"Today",monthNames:["January","February","March","April","May","June","July","August","September","October","November","December"],monthNamesShort:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],dayNames:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],dayNamesShort:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],dayNamesMin:["Su","Mo","Tu","We","Th","Fr","Sa"],weekHeader:"Wk",dateFormat:"dd/mm/yy",firstDay:1,isRTL:!1,showMonthAfterYear:!1,yearSuffix:""}),e.fullCalendar.locale("en-au")}(),function(){!function(){var e=a.defineLocale("en-ca",{months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),monthsShort:"Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),weekdaysShort:"Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),weekdaysMin:"Su_Mo_Tu_We_Th_Fr_Sa".split("_"),longDateFormat:{LT:"h:mm A",LTS:"h:mm:ss A",L:"YYYY-MM-DD",LL:"MMMM D, YYYY",LLL:"MMMM D, YYYY h:mm A",LLLL:"dddd, MMMM D, YYYY h:mm A"},calendar:{sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},relativeTime:{future:"in %s",past:"%s ago",s:"a few seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",M:"a month",MM:"%d months",y:"a year",yy:"%d years"},ordinalParse:/\d{1,2}(st|nd|rd|th)/,ordinal:function(e){var a=e%10,t=1===~~(e%100/10)?"th":1===a?"st":2===a?"nd":3===a?"rd":"th";return e+t}});return e}(),e.fullCalendar.locale("en-ca")}(),function(){!function(){var e=a.defineLocale("en-gb",{months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),monthsShort:"Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),weekdaysShort:"Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),weekdaysMin:"Su_Mo_Tu_We_Th_Fr_Sa".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},relativeTime:{future:"in %s",past:"%s ago",s:"a few seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",M:"a month",MM:"%d months",y:"a year",yy:"%d years"},ordinalParse:/\d{1,2}(st|nd|rd|th)/,ordinal:function(e){var a=e%10,t=1===~~(e%100/10)?"th":1===a?"st":2===a?"nd":3===a?"rd":"th";return e+t},week:{dow:1,doy:4}});return e}(),e.fullCalendar.datepickerLocale("en-gb","en-GB",{closeText:"Done",prevText:"Prev",nextText:"Next",currentText:"Today",monthNames:["January","February","March","April","May","June","July","August","September","October","November","December"],monthNamesShort:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],dayNames:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],dayNamesShort:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],dayNamesMin:["Su","Mo","Tu","We","Th","Fr","Sa"],weekHeader:"Wk",dateFormat:"dd/mm/yy",firstDay:1,isRTL:!1,showMonthAfterYear:!1,yearSuffix:""}),e.fullCalendar.locale("en-gb")}(),function(){!function(){var e=a.defineLocale("en-ie",{months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),monthsShort:"Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),weekdaysShort:"Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),weekdaysMin:"Su_Mo_Tu_We_Th_Fr_Sa".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD-MM-YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},relativeTime:{future:"in %s",past:"%s ago",s:"a few seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",M:"a month",MM:"%d months",y:"a year",yy:"%d years"},ordinalParse:/\d{1,2}(st|nd|rd|th)/,ordinal:function(e){var a=e%10,t=1===~~(e%100/10)?"th":1===a?"st":2===a?"nd":3===a?"rd":"th";return e+t},week:{dow:1,doy:4}});return e}(),e.fullCalendar.locale("en-ie")}(),function(){!function(){var e=a.defineLocale("en-nz",{months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),monthsShort:"Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),weekdaysShort:"Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),weekdaysMin:"Su_Mo_Tu_We_Th_Fr_Sa".split("_"),longDateFormat:{LT:"h:mm A",LTS:"h:mm:ss A",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY h:mm A",LLLL:"dddd, D MMMM YYYY h:mm A"},calendar:{sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},relativeTime:{future:"in %s",past:"%s ago",s:"a few seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",M:"a month",MM:"%d months",y:"a year",yy:"%d years"},ordinalParse:/\d{1,2}(st|nd|rd|th)/,ordinal:function(e){var a=e%10,t=1===~~(e%100/10)?"th":1===a?"st":2===a?"nd":3===a?"rd":"th";return e+t},week:{dow:1,doy:4}});return e}(),e.fullCalendar.datepickerLocale("en-nz","en-NZ",{closeText:"Done",prevText:"Prev",nextText:"Next",currentText:"Today",monthNames:["January","February","March","April","May","June","July","August","September","October","November","December"],monthNamesShort:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],dayNames:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],dayNamesShort:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],dayNamesMin:["Su","Mo","Tu","We","Th","Fr","Sa"],weekHeader:"Wk",dateFormat:"dd/mm/yy",firstDay:1,isRTL:!1,showMonthAfterYear:!1,yearSuffix:""}),e.fullCalendar.locale("en-nz")}(),function(){!function(){var e="ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.".split("_"),t="ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic".split("_"),n=a.defineLocale("es",{
+months:"enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre".split("_"),monthsShort:function(a,n){return/-MMM-/.test(n)?t[a.month()]:e[a.month()]},monthsParseExact:!0,weekdays:"domingo_lunes_martes_miércoles_jueves_viernes_sábado".split("_"),weekdaysShort:"dom._lun._mar._mié._jue._vie._sáb.".split("_"),weekdaysMin:"do_lu_ma_mi_ju_vi_sá".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD/MM/YYYY",LL:"D [de] MMMM [de] YYYY",LLL:"D [de] MMMM [de] YYYY H:mm",LLLL:"dddd, D [de] MMMM [de] YYYY H:mm"},calendar:{sameDay:function(){return"[hoy a la"+(1!==this.hours()?"s":"")+"] LT"},nextDay:function(){return"[mañana a la"+(1!==this.hours()?"s":"")+"] LT"},nextWeek:function(){return"dddd [a la"+(1!==this.hours()?"s":"")+"] LT"},lastDay:function(){return"[ayer a la"+(1!==this.hours()?"s":"")+"] LT"},lastWeek:function(){return"[el] dddd [pasado a la"+(1!==this.hours()?"s":"")+"] LT"},sameElse:"L"},relativeTime:{future:"en %s",past:"hace %s",s:"unos segundos",m:"un minuto",mm:"%d minutos",h:"una hora",hh:"%d horas",d:"un día",dd:"%d días",M:"un mes",MM:"%d meses",y:"un año",yy:"%d años"},ordinalParse:/\d{1,2}º/,ordinal:"%dº",week:{dow:1,doy:4}});return n}(),e.fullCalendar.datepickerLocale("es","es",{closeText:"Cerrar",prevText:"&#x3C;Ant",nextText:"Sig&#x3E;",currentText:"Hoy",monthNames:["enero","febrero","marzo","abril","mayo","junio","julio","agosto","septiembre","octubre","noviembre","diciembre"],monthNamesShort:["ene","feb","mar","abr","may","jun","jul","ago","sep","oct","nov","dic"],dayNames:["domingo","lunes","martes","miércoles","jueves","viernes","sábado"],dayNamesShort:["dom","lun","mar","mié","jue","vie","sáb"],dayNamesMin:["D","L","M","X","J","V","S"],weekHeader:"Sm",dateFormat:"dd/mm/yy",firstDay:1,isRTL:!1,showMonthAfterYear:!1,yearSuffix:""}),e.fullCalendar.locale("es",{buttonText:{month:"Mes",week:"Semana",day:"Día",list:"Agenda"},allDayHtml:"Todo<br/>el día",eventLimitText:"más",noEventsMessage:"No hay eventos para mostrar"})}(),function(){!function(){var e="ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.".split("_"),t="ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic".split("_"),n=a.defineLocale("es-do",{months:"enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre".split("_"),monthsShort:function(a,n){return/-MMM-/.test(n)?t[a.month()]:e[a.month()]},monthsParseExact:!0,weekdays:"domingo_lunes_martes_miércoles_jueves_viernes_sábado".split("_"),weekdaysShort:"dom._lun._mar._mié._jue._vie._sáb.".split("_"),weekdaysMin:"do_lu_ma_mi_ju_vi_sá".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"h:mm A",LTS:"h:mm:ss A",L:"DD/MM/YYYY",LL:"D [de] MMMM [de] YYYY",LLL:"D [de] MMMM [de] YYYY h:mm A",LLLL:"dddd, D [de] MMMM [de] YYYY h:mm A"},calendar:{sameDay:function(){return"[hoy a la"+(1!==this.hours()?"s":"")+"] LT"},nextDay:function(){return"[mañana a la"+(1!==this.hours()?"s":"")+"] LT"},nextWeek:function(){return"dddd [a la"+(1!==this.hours()?"s":"")+"] LT"},lastDay:function(){return"[ayer a la"+(1!==this.hours()?"s":"")+"] LT"},lastWeek:function(){return"[el] dddd [pasado a la"+(1!==this.hours()?"s":"")+"] LT"},sameElse:"L"},relativeTime:{future:"en %s",past:"hace %s",s:"unos segundos",m:"un minuto",mm:"%d minutos",h:"una hora",hh:"%d horas",d:"un día",dd:"%d días",M:"un mes",MM:"%d meses",y:"un año",yy:"%d años"},ordinalParse:/\d{1,2}º/,ordinal:"%dº",week:{dow:1,doy:4}});return n}(),e.fullCalendar.datepickerLocale("es-do","es",{closeText:"Cerrar",prevText:"&#x3C;Ant",nextText:"Sig&#x3E;",currentText:"Hoy",monthNames:["enero","febrero","marzo","abril","mayo","junio","julio","agosto","septiembre","octubre","noviembre","diciembre"],monthNamesShort:["ene","feb","mar","abr","may","jun","jul","ago","sep","oct","nov","dic"],dayNames:["domingo","lunes","martes","miércoles","jueves","viernes","sábado"],dayNamesShort:["dom","lun","mar","mié","jue","vie","sáb"],dayNamesMin:["D","L","M","X","J","V","S"],weekHeader:"Sm",dateFormat:"dd/mm/yy",firstDay:1,isRTL:!1,showMonthAfterYear:!1,yearSuffix:""}),e.fullCalendar.locale("es-do",{buttonText:{month:"Mes",week:"Semana",day:"Día",list:"Agenda"},allDayHtml:"Todo<br/>el día",eventLimitText:"más",noEventsMessage:"No hay eventos para mostrar"})}(),function(){!function(){var e=a.defineLocale("eu",{months:"urtarrila_otsaila_martxoa_apirila_maiatza_ekaina_uztaila_abuztua_iraila_urria_azaroa_abendua".split("_"),monthsShort:"urt._ots._mar._api._mai._eka._uzt._abu._ira._urr._aza._abe.".split("_"),monthsParseExact:!0,weekdays:"igandea_astelehena_asteartea_asteazkena_osteguna_ostirala_larunbata".split("_"),weekdaysShort:"ig._al._ar._az._og._ol._lr.".split("_"),weekdaysMin:"ig_al_ar_az_og_ol_lr".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY-MM-DD",LL:"YYYY[ko] MMMM[ren] D[a]",LLL:"YYYY[ko] MMMM[ren] D[a] HH:mm",LLLL:"dddd, YYYY[ko] MMMM[ren] D[a] HH:mm",l:"YYYY-M-D",ll:"YYYY[ko] MMM D[a]",lll:"YYYY[ko] MMM D[a] HH:mm",llll:"ddd, YYYY[ko] MMM D[a] HH:mm"},calendar:{sameDay:"[gaur] LT[etan]",nextDay:"[bihar] LT[etan]",nextWeek:"dddd LT[etan]",lastDay:"[atzo] LT[etan]",lastWeek:"[aurreko] dddd LT[etan]",sameElse:"L"},relativeTime:{future:"%s barru",past:"duela %s",s:"segundo batzuk",m:"minutu bat",mm:"%d minutu",h:"ordu bat",hh:"%d ordu",d:"egun bat",dd:"%d egun",M:"hilabete bat",MM:"%d hilabete",y:"urte bat",yy:"%d urte"},ordinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:7}});return e}(),e.fullCalendar.datepickerLocale("eu","eu",{closeText:"Egina",prevText:"&#x3C;Aur",nextText:"Hur&#x3E;",currentText:"Gaur",monthNames:["urtarrila","otsaila","martxoa","apirila","maiatza","ekaina","uztaila","abuztua","iraila","urria","azaroa","abendua"],monthNamesShort:["urt.","ots.","mar.","api.","mai.","eka.","uzt.","abu.","ira.","urr.","aza.","abe."],dayNames:["igandea","astelehena","asteartea","asteazkena","osteguna","ostirala","larunbata"],dayNamesShort:["ig.","al.","ar.","az.","og.","ol.","lr."],dayNamesMin:["ig","al","ar","az","og","ol","lr"],weekHeader:"As",dateFormat:"yy-mm-dd",firstDay:1,isRTL:!1,showMonthAfterYear:!1,yearSuffix:""}),e.fullCalendar.locale("eu",{buttonText:{month:"Hilabetea",week:"Astea",day:"Eguna",list:"Agenda"},allDayHtml:"Egun<br/>osoa",eventLimitText:"gehiago",noEventsMessage:"Ez dago ekitaldirik erakusteko"})}(),function(){!function(){var e={1:"۱",2:"۲",3:"۳",4:"۴",5:"۵",6:"۶",7:"۷",8:"۸",9:"۹",0:"۰"},t={"۱":"1","۲":"2","۳":"3","۴":"4","۵":"5","۶":"6","۷":"7","۸":"8","۹":"9","۰":"0"},n=a.defineLocale("fa",{months:"ژانویه_فوریه_مارس_آوریل_مه_ژوئن_ژوئیه_اوت_سپتامبر_اکتبر_نوامبر_دسامبر".split("_"),monthsShort:"ژانویه_فوریه_مارس_آوریل_مه_ژوئن_ژوئیه_اوت_سپتامبر_اکتبر_نوامبر_دسامبر".split("_"),weekdays:"یک‌شنبه_دوشنبه_سه‌شنبه_چهارشنبه_پنج‌شنبه_جمعه_شنبه".split("_"),weekdaysShort:"یک‌شنبه_دوشنبه_سه‌شنبه_چهارشنبه_پنج‌شنبه_جمعه_شنبه".split("_"),weekdaysMin:"ی_د_س_چ_پ_ج_ش".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},meridiemParse:/قبل از ظهر|بعد از ظهر/,isPM:function(e){return/بعد از ظهر/.test(e)},meridiem:function(e,a,t){return e<12?"قبل از ظهر":"بعد از ظهر"},calendar:{sameDay:"[امروز ساعت] LT",nextDay:"[فردا ساعت] LT",nextWeek:"dddd [ساعت] LT",lastDay:"[دیروز ساعت] LT",lastWeek:"dddd [پیش] [ساعت] LT",sameElse:"L"},relativeTime:{future:"در %s",past:"%s پیش",s:"چندین ثانیه",m:"یک دقیقه",mm:"%d دقیقه",h:"یک ساعت",hh:"%d ساعت",d:"یک روز",dd:"%d روز",M:"یک ماه",MM:"%d ماه",y:"یک سال",yy:"%d سال"},preparse:function(e){return e.replace(/[۰-۹]/g,function(e){return t[e]}).replace(/،/g,",")},postformat:function(a){return a.replace(/\d/g,function(a){return e[a]}).replace(/,/g,"،")},ordinalParse:/\d{1,2}م/,ordinal:"%dم",week:{dow:6,doy:12}});return n}(),e.fullCalendar.datepickerLocale("fa","fa",{closeText:"بستن",prevText:"&#x3C;قبلی",nextText:"بعدی&#x3E;",currentText:"امروز",monthNames:["ژانویه","فوریه","مارس","آوریل","مه","ژوئن","ژوئیه","اوت","سپتامبر","اکتبر","نوامبر","دسامبر"],monthNamesShort:["1","2","3","4","5","6","7","8","9","10","11","12"],dayNames:["يکشنبه","دوشنبه","سه‌شنبه","چهارشنبه","پنجشنبه","جمعه","شنبه"],dayNamesShort:["ی","د","س","چ","پ","ج","ش"],dayNamesMin:["ی","د","س","چ","پ","ج","ش"],weekHeader:"هف",dateFormat:"yy/mm/dd",firstDay:6,isRTL:!0,showMonthAfterYear:!1,yearSuffix:""}),e.fullCalendar.locale("fa",{buttonText:{month:"ماه",week:"هفته",day:"روز",list:"برنامه"},allDayText:"تمام روز",eventLimitText:function(e){return"بیش از "+e},noEventsMessage:"هیچ رویدادی به نمایش"})}(),function(){!function(){function e(e,a,n,r){var s="";switch(n){case"s":return r?"muutaman sekunnin":"muutama sekunti";case"m":return r?"minuutin":"minuutti";case"mm":s=r?"minuutin":"minuuttia";break;case"h":return r?"tunnin":"tunti";case"hh":s=r?"tunnin":"tuntia";break;case"d":return r?"päivän":"päivä";case"dd":s=r?"päivän":"päivää";break;case"M":return r?"kuukauden":"kuukausi";case"MM":s=r?"kuukauden":"kuukautta";break;case"y":return r?"vuoden":"vuosi";case"yy":s=r?"vuoden":"vuotta"}return s=t(e,r)+" "+s}function t(e,a){return e<10?a?r[e]:n[e]:e}var n="nolla yksi kaksi kolme neljä viisi kuusi seitsemän kahdeksan yhdeksän".split(" "),r=["nolla","yhden","kahden","kolmen","neljän","viiden","kuuden",n[7],n[8],n[9]],s=a.defineLocale("fi",{months:"tammikuu_helmikuu_maaliskuu_huhtikuu_toukokuu_kesäkuu_heinäkuu_elokuu_syyskuu_lokakuu_marraskuu_joulukuu".split("_"),monthsShort:"tammi_helmi_maalis_huhti_touko_kesä_heinä_elo_syys_loka_marras_joulu".split("_"),weekdays:"sunnuntai_maanantai_tiistai_keskiviikko_torstai_perjantai_lauantai".split("_"),weekdaysShort:"su_ma_ti_ke_to_pe_la".split("_"),weekdaysMin:"su_ma_ti_ke_to_pe_la".split("_"),longDateFormat:{LT:"HH.mm",LTS:"HH.mm.ss",L:"DD.MM.YYYY",LL:"Do MMMM[ta] YYYY",LLL:"Do MMMM[ta] YYYY, [klo] HH.mm",LLLL:"dddd, Do MMMM[ta] YYYY, [klo] HH.mm",l:"D.M.YYYY",ll:"Do MMM YYYY",lll:"Do MMM YYYY, [klo] HH.mm",llll:"ddd, Do MMM YYYY, [klo] HH.mm"},calendar:{sameDay:"[tänään] [klo] LT",nextDay:"[huomenna] [klo] LT",nextWeek:"dddd [klo] LT",lastDay:"[eilen] [klo] LT",lastWeek:"[viime] dddd[na] [klo] LT",sameElse:"L"},relativeTime:{future:"%s päästä",past:"%s sitten",s:e,m:e,mm:e,h:e,hh:e,d:e,dd:e,M:e,MM:e,y:e,yy:e},ordinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}});return s}(),e.fullCalendar.datepickerLocale("fi","fi",{closeText:"Sulje",prevText:"&#xAB;Edellinen",nextText:"Seuraava&#xBB;",currentText:"Tänään",monthNames:["Tammikuu","Helmikuu","Maaliskuu","Huhtikuu","Toukokuu","Kesäkuu","Heinäkuu","Elokuu","Syyskuu","Lokakuu","Marraskuu","Joulukuu"],monthNamesShort:["Tammi","Helmi","Maalis","Huhti","Touko","Kesä","Heinä","Elo","Syys","Loka","Marras","Joulu"],dayNamesShort:["Su","Ma","Ti","Ke","To","Pe","La"],dayNames:["Sunnuntai","Maanantai","Tiistai","Keskiviikko","Torstai","Perjantai","Lauantai"],dayNamesMin:["Su","Ma","Ti","Ke","To","Pe","La"],weekHeader:"Vk",dateFormat:"d.m.yy",firstDay:1,isRTL:!1,showMonthAfterYear:!1,yearSuffix:""}),e.fullCalendar.locale("fi",{buttonText:{month:"Kuukausi",week:"Viikko",day:"Päivä",list:"Tapahtumat"},allDayText:"Koko päivä",eventLimitText:"lisää",noEventsMessage:"Ei tapahtumia näytettäviä"})}(),function(){!function(){var e=a.defineLocale("fr",{months:"janvier_février_mars_avril_mai_juin_juillet_août_septembre_octobre_novembre_décembre".split("_"),monthsShort:"janv._févr._mars_avr._mai_juin_juil._août_sept._oct._nov._déc.".split("_"),monthsParseExact:!0,weekdays:"dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi".split("_"),weekdaysShort:"dim._lun._mar._mer._jeu._ven._sam.".split("_"),weekdaysMin:"Di_Lu_Ma_Me_Je_Ve_Sa".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[Aujourd'hui à] LT",nextDay:"[Demain à] LT",nextWeek:"dddd [à] LT",lastDay:"[Hier à] LT",lastWeek:"dddd [dernier à] LT",sameElse:"L"},relativeTime:{future:"dans %s",past:"il y a %s",s:"quelques secondes",m:"une minute",mm:"%d minutes",h:"une heure",hh:"%d heures",d:"un jour",dd:"%d jours",M:"un mois",MM:"%d mois",y:"un an",yy:"%d ans"},ordinalParse:/\d{1,2}(er|)/,ordinal:function(e){return e+(1===e?"er":"")},week:{dow:1,doy:4}});return e}(),e.fullCalendar.datepickerLocale("fr","fr",{closeText:"Fermer",prevText:"Précédent",nextText:"Suivant",currentText:"Aujourd'hui",monthNames:["janvier","février","mars","avril","mai","juin","juillet","août","septembre","octobre","novembre","décembre"],monthNamesShort:["janv.","févr.","mars","avr.","mai","juin","juil.","août","sept.","oct.","nov.","déc."],dayNames:["dimanche","lundi","mardi","mercredi","jeudi","vendredi","samedi"],dayNamesShort:["dim.","lun.","mar.","mer.","jeu.","ven.","sam."],dayNamesMin:["D","L","M","M","J","V","S"],weekHeader:"Sem.",dateFormat:"dd/mm/yy",firstDay:1,isRTL:!1,showMonthAfterYear:!1,yearSuffix:""}),e.fullCalendar.locale("fr",{buttonText:{year:"Année",month:"Mois",week:"Semaine",day:"Jour",list:"Mon planning"},allDayHtml:"Toute la<br/>journée",eventLimitText:"en plus",noEventsMessage:"Aucun événement à afficher"})}(),function(){!function(){var e=a.defineLocale("fr-ca",{months:"janvier_février_mars_avril_mai_juin_juillet_août_septembre_octobre_novembre_décembre".split("_"),monthsShort:"janv._févr._mars_avr._mai_juin_juil._août_sept._oct._nov._déc.".split("_"),monthsParseExact:!0,weekdays:"dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi".split("_"),weekdaysShort:"dim._lun._mar._mer._jeu._ven._sam.".split("_"),weekdaysMin:"Di_Lu_Ma_Me_Je_Ve_Sa".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY-MM-DD",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[Aujourd'hui à] LT",nextDay:"[Demain à] LT",nextWeek:"dddd [à] LT",lastDay:"[Hier à] LT",lastWeek:"dddd [dernier à] LT",sameElse:"L"},relativeTime:{future:"dans %s",past:"il y a %s",s:"quelques secondes",m:"une minute",mm:"%d minutes",h:"une heure",hh:"%d heures",d:"un jour",dd:"%d jours",M:"un mois",MM:"%d mois",y:"un an",yy:"%d ans"},ordinalParse:/\d{1,2}(er|e)/,ordinal:function(e){return e+(1===e?"er":"e")}});return e}(),e.fullCalendar.datepickerLocale("fr-ca","fr-CA",{closeText:"Fermer",prevText:"Précédent",nextText:"Suivant",currentText:"Aujourd'hui",monthNames:["janvier","février","mars","avril","mai","juin","juillet","août","septembre","octobre","novembre","décembre"],monthNamesShort:["janv.","févr.","mars","avril","mai","juin","juil.","août","sept.","oct.","nov.","déc."],dayNames:["dimanche","lundi","mardi","mercredi","jeudi","vendredi","samedi"],dayNamesShort:["dim.","lun.","mar.","mer.","jeu.","ven.","sam."],dayNamesMin:["D","L","M","M","J","V","S"],weekHeader:"Sem.",dateFormat:"yy-mm-dd",firstDay:0,isRTL:!1,showMonthAfterYear:!1,yearSuffix:""}),e.fullCalendar.locale("fr-ca",{buttonText:{year:"Année",month:"Mois",week:"Semaine",day:"Jour",list:"Mon planning"},allDayHtml:"Toute la<br/>journée",eventLimitText:"en plus",noEventsMessage:"Aucun événement à afficher"})}(),function(){!function(){var e=a.defineLocale("fr-ch",{months:"janvier_février_mars_avril_mai_juin_juillet_août_septembre_octobre_novembre_décembre".split("_"),monthsShort:"janv._févr._mars_avr._mai_juin_juil._août_sept._oct._nov._déc.".split("_"),monthsParseExact:!0,weekdays:"dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi".split("_"),weekdaysShort:"dim._lun._mar._mer._jeu._ven._sam.".split("_"),weekdaysMin:"Di_Lu_Ma_Me_Je_Ve_Sa".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[Aujourd'hui à] LT",nextDay:"[Demain à] LT",nextWeek:"dddd [à] LT",lastDay:"[Hier à] LT",lastWeek:"dddd [dernier à] LT",sameElse:"L"},relativeTime:{future:"dans %s",past:"il y a %s",s:"quelques secondes",m:"une minute",mm:"%d minutes",h:"une heure",hh:"%d heures",d:"un jour",dd:"%d jours",M:"un mois",MM:"%d mois",y:"un an",yy:"%d ans"},ordinalParse:/\d{1,2}(er|e)/,ordinal:function(e){return e+(1===e?"er":"e")},week:{dow:1,doy:4}});return e}(),e.fullCalendar.datepickerLocale("fr-ch","fr-CH",{closeText:"Fermer",prevText:"&#x3C;Préc",nextText:"Suiv&#x3E;",currentText:"Courant",monthNames:["janvier","février","mars","avril","mai","juin","juillet","août","septembre","octobre","novembre","décembre"],monthNamesShort:["janv.","févr.","mars","avril","mai","juin","juil.","août","sept.","oct.","nov.","déc."],dayNames:["dimanche","lundi","mardi","mercredi","jeudi","vendredi","samedi"],dayNamesShort:["dim.","lun.","mar.","mer.","jeu.","ven.","sam."],dayNamesMin:["D","L","M","M","J","V","S"],weekHeader:"Sm",dateFormat:"dd.mm.yy",firstDay:1,isRTL:!1,showMonthAfterYear:!1,yearSuffix:""}),e.fullCalendar.locale("fr-ch",{buttonText:{year:"Année",month:"Mois",week:"Semaine",day:"Jour",list:"Mon planning"},allDayHtml:"Toute la<br/>journée",eventLimitText:"en plus",noEventsMessage:"Aucun événement à afficher"})}(),function(){!function(){var e=a.defineLocale("gl",{months:"Xaneiro_Febreiro_Marzo_Abril_Maio_Xuño_Xullo_Agosto_Setembro_Outubro_Novembro_Decembro".split("_"),monthsShort:"Xan._Feb._Mar._Abr._Mai._Xuñ._Xul._Ago._Set._Out._Nov._Dec.".split("_"),monthsParseExact:!0,weekdays:"Domingo_Luns_Martes_Mércores_Xoves_Venres_Sábado".split("_"),weekdaysShort:"Dom._Lun._Mar._Mér._Xov._Ven._Sáb.".split("_"),weekdaysMin:"Do_Lu_Ma_Mé_Xo_Ve_Sá".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY H:mm",LLLL:"dddd D MMMM YYYY H:mm"},calendar:{sameDay:function(){return"[hoxe "+(1!==this.hours()?"ás":"á")+"] LT"},nextDay:function(){return"[mañá "+(1!==this.hours()?"ás":"á")+"] LT"},nextWeek:function(){return"dddd ["+(1!==this.hours()?"ás":"a")+"] LT"},lastDay:function(){return"[onte "+(1!==this.hours()?"á":"a")+"] LT"},lastWeek:function(){return"[o] dddd [pasado "+(1!==this.hours()?"ás":"a")+"] LT"},sameElse:"L"},relativeTime:{future:function(e){return"uns segundos"===e?"nuns segundos":"en "+e},past:"hai %s",s:"uns segundos",m:"un minuto",mm:"%d minutos",h:"unha hora",hh:"%d horas",d:"un día",dd:"%d días",M:"un mes",MM:"%d meses",y:"un ano",yy:"%d anos"},ordinalParse:/\d{1,2}º/,ordinal:"%dº",week:{dow:1,doy:7}});return e}(),e.fullCalendar.datepickerLocale("gl","gl",{closeText:"Pechar",prevText:"&#x3C;Ant",nextText:"Seg&#x3E;",currentText:"Hoxe",monthNames:["Xaneiro","Febreiro","Marzo","Abril","Maio","Xuño","Xullo","Agosto","Setembro","Outubro","Novembro","Decembro"],monthNamesShort:["Xan","Feb","Mar","Abr","Mai","Xuñ","Xul","Ago","Set","Out","Nov","Dec"],dayNames:["Domingo","Luns","Martes","Mércores","Xoves","Venres","Sábado"],dayNamesShort:["Dom","Lun","Mar","Mér","Xov","Ven","Sáb"],dayNamesMin:["Do","Lu","Ma","Mé","Xo","Ve","Sá"],weekHeader:"Sm",dateFormat:"dd/mm/yy",firstDay:1,isRTL:!1,showMonthAfterYear:!1,yearSuffix:""}),e.fullCalendar.locale("gl",{buttonText:{month:"Mes",week:"Semana",day:"Día",list:"Axenda"},allDayHtml:"Todo<br/>o día",eventLimitText:"máis",noEventsMessage:"Non hai eventos para amosar"})}(),function(){!function(){var e=a.defineLocale("he",{months:"ינואר_פברואר_מרץ_אפריל_מאי_יוני_יולי_אוגוסט_ספטמבר_אוקטובר_נובמבר_דצמבר".split("_"),monthsShort:"ינו׳_פבר׳_מרץ_אפר׳_מאי_יוני_יולי_אוג׳_ספט׳_אוק׳_נוב׳_דצמ׳".split("_"),weekdays:"ראשון_שני_שלישי_רביעי_חמישי_שישי_שבת".split("_"),weekdaysShort:"א׳_ב׳_ג׳_ד׳_ה׳_ו׳_ש׳".split("_"),weekdaysMin:"א_ב_ג_ד_ה_ו_ש".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D [ב]MMMM YYYY",LLL:"D [ב]MMMM YYYY HH:mm",LLLL:"dddd, D [ב]MMMM YYYY HH:mm",l:"D/M/YYYY",ll:"D MMM YYYY",lll:"D MMM YYYY HH:mm",llll:"ddd, D MMM YYYY HH:mm"},calendar:{sameDay:"[היום ב־]LT",nextDay:"[מחר ב־]LT",nextWeek:"dddd [בשעה] LT",lastDay:"[אתמול ב־]LT",lastWeek:"[ביום] dddd [האחרון בשעה] LT",sameElse:"L"},relativeTime:{future:"בעוד %s",past:"לפני %s",s:"מספר שניות",m:"דקה",mm:"%d דקות",h:"שעה",hh:function(e){return 2===e?"שעתיים":e+" שעות"},d:"יום",dd:function(e){return 2===e?"יומיים":e+" ימים"},M:"חודש",MM:function(e){return 2===e?"חודשיים":e+" חודשים"},y:"שנה",yy:function(e){return 2===e?"שנתיים":e%10===0&&10!==e?e+" שנה":e+" שנים"}},meridiemParse:/אחה"צ|לפנה"צ|אחרי הצהריים|לפני הצהריים|לפנות בוקר|בבוקר|בערב/i,isPM:function(e){return/^(אחה"צ|אחרי הצהריים|בערב)$/.test(e)},meridiem:function(e,a,t){return e<5?"לפנות בוקר":e<10?"בבוקר":e<12?t?'לפנה"צ':"לפני הצהריים":e<18?t?'אחה"צ':"אחרי הצהריים":"בערב"}});return e}(),e.fullCalendar.datepickerLocale("he","he",{closeText:"סגור",prevText:"&#x3C;הקודם",nextText:"הבא&#x3E;",currentText:"היום",monthNames:["ינואר","פברואר","מרץ","אפריל","מאי","יוני","יולי","אוגוסט","ספטמבר","אוקטובר","נובמבר","דצמבר"],monthNamesShort:["ינו","פבר","מרץ","אפר","מאי","יוני","יולי","אוג","ספט","אוק","נוב","דצמ"],dayNames:["ראשון","שני","שלישי","רביעי","חמישי","שישי","שבת"],dayNamesShort:["א'","ב'","ג'","ד'","ה'","ו'","שבת"],dayNamesMin:["א'","ב'","ג'","ד'","ה'","ו'","שבת"],weekHeader:"Wk",dateFormat:"dd/mm/yy",firstDay:0,isRTL:!0,showMonthAfterYear:!1,yearSuffix:""}),e.fullCalendar.locale("he",{buttonText:{month:"חודש",week:"שבוע",day:"יום",list:"סדר יום"},allDayText:"כל היום",eventLimitText:"אחר",noEventsMessage:"אין אירועים להצגה",weekNumberTitle:"שבוע"})}(),function(){!function(){var e={1:"१",2:"२",3:"३",4:"४",5:"५",6:"६",7:"७",8:"८",9:"९",0:"०"},t={"१":"1","२":"2","३":"3","४":"4","५":"5","६":"6","७":"7","८":"8","९":"9","०":"0"},n=a.defineLocale("hi",{months:"जनवरी_फ़रवरी_मार्च_अप्रैल_मई_जून_जुलाई_अगस्त_सितम्बर_अक्टूबर_नवम्बर_दिसम्बर".split("_"),monthsShort:"जन._फ़र._मार्च_अप्रै._मई_जून_जुल._अग._सित._अक्टू._नव._दिस.".split("_"),monthsParseExact:!0,weekdays:"रविवार_सोमवार_मंगलवार_बुधवार_गुरूवार_शुक्रवार_शनिवार".split("_"),weekdaysShort:"रवि_सोम_मंगल_बुध_गुरू_शुक्र_शनि".split("_"),weekdaysMin:"र_सो_मं_बु_गु_शु_श".split("_"),longDateFormat:{LT:"A h:mm बजे",LTS:"A h:mm:ss बजे",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, A h:mm बजे",LLLL:"dddd, D MMMM YYYY, A h:mm बजे"},calendar:{sameDay:"[आज] LT",nextDay:"[कल] LT",nextWeek:"dddd, LT",lastDay:"[कल] LT",lastWeek:"[पिछले] dddd, LT",sameElse:"L"},relativeTime:{future:"%s में",past:"%s पहले",s:"कुछ ही क्षण",m:"एक मिनट",mm:"%d मिनट",h:"एक घंटा",hh:"%d घंटे",d:"एक दिन",dd:"%d दिन",M:"एक महीने",MM:"%d महीने",y:"एक वर्ष",yy:"%d वर्ष"},preparse:function(e){return e.replace(/[१२३४५६७८९०]/g,function(e){return t[e]})},postformat:function(a){return a.replace(/\d/g,function(a){return e[a]})},meridiemParse:/रात|सुबह|दोपहर|शाम/,meridiemHour:function(e,a){return 12===e&&(e=0),"रात"===a?e<4?e:e+12:"सुबह"===a?e:"दोपहर"===a?e>=10?e:e+12:"शाम"===a?e+12:void 0},meridiem:function(e,a,t){return e<4?"रात":e<10?"सुबह":e<17?"दोपहर":e<20?"शाम":"रात"},week:{dow:0,doy:6}});return n}(),e.fullCalendar.datepickerLocale("hi","hi",{closeText:"बंद",prevText:"पिछला",nextText:"अगला",currentText:"आज",monthNames:["जनवरी ","फरवरी","मार्च","अप्रेल","मई","जून","जूलाई","अगस्त ","सितम्बर","अक्टूबर","नवम्बर","दिसम्बर"],monthNamesShort:["जन","फर","मार्च","अप्रेल","मई","जून","जूलाई","अग","सित","अक्ट","नव","दि"],dayNames:["रविवार","सोमवार","मंगलवार","बुधवार","गुरुवार","शुक्रवार","शनिवार"],dayNamesShort:["रवि","सोम","मंगल","बुध","गुरु","शुक्र","शनि"],dayNamesMin:["रवि","सोम","मंगल","बुध","गुरु","शुक्र","शनि"],weekHeader:"हफ्ता",dateFormat:"dd/mm/yy",firstDay:1,isRTL:!1,showMonthAfterYear:!1,yearSuffix:""}),e.fullCalendar.locale("hi",{buttonText:{month:"महीना",week:"सप्ताह",day:"दिन",list:"कार्यसूची"},allDayText:"सभी दिन",eventLimitText:function(e){return"+अधिक "+e},noEventsMessage:"कोई घटनाओं को प्रदर्शित करने के लिए"})}(),function(){!function(){function e(e,a,t){var n=e+" ";switch(t){case"m":return a?"jedna minuta":"jedne minute";case"mm":return n+=1===e?"minuta":2===e||3===e||4===e?"minute":"minuta";case"h":return a?"jedan sat":"jednog sata";case"hh":return n+=1===e?"sat":2===e||3===e||4===e?"sata":"sati";case"dd":return n+=1===e?"dan":"dana";case"MM":return n+=1===e?"mjesec":2===e||3===e||4===e?"mjeseca":"mjeseci";case"yy":return n+=1===e?"godina":2===e||3===e||4===e?"godine":"godina"}}var t=a.defineLocale("hr",{months:{format:"siječnja_veljače_ožujka_travnja_svibnja_lipnja_srpnja_kolovoza_rujna_listopada_studenoga_prosinca".split("_"),standalone:"siječanj_veljača_ožujak_travanj_svibanj_lipanj_srpanj_kolovoz_rujan_listopad_studeni_prosinac".split("_")},monthsShort:"sij._velj._ožu._tra._svi._lip._srp._kol._ruj._lis._stu._pro.".split("_"),monthsParseExact:!0,weekdays:"nedjelja_ponedjeljak_utorak_srijeda_četvrtak_petak_subota".split("_"),weekdaysShort:"ned._pon._uto._sri._čet._pet._sub.".split("_"),weekdaysMin:"ne_po_ut_sr_če_pe_su".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD. MM. YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY H:mm",LLLL:"dddd, D. MMMM YYYY H:mm"},calendar:{sameDay:"[danas u] LT",nextDay:"[sutra u] LT",nextWeek:function(){switch(this.day()){case 0:return"[u] [nedjelju] [u] LT";case 3:return"[u] [srijedu] [u] LT";case 6:return"[u] [subotu] [u] LT";case 1:case 2:case 4:case 5:return"[u] dddd [u] LT"}},lastDay:"[jučer u] LT",lastWeek:function(){switch(this.day()){case 0:case 3:return"[prošlu] dddd [u] LT";case 6:return"[prošle] [subote] [u] LT";case 1:case 2:case 4:case 5:return"[prošli] dddd [u] LT"}},sameElse:"L"},relativeTime:{future:"za %s",past:"prije %s",s:"par sekundi",m:e,mm:e,h:e,hh:e,d:"dan",dd:e,M:"mjesec",MM:e,y:"godinu",yy:e},ordinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:7}});return t}(),e.fullCalendar.datepickerLocale("hr","hr",{closeText:"Zatvori",prevText:"&#x3C;",nextText:"&#x3E;",currentText:"Danas",monthNames:["Siječanj","Veljača","Ožujak","Travanj","Svibanj","Lipanj","Srpanj","Kolovoz","Rujan","Listopad","Studeni","Prosinac"],monthNamesShort:["Sij","Velj","Ožu","Tra","Svi","Lip","Srp","Kol","Ruj","Lis","Stu","Pro"],dayNames:["Nedjelja","Ponedjeljak","Utorak","Srijeda","Četvrtak","Petak","Subota"],dayNamesShort:["Ned","Pon","Uto","Sri","Čet","Pet","Sub"],dayNamesMin:["Ne","Po","Ut","Sr","Če","Pe","Su"],weekHeader:"Tje",dateFormat:"dd.mm.yy.",firstDay:1,isRTL:!1,showMonthAfterYear:!1,yearSuffix:""}),e.fullCalendar.locale("hr",{buttonText:{month:"Mjesec",week:"Tjedan",day:"Dan",list:"Raspored"},allDayText:"Cijeli dan",eventLimitText:function(e){return"+ još "+e},noEventsMessage:"Nema događaja za prikaz"})}(),function(){!function(){function e(e,a,t,n){var r=e;switch(t){case"s":return n||a?"néhány másodperc":"néhány másodperce";case"m":return"egy"+(n||a?" perc":" perce");case"mm":return r+(n||a?" perc":" perce");case"h":return"egy"+(n||a?" óra":" órája");case"hh":return r+(n||a?" óra":" órája");case"d":return"egy"+(n||a?" nap":" napja");case"dd":return r+(n||a?" nap":" napja");case"M":return"egy"+(n||a?" hónap":" hónapja");case"MM":return r+(n||a?" hónap":" hónapja");case"y":return"egy"+(n||a?" év":" éve");case"yy":return r+(n||a?" év":" éve")}return""}function t(e){return(e?"":"[múlt] ")+"["+n[this.day()]+"] LT[-kor]"}var n="vasárnap hétfőn kedden szerdán csütörtökön pénteken szombaton".split(" "),r=a.defineLocale("hu",{months:"január_február_március_április_május_június_július_augusztus_szeptember_október_november_december".split("_"),monthsShort:"jan_feb_márc_ápr_máj_jún_júl_aug_szept_okt_nov_dec".split("_"),weekdays:"vasárnap_hétfő_kedd_szerda_csütörtök_péntek_szombat".split("_"),weekdaysShort:"vas_hét_kedd_sze_csüt_pén_szo".split("_"),weekdaysMin:"v_h_k_sze_cs_p_szo".split("_"),longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"YYYY.MM.DD.",LL:"YYYY. MMMM D.",LLL:"YYYY. MMMM D. H:mm",LLLL:"YYYY. MMMM D., dddd H:mm"},meridiemParse:/de|du/i,isPM:function(e){return"u"===e.charAt(1).toLowerCase()},meridiem:function(e,a,t){return e<12?t===!0?"de":"DE":t===!0?"du":"DU"},calendar:{sameDay:"[ma] LT[-kor]",nextDay:"[holnap] LT[-kor]",nextWeek:function(){return t.call(this,!0)},lastDay:"[tegnap] LT[-kor]",lastWeek:function(){return t.call(this,!1)},sameElse:"L"},relativeTime:{future:"%s múlva",past:"%s",s:e,m:e,mm:e,h:e,hh:e,d:e,dd:e,M:e,MM:e,y:e,yy:e},ordinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:7}});return r}(),e.fullCalendar.datepickerLocale("hu","hu",{closeText:"bezár",prevText:"vissza",nextText:"előre",currentText:"ma",monthNames:["Január","Február","Március","Április","Május","Június","Július","Augusztus","Szeptember","Október","November","December"],monthNamesShort:["Jan","Feb","Már","Ápr","Máj","Jún","Júl","Aug","Szep","Okt","Nov","Dec"],dayNames:["Vasárnap","Hétfő","Kedd","Szerda","Csütörtök","Péntek","Szombat"],dayNamesShort:["Vas","Hét","Ked","Sze","Csü","Pén","Szo"],dayNamesMin:["V","H","K","Sze","Cs","P","Szo"],weekHeader:"Hét",dateFormat:"yy.mm.dd.",firstDay:1,isRTL:!1,showMonthAfterYear:!0,yearSuffix:""}),e.fullCalendar.locale("hu",{buttonText:{month:"Hónap",week:"Hét",day:"Nap",list:"Napló"},allDayText:"Egész nap",eventLimitText:"további",noEventsMessage:"Nincs megjeleníthető események"})}(),function(){!function(){var e=a.defineLocale("id",{months:"Januari_Februari_Maret_April_Mei_Juni_Juli_Agustus_September_Oktober_November_Desember".split("_"),monthsShort:"Jan_Feb_Mar_Apr_Mei_Jun_Jul_Ags_Sep_Okt_Nov_Des".split("_"),weekdays:"Minggu_Senin_Selasa_Rabu_Kamis_Jumat_Sabtu".split("_"),weekdaysShort:"Min_Sen_Sel_Rab_Kam_Jum_Sab".split("_"),weekdaysMin:"Mg_Sn_Sl_Rb_Km_Jm_Sb".split("_"),longDateFormat:{LT:"HH.mm",LTS:"HH.mm.ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY [pukul] HH.mm",LLLL:"dddd, D MMMM YYYY [pukul] HH.mm"},meridiemParse:/pagi|siang|sore|malam/,meridiemHour:function(e,a){return 12===e&&(e=0),"pagi"===a?e:"siang"===a?e>=11?e:e+12:"sore"===a||"malam"===a?e+12:void 0},meridiem:function(e,a,t){return e<11?"pagi":e<15?"siang":e<19?"sore":"malam"},calendar:{sameDay:"[Hari ini pukul] LT",nextDay:"[Besok pukul] LT",nextWeek:"dddd [pukul] LT",lastDay:"[Kemarin pukul] LT",lastWeek:"dddd [lalu pukul] LT",sameElse:"L"},relativeTime:{future:"dalam %s",past:"%s yang lalu",s:"beberapa detik",m:"semenit",mm:"%d menit",h:"sejam",hh:"%d jam",d:"sehari",dd:"%d hari",M:"sebulan",MM:"%d bulan",y:"setahun",yy:"%d tahun"},week:{dow:1,doy:7}});return e}(),e.fullCalendar.datepickerLocale("id","id",{closeText:"Tutup",prevText:"&#x3C;mundur",nextText:"maju&#x3E;",currentText:"hari ini",monthNames:["Januari","Februari","Maret","April","Mei","Juni","Juli","Agustus","September","Oktober","Nopember","Desember"],monthNamesShort:["Jan","Feb","Mar","Apr","Mei","Jun","Jul","Agus","Sep","Okt","Nop","Des"],dayNames:["Minggu","Senin","Selasa","Rabu","Kamis","Jumat","Sabtu"],dayNamesShort:["Min","Sen","Sel","Rab","kam","Jum","Sab"],dayNamesMin:["Mg","Sn","Sl","Rb","Km","jm","Sb"],weekHeader:"Mg",dateFormat:"dd/mm/yy",firstDay:0,isRTL:!1,showMonthAfterYear:!1,yearSuffix:""}),e.fullCalendar.locale("id",{buttonText:{month:"Bulan",week:"Minggu",day:"Hari",list:"Agenda"},allDayHtml:"Sehari<br/>penuh",eventLimitText:"lebih",noEventsMessage:"Tidak ada acara untuk ditampilkan"})}(),function(){!function(){function e(e){return e%100===11||e%10!==1}function t(a,t,n,r){var s=a+" ";switch(n){case"s":return t||r?"nokkrar sekúndur":"nokkrum sekúndum";case"m":return t?"mínúta":"mínútu";case"mm":return e(a)?s+(t||r?"mínútur":"mínútum"):t?s+"mínúta":s+"mínútu";case"hh":return e(a)?s+(t||r?"klukkustundir":"klukkustundum"):s+"klukkustund";case"d":return t?"dagur":r?"dag":"degi";case"dd":return e(a)?t?s+"dagar":s+(r?"daga":"dögum"):t?s+"dagur":s+(r?"dag":"degi");case"M":return t?"mánuður":r?"mánuð":"mánuði";case"MM":return e(a)?t?s+"mánuðir":s+(r?"mánuði":"mánuðum"):t?s+"mánuður":s+(r?"mánuð":"mánuði");case"y":return t||r?"ár":"ári";case"yy":return e(a)?s+(t||r?"ár":"árum"):s+(t||r?"ár":"ári")}}var n=a.defineLocale("is",{months:"janúar_febrúar_mars_apríl_maí_júní_júlí_ágúst_september_október_nóvember_desember".split("_"),monthsShort:"jan_feb_mar_apr_maí_jún_júl_ágú_sep_okt_nóv_des".split("_"),weekdays:"sunnudagur_mánudagur_þriðjudagur_miðvikudagur_fimmtudagur_föstudagur_laugardagur".split("_"),weekdaysShort:"sun_mán_þri_mið_fim_fös_lau".split("_"),weekdaysMin:"Su_Má_Þr_Mi_Fi_Fö_La".split("_"),longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY [kl.] H:mm",LLLL:"dddd, D. MMMM YYYY [kl.] H:mm"},calendar:{
+sameDay:"[í dag kl.] LT",nextDay:"[á morgun kl.] LT",nextWeek:"dddd [kl.] LT",lastDay:"[í gær kl.] LT",lastWeek:"[síðasta] dddd [kl.] LT",sameElse:"L"},relativeTime:{future:"eftir %s",past:"fyrir %s síðan",s:t,m:t,mm:t,h:"klukkustund",hh:t,d:t,dd:t,M:t,MM:t,y:t,yy:t},ordinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}});return n}(),e.fullCalendar.datepickerLocale("is","is",{closeText:"Loka",prevText:"&#x3C; Fyrri",nextText:"Næsti &#x3E;",currentText:"Í dag",monthNames:["Janúar","Febrúar","Mars","Apríl","Maí","Júní","Júlí","Ágúst","September","Október","Nóvember","Desember"],monthNamesShort:["Jan","Feb","Mar","Apr","Maí","Jún","Júl","Ágú","Sep","Okt","Nóv","Des"],dayNames:["Sunnudagur","Mánudagur","Þriðjudagur","Miðvikudagur","Fimmtudagur","Föstudagur","Laugardagur"],dayNamesShort:["Sun","Mán","Þri","Mið","Fim","Fös","Lau"],dayNamesMin:["Su","Má","Þr","Mi","Fi","Fö","La"],weekHeader:"Vika",dateFormat:"dd.mm.yy",firstDay:0,isRTL:!1,showMonthAfterYear:!1,yearSuffix:""}),e.fullCalendar.locale("is",{buttonText:{month:"Mánuður",week:"Vika",day:"Dagur",list:"Dagskrá"},allDayHtml:"Allan<br/>daginn",eventLimitText:"meira",noEventsMessage:"Engir viðburðir til að sýna"})}(),function(){!function(){var e=a.defineLocale("it",{months:"gennaio_febbraio_marzo_aprile_maggio_giugno_luglio_agosto_settembre_ottobre_novembre_dicembre".split("_"),monthsShort:"gen_feb_mar_apr_mag_giu_lug_ago_set_ott_nov_dic".split("_"),weekdays:"Domenica_Lunedì_Martedì_Mercoledì_Giovedì_Venerdì_Sabato".split("_"),weekdaysShort:"Dom_Lun_Mar_Mer_Gio_Ven_Sab".split("_"),weekdaysMin:"Do_Lu_Ma_Me_Gi_Ve_Sa".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[Oggi alle] LT",nextDay:"[Domani alle] LT",nextWeek:"dddd [alle] LT",lastDay:"[Ieri alle] LT",lastWeek:function(){switch(this.day()){case 0:return"[la scorsa] dddd [alle] LT";default:return"[lo scorso] dddd [alle] LT"}},sameElse:"L"},relativeTime:{future:function(e){return(/^[0-9].+$/.test(e)?"tra":"in")+" "+e},past:"%s fa",s:"alcuni secondi",m:"un minuto",mm:"%d minuti",h:"un'ora",hh:"%d ore",d:"un giorno",dd:"%d giorni",M:"un mese",MM:"%d mesi",y:"un anno",yy:"%d anni"},ordinalParse:/\d{1,2}º/,ordinal:"%dº",week:{dow:1,doy:4}});return e}(),e.fullCalendar.datepickerLocale("it","it",{closeText:"Chiudi",prevText:"&#x3C;Prec",nextText:"Succ&#x3E;",currentText:"Oggi",monthNames:["Gennaio","Febbraio","Marzo","Aprile","Maggio","Giugno","Luglio","Agosto","Settembre","Ottobre","Novembre","Dicembre"],monthNamesShort:["Gen","Feb","Mar","Apr","Mag","Giu","Lug","Ago","Set","Ott","Nov","Dic"],dayNames:["Domenica","Lunedì","Martedì","Mercoledì","Giovedì","Venerdì","Sabato"],dayNamesShort:["Dom","Lun","Mar","Mer","Gio","Ven","Sab"],dayNamesMin:["Do","Lu","Ma","Me","Gi","Ve","Sa"],weekHeader:"Sm",dateFormat:"dd/mm/yy",firstDay:1,isRTL:!1,showMonthAfterYear:!1,yearSuffix:""}),e.fullCalendar.locale("it",{buttonText:{month:"Mese",week:"Settimana",day:"Giorno",list:"Agenda"},allDayHtml:"Tutto il<br/>giorno",eventLimitText:function(e){return"+altri "+e},noEventsMessage:"Non ci sono eventi da visualizzare"})}(),function(){!function(){var e=a.defineLocale("ja",{months:"1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月".split("_"),monthsShort:"1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月".split("_"),weekdays:"日曜日_月曜日_火曜日_水曜日_木曜日_金曜日_土曜日".split("_"),weekdaysShort:"日_月_火_水_木_金_土".split("_"),weekdaysMin:"日_月_火_水_木_金_土".split("_"),longDateFormat:{LT:"Ah時m分",LTS:"Ah時m分s秒",L:"YYYY/MM/DD",LL:"YYYY年M月D日",LLL:"YYYY年M月D日Ah時m分",LLLL:"YYYY年M月D日Ah時m分 dddd"},meridiemParse:/午前|午後/i,isPM:function(e){return"午後"===e},meridiem:function(e,a,t){return e<12?"午前":"午後"},calendar:{sameDay:"[今日] LT",nextDay:"[明日] LT",nextWeek:"[来週]dddd LT",lastDay:"[昨日] LT",lastWeek:"[前週]dddd LT",sameElse:"L"},ordinalParse:/\d{1,2}日/,ordinal:function(e,a){switch(a){case"d":case"D":case"DDD":return e+"日";default:return e}},relativeTime:{future:"%s後",past:"%s前",s:"数秒",m:"1分",mm:"%d分",h:"1時間",hh:"%d時間",d:"1日",dd:"%d日",M:"1ヶ月",MM:"%dヶ月",y:"1年",yy:"%d年"}});return e}(),e.fullCalendar.datepickerLocale("ja","ja",{closeText:"閉じる",prevText:"&#x3C;前",nextText:"次&#x3E;",currentText:"今日",monthNames:["1月","2月","3月","4月","5月","6月","7月","8月","9月","10月","11月","12月"],monthNamesShort:["1月","2月","3月","4月","5月","6月","7月","8月","9月","10月","11月","12月"],dayNames:["日曜日","月曜日","火曜日","水曜日","木曜日","金曜日","土曜日"],dayNamesShort:["日","月","火","水","木","金","土"],dayNamesMin:["日","月","火","水","木","金","土"],weekHeader:"週",dateFormat:"yy/mm/dd",firstDay:0,isRTL:!1,showMonthAfterYear:!0,yearSuffix:"年"}),e.fullCalendar.locale("ja",{buttonText:{month:"月",week:"週",day:"日",list:"予定リスト"},allDayText:"終日",eventLimitText:function(e){return"他 "+e+" 件"},noEventsMessage:"イベントが表示されないように"})}(),function(){!function(){var e=a.defineLocale("ko",{months:"1월_2월_3월_4월_5월_6월_7월_8월_9월_10월_11월_12월".split("_"),monthsShort:"1월_2월_3월_4월_5월_6월_7월_8월_9월_10월_11월_12월".split("_"),weekdays:"일요일_월요일_화요일_수요일_목요일_금요일_토요일".split("_"),weekdaysShort:"일_월_화_수_목_금_토".split("_"),weekdaysMin:"일_월_화_수_목_금_토".split("_"),longDateFormat:{LT:"A h시 m분",LTS:"A h시 m분 s초",L:"YYYY.MM.DD",LL:"YYYY년 MMMM D일",LLL:"YYYY년 MMMM D일 A h시 m분",LLLL:"YYYY년 MMMM D일 dddd A h시 m분"},calendar:{sameDay:"오늘 LT",nextDay:"내일 LT",nextWeek:"dddd LT",lastDay:"어제 LT",lastWeek:"지난주 dddd LT",sameElse:"L"},relativeTime:{future:"%s 후",past:"%s 전",s:"몇 초",ss:"%d초",m:"일분",mm:"%d분",h:"한 시간",hh:"%d시간",d:"하루",dd:"%d일",M:"한 달",MM:"%d달",y:"일 년",yy:"%d년"},ordinalParse:/\d{1,2}일/,ordinal:"%d일",meridiemParse:/오전|오후/,isPM:function(e){return"오후"===e},meridiem:function(e,a,t){return e<12?"오전":"오후"}});return e}(),e.fullCalendar.datepickerLocale("ko","ko",{closeText:"닫기",prevText:"이전달",nextText:"다음달",currentText:"오늘",monthNames:["1월","2월","3월","4월","5월","6월","7월","8월","9월","10월","11월","12월"],monthNamesShort:["1월","2월","3월","4월","5월","6월","7월","8월","9월","10월","11월","12월"],dayNames:["일요일","월요일","화요일","수요일","목요일","금요일","토요일"],dayNamesShort:["일","월","화","수","목","금","토"],dayNamesMin:["일","월","화","수","목","금","토"],weekHeader:"주",dateFormat:"yy. m. d.",firstDay:0,isRTL:!1,showMonthAfterYear:!0,yearSuffix:"년"}),e.fullCalendar.locale("ko",{buttonText:{month:"월",week:"주",day:"일",list:"일정목록"},allDayText:"종일",eventLimitText:"개",noEventsMessage:"일정이 표시 없습니다"})}(),function(){!function(){function e(e,a,t,n){var r={m:["eng Minutt","enger Minutt"],h:["eng Stonn","enger Stonn"],d:["een Dag","engem Dag"],M:["ee Mount","engem Mount"],y:["ee Joer","engem Joer"]};return a?r[t][0]:r[t][1]}function t(e){var a=e.substr(0,e.indexOf(" "));return r(a)?"a "+e:"an "+e}function n(e){var a=e.substr(0,e.indexOf(" "));return r(a)?"viru "+e:"virun "+e}function r(e){if(e=parseInt(e,10),isNaN(e))return!1;if(e<0)return!0;if(e<10)return 4<=e&&e<=7;if(e<100){var a=e%10,t=e/10;return r(0===a?t:a)}if(e<1e4){for(;e>=10;)e/=10;return r(e)}return e/=1e3,r(e)}var s=a.defineLocale("lb",{months:"Januar_Februar_Mäerz_Abrëll_Mee_Juni_Juli_August_September_Oktober_November_Dezember".split("_"),monthsShort:"Jan._Febr._Mrz._Abr._Mee_Jun._Jul._Aug._Sept._Okt._Nov._Dez.".split("_"),monthsParseExact:!0,weekdays:"Sonndeg_Méindeg_Dënschdeg_Mëttwoch_Donneschdeg_Freideg_Samschdeg".split("_"),weekdaysShort:"So._Mé._Dë._Më._Do._Fr._Sa.".split("_"),weekdaysMin:"So_Mé_Dë_Më_Do_Fr_Sa".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm [Auer]",LTS:"H:mm:ss [Auer]",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY H:mm [Auer]",LLLL:"dddd, D. MMMM YYYY H:mm [Auer]"},calendar:{sameDay:"[Haut um] LT",sameElse:"L",nextDay:"[Muer um] LT",nextWeek:"dddd [um] LT",lastDay:"[Gëschter um] LT",lastWeek:function(){switch(this.day()){case 2:case 4:return"[Leschten] dddd [um] LT";default:return"[Leschte] dddd [um] LT"}}},relativeTime:{future:t,past:n,s:"e puer Sekonnen",m:e,mm:"%d Minutten",h:e,hh:"%d Stonnen",d:e,dd:"%d Deeg",M:e,MM:"%d Méint",y:e,yy:"%d Joer"},ordinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}});return s}(),e.fullCalendar.datepickerLocale("lb","lb",{closeText:"Fäerdeg",prevText:"Zréck",nextText:"Weider",currentText:"Haut",monthNames:["Januar","Februar","Mäerz","Abrëll","Mee","Juni","Juli","August","September","Oktober","November","Dezember"],monthNamesShort:["Jan","Feb","Mäe","Abr","Mee","Jun","Jul","Aug","Sep","Okt","Nov","Dez"],dayNames:["Sonndeg","Méindeg","Dënschdeg","Mëttwoch","Donneschdeg","Freideg","Samschdeg"],dayNamesShort:["Son","Méi","Dën","Mët","Don","Fre","Sam"],dayNamesMin:["So","Mé","Dë","Më","Do","Fr","Sa"],weekHeader:"W",dateFormat:"dd.mm.yy",firstDay:1,isRTL:!1,showMonthAfterYear:!1,yearSuffix:""}),e.fullCalendar.locale("lb",{buttonText:{month:"Mount",week:"Woch",day:"Dag",list:"Terminiwwersiicht"},allDayText:"Ganzen Dag",eventLimitText:"méi",noEventsMessage:"Nee Evenementer ze affichéieren"})}(),function(){!function(){function e(e,a,t,n){return a?"kelios sekundės":n?"kelių sekundžių":"kelias sekundes"}function t(e,a,t,n){return a?r(t)[0]:n?r(t)[1]:r(t)[2]}function n(e){return e%10===0||e>10&&e<20}function r(e){return d[e].split("_")}function s(e,a,s,d){var i=e+" ";return 1===e?i+t(e,a,s[0],d):a?i+(n(e)?r(s)[1]:r(s)[0]):d?i+r(s)[1]:i+(n(e)?r(s)[1]:r(s)[2])}var d={m:"minutė_minutės_minutę",mm:"minutės_minučių_minutes",h:"valanda_valandos_valandą",hh:"valandos_valandų_valandas",d:"diena_dienos_dieną",dd:"dienos_dienų_dienas",M:"mėnuo_mėnesio_mėnesį",MM:"mėnesiai_mėnesių_mėnesius",y:"metai_metų_metus",yy:"metai_metų_metus"},i=a.defineLocale("lt",{months:{format:"sausio_vasario_kovo_balandžio_gegužės_birželio_liepos_rugpjūčio_rugsėjo_spalio_lapkričio_gruodžio".split("_"),standalone:"sausis_vasaris_kovas_balandis_gegužė_birželis_liepa_rugpjūtis_rugsėjis_spalis_lapkritis_gruodis".split("_"),isFormat:/D[oD]?(\[[^\[\]]*\]|\s+)+MMMM?|MMMM?(\[[^\[\]]*\]|\s+)+D[oD]?/},monthsShort:"sau_vas_kov_bal_geg_bir_lie_rgp_rgs_spa_lap_grd".split("_"),weekdays:{format:"sekmadienį_pirmadienį_antradienį_trečiadienį_ketvirtadienį_penktadienį_šeštadienį".split("_"),standalone:"sekmadienis_pirmadienis_antradienis_trečiadienis_ketvirtadienis_penktadienis_šeštadienis".split("_"),isFormat:/dddd HH:mm/},weekdaysShort:"Sek_Pir_Ant_Tre_Ket_Pen_Šeš".split("_"),weekdaysMin:"S_P_A_T_K_Pn_Š".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY-MM-DD",LL:"YYYY [m.] MMMM D [d.]",LLL:"YYYY [m.] MMMM D [d.], HH:mm [val.]",LLLL:"YYYY [m.] MMMM D [d.], dddd, HH:mm [val.]",l:"YYYY-MM-DD",ll:"YYYY [m.] MMMM D [d.]",lll:"YYYY [m.] MMMM D [d.], HH:mm [val.]",llll:"YYYY [m.] MMMM D [d.], ddd, HH:mm [val.]"},calendar:{sameDay:"[Šiandien] LT",nextDay:"[Rytoj] LT",nextWeek:"dddd LT",lastDay:"[Vakar] LT",lastWeek:"[Praėjusį] dddd LT",sameElse:"L"},relativeTime:{future:"po %s",past:"prieš %s",s:e,m:t,mm:s,h:t,hh:s,d:t,dd:s,M:t,MM:s,y:t,yy:s},ordinalParse:/\d{1,2}-oji/,ordinal:function(e){return e+"-oji"},week:{dow:1,doy:4}});return i}(),e.fullCalendar.datepickerLocale("lt","lt",{closeText:"Uždaryti",prevText:"&#x3C;Atgal",nextText:"Pirmyn&#x3E;",currentText:"Šiandien",monthNames:["Sausis","Vasaris","Kovas","Balandis","Gegužė","Birželis","Liepa","Rugpjūtis","Rugsėjis","Spalis","Lapkritis","Gruodis"],monthNamesShort:["Sau","Vas","Kov","Bal","Geg","Bir","Lie","Rugp","Rugs","Spa","Lap","Gru"],dayNames:["sekmadienis","pirmadienis","antradienis","trečiadienis","ketvirtadienis","penktadienis","šeštadienis"],dayNamesShort:["sek","pir","ant","tre","ket","pen","šeš"],dayNamesMin:["Se","Pr","An","Tr","Ke","Pe","Še"],weekHeader:"SAV",dateFormat:"yy-mm-dd",firstDay:1,isRTL:!1,showMonthAfterYear:!0,yearSuffix:""}),e.fullCalendar.locale("lt",{buttonText:{month:"Mėnuo",week:"Savaitė",day:"Diena",list:"Darbotvarkė"},allDayText:"Visą dieną",eventLimitText:"daugiau",noEventsMessage:"Nėra įvykių rodyti"})}(),function(){!function(){function e(e,a,t){return t?a%10===1&&a%100!==11?e[2]:e[3]:a%10===1&&a%100!==11?e[0]:e[1]}function t(a,t,n){return a+" "+e(s[n],a,t)}function n(a,t,n){return e(s[n],a,t)}function r(e,a){return a?"dažas sekundes":"dažām sekundēm"}var s={m:"minūtes_minūtēm_minūte_minūtes".split("_"),mm:"minūtes_minūtēm_minūte_minūtes".split("_"),h:"stundas_stundām_stunda_stundas".split("_"),hh:"stundas_stundām_stunda_stundas".split("_"),d:"dienas_dienām_diena_dienas".split("_"),dd:"dienas_dienām_diena_dienas".split("_"),M:"mēneša_mēnešiem_mēnesis_mēneši".split("_"),MM:"mēneša_mēnešiem_mēnesis_mēneši".split("_"),y:"gada_gadiem_gads_gadi".split("_"),yy:"gada_gadiem_gads_gadi".split("_")},d=a.defineLocale("lv",{months:"janvāris_februāris_marts_aprīlis_maijs_jūnijs_jūlijs_augusts_septembris_oktobris_novembris_decembris".split("_"),monthsShort:"jan_feb_mar_apr_mai_jūn_jūl_aug_sep_okt_nov_dec".split("_"),weekdays:"svētdiena_pirmdiena_otrdiena_trešdiena_ceturtdiena_piektdiena_sestdiena".split("_"),weekdaysShort:"Sv_P_O_T_C_Pk_S".split("_"),weekdaysMin:"Sv_P_O_T_C_Pk_S".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY.",LL:"YYYY. [gada] D. MMMM",LLL:"YYYY. [gada] D. MMMM, HH:mm",LLLL:"YYYY. [gada] D. MMMM, dddd, HH:mm"},calendar:{sameDay:"[Šodien pulksten] LT",nextDay:"[Rīt pulksten] LT",nextWeek:"dddd [pulksten] LT",lastDay:"[Vakar pulksten] LT",lastWeek:"[Pagājušā] dddd [pulksten] LT",sameElse:"L"},relativeTime:{future:"pēc %s",past:"pirms %s",s:r,m:n,mm:t,h:n,hh:t,d:n,dd:t,M:n,MM:t,y:n,yy:t},ordinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}});return d}(),e.fullCalendar.datepickerLocale("lv","lv",{closeText:"Aizvērt",prevText:"Iepr.",nextText:"Nāk.",currentText:"Šodien",monthNames:["Janvāris","Februāris","Marts","Aprīlis","Maijs","Jūnijs","Jūlijs","Augusts","Septembris","Oktobris","Novembris","Decembris"],monthNamesShort:["Jan","Feb","Mar","Apr","Mai","Jūn","Jūl","Aug","Sep","Okt","Nov","Dec"],dayNames:["svētdiena","pirmdiena","otrdiena","trešdiena","ceturtdiena","piektdiena","sestdiena"],dayNamesShort:["svt","prm","otr","tre","ctr","pkt","sst"],dayNamesMin:["Sv","Pr","Ot","Tr","Ct","Pk","Ss"],weekHeader:"Ned.",dateFormat:"dd.mm.yy",firstDay:1,isRTL:!1,showMonthAfterYear:!1,yearSuffix:""}),e.fullCalendar.locale("lv",{buttonText:{month:"Mēnesis",week:"Nedēļa",day:"Diena",list:"Dienas kārtība"},allDayText:"Visu dienu",eventLimitText:function(e){return"+vēl "+e},noEventsMessage:"Nav notikumu, lai parādītu"})}(),function(){!function(){var e=a.defineLocale("mk",{months:"јануари_февруари_март_април_мај_јуни_јули_август_септември_октомври_ноември_декември".split("_"),monthsShort:"јан_фев_мар_апр_мај_јун_јул_авг_сеп_окт_ное_дек".split("_"),weekdays:"недела_понеделник_вторник_среда_четврток_петок_сабота".split("_"),weekdaysShort:"нед_пон_вто_сре_чет_пет_саб".split("_"),weekdaysMin:"нe_пo_вт_ср_че_пе_сa".split("_"),longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"D.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY H:mm",LLLL:"dddd, D MMMM YYYY H:mm"},calendar:{sameDay:"[Денес во] LT",nextDay:"[Утре во] LT",nextWeek:"[Во] dddd [во] LT",lastDay:"[Вчера во] LT",lastWeek:function(){switch(this.day()){case 0:case 3:case 6:return"[Изминатата] dddd [во] LT";case 1:case 2:case 4:case 5:return"[Изминатиот] dddd [во] LT"}},sameElse:"L"},relativeTime:{future:"после %s",past:"пред %s",s:"неколку секунди",m:"минута",mm:"%d минути",h:"час",hh:"%d часа",d:"ден",dd:"%d дена",M:"месец",MM:"%d месеци",y:"година",yy:"%d години"},ordinalParse:/\d{1,2}-(ев|ен|ти|ви|ри|ми)/,ordinal:function(e){var a=e%10,t=e%100;return 0===e?e+"-ев":0===t?e+"-ен":t>10&&t<20?e+"-ти":1===a?e+"-ви":2===a?e+"-ри":7===a||8===a?e+"-ми":e+"-ти"},week:{dow:1,doy:7}});return e}(),e.fullCalendar.datepickerLocale("mk","mk",{closeText:"Затвори",prevText:"&#x3C;",nextText:"&#x3E;",currentText:"Денес",monthNames:["Јануари","Февруари","Март","Април","Мај","Јуни","Јули","Август","Септември","Октомври","Ноември","Декември"],monthNamesShort:["Јан","Фев","Мар","Апр","Мај","Јун","Јул","Авг","Сеп","Окт","Ное","Дек"],dayNames:["Недела","Понеделник","Вторник","Среда","Четврток","Петок","Сабота"],dayNamesShort:["Нед","Пон","Вто","Сре","Чет","Пет","Саб"],dayNamesMin:["Не","По","Вт","Ср","Че","Пе","Са"],weekHeader:"Сед",dateFormat:"dd.mm.yy",firstDay:1,isRTL:!1,showMonthAfterYear:!1,yearSuffix:""}),e.fullCalendar.locale("mk",{buttonText:{month:"Месец",week:"Недела",day:"Ден",list:"График"},allDayText:"Цел ден",eventLimitText:function(e){return"+повеќе "+e},noEventsMessage:"Нема настани за прикажување"})}(),function(){!function(){var e=a.defineLocale("ms",{months:"Januari_Februari_Mac_April_Mei_Jun_Julai_Ogos_September_Oktober_November_Disember".split("_"),monthsShort:"Jan_Feb_Mac_Apr_Mei_Jun_Jul_Ogs_Sep_Okt_Nov_Dis".split("_"),weekdays:"Ahad_Isnin_Selasa_Rabu_Khamis_Jumaat_Sabtu".split("_"),weekdaysShort:"Ahd_Isn_Sel_Rab_Kha_Jum_Sab".split("_"),weekdaysMin:"Ah_Is_Sl_Rb_Km_Jm_Sb".split("_"),longDateFormat:{LT:"HH.mm",LTS:"HH.mm.ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY [pukul] HH.mm",LLLL:"dddd, D MMMM YYYY [pukul] HH.mm"},meridiemParse:/pagi|tengahari|petang|malam/,meridiemHour:function(e,a){return 12===e&&(e=0),"pagi"===a?e:"tengahari"===a?e>=11?e:e+12:"petang"===a||"malam"===a?e+12:void 0},meridiem:function(e,a,t){return e<11?"pagi":e<15?"tengahari":e<19?"petang":"malam"},calendar:{sameDay:"[Hari ini pukul] LT",nextDay:"[Esok pukul] LT",nextWeek:"dddd [pukul] LT",lastDay:"[Kelmarin pukul] LT",lastWeek:"dddd [lepas pukul] LT",sameElse:"L"},relativeTime:{future:"dalam %s",past:"%s yang lepas",s:"beberapa saat",m:"seminit",mm:"%d minit",h:"sejam",hh:"%d jam",d:"sehari",dd:"%d hari",M:"sebulan",MM:"%d bulan",y:"setahun",yy:"%d tahun"},week:{dow:1,doy:7}});return e}(),e.fullCalendar.datepickerLocale("ms","ms",{closeText:"Tutup",prevText:"&#x3C;Sebelum",nextText:"Selepas&#x3E;",currentText:"hari ini",monthNames:["Januari","Februari","Mac","April","Mei","Jun","Julai","Ogos","September","Oktober","November","Disember"],monthNamesShort:["Jan","Feb","Mac","Apr","Mei","Jun","Jul","Ogo","Sep","Okt","Nov","Dis"],dayNames:["Ahad","Isnin","Selasa","Rabu","Khamis","Jumaat","Sabtu"],dayNamesShort:["Aha","Isn","Sel","Rab","kha","Jum","Sab"],dayNamesMin:["Ah","Is","Se","Ra","Kh","Ju","Sa"],weekHeader:"Mg",dateFormat:"dd/mm/yy",firstDay:0,isRTL:!1,showMonthAfterYear:!1,yearSuffix:""}),e.fullCalendar.locale("ms",{buttonText:{month:"Bulan",week:"Minggu",day:"Hari",list:"Agenda"},allDayText:"Sepanjang hari",eventLimitText:function(e){return"masih ada "+e+" acara"},noEventsMessage:"Tiada peristiwa untuk dipaparkan"})}(),function(){!function(){var e=a.defineLocale("ms-my",{months:"Januari_Februari_Mac_April_Mei_Jun_Julai_Ogos_September_Oktober_November_Disember".split("_"),monthsShort:"Jan_Feb_Mac_Apr_Mei_Jun_Jul_Ogs_Sep_Okt_Nov_Dis".split("_"),weekdays:"Ahad_Isnin_Selasa_Rabu_Khamis_Jumaat_Sabtu".split("_"),weekdaysShort:"Ahd_Isn_Sel_Rab_Kha_Jum_Sab".split("_"),weekdaysMin:"Ah_Is_Sl_Rb_Km_Jm_Sb".split("_"),longDateFormat:{LT:"HH.mm",LTS:"HH.mm.ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY [pukul] HH.mm",LLLL:"dddd, D MMMM YYYY [pukul] HH.mm"},meridiemParse:/pagi|tengahari|petang|malam/,meridiemHour:function(e,a){return 12===e&&(e=0),"pagi"===a?e:"tengahari"===a?e>=11?e:e+12:"petang"===a||"malam"===a?e+12:void 0},meridiem:function(e,a,t){return e<11?"pagi":e<15?"tengahari":e<19?"petang":"malam"},calendar:{sameDay:"[Hari ini pukul] LT",nextDay:"[Esok pukul] LT",nextWeek:"dddd [pukul] LT",lastDay:"[Kelmarin pukul] LT",lastWeek:"dddd [lepas pukul] LT",sameElse:"L"},relativeTime:{future:"dalam %s",past:"%s yang lepas",s:"beberapa saat",m:"seminit",mm:"%d minit",h:"sejam",hh:"%d jam",d:"sehari",dd:"%d hari",M:"sebulan",MM:"%d bulan",y:"setahun",yy:"%d tahun"},week:{dow:1,doy:7}});return e}(),e.fullCalendar.datepickerLocale("ms-my","ms",{closeText:"Tutup",prevText:"&#x3C;Sebelum",nextText:"Selepas&#x3E;",currentText:"hari ini",monthNames:["Januari","Februari","Mac","April","Mei","Jun","Julai","Ogos","September","Oktober","November","Disember"],monthNamesShort:["Jan","Feb","Mac","Apr","Mei","Jun","Jul","Ogo","Sep","Okt","Nov","Dis"],dayNames:["Ahad","Isnin","Selasa","Rabu","Khamis","Jumaat","Sabtu"],dayNamesShort:["Aha","Isn","Sel","Rab","kha","Jum","Sab"],dayNamesMin:["Ah","Is","Se","Ra","Kh","Ju","Sa"],weekHeader:"Mg",dateFormat:"dd/mm/yy",firstDay:0,isRTL:!1,showMonthAfterYear:!1,yearSuffix:""}),e.fullCalendar.locale("ms-my",{buttonText:{month:"Bulan",week:"Minggu",day:"Hari",list:"Agenda"},allDayText:"Sepanjang hari",eventLimitText:function(e){return"masih ada "+e+" acara"},noEventsMessage:"Tiada peristiwa untuk dipaparkan"})}(),function(){!function(){var e=a.defineLocale("nb",{months:"januar_februar_mars_april_mai_juni_juli_august_september_oktober_november_desember".split("_"),monthsShort:"jan._feb._mars_april_mai_juni_juli_aug._sep._okt._nov._des.".split("_"),monthsParseExact:!0,weekdays:"søndag_mandag_tirsdag_onsdag_torsdag_fredag_lørdag".split("_"),weekdaysShort:"sø._ma._ti._on._to._fr._lø.".split("_"),weekdaysMin:"sø_ma_ti_on_to_fr_lø".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY [kl.] HH:mm",LLLL:"dddd D. MMMM YYYY [kl.] HH:mm"},calendar:{sameDay:"[i dag kl.] LT",nextDay:"[i morgen kl.] LT",nextWeek:"dddd [kl.] LT",lastDay:"[i går kl.] LT",lastWeek:"[forrige] dddd [kl.] LT",sameElse:"L"},relativeTime:{future:"om %s",past:"%s siden",s:"noen sekunder",m:"ett minutt",mm:"%d minutter",h:"en time",hh:"%d timer",d:"en dag",dd:"%d dager",M:"en måned",MM:"%d måneder",y:"ett år",yy:"%d år"},ordinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}});return e}(),e.fullCalendar.datepickerLocale("nb","nb",{closeText:"Lukk",prevText:"&#xAB;Forrige",nextText:"Neste&#xBB;",currentText:"I dag",monthNames:["januar","februar","mars","april","mai","juni","juli","august","september","oktober","november","desember"],monthNamesShort:["jan","feb","mar","apr","mai","jun","jul","aug","sep","okt","nov","des"],dayNamesShort:["søn","man","tir","ons","tor","fre","lør"],dayNames:["søndag","mandag","tirsdag","onsdag","torsdag","fredag","lørdag"],dayNamesMin:["sø","ma","ti","on","to","fr","lø"],weekHeader:"Uke",dateFormat:"dd.mm.yy",firstDay:1,isRTL:!1,showMonthAfterYear:!1,yearSuffix:""}),e.fullCalendar.locale("nb",{buttonText:{month:"Måned",week:"Uke",day:"Dag",list:"Agenda"},allDayText:"Hele dagen",eventLimitText:"til",noEventsMessage:"Ingen hendelser å vise"})}(),function(){!function(){var e="jan._feb._mrt._apr._mei_jun._jul._aug._sep._okt._nov._dec.".split("_"),t="jan_feb_mrt_apr_mei_jun_jul_aug_sep_okt_nov_dec".split("_"),n=a.defineLocale("nl",{months:"januari_februari_maart_april_mei_juni_juli_augustus_september_oktober_november_december".split("_"),monthsShort:function(a,n){return/-MMM-/.test(n)?t[a.month()]:e[a.month()]},monthsParseExact:!0,weekdays:"zondag_maandag_dinsdag_woensdag_donderdag_vrijdag_zaterdag".split("_"),weekdaysShort:"zo._ma._di._wo._do._vr._za.".split("_"),weekdaysMin:"Zo_Ma_Di_Wo_Do_Vr_Za".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD-MM-YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[vandaag om] LT",nextDay:"[morgen om] LT",nextWeek:"dddd [om] LT",lastDay:"[gisteren om] LT",lastWeek:"[afgelopen] dddd [om] LT",sameElse:"L"},relativeTime:{future:"over %s",past:"%s geleden",s:"een paar seconden",m:"één minuut",mm:"%d minuten",h:"één uur",hh:"%d uur",d:"één dag",dd:"%d dagen",M:"één maand",MM:"%d maanden",y:"één jaar",yy:"%d jaar"},ordinalParse:/\d{1,2}(ste|de)/,ordinal:function(e){return e+(1===e||8===e||e>=20?"ste":"de")},week:{dow:1,doy:4}});return n}(),e.fullCalendar.datepickerLocale("nl","nl",{closeText:"Sluiten",prevText:"←",nextText:"→",currentText:"Vandaag",monthNames:["januari","februari","maart","april","mei","juni","juli","augustus","september","oktober","november","december"],monthNamesShort:["jan","feb","mrt","apr","mei","jun","jul","aug","sep","okt","nov","dec"],dayNames:["zondag","maandag","dinsdag","woensdag","donderdag","vrijdag","zaterdag"],dayNamesShort:["zon","maa","din","woe","don","vri","zat"],dayNamesMin:["zo","ma","di","wo","do","vr","za"],weekHeader:"Wk",dateFormat:"dd-mm-yy",firstDay:1,isRTL:!1,showMonthAfterYear:!1,yearSuffix:""}),e.fullCalendar.locale("nl",{buttonText:{month:"Maand",week:"Week",day:"Dag",list:"Agenda"},allDayText:"Hele dag",eventLimitText:"extra",noEventsMessage:"Geen evenementen om te laten zien"})}(),function(){!function(){var e=a.defineLocale("nn",{months:"januar_februar_mars_april_mai_juni_juli_august_september_oktober_november_desember".split("_"),monthsShort:"jan_feb_mar_apr_mai_jun_jul_aug_sep_okt_nov_des".split("_"),weekdays:"sundag_måndag_tysdag_onsdag_torsdag_fredag_laurdag".split("_"),weekdaysShort:"sun_mån_tys_ons_tor_fre_lau".split("_"),weekdaysMin:"su_må_ty_on_to_fr_lø".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY [kl.] H:mm",LLLL:"dddd D. MMMM YYYY [kl.] HH:mm"},calendar:{sameDay:"[I dag klokka] LT",nextDay:"[I morgon klokka] LT",nextWeek:"dddd [klokka] LT",lastDay:"[I går klokka] LT",lastWeek:"[Føregåande] dddd [klokka] LT",sameElse:"L"},relativeTime:{future:"om %s",past:"%s sidan",s:"nokre sekund",m:"eit minutt",mm:"%d minutt",h:"ein time",hh:"%d timar",d:"ein dag",dd:"%d dagar",M:"ein månad",MM:"%d månader",y:"eit år",yy:"%d år"},ordinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}});return e}(),e.fullCalendar.datepickerLocale("nn","nn",{closeText:"Lukk",prevText:"&#xAB;Førre",nextText:"Neste&#xBB;",currentText:"I dag",monthNames:["januar","februar","mars","april","mai","juni","juli","august","september","oktober","november","desember"],monthNamesShort:["jan","feb","mar","apr","mai","jun","jul","aug","sep","okt","nov","des"],dayNamesShort:["sun","mån","tys","ons","tor","fre","lau"],dayNames:["sundag","måndag","tysdag","onsdag","torsdag","fredag","laurdag"],dayNamesMin:["su","må","ty","on","to","fr","la"],weekHeader:"Veke",dateFormat:"dd.mm.yy",firstDay:1,isRTL:!1,showMonthAfterYear:!1,yearSuffix:""}),e.fullCalendar.locale("nn",{buttonText:{month:"Månad",week:"Veke",day:"Dag",list:"Agenda"},allDayText:"Heile dagen",eventLimitText:"til",noEventsMessage:"Ingen hendelser å vise"})}(),function(){!function(){function e(e){return e%10<5&&e%10>1&&~~(e/10)%10!==1}function t(a,t,n){var r=a+" ";switch(n){case"m":return t?"minuta":"minutę";case"mm":return r+(e(a)?"minuty":"minut");case"h":return t?"godzina":"godzinę";case"hh":return r+(e(a)?"godziny":"godzin");case"MM":return r+(e(a)?"miesiące":"miesięcy");case"yy":return r+(e(a)?"lata":"lat")}}var n="styczeń_luty_marzec_kwiecień_maj_czerwiec_lipiec_sierpień_wrzesień_październik_listopad_grudzień".split("_"),r="stycznia_lutego_marca_kwietnia_maja_czerwca_lipca_sierpnia_września_października_listopada_grudnia".split("_"),s=a.defineLocale("pl",{months:function(e,a){return""===a?"("+r[e.month()]+"|"+n[e.month()]+")":/D MMMM/.test(a)?r[e.month()]:n[e.month()]},monthsShort:"sty_lut_mar_kwi_maj_cze_lip_sie_wrz_paź_lis_gru".split("_"),weekdays:"niedziela_poniedziałek_wtorek_środa_czwartek_piątek_sobota".split("_"),weekdaysShort:"nie_pon_wt_śr_czw_pt_sb".split("_"),weekdaysMin:"Nd_Pn_Wt_Śr_Cz_Pt_So".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[Dziś o] LT",nextDay:"[Jutro o] LT",nextWeek:"[W] dddd [o] LT",lastDay:"[Wczoraj o] LT",lastWeek:function(){switch(this.day()){case 0:return"[W zeszłą niedzielę o] LT";case 3:return"[W zeszłą środę o] LT";case 6:return"[W zeszłą sobotę o] LT";default:return"[W zeszły] dddd [o] LT"}},sameElse:"L"},relativeTime:{future:"za %s",past:"%s temu",s:"kilka sekund",m:t,mm:t,h:t,hh:t,d:"1 dzień",dd:"%d dni",M:"miesiąc",MM:t,y:"rok",yy:t},ordinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}});return s}(),e.fullCalendar.datepickerLocale("pl","pl",{closeText:"Zamknij",prevText:"&#x3C;Poprzedni",nextText:"Następny&#x3E;",currentText:"Dziś",monthNames:["Styczeń","Luty","Marzec","Kwiecień","Maj","Czerwiec","Lipiec","Sierpień","Wrzesień","Październik","Listopad","Grudzień"],monthNamesShort:["Sty","Lu","Mar","Kw","Maj","Cze","Lip","Sie","Wrz","Pa","Lis","Gru"],dayNames:["Niedziela","Poniedziałek","Wtorek","Środa","Czwartek","Piątek","Sobota"],dayNamesShort:["Nie","Pn","Wt","Śr","Czw","Pt","So"],dayNamesMin:["N","Pn","Wt","Śr","Cz","Pt","So"],weekHeader:"Tydz",dateFormat:"dd.mm.yy",firstDay:1,isRTL:!1,showMonthAfterYear:!1,yearSuffix:""}),e.fullCalendar.locale("pl",{buttonText:{month:"Miesiąc",week:"Tydzień",day:"Dzień",list:"Plan dnia"},allDayText:"Cały dzień",eventLimitText:"więcej",noEventsMessage:"Brak wydarzeń do wyświetlenia"})}(),function(){!function(){var e=a.defineLocale("pt",{months:"Janeiro_Fevereiro_Março_Abril_Maio_Junho_Julho_Agosto_Setembro_Outubro_Novembro_Dezembro".split("_"),monthsShort:"Jan_Fev_Mar_Abr_Mai_Jun_Jul_Ago_Set_Out_Nov_Dez".split("_"),weekdays:"Domingo_Segunda-Feira_Terça-Feira_Quarta-Feira_Quinta-Feira_Sexta-Feira_Sábado".split("_"),weekdaysShort:"Dom_Seg_Ter_Qua_Qui_Sex_Sáb".split("_"),weekdaysMin:"Dom_2ª_3ª_4ª_5ª_6ª_Sáb".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D [de] MMMM [de] YYYY",LLL:"D [de] MMMM [de] YYYY HH:mm",LLLL:"dddd, D [de] MMMM [de] YYYY HH:mm"},calendar:{sameDay:"[Hoje às] LT",nextDay:"[Amanhã às] LT",nextWeek:"dddd [às] LT",lastDay:"[Ontem às] LT",lastWeek:function(){return 0===this.day()||6===this.day()?"[Último] dddd [às] LT":"[Última] dddd [às] LT"},sameElse:"L"},relativeTime:{future:"em %s",past:"há %s",s:"segundos",m:"um minuto",mm:"%d minutos",h:"uma hora",hh:"%d horas",d:"um dia",dd:"%d dias",M:"um mês",MM:"%d meses",y:"um ano",yy:"%d anos"},ordinalParse:/\d{1,2}º/,ordinal:"%dº",week:{dow:1,doy:4}});return e}(),e.fullCalendar.datepickerLocale("pt","pt",{closeText:"Fechar",prevText:"Anterior",nextText:"Seguinte",currentText:"Hoje",monthNames:["Janeiro","Fevereiro","Março","Abril","Maio","Junho","Julho","Agosto","Setembro","Outubro","Novembro","Dezembro"],monthNamesShort:["Jan","Fev","Mar","Abr","Mai","Jun","Jul","Ago","Set","Out","Nov","Dez"],dayNames:["Domingo","Segunda-feira","Terça-feira","Quarta-feira","Quinta-feira","Sexta-feira","Sábado"],dayNamesShort:["Dom","Seg","Ter","Qua","Qui","Sex","Sáb"],dayNamesMin:["Dom","Seg","Ter","Qua","Qui","Sex","Sáb"],weekHeader:"Sem",dateFormat:"dd/mm/yy",firstDay:0,isRTL:!1,showMonthAfterYear:!1,yearSuffix:""}),e.fullCalendar.locale("pt",{buttonText:{month:"Mês",week:"Semana",day:"Dia",list:"Agenda"},allDayText:"Todo o dia",eventLimitText:"mais",noEventsMessage:"Não há eventos para mostrar"})}(),function(){!function(){var e=a.defineLocale("pt-br",{months:"Janeiro_Fevereiro_Março_Abril_Maio_Junho_Julho_Agosto_Setembro_Outubro_Novembro_Dezembro".split("_"),monthsShort:"Jan_Fev_Mar_Abr_Mai_Jun_Jul_Ago_Set_Out_Nov_Dez".split("_"),weekdays:"Domingo_Segunda-feira_Terça-feira_Quarta-feira_Quinta-feira_Sexta-feira_Sábado".split("_"),weekdaysShort:"Dom_Seg_Ter_Qua_Qui_Sex_Sáb".split("_"),weekdaysMin:"Dom_2ª_3ª_4ª_5ª_6ª_Sáb".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D [de] MMMM [de] YYYY",LLL:"D [de] MMMM [de] YYYY [às] HH:mm",LLLL:"dddd, D [de] MMMM [de] YYYY [às] HH:mm"},calendar:{sameDay:"[Hoje às] LT",nextDay:"[Amanhã às] LT",nextWeek:"dddd [às] LT",lastDay:"[Ontem às] LT",lastWeek:function(){return 0===this.day()||6===this.day()?"[Último] dddd [às] LT":"[Última] dddd [às] LT"},sameElse:"L"},relativeTime:{future:"em %s",past:"%s atrás",s:"poucos segundos",m:"um minuto",mm:"%d minutos",h:"uma hora",hh:"%d horas",d:"um dia",dd:"%d dias",M:"um mês",MM:"%d meses",y:"um ano",yy:"%d anos"},ordinalParse:/\d{1,2}º/,ordinal:"%dº"});return e}(),e.fullCalendar.datepickerLocale("pt-br","pt-BR",{closeText:"Fechar",prevText:"&#x3C;Anterior",nextText:"Próximo&#x3E;",currentText:"Hoje",monthNames:["Janeiro","Fevereiro","Março","Abril","Maio","Junho","Julho","Agosto","Setembro","Outubro","Novembro","Dezembro"],monthNamesShort:["Jan","Fev","Mar","Abr","Mai","Jun","Jul","Ago","Set","Out","Nov","Dez"],dayNames:["Domingo","Segunda-feira","Terça-feira","Quarta-feira","Quinta-feira","Sexta-feira","Sábado"],dayNamesShort:["Dom","Seg","Ter","Qua","Qui","Sex","Sáb"],dayNamesMin:["Dom","Seg","Ter","Qua","Qui","Sex","Sáb"],
+weekHeader:"Sm",dateFormat:"dd/mm/yy",firstDay:0,isRTL:!1,showMonthAfterYear:!1,yearSuffix:""}),e.fullCalendar.locale("pt-br",{buttonText:{month:"Mês",week:"Semana",day:"Dia",list:"Compromissos"},allDayText:"dia inteiro",eventLimitText:function(e){return"mais +"+e},noEventsMessage:"Não há eventos para mostrar"})}(),function(){!function(){function e(e,a,t){var n={mm:"minute",hh:"ore",dd:"zile",MM:"luni",yy:"ani"},r=" ";return(e%100>=20||e>=100&&e%100===0)&&(r=" de "),e+r+n[t]}var t=a.defineLocale("ro",{months:"ianuarie_februarie_martie_aprilie_mai_iunie_iulie_august_septembrie_octombrie_noiembrie_decembrie".split("_"),monthsShort:"ian._febr._mart._apr._mai_iun._iul._aug._sept._oct._nov._dec.".split("_"),monthsParseExact:!0,weekdays:"duminică_luni_marți_miercuri_joi_vineri_sâmbătă".split("_"),weekdaysShort:"Dum_Lun_Mar_Mie_Joi_Vin_Sâm".split("_"),weekdaysMin:"Du_Lu_Ma_Mi_Jo_Vi_Sâ".split("_"),longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY H:mm",LLLL:"dddd, D MMMM YYYY H:mm"},calendar:{sameDay:"[azi la] LT",nextDay:"[mâine la] LT",nextWeek:"dddd [la] LT",lastDay:"[ieri la] LT",lastWeek:"[fosta] dddd [la] LT",sameElse:"L"},relativeTime:{future:"peste %s",past:"%s în urmă",s:"câteva secunde",m:"un minut",mm:e,h:"o oră",hh:e,d:"o zi",dd:e,M:"o lună",MM:e,y:"un an",yy:e},week:{dow:1,doy:7}});return t}(),e.fullCalendar.datepickerLocale("ro","ro",{closeText:"Închide",prevText:"&#xAB; Luna precedentă",nextText:"Luna următoare &#xBB;",currentText:"Azi",monthNames:["Ianuarie","Februarie","Martie","Aprilie","Mai","Iunie","Iulie","August","Septembrie","Octombrie","Noiembrie","Decembrie"],monthNamesShort:["Ian","Feb","Mar","Apr","Mai","Iun","Iul","Aug","Sep","Oct","Nov","Dec"],dayNames:["Duminică","Luni","Marţi","Miercuri","Joi","Vineri","Sâmbătă"],dayNamesShort:["Dum","Lun","Mar","Mie","Joi","Vin","Sâm"],dayNamesMin:["Du","Lu","Ma","Mi","Jo","Vi","Sâ"],weekHeader:"Săpt",dateFormat:"dd.mm.yy",firstDay:1,isRTL:!1,showMonthAfterYear:!1,yearSuffix:""}),e.fullCalendar.locale("ro",{buttonText:{prev:"precedentă",next:"următoare",month:"Lună",week:"Săptămână",day:"Zi",list:"Agendă"},allDayText:"Toată ziua",eventLimitText:function(e){return"+alte "+e},noEventsMessage:"Nu există evenimente de afișat"})}(),function(){!function(){function e(e,a){var t=e.split("_");return a%10===1&&a%100!==11?t[0]:a%10>=2&&a%10<=4&&(a%100<10||a%100>=20)?t[1]:t[2]}function t(a,t,n){var r={mm:t?"минута_минуты_минут":"минуту_минуты_минут",hh:"час_часа_часов",dd:"день_дня_дней",MM:"месяц_месяца_месяцев",yy:"год_года_лет"};return"m"===n?t?"минута":"минуту":a+" "+e(r[n],+a)}var n=[/^янв/i,/^фев/i,/^мар/i,/^апр/i,/^ма[йя]/i,/^июн/i,/^июл/i,/^авг/i,/^сен/i,/^окт/i,/^ноя/i,/^дек/i],r=a.defineLocale("ru",{months:{format:"января_февраля_марта_апреля_мая_июня_июля_августа_сентября_октября_ноября_декабря".split("_"),standalone:"январь_февраль_март_апрель_май_июнь_июль_август_сентябрь_октябрь_ноябрь_декабрь".split("_")},monthsShort:{format:"янв._февр._мар._апр._мая_июня_июля_авг._сент._окт._нояб._дек.".split("_"),standalone:"янв._февр._март_апр._май_июнь_июль_авг._сент._окт._нояб._дек.".split("_")},weekdays:{standalone:"воскресенье_понедельник_вторник_среда_четверг_пятница_суббота".split("_"),format:"воскресенье_понедельник_вторник_среду_четверг_пятницу_субботу".split("_"),isFormat:/\[ ?[Вв] ?(?:прошлую|следующую|эту)? ?\] ?dddd/},weekdaysShort:"вс_пн_вт_ср_чт_пт_сб".split("_"),weekdaysMin:"вс_пн_вт_ср_чт_пт_сб".split("_"),monthsParse:n,longMonthsParse:n,shortMonthsParse:n,monthsRegex:/^(январ[ья]|янв\.?|феврал[ья]|февр?\.?|марта?|мар\.?|апрел[ья]|апр\.?|ма[йя]|июн[ья]|июн\.?|июл[ья]|июл\.?|августа?|авг\.?|сентябр[ья]|сент?\.?|октябр[ья]|окт\.?|ноябр[ья]|нояб?\.?|декабр[ья]|дек\.?)/i,monthsShortRegex:/^(январ[ья]|янв\.?|феврал[ья]|февр?\.?|марта?|мар\.?|апрел[ья]|апр\.?|ма[йя]|июн[ья]|июн\.?|июл[ья]|июл\.?|августа?|авг\.?|сентябр[ья]|сент?\.?|октябр[ья]|окт\.?|ноябр[ья]|нояб?\.?|декабр[ья]|дек\.?)/i,monthsStrictRegex:/^(январ[яь]|феврал[яь]|марта?|апрел[яь]|ма[яй]|июн[яь]|июл[яь]|августа?|сентябр[яь]|октябр[яь]|ноябр[яь]|декабр[яь])/i,monthsShortStrictRegex:/^(янв\.|февр?\.|мар[т.]|апр\.|ма[яй]|июн[ья.]|июл[ья.]|авг\.|сент?\.|окт\.|нояб?\.|дек\.)/i,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY г.",LLL:"D MMMM YYYY г., HH:mm",LLLL:"dddd, D MMMM YYYY г., HH:mm"},calendar:{sameDay:"[Сегодня в] LT",nextDay:"[Завтра в] LT",lastDay:"[Вчера в] LT",nextWeek:function(e){if(e.week()===this.week())return 2===this.day()?"[Во] dddd [в] LT":"[В] dddd [в] LT";switch(this.day()){case 0:return"[В следующее] dddd [в] LT";case 1:case 2:case 4:return"[В следующий] dddd [в] LT";case 3:case 5:case 6:return"[В следующую] dddd [в] LT"}},lastWeek:function(e){if(e.week()===this.week())return 2===this.day()?"[Во] dddd [в] LT":"[В] dddd [в] LT";switch(this.day()){case 0:return"[В прошлое] dddd [в] LT";case 1:case 2:case 4:return"[В прошлый] dddd [в] LT";case 3:case 5:case 6:return"[В прошлую] dddd [в] LT"}},sameElse:"L"},relativeTime:{future:"через %s",past:"%s назад",s:"несколько секунд",m:t,mm:t,h:"час",hh:t,d:"день",dd:t,M:"месяц",MM:t,y:"год",yy:t},meridiemParse:/ночи|утра|дня|вечера/i,isPM:function(e){return/^(дня|вечера)$/.test(e)},meridiem:function(e,a,t){return e<4?"ночи":e<12?"утра":e<17?"дня":"вечера"},ordinalParse:/\d{1,2}-(й|го|я)/,ordinal:function(e,a){switch(a){case"M":case"d":case"DDD":return e+"-й";case"D":return e+"-го";case"w":case"W":return e+"-я";default:return e}},week:{dow:1,doy:7}});return r}(),e.fullCalendar.datepickerLocale("ru","ru",{closeText:"Закрыть",prevText:"&#x3C;Пред",nextText:"След&#x3E;",currentText:"Сегодня",monthNames:["Январь","Февраль","Март","Апрель","Май","Июнь","Июль","Август","Сентябрь","Октябрь","Ноябрь","Декабрь"],monthNamesShort:["Янв","Фев","Мар","Апр","Май","Июн","Июл","Авг","Сен","Окт","Ноя","Дек"],dayNames:["воскресенье","понедельник","вторник","среда","четверг","пятница","суббота"],dayNamesShort:["вск","пнд","втр","срд","чтв","птн","сбт"],dayNamesMin:["Вс","Пн","Вт","Ср","Чт","Пт","Сб"],weekHeader:"Нед",dateFormat:"dd.mm.yy",firstDay:1,isRTL:!1,showMonthAfterYear:!1,yearSuffix:""}),e.fullCalendar.locale("ru",{buttonText:{month:"Месяц",week:"Неделя",day:"День",list:"Повестка дня"},allDayText:"Весь день",eventLimitText:function(e){return"+ ещё "+e},noEventsMessage:"Нет событий для отображения"})}(),function(){!function(){function e(e){return e>1&&e<5}function t(a,t,n,r){var s=a+" ";switch(n){case"s":return t||r?"pár sekúnd":"pár sekundami";case"m":return t?"minúta":r?"minútu":"minútou";case"mm":return t||r?s+(e(a)?"minúty":"minút"):s+"minútami";case"h":return t?"hodina":r?"hodinu":"hodinou";case"hh":return t||r?s+(e(a)?"hodiny":"hodín"):s+"hodinami";case"d":return t||r?"deň":"dňom";case"dd":return t||r?s+(e(a)?"dni":"dní"):s+"dňami";case"M":return t||r?"mesiac":"mesiacom";case"MM":return t||r?s+(e(a)?"mesiace":"mesiacov"):s+"mesiacmi";case"y":return t||r?"rok":"rokom";case"yy":return t||r?s+(e(a)?"roky":"rokov"):s+"rokmi"}}var n="január_február_marec_apríl_máj_jún_júl_august_september_október_november_december".split("_"),r="jan_feb_mar_apr_máj_jún_júl_aug_sep_okt_nov_dec".split("_"),s=a.defineLocale("sk",{months:n,monthsShort:r,weekdays:"nedeľa_pondelok_utorok_streda_štvrtok_piatok_sobota".split("_"),weekdaysShort:"ne_po_ut_st_št_pi_so".split("_"),weekdaysMin:"ne_po_ut_st_št_pi_so".split("_"),longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY H:mm",LLLL:"dddd D. MMMM YYYY H:mm"},calendar:{sameDay:"[dnes o] LT",nextDay:"[zajtra o] LT",nextWeek:function(){switch(this.day()){case 0:return"[v nedeľu o] LT";case 1:case 2:return"[v] dddd [o] LT";case 3:return"[v stredu o] LT";case 4:return"[vo štvrtok o] LT";case 5:return"[v piatok o] LT";case 6:return"[v sobotu o] LT"}},lastDay:"[včera o] LT",lastWeek:function(){switch(this.day()){case 0:return"[minulú nedeľu o] LT";case 1:case 2:return"[minulý] dddd [o] LT";case 3:return"[minulú stredu o] LT";case 4:case 5:return"[minulý] dddd [o] LT";case 6:return"[minulú sobotu o] LT"}},sameElse:"L"},relativeTime:{future:"za %s",past:"pred %s",s:t,m:t,mm:t,h:t,hh:t,d:t,dd:t,M:t,MM:t,y:t,yy:t},ordinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}});return s}(),e.fullCalendar.datepickerLocale("sk","sk",{closeText:"Zavrieť",prevText:"&#x3C;Predchádzajúci",nextText:"Nasledujúci&#x3E;",currentText:"Dnes",monthNames:["január","február","marec","apríl","máj","jún","júl","august","september","október","november","december"],monthNamesShort:["Jan","Feb","Mar","Apr","Máj","Jún","Júl","Aug","Sep","Okt","Nov","Dec"],dayNames:["nedeľa","pondelok","utorok","streda","štvrtok","piatok","sobota"],dayNamesShort:["Ned","Pon","Uto","Str","Štv","Pia","Sob"],dayNamesMin:["Ne","Po","Ut","St","Št","Pia","So"],weekHeader:"Ty",dateFormat:"dd.mm.yy",firstDay:1,isRTL:!1,showMonthAfterYear:!1,yearSuffix:""}),e.fullCalendar.locale("sk",{buttonText:{month:"Mesiac",week:"Týždeň",day:"Deň",list:"Rozvrh"},allDayText:"Celý deň",eventLimitText:function(e){return"+ďalšie: "+e},noEventsMessage:"Žiadne akcie na zobrazenie"})}(),function(){!function(){function e(e,a,t,n){var r=e+" ";switch(t){case"s":return a||n?"nekaj sekund":"nekaj sekundami";case"m":return a?"ena minuta":"eno minuto";case"mm":return r+=1===e?a?"minuta":"minuto":2===e?a||n?"minuti":"minutama":e<5?a||n?"minute":"minutami":a||n?"minut":"minutami";case"h":return a?"ena ura":"eno uro";case"hh":return r+=1===e?a?"ura":"uro":2===e?a||n?"uri":"urama":e<5?a||n?"ure":"urami":a||n?"ur":"urami";case"d":return a||n?"en dan":"enim dnem";case"dd":return r+=1===e?a||n?"dan":"dnem":2===e?a||n?"dni":"dnevoma":a||n?"dni":"dnevi";case"M":return a||n?"en mesec":"enim mesecem";case"MM":return r+=1===e?a||n?"mesec":"mesecem":2===e?a||n?"meseca":"mesecema":e<5?a||n?"mesece":"meseci":a||n?"mesecev":"meseci";case"y":return a||n?"eno leto":"enim letom";case"yy":return r+=1===e?a||n?"leto":"letom":2===e?a||n?"leti":"letoma":e<5?a||n?"leta":"leti":a||n?"let":"leti"}}var t=a.defineLocale("sl",{months:"januar_februar_marec_april_maj_junij_julij_avgust_september_oktober_november_december".split("_"),monthsShort:"jan._feb._mar._apr._maj._jun._jul._avg._sep._okt._nov._dec.".split("_"),monthsParseExact:!0,weekdays:"nedelja_ponedeljek_torek_sreda_četrtek_petek_sobota".split("_"),weekdaysShort:"ned._pon._tor._sre._čet._pet._sob.".split("_"),weekdaysMin:"ne_po_to_sr_če_pe_so".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD. MM. YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY H:mm",LLLL:"dddd, D. MMMM YYYY H:mm"},calendar:{sameDay:"[danes ob] LT",nextDay:"[jutri ob] LT",nextWeek:function(){switch(this.day()){case 0:return"[v] [nedeljo] [ob] LT";case 3:return"[v] [sredo] [ob] LT";case 6:return"[v] [soboto] [ob] LT";case 1:case 2:case 4:case 5:return"[v] dddd [ob] LT"}},lastDay:"[včeraj ob] LT",lastWeek:function(){switch(this.day()){case 0:return"[prejšnjo] [nedeljo] [ob] LT";case 3:return"[prejšnjo] [sredo] [ob] LT";case 6:return"[prejšnjo] [soboto] [ob] LT";case 1:case 2:case 4:case 5:return"[prejšnji] dddd [ob] LT"}},sameElse:"L"},relativeTime:{future:"čez %s",past:"pred %s",s:e,m:e,mm:e,h:e,hh:e,d:e,dd:e,M:e,MM:e,y:e,yy:e},ordinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:7}});return t}(),e.fullCalendar.datepickerLocale("sl","sl",{closeText:"Zapri",prevText:"&#x3C;Prejšnji",nextText:"Naslednji&#x3E;",currentText:"Trenutni",monthNames:["Januar","Februar","Marec","April","Maj","Junij","Julij","Avgust","September","Oktober","November","December"],monthNamesShort:["Jan","Feb","Mar","Apr","Maj","Jun","Jul","Avg","Sep","Okt","Nov","Dec"],dayNames:["Nedelja","Ponedeljek","Torek","Sreda","Četrtek","Petek","Sobota"],dayNamesShort:["Ned","Pon","Tor","Sre","Čet","Pet","Sob"],dayNamesMin:["Ne","Po","To","Sr","Če","Pe","So"],weekHeader:"Teden",dateFormat:"dd.mm.yy",firstDay:1,isRTL:!1,showMonthAfterYear:!1,yearSuffix:""}),e.fullCalendar.locale("sl",{buttonText:{month:"Mesec",week:"Teden",day:"Dan",list:"Dnevni red"},allDayText:"Ves dan",eventLimitText:"več",noEventsMessage:"Ni dogodkov za prikaz"})}(),function(){!function(){var e={words:{m:["jedan minut","jedne minute"],mm:["minut","minute","minuta"],h:["jedan sat","jednog sata"],hh:["sat","sata","sati"],dd:["dan","dana","dana"],MM:["mesec","meseca","meseci"],yy:["godina","godine","godina"]},correctGrammaticalCase:function(e,a){return 1===e?a[0]:e>=2&&e<=4?a[1]:a[2]},translate:function(a,t,n){var r=e.words[n];return 1===n.length?t?r[0]:r[1]:a+" "+e.correctGrammaticalCase(a,r)}},t=a.defineLocale("sr",{months:"januar_februar_mart_april_maj_jun_jul_avgust_septembar_oktobar_novembar_decembar".split("_"),monthsShort:"jan._feb._mar._apr._maj_jun_jul_avg._sep._okt._nov._dec.".split("_"),monthsParseExact:!0,weekdays:"nedelja_ponedeljak_utorak_sreda_četvrtak_petak_subota".split("_"),weekdaysShort:"ned._pon._uto._sre._čet._pet._sub.".split("_"),weekdaysMin:"ne_po_ut_sr_če_pe_su".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD. MM. YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY H:mm",LLLL:"dddd, D. MMMM YYYY H:mm"},calendar:{sameDay:"[danas u] LT",nextDay:"[sutra u] LT",nextWeek:function(){switch(this.day()){case 0:return"[u] [nedelju] [u] LT";case 3:return"[u] [sredu] [u] LT";case 6:return"[u] [subotu] [u] LT";case 1:case 2:case 4:case 5:return"[u] dddd [u] LT"}},lastDay:"[juče u] LT",lastWeek:function(){var e=["[prošle] [nedelje] [u] LT","[prošlog] [ponedeljka] [u] LT","[prošlog] [utorka] [u] LT","[prošle] [srede] [u] LT","[prošlog] [četvrtka] [u] LT","[prošlog] [petka] [u] LT","[prošle] [subote] [u] LT"];return e[this.day()]},sameElse:"L"},relativeTime:{future:"za %s",past:"pre %s",s:"nekoliko sekundi",m:e.translate,mm:e.translate,h:e.translate,hh:e.translate,d:"dan",dd:e.translate,M:"mesec",MM:e.translate,y:"godinu",yy:e.translate},ordinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:7}});return t}(),e.fullCalendar.datepickerLocale("sr","sr",{closeText:"Затвори",prevText:"&#x3C;",nextText:"&#x3E;",currentText:"Данас",monthNames:["Јануар","Фебруар","Март","Април","Мај","Јун","Јул","Август","Септембар","Октобар","Новембар","Децембар"],monthNamesShort:["Јан","Феб","Мар","Апр","Мај","Јун","Јул","Авг","Сеп","Окт","Нов","Дец"],dayNames:["Недеља","Понедељак","Уторак","Среда","Четвртак","Петак","Субота"],dayNamesShort:["Нед","Пон","Уто","Сре","Чет","Пет","Суб"],dayNamesMin:["Не","По","Ут","Ср","Че","Пе","Су"],weekHeader:"Сед",dateFormat:"dd.mm.yy",firstDay:1,isRTL:!1,showMonthAfterYear:!1,yearSuffix:""}),e.fullCalendar.locale("sr",{buttonText:{month:"Месец",week:"Недеља",day:"Дан",list:"Планер"},allDayText:"Цео дан",eventLimitText:function(e){return"+ још "+e},noEventsMessage:"Нема догађаја за приказ"})}(),function(){!function(){var e={words:{m:["један минут","једне минуте"],mm:["минут","минуте","минута"],h:["један сат","једног сата"],hh:["сат","сата","сати"],dd:["дан","дана","дана"],MM:["месец","месеца","месеци"],yy:["година","године","година"]},correctGrammaticalCase:function(e,a){return 1===e?a[0]:e>=2&&e<=4?a[1]:a[2]},translate:function(a,t,n){var r=e.words[n];return 1===n.length?t?r[0]:r[1]:a+" "+e.correctGrammaticalCase(a,r)}},t=a.defineLocale("sr-cyrl",{months:"јануар_фебруар_март_април_мај_јун_јул_август_септембар_октобар_новембар_децембар".split("_"),monthsShort:"јан._феб._мар._апр._мај_јун_јул_авг._сеп._окт._нов._дец.".split("_"),monthsParseExact:!0,weekdays:"недеља_понедељак_уторак_среда_четвртак_петак_субота".split("_"),weekdaysShort:"нед._пон._уто._сре._чет._пет._суб.".split("_"),weekdaysMin:"не_по_ут_ср_че_пе_су".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD. MM. YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY H:mm",LLLL:"dddd, D. MMMM YYYY H:mm"},calendar:{sameDay:"[данас у] LT",nextDay:"[сутра у] LT",nextWeek:function(){switch(this.day()){case 0:return"[у] [недељу] [у] LT";case 3:return"[у] [среду] [у] LT";case 6:return"[у] [суботу] [у] LT";case 1:case 2:case 4:case 5:return"[у] dddd [у] LT"}},lastDay:"[јуче у] LT",lastWeek:function(){var e=["[прошле] [недеље] [у] LT","[прошлог] [понедељка] [у] LT","[прошлог] [уторка] [у] LT","[прошле] [среде] [у] LT","[прошлог] [четвртка] [у] LT","[прошлог] [петка] [у] LT","[прошле] [суботе] [у] LT"];return e[this.day()]},sameElse:"L"},relativeTime:{future:"за %s",past:"пре %s",s:"неколико секунди",m:e.translate,mm:e.translate,h:e.translate,hh:e.translate,d:"дан",dd:e.translate,M:"месец",MM:e.translate,y:"годину",yy:e.translate},ordinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:7}});return t}(),e.fullCalendar.datepickerLocale("sr-cyrl","sr",{closeText:"Затвори",prevText:"&#x3C;",nextText:"&#x3E;",currentText:"Данас",monthNames:["Јануар","Фебруар","Март","Април","Мај","Јун","Јул","Август","Септембар","Октобар","Новембар","Децембар"],monthNamesShort:["Јан","Феб","Мар","Апр","Мај","Јун","Јул","Авг","Сеп","Окт","Нов","Дец"],dayNames:["Недеља","Понедељак","Уторак","Среда","Четвртак","Петак","Субота"],dayNamesShort:["Нед","Пон","Уто","Сре","Чет","Пет","Суб"],dayNamesMin:["Не","По","Ут","Ср","Че","Пе","Су"],weekHeader:"Сед",dateFormat:"dd.mm.yy",firstDay:1,isRTL:!1,showMonthAfterYear:!1,yearSuffix:""}),e.fullCalendar.locale("sr-cyrl",{buttonText:{month:"Месец",week:"Недеља",day:"Дан",list:"Планер"},allDayText:"Цео дан",eventLimitText:function(e){return"+ још "+e},noEventsMessage:"Нема догађаја за приказ"})}(),function(){!function(){var e=a.defineLocale("sv",{months:"januari_februari_mars_april_maj_juni_juli_augusti_september_oktober_november_december".split("_"),monthsShort:"jan_feb_mar_apr_maj_jun_jul_aug_sep_okt_nov_dec".split("_"),weekdays:"söndag_måndag_tisdag_onsdag_torsdag_fredag_lördag".split("_"),weekdaysShort:"sön_mån_tis_ons_tor_fre_lör".split("_"),weekdaysMin:"sö_må_ti_on_to_fr_lö".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY-MM-DD",LL:"D MMMM YYYY",LLL:"D MMMM YYYY [kl.] HH:mm",LLLL:"dddd D MMMM YYYY [kl.] HH:mm",lll:"D MMM YYYY HH:mm",llll:"ddd D MMM YYYY HH:mm"},calendar:{sameDay:"[Idag] LT",nextDay:"[Imorgon] LT",lastDay:"[Igår] LT",nextWeek:"[På] dddd LT",lastWeek:"[I] dddd[s] LT",sameElse:"L"},relativeTime:{future:"om %s",past:"för %s sedan",s:"några sekunder",m:"en minut",mm:"%d minuter",h:"en timme",hh:"%d timmar",d:"en dag",dd:"%d dagar",M:"en månad",MM:"%d månader",y:"ett år",yy:"%d år"},ordinalParse:/\d{1,2}(e|a)/,ordinal:function(e){var a=e%10,t=1===~~(e%100/10)?"e":1===a?"a":2===a?"a":"e";return e+t},week:{dow:1,doy:4}});return e}(),e.fullCalendar.datepickerLocale("sv","sv",{closeText:"Stäng",prevText:"&#xAB;Förra",nextText:"Nästa&#xBB;",currentText:"Idag",monthNames:["Januari","Februari","Mars","April","Maj","Juni","Juli","Augusti","September","Oktober","November","December"],monthNamesShort:["Jan","Feb","Mar","Apr","Maj","Jun","Jul","Aug","Sep","Okt","Nov","Dec"],dayNamesShort:["Sön","Mån","Tis","Ons","Tor","Fre","Lör"],dayNames:["Söndag","Måndag","Tisdag","Onsdag","Torsdag","Fredag","Lördag"],dayNamesMin:["Sö","Må","Ti","On","To","Fr","Lö"],weekHeader:"Ve",dateFormat:"yy-mm-dd",firstDay:1,isRTL:!1,showMonthAfterYear:!1,yearSuffix:""}),e.fullCalendar.locale("sv",{buttonText:{month:"Månad",week:"Vecka",day:"Dag",list:"Program"},allDayText:"Heldag",eventLimitText:"till",noEventsMessage:"Inga händelser att visa"})}(),function(){!function(){var e=a.defineLocale("th",{months:"มกราคม_กุมภาพันธ์_มีนาคม_เมษายน_พฤษภาคม_มิถุนายน_กรกฎาคม_สิงหาคม_กันยายน_ตุลาคม_พฤศจิกายน_ธันวาคม".split("_"),monthsShort:"ม.ค._ก.พ._มี.ค._เม.ย._พ.ค._มิ.ย._ก.ค._ส.ค._ก.ย._ต.ค._พ.ย._ธ.ค.".split("_"),monthsParseExact:!0,weekdays:"อาทิตย์_จันทร์_อังคาร_พุธ_พฤหัสบดี_ศุกร์_เสาร์".split("_"),weekdaysShort:"อาทิตย์_จันทร์_อังคาร_พุธ_พฤหัส_ศุกร์_เสาร์".split("_"),weekdaysMin:"อา._จ._อ._พ._พฤ._ศ._ส.".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H นาฬิกา m นาที",LTS:"H นาฬิกา m นาที s วินาที",L:"YYYY/MM/DD",LL:"D MMMM YYYY",LLL:"D MMMM YYYY เวลา H นาฬิกา m นาที",LLLL:"วันddddที่ D MMMM YYYY เวลา H นาฬิกา m นาที"},meridiemParse:/ก่อนเที่ยง|หลังเที่ยง/,isPM:function(e){return"หลังเที่ยง"===e},meridiem:function(e,a,t){return e<12?"ก่อนเที่ยง":"หลังเที่ยง"},calendar:{sameDay:"[วันนี้ เวลา] LT",nextDay:"[พรุ่งนี้ เวลา] LT",nextWeek:"dddd[หน้า เวลา] LT",lastDay:"[เมื่อวานนี้ เวลา] LT",lastWeek:"[วัน]dddd[ที่แล้ว เวลา] LT",sameElse:"L"},relativeTime:{future:"อีก %s",past:"%sที่แล้ว",s:"ไม่กี่วินาที",m:"1 นาที",mm:"%d นาที",h:"1 ชั่วโมง",hh:"%d ชั่วโมง",d:"1 วัน",dd:"%d วัน",M:"1 เดือน",MM:"%d เดือน",y:"1 ปี",yy:"%d ปี"}});return e}(),e.fullCalendar.datepickerLocale("th","th",{closeText:"ปิด",prevText:"&#xAB;&#xA0;ย้อน",nextText:"ถัดไป&#xA0;&#xBB;",currentText:"วันนี้",monthNames:["มกราคม","กุมภาพันธ์","มีนาคม","เมษายน","พฤษภาคม","มิถุนายน","กรกฎาคม","สิงหาคม","กันยายน","ตุลาคม","พฤศจิกายน","ธันวาคม"],monthNamesShort:["ม.ค.","ก.พ.","มี.ค.","เม.ย.","พ.ค.","มิ.ย.","ก.ค.","ส.ค.","ก.ย.","ต.ค.","พ.ย.","ธ.ค."],dayNames:["อาทิตย์","จันทร์","อังคาร","พุธ","พฤหัสบดี","ศุกร์","เสาร์"],dayNamesShort:["อา.","จ.","อ.","พ.","พฤ.","ศ.","ส."],dayNamesMin:["อา.","จ.","อ.","พ.","พฤ.","ศ.","ส."],weekHeader:"Wk",dateFormat:"dd/mm/yy",firstDay:0,isRTL:!1,showMonthAfterYear:!1,yearSuffix:""}),e.fullCalendar.locale("th",{buttonText:{month:"เดือน",week:"สัปดาห์",day:"วัน",list:"แผนงาน"},allDayText:"ตลอดวัน",eventLimitText:"เพิ่มเติม",noEventsMessage:"ไม่มีกิจกรรมที่จะแสดง"})}(),function(){!function(){var e={1:"'inci",5:"'inci",8:"'inci",70:"'inci",80:"'inci",2:"'nci",7:"'nci",20:"'nci",50:"'nci",3:"'üncü",4:"'üncü",100:"'üncü",6:"'ncı",9:"'uncu",10:"'uncu",30:"'uncu",60:"'ıncı",90:"'ıncı"},t=a.defineLocale("tr",{months:"Ocak_Şubat_Mart_Nisan_Mayıs_Haziran_Temmuz_Ağustos_Eylül_Ekim_Kasım_Aralık".split("_"),monthsShort:"Oca_Şub_Mar_Nis_May_Haz_Tem_Ağu_Eyl_Eki_Kas_Ara".split("_"),weekdays:"Pazar_Pazartesi_Salı_Çarşamba_Perşembe_Cuma_Cumartesi".split("_"),weekdaysShort:"Paz_Pts_Sal_Çar_Per_Cum_Cts".split("_"),weekdaysMin:"Pz_Pt_Sa_Ça_Pe_Cu_Ct".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[bugün saat] LT",nextDay:"[yarın saat] LT",nextWeek:"[haftaya] dddd [saat] LT",lastDay:"[dün] LT",lastWeek:"[geçen hafta] dddd [saat] LT",sameElse:"L"},relativeTime:{future:"%s sonra",past:"%s önce",s:"birkaç saniye",m:"bir dakika",mm:"%d dakika",h:"bir saat",hh:"%d saat",d:"bir gün",dd:"%d gün",M:"bir ay",MM:"%d ay",y:"bir yıl",yy:"%d yıl"},ordinalParse:/\d{1,2}'(inci|nci|üncü|ncı|uncu|ıncı)/,ordinal:function(a){if(0===a)return a+"'ıncı";var t=a%10,n=a%100-t,r=a>=100?100:null;return a+(e[t]||e[n]||e[r])},week:{dow:1,doy:7}});return t}(),e.fullCalendar.datepickerLocale("tr","tr",{closeText:"kapat",prevText:"&#x3C;geri",nextText:"ileri&#x3e",currentText:"bugün",monthNames:["Ocak","Şubat","Mart","Nisan","Mayıs","Haziran","Temmuz","Ağustos","Eylül","Ekim","Kasım","Aralık"],monthNamesShort:["Oca","Şub","Mar","Nis","May","Haz","Tem","Ağu","Eyl","Eki","Kas","Ara"],dayNames:["Pazar","Pazartesi","Salı","Çarşamba","Perşembe","Cuma","Cumartesi"],dayNamesShort:["Pz","Pt","Sa","Ça","Pe","Cu","Ct"],dayNamesMin:["Pz","Pt","Sa","Ça","Pe","Cu","Ct"],weekHeader:"Hf",dateFormat:"dd.mm.yy",firstDay:1,isRTL:!1,showMonthAfterYear:!1,yearSuffix:""}),e.fullCalendar.locale("tr",{buttonText:{next:"ileri",month:"Ay",week:"Hafta",day:"Gün",list:"Ajanda"},allDayText:"Tüm gün",eventLimitText:"daha fazla",noEventsMessage:"Herhangi bir etkinlik görüntülemek için"})}(),function(){!function(){function e(e,a){var t=e.split("_");return a%10===1&&a%100!==11?t[0]:a%10>=2&&a%10<=4&&(a%100<10||a%100>=20)?t[1]:t[2]}function t(a,t,n){var r={mm:t?"хвилина_хвилини_хвилин":"хвилину_хвилини_хвилин",hh:t?"година_години_годин":"годину_години_годин",dd:"день_дні_днів",MM:"місяць_місяці_місяців",yy:"рік_роки_років"};return"m"===n?t?"хвилина":"хвилину":"h"===n?t?"година":"годину":a+" "+e(r[n],+a)}function n(e,a){var t={nominative:"неділя_понеділок_вівторок_середа_четвер_п’ятниця_субота".split("_"),accusative:"неділю_понеділок_вівторок_середу_четвер_п’ятницю_суботу".split("_"),genitive:"неділі_понеділка_вівторка_середи_четверга_п’ятниці_суботи".split("_")},n=/(\[[ВвУу]\]) ?dddd/.test(a)?"accusative":/\[?(?:минулої|наступної)? ?\] ?dddd/.test(a)?"genitive":"nominative";return t[n][e.day()]}function r(e){return function(){return e+"о"+(11===this.hours()?"б":"")+"] LT"}}var s=a.defineLocale("uk",{months:{format:"січня_лютого_березня_квітня_травня_червня_липня_серпня_вересня_жовтня_листопада_грудня".split("_"),standalone:"січень_лютий_березень_квітень_травень_червень_липень_серпень_вересень_жовтень_листопад_грудень".split("_")},monthsShort:"січ_лют_бер_квіт_трав_черв_лип_серп_вер_жовт_лист_груд".split("_"),weekdays:n,weekdaysShort:"нд_пн_вт_ср_чт_пт_сб".split("_"),weekdaysMin:"нд_пн_вт_ср_чт_пт_сб".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY р.",LLL:"D MMMM YYYY р., HH:mm",LLLL:"dddd, D MMMM YYYY р., HH:mm"},calendar:{sameDay:r("[Сьогодні "),nextDay:r("[Завтра "),lastDay:r("[Вчора "),nextWeek:r("[У] dddd ["),lastWeek:function(){switch(this.day()){case 0:case 3:case 5:case 6:return r("[Минулої] dddd [").call(this);case 1:case 2:case 4:return r("[Минулого] dddd [").call(this)}},sameElse:"L"},relativeTime:{future:"за %s",past:"%s тому",s:"декілька секунд",m:t,mm:t,h:"годину",hh:t,d:"день",dd:t,M:"місяць",MM:t,y:"рік",yy:t},meridiemParse:/ночі|ранку|дня|вечора/,isPM:function(e){return/^(дня|вечора)$/.test(e)},meridiem:function(e,a,t){return e<4?"ночі":e<12?"ранку":e<17?"дня":"вечора"},ordinalParse:/\d{1,2}-(й|го)/,ordinal:function(e,a){switch(a){case"M":case"d":case"DDD":case"w":case"W":return e+"-й";case"D":return e+"-го";default:return e}},week:{dow:1,doy:7}});return s}(),e.fullCalendar.datepickerLocale("uk","uk",{closeText:"Закрити",prevText:"&#x3C;",nextText:"&#x3E;",currentText:"Сьогодні",monthNames:["Січень","Лютий","Березень","Квітень","Травень","Червень","Липень","Серпень","Вересень","Жовтень","Листопад","Грудень"],monthNamesShort:["Січ","Лют","Бер","Кві","Тра","Чер","Лип","Сер","Вер","Жов","Лис","Гру"],dayNames:["неділя","понеділок","вівторок","середа","четвер","п’ятниця","субота"],dayNamesShort:["нед","пнд","вів","срд","чтв","птн","сбт"],dayNamesMin:["Нд","Пн","Вт","Ср","Чт","Пт","Сб"],weekHeader:"Тиж",dateFormat:"dd.mm.yy",firstDay:1,isRTL:!1,showMonthAfterYear:!1,yearSuffix:""}),e.fullCalendar.locale("uk",{buttonText:{month:"Місяць",week:"Тиждень",day:"День",list:"Порядок денний"},allDayText:"Увесь день",eventLimitText:function(e){return"+ще "+e+"..."},noEventsMessage:"Немає подій для відображення"})}(),function(){!function(){var e=a.defineLocale("vi",{months:"tháng 1_tháng 2_tháng 3_tháng 4_tháng 5_tháng 6_tháng 7_tháng 8_tháng 9_tháng 10_tháng 11_tháng 12".split("_"),monthsShort:"Th01_Th02_Th03_Th04_Th05_Th06_Th07_Th08_Th09_Th10_Th11_Th12".split("_"),monthsParseExact:!0,weekdays:"chủ nhật_thứ hai_thứ ba_thứ tư_thứ năm_thứ sáu_thứ bảy".split("_"),weekdaysShort:"CN_T2_T3_T4_T5_T6_T7".split("_"),weekdaysMin:"CN_T2_T3_T4_T5_T6_T7".split("_"),weekdaysParseExact:!0,meridiemParse:/sa|ch/i,isPM:function(e){return/^ch$/i.test(e)},meridiem:function(e,a,t){return e<12?t?"sa":"SA":t?"ch":"CH"},longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM [năm] YYYY",LLL:"D MMMM [năm] YYYY HH:mm",LLLL:"dddd, D MMMM [năm] YYYY HH:mm",l:"DD/M/YYYY",ll:"D MMM YYYY",lll:"D MMM YYYY HH:mm",llll:"ddd, D MMM YYYY HH:mm"},calendar:{sameDay:"[Hôm nay lúc] LT",nextDay:"[Ngày mai lúc] LT",nextWeek:"dddd [tuần tới lúc] LT",lastDay:"[Hôm qua lúc] LT",lastWeek:"dddd [tuần rồi lúc] LT",sameElse:"L"},relativeTime:{future:"%s tới",past:"%s trước",s:"vài giây",m:"một phút",mm:"%d phút",h:"một giờ",hh:"%d giờ",d:"một ngày",dd:"%d ngày",M:"một tháng",MM:"%d tháng",y:"một năm",yy:"%d năm"},ordinalParse:/\d{1,2}/,ordinal:function(e){return e},week:{dow:1,doy:4}});return e}(),e.fullCalendar.datepickerLocale("vi","vi",{closeText:"Đóng",prevText:"&#x3C;Trước",nextText:"Tiếp&#x3E;",currentText:"Hôm nay",monthNames:["Tháng Một","Tháng Hai","Tháng Ba","Tháng Tư","Tháng Năm","Tháng Sáu","Tháng Bảy","Tháng Tám","Tháng Chín","Tháng Mười","Tháng Mười Một","Tháng Mười Hai"],monthNamesShort:["Tháng 1","Tháng 2","Tháng 3","Tháng 4","Tháng 5","Tháng 6","Tháng 7","Tháng 8","Tháng 9","Tháng 10","Tháng 11","Tháng 12"],dayNames:["Chủ Nhật","Thứ Hai","Thứ Ba","Thứ Tư","Thứ Năm","Thứ Sáu","Thứ Bảy"],dayNamesShort:["CN","T2","T3","T4","T5","T6","T7"],dayNamesMin:["CN","T2","T3","T4","T5","T6","T7"],weekHeader:"Tu",dateFormat:"dd/mm/yy",firstDay:0,isRTL:!1,showMonthAfterYear:!1,yearSuffix:""}),e.fullCalendar.locale("vi",{buttonText:{month:"Tháng",week:"Tuần",day:"Ngày",list:"Lịch biểu"},allDayText:"Cả ngày",eventLimitText:function(e){return"+ thêm "+e},noEventsMessage:"Không có sự kiện để hiển thị"})}(),function(){!function(){var e=a.defineLocale("zh-cn",{months:"一月_二月_三月_四月_五月_六月_七月_八月_九月_十月_十一月_十二月".split("_"),monthsShort:"1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月".split("_"),weekdays:"星期日_星期一_星期二_星期三_星期四_星期五_星期六".split("_"),weekdaysShort:"周日_周一_周二_周三_周四_周五_周六".split("_"),weekdaysMin:"日_一_二_三_四_五_六".split("_"),longDateFormat:{LT:"Ah点mm分",LTS:"Ah点m分s秒",L:"YYYY-MM-DD",LL:"YYYY年MMMD日",LLL:"YYYY年MMMD日Ah点mm分",LLLL:"YYYY年MMMD日ddddAh点mm分",l:"YYYY-MM-DD",ll:"YYYY年MMMD日",lll:"YYYY年MMMD日Ah点mm分",llll:"YYYY年MMMD日ddddAh点mm分"},meridiemParse:/凌晨|早上|上午|中午|下午|晚上/,meridiemHour:function(e,a){return 12===e&&(e=0),"凌晨"===a||"早上"===a||"上午"===a?e:"下午"===a||"晚上"===a?e+12:e>=11?e:e+12},meridiem:function(e,a,t){var n=100*e+a;return n<600?"凌晨":n<900?"早上":n<1130?"上午":n<1230?"中午":n<1800?"下午":"晚上"},calendar:{sameDay:function(){return 0===this.minutes()?"[今天]Ah[点整]":"[今天]LT"},nextDay:function(){return 0===this.minutes()?"[明天]Ah[点整]":"[明天]LT"},lastDay:function(){return 0===this.minutes()?"[昨天]Ah[点整]":"[昨天]LT"},nextWeek:function(){var e,t;return e=a().startOf("week"),t=this.diff(e,"days")>=7?"[下]":"[本]",0===this.minutes()?t+"dddAh点整":t+"dddAh点mm"},lastWeek:function(){var e,t;return e=a().startOf("week"),t=this.unix()<e.unix()?"[上]":"[本]",0===this.minutes()?t+"dddAh点整":t+"dddAh点mm"},sameElse:"LL"},ordinalParse:/\d{1,2}(日|月|周)/,ordinal:function(e,a){switch(a){case"d":case"D":case"DDD":return e+"日";case"M":return e+"月";case"w":case"W":return e+"周";default:return e}},relativeTime:{future:"%s内",past:"%s前",s:"几秒",m:"1 分钟",mm:"%d 分钟",h:"1 小时",hh:"%d 小时",d:"1 天",dd:"%d 天",M:"1 个月",MM:"%d 个月",y:"1 年",yy:"%d 年"},week:{dow:1,doy:4}});return e}(),e.fullCalendar.datepickerLocale("zh-cn","zh-CN",{closeText:"关闭",prevText:"&#x3C;上月",nextText:"下月&#x3E;",currentText:"今天",monthNames:["一月","二月","三月","四月","五月","六月","七月","八月","九月","十月","十一月","十二月"],monthNamesShort:["一月","二月","三月","四月","五月","六月","七月","八月","九月","十月","十一月","十二月"],dayNames:["星期日","星期一","星期二","星期三","星期四","星期五","星期六"],dayNamesShort:["周日","周一","周二","周三","周四","周五","周六"],dayNamesMin:["日","一","二","三","四","五","六"],weekHeader:"周",dateFormat:"yy-mm-dd",firstDay:1,isRTL:!1,showMonthAfterYear:!0,yearSuffix:"年"}),e.fullCalendar.locale("zh-cn",{buttonText:{month:"月",week:"周",day:"日",list:"日程"},allDayText:"全天",eventLimitText:function(e){return"另外 "+e+" 个"},noEventsMessage:"没有事件显示"})}(),function(){!function(){var e=a.defineLocale("zh-tw",{months:"一月_二月_三月_四月_五月_六月_七月_八月_九月_十月_十一月_十二月".split("_"),monthsShort:"1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月".split("_"),weekdays:"星期日_星期一_星期二_星期三_星期四_星期五_星期六".split("_"),weekdaysShort:"週日_週一_週二_週三_週四_週五_週六".split("_"),weekdaysMin:"日_一_二_三_四_五_六".split("_"),longDateFormat:{LT:"Ah點mm分",LTS:"Ah點m分s秒",L:"YYYY年MMMD日",LL:"YYYY年MMMD日",LLL:"YYYY年MMMD日Ah點mm分",LLLL:"YYYY年MMMD日ddddAh點mm分",l:"YYYY年MMMD日",ll:"YYYY年MMMD日",lll:"YYYY年MMMD日Ah點mm分",llll:"YYYY年MMMD日ddddAh點mm分"},meridiemParse:/凌晨|早上|上午|中午|下午|晚上/,meridiemHour:function(e,a){return 12===e&&(e=0),"凌晨"===a||"早上"===a||"上午"===a?e:"中午"===a?e>=11?e:e+12:"下午"===a||"晚上"===a?e+12:void 0},meridiem:function(e,a,t){var n=100*e+a;return n<600?"凌晨":n<900?"早上":n<1130?"上午":n<1230?"中午":n<1800?"下午":"晚上"},calendar:{sameDay:"[今天]LT",nextDay:"[明天]LT",nextWeek:"[下]ddddLT",lastDay:"[昨天]LT",lastWeek:"[上]ddddLT",sameElse:"L"},ordinalParse:/\d{1,2}(日|月|週)/,ordinal:function(e,a){switch(a){case"d":case"D":case"DDD":return e+"日";case"M":return e+"月";case"w":case"W":return e+"週";
+default:return e}},relativeTime:{future:"%s內",past:"%s前",s:"幾秒",m:"1 分鐘",mm:"%d 分鐘",h:"1 小時",hh:"%d 小時",d:"1 天",dd:"%d 天",M:"1 個月",MM:"%d 個月",y:"1 年",yy:"%d 年"}});return e}(),e.fullCalendar.datepickerLocale("zh-tw","zh-TW",{closeText:"關閉",prevText:"&#x3C;上月",nextText:"下月&#x3E;",currentText:"今天",monthNames:["一月","二月","三月","四月","五月","六月","七月","八月","九月","十月","十一月","十二月"],monthNamesShort:["一月","二月","三月","四月","五月","六月","七月","八月","九月","十月","十一月","十二月"],dayNames:["星期日","星期一","星期二","星期三","星期四","星期五","星期六"],dayNamesShort:["周日","周一","周二","周三","周四","周五","周六"],dayNamesMin:["日","一","二","三","四","五","六"],weekHeader:"周",dateFormat:"yy/mm/dd",firstDay:1,isRTL:!1,showMonthAfterYear:!0,yearSuffix:"年"}),e.fullCalendar.locale("zh-tw",{buttonText:{month:"月",week:"週",day:"天",list:"待辦事項"},allDayText:"全天",eventLimitText:"更多",noEventsMessage:"没有事件显示"})}(),a.locale("en"),e.fullCalendar.locale("en"),e.datepicker&&e.datepicker.setDefaults(e.datepicker.regional[""])}); \ No newline at end of file
diff --git a/library/justifiedGallery/jquery.justifiedGallery.js b/library/justifiedGallery/jquery.justifiedGallery.js
index d3259fe44..82445b403 100644
--- a/library/justifiedGallery/jquery.justifiedGallery.js
+++ b/library/justifiedGallery/jquery.justifiedGallery.js
@@ -1,11 +1,14 @@
/*!
- * Justified Gallery - v3.6.1
+ * Justified Gallery - v3.6.3
* http://miromannino.github.io/Justified-Gallery/
- * Copyright (c) 2015 Miro Mannino
+ * Copyright (c) 2016 Miro Mannino
* Licensed under the MIT license.
*/
(function($) {
+ function hasScrollBar() {
+ return $("body").height() > $(window).height();
+ }
/**
* Justified Gallery controller constructor
*
@@ -26,6 +29,7 @@
height : 0,
aspectRatio : 0
};
+ this.lastFetchedEntry = null;
this.lastAnalyzedIndex = -1;
this.yield = {
every : 2, // do a flush every n flushes (must be greater than 1)
@@ -35,6 +39,7 @@
this.maxRowHeight = this.retrieveMaxRowHeight();
this.suffixRanges = this.retrieveSuffixRanges();
this.offY = this.border;
+ this.rows = 0;
this.spinner = {
phase : 0,
timeSlot : 150,
@@ -97,11 +102,11 @@
*
* @returns {String} the suffix to use
*/
- JustifiedGallery.prototype.newSrc = function (imageSrc, imgWidth, imgHeight) {
+ JustifiedGallery.prototype.newSrc = function (imageSrc, imgWidth, imgHeight, image) {
var newImageSrc;
-
+
if (this.settings.thumbnailPath) {
- newImageSrc = this.settings.thumbnailPath(imageSrc, imgWidth, imgHeight);
+ newImageSrc = this.settings.thumbnailPath(imageSrc, imgWidth, imgHeight, image);
} else {
var matchRes = imageSrc.match(this.settings.extension);
var ext = (matchRes !== null) ? matchRes[0] : '';
@@ -125,6 +130,7 @@
if (callback) callback();
} else {
$entry.stop().fadeTo(this.settings.imagesAnimationDuration, 1.0, callback);
+ $entry.find('> img, > a > img').stop().fadeTo(this.settings.imagesAnimationDuration, 1.0, callback);
}
};
@@ -179,7 +185,7 @@
// Image reloading for an high quality of thumbnails
var imageSrc = $image.attr('src');
- var newImageSrc = this.newSrc(imageSrc, imgWidth, imgHeight);
+ var newImageSrc = this.newSrc(imageSrc, imgWidth, imgHeight, $image[0]);
$image.one('error', function () {
$image.attr('src', $image.data('jg.originalSrc')); //revert to the original thumbnail, we got it.
@@ -325,6 +331,7 @@
var availableWidth = this.galleryWidth - 2 * this.border - (
(this.buildingRow.entriesBuff.length - 1) * this.settings.margins);
var rowHeight = availableWidth / this.buildingRow.aspectRatio;
+ var defaultRowHeight = this.settings.rowHeight;
var justifiable = this.buildingRow.width / availableWidth > this.settings.justifyThreshold;
//Skip the last row if we can't justify it and the lastRow == 'hide'
@@ -333,14 +340,23 @@
$entry = this.buildingRow.entriesBuff[i];
if (this.settings.cssAnimation)
$entry.removeClass('entry-visible');
- else
- $entry.stop().fadeTo(0, 0);
+ else {
+ $entry.stop().fadeTo(0, 0.1);
+ $entry.find('> img, > a > img').fadeTo(0, 0);
+ }
}
return -1;
}
// With lastRow = nojustify, justify if is justificable (the images will not become too big)
- if (isLastRow && !justifiable && this.settings.lastRow !== 'justify' && this.settings.lastRow !== 'hide') justify = false;
+ if (isLastRow && !justifiable && this.settings.lastRow !== 'justify' && this.settings.lastRow !== 'hide') {
+ justify = false;
+
+ if (this.rows > 0) {
+ defaultRowHeight = (this.offY - this.border - this.settings.margins * this.rows) / this.rows;
+ justify = defaultRowHeight * this.buildingRow.aspectRatio / availableWidth > this.settings.justifyThreshold;
+ }
+ }
for (i = 0; i < this.buildingRow.entriesBuff.length; i++) {
$entry = this.buildingRow.entriesBuff[i];
@@ -349,19 +365,9 @@
if (justify) {
newImgW = (i === this.buildingRow.entriesBuff.length - 1) ? availableWidth : rowHeight * imgAspectRatio;
newImgH = rowHeight;
-
- /* With fixedHeight the newImgH must be greater than rowHeight.
- In some cases here this is not satisfied (due to the justification).
- But we comment it, because is better to have a shorter but justified row instead
- to have a cropped image at the end. */
- /*if (this.settings.fixedHeight && newImgH < this.settings.rowHeight) {
- newImgW = this.settings.rowHeight * imgAspectRatio;
- newImgH = this.settings.rowHeight;
- }*/
-
} else {
- newImgW = this.settings.rowHeight * imgAspectRatio;
- newImgH = this.settings.rowHeight;
+ newImgW = defaultRowHeight * imgAspectRatio;
+ newImgH = defaultRowHeight;
}
availableWidth -= Math.round(newImgW);
@@ -370,9 +376,6 @@
if (i === 0 || minHeight > newImgH) minHeight = newImgH;
}
- if (this.settings.fixedHeight && minHeight > this.settings.rowHeight)
- minHeight = this.settings.rowHeight;
-
this.buildingRow.height = minHeight;
return justify;
};
@@ -396,17 +399,15 @@
var $entry, buildingRowRes, offX = this.border, i;
buildingRowRes = this.prepareBuildingRow(isLastRow);
- if (isLastRow && settings.lastRow === 'hide' && this.buildingRow.height === -1) {
+ if (isLastRow && settings.lastRow === 'hide' && buildingRowRes === -1) {
this.clearBuildingRow();
return;
}
- if (this.maxRowHeight.isPercentage) {
- if (this.maxRowHeight.value * settings.rowHeight < this.buildingRow.height) {
+ if (this.maxRowHeight) {
+ if (this.maxRowHeight.isPercentage && this.maxRowHeight.value * settings.rowHeight < this.buildingRow.height) {
this.buildingRow.height = this.maxRowHeight.value * settings.rowHeight;
- }
- } else {
- if (this.maxRowHeight.value > 0 && this.maxRowHeight.value < this.buildingRow.height) {
+ } else if (this.maxRowHeight.value >= settings.rowHeight && this.maxRowHeight.value < this.buildingRow.height) {
this.buildingRow.height = this.maxRowHeight.value;
}
}
@@ -426,7 +427,6 @@
offX += availableWidth;
}
-
for (i = 0; i < this.buildingRow.entriesBuff.length; i++) {
$entry = this.buildingRow.entriesBuff[i];
this.displayEntry($entry, offX, this.offY, $entry.data('jg.jwidth'), $entry.data('jg.jheight'), this.buildingRow.height);
@@ -434,12 +434,13 @@
}
//Gallery Height
- this.$gallery.height(this.offY + this.buildingRow.height +
- this.border + (this.isSpinnerActive() ? this.getSpinnerHeight() : 0));
+ this.galleryHeightToSet = this.offY + this.buildingRow.height + this.border;
+ this.$gallery.height(this.galleryHeightToSet + this.getSpinnerHeight());
if (!isLastRow || (this.buildingRow.height <= settings.rowHeight && buildingRowRes)) {
//Ready for a new row
this.offY += this.buildingRow.height + settings.margins;
+ this.rows += 1;
this.clearBuildingRow();
this.$gallery.trigger('jg.rowflush');
}
@@ -448,15 +449,21 @@
/**
* Checks the width of the gallery container, to know if a new justification is needed
*/
+ var scrollBarOn = false;
JustifiedGallery.prototype.checkWidth = function () {
this.checkWidthIntervalId = setInterval($.proxy(function () {
var galleryWidth = parseFloat(this.$gallery.width());
- if (Math.abs(galleryWidth - this.galleryWidth) > this.settings.refreshSensitivity) {
- this.galleryWidth = galleryWidth;
- this.rewind();
+ if (hasScrollBar() === scrollBarOn) {
+ if (Math.abs(galleryWidth - this.galleryWidth) > this.settings.refreshSensitivity) {
+ this.galleryWidth = galleryWidth;
+ this.rewind();
- // Restart to analyze
- this.startImgAnalyzer(true);
+ // Restart to analyze
+ this.startImgAnalyzer(true);
+ }
+ } else {
+ scrollBarOn = hasScrollBar();
+ this.galleryWidth = galleryWidth;
}
}, this), this.settings.refreshTime);
};
@@ -508,8 +515,10 @@
* Rewind the image analysis to start from the first entry.
*/
JustifiedGallery.prototype.rewind = function () {
+ this.lastFetchedEntry = null;
this.lastAnalyzedIndex = -1;
this.offY = this.border;
+ this.rows = 0;
this.clearBuildingRow();
};
@@ -520,23 +529,35 @@
* @returns {boolean} true if some entries has been founded
*/
JustifiedGallery.prototype.updateEntries = function (norewind) {
- this.entries = this.$gallery.find(this.settings.selector).toArray();
- if (this.entries.length === 0) return false;
+ var newEntries;
- // Filter
- if (this.settings.filter) {
- this.modifyEntries(this.filterArray, norewind);
+ if (norewind && this.lastFetchedEntry != null) {
+ newEntries = $(this.lastFetchedEntry).nextAll(this.settings.selector).toArray();
} else {
- this.modifyEntries(this.resetFilters, norewind);
+ this.entries = [];
+ newEntries = this.$gallery.children(this.settings.selector).toArray();
}
- // Sort or randomize
- if ($.isFunction(this.settings.sort)) {
- this.modifyEntries(this.sortArray, norewind);
- } else if (this.settings.randomize) {
- this.modifyEntries(this.shuffleArray, norewind);
+ if (newEntries.length > 0) {
+
+ // Sort or randomize
+ if ($.isFunction(this.settings.sort)) {
+ newEntries = this.sortArray(newEntries);
+ } else if (this.settings.randomize) {
+ newEntries = this.shuffleArray(newEntries);
+ }
+ this.lastFetchedEntry = newEntries[newEntries.length - 1];
+
+ // Filter
+ if (this.settings.filter) {
+ newEntries = this.filterArray(newEntries);
+ } else {
+ this.resetFilters(newEntries);
+ }
+
}
+ this.entries = this.entries.concat(newEntries);
return true;
};
@@ -589,7 +610,6 @@
*/
JustifiedGallery.prototype.resetFilters = function (a) {
for (var i = 0; i < a.length; i++) $(a[i]).removeClass('jg-filtered');
- return a;
};
/**
@@ -608,31 +628,25 @@
$el.removeClass('jg-filtered');
return true;
} else {
- $el.addClass('jg-filtered');
+ $el.addClass('jg-filtered').removeClass('jg-visible');
return false;
}
});
} else if ($.isFunction(settings.filter)) {
// Filter using the passed function
- return a.filter(settings.filter);
+ var filteredArr = a.filter(settings.filter);
+ for (var i = 0; i < a.length; i++) {
+ if (filteredArr.indexOf(a[i]) == -1) {
+ $(a[i]).addClass('jg-filtered').removeClass('jg-visible');
+ } else {
+ $(a[i]).removeClass('jg-filtered');
+ }
+ }
+ return filteredArr;
}
};
/**
- * Modify the entries. With norewind only the new inserted images will be modified (the ones after lastAnalyzedIndex)
- *
- * @param functionToApply the function to call to modify the entries (e.g. sorting, randomization, filtering)
- * @param norewind specify if the norewind has been called or not
- */
- JustifiedGallery.prototype.modifyEntries = function (functionToApply, norewind) {
- var lastEntries = norewind ?
- this.entries.splice(this.lastAnalyzedIndex + 1, this.entries.length - this.lastAnalyzedIndex - 1)
- : this.entries;
- lastEntries = functionToApply.call(this, lastEntries);
- this.entries = norewind ? this.entries.concat(lastEntries) : lastEntries;
- };
-
- /**
* Destroy the Justified Gallery instance.
*
* It clears all the css properties added in the style attributes. We doesn't backup the original
@@ -727,6 +741,7 @@
//On complete callback
this.$gallery.trigger(isForResize ? 'jg.resize' : 'jg.complete');
+ this.$gallery.height(this.galleryHeightToSet);
};
/**
@@ -915,6 +930,10 @@
} else if ($.type(this.settings.maxRowHeight) === 'number') {
newMaxRowHeight.value = this.settings.maxRowHeight;
newMaxRowHeight.isPercentage = false;
+ } else if (this.settings.maxRowHeight === false ||
+ this.settings.maxRowHeight === null ||
+ typeof this.settings.maxRowHeight == 'undefined') {
+ return null;
} else {
throw 'maxRowHeight must be a number or a percentage';
}
@@ -925,14 +944,9 @@
// check values
if (newMaxRowHeight.isPercentage) {
if (newMaxRowHeight.value < 100) newMaxRowHeight.value = 100;
- } else {
- if (newMaxRowHeight.value > 0 && newMaxRowHeight.value < this.settings.rowHeight) {
- newMaxRowHeight.value = this.settings.rowHeight;
- }
}
return newMaxRowHeight;
-
};
/**
@@ -945,12 +959,16 @@
this.checkOrConvertNumber(this.settings, 'margins');
this.checkOrConvertNumber(this.settings, 'border');
- if (this.settings.lastRow !== 'justify' &&
- this.settings.lastRow !== 'nojustify' && this.settings.lastRow !== 'left' &&
- this.settings.lastRow !== 'center' &&
- this.settings.lastRow !== 'right' &&
- this.settings.lastRow !== 'hide') {
- throw 'lastRow must be "justify", "nojustify", "left", "center", "right" or "hide"';
+ var lastRowModes = [
+ 'justify',
+ 'nojustify',
+ 'left',
+ 'center',
+ 'right',
+ 'hide'
+ ];
+ if (lastRowModes.indexOf(this.settings.lastRow) === -1) {
+ throw 'lastRow must be one of: ' + lastRowModes.join(', ');
}
this.checkOrConvertNumber(this.settings, 'justifyThreshold');
@@ -976,7 +994,6 @@
throw 'captionSettings.nonVisibleOpacity must be in the interval [0, 1]';
}
- if ($.type(this.settings.fixedHeight) !== 'boolean') throw 'fixedHeight must be a boolean';
this.checkOrConvertNumber(this.settings, 'imagesAnimationDuration');
this.checkOrConvertNumber(this.settings, 'refreshTime');
this.checkOrConvertNumber(this.settings, 'refreshSensitivity');
@@ -1051,7 +1068,7 @@
$gallery.data('jg.controller', controller);
} else if (arg === 'norewind') {
// In this case we don't rewind: we analyze only the latest images (e.g. to complete the last unfinished row
- // ... left to be more readable
+ // ... left to be more readable
} else if (arg === 'destroy') {
controller.destroy();
return;
@@ -1083,23 +1100,22 @@
}
*/
thumbnailPath: undefined, /* If defined, sizeRangeSuffixes is not used, and this function is used to determine the
- path relative to a specific thumbnail size. The function should accept respectively three arguments:
+ path relative to a specific thumbnail size. The function should accept respectively three arguments:
current path, width and height */
rowHeight: 120,
- maxRowHeight: -1, // negative value = no limits, number to express the value in pixels,
- // '[0-9]+%' to express in percentage (e.g. 300% means that the row height
- // can't exceed 3 * rowHeight)
+ maxRowHeight: false, // false or negative value to deactivate. Positive number to express the value in pixels,
+ // A string '[0-9]+%' to express in percentage (e.g. 300% means that the row height
+ // can't exceed 3 * rowHeight)
margins: 1,
border: -1, // negative value = same as margins, 0 = disabled, any other value to set the border
lastRow: 'nojustify', // … which is the same as 'left', or can be 'justify', 'center', 'right' or 'hide'
-
- justifyThreshold: 0.75, /* if row width / available space > 0.75 it will be always justified
+
+ justifyThreshold: 0.90, /* if row width / available space > 0.90 it will be always justified
* (i.e. lastRow setting is not considered) */
- fixedHeight: false,
waitThumbnailsLoad: true,
captions: true,
- cssAnimation: false,
+ cssAnimation: true,
imagesAnimationDuration: 500, // ignored with css animations
captionSettings: { // ignored with css animations
animationDuration: 500,
@@ -1117,13 +1133,13 @@
- function: to sort them using the function as comparator (see Array.prototype.sort())
*/
filter: false, /*
- - false: for a disabled filter
+ - false, null or undefined: for a disabled filter
- a string: an entry is kept if entry.is(filter string) returns true
see jQuery's .is() function for further information
- a function: invoked with arguments (entry, index, array). Return true to keep the entry, false otherwise.
- see Array.prototype.filter for further information.
+ It follows the specifications of the Array.prototype.filter() function of JavaScript.
*/
- selector: '> a, > div:not(.spinner)' // The selector that is used to know what are the entries of the gallery
+ selector: 'a, div:not(.spinner)' // The selector that is used to know what are the entries of the gallery
};
}(jQuery));
diff --git a/library/justifiedGallery/jquery.justifiedGallery.min.js b/library/justifiedGallery/jquery.justifiedGallery.min.js
index 030636ccc..91ebcd259 100644
--- a/library/justifiedGallery/jquery.justifiedGallery.min.js
+++ b/library/justifiedGallery/jquery.justifiedGallery.min.js
@@ -1,7 +1,7 @@
/*!
- * Justified Gallery - v3.6.1
+ * Justified Gallery - v3.6.3
* http://miromannino.github.io/Justified-Gallery/
- * Copyright (c) 2015 Miro Mannino
+ * Copyright (c) 2016 Miro Mannino
* Licensed under the MIT license.
*/
-!function(a){var b=function(b,c){this.settings=c,this.checkSettings(),this.imgAnalyzerTimeout=null,this.entries=null,this.buildingRow={entriesBuff:[],width:0,height:0,aspectRatio:0},this.lastAnalyzedIndex=-1,this.yield={every:2,flushed:0},this.border=c.border>=0?c.border:c.margins,this.maxRowHeight=this.retrieveMaxRowHeight(),this.suffixRanges=this.retrieveSuffixRanges(),this.offY=this.border,this.spinner={phase:0,timeSlot:150,$el:a('<div class="spinner"><span></span><span></span><span></span></div>'),intervalId:null},this.checkWidthIntervalId=null,this.galleryWidth=b.width(),this.$gallery=b};b.prototype.getSuffix=function(a,b){var c,d;for(c=a>b?a:b,d=0;d<this.suffixRanges.length;d++)if(c<=this.suffixRanges[d])return this.settings.sizeRangeSuffixes[this.suffixRanges[d]];return this.settings.sizeRangeSuffixes[this.suffixRanges[d-1]]},b.prototype.removeSuffix=function(a,b){return a.substring(0,a.length-b.length)},b.prototype.endsWith=function(a,b){return-1!==a.indexOf(b,a.length-b.length)},b.prototype.getUsedSuffix=function(a){for(var b in this.settings.sizeRangeSuffixes)if(this.settings.sizeRangeSuffixes.hasOwnProperty(b)){if(0===this.settings.sizeRangeSuffixes[b].length)continue;if(this.endsWith(a,this.settings.sizeRangeSuffixes[b]))return this.settings.sizeRangeSuffixes[b]}return""},b.prototype.newSrc=function(a,b,c){var d;if(this.settings.thumbnailPath)d=this.settings.thumbnailPath(a,b,c);else{var e=a.match(this.settings.extension),f=null!==e?e[0]:"";d=a.replace(this.settings.extension,""),d=this.removeSuffix(d,this.getUsedSuffix(d)),d+=this.getSuffix(b,c)+f}return d},b.prototype.showImg=function(a,b){this.settings.cssAnimation?(a.addClass("entry-visible"),b&&b()):a.stop().fadeTo(this.settings.imagesAnimationDuration,1,b)},b.prototype.extractImgSrcFromImage=function(a){var b="undefined"!=typeof a.data("safe-src")?a.data("safe-src"):a.attr("src");return a.data("jg.originalSrc",b),b},b.prototype.imgFromEntry=function(a){var b=a.find("> img");return 0===b.length&&(b=a.find("> a > img")),0===b.length?null:b},b.prototype.captionFromEntry=function(a){var b=a.find("> .caption");return 0===b.length?null:b},b.prototype.displayEntry=function(b,c,d,e,f,g){b.width(e),b.height(g),b.css("top",d),b.css("left",c);var h=this.imgFromEntry(b);if(null!==h){h.css("width",e),h.css("height",f),h.css("margin-left",-e/2),h.css("margin-top",-f/2);var i=h.attr("src"),j=this.newSrc(i,e,f);h.one("error",function(){h.attr("src",h.data("jg.originalSrc"))});var k=function(){i!==j&&h.attr("src",j)};"skipped"===b.data("jg.loaded")?this.onImageEvent(i,a.proxy(function(){this.showImg(b,k),b.data("jg.loaded",!0)},this)):this.showImg(b,k)}else this.showImg(b);this.displayEntryCaption(b)},b.prototype.displayEntryCaption=function(b){var c=this.imgFromEntry(b);if(null!==c&&this.settings.captions){var d=this.captionFromEntry(b);if(null===d){var e=c.attr("alt");this.isValidCaption(e)||(e=b.attr("title")),this.isValidCaption(e)&&(d=a('<div class="caption">'+e+"</div>"),b.append(d),b.data("jg.createdCaption",!0))}null!==d&&(this.settings.cssAnimation||d.stop().fadeTo(0,this.settings.captionSettings.nonVisibleOpacity),this.addCaptionEventsHandlers(b))}else this.removeCaptionEventsHandlers(b)},b.prototype.isValidCaption=function(a){return"undefined"!=typeof a&&a.length>0},b.prototype.onEntryMouseEnterForCaption=function(b){var c=this.captionFromEntry(a(b.currentTarget));this.settings.cssAnimation?c.addClass("caption-visible").removeClass("caption-hidden"):c.stop().fadeTo(this.settings.captionSettings.animationDuration,this.settings.captionSettings.visibleOpacity)},b.prototype.onEntryMouseLeaveForCaption=function(b){var c=this.captionFromEntry(a(b.currentTarget));this.settings.cssAnimation?c.removeClass("caption-visible").removeClass("caption-hidden"):c.stop().fadeTo(this.settings.captionSettings.animationDuration,this.settings.captionSettings.nonVisibleOpacity)},b.prototype.addCaptionEventsHandlers=function(b){var c=b.data("jg.captionMouseEvents");"undefined"==typeof c&&(c={mouseenter:a.proxy(this.onEntryMouseEnterForCaption,this),mouseleave:a.proxy(this.onEntryMouseLeaveForCaption,this)},b.on("mouseenter",void 0,void 0,c.mouseenter),b.on("mouseleave",void 0,void 0,c.mouseleave),b.data("jg.captionMouseEvents",c))},b.prototype.removeCaptionEventsHandlers=function(a){var b=a.data("jg.captionMouseEvents");"undefined"!=typeof b&&(a.off("mouseenter",void 0,b.mouseenter),a.off("mouseleave",void 0,b.mouseleave),a.removeData("jg.captionMouseEvents"))},b.prototype.prepareBuildingRow=function(a){var b,c,d,e,f,g=!0,h=0,i=this.galleryWidth-2*this.border-(this.buildingRow.entriesBuff.length-1)*this.settings.margins,j=i/this.buildingRow.aspectRatio,k=this.buildingRow.width/i>this.settings.justifyThreshold;if(a&&"hide"===this.settings.lastRow&&!k){for(b=0;b<this.buildingRow.entriesBuff.length;b++)c=this.buildingRow.entriesBuff[b],this.settings.cssAnimation?c.removeClass("entry-visible"):c.stop().fadeTo(0,0);return-1}for(a&&!k&&"justify"!==this.settings.lastRow&&"hide"!==this.settings.lastRow&&(g=!1),b=0;b<this.buildingRow.entriesBuff.length;b++)c=this.buildingRow.entriesBuff[b],d=c.data("jg.width")/c.data("jg.height"),g?(e=b===this.buildingRow.entriesBuff.length-1?i:j*d,f=j):(e=this.settings.rowHeight*d,f=this.settings.rowHeight),i-=Math.round(e),c.data("jg.jwidth",Math.round(e)),c.data("jg.jheight",Math.ceil(f)),(0===b||h>f)&&(h=f);return this.settings.fixedHeight&&h>this.settings.rowHeight&&(h=this.settings.rowHeight),this.buildingRow.height=h,g},b.prototype.clearBuildingRow=function(){this.buildingRow.entriesBuff=[],this.buildingRow.aspectRatio=0,this.buildingRow.width=0},b.prototype.flushRow=function(a){var b,c,d,e=this.settings,f=this.border;if(c=this.prepareBuildingRow(a),a&&"hide"===e.lastRow&&-1===this.buildingRow.height)return void this.clearBuildingRow();if(this.maxRowHeight.isPercentage?this.maxRowHeight.value*e.rowHeight<this.buildingRow.height&&(this.buildingRow.height=this.maxRowHeight.value*e.rowHeight):this.maxRowHeight.value>0&&this.maxRowHeight.value<this.buildingRow.height&&(this.buildingRow.height=this.maxRowHeight.value),"center"===e.lastRow||"right"===e.lastRow){var g=this.galleryWidth-2*this.border-(this.buildingRow.entriesBuff.length-1)*e.margins;for(d=0;d<this.buildingRow.entriesBuff.length;d++)b=this.buildingRow.entriesBuff[d],g-=b.data("jg.jwidth");"center"===e.lastRow?f+=g/2:"right"===e.lastRow&&(f+=g)}for(d=0;d<this.buildingRow.entriesBuff.length;d++)b=this.buildingRow.entriesBuff[d],this.displayEntry(b,f,this.offY,b.data("jg.jwidth"),b.data("jg.jheight"),this.buildingRow.height),f+=b.data("jg.jwidth")+e.margins;this.$gallery.height(this.offY+this.buildingRow.height+this.border+(this.isSpinnerActive()?this.getSpinnerHeight():0)),(!a||this.buildingRow.height<=e.rowHeight&&c)&&(this.offY+=this.buildingRow.height+e.margins,this.clearBuildingRow(),this.$gallery.trigger("jg.rowflush"))},b.prototype.checkWidth=function(){this.checkWidthIntervalId=setInterval(a.proxy(function(){var a=parseFloat(this.$gallery.width());Math.abs(a-this.galleryWidth)>this.settings.refreshSensitivity&&(this.galleryWidth=a,this.rewind(),this.startImgAnalyzer(!0))},this),this.settings.refreshTime)},b.prototype.isSpinnerActive=function(){return null!==this.spinner.intervalId},b.prototype.getSpinnerHeight=function(){return this.spinner.$el.innerHeight()},b.prototype.stopLoadingSpinnerAnimation=function(){clearInterval(this.spinner.intervalId),this.spinner.intervalId=null,this.$gallery.height(this.$gallery.height()-this.getSpinnerHeight()),this.spinner.$el.detach()},b.prototype.startLoadingSpinnerAnimation=function(){var a=this.spinner,b=a.$el.find("span");clearInterval(a.intervalId),this.$gallery.append(a.$el),this.$gallery.height(this.offY+this.buildingRow.height+this.getSpinnerHeight()),a.intervalId=setInterval(function(){a.phase<b.length?b.eq(a.phase).fadeTo(a.timeSlot,1):b.eq(a.phase-b.length).fadeTo(a.timeSlot,0),a.phase=(a.phase+1)%(2*b.length)},a.timeSlot)},b.prototype.rewind=function(){this.lastAnalyzedIndex=-1,this.offY=this.border,this.clearBuildingRow()},b.prototype.updateEntries=function(b){return this.entries=this.$gallery.find(this.settings.selector).toArray(),0===this.entries.length?!1:(this.settings.filter?this.modifyEntries(this.filterArray,b):this.modifyEntries(this.resetFilters,b),a.isFunction(this.settings.sort)?this.modifyEntries(this.sortArray,b):this.settings.randomize&&this.modifyEntries(this.shuffleArray,b),!0)},b.prototype.insertToGallery=function(b){var c=this;a.each(b,function(){a(this).appendTo(c.$gallery)})},b.prototype.shuffleArray=function(a){var b,c,d;for(b=a.length-1;b>0;b--)c=Math.floor(Math.random()*(b+1)),d=a[b],a[b]=a[c],a[c]=d;return this.insertToGallery(a),a},b.prototype.sortArray=function(a){return a.sort(this.settings.sort),this.insertToGallery(a),a},b.prototype.resetFilters=function(b){for(var c=0;c<b.length;c++)a(b[c]).removeClass("jg-filtered");return b},b.prototype.filterArray=function(b){var c=this.settings;return"string"===a.type(c.filter)?b.filter(function(b){var d=a(b);return d.is(c.filter)?(d.removeClass("jg-filtered"),!0):(d.addClass("jg-filtered"),!1)}):a.isFunction(c.filter)?b.filter(c.filter):void 0},b.prototype.modifyEntries=function(a,b){var c=b?this.entries.splice(this.lastAnalyzedIndex+1,this.entries.length-this.lastAnalyzedIndex-1):this.entries;c=a.call(this,c),this.entries=b?this.entries.concat(c):c},b.prototype.destroy=function(){clearInterval(this.checkWidthIntervalId),a.each(this.entries,a.proxy(function(b,c){var d=a(c);d.css("width",""),d.css("height",""),d.css("top",""),d.css("left",""),d.data("jg.loaded",void 0),d.removeClass("jg-entry");var e=this.imgFromEntry(d);e.css("width",""),e.css("height",""),e.css("margin-left",""),e.css("margin-top",""),e.attr("src",e.data("jg.originalSrc")),e.data("jg.originalSrc",void 0),this.removeCaptionEventsHandlers(d);var f=this.captionFromEntry(d);d.data("jg.createdCaption")?(d.data("jg.createdCaption",void 0),null!==f&&f.remove()):null!==f&&f.fadeTo(0,1)},this)),this.$gallery.css("height",""),this.$gallery.removeClass("justified-gallery"),this.$gallery.data("jg.controller",void 0)},b.prototype.analyzeImages=function(b){for(var c=this.lastAnalyzedIndex+1;c<this.entries.length;c++){var d=a(this.entries[c]);if(d.data("jg.loaded")===!0||"skipped"===d.data("jg.loaded")){var e=this.galleryWidth-2*this.border-(this.buildingRow.entriesBuff.length-1)*this.settings.margins,f=d.data("jg.width")/d.data("jg.height");if(e/(this.buildingRow.aspectRatio+f)<this.settings.rowHeight&&(this.flushRow(!1),++this.yield.flushed>=this.yield.every))return void this.startImgAnalyzer(b);this.buildingRow.entriesBuff.push(d),this.buildingRow.aspectRatio+=f,this.buildingRow.width+=f*this.settings.rowHeight,this.lastAnalyzedIndex=c}else if("error"!==d.data("jg.loaded"))return}this.buildingRow.entriesBuff.length>0&&this.flushRow(!0),this.isSpinnerActive()&&this.stopLoadingSpinnerAnimation(),this.stopImgAnalyzerStarter(),this.$gallery.trigger(b?"jg.resize":"jg.complete")},b.prototype.stopImgAnalyzerStarter=function(){this.yield.flushed=0,null!==this.imgAnalyzerTimeout&&clearTimeout(this.imgAnalyzerTimeout)},b.prototype.startImgAnalyzer=function(a){var b=this;this.stopImgAnalyzerStarter(),this.imgAnalyzerTimeout=setTimeout(function(){b.analyzeImages(a)},.001)},b.prototype.onImageEvent=function(b,c,d){if(c||d){var e=new Image,f=a(e);c&&f.one("load",function(){f.off("load error"),c(e)}),d&&f.one("error",function(){f.off("load error"),d(e)}),e.src=b}},b.prototype.init=function(){var b=!1,c=!1,d=this;a.each(this.entries,function(e,f){var g=a(f),h=d.imgFromEntry(g);if(g.addClass("jg-entry"),g.data("jg.loaded")!==!0&&"skipped"!==g.data("jg.loaded"))if(null!==d.settings.rel&&g.attr("rel",d.settings.rel),null!==d.settings.target&&g.attr("target",d.settings.target),null!==h){var i=d.extractImgSrcFromImage(h);if(h.attr("src",i),d.settings.waitThumbnailsLoad===!1){var j=parseFloat(h.attr("width")),k=parseFloat(h.attr("height"));if(!isNaN(j)&&!isNaN(k))return g.data("jg.width",j),g.data("jg.height",k),g.data("jg.loaded","skipped"),c=!0,d.startImgAnalyzer(!1),!0}g.data("jg.loaded",!1),b=!0,d.isSpinnerActive()||d.startLoadingSpinnerAnimation(),d.onImageEvent(i,function(a){g.data("jg.width",a.width),g.data("jg.height",a.height),g.data("jg.loaded",!0),d.startImgAnalyzer(!1)},function(){g.data("jg.loaded","error"),d.startImgAnalyzer(!1)})}else g.data("jg.loaded",!0),g.data("jg.width",g.width()|parseFloat(g.css("width"))|1),g.data("jg.height",g.height()|parseFloat(g.css("height"))|1)}),b||c||this.startImgAnalyzer(!1),this.checkWidth()},b.prototype.checkOrConvertNumber=function(b,c){if("string"===a.type(b[c])&&(b[c]=parseFloat(b[c])),"number"!==a.type(b[c]))throw c+" must be a number";if(isNaN(b[c]))throw"invalid number for "+c},b.prototype.checkSizeRangesSuffixes=function(){if("object"!==a.type(this.settings.sizeRangeSuffixes))throw"sizeRangeSuffixes must be defined and must be an object";var b=[];for(var c in this.settings.sizeRangeSuffixes)this.settings.sizeRangeSuffixes.hasOwnProperty(c)&&b.push(c);for(var d={0:""},e=0;e<b.length;e++)if("string"===a.type(b[e]))try{var f=parseInt(b[e].replace(/^[a-z]+/,""),10);d[f]=this.settings.sizeRangeSuffixes[b[e]]}catch(g){throw"sizeRangeSuffixes keys must contains correct numbers ("+g+")"}else d[b[e]]=this.settings.sizeRangeSuffixes[b[e]];this.settings.sizeRangeSuffixes=d},b.prototype.retrieveMaxRowHeight=function(){var b={};if("string"===a.type(this.settings.maxRowHeight))this.settings.maxRowHeight.match(/^[0-9]+%$/)?(b.value=parseFloat(this.settings.maxRowHeight.match(/^([0-9]+)%$/)[1])/100,b.isPercentage=!1):(b.value=parseFloat(this.settings.maxRowHeight),b.isPercentage=!0);else{if("number"!==a.type(this.settings.maxRowHeight))throw"maxRowHeight must be a number or a percentage";b.value=this.settings.maxRowHeight,b.isPercentage=!1}if(isNaN(b.value))throw"invalid number for maxRowHeight";return b.isPercentage?b.value<100&&(b.value=100):b.value>0&&b.value<this.settings.rowHeight&&(b.value=this.settings.rowHeight),b},b.prototype.checkSettings=function(){if(this.checkSizeRangesSuffixes(),this.checkOrConvertNumber(this.settings,"rowHeight"),this.checkOrConvertNumber(this.settings,"margins"),this.checkOrConvertNumber(this.settings,"border"),"justify"!==this.settings.lastRow&&"nojustify"!==this.settings.lastRow&&"left"!==this.settings.lastRow&&"center"!==this.settings.lastRow&&"right"!==this.settings.lastRow&&"hide"!==this.settings.lastRow)throw'lastRow must be "justify", "nojustify", "left", "center", "right" or "hide"';if(this.checkOrConvertNumber(this.settings,"justifyThreshold"),this.settings.justifyThreshold<0||this.settings.justifyThreshold>1)throw"justifyThreshold must be in the interval [0,1]";if("boolean"!==a.type(this.settings.cssAnimation))throw"cssAnimation must be a boolean";if("boolean"!==a.type(this.settings.captions))throw"captions must be a boolean";if(this.checkOrConvertNumber(this.settings.captionSettings,"animationDuration"),this.checkOrConvertNumber(this.settings.captionSettings,"visibleOpacity"),this.settings.captionSettings.visibleOpacity<0||this.settings.captionSettings.visibleOpacity>1)throw"captionSettings.visibleOpacity must be in the interval [0, 1]";if(this.checkOrConvertNumber(this.settings.captionSettings,"nonVisibleOpacity"),this.settings.captionSettings.nonVisibleOpacity<0||this.settings.captionSettings.nonVisibleOpacity>1)throw"captionSettings.nonVisibleOpacity must be in the interval [0, 1]";if("boolean"!==a.type(this.settings.fixedHeight))throw"fixedHeight must be a boolean";if(this.checkOrConvertNumber(this.settings,"imagesAnimationDuration"),this.checkOrConvertNumber(this.settings,"refreshTime"),this.checkOrConvertNumber(this.settings,"refreshSensitivity"),"boolean"!==a.type(this.settings.randomize))throw"randomize must be a boolean";if("string"!==a.type(this.settings.selector))throw"selector must be a string";if(this.settings.sort!==!1&&!a.isFunction(this.settings.sort))throw"sort must be false or a comparison function";if(this.settings.filter!==!1&&!a.isFunction(this.settings.filter)&&"string"!==a.type(this.settings.filter))throw"filter must be false, a string or a filter function"},b.prototype.retrieveSuffixRanges=function(){var a=[];for(var b in this.settings.sizeRangeSuffixes)this.settings.sizeRangeSuffixes.hasOwnProperty(b)&&a.push(parseInt(b,10));return a.sort(function(a,b){return a>b?1:b>a?-1:0}),a},b.prototype.updateSettings=function(b){this.settings=a.extend({},this.settings,b),this.checkSettings(),this.border=this.settings.border>=0?this.settings.border:this.settings.margins,this.maxRowHeight=this.retrieveMaxRowHeight(),this.suffixRanges=this.retrieveSuffixRanges()},a.fn.justifiedGallery=function(c){return this.each(function(d,e){var f=a(e);f.addClass("justified-gallery");var g=f.data("jg.controller");if("undefined"==typeof g){if("undefined"!=typeof c&&null!==c&&"object"!==a.type(c)){if("destroy"===c)return;throw"The argument must be an object"}g=new b(f,a.extend({},a.fn.justifiedGallery.defaults,c)),f.data("jg.controller",g)}else if("norewind"===c);else{if("destroy"===c)return void g.destroy();g.updateSettings(c),g.rewind()}g.updateEntries("norewind"===c)&&g.init()})},a.fn.justifiedGallery.defaults={sizeRangeSuffixes:{},thumbnailPath:void 0,rowHeight:120,maxRowHeight:-1,margins:1,border:-1,lastRow:"nojustify",justifyThreshold:.75,fixedHeight:!1,waitThumbnailsLoad:!0,captions:!0,cssAnimation:!1,imagesAnimationDuration:500,captionSettings:{animationDuration:500,visibleOpacity:.7,nonVisibleOpacity:0},rel:null,target:null,extension:/\.[^.\\/]+$/,refreshTime:200,refreshSensitivity:0,randomize:!1,sort:!1,filter:!1,selector:"> a, > div:not(.spinner)"}}(jQuery); \ No newline at end of file
+!function(a){function b(){return a("body").height()>a(window).height()}var c=function(b,c){this.settings=c,this.checkSettings(),this.imgAnalyzerTimeout=null,this.entries=null,this.buildingRow={entriesBuff:[],width:0,height:0,aspectRatio:0},this.lastFetchedEntry=null,this.lastAnalyzedIndex=-1,this.yield={every:2,flushed:0},this.border=c.border>=0?c.border:c.margins,this.maxRowHeight=this.retrieveMaxRowHeight(),this.suffixRanges=this.retrieveSuffixRanges(),this.offY=this.border,this.rows=0,this.spinner={phase:0,timeSlot:150,$el:a('<div class="spinner"><span></span><span></span><span></span></div>'),intervalId:null},this.checkWidthIntervalId=null,this.galleryWidth=b.width(),this.$gallery=b};c.prototype.getSuffix=function(a,b){var c,d;for(c=a>b?a:b,d=0;d<this.suffixRanges.length;d++)if(c<=this.suffixRanges[d])return this.settings.sizeRangeSuffixes[this.suffixRanges[d]];return this.settings.sizeRangeSuffixes[this.suffixRanges[d-1]]},c.prototype.removeSuffix=function(a,b){return a.substring(0,a.length-b.length)},c.prototype.endsWith=function(a,b){return-1!==a.indexOf(b,a.length-b.length)},c.prototype.getUsedSuffix=function(a){for(var b in this.settings.sizeRangeSuffixes)if(this.settings.sizeRangeSuffixes.hasOwnProperty(b)){if(0===this.settings.sizeRangeSuffixes[b].length)continue;if(this.endsWith(a,this.settings.sizeRangeSuffixes[b]))return this.settings.sizeRangeSuffixes[b]}return""},c.prototype.newSrc=function(a,b,c,d){var e;if(this.settings.thumbnailPath)e=this.settings.thumbnailPath(a,b,c,d);else{var f=a.match(this.settings.extension),g=null!==f?f[0]:"";e=a.replace(this.settings.extension,""),e=this.removeSuffix(e,this.getUsedSuffix(e)),e+=this.getSuffix(b,c)+g}return e},c.prototype.showImg=function(a,b){this.settings.cssAnimation?(a.addClass("entry-visible"),b&&b()):(a.stop().fadeTo(this.settings.imagesAnimationDuration,1,b),a.find("> img, > a > img").stop().fadeTo(this.settings.imagesAnimationDuration,1,b))},c.prototype.extractImgSrcFromImage=function(a){var b="undefined"!=typeof a.data("safe-src")?a.data("safe-src"):a.attr("src");return a.data("jg.originalSrc",b),b},c.prototype.imgFromEntry=function(a){var b=a.find("> img");return 0===b.length&&(b=a.find("> a > img")),0===b.length?null:b},c.prototype.captionFromEntry=function(a){var b=a.find("> .caption");return 0===b.length?null:b},c.prototype.displayEntry=function(b,c,d,e,f,g){b.width(e),b.height(g),b.css("top",d),b.css("left",c);var h=this.imgFromEntry(b);if(null!==h){h.css("width",e),h.css("height",f),h.css("margin-left",-e/2),h.css("margin-top",-f/2);var i=h.attr("src"),j=this.newSrc(i,e,f,h[0]);h.one("error",function(){h.attr("src",h.data("jg.originalSrc"))});var k=function(){i!==j&&h.attr("src",j)};"skipped"===b.data("jg.loaded")?this.onImageEvent(i,a.proxy(function(){this.showImg(b,k),b.data("jg.loaded",!0)},this)):this.showImg(b,k)}else this.showImg(b);this.displayEntryCaption(b)},c.prototype.displayEntryCaption=function(b){var c=this.imgFromEntry(b);if(null!==c&&this.settings.captions){var d=this.captionFromEntry(b);if(null===d){var e=c.attr("alt");this.isValidCaption(e)||(e=b.attr("title")),this.isValidCaption(e)&&(d=a('<div class="caption">'+e+"</div>"),b.append(d),b.data("jg.createdCaption",!0))}null!==d&&(this.settings.cssAnimation||d.stop().fadeTo(0,this.settings.captionSettings.nonVisibleOpacity),this.addCaptionEventsHandlers(b))}else this.removeCaptionEventsHandlers(b)},c.prototype.isValidCaption=function(a){return"undefined"!=typeof a&&a.length>0},c.prototype.onEntryMouseEnterForCaption=function(b){var c=this.captionFromEntry(a(b.currentTarget));this.settings.cssAnimation?c.addClass("caption-visible").removeClass("caption-hidden"):c.stop().fadeTo(this.settings.captionSettings.animationDuration,this.settings.captionSettings.visibleOpacity)},c.prototype.onEntryMouseLeaveForCaption=function(b){var c=this.captionFromEntry(a(b.currentTarget));this.settings.cssAnimation?c.removeClass("caption-visible").removeClass("caption-hidden"):c.stop().fadeTo(this.settings.captionSettings.animationDuration,this.settings.captionSettings.nonVisibleOpacity)},c.prototype.addCaptionEventsHandlers=function(b){var c=b.data("jg.captionMouseEvents");"undefined"==typeof c&&(c={mouseenter:a.proxy(this.onEntryMouseEnterForCaption,this),mouseleave:a.proxy(this.onEntryMouseLeaveForCaption,this)},b.on("mouseenter",void 0,void 0,c.mouseenter),b.on("mouseleave",void 0,void 0,c.mouseleave),b.data("jg.captionMouseEvents",c))},c.prototype.removeCaptionEventsHandlers=function(a){var b=a.data("jg.captionMouseEvents");"undefined"!=typeof b&&(a.off("mouseenter",void 0,b.mouseenter),a.off("mouseleave",void 0,b.mouseleave),a.removeData("jg.captionMouseEvents"))},c.prototype.prepareBuildingRow=function(a){var b,c,d,e,f,g=!0,h=0,i=this.galleryWidth-2*this.border-(this.buildingRow.entriesBuff.length-1)*this.settings.margins,j=i/this.buildingRow.aspectRatio,k=this.settings.rowHeight,l=this.buildingRow.width/i>this.settings.justifyThreshold;if(a&&"hide"===this.settings.lastRow&&!l){for(b=0;b<this.buildingRow.entriesBuff.length;b++)c=this.buildingRow.entriesBuff[b],this.settings.cssAnimation?c.removeClass("entry-visible"):(c.stop().fadeTo(0,.1),c.find("> img, > a > img").fadeTo(0,0));return-1}for(a&&!l&&"justify"!==this.settings.lastRow&&"hide"!==this.settings.lastRow&&(g=!1,this.rows>0&&(k=(this.offY-this.border-this.settings.margins*this.rows)/this.rows,g=k*this.buildingRow.aspectRatio/i>this.settings.justifyThreshold)),b=0;b<this.buildingRow.entriesBuff.length;b++)c=this.buildingRow.entriesBuff[b],d=c.data("jg.width")/c.data("jg.height"),g?(e=b===this.buildingRow.entriesBuff.length-1?i:j*d,f=j):(e=k*d,f=k),i-=Math.round(e),c.data("jg.jwidth",Math.round(e)),c.data("jg.jheight",Math.ceil(f)),(0===b||h>f)&&(h=f);return this.buildingRow.height=h,g},c.prototype.clearBuildingRow=function(){this.buildingRow.entriesBuff=[],this.buildingRow.aspectRatio=0,this.buildingRow.width=0},c.prototype.flushRow=function(a){var b,c,d,e=this.settings,f=this.border;if(c=this.prepareBuildingRow(a),a&&"hide"===e.lastRow&&-1===c)return void this.clearBuildingRow();if(this.maxRowHeight&&(this.maxRowHeight.isPercentage&&this.maxRowHeight.value*e.rowHeight<this.buildingRow.height?this.buildingRow.height=this.maxRowHeight.value*e.rowHeight:this.maxRowHeight.value>=e.rowHeight&&this.maxRowHeight.value<this.buildingRow.height&&(this.buildingRow.height=this.maxRowHeight.value)),"center"===e.lastRow||"right"===e.lastRow){var g=this.galleryWidth-2*this.border-(this.buildingRow.entriesBuff.length-1)*e.margins;for(d=0;d<this.buildingRow.entriesBuff.length;d++)b=this.buildingRow.entriesBuff[d],g-=b.data("jg.jwidth");"center"===e.lastRow?f+=g/2:"right"===e.lastRow&&(f+=g)}for(d=0;d<this.buildingRow.entriesBuff.length;d++)b=this.buildingRow.entriesBuff[d],this.displayEntry(b,f,this.offY,b.data("jg.jwidth"),b.data("jg.jheight"),this.buildingRow.height),f+=b.data("jg.jwidth")+e.margins;this.galleryHeightToSet=this.offY+this.buildingRow.height+this.border,this.$gallery.height(this.galleryHeightToSet+this.getSpinnerHeight()),(!a||this.buildingRow.height<=e.rowHeight&&c)&&(this.offY+=this.buildingRow.height+e.margins,this.rows+=1,this.clearBuildingRow(),this.$gallery.trigger("jg.rowflush"))};var d=!1;c.prototype.checkWidth=function(){this.checkWidthIntervalId=setInterval(a.proxy(function(){var a=parseFloat(this.$gallery.width());b()===d?Math.abs(a-this.galleryWidth)>this.settings.refreshSensitivity&&(this.galleryWidth=a,this.rewind(),this.startImgAnalyzer(!0)):(d=b(),this.galleryWidth=a)},this),this.settings.refreshTime)},c.prototype.isSpinnerActive=function(){return null!==this.spinner.intervalId},c.prototype.getSpinnerHeight=function(){return this.spinner.$el.innerHeight()},c.prototype.stopLoadingSpinnerAnimation=function(){clearInterval(this.spinner.intervalId),this.spinner.intervalId=null,this.$gallery.height(this.$gallery.height()-this.getSpinnerHeight()),this.spinner.$el.detach()},c.prototype.startLoadingSpinnerAnimation=function(){var a=this.spinner,b=a.$el.find("span");clearInterval(a.intervalId),this.$gallery.append(a.$el),this.$gallery.height(this.offY+this.buildingRow.height+this.getSpinnerHeight()),a.intervalId=setInterval(function(){a.phase<b.length?b.eq(a.phase).fadeTo(a.timeSlot,1):b.eq(a.phase-b.length).fadeTo(a.timeSlot,0),a.phase=(a.phase+1)%(2*b.length)},a.timeSlot)},c.prototype.rewind=function(){this.lastFetchedEntry=null,this.lastAnalyzedIndex=-1,this.offY=this.border,this.rows=0,this.clearBuildingRow()},c.prototype.updateEntries=function(b){var c;return b&&null!=this.lastFetchedEntry?c=a(this.lastFetchedEntry).nextAll(this.settings.selector).toArray():(this.entries=[],c=this.$gallery.children(this.settings.selector).toArray()),c.length>0&&(a.isFunction(this.settings.sort)?c=this.sortArray(c):this.settings.randomize&&(c=this.shuffleArray(c)),this.lastFetchedEntry=c[c.length-1],this.settings.filter?c=this.filterArray(c):this.resetFilters(c)),this.entries=this.entries.concat(c),!0},c.prototype.insertToGallery=function(b){var c=this;a.each(b,function(){a(this).appendTo(c.$gallery)})},c.prototype.shuffleArray=function(a){var b,c,d;for(b=a.length-1;b>0;b--)c=Math.floor(Math.random()*(b+1)),d=a[b],a[b]=a[c],a[c]=d;return this.insertToGallery(a),a},c.prototype.sortArray=function(a){return a.sort(this.settings.sort),this.insertToGallery(a),a},c.prototype.resetFilters=function(b){for(var c=0;c<b.length;c++)a(b[c]).removeClass("jg-filtered")},c.prototype.filterArray=function(b){var c=this.settings;if("string"===a.type(c.filter))return b.filter(function(b){var d=a(b);return d.is(c.filter)?(d.removeClass("jg-filtered"),!0):(d.addClass("jg-filtered").removeClass("jg-visible"),!1)});if(a.isFunction(c.filter)){for(var d=b.filter(c.filter),e=0;e<b.length;e++)-1==d.indexOf(b[e])?a(b[e]).addClass("jg-filtered").removeClass("jg-visible"):a(b[e]).removeClass("jg-filtered");return d}},c.prototype.destroy=function(){clearInterval(this.checkWidthIntervalId),a.each(this.entries,a.proxy(function(b,c){var d=a(c);d.css("width",""),d.css("height",""),d.css("top",""),d.css("left",""),d.data("jg.loaded",void 0),d.removeClass("jg-entry");var e=this.imgFromEntry(d);e.css("width",""),e.css("height",""),e.css("margin-left",""),e.css("margin-top",""),e.attr("src",e.data("jg.originalSrc")),e.data("jg.originalSrc",void 0),this.removeCaptionEventsHandlers(d);var f=this.captionFromEntry(d);d.data("jg.createdCaption")?(d.data("jg.createdCaption",void 0),null!==f&&f.remove()):null!==f&&f.fadeTo(0,1)},this)),this.$gallery.css("height",""),this.$gallery.removeClass("justified-gallery"),this.$gallery.data("jg.controller",void 0)},c.prototype.analyzeImages=function(b){for(var c=this.lastAnalyzedIndex+1;c<this.entries.length;c++){var d=a(this.entries[c]);if(d.data("jg.loaded")===!0||"skipped"===d.data("jg.loaded")){var e=this.galleryWidth-2*this.border-(this.buildingRow.entriesBuff.length-1)*this.settings.margins,f=d.data("jg.width")/d.data("jg.height");if(e/(this.buildingRow.aspectRatio+f)<this.settings.rowHeight&&(this.flushRow(!1),++this.yield.flushed>=this.yield.every))return void this.startImgAnalyzer(b);this.buildingRow.entriesBuff.push(d),this.buildingRow.aspectRatio+=f,this.buildingRow.width+=f*this.settings.rowHeight,this.lastAnalyzedIndex=c}else if("error"!==d.data("jg.loaded"))return}this.buildingRow.entriesBuff.length>0&&this.flushRow(!0),this.isSpinnerActive()&&this.stopLoadingSpinnerAnimation(),this.stopImgAnalyzerStarter(),this.$gallery.trigger(b?"jg.resize":"jg.complete"),this.$gallery.height(this.galleryHeightToSet)},c.prototype.stopImgAnalyzerStarter=function(){this.yield.flushed=0,null!==this.imgAnalyzerTimeout&&clearTimeout(this.imgAnalyzerTimeout)},c.prototype.startImgAnalyzer=function(a){var b=this;this.stopImgAnalyzerStarter(),this.imgAnalyzerTimeout=setTimeout(function(){b.analyzeImages(a)},.001)},c.prototype.onImageEvent=function(b,c,d){if(c||d){var e=new Image,f=a(e);c&&f.one("load",function(){f.off("load error"),c(e)}),d&&f.one("error",function(){f.off("load error"),d(e)}),e.src=b}},c.prototype.init=function(){var b=!1,c=!1,d=this;a.each(this.entries,function(e,f){var g=a(f),h=d.imgFromEntry(g);if(g.addClass("jg-entry"),g.data("jg.loaded")!==!0&&"skipped"!==g.data("jg.loaded"))if(null!==d.settings.rel&&g.attr("rel",d.settings.rel),null!==d.settings.target&&g.attr("target",d.settings.target),null!==h){var i=d.extractImgSrcFromImage(h);if(h.attr("src",i),d.settings.waitThumbnailsLoad===!1){var j=parseFloat(h.attr("width")),k=parseFloat(h.attr("height"));if(!isNaN(j)&&!isNaN(k))return g.data("jg.width",j),g.data("jg.height",k),g.data("jg.loaded","skipped"),c=!0,d.startImgAnalyzer(!1),!0}g.data("jg.loaded",!1),b=!0,d.isSpinnerActive()||d.startLoadingSpinnerAnimation(),d.onImageEvent(i,function(a){g.data("jg.width",a.width),g.data("jg.height",a.height),g.data("jg.loaded",!0),d.startImgAnalyzer(!1)},function(){g.data("jg.loaded","error"),d.startImgAnalyzer(!1)})}else g.data("jg.loaded",!0),g.data("jg.width",g.width()|parseFloat(g.css("width"))|1),g.data("jg.height",g.height()|parseFloat(g.css("height"))|1)}),b||c||this.startImgAnalyzer(!1),this.checkWidth()},c.prototype.checkOrConvertNumber=function(b,c){if("string"===a.type(b[c])&&(b[c]=parseFloat(b[c])),"number"!==a.type(b[c]))throw c+" must be a number";if(isNaN(b[c]))throw"invalid number for "+c},c.prototype.checkSizeRangesSuffixes=function(){if("object"!==a.type(this.settings.sizeRangeSuffixes))throw"sizeRangeSuffixes must be defined and must be an object";var b=[];for(var c in this.settings.sizeRangeSuffixes)this.settings.sizeRangeSuffixes.hasOwnProperty(c)&&b.push(c);for(var d={0:""},e=0;e<b.length;e++)if("string"===a.type(b[e]))try{var f=parseInt(b[e].replace(/^[a-z]+/,""),10);d[f]=this.settings.sizeRangeSuffixes[b[e]]}catch(g){throw"sizeRangeSuffixes keys must contains correct numbers ("+g+")"}else d[b[e]]=this.settings.sizeRangeSuffixes[b[e]];this.settings.sizeRangeSuffixes=d},c.prototype.retrieveMaxRowHeight=function(){var b={};if("string"===a.type(this.settings.maxRowHeight))this.settings.maxRowHeight.match(/^[0-9]+%$/)?(b.value=parseFloat(this.settings.maxRowHeight.match(/^([0-9]+)%$/)[1])/100,b.isPercentage=!1):(b.value=parseFloat(this.settings.maxRowHeight),b.isPercentage=!0);else{if("number"!==a.type(this.settings.maxRowHeight)){if(this.settings.maxRowHeight===!1||null===this.settings.maxRowHeight||"undefined"==typeof this.settings.maxRowHeight)return null;throw"maxRowHeight must be a number or a percentage"}b.value=this.settings.maxRowHeight,b.isPercentage=!1}if(isNaN(b.value))throw"invalid number for maxRowHeight";return b.isPercentage&&b.value<100&&(b.value=100),b},c.prototype.checkSettings=function(){this.checkSizeRangesSuffixes(),this.checkOrConvertNumber(this.settings,"rowHeight"),this.checkOrConvertNumber(this.settings,"margins"),this.checkOrConvertNumber(this.settings,"border");var b=["justify","nojustify","left","center","right","hide"];if(-1===b.indexOf(this.settings.lastRow))throw"lastRow must be one of: "+b.join(", ");if(this.checkOrConvertNumber(this.settings,"justifyThreshold"),this.settings.justifyThreshold<0||this.settings.justifyThreshold>1)throw"justifyThreshold must be in the interval [0,1]";if("boolean"!==a.type(this.settings.cssAnimation))throw"cssAnimation must be a boolean";if("boolean"!==a.type(this.settings.captions))throw"captions must be a boolean";if(this.checkOrConvertNumber(this.settings.captionSettings,"animationDuration"),this.checkOrConvertNumber(this.settings.captionSettings,"visibleOpacity"),this.settings.captionSettings.visibleOpacity<0||this.settings.captionSettings.visibleOpacity>1)throw"captionSettings.visibleOpacity must be in the interval [0, 1]";if(this.checkOrConvertNumber(this.settings.captionSettings,"nonVisibleOpacity"),this.settings.captionSettings.nonVisibleOpacity<0||this.settings.captionSettings.nonVisibleOpacity>1)throw"captionSettings.nonVisibleOpacity must be in the interval [0, 1]";if(this.checkOrConvertNumber(this.settings,"imagesAnimationDuration"),this.checkOrConvertNumber(this.settings,"refreshTime"),this.checkOrConvertNumber(this.settings,"refreshSensitivity"),"boolean"!==a.type(this.settings.randomize))throw"randomize must be a boolean";if("string"!==a.type(this.settings.selector))throw"selector must be a string";if(this.settings.sort!==!1&&!a.isFunction(this.settings.sort))throw"sort must be false or a comparison function";if(this.settings.filter!==!1&&!a.isFunction(this.settings.filter)&&"string"!==a.type(this.settings.filter))throw"filter must be false, a string or a filter function"},c.prototype.retrieveSuffixRanges=function(){var a=[];for(var b in this.settings.sizeRangeSuffixes)this.settings.sizeRangeSuffixes.hasOwnProperty(b)&&a.push(parseInt(b,10));return a.sort(function(a,b){return a>b?1:b>a?-1:0}),a},c.prototype.updateSettings=function(b){this.settings=a.extend({},this.settings,b),this.checkSettings(),this.border=this.settings.border>=0?this.settings.border:this.settings.margins,this.maxRowHeight=this.retrieveMaxRowHeight(),this.suffixRanges=this.retrieveSuffixRanges()},a.fn.justifiedGallery=function(b){return this.each(function(d,e){var f=a(e);f.addClass("justified-gallery");var g=f.data("jg.controller");if("undefined"==typeof g){if("undefined"!=typeof b&&null!==b&&"object"!==a.type(b)){if("destroy"===b)return;throw"The argument must be an object"}g=new c(f,a.extend({},a.fn.justifiedGallery.defaults,b)),f.data("jg.controller",g)}else if("norewind"===b);else{if("destroy"===b)return void g.destroy();g.updateSettings(b),g.rewind()}g.updateEntries("norewind"===b)&&g.init()})},a.fn.justifiedGallery.defaults={sizeRangeSuffixes:{},thumbnailPath:void 0,rowHeight:120,maxRowHeight:!1,margins:1,border:-1,lastRow:"nojustify",justifyThreshold:.9,waitThumbnailsLoad:!0,captions:!0,cssAnimation:!0,imagesAnimationDuration:500,captionSettings:{animationDuration:500,visibleOpacity:.7,nonVisibleOpacity:0},rel:null,target:null,extension:/\.[^.\\/]+$/,refreshTime:200,refreshSensitivity:0,randomize:!1,sort:!1,filter:!1,selector:"a, div:not(.spinner)"}}(jQuery); \ No newline at end of file
diff --git a/library/justifiedGallery/justifiedGallery.css b/library/justifiedGallery/justifiedGallery.css
index 99be92ff2..00c84fda0 100644
--- a/library/justifiedGallery/justifiedGallery.css
+++ b/library/justifiedGallery/justifiedGallery.css
@@ -1,73 +1,9 @@
/*!
- * Justified Gallery - v3.6.1
+ * Justified Gallery - v3.6.3
* http://miromannino.github.io/Justified-Gallery/
- * Copyright (c) 2015 Miro Mannino
+ * Copyright (c) 2016 Miro Mannino
* Licensed under the MIT license.
*/
-@-webkit-keyframes justified-gallery-show-caption-animation {
- from {
- opacity: 0;
- }
- to {
- opacity: 0.7;
- }
-}
-@-moz-keyframes justified-gallery-show-caption-animation {
- from {
- opacity: 0;
- }
- to {
- opacity: 0.7;
- }
-}
-@-o-keyframes justified-gallery-show-caption-animation {
- from {
- opacity: 0;
- }
- to {
- opacity: 0.7;
- }
-}
-@keyframes justified-gallery-show-caption-animation {
- from {
- opacity: 0;
- }
- to {
- opacity: 0.7;
- }
-}
-@-webkit-keyframes justified-gallery-show-entry-animation {
- from {
- opacity: 0;
- }
- to {
- opacity: 1.0;
- }
-}
-@-moz-keyframes justified-gallery-show-entry-animation {
- from {
- opacity: 0;
- }
- to {
- opacity: 1.0;
- }
-}
-@-o-keyframes justified-gallery-show-entry-animation {
- from {
- opacity: 0;
- }
- to {
- opacity: 1.0;
- }
-}
-@keyframes justified-gallery-show-entry-animation {
- from {
- opacity: 0;
- }
- to {
- opacity: 1.0;
- }
-}
.justified-gallery {
width: 100%;
position: relative;
@@ -78,9 +14,9 @@
position: absolute;
display: inline-block;
overflow: hidden;
- opacity: 0;
- filter: alpha(opacity=0);
- /* IE8 or Earlier */
+ /* background: #888888; To have gray placeholders while the gallery is loading with waitThumbnailsLoad = false */
+ filter: "alpha(opacity=10)";
+ opacity: 0.1;
}
.justified-gallery > a > img,
.justified-gallery > div > img,
@@ -92,6 +28,8 @@
margin: 0;
padding: 0;
border: none;
+ filter: "alpha(opacity=0)";
+ opacity: 0;
}
.justified-gallery > a > .caption,
.justified-gallery > div > .caption {
@@ -111,20 +49,26 @@
.justified-gallery > a > .caption.caption-visible,
.justified-gallery > div > .caption.caption-visible {
display: initial;
- opacity: 0.7;
filter: "alpha(opacity=70)";
- /* IE8 or Earlier */
- -webkit-animation: justified-gallery-show-caption-animation 500ms 0 ease;
- -moz-animation: justified-gallery-show-caption-animation 500ms 0 ease;
- -ms-animation: justified-gallery-show-caption-animation 500ms 0 ease;
+ opacity: 0.7;
+ -webkit-transition: opacity 500ms ease-in;
+ -moz-transition: opacity 500ms ease-in;
+ -o-transition: opacity 500ms ease-in;
+ transition: opacity 500ms ease-in;
}
.justified-gallery > .entry-visible {
- opacity: 1.0;
- filter: alpha(opacity=100);
- /* IE8 or Earlier */
- -webkit-animation: justified-gallery-show-entry-animation 500ms 0 ease;
- -moz-animation: justified-gallery-show-entry-animation 500ms 0 ease;
- -ms-animation: justified-gallery-show-entry-animation 500ms 0 ease;
+ filter: "alpha(opacity=100)";
+ opacity: 1;
+ background: none;
+}
+.justified-gallery > .entry-visible > img,
+.justified-gallery > .entry-visible > a > img {
+ filter: "alpha(opacity=100)";
+ opacity: 1;
+ -webkit-transition: opacity 500ms ease-in;
+ -moz-transition: opacity 500ms ease-in;
+ -o-transition: opacity 500ms ease-in;
+ transition: opacity 500ms ease-in;
}
.justified-gallery > .jg-filtered {
display: none;
@@ -135,21 +79,17 @@
margin-left: -24px;
padding: 10px 0 10px 0;
left: 50%;
- opacity: initial;
- filter: initial;
+ filter: "alpha(opacity=100)";
+ opacity: 1;
overflow: initial;
}
.justified-gallery > .spinner > span {
display: inline-block;
+ filter: "alpha(opacity=0)";
opacity: 0;
- filter: alpha(opacity=0);
- /* IE8 or Earlier */
width: 8px;
height: 8px;
margin: 0 4px 0 4px;
background-color: #000;
- border-top-left-radius: 6px;
- border-top-right-radius: 6px;
- border-bottom-right-radius: 6px;
- border-bottom-left-radius: 6px;
+ border-radius: 6px;
}
diff --git a/library/justifiedGallery/justifiedGallery.min.css b/library/justifiedGallery/justifiedGallery.min.css
index 09ae4e1f0..78ca2f8d4 100644
--- a/library/justifiedGallery/justifiedGallery.min.css
+++ b/library/justifiedGallery/justifiedGallery.min.css
@@ -1,7 +1,7 @@
/*!
- * Justified Gallery - v3.6.1
+ * Justified Gallery - v3.6.3
* http://miromannino.github.io/Justified-Gallery/
- * Copyright (c) 2015 Miro Mannino
+ * Copyright (c) 2016 Miro Mannino
* Licensed under the MIT license.
*/
-@-webkit-keyframes justified-gallery-show-caption-animation{from{opacity:0}to{opacity:.7}}@-moz-keyframes justified-gallery-show-caption-animation{from{opacity:0}to{opacity:.7}}@-o-keyframes justified-gallery-show-caption-animation{from{opacity:0}to{opacity:.7}}@keyframes justified-gallery-show-caption-animation{from{opacity:0}to{opacity:.7}}@-webkit-keyframes justified-gallery-show-entry-animation{from{opacity:0}to{opacity:1}}@-moz-keyframes justified-gallery-show-entry-animation{from{opacity:0}to{opacity:1}}@-o-keyframes justified-gallery-show-entry-animation{from{opacity:0}to{opacity:1}}@keyframes justified-gallery-show-entry-animation{from{opacity:0}to{opacity:1}}.justified-gallery{width:100%;position:relative;overflow:hidden}.justified-gallery>a,.justified-gallery>div{position:absolute;display:inline-block;overflow:hidden;opacity:0;filter:alpha(opacity=0)}.justified-gallery>a>img,.justified-gallery>div>img,.justified-gallery>a>a>img,.justified-gallery>div>a>img{position:absolute;top:50%;left:50%;margin:0;padding:0;border:0}.justified-gallery>a>.caption,.justified-gallery>div>.caption{display:none;position:absolute;bottom:0;padding:5px;background-color:#000;left:0;right:0;margin:0;color:#fff;font-size:12px;font-weight:300;font-family:sans-serif}.justified-gallery>a>.caption.caption-visible,.justified-gallery>div>.caption.caption-visible{display:initial;opacity:.7;filter:"alpha(opacity=70)";-webkit-animation:justified-gallery-show-caption-animation 500ms 0 ease;-moz-animation:justified-gallery-show-caption-animation 500ms 0 ease;-ms-animation:justified-gallery-show-caption-animation 500ms 0 ease}.justified-gallery>.entry-visible{opacity:1;filter:alpha(opacity=100);-webkit-animation:justified-gallery-show-entry-animation 500ms 0 ease;-moz-animation:justified-gallery-show-entry-animation 500ms 0 ease;-ms-animation:justified-gallery-show-entry-animation 500ms 0 ease}.justified-gallery>.jg-filtered{display:none}.justified-gallery>.spinner{position:absolute;bottom:0;margin-left:-24px;padding:10px 0;left:50%;opacity:initial;filter:initial;overflow:initial}.justified-gallery>.spinner>span{display:inline-block;opacity:0;filter:alpha(opacity=0);width:8px;height:8px;margin:0 4px;background-color:#000;border-top-left-radius:6px;border-top-right-radius:6px;border-bottom-right-radius:6px;border-bottom-left-radius:6px} \ No newline at end of file
+.justified-gallery{width:100%;position:relative;overflow:hidden}.justified-gallery>a,.justified-gallery>div{position:absolute;display:inline-block;overflow:hidden;filter:"alpha(opacity=10)";opacity:.1}.justified-gallery>a>img,.justified-gallery>div>img,.justified-gallery>a>a>img,.justified-gallery>div>a>img{position:absolute;top:50%;left:50%;margin:0;padding:0;border:0;filter:"alpha(opacity=0)";opacity:0}.justified-gallery>a>.caption,.justified-gallery>div>.caption{display:none;position:absolute;bottom:0;padding:5px;background-color:#000;left:0;right:0;margin:0;color:#fff;font-size:12px;font-weight:300;font-family:sans-serif}.justified-gallery>a>.caption.caption-visible,.justified-gallery>div>.caption.caption-visible{display:initial;filter:"alpha(opacity=70)";opacity:.7;-webkit-transition:opacity 500ms ease-in;-moz-transition:opacity 500ms ease-in;-o-transition:opacity 500ms ease-in;transition:opacity 500ms ease-in}.justified-gallery>.entry-visible{filter:"alpha(opacity=100)";opacity:1;background:0 0}.justified-gallery>.entry-visible>img,.justified-gallery>.entry-visible>a>img{filter:"alpha(opacity=100)";opacity:1;-webkit-transition:opacity 500ms ease-in;-moz-transition:opacity 500ms ease-in;-o-transition:opacity 500ms ease-in;transition:opacity 500ms ease-in}.justified-gallery>.jg-filtered{display:none}.justified-gallery>.spinner{position:absolute;bottom:0;margin-left:-24px;padding:10px 0;left:50%;filter:"alpha(opacity=100)";opacity:1;overflow:initial}.justified-gallery>.spinner>span{display:inline-block;filter:"alpha(opacity=0)";opacity:0;width:8px;height:8px;margin:0 4px;background-color:#000;border-radius:6px} \ No newline at end of file
diff --git a/util/add_addon_repo b/util/add_addon_repo
index a8dd9f49a..de19bebfe 100755
--- a/util/add_addon_repo
+++ b/util/add_addon_repo
@@ -5,16 +5,16 @@ if [ $# -lt 2 ]; then
exit 1
fi
-if [[ $1 != *"//github.com/redmatrix"* && $3 != 'insecure' ]]; then
- echo "";
- echo "This is NOT an official project repository.";
- echo "In order to protect you from unverified and";
- echo "possibly malicious content, this repository";
- echo "will not be linked to your site unless you";
- echo "append the word 'insecure' to the command.";
- echo "";
- exit 1
-fi
+#if [[ $1 != *"//github.com/redmatrix"* && $3 != 'insecure' ]]; then
+# echo "";
+# echo "This is NOT an official project repository.";
+# echo "In order to protect you from unverified and";
+# echo "possibly malicious content, this repository";
+# echo "will not be linked to your site unless you";
+# echo "append the word 'insecure' to the command.";
+# echo "";
+# exit 1
+#fi
mkdir -p extend/addon/$2
mkdir addon > /dev/null 2>&1
diff --git a/util/add_theme_repo b/util/add_theme_repo
index 8280c447b..1f8e7c1dd 100755
--- a/util/add_theme_repo
+++ b/util/add_theme_repo
@@ -5,16 +5,16 @@ if [ $# -lt 2 ]; then
exit 1
fi
-if [[ $1 != *"//github.com/redmatrix"* && $3 != 'insecure' ]]; then
- echo "";
- echo "This is NOT an official project repository.";
- echo "In order to protect you from unverified and";
- echo "possibly malicious content, this repository";
- echo "will not be linked to your site unless you";
- echo "append the word 'insecure' to the command.";
- echo "";
- exit 1
-fi
+#if [[ $1 != *"//github.com/redmatrix"* && $3 != 'insecure' ]]; then
+# echo "";
+# echo "This is NOT an official project repository.";
+# echo "In order to protect you from unverified and";
+# echo "possibly malicious content, this repository";
+# echo "will not be linked to your site unless you";
+# echo "append the word 'insecure' to the command.";
+# echo "";
+# exit 1
+#fi
mkdir -p extend/theme/$2
git clone $1 extend/theme/$2
diff --git a/util/add_widget_repo b/util/add_widget_repo
index e7e316ba4..cb3112626 100755
--- a/util/add_widget_repo
+++ b/util/add_widget_repo
@@ -5,16 +5,16 @@ if [ $# -lt 2 ]; then
exit 1
fi
-if [[ $1 != *"//github.com/redmatrix"* && $3 != 'insecure' ]]; then
- echo "";
- echo "This is NOT an official project repository.";
- echo "In order to protect you from unverified and";
- echo "possibly malicious content, this repository";
- echo "will not be linked to your site unless you";
- echo "append the word 'insecure' to the command.";
- echo "";
- exit 1
-fi
+#if [[ $1 != *"//github.com/redmatrix"* && $3 != 'insecure' ]]; then
+# echo "";
+# echo "This is NOT an official project repository.";
+# echo "In order to protect you from unverified and";
+# echo "possibly malicious content, this repository";
+# echo "will not be linked to your site unless you";
+# echo "append the word 'insecure' to the command.";
+# echo "";
+# exit 1
+#fi
mkdir -p extend/widget/$2
mkdir widget > /dev/null 2>&1
diff --git a/util/config b/util/config
index d4bcd5da1..cfe4500b5 100755
--- a/util/config
+++ b/util/config
@@ -48,7 +48,11 @@ EndOfOutput;
return;
}
-
+if($argc > 1 && strpos($argv[1],'.')) {
+ $x = explode('.',$argv[1]);
+ $argv = [ $argv[0], $x[0], $x[1], (($argc > 2) ? $argv[2] : null) ];
+ $argc = $argc + 1;
+}
if($argc > 3) {
set_config($argv[1],$argv[2],$argv[3]);
@@ -67,7 +71,7 @@ if($argc == 2) {
}
if($argc == 1) {
- $r = q("select * from config where 1");
+ $r = q("select * from config where true");
if($r) {
foreach($r as $rr) {
echo "config[{$rr['cat']}][{$rr['k']}] = " . printable_config($rr['v']) . "\n";
diff --git a/util/hmessages.po b/util/hmessages.po
index 75311641c..e5b97c800 100644
--- a/util/hmessages.po
+++ b/util/hmessages.po
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: \n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2016-08-05 00:02-0700\n"
+"POT-Creation-Date: 2016-09-30 00:02-0700\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"
@@ -18,83 +18,87 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
#: ../../Zotlabs/Access/PermissionRoles.php:182
-#: ../../include/permissions.php:939
+#: ../../include/permissions.php:945
msgid "Social Networking"
msgstr ""
#: ../../Zotlabs/Access/PermissionRoles.php:183
-#: ../../include/permissions.php:939
+#: ../../include/permissions.php:945
msgid "Social - Mostly Public"
msgstr ""
#: ../../Zotlabs/Access/PermissionRoles.php:184
-#: ../../include/permissions.php:939
+#: ../../include/permissions.php:945
msgid "Social - Restricted"
msgstr ""
#: ../../Zotlabs/Access/PermissionRoles.php:185
-#: ../../include/permissions.php:939
+#: ../../include/permissions.php:945
msgid "Social - Private"
msgstr ""
#: ../../Zotlabs/Access/PermissionRoles.php:188
-#: ../../include/permissions.php:940
+#: ../../include/permissions.php:946
msgid "Community Forum"
msgstr ""
#: ../../Zotlabs/Access/PermissionRoles.php:189
-#: ../../include/permissions.php:940
+#: ../../include/permissions.php:946
msgid "Forum - Mostly Public"
msgstr ""
#: ../../Zotlabs/Access/PermissionRoles.php:190
-#: ../../include/permissions.php:940
+#: ../../include/permissions.php:946
msgid "Forum - Restricted"
msgstr ""
#: ../../Zotlabs/Access/PermissionRoles.php:191
-#: ../../include/permissions.php:940
+#: ../../include/permissions.php:946
msgid "Forum - Private"
msgstr ""
#: ../../Zotlabs/Access/PermissionRoles.php:194
-#: ../../include/permissions.php:941
+#: ../../include/permissions.php:947
msgid "Feed Republish"
msgstr ""
#: ../../Zotlabs/Access/PermissionRoles.php:195
-#: ../../include/permissions.php:941
+#: ../../include/permissions.php:947
msgid "Feed - Mostly Public"
msgstr ""
#: ../../Zotlabs/Access/PermissionRoles.php:196
-#: ../../include/permissions.php:941
+#: ../../include/permissions.php:947
msgid "Feed - Restricted"
msgstr ""
#: ../../Zotlabs/Access/PermissionRoles.php:199
-#: ../../include/permissions.php:942
+#: ../../include/permissions.php:948
msgid "Special Purpose"
msgstr ""
#: ../../Zotlabs/Access/PermissionRoles.php:200
-#: ../../include/permissions.php:942
+#: ../../include/permissions.php:948
msgid "Special - Celebrity/Soapbox"
msgstr ""
#: ../../Zotlabs/Access/PermissionRoles.php:201
-#: ../../include/permissions.php:942
+#: ../../include/permissions.php:948
msgid "Special - Group Repository"
msgstr ""
-#: ../../Zotlabs/Access/PermissionRoles.php:204 ../../include/selectors.php:49
+#: ../../Zotlabs/Access/PermissionRoles.php:204
+#: ../../Zotlabs/Module/New_channel.php:132
+#: ../../Zotlabs/Module/Register.php:213
+#: ../../Zotlabs/Module/Settings/Channel.php:442
+#: ../../include/permissions.php:949 ../../include/selectors.php:49
#: ../../include/selectors.php:66 ../../include/selectors.php:104
-#: ../../include/selectors.php:140 ../../include/permissions.php:943
+#: ../../include/selectors.php:140
msgid "Other"
msgstr ""
#: ../../Zotlabs/Access/PermissionRoles.php:205
-#: ../../include/permissions.php:943
+#: ../../include/permissions.php:949
msgid "Custom/Expert Mode"
msgstr ""
@@ -102,19 +106,19 @@ msgstr ""
msgid "Can view my channel stream and posts"
msgstr ""
-#: ../../Zotlabs/Access/Permissions.php:31 ../../include/permissions.php:36
+#: ../../Zotlabs/Access/Permissions.php:31 ../../include/permissions.php:42
msgid "Can send me their channel stream and posts"
msgstr ""
-#: ../../Zotlabs/Access/Permissions.php:32 ../../include/permissions.php:30
+#: ../../Zotlabs/Access/Permissions.php:32 ../../include/permissions.php:36
msgid "Can view my default channel profile"
msgstr ""
-#: ../../Zotlabs/Access/Permissions.php:33 ../../include/permissions.php:31
+#: ../../Zotlabs/Access/Permissions.php:33 ../../include/permissions.php:37
msgid "Can view my connections"
msgstr ""
-#: ../../Zotlabs/Access/Permissions.php:34 ../../include/permissions.php:32
+#: ../../Zotlabs/Access/Permissions.php:34 ../../include/permissions.php:38
msgid "Can view my file storage and photos"
msgstr ""
@@ -134,11 +138,11 @@ msgstr ""
msgid "Can post on my channel (wall) page"
msgstr ""
-#: ../../Zotlabs/Access/Permissions.php:39 ../../include/permissions.php:38
+#: ../../Zotlabs/Access/Permissions.php:39 ../../include/permissions.php:44
msgid "Can comment on or like my posts"
msgstr ""
-#: ../../Zotlabs/Access/Permissions.php:40 ../../include/permissions.php:39
+#: ../../Zotlabs/Access/Permissions.php:40 ../../include/permissions.php:45
msgid "Can send me private mail messages"
msgstr ""
@@ -154,7 +158,7 @@ msgstr ""
msgid "Can chat with me"
msgstr ""
-#: ../../Zotlabs/Access/Permissions.php:44 ../../include/permissions.php:47
+#: ../../Zotlabs/Access/Permissions.php:44 ../../include/permissions.php:53
msgid "Can source my public posts in derived channels"
msgstr ""
@@ -162,11 +166,11 @@ msgstr ""
msgid "Can administer my channel"
msgstr ""
-#: ../../Zotlabs/Storage/Browser.php:107 ../../Zotlabs/Storage/Browser.php:239
+#: ../../Zotlabs/Storage/Browser.php:107 ../../Zotlabs/Storage/Browser.php:238
msgid "parent"
msgstr ""
-#: ../../Zotlabs/Storage/Browser.php:131 ../../include/text.php:2633
+#: ../../Zotlabs/Storage/Browser.php:131 ../../include/text.php:2711
msgid "Collection"
msgstr ""
@@ -190,107 +194,111 @@ msgstr ""
msgid "Schedule Outbox"
msgstr ""
-#: ../../Zotlabs/Storage/Browser.php:164 ../../Zotlabs/Module/Photos.php:796
-#: ../../Zotlabs/Module/Photos.php:1241
+#: ../../Zotlabs/Storage/Browser.php:164 ../../Zotlabs/Module/Photos.php:789
+#: ../../Zotlabs/Module/Photos.php:1249
#: ../../Zotlabs/Module/Embedphotos.php:147 ../../Zotlabs/Lib/Apps.php:490
-#: ../../Zotlabs/Lib/Apps.php:565 ../../include/conversation.php:1035
-#: ../../include/widgets.php:1613
+#: ../../Zotlabs/Lib/Apps.php:565 ../../include/conversation.php:1031
+#: ../../include/widgets.php:1683
msgid "Unknown"
msgstr ""
-#: ../../Zotlabs/Storage/Browser.php:226 ../../Zotlabs/Module/Fbrowser.php:85
-#: ../../Zotlabs/Lib/Apps.php:217 ../../include/nav.php:93
-#: ../../include/conversation.php:1654
+#: ../../Zotlabs/Storage/Browser.php:225 ../../Zotlabs/Module/Fbrowser.php:85
+#: ../../Zotlabs/Lib/Apps.php:217 ../../include/nav.php:96
+#: ../../include/conversation.php:1679
msgid "Files"
msgstr ""
-#: ../../Zotlabs/Storage/Browser.php:227
+#: ../../Zotlabs/Storage/Browser.php:226
msgid "Total"
msgstr ""
-#: ../../Zotlabs/Storage/Browser.php:229
+#: ../../Zotlabs/Storage/Browser.php:228
msgid "Shared"
msgstr ""
-#: ../../Zotlabs/Storage/Browser.php:230 ../../Zotlabs/Storage/Browser.php:321
-#: ../../Zotlabs/Module/Webpages.php:215
-#: ../../Zotlabs/Module/New_channel.php:142
+#: ../../Zotlabs/Storage/Browser.php:229 ../../Zotlabs/Storage/Browser.php:321
+#: ../../Zotlabs/Module/Menu.php:118 ../../Zotlabs/Module/New_channel.php:147
#: ../../Zotlabs/Module/Blocks.php:159 ../../Zotlabs/Module/Layouts.php:184
-#: ../../Zotlabs/Module/Menu.php:118
+#: ../../Zotlabs/Module/Webpages.php:239
msgid "Create"
msgstr ""
-#: ../../Zotlabs/Storage/Browser.php:231 ../../Zotlabs/Storage/Browser.php:323
-#: ../../Zotlabs/Module/Photos.php:823 ../../Zotlabs/Module/Photos.php:1362
+#: ../../Zotlabs/Storage/Browser.php:230 ../../Zotlabs/Storage/Browser.php:323
#: ../../Zotlabs/Module/Cover_photo.php:357
+#: ../../Zotlabs/Module/Photos.php:816 ../../Zotlabs/Module/Photos.php:1370
#: ../../Zotlabs/Module/Profile_photo.php:390
-#: ../../Zotlabs/Module/Embedphotos.php:159 ../../include/widgets.php:1626
+#: ../../Zotlabs/Module/Embedphotos.php:159 ../../include/widgets.php:1696
msgid "Upload"
msgstr ""
-#: ../../Zotlabs/Storage/Browser.php:235 ../../Zotlabs/Module/Settings.php:662
-#: ../../Zotlabs/Module/Settings.php:688 ../../Zotlabs/Module/Chat.php:247
-#: ../../Zotlabs/Module/Admin.php:1223
-#: ../../Zotlabs/Module/Sharedwithme.php:99
+#: ../../Zotlabs/Storage/Browser.php:234
+#: ../../Zotlabs/Module/Admin/Channels.php:163
+#: ../../Zotlabs/Module/Sharedwithme.php:99 ../../Zotlabs/Module/Chat.php:250
+#: ../../Zotlabs/Module/Settings/Oauth.php:89
+#: ../../Zotlabs/Module/Settings/Oauth.php:115
msgid "Name"
msgstr ""
-#: ../../Zotlabs/Storage/Browser.php:236
+#: ../../Zotlabs/Storage/Browser.php:235
msgid "Type"
msgstr ""
-#: ../../Zotlabs/Storage/Browser.php:237
-#: ../../Zotlabs/Module/Sharedwithme.php:101 ../../include/text.php:1324
+#: ../../Zotlabs/Storage/Browser.php:236
+#: ../../Zotlabs/Module/Sharedwithme.php:101 ../../include/text.php:1372
msgid "Size"
msgstr ""
-#: ../../Zotlabs/Storage/Browser.php:238
+#: ../../Zotlabs/Storage/Browser.php:237
#: ../../Zotlabs/Module/Sharedwithme.php:102
msgid "Last Modified"
msgstr ""
-#: ../../Zotlabs/Storage/Browser.php:240
+#: ../../Zotlabs/Storage/Browser.php:239
+#: ../../Zotlabs/Module/Admin/Profs.php:154
#: ../../Zotlabs/Module/Connections.php:290
#: ../../Zotlabs/Module/Connections.php:310
#: ../../Zotlabs/Module/Editblock.php:109
#: ../../Zotlabs/Module/Editlayout.php:114
-#: ../../Zotlabs/Module/Editwebpage.php:145
-#: ../../Zotlabs/Module/Editpost.php:84 ../../Zotlabs/Module/Settings.php:722
-#: ../../Zotlabs/Module/Webpages.php:216 ../../Zotlabs/Module/Admin.php:2113
+#: ../../Zotlabs/Module/Editwebpage.php:145 ../../Zotlabs/Module/Menu.php:112
#: ../../Zotlabs/Module/Blocks.php:160 ../../Zotlabs/Module/Layouts.php:192
-#: ../../Zotlabs/Module/Menu.php:112 ../../Zotlabs/Module/Thing.php:260
-#: ../../Zotlabs/Lib/Apps.php:341 ../../Zotlabs/Lib/ThreadItem.php:106
+#: ../../Zotlabs/Module/Webpages.php:240 ../../Zotlabs/Module/Editpost.php:84
+#: ../../Zotlabs/Module/Thing.php:260
+#: ../../Zotlabs/Module/Settings/Oauth.php:149
+#: ../../Zotlabs/Lib/ThreadItem.php:106 ../../Zotlabs/Lib/Apps.php:341
+#: ../../include/channel.php:959 ../../include/channel.php:963
#: ../../include/page_widgets.php:9 ../../include/page_widgets.php:39
-#: ../../include/menu.php:113 ../../include/channel.php:967
-#: ../../include/channel.php:971
+#: ../../include/menu.php:113
msgid "Edit"
msgstr ""
-#: ../../Zotlabs/Storage/Browser.php:241 ../../Zotlabs/Module/Photos.php:1171
+#: ../../Zotlabs/Storage/Browser.php:240
+#: ../../Zotlabs/Module/Admin/Accounts.php:174
+#: ../../Zotlabs/Module/Admin/Channels.php:153
+#: ../../Zotlabs/Module/Admin/Profs.php:155
#: ../../Zotlabs/Module/Connections.php:263
+#: ../../Zotlabs/Module/Connedit.php:607
#: ../../Zotlabs/Module/Editblock.php:134
#: ../../Zotlabs/Module/Editlayout.php:137
-#: ../../Zotlabs/Module/Editwebpage.php:169
-#: ../../Zotlabs/Module/Settings.php:723 ../../Zotlabs/Module/Webpages.php:218
-#: ../../Zotlabs/Module/Group.php:177 ../../Zotlabs/Module/Connedit.php:610
-#: ../../Zotlabs/Module/Admin.php:1039 ../../Zotlabs/Module/Admin.php:1213
-#: ../../Zotlabs/Module/Admin.php:2114 ../../Zotlabs/Module/Blocks.php:162
-#: ../../Zotlabs/Module/Thing.php:261 ../../Zotlabs/Lib/Apps.php:342
-#: ../../Zotlabs/Lib/ThreadItem.php:126 ../../include/conversation.php:660
+#: ../../Zotlabs/Module/Editwebpage.php:170 ../../Zotlabs/Module/Group.php:177
+#: ../../Zotlabs/Module/Photos.php:1179 ../../Zotlabs/Module/Blocks.php:162
+#: ../../Zotlabs/Module/Webpages.php:242 ../../Zotlabs/Module/Thing.php:261
+#: ../../Zotlabs/Module/Settings/Oauth.php:150
+#: ../../Zotlabs/Lib/ThreadItem.php:126 ../../Zotlabs/Lib/Apps.php:342
+#: ../../include/conversation.php:660
msgid "Delete"
msgstr ""
-#: ../../Zotlabs/Storage/Browser.php:301
+#: ../../Zotlabs/Storage/Browser.php:299
#, php-format
msgid "You are using %1$s of your available file storage."
msgstr ""
-#: ../../Zotlabs/Storage/Browser.php:306
+#: ../../Zotlabs/Storage/Browser.php:304
#, php-format
msgid "You are using %1$s of %2$s available file storage. (%3$s&#37;)"
msgstr ""
-#: ../../Zotlabs/Storage/Browser.php:317
+#: ../../Zotlabs/Storage/Browser.php:315
msgid "WARNING:"
msgstr ""
@@ -302,42 +310,39 @@ msgstr ""
msgid "Upload file"
msgstr ""
-#: ../../Zotlabs/Storage/Browser.php:329
+#: ../../Zotlabs/Storage/Browser.php:335
msgid "Drop files here to immediately upload"
msgstr ""
#: ../../Zotlabs/Web/Router.php:65 ../../Zotlabs/Web/WebServer.php:128
#: ../../Zotlabs/Module/Achievements.php:34
-#: ../../Zotlabs/Module/Network.php:15 ../../Zotlabs/Module/Photos.php:73
+#: ../../Zotlabs/Module/Network.php:15 ../../Zotlabs/Module/Channel.php:104
+#: ../../Zotlabs/Module/Channel.php:229 ../../Zotlabs/Module/Channel.php:270
#: ../../Zotlabs/Module/Authtest.php:16 ../../Zotlabs/Module/Bookmarks.php:61
#: ../../Zotlabs/Module/Page.php:35 ../../Zotlabs/Module/Page.php:91
-#: ../../Zotlabs/Module/Connections.php:33
+#: ../../Zotlabs/Module/Mail.php:121 ../../Zotlabs/Module/Connections.php:33
#: ../../Zotlabs/Module/Cover_photo.php:277
#: ../../Zotlabs/Module/Cover_photo.php:290
-#: ../../Zotlabs/Module/Channel.php:104 ../../Zotlabs/Module/Channel.php:225
-#: ../../Zotlabs/Module/Channel.php:266 ../../Zotlabs/Module/Editblock.php:67
+#: ../../Zotlabs/Module/Connedit.php:395 ../../Zotlabs/Module/Editblock.php:67
#: ../../Zotlabs/Module/Editlayout.php:67
#: ../../Zotlabs/Module/Editlayout.php:90
#: ../../Zotlabs/Module/Editwebpage.php:68
#: ../../Zotlabs/Module/Editwebpage.php:89
#: ../../Zotlabs/Module/Editwebpage.php:104
-#: ../../Zotlabs/Module/Editwebpage.php:126
-#: ../../Zotlabs/Module/Editpost.php:17 ../../Zotlabs/Module/Appman.php:75
-#: ../../Zotlabs/Module/Pdledit.php:26 ../../Zotlabs/Module/Filestorage.php:23
+#: ../../Zotlabs/Module/Editwebpage.php:126 ../../Zotlabs/Module/Menu.php:78
+#: ../../Zotlabs/Module/Appman.php:75 ../../Zotlabs/Module/Api.php:12
+#: ../../Zotlabs/Module/Pdledit.php:29 ../../Zotlabs/Module/Filestorage.php:23
#: ../../Zotlabs/Module/Filestorage.php:78
#: ../../Zotlabs/Module/Filestorage.php:93
-#: ../../Zotlabs/Module/Filestorage.php:120
-#: ../../Zotlabs/Module/Settings.php:642 ../../Zotlabs/Module/Events.php:264
-#: ../../Zotlabs/Module/Webpages.php:95 ../../Zotlabs/Module/Group.php:13
-#: ../../Zotlabs/Module/Mail.php:121 ../../Zotlabs/Module/Block.php:26
-#: ../../Zotlabs/Module/Block.php:76 ../../Zotlabs/Module/Connedit.php:398
-#: ../../Zotlabs/Module/Invite.php:17 ../../Zotlabs/Module/Invite.php:91
-#: ../../Zotlabs/Module/Locs.php:87 ../../Zotlabs/Module/Item.php:213
-#: ../../Zotlabs/Module/Item.php:221 ../../Zotlabs/Module/Item.php:1071
-#: ../../Zotlabs/Module/Message.php:18 ../../Zotlabs/Module/Mood.php:116
-#: ../../Zotlabs/Module/Like.php:181 ../../Zotlabs/Module/Chat.php:100
-#: ../../Zotlabs/Module/Chat.php:105 ../../Zotlabs/Module/Mitem.php:115
-#: ../../Zotlabs/Module/New_channel.php:77
+#: ../../Zotlabs/Module/Filestorage.php:120 ../../Zotlabs/Module/Manage.php:10
+#: ../../Zotlabs/Module/Group.php:13 ../../Zotlabs/Module/Block.php:26
+#: ../../Zotlabs/Module/Block.php:76 ../../Zotlabs/Module/Invite.php:17
+#: ../../Zotlabs/Module/Invite.php:91 ../../Zotlabs/Module/Locs.php:87
+#: ../../Zotlabs/Module/Rate.php:113 ../../Zotlabs/Module/Like.php:181
+#: ../../Zotlabs/Module/Profiles.php:203 ../../Zotlabs/Module/Profiles.php:601
+#: ../../Zotlabs/Module/Mitem.php:115 ../../Zotlabs/Module/Message.php:18
+#: ../../Zotlabs/Module/Setup.php:220 ../../Zotlabs/Module/Mood.php:116
+#: ../../Zotlabs/Module/Photos.php:73 ../../Zotlabs/Module/New_channel.php:77
#: ../../Zotlabs/Module/New_channel.php:104
#: ../../Zotlabs/Module/Notifications.php:70 ../../Zotlabs/Module/Poke.php:137
#: ../../Zotlabs/Module/Profile.php:68 ../../Zotlabs/Module/Profile.php:76
@@ -346,44 +351,45 @@ msgstr ""
#: ../../Zotlabs/Module/Layouts.php:89
#: ../../Zotlabs/Module/Profile_photo.php:265
#: ../../Zotlabs/Module/Profile_photo.php:278
-#: ../../Zotlabs/Module/Common.php:39 ../../Zotlabs/Module/Rate.php:113
-#: ../../Zotlabs/Module/Manage.php:10 ../../Zotlabs/Module/Register.php:77
-#: ../../Zotlabs/Module/Regmod.php:21
-#: ../../Zotlabs/Module/Service_limits.php:11 ../../Zotlabs/Module/Menu.php:78
-#: ../../Zotlabs/Module/Setup.php:215 ../../Zotlabs/Module/Sharedwithme.php:11
+#: ../../Zotlabs/Module/Common.php:39 ../../Zotlabs/Module/Settings.php:59
+#: ../../Zotlabs/Module/Register.php:77 ../../Zotlabs/Module/Regmod.php:21
+#: ../../Zotlabs/Module/Webpages.php:116 ../../Zotlabs/Module/Editpost.php:17
+#: ../../Zotlabs/Module/Events.php:264
+#: ../../Zotlabs/Module/Service_limits.php:11
#: ../../Zotlabs/Module/Thing.php:274 ../../Zotlabs/Module/Thing.php:294
-#: ../../Zotlabs/Module/Thing.php:331 ../../Zotlabs/Module/Sources.php:74
-#: ../../Zotlabs/Module/Suggest.php:30 ../../Zotlabs/Module/Profiles.php:203
-#: ../../Zotlabs/Module/Profiles.php:601
+#: ../../Zotlabs/Module/Thing.php:335 ../../Zotlabs/Module/Item.php:214
+#: ../../Zotlabs/Module/Item.php:222 ../../Zotlabs/Module/Item.php:1068
+#: ../../Zotlabs/Module/Sharedwithme.php:11
+#: ../../Zotlabs/Module/Sources.php:74 ../../Zotlabs/Module/Suggest.php:30
#: ../../Zotlabs/Module/Viewconnections.php:28
#: ../../Zotlabs/Module/Viewconnections.php:33
-#: ../../Zotlabs/Module/Viewsrc.php:18 ../../Zotlabs/Module/Api.php:13
-#: ../../Zotlabs/Module/Api.php:18 ../../Zotlabs/Lib/Chatroom.php:137
-#: ../../include/items.php:3448 ../../include/photos.php:27
+#: ../../Zotlabs/Module/Viewsrc.php:18 ../../Zotlabs/Module/Chat.php:100
+#: ../../Zotlabs/Module/Chat.php:105 ../../Zotlabs/Lib/Chatroom.php:137
+#: ../../include/photos.php:27 ../../include/items.php:3506
#: ../../include/attach.php:142 ../../include/attach.php:190
#: ../../include/attach.php:253 ../../include/attach.php:267
#: ../../include/attach.php:274 ../../include/attach.php:339
#: ../../include/attach.php:353 ../../include/attach.php:360
-#: ../../include/attach.php:440 ../../include/attach.php:902
-#: ../../include/attach.php:973 ../../include/attach.php:1125
+#: ../../include/attach.php:440 ../../include/attach.php:909
+#: ../../include/attach.php:980 ../../include/attach.php:1132
msgid "Permission denied."
msgstr ""
-#: ../../Zotlabs/Web/Router.php:146 ../../Zotlabs/Module/Help.php:94
+#: ../../Zotlabs/Web/Router.php:146 ../../include/help.php:56
msgid "Not Found"
msgstr ""
#: ../../Zotlabs/Web/Router.php:149 ../../Zotlabs/Module/Page.php:94
-#: ../../Zotlabs/Module/Display.php:118 ../../Zotlabs/Module/Help.php:97
-#: ../../Zotlabs/Module/Block.php:79
+#: ../../Zotlabs/Module/Block.php:79 ../../Zotlabs/Module/Display.php:120
+#: ../../include/help.php:59
msgid "Page not found."
msgstr ""
-#: ../../Zotlabs/Web/WebServer.php:127 ../../Zotlabs/Module/Dreport.php:10
-#: ../../Zotlabs/Module/Dreport.php:66 ../../Zotlabs/Module/Group.php:72
+#: ../../Zotlabs/Web/WebServer.php:127 ../../Zotlabs/Module/Group.php:72
+#: ../../Zotlabs/Module/Dreport.php:10 ../../Zotlabs/Module/Dreport.php:66
#: ../../Zotlabs/Module/Import_items.php:114 ../../Zotlabs/Module/Like.php:283
#: ../../Zotlabs/Module/Profperm.php:28 ../../Zotlabs/Module/Subthread.php:62
-#: ../../include/items.php:384
+#: ../../include/items.php:403
msgid "Permission denied"
msgstr ""
@@ -402,11 +408,10 @@ msgstr ""
#: ../../Zotlabs/Module/Editblock.php:31
#: ../../Zotlabs/Module/Editlayout.php:31
#: ../../Zotlabs/Module/Editwebpage.php:32
-#: ../../Zotlabs/Module/Filestorage.php:59
-#: ../../Zotlabs/Module/Webpages.php:33 ../../Zotlabs/Module/Hcard.php:12
-#: ../../Zotlabs/Module/Profile.php:20 ../../Zotlabs/Module/Blocks.php:33
-#: ../../Zotlabs/Module/Layouts.php:31 ../../Zotlabs/Module/Connect.php:17
-#: ../../include/channel.php:867
+#: ../../Zotlabs/Module/Filestorage.php:59 ../../Zotlabs/Module/Connect.php:17
+#: ../../Zotlabs/Module/Hcard.php:12 ../../Zotlabs/Module/Profile.php:20
+#: ../../Zotlabs/Module/Blocks.php:33 ../../Zotlabs/Module/Layouts.php:31
+#: ../../Zotlabs/Module/Webpages.php:33 ../../include/channel.php:859
msgid "Requested profile is not available."
msgstr ""
@@ -422,2626 +427,2657 @@ msgstr ""
msgid "Online"
msgstr ""
-#: ../../Zotlabs/Module/Network.php:94
+#: ../../Zotlabs/Module/Network.php:95
msgid "No such group"
msgstr ""
-#: ../../Zotlabs/Module/Network.php:134
+#: ../../Zotlabs/Module/Network.php:135
msgid "No such channel"
msgstr ""
-#: ../../Zotlabs/Module/Network.php:139
+#: ../../Zotlabs/Module/Network.php:140
msgid "forum"
msgstr ""
-#: ../../Zotlabs/Module/Network.php:151
+#: ../../Zotlabs/Module/Network.php:152
msgid "Search Results For:"
msgstr ""
-#: ../../Zotlabs/Module/Network.php:215
+#: ../../Zotlabs/Module/Network.php:218
msgid "Privacy group is empty"
msgstr ""
-#: ../../Zotlabs/Module/Network.php:224
+#: ../../Zotlabs/Module/Network.php:227
msgid "Privacy group: "
msgstr ""
-#: ../../Zotlabs/Module/Network.php:250
+#: ../../Zotlabs/Module/Network.php:253
msgid "Invalid connection."
msgstr ""
-#: ../../Zotlabs/Module/Dreport.php:44
-msgid "Invalid message"
-msgstr ""
-
-#: ../../Zotlabs/Module/Dreport.php:76
-msgid "no results"
-msgstr ""
-
-#: ../../Zotlabs/Module/Dreport.php:91
-msgid "channel sync processed"
+#: ../../Zotlabs/Module/Probe.php:28 ../../Zotlabs/Module/Probe.php:32
+#, php-format
+msgid "Fetching URL returns error: %1$s"
msgstr ""
-#: ../../Zotlabs/Module/Dreport.php:95
-msgid "queued"
+#: ../../Zotlabs/Module/Acl.php:313
+msgid "network"
msgstr ""
-#: ../../Zotlabs/Module/Dreport.php:99
-msgid "posted"
+#: ../../Zotlabs/Module/Acl.php:323
+msgid "RSS"
msgstr ""
-#: ../../Zotlabs/Module/Dreport.php:103
-msgid "accepted for delivery"
+#: ../../Zotlabs/Module/Channel.php:28 ../../Zotlabs/Module/Wiki.php:20
+#: ../../Zotlabs/Module/Chat.php:25
+msgid "You must be logged in to see this page."
msgstr ""
-#: ../../Zotlabs/Module/Dreport.php:107
-msgid "updated"
+#: ../../Zotlabs/Module/Channel.php:40
+msgid "Posts and comments"
msgstr ""
-#: ../../Zotlabs/Module/Dreport.php:110
-msgid "update ignored"
+#: ../../Zotlabs/Module/Channel.php:41
+msgid "Only posts"
msgstr ""
-#: ../../Zotlabs/Module/Dreport.php:113
-msgid "permission denied"
+#: ../../Zotlabs/Module/Channel.php:101
+msgid "Insufficient permissions. Request redirected to profile page."
msgstr ""
-#: ../../Zotlabs/Module/Dreport.php:117
-msgid "recipient not found"
+#: ../../Zotlabs/Module/Import.php:33
+#, php-format
+msgid "Your service plan only allows %d channels."
msgstr ""
-#: ../../Zotlabs/Module/Dreport.php:120
-msgid "mail recalled"
+#: ../../Zotlabs/Module/Import.php:71 ../../Zotlabs/Module/Import_items.php:42
+msgid "Nothing to import."
msgstr ""
-#: ../../Zotlabs/Module/Dreport.php:123
-msgid "duplicate mail received"
+#: ../../Zotlabs/Module/Import.php:95 ../../Zotlabs/Module/Import_items.php:66
+msgid "Unable to download data from old server"
msgstr ""
-#: ../../Zotlabs/Module/Dreport.php:126
-msgid "mail delivered"
+#: ../../Zotlabs/Module/Import.php:101
+#: ../../Zotlabs/Module/Import_items.php:72
+msgid "Imported file is empty."
msgstr ""
-#: ../../Zotlabs/Module/Dreport.php:146
+#: ../../Zotlabs/Module/Import.php:123
+#: ../../Zotlabs/Module/Import_items.php:88
#, php-format
-msgid "Delivery report for %1$s"
-msgstr ""
-
-#: ../../Zotlabs/Module/Dreport.php:149
-msgid "Options"
+msgid "Warning: Database versions differ by %1$d updates."
msgstr ""
-#: ../../Zotlabs/Module/Dreport.php:150
-msgid "Redeliver"
+#: ../../Zotlabs/Module/Import.php:153 ../../include/import.php:107
+msgid "Cloned channel not found. Import failed."
msgstr ""
-#: ../../Zotlabs/Module/Photos.php:82
-msgid "Page owner information could not be retrieved."
+#: ../../Zotlabs/Module/Import.php:163
+msgid "No channel. Import failed."
msgstr ""
-#: ../../Zotlabs/Module/Photos.php:97 ../../Zotlabs/Module/Photos.php:741
-#: ../../Zotlabs/Module/Profile_photo.php:115
-#: ../../Zotlabs/Module/Profile_photo.php:212
-#: ../../Zotlabs/Module/Profile_photo.php:311
-#: ../../include/photo/photo_driver.php:718
-msgid "Profile Photos"
+#: ../../Zotlabs/Module/Import.php:520
+#: ../../include/Import/import_diaspora.php:142
+msgid "Import completed."
msgstr ""
-#: ../../Zotlabs/Module/Photos.php:103 ../../Zotlabs/Module/Photos.php:147
-msgid "Album not found."
+#: ../../Zotlabs/Module/Import.php:542
+msgid "You must be logged in to use this feature."
msgstr ""
-#: ../../Zotlabs/Module/Photos.php:130
-msgid "Delete Album"
+#: ../../Zotlabs/Module/Import.php:547
+msgid "Import Channel"
msgstr ""
-#: ../../Zotlabs/Module/Photos.php:151
+#: ../../Zotlabs/Module/Import.php:548
msgid ""
-"Multiple storage folders exist with this album name, but within different "
-"directories. Please remove the desired folder or folders using the Files "
-"manager"
-msgstr ""
-
-#: ../../Zotlabs/Module/Photos.php:208 ../../Zotlabs/Module/Photos.php:1051
-msgid "Delete Photo"
-msgstr ""
-
-#: ../../Zotlabs/Module/Photos.php:520 ../../Zotlabs/Module/Directory.php:63
-#: ../../Zotlabs/Module/Display.php:17 ../../Zotlabs/Module/Ratings.php:86
-#: ../../Zotlabs/Module/Search.php:17
-#: ../../Zotlabs/Module/Viewconnections.php:23
-msgid "Public access denied."
-msgstr ""
-
-#: ../../Zotlabs/Module/Photos.php:531
-msgid "No photos selected"
-msgstr ""
-
-#: ../../Zotlabs/Module/Photos.php:580
-msgid "Access to this item is restricted."
-msgstr ""
-
-#: ../../Zotlabs/Module/Photos.php:619
-#, php-format
-msgid "%1$.2f MB of %2$.2f MB photo storage used."
-msgstr ""
-
-#: ../../Zotlabs/Module/Photos.php:622
-#, php-format
-msgid "%1$.2f MB photo storage used."
+"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/Photos.php:658
-msgid "Upload Photos"
+#: ../../Zotlabs/Module/Import.php:549
+#: ../../Zotlabs/Module/Import_items.php:121
+msgid "File to Upload"
msgstr ""
-#: ../../Zotlabs/Module/Photos.php:662
-msgid "Enter an album name"
+#: ../../Zotlabs/Module/Import.php:550
+msgid "Or provide the old server/hub details"
msgstr ""
-#: ../../Zotlabs/Module/Photos.php:663
-msgid "or select an existing album (doubleclick)"
+#: ../../Zotlabs/Module/Import.php:551
+msgid "Your old identity address (xyz@example.com)"
msgstr ""
-#: ../../Zotlabs/Module/Photos.php:664
-msgid "Create a status post for this upload"
+#: ../../Zotlabs/Module/Import.php:552
+msgid "Your old login email address"
msgstr ""
-#: ../../Zotlabs/Module/Photos.php:664
-#: ../../Zotlabs/Module/Filestorage.php:156
-#: ../../Zotlabs/Module/Filestorage.php:164
-#: ../../Zotlabs/Module/Settings.php:651 ../../Zotlabs/Module/Events.php:458
-#: ../../Zotlabs/Module/Events.php:459 ../../Zotlabs/Module/Events.php:468
-#: ../../Zotlabs/Module/Connedit.php:411 ../../Zotlabs/Module/Connedit.php:693
-#: ../../Zotlabs/Module/Mitem.php:158 ../../Zotlabs/Module/Mitem.php:159
-#: ../../Zotlabs/Module/Mitem.php:232 ../../Zotlabs/Module/Mitem.php:233
-#: ../../Zotlabs/Module/Admin.php:459 ../../Zotlabs/Module/Removeme.php:63
-#: ../../Zotlabs/Module/Menu.php:100 ../../Zotlabs/Module/Menu.php:157
-#: ../../Zotlabs/Module/Profiles.php:647 ../../Zotlabs/Module/Api.php:89
-#: ../../include/dir_fns.php:143 ../../include/dir_fns.php:144
-#: ../../include/dir_fns.php:145 ../../view/theme/redbasic/php/config.php:105
-#: ../../view/theme/redbasic/php/config.php:130 ../../boot.php:1711
-msgid "No"
+#: ../../Zotlabs/Module/Import.php:553
+msgid "Your old login password"
msgstr ""
-#: ../../Zotlabs/Module/Photos.php:664
-#: ../../Zotlabs/Module/Filestorage.php:156
-#: ../../Zotlabs/Module/Filestorage.php:164
-#: ../../Zotlabs/Module/Settings.php:651 ../../Zotlabs/Module/Events.php:458
-#: ../../Zotlabs/Module/Events.php:459 ../../Zotlabs/Module/Events.php:468
-#: ../../Zotlabs/Module/Connedit.php:411 ../../Zotlabs/Module/Mitem.php:158
-#: ../../Zotlabs/Module/Mitem.php:159 ../../Zotlabs/Module/Mitem.php:232
-#: ../../Zotlabs/Module/Mitem.php:233 ../../Zotlabs/Module/Admin.php:461
-#: ../../Zotlabs/Module/Removeme.php:63 ../../Zotlabs/Module/Menu.php:100
-#: ../../Zotlabs/Module/Menu.php:157 ../../Zotlabs/Module/Profiles.php:647
-#: ../../Zotlabs/Module/Api.php:88 ../../include/dir_fns.php:143
-#: ../../include/dir_fns.php:144 ../../include/dir_fns.php:145
-#: ../../view/theme/redbasic/php/config.php:105
-#: ../../view/theme/redbasic/php/config.php:130 ../../boot.php:1711
-msgid "Yes"
+#: ../../Zotlabs/Module/Import.php:554
+msgid ""
+"For either option, please choose whether to make this hub your new primary "
+"address, or whether your old location should continue this role. You will be "
+"able to post from either location, but only one can be marked as the primary "
+"location for files, photos, and media."
msgstr ""
-#: ../../Zotlabs/Module/Photos.php:665
-msgid "Caption (optional):"
+#: ../../Zotlabs/Module/Import.php:555
+msgid "Make this hub my primary location"
msgstr ""
-#: ../../Zotlabs/Module/Photos.php:666
-msgid "Description (optional):"
+#: ../../Zotlabs/Module/Import.php:556
+msgid ""
+"Import existing posts if possible (experimental - limited by available memory"
msgstr ""
-#: ../../Zotlabs/Module/Photos.php:669 ../../Zotlabs/Module/Photos.php:1043
-#: ../../Zotlabs/Module/Filestorage.php:152 ../../Zotlabs/Module/Chat.php:235
-#: ../../Zotlabs/Module/Thing.php:313 ../../Zotlabs/Module/Thing.php:359
-#: ../../include/acl_selectors.php:281
-msgid "Permissions"
+#: ../../Zotlabs/Module/Import.php:557
+msgid ""
+"This process may take several minutes to complete. Please submit the form "
+"only once and leave this page open until finished."
msgstr ""
-#: ../../Zotlabs/Module/Photos.php:675 ../../Zotlabs/Module/Photos.php:1050
-#: ../../Zotlabs/Module/Photos.php:1090 ../../Zotlabs/Module/Photos.php:1208
-#: ../../Zotlabs/Module/Appman.php:126 ../../Zotlabs/Module/Pdledit.php:66
-#: ../../Zotlabs/Module/Filestorage.php:161
-#: ../../Zotlabs/Module/Settings.php:660 ../../Zotlabs/Module/Settings.php:773
-#: ../../Zotlabs/Module/Settings.php:864 ../../Zotlabs/Module/Settings.php:890
-#: ../../Zotlabs/Module/Settings.php:913
-#: ../../Zotlabs/Module/Settings.php:1001
-#: ../../Zotlabs/Module/Settings.php:1187 ../../Zotlabs/Module/Events.php:474
-#: ../../Zotlabs/Module/Group.php:85 ../../Zotlabs/Module/Mail.php:370
-#: ../../Zotlabs/Module/Connedit.php:786
+#: ../../Zotlabs/Module/Import.php:560
+#: ../../Zotlabs/Module/Admin/Accounts.php:167
+#: ../../Zotlabs/Module/Admin/Channels.php:151
+#: ../../Zotlabs/Module/Admin/Features.php:66
+#: ../../Zotlabs/Module/Admin/Logs.php:84
+#: ../../Zotlabs/Module/Admin/Plugins.php:429
+#: ../../Zotlabs/Module/Admin/Profs.php:157
+#: ../../Zotlabs/Module/Admin/Security.php:104
+#: ../../Zotlabs/Module/Admin/Site.php:267
+#: ../../Zotlabs/Module/Admin/Themes.php:156 ../../Zotlabs/Module/Mail.php:370
+#: ../../Zotlabs/Module/Connedit.php:779 ../../Zotlabs/Module/Appman.php:126
+#: ../../Zotlabs/Module/Pdledit.php:74
+#: ../../Zotlabs/Module/Filestorage.php:165
+#: ../../Zotlabs/Module/Connect.php:98 ../../Zotlabs/Module/Group.php:85
#: ../../Zotlabs/Module/Import_items.php:122
#: ../../Zotlabs/Module/Invite.php:146 ../../Zotlabs/Module/Locs.php:121
-#: ../../Zotlabs/Module/Import.php:560 ../../Zotlabs/Module/Mood.php:139
-#: ../../Zotlabs/Module/Chat.php:196 ../../Zotlabs/Module/Chat.php:238
-#: ../../Zotlabs/Module/Mitem.php:235 ../../Zotlabs/Module/Admin.php:492
-#: ../../Zotlabs/Module/Admin.php:688 ../../Zotlabs/Module/Admin.php:771
-#: ../../Zotlabs/Module/Admin.php:1032 ../../Zotlabs/Module/Admin.php:1211
-#: ../../Zotlabs/Module/Admin.php:1421 ../../Zotlabs/Module/Admin.php:1648
-#: ../../Zotlabs/Module/Admin.php:1733 ../../Zotlabs/Module/Admin.php:2116
+#: ../../Zotlabs/Module/Rate.php:166 ../../Zotlabs/Module/Profiles.php:687
+#: ../../Zotlabs/Module/Mitem.php:243 ../../Zotlabs/Module/Setup.php:317
+#: ../../Zotlabs/Module/Setup.php:365 ../../Zotlabs/Module/Mood.php:139
+#: ../../Zotlabs/Module/Photos.php:668 ../../Zotlabs/Module/Photos.php:1058
+#: ../../Zotlabs/Module/Photos.php:1098 ../../Zotlabs/Module/Photos.php:1216
#: ../../Zotlabs/Module/Poke.php:186 ../../Zotlabs/Module/Pconfig.php:107
-#: ../../Zotlabs/Module/Cal.php:338 ../../Zotlabs/Module/Rate.php:170
-#: ../../Zotlabs/Module/Connect.php:98 ../../Zotlabs/Module/Setup.php:312
-#: ../../Zotlabs/Module/Setup.php:353 ../../Zotlabs/Module/Thing.php:316
-#: ../../Zotlabs/Module/Thing.php:362 ../../Zotlabs/Module/Sources.php:114
-#: ../../Zotlabs/Module/Sources.php:149 ../../Zotlabs/Module/Profiles.php:687
-#: ../../Zotlabs/Module/Xchan.php:15 ../../Zotlabs/Lib/ThreadItem.php:710
-#: ../../include/js_strings.php:22 ../../include/widgets.php:763
-#: ../../view/theme/redbasic/php/config.php:99
+#: ../../Zotlabs/Module/Cal.php:338 ../../Zotlabs/Module/Events.php:484
+#: ../../Zotlabs/Module/Thing.php:320 ../../Zotlabs/Module/Thing.php:370
+#: ../../Zotlabs/Module/Sources.php:114 ../../Zotlabs/Module/Sources.php:149
+#: ../../Zotlabs/Module/Chat.php:196 ../../Zotlabs/Module/Chat.php:241
+#: ../../Zotlabs/Module/Xchan.php:15
+#: ../../Zotlabs/Module/Settings/Account.php:126
+#: ../../Zotlabs/Module/Settings/Channel.php:452
+#: ../../Zotlabs/Module/Settings/Display.php:194
+#: ../../Zotlabs/Module/Settings/Features.php:47
+#: ../../Zotlabs/Module/Settings/Oauth.php:87
+#: ../../Zotlabs/Module/Settings/Tokens.php:167
+#: ../../Zotlabs/Lib/ThreadItem.php:725 ../../include/js_strings.php:22
+#: ../../include/widgets.php:796 ../../view/theme/redbasic/php/config.php:106
msgid "Submit"
msgstr ""
-#: ../../Zotlabs/Module/Photos.php:693
-msgid "Album name could not be decoded"
+#: ../../Zotlabs/Module/Bookmarks.php:53
+msgid "Bookmark added"
msgstr ""
-#: ../../Zotlabs/Module/Photos.php:741
-msgid "Contact Photos"
+#: ../../Zotlabs/Module/Bookmarks.php:75
+msgid "My Bookmarks"
msgstr ""
-#: ../../Zotlabs/Module/Photos.php:764
-msgid "Show Newest First"
+#: ../../Zotlabs/Module/Bookmarks.php:86
+msgid "My Connections Bookmarks"
msgstr ""
-#: ../../Zotlabs/Module/Photos.php:766
-msgid "Show Oldest First"
-msgstr ""
+#: ../../Zotlabs/Module/Admin/Accounts.php:36
+#, php-format
+msgid "%s account blocked/unblocked"
+msgid_plural "%s account blocked/unblocked"
+msgstr[0] ""
+msgstr[1] ""
-#: ../../Zotlabs/Module/Photos.php:790 ../../Zotlabs/Module/Photos.php:1329
-#: ../../Zotlabs/Module/Embedphotos.php:141 ../../include/widgets.php:1607
-msgid "View Photo"
-msgstr ""
+#: ../../Zotlabs/Module/Admin/Accounts.php:43
+#, php-format
+msgid "%s account deleted"
+msgid_plural "%s accounts deleted"
+msgstr[0] ""
+msgstr[1] ""
-#: ../../Zotlabs/Module/Photos.php:821
-#: ../../Zotlabs/Module/Embedphotos.php:157 ../../include/widgets.php:1624
-msgid "Edit Album"
+#: ../../Zotlabs/Module/Admin/Accounts.php:79
+msgid "Account not found"
msgstr ""
-#: ../../Zotlabs/Module/Photos.php:868
-msgid "Permission denied. Access to this item may be restricted."
+#: ../../Zotlabs/Module/Admin/Accounts.php:90
+#, php-format
+msgid "Account '%s' deleted"
msgstr ""
-#: ../../Zotlabs/Module/Photos.php:870
-msgid "Photo not available"
+#: ../../Zotlabs/Module/Admin/Accounts.php:98
+#, php-format
+msgid "Account '%s' blocked"
msgstr ""
-#: ../../Zotlabs/Module/Photos.php:928
-msgid "Use as profile photo"
+#: ../../Zotlabs/Module/Admin/Accounts.php:106
+#, php-format
+msgid "Account '%s' unblocked"
msgstr ""
-#: ../../Zotlabs/Module/Photos.php:929
-msgid "Use as cover photo"
+#: ../../Zotlabs/Module/Admin/Accounts.php:165
+#: ../../Zotlabs/Module/Admin/Channels.php:149
+#: ../../Zotlabs/Module/Admin/Logs.php:82
+#: ../../Zotlabs/Module/Admin/Plugins.php:336
+#: ../../Zotlabs/Module/Admin/Plugins.php:427
+#: ../../Zotlabs/Module/Admin/Security.php:86
+#: ../../Zotlabs/Module/Admin/Site.php:265
+#: ../../Zotlabs/Module/Admin/Themes.php:120
+#: ../../Zotlabs/Module/Admin/Themes.php:154
+#: ../../Zotlabs/Module/Admin.php:141
+msgid "Administration"
msgstr ""
-#: ../../Zotlabs/Module/Photos.php:936
-msgid "Private Photo"
+#: ../../Zotlabs/Module/Admin/Accounts.php:166
+#: ../../Zotlabs/Module/Admin/Accounts.php:179 ../../include/widgets.php:1561
+msgid "Accounts"
msgstr ""
-#: ../../Zotlabs/Module/Photos.php:947 ../../Zotlabs/Module/Events.php:665
-#: ../../Zotlabs/Module/Events.php:674 ../../Zotlabs/Module/Cal.php:332
-#: ../../Zotlabs/Module/Cal.php:339
-msgid "Previous"
+#: ../../Zotlabs/Module/Admin/Accounts.php:168
+#: ../../Zotlabs/Module/Admin/Channels.php:152
+msgid "select all"
msgstr ""
-#: ../../Zotlabs/Module/Photos.php:951
-msgid "View Full Size"
+#: ../../Zotlabs/Module/Admin/Accounts.php:169
+msgid "Registrations waiting for confirm"
msgstr ""
-#: ../../Zotlabs/Module/Photos.php:956 ../../Zotlabs/Module/Events.php:666
-#: ../../Zotlabs/Module/Events.php:675 ../../Zotlabs/Module/Cal.php:333
-#: ../../Zotlabs/Module/Cal.php:340 ../../Zotlabs/Module/Setup.php:267
-msgid "Next"
+#: ../../Zotlabs/Module/Admin/Accounts.php:170
+msgid "Request date"
msgstr ""
-#: ../../Zotlabs/Module/Photos.php:996 ../../Zotlabs/Module/Admin.php:1437
-#: ../../Zotlabs/Module/Tagrm.php:137
-msgid "Remove"
+#: ../../Zotlabs/Module/Admin/Accounts.php:170
+#: ../../Zotlabs/Module/Admin/Accounts.php:182 ../../include/network.php:2212
+msgid "Email"
msgstr ""
-#: ../../Zotlabs/Module/Photos.php:1030
-msgid "Edit photo"
+#: ../../Zotlabs/Module/Admin/Accounts.php:171
+msgid "No registrations."
msgstr ""
-#: ../../Zotlabs/Module/Photos.php:1032
-msgid "Rotate CW (right)"
+#: ../../Zotlabs/Module/Admin/Accounts.php:172
+#: ../../Zotlabs/Module/Connections.php:275
+msgid "Approve"
msgstr ""
-#: ../../Zotlabs/Module/Photos.php:1033
-msgid "Rotate CCW (left)"
+#: ../../Zotlabs/Module/Admin/Accounts.php:173
+msgid "Deny"
msgstr ""
-#: ../../Zotlabs/Module/Photos.php:1036
-msgid "Enter a new album name"
+#: ../../Zotlabs/Module/Admin/Accounts.php:175
+#: ../../Zotlabs/Module/Connedit.php:575
+msgid "Block"
msgstr ""
-#: ../../Zotlabs/Module/Photos.php:1037
-msgid "or select an existing one (doubleclick)"
+#: ../../Zotlabs/Module/Admin/Accounts.php:176
+#: ../../Zotlabs/Module/Connedit.php:575
+msgid "Unblock"
msgstr ""
-#: ../../Zotlabs/Module/Photos.php:1040
-msgid "Caption"
+#: ../../Zotlabs/Module/Admin/Accounts.php:181
+msgid "ID"
msgstr ""
-#: ../../Zotlabs/Module/Photos.php:1042
-msgid "Add a Tag"
+#: ../../Zotlabs/Module/Admin/Accounts.php:183 ../../include/group.php:267
+msgid "All Channels"
msgstr ""
-#: ../../Zotlabs/Module/Photos.php:1046
-msgid "Example: @bob, @Barbara_Jensen, @jim@example.com"
+#: ../../Zotlabs/Module/Admin/Accounts.php:184
+msgid "Register date"
msgstr ""
-#: ../../Zotlabs/Module/Photos.php:1049
-msgid "Flag as adult in album view"
+#: ../../Zotlabs/Module/Admin/Accounts.php:185
+msgid "Last login"
msgstr ""
-#: ../../Zotlabs/Module/Photos.php:1068 ../../Zotlabs/Lib/ThreadItem.php:261
-msgid "I like this (toggle)"
+#: ../../Zotlabs/Module/Admin/Accounts.php:186
+msgid "Expires"
msgstr ""
-#: ../../Zotlabs/Module/Photos.php:1069 ../../Zotlabs/Lib/ThreadItem.php:262
-msgid "I don't like this (toggle)"
+#: ../../Zotlabs/Module/Admin/Accounts.php:187
+msgid "Service Class"
msgstr ""
-#: ../../Zotlabs/Module/Photos.php:1070 ../../Zotlabs/Module/Webpages.php:217
-#: ../../Zotlabs/Module/Blocks.php:161 ../../Zotlabs/Module/Layouts.php:193
-#: ../../include/conversation.php:1219
-msgid "Share"
+#: ../../Zotlabs/Module/Admin/Accounts.php:189
+msgid ""
+"Selected accounts will be deleted!\\n\\nEverything these accounts had posted "
+"on this site will be permanently deleted!\\n\\nAre you sure?"
msgstr ""
-#: ../../Zotlabs/Module/Photos.php:1071 ../../Zotlabs/Lib/ThreadItem.php:397
-#: ../../include/conversation.php:743
-msgid "Please wait"
+#: ../../Zotlabs/Module/Admin/Accounts.php:190
+msgid ""
+"The account {0} will be deleted!\\n\\nEverything this account has posted on "
+"this site will be permanently deleted!\\n\\nAre you sure?"
msgstr ""
-#: ../../Zotlabs/Module/Photos.php:1087 ../../Zotlabs/Module/Photos.php:1205
-#: ../../Zotlabs/Lib/ThreadItem.php:707
-msgid "This is you"
-msgstr ""
+#: ../../Zotlabs/Module/Admin/Channels.php:30
+#, php-format
+msgid "%s channel censored/uncensored"
+msgid_plural "%s channels censored/uncensored"
+msgstr[0] ""
+msgstr[1] ""
-#: ../../Zotlabs/Module/Photos.php:1089 ../../Zotlabs/Module/Photos.php:1207
-#: ../../Zotlabs/Lib/ThreadItem.php:709 ../../include/js_strings.php:6
-msgid "Comment"
-msgstr ""
+#: ../../Zotlabs/Module/Admin/Channels.php:39
+#, php-format
+msgid "%s channel code allowed/disallowed"
+msgid_plural "%s channels code allowed/disallowed"
+msgstr[0] ""
+msgstr[1] ""
-#: ../../Zotlabs/Module/Photos.php:1091 ../../Zotlabs/Module/Events.php:469
-#: ../../Zotlabs/Module/Webpages.php:223 ../../Zotlabs/Lib/ThreadItem.php:719
-#: ../../include/page_widgets.php:43 ../../include/conversation.php:1198
-msgid "Preview"
-msgstr ""
+#: ../../Zotlabs/Module/Admin/Channels.php:45
+#, php-format
+msgid "%s channel deleted"
+msgid_plural "%s channels deleted"
+msgstr[0] ""
+msgstr[1] ""
-#: ../../Zotlabs/Module/Photos.php:1105 ../../include/conversation.php:577
-msgctxt "title"
-msgid "Likes"
+#: ../../Zotlabs/Module/Admin/Channels.php:66
+msgid "Channel not found"
msgstr ""
-#: ../../Zotlabs/Module/Photos.php:1105 ../../include/conversation.php:577
-msgctxt "title"
-msgid "Dislikes"
+#: ../../Zotlabs/Module/Admin/Channels.php:76
+#, php-format
+msgid "Channel '%s' deleted"
msgstr ""
-#: ../../Zotlabs/Module/Photos.php:1106 ../../include/conversation.php:578
-msgctxt "title"
-msgid "Agree"
+#: ../../Zotlabs/Module/Admin/Channels.php:88
+#, php-format
+msgid "Channel '%s' censored"
msgstr ""
-#: ../../Zotlabs/Module/Photos.php:1106 ../../include/conversation.php:578
-msgctxt "title"
-msgid "Disagree"
+#: ../../Zotlabs/Module/Admin/Channels.php:88
+#, php-format
+msgid "Channel '%s' uncensored"
msgstr ""
-#: ../../Zotlabs/Module/Photos.php:1106 ../../include/conversation.php:578
-msgctxt "title"
-msgid "Abstain"
+#: ../../Zotlabs/Module/Admin/Channels.php:99
+#, php-format
+msgid "Channel '%s' code allowed"
msgstr ""
-#: ../../Zotlabs/Module/Photos.php:1107 ../../include/conversation.php:579
-msgctxt "title"
-msgid "Attending"
+#: ../../Zotlabs/Module/Admin/Channels.php:99
+#, php-format
+msgid "Channel '%s' code disallowed"
msgstr ""
-#: ../../Zotlabs/Module/Photos.php:1107 ../../include/conversation.php:579
-msgctxt "title"
-msgid "Not attending"
+#: ../../Zotlabs/Module/Admin/Channels.php:150 ../../include/widgets.php:1562
+msgid "Channels"
msgstr ""
-#: ../../Zotlabs/Module/Photos.php:1107 ../../include/conversation.php:579
-msgctxt "title"
-msgid "Might attend"
+#: ../../Zotlabs/Module/Admin/Channels.php:154
+msgid "Censor"
msgstr ""
-#: ../../Zotlabs/Module/Photos.php:1124 ../../Zotlabs/Module/Photos.php:1136
-#: ../../Zotlabs/Lib/ThreadItem.php:181 ../../Zotlabs/Lib/ThreadItem.php:193
-#: ../../include/conversation.php:1738
-msgid "View all"
+#: ../../Zotlabs/Module/Admin/Channels.php:155
+msgid "Uncensor"
msgstr ""
-#: ../../Zotlabs/Module/Photos.php:1128 ../../Zotlabs/Lib/ThreadItem.php:185
-#: ../../include/conversation.php:1762 ../../include/taxonomy.php:403
-#: ../../include/channel.php:1189
-msgctxt "noun"
-msgid "Like"
-msgid_plural "Likes"
-msgstr[0] ""
-msgstr[1] ""
-
-#: ../../Zotlabs/Module/Photos.php:1133 ../../Zotlabs/Lib/ThreadItem.php:190
-#: ../../include/conversation.php:1765
-msgctxt "noun"
-msgid "Dislike"
-msgid_plural "Dislikes"
-msgstr[0] ""
-msgstr[1] ""
-
-#: ../../Zotlabs/Module/Photos.php:1233
-msgid "Photo Tools"
+#: ../../Zotlabs/Module/Admin/Channels.php:156
+msgid "Allow Code"
msgstr ""
-#: ../../Zotlabs/Module/Photos.php:1242
-msgid "In This Photo:"
+#: ../../Zotlabs/Module/Admin/Channels.php:157
+msgid "Disallow Code"
msgstr ""
-#: ../../Zotlabs/Module/Photos.php:1247
-msgid "Map"
+#: ../../Zotlabs/Module/Admin/Channels.php:158
+#: ../../include/conversation.php:1651
+msgid "Channel"
msgstr ""
-#: ../../Zotlabs/Module/Photos.php:1255 ../../Zotlabs/Lib/ThreadItem.php:386
-msgctxt "noun"
-msgid "Likes"
+#: ../../Zotlabs/Module/Admin/Channels.php:162
+msgid "UID"
msgstr ""
-#: ../../Zotlabs/Module/Photos.php:1256 ../../Zotlabs/Lib/ThreadItem.php:387
-msgctxt "noun"
-msgid "Dislikes"
+#: ../../Zotlabs/Module/Admin/Channels.php:164
+#: ../../Zotlabs/Module/Locs.php:118 ../../Zotlabs/Module/Profiles.php:470
+msgid "Address"
msgstr ""
-#: ../../Zotlabs/Module/Photos.php:1261 ../../Zotlabs/Lib/ThreadItem.php:392
-#: ../../include/acl_selectors.php:283
-msgid "Close"
+#: ../../Zotlabs/Module/Admin/Channels.php:166
+msgid ""
+"Selected channels will be deleted!\\n\\nEverything that was posted in these "
+"channels on this site will be permanently deleted!\\n\\nAre you sure?"
msgstr ""
-#: ../../Zotlabs/Module/Photos.php:1335
-msgid "View Album"
+#: ../../Zotlabs/Module/Admin/Channels.php:167
+msgid ""
+"The channel {0} will be deleted!\\n\\nEverything that was posted in this "
+"channel on this site will be permanently deleted!\\n\\nAre you sure?"
msgstr ""
-#: ../../Zotlabs/Module/Photos.php:1346 ../../Zotlabs/Module/Photos.php:1359
-#: ../../Zotlabs/Module/Photos.php:1360
-msgid "Recent Photos"
+#: ../../Zotlabs/Module/Admin/Dbsync.php:19
+msgid "Update has been marked successful"
msgstr ""
-#: ../../Zotlabs/Module/Directory.php:243
+#: ../../Zotlabs/Module/Admin/Dbsync.php:29
#, php-format
-msgid "%d rating"
-msgid_plural "%d ratings"
-msgstr[0] ""
-msgstr[1] ""
+msgid "Executing %s failed. Check system logs."
+msgstr ""
-#: ../../Zotlabs/Module/Directory.php:254
-msgid "Gender: "
+#: ../../Zotlabs/Module/Admin/Dbsync.php:32
+#, php-format
+msgid "Update %s was successfully applied."
msgstr ""
-#: ../../Zotlabs/Module/Directory.php:256
-msgid "Status: "
+#: ../../Zotlabs/Module/Admin/Dbsync.php:36
+#, php-format
+msgid "Update %s did not return a status. Unknown if it succeeded."
msgstr ""
-#: ../../Zotlabs/Module/Directory.php:258
-msgid "Homepage: "
+#: ../../Zotlabs/Module/Admin/Dbsync.php:39
+#, php-format
+msgid "Update function %s could not be found."
msgstr ""
-#: ../../Zotlabs/Module/Directory.php:306 ../../include/channel.php:1214
-msgid "Age:"
+#: ../../Zotlabs/Module/Admin/Dbsync.php:55
+msgid "No failed updates."
msgstr ""
-#: ../../Zotlabs/Module/Directory.php:311 ../../include/event.php:52
-#: ../../include/event.php:84 ../../include/bb2diaspora.php:507
-#: ../../include/channel.php:1057
-msgid "Location:"
+#: ../../Zotlabs/Module/Admin/Dbsync.php:59
+msgid "Failed Updates"
msgstr ""
-#: ../../Zotlabs/Module/Directory.php:317
-msgid "Description:"
+#: ../../Zotlabs/Module/Admin/Dbsync.php:61
+msgid "Mark success (if update was manually applied)"
msgstr ""
-#: ../../Zotlabs/Module/Directory.php:322 ../../include/channel.php:1230
-msgid "Hometown:"
+#: ../../Zotlabs/Module/Admin/Dbsync.php:62
+msgid "Attempt to execute this update step automatically"
msgstr ""
-#: ../../Zotlabs/Module/Directory.php:324 ../../include/channel.php:1238
-msgid "About:"
+#: ../../Zotlabs/Module/Admin/Features.php:55
+#: ../../Zotlabs/Module/Admin/Features.php:56
+#: ../../Zotlabs/Module/Settings/Features.php:38
+msgid "Off"
msgstr ""
-#: ../../Zotlabs/Module/Directory.php:325 ../../Zotlabs/Module/Match.php:68
-#: ../../Zotlabs/Module/Suggest.php:56 ../../include/connections.php:78
-#: ../../include/conversation.php:959 ../../include/widgets.php:147
-#: ../../include/widgets.php:184 ../../include/channel.php:1042
-msgid "Connect"
+#: ../../Zotlabs/Module/Admin/Features.php:55
+#: ../../Zotlabs/Module/Admin/Features.php:56
+#: ../../Zotlabs/Module/Settings/Features.php:38
+msgid "On"
msgstr ""
-#: ../../Zotlabs/Module/Directory.php:326
-msgid "Public Forum:"
+#: ../../Zotlabs/Module/Admin/Features.php:56
+#, php-format
+msgid "Lock feature %s"
msgstr ""
-#: ../../Zotlabs/Module/Directory.php:329
-msgid "Keywords: "
+#: ../../Zotlabs/Module/Admin/Features.php:64
+msgid "Manage Additional Features"
msgstr ""
-#: ../../Zotlabs/Module/Directory.php:332
-msgid "Don't suggest"
+#: ../../Zotlabs/Module/Admin/Logs.php:28
+msgid "Log settings updated."
msgstr ""
-#: ../../Zotlabs/Module/Directory.php:334
-msgid "Common connections:"
+#: ../../Zotlabs/Module/Admin/Logs.php:83 ../../include/widgets.php:1587
+#: ../../include/widgets.php:1597
+msgid "Logs"
msgstr ""
-#: ../../Zotlabs/Module/Directory.php:383
-msgid "Global Directory"
+#: ../../Zotlabs/Module/Admin/Logs.php:85
+msgid "Clear"
msgstr ""
-#: ../../Zotlabs/Module/Directory.php:383
-msgid "Local Directory"
+#: ../../Zotlabs/Module/Admin/Logs.php:91
+msgid "Debugging"
msgstr ""
-#: ../../Zotlabs/Module/Directory.php:388
-#: ../../Zotlabs/Module/Directory.php:393
-#: ../../Zotlabs/Module/Connections.php:309
-#: ../../include/contact_widgets.php:23
-msgid "Find"
+#: ../../Zotlabs/Module/Admin/Logs.php:92
+msgid "Log file"
msgstr ""
-#: ../../Zotlabs/Module/Directory.php:389
-msgid "Finding:"
+#: ../../Zotlabs/Module/Admin/Logs.php:92
+msgid ""
+"Must be writable by web server. Relative to your top-level webserver "
+"directory."
msgstr ""
-#: ../../Zotlabs/Module/Directory.php:392 ../../Zotlabs/Module/Suggest.php:64
-#: ../../include/contact_widgets.php:24
-msgid "Channel Suggestions"
+#: ../../Zotlabs/Module/Admin/Logs.php:93
+msgid "Log level"
msgstr ""
-#: ../../Zotlabs/Module/Directory.php:394
-msgid "next page"
+#: ../../Zotlabs/Module/Admin/Plugins.php:254
+#: ../../Zotlabs/Module/Admin/Themes.php:69
+#: ../../Zotlabs/Module/Filestorage.php:32 ../../Zotlabs/Module/Display.php:40
+#: ../../Zotlabs/Module/Admin.php:62 ../../Zotlabs/Module/Thing.php:89
+#: ../../Zotlabs/Module/Viewsrc.php:24 ../../include/items.php:3427
+msgid "Item not found."
msgstr ""
-#: ../../Zotlabs/Module/Directory.php:394
-msgid "previous page"
+#: ../../Zotlabs/Module/Admin/Plugins.php:284
+#, php-format
+msgid "Plugin %s disabled."
msgstr ""
-#: ../../Zotlabs/Module/Directory.php:395
-msgid "Sort options"
+#: ../../Zotlabs/Module/Admin/Plugins.php:289
+#, php-format
+msgid "Plugin %s enabled."
msgstr ""
-#: ../../Zotlabs/Module/Directory.php:396
-msgid "Alphabetic"
+#: ../../Zotlabs/Module/Admin/Plugins.php:305
+#: ../../Zotlabs/Module/Admin/Themes.php:93
+msgid "Disable"
msgstr ""
-#: ../../Zotlabs/Module/Directory.php:397
-msgid "Reverse Alphabetic"
+#: ../../Zotlabs/Module/Admin/Plugins.php:308
+#: ../../Zotlabs/Module/Admin/Themes.php:95
+msgid "Enable"
msgstr ""
-#: ../../Zotlabs/Module/Directory.php:398
-msgid "Newest to Oldest"
+#: ../../Zotlabs/Module/Admin/Plugins.php:337
+#: ../../Zotlabs/Module/Admin/Plugins.php:428 ../../include/widgets.php:1565
+msgid "Plugins"
msgstr ""
-#: ../../Zotlabs/Module/Directory.php:399
-msgid "Oldest to Newest"
+#: ../../Zotlabs/Module/Admin/Plugins.php:338
+#: ../../Zotlabs/Module/Admin/Themes.php:122
+msgid "Toggle"
msgstr ""
-#: ../../Zotlabs/Module/Directory.php:416
-msgid "No entries (some entries may be hidden)."
+#: ../../Zotlabs/Module/Admin/Plugins.php:339
+#: ../../Zotlabs/Module/Admin/Themes.php:123 ../../Zotlabs/Lib/Apps.php:216
+#: ../../include/nav.php:213 ../../include/widgets.php:680
+msgid "Settings"
msgstr ""
-#: ../../Zotlabs/Module/Probe.php:28 ../../Zotlabs/Module/Probe.php:32
-#, php-format
-msgid "Fetching URL returns error: %1$s"
+#: ../../Zotlabs/Module/Admin/Plugins.php:346
+#: ../../Zotlabs/Module/Admin/Themes.php:132
+msgid "Author: "
msgstr ""
-#: ../../Zotlabs/Module/Rmagic.php:35
-msgid "Authentication failed."
+#: ../../Zotlabs/Module/Admin/Plugins.php:347
+#: ../../Zotlabs/Module/Admin/Themes.php:133
+msgid "Maintainer: "
msgstr ""
-#: ../../Zotlabs/Module/Rmagic.php:75
-msgid "Remote Authentication"
+#: ../../Zotlabs/Module/Admin/Plugins.php:348
+msgid "Minimum project version: "
msgstr ""
-#: ../../Zotlabs/Module/Rmagic.php:76
-msgid "Enter your channel address (e.g. channel@example.com)"
+#: ../../Zotlabs/Module/Admin/Plugins.php:349
+msgid "Maximum project version: "
msgstr ""
-#: ../../Zotlabs/Module/Rmagic.php:77
-msgid "Authenticate"
+#: ../../Zotlabs/Module/Admin/Plugins.php:350
+msgid "Minimum PHP version: "
msgstr ""
-#: ../../Zotlabs/Module/Bookmarks.php:53
-msgid "Bookmark added"
+#: ../../Zotlabs/Module/Admin/Plugins.php:351
+msgid "Compatible Server Roles: "
msgstr ""
-#: ../../Zotlabs/Module/Bookmarks.php:75
-msgid "My Bookmarks"
+#: ../../Zotlabs/Module/Admin/Plugins.php:352
+msgid "Requires: "
msgstr ""
-#: ../../Zotlabs/Module/Bookmarks.php:86
-msgid "My Connections Bookmarks"
+#: ../../Zotlabs/Module/Admin/Plugins.php:353
+#: ../../Zotlabs/Module/Admin/Plugins.php:433
+msgid "Disabled - version incompatibility"
msgstr ""
-#: ../../Zotlabs/Module/Impel.php:41 ../../include/bbcode.php:192
-msgid "webpage"
+#: ../../Zotlabs/Module/Admin/Plugins.php:402
+msgid "Enter the public git repository URL of the plugin repo."
msgstr ""
-#: ../../Zotlabs/Module/Impel.php:46 ../../include/bbcode.php:198
-msgid "block"
+#: ../../Zotlabs/Module/Admin/Plugins.php:403
+msgid "Plugin repo git URL"
msgstr ""
-#: ../../Zotlabs/Module/Impel.php:51 ../../include/bbcode.php:195
-msgid "layout"
+#: ../../Zotlabs/Module/Admin/Plugins.php:404
+msgid "Custom repo name"
msgstr ""
-#: ../../Zotlabs/Module/Impel.php:58 ../../include/bbcode.php:201
-msgid "menu"
+#: ../../Zotlabs/Module/Admin/Plugins.php:404
+msgid "(optional)"
msgstr ""
-#: ../../Zotlabs/Module/Impel.php:191
-#, php-format
-msgid "%s element installed"
+#: ../../Zotlabs/Module/Admin/Plugins.php:405
+msgid "Download Plugin Repo"
msgstr ""
-#: ../../Zotlabs/Module/Impel.php:194
-#, php-format
-msgid "%s element installation failed"
+#: ../../Zotlabs/Module/Admin/Plugins.php:412
+msgid "Install new repo"
msgstr ""
-#: ../../Zotlabs/Module/Fbrowser.php:29 ../../Zotlabs/Lib/Apps.php:222
-#: ../../include/nav.php:92 ../../include/conversation.php:1647
-msgid "Photos"
+#: ../../Zotlabs/Module/Admin/Plugins.php:413 ../../Zotlabs/Lib/Apps.php:334
+msgid "Install"
msgstr ""
+#: ../../Zotlabs/Module/Admin/Plugins.php:414
#: ../../Zotlabs/Module/Fbrowser.php:66 ../../Zotlabs/Module/Fbrowser.php:88
-#: ../../Zotlabs/Module/Settings.php:661 ../../Zotlabs/Module/Settings.php:687
-#: ../../Zotlabs/Module/Admin.php:1406 ../../Zotlabs/Module/Tagrm.php:15
-#: ../../Zotlabs/Module/Tagrm.php:138 ../../Zotlabs/Module/Wiki.php:166
-#: ../../Zotlabs/Module/Wiki.php:202 ../../include/conversation.php:1235
-#: ../../include/conversation.php:1274
+#: ../../Zotlabs/Module/Wiki.php:171 ../../Zotlabs/Module/Wiki.php:211
+#: ../../Zotlabs/Module/Tagrm.php:15 ../../Zotlabs/Module/Tagrm.php:138
+#: ../../Zotlabs/Module/Settings/Oauth.php:88
+#: ../../Zotlabs/Module/Settings/Oauth.php:114
+#: ../../include/conversation.php:1248 ../../include/conversation.php:1297
msgid "Cancel"
msgstr ""
-#: ../../Zotlabs/Module/Page.php:40 ../../Zotlabs/Module/Block.php:31
-msgid "Invalid item."
-msgstr ""
-
-#: ../../Zotlabs/Module/Page.php:56 ../../Zotlabs/Module/Block.php:43
-#: ../../Zotlabs/Module/Cal.php:62 ../../Zotlabs/Module/Wall_upload.php:33
-msgid "Channel not found."
+#: ../../Zotlabs/Module/Admin/Plugins.php:435
+msgid "Manage Repos"
msgstr ""
-#: ../../Zotlabs/Module/Page.php:131
-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."
+#: ../../Zotlabs/Module/Admin/Plugins.php:436
+msgid "Installed Plugin Repositories"
msgstr ""
-#: ../../Zotlabs/Module/Filer.php:52
-msgid "Save to Folder:"
+#: ../../Zotlabs/Module/Admin/Plugins.php:437
+msgid "Install a New Plugin Repository"
msgstr ""
-#: ../../Zotlabs/Module/Filer.php:52
-msgid "- select -"
+#: ../../Zotlabs/Module/Admin/Plugins.php:443
+#: ../../Zotlabs/Module/Settings/Oauth.php:42
+#: ../../Zotlabs/Module/Settings/Oauth.php:113 ../../Zotlabs/Lib/Apps.php:334
+msgid "Update"
msgstr ""
-#: ../../Zotlabs/Module/Filer.php:53 ../../Zotlabs/Module/Admin.php:2033
-#: ../../Zotlabs/Module/Admin.php:2053 ../../Zotlabs/Module/Rbmark.php:32
-#: ../../Zotlabs/Module/Rbmark.php:104 ../../include/text.php:926
-#: ../../include/text.php:938 ../../include/widgets.php:201
-msgid "Save"
+#: ../../Zotlabs/Module/Admin/Plugins.php:444
+msgid "Switch branch"
msgstr ""
-#: ../../Zotlabs/Module/Display.php:40 ../../Zotlabs/Module/Filestorage.php:32
-#: ../../Zotlabs/Module/Admin.php:164 ../../Zotlabs/Module/Admin.php:1255
-#: ../../Zotlabs/Module/Admin.php:1561 ../../Zotlabs/Module/Thing.php:89
-#: ../../Zotlabs/Module/Viewsrc.php:24 ../../include/items.php:3369
-msgid "Item not found."
+#: ../../Zotlabs/Module/Admin/Plugins.php:445
+#: ../../Zotlabs/Module/Photos.php:989 ../../Zotlabs/Module/Tagrm.php:137
+msgid "Remove"
msgstr ""
-#: ../../Zotlabs/Module/Connections.php:56
-#: ../../Zotlabs/Module/Connections.php:161
-#: ../../Zotlabs/Module/Connections.php:242
-msgid "Blocked"
+#: ../../Zotlabs/Module/Admin/Profs.php:69
+msgid "New Profile Field"
msgstr ""
-#: ../../Zotlabs/Module/Connections.php:61
-#: ../../Zotlabs/Module/Connections.php:168
-#: ../../Zotlabs/Module/Connections.php:241
-msgid "Ignored"
+#: ../../Zotlabs/Module/Admin/Profs.php:70
+#: ../../Zotlabs/Module/Admin/Profs.php:90
+msgid "Field nickname"
msgstr ""
-#: ../../Zotlabs/Module/Connections.php:66
-#: ../../Zotlabs/Module/Connections.php:182
-#: ../../Zotlabs/Module/Connections.php:240
-msgid "Hidden"
+#: ../../Zotlabs/Module/Admin/Profs.php:70
+#: ../../Zotlabs/Module/Admin/Profs.php:90
+msgid "System name of field"
msgstr ""
-#: ../../Zotlabs/Module/Connections.php:71
-#: ../../Zotlabs/Module/Connections.php:175
-#: ../../Zotlabs/Module/Connections.php:239
-msgid "Archived"
+#: ../../Zotlabs/Module/Admin/Profs.php:71
+#: ../../Zotlabs/Module/Admin/Profs.php:91
+msgid "Input type"
msgstr ""
-#: ../../Zotlabs/Module/Connections.php:76
-#: ../../Zotlabs/Module/Connections.php:86 ../../Zotlabs/Module/Menu.php:116
-#: ../../include/conversation.php:1550
-msgid "New"
+#: ../../Zotlabs/Module/Admin/Profs.php:72
+#: ../../Zotlabs/Module/Admin/Profs.php:92
+msgid "Field Name"
msgstr ""
-#: ../../Zotlabs/Module/Connections.php:92
-#: ../../Zotlabs/Module/Connections.php:107
-#: ../../Zotlabs/Module/Connedit.php:632 ../../include/widgets.php:497
-msgid "All"
+#: ../../Zotlabs/Module/Admin/Profs.php:72
+#: ../../Zotlabs/Module/Admin/Profs.php:92
+msgid "Label on profile pages"
msgstr ""
-#: ../../Zotlabs/Module/Connections.php:138
-msgid "New Connections"
+#: ../../Zotlabs/Module/Admin/Profs.php:73
+#: ../../Zotlabs/Module/Admin/Profs.php:93
+msgid "Help text"
msgstr ""
-#: ../../Zotlabs/Module/Connections.php:141
-msgid "Show pending (new) connections"
+#: ../../Zotlabs/Module/Admin/Profs.php:73
+#: ../../Zotlabs/Module/Admin/Profs.php:93
+msgid "Additional info (optional)"
msgstr ""
-#: ../../Zotlabs/Module/Connections.php:145
-#: ../../Zotlabs/Module/Profperm.php:144
-msgid "All Connections"
+#: ../../Zotlabs/Module/Admin/Profs.php:74
+#: ../../Zotlabs/Module/Admin/Profs.php:94 ../../Zotlabs/Module/Filer.php:53
+#: ../../Zotlabs/Module/Rbmark.php:32 ../../Zotlabs/Module/Rbmark.php:104
+#: ../../include/text.php:972 ../../include/text.php:984
+#: ../../include/widgets.php:201
+msgid "Save"
msgstr ""
-#: ../../Zotlabs/Module/Connections.php:148
-msgid "Show all connections"
+#: ../../Zotlabs/Module/Admin/Profs.php:83
+msgid "Field definition not found"
msgstr ""
-#: ../../Zotlabs/Module/Connections.php:164
-msgid "Only show blocked connections"
+#: ../../Zotlabs/Module/Admin/Profs.php:89
+msgid "Edit Profile Field"
msgstr ""
-#: ../../Zotlabs/Module/Connections.php:171
-msgid "Only show ignored connections"
+#: ../../Zotlabs/Module/Admin/Profs.php:147 ../../include/widgets.php:1568
+msgid "Profile Fields"
msgstr ""
-#: ../../Zotlabs/Module/Connections.php:178
-msgid "Only show archived connections"
+#: ../../Zotlabs/Module/Admin/Profs.php:148
+msgid "Basic Profile Fields"
msgstr ""
-#: ../../Zotlabs/Module/Connections.php:185
-msgid "Only show hidden connections"
+#: ../../Zotlabs/Module/Admin/Profs.php:149
+msgid "Advanced Profile Fields"
msgstr ""
-#: ../../Zotlabs/Module/Connections.php:238
-msgid "Pending approval"
+#: ../../Zotlabs/Module/Admin/Profs.php:149
+msgid "(In addition to basic fields)"
msgstr ""
-#: ../../Zotlabs/Module/Connections.php:254
-#, php-format
-msgid "%1$s [%2$s]"
+#: ../../Zotlabs/Module/Admin/Profs.php:151
+msgid "All available fields"
msgstr ""
-#: ../../Zotlabs/Module/Connections.php:255
-msgid "Edit connection"
+#: ../../Zotlabs/Module/Admin/Profs.php:152
+msgid "Custom Fields"
msgstr ""
-#: ../../Zotlabs/Module/Connections.php:256
-msgid "Delete connection"
+#: ../../Zotlabs/Module/Admin/Profs.php:156
+msgid "Create Custom Field"
msgstr ""
-#: ../../Zotlabs/Module/Connections.php:265
-msgid "Channel address"
+#: ../../Zotlabs/Module/Admin/Queue.php:36
+msgid "Queue Statistics"
msgstr ""
-#: ../../Zotlabs/Module/Connections.php:267
-msgid "Network"
+#: ../../Zotlabs/Module/Admin/Queue.php:37
+msgid "Total Entries"
msgstr ""
-#: ../../Zotlabs/Module/Connections.php:270 ../../Zotlabs/Module/Admin.php:710
-msgid "Status"
+#: ../../Zotlabs/Module/Admin/Queue.php:38
+msgid "Priority"
msgstr ""
-#: ../../Zotlabs/Module/Connections.php:272
-msgid "Connected"
+#: ../../Zotlabs/Module/Admin/Queue.php:39
+msgid "Destination URL"
msgstr ""
-#: ../../Zotlabs/Module/Connections.php:274
-msgid "Approve connection"
+#: ../../Zotlabs/Module/Admin/Queue.php:40
+msgid "Mark hub permanently offline"
msgstr ""
-#: ../../Zotlabs/Module/Connections.php:275
-#: ../../Zotlabs/Module/Admin.php:1037
-msgid "Approve"
+#: ../../Zotlabs/Module/Admin/Queue.php:41
+msgid "Empty queue for this hub"
msgstr ""
-#: ../../Zotlabs/Module/Connections.php:276
-msgid "Ignore connection"
+#: ../../Zotlabs/Module/Admin/Queue.php:42
+msgid "Last known contact"
msgstr ""
-#: ../../Zotlabs/Module/Connections.php:277
-#: ../../Zotlabs/Module/Connedit.php:586
-#: ../../Zotlabs/Module/Notifications.php:55
-msgid "Ignore"
+#: ../../Zotlabs/Module/Admin/Security.php:77
+msgid ""
+"By default, unfiltered HTML is allowed in embedded media. This is inherently "
+"insecure."
msgstr ""
-#: ../../Zotlabs/Module/Connections.php:278
-msgid "Recent activity"
+#: ../../Zotlabs/Module/Admin/Security.php:80
+msgid ""
+"The recommended setting is to only allow unfiltered HTML from the following "
+"sites:"
msgstr ""
-#: ../../Zotlabs/Module/Connections.php:302 ../../Zotlabs/Lib/Apps.php:209
-#: ../../include/nav.php:188 ../../include/text.php:855
-msgid "Connections"
+#: ../../Zotlabs/Module/Admin/Security.php:81
+msgid ""
+"https://youtube.com/<br />https://www.youtube.com/<br />https://youtu.be/"
+"<br />https://vimeo.com/<br />https://soundcloud.com/<br />"
msgstr ""
-#: ../../Zotlabs/Module/Connections.php:306 ../../Zotlabs/Module/Search.php:44
-#: ../../Zotlabs/Lib/Apps.php:230 ../../include/acl_selectors.php:274
-#: ../../include/nav.php:167 ../../include/text.php:925
-#: ../../include/text.php:937
-msgid "Search"
+#: ../../Zotlabs/Module/Admin/Security.php:82
+msgid ""
+"All other embedded content will be filtered, <strong>unless</strong> "
+"embedded content from that site is explicitly blocked."
msgstr ""
-#: ../../Zotlabs/Module/Connections.php:307
-msgid "Search your connections"
+#: ../../Zotlabs/Module/Admin/Security.php:87 ../../include/widgets.php:1563
+msgid "Security"
msgstr ""
-#: ../../Zotlabs/Module/Connections.php:308
-msgid "Connections search"
+#: ../../Zotlabs/Module/Admin/Security.php:89
+msgid "Block public"
msgstr ""
-#: ../../Zotlabs/Module/Cover_photo.php:58
-#: ../../Zotlabs/Module/Profile_photo.php:61
-msgid "Image uploaded but image cropping failed."
+#: ../../Zotlabs/Module/Admin/Security.php:89
+msgid ""
+"Check to block public access to all otherwise public personal pages on this "
+"site unless you are currently authenticated."
msgstr ""
-#: ../../Zotlabs/Module/Cover_photo.php:134
-#: ../../Zotlabs/Module/Cover_photo.php:181
-msgid "Cover Photos"
+#: ../../Zotlabs/Module/Admin/Security.php:90
+msgid "Set \"Transport Security\" HTTP header"
msgstr ""
-#: ../../Zotlabs/Module/Cover_photo.php:154
-#: ../../Zotlabs/Module/Profile_photo.php:135
-msgid "Image resize failed."
+#: ../../Zotlabs/Module/Admin/Security.php:91
+msgid "Set \"Content Security Policy\" HTTP header"
msgstr ""
-#: ../../Zotlabs/Module/Cover_photo.php:168
-#: ../../Zotlabs/Module/Profile_photo.php:196 ../../include/photos.php:148
-msgid "Unable to process image"
+#: ../../Zotlabs/Module/Admin/Security.php:92
+msgid "Allowed email domains"
msgstr ""
-#: ../../Zotlabs/Module/Cover_photo.php:192
-#: ../../Zotlabs/Module/Profile_photo.php:223
-msgid "Image upload failed."
+#: ../../Zotlabs/Module/Admin/Security.php:92
+msgid ""
+"Comma separated list of domains which are allowed in email addresses for "
+"registrations to this site. Wildcards are accepted. Empty to allow any "
+"domains"
msgstr ""
-#: ../../Zotlabs/Module/Cover_photo.php:210
-#: ../../Zotlabs/Module/Profile_photo.php:242
-msgid "Unable to process image."
+#: ../../Zotlabs/Module/Admin/Security.php:93
+msgid "Not allowed email domains"
msgstr ""
-#: ../../Zotlabs/Module/Cover_photo.php:233 ../../include/items.php:4283
-msgid "female"
+#: ../../Zotlabs/Module/Admin/Security.php:93
+msgid ""
+"Comma separated list of domains which are not allowed in email addresses for "
+"registrations to this site. Wildcards are accepted. Empty to allow any "
+"domains, unless allowed domains have been defined."
msgstr ""
-#: ../../Zotlabs/Module/Cover_photo.php:234 ../../include/items.php:4284
-#, php-format
-msgid "%1$s updated her %2$s"
+#: ../../Zotlabs/Module/Admin/Security.php:94
+msgid "Allow communications only from these sites"
msgstr ""
-#: ../../Zotlabs/Module/Cover_photo.php:235 ../../include/items.php:4285
-msgid "male"
+#: ../../Zotlabs/Module/Admin/Security.php:94
+msgid ""
+"One site per line. Leave empty to allow communication from anywhere by "
+"default"
msgstr ""
-#: ../../Zotlabs/Module/Cover_photo.php:236 ../../include/items.php:4286
-#, php-format
-msgid "%1$s updated his %2$s"
+#: ../../Zotlabs/Module/Admin/Security.php:95
+msgid "Block communications from these sites"
msgstr ""
-#: ../../Zotlabs/Module/Cover_photo.php:238 ../../include/items.php:4288
-#, php-format
-msgid "%1$s updated their %2$s"
+#: ../../Zotlabs/Module/Admin/Security.php:96
+msgid "Allow communications only from these channels"
msgstr ""
-#: ../../Zotlabs/Module/Cover_photo.php:240 ../../include/channel.php:1717
-msgid "cover photo"
+#: ../../Zotlabs/Module/Admin/Security.php:96
+msgid ""
+"One channel (hash) per line. Leave empty to allow from any channel by default"
msgstr ""
-#: ../../Zotlabs/Module/Cover_photo.php:303
-#: ../../Zotlabs/Module/Cover_photo.php:318
-#: ../../Zotlabs/Module/Profile_photo.php:300
-#: ../../Zotlabs/Module/Profile_photo.php:341
-msgid "Photo not available."
+#: ../../Zotlabs/Module/Admin/Security.php:97
+msgid "Block communications from these channels"
msgstr ""
-#: ../../Zotlabs/Module/Cover_photo.php:354
-#: ../../Zotlabs/Module/Profile_photo.php:387
-msgid "Upload File:"
+#: ../../Zotlabs/Module/Admin/Security.php:98
+msgid "Only allow embeds from secure (SSL) websites and links."
msgstr ""
-#: ../../Zotlabs/Module/Cover_photo.php:355
-#: ../../Zotlabs/Module/Profile_photo.php:388
-msgid "Select a profile:"
+#: ../../Zotlabs/Module/Admin/Security.php:99
+msgid "Allow unfiltered embedded HTML content only from these domains"
msgstr ""
-#: ../../Zotlabs/Module/Cover_photo.php:356
-msgid "Upload Cover Photo"
+#: ../../Zotlabs/Module/Admin/Security.php:99
+msgid "One site per line. By default embedded content is filtered."
msgstr ""
-#: ../../Zotlabs/Module/Cover_photo.php:361
-#: ../../Zotlabs/Module/Settings.php:1138
-#: ../../Zotlabs/Module/Profile_photo.php:396
-msgid "or"
+#: ../../Zotlabs/Module/Admin/Security.php:100
+msgid "Block embedded HTML from these domains"
msgstr ""
-#: ../../Zotlabs/Module/Cover_photo.php:361
-#: ../../Zotlabs/Module/Profile_photo.php:396
-msgid "skip this step"
+#: ../../Zotlabs/Module/Admin/Site.php:135
+msgid "Site settings updated."
msgstr ""
-#: ../../Zotlabs/Module/Cover_photo.php:361
-#: ../../Zotlabs/Module/Profile_photo.php:396
-msgid "select a photo from your photo albums"
+#: ../../Zotlabs/Module/Admin/Site.php:162 ../../include/text.php:2942
+msgid "Default"
msgstr ""
-#: ../../Zotlabs/Module/Cover_photo.php:377
-#: ../../Zotlabs/Module/Profile_photo.php:415
-msgid "Crop Image"
+#: ../../Zotlabs/Module/Admin/Site.php:172
+#: ../../Zotlabs/Module/Settings/Display.php:141
+msgid "mobile"
msgstr ""
-#: ../../Zotlabs/Module/Cover_photo.php:378
-#: ../../Zotlabs/Module/Profile_photo.php:416
-msgid "Please adjust the image cropping for optimum viewing."
+#: ../../Zotlabs/Module/Admin/Site.php:174
+msgid "experimental"
msgstr ""
-#: ../../Zotlabs/Module/Cover_photo.php:380
-#: ../../Zotlabs/Module/Profile_photo.php:418
-msgid "Done Editing"
+#: ../../Zotlabs/Module/Admin/Site.php:176
+msgid "unsupported"
msgstr ""
-#: ../../Zotlabs/Module/Follow.php:34
-msgid "Channel added."
+#: ../../Zotlabs/Module/Admin/Site.php:221
+#: ../../Zotlabs/Module/Connedit.php:408 ../../Zotlabs/Module/Connedit.php:686
+#: ../../Zotlabs/Module/Menu.php:100 ../../Zotlabs/Module/Menu.php:157
+#: ../../Zotlabs/Module/Api.php:85 ../../Zotlabs/Module/Filestorage.php:160
+#: ../../Zotlabs/Module/Filestorage.php:168
+#: ../../Zotlabs/Module/Profiles.php:647 ../../Zotlabs/Module/Mitem.php:162
+#: ../../Zotlabs/Module/Mitem.php:163 ../../Zotlabs/Module/Mitem.php:240
+#: ../../Zotlabs/Module/Mitem.php:241 ../../Zotlabs/Module/Removeme.php:63
+#: ../../Zotlabs/Module/Photos.php:653 ../../Zotlabs/Module/Events.php:462
+#: ../../Zotlabs/Module/Events.php:463 ../../Zotlabs/Module/Events.php:472
+#: ../../Zotlabs/Module/Settings/Channel.php:289
+#: ../../Zotlabs/Module/Settings/Display.php:101 ../../include/dir_fns.php:143
+#: ../../include/dir_fns.php:144 ../../include/dir_fns.php:145
+#: ../../view/theme/redbasic/php/config.php:111
+#: ../../view/theme/redbasic/php/config.php:136 ../../boot.php:1743
+msgid "No"
msgstr ""
-#: ../../Zotlabs/Module/Channel.php:28 ../../Zotlabs/Module/Chat.php:25
-#: ../../Zotlabs/Module/Wiki.php:20
-msgid "You must be logged in to see this page."
+#: ../../Zotlabs/Module/Admin/Site.php:222
+msgid "Yes - with approval"
msgstr ""
-#: ../../Zotlabs/Module/Channel.php:40
-msgid "Posts and comments"
+#: ../../Zotlabs/Module/Admin/Site.php:223
+#: ../../Zotlabs/Module/Connedit.php:408 ../../Zotlabs/Module/Menu.php:100
+#: ../../Zotlabs/Module/Menu.php:157 ../../Zotlabs/Module/Api.php:84
+#: ../../Zotlabs/Module/Filestorage.php:160
+#: ../../Zotlabs/Module/Filestorage.php:168
+#: ../../Zotlabs/Module/Profiles.php:647 ../../Zotlabs/Module/Mitem.php:162
+#: ../../Zotlabs/Module/Mitem.php:163 ../../Zotlabs/Module/Mitem.php:240
+#: ../../Zotlabs/Module/Mitem.php:241 ../../Zotlabs/Module/Removeme.php:63
+#: ../../Zotlabs/Module/Photos.php:653 ../../Zotlabs/Module/Events.php:462
+#: ../../Zotlabs/Module/Events.php:463 ../../Zotlabs/Module/Events.php:472
+#: ../../Zotlabs/Module/Settings/Channel.php:289
+#: ../../Zotlabs/Module/Settings/Display.php:101 ../../include/dir_fns.php:143
+#: ../../include/dir_fns.php:144 ../../include/dir_fns.php:145
+#: ../../view/theme/redbasic/php/config.php:111
+#: ../../view/theme/redbasic/php/config.php:136 ../../boot.php:1743
+msgid "Yes"
msgstr ""
-#: ../../Zotlabs/Module/Channel.php:41
-msgid "Only posts"
+#: ../../Zotlabs/Module/Admin/Site.php:228
+msgid "My site is not a public server"
msgstr ""
-#: ../../Zotlabs/Module/Channel.php:101
-msgid "Insufficient permissions. Request redirected to profile page."
+#: ../../Zotlabs/Module/Admin/Site.php:229
+msgid "My site has paid access only"
msgstr ""
-#: ../../Zotlabs/Module/Dirsearch.php:25 ../../Zotlabs/Module/Regdir.php:49
-msgid "This site is not a directory server"
+#: ../../Zotlabs/Module/Admin/Site.php:230
+msgid "My site has free access only"
msgstr ""
-#: ../../Zotlabs/Module/Dirsearch.php:33
-msgid "This directory server requires an access token"
+#: ../../Zotlabs/Module/Admin/Site.php:231
+msgid "My site offers free accounts with optional paid upgrades"
msgstr ""
-#: ../../Zotlabs/Module/Editblock.php:79 ../../Zotlabs/Module/Editblock.php:95
-#: ../../Zotlabs/Module/Editlayout.php:79
-#: ../../Zotlabs/Module/Editwebpage.php:80
-#: ../../Zotlabs/Module/Editpost.php:24
-msgid "Item not found"
+#: ../../Zotlabs/Module/Admin/Site.php:242 ../../Zotlabs/Module/Setup.php:336
+msgid "Basic/Minimal Social Networking"
msgstr ""
-#: ../../Zotlabs/Module/Editblock.php:108 ../../Zotlabs/Module/Blocks.php:97
-#: ../../Zotlabs/Module/Blocks.php:155
-msgid "Block Name"
+#: ../../Zotlabs/Module/Admin/Site.php:243 ../../Zotlabs/Module/Setup.php:337
+msgid "Standard Configuration (default)"
msgstr ""
-#: ../../Zotlabs/Module/Editblock.php:111
-#: ../../Zotlabs/Module/Editwebpage.php:146 ../../Zotlabs/Module/Mail.php:244
-#: ../../Zotlabs/Module/Mail.php:369 ../../Zotlabs/Module/Chat.php:207
-#: ../../include/conversation.php:1146
-msgid "Insert web link"
+#: ../../Zotlabs/Module/Admin/Site.php:244 ../../Zotlabs/Module/Setup.php:338
+msgid "Professional"
msgstr ""
-#: ../../Zotlabs/Module/Editblock.php:124 ../../include/conversation.php:1243
-msgid "Title (optional)"
+#: ../../Zotlabs/Module/Admin/Site.php:249
+#: ../../Zotlabs/Module/Settings/Account.php:105
+msgid "Beginner/Basic"
msgstr ""
-#: ../../Zotlabs/Module/Editblock.php:133
-msgid "Edit Block"
+#: ../../Zotlabs/Module/Admin/Site.php:250
+#: ../../Zotlabs/Module/Settings/Account.php:106
+msgid "Novice - not skilled but willing to learn"
msgstr ""
-#: ../../Zotlabs/Module/Editlayout.php:127
-#: ../../Zotlabs/Module/Layouts.php:128 ../../Zotlabs/Module/Layouts.php:188
-msgid "Layout Name"
+#: ../../Zotlabs/Module/Admin/Site.php:251
+#: ../../Zotlabs/Module/Settings/Account.php:107
+msgid "Intermediate - somewhat comfortable"
msgstr ""
-#: ../../Zotlabs/Module/Editlayout.php:128
-#: ../../Zotlabs/Module/Layouts.php:131
-msgid "Layout Description (Optional)"
+#: ../../Zotlabs/Module/Admin/Site.php:252
+#: ../../Zotlabs/Module/Settings/Account.php:108
+msgid "Advanced - very comfortable"
msgstr ""
-#: ../../Zotlabs/Module/Editlayout.php:136
-msgid "Edit Layout"
+#: ../../Zotlabs/Module/Admin/Site.php:253
+#: ../../Zotlabs/Module/Settings/Account.php:109
+msgid "Expert - I can write computer code"
msgstr ""
-#: ../../Zotlabs/Module/Editwebpage.php:142
-msgid "Page link"
+#: ../../Zotlabs/Module/Admin/Site.php:254
+#: ../../Zotlabs/Module/Settings/Account.php:110
+msgid "Wizard - I probably know more than you do"
msgstr ""
-#: ../../Zotlabs/Module/Editwebpage.php:168
-msgid "Edit Webpage"
+#: ../../Zotlabs/Module/Admin/Site.php:266 ../../include/widgets.php:1560
+msgid "Site"
msgstr ""
-#: ../../Zotlabs/Module/Editpost.php:35
-msgid "Item is not editable"
+#: ../../Zotlabs/Module/Admin/Site.php:268
+#: ../../Zotlabs/Module/Register.php:253
+msgid "Registration"
msgstr ""
-#: ../../Zotlabs/Module/Editpost.php:106 ../../Zotlabs/Module/Rpost.php:134
-msgid "Edit post"
+#: ../../Zotlabs/Module/Admin/Site.php:269
+msgid "File upload"
msgstr ""
-#: ../../Zotlabs/Module/Appman.php:37 ../../Zotlabs/Module/Appman.php:53
-msgid "App installed."
+#: ../../Zotlabs/Module/Admin/Site.php:270
+msgid "Policies"
msgstr ""
-#: ../../Zotlabs/Module/Appman.php:46
-msgid "Malformed app."
+#: ../../Zotlabs/Module/Admin/Site.php:271
+#: ../../include/contact_widgets.php:16
+msgid "Advanced"
msgstr ""
-#: ../../Zotlabs/Module/Appman.php:104
-msgid "Embed code"
+#: ../../Zotlabs/Module/Admin/Site.php:275
+msgid "Site name"
msgstr ""
-#: ../../Zotlabs/Module/Appman.php:110 ../../include/widgets.php:107
-msgid "Edit App"
+#: ../../Zotlabs/Module/Admin/Site.php:277 ../../Zotlabs/Module/Setup.php:359
+msgid "Server Configuration/Role"
msgstr ""
-#: ../../Zotlabs/Module/Appman.php:110
-msgid "Create App"
+#: ../../Zotlabs/Module/Admin/Site.php:279
+msgid "Site default technical skill level"
msgstr ""
-#: ../../Zotlabs/Module/Appman.php:115
-msgid "Name of app"
+#: ../../Zotlabs/Module/Admin/Site.php:279
+msgid "Used to provide a member experience matched to technical comfort level"
msgstr ""
-#: ../../Zotlabs/Module/Appman.php:115 ../../Zotlabs/Module/Appman.php:116
-#: ../../Zotlabs/Module/Events.php:448 ../../Zotlabs/Module/Events.php:453
-#: ../../Zotlabs/Module/Profiles.php:709 ../../Zotlabs/Module/Profiles.php:713
-#: ../../include/datetime.php:245
-msgid "Required"
+#: ../../Zotlabs/Module/Admin/Site.php:281
+msgid "Lock the technical skill level setting"
msgstr ""
-#: ../../Zotlabs/Module/Appman.php:116
-msgid "Location (URL) of app"
+#: ../../Zotlabs/Module/Admin/Site.php:281
+msgid "Members can set their own technical comfort level by default"
msgstr ""
-#: ../../Zotlabs/Module/Appman.php:117 ../../Zotlabs/Module/Events.php:461
-#: ../../Zotlabs/Module/Rbmark.php:101
-msgid "Description"
+#: ../../Zotlabs/Module/Admin/Site.php:284
+msgid "Banner/Logo"
msgstr ""
-#: ../../Zotlabs/Module/Appman.php:118
-msgid "Photo icon URL"
+#: ../../Zotlabs/Module/Admin/Site.php:285
+msgid "Administrator Information"
msgstr ""
-#: ../../Zotlabs/Module/Appman.php:118
-msgid "80 x 80 pixels - optional"
+#: ../../Zotlabs/Module/Admin/Site.php:285
+msgid ""
+"Contact information for site administrators. Displayed on siteinfo page. "
+"BBCode can be used here"
msgstr ""
-#: ../../Zotlabs/Module/Appman.php:119
-msgid "Categories (optional, comma separated list)"
+#: ../../Zotlabs/Module/Admin/Site.php:286
+msgid "System language"
msgstr ""
-#: ../../Zotlabs/Module/Appman.php:120
-msgid "Version ID"
+#: ../../Zotlabs/Module/Admin/Site.php:287
+msgid "System theme"
msgstr ""
-#: ../../Zotlabs/Module/Appman.php:121
-msgid "Price of app"
+#: ../../Zotlabs/Module/Admin/Site.php:287
+msgid ""
+"Default system theme - may be over-ridden by user profiles - <a href='#' "
+"id='cnftheme'>change theme settings</a>"
msgstr ""
-#: ../../Zotlabs/Module/Appman.php:122
-msgid "Location (URL) to purchase app"
+#: ../../Zotlabs/Module/Admin/Site.php:288
+msgid "Mobile system theme"
msgstr ""
-#: ../../Zotlabs/Module/Help.php:26
-msgid "Documentation Search"
+#: ../../Zotlabs/Module/Admin/Site.php:288
+msgid "Theme for mobile devices"
msgstr ""
-#: ../../Zotlabs/Module/Help.php:67 ../../Zotlabs/Module/Help.php:73
-#: ../../Zotlabs/Module/Help.php:79
-msgid "Help:"
+#: ../../Zotlabs/Module/Admin/Site.php:290
+msgid "Allow Feeds as Connections"
msgstr ""
-#: ../../Zotlabs/Module/Help.php:85 ../../Zotlabs/Module/Help.php:90
-#: ../../Zotlabs/Module/Layouts.php:185 ../../Zotlabs/Lib/Apps.php:225
-#: ../../include/nav.php:161
-msgid "Help"
+#: ../../Zotlabs/Module/Admin/Site.php:290
+msgid "(Heavy system resource usage)"
msgstr ""
-#: ../../Zotlabs/Module/Help.php:120
-msgid "$Projectname Documentation"
+#: ../../Zotlabs/Module/Admin/Site.php:291
+msgid "Maximum image size"
msgstr ""
-#: ../../Zotlabs/Module/Attach.php:13
-msgid "Item not available."
+#: ../../Zotlabs/Module/Admin/Site.php:291
+msgid ""
+"Maximum size in bytes of uploaded images. Default is 0, which means no "
+"limits."
msgstr ""
-#: ../../Zotlabs/Module/Pdledit.php:18
-msgid "Layout updated."
+#: ../../Zotlabs/Module/Admin/Site.php:292
+msgid "Does this site allow new member registration?"
msgstr ""
-#: ../../Zotlabs/Module/Pdledit.php:34 ../../Zotlabs/Module/Pdledit.php:61
-msgid "Edit System Page Description"
+#: ../../Zotlabs/Module/Admin/Site.php:293
+msgid "Invitation only"
msgstr ""
-#: ../../Zotlabs/Module/Pdledit.php:56
-msgid "Layout not found."
+#: ../../Zotlabs/Module/Admin/Site.php:293
+msgid ""
+"Only allow new member registrations with an invitation code. Above register "
+"policy must be set to Yes."
msgstr ""
-#: ../../Zotlabs/Module/Pdledit.php:62
-msgid "Module Name:"
+#: ../../Zotlabs/Module/Admin/Site.php:294
+msgid "Which best describes the types of account offered by this hub?"
msgstr ""
-#: ../../Zotlabs/Module/Pdledit.php:63
-msgid "Layout Help"
+#: ../../Zotlabs/Module/Admin/Site.php:295
+msgid "Register text"
msgstr ""
-#: ../../Zotlabs/Module/Ffsapi.php:12
-msgid "Share content from Firefox to $Projectname"
+#: ../../Zotlabs/Module/Admin/Site.php:295
+msgid "Will be displayed prominently on the registration page."
msgstr ""
-#: ../../Zotlabs/Module/Ffsapi.php:15
-msgid "Activate the Firefox $Projectname provider"
+#: ../../Zotlabs/Module/Admin/Site.php:296
+msgid "Site homepage to show visitors (default: login box)"
msgstr ""
-#: ../../Zotlabs/Module/Home.php:74 ../../Zotlabs/Module/Home.php:82
-#: ../../Zotlabs/Module/Siteinfo.php:48
-msgid "$Projectname"
+#: ../../Zotlabs/Module/Admin/Site.php:296
+msgid ""
+"example: 'public' to show public stream, 'page/sys/home' to show a system "
+"webpage called 'home' or 'include:home.html' to include a file."
msgstr ""
-#: ../../Zotlabs/Module/Home.php:92
-#, php-format
-msgid "Welcome to %s"
+#: ../../Zotlabs/Module/Admin/Site.php:297
+msgid "Preserve site homepage URL"
msgstr ""
-#: ../../Zotlabs/Module/Lockview.php:75
-msgid "Remote privacy information not available."
+#: ../../Zotlabs/Module/Admin/Site.php:297
+msgid ""
+"Present the site homepage in a frame at the original location instead of "
+"redirecting"
msgstr ""
-#: ../../Zotlabs/Module/Lockview.php:96
-msgid "Visible to:"
+#: ../../Zotlabs/Module/Admin/Site.php:298
+msgid "Accounts abandoned after x days"
msgstr ""
-#: ../../Zotlabs/Module/Filestorage.php:87
-msgid "Permission Denied."
+#: ../../Zotlabs/Module/Admin/Site.php:298
+msgid ""
+"Will not waste system resources polling external sites for abandonded "
+"accounts. Enter 0 for no time limit."
msgstr ""
-#: ../../Zotlabs/Module/Filestorage.php:103
-msgid "File not found."
+#: ../../Zotlabs/Module/Admin/Site.php:299
+msgid "Allowed friend domains"
msgstr ""
-#: ../../Zotlabs/Module/Filestorage.php:146
-msgid "Edit file permissions"
+#: ../../Zotlabs/Module/Admin/Site.php:299
+msgid ""
+"Comma separated list of domains which are allowed to establish friendships "
+"with this site. Wildcards are accepted. Empty to allow any domains"
msgstr ""
-#: ../../Zotlabs/Module/Filestorage.php:155
-msgid "Set/edit permissions"
+#: ../../Zotlabs/Module/Admin/Site.php:300
+msgid "Verify Email Addresses"
msgstr ""
-#: ../../Zotlabs/Module/Filestorage.php:156
-msgid "Include all files and sub folders"
+#: ../../Zotlabs/Module/Admin/Site.php:300
+msgid ""
+"Check to verify email addresses used in account registration (recommended)."
msgstr ""
-#: ../../Zotlabs/Module/Filestorage.php:157
-msgid "Return to file list"
+#: ../../Zotlabs/Module/Admin/Site.php:301
+msgid "Force publish"
msgstr ""
-#: ../../Zotlabs/Module/Filestorage.php:159
-msgid "Copy/paste this code to attach file to a post"
+#: ../../Zotlabs/Module/Admin/Site.php:301
+msgid ""
+"Check to force all profiles on this site to be listed in the site directory."
msgstr ""
-#: ../../Zotlabs/Module/Filestorage.php:160
-msgid "Copy/paste this URL to link file from a web page"
+#: ../../Zotlabs/Module/Admin/Site.php:302
+msgid "Import Public Streams"
msgstr ""
-#: ../../Zotlabs/Module/Filestorage.php:162
-msgid "Share this file"
+#: ../../Zotlabs/Module/Admin/Site.php:302
+msgid ""
+"Import and allow access to public content pulled from other sites. Warning: "
+"this content is unmoderated."
msgstr ""
-#: ../../Zotlabs/Module/Filestorage.php:163
-msgid "Show URL to this file"
+#: ../../Zotlabs/Module/Admin/Site.php:303
+msgid "Login on Homepage"
msgstr ""
-#: ../../Zotlabs/Module/Filestorage.php:164
-msgid "Notify your contacts about this file"
+#: ../../Zotlabs/Module/Admin/Site.php:303
+msgid ""
+"Present a login box to visitors on the home page if no other content has "
+"been configured."
msgstr ""
-#: ../../Zotlabs/Module/Settings.php:64
-msgid "Name is required"
+#: ../../Zotlabs/Module/Admin/Site.php:304
+msgid "Enable context help"
msgstr ""
-#: ../../Zotlabs/Module/Settings.php:68
-msgid "Key and Secret are required"
+#: ../../Zotlabs/Module/Admin/Site.php:304
+msgid ""
+"Display contextual help for the current page when the help button is pressed."
msgstr ""
-#: ../../Zotlabs/Module/Settings.php:72 ../../Zotlabs/Module/Settings.php:686
-#: ../../Zotlabs/Module/Admin.php:1435 ../../Zotlabs/Lib/Apps.php:334
-msgid "Update"
+#: ../../Zotlabs/Module/Admin/Site.php:306
+msgid "Directory Server URL"
msgstr ""
-#: ../../Zotlabs/Module/Settings.php:138
-#, php-format
-msgid "This channel is limited to %d tokens"
+#: ../../Zotlabs/Module/Admin/Site.php:306
+msgid "Default directory server"
msgstr ""
-#: ../../Zotlabs/Module/Settings.php:144
-msgid "Name and Password are required."
+#: ../../Zotlabs/Module/Admin/Site.php:308
+msgid "Proxy user"
msgstr ""
-#: ../../Zotlabs/Module/Settings.php:184
-msgid "Token saved."
+#: ../../Zotlabs/Module/Admin/Site.php:309
+msgid "Proxy URL"
msgstr ""
-#: ../../Zotlabs/Module/Settings.php:290
-msgid "Not valid email."
+#: ../../Zotlabs/Module/Admin/Site.php:310
+msgid "Network timeout"
msgstr ""
-#: ../../Zotlabs/Module/Settings.php:293
-msgid "Protected email address. Cannot change to that email."
+#: ../../Zotlabs/Module/Admin/Site.php:310
+msgid "Value is in seconds. Set to 0 for unlimited (not recommended)."
msgstr ""
-#: ../../Zotlabs/Module/Settings.php:302
-msgid "System failure storing new email. Please try again."
+#: ../../Zotlabs/Module/Admin/Site.php:311
+msgid "Delivery interval"
msgstr ""
-#: ../../Zotlabs/Module/Settings.php:319
-msgid "Password verification failed."
+#: ../../Zotlabs/Module/Admin/Site.php:311
+msgid ""
+"Delay background delivery processes by this many seconds to reduce system "
+"load. Recommend: 4-5 for shared hosts, 2-3 for virtual private servers. 0-1 "
+"for large dedicated servers."
msgstr ""
-#: ../../Zotlabs/Module/Settings.php:326
-msgid "Passwords do not match. Password unchanged."
+#: ../../Zotlabs/Module/Admin/Site.php:312
+msgid "Deliveries per process"
msgstr ""
-#: ../../Zotlabs/Module/Settings.php:330
-msgid "Empty passwords are not allowed. Password unchanged."
+#: ../../Zotlabs/Module/Admin/Site.php:312
+msgid ""
+"Number of deliveries to attempt in a single operating system process. Adjust "
+"if necessary to tune system performance. Recommend: 1-5."
msgstr ""
-#: ../../Zotlabs/Module/Settings.php:344
-msgid "Password changed."
+#: ../../Zotlabs/Module/Admin/Site.php:313
+msgid "Poll interval"
msgstr ""
-#: ../../Zotlabs/Module/Settings.php:346
-msgid "Password update failed. Please try again."
+#: ../../Zotlabs/Module/Admin/Site.php:313
+msgid ""
+"Delay background polling processes by this many seconds to reduce system "
+"load. If 0, use delivery interval."
msgstr ""
-#: ../../Zotlabs/Module/Settings.php:407 ../../Zotlabs/Module/Settings.php:411
-#: ../../Zotlabs/Module/Settings.php:412 ../../Zotlabs/Module/Settings.php:415
-#: ../../Zotlabs/Module/Settings.php:426 ../../Zotlabs/Module/Connedit.php:630
-#: ../../include/selectors.php:123 ../../include/widgets.php:495
-#: ../../include/channel.php:402 ../../include/channel.php:403
-#: ../../include/channel.php:410
-msgid "Friends"
+#: ../../Zotlabs/Module/Admin/Site.php:314
+msgid "Maximum Load Average"
msgstr ""
-#: ../../Zotlabs/Module/Settings.php:595
-msgid "Settings updated."
+#: ../../Zotlabs/Module/Admin/Site.php:314
+msgid ""
+"Maximum system load before delivery and poll processes are deferred - "
+"default 50."
msgstr ""
-#: ../../Zotlabs/Module/Settings.php:659 ../../Zotlabs/Module/Settings.php:685
-#: ../../Zotlabs/Module/Settings.php:721
-msgid "Add application"
+#: ../../Zotlabs/Module/Admin/Site.php:315
+msgid "Expiration period in days for imported (grid/network) content"
msgstr ""
-#: ../../Zotlabs/Module/Settings.php:662
-msgid "Name of application"
+#: ../../Zotlabs/Module/Admin/Site.php:315
+msgid "0 for no expiration of imported content"
msgstr ""
-#: ../../Zotlabs/Module/Settings.php:663 ../../Zotlabs/Module/Settings.php:689
-msgid "Consumer Key"
+#: ../../Zotlabs/Module/Admin/Themes.php:18
+msgid "Theme settings updated."
msgstr ""
-#: ../../Zotlabs/Module/Settings.php:663 ../../Zotlabs/Module/Settings.php:664
-msgid "Automatically generated - change if desired. Max length 20"
+#: ../../Zotlabs/Module/Admin/Themes.php:58
+msgid "No themes found."
msgstr ""
-#: ../../Zotlabs/Module/Settings.php:664 ../../Zotlabs/Module/Settings.php:690
-msgid "Consumer Secret"
+#: ../../Zotlabs/Module/Admin/Themes.php:114
+msgid "Screenshot"
msgstr ""
-#: ../../Zotlabs/Module/Settings.php:665 ../../Zotlabs/Module/Settings.php:691
-msgid "Redirect"
+#: ../../Zotlabs/Module/Admin/Themes.php:121
+#: ../../Zotlabs/Module/Admin/Themes.php:155 ../../include/widgets.php:1566
+msgid "Themes"
msgstr ""
-#: ../../Zotlabs/Module/Settings.php:665
-msgid ""
-"Redirect URI - leave blank unless your application specifically requires this"
+#: ../../Zotlabs/Module/Admin/Themes.php:160
+msgid "[Experimental]"
msgstr ""
-#: ../../Zotlabs/Module/Settings.php:666 ../../Zotlabs/Module/Settings.php:692
-msgid "Icon url"
+#: ../../Zotlabs/Module/Admin/Themes.php:161
+msgid "[Unsupported]"
msgstr ""
-#: ../../Zotlabs/Module/Settings.php:666 ../../Zotlabs/Module/Sources.php:112
-#: ../../Zotlabs/Module/Sources.php:147
-msgid "Optional"
+#: ../../Zotlabs/Module/Fbrowser.php:29 ../../Zotlabs/Lib/Apps.php:222
+#: ../../include/nav.php:95 ../../include/conversation.php:1672
+msgid "Photos"
msgstr ""
-#: ../../Zotlabs/Module/Settings.php:677
-msgid "Application not found."
+#: ../../Zotlabs/Module/Page.php:40 ../../Zotlabs/Module/Block.php:31
+msgid "Invalid item."
msgstr ""
-#: ../../Zotlabs/Module/Settings.php:720
-msgid "Connected Apps"
+#: ../../Zotlabs/Module/Page.php:56 ../../Zotlabs/Module/Block.php:43
+#: ../../Zotlabs/Module/Cal.php:62 ../../Zotlabs/Module/Wall_upload.php:33
+msgid "Channel not found."
msgstr ""
-#: ../../Zotlabs/Module/Settings.php:724
-msgid "Client key starts with"
+#: ../../Zotlabs/Module/Page.php:131
+msgid ""
+"Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod "
+"tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, "
+"quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo "
+"consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse "
+"cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat "
+"non proident, sunt in culpa qui officia deserunt mollit anim id est laborum."
msgstr ""
-#: ../../Zotlabs/Module/Settings.php:725
-msgid "No name"
+#: ../../Zotlabs/Module/Filer.php:52
+msgid "Save to Folder:"
msgstr ""
-#: ../../Zotlabs/Module/Settings.php:726
-msgid "Remove authorization"
+#: ../../Zotlabs/Module/Filer.php:52
+msgid "- select -"
msgstr ""
-#: ../../Zotlabs/Module/Settings.php:739
-msgid "No feature settings configured"
+#: ../../Zotlabs/Module/Mail.php:38
+msgid "Unable to lookup recipient."
msgstr ""
-#: ../../Zotlabs/Module/Settings.php:746
-msgid "Feature/Addon Settings"
+#: ../../Zotlabs/Module/Mail.php:45
+msgid "Unable to communicate with requested channel."
msgstr ""
-#: ../../Zotlabs/Module/Settings.php:769
-msgid "Account Settings"
+#: ../../Zotlabs/Module/Mail.php:52
+msgid "Cannot verify requested channel."
msgstr ""
-#: ../../Zotlabs/Module/Settings.php:770
-msgid "Current Password"
+#: ../../Zotlabs/Module/Mail.php:70
+msgid "Selected channel has private message restrictions. Send failed."
msgstr ""
-#: ../../Zotlabs/Module/Settings.php:771
-msgid "Enter New Password"
+#: ../../Zotlabs/Module/Mail.php:135
+msgid "Messages"
msgstr ""
-#: ../../Zotlabs/Module/Settings.php:772
-msgid "Confirm New Password"
+#: ../../Zotlabs/Module/Mail.php:170
+msgid "Message recalled."
msgstr ""
-#: ../../Zotlabs/Module/Settings.php:772
-msgid "Leave password fields blank unless changing"
+#: ../../Zotlabs/Module/Mail.php:183
+msgid "Conversation removed."
msgstr ""
-#: ../../Zotlabs/Module/Settings.php:774
-#: ../../Zotlabs/Module/Settings.php:1194
-msgid "Email Address:"
+#: ../../Zotlabs/Module/Mail.php:197 ../../Zotlabs/Module/Mail.php:306
+#: ../../Zotlabs/Module/Chat.php:205 ../../include/conversation.php:1184
+msgid "Please enter a link URL:"
msgstr ""
-#: ../../Zotlabs/Module/Settings.php:775
-#: ../../Zotlabs/Module/Removeaccount.php:61
-msgid "Remove Account"
+#: ../../Zotlabs/Module/Mail.php:198 ../../Zotlabs/Module/Mail.php:307
+msgid "Expires YYYY-MM-DD HH:MM"
msgstr ""
-#: ../../Zotlabs/Module/Settings.php:776
-msgid "Remove this account including all its channels"
+#: ../../Zotlabs/Module/Mail.php:226
+msgid "Requested channel is not in this network"
msgstr ""
-#: ../../Zotlabs/Module/Settings.php:810
-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."
+#: ../../Zotlabs/Module/Mail.php:234
+msgid "Send Private Message"
msgstr ""
-#: ../../Zotlabs/Module/Settings.php:812
-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:"
+#: ../../Zotlabs/Module/Mail.php:235 ../../Zotlabs/Module/Mail.php:360
+msgid "To:"
msgstr ""
-#: ../../Zotlabs/Module/Settings.php:847 ../../include/widgets.php:614
-msgid "Guest Access Tokens"
+#: ../../Zotlabs/Module/Mail.php:238 ../../Zotlabs/Module/Mail.php:362
+msgid "Subject:"
msgstr ""
-#: ../../Zotlabs/Module/Settings.php:854
-msgid "Login Name"
+#: ../../Zotlabs/Module/Mail.php:241 ../../Zotlabs/Module/Invite.php:135
+msgid "Your message:"
msgstr ""
-#: ../../Zotlabs/Module/Settings.php:855
-msgid "Login Password"
+#: ../../Zotlabs/Module/Mail.php:243 ../../Zotlabs/Module/Mail.php:368
+#: ../../include/conversation.php:1244
+msgid "Attach file"
msgstr ""
-#: ../../Zotlabs/Module/Settings.php:856
-msgid "Expires (yyyy-mm-dd)"
+#: ../../Zotlabs/Module/Mail.php:244 ../../Zotlabs/Module/Mail.php:369
+#: ../../Zotlabs/Module/Editblock.php:111
+#: ../../Zotlabs/Module/Editwebpage.php:146 ../../Zotlabs/Module/Chat.php:207
+#: ../../include/conversation.php:1149
+msgid "Insert web link"
msgstr ""
-#: ../../Zotlabs/Module/Settings.php:857 ../../Zotlabs/Module/Connedit.php:789
-msgid "Their Settings"
+#: ../../Zotlabs/Module/Mail.php:245
+msgid "Send"
msgstr ""
-#: ../../Zotlabs/Module/Settings.php:858 ../../Zotlabs/Module/Connedit.php:790
-msgid "My Settings"
+#: ../../Zotlabs/Module/Mail.php:248 ../../Zotlabs/Module/Mail.php:373
+#: ../../include/conversation.php:1289
+msgid "Set expiration date"
msgstr ""
-#: ../../Zotlabs/Module/Settings.php:860 ../../Zotlabs/Module/Connedit.php:785
-msgid "inherited"
+#: ../../Zotlabs/Module/Mail.php:250 ../../Zotlabs/Module/Mail.php:375
+#: ../../Zotlabs/Module/Chat.php:206 ../../Zotlabs/Lib/ThreadItem.php:737
+#: ../../include/conversation.php:1294
+msgid "Encrypt text"
msgstr ""
-#: ../../Zotlabs/Module/Settings.php:862 ../../Zotlabs/Module/Connedit.php:792
-msgid "Individual Permissions"
+#: ../../Zotlabs/Module/Mail.php:332
+msgid "Delete message"
msgstr ""
-#: ../../Zotlabs/Module/Settings.php:863 ../../Zotlabs/Module/Connedit.php:793
-msgid ""
-"Some permissions may be inherited from your channel's <a href=\"settings"
-"\"><strong>privacy settings</strong></a>, which have higher priority than "
-"individual settings. You can <strong>not</strong> change those settings here."
+#: ../../Zotlabs/Module/Mail.php:333
+msgid "Delivery report"
msgstr ""
-#: ../../Zotlabs/Module/Settings.php:881 ../../Zotlabs/Module/Admin.php:677
-#: ../../Zotlabs/Module/Admin.php:678
-msgid "Off"
+#: ../../Zotlabs/Module/Mail.php:334
+msgid "Recall message"
msgstr ""
-#: ../../Zotlabs/Module/Settings.php:881 ../../Zotlabs/Module/Admin.php:677
-#: ../../Zotlabs/Module/Admin.php:678
-msgid "On"
+#: ../../Zotlabs/Module/Mail.php:336
+msgid "Message has been recalled."
msgstr ""
-#: ../../Zotlabs/Module/Settings.php:888
-msgid "Additional Features"
+#: ../../Zotlabs/Module/Mail.php:353
+msgid "Delete Conversation"
msgstr ""
-#: ../../Zotlabs/Module/Settings.php:912
-msgid "Connector Settings"
+#: ../../Zotlabs/Module/Mail.php:355
+msgid ""
+"No secure communications available. You <strong>may</strong> be able to "
+"respond from the sender's profile page."
msgstr ""
-#: ../../Zotlabs/Module/Settings.php:951
-msgid "No special theme for mobile devices"
+#: ../../Zotlabs/Module/Mail.php:359
+msgid "Send Reply"
msgstr ""
-#: ../../Zotlabs/Module/Settings.php:954
+#: ../../Zotlabs/Module/Mail.php:364
#, php-format
-msgid "%s - (Experimental)"
-msgstr ""
-
-#: ../../Zotlabs/Module/Settings.php:957 ../../Zotlabs/Module/Admin.php:410
-msgid "mobile"
-msgstr ""
-
-#: ../../Zotlabs/Module/Settings.php:996
-msgid "Display Settings"
+msgid "Your message for %s (%s):"
msgstr ""
-#: ../../Zotlabs/Module/Settings.php:997
-msgid "Theme Settings"
+#: ../../Zotlabs/Module/Connections.php:56
+#: ../../Zotlabs/Module/Connections.php:161
+#: ../../Zotlabs/Module/Connections.php:242
+msgid "Blocked"
msgstr ""
-#: ../../Zotlabs/Module/Settings.php:998
-msgid "Custom Theme Settings"
+#: ../../Zotlabs/Module/Connections.php:61
+#: ../../Zotlabs/Module/Connections.php:168
+#: ../../Zotlabs/Module/Connections.php:241
+msgid "Ignored"
msgstr ""
-#: ../../Zotlabs/Module/Settings.php:999
-msgid "Content Settings"
+#: ../../Zotlabs/Module/Connections.php:66
+#: ../../Zotlabs/Module/Connections.php:182
+#: ../../Zotlabs/Module/Connections.php:240
+msgid "Hidden"
msgstr ""
-#: ../../Zotlabs/Module/Settings.php:1005
-msgid "Display Theme:"
+#: ../../Zotlabs/Module/Connections.php:71
+#: ../../Zotlabs/Module/Connections.php:175
+#: ../../Zotlabs/Module/Connections.php:239
+msgid "Archived"
msgstr ""
-#: ../../Zotlabs/Module/Settings.php:1006
-msgid "Mobile Theme:"
+#: ../../Zotlabs/Module/Connections.php:76
+#: ../../Zotlabs/Module/Connections.php:86 ../../Zotlabs/Module/Menu.php:116
+#: ../../include/conversation.php:1573
+msgid "New"
msgstr ""
-#: ../../Zotlabs/Module/Settings.php:1007
-msgid "Preload images before rendering the page"
+#: ../../Zotlabs/Module/Connections.php:92
+#: ../../Zotlabs/Module/Connections.php:107
+#: ../../Zotlabs/Module/Connedit.php:629 ../../include/widgets.php:533
+msgid "All"
msgstr ""
-#: ../../Zotlabs/Module/Settings.php:1007
-msgid ""
-"The subjective page load time will be longer but the page will be ready when "
-"displayed"
+#: ../../Zotlabs/Module/Connections.php:138
+msgid "New Connections"
msgstr ""
-#: ../../Zotlabs/Module/Settings.php:1008
-msgid "Enable user zoom on mobile devices"
+#: ../../Zotlabs/Module/Connections.php:141
+msgid "Show pending (new) connections"
msgstr ""
-#: ../../Zotlabs/Module/Settings.php:1009
-msgid "Update browser every xx seconds"
+#: ../../Zotlabs/Module/Connections.php:145
+#: ../../Zotlabs/Module/Profperm.php:144
+msgid "All Connections"
msgstr ""
-#: ../../Zotlabs/Module/Settings.php:1009
-msgid "Minimum of 10 seconds, no maximum"
+#: ../../Zotlabs/Module/Connections.php:148
+msgid "Show all connections"
msgstr ""
-#: ../../Zotlabs/Module/Settings.php:1010
-msgid "Maximum number of conversations to load at any time:"
+#: ../../Zotlabs/Module/Connections.php:164
+msgid "Only show blocked connections"
msgstr ""
-#: ../../Zotlabs/Module/Settings.php:1010
-msgid "Maximum of 100 items"
+#: ../../Zotlabs/Module/Connections.php:171
+msgid "Only show ignored connections"
msgstr ""
-#: ../../Zotlabs/Module/Settings.php:1011
-msgid "Show emoticons (smilies) as images"
+#: ../../Zotlabs/Module/Connections.php:178
+msgid "Only show archived connections"
msgstr ""
-#: ../../Zotlabs/Module/Settings.php:1012
-msgid "Link post titles to source"
+#: ../../Zotlabs/Module/Connections.php:185
+msgid "Only show hidden connections"
msgstr ""
-#: ../../Zotlabs/Module/Settings.php:1013
-msgid "System Page Layout Editor - (advanced)"
+#: ../../Zotlabs/Module/Connections.php:238
+msgid "Pending approval"
msgstr ""
-#: ../../Zotlabs/Module/Settings.php:1016
-msgid "Use blog/list mode on channel page"
+#: ../../Zotlabs/Module/Connections.php:254
+#, php-format
+msgid "%1$s [%2$s]"
msgstr ""
-#: ../../Zotlabs/Module/Settings.php:1016
-#: ../../Zotlabs/Module/Settings.php:1017
-msgid "(comments displayed separately)"
+#: ../../Zotlabs/Module/Connections.php:255
+msgid "Edit connection"
msgstr ""
-#: ../../Zotlabs/Module/Settings.php:1017
-msgid "Use blog/list mode on grid page"
+#: ../../Zotlabs/Module/Connections.php:256
+msgid "Delete connection"
msgstr ""
-#: ../../Zotlabs/Module/Settings.php:1018
-msgid "Channel page max height of content (in pixels)"
+#: ../../Zotlabs/Module/Connections.php:265
+msgid "Channel address"
msgstr ""
-#: ../../Zotlabs/Module/Settings.php:1018
-#: ../../Zotlabs/Module/Settings.php:1019
-msgid "click to expand content exceeding this height"
+#: ../../Zotlabs/Module/Connections.php:267
+msgid "Network"
msgstr ""
-#: ../../Zotlabs/Module/Settings.php:1019
-msgid "Grid page max height of content (in pixels)"
+#: ../../Zotlabs/Module/Connections.php:270
+msgid "Status"
msgstr ""
-#: ../../Zotlabs/Module/Settings.php:1048
-msgid "Nobody except yourself"
+#: ../../Zotlabs/Module/Connections.php:272
+msgid "Connected"
msgstr ""
-#: ../../Zotlabs/Module/Settings.php:1049
-msgid "Only those you specifically allow"
+#: ../../Zotlabs/Module/Connections.php:274
+msgid "Approve connection"
msgstr ""
-#: ../../Zotlabs/Module/Settings.php:1050
-msgid "Approved connections"
+#: ../../Zotlabs/Module/Connections.php:276
+msgid "Ignore connection"
msgstr ""
-#: ../../Zotlabs/Module/Settings.php:1051
-msgid "Any connections"
+#: ../../Zotlabs/Module/Connections.php:277
+#: ../../Zotlabs/Module/Connedit.php:583
+#: ../../Zotlabs/Module/Notifications.php:55
+msgid "Ignore"
msgstr ""
-#: ../../Zotlabs/Module/Settings.php:1052
-msgid "Anybody on this website"
+#: ../../Zotlabs/Module/Connections.php:278
+msgid "Recent activity"
msgstr ""
-#: ../../Zotlabs/Module/Settings.php:1053
-msgid "Anybody in this network"
+#: ../../Zotlabs/Module/Connections.php:302 ../../Zotlabs/Lib/Apps.php:209
+#: ../../include/text.php:901 ../../include/nav.php:191
+msgid "Connections"
msgstr ""
-#: ../../Zotlabs/Module/Settings.php:1054
-msgid "Anybody authenticated"
+#: ../../Zotlabs/Module/Connections.php:306 ../../Zotlabs/Module/Search.php:44
+#: ../../Zotlabs/Lib/Apps.php:230 ../../include/text.php:971
+#: ../../include/text.php:983 ../../include/acl_selectors.php:174
+#: ../../include/nav.php:170 ../../include/widgets.php:315
+msgid "Search"
msgstr ""
-#: ../../Zotlabs/Module/Settings.php:1055
-msgid "Anybody on the internet"
+#: ../../Zotlabs/Module/Connections.php:307
+msgid "Search your connections"
msgstr ""
-#: ../../Zotlabs/Module/Settings.php:1129
-msgid "Publish your default profile in the network directory"
+#: ../../Zotlabs/Module/Connections.php:308
+msgid "Connections search"
msgstr ""
-#: ../../Zotlabs/Module/Settings.php:1134
-msgid "Allow us to suggest you as a potential friend to new members?"
+#: ../../Zotlabs/Module/Connections.php:309
+#: ../../Zotlabs/Module/Directory.php:388
+#: ../../Zotlabs/Module/Directory.php:393 ../../include/contact_widgets.php:23
+msgid "Find"
msgstr ""
-#: ../../Zotlabs/Module/Settings.php:1143
-msgid "Your channel address is"
+#: ../../Zotlabs/Module/Cover_photo.php:58
+#: ../../Zotlabs/Module/Profile_photo.php:61
+msgid "Image uploaded but image cropping failed."
msgstr ""
-#: ../../Zotlabs/Module/Settings.php:1185
-msgid "Channel Settings"
+#: ../../Zotlabs/Module/Cover_photo.php:134
+#: ../../Zotlabs/Module/Cover_photo.php:181
+msgid "Cover Photos"
msgstr ""
-#: ../../Zotlabs/Module/Settings.php:1192
-msgid "Basic Settings"
+#: ../../Zotlabs/Module/Cover_photo.php:154
+#: ../../Zotlabs/Module/Profile_photo.php:135
+msgid "Image resize failed."
msgstr ""
-#: ../../Zotlabs/Module/Settings.php:1193 ../../include/channel.php:1171
-msgid "Full Name:"
+#: ../../Zotlabs/Module/Cover_photo.php:168
+#: ../../Zotlabs/Module/Profile_photo.php:196 ../../include/photos.php:148
+msgid "Unable to process image"
msgstr ""
-#: ../../Zotlabs/Module/Settings.php:1195
-msgid "Your Timezone:"
+#: ../../Zotlabs/Module/Cover_photo.php:192
+#: ../../Zotlabs/Module/Profile_photo.php:223
+msgid "Image upload failed."
msgstr ""
-#: ../../Zotlabs/Module/Settings.php:1196
-msgid "Default Post Location:"
+#: ../../Zotlabs/Module/Cover_photo.php:210
+#: ../../Zotlabs/Module/Profile_photo.php:242
+msgid "Unable to process image."
msgstr ""
-#: ../../Zotlabs/Module/Settings.php:1196
-msgid "Geographical location to display on your posts"
+#: ../../Zotlabs/Module/Cover_photo.php:233 ../../include/items.php:4341
+msgid "female"
msgstr ""
-#: ../../Zotlabs/Module/Settings.php:1197
-msgid "Use Browser Location:"
+#: ../../Zotlabs/Module/Cover_photo.php:234 ../../include/items.php:4342
+#, php-format
+msgid "%1$s updated her %2$s"
msgstr ""
-#: ../../Zotlabs/Module/Settings.php:1199
-msgid "Adult Content"
+#: ../../Zotlabs/Module/Cover_photo.php:235 ../../include/items.php:4343
+msgid "male"
msgstr ""
-#: ../../Zotlabs/Module/Settings.php:1199
-msgid ""
-"This channel frequently or regularly publishes adult content. (Please tag "
-"any adult material and/or nudity with #NSFW)"
+#: ../../Zotlabs/Module/Cover_photo.php:236 ../../include/items.php:4344
+#, php-format
+msgid "%1$s updated his %2$s"
msgstr ""
-#: ../../Zotlabs/Module/Settings.php:1201
-msgid "Security and Privacy Settings"
+#: ../../Zotlabs/Module/Cover_photo.php:238 ../../include/items.php:4346
+#, php-format
+msgid "%1$s updated their %2$s"
msgstr ""
-#: ../../Zotlabs/Module/Settings.php:1204
-msgid "Your permissions are already configured. Click to view/adjust"
+#: ../../Zotlabs/Module/Cover_photo.php:240 ../../include/channel.php:1731
+msgid "cover photo"
msgstr ""
-#: ../../Zotlabs/Module/Settings.php:1206
-msgid "Hide my online presence"
+#: ../../Zotlabs/Module/Cover_photo.php:303
+#: ../../Zotlabs/Module/Cover_photo.php:318
+#: ../../Zotlabs/Module/Profile_photo.php:300
+#: ../../Zotlabs/Module/Profile_photo.php:341
+msgid "Photo not available."
msgstr ""
-#: ../../Zotlabs/Module/Settings.php:1206
-msgid "Prevents displaying in your profile that you are online"
+#: ../../Zotlabs/Module/Cover_photo.php:354
+#: ../../Zotlabs/Module/Profile_photo.php:387
+msgid "Upload File:"
msgstr ""
-#: ../../Zotlabs/Module/Settings.php:1208
-msgid "Simple Privacy Settings:"
+#: ../../Zotlabs/Module/Cover_photo.php:355
+#: ../../Zotlabs/Module/Profile_photo.php:388
+msgid "Select a profile:"
msgstr ""
-#: ../../Zotlabs/Module/Settings.php:1209
-msgid ""
-"Very Public - <em>extremely permissive (should be used with caution)</em>"
+#: ../../Zotlabs/Module/Cover_photo.php:356
+msgid "Upload Cover Photo"
msgstr ""
-#: ../../Zotlabs/Module/Settings.php:1210
-msgid ""
-"Typical - <em>default public, privacy when desired (similar to social "
-"network permissions but with improved privacy)</em>"
+#: ../../Zotlabs/Module/Cover_photo.php:361
+#: ../../Zotlabs/Module/Profile_photo.php:396
+#: ../../Zotlabs/Module/Settings/Channel.php:399
+msgid "or"
msgstr ""
-#: ../../Zotlabs/Module/Settings.php:1211
-msgid "Private - <em>default private, never open or public</em>"
+#: ../../Zotlabs/Module/Cover_photo.php:361
+#: ../../Zotlabs/Module/Profile_photo.php:396
+msgid "skip this step"
msgstr ""
-#: ../../Zotlabs/Module/Settings.php:1212
-msgid "Blocked - <em>default blocked to/from everybody</em>"
+#: ../../Zotlabs/Module/Cover_photo.php:361
+#: ../../Zotlabs/Module/Profile_photo.php:396
+msgid "select a photo from your photo albums"
msgstr ""
-#: ../../Zotlabs/Module/Settings.php:1214
-msgid "Allow others to tag your posts"
+#: ../../Zotlabs/Module/Cover_photo.php:377
+#: ../../Zotlabs/Module/Profile_photo.php:415
+msgid "Crop Image"
msgstr ""
-#: ../../Zotlabs/Module/Settings.php:1214
-msgid ""
-"Often used by the community to retro-actively flag inappropriate content"
+#: ../../Zotlabs/Module/Cover_photo.php:378
+#: ../../Zotlabs/Module/Profile_photo.php:416
+msgid "Please adjust the image cropping for optimum viewing."
msgstr ""
-#: ../../Zotlabs/Module/Settings.php:1216
-msgid "Advanced Privacy Settings"
+#: ../../Zotlabs/Module/Cover_photo.php:380
+#: ../../Zotlabs/Module/Profile_photo.php:418
+msgid "Done Editing"
msgstr ""
-#: ../../Zotlabs/Module/Settings.php:1218
-msgid "Expire other channel content after this many days"
+#: ../../Zotlabs/Module/Rpost.php:138 ../../Zotlabs/Module/Editpost.php:106
+msgid "Edit post"
msgstr ""
-#: ../../Zotlabs/Module/Settings.php:1218
-msgid "0 or blank to use the website limit."
+#: ../../Zotlabs/Module/Connedit.php:80
+msgid "Could not access contact record."
msgstr ""
-#: ../../Zotlabs/Module/Settings.php:1218
-#, php-format
-msgid "This website expires after %d days."
+#: ../../Zotlabs/Module/Connedit.php:104
+msgid "Could not locate selected profile."
msgstr ""
-#: ../../Zotlabs/Module/Settings.php:1218
-msgid "This website does not expire imported content."
+#: ../../Zotlabs/Module/Connedit.php:256
+msgid "Connection updated."
msgstr ""
-#: ../../Zotlabs/Module/Settings.php:1218
-msgid "The website limit takes precedence if lower than your limit."
+#: ../../Zotlabs/Module/Connedit.php:258
+msgid "Failed to update connection record."
msgstr ""
-#: ../../Zotlabs/Module/Settings.php:1219
-msgid "Maximum Friend Requests/Day:"
+#: ../../Zotlabs/Module/Connedit.php:308
+msgid "is now connected to"
msgstr ""
-#: ../../Zotlabs/Module/Settings.php:1219
-msgid "May reduce spam activity"
+#: ../../Zotlabs/Module/Connedit.php:440
+msgid "Could not access address book record."
msgstr ""
-#: ../../Zotlabs/Module/Settings.php:1220
-msgid "Default Post and Publish Permissions"
+#: ../../Zotlabs/Module/Connedit.php:460
+msgid "Refresh failed - channel is currently unavailable."
msgstr ""
-#: ../../Zotlabs/Module/Settings.php:1221 ../../Zotlabs/Module/Mitem.php:154
-#: ../../Zotlabs/Module/Mitem.php:227
-msgid "(click to open/close)"
+#: ../../Zotlabs/Module/Connedit.php:475 ../../Zotlabs/Module/Connedit.php:484
+#: ../../Zotlabs/Module/Connedit.php:493 ../../Zotlabs/Module/Connedit.php:502
+#: ../../Zotlabs/Module/Connedit.php:515
+msgid "Unable to set address book parameters."
msgstr ""
-#: ../../Zotlabs/Module/Settings.php:1222
-msgid "Use my default audience setting for the type of object published"
+#: ../../Zotlabs/Module/Connedit.php:538
+msgid "Connection has been removed."
msgstr ""
-#: ../../Zotlabs/Module/Settings.php:1225
-msgid "Channel permissions category:"
+#: ../../Zotlabs/Module/Connedit.php:554 ../../Zotlabs/Lib/Apps.php:221
+#: ../../include/nav.php:89 ../../include/conversation.php:953
+msgid "View Profile"
msgstr ""
-#: ../../Zotlabs/Module/Settings.php:1231
-msgid "Maximum private messages per day from unknown people:"
+#: ../../Zotlabs/Module/Connedit.php:557
+#, php-format
+msgid "View %s's profile"
msgstr ""
-#: ../../Zotlabs/Module/Settings.php:1231
-msgid "Useful to reduce spamming"
+#: ../../Zotlabs/Module/Connedit.php:561
+msgid "Refresh Permissions"
msgstr ""
-#: ../../Zotlabs/Module/Settings.php:1234
-msgid "Notification Settings"
+#: ../../Zotlabs/Module/Connedit.php:564
+msgid "Fetch updated permissions"
msgstr ""
-#: ../../Zotlabs/Module/Settings.php:1235
-msgid "By default post a status message when:"
+#: ../../Zotlabs/Module/Connedit.php:568
+msgid "Recent Activity"
msgstr ""
-#: ../../Zotlabs/Module/Settings.php:1236
-msgid "accepting a friend request"
+#: ../../Zotlabs/Module/Connedit.php:571
+msgid "View recent posts and comments"
msgstr ""
-#: ../../Zotlabs/Module/Settings.php:1237
-msgid "joining a forum/community"
+#: ../../Zotlabs/Module/Connedit.php:578
+msgid "Block (or Unblock) all communications with this connection"
msgstr ""
-#: ../../Zotlabs/Module/Settings.php:1238
-msgid "making an <em>interesting</em> profile change"
+#: ../../Zotlabs/Module/Connedit.php:579
+msgid "This connection is blocked!"
msgstr ""
-#: ../../Zotlabs/Module/Settings.php:1239
-msgid "Send a notification email when:"
+#: ../../Zotlabs/Module/Connedit.php:583
+msgid "Unignore"
msgstr ""
-#: ../../Zotlabs/Module/Settings.php:1240
-msgid "You receive a connection request"
+#: ../../Zotlabs/Module/Connedit.php:586
+msgid "Ignore (or Unignore) all inbound communications from this connection"
msgstr ""
-#: ../../Zotlabs/Module/Settings.php:1241
-msgid "Your connections are confirmed"
+#: ../../Zotlabs/Module/Connedit.php:587
+msgid "This connection is ignored!"
msgstr ""
-#: ../../Zotlabs/Module/Settings.php:1242
-msgid "Someone writes on your profile wall"
+#: ../../Zotlabs/Module/Connedit.php:591
+msgid "Unarchive"
msgstr ""
-#: ../../Zotlabs/Module/Settings.php:1243
-msgid "Someone writes a followup comment"
+#: ../../Zotlabs/Module/Connedit.php:591
+msgid "Archive"
msgstr ""
-#: ../../Zotlabs/Module/Settings.php:1244
-msgid "You receive a private message"
+#: ../../Zotlabs/Module/Connedit.php:594
+msgid ""
+"Archive (or Unarchive) this connection - mark channel dead but keep content"
msgstr ""
-#: ../../Zotlabs/Module/Settings.php:1245
-msgid "You receive a friend suggestion"
+#: ../../Zotlabs/Module/Connedit.php:595
+msgid "This connection is archived!"
msgstr ""
-#: ../../Zotlabs/Module/Settings.php:1246
-msgid "You are tagged in a post"
+#: ../../Zotlabs/Module/Connedit.php:599
+msgid "Unhide"
msgstr ""
-#: ../../Zotlabs/Module/Settings.php:1247
-msgid "You are poked/prodded/etc. in a post"
+#: ../../Zotlabs/Module/Connedit.php:599
+msgid "Hide"
msgstr ""
-#: ../../Zotlabs/Module/Settings.php:1250
-msgid "Show visual notifications including:"
+#: ../../Zotlabs/Module/Connedit.php:602
+msgid "Hide or Unhide this connection from your other connections"
msgstr ""
-#: ../../Zotlabs/Module/Settings.php:1252
-msgid "Unseen grid activity"
+#: ../../Zotlabs/Module/Connedit.php:603
+msgid "This connection is hidden!"
msgstr ""
-#: ../../Zotlabs/Module/Settings.php:1253
-msgid "Unseen channel activity"
+#: ../../Zotlabs/Module/Connedit.php:610
+msgid "Delete this connection"
msgstr ""
-#: ../../Zotlabs/Module/Settings.php:1254
-msgid "Unseen private messages"
+#: ../../Zotlabs/Module/Connedit.php:625 ../../include/widgets.php:529
+msgid "Me"
msgstr ""
-#: ../../Zotlabs/Module/Settings.php:1254
-#: ../../Zotlabs/Module/Settings.php:1259
-#: ../../Zotlabs/Module/Settings.php:1260
-#: ../../Zotlabs/Module/Settings.php:1261
-msgid "Recommended"
+#: ../../Zotlabs/Module/Connedit.php:626 ../../include/widgets.php:530
+msgid "Family"
msgstr ""
-#: ../../Zotlabs/Module/Settings.php:1255
-msgid "Upcoming events"
+#: ../../Zotlabs/Module/Connedit.php:627
+#: ../../Zotlabs/Module/Settings/Channel.php:61
+#: ../../Zotlabs/Module/Settings/Channel.php:65
+#: ../../Zotlabs/Module/Settings/Channel.php:66
+#: ../../Zotlabs/Module/Settings/Channel.php:69
+#: ../../Zotlabs/Module/Settings/Channel.php:80
+#: ../../include/selectors.php:123 ../../include/channel.php:402
+#: ../../include/channel.php:403 ../../include/channel.php:410
+#: ../../include/widgets.php:531
+msgid "Friends"
msgstr ""
-#: ../../Zotlabs/Module/Settings.php:1256
-msgid "Events today"
+#: ../../Zotlabs/Module/Connedit.php:628 ../../include/widgets.php:532
+msgid "Acquaintances"
msgstr ""
-#: ../../Zotlabs/Module/Settings.php:1257
-msgid "Upcoming birthdays"
+#: ../../Zotlabs/Module/Connedit.php:686
+msgid "Approve this connection"
msgstr ""
-#: ../../Zotlabs/Module/Settings.php:1257
-msgid "Not available in all themes"
+#: ../../Zotlabs/Module/Connedit.php:686
+msgid "Accept connection to allow communication"
msgstr ""
-#: ../../Zotlabs/Module/Settings.php:1258
-msgid "System (personal) notifications"
+#: ../../Zotlabs/Module/Connedit.php:691
+msgid "Set Affinity"
msgstr ""
-#: ../../Zotlabs/Module/Settings.php:1259
-msgid "System info messages"
+#: ../../Zotlabs/Module/Connedit.php:694
+msgid "Set Profile"
msgstr ""
-#: ../../Zotlabs/Module/Settings.php:1260
-msgid "System critical alerts"
+#: ../../Zotlabs/Module/Connedit.php:697
+msgid "Set Affinity & Profile"
msgstr ""
-#: ../../Zotlabs/Module/Settings.php:1261
-msgid "New connections"
+#: ../../Zotlabs/Module/Connedit.php:746
+msgid "none"
msgstr ""
-#: ../../Zotlabs/Module/Settings.php:1262
-msgid "System Registrations"
+#: ../../Zotlabs/Module/Connedit.php:750 ../../include/widgets.php:656
+msgid "Connection Default Permissions"
msgstr ""
-#: ../../Zotlabs/Module/Settings.php:1263
-msgid ""
-"Also show new wall posts, private messages and connections under Notices"
+#: ../../Zotlabs/Module/Connedit.php:750 ../../include/items.php:3993
+#, php-format
+msgid "Connection: %s"
msgstr ""
-#: ../../Zotlabs/Module/Settings.php:1265
-msgid "Notify me of events this many days in advance"
+#: ../../Zotlabs/Module/Connedit.php:751
+msgid "Apply these permissions automatically"
msgstr ""
-#: ../../Zotlabs/Module/Settings.php:1265
-msgid "Must be greater than 0"
+#: ../../Zotlabs/Module/Connedit.php:751
+msgid "Connection requests will be approved without your interaction"
msgstr ""
-#: ../../Zotlabs/Module/Settings.php:1267
-msgid "Advanced Account/Page Type Settings"
+#: ../../Zotlabs/Module/Connedit.php:753
+msgid "This connection's primary address is"
msgstr ""
-#: ../../Zotlabs/Module/Settings.php:1268
-msgid "Change the behaviour of this account for special situations"
+#: ../../Zotlabs/Module/Connedit.php:754
+msgid "Available locations:"
msgstr ""
-#: ../../Zotlabs/Module/Settings.php:1271
+#: ../../Zotlabs/Module/Connedit.php:758
msgid ""
-"Please enable expert mode (in <a href=\"settings/features\">Settings > "
-"Additional features</a>) to adjust!"
-msgstr ""
-
-#: ../../Zotlabs/Module/Settings.php:1272
-msgid "Miscellaneous Settings"
+"The permissions indicated on this page will be applied to all new "
+"connections."
msgstr ""
-#: ../../Zotlabs/Module/Settings.php:1273
-msgid "Default photo upload folder"
+#: ../../Zotlabs/Module/Connedit.php:759
+msgid "Connection Tools"
msgstr ""
-#: ../../Zotlabs/Module/Settings.php:1273
-#: ../../Zotlabs/Module/Settings.php:1274
-msgid "%Y - current year, %m - current month"
+#: ../../Zotlabs/Module/Connedit.php:761
+msgid "Slide to adjust your degree of friendship"
msgstr ""
-#: ../../Zotlabs/Module/Settings.php:1274
-msgid "Default file upload folder"
+#: ../../Zotlabs/Module/Connedit.php:762 ../../Zotlabs/Module/Rate.php:155
+#: ../../include/js_strings.php:20
+msgid "Rating"
msgstr ""
-#: ../../Zotlabs/Module/Settings.php:1276
-msgid "Personal menu to display in your channel pages"
+#: ../../Zotlabs/Module/Connedit.php:763
+msgid "Slide to adjust your rating"
msgstr ""
-#: ../../Zotlabs/Module/Settings.php:1277 ../../Zotlabs/Module/Removeme.php:64
-msgid "Remove Channel"
+#: ../../Zotlabs/Module/Connedit.php:764 ../../Zotlabs/Module/Connedit.php:769
+msgid "Optionally explain your rating"
msgstr ""
-#: ../../Zotlabs/Module/Settings.php:1278
-msgid "Remove this channel."
+#: ../../Zotlabs/Module/Connedit.php:766
+msgid "Custom Filter"
msgstr ""
-#: ../../Zotlabs/Module/Settings.php:1279
-msgid "Firefox Share $Projectname provider"
+#: ../../Zotlabs/Module/Connedit.php:767
+msgid "Only import posts with this text"
msgstr ""
-#: ../../Zotlabs/Module/Settings.php:1280
-msgid "Start calendar week on monday"
+#: ../../Zotlabs/Module/Connedit.php:767 ../../Zotlabs/Module/Connedit.php:768
+msgid ""
+"words one per line or #tags or /patterns/ or lang=xx, leave blank to import "
+"all posts"
msgstr ""
-#: ../../Zotlabs/Module/Events.php:25
-msgid "Calendar entries imported."
+#: ../../Zotlabs/Module/Connedit.php:768
+msgid "Do not import posts with this text"
msgstr ""
-#: ../../Zotlabs/Module/Events.php:27
-msgid "No calendar entries found."
+#: ../../Zotlabs/Module/Connedit.php:770
+msgid "This information is public!"
msgstr ""
-#: ../../Zotlabs/Module/Events.php:104
-msgid "Event can not end before it has started."
+#: ../../Zotlabs/Module/Connedit.php:775
+msgid "Connection Pending Approval"
msgstr ""
-#: ../../Zotlabs/Module/Events.php:106 ../../Zotlabs/Module/Events.php:115
-#: ../../Zotlabs/Module/Events.php:135
-msgid "Unable to generate preview."
+#: ../../Zotlabs/Module/Connedit.php:778
+#: ../../Zotlabs/Module/Settings/Tokens.php:163
+msgid "inherited"
msgstr ""
-#: ../../Zotlabs/Module/Events.php:113
-msgid "Event title and start time are required."
+#: ../../Zotlabs/Module/Connedit.php:780
+#, php-format
+msgid ""
+"Please choose the profile you would like to display to %s when viewing your "
+"profile securely."
msgstr ""
-#: ../../Zotlabs/Module/Events.php:133 ../../Zotlabs/Module/Events.php:258
-msgid "Event not found."
+#: ../../Zotlabs/Module/Connedit.php:782
+#: ../../Zotlabs/Module/Settings/Tokens.php:160
+msgid "Their Settings"
msgstr ""
-#: ../../Zotlabs/Module/Events.php:253 ../../Zotlabs/Module/Like.php:372
-#: ../../Zotlabs/Module/Tagger.php:51 ../../include/event.php:951
-#: ../../include/conversation.php:123 ../../include/text.php:1924
-msgid "event"
+#: ../../Zotlabs/Module/Connedit.php:783
+#: ../../Zotlabs/Module/Settings/Tokens.php:161
+msgid "My Settings"
msgstr ""
-#: ../../Zotlabs/Module/Events.php:448
-msgid "Edit event title"
+#: ../../Zotlabs/Module/Connedit.php:785
+#: ../../Zotlabs/Module/Settings/Tokens.php:165
+msgid "Individual Permissions"
msgstr ""
-#: ../../Zotlabs/Module/Events.php:448
-msgid "Event title"
+#: ../../Zotlabs/Module/Connedit.php:786
+#: ../../Zotlabs/Module/Settings/Tokens.php:166
+msgid ""
+"Some permissions may be inherited from your channel's <a href=\"settings"
+"\"><strong>privacy settings</strong></a>, which have higher priority than "
+"individual settings. You can <strong>not</strong> change those settings here."
msgstr ""
-#: ../../Zotlabs/Module/Events.php:450
-msgid "Categories (comma-separated list)"
+#: ../../Zotlabs/Module/Connedit.php:787
+msgid ""
+"Some permissions may be inherited from your channel's <a href=\"settings"
+"\"><strong>privacy settings</strong></a>, which have higher priority than "
+"individual settings. You can change those settings here but they wont have "
+"any impact unless the inherited setting changes."
msgstr ""
-#: ../../Zotlabs/Module/Events.php:451
-msgid "Edit Category"
+#: ../../Zotlabs/Module/Connedit.php:788
+msgid "Last update:"
msgstr ""
-#: ../../Zotlabs/Module/Events.php:451
-msgid "Category"
+#: ../../Zotlabs/Module/Editblock.php:79 ../../Zotlabs/Module/Editblock.php:95
+#: ../../Zotlabs/Module/Editlayout.php:79
+#: ../../Zotlabs/Module/Editwebpage.php:80
+#: ../../Zotlabs/Module/Editpost.php:24
+msgid "Item not found"
msgstr ""
-#: ../../Zotlabs/Module/Events.php:454
-msgid "Edit start date and time"
+#: ../../Zotlabs/Module/Editblock.php:108 ../../Zotlabs/Module/Blocks.php:97
+#: ../../Zotlabs/Module/Blocks.php:155
+msgid "Block Name"
msgstr ""
-#: ../../Zotlabs/Module/Events.php:454
-msgid "Start date and time"
+#: ../../Zotlabs/Module/Editblock.php:124 ../../include/conversation.php:1260
+msgid "Title (optional)"
msgstr ""
-#: ../../Zotlabs/Module/Events.php:455 ../../Zotlabs/Module/Events.php:458
-msgid "Finish date and time are not known or not relevant"
+#: ../../Zotlabs/Module/Editblock.php:133
+msgid "Edit Block"
msgstr ""
-#: ../../Zotlabs/Module/Events.php:457
-msgid "Edit finish date and time"
+#: ../../Zotlabs/Module/Editlayout.php:127
+#: ../../Zotlabs/Module/Layouts.php:128 ../../Zotlabs/Module/Layouts.php:188
+msgid "Layout Name"
msgstr ""
-#: ../../Zotlabs/Module/Events.php:457
-msgid "Finish date and time"
+#: ../../Zotlabs/Module/Editlayout.php:128
+#: ../../Zotlabs/Module/Layouts.php:131
+msgid "Layout Description (Optional)"
msgstr ""
-#: ../../Zotlabs/Module/Events.php:459 ../../Zotlabs/Module/Events.php:460
-msgid "Adjust for viewer timezone"
+#: ../../Zotlabs/Module/Editlayout.php:136
+msgid "Edit Layout"
msgstr ""
-#: ../../Zotlabs/Module/Events.php:459
-msgid ""
-"Important for events that happen in a particular place. Not practical for "
-"global holidays."
+#: ../../Zotlabs/Module/Editwebpage.php:142
+msgid "Page link"
msgstr ""
-#: ../../Zotlabs/Module/Events.php:461
-msgid "Edit Description"
+#: ../../Zotlabs/Module/Editwebpage.php:169
+msgid "Edit Webpage"
msgstr ""
-#: ../../Zotlabs/Module/Events.php:463
-msgid "Edit Location"
+#: ../../Zotlabs/Module/Menu.php:49
+msgid "Unable to update menu."
msgstr ""
-#: ../../Zotlabs/Module/Events.php:463 ../../Zotlabs/Module/Locs.php:117
-#: ../../Zotlabs/Module/Pubsites.php:41 ../../Zotlabs/Module/Profiles.php:477
-#: ../../Zotlabs/Module/Profiles.php:698 ../../include/js_strings.php:25
-msgid "Location"
+#: ../../Zotlabs/Module/Menu.php:60
+msgid "Unable to create menu."
msgstr ""
-#: ../../Zotlabs/Module/Events.php:466 ../../Zotlabs/Module/Events.php:468
-msgid "Share this event"
+#: ../../Zotlabs/Module/Menu.php:98 ../../Zotlabs/Module/Menu.php:110
+msgid "Menu Name"
msgstr ""
-#: ../../Zotlabs/Module/Events.php:470 ../../include/conversation.php:1247
-msgid "Permission settings"
+#: ../../Zotlabs/Module/Menu.php:98
+msgid "Unique name (not visible on webpage) - required"
msgstr ""
-#: ../../Zotlabs/Module/Events.php:475
-msgid "Advanced Options"
+#: ../../Zotlabs/Module/Menu.php:99 ../../Zotlabs/Module/Menu.php:111
+msgid "Menu Title"
msgstr ""
-#: ../../Zotlabs/Module/Events.php:587 ../../Zotlabs/Module/Cal.php:259
-msgid "l, F j"
+#: ../../Zotlabs/Module/Menu.php:99
+msgid "Visible on webpage - leave empty for no title"
msgstr ""
-#: ../../Zotlabs/Module/Events.php:609
-msgid "Edit event"
+#: ../../Zotlabs/Module/Menu.php:100
+msgid "Allow Bookmarks"
msgstr ""
-#: ../../Zotlabs/Module/Events.php:611
-msgid "Delete event"
+#: ../../Zotlabs/Module/Menu.php:100 ../../Zotlabs/Module/Menu.php:157
+msgid "Menu may be used to store saved bookmarks"
msgstr ""
-#: ../../Zotlabs/Module/Events.php:636 ../../Zotlabs/Module/Cal.php:308
-#: ../../include/text.php:1712
-msgid "Link to Source"
+#: ../../Zotlabs/Module/Menu.php:101 ../../Zotlabs/Module/Menu.php:159
+msgid "Submit and proceed"
msgstr ""
-#: ../../Zotlabs/Module/Events.php:645
-msgid "calendar"
+#: ../../Zotlabs/Module/Menu.php:107 ../../include/text.php:2309
+msgid "Menus"
msgstr ""
-#: ../../Zotlabs/Module/Events.php:664 ../../Zotlabs/Module/Cal.php:331
-msgid "Edit Event"
+#: ../../Zotlabs/Module/Menu.php:113 ../../Zotlabs/Module/Locs.php:120
+msgid "Drop"
msgstr ""
-#: ../../Zotlabs/Module/Events.php:664 ../../Zotlabs/Module/Cal.php:331
-msgid "Create Event"
+#: ../../Zotlabs/Module/Menu.php:114 ../../Zotlabs/Module/Blocks.php:157
+#: ../../Zotlabs/Module/Layouts.php:190 ../../Zotlabs/Module/Webpages.php:251
+#: ../../include/page_widgets.php:47
+msgid "Created"
msgstr ""
-#: ../../Zotlabs/Module/Events.php:667 ../../Zotlabs/Module/Cal.php:334
-msgid "Export"
+#: ../../Zotlabs/Module/Menu.php:115 ../../Zotlabs/Module/Blocks.php:158
+#: ../../Zotlabs/Module/Layouts.php:191 ../../Zotlabs/Module/Webpages.php:252
+#: ../../include/page_widgets.php:48
+msgid "Edited"
msgstr ""
-#: ../../Zotlabs/Module/Events.php:670 ../../Zotlabs/Module/Webpages.php:222
-#: ../../Zotlabs/Module/Blocks.php:166 ../../Zotlabs/Module/Layouts.php:197
-#: ../../Zotlabs/Module/Pubsites.php:47 ../../include/page_widgets.php:42
-msgid "View"
+#: ../../Zotlabs/Module/Menu.php:117
+msgid "Bookmarks allowed"
msgstr ""
-#: ../../Zotlabs/Module/Events.php:671
-msgid "Month"
+#: ../../Zotlabs/Module/Menu.php:119
+msgid "Delete this menu"
msgstr ""
-#: ../../Zotlabs/Module/Events.php:672
-msgid "Week"
+#: ../../Zotlabs/Module/Menu.php:120 ../../Zotlabs/Module/Menu.php:154
+msgid "Edit menu contents"
msgstr ""
-#: ../../Zotlabs/Module/Events.php:673
-msgid "Day"
+#: ../../Zotlabs/Module/Menu.php:121
+msgid "Edit this menu"
msgstr ""
-#: ../../Zotlabs/Module/Events.php:676 ../../Zotlabs/Module/Cal.php:341
-msgid "Today"
+#: ../../Zotlabs/Module/Menu.php:136
+msgid "Menu could not be deleted."
msgstr ""
-#: ../../Zotlabs/Module/Events.php:707
-msgid "Event removed"
+#: ../../Zotlabs/Module/Menu.php:144 ../../Zotlabs/Module/Mitem.php:28
+msgid "Menu not found."
msgstr ""
-#: ../../Zotlabs/Module/Events.php:710
-msgid "Failed to remove event"
+#: ../../Zotlabs/Module/Menu.php:149
+msgid "Edit Menu"
msgstr ""
-#: ../../Zotlabs/Module/Webpages.php:53
-msgid "Import Webpage Elements"
+#: ../../Zotlabs/Module/Menu.php:153
+msgid "Add or remove entries to this menu"
msgstr ""
-#: ../../Zotlabs/Module/Webpages.php:54
-msgid "Import selected"
+#: ../../Zotlabs/Module/Menu.php:155
+msgid "Menu name"
msgstr ""
-#: ../../Zotlabs/Module/Webpages.php:213 ../../Zotlabs/Lib/Apps.php:218
-#: ../../include/nav.php:106 ../../include/conversation.php:1700
-msgid "Webpages"
+#: ../../Zotlabs/Module/Menu.php:155
+msgid "Must be unique, only seen by you"
msgstr ""
-#: ../../Zotlabs/Module/Webpages.php:224 ../../include/page_widgets.php:44
-msgid "Actions"
+#: ../../Zotlabs/Module/Menu.php:156
+msgid "Menu title"
msgstr ""
-#: ../../Zotlabs/Module/Webpages.php:225 ../../include/page_widgets.php:45
-msgid "Page Link"
+#: ../../Zotlabs/Module/Menu.php:156
+msgid "Menu title as seen by others"
msgstr ""
-#: ../../Zotlabs/Module/Webpages.php:226
-msgid "Page Title"
+#: ../../Zotlabs/Module/Menu.php:157
+msgid "Allow bookmarks"
msgstr ""
-#: ../../Zotlabs/Module/Webpages.php:227 ../../Zotlabs/Module/Blocks.php:157
-#: ../../Zotlabs/Module/Layouts.php:190 ../../Zotlabs/Module/Menu.php:114
-#: ../../include/page_widgets.php:47
-msgid "Created"
+#: ../../Zotlabs/Module/Menu.php:166 ../../Zotlabs/Module/Mitem.php:120
+#: ../../Zotlabs/Module/Xchan.php:41
+msgid "Not found."
msgstr ""
-#: ../../Zotlabs/Module/Webpages.php:228 ../../Zotlabs/Module/Blocks.php:158
-#: ../../Zotlabs/Module/Layouts.php:191 ../../Zotlabs/Module/Menu.php:115
-#: ../../include/page_widgets.php:48
-msgid "Edited"
+#: ../../Zotlabs/Module/Appman.php:37 ../../Zotlabs/Module/Appman.php:53
+msgid "App installed."
msgstr ""
-#: ../../Zotlabs/Module/Webpages.php:257
-msgid "Invalid file type."
+#: ../../Zotlabs/Module/Appman.php:46
+msgid "Malformed app."
msgstr ""
-#: ../../Zotlabs/Module/Webpages.php:269
-msgid "Error opening zip file"
+#: ../../Zotlabs/Module/Appman.php:104
+msgid "Embed code"
msgstr ""
-#: ../../Zotlabs/Module/Webpages.php:280
-msgid "Invalid folder path."
+#: ../../Zotlabs/Module/Appman.php:110 ../../include/widgets.php:107
+msgid "Edit App"
msgstr ""
-#: ../../Zotlabs/Module/Webpages.php:307
-msgid "No webpage elements detected."
+#: ../../Zotlabs/Module/Appman.php:110
+msgid "Create App"
msgstr ""
-#: ../../Zotlabs/Module/Webpages.php:381
-msgid "Import complete."
+#: ../../Zotlabs/Module/Appman.php:115
+msgid "Name of app"
msgstr ""
-#: ../../Zotlabs/Module/Group.php:24
-msgid "Privacy group created."
+#: ../../Zotlabs/Module/Appman.php:115 ../../Zotlabs/Module/Appman.php:116
+#: ../../Zotlabs/Module/Profiles.php:709 ../../Zotlabs/Module/Profiles.php:713
+#: ../../Zotlabs/Module/Events.php:452 ../../Zotlabs/Module/Events.php:457
+#: ../../include/datetime.php:257
+msgid "Required"
msgstr ""
-#: ../../Zotlabs/Module/Group.php:30
-msgid "Could not create privacy group."
+#: ../../Zotlabs/Module/Appman.php:116
+msgid "Location (URL) of app"
msgstr ""
-#: ../../Zotlabs/Module/Group.php:42 ../../Zotlabs/Module/Group.php:141
-#: ../../include/items.php:3902
-msgid "Privacy group not found."
+#: ../../Zotlabs/Module/Appman.php:117 ../../Zotlabs/Module/Rbmark.php:101
+#: ../../Zotlabs/Module/Events.php:465
+msgid "Description"
msgstr ""
-#: ../../Zotlabs/Module/Group.php:58
-msgid "Privacy group updated."
+#: ../../Zotlabs/Module/Appman.php:118
+msgid "Photo icon URL"
msgstr ""
-#: ../../Zotlabs/Module/Group.php:90
-msgid "Create a group of channels."
+#: ../../Zotlabs/Module/Appman.php:118
+msgid "80 x 80 pixels - optional"
msgstr ""
-#: ../../Zotlabs/Module/Group.php:91 ../../Zotlabs/Module/Group.php:184
-msgid "Privacy group name: "
+#: ../../Zotlabs/Module/Appman.php:119
+msgid "Categories (optional, comma separated list)"
msgstr ""
-#: ../../Zotlabs/Module/Group.php:93 ../../Zotlabs/Module/Group.php:187
-msgid "Members are visible to other channels"
+#: ../../Zotlabs/Module/Appman.php:120
+msgid "Version ID"
msgstr ""
-#: ../../Zotlabs/Module/Group.php:111
-msgid "Privacy group removed."
+#: ../../Zotlabs/Module/Appman.php:121
+msgid "Price of app"
msgstr ""
-#: ../../Zotlabs/Module/Group.php:113
-msgid "Unable to remove privacy group."
+#: ../../Zotlabs/Module/Appman.php:122
+msgid "Location (URL) to purchase app"
msgstr ""
-#: ../../Zotlabs/Module/Group.php:183
-msgid "Privacy group editor"
+#: ../../Zotlabs/Module/Pubsites.php:24 ../../include/widgets.php:1392
+msgid "Public Hubs"
msgstr ""
-#: ../../Zotlabs/Module/Group.php:197
-msgid "Members"
+#: ../../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."
msgstr ""
-#: ../../Zotlabs/Module/Group.php:199
-msgid "All Connected Channels"
+#: ../../Zotlabs/Module/Pubsites.php:33
+msgid "Hub URL"
msgstr ""
-#: ../../Zotlabs/Module/Group.php:231
-msgid "Click on a channel to add or remove."
+#: ../../Zotlabs/Module/Pubsites.php:33
+msgid "Access Type"
msgstr ""
-#: ../../Zotlabs/Module/Mail.php:38
-msgid "Unable to lookup recipient."
+#: ../../Zotlabs/Module/Pubsites.php:33
+msgid "Registration Policy"
msgstr ""
-#: ../../Zotlabs/Module/Mail.php:45
-msgid "Unable to communicate with requested channel."
+#: ../../Zotlabs/Module/Pubsites.php:33
+msgid "Stats"
msgstr ""
-#: ../../Zotlabs/Module/Mail.php:52
-msgid "Cannot verify requested channel."
+#: ../../Zotlabs/Module/Pubsites.php:33
+msgid "Software"
msgstr ""
-#: ../../Zotlabs/Module/Mail.php:70
-msgid "Selected channel has private message restrictions. Send failed."
+#: ../../Zotlabs/Module/Pubsites.php:35 ../../Zotlabs/Module/Ratings.php:97
+#: ../../include/conversation.php:958
+msgid "Ratings"
msgstr ""
-#: ../../Zotlabs/Module/Mail.php:135
-msgid "Messages"
+#: ../../Zotlabs/Module/Pubsites.php:48
+msgid "Rate"
msgstr ""
-#: ../../Zotlabs/Module/Mail.php:170
-msgid "Message recalled."
+#: ../../Zotlabs/Module/Pubsites.php:51 ../../Zotlabs/Module/Locs.php:117
+#: ../../Zotlabs/Module/Profiles.php:477 ../../Zotlabs/Module/Profiles.php:698
+#: ../../Zotlabs/Module/Events.php:467 ../../include/js_strings.php:25
+msgid "Location"
msgstr ""
-#: ../../Zotlabs/Module/Mail.php:183
-msgid "Conversation removed."
+#: ../../Zotlabs/Module/Pubsites.php:59 ../../Zotlabs/Module/Blocks.php:166
+#: ../../Zotlabs/Module/Layouts.php:197 ../../Zotlabs/Module/Webpages.php:246
+#: ../../Zotlabs/Module/Events.php:680 ../../include/page_widgets.php:42
+msgid "View"
msgstr ""
-#: ../../Zotlabs/Module/Mail.php:197 ../../Zotlabs/Module/Mail.php:306
-#: ../../Zotlabs/Module/Chat.php:205 ../../include/conversation.php:1181
-msgid "Please enter a link URL:"
+#: ../../Zotlabs/Module/Attach.php:13
+msgid "Item not available."
msgstr ""
-#: ../../Zotlabs/Module/Mail.php:198 ../../Zotlabs/Module/Mail.php:307
-msgid "Expires YYYY-MM-DD HH:MM"
+#: ../../Zotlabs/Module/Api.php:60 ../../Zotlabs/Module/Api.php:81
+msgid "Authorize application connection"
msgstr ""
-#: ../../Zotlabs/Module/Mail.php:226
-msgid "Requested channel is not in this network"
+#: ../../Zotlabs/Module/Api.php:61
+msgid "Return to your app and insert this Security Code:"
msgstr ""
-#: ../../Zotlabs/Module/Mail.php:234
-msgid "Send Private Message"
+#: ../../Zotlabs/Module/Api.php:71
+msgid "Please login to continue."
msgstr ""
-#: ../../Zotlabs/Module/Mail.php:235 ../../Zotlabs/Module/Mail.php:360
-msgid "To:"
+#: ../../Zotlabs/Module/Api.php:83
+msgid ""
+"Do you want to authorize this application to access your posts and contacts, "
+"and/or create new posts for you?"
msgstr ""
-#: ../../Zotlabs/Module/Mail.php:238 ../../Zotlabs/Module/Mail.php:362
-msgid "Subject:"
+#: ../../Zotlabs/Module/Ffsapi.php:12
+msgid "Share content from Firefox to $Projectname"
msgstr ""
-#: ../../Zotlabs/Module/Mail.php:241 ../../Zotlabs/Module/Invite.php:135
-msgid "Your message:"
+#: ../../Zotlabs/Module/Ffsapi.php:15
+msgid "Activate the Firefox $Projectname provider"
msgstr ""
-#: ../../Zotlabs/Module/Mail.php:243 ../../Zotlabs/Module/Mail.php:368
-#: ../../include/conversation.php:1231
-msgid "Attach file"
+#: ../../Zotlabs/Module/Pdledit.php:21
+msgid "Layout updated."
msgstr ""
-#: ../../Zotlabs/Module/Mail.php:245
-msgid "Send"
+#: ../../Zotlabs/Module/Pdledit.php:34 ../../Zotlabs/Module/Chat.php:218
+msgid "Feature disabled."
msgstr ""
-#: ../../Zotlabs/Module/Mail.php:248 ../../Zotlabs/Module/Mail.php:373
-#: ../../include/conversation.php:1266
-msgid "Set expiration date"
+#: ../../Zotlabs/Module/Pdledit.php:42 ../../Zotlabs/Module/Pdledit.php:69
+msgid "Edit System Page Description"
msgstr ""
-#: ../../Zotlabs/Module/Mail.php:250 ../../Zotlabs/Module/Mail.php:375
-#: ../../Zotlabs/Module/Chat.php:206 ../../Zotlabs/Lib/ThreadItem.php:722
-#: ../../include/conversation.php:1271
-msgid "Encrypt text"
+#: ../../Zotlabs/Module/Pdledit.php:64
+msgid "Layout not found."
msgstr ""
-#: ../../Zotlabs/Module/Mail.php:332
-msgid "Delete message"
+#: ../../Zotlabs/Module/Pdledit.php:70
+msgid "Module Name:"
msgstr ""
-#: ../../Zotlabs/Module/Mail.php:333
-msgid "Delivery report"
+#: ../../Zotlabs/Module/Pdledit.php:71
+msgid "Layout Help"
msgstr ""
-#: ../../Zotlabs/Module/Mail.php:334
-msgid "Recall message"
+#: ../../Zotlabs/Module/Home.php:74 ../../Zotlabs/Module/Home.php:82
+#: ../../Zotlabs/Module/Siteinfo.php:48
+msgid "$Projectname"
msgstr ""
-#: ../../Zotlabs/Module/Mail.php:336
-msgid "Message has been recalled."
+#: ../../Zotlabs/Module/Home.php:92
+#, php-format
+msgid "Welcome to %s"
msgstr ""
-#: ../../Zotlabs/Module/Mail.php:353
-msgid "Delete Conversation"
+#: ../../Zotlabs/Module/Lockview.php:75
+msgid "Remote privacy information not available."
msgstr ""
-#: ../../Zotlabs/Module/Mail.php:355
-msgid ""
-"No secure communications available. You <strong>may</strong> be able to "
-"respond from the sender's profile page."
+#: ../../Zotlabs/Module/Lockview.php:96
+msgid "Visible to:"
msgstr ""
-#: ../../Zotlabs/Module/Mail.php:359
-msgid "Send Reply"
+#: ../../Zotlabs/Module/Filestorage.php:87
+msgid "Permission Denied."
msgstr ""
-#: ../../Zotlabs/Module/Mail.php:364
-#, php-format
-msgid "Your message for %s (%s):"
+#: ../../Zotlabs/Module/Filestorage.php:103
+msgid "File not found."
msgstr ""
-#: ../../Zotlabs/Module/Connedit.php:80
-msgid "Could not access contact record."
+#: ../../Zotlabs/Module/Filestorage.php:146
+msgid "Edit file permissions"
msgstr ""
-#: ../../Zotlabs/Module/Connedit.php:104
-msgid "Could not locate selected profile."
+#: ../../Zotlabs/Module/Filestorage.php:152
+#: ../../Zotlabs/Module/Photos.php:658 ../../Zotlabs/Module/Photos.php:1047
+#: ../../Zotlabs/Module/Thing.php:313 ../../Zotlabs/Module/Thing.php:363
+#: ../../Zotlabs/Module/Chat.php:234 ../../include/acl_selectors.php:179
+msgid "Permissions"
msgstr ""
-#: ../../Zotlabs/Module/Connedit.php:256
-msgid "Connection updated."
+#: ../../Zotlabs/Module/Filestorage.php:159
+msgid "Set/edit permissions"
msgstr ""
-#: ../../Zotlabs/Module/Connedit.php:258
-msgid "Failed to update connection record."
+#: ../../Zotlabs/Module/Filestorage.php:160
+msgid "Include all files and sub folders"
msgstr ""
-#: ../../Zotlabs/Module/Connedit.php:308
-msgid "is now connected to"
+#: ../../Zotlabs/Module/Filestorage.php:161
+msgid "Return to file list"
msgstr ""
-#: ../../Zotlabs/Module/Connedit.php:443
-msgid "Could not access address book record."
+#: ../../Zotlabs/Module/Filestorage.php:163
+msgid "Copy/paste this code to attach file to a post"
msgstr ""
-#: ../../Zotlabs/Module/Connedit.php:463
-msgid "Refresh failed - channel is currently unavailable."
+#: ../../Zotlabs/Module/Filestorage.php:164
+msgid "Copy/paste this URL to link file from a web page"
msgstr ""
-#: ../../Zotlabs/Module/Connedit.php:478 ../../Zotlabs/Module/Connedit.php:487
-#: ../../Zotlabs/Module/Connedit.php:496 ../../Zotlabs/Module/Connedit.php:505
-#: ../../Zotlabs/Module/Connedit.php:518
-msgid "Unable to set address book parameters."
+#: ../../Zotlabs/Module/Filestorage.php:166
+msgid "Share this file"
msgstr ""
-#: ../../Zotlabs/Module/Connedit.php:541
-msgid "Connection has been removed."
+#: ../../Zotlabs/Module/Filestorage.php:167
+msgid "Show URL to this file"
msgstr ""
-#: ../../Zotlabs/Module/Connedit.php:557 ../../Zotlabs/Lib/Apps.php:221
-#: ../../include/nav.php:86 ../../include/conversation.php:957
-msgid "View Profile"
+#: ../../Zotlabs/Module/Filestorage.php:168
+msgid "Notify your contacts about this file"
msgstr ""
-#: ../../Zotlabs/Module/Connedit.php:560
-#, php-format
-msgid "View %s's profile"
+#: ../../Zotlabs/Module/Connect.php:61 ../../Zotlabs/Module/Connect.php:109
+msgid "Continue"
msgstr ""
-#: ../../Zotlabs/Module/Connedit.php:564
-msgid "Refresh Permissions"
+#: ../../Zotlabs/Module/Connect.php:90
+msgid "Premium Channel Setup"
msgstr ""
-#: ../../Zotlabs/Module/Connedit.php:567
-msgid "Fetch updated permissions"
+#: ../../Zotlabs/Module/Connect.php:92
+msgid "Enable premium channel connection restrictions"
msgstr ""
-#: ../../Zotlabs/Module/Connedit.php:571
-msgid "Recent Activity"
+#: ../../Zotlabs/Module/Connect.php:93
+msgid ""
+"Please enter your restrictions or conditions, such as paypal receipt, usage "
+"guidelines, etc."
msgstr ""
-#: ../../Zotlabs/Module/Connedit.php:574
-msgid "View recent posts and comments"
+#: ../../Zotlabs/Module/Connect.php:95 ../../Zotlabs/Module/Connect.php:115
+msgid ""
+"This channel may require additional steps or acknowledgement of the "
+"following conditions prior to connecting:"
msgstr ""
-#: ../../Zotlabs/Module/Connedit.php:578 ../../Zotlabs/Module/Admin.php:1041
-msgid "Unblock"
+#: ../../Zotlabs/Module/Connect.php:96
+msgid ""
+"Potential connections will then see the following text before proceeding:"
msgstr ""
-#: ../../Zotlabs/Module/Connedit.php:578 ../../Zotlabs/Module/Admin.php:1040
-msgid "Block"
+#: ../../Zotlabs/Module/Connect.php:97 ../../Zotlabs/Module/Connect.php:118
+msgid ""
+"By continuing, I certify that I have complied with any instructions provided "
+"on this page."
msgstr ""
-#: ../../Zotlabs/Module/Connedit.php:581
-msgid "Block (or Unblock) all communications with this connection"
+#: ../../Zotlabs/Module/Connect.php:106
+msgid "(No specific instructions have been provided by the channel owner.)"
msgstr ""
-#: ../../Zotlabs/Module/Connedit.php:582
-msgid "This connection is blocked!"
+#: ../../Zotlabs/Module/Connect.php:114
+msgid "Restricted or Premium Channel"
msgstr ""
-#: ../../Zotlabs/Module/Connedit.php:586
-msgid "Unignore"
+#: ../../Zotlabs/Module/Manage.php:136
+#: ../../Zotlabs/Module/New_channel.php:121
+#, php-format
+msgid "You have created %1$.0f of %2$.0f allowed channels."
msgstr ""
-#: ../../Zotlabs/Module/Connedit.php:589
-msgid "Ignore (or Unignore) all inbound communications from this connection"
+#: ../../Zotlabs/Module/Manage.php:143
+msgid "Create a new channel"
msgstr ""
-#: ../../Zotlabs/Module/Connedit.php:590
-msgid "This connection is ignored!"
+#: ../../Zotlabs/Module/Manage.php:143 ../../Zotlabs/Module/Profiles.php:778
+#: ../../Zotlabs/Module/Chat.php:255
+msgid "Create New"
msgstr ""
-#: ../../Zotlabs/Module/Connedit.php:594
-msgid "Unarchive"
+#: ../../Zotlabs/Module/Manage.php:164 ../../Zotlabs/Lib/Apps.php:214
+#: ../../include/nav.php:211
+msgid "Channel Manager"
msgstr ""
-#: ../../Zotlabs/Module/Connedit.php:594
-msgid "Archive"
+#: ../../Zotlabs/Module/Manage.php:165
+msgid "Current Channel"
msgstr ""
-#: ../../Zotlabs/Module/Connedit.php:597
-msgid ""
-"Archive (or Unarchive) this connection - mark channel dead but keep content"
+#: ../../Zotlabs/Module/Manage.php:167
+msgid "Switch to one of your channels by selecting it."
msgstr ""
-#: ../../Zotlabs/Module/Connedit.php:598
-msgid "This connection is archived!"
+#: ../../Zotlabs/Module/Manage.php:168
+msgid "Default Channel"
msgstr ""
-#: ../../Zotlabs/Module/Connedit.php:602
-msgid "Unhide"
+#: ../../Zotlabs/Module/Manage.php:169
+msgid "Make Default"
msgstr ""
-#: ../../Zotlabs/Module/Connedit.php:602
-msgid "Hide"
+#: ../../Zotlabs/Module/Manage.php:172
+#, php-format
+msgid "%d new messages"
msgstr ""
-#: ../../Zotlabs/Module/Connedit.php:605
-msgid "Hide or Unhide this connection from your other connections"
+#: ../../Zotlabs/Module/Manage.php:173
+#, php-format
+msgid "%d new introductions"
msgstr ""
-#: ../../Zotlabs/Module/Connedit.php:606
-msgid "This connection is hidden!"
+#: ../../Zotlabs/Module/Manage.php:175
+msgid "Delegated Channel"
msgstr ""
-#: ../../Zotlabs/Module/Connedit.php:613
-msgid "Delete this connection"
+#: ../../Zotlabs/Module/Group.php:24
+msgid "Privacy group created."
msgstr ""
-#: ../../Zotlabs/Module/Connedit.php:628 ../../include/widgets.php:493
-msgid "Me"
+#: ../../Zotlabs/Module/Group.php:30
+msgid "Could not create privacy group."
msgstr ""
-#: ../../Zotlabs/Module/Connedit.php:629 ../../include/widgets.php:494
-msgid "Family"
+#: ../../Zotlabs/Module/Group.php:42 ../../Zotlabs/Module/Group.php:141
+#: ../../include/items.php:3960
+msgid "Privacy group not found."
msgstr ""
-#: ../../Zotlabs/Module/Connedit.php:631 ../../include/widgets.php:496
-msgid "Acquaintances"
+#: ../../Zotlabs/Module/Group.php:58
+msgid "Privacy group updated."
msgstr ""
-#: ../../Zotlabs/Module/Connedit.php:693
-msgid "Approve this connection"
+#: ../../Zotlabs/Module/Group.php:90
+msgid "Create a group of channels."
msgstr ""
-#: ../../Zotlabs/Module/Connedit.php:693
-msgid "Accept connection to allow communication"
+#: ../../Zotlabs/Module/Group.php:91 ../../Zotlabs/Module/Group.php:184
+msgid "Privacy group name: "
msgstr ""
-#: ../../Zotlabs/Module/Connedit.php:698
-msgid "Set Affinity"
+#: ../../Zotlabs/Module/Group.php:93 ../../Zotlabs/Module/Group.php:187
+msgid "Members are visible to other channels"
msgstr ""
-#: ../../Zotlabs/Module/Connedit.php:701
-msgid "Set Profile"
+#: ../../Zotlabs/Module/Group.php:111
+msgid "Privacy group removed."
msgstr ""
-#: ../../Zotlabs/Module/Connedit.php:704
-msgid "Set Affinity & Profile"
+#: ../../Zotlabs/Module/Group.php:113
+msgid "Unable to remove privacy group."
msgstr ""
-#: ../../Zotlabs/Module/Connedit.php:753
-msgid "none"
+#: ../../Zotlabs/Module/Group.php:183
+msgid "Privacy group editor"
msgstr ""
-#: ../../Zotlabs/Module/Connedit.php:757 ../../include/widgets.php:623
-msgid "Connection Default Permissions"
+#: ../../Zotlabs/Module/Group.php:197
+msgid "Members"
msgstr ""
-#: ../../Zotlabs/Module/Connedit.php:757 ../../include/items.php:3935
-#, php-format
-msgid "Connection: %s"
+#: ../../Zotlabs/Module/Group.php:199
+msgid "All Connected Channels"
msgstr ""
-#: ../../Zotlabs/Module/Connedit.php:758
-msgid "Apply these permissions automatically"
+#: ../../Zotlabs/Module/Group.php:231
+msgid "Click on a channel to add or remove."
msgstr ""
-#: ../../Zotlabs/Module/Connedit.php:758
-msgid "Connection requests will be approved without your interaction"
+#: ../../Zotlabs/Module/Dreport.php:44
+msgid "Invalid message"
msgstr ""
-#: ../../Zotlabs/Module/Connedit.php:760
-msgid "This connection's primary address is"
+#: ../../Zotlabs/Module/Dreport.php:76
+msgid "no results"
msgstr ""
-#: ../../Zotlabs/Module/Connedit.php:761
-msgid "Available locations:"
+#: ../../Zotlabs/Module/Dreport.php:91
+msgid "channel sync processed"
msgstr ""
-#: ../../Zotlabs/Module/Connedit.php:765
-msgid ""
-"The permissions indicated on this page will be applied to all new "
-"connections."
+#: ../../Zotlabs/Module/Dreport.php:95
+msgid "queued"
msgstr ""
-#: ../../Zotlabs/Module/Connedit.php:766
-msgid "Connection Tools"
+#: ../../Zotlabs/Module/Dreport.php:99
+msgid "posted"
msgstr ""
-#: ../../Zotlabs/Module/Connedit.php:768
-msgid "Slide to adjust your degree of friendship"
+#: ../../Zotlabs/Module/Dreport.php:103
+msgid "accepted for delivery"
msgstr ""
-#: ../../Zotlabs/Module/Connedit.php:769 ../../Zotlabs/Module/Rate.php:159
-#: ../../include/js_strings.php:20
-msgid "Rating"
+#: ../../Zotlabs/Module/Dreport.php:107
+msgid "updated"
msgstr ""
-#: ../../Zotlabs/Module/Connedit.php:770
-msgid "Slide to adjust your rating"
+#: ../../Zotlabs/Module/Dreport.php:110
+msgid "update ignored"
msgstr ""
-#: ../../Zotlabs/Module/Connedit.php:771 ../../Zotlabs/Module/Connedit.php:776
-msgid "Optionally explain your rating"
+#: ../../Zotlabs/Module/Dreport.php:113
+msgid "permission denied"
msgstr ""
-#: ../../Zotlabs/Module/Connedit.php:773
-msgid "Custom Filter"
+#: ../../Zotlabs/Module/Dreport.php:117
+msgid "recipient not found"
msgstr ""
-#: ../../Zotlabs/Module/Connedit.php:774
-msgid "Only import posts with this text"
+#: ../../Zotlabs/Module/Dreport.php:120
+msgid "mail recalled"
msgstr ""
-#: ../../Zotlabs/Module/Connedit.php:774 ../../Zotlabs/Module/Connedit.php:775
-msgid ""
-"words one per line or #tags or /patterns/ or lang=xx, leave blank to import "
-"all posts"
+#: ../../Zotlabs/Module/Dreport.php:123
+msgid "duplicate mail received"
msgstr ""
-#: ../../Zotlabs/Module/Connedit.php:775
-msgid "Do not import posts with this text"
+#: ../../Zotlabs/Module/Dreport.php:126
+msgid "mail delivered"
msgstr ""
-#: ../../Zotlabs/Module/Connedit.php:777
-msgid "This information is public!"
+#: ../../Zotlabs/Module/Dreport.php:146
+#, php-format
+msgid "Delivery report for %1$s"
msgstr ""
-#: ../../Zotlabs/Module/Connedit.php:782
-msgid "Connection Pending Approval"
+#: ../../Zotlabs/Module/Dreport.php:149
+msgid "Options"
msgstr ""
-#: ../../Zotlabs/Module/Connedit.php:787
-#, php-format
-msgid ""
-"Please choose the profile you would like to display to %s when viewing your "
-"profile securely."
+#: ../../Zotlabs/Module/Dreport.php:150
+msgid "Redeliver"
msgstr ""
-#: ../../Zotlabs/Module/Connedit.php:794
-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."
+#: ../../Zotlabs/Module/Impel.php:41 ../../include/bbcode.php:192
+msgid "webpage"
msgstr ""
-#: ../../Zotlabs/Module/Connedit.php:795
-msgid "Last update:"
+#: ../../Zotlabs/Module/Impel.php:46 ../../include/bbcode.php:198
+msgid "block"
msgstr ""
-#: ../../Zotlabs/Module/Import_items.php:42 ../../Zotlabs/Module/Import.php:71
-msgid "Nothing to import."
+#: ../../Zotlabs/Module/Impel.php:51 ../../include/bbcode.php:195
+msgid "layout"
msgstr ""
-#: ../../Zotlabs/Module/Import_items.php:66 ../../Zotlabs/Module/Import.php:95
-msgid "Unable to download data from old server"
+#: ../../Zotlabs/Module/Impel.php:58 ../../include/bbcode.php:201
+msgid "menu"
msgstr ""
-#: ../../Zotlabs/Module/Import_items.php:72
-#: ../../Zotlabs/Module/Import.php:101
-msgid "Imported file is empty."
+#: ../../Zotlabs/Module/Impel.php:191
+#, php-format
+msgid "%s element installed"
msgstr ""
-#: ../../Zotlabs/Module/Import_items.php:88
-#: ../../Zotlabs/Module/Import.php:123
+#: ../../Zotlabs/Module/Impel.php:194
#, php-format
-msgid "Warning: Database versions differ by %1$d updates."
+msgid "%s element installation failed"
msgstr ""
#: ../../Zotlabs/Module/Import_items.php:104
@@ -3056,11 +3092,6 @@ msgstr ""
msgid "Use this form to import existing posts and content from an export file."
msgstr ""
-#: ../../Zotlabs/Module/Import_items.php:121
-#: ../../Zotlabs/Module/Import.php:549
-msgid "File to Upload"
-msgstr ""
-
#: ../../Zotlabs/Module/Invite.php:29
msgid "Total invitation limit exceeded."
msgstr ""
@@ -3152,19 +3183,10 @@ msgstr ""
msgid "Manage Channel Locations"
msgstr ""
-#: ../../Zotlabs/Module/Locs.php:118 ../../Zotlabs/Module/Admin.php:1224
-#: ../../Zotlabs/Module/Profiles.php:470
-msgid "Address"
-msgstr ""
-
#: ../../Zotlabs/Module/Locs.php:119
msgid "Primary"
msgstr ""
-#: ../../Zotlabs/Module/Locs.php:120 ../../Zotlabs/Module/Menu.php:113
-msgid "Drop"
-msgstr ""
-
#: ../../Zotlabs/Module/Locs.php:122
msgid "Sync Now"
msgstr ""
@@ -3183,395 +3205,397 @@ msgstr ""
msgid "Use this form to drop the location if the hub is no longer operating."
msgstr ""
-#: ../../Zotlabs/Module/Magic.php:71
-msgid "Hub not found."
+#: ../../Zotlabs/Module/Rate.php:156
+msgid "Website:"
msgstr ""
-#: ../../Zotlabs/Module/Acl.php:312
-msgid "network"
+#: ../../Zotlabs/Module/Rate.php:159
+#, php-format
+msgid "Remote Channel [%s] (not yet known on this site)"
msgstr ""
-#: ../../Zotlabs/Module/Acl.php:322
-msgid "RSS"
+#: ../../Zotlabs/Module/Rate.php:160
+msgid "Rating (this information is public)"
msgstr ""
-#: ../../Zotlabs/Module/Item.php:179
-msgid "Unable to locate original post."
+#: ../../Zotlabs/Module/Rate.php:161
+msgid "Optionally explain your rating (this information is public)"
msgstr ""
-#: ../../Zotlabs/Module/Item.php:432
-msgid "Empty post discarded."
+#: ../../Zotlabs/Module/Like.php:19
+msgid "Like/Dislike"
msgstr ""
-#: ../../Zotlabs/Module/Item.php:472
-msgid "Executable content type not permitted to this channel."
+#: ../../Zotlabs/Module/Like.php:24
+msgid "This action is restricted to members."
msgstr ""
-#: ../../Zotlabs/Module/Item.php:856
-msgid "Duplicate post suppressed."
+#: ../../Zotlabs/Module/Like.php:25
+msgid ""
+"Please <a href=\"rmagic\">login with your $Projectname ID</a> or <a href="
+"\"register\">register as a new $Projectname member</a> to continue."
msgstr ""
-#: ../../Zotlabs/Module/Item.php:989
-msgid "System error. Post not saved."
+#: ../../Zotlabs/Module/Like.php:105 ../../Zotlabs/Module/Like.php:131
+#: ../../Zotlabs/Module/Like.php:169
+msgid "Invalid request."
msgstr ""
-#: ../../Zotlabs/Module/Item.php:1242
-msgid "Unable to obtain post information from database."
+#: ../../Zotlabs/Module/Like.php:117 ../../include/conversation.php:126
+msgid "channel"
msgstr ""
-#: ../../Zotlabs/Module/Item.php:1249
+#: ../../Zotlabs/Module/Like.php:146
+msgid "thing"
+msgstr ""
+
+#: ../../Zotlabs/Module/Like.php:192
+msgid "Channel unavailable."
+msgstr ""
+
+#: ../../Zotlabs/Module/Like.php:240
+msgid "Previous action reversed."
+msgstr ""
+
+#: ../../Zotlabs/Module/Like.php:370 ../../Zotlabs/Module/Subthread.php:87
+#: ../../Zotlabs/Module/Tagger.php:47 ../../include/text.php:1991
+#: ../../include/conversation.php:120
+msgid "photo"
+msgstr ""
+
+#: ../../Zotlabs/Module/Like.php:370 ../../Zotlabs/Module/Subthread.php:87
+#: ../../include/text.php:1997 ../../include/conversation.php:148
+msgid "status"
+msgstr ""
+
+#: ../../Zotlabs/Module/Like.php:372 ../../Zotlabs/Module/Events.php:253
+#: ../../Zotlabs/Module/Tagger.php:51 ../../include/text.php:1994
+#: ../../include/conversation.php:123 ../../include/event.php:961
+msgid "event"
+msgstr ""
+
+#: ../../Zotlabs/Module/Like.php:419 ../../include/conversation.php:164
#, php-format
-msgid "You have reached your limit of %1$.0f top level posts."
+msgid "%1$s likes %2$s's %3$s"
msgstr ""
-#: ../../Zotlabs/Module/Item.php:1256
+#: ../../Zotlabs/Module/Like.php:421 ../../include/conversation.php:167
#, php-format
-msgid "You have reached your limit of %1$.0f webpages."
+msgid "%1$s doesn't like %2$s's %3$s"
msgstr ""
-#: ../../Zotlabs/Module/Import.php:33
+#: ../../Zotlabs/Module/Like.php:423
#, php-format
-msgid "Your service plan only allows %d channels."
+msgid "%1$s agrees with %2$s's %3$s"
msgstr ""
-#: ../../Zotlabs/Module/Import.php:153 ../../include/import.php:107
-msgid "Cloned channel not found. Import failed."
+#: ../../Zotlabs/Module/Like.php:425
+#, php-format
+msgid "%1$s doesn't agree with %2$s's %3$s"
msgstr ""
-#: ../../Zotlabs/Module/Import.php:163
-msgid "No channel. Import failed."
+#: ../../Zotlabs/Module/Like.php:427
+#, php-format
+msgid "%1$s abstains from a decision on %2$s's %3$s"
msgstr ""
-#: ../../Zotlabs/Module/Import.php:520
-#: ../../include/Import/import_diaspora.php:142
-msgid "Import completed."
+#: ../../Zotlabs/Module/Like.php:429
+#, php-format
+msgid "%1$s is attending %2$s's %3$s"
msgstr ""
-#: ../../Zotlabs/Module/Import.php:542
-msgid "You must be logged in to use this feature."
+#: ../../Zotlabs/Module/Like.php:431
+#, php-format
+msgid "%1$s is not attending %2$s's %3$s"
msgstr ""
-#: ../../Zotlabs/Module/Import.php:547
-msgid "Import Channel"
+#: ../../Zotlabs/Module/Like.php:433
+#, php-format
+msgid "%1$s may attend %2$s's %3$s"
msgstr ""
-#: ../../Zotlabs/Module/Import.php:548
-msgid ""
-"Use this form to import an existing channel from a different server/hub. You "
-"may retrieve the channel identity from the old server/hub via the network or "
-"provide an export file."
+#: ../../Zotlabs/Module/Like.php:538
+msgid "Action completed."
msgstr ""
-#: ../../Zotlabs/Module/Import.php:550
-msgid "Or provide the old server/hub details"
+#: ../../Zotlabs/Module/Like.php:539
+msgid "Thank you."
msgstr ""
-#: ../../Zotlabs/Module/Import.php:551
-msgid "Your old identity address (xyz@example.com)"
+#: ../../Zotlabs/Module/Profiles.php:24 ../../Zotlabs/Module/Profiles.php:189
+#: ../../Zotlabs/Module/Profiles.php:246 ../../Zotlabs/Module/Profiles.php:625
+msgid "Profile not found."
msgstr ""
-#: ../../Zotlabs/Module/Import.php:552
-msgid "Your old login email address"
+#: ../../Zotlabs/Module/Profiles.php:44
+msgid "Profile deleted."
msgstr ""
-#: ../../Zotlabs/Module/Import.php:553
-msgid "Your old login password"
+#: ../../Zotlabs/Module/Profiles.php:68 ../../Zotlabs/Module/Profiles.php:104
+msgid "Profile-"
msgstr ""
-#: ../../Zotlabs/Module/Import.php:554
-msgid ""
-"For either option, please choose whether to make this hub your new primary "
-"address, or whether your old location should continue this role. You will be "
-"able to post from either location, but only one can be marked as the primary "
-"location for files, photos, and media."
+#: ../../Zotlabs/Module/Profiles.php:89 ../../Zotlabs/Module/Profiles.php:132
+msgid "New profile created."
msgstr ""
-#: ../../Zotlabs/Module/Import.php:555
-msgid "Make this hub my primary location"
+#: ../../Zotlabs/Module/Profiles.php:110
+msgid "Profile unavailable to clone."
msgstr ""
-#: ../../Zotlabs/Module/Import.php:556
-msgid ""
-"Import existing posts if possible (experimental - limited by available memory"
+#: ../../Zotlabs/Module/Profiles.php:151
+msgid "Profile unavailable to export."
msgstr ""
-#: ../../Zotlabs/Module/Import.php:557
-msgid ""
-"This process may take several minutes to complete. Please submit the form "
-"only once and leave this page open until finished."
+#: ../../Zotlabs/Module/Profiles.php:256
+msgid "Profile Name is required."
msgstr ""
-#: ../../Zotlabs/Module/Lostpass.php:19
-msgid "No valid account found."
+#: ../../Zotlabs/Module/Profiles.php:427
+msgid "Marital Status"
msgstr ""
-#: ../../Zotlabs/Module/Lostpass.php:33
-msgid "Password reset request issued. Check your email."
+#: ../../Zotlabs/Module/Profiles.php:431
+msgid "Romantic Partner"
msgstr ""
-#: ../../Zotlabs/Module/Lostpass.php:39 ../../Zotlabs/Module/Lostpass.php:107
-#, php-format
-msgid "Site Member (%s)"
+#: ../../Zotlabs/Module/Profiles.php:435 ../../Zotlabs/Module/Profiles.php:736
+msgid "Likes"
msgstr ""
-#: ../../Zotlabs/Module/Lostpass.php:44
-#, php-format
-msgid "Password reset requested at %s"
+#: ../../Zotlabs/Module/Profiles.php:439 ../../Zotlabs/Module/Profiles.php:737
+msgid "Dislikes"
msgstr ""
-#: ../../Zotlabs/Module/Lostpass.php:67
-msgid ""
-"Request could not be verified. (You may have previously submitted it.) "
-"Password reset failed."
+#: ../../Zotlabs/Module/Profiles.php:443 ../../Zotlabs/Module/Profiles.php:744
+msgid "Work/Employment"
msgstr ""
-#: ../../Zotlabs/Module/Lostpass.php:90 ../../boot.php:1715
-msgid "Password Reset"
+#: ../../Zotlabs/Module/Profiles.php:446
+msgid "Religion"
msgstr ""
-#: ../../Zotlabs/Module/Lostpass.php:91
-msgid "Your password has been reset as requested."
+#: ../../Zotlabs/Module/Profiles.php:450
+msgid "Political Views"
msgstr ""
-#: ../../Zotlabs/Module/Lostpass.php:92
-msgid "Your new password is"
+#: ../../Zotlabs/Module/Profiles.php:454
+msgid "Gender"
msgstr ""
-#: ../../Zotlabs/Module/Lostpass.php:93
-msgid "Save or copy your new password - and then"
+#: ../../Zotlabs/Module/Profiles.php:458
+msgid "Sexual Preference"
msgstr ""
-#: ../../Zotlabs/Module/Lostpass.php:94
-msgid "click here to login"
+#: ../../Zotlabs/Module/Profiles.php:462
+msgid "Homepage"
msgstr ""
-#: ../../Zotlabs/Module/Lostpass.php:95
-msgid ""
-"Your password may be changed from the <em>Settings</em> page after "
-"successful login."
+#: ../../Zotlabs/Module/Profiles.php:466
+msgid "Interests"
msgstr ""
-#: ../../Zotlabs/Module/Lostpass.php:112
-#, php-format
-msgid "Your password has changed at %s"
+#: ../../Zotlabs/Module/Profiles.php:560
+msgid "Profile updated."
msgstr ""
-#: ../../Zotlabs/Module/Lostpass.php:127
-msgid "Forgot your Password?"
+#: ../../Zotlabs/Module/Profiles.php:644
+msgid "Hide your connections list from viewers of this profile"
msgstr ""
-#: ../../Zotlabs/Module/Lostpass.php:128
-msgid ""
-"Enter your email address and submit to have your password reset. Then check "
-"your email for further instructions."
+#: ../../Zotlabs/Module/Profiles.php:686
+msgid "Edit Profile Details"
msgstr ""
-#: ../../Zotlabs/Module/Lostpass.php:129
-msgid "Email Address"
+#: ../../Zotlabs/Module/Profiles.php:688
+msgid "View this profile"
msgstr ""
-#: ../../Zotlabs/Module/Lostpass.php:130
-msgid "Reset"
+#: ../../Zotlabs/Module/Profiles.php:689 ../../Zotlabs/Module/Profiles.php:771
+#: ../../include/channel.php:981
+msgid "Edit visibility"
msgstr ""
-#: ../../Zotlabs/Module/Mood.php:67 ../../include/conversation.php:260
-#, php-format
-msgctxt "mood"
-msgid "%1$s is %2$s"
+#: ../../Zotlabs/Module/Profiles.php:690
+msgid "Profile Tools"
msgstr ""
-#: ../../Zotlabs/Module/Mood.php:135 ../../Zotlabs/Lib/Apps.php:227
-msgid "Mood"
+#: ../../Zotlabs/Module/Profiles.php:691
+msgid "Change cover photo"
msgstr ""
-#: ../../Zotlabs/Module/Mood.php:136
-msgid "Set your current mood and tell your friends"
+#: ../../Zotlabs/Module/Profiles.php:692 ../../include/channel.php:952
+msgid "Change profile photo"
msgstr ""
-#: ../../Zotlabs/Module/Like.php:19
-msgid "Like/Dislike"
+#: ../../Zotlabs/Module/Profiles.php:693
+msgid "Create a new profile using these settings"
msgstr ""
-#: ../../Zotlabs/Module/Like.php:24
-msgid "This action is restricted to members."
+#: ../../Zotlabs/Module/Profiles.php:694
+msgid "Clone this profile"
msgstr ""
-#: ../../Zotlabs/Module/Like.php:25
-msgid ""
-"Please <a href=\"rmagic\">login with your $Projectname ID</a> or <a href="
-"\"register\">register as a new $Projectname member</a> to continue."
+#: ../../Zotlabs/Module/Profiles.php:695
+msgid "Delete this profile"
msgstr ""
-#: ../../Zotlabs/Module/Like.php:105 ../../Zotlabs/Module/Like.php:131
-#: ../../Zotlabs/Module/Like.php:169
-msgid "Invalid request."
+#: ../../Zotlabs/Module/Profiles.php:696
+msgid "Add profile things"
msgstr ""
-#: ../../Zotlabs/Module/Like.php:117 ../../include/conversation.php:126
-msgid "channel"
+#: ../../Zotlabs/Module/Profiles.php:697 ../../include/conversation.php:1564
+#: ../../include/widgets.php:105
+msgid "Personal"
msgstr ""
-#: ../../Zotlabs/Module/Like.php:146
-msgid "thing"
+#: ../../Zotlabs/Module/Profiles.php:699
+msgid "Relation"
msgstr ""
-#: ../../Zotlabs/Module/Like.php:192
-msgid "Channel unavailable."
+#: ../../Zotlabs/Module/Profiles.php:700 ../../include/datetime.php:55
+msgid "Miscellaneous"
msgstr ""
-#: ../../Zotlabs/Module/Like.php:240
-msgid "Previous action reversed."
+#: ../../Zotlabs/Module/Profiles.php:702
+msgid "Import profile from file"
msgstr ""
-#: ../../Zotlabs/Module/Like.php:370 ../../Zotlabs/Module/Subthread.php:87
-#: ../../Zotlabs/Module/Tagger.php:47 ../../include/conversation.php:120
-#: ../../include/text.php:1921
-msgid "photo"
+#: ../../Zotlabs/Module/Profiles.php:703
+msgid "Export profile to file"
msgstr ""
-#: ../../Zotlabs/Module/Like.php:370 ../../Zotlabs/Module/Subthread.php:87
-#: ../../include/conversation.php:148 ../../include/text.php:1927
-msgid "status"
+#: ../../Zotlabs/Module/Profiles.php:704
+msgid "Your gender"
msgstr ""
-#: ../../Zotlabs/Module/Like.php:419 ../../include/conversation.php:164
-#, php-format
-msgid "%1$s likes %2$s's %3$s"
+#: ../../Zotlabs/Module/Profiles.php:705
+msgid "Marital status"
msgstr ""
-#: ../../Zotlabs/Module/Like.php:421 ../../include/conversation.php:167
-#, php-format
-msgid "%1$s doesn't like %2$s's %3$s"
+#: ../../Zotlabs/Module/Profiles.php:706
+msgid "Sexual preference"
msgstr ""
-#: ../../Zotlabs/Module/Like.php:423
-#, php-format
-msgid "%1$s agrees with %2$s's %3$s"
+#: ../../Zotlabs/Module/Profiles.php:709
+msgid "Profile name"
msgstr ""
-#: ../../Zotlabs/Module/Like.php:425
-#, php-format
-msgid "%1$s doesn't agree with %2$s's %3$s"
+#: ../../Zotlabs/Module/Profiles.php:711
+msgid "This is your default profile."
msgstr ""
-#: ../../Zotlabs/Module/Like.php:427
-#, php-format
-msgid "%1$s abstains from a decision on %2$s's %3$s"
+#: ../../Zotlabs/Module/Profiles.php:713
+msgid "Your full name"
msgstr ""
-#: ../../Zotlabs/Module/Like.php:429
-#, php-format
-msgid "%1$s is attending %2$s's %3$s"
+#: ../../Zotlabs/Module/Profiles.php:714
+msgid "Title/Description"
msgstr ""
-#: ../../Zotlabs/Module/Like.php:431
-#, php-format
-msgid "%1$s is not attending %2$s's %3$s"
+#: ../../Zotlabs/Module/Profiles.php:717
+msgid "Street address"
msgstr ""
-#: ../../Zotlabs/Module/Like.php:433
-#, php-format
-msgid "%1$s may attend %2$s's %3$s"
+#: ../../Zotlabs/Module/Profiles.php:718
+msgid "Locality/City"
msgstr ""
-#: ../../Zotlabs/Module/Like.php:538
-msgid "Action completed."
+#: ../../Zotlabs/Module/Profiles.php:719
+msgid "Region/State"
msgstr ""
-#: ../../Zotlabs/Module/Like.php:539
-msgid "Thank you."
+#: ../../Zotlabs/Module/Profiles.php:720
+msgid "Postal/Zip code"
msgstr ""
-#: ../../Zotlabs/Module/Notify.php:57
-#: ../../Zotlabs/Module/Notifications.php:98
-msgid "No more system notifications."
+#: ../../Zotlabs/Module/Profiles.php:721
+msgid "Country"
msgstr ""
-#: ../../Zotlabs/Module/Notify.php:61
-#: ../../Zotlabs/Module/Notifications.php:102
-msgid "System Notifications"
+#: ../../Zotlabs/Module/Profiles.php:726
+msgid "Who (if applicable)"
msgstr ""
-#: ../../Zotlabs/Module/Match.php:26
-msgid "Profile Match"
+#: ../../Zotlabs/Module/Profiles.php:726
+msgid "Examples: cathy123, Cathy Williams, cathy@example.com"
msgstr ""
-#: ../../Zotlabs/Module/Match.php:35
-msgid "No keywords to match. Please add keywords to your default profile."
+#: ../../Zotlabs/Module/Profiles.php:727
+msgid "Since (date)"
msgstr ""
-#: ../../Zotlabs/Module/Match.php:67
-msgid "is interested in:"
+#: ../../Zotlabs/Module/Profiles.php:730
+msgid "Tell us about yourself"
msgstr ""
-#: ../../Zotlabs/Module/Match.php:74
-msgid "No matches"
+#: ../../Zotlabs/Module/Profiles.php:731
+msgid "Homepage URL"
msgstr ""
-#: ../../Zotlabs/Module/Chat.php:181
-msgid "Room not found"
+#: ../../Zotlabs/Module/Profiles.php:732
+msgid "Hometown"
msgstr ""
-#: ../../Zotlabs/Module/Chat.php:197
-msgid "Leave Room"
+#: ../../Zotlabs/Module/Profiles.php:733
+msgid "Political views"
msgstr ""
-#: ../../Zotlabs/Module/Chat.php:198
-msgid "Delete Room"
+#: ../../Zotlabs/Module/Profiles.php:734
+msgid "Religious views"
msgstr ""
-#: ../../Zotlabs/Module/Chat.php:199
-msgid "I am away right now"
+#: ../../Zotlabs/Module/Profiles.php:735
+msgid "Keywords used in directory listings"
msgstr ""
-#: ../../Zotlabs/Module/Chat.php:200
-msgid "I am online"
+#: ../../Zotlabs/Module/Profiles.php:735
+msgid "Example: fishing photography software"
msgstr ""
-#: ../../Zotlabs/Module/Chat.php:202
-msgid "Bookmark this room"
+#: ../../Zotlabs/Module/Profiles.php:738
+msgid "Musical interests"
msgstr ""
-#: ../../Zotlabs/Module/Chat.php:218
-msgid "Feature disabled."
+#: ../../Zotlabs/Module/Profiles.php:739
+msgid "Books, literature"
msgstr ""
-#: ../../Zotlabs/Module/Chat.php:232
-msgid "New Chatroom"
+#: ../../Zotlabs/Module/Profiles.php:740
+msgid "Television"
msgstr ""
-#: ../../Zotlabs/Module/Chat.php:233
-msgid "Chatroom name"
+#: ../../Zotlabs/Module/Profiles.php:741
+msgid "Film/Dance/Culture/Entertainment"
msgstr ""
-#: ../../Zotlabs/Module/Chat.php:234
-msgid "Expiration of chats (minutes)"
+#: ../../Zotlabs/Module/Profiles.php:742
+msgid "Hobbies/Interests"
msgstr ""
-#: ../../Zotlabs/Module/Chat.php:246
-#, php-format
-msgid "%1$s's Chatrooms"
+#: ../../Zotlabs/Module/Profiles.php:743
+msgid "Love/Romance"
msgstr ""
-#: ../../Zotlabs/Module/Chat.php:251
-msgid "No chatrooms available"
+#: ../../Zotlabs/Module/Profiles.php:745
+msgid "School/Education"
msgstr ""
-#: ../../Zotlabs/Module/Chat.php:252 ../../Zotlabs/Module/Manage.php:143
-#: ../../Zotlabs/Module/Profiles.php:778
-msgid "Create New"
+#: ../../Zotlabs/Module/Profiles.php:746
+msgid "Contact information and social networks"
msgstr ""
-#: ../../Zotlabs/Module/Chat.php:255
-msgid "Expiration"
+#: ../../Zotlabs/Module/Profiles.php:747
+msgid "My other channels"
msgstr ""
-#: ../../Zotlabs/Module/Chat.php:256
-msgid "min"
+#: ../../Zotlabs/Module/Profiles.php:767 ../../include/channel.php:977
+msgid "Profile Image"
msgstr ""
-#: ../../Zotlabs/Module/Mitem.php:28 ../../Zotlabs/Module/Menu.php:144
-msgid "Menu not found."
+#: ../../Zotlabs/Module/Profiles.php:777 ../../include/channel.php:959
+#: ../../include/nav.php:91
+msgid "Edit Profiles"
msgstr ""
#: ../../Zotlabs/Module/Mitem.php:52
@@ -3586,1168 +3610,1071 @@ msgstr ""
msgid "Unable to add menu element."
msgstr ""
-#: ../../Zotlabs/Module/Mitem.php:120 ../../Zotlabs/Module/Menu.php:166
-#: ../../Zotlabs/Module/Xchan.php:41
-msgid "Not found."
+#: ../../Zotlabs/Module/Mitem.php:153 ../../Zotlabs/Module/Mitem.php:230
+msgid "Menu Item Permissions"
msgstr ""
-#: ../../Zotlabs/Module/Mitem.php:153 ../../Zotlabs/Module/Mitem.php:226
-msgid "Menu Item Permissions"
+#: ../../Zotlabs/Module/Mitem.php:154 ../../Zotlabs/Module/Mitem.php:231
+#: ../../Zotlabs/Module/Settings/Channel.php:486
+msgid "(click to open/close)"
msgstr ""
-#: ../../Zotlabs/Module/Mitem.php:156 ../../Zotlabs/Module/Mitem.php:172
+#: ../../Zotlabs/Module/Mitem.php:160 ../../Zotlabs/Module/Mitem.php:176
msgid "Link Name"
msgstr ""
-#: ../../Zotlabs/Module/Mitem.php:157 ../../Zotlabs/Module/Mitem.php:231
+#: ../../Zotlabs/Module/Mitem.php:161 ../../Zotlabs/Module/Mitem.php:239
msgid "Link or Submenu Target"
msgstr ""
-#: ../../Zotlabs/Module/Mitem.php:157
+#: ../../Zotlabs/Module/Mitem.php:161
msgid "Enter URL of the link or select a menu name to create a submenu"
msgstr ""
-#: ../../Zotlabs/Module/Mitem.php:158 ../../Zotlabs/Module/Mitem.php:232
+#: ../../Zotlabs/Module/Mitem.php:162 ../../Zotlabs/Module/Mitem.php:240
msgid "Use magic-auth if available"
msgstr ""
-#: ../../Zotlabs/Module/Mitem.php:159 ../../Zotlabs/Module/Mitem.php:233
+#: ../../Zotlabs/Module/Mitem.php:163 ../../Zotlabs/Module/Mitem.php:241
msgid "Open link in new window"
msgstr ""
-#: ../../Zotlabs/Module/Mitem.php:160 ../../Zotlabs/Module/Mitem.php:234
+#: ../../Zotlabs/Module/Mitem.php:164 ../../Zotlabs/Module/Mitem.php:242
msgid "Order in list"
msgstr ""
-#: ../../Zotlabs/Module/Mitem.php:160 ../../Zotlabs/Module/Mitem.php:234
+#: ../../Zotlabs/Module/Mitem.php:164 ../../Zotlabs/Module/Mitem.php:242
msgid "Higher numbers will sink to bottom of listing"
msgstr ""
-#: ../../Zotlabs/Module/Mitem.php:161
+#: ../../Zotlabs/Module/Mitem.php:165
msgid "Submit and finish"
msgstr ""
-#: ../../Zotlabs/Module/Mitem.php:162
+#: ../../Zotlabs/Module/Mitem.php:166
msgid "Submit and continue"
msgstr ""
-#: ../../Zotlabs/Module/Mitem.php:170
+#: ../../Zotlabs/Module/Mitem.php:174
msgid "Menu:"
msgstr ""
-#: ../../Zotlabs/Module/Mitem.php:173
+#: ../../Zotlabs/Module/Mitem.php:177
msgid "Link Target"
msgstr ""
-#: ../../Zotlabs/Module/Mitem.php:176
+#: ../../Zotlabs/Module/Mitem.php:180
msgid "Edit menu"
msgstr ""
-#: ../../Zotlabs/Module/Mitem.php:179
+#: ../../Zotlabs/Module/Mitem.php:183
msgid "Edit element"
msgstr ""
-#: ../../Zotlabs/Module/Mitem.php:180
+#: ../../Zotlabs/Module/Mitem.php:184
msgid "Drop element"
msgstr ""
-#: ../../Zotlabs/Module/Mitem.php:181
+#: ../../Zotlabs/Module/Mitem.php:185
msgid "New element"
msgstr ""
-#: ../../Zotlabs/Module/Mitem.php:182
+#: ../../Zotlabs/Module/Mitem.php:186
msgid "Edit this menu container"
msgstr ""
-#: ../../Zotlabs/Module/Mitem.php:183
+#: ../../Zotlabs/Module/Mitem.php:187
msgid "Add menu element"
msgstr ""
-#: ../../Zotlabs/Module/Mitem.php:184
+#: ../../Zotlabs/Module/Mitem.php:188
msgid "Delete this menu item"
msgstr ""
-#: ../../Zotlabs/Module/Mitem.php:185
+#: ../../Zotlabs/Module/Mitem.php:189
msgid "Edit this menu item"
msgstr ""
-#: ../../Zotlabs/Module/Mitem.php:202
+#: ../../Zotlabs/Module/Mitem.php:206
msgid "Menu item not found."
msgstr ""
-#: ../../Zotlabs/Module/Mitem.php:215
+#: ../../Zotlabs/Module/Mitem.php:219
msgid "Menu item deleted."
msgstr ""
-#: ../../Zotlabs/Module/Mitem.php:217
+#: ../../Zotlabs/Module/Mitem.php:221
msgid "Menu item could not be deleted."
msgstr ""
-#: ../../Zotlabs/Module/Mitem.php:224
+#: ../../Zotlabs/Module/Mitem.php:228
msgid "Edit Menu Element"
msgstr ""
-#: ../../Zotlabs/Module/Mitem.php:230
+#: ../../Zotlabs/Module/Mitem.php:238
msgid "Link text"
msgstr ""
-#: ../../Zotlabs/Module/Admin.php:77
-msgid "Theme settings updated."
-msgstr ""
-
-#: ../../Zotlabs/Module/Admin.php:197
-msgid "# Accounts"
-msgstr ""
-
-#: ../../Zotlabs/Module/Admin.php:198
-msgid "# blocked accounts"
-msgstr ""
-
-#: ../../Zotlabs/Module/Admin.php:199
-msgid "# expired accounts"
+#: ../../Zotlabs/Module/Setup.php:184
+msgid "$Projectname Server - Setup"
msgstr ""
-#: ../../Zotlabs/Module/Admin.php:200
-msgid "# expiring accounts"
+#: ../../Zotlabs/Module/Setup.php:188
+msgid "Could not connect to database."
msgstr ""
-#: ../../Zotlabs/Module/Admin.php:211
-msgid "# Channels"
+#: ../../Zotlabs/Module/Setup.php:192
+msgid ""
+"Could not connect to specified site URL. Possible SSL certificate or DNS "
+"issue."
msgstr ""
-#: ../../Zotlabs/Module/Admin.php:212
-msgid "# primary"
+#: ../../Zotlabs/Module/Setup.php:199
+msgid "Could not create table."
msgstr ""
-#: ../../Zotlabs/Module/Admin.php:213
-msgid "# clones"
+#: ../../Zotlabs/Module/Setup.php:204
+msgid "Your site database has been installed."
msgstr ""
-#: ../../Zotlabs/Module/Admin.php:219
-msgid "Message queues"
+#: ../../Zotlabs/Module/Setup.php:208
+msgid ""
+"You may need to import the file \"install/schema_xxx.sql\" manually using a "
+"database client."
msgstr ""
-#: ../../Zotlabs/Module/Admin.php:236
-msgid "Your software should be updated"
+#: ../../Zotlabs/Module/Setup.php:209 ../../Zotlabs/Module/Setup.php:271
+#: ../../Zotlabs/Module/Setup.php:734
+msgid "Please see the file \"install/INSTALL.txt\"."
msgstr ""
-#: ../../Zotlabs/Module/Admin.php:241 ../../Zotlabs/Module/Admin.php:490
-#: ../../Zotlabs/Module/Admin.php:711 ../../Zotlabs/Module/Admin.php:755
-#: ../../Zotlabs/Module/Admin.php:1030 ../../Zotlabs/Module/Admin.php:1209
-#: ../../Zotlabs/Module/Admin.php:1329 ../../Zotlabs/Module/Admin.php:1419
-#: ../../Zotlabs/Module/Admin.php:1612 ../../Zotlabs/Module/Admin.php:1646
-#: ../../Zotlabs/Module/Admin.php:1731
-msgid "Administration"
+#: ../../Zotlabs/Module/Setup.php:268
+msgid "System check"
msgstr ""
-#: ../../Zotlabs/Module/Admin.php:242
-msgid "Summary"
+#: ../../Zotlabs/Module/Setup.php:272 ../../Zotlabs/Module/Photos.php:949
+#: ../../Zotlabs/Module/Cal.php:333 ../../Zotlabs/Module/Cal.php:340
+#: ../../Zotlabs/Module/Events.php:676 ../../Zotlabs/Module/Events.php:685
+msgid "Next"
msgstr ""
-#: ../../Zotlabs/Module/Admin.php:245
-msgid "Registered accounts"
+#: ../../Zotlabs/Module/Setup.php:273
+msgid "Check again"
msgstr ""
-#: ../../Zotlabs/Module/Admin.php:246 ../../Zotlabs/Module/Admin.php:715
-msgid "Pending registrations"
+#: ../../Zotlabs/Module/Setup.php:295
+msgid "Database connection"
msgstr ""
-#: ../../Zotlabs/Module/Admin.php:247
-msgid "Registered channels"
+#: ../../Zotlabs/Module/Setup.php:296
+msgid ""
+"In order to install $Projectname we need to know how to connect to your "
+"database."
msgstr ""
-#: ../../Zotlabs/Module/Admin.php:248 ../../Zotlabs/Module/Admin.php:716
-msgid "Active plugins"
+#: ../../Zotlabs/Module/Setup.php:297
+msgid ""
+"Please contact your hosting provider or site administrator if you have "
+"questions about these settings."
msgstr ""
-#: ../../Zotlabs/Module/Admin.php:249
-msgid "Version"
+#: ../../Zotlabs/Module/Setup.php:298
+msgid ""
+"The database you specify below should already exist. If it does not, please "
+"create it before continuing."
msgstr ""
-#: ../../Zotlabs/Module/Admin.php:250
-msgid "Repository version (master)"
+#: ../../Zotlabs/Module/Setup.php:302
+msgid "Database Server Name"
msgstr ""
-#: ../../Zotlabs/Module/Admin.php:251
-msgid "Repository version (dev)"
+#: ../../Zotlabs/Module/Setup.php:302
+msgid "Default is 127.0.0.1"
msgstr ""
-#: ../../Zotlabs/Module/Admin.php:373
-msgid "Site settings updated."
+#: ../../Zotlabs/Module/Setup.php:303
+msgid "Database Port"
msgstr ""
-#: ../../Zotlabs/Module/Admin.php:400 ../../include/text.php:2858
-msgid "Default"
+#: ../../Zotlabs/Module/Setup.php:303
+msgid "Communication port number - use 0 for default"
msgstr ""
-#: ../../Zotlabs/Module/Admin.php:412
-msgid "experimental"
+#: ../../Zotlabs/Module/Setup.php:304
+msgid "Database Login Name"
msgstr ""
-#: ../../Zotlabs/Module/Admin.php:414
-msgid "unsupported"
+#: ../../Zotlabs/Module/Setup.php:305
+msgid "Database Login Password"
msgstr ""
-#: ../../Zotlabs/Module/Admin.php:460
-msgid "Yes - with approval"
+#: ../../Zotlabs/Module/Setup.php:306
+msgid "Database Name"
msgstr ""
-#: ../../Zotlabs/Module/Admin.php:466
-msgid "My site is not a public server"
+#: ../../Zotlabs/Module/Setup.php:307
+msgid "Database Type"
msgstr ""
-#: ../../Zotlabs/Module/Admin.php:467
-msgid "My site has paid access only"
+#: ../../Zotlabs/Module/Setup.php:309 ../../Zotlabs/Module/Setup.php:355
+msgid "Site administrator email address"
msgstr ""
-#: ../../Zotlabs/Module/Admin.php:468
-msgid "My site has free access only"
+#: ../../Zotlabs/Module/Setup.php:309 ../../Zotlabs/Module/Setup.php:355
+msgid ""
+"Your account email address must match this in order to use the web admin "
+"panel."
msgstr ""
-#: ../../Zotlabs/Module/Admin.php:469
-msgid "My site offers free accounts with optional paid upgrades"
+#: ../../Zotlabs/Module/Setup.php:310 ../../Zotlabs/Module/Setup.php:357
+msgid "Website URL"
msgstr ""
-#: ../../Zotlabs/Module/Admin.php:491 ../../include/widgets.php:1490
-msgid "Site"
+#: ../../Zotlabs/Module/Setup.php:310 ../../Zotlabs/Module/Setup.php:357
+msgid "Please use SSL (https) URL if available."
msgstr ""
-#: ../../Zotlabs/Module/Admin.php:493 ../../Zotlabs/Module/Register.php:245
-msgid "Registration"
+#: ../../Zotlabs/Module/Setup.php:311 ../../Zotlabs/Module/Setup.php:361
+msgid "Please select a default timezone for your website"
msgstr ""
-#: ../../Zotlabs/Module/Admin.php:494
-msgid "File upload"
+#: ../../Zotlabs/Module/Setup.php:344
+msgid "Site settings"
msgstr ""
-#: ../../Zotlabs/Module/Admin.php:495
-msgid "Policies"
+#: ../../Zotlabs/Module/Setup.php:400
+msgid "PHP version 5.5 or greater is required."
msgstr ""
-#: ../../Zotlabs/Module/Admin.php:496 ../../include/contact_widgets.php:16
-msgid "Advanced"
+#: ../../Zotlabs/Module/Setup.php:401
+msgid "PHP version"
msgstr ""
-#: ../../Zotlabs/Module/Admin.php:500
-msgid "Site name"
+#: ../../Zotlabs/Module/Setup.php:416
+msgid "Could not find a command line version of PHP in the web server PATH."
msgstr ""
-#: ../../Zotlabs/Module/Admin.php:501
-msgid "Banner/Logo"
+#: ../../Zotlabs/Module/Setup.php:417
+msgid ""
+"If you don't have a command line version of PHP installed on server, you "
+"will not be able to run background polling via cron."
msgstr ""
-#: ../../Zotlabs/Module/Admin.php:502
-msgid "Administrator Information"
+#: ../../Zotlabs/Module/Setup.php:421
+msgid "PHP executable path"
msgstr ""
-#: ../../Zotlabs/Module/Admin.php:502
+#: ../../Zotlabs/Module/Setup.php:421
msgid ""
-"Contact information for site administrators. Displayed on siteinfo page. "
-"BBCode can be used here"
-msgstr ""
-
-#: ../../Zotlabs/Module/Admin.php:503
-msgid "System language"
+"Enter full path to php executable. You can leave this blank to continue the "
+"installation."
msgstr ""
-#: ../../Zotlabs/Module/Admin.php:504
-msgid "System theme"
+#: ../../Zotlabs/Module/Setup.php:426
+msgid "Command line PHP"
msgstr ""
-#: ../../Zotlabs/Module/Admin.php:504
+#: ../../Zotlabs/Module/Setup.php:435
msgid ""
-"Default system theme - may be over-ridden by user profiles - <a href='#' "
-"id='cnftheme'>change theme settings</a>"
+"The command line version of PHP on your system does not have "
+"\"register_argc_argv\" enabled."
msgstr ""
-#: ../../Zotlabs/Module/Admin.php:505
-msgid "Mobile system theme"
+#: ../../Zotlabs/Module/Setup.php:436
+msgid "This is required for message delivery to work."
msgstr ""
-#: ../../Zotlabs/Module/Admin.php:505
-msgid "Theme for mobile devices"
+#: ../../Zotlabs/Module/Setup.php:439
+msgid "PHP register_argc_argv"
msgstr ""
-#: ../../Zotlabs/Module/Admin.php:507
-msgid "Allow Feeds as Connections"
+#: ../../Zotlabs/Module/Setup.php:457
+#, php-format
+msgid ""
+"Your max allowed total upload size is set to %s. Maximum size of one file to "
+"upload is set to %s. You are allowed to upload up to %d files at once."
msgstr ""
-#: ../../Zotlabs/Module/Admin.php:507
-msgid "(Heavy system resource usage)"
+#: ../../Zotlabs/Module/Setup.php:462
+msgid "You can adjust these settings in the servers php.ini."
msgstr ""
-#: ../../Zotlabs/Module/Admin.php:508
-msgid "Maximum image size"
+#: ../../Zotlabs/Module/Setup.php:464
+msgid "PHP upload limits"
msgstr ""
-#: ../../Zotlabs/Module/Admin.php:508
+#: ../../Zotlabs/Module/Setup.php:487
msgid ""
-"Maximum size in bytes of uploaded images. Default is 0, which means no "
-"limits."
-msgstr ""
-
-#: ../../Zotlabs/Module/Admin.php:509
-msgid "Does this site allow new member registration?"
-msgstr ""
-
-#: ../../Zotlabs/Module/Admin.php:510
-msgid "Invitation only"
+"Error: the \"openssl_pkey_new\" function on this system is not able to "
+"generate encryption keys"
msgstr ""
-#: ../../Zotlabs/Module/Admin.php:510
+#: ../../Zotlabs/Module/Setup.php:488
msgid ""
-"Only allow new member registrations with an invitation code. Above register "
-"policy must be set to Yes."
+"If running under Windows, please see \"http://www.php.net/manual/en/openssl."
+"installation.php\"."
msgstr ""
-#: ../../Zotlabs/Module/Admin.php:511
-msgid "Which best describes the types of account offered by this hub?"
+#: ../../Zotlabs/Module/Setup.php:491
+msgid "Generate encryption keys"
msgstr ""
-#: ../../Zotlabs/Module/Admin.php:512
-msgid "Register text"
+#: ../../Zotlabs/Module/Setup.php:503
+msgid "libCurl PHP module"
msgstr ""
-#: ../../Zotlabs/Module/Admin.php:512
-msgid "Will be displayed prominently on the registration page."
+#: ../../Zotlabs/Module/Setup.php:504
+msgid "GD graphics PHP module"
msgstr ""
-#: ../../Zotlabs/Module/Admin.php:513
-msgid "Site homepage to show visitors (default: login box)"
+#: ../../Zotlabs/Module/Setup.php:505
+msgid "OpenSSL PHP module"
msgstr ""
-#: ../../Zotlabs/Module/Admin.php:513
-msgid ""
-"example: 'public' to show public stream, 'page/sys/home' to show a system "
-"webpage called 'home' or 'include:home.html' to include a file."
+#: ../../Zotlabs/Module/Setup.php:506
+msgid "mysqli or postgres PHP module"
msgstr ""
-#: ../../Zotlabs/Module/Admin.php:514
-msgid "Preserve site homepage URL"
+#: ../../Zotlabs/Module/Setup.php:507
+msgid "mb_string PHP module"
msgstr ""
-#: ../../Zotlabs/Module/Admin.php:514
-msgid ""
-"Present the site homepage in a frame at the original location instead of "
-"redirecting"
+#: ../../Zotlabs/Module/Setup.php:508
+msgid "xml PHP module"
msgstr ""
-#: ../../Zotlabs/Module/Admin.php:515
-msgid "Accounts abandoned after x days"
+#: ../../Zotlabs/Module/Setup.php:512 ../../Zotlabs/Module/Setup.php:514
+msgid "Apache mod_rewrite module"
msgstr ""
-#: ../../Zotlabs/Module/Admin.php:515
+#: ../../Zotlabs/Module/Setup.php:512
msgid ""
-"Will not waste system resources polling external sites for abandonded "
-"accounts. Enter 0 for no time limit."
+"Error: Apache webserver mod-rewrite module is required but not installed."
msgstr ""
-#: ../../Zotlabs/Module/Admin.php:516
-msgid "Allowed friend domains"
+#: ../../Zotlabs/Module/Setup.php:518 ../../Zotlabs/Module/Setup.php:521
+msgid "proc_open"
msgstr ""
-#: ../../Zotlabs/Module/Admin.php:516
+#: ../../Zotlabs/Module/Setup.php:518
msgid ""
-"Comma separated list of domains which are allowed to establish friendships "
-"with this site. Wildcards are accepted. Empty to allow any domains"
+"Error: proc_open is required but is either not installed or has been "
+"disabled in php.ini"
msgstr ""
-#: ../../Zotlabs/Module/Admin.php:517
-msgid "Allowed email domains"
+#: ../../Zotlabs/Module/Setup.php:526
+msgid "Error: libCURL PHP module required but not installed."
msgstr ""
-#: ../../Zotlabs/Module/Admin.php:517
+#: ../../Zotlabs/Module/Setup.php:530
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"
+"Error: GD graphics PHP module with JPEG support required but not installed."
msgstr ""
-#: ../../Zotlabs/Module/Admin.php:518
-msgid "Not allowed email domains"
+#: ../../Zotlabs/Module/Setup.php:534
+msgid "Error: openssl PHP module required but not installed."
msgstr ""
-#: ../../Zotlabs/Module/Admin.php:518
+#: ../../Zotlabs/Module/Setup.php:538
msgid ""
-"Comma separated list of domains which are not allowed in email addresses for "
-"registrations to this site. Wildcards are accepted. Empty to allow any "
-"domains, unless allowed domains have been defined."
-msgstr ""
-
-#: ../../Zotlabs/Module/Admin.php:519
-msgid "Verify Email Addresses"
+"Error: mysqli or postgres PHP module required but neither are installed."
msgstr ""
-#: ../../Zotlabs/Module/Admin.php:519
-msgid ""
-"Check to verify email addresses used in account registration (recommended)."
+#: ../../Zotlabs/Module/Setup.php:542
+msgid "Error: mb_string PHP module required but not installed."
msgstr ""
-#: ../../Zotlabs/Module/Admin.php:520
-msgid "Force publish"
+#: ../../Zotlabs/Module/Setup.php:546
+msgid "Error: xml PHP module required for DAV but not installed."
msgstr ""
-#: ../../Zotlabs/Module/Admin.php:520
+#: ../../Zotlabs/Module/Setup.php:564
msgid ""
-"Check to force all profiles on this site to be listed in the site directory."
-msgstr ""
-
-#: ../../Zotlabs/Module/Admin.php:521
-msgid "Import Public Streams"
+"The web installer needs to be able to create a file called \".htconfig.php\" "
+"in the top folder of your web server and it is unable to do so."
msgstr ""
-#: ../../Zotlabs/Module/Admin.php:521
+#: ../../Zotlabs/Module/Setup.php:565
msgid ""
-"Import and allow access to public content pulled from other sites. Warning: "
-"this content is unmoderated."
-msgstr ""
-
-#: ../../Zotlabs/Module/Admin.php:522
-msgid "Login on Homepage"
+"This is most often a permission setting, as the web server may not be able "
+"to write files in your folder - even if you can."
msgstr ""
-#: ../../Zotlabs/Module/Admin.php:522
+#: ../../Zotlabs/Module/Setup.php:566
msgid ""
-"Present a login box to visitors on the home page if no other content has "
-"been configured."
-msgstr ""
-
-#: ../../Zotlabs/Module/Admin.php:523
-msgid "Enable context help"
+"At the end of this procedure, we will give you a text to save in a file "
+"named .htconfig.php in your Red top folder."
msgstr ""
-#: ../../Zotlabs/Module/Admin.php:523
+#: ../../Zotlabs/Module/Setup.php:567
msgid ""
-"Display contextual help for the current page when the help button is pressed."
-msgstr ""
-
-#: ../../Zotlabs/Module/Admin.php:525
-msgid "Directory Server URL"
-msgstr ""
-
-#: ../../Zotlabs/Module/Admin.php:525
-msgid "Default directory server"
-msgstr ""
-
-#: ../../Zotlabs/Module/Admin.php:527
-msgid "Proxy user"
-msgstr ""
-
-#: ../../Zotlabs/Module/Admin.php:528
-msgid "Proxy URL"
-msgstr ""
-
-#: ../../Zotlabs/Module/Admin.php:529
-msgid "Network timeout"
-msgstr ""
-
-#: ../../Zotlabs/Module/Admin.php:529
-msgid "Value is in seconds. Set to 0 for unlimited (not recommended)."
+"You can alternatively skip this procedure and perform a manual installation. "
+"Please see the file \"install/INSTALL.txt\" for instructions."
msgstr ""
-#: ../../Zotlabs/Module/Admin.php:530
-msgid "Delivery interval"
+#: ../../Zotlabs/Module/Setup.php:570
+msgid ".htconfig.php is writable"
msgstr ""
-#: ../../Zotlabs/Module/Admin.php:530
+#: ../../Zotlabs/Module/Setup.php:584
msgid ""
-"Delay background delivery processes by this many seconds to reduce system "
-"load. Recommend: 4-5 for shared hosts, 2-3 for virtual private servers. 0-1 "
-"for large dedicated servers."
-msgstr ""
-
-#: ../../Zotlabs/Module/Admin.php:531
-msgid "Deliveries per process"
+"Red uses the Smarty3 template engine to render its web views. Smarty3 "
+"compiles templates to PHP to speed up rendering."
msgstr ""
-#: ../../Zotlabs/Module/Admin.php:531
+#: ../../Zotlabs/Module/Setup.php:585
+#, php-format
msgid ""
-"Number of deliveries to attempt in a single operating system process. Adjust "
-"if necessary to tune system performance. Recommend: 1-5."
-msgstr ""
-
-#: ../../Zotlabs/Module/Admin.php:532
-msgid "Poll interval"
+"In order to store these compiled templates, the web server needs to have "
+"write access to the directory %s under the top level web folder."
msgstr ""
-#: ../../Zotlabs/Module/Admin.php:532
+#: ../../Zotlabs/Module/Setup.php:586 ../../Zotlabs/Module/Setup.php:607
msgid ""
-"Delay background polling processes by this many seconds to reduce system "
-"load. If 0, use delivery interval."
-msgstr ""
-
-#: ../../Zotlabs/Module/Admin.php:533
-msgid "Maximum Load Average"
+"Please ensure that the user that your web server runs as (e.g. www-data) has "
+"write access to this folder."
msgstr ""
-#: ../../Zotlabs/Module/Admin.php:533
+#: ../../Zotlabs/Module/Setup.php:587
+#, php-format
msgid ""
-"Maximum system load before delivery and poll processes are deferred - "
-"default 50."
-msgstr ""
-
-#: ../../Zotlabs/Module/Admin.php:534
-msgid "Expiration period in days for imported (grid/network) content"
-msgstr ""
-
-#: ../../Zotlabs/Module/Admin.php:534
-msgid "0 for no expiration of imported content"
+"Note: as a security measure, you should give the web server write access to "
+"%s only--not the template files (.tpl) that it contains."
msgstr ""
-#: ../../Zotlabs/Module/Admin.php:678
+#: ../../Zotlabs/Module/Setup.php:590
#, php-format
-msgid "Lock feature %s"
-msgstr ""
-
-#: ../../Zotlabs/Module/Admin.php:686
-msgid "Manage Additional Features"
-msgstr ""
-
-#: ../../Zotlabs/Module/Admin.php:703
-msgid "No server found"
-msgstr ""
-
-#: ../../Zotlabs/Module/Admin.php:710 ../../Zotlabs/Module/Admin.php:1046
-msgid "ID"
-msgstr ""
-
-#: ../../Zotlabs/Module/Admin.php:710
-msgid "for channel"
+msgid "%s is writable"
msgstr ""
-#: ../../Zotlabs/Module/Admin.php:710
-msgid "on server"
+#: ../../Zotlabs/Module/Setup.php:606
+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 Red top "
+"level folder"
msgstr ""
-#: ../../Zotlabs/Module/Admin.php:712
-msgid "Server"
+#: ../../Zotlabs/Module/Setup.php:610
+msgid "store is writable"
msgstr ""
-#: ../../Zotlabs/Module/Admin.php:746
+#: ../../Zotlabs/Module/Setup.php:643
msgid ""
-"By default, unfiltered HTML is allowed in embedded media. This is inherently "
-"insecure."
+"SSL certificate cannot be validated. Fix certificate or disable https access "
+"to this site."
msgstr ""
-#: ../../Zotlabs/Module/Admin.php:749
+#: ../../Zotlabs/Module/Setup.php:644
msgid ""
-"The recommended setting is to only allow unfiltered HTML from the following "
-"sites:"
+"If you have https access to your website or allow connections to TCP port "
+"443 (the https: port), you MUST use a browser-valid certificate. You MUST "
+"NOT use self-signed certificates!"
msgstr ""
-#: ../../Zotlabs/Module/Admin.php:750
+#: ../../Zotlabs/Module/Setup.php:645
msgid ""
-"https://youtube.com/<br />https://www.youtube.com/<br />https://youtu.be/"
-"<br />https://vimeo.com/<br />https://soundcloud.com/<br />"
+"This restriction is incorporated because public posts from you may for "
+"example contain references to images on your own hub."
msgstr ""
-#: ../../Zotlabs/Module/Admin.php:751
+#: ../../Zotlabs/Module/Setup.php:646
msgid ""
-"All other embedded content will be filtered, <strong>unless</strong> "
-"embedded content from that site is explicitly blocked."
-msgstr ""
-
-#: ../../Zotlabs/Module/Admin.php:756 ../../include/widgets.php:1493
-msgid "Security"
-msgstr ""
-
-#: ../../Zotlabs/Module/Admin.php:758
-msgid "Block public"
+"If your certificate is not recognized, members of other sites (who may "
+"themselves have valid certificates) will get a warning message on their own "
+"site complaining about security issues."
msgstr ""
-#: ../../Zotlabs/Module/Admin.php:758
+#: ../../Zotlabs/Module/Setup.php:647
msgid ""
-"Check to block public access to all otherwise public personal pages on this "
-"site unless you are currently authenticated."
-msgstr ""
-
-#: ../../Zotlabs/Module/Admin.php:759
-msgid "Set \"Transport Security\" HTTP header"
-msgstr ""
-
-#: ../../Zotlabs/Module/Admin.php:760
-msgid "Set \"Content Security Policy\" HTTP header"
-msgstr ""
-
-#: ../../Zotlabs/Module/Admin.php:761
-msgid "Allow communications only from these sites"
+"This can cause usability issues elsewhere (not just on your own site) so we "
+"must insist on this requirement."
msgstr ""
-#: ../../Zotlabs/Module/Admin.php:761
+#: ../../Zotlabs/Module/Setup.php:648
msgid ""
-"One site per line. Leave empty to allow communication from anywhere by "
-"default"
+"Providers are available that issue free certificates which are browser-valid."
msgstr ""
-#: ../../Zotlabs/Module/Admin.php:762
-msgid "Block communications from these sites"
+#: ../../Zotlabs/Module/Setup.php:650
+msgid ""
+"If you are confident that the certificate is valid and signed by a trusted "
+"authority, check to see if you have failed to install an intermediate cert. "
+"These are not normally required by browsers, but are required for server-to-"
+"server communications."
msgstr ""
-#: ../../Zotlabs/Module/Admin.php:763
-msgid "Allow communications only from these channels"
+#: ../../Zotlabs/Module/Setup.php:653
+msgid "SSL certificate validation"
msgstr ""
-#: ../../Zotlabs/Module/Admin.php:763
+#: ../../Zotlabs/Module/Setup.php:659
msgid ""
-"One channel (hash) per line. Leave empty to allow from any channel by default"
-msgstr ""
-
-#: ../../Zotlabs/Module/Admin.php:764
-msgid "Block communications from these channels"
+"Url rewrite in .htaccess is not working. Check your server configuration."
+"Test: "
msgstr ""
-#: ../../Zotlabs/Module/Admin.php:765
-msgid "Only allow embeds from secure (SSL) websites and links."
+#: ../../Zotlabs/Module/Setup.php:662
+msgid "Url rewrite is working"
msgstr ""
-#: ../../Zotlabs/Module/Admin.php:766
-msgid "Allow unfiltered embedded HTML content only from these domains"
+#: ../../Zotlabs/Module/Setup.php:671
+msgid ""
+"The database configuration file \".htconfig.php\" could not be written. "
+"Please use the enclosed text to create a configuration file in your web "
+"server root."
msgstr ""
-#: ../../Zotlabs/Module/Admin.php:766
-msgid "One site per line. By default embedded content is filtered."
+#: ../../Zotlabs/Module/Setup.php:695
+msgid "Errors encountered creating database tables."
msgstr ""
-#: ../../Zotlabs/Module/Admin.php:767
-msgid "Block embedded HTML from these domains"
+#: ../../Zotlabs/Module/Setup.php:732
+msgid "<h1>What next</h1>"
msgstr ""
-#: ../../Zotlabs/Module/Admin.php:785
-msgid "Update has been marked successful"
+#: ../../Zotlabs/Module/Setup.php:733
+msgid ""
+"IMPORTANT: You will need to [manually] setup a scheduled task for the poller."
msgstr ""
-#: ../../Zotlabs/Module/Admin.php:795
-#, php-format
-msgid "Executing %s failed. Check system logs."
+#: ../../Zotlabs/Module/Lostpass.php:19
+msgid "No valid account found."
msgstr ""
-#: ../../Zotlabs/Module/Admin.php:798
-#, php-format
-msgid "Update %s was successfully applied."
+#: ../../Zotlabs/Module/Lostpass.php:33
+msgid "Password reset request issued. Check your email."
msgstr ""
-#: ../../Zotlabs/Module/Admin.php:802
+#: ../../Zotlabs/Module/Lostpass.php:39 ../../Zotlabs/Module/Lostpass.php:107
#, php-format
-msgid "Update %s did not return a status. Unknown if it succeeded."
+msgid "Site Member (%s)"
msgstr ""
-#: ../../Zotlabs/Module/Admin.php:805
+#: ../../Zotlabs/Module/Lostpass.php:44
#, php-format
-msgid "Update function %s could not be found."
-msgstr ""
-
-#: ../../Zotlabs/Module/Admin.php:821
-msgid "No failed updates."
+msgid "Password reset requested at %s"
msgstr ""
-#: ../../Zotlabs/Module/Admin.php:825
-msgid "Failed Updates"
+#: ../../Zotlabs/Module/Lostpass.php:67
+msgid ""
+"Request could not be verified. (You may have previously submitted it.) "
+"Password reset failed."
msgstr ""
-#: ../../Zotlabs/Module/Admin.php:827
-msgid "Mark success (if update was manually applied)"
+#: ../../Zotlabs/Module/Lostpass.php:90 ../../boot.php:1747
+msgid "Password Reset"
msgstr ""
-#: ../../Zotlabs/Module/Admin.php:828
-msgid "Attempt to execute this update step automatically"
+#: ../../Zotlabs/Module/Lostpass.php:91
+msgid "Your password has been reset as requested."
msgstr ""
-#: ../../Zotlabs/Module/Admin.php:859
-msgid "Queue Statistics"
+#: ../../Zotlabs/Module/Lostpass.php:92
+msgid "Your new password is"
msgstr ""
-#: ../../Zotlabs/Module/Admin.php:860
-msgid "Total Entries"
+#: ../../Zotlabs/Module/Lostpass.php:93
+msgid "Save or copy your new password - and then"
msgstr ""
-#: ../../Zotlabs/Module/Admin.php:861
-msgid "Priority"
+#: ../../Zotlabs/Module/Lostpass.php:94
+msgid "click here to login"
msgstr ""
-#: ../../Zotlabs/Module/Admin.php:862
-msgid "Destination URL"
+#: ../../Zotlabs/Module/Lostpass.php:95
+msgid ""
+"Your password may be changed from the <em>Settings</em> page after "
+"successful login."
msgstr ""
-#: ../../Zotlabs/Module/Admin.php:863
-msgid "Mark hub permanently offline"
+#: ../../Zotlabs/Module/Lostpass.php:112
+#, php-format
+msgid "Your password has changed at %s"
msgstr ""
-#: ../../Zotlabs/Module/Admin.php:864
-msgid "Empty queue for this hub"
+#: ../../Zotlabs/Module/Lostpass.php:127
+msgid "Forgot your Password?"
msgstr ""
-#: ../../Zotlabs/Module/Admin.php:865
-msgid "Last known contact"
+#: ../../Zotlabs/Module/Lostpass.php:128
+msgid ""
+"Enter your email address and submit to have your password reset. Then check "
+"your email for further instructions."
msgstr ""
-#: ../../Zotlabs/Module/Admin.php:901
-#, php-format
-msgid "%s account blocked/unblocked"
-msgid_plural "%s account blocked/unblocked"
-msgstr[0] ""
-msgstr[1] ""
-
-#: ../../Zotlabs/Module/Admin.php:908
-#, php-format
-msgid "%s account deleted"
-msgid_plural "%s accounts deleted"
-msgstr[0] ""
-msgstr[1] ""
-
-#: ../../Zotlabs/Module/Admin.php:944
-msgid "Account not found"
+#: ../../Zotlabs/Module/Lostpass.php:129
+msgid "Email Address"
msgstr ""
-#: ../../Zotlabs/Module/Admin.php:955
-#, php-format
-msgid "Account '%s' deleted"
+#: ../../Zotlabs/Module/Lostpass.php:130
+msgid "Reset"
msgstr ""
-#: ../../Zotlabs/Module/Admin.php:963
+#: ../../Zotlabs/Module/Mood.php:67 ../../include/conversation.php:260
#, php-format
-msgid "Account '%s' blocked"
+msgctxt "mood"
+msgid "%1$s is %2$s"
msgstr ""
-#: ../../Zotlabs/Module/Admin.php:971
-#, php-format
-msgid "Account '%s' unblocked"
+#: ../../Zotlabs/Module/Mood.php:135 ../../Zotlabs/Lib/Apps.php:227
+msgid "Mood"
msgstr ""
-#: ../../Zotlabs/Module/Admin.php:1031 ../../Zotlabs/Module/Admin.php:1044
-#: ../../include/widgets.php:1491
-msgid "Accounts"
+#: ../../Zotlabs/Module/Mood.php:136
+msgid "Set your current mood and tell your friends"
msgstr ""
-#: ../../Zotlabs/Module/Admin.php:1033 ../../Zotlabs/Module/Admin.php:1212
-msgid "select all"
+#: ../../Zotlabs/Module/Removeme.php:35
+msgid ""
+"Channel removals are not allowed within 48 hours of changing the account "
+"password."
msgstr ""
-#: ../../Zotlabs/Module/Admin.php:1034
-msgid "Registrations waiting for confirm"
+#: ../../Zotlabs/Module/Removeme.php:60
+msgid "Remove This Channel"
msgstr ""
-#: ../../Zotlabs/Module/Admin.php:1035
-msgid "Request date"
+#: ../../Zotlabs/Module/Removeme.php:61
+#: ../../Zotlabs/Module/Removeaccount.php:58
+msgid "WARNING: "
msgstr ""
-#: ../../Zotlabs/Module/Admin.php:1035 ../../Zotlabs/Module/Admin.php:1047
-#: ../../include/network.php:2203
-msgid "Email"
+#: ../../Zotlabs/Module/Removeme.php:61
+msgid "This channel will be completely removed from the network. "
msgstr ""
-#: ../../Zotlabs/Module/Admin.php:1036
-msgid "No registrations."
+#: ../../Zotlabs/Module/Removeme.php:61
+#: ../../Zotlabs/Module/Removeaccount.php:58
+msgid "This action is permanent and can not be undone!"
msgstr ""
-#: ../../Zotlabs/Module/Admin.php:1038
-msgid "Deny"
+#: ../../Zotlabs/Module/Removeme.php:62
+#: ../../Zotlabs/Module/Removeaccount.php:59
+msgid "Please enter your password for verification:"
msgstr ""
-#: ../../Zotlabs/Module/Admin.php:1048 ../../include/group.php:267
-msgid "All Channels"
+#: ../../Zotlabs/Module/Removeme.php:63
+msgid "Remove this channel and all its clones from the network"
msgstr ""
-#: ../../Zotlabs/Module/Admin.php:1049
-msgid "Register date"
+#: ../../Zotlabs/Module/Removeme.php:63
+msgid ""
+"By default only the instance of the channel located on this hub will be "
+"removed from the network"
msgstr ""
-#: ../../Zotlabs/Module/Admin.php:1050
-msgid "Last login"
+#: ../../Zotlabs/Module/Removeme.php:64
+#: ../../Zotlabs/Module/Settings/Channel.php:544
+msgid "Remove Channel"
msgstr ""
-#: ../../Zotlabs/Module/Admin.php:1051
-msgid "Expires"
+#: ../../Zotlabs/Module/Notify.php:57
+#: ../../Zotlabs/Module/Notifications.php:98
+msgid "No more system notifications."
msgstr ""
-#: ../../Zotlabs/Module/Admin.php:1052
-msgid "Service Class"
+#: ../../Zotlabs/Module/Notify.php:61
+#: ../../Zotlabs/Module/Notifications.php:102
+msgid "System Notifications"
msgstr ""
-#: ../../Zotlabs/Module/Admin.php:1054
-msgid ""
-"Selected accounts will be deleted!\\n\\nEverything these accounts had posted "
-"on this site will be permanently deleted!\\n\\nAre you sure?"
+#: ../../Zotlabs/Module/Match.php:26
+msgid "Profile Match"
msgstr ""
-#: ../../Zotlabs/Module/Admin.php:1055
-msgid ""
-"The account {0} will be deleted!\\n\\nEverything this account has posted on "
-"this site will be permanently deleted!\\n\\nAre you sure?"
+#: ../../Zotlabs/Module/Match.php:35
+msgid "No keywords to match. Please add keywords to your default profile."
msgstr ""
-#: ../../Zotlabs/Module/Admin.php:1091
-#, php-format
-msgid "%s channel censored/uncensored"
-msgid_plural "%s channels censored/uncensored"
-msgstr[0] ""
-msgstr[1] ""
-
-#: ../../Zotlabs/Module/Admin.php:1100
-#, php-format
-msgid "%s channel code allowed/disallowed"
-msgid_plural "%s channels code allowed/disallowed"
-msgstr[0] ""
-msgstr[1] ""
-
-#: ../../Zotlabs/Module/Admin.php:1106
-#, php-format
-msgid "%s channel deleted"
-msgid_plural "%s channels deleted"
-msgstr[0] ""
-msgstr[1] ""
-
-#: ../../Zotlabs/Module/Admin.php:1126
-msgid "Channel not found"
+#: ../../Zotlabs/Module/Match.php:67
+msgid "is interested in:"
msgstr ""
-#: ../../Zotlabs/Module/Admin.php:1136
-#, php-format
-msgid "Channel '%s' deleted"
+#: ../../Zotlabs/Module/Match.php:68 ../../Zotlabs/Module/Suggest.php:56
+#: ../../Zotlabs/Module/Directory.php:325 ../../include/channel.php:1034
+#: ../../include/connections.php:78 ../../include/conversation.php:955
+#: ../../include/widgets.php:147 ../../include/widgets.php:184
+msgid "Connect"
msgstr ""
-#: ../../Zotlabs/Module/Admin.php:1148
-#, php-format
-msgid "Channel '%s' censored"
+#: ../../Zotlabs/Module/Match.php:74
+msgid "No matches"
msgstr ""
-#: ../../Zotlabs/Module/Admin.php:1148
-#, php-format
-msgid "Channel '%s' uncensored"
+#: ../../Zotlabs/Module/Dirsearch.php:25 ../../Zotlabs/Module/Regdir.php:49
+msgid "This site is not a directory server"
msgstr ""
-#: ../../Zotlabs/Module/Admin.php:1159
-#, php-format
-msgid "Channel '%s' code allowed"
+#: ../../Zotlabs/Module/Dirsearch.php:33
+msgid "This directory server requires an access token"
msgstr ""
-#: ../../Zotlabs/Module/Admin.php:1159
-#, php-format
-msgid "Channel '%s' code disallowed"
+#: ../../Zotlabs/Module/Magic.php:71
+msgid "Hub not found."
msgstr ""
-#: ../../Zotlabs/Module/Admin.php:1210 ../../include/widgets.php:1492
-msgid "Channels"
+#: ../../Zotlabs/Module/Photos.php:82
+msgid "Page owner information could not be retrieved."
msgstr ""
-#: ../../Zotlabs/Module/Admin.php:1214
-msgid "Censor"
+#: ../../Zotlabs/Module/Photos.php:97 ../../Zotlabs/Module/Photos.php:734
+#: ../../Zotlabs/Module/Profile_photo.php:115
+#: ../../Zotlabs/Module/Profile_photo.php:212
+#: ../../Zotlabs/Module/Profile_photo.php:311
+#: ../../include/photo/photo_driver.php:728
+msgid "Profile Photos"
msgstr ""
-#: ../../Zotlabs/Module/Admin.php:1215
-msgid "Uncensor"
+#: ../../Zotlabs/Module/Photos.php:103 ../../Zotlabs/Module/Photos.php:129
+msgid "Album not found."
msgstr ""
-#: ../../Zotlabs/Module/Admin.php:1216
-msgid "Allow Code"
+#: ../../Zotlabs/Module/Photos.php:112
+msgid "Delete Album"
msgstr ""
-#: ../../Zotlabs/Module/Admin.php:1217
-msgid "Disallow Code"
+#: ../../Zotlabs/Module/Photos.php:133
+msgid ""
+"Multiple storage folders exist with this album name, but within different "
+"directories. Please remove the desired folder or folders using the Files "
+"manager"
msgstr ""
-#: ../../Zotlabs/Module/Admin.php:1218 ../../include/conversation.php:1626
-msgid "Channel"
+#: ../../Zotlabs/Module/Photos.php:190 ../../Zotlabs/Module/Photos.php:1059
+msgid "Delete Photo"
msgstr ""
-#: ../../Zotlabs/Module/Admin.php:1222
-msgid "UID"
+#: ../../Zotlabs/Module/Photos.php:509 ../../Zotlabs/Module/Display.php:17
+#: ../../Zotlabs/Module/Ratings.php:83 ../../Zotlabs/Module/Search.php:17
+#: ../../Zotlabs/Module/Viewconnections.php:23
+#: ../../Zotlabs/Module/Directory.php:63
+msgid "Public access denied."
msgstr ""
-#: ../../Zotlabs/Module/Admin.php:1226
-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?"
+#: ../../Zotlabs/Module/Photos.php:520
+msgid "No photos selected"
msgstr ""
-#: ../../Zotlabs/Module/Admin.php:1227
-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?"
+#: ../../Zotlabs/Module/Photos.php:569
+msgid "Access to this item is restricted."
msgstr ""
-#: ../../Zotlabs/Module/Admin.php:1284
+#: ../../Zotlabs/Module/Photos.php:608
#, php-format
-msgid "Plugin %s disabled."
+msgid "%1$.2f MB of %2$.2f MB photo storage used."
msgstr ""
-#: ../../Zotlabs/Module/Admin.php:1288
+#: ../../Zotlabs/Module/Photos.php:611
#, php-format
-msgid "Plugin %s enabled."
+msgid "%1$.2f MB photo storage used."
msgstr ""
-#: ../../Zotlabs/Module/Admin.php:1298 ../../Zotlabs/Module/Admin.php:1585
-msgid "Disable"
+#: ../../Zotlabs/Module/Photos.php:647
+msgid "Upload Photos"
msgstr ""
-#: ../../Zotlabs/Module/Admin.php:1301 ../../Zotlabs/Module/Admin.php:1587
-msgid "Enable"
+#: ../../Zotlabs/Module/Photos.php:651
+msgid "Enter an album name"
msgstr ""
-#: ../../Zotlabs/Module/Admin.php:1330 ../../Zotlabs/Module/Admin.php:1420
-#: ../../include/widgets.php:1495
-msgid "Plugins"
+#: ../../Zotlabs/Module/Photos.php:652
+msgid "or select an existing album (doubleclick)"
msgstr ""
-#: ../../Zotlabs/Module/Admin.php:1331 ../../Zotlabs/Module/Admin.php:1614
-msgid "Toggle"
+#: ../../Zotlabs/Module/Photos.php:653
+msgid "Create a status post for this upload"
msgstr ""
-#: ../../Zotlabs/Module/Admin.php:1332 ../../Zotlabs/Module/Admin.php:1615
-#: ../../Zotlabs/Lib/Apps.php:216 ../../include/nav.php:210
-#: ../../include/widgets.php:647
-msgid "Settings"
+#: ../../Zotlabs/Module/Photos.php:654
+msgid "Caption (optional):"
msgstr ""
-#: ../../Zotlabs/Module/Admin.php:1339 ../../Zotlabs/Module/Admin.php:1624
-msgid "Author: "
+#: ../../Zotlabs/Module/Photos.php:655
+msgid "Description (optional):"
msgstr ""
-#: ../../Zotlabs/Module/Admin.php:1340 ../../Zotlabs/Module/Admin.php:1625
-msgid "Maintainer: "
+#: ../../Zotlabs/Module/Photos.php:686
+msgid "Album name could not be decoded"
msgstr ""
-#: ../../Zotlabs/Module/Admin.php:1341
-msgid "Minimum project version: "
+#: ../../Zotlabs/Module/Photos.php:734
+msgid "Contact Photos"
msgstr ""
-#: ../../Zotlabs/Module/Admin.php:1342
-msgid "Maximum project version: "
+#: ../../Zotlabs/Module/Photos.php:757
+msgid "Show Newest First"
msgstr ""
-#: ../../Zotlabs/Module/Admin.php:1343
-msgid "Minimum PHP version: "
+#: ../../Zotlabs/Module/Photos.php:759
+msgid "Show Oldest First"
msgstr ""
-#: ../../Zotlabs/Module/Admin.php:1344
-msgid "Requires: "
+#: ../../Zotlabs/Module/Photos.php:783 ../../Zotlabs/Module/Photos.php:1337
+#: ../../Zotlabs/Module/Embedphotos.php:141 ../../include/widgets.php:1677
+msgid "View Photo"
msgstr ""
-#: ../../Zotlabs/Module/Admin.php:1345 ../../Zotlabs/Module/Admin.php:1425
-msgid "Disabled - version incompatibility"
+#: ../../Zotlabs/Module/Photos.php:814
+#: ../../Zotlabs/Module/Embedphotos.php:157 ../../include/widgets.php:1694
+msgid "Edit Album"
msgstr ""
-#: ../../Zotlabs/Module/Admin.php:1394
-msgid "Enter the public git repository URL of the plugin repo."
+#: ../../Zotlabs/Module/Photos.php:861
+msgid "Permission denied. Access to this item may be restricted."
msgstr ""
-#: ../../Zotlabs/Module/Admin.php:1395
-msgid "Plugin repo git URL"
+#: ../../Zotlabs/Module/Photos.php:863
+msgid "Photo not available"
msgstr ""
-#: ../../Zotlabs/Module/Admin.php:1396
-msgid "Custom repo name"
+#: ../../Zotlabs/Module/Photos.php:921
+msgid "Use as profile photo"
msgstr ""
-#: ../../Zotlabs/Module/Admin.php:1396
-msgid "(optional)"
+#: ../../Zotlabs/Module/Photos.php:922
+msgid "Use as cover photo"
msgstr ""
-#: ../../Zotlabs/Module/Admin.php:1397
-msgid "Download Plugin Repo"
+#: ../../Zotlabs/Module/Photos.php:929
+msgid "Private Photo"
msgstr ""
-#: ../../Zotlabs/Module/Admin.php:1404
-msgid "Install new repo"
+#: ../../Zotlabs/Module/Photos.php:940 ../../Zotlabs/Module/Cal.php:332
+#: ../../Zotlabs/Module/Cal.php:339 ../../Zotlabs/Module/Events.php:675
+#: ../../Zotlabs/Module/Events.php:684
+msgid "Previous"
msgstr ""
-#: ../../Zotlabs/Module/Admin.php:1405 ../../Zotlabs/Lib/Apps.php:334
-msgid "Install"
+#: ../../Zotlabs/Module/Photos.php:944
+msgid "View Full Size"
msgstr ""
-#: ../../Zotlabs/Module/Admin.php:1427
-msgid "Manage Repos"
+#: ../../Zotlabs/Module/Photos.php:1033
+msgid "Edit photo"
msgstr ""
-#: ../../Zotlabs/Module/Admin.php:1428
-msgid "Installed Plugin Repositories"
+#: ../../Zotlabs/Module/Photos.php:1035
+msgid "Rotate CW (right)"
msgstr ""
-#: ../../Zotlabs/Module/Admin.php:1429
-msgid "Install a New Plugin Repository"
+#: ../../Zotlabs/Module/Photos.php:1036
+msgid "Rotate CCW (left)"
msgstr ""
-#: ../../Zotlabs/Module/Admin.php:1436
-msgid "Switch branch"
+#: ../../Zotlabs/Module/Photos.php:1039
+msgid "Move photo to album"
msgstr ""
-#: ../../Zotlabs/Module/Admin.php:1550
-msgid "No themes found."
+#: ../../Zotlabs/Module/Photos.php:1040
+msgid "Enter a new album name"
msgstr ""
-#: ../../Zotlabs/Module/Admin.php:1606
-msgid "Screenshot"
+#: ../../Zotlabs/Module/Photos.php:1041
+msgid "or select an existing one (doubleclick)"
msgstr ""
-#: ../../Zotlabs/Module/Admin.php:1613 ../../Zotlabs/Module/Admin.php:1647
-#: ../../include/widgets.php:1496
-msgid "Themes"
+#: ../../Zotlabs/Module/Photos.php:1044
+msgid "Caption"
msgstr ""
-#: ../../Zotlabs/Module/Admin.php:1652
-msgid "[Experimental]"
+#: ../../Zotlabs/Module/Photos.php:1046
+msgid "Add a Tag"
msgstr ""
-#: ../../Zotlabs/Module/Admin.php:1653
-msgid "[Unsupported]"
+#: ../../Zotlabs/Module/Photos.php:1054
+msgid "Example: @bob, @Barbara_Jensen, @jim@example.com"
msgstr ""
-#: ../../Zotlabs/Module/Admin.php:1677
-msgid "Log settings updated."
+#: ../../Zotlabs/Module/Photos.php:1057
+msgid "Flag as adult in album view"
msgstr ""
-#: ../../Zotlabs/Module/Admin.php:1732 ../../include/widgets.php:1517
-#: ../../include/widgets.php:1527
-msgid "Logs"
+#: ../../Zotlabs/Module/Photos.php:1076 ../../Zotlabs/Lib/ThreadItem.php:268
+msgid "I like this (toggle)"
msgstr ""
-#: ../../Zotlabs/Module/Admin.php:1734
-msgid "Clear"
+#: ../../Zotlabs/Module/Photos.php:1077 ../../Zotlabs/Lib/ThreadItem.php:269
+msgid "I don't like this (toggle)"
msgstr ""
-#: ../../Zotlabs/Module/Admin.php:1740
-msgid "Debugging"
+#: ../../Zotlabs/Module/Photos.php:1078 ../../Zotlabs/Module/Blocks.php:161
+#: ../../Zotlabs/Module/Layouts.php:193 ../../Zotlabs/Module/Webpages.php:241
+#: ../../include/conversation.php:1232
+msgid "Share"
msgstr ""
-#: ../../Zotlabs/Module/Admin.php:1741
-msgid "Log file"
+#: ../../Zotlabs/Module/Photos.php:1079 ../../Zotlabs/Lib/ThreadItem.php:405
+#: ../../include/conversation.php:741
+msgid "Please wait"
msgstr ""
-#: ../../Zotlabs/Module/Admin.php:1741
-msgid ""
-"Must be writable by web server. Relative to your top-level webserver "
-"directory."
+#: ../../Zotlabs/Module/Photos.php:1095 ../../Zotlabs/Module/Photos.php:1213
+#: ../../Zotlabs/Lib/ThreadItem.php:722
+msgid "This is you"
msgstr ""
-#: ../../Zotlabs/Module/Admin.php:1742
-msgid "Log level"
+#: ../../Zotlabs/Module/Photos.php:1097 ../../Zotlabs/Module/Photos.php:1215
+#: ../../Zotlabs/Lib/ThreadItem.php:724 ../../include/js_strings.php:6
+msgid "Comment"
msgstr ""
-#: ../../Zotlabs/Module/Admin.php:2028
-msgid "New Profile Field"
+#: ../../Zotlabs/Module/Photos.php:1099 ../../Zotlabs/Module/Webpages.php:247
+#: ../../Zotlabs/Module/Events.php:473 ../../Zotlabs/Lib/ThreadItem.php:734
+#: ../../include/page_widgets.php:43 ../../include/conversation.php:1201
+msgid "Preview"
msgstr ""
-#: ../../Zotlabs/Module/Admin.php:2029 ../../Zotlabs/Module/Admin.php:2049
-msgid "Field nickname"
+#: ../../Zotlabs/Module/Photos.php:1113 ../../include/conversation.php:577
+msgctxt "title"
+msgid "Likes"
msgstr ""
-#: ../../Zotlabs/Module/Admin.php:2029 ../../Zotlabs/Module/Admin.php:2049
-msgid "System name of field"
+#: ../../Zotlabs/Module/Photos.php:1113 ../../include/conversation.php:577
+msgctxt "title"
+msgid "Dislikes"
msgstr ""
-#: ../../Zotlabs/Module/Admin.php:2030 ../../Zotlabs/Module/Admin.php:2050
-msgid "Input type"
+#: ../../Zotlabs/Module/Photos.php:1114 ../../include/conversation.php:578
+msgctxt "title"
+msgid "Agree"
msgstr ""
-#: ../../Zotlabs/Module/Admin.php:2031 ../../Zotlabs/Module/Admin.php:2051
-msgid "Field Name"
+#: ../../Zotlabs/Module/Photos.php:1114 ../../include/conversation.php:578
+msgctxt "title"
+msgid "Disagree"
msgstr ""
-#: ../../Zotlabs/Module/Admin.php:2031 ../../Zotlabs/Module/Admin.php:2051
-msgid "Label on profile pages"
+#: ../../Zotlabs/Module/Photos.php:1114 ../../include/conversation.php:578
+msgctxt "title"
+msgid "Abstain"
msgstr ""
-#: ../../Zotlabs/Module/Admin.php:2032 ../../Zotlabs/Module/Admin.php:2052
-msgid "Help text"
+#: ../../Zotlabs/Module/Photos.php:1115 ../../include/conversation.php:579
+msgctxt "title"
+msgid "Attending"
msgstr ""
-#: ../../Zotlabs/Module/Admin.php:2032 ../../Zotlabs/Module/Admin.php:2052
-msgid "Additional info (optional)"
+#: ../../Zotlabs/Module/Photos.php:1115 ../../include/conversation.php:579
+msgctxt "title"
+msgid "Not attending"
msgstr ""
-#: ../../Zotlabs/Module/Admin.php:2042
-msgid "Field definition not found"
+#: ../../Zotlabs/Module/Photos.php:1115 ../../include/conversation.php:579
+msgctxt "title"
+msgid "Might attend"
msgstr ""
-#: ../../Zotlabs/Module/Admin.php:2048
-msgid "Edit Profile Field"
+#: ../../Zotlabs/Module/Photos.php:1132 ../../Zotlabs/Module/Photos.php:1144
+#: ../../Zotlabs/Lib/ThreadItem.php:186 ../../Zotlabs/Lib/ThreadItem.php:198
+#: ../../include/conversation.php:1763
+msgid "View all"
msgstr ""
-#: ../../Zotlabs/Module/Admin.php:2106 ../../include/widgets.php:1498
-msgid "Profile Fields"
+#: ../../Zotlabs/Module/Photos.php:1136 ../../Zotlabs/Lib/ThreadItem.php:190
+#: ../../include/channel.php:1182 ../../include/conversation.php:1787
+#: ../../include/taxonomy.php:403
+msgctxt "noun"
+msgid "Like"
+msgid_plural "Likes"
+msgstr[0] ""
+msgstr[1] ""
+
+#: ../../Zotlabs/Module/Photos.php:1141 ../../Zotlabs/Lib/ThreadItem.php:195
+#: ../../include/conversation.php:1790
+msgctxt "noun"
+msgid "Dislike"
+msgid_plural "Dislikes"
+msgstr[0] ""
+msgstr[1] ""
+
+#: ../../Zotlabs/Module/Photos.php:1241
+msgid "Photo Tools"
msgstr ""
-#: ../../Zotlabs/Module/Admin.php:2107
-msgid "Basic Profile Fields"
+#: ../../Zotlabs/Module/Photos.php:1250
+msgid "In This Photo:"
msgstr ""
-#: ../../Zotlabs/Module/Admin.php:2108
-msgid "Advanced Profile Fields"
+#: ../../Zotlabs/Module/Photos.php:1255
+msgid "Map"
msgstr ""
-#: ../../Zotlabs/Module/Admin.php:2108
-msgid "(In addition to basic fields)"
+#: ../../Zotlabs/Module/Photos.php:1263 ../../Zotlabs/Lib/ThreadItem.php:394
+msgctxt "noun"
+msgid "Likes"
msgstr ""
-#: ../../Zotlabs/Module/Admin.php:2110
-msgid "All available fields"
+#: ../../Zotlabs/Module/Photos.php:1264 ../../Zotlabs/Lib/ThreadItem.php:395
+msgctxt "noun"
+msgid "Dislikes"
msgstr ""
-#: ../../Zotlabs/Module/Admin.php:2111
-msgid "Custom Fields"
+#: ../../Zotlabs/Module/Photos.php:1269 ../../Zotlabs/Lib/ThreadItem.php:400
+#: ../../include/acl_selectors.php:181
+msgid "Close"
msgstr ""
-#: ../../Zotlabs/Module/Admin.php:2115
-msgid "Create Custom Field"
+#: ../../Zotlabs/Module/Photos.php:1343
+msgid "View Album"
msgstr ""
-#: ../../Zotlabs/Module/New_channel.php:121
-#: ../../Zotlabs/Module/Manage.php:136
-#, php-format
-msgid "You have created %1$.0f of %2$.0f allowed channels."
+#: ../../Zotlabs/Module/Photos.php:1354 ../../Zotlabs/Module/Photos.php:1367
+#: ../../Zotlabs/Module/Photos.php:1368
+msgid "Recent Photos"
msgstr ""
-#: ../../Zotlabs/Module/New_channel.php:128
-#: ../../Zotlabs/Module/Register.php:231
+#: ../../Zotlabs/Module/New_channel.php:134
+#: ../../Zotlabs/Module/Register.php:237
msgid "Name or caption"
msgstr ""
-#: ../../Zotlabs/Module/New_channel.php:128
-#: ../../Zotlabs/Module/Register.php:231
+#: ../../Zotlabs/Module/New_channel.php:134
+#: ../../Zotlabs/Module/Register.php:237
msgid ""
"Examples: \"Bob Jameson\", \"Lisa and her Horses\", \"Soccer\", \"Aviation "
"Group\""
msgstr ""
-#: ../../Zotlabs/Module/New_channel.php:130
-#: ../../Zotlabs/Module/Register.php:233
+#: ../../Zotlabs/Module/New_channel.php:136
+#: ../../Zotlabs/Module/Register.php:239
msgid "Choose a short nickname"
msgstr ""
-#: ../../Zotlabs/Module/New_channel.php:130
-#: ../../Zotlabs/Module/Register.php:233
+#: ../../Zotlabs/Module/New_channel.php:136
+#: ../../Zotlabs/Module/Register.php:239
#, php-format
msgid ""
"Your nickname will be used to create an easy to remember channel address e."
"g. nickname%s"
msgstr ""
-#: ../../Zotlabs/Module/New_channel.php:132
-#: ../../Zotlabs/Module/Register.php:235
+#: ../../Zotlabs/Module/New_channel.php:137
+#: ../../Zotlabs/Module/Register.php:240
msgid "Channel role and privacy"
msgstr ""
-#: ../../Zotlabs/Module/New_channel.php:132
-#: ../../Zotlabs/Module/Register.php:235
+#: ../../Zotlabs/Module/New_channel.php:137
+#: ../../Zotlabs/Module/Register.php:240
msgid "Select a channel role with your privacy requirements."
msgstr ""
-#: ../../Zotlabs/Module/New_channel.php:132
-#: ../../Zotlabs/Module/Register.php:235
+#: ../../Zotlabs/Module/New_channel.php:137
+#: ../../Zotlabs/Module/Register.php:240
msgid "Read more about roles"
msgstr ""
-#: ../../Zotlabs/Module/New_channel.php:135
+#: ../../Zotlabs/Module/New_channel.php:140
msgid "Create Channel"
msgstr ""
-#: ../../Zotlabs/Module/New_channel.php:136
+#: ../../Zotlabs/Module/New_channel.php:141
msgid ""
"A channel is your identity on this network. It can represent a person, a "
"blog, or a forum to name a few. Channels can make connections with other "
"channels to share information with highly detailed permissions."
msgstr ""
-#: ../../Zotlabs/Module/New_channel.php:137
+#: ../../Zotlabs/Module/New_channel.php:142
msgid ""
"or <a href=\"import\">import an existing channel</a> from another location."
msgstr ""
@@ -4780,12 +4707,12 @@ msgstr ""
msgid "Discard"
msgstr ""
-#: ../../Zotlabs/Module/Notifications.php:103 ../../include/nav.php:193
+#: ../../Zotlabs/Module/Notifications.php:103 ../../include/nav.php:196
msgid "Mark all system notifications seen"
msgstr ""
#: ../../Zotlabs/Module/Poke.php:168 ../../Zotlabs/Lib/Apps.php:228
-#: ../../include/conversation.php:963
+#: ../../include/conversation.php:959
msgid "Poke"
msgstr ""
@@ -4813,6 +4740,11 @@ msgstr ""
msgid "Make this post private"
msgstr ""
+#: ../../Zotlabs/Module/Apps.php:46 ../../include/nav.php:168
+#: ../../include/widgets.php:102
+msgid "Apps"
+msgstr ""
+
#: ../../Zotlabs/Module/Oexchange.php:27
msgid "Unable to find your hub."
msgstr ""
@@ -4829,7 +4761,7 @@ msgstr ""
msgid "Profile Visibility Editor"
msgstr ""
-#: ../../Zotlabs/Module/Profperm.php:117 ../../include/channel.php:1281
+#: ../../Zotlabs/Module/Profperm.php:117 ../../include/channel.php:1274
msgid "Profile"
msgstr ""
@@ -4914,7 +4846,7 @@ msgstr ""
msgid "Site Administrators"
msgstr ""
-#: ../../Zotlabs/Module/Blocks.php:154 ../../include/text.php:2238
+#: ../../Zotlabs/Module/Blocks.php:154 ../../include/text.php:2308
msgid "Blocks"
msgstr ""
@@ -4922,10 +4854,16 @@ msgstr ""
msgid "Block Title"
msgstr ""
-#: ../../Zotlabs/Module/Layouts.php:183 ../../include/text.php:2240
+#: ../../Zotlabs/Module/Layouts.php:183 ../../include/text.php:2310
msgid "Layouts"
msgstr ""
+#: ../../Zotlabs/Module/Layouts.php:185 ../../Zotlabs/Lib/Apps.php:225
+#: ../../include/help.php:47 ../../include/help.php:52
+#: ../../include/nav.php:164
+msgid "Help"
+msgstr ""
+
#: ../../Zotlabs/Module/Layouts.php:185
msgid "Comanche page description language help"
msgstr ""
@@ -4938,212 +4876,143 @@ msgstr ""
msgid "Download PDL file"
msgstr ""
-#: ../../Zotlabs/Module/Pubsites.php:22 ../../include/widgets.php:1351
-msgid "Public Hubs"
-msgstr ""
-
-#: ../../Zotlabs/Module/Pubsites.php:25
-msgid ""
-"The listed hubs allow public registration for the $Projectname network. All "
-"hubs in the network are interlinked so membership on any of them conveys "
-"membership in the network as a whole. Some hubs may require subscription or "
-"provide tiered service plans. The hub itself <strong>may</strong> provide "
-"additional details."
-msgstr ""
-
-#: ../../Zotlabs/Module/Pubsites.php:31
-msgid "Hub URL"
-msgstr ""
-
-#: ../../Zotlabs/Module/Pubsites.php:31
-msgid "Access Type"
-msgstr ""
-
-#: ../../Zotlabs/Module/Pubsites.php:31
-msgid "Registration Policy"
-msgstr ""
-
-#: ../../Zotlabs/Module/Pubsites.php:31
-msgid "Stats"
-msgstr ""
-
-#: ../../Zotlabs/Module/Pubsites.php:31
-msgid "Software"
-msgstr ""
-
-#: ../../Zotlabs/Module/Pubsites.php:31 ../../Zotlabs/Module/Ratings.php:103
-#: ../../include/conversation.php:962
-msgid "Ratings"
-msgstr ""
-
-#: ../../Zotlabs/Module/Pubsites.php:38
-msgid "Rate"
-msgstr ""
-
-#: ../../Zotlabs/Module/Profile_photo.php:186
-msgid ""
-"Shift-reload the page or clear browser cache if the new photo does not "
-"display immediately."
-msgstr ""
-
-#: ../../Zotlabs/Module/Profile_photo.php:389
-msgid "Upload Profile Photo"
-msgstr ""
-
-#: ../../Zotlabs/Module/Cal.php:69
-msgid "Permissions denied."
-msgstr ""
-
-#: ../../Zotlabs/Module/Cal.php:337 ../../include/text.php:2262
-msgid "Import"
-msgstr ""
-
-#: ../../Zotlabs/Module/Common.php:14
-msgid "No channel."
+#: ../../Zotlabs/Module/Admin.php:97
+msgid "# Accounts"
msgstr ""
-#: ../../Zotlabs/Module/Common.php:43
-msgid "Common connections"
+#: ../../Zotlabs/Module/Admin.php:98
+msgid "# blocked accounts"
msgstr ""
-#: ../../Zotlabs/Module/Common.php:48
-msgid "No connections in common."
+#: ../../Zotlabs/Module/Admin.php:99
+msgid "# expired accounts"
msgstr ""
-#: ../../Zotlabs/Module/Rate.php:160
-msgid "Website:"
+#: ../../Zotlabs/Module/Admin.php:100
+msgid "# expiring accounts"
msgstr ""
-#: ../../Zotlabs/Module/Rate.php:163
-#, php-format
-msgid "Remote Channel [%s] (not yet known on this site)"
+#: ../../Zotlabs/Module/Admin.php:111
+msgid "# Channels"
msgstr ""
-#: ../../Zotlabs/Module/Rate.php:164
-msgid "Rating (this information is public)"
+#: ../../Zotlabs/Module/Admin.php:112
+msgid "# primary"
msgstr ""
-#: ../../Zotlabs/Module/Rate.php:165
-msgid "Optionally explain your rating (this information is public)"
+#: ../../Zotlabs/Module/Admin.php:113
+msgid "# clones"
msgstr ""
-#: ../../Zotlabs/Module/Ratings.php:73
-msgid "No ratings"
+#: ../../Zotlabs/Module/Admin.php:119
+msgid "Message queues"
msgstr ""
-#: ../../Zotlabs/Module/Ratings.php:104
-msgid "Rating: "
+#: ../../Zotlabs/Module/Admin.php:136
+msgid "Your software should be updated"
msgstr ""
-#: ../../Zotlabs/Module/Ratings.php:105
-msgid "Website: "
+#: ../../Zotlabs/Module/Admin.php:142
+msgid "Summary"
msgstr ""
-#: ../../Zotlabs/Module/Ratings.php:107
-msgid "Description: "
+#: ../../Zotlabs/Module/Admin.php:145
+msgid "Registered accounts"
msgstr ""
-#: ../../Zotlabs/Module/Apps.php:47 ../../include/nav.php:165
-#: ../../include/widgets.php:102
-msgid "Apps"
+#: ../../Zotlabs/Module/Admin.php:146
+msgid "Pending registrations"
msgstr ""
-#: ../../Zotlabs/Module/Manage.php:143
-msgid "Create a new channel"
+#: ../../Zotlabs/Module/Admin.php:147
+msgid "Registered channels"
msgstr ""
-#: ../../Zotlabs/Module/Manage.php:164 ../../Zotlabs/Lib/Apps.php:214
-#: ../../include/nav.php:208
-msgid "Channel Manager"
+#: ../../Zotlabs/Module/Admin.php:148
+msgid "Active plugins"
msgstr ""
-#: ../../Zotlabs/Module/Manage.php:165
-msgid "Current Channel"
+#: ../../Zotlabs/Module/Admin.php:149
+msgid "Version"
msgstr ""
-#: ../../Zotlabs/Module/Manage.php:167
-msgid "Switch to one of your channels by selecting it."
+#: ../../Zotlabs/Module/Admin.php:150
+msgid "Repository version (master)"
msgstr ""
-#: ../../Zotlabs/Module/Manage.php:168
-msgid "Default Channel"
+#: ../../Zotlabs/Module/Admin.php:151
+msgid "Repository version (dev)"
msgstr ""
-#: ../../Zotlabs/Module/Manage.php:169
-msgid "Make Default"
+#: ../../Zotlabs/Module/Profile_photo.php:186
+msgid ""
+"Shift-reload the page or clear browser cache if the new photo does not "
+"display immediately."
msgstr ""
-#: ../../Zotlabs/Module/Manage.php:172
-#, php-format
-msgid "%d new messages"
+#: ../../Zotlabs/Module/Profile_photo.php:389
+msgid "Upload Profile Photo"
msgstr ""
-#: ../../Zotlabs/Module/Manage.php:173
-#, php-format
-msgid "%d new introductions"
+#: ../../Zotlabs/Module/Cal.php:69
+msgid "Permissions denied."
msgstr ""
-#: ../../Zotlabs/Module/Manage.php:175
-msgid "Delegated Channel"
+#: ../../Zotlabs/Module/Cal.php:259 ../../Zotlabs/Module/Events.php:597
+msgid "l, F j"
msgstr ""
-#: ../../Zotlabs/Module/Connect.php:61 ../../Zotlabs/Module/Connect.php:109
-msgid "Continue"
+#: ../../Zotlabs/Module/Cal.php:308 ../../Zotlabs/Module/Events.php:646
+#: ../../include/text.php:1762
+msgid "Link to Source"
msgstr ""
-#: ../../Zotlabs/Module/Connect.php:90
-msgid "Premium Channel Setup"
+#: ../../Zotlabs/Module/Cal.php:331 ../../Zotlabs/Module/Events.php:674
+msgid "Edit Event"
msgstr ""
-#: ../../Zotlabs/Module/Connect.php:92
-msgid "Enable premium channel connection restrictions"
+#: ../../Zotlabs/Module/Cal.php:331 ../../Zotlabs/Module/Events.php:674
+msgid "Create Event"
msgstr ""
-#: ../../Zotlabs/Module/Connect.php:93
-msgid ""
-"Please enter your restrictions or conditions, such as paypal receipt, usage "
-"guidelines, etc."
+#: ../../Zotlabs/Module/Cal.php:334 ../../Zotlabs/Module/Events.php:677
+msgid "Export"
msgstr ""
-#: ../../Zotlabs/Module/Connect.php:95 ../../Zotlabs/Module/Connect.php:115
-msgid ""
-"This channel may require additional steps or acknowledgement of the "
-"following conditions prior to connecting:"
+#: ../../Zotlabs/Module/Cal.php:337 ../../include/text.php:2332
+msgid "Import"
msgstr ""
-#: ../../Zotlabs/Module/Connect.php:96
-msgid ""
-"Potential connections will then see the following text before proceeding:"
+#: ../../Zotlabs/Module/Cal.php:341 ../../Zotlabs/Module/Events.php:686
+msgid "Today"
msgstr ""
-#: ../../Zotlabs/Module/Connect.php:97 ../../Zotlabs/Module/Connect.php:118
-msgid ""
-"By continuing, I certify that I have complied with any instructions provided "
-"on this page."
+#: ../../Zotlabs/Module/Common.php:14
+msgid "No channel."
msgstr ""
-#: ../../Zotlabs/Module/Connect.php:106
-msgid "(No specific instructions have been provided by the channel owner.)"
+#: ../../Zotlabs/Module/Common.php:43
+msgid "Common connections"
msgstr ""
-#: ../../Zotlabs/Module/Connect.php:114
-msgid "Restricted or Premium Channel"
+#: ../../Zotlabs/Module/Common.php:48
+msgid "No connections in common."
msgstr ""
-#: ../../Zotlabs/Module/Rbmark.php:94
-msgid "Select a bookmark folder"
+#: ../../Zotlabs/Module/Ratings.php:70
+msgid "No ratings"
msgstr ""
-#: ../../Zotlabs/Module/Rbmark.php:99
-msgid "Save Bookmark"
+#: ../../Zotlabs/Module/Ratings.php:98
+msgid "Rating: "
msgstr ""
-#: ../../Zotlabs/Module/Rbmark.php:100
-msgid "URL of bookmark"
+#: ../../Zotlabs/Module/Ratings.php:99
+msgid "Website: "
msgstr ""
-#: ../../Zotlabs/Module/Rbmark.php:105
-msgid "Or enter new bookmark folder name"
+#: ../../Zotlabs/Module/Ratings.php:101
+msgid "Description: "
msgstr ""
#: ../../Zotlabs/Module/Register.php:49
@@ -5190,59 +5059,99 @@ msgid ""
"Please try again tomorrow."
msgstr ""
-#: ../../Zotlabs/Module/Register.php:215
+#: ../../Zotlabs/Module/Register.php:221
msgid "Terms of Service"
msgstr ""
-#: ../../Zotlabs/Module/Register.php:221
+#: ../../Zotlabs/Module/Register.php:227
#, php-format
msgid "I accept the %s for this website"
msgstr ""
-#: ../../Zotlabs/Module/Register.php:223
+#: ../../Zotlabs/Module/Register.php:229
#, php-format
msgid "I am over 13 years of age and accept the %s for this website"
msgstr ""
-#: ../../Zotlabs/Module/Register.php:227
+#: ../../Zotlabs/Module/Register.php:233
msgid "Your email address"
msgstr ""
-#: ../../Zotlabs/Module/Register.php:228
+#: ../../Zotlabs/Module/Register.php:234
msgid "Choose a password"
msgstr ""
-#: ../../Zotlabs/Module/Register.php:229
+#: ../../Zotlabs/Module/Register.php:235
msgid "Please re-enter your password"
msgstr ""
-#: ../../Zotlabs/Module/Register.php:230
+#: ../../Zotlabs/Module/Register.php:236
msgid "Please enter your invitation code"
msgstr ""
-#: ../../Zotlabs/Module/Register.php:236
+#: ../../Zotlabs/Module/Register.php:241
msgid "no"
msgstr ""
-#: ../../Zotlabs/Module/Register.php:236
+#: ../../Zotlabs/Module/Register.php:241
msgid "yes"
msgstr ""
-#: ../../Zotlabs/Module/Register.php:250
+#: ../../Zotlabs/Module/Register.php:258
msgid "Membership on this site is by invitation only."
msgstr ""
-#: ../../Zotlabs/Module/Register.php:262 ../../include/nav.php:149
-#: ../../boot.php:1689
+#: ../../Zotlabs/Module/Register.php:270 ../../include/nav.php:152
+#: ../../boot.php:1721
msgid "Register"
msgstr ""
-#: ../../Zotlabs/Module/Register.php:263
+#: ../../Zotlabs/Module/Register.php:271
msgid ""
"This site may require email verification after submitting this form. If you "
"are returned to a login page, please check your email for instructions."
msgstr ""
+#: ../../Zotlabs/Module/Help.php:27
+msgid "Documentation Search"
+msgstr ""
+
+#: ../../Zotlabs/Module/Help.php:57
+msgid "$Projectname Documentation"
+msgstr ""
+
+#: ../../Zotlabs/Module/Rbmark.php:94
+msgid "Select a bookmark folder"
+msgstr ""
+
+#: ../../Zotlabs/Module/Rbmark.php:99
+msgid "Save Bookmark"
+msgstr ""
+
+#: ../../Zotlabs/Module/Rbmark.php:100
+msgid "URL of bookmark"
+msgstr ""
+
+#: ../../Zotlabs/Module/Rbmark.php:105
+msgid "Or enter new bookmark folder name"
+msgstr ""
+
+#: ../../Zotlabs/Module/Rmagic.php:35
+msgid "Authentication failed."
+msgstr ""
+
+#: ../../Zotlabs/Module/Rmagic.php:75
+msgid "Remote Authentication"
+msgstr ""
+
+#: ../../Zotlabs/Module/Rmagic.php:76
+msgid "Enter your channel address (e.g. channel@example.com)"
+msgstr ""
+
+#: ../../Zotlabs/Module/Rmagic.php:77
+msgid "Authenticate"
+msgstr ""
+
#: ../../Zotlabs/Module/Regmod.php:15
msgid "Please login."
msgstr ""
@@ -5258,26 +5167,11 @@ msgid "Remove This Account"
msgstr ""
#: ../../Zotlabs/Module/Removeaccount.php:58
-#: ../../Zotlabs/Module/Removeme.php:61
-msgid "WARNING: "
-msgstr ""
-
-#: ../../Zotlabs/Module/Removeaccount.php:58
msgid ""
"This account and all its channels will be completely removed from the "
"network. "
msgstr ""
-#: ../../Zotlabs/Module/Removeaccount.php:58
-#: ../../Zotlabs/Module/Removeme.php:61
-msgid "This action is permanent and can not be undone!"
-msgstr ""
-
-#: ../../Zotlabs/Module/Removeaccount.php:59
-#: ../../Zotlabs/Module/Removeme.php:62
-msgid "Please enter your password for verification:"
-msgstr ""
-
#: ../../Zotlabs/Module/Removeaccount.php:60
msgid ""
"Remove this account, all its channels and all its channel clones from the "
@@ -5290,28 +5184,62 @@ msgid ""
"removed from the network"
msgstr ""
-#: ../../Zotlabs/Module/Removeme.php:35
-msgid ""
-"Channel removals are not allowed within 48 hours of changing the account "
-"password."
+#: ../../Zotlabs/Module/Removeaccount.php:61
+#: ../../Zotlabs/Module/Settings/Account.php:128
+msgid "Remove Account"
msgstr ""
-#: ../../Zotlabs/Module/Removeme.php:60
-msgid "Remove This Channel"
+#: ../../Zotlabs/Module/Webpages.php:52
+msgid "Import Webpage Elements"
msgstr ""
-#: ../../Zotlabs/Module/Removeme.php:61
-msgid "This channel will be completely removed from the network. "
+#: ../../Zotlabs/Module/Webpages.php:53
+msgid "Import selected"
msgstr ""
-#: ../../Zotlabs/Module/Removeme.php:63
-msgid "Remove this channel and all its clones from the network"
+#: ../../Zotlabs/Module/Webpages.php:76
+msgid "Export Webpage Elements"
msgstr ""
-#: ../../Zotlabs/Module/Removeme.php:63
-msgid ""
-"By default only the instance of the channel located on this hub will be "
-"removed from the network"
+#: ../../Zotlabs/Module/Webpages.php:77
+msgid "Export selected"
+msgstr ""
+
+#: ../../Zotlabs/Module/Webpages.php:237 ../../Zotlabs/Lib/Apps.php:218
+#: ../../include/nav.php:109 ../../include/conversation.php:1725
+msgid "Webpages"
+msgstr ""
+
+#: ../../Zotlabs/Module/Webpages.php:248 ../../include/page_widgets.php:44
+msgid "Actions"
+msgstr ""
+
+#: ../../Zotlabs/Module/Webpages.php:249 ../../include/page_widgets.php:45
+msgid "Page Link"
+msgstr ""
+
+#: ../../Zotlabs/Module/Webpages.php:250
+msgid "Page Title"
+msgstr ""
+
+#: ../../Zotlabs/Module/Webpages.php:280
+msgid "Invalid file type."
+msgstr ""
+
+#: ../../Zotlabs/Module/Webpages.php:292
+msgid "Error opening zip file"
+msgstr ""
+
+#: ../../Zotlabs/Module/Webpages.php:303
+msgid "Invalid folder path."
+msgstr ""
+
+#: ../../Zotlabs/Module/Webpages.php:330
+msgid "No webpage elements detected."
+msgstr ""
+
+#: ../../Zotlabs/Module/Webpages.php:405
+msgid "Import complete."
msgstr ""
#: ../../Zotlabs/Module/Uexport.php:55 ../../Zotlabs/Module/Uexport.php:56
@@ -5372,6 +5300,10 @@ msgid ""
"or restore these in date order (oldest first)."
msgstr ""
+#: ../../Zotlabs/Module/Editpost.php:35
+msgid "Item is not editable"
+msgstr ""
+
#: ../../Zotlabs/Module/Search.php:216
#, php-format
msgid "Items tagged with: %s"
@@ -5382,1110 +5314,1289 @@ msgstr ""
msgid "Search results for: %s"
msgstr ""
-#: ../../Zotlabs/Module/Service_limits.php:23
-msgid "No service class restrictions found."
+#: ../../Zotlabs/Module/Events.php:25
+msgid "Calendar entries imported."
msgstr ""
-#: ../../Zotlabs/Module/Menu.php:49
-msgid "Unable to update menu."
+#: ../../Zotlabs/Module/Events.php:27
+msgid "No calendar entries found."
msgstr ""
-#: ../../Zotlabs/Module/Menu.php:60
-msgid "Unable to create menu."
+#: ../../Zotlabs/Module/Events.php:104
+msgid "Event can not end before it has started."
msgstr ""
-#: ../../Zotlabs/Module/Menu.php:98 ../../Zotlabs/Module/Menu.php:110
-msgid "Menu Name"
+#: ../../Zotlabs/Module/Events.php:106 ../../Zotlabs/Module/Events.php:115
+#: ../../Zotlabs/Module/Events.php:135
+msgid "Unable to generate preview."
msgstr ""
-#: ../../Zotlabs/Module/Menu.php:98
-msgid "Unique name (not visible on webpage) - required"
+#: ../../Zotlabs/Module/Events.php:113
+msgid "Event title and start time are required."
msgstr ""
-#: ../../Zotlabs/Module/Menu.php:99 ../../Zotlabs/Module/Menu.php:111
-msgid "Menu Title"
+#: ../../Zotlabs/Module/Events.php:133 ../../Zotlabs/Module/Events.php:258
+msgid "Event not found."
msgstr ""
-#: ../../Zotlabs/Module/Menu.php:99
-msgid "Visible on webpage - leave empty for no title"
+#: ../../Zotlabs/Module/Events.php:452
+msgid "Edit event title"
msgstr ""
-#: ../../Zotlabs/Module/Menu.php:100
-msgid "Allow Bookmarks"
+#: ../../Zotlabs/Module/Events.php:452
+msgid "Event title"
msgstr ""
-#: ../../Zotlabs/Module/Menu.php:100 ../../Zotlabs/Module/Menu.php:157
-msgid "Menu may be used to store saved bookmarks"
+#: ../../Zotlabs/Module/Events.php:454
+msgid "Categories (comma-separated list)"
msgstr ""
-#: ../../Zotlabs/Module/Menu.php:101 ../../Zotlabs/Module/Menu.php:159
-msgid "Submit and proceed"
+#: ../../Zotlabs/Module/Events.php:455
+msgid "Edit Category"
msgstr ""
-#: ../../Zotlabs/Module/Menu.php:107 ../../include/text.php:2239
-msgid "Menus"
+#: ../../Zotlabs/Module/Events.php:455
+msgid "Category"
msgstr ""
-#: ../../Zotlabs/Module/Menu.php:117
-msgid "Bookmarks allowed"
+#: ../../Zotlabs/Module/Events.php:458
+msgid "Edit start date and time"
msgstr ""
-#: ../../Zotlabs/Module/Menu.php:119
-msgid "Delete this menu"
+#: ../../Zotlabs/Module/Events.php:458
+msgid "Start date and time"
msgstr ""
-#: ../../Zotlabs/Module/Menu.php:120 ../../Zotlabs/Module/Menu.php:154
-msgid "Edit menu contents"
+#: ../../Zotlabs/Module/Events.php:459 ../../Zotlabs/Module/Events.php:462
+msgid "Finish date and time are not known or not relevant"
msgstr ""
-#: ../../Zotlabs/Module/Menu.php:121
-msgid "Edit this menu"
+#: ../../Zotlabs/Module/Events.php:461
+msgid "Edit finish date and time"
msgstr ""
-#: ../../Zotlabs/Module/Menu.php:136
-msgid "Menu could not be deleted."
+#: ../../Zotlabs/Module/Events.php:461
+msgid "Finish date and time"
msgstr ""
-#: ../../Zotlabs/Module/Menu.php:149
-msgid "Edit Menu"
+#: ../../Zotlabs/Module/Events.php:463 ../../Zotlabs/Module/Events.php:464
+msgid "Adjust for viewer timezone"
msgstr ""
-#: ../../Zotlabs/Module/Menu.php:153
-msgid "Add or remove entries to this menu"
+#: ../../Zotlabs/Module/Events.php:463
+msgid ""
+"Important for events that happen in a particular place. Not practical for "
+"global holidays."
msgstr ""
-#: ../../Zotlabs/Module/Menu.php:155
-msgid "Menu name"
+#: ../../Zotlabs/Module/Events.php:465
+msgid "Edit Description"
msgstr ""
-#: ../../Zotlabs/Module/Menu.php:155
-msgid "Must be unique, only seen by you"
+#: ../../Zotlabs/Module/Events.php:467
+msgid "Edit Location"
msgstr ""
-#: ../../Zotlabs/Module/Menu.php:156
-msgid "Menu title"
+#: ../../Zotlabs/Module/Events.php:470 ../../Zotlabs/Module/Events.php:472
+msgid "Share this event"
msgstr ""
-#: ../../Zotlabs/Module/Menu.php:156
-msgid "Menu title as seen by others"
+#: ../../Zotlabs/Module/Events.php:474 ../../include/conversation.php:1264
+msgid "Permission settings"
msgstr ""
-#: ../../Zotlabs/Module/Menu.php:157
-msgid "Allow bookmarks"
+#: ../../Zotlabs/Module/Events.php:485
+msgid "Advanced Options"
msgstr ""
-#: ../../Zotlabs/Module/Setup.php:179
-msgid "$Projectname Server - Setup"
+#: ../../Zotlabs/Module/Events.php:619
+msgid "Edit event"
msgstr ""
-#: ../../Zotlabs/Module/Setup.php:183
-msgid "Could not connect to database."
+#: ../../Zotlabs/Module/Events.php:621
+msgid "Delete event"
msgstr ""
-#: ../../Zotlabs/Module/Setup.php:187
-msgid ""
-"Could not connect to specified site URL. Possible SSL certificate or DNS "
-"issue."
+#: ../../Zotlabs/Module/Events.php:655
+msgid "calendar"
msgstr ""
-#: ../../Zotlabs/Module/Setup.php:194
-msgid "Could not create table."
+#: ../../Zotlabs/Module/Events.php:681
+msgid "Month"
msgstr ""
-#: ../../Zotlabs/Module/Setup.php:199
-msgid "Your site database has been installed."
+#: ../../Zotlabs/Module/Events.php:682
+msgid "Week"
msgstr ""
-#: ../../Zotlabs/Module/Setup.php:203
-msgid ""
-"You may need to import the file \"install/schema_xxx.sql\" manually using a "
-"database client."
+#: ../../Zotlabs/Module/Events.php:683
+msgid "Day"
msgstr ""
-#: ../../Zotlabs/Module/Setup.php:204 ../../Zotlabs/Module/Setup.php:266
-#: ../../Zotlabs/Module/Setup.php:722
-msgid "Please see the file \"install/INSTALL.txt\"."
+#: ../../Zotlabs/Module/Events.php:717
+msgid "Event removed"
msgstr ""
-#: ../../Zotlabs/Module/Setup.php:263
-msgid "System check"
+#: ../../Zotlabs/Module/Events.php:720
+msgid "Failed to remove event"
msgstr ""
-#: ../../Zotlabs/Module/Setup.php:268
-msgid "Check again"
+#: ../../Zotlabs/Module/Service_limits.php:23
+msgid "No service class restrictions found."
msgstr ""
-#: ../../Zotlabs/Module/Setup.php:290
-msgid "Database connection"
+#: ../../Zotlabs/Module/Thing.php:114
+msgid "Thing updated"
msgstr ""
-#: ../../Zotlabs/Module/Setup.php:291
-msgid ""
-"In order to install $Projectname we need to know how to connect to your "
-"database."
+#: ../../Zotlabs/Module/Thing.php:166
+msgid "Object store: failed"
msgstr ""
-#: ../../Zotlabs/Module/Setup.php:292
-msgid ""
-"Please contact your hosting provider or site administrator if you have "
-"questions about these settings."
+#: ../../Zotlabs/Module/Thing.php:170
+msgid "Thing added"
msgstr ""
-#: ../../Zotlabs/Module/Setup.php:293
-msgid ""
-"The database you specify below should already exist. If it does not, please "
-"create it before continuing."
+#: ../../Zotlabs/Module/Thing.php:196
+#, php-format
+msgid "OBJ: %1$s %2$s %3$s"
msgstr ""
-#: ../../Zotlabs/Module/Setup.php:297
-msgid "Database Server Name"
+#: ../../Zotlabs/Module/Thing.php:259
+msgid "Show Thing"
msgstr ""
-#: ../../Zotlabs/Module/Setup.php:297
-msgid "Default is 127.0.0.1"
+#: ../../Zotlabs/Module/Thing.php:266
+msgid "item not found."
msgstr ""
-#: ../../Zotlabs/Module/Setup.php:298
-msgid "Database Port"
+#: ../../Zotlabs/Module/Thing.php:299
+msgid "Edit Thing"
msgstr ""
-#: ../../Zotlabs/Module/Setup.php:298
-msgid "Communication port number - use 0 for default"
+#: ../../Zotlabs/Module/Thing.php:301 ../../Zotlabs/Module/Thing.php:355
+msgid "Select a profile"
msgstr ""
-#: ../../Zotlabs/Module/Setup.php:299
-msgid "Database Login Name"
+#: ../../Zotlabs/Module/Thing.php:305 ../../Zotlabs/Module/Thing.php:358
+msgid "Post an activity"
msgstr ""
-#: ../../Zotlabs/Module/Setup.php:300
-msgid "Database Login Password"
+#: ../../Zotlabs/Module/Thing.php:305 ../../Zotlabs/Module/Thing.php:358
+msgid "Only sends to viewers of the applicable profile"
msgstr ""
-#: ../../Zotlabs/Module/Setup.php:301
-msgid "Database Name"
+#: ../../Zotlabs/Module/Thing.php:307 ../../Zotlabs/Module/Thing.php:360
+msgid "Name of thing e.g. something"
msgstr ""
-#: ../../Zotlabs/Module/Setup.php:302
-msgid "Database Type"
+#: ../../Zotlabs/Module/Thing.php:309 ../../Zotlabs/Module/Thing.php:361
+msgid "URL of thing (optional)"
msgstr ""
-#: ../../Zotlabs/Module/Setup.php:304 ../../Zotlabs/Module/Setup.php:344
-msgid "Site administrator email address"
+#: ../../Zotlabs/Module/Thing.php:311 ../../Zotlabs/Module/Thing.php:362
+msgid "URL for photo of thing (optional)"
msgstr ""
-#: ../../Zotlabs/Module/Setup.php:304 ../../Zotlabs/Module/Setup.php:344
-msgid ""
-"Your account email address must match this in order to use the web admin "
-"panel."
+#: ../../Zotlabs/Module/Thing.php:353
+msgid "Add Thing to your Profile"
msgstr ""
-#: ../../Zotlabs/Module/Setup.php:305 ../../Zotlabs/Module/Setup.php:346
-msgid "Website URL"
+#: ../../Zotlabs/Module/Item.php:180
+msgid "Unable to locate original post."
msgstr ""
-#: ../../Zotlabs/Module/Setup.php:305 ../../Zotlabs/Module/Setup.php:346
-msgid "Please use SSL (https) URL if available."
+#: ../../Zotlabs/Module/Item.php:433
+msgid "Empty post discarded."
msgstr ""
-#: ../../Zotlabs/Module/Setup.php:306 ../../Zotlabs/Module/Setup.php:349
-msgid "Please select a default timezone for your website"
+#: ../../Zotlabs/Module/Item.php:473
+msgid "Executable content type not permitted to this channel."
msgstr ""
-#: ../../Zotlabs/Module/Setup.php:333
-msgid "Site settings"
+#: ../../Zotlabs/Module/Item.php:851
+msgid "Duplicate post suppressed."
msgstr ""
-#: ../../Zotlabs/Module/Setup.php:347
-msgid "Enable $Projectname <strong>advanced</strong> features?"
+#: ../../Zotlabs/Module/Item.php:986
+msgid "System error. Post not saved."
msgstr ""
-#: ../../Zotlabs/Module/Setup.php:347
-msgid ""
-"Some advanced features, while useful - may be best suited for technically "
-"proficient audiences"
+#: ../../Zotlabs/Module/Item.php:1107
+msgid "Unable to obtain post information from database."
msgstr ""
-#: ../../Zotlabs/Module/Setup.php:388
-msgid "PHP version 5.5 or greater is required."
+#: ../../Zotlabs/Module/Item.php:1114
+#, php-format
+msgid "You have reached your limit of %1$.0f top level posts."
msgstr ""
-#: ../../Zotlabs/Module/Setup.php:389
-msgid "PHP version"
+#: ../../Zotlabs/Module/Item.php:1121
+#, php-format
+msgid "You have reached your limit of %1$.0f webpages."
msgstr ""
-#: ../../Zotlabs/Module/Setup.php:404
-msgid "Could not find a command line version of PHP in the web server PATH."
+#: ../../Zotlabs/Module/Sharedwithme.php:98
+msgid "Files: shared with me"
msgstr ""
-#: ../../Zotlabs/Module/Setup.php:405
-msgid ""
-"If you don't have a command line version of PHP installed on server, you "
-"will not be able to run background polling via cron."
+#: ../../Zotlabs/Module/Sharedwithme.php:100
+msgid "NEW"
msgstr ""
-#: ../../Zotlabs/Module/Setup.php:409
-msgid "PHP executable path"
+#: ../../Zotlabs/Module/Sharedwithme.php:103
+msgid "Remove all files"
msgstr ""
-#: ../../Zotlabs/Module/Setup.php:409
-msgid ""
-"Enter full path to php executable. You can leave this blank to continue the "
-"installation."
+#: ../../Zotlabs/Module/Sharedwithme.php:104
+msgid "Remove this file"
msgstr ""
-#: ../../Zotlabs/Module/Setup.php:414
-msgid "Command line PHP"
+#: ../../Zotlabs/Module/Wiki.php:34
+msgid "Not found"
msgstr ""
-#: ../../Zotlabs/Module/Setup.php:423
+#: ../../Zotlabs/Module/Wiki.php:97 ../../Zotlabs/Lib/Apps.php:219
+#: ../../include/features.php:99 ../../include/nav.php:111
+#: ../../include/conversation.php:1735 ../../include/conversation.php:1738
+msgid "Wiki"
+msgstr ""
+
+#: ../../Zotlabs/Module/Wiki.php:98
+msgid "Sandbox"
+msgstr ""
+
+#: ../../Zotlabs/Module/Wiki.php:100
msgid ""
-"The command line version of PHP on your system does not have "
-"\"register_argc_argv\" enabled."
+"\"# Wiki Sandbox\\n\\nContent you **edit** and **preview** here *will not be "
+"saved*.\""
msgstr ""
-#: ../../Zotlabs/Module/Setup.php:424
-msgid "This is required for message delivery to work."
+#: ../../Zotlabs/Module/Wiki.php:169
+msgid "Revision Comparison"
msgstr ""
-#: ../../Zotlabs/Module/Setup.php:427
-msgid "PHP register_argc_argv"
+#: ../../Zotlabs/Module/Wiki.php:170
+msgid "Revert"
msgstr ""
-#: ../../Zotlabs/Module/Setup.php:445
-#, 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."
+#: ../../Zotlabs/Module/Wiki.php:201
+msgid "Enter the name of your new wiki:"
msgstr ""
-#: ../../Zotlabs/Module/Setup.php:450
-msgid "You can adjust these settings in the servers php.ini."
+#: ../../Zotlabs/Module/Wiki.php:202
+msgid "Enter the name of the new page:"
msgstr ""
-#: ../../Zotlabs/Module/Setup.php:452
-msgid "PHP upload limits"
+#: ../../Zotlabs/Module/Wiki.php:203
+msgid "Enter the new name:"
msgstr ""
-#: ../../Zotlabs/Module/Setup.php:475
-msgid ""
-"Error: the \"openssl_pkey_new\" function on this system is not able to "
-"generate encryption keys"
+#: ../../Zotlabs/Module/Wiki.php:209 ../../include/conversation.php:1153
+msgid "Embed image from photo albums"
msgstr ""
-#: ../../Zotlabs/Module/Setup.php:476
-msgid ""
-"If running under Windows, please see \"http://www.php.net/manual/en/openssl."
-"installation.php\"."
+#: ../../Zotlabs/Module/Wiki.php:210 ../../include/conversation.php:1247
+msgid "Embed an image from your albums"
msgstr ""
-#: ../../Zotlabs/Module/Setup.php:479
-msgid "Generate encryption keys"
+#: ../../Zotlabs/Module/Wiki.php:212 ../../include/conversation.php:1249
+#: ../../include/conversation.php:1296
+msgid "OK"
msgstr ""
-#: ../../Zotlabs/Module/Setup.php:491
-msgid "libCurl PHP module"
+#: ../../Zotlabs/Module/Wiki.php:213 ../../include/conversation.php:1189
+msgid "Choose images to embed"
msgstr ""
-#: ../../Zotlabs/Module/Setup.php:492
-msgid "GD graphics PHP module"
+#: ../../Zotlabs/Module/Wiki.php:214 ../../include/conversation.php:1190
+msgid "Choose an album"
msgstr ""
-#: ../../Zotlabs/Module/Setup.php:493
-msgid "OpenSSL PHP module"
+#: ../../Zotlabs/Module/Wiki.php:215 ../../include/conversation.php:1191
+msgid "Choose a different album..."
msgstr ""
-#: ../../Zotlabs/Module/Setup.php:494
-msgid "mysqli or postgres PHP module"
+#: ../../Zotlabs/Module/Wiki.php:216 ../../include/conversation.php:1192
+msgid "Error getting album list"
msgstr ""
-#: ../../Zotlabs/Module/Setup.php:495
-msgid "mb_string PHP module"
+#: ../../Zotlabs/Module/Wiki.php:217 ../../include/conversation.php:1193
+msgid "Error getting photo link"
msgstr ""
-#: ../../Zotlabs/Module/Setup.php:496
-msgid "xml PHP module"
+#: ../../Zotlabs/Module/Wiki.php:218 ../../include/conversation.php:1194
+msgid "Error getting album"
msgstr ""
-#: ../../Zotlabs/Module/Setup.php:500 ../../Zotlabs/Module/Setup.php:502
-msgid "Apache mod_rewrite module"
+#: ../../Zotlabs/Module/Sources.php:37
+msgid "Failed to create source. No channel selected."
msgstr ""
-#: ../../Zotlabs/Module/Setup.php:500
-msgid ""
-"Error: Apache webserver mod-rewrite module is required but not installed."
+#: ../../Zotlabs/Module/Sources.php:51
+msgid "Source created."
msgstr ""
-#: ../../Zotlabs/Module/Setup.php:506 ../../Zotlabs/Module/Setup.php:509
-msgid "proc_open"
+#: ../../Zotlabs/Module/Sources.php:64
+msgid "Source updated."
msgstr ""
-#: ../../Zotlabs/Module/Setup.php:506
-msgid ""
-"Error: proc_open is required but is either not installed or has been "
-"disabled in php.ini"
+#: ../../Zotlabs/Module/Sources.php:90
+msgid "*"
msgstr ""
-#: ../../Zotlabs/Module/Setup.php:514
-msgid "Error: libCURL PHP module required but not installed."
+#: ../../Zotlabs/Module/Sources.php:96 ../../include/features.php:195
+#: ../../include/widgets.php:672
+msgid "Channel Sources"
msgstr ""
-#: ../../Zotlabs/Module/Setup.php:518
-msgid ""
-"Error: GD graphics PHP module with JPEG support required but not installed."
+#: ../../Zotlabs/Module/Sources.php:97
+msgid "Manage remote sources of content for your channel."
msgstr ""
-#: ../../Zotlabs/Module/Setup.php:522
-msgid "Error: openssl PHP module required but not installed."
+#: ../../Zotlabs/Module/Sources.php:98 ../../Zotlabs/Module/Sources.php:108
+msgid "New Source"
msgstr ""
-#: ../../Zotlabs/Module/Setup.php:526
+#: ../../Zotlabs/Module/Sources.php:109 ../../Zotlabs/Module/Sources.php:143
msgid ""
-"Error: mysqli or postgres PHP module required but neither are installed."
+"Import all or selected content from the following channel into this channel "
+"and distribute it according to your channel settings."
msgstr ""
-#: ../../Zotlabs/Module/Setup.php:530
-msgid "Error: mb_string PHP module required but not installed."
+#: ../../Zotlabs/Module/Sources.php:110 ../../Zotlabs/Module/Sources.php:144
+msgid "Only import content with these words (one per line)"
msgstr ""
-#: ../../Zotlabs/Module/Setup.php:534
-msgid "Error: xml PHP module required for DAV but not installed."
+#: ../../Zotlabs/Module/Sources.php:110 ../../Zotlabs/Module/Sources.php:144
+msgid "Leave blank to import all public content"
msgstr ""
-#: ../../Zotlabs/Module/Setup.php:552
-msgid ""
-"The web installer needs to be able to create a file called \".htconfig.php\" "
-"in the top folder of your web server and it is unable to do so."
+#: ../../Zotlabs/Module/Sources.php:111 ../../Zotlabs/Module/Sources.php:148
+msgid "Channel Name"
msgstr ""
-#: ../../Zotlabs/Module/Setup.php:553
+#: ../../Zotlabs/Module/Sources.php:112 ../../Zotlabs/Module/Sources.php:147
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."
+"Add the following categories to posts imported from this source (comma "
+"separated)"
msgstr ""
-#: ../../Zotlabs/Module/Setup.php:554
-msgid ""
-"At the end of this procedure, we will give you a text to save in a file "
-"named .htconfig.php in your Red top folder."
+#: ../../Zotlabs/Module/Sources.php:112 ../../Zotlabs/Module/Sources.php:147
+#: ../../Zotlabs/Module/Settings/Oauth.php:93
+msgid "Optional"
msgstr ""
-#: ../../Zotlabs/Module/Setup.php:555
-msgid ""
-"You can alternatively skip this procedure and perform a manual installation. "
-"Please see the file \"install/INSTALL.txt\" for instructions."
+#: ../../Zotlabs/Module/Sources.php:133 ../../Zotlabs/Module/Sources.php:161
+msgid "Source not found."
msgstr ""
-#: ../../Zotlabs/Module/Setup.php:558
-msgid ".htconfig.php is writable"
+#: ../../Zotlabs/Module/Sources.php:140
+msgid "Edit Source"
msgstr ""
-#: ../../Zotlabs/Module/Setup.php:572
-msgid ""
-"Red uses the Smarty3 template engine to render its web views. Smarty3 "
-"compiles templates to PHP to speed up rendering."
+#: ../../Zotlabs/Module/Sources.php:141
+msgid "Delete Source"
msgstr ""
-#: ../../Zotlabs/Module/Setup.php:573
-#, php-format
-msgid ""
-"In order to store these compiled templates, the web server needs to have "
-"write access to the directory %s under the top level web folder."
+#: ../../Zotlabs/Module/Sources.php:169
+msgid "Source removed"
msgstr ""
-#: ../../Zotlabs/Module/Setup.php:574 ../../Zotlabs/Module/Setup.php:595
-msgid ""
-"Please ensure that the user that your web server runs as (e.g. www-data) has "
-"write access to this folder."
+#: ../../Zotlabs/Module/Sources.php:171
+msgid "Unable to remove source."
msgstr ""
-#: ../../Zotlabs/Module/Setup.php:575
+#: ../../Zotlabs/Module/Subthread.php:118
#, 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."
+msgid "%1$s is following %2$s's %3$s"
msgstr ""
-#: ../../Zotlabs/Module/Setup.php:578
+#: ../../Zotlabs/Module/Subthread.php:120
#, php-format
-msgid "%s is writable"
+msgid "%1$s stopped following %2$s's %3$s"
msgstr ""
-#: ../../Zotlabs/Module/Setup.php:594
+#: ../../Zotlabs/Module/Suggest.php:39
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 Red top "
-"level folder"
+"No suggestions available. If this is a new site, please try again in 24 "
+"hours."
msgstr ""
-#: ../../Zotlabs/Module/Setup.php:598
-msgid "store is writable"
+#: ../../Zotlabs/Module/Suggest.php:58 ../../include/widgets.php:149
+msgid "Ignore/Hide"
msgstr ""
-#: ../../Zotlabs/Module/Setup.php:631
-msgid ""
-"SSL certificate cannot be validated. Fix certificate or disable https access "
-"to this site."
+#: ../../Zotlabs/Module/Suggest.php:64 ../../Zotlabs/Module/Directory.php:392
+#: ../../include/contact_widgets.php:24
+msgid "Channel Suggestions"
msgstr ""
-#: ../../Zotlabs/Module/Setup.php:632
-msgid ""
-"If you have https access to your website or allow connections to TCP port "
-"443 (the https: port), you MUST use a browser-valid certificate. You MUST "
-"NOT use self-signed certificates!"
+#: ../../Zotlabs/Module/Tagger.php:55 ../../include/bbcode.php:263
+msgid "post"
msgstr ""
-#: ../../Zotlabs/Module/Setup.php:633
-msgid ""
-"This restriction is incorporated because public posts from you may for "
-"example contain references to images on your own hub."
+#: ../../Zotlabs/Module/Tagger.php:57 ../../include/text.php:1999
+#: ../../include/conversation.php:150
+msgid "comment"
msgstr ""
-#: ../../Zotlabs/Module/Setup.php:634
-msgid ""
-"If your certificate is not recognized, members of other sites (who may "
-"themselves have valid certificates) will get a warning message on their own "
-"site complaining about security issues."
+#: ../../Zotlabs/Module/Tagger.php:100
+#, php-format
+msgid "%1$s tagged %2$s's %3$s with %4$s"
msgstr ""
-#: ../../Zotlabs/Module/Setup.php:635
-msgid ""
-"This can cause usability issues elsewhere (not just on your own site) so we "
-"must insist on this requirement."
+#: ../../Zotlabs/Module/Tagrm.php:48 ../../Zotlabs/Module/Tagrm.php:98
+msgid "Tag removed"
msgstr ""
-#: ../../Zotlabs/Module/Setup.php:636
-msgid ""
-"Providers are available that issue free certificates which are browser-valid."
+#: ../../Zotlabs/Module/Tagrm.php:123
+msgid "Remove Item Tag"
msgstr ""
-#: ../../Zotlabs/Module/Setup.php:638
-msgid ""
-"If you are confident that the certificate is valid and signed by a trusted "
-"authority, check to see if you have failed to install an intermediate cert. "
-"These are not normally required by browsers, but are required for server-to-"
-"server communications."
+#: ../../Zotlabs/Module/Tagrm.php:125
+msgid "Select a tag to remove: "
msgstr ""
-#: ../../Zotlabs/Module/Setup.php:641
-msgid "SSL certificate validation"
+#: ../../Zotlabs/Module/Follow.php:34
+msgid "Channel added."
msgstr ""
-#: ../../Zotlabs/Module/Setup.php:647
-msgid ""
-"Url rewrite in .htaccess is not working. Check your server configuration."
-"Test: "
+#: ../../Zotlabs/Module/Viewconnections.php:65
+msgid "No connections."
msgstr ""
-#: ../../Zotlabs/Module/Setup.php:650
-msgid "Url rewrite is working"
+#: ../../Zotlabs/Module/Viewconnections.php:78
+#, php-format
+msgid "Visit %s's profile [%s]"
msgstr ""
-#: ../../Zotlabs/Module/Setup.php:659
-msgid ""
-"The database configuration file \".htconfig.php\" could not be written. "
-"Please use the enclosed text to create a configuration file in your web "
-"server root."
+#: ../../Zotlabs/Module/Viewconnections.php:107
+msgid "View Connections"
msgstr ""
-#: ../../Zotlabs/Module/Setup.php:683
-msgid "Errors encountered creating database tables."
+#: ../../Zotlabs/Module/Viewsrc.php:44
+msgid "Source of Item"
msgstr ""
-#: ../../Zotlabs/Module/Setup.php:720
-msgid "<h1>What next</h1>"
+#: ../../Zotlabs/Module/Chat.php:181
+msgid "Room not found"
msgstr ""
-#: ../../Zotlabs/Module/Setup.php:721
-msgid ""
-"IMPORTANT: You will need to [manually] setup a scheduled task for the poller."
+#: ../../Zotlabs/Module/Chat.php:197
+msgid "Leave Room"
msgstr ""
-#: ../../Zotlabs/Module/Sharedwithme.php:98
-msgid "Files: shared with me"
+#: ../../Zotlabs/Module/Chat.php:198
+msgid "Delete Room"
msgstr ""
-#: ../../Zotlabs/Module/Sharedwithme.php:100
-msgid "NEW"
+#: ../../Zotlabs/Module/Chat.php:199
+msgid "I am away right now"
msgstr ""
-#: ../../Zotlabs/Module/Sharedwithme.php:103
-msgid "Remove all files"
+#: ../../Zotlabs/Module/Chat.php:200
+msgid "I am online"
msgstr ""
-#: ../../Zotlabs/Module/Sharedwithme.php:104
-msgid "Remove this file"
+#: ../../Zotlabs/Module/Chat.php:202
+msgid "Bookmark this room"
msgstr ""
-#: ../../Zotlabs/Module/Thing.php:114
-msgid "Thing updated"
+#: ../../Zotlabs/Module/Chat.php:231
+msgid "New Chatroom"
msgstr ""
-#: ../../Zotlabs/Module/Thing.php:166
-msgid "Object store: failed"
+#: ../../Zotlabs/Module/Chat.php:232
+msgid "Chatroom name"
msgstr ""
-#: ../../Zotlabs/Module/Thing.php:170
-msgid "Thing added"
+#: ../../Zotlabs/Module/Chat.php:233
+msgid "Expiration of chats (minutes)"
msgstr ""
-#: ../../Zotlabs/Module/Thing.php:196
+#: ../../Zotlabs/Module/Chat.php:249
#, php-format
-msgid "OBJ: %1$s %2$s %3$s"
+msgid "%1$s's Chatrooms"
msgstr ""
-#: ../../Zotlabs/Module/Thing.php:259
-msgid "Show Thing"
+#: ../../Zotlabs/Module/Chat.php:254
+msgid "No chatrooms available"
msgstr ""
-#: ../../Zotlabs/Module/Thing.php:266
-msgid "item not found."
+#: ../../Zotlabs/Module/Chat.php:258
+msgid "Expiration"
msgstr ""
-#: ../../Zotlabs/Module/Thing.php:299
-msgid "Edit Thing"
+#: ../../Zotlabs/Module/Chat.php:259
+msgid "min"
msgstr ""
-#: ../../Zotlabs/Module/Thing.php:301 ../../Zotlabs/Module/Thing.php:351
-msgid "Select a profile"
+#: ../../Zotlabs/Module/Xchan.php:10
+msgid "Xchan Lookup"
msgstr ""
-#: ../../Zotlabs/Module/Thing.php:305 ../../Zotlabs/Module/Thing.php:354
-msgid "Post an activity"
+#: ../../Zotlabs/Module/Xchan.php:13
+msgid "Lookup xchan beginning with (or webbie): "
msgstr ""
-#: ../../Zotlabs/Module/Thing.php:305 ../../Zotlabs/Module/Thing.php:354
-msgid "Only sends to viewers of the applicable profile"
+#: ../../Zotlabs/Module/Directory.php:243
+#, php-format
+msgid "%d rating"
+msgid_plural "%d ratings"
+msgstr[0] ""
+msgstr[1] ""
+
+#: ../../Zotlabs/Module/Directory.php:254
+msgid "Gender: "
msgstr ""
-#: ../../Zotlabs/Module/Thing.php:307 ../../Zotlabs/Module/Thing.php:356
-msgid "Name of thing e.g. something"
+#: ../../Zotlabs/Module/Directory.php:256
+msgid "Status: "
msgstr ""
-#: ../../Zotlabs/Module/Thing.php:309 ../../Zotlabs/Module/Thing.php:357
-msgid "URL of thing (optional)"
+#: ../../Zotlabs/Module/Directory.php:258
+msgid "Homepage: "
msgstr ""
-#: ../../Zotlabs/Module/Thing.php:311 ../../Zotlabs/Module/Thing.php:358
-msgid "URL for photo of thing (optional)"
+#: ../../Zotlabs/Module/Directory.php:306 ../../include/channel.php:1207
+msgid "Age:"
msgstr ""
-#: ../../Zotlabs/Module/Thing.php:349
-msgid "Add Thing to your Profile"
+#: ../../Zotlabs/Module/Directory.php:311 ../../include/channel.php:1049
+#: ../../include/bb2diaspora.php:507 ../../include/event.php:52
+#: ../../include/event.php:84
+msgid "Location:"
msgstr ""
-#: ../../Zotlabs/Module/Sources.php:37
-msgid "Failed to create source. No channel selected."
+#: ../../Zotlabs/Module/Directory.php:317
+msgid "Description:"
msgstr ""
-#: ../../Zotlabs/Module/Sources.php:51
-msgid "Source created."
+#: ../../Zotlabs/Module/Directory.php:322 ../../include/channel.php:1223
+msgid "Hometown:"
msgstr ""
-#: ../../Zotlabs/Module/Sources.php:64
-msgid "Source updated."
+#: ../../Zotlabs/Module/Directory.php:324 ../../include/channel.php:1231
+msgid "About:"
msgstr ""
-#: ../../Zotlabs/Module/Sources.php:90
-msgid "*"
+#: ../../Zotlabs/Module/Directory.php:326
+msgid "Public Forum:"
msgstr ""
-#: ../../Zotlabs/Module/Sources.php:96 ../../include/features.php:72
-#: ../../include/widgets.php:639
-msgid "Channel Sources"
+#: ../../Zotlabs/Module/Directory.php:329
+msgid "Keywords: "
msgstr ""
-#: ../../Zotlabs/Module/Sources.php:97
-msgid "Manage remote sources of content for your channel."
+#: ../../Zotlabs/Module/Directory.php:332
+msgid "Don't suggest"
msgstr ""
-#: ../../Zotlabs/Module/Sources.php:98 ../../Zotlabs/Module/Sources.php:108
-msgid "New Source"
+#: ../../Zotlabs/Module/Directory.php:334
+msgid "Common connections:"
msgstr ""
-#: ../../Zotlabs/Module/Sources.php:109 ../../Zotlabs/Module/Sources.php:143
-msgid ""
-"Import all or selected content from the following channel into this channel "
-"and distribute it according to your channel settings."
+#: ../../Zotlabs/Module/Directory.php:383
+msgid "Global Directory"
msgstr ""
-#: ../../Zotlabs/Module/Sources.php:110 ../../Zotlabs/Module/Sources.php:144
-msgid "Only import content with these words (one per line)"
+#: ../../Zotlabs/Module/Directory.php:383
+msgid "Local Directory"
msgstr ""
-#: ../../Zotlabs/Module/Sources.php:110 ../../Zotlabs/Module/Sources.php:144
-msgid "Leave blank to import all public content"
+#: ../../Zotlabs/Module/Directory.php:389
+msgid "Finding:"
msgstr ""
-#: ../../Zotlabs/Module/Sources.php:111 ../../Zotlabs/Module/Sources.php:148
-msgid "Channel Name"
+#: ../../Zotlabs/Module/Directory.php:394
+msgid "next page"
msgstr ""
-#: ../../Zotlabs/Module/Sources.php:112 ../../Zotlabs/Module/Sources.php:147
+#: ../../Zotlabs/Module/Directory.php:394
+msgid "previous page"
+msgstr ""
+
+#: ../../Zotlabs/Module/Directory.php:395
+msgid "Sort options"
+msgstr ""
+
+#: ../../Zotlabs/Module/Directory.php:396
+msgid "Alphabetic"
+msgstr ""
+
+#: ../../Zotlabs/Module/Directory.php:397
+msgid "Reverse Alphabetic"
+msgstr ""
+
+#: ../../Zotlabs/Module/Directory.php:398
+msgid "Newest to Oldest"
+msgstr ""
+
+#: ../../Zotlabs/Module/Directory.php:399
+msgid "Oldest to Newest"
+msgstr ""
+
+#: ../../Zotlabs/Module/Directory.php:416
+msgid "No entries (some entries may be hidden)."
+msgstr ""
+
+#: ../../Zotlabs/Module/Settings/Account.php:20
+msgid "Not valid email."
+msgstr ""
+
+#: ../../Zotlabs/Module/Settings/Account.php:23
+msgid "Protected email address. Cannot change to that email."
+msgstr ""
+
+#: ../../Zotlabs/Module/Settings/Account.php:32
+msgid "System failure storing new email. Please try again."
+msgstr ""
+
+#: ../../Zotlabs/Module/Settings/Account.php:40
+msgid "Technical skill level updated"
+msgstr ""
+
+#: ../../Zotlabs/Module/Settings/Account.php:56
+msgid "Password verification failed."
+msgstr ""
+
+#: ../../Zotlabs/Module/Settings/Account.php:63
+msgid "Passwords do not match. Password unchanged."
+msgstr ""
+
+#: ../../Zotlabs/Module/Settings/Account.php:67
+msgid "Empty passwords are not allowed. Password unchanged."
+msgstr ""
+
+#: ../../Zotlabs/Module/Settings/Account.php:81
+msgid "Password changed."
+msgstr ""
+
+#: ../../Zotlabs/Module/Settings/Account.php:83
+msgid "Password update failed. Please try again."
+msgstr ""
+
+#: ../../Zotlabs/Module/Settings/Account.php:120
+msgid "Account Settings"
+msgstr ""
+
+#: ../../Zotlabs/Module/Settings/Account.php:121
+msgid "Current Password"
+msgstr ""
+
+#: ../../Zotlabs/Module/Settings/Account.php:122
+msgid "Enter New Password"
+msgstr ""
+
+#: ../../Zotlabs/Module/Settings/Account.php:123
+msgid "Confirm New Password"
+msgstr ""
+
+#: ../../Zotlabs/Module/Settings/Account.php:123
+msgid "Leave password fields blank unless changing"
+msgstr ""
+
+#: ../../Zotlabs/Module/Settings/Account.php:124
+msgid "Your technical skill level"
+msgstr ""
+
+#: ../../Zotlabs/Module/Settings/Account.php:124
+msgid "Used to provide a member experience matched to your comfort level"
+msgstr ""
+
+#: ../../Zotlabs/Module/Settings/Account.php:127
+#: ../../Zotlabs/Module/Settings/Channel.php:459
+msgid "Email Address:"
+msgstr ""
+
+#: ../../Zotlabs/Module/Settings/Account.php:129
+msgid "Remove this account including all its channels"
+msgstr ""
+
+#: ../../Zotlabs/Module/Settings/Channel.php:246
+msgid "Settings updated."
+msgstr ""
+
+#: ../../Zotlabs/Module/Settings/Channel.php:307
+msgid "Nobody except yourself"
+msgstr ""
+
+#: ../../Zotlabs/Module/Settings/Channel.php:308
+msgid "Only those you specifically allow"
+msgstr ""
+
+#: ../../Zotlabs/Module/Settings/Channel.php:309
+msgid "Approved connections"
+msgstr ""
+
+#: ../../Zotlabs/Module/Settings/Channel.php:310
+msgid "Any connections"
+msgstr ""
+
+#: ../../Zotlabs/Module/Settings/Channel.php:311
+msgid "Anybody on this website"
+msgstr ""
+
+#: ../../Zotlabs/Module/Settings/Channel.php:312
+msgid "Anybody in this network"
+msgstr ""
+
+#: ../../Zotlabs/Module/Settings/Channel.php:313
+msgid "Anybody authenticated"
+msgstr ""
+
+#: ../../Zotlabs/Module/Settings/Channel.php:314
+msgid "Anybody on the internet"
+msgstr ""
+
+#: ../../Zotlabs/Module/Settings/Channel.php:390
+msgid "Publish your default profile in the network directory"
+msgstr ""
+
+#: ../../Zotlabs/Module/Settings/Channel.php:395
+msgid "Allow us to suggest you as a potential friend to new members?"
+msgstr ""
+
+#: ../../Zotlabs/Module/Settings/Channel.php:404
+msgid "Your channel address is"
+msgstr ""
+
+#: ../../Zotlabs/Module/Settings/Channel.php:450
+msgid "Channel Settings"
+msgstr ""
+
+#: ../../Zotlabs/Module/Settings/Channel.php:457
+msgid "Basic Settings"
+msgstr ""
+
+#: ../../Zotlabs/Module/Settings/Channel.php:458
+#: ../../include/channel.php:1164
+msgid "Full Name:"
+msgstr ""
+
+#: ../../Zotlabs/Module/Settings/Channel.php:460
+msgid "Your Timezone:"
+msgstr ""
+
+#: ../../Zotlabs/Module/Settings/Channel.php:461
+msgid "Default Post Location:"
+msgstr ""
+
+#: ../../Zotlabs/Module/Settings/Channel.php:461
+msgid "Geographical location to display on your posts"
+msgstr ""
+
+#: ../../Zotlabs/Module/Settings/Channel.php:462
+msgid "Use Browser Location:"
+msgstr ""
+
+#: ../../Zotlabs/Module/Settings/Channel.php:464
+msgid "Adult Content"
+msgstr ""
+
+#: ../../Zotlabs/Module/Settings/Channel.php:464
msgid ""
-"Add the following categories to posts imported from this source (comma "
-"separated)"
+"This channel frequently or regularly publishes adult content. (Please tag "
+"any adult material and/or nudity with #NSFW)"
msgstr ""
-#: ../../Zotlabs/Module/Sources.php:133 ../../Zotlabs/Module/Sources.php:161
-msgid "Source not found."
+#: ../../Zotlabs/Module/Settings/Channel.php:466
+msgid "Security and Privacy Settings"
msgstr ""
-#: ../../Zotlabs/Module/Sources.php:140
-msgid "Edit Source"
+#: ../../Zotlabs/Module/Settings/Channel.php:469
+msgid "Your permissions are already configured. Click to view/adjust"
msgstr ""
-#: ../../Zotlabs/Module/Sources.php:141
-msgid "Delete Source"
+#: ../../Zotlabs/Module/Settings/Channel.php:471
+msgid "Hide my online presence"
msgstr ""
-#: ../../Zotlabs/Module/Sources.php:169
-msgid "Source removed"
+#: ../../Zotlabs/Module/Settings/Channel.php:471
+msgid "Prevents displaying in your profile that you are online"
msgstr ""
-#: ../../Zotlabs/Module/Sources.php:171
-msgid "Unable to remove source."
+#: ../../Zotlabs/Module/Settings/Channel.php:473
+msgid "Simple Privacy Settings:"
msgstr ""
-#: ../../Zotlabs/Module/Subthread.php:118
-#, php-format
-msgid "%1$s is following %2$s's %3$s"
+#: ../../Zotlabs/Module/Settings/Channel.php:474
+msgid ""
+"Very Public - <em>extremely permissive (should be used with caution)</em>"
msgstr ""
-#: ../../Zotlabs/Module/Subthread.php:120
-#, php-format
-msgid "%1$s stopped following %2$s's %3$s"
+#: ../../Zotlabs/Module/Settings/Channel.php:475
+msgid ""
+"Typical - <em>default public, privacy when desired (similar to social "
+"network permissions but with improved privacy)</em>"
msgstr ""
-#: ../../Zotlabs/Module/Suggest.php:39
+#: ../../Zotlabs/Module/Settings/Channel.php:476
+msgid "Private - <em>default private, never open or public</em>"
+msgstr ""
+
+#: ../../Zotlabs/Module/Settings/Channel.php:477
+msgid "Blocked - <em>default blocked to/from everybody</em>"
+msgstr ""
+
+#: ../../Zotlabs/Module/Settings/Channel.php:479
+msgid "Allow others to tag your posts"
+msgstr ""
+
+#: ../../Zotlabs/Module/Settings/Channel.php:479
msgid ""
-"No suggestions available. If this is a new site, please try again in 24 "
-"hours."
+"Often used by the community to retro-actively flag inappropriate content"
msgstr ""
-#: ../../Zotlabs/Module/Suggest.php:58 ../../include/widgets.php:149
-msgid "Ignore/Hide"
+#: ../../Zotlabs/Module/Settings/Channel.php:481
+msgid "Channel Permission Limits"
msgstr ""
-#: ../../Zotlabs/Module/Tagger.php:55 ../../include/bbcode.php:263
-msgid "post"
+#: ../../Zotlabs/Module/Settings/Channel.php:483
+msgid "Expire other channel content after this many days"
msgstr ""
-#: ../../Zotlabs/Module/Tagger.php:57 ../../include/conversation.php:150
-#: ../../include/text.php:1929
-msgid "comment"
+#: ../../Zotlabs/Module/Settings/Channel.php:483
+msgid "0 or blank to use the website limit."
msgstr ""
-#: ../../Zotlabs/Module/Tagger.php:100
+#: ../../Zotlabs/Module/Settings/Channel.php:483
#, php-format
-msgid "%1$s tagged %2$s's %3$s with %4$s"
+msgid "This website expires after %d days."
msgstr ""
-#: ../../Zotlabs/Module/Tagrm.php:48 ../../Zotlabs/Module/Tagrm.php:98
-msgid "Tag removed"
+#: ../../Zotlabs/Module/Settings/Channel.php:483
+msgid "This website does not expire imported content."
msgstr ""
-#: ../../Zotlabs/Module/Tagrm.php:123
-msgid "Remove Item Tag"
+#: ../../Zotlabs/Module/Settings/Channel.php:483
+msgid "The website limit takes precedence if lower than your limit."
msgstr ""
-#: ../../Zotlabs/Module/Tagrm.php:125
-msgid "Select a tag to remove: "
+#: ../../Zotlabs/Module/Settings/Channel.php:484
+msgid "Maximum Friend Requests/Day:"
msgstr ""
-#: ../../Zotlabs/Module/Profiles.php:24 ../../Zotlabs/Module/Profiles.php:189
-#: ../../Zotlabs/Module/Profiles.php:246 ../../Zotlabs/Module/Profiles.php:625
-msgid "Profile not found."
+#: ../../Zotlabs/Module/Settings/Channel.php:484
+msgid "May reduce spam activity"
msgstr ""
-#: ../../Zotlabs/Module/Profiles.php:44
-msgid "Profile deleted."
+#: ../../Zotlabs/Module/Settings/Channel.php:485
+msgid "Default Access Control List (ACL)"
msgstr ""
-#: ../../Zotlabs/Module/Profiles.php:68 ../../Zotlabs/Module/Profiles.php:104
-msgid "Profile-"
+#: ../../Zotlabs/Module/Settings/Channel.php:487
+msgid "Use my default audience setting for the type of object published"
msgstr ""
-#: ../../Zotlabs/Module/Profiles.php:89 ../../Zotlabs/Module/Profiles.php:132
-msgid "New profile created."
+#: ../../Zotlabs/Module/Settings/Channel.php:494
+msgid "Channel permissions category:"
msgstr ""
-#: ../../Zotlabs/Module/Profiles.php:110
-msgid "Profile unavailable to clone."
+#: ../../Zotlabs/Module/Settings/Channel.php:500
+msgid "Maximum private messages per day from unknown people:"
msgstr ""
-#: ../../Zotlabs/Module/Profiles.php:151
-msgid "Profile unavailable to export."
+#: ../../Zotlabs/Module/Settings/Channel.php:500
+msgid "Useful to reduce spamming"
msgstr ""
-#: ../../Zotlabs/Module/Profiles.php:256
-msgid "Profile Name is required."
+#: ../../Zotlabs/Module/Settings/Channel.php:503
+msgid "Notification Settings"
msgstr ""
-#: ../../Zotlabs/Module/Profiles.php:427
-msgid "Marital Status"
+#: ../../Zotlabs/Module/Settings/Channel.php:504
+msgid "By default post a status message when:"
msgstr ""
-#: ../../Zotlabs/Module/Profiles.php:431
-msgid "Romantic Partner"
+#: ../../Zotlabs/Module/Settings/Channel.php:505
+msgid "accepting a friend request"
msgstr ""
-#: ../../Zotlabs/Module/Profiles.php:435 ../../Zotlabs/Module/Profiles.php:736
-msgid "Likes"
+#: ../../Zotlabs/Module/Settings/Channel.php:506
+msgid "joining a forum/community"
msgstr ""
-#: ../../Zotlabs/Module/Profiles.php:439 ../../Zotlabs/Module/Profiles.php:737
-msgid "Dislikes"
+#: ../../Zotlabs/Module/Settings/Channel.php:507
+msgid "making an <em>interesting</em> profile change"
msgstr ""
-#: ../../Zotlabs/Module/Profiles.php:443 ../../Zotlabs/Module/Profiles.php:744
-msgid "Work/Employment"
+#: ../../Zotlabs/Module/Settings/Channel.php:508
+msgid "Send a notification email when:"
msgstr ""
-#: ../../Zotlabs/Module/Profiles.php:446
-msgid "Religion"
+#: ../../Zotlabs/Module/Settings/Channel.php:509
+msgid "You receive a connection request"
msgstr ""
-#: ../../Zotlabs/Module/Profiles.php:450
-msgid "Political Views"
+#: ../../Zotlabs/Module/Settings/Channel.php:510
+msgid "Your connections are confirmed"
msgstr ""
-#: ../../Zotlabs/Module/Profiles.php:454
-msgid "Gender"
+#: ../../Zotlabs/Module/Settings/Channel.php:511
+msgid "Someone writes on your profile wall"
msgstr ""
-#: ../../Zotlabs/Module/Profiles.php:458
-msgid "Sexual Preference"
+#: ../../Zotlabs/Module/Settings/Channel.php:512
+msgid "Someone writes a followup comment"
msgstr ""
-#: ../../Zotlabs/Module/Profiles.php:462
-msgid "Homepage"
+#: ../../Zotlabs/Module/Settings/Channel.php:513
+msgid "You receive a private message"
msgstr ""
-#: ../../Zotlabs/Module/Profiles.php:466
-msgid "Interests"
+#: ../../Zotlabs/Module/Settings/Channel.php:514
+msgid "You receive a friend suggestion"
msgstr ""
-#: ../../Zotlabs/Module/Profiles.php:560
-msgid "Profile updated."
+#: ../../Zotlabs/Module/Settings/Channel.php:515
+msgid "You are tagged in a post"
msgstr ""
-#: ../../Zotlabs/Module/Profiles.php:644
-msgid "Hide your connections list from viewers of this profile"
+#: ../../Zotlabs/Module/Settings/Channel.php:516
+msgid "You are poked/prodded/etc. in a post"
msgstr ""
-#: ../../Zotlabs/Module/Profiles.php:686
-msgid "Edit Profile Details"
+#: ../../Zotlabs/Module/Settings/Channel.php:519
+msgid "Show visual notifications including:"
msgstr ""
-#: ../../Zotlabs/Module/Profiles.php:688
-msgid "View this profile"
+#: ../../Zotlabs/Module/Settings/Channel.php:521
+msgid "Unseen grid activity"
msgstr ""
-#: ../../Zotlabs/Module/Profiles.php:689 ../../Zotlabs/Module/Profiles.php:771
-#: ../../include/channel.php:989
-msgid "Edit visibility"
+#: ../../Zotlabs/Module/Settings/Channel.php:522
+msgid "Unseen channel activity"
msgstr ""
-#: ../../Zotlabs/Module/Profiles.php:690
-msgid "Profile Tools"
+#: ../../Zotlabs/Module/Settings/Channel.php:523
+msgid "Unseen private messages"
msgstr ""
-#: ../../Zotlabs/Module/Profiles.php:691
-msgid "Change cover photo"
+#: ../../Zotlabs/Module/Settings/Channel.php:523
+#: ../../Zotlabs/Module/Settings/Channel.php:528
+#: ../../Zotlabs/Module/Settings/Channel.php:529
+#: ../../Zotlabs/Module/Settings/Channel.php:530
+msgid "Recommended"
msgstr ""
-#: ../../Zotlabs/Module/Profiles.php:692 ../../include/channel.php:960
-msgid "Change profile photo"
+#: ../../Zotlabs/Module/Settings/Channel.php:524
+msgid "Upcoming events"
msgstr ""
-#: ../../Zotlabs/Module/Profiles.php:693
-msgid "Create a new profile using these settings"
+#: ../../Zotlabs/Module/Settings/Channel.php:525
+msgid "Events today"
msgstr ""
-#: ../../Zotlabs/Module/Profiles.php:694
-msgid "Clone this profile"
+#: ../../Zotlabs/Module/Settings/Channel.php:526
+msgid "Upcoming birthdays"
msgstr ""
-#: ../../Zotlabs/Module/Profiles.php:695
-msgid "Delete this profile"
+#: ../../Zotlabs/Module/Settings/Channel.php:526
+msgid "Not available in all themes"
msgstr ""
-#: ../../Zotlabs/Module/Profiles.php:696
-msgid "Add profile things"
+#: ../../Zotlabs/Module/Settings/Channel.php:527
+msgid "System (personal) notifications"
msgstr ""
-#: ../../Zotlabs/Module/Profiles.php:697 ../../include/conversation.php:1541
-#: ../../include/widgets.php:105
-msgid "Personal"
+#: ../../Zotlabs/Module/Settings/Channel.php:528
+msgid "System info messages"
msgstr ""
-#: ../../Zotlabs/Module/Profiles.php:699
-msgid "Relation"
+#: ../../Zotlabs/Module/Settings/Channel.php:529
+msgid "System critical alerts"
msgstr ""
-#: ../../Zotlabs/Module/Profiles.php:700 ../../include/datetime.php:48
-msgid "Miscellaneous"
+#: ../../Zotlabs/Module/Settings/Channel.php:530
+msgid "New connections"
msgstr ""
-#: ../../Zotlabs/Module/Profiles.php:702
-msgid "Import profile from file"
+#: ../../Zotlabs/Module/Settings/Channel.php:531
+msgid "System Registrations"
msgstr ""
-#: ../../Zotlabs/Module/Profiles.php:703
-msgid "Export profile to file"
+#: ../../Zotlabs/Module/Settings/Channel.php:532
+msgid ""
+"Also show new wall posts, private messages and connections under Notices"
msgstr ""
-#: ../../Zotlabs/Module/Profiles.php:704
-msgid "Your gender"
+#: ../../Zotlabs/Module/Settings/Channel.php:534
+msgid "Notify me of events this many days in advance"
msgstr ""
-#: ../../Zotlabs/Module/Profiles.php:705
-msgid "Marital status"
+#: ../../Zotlabs/Module/Settings/Channel.php:534
+msgid "Must be greater than 0"
msgstr ""
-#: ../../Zotlabs/Module/Profiles.php:706
-msgid "Sexual preference"
+#: ../../Zotlabs/Module/Settings/Channel.php:536
+msgid "Advanced Account/Page Type Settings"
msgstr ""
-#: ../../Zotlabs/Module/Profiles.php:709
-msgid "Profile name"
+#: ../../Zotlabs/Module/Settings/Channel.php:537
+msgid "Change the behaviour of this account for special situations"
msgstr ""
-#: ../../Zotlabs/Module/Profiles.php:711
-msgid "This is your default profile."
+#: ../../Zotlabs/Module/Settings/Channel.php:539
+msgid "Miscellaneous Settings"
msgstr ""
-#: ../../Zotlabs/Module/Profiles.php:713
-msgid "Your full name"
+#: ../../Zotlabs/Module/Settings/Channel.php:540
+msgid "Default photo upload folder"
msgstr ""
-#: ../../Zotlabs/Module/Profiles.php:714
-msgid "Title/Description"
+#: ../../Zotlabs/Module/Settings/Channel.php:540
+#: ../../Zotlabs/Module/Settings/Channel.php:541
+msgid "%Y - current year, %m - current month"
msgstr ""
-#: ../../Zotlabs/Module/Profiles.php:717
-msgid "Street address"
+#: ../../Zotlabs/Module/Settings/Channel.php:541
+msgid "Default file upload folder"
msgstr ""
-#: ../../Zotlabs/Module/Profiles.php:718
-msgid "Locality/City"
+#: ../../Zotlabs/Module/Settings/Channel.php:543
+msgid "Personal menu to display in your channel pages"
msgstr ""
-#: ../../Zotlabs/Module/Profiles.php:719
-msgid "Region/State"
+#: ../../Zotlabs/Module/Settings/Channel.php:545
+msgid "Remove this channel."
msgstr ""
-#: ../../Zotlabs/Module/Profiles.php:720
-msgid "Postal/Zip code"
+#: ../../Zotlabs/Module/Settings/Channel.php:546
+msgid "Firefox Share $Projectname provider"
msgstr ""
-#: ../../Zotlabs/Module/Profiles.php:721
-msgid "Country"
+#: ../../Zotlabs/Module/Settings/Channel.php:547
+msgid "Start calendar week on monday"
msgstr ""
-#: ../../Zotlabs/Module/Profiles.php:726
-msgid "Who (if applicable)"
+#: ../../Zotlabs/Module/Settings/Display.php:135
+msgid "No special theme for mobile devices"
msgstr ""
-#: ../../Zotlabs/Module/Profiles.php:726
-msgid "Examples: cathy123, Cathy Williams, cathy@example.com"
+#: ../../Zotlabs/Module/Settings/Display.php:138
+#, php-format
+msgid "%s - (Experimental)"
msgstr ""
-#: ../../Zotlabs/Module/Profiles.php:727
-msgid "Since (date)"
+#: ../../Zotlabs/Module/Settings/Display.php:189
+msgid "Display Settings"
msgstr ""
-#: ../../Zotlabs/Module/Profiles.php:730
-msgid "Tell us about yourself"
+#: ../../Zotlabs/Module/Settings/Display.php:190
+msgid "Theme Settings"
msgstr ""
-#: ../../Zotlabs/Module/Profiles.php:731
-msgid "Homepage URL"
+#: ../../Zotlabs/Module/Settings/Display.php:191
+msgid "Custom Theme Settings"
msgstr ""
-#: ../../Zotlabs/Module/Profiles.php:732
-msgid "Hometown"
+#: ../../Zotlabs/Module/Settings/Display.php:192
+msgid "Content Settings"
msgstr ""
-#: ../../Zotlabs/Module/Profiles.php:733
-msgid "Political views"
+#: ../../Zotlabs/Module/Settings/Display.php:198
+msgid "Display Theme:"
msgstr ""
-#: ../../Zotlabs/Module/Profiles.php:734
-msgid "Religious views"
+#: ../../Zotlabs/Module/Settings/Display.php:199
+msgid "Select scheme"
msgstr ""
-#: ../../Zotlabs/Module/Profiles.php:735
-msgid "Keywords used in directory listings"
+#: ../../Zotlabs/Module/Settings/Display.php:201
+msgid "Mobile Theme:"
msgstr ""
-#: ../../Zotlabs/Module/Profiles.php:735
-msgid "Example: fishing photography software"
+#: ../../Zotlabs/Module/Settings/Display.php:202
+msgid "Preload images before rendering the page"
msgstr ""
-#: ../../Zotlabs/Module/Profiles.php:738
-msgid "Musical interests"
+#: ../../Zotlabs/Module/Settings/Display.php:202
+msgid ""
+"The subjective page load time will be longer but the page will be ready when "
+"displayed"
msgstr ""
-#: ../../Zotlabs/Module/Profiles.php:739
-msgid "Books, literature"
+#: ../../Zotlabs/Module/Settings/Display.php:203
+msgid "Enable user zoom on mobile devices"
msgstr ""
-#: ../../Zotlabs/Module/Profiles.php:740
-msgid "Television"
+#: ../../Zotlabs/Module/Settings/Display.php:204
+msgid "Update browser every xx seconds"
msgstr ""
-#: ../../Zotlabs/Module/Profiles.php:741
-msgid "Film/Dance/Culture/Entertainment"
+#: ../../Zotlabs/Module/Settings/Display.php:204
+msgid "Minimum of 10 seconds, no maximum"
msgstr ""
-#: ../../Zotlabs/Module/Profiles.php:742
-msgid "Hobbies/Interests"
+#: ../../Zotlabs/Module/Settings/Display.php:205
+msgid "Maximum number of conversations to load at any time:"
msgstr ""
-#: ../../Zotlabs/Module/Profiles.php:743
-msgid "Love/Romance"
+#: ../../Zotlabs/Module/Settings/Display.php:205
+msgid "Maximum of 100 items"
msgstr ""
-#: ../../Zotlabs/Module/Profiles.php:745
-msgid "School/Education"
+#: ../../Zotlabs/Module/Settings/Display.php:206
+msgid "Show emoticons (smilies) as images"
msgstr ""
-#: ../../Zotlabs/Module/Profiles.php:746
-msgid "Contact information and social networks"
+#: ../../Zotlabs/Module/Settings/Display.php:207
+msgid "Link post titles to source"
msgstr ""
-#: ../../Zotlabs/Module/Profiles.php:747
-msgid "My other channels"
+#: ../../Zotlabs/Module/Settings/Display.php:208
+msgid "System Page Layout Editor - (advanced)"
msgstr ""
-#: ../../Zotlabs/Module/Profiles.php:767 ../../include/channel.php:985
-msgid "Profile Image"
+#: ../../Zotlabs/Module/Settings/Display.php:211
+msgid "Use blog/list mode on channel page"
msgstr ""
-#: ../../Zotlabs/Module/Profiles.php:777 ../../include/nav.php:88
-#: ../../include/channel.php:967
-msgid "Edit Profiles"
+#: ../../Zotlabs/Module/Settings/Display.php:211
+#: ../../Zotlabs/Module/Settings/Display.php:212
+msgid "(comments displayed separately)"
msgstr ""
-#: ../../Zotlabs/Module/Wiki.php:34
-msgid "Not found"
+#: ../../Zotlabs/Module/Settings/Display.php:212
+msgid "Use blog/list mode on grid page"
msgstr ""
-#: ../../Zotlabs/Module/Wiki.php:92 ../../Zotlabs/Lib/Apps.php:219
-#: ../../include/features.php:55 ../../include/nav.php:108
-#: ../../include/conversation.php:1710 ../../include/conversation.php:1713
-msgid "Wiki"
+#: ../../Zotlabs/Module/Settings/Display.php:213
+msgid "Channel page max height of content (in pixels)"
msgstr ""
-#: ../../Zotlabs/Module/Wiki.php:93
-msgid "Sandbox"
+#: ../../Zotlabs/Module/Settings/Display.php:213
+#: ../../Zotlabs/Module/Settings/Display.php:214
+msgid "click to expand content exceeding this height"
msgstr ""
-#: ../../Zotlabs/Module/Wiki.php:95
-msgid ""
-"\"# Wiki Sandbox\\n\\nContent you **edit** and **preview** here *will not be "
-"saved*.\""
+#: ../../Zotlabs/Module/Settings/Display.php:214
+msgid "Grid page max height of content (in pixels)"
msgstr ""
-#: ../../Zotlabs/Module/Wiki.php:164
-msgid "Revision Comparison"
+#: ../../Zotlabs/Module/Settings/Featured.php:24
+msgid "No feature settings configured"
msgstr ""
-#: ../../Zotlabs/Module/Wiki.php:165
-msgid "Revert"
+#: ../../Zotlabs/Module/Settings/Featured.php:31
+msgid "Feature/Addon Settings"
msgstr ""
-#: ../../Zotlabs/Module/Wiki.php:192
-msgid "Enter the name of your new wiki:"
+#: ../../Zotlabs/Module/Settings/Features.php:45
+msgid "Additional Features"
msgstr ""
-#: ../../Zotlabs/Module/Wiki.php:193
-msgid "Enter the name of the new page:"
+#: ../../Zotlabs/Module/Settings/Oauth.php:34
+msgid "Name is required"
msgstr ""
-#: ../../Zotlabs/Module/Wiki.php:194
-msgid "Enter the new name:"
+#: ../../Zotlabs/Module/Settings/Oauth.php:38
+msgid "Key and Secret are required"
msgstr ""
-#: ../../Zotlabs/Module/Wiki.php:200 ../../include/conversation.php:1150
-msgid "Embed image from photo albums"
+#: ../../Zotlabs/Module/Settings/Oauth.php:86
+#: ../../Zotlabs/Module/Settings/Oauth.php:112
+#: ../../Zotlabs/Module/Settings/Oauth.php:148
+msgid "Add application"
msgstr ""
-#: ../../Zotlabs/Module/Wiki.php:201 ../../include/conversation.php:1234
-msgid "Embed an image from your albums"
+#: ../../Zotlabs/Module/Settings/Oauth.php:89
+msgid "Name of application"
msgstr ""
-#: ../../Zotlabs/Module/Wiki.php:203 ../../include/conversation.php:1236
-#: ../../include/conversation.php:1273
-msgid "OK"
+#: ../../Zotlabs/Module/Settings/Oauth.php:90
+#: ../../Zotlabs/Module/Settings/Oauth.php:116
+msgid "Consumer Key"
msgstr ""
-#: ../../Zotlabs/Module/Wiki.php:204 ../../include/conversation.php:1186
-msgid "Choose images to embed"
+#: ../../Zotlabs/Module/Settings/Oauth.php:90
+#: ../../Zotlabs/Module/Settings/Oauth.php:91
+msgid "Automatically generated - change if desired. Max length 20"
msgstr ""
-#: ../../Zotlabs/Module/Wiki.php:205 ../../include/conversation.php:1187
-msgid "Choose an album"
+#: ../../Zotlabs/Module/Settings/Oauth.php:91
+#: ../../Zotlabs/Module/Settings/Oauth.php:117
+msgid "Consumer Secret"
msgstr ""
-#: ../../Zotlabs/Module/Wiki.php:206 ../../include/conversation.php:1188
-msgid "Choose a different album..."
+#: ../../Zotlabs/Module/Settings/Oauth.php:92
+#: ../../Zotlabs/Module/Settings/Oauth.php:118
+msgid "Redirect"
msgstr ""
-#: ../../Zotlabs/Module/Wiki.php:207 ../../include/conversation.php:1189
-msgid "Error getting album list"
+#: ../../Zotlabs/Module/Settings/Oauth.php:92
+msgid ""
+"Redirect URI - leave blank unless your application specifically requires this"
msgstr ""
-#: ../../Zotlabs/Module/Wiki.php:208 ../../include/conversation.php:1190
-msgid "Error getting photo link"
+#: ../../Zotlabs/Module/Settings/Oauth.php:93
+#: ../../Zotlabs/Module/Settings/Oauth.php:119
+msgid "Icon url"
msgstr ""
-#: ../../Zotlabs/Module/Wiki.php:209 ../../include/conversation.php:1191
-msgid "Error getting album"
+#: ../../Zotlabs/Module/Settings/Oauth.php:104
+msgid "Application not found."
msgstr ""
-#: ../../Zotlabs/Module/Viewconnections.php:65
-msgid "No connections."
+#: ../../Zotlabs/Module/Settings/Oauth.php:147
+msgid "Connected Apps"
msgstr ""
-#: ../../Zotlabs/Module/Viewconnections.php:78
-#, php-format
-msgid "Visit %s's profile [%s]"
+#: ../../Zotlabs/Module/Settings/Oauth.php:151
+msgid "Client key starts with"
msgstr ""
-#: ../../Zotlabs/Module/Viewconnections.php:107
-msgid "View Connections"
+#: ../../Zotlabs/Module/Settings/Oauth.php:152
+msgid "No name"
msgstr ""
-#: ../../Zotlabs/Module/Viewsrc.php:44
-msgid "Source of Item"
+#: ../../Zotlabs/Module/Settings/Oauth.php:153
+msgid "Remove authorization"
msgstr ""
-#: ../../Zotlabs/Module/Api.php:61 ../../Zotlabs/Module/Api.php:85
-msgid "Authorize application connection"
+#: ../../Zotlabs/Module/Settings/Tokens.php:31
+#, php-format
+msgid "This channel is limited to %d tokens"
msgstr ""
-#: ../../Zotlabs/Module/Api.php:62
-msgid "Return to your app and insert this Securty Code:"
+#: ../../Zotlabs/Module/Settings/Tokens.php:37
+msgid "Name and Password are required."
msgstr ""
-#: ../../Zotlabs/Module/Api.php:72
-msgid "Please login to continue."
+#: ../../Zotlabs/Module/Settings/Tokens.php:77
+msgid "Token saved."
msgstr ""
-#: ../../Zotlabs/Module/Api.php:87
+#: ../../Zotlabs/Module/Settings/Tokens.php:113
msgid ""
-"Do you want to authorize this application to access your posts and contacts, "
-"and/or create new posts for you?"
+"Use this form to create temporary access identifiers to share things with "
+"non-members. These identities may be used in Access Control Lists and "
+"visitors may login using these credentials to access private content."
msgstr ""
-#: ../../Zotlabs/Module/Xchan.php:10
-msgid "Xchan Lookup"
+#: ../../Zotlabs/Module/Settings/Tokens.php:115
+msgid ""
+"You may also provide <em>dropbox</em> style access links to friends and "
+"associates by adding the Login Password to any specific site URL as shown. "
+"Examples:"
msgstr ""
-#: ../../Zotlabs/Module/Xchan.php:13
-msgid "Lookup xchan beginning with (or webbie): "
+#: ../../Zotlabs/Module/Settings/Tokens.php:150 ../../include/widgets.php:647
+msgid "Guest Access Tokens"
+msgstr ""
+
+#: ../../Zotlabs/Module/Settings/Tokens.php:157
+msgid "Login Name"
+msgstr ""
+
+#: ../../Zotlabs/Module/Settings/Tokens.php:158
+msgid "Login Password"
+msgstr ""
+
+#: ../../Zotlabs/Module/Settings/Tokens.php:159
+msgid "Expires (yyyy-mm-dd)"
msgstr ""
#: ../../Zotlabs/Lib/Chatroom.php:27
@@ -6508,304 +6619,210 @@ msgstr ""
msgid "Room is full"
msgstr ""
-#: ../../Zotlabs/Lib/Enotify.php:60 ../../include/network.php:1882
+#: ../../Zotlabs/Lib/Enotify.php:60 ../../include/network.php:1889
msgid "$Projectname Notification"
msgstr ""
-#: ../../Zotlabs/Lib/Enotify.php:61 ../../include/network.php:1883
+#: ../../Zotlabs/Lib/Enotify.php:61 ../../include/network.php:1890
msgid "$projectname"
msgstr ""
-#: ../../Zotlabs/Lib/Enotify.php:63 ../../include/network.php:1885
+#: ../../Zotlabs/Lib/Enotify.php:63 ../../include/network.php:1892
msgid "Thank You,"
msgstr ""
-#: ../../Zotlabs/Lib/Enotify.php:65 ../../include/network.php:1887
+#: ../../Zotlabs/Lib/Enotify.php:65 ../../include/network.php:1894
#, php-format
msgid "%s Administrator"
msgstr ""
-#: ../../Zotlabs/Lib/Enotify.php:100
+#: ../../Zotlabs/Lib/Enotify.php:103
#, php-format
msgid "%s <!item_type!>"
msgstr ""
-#: ../../Zotlabs/Lib/Enotify.php:104
+#: ../../Zotlabs/Lib/Enotify.php:107
#, php-format
-msgid "[Hubzilla:Notify] New mail received at %s"
+msgid "[$Projectname:Notify] New mail received at %s"
msgstr ""
-#: ../../Zotlabs/Lib/Enotify.php:106
+#: ../../Zotlabs/Lib/Enotify.php:109
#, php-format
msgid "%1$s, %2$s sent you a new private message at %3$s."
msgstr ""
-#: ../../Zotlabs/Lib/Enotify.php:107
+#: ../../Zotlabs/Lib/Enotify.php:110
#, php-format
msgid "%1$s sent you %2$s."
msgstr ""
-#: ../../Zotlabs/Lib/Enotify.php:107
+#: ../../Zotlabs/Lib/Enotify.php:110
msgid "a private message"
msgstr ""
-#: ../../Zotlabs/Lib/Enotify.php:108
+#: ../../Zotlabs/Lib/Enotify.php:111
#, php-format
msgid "Please visit %s to view and/or reply to your private messages."
msgstr ""
-#: ../../Zotlabs/Lib/Enotify.php:164
+#: ../../Zotlabs/Lib/Enotify.php:170
#, php-format
msgid "%1$s, %2$s commented on [zrl=%3$s]a %4$s[/zrl]"
msgstr ""
-#: ../../Zotlabs/Lib/Enotify.php:172
+#: ../../Zotlabs/Lib/Enotify.php:178
#, php-format
msgid "%1$s, %2$s commented on [zrl=%3$s]%4$s's %5$s[/zrl]"
msgstr ""
-#: ../../Zotlabs/Lib/Enotify.php:181
+#: ../../Zotlabs/Lib/Enotify.php:187
#, php-format
msgid "%1$s, %2$s commented on [zrl=%3$s]your %4$s[/zrl]"
msgstr ""
-#: ../../Zotlabs/Lib/Enotify.php:192
+#: ../../Zotlabs/Lib/Enotify.php:198
#, php-format
-msgid "[Hubzilla:Notify] Comment to conversation #%1$d by %2$s"
+msgid "[$Projectname:Notify] Comment to conversation #%1$d by %2$s"
msgstr ""
-#: ../../Zotlabs/Lib/Enotify.php:193
+#: ../../Zotlabs/Lib/Enotify.php:199
#, php-format
msgid "%1$s, %2$s commented on an item/conversation you have been following."
msgstr ""
-#: ../../Zotlabs/Lib/Enotify.php:196 ../../Zotlabs/Lib/Enotify.php:211
-#: ../../Zotlabs/Lib/Enotify.php:237 ../../Zotlabs/Lib/Enotify.php:255
-#: ../../Zotlabs/Lib/Enotify.php:269
+#: ../../Zotlabs/Lib/Enotify.php:202 ../../Zotlabs/Lib/Enotify.php:217
+#: ../../Zotlabs/Lib/Enotify.php:243 ../../Zotlabs/Lib/Enotify.php:261
+#: ../../Zotlabs/Lib/Enotify.php:275
#, php-format
msgid "Please visit %s to view and/or reply to the conversation."
msgstr ""
-#: ../../Zotlabs/Lib/Enotify.php:202
+#: ../../Zotlabs/Lib/Enotify.php:208
#, php-format
-msgid "[Hubzilla:Notify] %s posted to your profile wall"
+msgid "[$Projectname:Notify] %s posted to your profile wall"
msgstr ""
-#: ../../Zotlabs/Lib/Enotify.php:204
+#: ../../Zotlabs/Lib/Enotify.php:210
#, php-format
msgid "%1$s, %2$s posted to your profile wall at %3$s"
msgstr ""
-#: ../../Zotlabs/Lib/Enotify.php:206
+#: ../../Zotlabs/Lib/Enotify.php:212
#, php-format
msgid "%1$s, %2$s posted to [zrl=%3$s]your wall[/zrl]"
msgstr ""
-#: ../../Zotlabs/Lib/Enotify.php:230
+#: ../../Zotlabs/Lib/Enotify.php:236
#, php-format
-msgid "[Hubzilla:Notify] %s tagged you"
+msgid "[$Projectname:Notify] %s tagged you"
msgstr ""
-#: ../../Zotlabs/Lib/Enotify.php:231
+#: ../../Zotlabs/Lib/Enotify.php:237
#, php-format
msgid "%1$s, %2$s tagged you at %3$s"
msgstr ""
-#: ../../Zotlabs/Lib/Enotify.php:232
+#: ../../Zotlabs/Lib/Enotify.php:238
#, php-format
msgid "%1$s, %2$s [zrl=%3$s]tagged you[/zrl]."
msgstr ""
-#: ../../Zotlabs/Lib/Enotify.php:244
+#: ../../Zotlabs/Lib/Enotify.php:250
#, php-format
-msgid "[Hubzilla:Notify] %1$s poked you"
+msgid "[$Projectname:Notify] %1$s poked you"
msgstr ""
-#: ../../Zotlabs/Lib/Enotify.php:245
+#: ../../Zotlabs/Lib/Enotify.php:251
#, php-format
msgid "%1$s, %2$s poked you at %3$s"
msgstr ""
-#: ../../Zotlabs/Lib/Enotify.php:246
+#: ../../Zotlabs/Lib/Enotify.php:252
#, php-format
msgid "%1$s, %2$s [zrl=%2$s]poked you[/zrl]."
msgstr ""
-#: ../../Zotlabs/Lib/Enotify.php:262
+#: ../../Zotlabs/Lib/Enotify.php:268
#, php-format
-msgid "[Hubzilla:Notify] %s tagged your post"
+msgid "[$Projectname:Notify] %s tagged your post"
msgstr ""
-#: ../../Zotlabs/Lib/Enotify.php:263
+#: ../../Zotlabs/Lib/Enotify.php:269
#, php-format
msgid "%1$s, %2$s tagged your post at %3$s"
msgstr ""
-#: ../../Zotlabs/Lib/Enotify.php:264
+#: ../../Zotlabs/Lib/Enotify.php:270
#, php-format
msgid "%1$s, %2$s tagged [zrl=%3$s]your post[/zrl]"
msgstr ""
-#: ../../Zotlabs/Lib/Enotify.php:276
-msgid "[Hubzilla:Notify] Introduction received"
+#: ../../Zotlabs/Lib/Enotify.php:282
+msgid "[$Projectname:Notify] Introduction received"
msgstr ""
-#: ../../Zotlabs/Lib/Enotify.php:277
+#: ../../Zotlabs/Lib/Enotify.php:283
#, php-format
msgid "%1$s, you've received an new connection request from '%2$s' at %3$s"
msgstr ""
-#: ../../Zotlabs/Lib/Enotify.php:278
+#: ../../Zotlabs/Lib/Enotify.php:284
#, php-format
msgid ""
"%1$s, you've received [zrl=%2$s]a new connection request[/zrl] from %3$s."
msgstr ""
-#: ../../Zotlabs/Lib/Enotify.php:282 ../../Zotlabs/Lib/Enotify.php:301
+#: ../../Zotlabs/Lib/Enotify.php:288 ../../Zotlabs/Lib/Enotify.php:307
#, php-format
msgid "You may visit their profile at %s"
msgstr ""
-#: ../../Zotlabs/Lib/Enotify.php:284
+#: ../../Zotlabs/Lib/Enotify.php:290
#, php-format
msgid "Please visit %s to approve or reject the connection request."
msgstr ""
-#: ../../Zotlabs/Lib/Enotify.php:291
-msgid "[Hubzilla:Notify] Friend suggestion received"
+#: ../../Zotlabs/Lib/Enotify.php:297
+msgid "[$Projectname:Notify] Friend suggestion received"
msgstr ""
-#: ../../Zotlabs/Lib/Enotify.php:292
+#: ../../Zotlabs/Lib/Enotify.php:298
#, php-format
msgid "%1$s, you've received a friend suggestion from '%2$s' at %3$s"
msgstr ""
-#: ../../Zotlabs/Lib/Enotify.php:293
+#: ../../Zotlabs/Lib/Enotify.php:299
#, php-format
msgid ""
"%1$s, you've received [zrl=%2$s]a friend suggestion[/zrl] for %3$s from %4$s."
msgstr ""
-#: ../../Zotlabs/Lib/Enotify.php:299
+#: ../../Zotlabs/Lib/Enotify.php:305
msgid "Name:"
msgstr ""
-#: ../../Zotlabs/Lib/Enotify.php:300
+#: ../../Zotlabs/Lib/Enotify.php:306
msgid "Photo:"
msgstr ""
-#: ../../Zotlabs/Lib/Enotify.php:303
+#: ../../Zotlabs/Lib/Enotify.php:309
#, php-format
msgid "Please visit %s to approve or reject the suggestion."
msgstr ""
-#: ../../Zotlabs/Lib/Enotify.php:518
-msgid "[Hubzilla:Notify]"
+#: ../../Zotlabs/Lib/Enotify.php:527
+msgid "[$Projectname:Notify]"
msgstr ""
-#: ../../Zotlabs/Lib/Enotify.php:667
+#: ../../Zotlabs/Lib/Enotify.php:687
msgid "created a new post"
msgstr ""
-#: ../../Zotlabs/Lib/Enotify.php:668
+#: ../../Zotlabs/Lib/Enotify.php:688
#, php-format
msgid "commented on %s's post"
msgstr ""
-#: ../../Zotlabs/Lib/Apps.php:205
-msgid "Site Admin"
-msgstr ""
-
-#: ../../Zotlabs/Lib/Apps.php:206
-msgid "Bug Report"
-msgstr ""
-
-#: ../../Zotlabs/Lib/Apps.php:207
-msgid "View Bookmarks"
-msgstr ""
-
-#: ../../Zotlabs/Lib/Apps.php:208
-msgid "My Chatrooms"
-msgstr ""
-
-#: ../../Zotlabs/Lib/Apps.php:210
-msgid "Firefox Share"
-msgstr ""
-
-#: ../../Zotlabs/Lib/Apps.php:211
-msgid "Remote Diagnostics"
-msgstr ""
-
-#: ../../Zotlabs/Lib/Apps.php:212 ../../include/features.php:90
-msgid "Suggest Channels"
-msgstr ""
-
-#: ../../Zotlabs/Lib/Apps.php:213 ../../include/nav.php:112
-#: ../../boot.php:1707
-msgid "Login"
-msgstr ""
-
-#: ../../Zotlabs/Lib/Apps.php:215 ../../include/nav.php:181
-msgid "Grid"
-msgstr ""
-
-#: ../../Zotlabs/Lib/Apps.php:220 ../../include/nav.php:184
-msgid "Channel Home"
-msgstr ""
-
-#: ../../Zotlabs/Lib/Apps.php:223 ../../include/nav.php:203
-#: ../../include/conversation.php:1664 ../../include/conversation.php:1667
-msgid "Events"
-msgstr ""
-
-#: ../../Zotlabs/Lib/Apps.php:224 ../../include/nav.php:169
-msgid "Directory"
-msgstr ""
-
-#: ../../Zotlabs/Lib/Apps.php:226 ../../include/nav.php:195
-msgid "Mail"
-msgstr ""
-
-#: ../../Zotlabs/Lib/Apps.php:229 ../../include/nav.php:96
-msgid "Chat"
-msgstr ""
-
-#: ../../Zotlabs/Lib/Apps.php:231
-msgid "Probe"
-msgstr ""
-
-#: ../../Zotlabs/Lib/Apps.php:232
-msgid "Suggest"
-msgstr ""
-
-#: ../../Zotlabs/Lib/Apps.php:233
-msgid "Random Channel"
-msgstr ""
-
-#: ../../Zotlabs/Lib/Apps.php:234
-msgid "Invite"
-msgstr ""
-
-#: ../../Zotlabs/Lib/Apps.php:235 ../../include/widgets.php:1494
-msgid "Features"
-msgstr ""
-
-#: ../../Zotlabs/Lib/Apps.php:236
-msgid "Language"
-msgstr ""
-
-#: ../../Zotlabs/Lib/Apps.php:237
-msgid "Post"
-msgstr ""
-
-#: ../../Zotlabs/Lib/Apps.php:238
-msgid "Profile Photo"
-msgstr ""
-
-#: ../../Zotlabs/Lib/Apps.php:339
-msgid "Purchase"
-msgstr ""
-
#: ../../Zotlabs/Lib/ThreadItem.php:95 ../../include/conversation.php:667
msgid "Private Message"
msgstr ""
@@ -6842,153 +6859,153 @@ msgstr ""
msgid "I abstain"
msgstr ""
-#: ../../Zotlabs/Lib/ThreadItem.php:218
+#: ../../Zotlabs/Lib/ThreadItem.php:223
msgid "Add Star"
msgstr ""
-#: ../../Zotlabs/Lib/ThreadItem.php:219
+#: ../../Zotlabs/Lib/ThreadItem.php:224
msgid "Remove Star"
msgstr ""
-#: ../../Zotlabs/Lib/ThreadItem.php:220
+#: ../../Zotlabs/Lib/ThreadItem.php:225
msgid "Toggle Star Status"
msgstr ""
-#: ../../Zotlabs/Lib/ThreadItem.php:224
+#: ../../Zotlabs/Lib/ThreadItem.php:229
msgid "starred"
msgstr ""
-#: ../../Zotlabs/Lib/ThreadItem.php:234 ../../include/conversation.php:674
+#: ../../Zotlabs/Lib/ThreadItem.php:239 ../../include/conversation.php:674
msgid "Message signature validated"
msgstr ""
-#: ../../Zotlabs/Lib/ThreadItem.php:235 ../../include/conversation.php:675
+#: ../../Zotlabs/Lib/ThreadItem.php:240 ../../include/conversation.php:675
msgid "Message signature incorrect"
msgstr ""
-#: ../../Zotlabs/Lib/ThreadItem.php:243
+#: ../../Zotlabs/Lib/ThreadItem.php:248
msgid "Add Tag"
msgstr ""
-#: ../../Zotlabs/Lib/ThreadItem.php:261 ../../include/taxonomy.php:316
+#: ../../Zotlabs/Lib/ThreadItem.php:268 ../../include/taxonomy.php:316
msgid "like"
msgstr ""
-#: ../../Zotlabs/Lib/ThreadItem.php:262 ../../include/taxonomy.php:317
+#: ../../Zotlabs/Lib/ThreadItem.php:269 ../../include/taxonomy.php:317
msgid "dislike"
msgstr ""
-#: ../../Zotlabs/Lib/ThreadItem.php:266
+#: ../../Zotlabs/Lib/ThreadItem.php:273
msgid "Share This"
msgstr ""
-#: ../../Zotlabs/Lib/ThreadItem.php:266
+#: ../../Zotlabs/Lib/ThreadItem.php:273
msgid "share"
msgstr ""
-#: ../../Zotlabs/Lib/ThreadItem.php:275
+#: ../../Zotlabs/Lib/ThreadItem.php:282
msgid "Delivery Report"
msgstr ""
-#: ../../Zotlabs/Lib/ThreadItem.php:293
+#: ../../Zotlabs/Lib/ThreadItem.php:300
#, php-format
msgid "%d comment"
msgid_plural "%d comments"
msgstr[0] ""
msgstr[1] ""
-#: ../../Zotlabs/Lib/ThreadItem.php:322 ../../Zotlabs/Lib/ThreadItem.php:323
+#: ../../Zotlabs/Lib/ThreadItem.php:329 ../../Zotlabs/Lib/ThreadItem.php:330
#, php-format
msgid "View %s's profile - %s"
msgstr ""
-#: ../../Zotlabs/Lib/ThreadItem.php:326
+#: ../../Zotlabs/Lib/ThreadItem.php:333
msgid "to"
msgstr ""
-#: ../../Zotlabs/Lib/ThreadItem.php:327
+#: ../../Zotlabs/Lib/ThreadItem.php:334
msgid "via"
msgstr ""
-#: ../../Zotlabs/Lib/ThreadItem.php:328
+#: ../../Zotlabs/Lib/ThreadItem.php:335
msgid "Wall-to-Wall"
msgstr ""
-#: ../../Zotlabs/Lib/ThreadItem.php:329
+#: ../../Zotlabs/Lib/ThreadItem.php:336
msgid "via Wall-To-Wall:"
msgstr ""
-#: ../../Zotlabs/Lib/ThreadItem.php:341 ../../include/conversation.php:722
+#: ../../Zotlabs/Lib/ThreadItem.php:348 ../../include/conversation.php:720
#, php-format
msgid "from %s"
msgstr ""
-#: ../../Zotlabs/Lib/ThreadItem.php:344 ../../include/conversation.php:725
+#: ../../Zotlabs/Lib/ThreadItem.php:351 ../../include/conversation.php:723
#, php-format
msgid "last edited: %s"
msgstr ""
-#: ../../Zotlabs/Lib/ThreadItem.php:345 ../../include/conversation.php:726
+#: ../../Zotlabs/Lib/ThreadItem.php:352 ../../include/conversation.php:724
#, php-format
msgid "Expires: %s"
msgstr ""
-#: ../../Zotlabs/Lib/ThreadItem.php:370
+#: ../../Zotlabs/Lib/ThreadItem.php:377
msgid "Save Bookmarks"
msgstr ""
-#: ../../Zotlabs/Lib/ThreadItem.php:371
+#: ../../Zotlabs/Lib/ThreadItem.php:378
msgid "Add to Calendar"
msgstr ""
-#: ../../Zotlabs/Lib/ThreadItem.php:380
+#: ../../Zotlabs/Lib/ThreadItem.php:387
msgid "Mark all seen"
msgstr ""
-#: ../../Zotlabs/Lib/ThreadItem.php:421 ../../include/js_strings.php:7
+#: ../../Zotlabs/Lib/ThreadItem.php:436 ../../include/js_strings.php:7
#, php-format
msgid "%s show all"
msgstr ""
-#: ../../Zotlabs/Lib/ThreadItem.php:711 ../../include/conversation.php:1226
+#: ../../Zotlabs/Lib/ThreadItem.php:726 ../../include/conversation.php:1239
msgid "Bold"
msgstr ""
-#: ../../Zotlabs/Lib/ThreadItem.php:712 ../../include/conversation.php:1227
+#: ../../Zotlabs/Lib/ThreadItem.php:727 ../../include/conversation.php:1240
msgid "Italic"
msgstr ""
-#: ../../Zotlabs/Lib/ThreadItem.php:713 ../../include/conversation.php:1228
+#: ../../Zotlabs/Lib/ThreadItem.php:728 ../../include/conversation.php:1241
msgid "Underline"
msgstr ""
-#: ../../Zotlabs/Lib/ThreadItem.php:714 ../../include/conversation.php:1229
+#: ../../Zotlabs/Lib/ThreadItem.php:729 ../../include/conversation.php:1242
msgid "Quote"
msgstr ""
-#: ../../Zotlabs/Lib/ThreadItem.php:715 ../../include/conversation.php:1230
+#: ../../Zotlabs/Lib/ThreadItem.php:730 ../../include/conversation.php:1243
msgid "Code"
msgstr ""
-#: ../../Zotlabs/Lib/ThreadItem.php:716
+#: ../../Zotlabs/Lib/ThreadItem.php:731
msgid "Image"
msgstr ""
-#: ../../Zotlabs/Lib/ThreadItem.php:717
+#: ../../Zotlabs/Lib/ThreadItem.php:732
msgid "Insert Link"
msgstr ""
-#: ../../Zotlabs/Lib/ThreadItem.php:718
+#: ../../Zotlabs/Lib/ThreadItem.php:733
msgid "Video"
msgstr ""
#: ../../Zotlabs/Lib/PermissionDescription.php:31
-#: ../../include/acl_selectors.php:230
+#: ../../include/acl_selectors.php:124
msgid "Visible to your default audience"
msgstr ""
#: ../../Zotlabs/Lib/PermissionDescription.php:106
-#: ../../include/acl_selectors.php:266
+#: ../../include/acl_selectors.php:165
msgid "Only me"
msgstr ""
@@ -7045,6 +7062,100 @@ msgstr ""
msgid "This is your default setting for the audience of your webpages"
msgstr ""
+#: ../../Zotlabs/Lib/Apps.php:205
+msgid "Site Admin"
+msgstr ""
+
+#: ../../Zotlabs/Lib/Apps.php:206
+msgid "Bug Report"
+msgstr ""
+
+#: ../../Zotlabs/Lib/Apps.php:207
+msgid "View Bookmarks"
+msgstr ""
+
+#: ../../Zotlabs/Lib/Apps.php:208
+msgid "My Chatrooms"
+msgstr ""
+
+#: ../../Zotlabs/Lib/Apps.php:210
+msgid "Firefox Share"
+msgstr ""
+
+#: ../../Zotlabs/Lib/Apps.php:211
+msgid "Remote Diagnostics"
+msgstr ""
+
+#: ../../Zotlabs/Lib/Apps.php:212 ../../include/features.php:319
+msgid "Suggest Channels"
+msgstr ""
+
+#: ../../Zotlabs/Lib/Apps.php:213 ../../include/nav.php:115
+#: ../../boot.php:1739
+msgid "Login"
+msgstr ""
+
+#: ../../Zotlabs/Lib/Apps.php:215 ../../include/nav.php:184
+msgid "Grid"
+msgstr ""
+
+#: ../../Zotlabs/Lib/Apps.php:220 ../../include/nav.php:187
+msgid "Channel Home"
+msgstr ""
+
+#: ../../Zotlabs/Lib/Apps.php:223 ../../include/nav.php:206
+#: ../../include/conversation.php:1689 ../../include/conversation.php:1692
+msgid "Events"
+msgstr ""
+
+#: ../../Zotlabs/Lib/Apps.php:224 ../../include/nav.php:172
+msgid "Directory"
+msgstr ""
+
+#: ../../Zotlabs/Lib/Apps.php:226 ../../include/nav.php:198
+msgid "Mail"
+msgstr ""
+
+#: ../../Zotlabs/Lib/Apps.php:229 ../../include/nav.php:99
+msgid "Chat"
+msgstr ""
+
+#: ../../Zotlabs/Lib/Apps.php:231
+msgid "Probe"
+msgstr ""
+
+#: ../../Zotlabs/Lib/Apps.php:232
+msgid "Suggest"
+msgstr ""
+
+#: ../../Zotlabs/Lib/Apps.php:233
+msgid "Random Channel"
+msgstr ""
+
+#: ../../Zotlabs/Lib/Apps.php:234
+msgid "Invite"
+msgstr ""
+
+#: ../../Zotlabs/Lib/Apps.php:235 ../../include/widgets.php:1564
+msgid "Features"
+msgstr ""
+
+#: ../../Zotlabs/Lib/Apps.php:236
+msgid "Language"
+msgstr ""
+
+#: ../../Zotlabs/Lib/Apps.php:237
+msgid "Post"
+msgstr ""
+
+#: ../../Zotlabs/Lib/Apps.php:238
+msgid "Profile Photo"
+msgstr ""
+
+#: ../../Zotlabs/Lib/Apps.php:339
+msgid "Purchase"
+msgstr ""
+
#: ../../include/Import/import_diaspora.php:16
msgid "No username found in import file."
msgstr ""
@@ -7053,71 +7164,61 @@ msgstr ""
msgid "Unable to create a unique channel address. Import failed."
msgstr ""
-#: ../../include/dba/dba_driver.php:171
+#: ../../include/dba/dba_driver.php:173
#, php-format
msgid "Cannot locate DNS info for database server '%s'"
msgstr ""
-#: ../../include/items.php:897 ../../include/items.php:942
-msgid "(Unknown)"
-msgstr ""
-
-#: ../../include/items.php:1141
-msgid "Visible to anybody on the internet."
-msgstr ""
-
-#: ../../include/items.php:1143
-msgid "Visible to you only."
+#: ../../include/permissions.php:35
+msgid "Can view my normal stream and posts"
msgstr ""
-#: ../../include/items.php:1145
-msgid "Visible to anybody in this network."
+#: ../../include/permissions.php:39
+msgid "Can view my webpages"
msgstr ""
-#: ../../include/items.php:1147
-msgid "Visible to anybody authenticated."
+#: ../../include/permissions.php:43
+msgid "Can post on my channel page (\"wall\")"
msgstr ""
-#: ../../include/items.php:1149
-#, php-format
-msgid "Visible to anybody on %s."
+#: ../../include/permissions.php:46
+msgid "Can like/dislike stuff"
msgstr ""
-#: ../../include/items.php:1151
-msgid "Visible to all connections."
+#: ../../include/permissions.php:46
+msgid "Profiles and things other than posts/comments"
msgstr ""
-#: ../../include/items.php:1153
-msgid "Visible to approved connections."
+#: ../../include/permissions.php:48
+msgid "Can forward to all my channel contacts via post @mentions"
msgstr ""
-#: ../../include/items.php:1155
-msgid "Visible to specific connections."
+#: ../../include/permissions.php:48
+msgid "Advanced - useful for creating group forum channels"
msgstr ""
-#: ../../include/items.php:3918
-msgid "Privacy group is empty."
+#: ../../include/permissions.php:49
+msgid "Can chat with me (when available)"
msgstr ""
-#: ../../include/items.php:3925
-#, php-format
-msgid "Privacy group: %s"
+#: ../../include/permissions.php:50
+msgid "Can write to my file storage and photos"
msgstr ""
-#: ../../include/items.php:3937
-msgid "Connection not found."
+#: ../../include/permissions.php:51
+msgid "Can edit my webpages"
msgstr ""
-#: ../../include/items.php:4290
-msgid "profile photo"
+#: ../../include/permissions.php:53
+msgid "Somewhat advanced - very useful in open communities"
msgstr ""
-#: ../../include/oembed.php:336
-msgid "Embedded content"
+#: ../../include/permissions.php:55
+msgid "Can administer my channel resources"
msgstr ""
-#: ../../include/oembed.php:345
-msgid "Embedding disabled"
+#: ../../include/permissions.php:55
+msgid "Extremely advanced. Leave this alone unless you know what you are doing"
msgstr ""
#: ../../include/photos.php:114
@@ -7143,7 +7244,7 @@ msgctxt "photo_upload"
msgid "%1$s posted %2$s to %3$s"
msgstr ""
-#: ../../include/photos.php:506 ../../include/conversation.php:1650
+#: ../../include/photos.php:506 ../../include/conversation.php:1675
msgid "Photo Albums"
msgstr ""
@@ -7151,195 +7252,310 @@ msgstr ""
msgid "Upload New Photos"
msgstr ""
-#: ../../include/account.php:28
-msgid "Not a valid email address"
+#: ../../include/features.php:58
+msgid "General Features"
msgstr ""
-#: ../../include/account.php:30
-msgid "Your email domain is not among those allowed on this site"
+#: ../../include/features.php:63
+msgid "Multiple Profiles"
msgstr ""
-#: ../../include/account.php:36
-msgid "Your email address is already registered at this site."
+#: ../../include/features.php:64
+msgid "Ability to create multiple profiles"
msgstr ""
-#: ../../include/account.php:68
-msgid "An invitation is required."
+#: ../../include/features.php:72
+msgid "Advanced Profiles"
msgstr ""
-#: ../../include/account.php:72
-msgid "Invitation could not be verified."
+#: ../../include/features.php:73
+msgid "Additional profile sections and selections"
msgstr ""
-#: ../../include/account.php:122
-msgid "Please enter the required information."
+#: ../../include/features.php:81
+msgid "Profile Import/Export"
msgstr ""
-#: ../../include/account.php:189
-msgid "Failed to store account information."
+#: ../../include/features.php:82
+msgid "Save and load profile details across sites/channels"
msgstr ""
-#: ../../include/account.php:249
-#, php-format
-msgid "Registration confirmation for %s"
+#: ../../include/features.php:90
+msgid "Web Pages"
msgstr ""
-#: ../../include/account.php:315
-#, php-format
-msgid "Registration request at %s"
+#: ../../include/features.php:91
+msgid "Provide managed web pages on your channel"
msgstr ""
-#: ../../include/account.php:317 ../../include/account.php:344
-#: ../../include/account.php:404 ../../include/network.php:1930
-msgid "Administrator"
+#: ../../include/features.php:100
+msgid "Provide a wiki for your channel"
msgstr ""
-#: ../../include/account.php:339
-msgid "your registration password"
+#: ../../include/features.php:117
+msgid "Private Notes"
msgstr ""
-#: ../../include/account.php:342 ../../include/account.php:402
-#, php-format
-msgid "Registration details for %s"
+#: ../../include/features.php:118
+msgid "Enables a tool to store notes and reminders (note: not encrypted)"
msgstr ""
-#: ../../include/account.php:414
-msgid "Account approved."
+#: ../../include/features.php:126
+msgid "Navigation Channel Select"
msgstr ""
-#: ../../include/account.php:454
-#, php-format
-msgid "Registration revoked for %s"
+#: ../../include/features.php:127
+msgid "Change channels directly from within the navigation dropdown menu"
msgstr ""
-#: ../../include/account.php:739 ../../include/account.php:741
-msgid "Click here to upgrade."
+#: ../../include/features.php:135
+msgid "Photo Location"
msgstr ""
-#: ../../include/account.php:747
-msgid "This action exceeds the limits set by your subscription plan."
+#: ../../include/features.php:136
+msgid "If location data is available on uploaded photos, link this to a map."
msgstr ""
-#: ../../include/account.php:752
-msgid "This action is not available under your subscription plan."
+#: ../../include/features.php:144
+msgid "Access Controlled Chatrooms"
msgstr ""
-#: ../../include/acl_selectors.php:269
-msgid "Who can see this?"
+#: ../../include/features.php:145
+msgid "Provide chatrooms and chat services with access control."
msgstr ""
-#: ../../include/acl_selectors.php:270
-msgid "Custom selection"
+#: ../../include/features.php:153
+msgid "Smart Birthdays"
msgstr ""
-#: ../../include/acl_selectors.php:271
+#: ../../include/features.php:154
msgid ""
-"Select \"Show\" to allow viewing. \"Don't show\" lets you override and limit "
-"the scope of \"Show\"."
+"Make birthday events timezone aware in case your friends are scattered "
+"across the planet."
msgstr ""
-#: ../../include/acl_selectors.php:272
-msgid "Show"
+#: ../../include/features.php:162
+msgid "Advanced Directory Search"
msgstr ""
-#: ../../include/acl_selectors.php:273
-msgid "Don't show"
+#: ../../include/features.php:163
+msgid "Allows creation of complex directory search queries"
msgstr ""
-#: ../../include/acl_selectors.php:279
-msgid "Other networks and post services"
+#: ../../include/features.php:171
+msgid "Advanced Theme and Layout Settings"
msgstr ""
-#: ../../include/acl_selectors.php:309
-#, php-format
+#: ../../include/features.php:172
+msgid "Allows fine tuning of themes and page layouts"
+msgstr ""
+
+#: ../../include/features.php:182
+msgid "Post Composition Features"
+msgstr ""
+
+#: ../../include/features.php:186
+msgid "Large Photos"
+msgstr ""
+
+#: ../../include/features.php:187
msgid ""
-"Post permissions %s cannot be changed %s after a post is shared.</br />These "
-"permissions set who is allowed to view the post."
+"Include large (1024px) photo thumbnails in posts. If not enabled, use small "
+"(640px) photo thumbnails"
msgstr ""
-#: ../../include/datetime.php:135
-msgid "Birthday"
+#: ../../include/features.php:196
+msgid "Automatically import channel content from other channels or feeds"
msgstr ""
-#: ../../include/datetime.php:137
-msgid "Age: "
+#: ../../include/features.php:204
+msgid "Even More Encryption"
msgstr ""
-#: ../../include/datetime.php:139
-msgid "YYYY-MM-DD or MM-DD"
+#: ../../include/features.php:205
+msgid ""
+"Allow optional encryption of content end-to-end with a shared secret key"
msgstr ""
-#: ../../include/datetime.php:272 ../../boot.php:2543
-msgid "never"
+#: ../../include/features.php:213
+msgid "Enable Voting Tools"
msgstr ""
-#: ../../include/datetime.php:278
-msgid "less than a second ago"
+#: ../../include/features.php:214
+msgid "Provide a class of post which others can vote on"
msgstr ""
-#: ../../include/datetime.php:296
-#, php-format
-msgctxt "e.g. 22 hours ago, 1 minute ago"
-msgid "%1$d %2$s ago"
+#: ../../include/features.php:222
+msgid "Disable Comments"
msgstr ""
-#: ../../include/datetime.php:307
-msgctxt "relative_date"
-msgid "year"
-msgid_plural "years"
-msgstr[0] ""
-msgstr[1] ""
+#: ../../include/features.php:223
+msgid "Provide the option to disable comments for a post"
+msgstr ""
-#: ../../include/datetime.php:310
-msgctxt "relative_date"
-msgid "month"
-msgid_plural "months"
-msgstr[0] ""
-msgstr[1] ""
+#: ../../include/features.php:231
+msgid "Delayed Posting"
+msgstr ""
-#: ../../include/datetime.php:313
-msgctxt "relative_date"
-msgid "week"
-msgid_plural "weeks"
-msgstr[0] ""
-msgstr[1] ""
+#: ../../include/features.php:232
+msgid "Allow posts to be published at a later date"
+msgstr ""
-#: ../../include/datetime.php:316
-msgctxt "relative_date"
-msgid "day"
-msgid_plural "days"
-msgstr[0] ""
-msgstr[1] ""
+#: ../../include/features.php:240
+msgid "Content Expiration"
+msgstr ""
-#: ../../include/datetime.php:319
-msgctxt "relative_date"
-msgid "hour"
-msgid_plural "hours"
-msgstr[0] ""
-msgstr[1] ""
+#: ../../include/features.php:241
+msgid "Remove posts/comments and/or private messages at a future time"
+msgstr ""
-#: ../../include/datetime.php:322
-msgctxt "relative_date"
-msgid "minute"
-msgid_plural "minutes"
-msgstr[0] ""
-msgstr[1] ""
+#: ../../include/features.php:249
+msgid "Suppress Duplicate Posts/Comments"
+msgstr ""
-#: ../../include/datetime.php:325
-msgctxt "relative_date"
-msgid "second"
-msgid_plural "seconds"
-msgstr[0] ""
-msgstr[1] ""
+#: ../../include/features.php:250
+msgid ""
+"Prevent posts with identical content to be published with less than two "
+"minutes in between submissions."
+msgstr ""
-#: ../../include/datetime.php:562
-#, php-format
-msgid "%1$s's birthday"
+#: ../../include/features.php:261
+msgid "Network and Stream Filtering"
msgstr ""
-#: ../../include/datetime.php:563
-#, php-format
-msgid "Happy Birthday %1$s"
+#: ../../include/features.php:265
+msgid "Search by Date"
+msgstr ""
+
+#: ../../include/features.php:266
+msgid "Ability to select posts by date ranges"
+msgstr ""
+
+#: ../../include/features.php:274 ../../include/group.php:311
+msgid "Privacy Groups"
+msgstr ""
+
+#: ../../include/features.php:275
+msgid "Enable management and selection of privacy groups"
+msgstr ""
+
+#: ../../include/features.php:283 ../../include/widgets.php:283
+msgid "Saved Searches"
+msgstr ""
+
+#: ../../include/features.php:284
+msgid "Save search terms for re-use"
+msgstr ""
+
+#: ../../include/features.php:292
+msgid "Network Personal Tab"
+msgstr ""
+
+#: ../../include/features.php:293
+msgid "Enable tab to display only Network posts that you've interacted on"
+msgstr ""
+
+#: ../../include/features.php:301
+msgid "Network New Tab"
+msgstr ""
+
+#: ../../include/features.php:302
+msgid "Enable tab to display all new Network activity"
+msgstr ""
+
+#: ../../include/features.php:310
+msgid "Affinity Tool"
+msgstr ""
+
+#: ../../include/features.php:311
+msgid "Filter stream activity by depth of relationships"
+msgstr ""
+
+#: ../../include/features.php:320
+msgid "Show friend and connection suggestions"
+msgstr ""
+
+#: ../../include/features.php:328
+msgid "Connection Filtering"
+msgstr ""
+
+#: ../../include/features.php:329
+msgid "Filter incoming posts from connections based on keywords/content"
+msgstr ""
+
+#: ../../include/features.php:341
+msgid "Post/Comment Tools"
+msgstr ""
+
+#: ../../include/features.php:345
+msgid "Community Tagging"
+msgstr ""
+
+#: ../../include/features.php:346
+msgid "Ability to tag existing posts"
+msgstr ""
+
+#: ../../include/features.php:354
+msgid "Post Categories"
+msgstr ""
+
+#: ../../include/features.php:355
+msgid "Add categories to your posts"
+msgstr ""
+
+#: ../../include/features.php:363
+msgid "Emoji Reactions"
+msgstr ""
+
+#: ../../include/features.php:364
+msgid "Add emoji reaction ability to posts"
+msgstr ""
+
+#: ../../include/features.php:372 ../../include/contact_widgets.php:53
+#: ../../include/widgets.php:346
+msgid "Saved Folders"
+msgstr ""
+
+#: ../../include/features.php:373
+msgid "Ability to file posts under folders"
+msgstr ""
+
+#: ../../include/features.php:381
+msgid "Dislike Posts"
+msgstr ""
+
+#: ../../include/features.php:382
+msgid "Ability to dislike posts/comments"
+msgstr ""
+
+#: ../../include/features.php:390
+msgid "Star Posts"
+msgstr ""
+
+#: ../../include/features.php:391
+msgid "Ability to mark special posts with a star indicator"
+msgstr ""
+
+#: ../../include/features.php:399
+msgid "Tag Cloud"
+msgstr ""
+
+#: ../../include/features.php:400
+msgid "Provide a personal tag cloud on your channel page"
+msgstr ""
+
+#: ../../include/features.php:412
+msgid "Premium Channel"
+msgstr ""
+
+#: ../../include/features.php:413
+msgid ""
+"Allows you to set restrictions and terms on those that connect with your "
+"channel"
+msgstr ""
+
+#: ../../include/help.php:25
+msgid "Help:"
msgstr ""
#: ../../include/security.php:109
@@ -7352,6 +7568,462 @@ msgid ""
"form has been opened for too long (>3 hours) before submitting it."
msgstr ""
+#: ../../include/text.php:450
+msgid "prev"
+msgstr ""
+
+#: ../../include/text.php:452
+msgid "first"
+msgstr ""
+
+#: ../../include/text.php:481
+msgid "last"
+msgstr ""
+
+#: ../../include/text.php:484
+msgid "next"
+msgstr ""
+
+#: ../../include/text.php:494
+msgid "older"
+msgstr ""
+
+#: ../../include/text.php:496
+msgid "newer"
+msgstr ""
+
+#: ../../include/text.php:889
+msgid "No connections"
+msgstr ""
+
+#: ../../include/text.php:914
+#, php-format
+msgid "View all %s connections"
+msgstr ""
+
+#: ../../include/text.php:1059 ../../include/text.php:1064
+msgid "poke"
+msgstr ""
+
+#: ../../include/text.php:1059 ../../include/text.php:1064
+#: ../../include/conversation.php:243
+msgid "poked"
+msgstr ""
+
+#: ../../include/text.php:1065
+msgid "ping"
+msgstr ""
+
+#: ../../include/text.php:1065
+msgid "pinged"
+msgstr ""
+
+#: ../../include/text.php:1066
+msgid "prod"
+msgstr ""
+
+#: ../../include/text.php:1066
+msgid "prodded"
+msgstr ""
+
+#: ../../include/text.php:1067
+msgid "slap"
+msgstr ""
+
+#: ../../include/text.php:1067
+msgid "slapped"
+msgstr ""
+
+#: ../../include/text.php:1068
+msgid "finger"
+msgstr ""
+
+#: ../../include/text.php:1068
+msgid "fingered"
+msgstr ""
+
+#: ../../include/text.php:1069
+msgid "rebuff"
+msgstr ""
+
+#: ../../include/text.php:1069
+msgid "rebuffed"
+msgstr ""
+
+#: ../../include/text.php:1081
+msgid "happy"
+msgstr ""
+
+#: ../../include/text.php:1082
+msgid "sad"
+msgstr ""
+
+#: ../../include/text.php:1083
+msgid "mellow"
+msgstr ""
+
+#: ../../include/text.php:1084
+msgid "tired"
+msgstr ""
+
+#: ../../include/text.php:1085
+msgid "perky"
+msgstr ""
+
+#: ../../include/text.php:1086
+msgid "angry"
+msgstr ""
+
+#: ../../include/text.php:1087
+msgid "stupefied"
+msgstr ""
+
+#: ../../include/text.php:1088
+msgid "puzzled"
+msgstr ""
+
+#: ../../include/text.php:1089
+msgid "interested"
+msgstr ""
+
+#: ../../include/text.php:1090
+msgid "bitter"
+msgstr ""
+
+#: ../../include/text.php:1091
+msgid "cheerful"
+msgstr ""
+
+#: ../../include/text.php:1092
+msgid "alive"
+msgstr ""
+
+#: ../../include/text.php:1093
+msgid "annoyed"
+msgstr ""
+
+#: ../../include/text.php:1094
+msgid "anxious"
+msgstr ""
+
+#: ../../include/text.php:1095
+msgid "cranky"
+msgstr ""
+
+#: ../../include/text.php:1096
+msgid "disturbed"
+msgstr ""
+
+#: ../../include/text.php:1097
+msgid "frustrated"
+msgstr ""
+
+#: ../../include/text.php:1098
+msgid "depressed"
+msgstr ""
+
+#: ../../include/text.php:1099
+msgid "motivated"
+msgstr ""
+
+#: ../../include/text.php:1100
+msgid "relaxed"
+msgstr ""
+
+#: ../../include/text.php:1101
+msgid "surprised"
+msgstr ""
+
+#: ../../include/text.php:1285 ../../include/js_strings.php:70
+msgid "Monday"
+msgstr ""
+
+#: ../../include/text.php:1285 ../../include/js_strings.php:71
+msgid "Tuesday"
+msgstr ""
+
+#: ../../include/text.php:1285 ../../include/js_strings.php:72
+msgid "Wednesday"
+msgstr ""
+
+#: ../../include/text.php:1285 ../../include/js_strings.php:73
+msgid "Thursday"
+msgstr ""
+
+#: ../../include/text.php:1285 ../../include/js_strings.php:74
+msgid "Friday"
+msgstr ""
+
+#: ../../include/text.php:1285 ../../include/js_strings.php:75
+msgid "Saturday"
+msgstr ""
+
+#: ../../include/text.php:1285 ../../include/js_strings.php:69
+msgid "Sunday"
+msgstr ""
+
+#: ../../include/text.php:1289 ../../include/js_strings.php:45
+msgid "January"
+msgstr ""
+
+#: ../../include/text.php:1289 ../../include/js_strings.php:46
+msgid "February"
+msgstr ""
+
+#: ../../include/text.php:1289 ../../include/js_strings.php:47
+msgid "March"
+msgstr ""
+
+#: ../../include/text.php:1289 ../../include/js_strings.php:48
+msgid "April"
+msgstr ""
+
+#: ../../include/text.php:1289
+msgid "May"
+msgstr ""
+
+#: ../../include/text.php:1289 ../../include/js_strings.php:50
+msgid "June"
+msgstr ""
+
+#: ../../include/text.php:1289 ../../include/js_strings.php:51
+msgid "July"
+msgstr ""
+
+#: ../../include/text.php:1289 ../../include/js_strings.php:52
+msgid "August"
+msgstr ""
+
+#: ../../include/text.php:1289 ../../include/js_strings.php:53
+msgid "September"
+msgstr ""
+
+#: ../../include/text.php:1289 ../../include/js_strings.php:54
+msgid "October"
+msgstr ""
+
+#: ../../include/text.php:1289 ../../include/js_strings.php:55
+msgid "November"
+msgstr ""
+
+#: ../../include/text.php:1289 ../../include/js_strings.php:56
+msgid "December"
+msgstr ""
+
+#: ../../include/text.php:1366 ../../include/text.php:1370
+msgid "Unknown Attachment"
+msgstr ""
+
+#: ../../include/text.php:1372
+msgid "unknown"
+msgstr ""
+
+#: ../../include/text.php:1408
+msgid "remove category"
+msgstr ""
+
+#: ../../include/text.php:1485
+msgid "remove from file"
+msgstr ""
+
+#: ../../include/text.php:1784 ../../include/text.php:1855
+msgid "default"
+msgstr ""
+
+#: ../../include/text.php:1792
+msgid "Page layout"
+msgstr ""
+
+#: ../../include/text.php:1792
+msgid "You can create your own with the layouts tool"
+msgstr ""
+
+#: ../../include/text.php:1834
+msgid "Page content type"
+msgstr ""
+
+#: ../../include/text.php:1867
+msgid "Select an alternate language"
+msgstr ""
+
+#: ../../include/text.php:2004
+msgid "activity"
+msgstr ""
+
+#: ../../include/text.php:2305
+msgid "Design Tools"
+msgstr ""
+
+#: ../../include/text.php:2311
+msgid "Pages"
+msgstr ""
+
+#: ../../include/text.php:2333
+msgid "Import website..."
+msgstr ""
+
+#: ../../include/text.php:2334
+msgid "Select folder to import"
+msgstr ""
+
+#: ../../include/text.php:2335
+msgid "Import from a zipped folder:"
+msgstr ""
+
+#: ../../include/text.php:2336
+msgid "Import from cloud files:"
+msgstr ""
+
+#: ../../include/text.php:2337
+msgid "/cloud/channel/path/to/folder"
+msgstr ""
+
+#: ../../include/text.php:2338
+msgid "Enter path to website files"
+msgstr ""
+
+#: ../../include/text.php:2339
+msgid "Select folder"
+msgstr ""
+
+#: ../../include/text.php:2340
+msgid "Export website..."
+msgstr ""
+
+#: ../../include/text.php:2341
+msgid "Export to a zip file"
+msgstr ""
+
+#: ../../include/text.php:2342
+msgid "website.zip"
+msgstr ""
+
+#: ../../include/text.php:2343
+msgid "Enter a name for the zip file."
+msgstr ""
+
+#: ../../include/text.php:2344
+msgid "Export to cloud files"
+msgstr ""
+
+#: ../../include/text.php:2345
+msgid "/path/to/export/folder"
+msgstr ""
+
+#: ../../include/text.php:2346
+msgid "Enter a path to a cloud files destination."
+msgstr ""
+
+#: ../../include/text.php:2347
+msgid "Specify folder"
+msgstr ""
+
+#: ../../include/zot.php:700
+msgid "Invalid data packet"
+msgstr ""
+
+#: ../../include/zot.php:716
+msgid "Unable to verify channel signature"
+msgstr ""
+
+#: ../../include/zot.php:2329
+#, php-format
+msgid "Unable to verify site signature for %s"
+msgstr ""
+
+#: ../../include/zot.php:3713
+msgid "invalid target signature"
+msgstr ""
+
+#: ../../include/account.php:35
+msgid "Not a valid email address"
+msgstr ""
+
+#: ../../include/account.php:37
+msgid "Your email domain is not among those allowed on this site"
+msgstr ""
+
+#: ../../include/account.php:43
+msgid "Your email address is already registered at this site."
+msgstr ""
+
+#: ../../include/account.php:75
+msgid "An invitation is required."
+msgstr ""
+
+#: ../../include/account.php:79
+msgid "Invitation could not be verified."
+msgstr ""
+
+#: ../../include/account.php:130
+msgid "Please enter the required information."
+msgstr ""
+
+#: ../../include/account.php:198
+msgid "Failed to store account information."
+msgstr ""
+
+#: ../../include/account.php:258
+#, php-format
+msgid "Registration confirmation for %s"
+msgstr ""
+
+#: ../../include/account.php:324
+#, php-format
+msgid "Registration request at %s"
+msgstr ""
+
+#: ../../include/account.php:326 ../../include/account.php:353
+#: ../../include/account.php:413 ../../include/network.php:1937
+msgid "Administrator"
+msgstr ""
+
+#: ../../include/account.php:348
+msgid "your registration password"
+msgstr ""
+
+#: ../../include/account.php:351 ../../include/account.php:411
+#, php-format
+msgid "Registration details for %s"
+msgstr ""
+
+#: ../../include/account.php:423
+msgid "Account approved."
+msgstr ""
+
+#: ../../include/account.php:463
+#, php-format
+msgid "Registration revoked for %s"
+msgstr ""
+
+#: ../../include/account.php:748 ../../include/account.php:750
+msgid "Click here to upgrade."
+msgstr ""
+
+#: ../../include/account.php:756
+msgid "This action exceeds the limits set by your subscription plan."
+msgstr ""
+
+#: ../../include/account.php:761
+msgid "This action is not available under your subscription plan."
+msgstr ""
+
+#: ../../include/message.php:20
+msgid "No recipient provided."
+msgstr ""
+
+#: ../../include/message.php:25
+msgid "[no subject]"
+msgstr ""
+
+#: ../../include/message.php:45
+msgid "Unable to determine sender."
+msgstr ""
+
+#: ../../include/message.php:222
+msgid "Stored post could not be verified."
+msgstr ""
+
#: ../../include/selectors.php:30
msgid "Frequently"
msgstr ""
@@ -7600,357 +8272,196 @@ msgstr ""
msgid "Ask me"
msgstr ""
-#: ../../include/connections.php:95
-msgid "New window"
-msgstr ""
-
-#: ../../include/connections.php:96
-msgid "Open the selected location in a different window or browser tab"
-msgstr ""
-
-#: ../../include/connections.php:214
-#, php-format
-msgid "User '%s' deleted"
-msgstr ""
-
-#: ../../include/bookmarks.php:35
-#, php-format
-msgid "%1$s's bookmarks"
-msgstr ""
-
-#: ../../include/event.php:22 ../../include/event.php:69
-#: ../../include/bb2diaspora.php:485
-msgid "l F d, Y \\@ g:i A"
-msgstr ""
-
-#: ../../include/event.php:30 ../../include/event.php:73
-#: ../../include/bb2diaspora.php:491
-msgid "Starts:"
+#: ../../include/channel.php:33
+msgid "Unable to obtain identity information from database"
msgstr ""
-#: ../../include/event.php:40 ../../include/event.php:77
-#: ../../include/bb2diaspora.php:499
-msgid "Finishes:"
+#: ../../include/channel.php:67
+msgid "Empty name"
msgstr ""
-#: ../../include/event.php:814
-msgid "This event has been added to your calendar."
+#: ../../include/channel.php:70
+msgid "Name too long"
msgstr ""
-#: ../../include/event.php:1014
-msgid "Not specified"
+#: ../../include/channel.php:181
+msgid "No account identifier"
msgstr ""
-#: ../../include/event.php:1015
-msgid "Needs Action"
+#: ../../include/channel.php:193
+msgid "Nickname is required."
msgstr ""
-#: ../../include/event.php:1016
-msgid "Completed"
+#: ../../include/channel.php:207
+msgid "Reserved nickname. Please choose another."
msgstr ""
-#: ../../include/event.php:1017
-msgid "In Process"
+#: ../../include/channel.php:212
+msgid ""
+"Nickname has unsupported characters or is already being used on this site."
msgstr ""
-#: ../../include/event.php:1018
-msgid "Cancelled"
+#: ../../include/channel.php:272
+msgid "Unable to retrieve created identity"
msgstr ""
-#: ../../include/features.php:48
-msgid "General Features"
+#: ../../include/channel.php:341
+msgid "Default Profile"
msgstr ""
-#: ../../include/features.php:50
-msgid "Content Expiration"
+#: ../../include/channel.php:813
+msgid "Requested channel is not available."
msgstr ""
-#: ../../include/features.php:50
-msgid "Remove posts/comments and/or private messages at a future time"
+#: ../../include/channel.php:960
+msgid "Create New Profile"
msgstr ""
-#: ../../include/features.php:51
-msgid "Multiple Profiles"
+#: ../../include/channel.php:963 ../../include/nav.php:93
+msgid "Edit Profile"
msgstr ""
-#: ../../include/features.php:51
-msgid "Ability to create multiple profiles"
+#: ../../include/channel.php:980
+msgid "Visible to everybody"
msgstr ""
-#: ../../include/features.php:52
-msgid "Advanced Profiles"
+#: ../../include/channel.php:1053 ../../include/channel.php:1166
+msgid "Gender:"
msgstr ""
-#: ../../include/features.php:52
-msgid "Additional profile sections and selections"
+#: ../../include/channel.php:1054 ../../include/channel.php:1210
+msgid "Status:"
msgstr ""
-#: ../../include/features.php:53
-msgid "Profile Import/Export"
+#: ../../include/channel.php:1055 ../../include/channel.php:1221
+msgid "Homepage:"
msgstr ""
-#: ../../include/features.php:53
-msgid "Save and load profile details across sites/channels"
+#: ../../include/channel.php:1056
+msgid "Online Now"
msgstr ""
-#: ../../include/features.php:54
-msgid "Web Pages"
+#: ../../include/channel.php:1171
+msgid "Like this channel"
msgstr ""
-#: ../../include/features.php:54
-msgid "Provide managed web pages on your channel"
+#: ../../include/channel.php:1195
+msgid "j F, Y"
msgstr ""
-#: ../../include/features.php:55
-msgid "Provide a wiki for your channel"
+#: ../../include/channel.php:1196
+msgid "j F"
msgstr ""
-#: ../../include/features.php:56
-msgid "Hide Rating"
+#: ../../include/channel.php:1203
+msgid "Birthday:"
msgstr ""
-#: ../../include/features.php:56
-msgid ""
-"Hide the rating buttons on your channel and profile pages. Note: People can "
-"still rate you somewhere else."
+#: ../../include/channel.php:1216
+#, php-format
+msgid "for %1$d %2$s"
msgstr ""
-#: ../../include/features.php:57
-msgid "Private Notes"
+#: ../../include/channel.php:1219
+msgid "Sexual Preference:"
msgstr ""
-#: ../../include/features.php:57
-msgid "Enables a tool to store notes and reminders (note: not encrypted)"
+#: ../../include/channel.php:1225
+msgid "Tags:"
msgstr ""
-#: ../../include/features.php:58
-msgid "Navigation Channel Select"
+#: ../../include/channel.php:1227
+msgid "Political Views:"
msgstr ""
-#: ../../include/features.php:58
-msgid "Change channels directly from within the navigation dropdown menu"
+#: ../../include/channel.php:1229
+msgid "Religion:"
msgstr ""
-#: ../../include/features.php:59
-msgid "Photo Location"
+#: ../../include/channel.php:1233
+msgid "Hobbies/Interests:"
msgstr ""
-#: ../../include/features.php:59
-msgid "If location data is available on uploaded photos, link this to a map."
+#: ../../include/channel.php:1235
+msgid "Likes:"
msgstr ""
-#: ../../include/features.php:60
-msgid "Access Controlled Chatrooms"
+#: ../../include/channel.php:1237
+msgid "Dislikes:"
msgstr ""
-#: ../../include/features.php:60
-msgid "Provide chatrooms and chat services with access control."
+#: ../../include/channel.php:1239
+msgid "Contact information and Social Networks:"
msgstr ""
-#: ../../include/features.php:61
-msgid "Smart Birthdays"
+#: ../../include/channel.php:1241
+msgid "My other channels:"
msgstr ""
-#: ../../include/features.php:61
-msgid ""
-"Make birthday events timezone aware in case your friends are scattered "
-"across the planet."
+#: ../../include/channel.php:1243
+msgid "Musical interests:"
msgstr ""
-#: ../../include/features.php:62
-msgid "Expert Mode"
+#: ../../include/channel.php:1245
+msgid "Books, literature:"
msgstr ""
-#: ../../include/features.php:62
-msgid "Enable Expert Mode to provide advanced configuration options"
+#: ../../include/channel.php:1247
+msgid "Television:"
msgstr ""
-#: ../../include/features.php:63
-msgid "Premium Channel"
+#: ../../include/channel.php:1249
+msgid "Film/dance/culture/entertainment:"
msgstr ""
-#: ../../include/features.php:63
-msgid ""
-"Allows you to set restrictions and terms on those that connect with your "
-"channel"
+#: ../../include/channel.php:1251
+msgid "Love/Romance:"
msgstr ""
-#: ../../include/features.php:68
-msgid "Post Composition Features"
+#: ../../include/channel.php:1253
+msgid "Work/employment:"
msgstr ""
-#: ../../include/features.php:71
-msgid "Large Photos"
+#: ../../include/channel.php:1255
+msgid "School/education:"
msgstr ""
-#: ../../include/features.php:71
-msgid ""
-"Include large (1024px) photo thumbnails in posts. If not enabled, use small "
-"(640px) photo thumbnails"
+#: ../../include/channel.php:1276
+msgid "Like this thing"
msgstr ""
-#: ../../include/features.php:72
-msgid "Automatically import channel content from other channels or feeds"
+#: ../../include/acl_selectors.php:169
+msgid "Who can see this?"
msgstr ""
-#: ../../include/features.php:73
-msgid "Even More Encryption"
+#: ../../include/acl_selectors.php:170
+msgid "Custom selection"
msgstr ""
-#: ../../include/features.php:73
+#: ../../include/acl_selectors.php:171
msgid ""
-"Allow optional encryption of content end-to-end with a shared secret key"
-msgstr ""
-
-#: ../../include/features.php:74
-msgid "Enable Voting Tools"
-msgstr ""
-
-#: ../../include/features.php:74
-msgid "Provide a class of post which others can vote on"
-msgstr ""
-
-#: ../../include/features.php:75
-msgid "Delayed Posting"
+"Select \"Show\" to allow viewing. \"Don't show\" lets you override and limit "
+"the scope of \"Show\"."
msgstr ""
-#: ../../include/features.php:75
-msgid "Allow posts to be published at a later date"
+#: ../../include/acl_selectors.php:172
+msgid "Show"
msgstr ""
-#: ../../include/features.php:76
-msgid "Suppress Duplicate Posts/Comments"
+#: ../../include/acl_selectors.php:173
+msgid "Don't show"
msgstr ""
-#: ../../include/features.php:76
+#: ../../include/acl_selectors.php:207
+#, php-format
msgid ""
-"Prevent posts with identical content to be published with less than two "
-"minutes in between submissions."
-msgstr ""
-
-#: ../../include/features.php:82
-msgid "Network and Stream Filtering"
-msgstr ""
-
-#: ../../include/features.php:83
-msgid "Search by Date"
-msgstr ""
-
-#: ../../include/features.php:83
-msgid "Ability to select posts by date ranges"
-msgstr ""
-
-#: ../../include/features.php:84 ../../include/group.php:311
-msgid "Privacy Groups"
-msgstr ""
-
-#: ../../include/features.php:84
-msgid "Enable management and selection of privacy groups"
-msgstr ""
-
-#: ../../include/features.php:85 ../../include/widgets.php:281
-msgid "Saved Searches"
-msgstr ""
-
-#: ../../include/features.php:85
-msgid "Save search terms for re-use"
-msgstr ""
-
-#: ../../include/features.php:86
-msgid "Network Personal Tab"
-msgstr ""
-
-#: ../../include/features.php:86
-msgid "Enable tab to display only Network posts that you've interacted on"
-msgstr ""
-
-#: ../../include/features.php:87
-msgid "Network New Tab"
-msgstr ""
-
-#: ../../include/features.php:87
-msgid "Enable tab to display all new Network activity"
-msgstr ""
-
-#: ../../include/features.php:88
-msgid "Affinity Tool"
-msgstr ""
-
-#: ../../include/features.php:88
-msgid "Filter stream activity by depth of relationships"
-msgstr ""
-
-#: ../../include/features.php:89
-msgid "Connection Filtering"
-msgstr ""
-
-#: ../../include/features.php:89
-msgid "Filter incoming posts from connections based on keywords/content"
-msgstr ""
-
-#: ../../include/features.php:90
-msgid "Show channel suggestions"
-msgstr ""
-
-#: ../../include/features.php:95
-msgid "Post/Comment Tools"
-msgstr ""
-
-#: ../../include/features.php:96
-msgid "Community Tagging"
-msgstr ""
-
-#: ../../include/features.php:96
-msgid "Ability to tag existing posts"
-msgstr ""
-
-#: ../../include/features.php:97
-msgid "Post Categories"
-msgstr ""
-
-#: ../../include/features.php:97
-msgid "Add categories to your posts"
-msgstr ""
-
-#: ../../include/features.php:98
-msgid "Emoji Reactions"
-msgstr ""
-
-#: ../../include/features.php:98
-msgid "Add emoji reaction ability to posts"
-msgstr ""
-
-#: ../../include/features.php:99 ../../include/widgets.php:310
-#: ../../include/contact_widgets.php:53
-msgid "Saved Folders"
-msgstr ""
-
-#: ../../include/features.php:99
-msgid "Ability to file posts under folders"
-msgstr ""
-
-#: ../../include/features.php:100
-msgid "Dislike Posts"
-msgstr ""
-
-#: ../../include/features.php:100
-msgid "Ability to dislike posts/comments"
-msgstr ""
-
-#: ../../include/features.php:101
-msgid "Star Posts"
-msgstr ""
-
-#: ../../include/features.php:101
-msgid "Ability to mark special posts with a star indicator"
-msgstr ""
-
-#: ../../include/features.php:102
-msgid "Tag Cloud"
+"Post permissions %s cannot be changed %s after a post is shared.</br />These "
+"permissions set who is allowed to view the post."
msgstr ""
-#: ../../include/features.php:102
-msgid "Provide a personal tag cloud on your channel page"
+#: ../../include/bookmarks.php:35
+#, php-format
+msgid "%1$s's bookmarks"
msgstr ""
#: ../../include/group.php:26
@@ -7980,329 +8491,245 @@ msgstr ""
msgid "Channels not in any privacy group"
msgstr ""
-#: ../../include/group.php:316 ../../include/widgets.php:282
+#: ../../include/group.php:316 ../../include/widgets.php:284
msgid "add"
msgstr ""
-#: ../../include/nav.php:82 ../../include/nav.php:115 ../../boot.php:1706
+#: ../../include/connections.php:95
+msgid "New window"
+msgstr ""
+
+#: ../../include/connections.php:96
+msgid "Open the selected location in a different window or browser tab"
+msgstr ""
+
+#: ../../include/connections.php:214
+#, php-format
+msgid "User '%s' deleted"
+msgstr ""
+
+#: ../../include/page_widgets.php:7
+msgid "New Page"
+msgstr ""
+
+#: ../../include/page_widgets.php:46
+msgid "Title"
+msgstr ""
+
+#: ../../include/wiki.php:525 ../../include/bbcode.php:619
+msgid "Different viewers will see this text differently"
+msgstr ""
+
+#: ../../include/nav.php:85 ../../include/nav.php:118 ../../boot.php:1738
msgid "Logout"
msgstr ""
-#: ../../include/nav.php:82 ../../include/nav.php:115
+#: ../../include/nav.php:85 ../../include/nav.php:118
msgid "End this session"
msgstr ""
-#: ../../include/nav.php:85 ../../include/nav.php:146
+#: ../../include/nav.php:88 ../../include/nav.php:149
msgid "Home"
msgstr ""
-#: ../../include/nav.php:85
+#: ../../include/nav.php:88
msgid "Your posts and conversations"
msgstr ""
-#: ../../include/nav.php:86
+#: ../../include/nav.php:89
msgid "Your profile page"
msgstr ""
-#: ../../include/nav.php:88
+#: ../../include/nav.php:91
msgid "Manage/Edit profiles"
msgstr ""
-#: ../../include/nav.php:90 ../../include/channel.php:971
-msgid "Edit Profile"
-msgstr ""
-
-#: ../../include/nav.php:90
+#: ../../include/nav.php:93
msgid "Edit your profile"
msgstr ""
-#: ../../include/nav.php:92
+#: ../../include/nav.php:95
msgid "Your photos"
msgstr ""
-#: ../../include/nav.php:93
+#: ../../include/nav.php:96
msgid "Your files"
msgstr ""
-#: ../../include/nav.php:96
+#: ../../include/nav.php:99
msgid "Your chatrooms"
msgstr ""
-#: ../../include/nav.php:102 ../../include/conversation.php:1690
+#: ../../include/nav.php:105 ../../include/conversation.php:1715
msgid "Bookmarks"
msgstr ""
-#: ../../include/nav.php:102
+#: ../../include/nav.php:105
msgid "Your bookmarks"
msgstr ""
-#: ../../include/nav.php:106
+#: ../../include/nav.php:109
msgid "Your webpages"
msgstr ""
-#: ../../include/nav.php:108
+#: ../../include/nav.php:111
msgid "Your wiki"
msgstr ""
-#: ../../include/nav.php:112
+#: ../../include/nav.php:115
msgid "Sign in"
msgstr ""
-#: ../../include/nav.php:129
+#: ../../include/nav.php:132
#, php-format
msgid "%s - click to logout"
msgstr ""
-#: ../../include/nav.php:132
+#: ../../include/nav.php:135
msgid "Remote authentication"
msgstr ""
-#: ../../include/nav.php:132
+#: ../../include/nav.php:135
msgid "Click to authenticate to your home hub"
msgstr ""
-#: ../../include/nav.php:146
+#: ../../include/nav.php:149
msgid "Home Page"
msgstr ""
-#: ../../include/nav.php:149
+#: ../../include/nav.php:152
msgid "Create an account"
msgstr ""
-#: ../../include/nav.php:161
+#: ../../include/nav.php:164
msgid "Help and documentation"
msgstr ""
-#: ../../include/nav.php:165
+#: ../../include/nav.php:168
msgid "Applications, utilities, links, games"
msgstr ""
-#: ../../include/nav.php:167
+#: ../../include/nav.php:170
msgid "Search site @name, #tag, ?docs, content"
msgstr ""
-#: ../../include/nav.php:169
+#: ../../include/nav.php:172
msgid "Channel Directory"
msgstr ""
-#: ../../include/nav.php:181
+#: ../../include/nav.php:184
msgid "Your grid"
msgstr ""
-#: ../../include/nav.php:182
+#: ../../include/nav.php:185
msgid "Mark all grid notifications seen"
msgstr ""
-#: ../../include/nav.php:184
+#: ../../include/nav.php:187
msgid "Channel home"
msgstr ""
-#: ../../include/nav.php:185
+#: ../../include/nav.php:188
msgid "Mark all channel notifications seen"
msgstr ""
-#: ../../include/nav.php:191
+#: ../../include/nav.php:194
msgid "Notices"
msgstr ""
-#: ../../include/nav.php:191
+#: ../../include/nav.php:194
msgid "Notifications"
msgstr ""
-#: ../../include/nav.php:192
+#: ../../include/nav.php:195
msgid "See all notifications"
msgstr ""
-#: ../../include/nav.php:195
+#: ../../include/nav.php:198
msgid "Private mail"
msgstr ""
-#: ../../include/nav.php:196
+#: ../../include/nav.php:199
msgid "See all private messages"
msgstr ""
-#: ../../include/nav.php:197
+#: ../../include/nav.php:200
msgid "Mark all private messages seen"
msgstr ""
-#: ../../include/nav.php:198 ../../include/widgets.php:667
+#: ../../include/nav.php:201 ../../include/widgets.php:700
msgid "Inbox"
msgstr ""
-#: ../../include/nav.php:199 ../../include/widgets.php:672
+#: ../../include/nav.php:202 ../../include/widgets.php:705
msgid "Outbox"
msgstr ""
-#: ../../include/nav.php:200 ../../include/widgets.php:677
+#: ../../include/nav.php:203 ../../include/widgets.php:710
msgid "New Message"
msgstr ""
-#: ../../include/nav.php:203
+#: ../../include/nav.php:206
msgid "Event Calendar"
msgstr ""
-#: ../../include/nav.php:204
+#: ../../include/nav.php:207
msgid "See all events"
msgstr ""
-#: ../../include/nav.php:205
+#: ../../include/nav.php:208
msgid "Mark all events seen"
msgstr ""
-#: ../../include/nav.php:208
+#: ../../include/nav.php:211
msgid "Manage Your Channels"
msgstr ""
-#: ../../include/nav.php:210
+#: ../../include/nav.php:213
msgid "Account/Channel Settings"
msgstr ""
-#: ../../include/nav.php:218 ../../include/widgets.php:1524
+#: ../../include/nav.php:221 ../../include/widgets.php:1594
msgid "Admin"
msgstr ""
-#: ../../include/nav.php:218
+#: ../../include/nav.php:221
msgid "Site Setup and Configuration"
msgstr ""
-#: ../../include/nav.php:249 ../../include/conversation.php:854
+#: ../../include/nav.php:252 ../../include/conversation.php:853
msgid "Loading..."
msgstr ""
-#: ../../include/nav.php:254
+#: ../../include/nav.php:257
msgid "@name, #tag, ?doc, content"
msgstr ""
-#: ../../include/nav.php:255
+#: ../../include/nav.php:258
msgid "Please wait..."
msgstr ""
-#: ../../include/network.php:704
-msgid "view full size"
-msgstr ""
-
-#: ../../include/network.php:1944
-msgid "No Subject"
-msgstr ""
-
-#: ../../include/network.php:2198 ../../include/network.php:2199
-msgid "Friendica"
-msgstr ""
-
-#: ../../include/network.php:2200
-msgid "OStatus"
-msgstr ""
-
-#: ../../include/network.php:2201
-msgid "GNU-Social"
-msgstr ""
-
-#: ../../include/network.php:2202
-msgid "RSS/Atom"
-msgstr ""
-
-#: ../../include/network.php:2204
-msgid "Diaspora"
-msgstr ""
-
-#: ../../include/network.php:2205
-msgid "Facebook"
-msgstr ""
-
-#: ../../include/network.php:2206
-msgid "Zot"
-msgstr ""
-
-#: ../../include/network.php:2207
-msgid "LinkedIn"
-msgstr ""
-
-#: ../../include/network.php:2208
-msgid "XMPP/IM"
-msgstr ""
-
-#: ../../include/network.php:2209
-msgid "MySpace"
-msgstr ""
-
-#: ../../include/page_widgets.php:7
-msgid "New Page"
-msgstr ""
-
-#: ../../include/page_widgets.php:46
-msgid "Title"
-msgstr ""
-
-#: ../../include/zot.php:697
-msgid "Invalid data packet"
-msgstr ""
-
-#: ../../include/zot.php:713
-msgid "Unable to verify channel signature"
-msgstr ""
-
-#: ../../include/zot.php:2326
-#, php-format
-msgid "Unable to verify site signature for %s"
-msgstr ""
-
-#: ../../include/zot.php:3703
-msgid "invalid target signature"
-msgstr ""
-
#: ../../include/bb2diaspora.php:398
msgid "Attachments:"
msgstr ""
-#: ../../include/bb2diaspora.php:487
-msgid "$Projectname event notification:"
-msgstr ""
-
-#: ../../include/bbcode.php:123 ../../include/bbcode.php:878
-#: ../../include/bbcode.php:881 ../../include/bbcode.php:886
-#: ../../include/bbcode.php:889 ../../include/bbcode.php:892
-#: ../../include/bbcode.php:895 ../../include/bbcode.php:900
-#: ../../include/bbcode.php:903 ../../include/bbcode.php:908
-#: ../../include/bbcode.php:911 ../../include/bbcode.php:914
-#: ../../include/bbcode.php:917
-msgid "Image/photo"
-msgstr ""
-
-#: ../../include/bbcode.php:162 ../../include/bbcode.php:928
-msgid "Encrypted content"
-msgstr ""
-
-#: ../../include/bbcode.php:178
-#, php-format
-msgid "Install %s element: "
-msgstr ""
-
-#: ../../include/bbcode.php:182
-#, php-format
-msgid ""
-"This post contains an installable %s element, however you lack permissions "
-"to install it on this site."
-msgstr ""
-
-#: ../../include/bbcode.php:261
-#, php-format
-msgid "%1$s wrote the following %2$s %3$s"
-msgstr ""
-
-#: ../../include/bbcode.php:338 ../../include/bbcode.php:346
-msgid "Click to open/close"
+#: ../../include/bb2diaspora.php:485 ../../include/event.php:22
+#: ../../include/event.php:69
+msgid "l F d, Y \\@ g:i A"
msgstr ""
-#: ../../include/bbcode.php:346
-msgid "spoiler"
+#: ../../include/bb2diaspora.php:487
+msgid "$Projectname event notification:"
msgstr ""
-#: ../../include/bbcode.php:619
-msgid "Different viewers will see this text differently"
+#: ../../include/bb2diaspora.php:491 ../../include/event.php:30
+#: ../../include/event.php:73
+msgid "Starts:"
msgstr ""
-#: ../../include/bbcode.php:866
-msgid "$1 wrote:"
+#: ../../include/bb2diaspora.php:499 ../../include/event.php:40
+#: ../../include/event.php:77
+msgid "Finishes:"
msgstr ""
#: ../../include/js_strings.php:5
@@ -8445,55 +8872,11 @@ msgstr ""
msgid "timeago.numbers"
msgstr ""
-#: ../../include/js_strings.php:45 ../../include/text.php:1241
-msgid "January"
-msgstr ""
-
-#: ../../include/js_strings.php:46 ../../include/text.php:1241
-msgid "February"
-msgstr ""
-
-#: ../../include/js_strings.php:47 ../../include/text.php:1241
-msgid "March"
-msgstr ""
-
-#: ../../include/js_strings.php:48 ../../include/text.php:1241
-msgid "April"
-msgstr ""
-
#: ../../include/js_strings.php:49
msgctxt "long"
msgid "May"
msgstr ""
-#: ../../include/js_strings.php:50 ../../include/text.php:1241
-msgid "June"
-msgstr ""
-
-#: ../../include/js_strings.php:51 ../../include/text.php:1241
-msgid "July"
-msgstr ""
-
-#: ../../include/js_strings.php:52 ../../include/text.php:1241
-msgid "August"
-msgstr ""
-
-#: ../../include/js_strings.php:53 ../../include/text.php:1241
-msgid "September"
-msgstr ""
-
-#: ../../include/js_strings.php:54 ../../include/text.php:1241
-msgid "October"
-msgstr ""
-
-#: ../../include/js_strings.php:55 ../../include/text.php:1241
-msgid "November"
-msgstr ""
-
-#: ../../include/js_strings.php:56 ../../include/text.php:1241
-msgid "December"
-msgstr ""
-
#: ../../include/js_strings.php:57
msgid "Jan"
msgstr ""
@@ -8543,34 +8926,6 @@ msgstr ""
msgid "Dec"
msgstr ""
-#: ../../include/js_strings.php:69 ../../include/text.php:1237
-msgid "Sunday"
-msgstr ""
-
-#: ../../include/js_strings.php:70 ../../include/text.php:1237
-msgid "Monday"
-msgstr ""
-
-#: ../../include/js_strings.php:71 ../../include/text.php:1237
-msgid "Tuesday"
-msgstr ""
-
-#: ../../include/js_strings.php:72 ../../include/text.php:1237
-msgid "Wednesday"
-msgstr ""
-
-#: ../../include/js_strings.php:73 ../../include/text.php:1237
-msgid "Thursday"
-msgstr ""
-
-#: ../../include/js_strings.php:74 ../../include/text.php:1237
-msgid "Friday"
-msgstr ""
-
-#: ../../include/js_strings.php:75 ../../include/text.php:1237
-msgid "Saturday"
-msgstr ""
-
#: ../../include/js_strings.php:76
msgid "Sun"
msgstr ""
@@ -8624,8 +8979,75 @@ msgctxt "calendar"
msgid "All day"
msgstr ""
-#: ../../include/api.php:1327
-msgid "Public Timeline"
+#: ../../include/follow.php:27
+msgid "Channel is blocked on this site."
+msgstr ""
+
+#: ../../include/follow.php:32
+msgid "Channel location missing."
+msgstr ""
+
+#: ../../include/follow.php:80
+msgid "Response from remote channel was incomplete."
+msgstr ""
+
+#: ../../include/follow.php:97
+msgid "Channel was deleted and no longer exists."
+msgstr ""
+
+#: ../../include/follow.php:147 ../../include/follow.php:183
+msgid "Protocol disabled."
+msgstr ""
+
+#: ../../include/follow.php:171
+msgid "Channel discovery failed."
+msgstr ""
+
+#: ../../include/follow.php:210
+msgid "Cannot connect to yourself."
+msgstr ""
+
+#: ../../include/bbcode.php:123 ../../include/bbcode.php:881
+#: ../../include/bbcode.php:884 ../../include/bbcode.php:889
+#: ../../include/bbcode.php:892 ../../include/bbcode.php:895
+#: ../../include/bbcode.php:898 ../../include/bbcode.php:903
+#: ../../include/bbcode.php:906 ../../include/bbcode.php:911
+#: ../../include/bbcode.php:914 ../../include/bbcode.php:917
+#: ../../include/bbcode.php:920
+msgid "Image/photo"
+msgstr ""
+
+#: ../../include/bbcode.php:162 ../../include/bbcode.php:931
+msgid "Encrypted content"
+msgstr ""
+
+#: ../../include/bbcode.php:178
+#, php-format
+msgid "Install %s element: "
+msgstr ""
+
+#: ../../include/bbcode.php:182
+#, php-format
+msgid ""
+"This post contains an installable %s element, however you lack permissions "
+"to install it on this site."
+msgstr ""
+
+#: ../../include/bbcode.php:261
+#, php-format
+msgid "%1$s wrote the following %2$s %3$s"
+msgstr ""
+
+#: ../../include/bbcode.php:338 ../../include/bbcode.php:346
+msgid "Click to open/close"
+msgstr ""
+
+#: ../../include/bbcode.php:346
+msgid "spoiler"
+msgstr ""
+
+#: ../../include/bbcode.php:869
+msgid "$1 wrote:"
msgstr ""
#: ../../include/conversation.php:204
@@ -8638,11 +9060,6 @@ msgstr ""
msgid "%1$s poked %2$s"
msgstr ""
-#: ../../include/conversation.php:243 ../../include/text.php:1013
-#: ../../include/text.php:1018
-msgid "poked"
-msgstr ""
-
#: ../../include/conversation.php:694
#, php-format
msgid "View %s's profile @ %s"
@@ -8656,329 +9073,410 @@ msgstr ""
msgid "Filed under:"
msgstr ""
-#: ../../include/conversation.php:741
+#: ../../include/conversation.php:739
msgid "View in context"
msgstr ""
-#: ../../include/conversation.php:850
+#: ../../include/conversation.php:849
msgid "remove"
msgstr ""
-#: ../../include/conversation.php:855
+#: ../../include/conversation.php:854
msgid "Delete Selected Items"
msgstr ""
-#: ../../include/conversation.php:951
+#: ../../include/conversation.php:947
msgid "View Source"
msgstr ""
-#: ../../include/conversation.php:952
+#: ../../include/conversation.php:948
msgid "Follow Thread"
msgstr ""
-#: ../../include/conversation.php:953
+#: ../../include/conversation.php:949
msgid "Unfollow Thread"
msgstr ""
-#: ../../include/conversation.php:958
+#: ../../include/conversation.php:954
msgid "Activity/Posts"
msgstr ""
-#: ../../include/conversation.php:960
+#: ../../include/conversation.php:956
msgid "Edit Connection"
msgstr ""
-#: ../../include/conversation.php:961
+#: ../../include/conversation.php:957
msgid "Message"
msgstr ""
-#: ../../include/conversation.php:1078
+#: ../../include/conversation.php:1077
#, php-format
msgid "%s likes this."
msgstr ""
-#: ../../include/conversation.php:1078
+#: ../../include/conversation.php:1077
#, php-format
msgid "%s doesn't like this."
msgstr ""
-#: ../../include/conversation.php:1082
+#: ../../include/conversation.php:1081
#, 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:1084
+#: ../../include/conversation.php:1083
#, 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:1090
+#: ../../include/conversation.php:1089
msgid "and"
msgstr ""
-#: ../../include/conversation.php:1093
+#: ../../include/conversation.php:1092
#, php-format
msgid ", and %d other people"
msgid_plural ", and %d other people"
msgstr[0] ""
msgstr[1] ""
-#: ../../include/conversation.php:1094
+#: ../../include/conversation.php:1093
#, php-format
msgid "%s like this."
msgstr ""
-#: ../../include/conversation.php:1094
+#: ../../include/conversation.php:1093
#, php-format
msgid "%s don't like this."
msgstr ""
-#: ../../include/conversation.php:1133
+#: ../../include/conversation.php:1136
msgid "Set your location"
msgstr ""
-#: ../../include/conversation.php:1134
+#: ../../include/conversation.php:1137
msgid "Clear browser location"
msgstr ""
-#: ../../include/conversation.php:1182
+#: ../../include/conversation.php:1185
msgid "Tag term:"
msgstr ""
-#: ../../include/conversation.php:1183
+#: ../../include/conversation.php:1186
msgid "Where are you right now?"
msgstr ""
-#: ../../include/conversation.php:1221
+#: ../../include/conversation.php:1195
+msgid "Comments enabled"
+msgstr ""
+
+#: ../../include/conversation.php:1196
+msgid "Comments disabled"
+msgstr ""
+
+#: ../../include/conversation.php:1234
msgid "Page link name"
msgstr ""
-#: ../../include/conversation.php:1224
+#: ../../include/conversation.php:1237
msgid "Post as"
msgstr ""
-#: ../../include/conversation.php:1238
+#: ../../include/conversation.php:1251
msgid "Toggle voting"
msgstr ""
-#: ../../include/conversation.php:1246
+#: ../../include/conversation.php:1254
+msgid "Disable comments"
+msgstr ""
+
+#: ../../include/conversation.php:1255
+msgid "Toggle comments"
+msgstr ""
+
+#: ../../include/conversation.php:1263
msgid "Categories (optional, comma-separated list)"
msgstr ""
-#: ../../include/conversation.php:1269
+#: ../../include/conversation.php:1286
+msgid "Other networks and post services"
+msgstr ""
+
+#: ../../include/conversation.php:1292
msgid "Set publish date"
msgstr ""
-#: ../../include/conversation.php:1518
+#: ../../include/conversation.php:1541
msgid "Discover"
msgstr ""
-#: ../../include/conversation.php:1521
+#: ../../include/conversation.php:1544
msgid "Imported public streams"
msgstr ""
-#: ../../include/conversation.php:1526
+#: ../../include/conversation.php:1549
msgid "Commented Order"
msgstr ""
-#: ../../include/conversation.php:1529
+#: ../../include/conversation.php:1552
msgid "Sort by Comment Date"
msgstr ""
-#: ../../include/conversation.php:1533
+#: ../../include/conversation.php:1556
msgid "Posted Order"
msgstr ""
-#: ../../include/conversation.php:1536
+#: ../../include/conversation.php:1559
msgid "Sort by Post Date"
msgstr ""
-#: ../../include/conversation.php:1544
+#: ../../include/conversation.php:1567
msgid "Posts that mention or involve you"
msgstr ""
-#: ../../include/conversation.php:1553
+#: ../../include/conversation.php:1576
msgid "Activity Stream - by date"
msgstr ""
-#: ../../include/conversation.php:1559
+#: ../../include/conversation.php:1582
msgid "Starred"
msgstr ""
-#: ../../include/conversation.php:1562
+#: ../../include/conversation.php:1585
msgid "Favourite Posts"
msgstr ""
-#: ../../include/conversation.php:1569
+#: ../../include/conversation.php:1592
msgid "Spam"
msgstr ""
-#: ../../include/conversation.php:1572
+#: ../../include/conversation.php:1595
msgid "Posts flagged as SPAM"
msgstr ""
-#: ../../include/conversation.php:1629
+#: ../../include/conversation.php:1654
msgid "Status Messages and Posts"
msgstr ""
-#: ../../include/conversation.php:1638
+#: ../../include/conversation.php:1663
msgid "About"
msgstr ""
-#: ../../include/conversation.php:1641
+#: ../../include/conversation.php:1666
msgid "Profile Details"
msgstr ""
-#: ../../include/conversation.php:1657
+#: ../../include/conversation.php:1682
msgid "Files and Storage"
msgstr ""
-#: ../../include/conversation.php:1677 ../../include/conversation.php:1680
-#: ../../include/widgets.php:850
+#: ../../include/conversation.php:1702 ../../include/conversation.php:1705
+#: ../../include/widgets.php:883
msgid "Chatrooms"
msgstr ""
-#: ../../include/conversation.php:1693
+#: ../../include/conversation.php:1718
msgid "Saved Bookmarks"
msgstr ""
-#: ../../include/conversation.php:1703
+#: ../../include/conversation.php:1728
msgid "Manage Webpages"
msgstr ""
-#: ../../include/conversation.php:1768
+#: ../../include/conversation.php:1793
msgctxt "noun"
msgid "Attending"
msgid_plural "Attending"
msgstr[0] ""
msgstr[1] ""
-#: ../../include/conversation.php:1771
+#: ../../include/conversation.php:1796
msgctxt "noun"
msgid "Not Attending"
msgid_plural "Not Attending"
msgstr[0] ""
msgstr[1] ""
-#: ../../include/conversation.php:1774
+#: ../../include/conversation.php:1799
msgctxt "noun"
msgid "Undecided"
msgid_plural "Undecided"
msgstr[0] ""
msgstr[1] ""
-#: ../../include/conversation.php:1777
+#: ../../include/conversation.php:1802
msgctxt "noun"
msgid "Agree"
msgid_plural "Agrees"
msgstr[0] ""
msgstr[1] ""
-#: ../../include/conversation.php:1780
+#: ../../include/conversation.php:1805
msgctxt "noun"
msgid "Disagree"
msgid_plural "Disagrees"
msgstr[0] ""
msgstr[1] ""
-#: ../../include/conversation.php:1783
+#: ../../include/conversation.php:1808
msgctxt "noun"
msgid "Abstain"
msgid_plural "Abstains"
msgstr[0] ""
msgstr[1] ""
-#: ../../include/follow.php:27
-msgid "Channel is blocked on this site."
+#: ../../include/datetime.php:147
+msgid "Birthday"
msgstr ""
-#: ../../include/follow.php:32
-msgid "Channel location missing."
+#: ../../include/datetime.php:149
+msgid "Age: "
msgstr ""
-#: ../../include/follow.php:80
-msgid "Response from remote channel was incomplete."
+#: ../../include/datetime.php:151
+msgid "YYYY-MM-DD or MM-DD"
msgstr ""
-#: ../../include/follow.php:97
-msgid "Channel was deleted and no longer exists."
+#: ../../include/datetime.php:284 ../../boot.php:2578
+msgid "never"
msgstr ""
-#: ../../include/follow.php:147 ../../include/follow.php:183
-msgid "Protocol disabled."
+#: ../../include/datetime.php:290
+msgid "less than a second ago"
msgstr ""
-#: ../../include/follow.php:171
-msgid "Channel discovery failed."
+#: ../../include/datetime.php:308
+#, php-format
+msgctxt "e.g. 22 hours ago, 1 minute ago"
+msgid "%1$d %2$s ago"
msgstr ""
-#: ../../include/follow.php:210
-msgid "Cannot connect to yourself."
+#: ../../include/datetime.php:319
+msgctxt "relative_date"
+msgid "year"
+msgid_plural "years"
+msgstr[0] ""
+msgstr[1] ""
+
+#: ../../include/datetime.php:322
+msgctxt "relative_date"
+msgid "month"
+msgid_plural "months"
+msgstr[0] ""
+msgstr[1] ""
+
+#: ../../include/datetime.php:325
+msgctxt "relative_date"
+msgid "week"
+msgid_plural "weeks"
+msgstr[0] ""
+msgstr[1] ""
+
+#: ../../include/datetime.php:328
+msgctxt "relative_date"
+msgid "day"
+msgid_plural "days"
+msgstr[0] ""
+msgstr[1] ""
+
+#: ../../include/datetime.php:331
+msgctxt "relative_date"
+msgid "hour"
+msgid_plural "hours"
+msgstr[0] ""
+msgstr[1] ""
+
+#: ../../include/datetime.php:334
+msgctxt "relative_date"
+msgid "minute"
+msgid_plural "minutes"
+msgstr[0] ""
+msgstr[1] ""
+
+#: ../../include/datetime.php:337
+msgctxt "relative_date"
+msgid "second"
+msgid_plural "seconds"
+msgstr[0] ""
+msgstr[1] ""
+
+#: ../../include/datetime.php:574
+#, php-format
+msgid "%1$s's birthday"
msgstr ""
-#: ../../include/import.php:30
-msgid ""
-"Cannot create a duplicate channel identifier on this system. Import failed."
+#: ../../include/datetime.php:575
+#, php-format
+msgid "Happy Birthday %1$s"
msgstr ""
-#: ../../include/import.php:97
-msgid "Channel clone failed. Import failed."
+#: ../../include/dir_fns.php:141
+msgid "Directory Options"
msgstr ""
-#: ../../include/permissions.php:29
-msgid "Can view my normal stream and posts"
+#: ../../include/dir_fns.php:143
+msgid "Safe Mode"
msgstr ""
-#: ../../include/permissions.php:33
-msgid "Can view my webpages"
+#: ../../include/dir_fns.php:144
+msgid "Public Forums Only"
msgstr ""
-#: ../../include/permissions.php:37
-msgid "Can post on my channel page (\"wall\")"
+#: ../../include/dir_fns.php:145
+msgid "This Website Only"
msgstr ""
-#: ../../include/permissions.php:40
-msgid "Can like/dislike stuff"
+#: ../../include/event.php:824
+msgid "This event has been added to your calendar."
msgstr ""
-#: ../../include/permissions.php:40
-msgid "Profiles and things other than posts/comments"
+#: ../../include/event.php:1024
+msgid "Not specified"
msgstr ""
-#: ../../include/permissions.php:42
-msgid "Can forward to all my channel contacts via post @mentions"
+#: ../../include/event.php:1025
+msgid "Needs Action"
msgstr ""
-#: ../../include/permissions.php:42
-msgid "Advanced - useful for creating group forum channels"
+#: ../../include/event.php:1026
+msgid "Completed"
msgstr ""
-#: ../../include/permissions.php:43
-msgid "Can chat with me (when available)"
+#: ../../include/event.php:1027
+msgid "In Process"
msgstr ""
-#: ../../include/permissions.php:44
-msgid "Can write to my file storage and photos"
+#: ../../include/event.php:1028
+msgid "Cancelled"
msgstr ""
-#: ../../include/permissions.php:45
-msgid "Can edit my webpages"
+#: ../../include/import.php:30
+msgid ""
+"Cannot create a duplicate channel identifier on this system. Import failed."
msgstr ""
-#: ../../include/permissions.php:47
-msgid "Somewhat advanced - very useful in open communities"
+#: ../../include/import.php:97
+msgid "Channel clone failed. Import failed."
msgstr ""
-#: ../../include/permissions.php:49
-msgid "Can administer my channel resources"
+#: ../../include/import.php:1447
+msgid "Unable to import element \""
msgstr ""
-#: ../../include/permissions.php:49
-msgid "Extremely advanced. Leave this alone unless you know what you are doing"
+#: ../../include/auth.php:148
+msgid "Logged out."
+msgstr ""
+
+#: ../../include/auth.php:275
+msgid "Failed authentication"
+msgstr ""
+
+#: ../../include/auth.php:286
+msgid "Login failed."
msgstr ""
#: ../../include/activities.php:41
@@ -9004,71 +9502,57 @@ msgstr ""
msgid "%1$s has an updated %2$s, changing %3$s."
msgstr ""
-#: ../../include/attach.php:248 ../../include/attach.php:334
-msgid "Item was not found."
-msgstr ""
-
-#: ../../include/attach.php:500
-msgid "No source file."
-msgstr ""
-
-#: ../../include/attach.php:522
-msgid "Cannot locate file to replace"
-msgstr ""
-
-#: ../../include/attach.php:540
-msgid "Cannot locate file to revise/update"
+#: ../../include/network.php:704
+msgid "view full size"
msgstr ""
-#: ../../include/attach.php:675
-#, php-format
-msgid "File exceeds size limit of %d"
+#: ../../include/network.php:1953
+msgid "No Subject"
msgstr ""
-#: ../../include/attach.php:689
-#, php-format
-msgid "You have reached your limit of %1$.0f Mbytes attachment storage."
+#: ../../include/network.php:2207 ../../include/network.php:2208
+msgid "Friendica"
msgstr ""
-#: ../../include/attach.php:847
-msgid "File upload failed. Possible system limit or action terminated."
+#: ../../include/network.php:2209
+msgid "OStatus"
msgstr ""
-#: ../../include/attach.php:860
-msgid "Stored file could not be verified. Upload failed."
+#: ../../include/network.php:2210
+msgid "GNU-Social"
msgstr ""
-#: ../../include/attach.php:916 ../../include/attach.php:932
-msgid "Path not available."
+#: ../../include/network.php:2211
+msgid "RSS/Atom"
msgstr ""
-#: ../../include/attach.php:978 ../../include/attach.php:1130
-msgid "Empty pathname"
+#: ../../include/network.php:2213
+msgid "Diaspora"
msgstr ""
-#: ../../include/attach.php:1004
-msgid "duplicate filename or path"
+#: ../../include/network.php:2214
+msgid "Facebook"
msgstr ""
-#: ../../include/attach.php:1026
-msgid "Path not found."
+#: ../../include/network.php:2215
+msgid "Zot"
msgstr ""
-#: ../../include/attach.php:1084
-msgid "mkdir failed."
+#: ../../include/network.php:2216
+msgid "LinkedIn"
msgstr ""
-#: ../../include/attach.php:1088
-msgid "database storage failed."
+#: ../../include/network.php:2217
+msgid "XMPP/IM"
msgstr ""
-#: ../../include/attach.php:1136
-msgid "Empty path"
+#: ../../include/network.php:2218
+msgid "MySpace"
msgstr ""
#: ../../include/taxonomy.php:188 ../../include/taxonomy.php:270
-#: ../../include/widgets.php:46 ../../include/widgets.php:429
-#: ../../include/contact_widgets.php:91
+#: ../../include/contact_widgets.php:91 ../../include/widgets.php:46
+#: ../../include/widgets.php:465
msgid "Categories"
msgstr ""
@@ -9104,257 +9588,55 @@ msgstr ""
msgid "dislikes"
msgstr ""
-#: ../../include/auth.php:148
-msgid "Logged out."
-msgstr ""
-
-#: ../../include/auth.php:275
-msgid "Failed authentication"
-msgstr ""
-
-#: ../../include/auth.php:286
-msgid "Login failed."
-msgstr ""
-
-#: ../../include/text.php:404
-msgid "prev"
-msgstr ""
-
-#: ../../include/text.php:406
-msgid "first"
-msgstr ""
-
-#: ../../include/text.php:435
-msgid "last"
-msgstr ""
-
-#: ../../include/text.php:438
-msgid "next"
-msgstr ""
-
-#: ../../include/text.php:448
-msgid "older"
-msgstr ""
-
-#: ../../include/text.php:450
-msgid "newer"
-msgstr ""
-
-#: ../../include/text.php:843
-msgid "No connections"
-msgstr ""
-
-#: ../../include/text.php:868
+#: ../../include/contact_widgets.php:11
#, php-format
-msgid "View all %s connections"
-msgstr ""
-
-#: ../../include/text.php:1013 ../../include/text.php:1018
-msgid "poke"
-msgstr ""
-
-#: ../../include/text.php:1019
-msgid "ping"
-msgstr ""
-
-#: ../../include/text.php:1019
-msgid "pinged"
-msgstr ""
-
-#: ../../include/text.php:1020
-msgid "prod"
-msgstr ""
-
-#: ../../include/text.php:1020
-msgid "prodded"
-msgstr ""
-
-#: ../../include/text.php:1021
-msgid "slap"
-msgstr ""
-
-#: ../../include/text.php:1021
-msgid "slapped"
-msgstr ""
-
-#: ../../include/text.php:1022
-msgid "finger"
-msgstr ""
-
-#: ../../include/text.php:1022
-msgid "fingered"
-msgstr ""
-
-#: ../../include/text.php:1023
-msgid "rebuff"
-msgstr ""
-
-#: ../../include/text.php:1023
-msgid "rebuffed"
-msgstr ""
-
-#: ../../include/text.php:1035
-msgid "happy"
-msgstr ""
-
-#: ../../include/text.php:1036
-msgid "sad"
-msgstr ""
-
-#: ../../include/text.php:1037
-msgid "mellow"
-msgstr ""
-
-#: ../../include/text.php:1038
-msgid "tired"
-msgstr ""
-
-#: ../../include/text.php:1039
-msgid "perky"
-msgstr ""
-
-#: ../../include/text.php:1040
-msgid "angry"
-msgstr ""
-
-#: ../../include/text.php:1041
-msgid "stupefied"
-msgstr ""
-
-#: ../../include/text.php:1042
-msgid "puzzled"
-msgstr ""
-
-#: ../../include/text.php:1043
-msgid "interested"
-msgstr ""
-
-#: ../../include/text.php:1044
-msgid "bitter"
-msgstr ""
-
-#: ../../include/text.php:1045
-msgid "cheerful"
-msgstr ""
-
-#: ../../include/text.php:1046
-msgid "alive"
-msgstr ""
-
-#: ../../include/text.php:1047
-msgid "annoyed"
-msgstr ""
-
-#: ../../include/text.php:1048
-msgid "anxious"
-msgstr ""
-
-#: ../../include/text.php:1049
-msgid "cranky"
-msgstr ""
-
-#: ../../include/text.php:1050
-msgid "disturbed"
-msgstr ""
-
-#: ../../include/text.php:1051
-msgid "frustrated"
-msgstr ""
-
-#: ../../include/text.php:1052
-msgid "depressed"
-msgstr ""
-
-#: ../../include/text.php:1053
-msgid "motivated"
-msgstr ""
-
-#: ../../include/text.php:1054
-msgid "relaxed"
-msgstr ""
-
-#: ../../include/text.php:1055
-msgid "surprised"
-msgstr ""
-
-#: ../../include/text.php:1241
-msgid "May"
-msgstr ""
-
-#: ../../include/text.php:1318 ../../include/text.php:1322
-msgid "Unknown Attachment"
-msgstr ""
-
-#: ../../include/text.php:1324
-msgid "unknown"
-msgstr ""
-
-#: ../../include/text.php:1360
-msgid "remove category"
-msgstr ""
-
-#: ../../include/text.php:1437
-msgid "remove from file"
-msgstr ""
-
-#: ../../include/text.php:1734 ../../include/text.php:1805
-msgid "default"
-msgstr ""
-
-#: ../../include/text.php:1742
-msgid "Page layout"
-msgstr ""
-
-#: ../../include/text.php:1742
-msgid "You can create your own with the layouts tool"
-msgstr ""
-
-#: ../../include/text.php:1784
-msgid "Page content type"
-msgstr ""
-
-#: ../../include/text.php:1817
-msgid "Select an alternate language"
-msgstr ""
+msgid "%d invitation available"
+msgid_plural "%d invitations available"
+msgstr[0] ""
+msgstr[1] ""
-#: ../../include/text.php:1934
-msgid "activity"
+#: ../../include/contact_widgets.php:19
+msgid "Find Channels"
msgstr ""
-#: ../../include/text.php:2235
-msgid "Design Tools"
+#: ../../include/contact_widgets.php:20
+msgid "Enter name or interest"
msgstr ""
-#: ../../include/text.php:2241
-msgid "Pages"
+#: ../../include/contact_widgets.php:21
+msgid "Connect/Follow"
msgstr ""
-#: ../../include/text.php:2263
-msgid "Import website..."
+#: ../../include/contact_widgets.php:22
+msgid "Examples: Robert Morgenstein, Fishing"
msgstr ""
-#: ../../include/text.php:2264
-msgid "Select folder to import"
+#: ../../include/contact_widgets.php:26
+msgid "Random Profile"
msgstr ""
-#: ../../include/text.php:2265
-msgid "Import from a zipped folder:"
+#: ../../include/contact_widgets.php:27
+msgid "Invite Friends"
msgstr ""
-#: ../../include/text.php:2266
-msgid "Import from cloud files:"
+#: ../../include/contact_widgets.php:29
+msgid "Advanced example: name=fred and country=iceland"
msgstr ""
-#: ../../include/text.php:2267
-msgid "/cloud/channel/path/to/folder"
+#: ../../include/contact_widgets.php:56 ../../include/contact_widgets.php:94
+#: ../../include/widgets.php:349 ../../include/widgets.php:468
+msgid "Everything"
msgstr ""
-#: ../../include/text.php:2268
-msgid "Enter path to website files"
-msgstr ""
+#: ../../include/contact_widgets.php:122
+#, php-format
+msgid "%d connection in common"
+msgid_plural "%d connections in common"
+msgstr[0] ""
+msgstr[1] ""
-#: ../../include/text.php:2269
-msgid "Select folder"
+#: ../../include/contact_widgets.php:127
+msgid "show more"
msgstr ""
#: ../../include/widgets.php:103
@@ -9394,615 +9676,494 @@ msgstr ""
msgid "Notes"
msgstr ""
-#: ../../include/widgets.php:273
+#: ../../include/widgets.php:275
msgid "Remove term"
msgstr ""
-#: ../../include/widgets.php:313 ../../include/widgets.php:432
-#: ../../include/contact_widgets.php:56 ../../include/contact_widgets.php:94
-msgid "Everything"
-msgstr ""
-
-#: ../../include/widgets.php:354
+#: ../../include/widgets.php:390
msgid "Archives"
msgstr ""
-#: ../../include/widgets.php:516
+#: ../../include/widgets.php:552
msgid "Refresh"
msgstr ""
-#: ../../include/widgets.php:556
+#: ../../include/widgets.php:592
msgid "Account settings"
msgstr ""
-#: ../../include/widgets.php:562
+#: ../../include/widgets.php:598
msgid "Channel settings"
msgstr ""
-#: ../../include/widgets.php:571
+#: ../../include/widgets.php:607
msgid "Additional features"
msgstr ""
-#: ../../include/widgets.php:578
+#: ../../include/widgets.php:614
msgid "Feature/Addon settings"
msgstr ""
-#: ../../include/widgets.php:584
+#: ../../include/widgets.php:620
msgid "Display settings"
msgstr ""
-#: ../../include/widgets.php:591
+#: ../../include/widgets.php:627
msgid "Manage locations"
msgstr ""
-#: ../../include/widgets.php:600
+#: ../../include/widgets.php:634
msgid "Export channel"
msgstr ""
-#: ../../include/widgets.php:607
+#: ../../include/widgets.php:640
msgid "Connected apps"
msgstr ""
-#: ../../include/widgets.php:631
+#: ../../include/widgets.php:664
msgid "Premium Channel Settings"
msgstr ""
-#: ../../include/widgets.php:660
+#: ../../include/widgets.php:693
msgid "Private Mail Menu"
msgstr ""
-#: ../../include/widgets.php:662
+#: ../../include/widgets.php:695
msgid "Combined View"
msgstr ""
-#: ../../include/widgets.php:694 ../../include/widgets.php:706
+#: ../../include/widgets.php:727 ../../include/widgets.php:739
msgid "Conversations"
msgstr ""
-#: ../../include/widgets.php:698
+#: ../../include/widgets.php:731
msgid "Received Messages"
msgstr ""
-#: ../../include/widgets.php:702
+#: ../../include/widgets.php:735
msgid "Sent Messages"
msgstr ""
-#: ../../include/widgets.php:716
+#: ../../include/widgets.php:749
msgid "No messages."
msgstr ""
-#: ../../include/widgets.php:734
+#: ../../include/widgets.php:767
msgid "Delete conversation"
msgstr ""
-#: ../../include/widgets.php:760
+#: ../../include/widgets.php:793
msgid "Events Tools"
msgstr ""
-#: ../../include/widgets.php:761
+#: ../../include/widgets.php:794
msgid "Export Calendar"
msgstr ""
-#: ../../include/widgets.php:762
+#: ../../include/widgets.php:795
msgid "Import Calendar"
msgstr ""
-#: ../../include/widgets.php:854
+#: ../../include/widgets.php:887
msgid "Overview"
msgstr ""
-#: ../../include/widgets.php:861
+#: ../../include/widgets.php:894
msgid "Chat Members"
msgstr ""
-#: ../../include/widgets.php:883
+#: ../../include/widgets.php:916
msgid "Wiki List"
msgstr ""
-#: ../../include/widgets.php:921
+#: ../../include/widgets.php:954
msgid "Wiki Pages"
msgstr ""
-#: ../../include/widgets.php:956
+#: ../../include/widgets.php:989
msgid "Bookmarked Chatrooms"
msgstr ""
-#: ../../include/widgets.php:979
+#: ../../include/widgets.php:1020
msgid "Suggested Chatrooms"
msgstr ""
-#: ../../include/widgets.php:1125 ../../include/widgets.php:1237
+#: ../../include/widgets.php:1166 ../../include/widgets.php:1278
msgid "photo/image"
msgstr ""
-#: ../../include/widgets.php:1180
+#: ../../include/widgets.php:1221
msgid "Click to show more"
msgstr ""
-#: ../../include/widgets.php:1331
+#: ../../include/widgets.php:1372
msgid "Rating Tools"
msgstr ""
-#: ../../include/widgets.php:1335 ../../include/widgets.php:1337
+#: ../../include/widgets.php:1376 ../../include/widgets.php:1378
msgid "Rate Me"
msgstr ""
-#: ../../include/widgets.php:1340
+#: ../../include/widgets.php:1381
msgid "View Ratings"
msgstr ""
-#: ../../include/widgets.php:1424
+#: ../../include/widgets.php:1465
msgid "Forums"
msgstr ""
-#: ../../include/widgets.php:1453
+#: ../../include/widgets.php:1494
msgid "Tasks"
msgstr ""
-#: ../../include/widgets.php:1462
+#: ../../include/widgets.php:1505
msgid "Documentation"
msgstr ""
-#: ../../include/widgets.php:1464
-msgid "Project/Site Information"
-msgstr ""
-
-#: ../../include/widgets.php:1465
-msgid "For Members"
-msgstr ""
-
-#: ../../include/widgets.php:1466
-msgid "For Administrators"
-msgstr ""
-
-#: ../../include/widgets.php:1467
-msgid "For Developers"
-msgstr ""
-
-#: ../../include/widgets.php:1491 ../../include/widgets.php:1529
+#: ../../include/widgets.php:1561 ../../include/widgets.php:1599
msgid "Member registrations waiting for confirmation"
msgstr ""
-#: ../../include/widgets.php:1497
+#: ../../include/widgets.php:1567
msgid "Inspect queue"
msgstr ""
-#: ../../include/widgets.php:1499
+#: ../../include/widgets.php:1569
msgid "DB updates"
msgstr ""
-#: ../../include/widgets.php:1525
+#: ../../include/widgets.php:1595
msgid "Plugin Features"
msgstr ""
-#: ../../include/contact_widgets.php:11
-#, php-format
-msgid "%d invitation available"
-msgid_plural "%d invitations available"
-msgstr[0] ""
-msgstr[1] ""
-
-#: ../../include/contact_widgets.php:19
-msgid "Find Channels"
-msgstr ""
-
-#: ../../include/contact_widgets.php:20
-msgid "Enter name or interest"
-msgstr ""
-
-#: ../../include/contact_widgets.php:21
-msgid "Connect/Follow"
-msgstr ""
-
-#: ../../include/contact_widgets.php:22
-msgid "Examples: Robert Morgenstein, Fishing"
-msgstr ""
-
-#: ../../include/contact_widgets.php:26
-msgid "Random Profile"
-msgstr ""
-
-#: ../../include/contact_widgets.php:27
-msgid "Invite Friends"
-msgstr ""
-
-#: ../../include/contact_widgets.php:29
-msgid "Advanced example: name=fred and country=iceland"
-msgstr ""
-
-#: ../../include/contact_widgets.php:122
-#, php-format
-msgid "%d connection in common"
-msgid_plural "%d connections in common"
-msgstr[0] ""
-msgstr[1] ""
-
-#: ../../include/contact_widgets.php:127
-msgid "show more"
-msgstr ""
-
-#: ../../include/dir_fns.php:141
-msgid "Directory Options"
-msgstr ""
-
-#: ../../include/dir_fns.php:143
-msgid "Safe Mode"
-msgstr ""
-
-#: ../../include/dir_fns.php:144
-msgid "Public Forums Only"
-msgstr ""
-
-#: ../../include/dir_fns.php:145
-msgid "This Website Only"
-msgstr ""
-
-#: ../../include/message.php:20
-msgid "No recipient provided."
-msgstr ""
-
-#: ../../include/message.php:25
-msgid "[no subject]"
-msgstr ""
-
-#: ../../include/message.php:45
-msgid "Unable to determine sender."
-msgstr ""
-
-#: ../../include/message.php:222
-msgid "Stored post could not be verified."
-msgstr ""
-
-#: ../../include/channel.php:33
-msgid "Unable to obtain identity information from database"
-msgstr ""
-
-#: ../../include/channel.php:67
-msgid "Empty name"
-msgstr ""
-
-#: ../../include/channel.php:70
-msgid "Name too long"
-msgstr ""
-
-#: ../../include/channel.php:181
-msgid "No account identifier"
-msgstr ""
-
-#: ../../include/channel.php:193
-msgid "Nickname is required."
-msgstr ""
-
-#: ../../include/channel.php:207
-msgid "Reserved nickname. Please choose another."
+#: ../../include/api.php:1330
+msgid "Public Timeline"
msgstr ""
-#: ../../include/channel.php:212
-msgid ""
-"Nickname has unsupported characters or is already being used on this site."
+#: ../../include/oembed.php:322
+msgid " by "
msgstr ""
-#: ../../include/channel.php:272
-msgid "Unable to retrieve created identity"
+#: ../../include/oembed.php:323
+msgid " on "
msgstr ""
-#: ../../include/channel.php:341
-msgid "Default Profile"
+#: ../../include/oembed.php:352
+msgid "Embedded content"
msgstr ""
-#: ../../include/channel.php:821
-msgid "Requested channel is not available."
+#: ../../include/oembed.php:361
+msgid "Embedding disabled"
msgstr ""
-#: ../../include/channel.php:968
-msgid "Create New Profile"
+#: ../../include/items.php:918 ../../include/items.php:963
+msgid "(Unknown)"
msgstr ""
-#: ../../include/channel.php:988
-msgid "Visible to everybody"
+#: ../../include/items.php:1162
+msgid "Visible to anybody on the internet."
msgstr ""
-#: ../../include/channel.php:1061 ../../include/channel.php:1173
-msgid "Gender:"
+#: ../../include/items.php:1164
+msgid "Visible to you only."
msgstr ""
-#: ../../include/channel.php:1062 ../../include/channel.php:1217
-msgid "Status:"
+#: ../../include/items.php:1166
+msgid "Visible to anybody in this network."
msgstr ""
-#: ../../include/channel.php:1063 ../../include/channel.php:1228
-msgid "Homepage:"
+#: ../../include/items.php:1168
+msgid "Visible to anybody authenticated."
msgstr ""
-#: ../../include/channel.php:1064
-msgid "Online Now"
+#: ../../include/items.php:1170
+#, php-format
+msgid "Visible to anybody on %s."
msgstr ""
-#: ../../include/channel.php:1178
-msgid "Like this channel"
+#: ../../include/items.php:1172
+msgid "Visible to all connections."
msgstr ""
-#: ../../include/channel.php:1202
-msgid "j F, Y"
+#: ../../include/items.php:1174
+msgid "Visible to approved connections."
msgstr ""
-#: ../../include/channel.php:1203
-msgid "j F"
+#: ../../include/items.php:1176
+msgid "Visible to specific connections."
msgstr ""
-#: ../../include/channel.php:1210
-msgid "Birthday:"
+#: ../../include/items.php:3976
+msgid "Privacy group is empty."
msgstr ""
-#: ../../include/channel.php:1223
+#: ../../include/items.php:3983
#, php-format
-msgid "for %1$d %2$s"
+msgid "Privacy group: %s"
msgstr ""
-#: ../../include/channel.php:1226
-msgid "Sexual Preference:"
+#: ../../include/items.php:3995
+msgid "Connection not found."
msgstr ""
-#: ../../include/channel.php:1232
-msgid "Tags:"
+#: ../../include/items.php:4348
+msgid "profile photo"
msgstr ""
-#: ../../include/channel.php:1234
-msgid "Political Views:"
+#: ../../include/attach.php:248 ../../include/attach.php:334
+msgid "Item was not found."
msgstr ""
-#: ../../include/channel.php:1236
-msgid "Religion:"
+#: ../../include/attach.php:500
+msgid "No source file."
msgstr ""
-#: ../../include/channel.php:1240
-msgid "Hobbies/Interests:"
+#: ../../include/attach.php:522
+msgid "Cannot locate file to replace"
msgstr ""
-#: ../../include/channel.php:1242
-msgid "Likes:"
+#: ../../include/attach.php:540
+msgid "Cannot locate file to revise/update"
msgstr ""
-#: ../../include/channel.php:1244
-msgid "Dislikes:"
+#: ../../include/attach.php:675
+#, php-format
+msgid "File exceeds size limit of %d"
msgstr ""
-#: ../../include/channel.php:1246
-msgid "Contact information and Social Networks:"
+#: ../../include/attach.php:689
+#, php-format
+msgid "You have reached your limit of %1$.0f Mbytes attachment storage."
msgstr ""
-#: ../../include/channel.php:1248
-msgid "My other channels:"
+#: ../../include/attach.php:854
+msgid "File upload failed. Possible system limit or action terminated."
msgstr ""
-#: ../../include/channel.php:1250
-msgid "Musical interests:"
+#: ../../include/attach.php:867
+msgid "Stored file could not be verified. Upload failed."
msgstr ""
-#: ../../include/channel.php:1252
-msgid "Books, literature:"
+#: ../../include/attach.php:923 ../../include/attach.php:939
+msgid "Path not available."
msgstr ""
-#: ../../include/channel.php:1254
-msgid "Television:"
+#: ../../include/attach.php:985 ../../include/attach.php:1137
+msgid "Empty pathname"
msgstr ""
-#: ../../include/channel.php:1256
-msgid "Film/dance/culture/entertainment:"
+#: ../../include/attach.php:1011
+msgid "duplicate filename or path"
msgstr ""
-#: ../../include/channel.php:1258
-msgid "Love/Romance:"
+#: ../../include/attach.php:1033
+msgid "Path not found."
msgstr ""
-#: ../../include/channel.php:1260
-msgid "Work/employment:"
+#: ../../include/attach.php:1091
+msgid "mkdir failed."
msgstr ""
-#: ../../include/channel.php:1262
-msgid "School/education:"
+#: ../../include/attach.php:1095
+msgid "database storage failed."
msgstr ""
-#: ../../include/channel.php:1283
-msgid "Like this thing"
+#: ../../include/attach.php:1143
+msgid "Empty path"
msgstr ""
-#: ../../view/theme/redbasic/php/config.php:82
+#: ../../view/theme/redbasic/php/config.php:9
msgid "Focus (Hubzilla default)"
msgstr ""
-#: ../../view/theme/redbasic/php/config.php:103
+#: ../../view/theme/redbasic/php/config.php:110
msgid "Theme settings"
msgstr ""
-#: ../../view/theme/redbasic/php/config.php:104
-msgid "Select scheme"
-msgstr ""
-
-#: ../../view/theme/redbasic/php/config.php:105
+#: ../../view/theme/redbasic/php/config.php:111
msgid "Narrow navbar"
msgstr ""
-#: ../../view/theme/redbasic/php/config.php:106
+#: ../../view/theme/redbasic/php/config.php:112
msgid "Navigation bar background color"
msgstr ""
-#: ../../view/theme/redbasic/php/config.php:107
+#: ../../view/theme/redbasic/php/config.php:113
msgid "Navigation bar gradient top color"
msgstr ""
-#: ../../view/theme/redbasic/php/config.php:108
+#: ../../view/theme/redbasic/php/config.php:114
msgid "Navigation bar gradient bottom color"
msgstr ""
-#: ../../view/theme/redbasic/php/config.php:109
+#: ../../view/theme/redbasic/php/config.php:115
msgid "Navigation active button gradient top color"
msgstr ""
-#: ../../view/theme/redbasic/php/config.php:110
+#: ../../view/theme/redbasic/php/config.php:116
msgid "Navigation active button gradient bottom color"
msgstr ""
-#: ../../view/theme/redbasic/php/config.php:111
+#: ../../view/theme/redbasic/php/config.php:117
msgid "Navigation bar border color "
msgstr ""
-#: ../../view/theme/redbasic/php/config.php:112
+#: ../../view/theme/redbasic/php/config.php:118
msgid "Navigation bar icon color "
msgstr ""
-#: ../../view/theme/redbasic/php/config.php:113
+#: ../../view/theme/redbasic/php/config.php:119
msgid "Navigation bar active icon color "
msgstr ""
-#: ../../view/theme/redbasic/php/config.php:114
+#: ../../view/theme/redbasic/php/config.php:120
msgid "link color"
msgstr ""
-#: ../../view/theme/redbasic/php/config.php:115
+#: ../../view/theme/redbasic/php/config.php:121
msgid "Set font-color for banner"
msgstr ""
-#: ../../view/theme/redbasic/php/config.php:116
+#: ../../view/theme/redbasic/php/config.php:122
msgid "Set the background color"
msgstr ""
-#: ../../view/theme/redbasic/php/config.php:117
+#: ../../view/theme/redbasic/php/config.php:123
msgid "Set the background image"
msgstr ""
-#: ../../view/theme/redbasic/php/config.php:118
+#: ../../view/theme/redbasic/php/config.php:124
msgid "Set the background color of items"
msgstr ""
-#: ../../view/theme/redbasic/php/config.php:119
+#: ../../view/theme/redbasic/php/config.php:125
msgid "Set the background color of comments"
msgstr ""
-#: ../../view/theme/redbasic/php/config.php:120
+#: ../../view/theme/redbasic/php/config.php:126
msgid "Set the border color of comments"
msgstr ""
-#: ../../view/theme/redbasic/php/config.php:121
+#: ../../view/theme/redbasic/php/config.php:127
msgid "Set the indent for comments"
msgstr ""
-#: ../../view/theme/redbasic/php/config.php:122
+#: ../../view/theme/redbasic/php/config.php:128
msgid "Set the basic color for item icons"
msgstr ""
-#: ../../view/theme/redbasic/php/config.php:123
+#: ../../view/theme/redbasic/php/config.php:129
msgid "Set the hover color for item icons"
msgstr ""
-#: ../../view/theme/redbasic/php/config.php:124
+#: ../../view/theme/redbasic/php/config.php:130
msgid "Set font-size for the entire application"
msgstr ""
-#: ../../view/theme/redbasic/php/config.php:124
+#: ../../view/theme/redbasic/php/config.php:130
msgid "Example: 14px"
msgstr ""
-#: ../../view/theme/redbasic/php/config.php:125
+#: ../../view/theme/redbasic/php/config.php:131
msgid "Set font-size for posts and comments"
msgstr ""
-#: ../../view/theme/redbasic/php/config.php:126
+#: ../../view/theme/redbasic/php/config.php:132
msgid "Set font-color for posts and comments"
msgstr ""
-#: ../../view/theme/redbasic/php/config.php:127
+#: ../../view/theme/redbasic/php/config.php:133
msgid "Set radius of corners"
msgstr ""
-#: ../../view/theme/redbasic/php/config.php:128
+#: ../../view/theme/redbasic/php/config.php:134
msgid "Set shadow depth of photos"
msgstr ""
-#: ../../view/theme/redbasic/php/config.php:129
+#: ../../view/theme/redbasic/php/config.php:135
msgid "Set maximum width of content region in pixel"
msgstr ""
-#: ../../view/theme/redbasic/php/config.php:129
+#: ../../view/theme/redbasic/php/config.php:135
msgid "Leave empty for default width"
msgstr ""
-#: ../../view/theme/redbasic/php/config.php:130
+#: ../../view/theme/redbasic/php/config.php:136
msgid "Left align page content"
msgstr ""
-#: ../../view/theme/redbasic/php/config.php:131
+#: ../../view/theme/redbasic/php/config.php:137
msgid "Set minimum opacity of nav bar - to hide it"
msgstr ""
-#: ../../view/theme/redbasic/php/config.php:132
+#: ../../view/theme/redbasic/php/config.php:138
msgid "Set size of conversation author photo"
msgstr ""
-#: ../../view/theme/redbasic/php/config.php:133
+#: ../../view/theme/redbasic/php/config.php:139
msgid "Set size of followup author photos"
msgstr ""
-#: ../../boot.php:1163
+#: ../../boot.php:1195
#, php-format
msgctxt "opensearch"
msgid "Search %1$s (%2$s)"
msgstr ""
-#: ../../boot.php:1163
+#: ../../boot.php:1195
msgctxt "opensearch"
msgid "$Projectname"
msgstr ""
-#: ../../boot.php:1481
+#: ../../boot.php:1513
#, php-format
msgid "Update %s failed. See error logs."
msgstr ""
-#: ../../boot.php:1484
+#: ../../boot.php:1516
#, php-format
msgid "Update Error at %s"
msgstr ""
-#: ../../boot.php:1688
+#: ../../boot.php:1720
msgid ""
"Create an account to access services and applications within the Hubzilla"
msgstr ""
-#: ../../boot.php:1709
+#: ../../boot.php:1741
msgid "Login/Email"
msgstr ""
-#: ../../boot.php:1710
+#: ../../boot.php:1742
msgid "Password"
msgstr ""
-#: ../../boot.php:1711
+#: ../../boot.php:1743
msgid "Remember me"
msgstr ""
-#: ../../boot.php:1714
+#: ../../boot.php:1746
msgid "Forgot your password?"
msgstr ""
-#: ../../boot.php:2280
+#: ../../boot.php:2315
msgid "toggle mobile"
msgstr ""
-#: ../../boot.php:2435
+#: ../../boot.php:2470
msgid "Website SSL certificate is not valid. Please correct."
msgstr ""
-#: ../../boot.php:2438
+#: ../../boot.php:2473
#, php-format
msgid "[hubzilla] Website SSL error for %s"
msgstr ""
-#: ../../boot.php:2542
+#: ../../boot.php:2577
msgid "Cron/Scheduled tasks not running."
msgstr ""
-#: ../../boot.php:2546
+#: ../../boot.php:2581
#, php-format
msgid "[hubzilla] Cron tasks not running on %s"
msgstr ""
diff --git a/util/pconfig b/util/pconfig
index 1afba8306..1847a5a81 100755
--- a/util/pconfig
+++ b/util/pconfig
@@ -54,6 +54,13 @@ EndOfOutput;
}
+if($argc > 2 && strpos($argv[2],'.')) {
+ $x = explode('.',$argv[2]);
+ $argv = [ $argv[0], $argv[1], $x[0], $x[1], (($argc > 3) ? $argv[3] : null) ];
+ $argc = $argc + 1;
+}
+
+
if($argc > 4) {
set_pconfig($argv[1],$argv[2],$argv[3],$argv[4]);
build_sync_packet($argv[1]);
diff --git a/util/typo.php b/util/typo.php
index e9a9be5f0..3f6ffb166 100644
--- a/util/typo.php
+++ b/util/typo.php
@@ -42,6 +42,13 @@
include_once($file);
}
+ echo "Directory: Zotlabs/Module (sub-modules)\n";
+ $files = glob('Zotlabs/Module/*/*.php');
+ foreach($files as $file) {
+ echo $file . "\n";
+ include_once($file);
+ }
+
echo "Directory: include/photo\n";
$files = glob('include/photo/*.php');
diff --git a/view/css/conversation.css b/view/css/conversation.css
index 5af0c55e7..7ecd41627 100644
--- a/view/css/conversation.css
+++ b/view/css/conversation.css
@@ -1,6 +1,6 @@
/* jot */
-.jothidden input {
+.jothidden input[type="text"] {
border: 0px;
margin: 0px;
height: 39px;
@@ -46,6 +46,13 @@
box-shadow: inset 0 0px 7px #5cb85c;
}
+.comment-edit-text-empty.hover, .comment-edit-text-full.hover {
+ background-color: aliceblue;
+ opacity: 0.5;
+ box-shadow: inset 0 0px 7px #5cb85c;
+}
+
+
.jot-attachment {
border: 0px;
padding: 10px;
@@ -70,6 +77,10 @@
margin-bottom: 30px;
}
+#profile-jot-plugin-wrapper {
+ margin-top: 10px;
+}
+
#profile-rotator-wrapper {
float: left;
}
@@ -78,14 +89,6 @@
padding: 15px 0px 0px 15px;
}
-.profile-jot-net {
- float: left;
- margin-right: 10px;
- margin-top: 5px;
- margin-bottom: 5px;
- padding: 5px;
-}
-
/* conversation */
.thread-wrapper.toplevel_item {
@@ -94,6 +97,18 @@
/* conv_item */
+.wall-item-head {
+ padding: 10px 10px 0.5em 10px;
+}
+
+.wall-item-content {
+ padding: 0.5em 10px;
+}
+
+.wall-item-tools {
+ padding: 0.5em 10px 10px 10px;
+}
+
.wall-item-info {
display: block;
float: left;
@@ -192,6 +207,20 @@ a.wall-item-name-link {
margin-bottom: 20px;
}
+.ivoted {
+ color: #337AB7;
+}
+
+.item-highlight {
+ border-left: 3px solid #337AB7;
+}
+
+.item-highlight .wall-item-head,
+.item-highlight .wall-item-content,
+.item-highlight .wall-item-tools {
+ padding-left: 7px;
+}
+
/* comment_item */
.comment-edit-text-empty,
@@ -323,3 +352,17 @@ img.smiley.emoji:hover {
width: 32px;
height: 32px;
}
+
+
+.checklist input {
+ margin: 0px;
+ vertical-align: middle;
+}
+
+.combobox {
+ padding: 15px;
+}
+
+#filer_save {
+ margin-left: 15px;
+}
diff --git a/view/css/mod_webpages.css b/view/css/mod_webpages.css
index f72f632dd..805d95dc2 100644
--- a/view/css/mod_webpages.css
+++ b/view/css/mod_webpages.css
@@ -119,3 +119,77 @@
opacity: 1;
}
+
+/* SQUARED THREE */
+.squaredThree {
+ width: 14px;
+ height: 14px;
+ background: #fcfff4;
+
+ background: -webkit-linear-gradient(top, #fcfff4 0%, #dfe5d7 40%, #b3bead 100%);
+ background: -moz-linear-gradient(top, #fcfff4 0%, #dfe5d7 40%, #b3bead 100%);
+ background: -o-linear-gradient(top, #fcfff4 0%, #dfe5d7 40%, #b3bead 100%);
+ background: -ms-linear-gradient(top, #fcfff4 0%, #dfe5d7 40%, #b3bead 100%);
+ background: linear-gradient(top, #fcfff4 0%, #dfe5d7 40%, #b3bead 100%);
+ filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#fcfff4', endColorstr='#b3bead',GradientType=0 );
+ margin: 5px auto;
+
+ -webkit-box-shadow: inset 0px 1px 1px white, 0px 1px 3px rgba(0,0,0,0.5);
+ -moz-box-shadow: inset 0px 1px 1px white, 0px 1px 3px rgba(0,0,0,0.5);
+ box-shadow: inset 0px 1px 1px white, 0px 1px 3px rgba(0,0,0,0.5);
+ position: relative;
+}
+
+.squaredThree label {
+ cursor: pointer;
+ position: absolute;
+ width: 10px;
+ height: 10px;
+ left: 2px;
+ top: 2px;
+
+ -webkit-box-shadow: inset 0px 1px 1px rgba(0,0,0,0.5), 0px 1px 0px rgba(255,255,255,1);
+ -moz-box-shadow: inset 0px 1px 1px rgba(0,0,0,0.5), 0px 1px 0px rgba(255,255,255,1);
+ box-shadow: inset 0px 1px 1px rgba(0,0,0,0.5), 0px 1px 0px rgba(255,255,255,1);
+
+ background: -webkit-linear-gradient(top, #222 0%, #45484d 100%);
+ background: -moz-linear-gradient(top, #222 0%, #45484d 100%);
+ background: -o-linear-gradient(top, #222 0%, #45484d 100%);
+ background: -ms-linear-gradient(top, #222 0%, #45484d 100%);
+ background: linear-gradient(top, #222 0%, #45484d 100%);
+ filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#222', endColorstr='#45484d',GradientType=0 );
+}
+
+.squaredThree label:after {
+ -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
+ filter: alpha(opacity=0);
+ opacity: 0;
+ content: '';
+ position: absolute;
+ width: 9px;
+ height: 5px;
+ background: transparent;
+ top: 2px;
+ left: 2px;
+ border: 3px solid #fcfff4;
+ border-top: none;
+ border-right: none;
+
+ -webkit-transform: rotate(-45deg);
+ -moz-transform: rotate(-45deg);
+ -o-transform: rotate(-45deg);
+ -ms-transform: rotate(-45deg);
+ transform: rotate(-45deg);
+}
+
+.squaredThree label:hover::after {
+ -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=30)";
+ filter: alpha(opacity=30);
+ opacity: 0.3;
+}
+
+.squaredThree input[type=checkbox]:checked + label:after {
+ -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
+ filter: alpha(opacity=100);
+ opacity: 1;
+} \ No newline at end of file
diff --git a/view/de/hmessages.po b/view/de/hmessages.po
index f5a6d7749..8282f354f 100644
--- a/view/de/hmessages.po
+++ b/view/de/hmessages.po
@@ -24,8 +24,8 @@ msgid ""
msgstr ""
"Project-Id-Version: Redmatrix\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2016-08-12 00:02-0700\n"
-"PO-Revision-Date: 2016-08-17 08:28+0000\n"
+"POT-Creation-Date: 2016-09-17 14:51-0700\n"
+"PO-Revision-Date: 2016-09-22 11:28+0000\n"
"Last-Translator: Phellmes <forum@suschka.de>\n"
"Language-Team: German (http://www.transifex.com/Friendica/red-matrix/language/de/)\n"
"MIME-Version: 1.0\n"
@@ -35,83 +35,87 @@ msgstr ""
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#: ../../Zotlabs/Access/PermissionRoles.php:182
-#: ../../include/permissions.php:939
+#: ../../include/permissions.php:945
msgid "Social Networking"
msgstr "Soziales Netzwerk"
#: ../../Zotlabs/Access/PermissionRoles.php:183
-#: ../../include/permissions.php:939
+#: ../../include/permissions.php:945
msgid "Social - Mostly Public"
msgstr "Soziales Netzwerk - Weitgehend öffentlich"
#: ../../Zotlabs/Access/PermissionRoles.php:184
-#: ../../include/permissions.php:939
+#: ../../include/permissions.php:945
msgid "Social - Restricted"
msgstr "Soziales Netzwerk - Beschränkt"
#: ../../Zotlabs/Access/PermissionRoles.php:185
-#: ../../include/permissions.php:939
+#: ../../include/permissions.php:945
msgid "Social - Private"
msgstr "Soziales Netzwerk - Privat"
#: ../../Zotlabs/Access/PermissionRoles.php:188
-#: ../../include/permissions.php:940
+#: ../../include/permissions.php:946
msgid "Community Forum"
msgstr "Forum"
#: ../../Zotlabs/Access/PermissionRoles.php:189
-#: ../../include/permissions.php:940
+#: ../../include/permissions.php:946
msgid "Forum - Mostly Public"
msgstr "Forum - Weitgehend öffentlich"
#: ../../Zotlabs/Access/PermissionRoles.php:190
-#: ../../include/permissions.php:940
+#: ../../include/permissions.php:946
msgid "Forum - Restricted"
msgstr "Forum - Beschränkt"
#: ../../Zotlabs/Access/PermissionRoles.php:191
-#: ../../include/permissions.php:940
+#: ../../include/permissions.php:946
msgid "Forum - Private"
msgstr "Forum - Privat"
#: ../../Zotlabs/Access/PermissionRoles.php:194
-#: ../../include/permissions.php:941
+#: ../../include/permissions.php:947
msgid "Feed Republish"
msgstr "Teilen von Feeds"
#: ../../Zotlabs/Access/PermissionRoles.php:195
-#: ../../include/permissions.php:941
+#: ../../include/permissions.php:947
msgid "Feed - Mostly Public"
msgstr "Feeds - Weitgehend öffentlich"
#: ../../Zotlabs/Access/PermissionRoles.php:196
-#: ../../include/permissions.php:941
+#: ../../include/permissions.php:947
msgid "Feed - Restricted"
msgstr "Feeds - Beschränkt"
#: ../../Zotlabs/Access/PermissionRoles.php:199
-#: ../../include/permissions.php:942
+#: ../../include/permissions.php:948
msgid "Special Purpose"
msgstr "Für besondere Zwecke"
#: ../../Zotlabs/Access/PermissionRoles.php:200
-#: ../../include/permissions.php:942
+#: ../../include/permissions.php:948
msgid "Special - Celebrity/Soapbox"
msgstr "Speziell - Mitteilungs-Kanal (keine Kommentare)"
#: ../../Zotlabs/Access/PermissionRoles.php:201
-#: ../../include/permissions.php:942
+#: ../../include/permissions.php:948
msgid "Special - Group Repository"
msgstr "Speziell - Gruppenarchiv"
-#: ../../Zotlabs/Access/PermissionRoles.php:204 ../../include/selectors.php:49
+#: ../../Zotlabs/Access/PermissionRoles.php:204
+#: ../../Zotlabs/Module/Register.php:213
+#: ../../Zotlabs/Module/New_channel.php:132
+#: ../../Zotlabs/Module/Settings/Channel.php:442
+#: ../../include/permissions.php:949 ../../include/selectors.php:49
#: ../../include/selectors.php:66 ../../include/selectors.php:104
-#: ../../include/selectors.php:140 ../../include/permissions.php:943
+#: ../../include/selectors.php:140
msgid "Other"
msgstr "Andere"
#: ../../Zotlabs/Access/PermissionRoles.php:205
-#: ../../include/permissions.php:943
+#: ../../include/permissions.php:949
msgid "Custom/Expert Mode"
msgstr "Benutzerdefiniert/Expertenmodus"
@@ -119,19 +123,19 @@ msgstr "Benutzerdefiniert/Expertenmodus"
msgid "Can view my channel stream and posts"
msgstr "Kann meinen Kanal-Stream und meine Beiträge sehen"
-#: ../../Zotlabs/Access/Permissions.php:31 ../../include/permissions.php:36
+#: ../../Zotlabs/Access/Permissions.php:31 ../../include/permissions.php:42
msgid "Can send me their channel stream and posts"
msgstr "Kann mir die Beiträge aus seinem/ihrem Kanal schicken"
-#: ../../Zotlabs/Access/Permissions.php:32 ../../include/permissions.php:30
+#: ../../Zotlabs/Access/Permissions.php:32 ../../include/permissions.php:36
msgid "Can view my default channel profile"
msgstr "Kann mein Standardprofil sehen"
-#: ../../Zotlabs/Access/Permissions.php:33 ../../include/permissions.php:31
+#: ../../Zotlabs/Access/Permissions.php:33 ../../include/permissions.php:37
msgid "Can view my connections"
msgstr "Kann meine Verbindungen sehen"
-#: ../../Zotlabs/Access/Permissions.php:34 ../../include/permissions.php:32
+#: ../../Zotlabs/Access/Permissions.php:34 ../../include/permissions.php:38
msgid "Can view my file storage and photos"
msgstr "Kann meine Datei- und Bilderordner sehen"
@@ -151,11 +155,11 @@ msgstr "Kann Webseiten in meinem Kanal erstellen/ändern"
msgid "Can post on my channel (wall) page"
msgstr "Kann auf meiner Kanal-Seite (\"wall\") Beiträge veröffentlichen"
-#: ../../Zotlabs/Access/Permissions.php:39 ../../include/permissions.php:38
+#: ../../Zotlabs/Access/Permissions.php:39 ../../include/permissions.php:44
msgid "Can comment on or like my posts"
msgstr "Darf meine Beiträge kommentieren und mögen/nicht mögen"
-#: ../../Zotlabs/Access/Permissions.php:40 ../../include/permissions.php:39
+#: ../../Zotlabs/Access/Permissions.php:40 ../../include/permissions.php:45
msgid "Can send me private mail messages"
msgstr "Kann mir private Nachrichten schicken"
@@ -171,7 +175,7 @@ msgstr "Kann an alle meine Verbindungen via @-Erwähnungen Nachrichten weiterlei
msgid "Can chat with me"
msgstr "Kann mit mir chatten"
-#: ../../Zotlabs/Access/Permissions.php:44 ../../include/permissions.php:47
+#: ../../Zotlabs/Access/Permissions.php:44 ../../include/permissions.php:53
msgid "Can source my public posts in derived channels"
msgstr "Kann meine öffentlichen Beiträge als Quellen für Kanäle verwenden"
@@ -183,7 +187,7 @@ msgstr "Kann meinen Kanal administrieren"
msgid "parent"
msgstr "Übergeordnetes Verzeichnis"
-#: ../../Zotlabs/Storage/Browser.php:131 ../../include/text.php:2657
+#: ../../Zotlabs/Storage/Browser.php:131 ../../include/text.php:2711
msgid "Collection"
msgstr "Sammlung"
@@ -207,17 +211,17 @@ msgstr "Posteingang für überwachte Kalender"
msgid "Schedule Outbox"
msgstr "Postausgang für überwachte Kalender"
-#: ../../Zotlabs/Storage/Browser.php:164 ../../Zotlabs/Module/Photos.php:800
+#: ../../Zotlabs/Storage/Browser.php:164 ../../Zotlabs/Module/Photos.php:789
#: ../../Zotlabs/Module/Photos.php:1249
#: ../../Zotlabs/Module/Embedphotos.php:147 ../../Zotlabs/Lib/Apps.php:490
-#: ../../Zotlabs/Lib/Apps.php:565 ../../include/conversation.php:1036
-#: ../../include/widgets.php:1613
+#: ../../Zotlabs/Lib/Apps.php:565 ../../include/conversation.php:1033
+#: ../../include/widgets.php:1679
msgid "Unknown"
msgstr "Unbekannt"
#: ../../Zotlabs/Storage/Browser.php:226 ../../Zotlabs/Module/Fbrowser.php:85
-#: ../../Zotlabs/Lib/Apps.php:217 ../../include/nav.php:95
-#: ../../include/conversation.php:1659
+#: ../../Zotlabs/Lib/Apps.php:217 ../../include/nav.php:96
+#: ../../include/conversation.php:1678
msgid "Files"
msgstr "Dateien"
@@ -230,24 +234,25 @@ msgid "Shared"
msgstr "Geteilt"
#: ../../Zotlabs/Storage/Browser.php:230 ../../Zotlabs/Storage/Browser.php:323
-#: ../../Zotlabs/Module/Webpages.php:216 ../../Zotlabs/Module/Menu.php:118
-#: ../../Zotlabs/Module/New_channel.php:142
+#: ../../Zotlabs/Module/Menu.php:118 ../../Zotlabs/Module/Webpages.php:239
+#: ../../Zotlabs/Module/New_channel.php:147
#: ../../Zotlabs/Module/Blocks.php:159 ../../Zotlabs/Module/Layouts.php:184
msgid "Create"
msgstr "Erstelle"
#: ../../Zotlabs/Storage/Browser.php:231 ../../Zotlabs/Storage/Browser.php:325
#: ../../Zotlabs/Module/Cover_photo.php:357
-#: ../../Zotlabs/Module/Photos.php:827 ../../Zotlabs/Module/Photos.php:1370
#: ../../Zotlabs/Module/Profile_photo.php:390
-#: ../../Zotlabs/Module/Embedphotos.php:159 ../../include/widgets.php:1626
+#: ../../Zotlabs/Module/Photos.php:816 ../../Zotlabs/Module/Photos.php:1370
+#: ../../Zotlabs/Module/Embedphotos.php:159 ../../include/widgets.php:1692
msgid "Upload"
msgstr "Hochladen"
-#: ../../Zotlabs/Storage/Browser.php:235 ../../Zotlabs/Module/Chat.php:250
-#: ../../Zotlabs/Module/Settings.php:662 ../../Zotlabs/Module/Settings.php:688
-#: ../../Zotlabs/Module/Admin.php:1223
-#: ../../Zotlabs/Module/Sharedwithme.php:99
+#: ../../Zotlabs/Storage/Browser.php:235
+#: ../../Zotlabs/Module/Admin/Channels.php:163
+#: ../../Zotlabs/Module/Sharedwithme.php:99 ../../Zotlabs/Module/Chat.php:250
+#: ../../Zotlabs/Module/Settings/Oauth.php:89
+#: ../../Zotlabs/Module/Settings/Oauth.php:115
msgid "Name"
msgstr "Name"
@@ -256,7 +261,7 @@ msgid "Type"
msgstr "Typ"
#: ../../Zotlabs/Storage/Browser.php:237
-#: ../../Zotlabs/Module/Sharedwithme.php:101 ../../include/text.php:1326
+#: ../../Zotlabs/Module/Sharedwithme.php:101 ../../include/text.php:1372
msgid "Size"
msgstr "Größe"
@@ -265,32 +270,35 @@ msgstr "Größe"
msgid "Last Modified"
msgstr "Zuletzt geändert"
-#: ../../Zotlabs/Storage/Browser.php:240 ../../Zotlabs/Module/Webpages.php:217
+#: ../../Zotlabs/Storage/Browser.php:240
+#: ../../Zotlabs/Module/Admin/Profs.php:154
#: ../../Zotlabs/Module/Connections.php:290
#: ../../Zotlabs/Module/Connections.php:310
#: ../../Zotlabs/Module/Editblock.php:109
#: ../../Zotlabs/Module/Editlayout.php:114
#: ../../Zotlabs/Module/Editwebpage.php:145 ../../Zotlabs/Module/Menu.php:112
-#: ../../Zotlabs/Module/Editpost.php:84 ../../Zotlabs/Module/Settings.php:722
-#: ../../Zotlabs/Module/Admin.php:2113 ../../Zotlabs/Module/Blocks.php:160
-#: ../../Zotlabs/Module/Layouts.php:192 ../../Zotlabs/Module/Thing.php:260
-#: ../../Zotlabs/Lib/Apps.php:341 ../../Zotlabs/Lib/ThreadItem.php:106
-#: ../../include/menu.php:113 ../../include/page_widgets.php:9
+#: ../../Zotlabs/Module/Webpages.php:240 ../../Zotlabs/Module/Blocks.php:160
+#: ../../Zotlabs/Module/Layouts.php:192 ../../Zotlabs/Module/Editpost.php:84
+#: ../../Zotlabs/Module/Thing.php:260
+#: ../../Zotlabs/Module/Settings/Oauth.php:149 ../../Zotlabs/Lib/Apps.php:341
+#: ../../Zotlabs/Lib/ThreadItem.php:106 ../../include/page_widgets.php:9
#: ../../include/page_widgets.php:39 ../../include/channel.php:959
-#: ../../include/channel.php:963
+#: ../../include/channel.php:963 ../../include/menu.php:113
msgid "Edit"
msgstr "Bearbeiten"
-#: ../../Zotlabs/Storage/Browser.php:241 ../../Zotlabs/Module/Webpages.php:219
+#: ../../Zotlabs/Storage/Browser.php:241
+#: ../../Zotlabs/Module/Admin/Accounts.php:174
+#: ../../Zotlabs/Module/Admin/Channels.php:153
+#: ../../Zotlabs/Module/Admin/Profs.php:155
#: ../../Zotlabs/Module/Connections.php:263
#: ../../Zotlabs/Module/Editblock.php:134
#: ../../Zotlabs/Module/Editlayout.php:137
-#: ../../Zotlabs/Module/Editwebpage.php:170
-#: ../../Zotlabs/Module/Connedit.php:610 ../../Zotlabs/Module/Group.php:177
-#: ../../Zotlabs/Module/Photos.php:1179 ../../Zotlabs/Module/Settings.php:723
-#: ../../Zotlabs/Module/Admin.php:1039 ../../Zotlabs/Module/Admin.php:1213
-#: ../../Zotlabs/Module/Admin.php:2114 ../../Zotlabs/Module/Blocks.php:162
-#: ../../Zotlabs/Module/Thing.php:261 ../../Zotlabs/Lib/Apps.php:342
+#: ../../Zotlabs/Module/Editwebpage.php:170 ../../Zotlabs/Module/Group.php:177
+#: ../../Zotlabs/Module/Webpages.php:242 ../../Zotlabs/Module/Blocks.php:162
+#: ../../Zotlabs/Module/Connedit.php:607 ../../Zotlabs/Module/Thing.php:261
+#: ../../Zotlabs/Module/Photos.php:1179
+#: ../../Zotlabs/Module/Settings/Oauth.php:150 ../../Zotlabs/Lib/Apps.php:342
#: ../../Zotlabs/Lib/ThreadItem.php:126 ../../include/conversation.php:660
msgid "Delete"
msgstr "Löschen"
@@ -322,57 +330,58 @@ msgid "Drop files here to immediately upload"
msgstr "Dateien zum sofortigen Hochladen hier fallen lassen"
#: ../../Zotlabs/Web/Router.php:65 ../../Zotlabs/Web/WebServer.php:128
-#: ../../Zotlabs/Module/Achievements.php:34 ../../Zotlabs/Module/Setup.php:215
-#: ../../Zotlabs/Module/Webpages.php:95 ../../Zotlabs/Module/Authtest.php:16
-#: ../../Zotlabs/Module/Profiles.php:203 ../../Zotlabs/Module/Profiles.php:601
-#: ../../Zotlabs/Module/Bookmarks.php:61 ../../Zotlabs/Module/Item.php:213
-#: ../../Zotlabs/Module/Item.php:221 ../../Zotlabs/Module/Item.php:1071
-#: ../../Zotlabs/Module/Page.php:35 ../../Zotlabs/Module/Page.php:91
-#: ../../Zotlabs/Module/Channel.php:104 ../../Zotlabs/Module/Channel.php:226
-#: ../../Zotlabs/Module/Channel.php:267
-#: ../../Zotlabs/Module/Connections.php:33
+#: ../../Zotlabs/Module/Achievements.php:34
+#: ../../Zotlabs/Module/Register.php:77 ../../Zotlabs/Module/Authtest.php:16
+#: ../../Zotlabs/Module/Bookmarks.php:61 ../../Zotlabs/Module/Page.php:35
+#: ../../Zotlabs/Module/Page.php:91 ../../Zotlabs/Module/Connections.php:33
#: ../../Zotlabs/Module/Cover_photo.php:277
-#: ../../Zotlabs/Module/Cover_photo.php:290 ../../Zotlabs/Module/Like.php:181
+#: ../../Zotlabs/Module/Cover_photo.php:290
#: ../../Zotlabs/Module/Editblock.php:67
#: ../../Zotlabs/Module/Editlayout.php:67
#: ../../Zotlabs/Module/Editlayout.php:90
#: ../../Zotlabs/Module/Editwebpage.php:68
#: ../../Zotlabs/Module/Editwebpage.php:89
#: ../../Zotlabs/Module/Editwebpage.php:104
-#: ../../Zotlabs/Module/Editwebpage.php:126 ../../Zotlabs/Module/Appman.php:75
-#: ../../Zotlabs/Module/Pdledit.php:26 ../../Zotlabs/Module/Filestorage.php:23
+#: ../../Zotlabs/Module/Editwebpage.php:126 ../../Zotlabs/Module/Menu.php:78
+#: ../../Zotlabs/Module/Appman.php:75 ../../Zotlabs/Module/Mail.php:121
+#: ../../Zotlabs/Module/Settings.php:59
+#: ../../Zotlabs/Module/Filestorage.php:23
#: ../../Zotlabs/Module/Filestorage.php:78
#: ../../Zotlabs/Module/Filestorage.php:93
-#: ../../Zotlabs/Module/Filestorage.php:120
-#: ../../Zotlabs/Module/Connedit.php:398 ../../Zotlabs/Module/Group.php:13
-#: ../../Zotlabs/Module/Menu.php:78 ../../Zotlabs/Module/Block.php:26
-#: ../../Zotlabs/Module/Block.php:76 ../../Zotlabs/Module/Editpost.php:17
-#: ../../Zotlabs/Module/Invite.php:17 ../../Zotlabs/Module/Invite.php:91
-#: ../../Zotlabs/Module/Locs.php:87 ../../Zotlabs/Module/Chat.php:100
-#: ../../Zotlabs/Module/Chat.php:105 ../../Zotlabs/Module/Events.php:264
-#: ../../Zotlabs/Module/Message.php:18 ../../Zotlabs/Module/Mail.php:121
-#: ../../Zotlabs/Module/Mood.php:116 ../../Zotlabs/Module/Manage.php:10
-#: ../../Zotlabs/Module/Photos.php:73 ../../Zotlabs/Module/Settings.php:642
+#: ../../Zotlabs/Module/Filestorage.php:120 ../../Zotlabs/Module/Group.php:13
+#: ../../Zotlabs/Module/Webpages.php:116 ../../Zotlabs/Module/Block.php:26
+#: ../../Zotlabs/Module/Block.php:76 ../../Zotlabs/Module/Invite.php:17
+#: ../../Zotlabs/Module/Invite.php:91 ../../Zotlabs/Module/Locs.php:87
+#: ../../Zotlabs/Module/Network.php:15 ../../Zotlabs/Module/Like.php:181
+#: ../../Zotlabs/Module/Manage.php:10 ../../Zotlabs/Module/Mitem.php:115
+#: ../../Zotlabs/Module/Message.php:18 ../../Zotlabs/Module/Rate.php:113
+#: ../../Zotlabs/Module/Mood.php:116 ../../Zotlabs/Module/Profiles.php:203
+#: ../../Zotlabs/Module/Profiles.php:601 ../../Zotlabs/Module/Api.php:12
+#: ../../Zotlabs/Module/Events.php:264 ../../Zotlabs/Module/Item.php:214
+#: ../../Zotlabs/Module/Item.php:222 ../../Zotlabs/Module/Item.php:1073
#: ../../Zotlabs/Module/New_channel.php:77
#: ../../Zotlabs/Module/New_channel.php:104
#: ../../Zotlabs/Module/Notifications.php:70 ../../Zotlabs/Module/Poke.php:137
-#: ../../Zotlabs/Module/Profile.php:68 ../../Zotlabs/Module/Profile.php:76
-#: ../../Zotlabs/Module/Blocks.php:73 ../../Zotlabs/Module/Blocks.php:80
-#: ../../Zotlabs/Module/Layouts.php:71 ../../Zotlabs/Module/Layouts.php:78
-#: ../../Zotlabs/Module/Layouts.php:89
+#: ../../Zotlabs/Module/Setup.php:220 ../../Zotlabs/Module/Profile.php:68
+#: ../../Zotlabs/Module/Profile.php:76 ../../Zotlabs/Module/Blocks.php:73
+#: ../../Zotlabs/Module/Blocks.php:80 ../../Zotlabs/Module/Layouts.php:71
+#: ../../Zotlabs/Module/Layouts.php:78 ../../Zotlabs/Module/Layouts.php:89
#: ../../Zotlabs/Module/Profile_photo.php:265
#: ../../Zotlabs/Module/Profile_photo.php:278
-#: ../../Zotlabs/Module/Common.php:39 ../../Zotlabs/Module/Register.php:77
-#: ../../Zotlabs/Module/Mitem.php:115 ../../Zotlabs/Module/Network.php:15
-#: ../../Zotlabs/Module/Regmod.php:21 ../../Zotlabs/Module/Thing.php:274
-#: ../../Zotlabs/Module/Thing.php:294 ../../Zotlabs/Module/Thing.php:335
+#: ../../Zotlabs/Module/Common.php:39 ../../Zotlabs/Module/Pdledit.php:29
+#: ../../Zotlabs/Module/Connedit.php:395 ../../Zotlabs/Module/Regmod.php:21
+#: ../../Zotlabs/Module/Editpost.php:17 ../../Zotlabs/Module/Channel.php:104
+#: ../../Zotlabs/Module/Channel.php:228 ../../Zotlabs/Module/Channel.php:269
#: ../../Zotlabs/Module/Service_limits.php:11
-#: ../../Zotlabs/Module/Rate.php:113 ../../Zotlabs/Module/Sharedwithme.php:11
+#: ../../Zotlabs/Module/Thing.php:274 ../../Zotlabs/Module/Thing.php:294
+#: ../../Zotlabs/Module/Thing.php:335 ../../Zotlabs/Module/Sharedwithme.php:11
#: ../../Zotlabs/Module/Sources.php:74 ../../Zotlabs/Module/Suggest.php:30
-#: ../../Zotlabs/Module/Api.php:12 ../../Zotlabs/Module/Viewconnections.php:28
+#: ../../Zotlabs/Module/Photos.php:73
+#: ../../Zotlabs/Module/Viewconnections.php:28
#: ../../Zotlabs/Module/Viewconnections.php:33
-#: ../../Zotlabs/Module/Viewsrc.php:18 ../../Zotlabs/Lib/Chatroom.php:137
-#: ../../include/items.php:3448 ../../include/photos.php:27
+#: ../../Zotlabs/Module/Viewsrc.php:18 ../../Zotlabs/Module/Chat.php:100
+#: ../../Zotlabs/Module/Chat.php:105 ../../Zotlabs/Lib/Chatroom.php:137
+#: ../../include/photos.php:27 ../../include/items.php:3496
#: ../../include/attach.php:142 ../../include/attach.php:190
#: ../../include/attach.php:253 ../../include/attach.php:267
#: ../../include/attach.php:274 ../../include/attach.php:339
@@ -382,21 +391,21 @@ msgstr "Dateien zum sofortigen Hochladen hier fallen lassen"
msgid "Permission denied."
msgstr "Berechtigung verweigert."
-#: ../../Zotlabs/Web/Router.php:146 ../../Zotlabs/Module/Help.php:94
+#: ../../Zotlabs/Web/Router.php:146 ../../include/help.php:53
msgid "Not Found"
msgstr "Nicht gefunden"
#: ../../Zotlabs/Web/Router.php:149 ../../Zotlabs/Module/Page.php:94
-#: ../../Zotlabs/Module/Help.php:97 ../../Zotlabs/Module/Block.php:79
-#: ../../Zotlabs/Module/Display.php:119
+#: ../../Zotlabs/Module/Display.php:120 ../../Zotlabs/Module/Block.php:79
+#: ../../include/help.php:56
msgid "Page not found."
msgstr "Seite nicht gefunden."
#: ../../Zotlabs/Web/WebServer.php:127 ../../Zotlabs/Module/Dreport.php:10
-#: ../../Zotlabs/Module/Dreport.php:66 ../../Zotlabs/Module/Like.php:283
-#: ../../Zotlabs/Module/Group.php:72 ../../Zotlabs/Module/Import_items.php:114
+#: ../../Zotlabs/Module/Dreport.php:66 ../../Zotlabs/Module/Group.php:72
+#: ../../Zotlabs/Module/Import_items.php:114 ../../Zotlabs/Module/Like.php:283
#: ../../Zotlabs/Module/Profperm.php:28 ../../Zotlabs/Module/Subthread.php:62
-#: ../../include/items.php:384
+#: ../../include/items.php:403
msgid "Permission denied"
msgstr "Keine Berechtigung"
@@ -412,13 +421,13 @@ msgid "Welcome %s. Remote authentication successful."
msgstr "Willkommen %s. Entfernte Authentifizierung erfolgreich."
#: ../../Zotlabs/Module/Achievements.php:15
-#: ../../Zotlabs/Module/Webpages.php:33 ../../Zotlabs/Module/Editblock.php:31
+#: ../../Zotlabs/Module/Editblock.php:31
#: ../../Zotlabs/Module/Editlayout.php:31
#: ../../Zotlabs/Module/Editwebpage.php:32
-#: ../../Zotlabs/Module/Filestorage.php:59 ../../Zotlabs/Module/Hcard.php:12
+#: ../../Zotlabs/Module/Filestorage.php:59 ../../Zotlabs/Module/Connect.php:17
+#: ../../Zotlabs/Module/Webpages.php:33 ../../Zotlabs/Module/Hcard.php:12
#: ../../Zotlabs/Module/Profile.php:20 ../../Zotlabs/Module/Blocks.php:33
-#: ../../Zotlabs/Module/Layouts.php:31 ../../Zotlabs/Module/Connect.php:17
-#: ../../include/channel.php:859
+#: ../../Zotlabs/Module/Layouts.php:31 ../../include/channel.php:859
msgid "Requested profile is not available."
msgstr "Das angefragte Profil ist nicht verfügbar."
@@ -434,614 +443,1461 @@ msgstr "Abwesend"
msgid "Online"
msgstr "Online"
-#: ../../Zotlabs/Module/Setup.php:179
-msgid "$Projectname Server - Setup"
-msgstr "$Projectname Server-Einrichtung"
+#: ../../Zotlabs/Module/Dreport.php:44
+msgid "Invalid message"
+msgstr "Ungültige Beitrags-ID (mid)"
-#: ../../Zotlabs/Module/Setup.php:183
-msgid "Could not connect to database."
-msgstr "Kann nicht mit der Datenbank verbinden."
+#: ../../Zotlabs/Module/Dreport.php:76
+msgid "no results"
+msgstr "keine Ergebnisse"
-#: ../../Zotlabs/Module/Setup.php:187
-msgid ""
-"Could not connect to specified site URL. Possible SSL certificate or DNS "
-"issue."
-msgstr "Konnte die angegebene Webseiten-URL nicht erreichen. Möglicherweise ein Problem mit dem SSL-Zertifikat oder dem DNS."
+#: ../../Zotlabs/Module/Dreport.php:91
+msgid "channel sync processed"
+msgstr "Kanal-Sync verarbeitet"
-#: ../../Zotlabs/Module/Setup.php:194
-msgid "Could not create table."
-msgstr "Konnte Tabelle nicht erstellen."
+#: ../../Zotlabs/Module/Dreport.php:95
+msgid "queued"
+msgstr "zur Warteschlange hinzugefügt"
-#: ../../Zotlabs/Module/Setup.php:199
-msgid "Your site database has been installed."
-msgstr "Die Datenbank Deines Hubs wurde installiert."
+#: ../../Zotlabs/Module/Dreport.php:99
+msgid "posted"
+msgstr "zugestellt"
-#: ../../Zotlabs/Module/Setup.php:203
-msgid ""
-"You may need to import the file \"install/schema_xxx.sql\" manually using a "
-"database client."
-msgstr "Möglicherweise musst Du die Datei install/schema_xxx.sql manuell mit Hilfe eines Datenkbank-Clients importieren."
+#: ../../Zotlabs/Module/Dreport.php:103
+msgid "accepted for delivery"
+msgstr "für Zustellung akzeptiert"
-#: ../../Zotlabs/Module/Setup.php:204 ../../Zotlabs/Module/Setup.php:266
-#: ../../Zotlabs/Module/Setup.php:722
-msgid "Please see the file \"install/INSTALL.txt\"."
-msgstr "Lies die Datei \"install/INSTALL.txt\"."
+#: ../../Zotlabs/Module/Dreport.php:107
+msgid "updated"
+msgstr "aktualisiert"
-#: ../../Zotlabs/Module/Setup.php:263
-msgid "System check"
-msgstr "Systemprüfung"
+#: ../../Zotlabs/Module/Dreport.php:110
+msgid "update ignored"
+msgstr "Aktualisierung ignoriert"
-#: ../../Zotlabs/Module/Setup.php:267 ../../Zotlabs/Module/Events.php:676
-#: ../../Zotlabs/Module/Events.php:685 ../../Zotlabs/Module/Photos.php:960
-#: ../../Zotlabs/Module/Cal.php:333 ../../Zotlabs/Module/Cal.php:340
-msgid "Next"
-msgstr "Nächste"
+#: ../../Zotlabs/Module/Dreport.php:113
+msgid "permission denied"
+msgstr "Zugriff verweigert"
-#: ../../Zotlabs/Module/Setup.php:268
-msgid "Check again"
-msgstr "Nochmal prüfen"
+#: ../../Zotlabs/Module/Dreport.php:117
+msgid "recipient not found"
+msgstr "Empfänger nicht gefunden."
-#: ../../Zotlabs/Module/Setup.php:290
-msgid "Database connection"
-msgstr "Datenbankverbindung"
+#: ../../Zotlabs/Module/Dreport.php:120
+msgid "mail recalled"
+msgstr "Mail widerrufen"
+
+#: ../../Zotlabs/Module/Dreport.php:123
+msgid "duplicate mail received"
+msgstr "Doppelte Mail erhalten"
+
+#: ../../Zotlabs/Module/Dreport.php:126
+msgid "mail delivered"
+msgstr "Mail zugestellt"
-#: ../../Zotlabs/Module/Setup.php:291
+#: ../../Zotlabs/Module/Dreport.php:146
+#, php-format
+msgid "Delivery report for %1$s"
+msgstr "Zustellungsbericht für %1$s"
+
+#: ../../Zotlabs/Module/Dreport.php:149
+msgid "Options"
+msgstr "Optionen"
+
+#: ../../Zotlabs/Module/Dreport.php:150
+msgid "Redeliver"
+msgstr "Erneut zustellen"
+
+#: ../../Zotlabs/Module/Probe.php:28 ../../Zotlabs/Module/Probe.php:32
+#, php-format
+msgid "Fetching URL returns error: %1$s"
+msgstr "Abrufen der URL gab einen Fehler zurück: %1$s"
+
+#: ../../Zotlabs/Module/Register.php:49
+msgid "Maximum daily site registrations exceeded. Please try again tomorrow."
+msgstr "Maximale Anzahl täglicher Neuanmeldungen erreicht. Bitte versuche es morgen noch einmal."
+
+#: ../../Zotlabs/Module/Register.php:55
msgid ""
-"In order to install $Projectname we need to know how to connect to your "
-"database."
-msgstr "Um $Projectname zu installieren, müssen wir wissen, wie wir eine Verbindung zu Deiner Datenbank aufbauen können."
+"Please indicate acceptance of the Terms of Service. Registration failed."
+msgstr "Bitte stimme den Nutzungsbedingungen zu. Registrierung fehlgeschlagen."
-#: ../../Zotlabs/Module/Setup.php:292
+#: ../../Zotlabs/Module/Register.php:89
+msgid "Passwords do not match."
+msgstr "Passwörter stimmen nicht überein."
+
+#: ../../Zotlabs/Module/Register.php:131
msgid ""
-"Please contact your hosting provider or site administrator if you have "
-"questions about these settings."
-msgstr "Bitte kontaktiere Deinen Hosting-Provider oder Administrator, falls Du Fragen zu diesen Einstellungen hast."
+"Registration successful. Please check your email for validation "
+"instructions."
+msgstr "Registrierung erfolgreich. Eine E-Mail mit weiteren Anweisungen wurde an Dich gesendet."
+
+#: ../../Zotlabs/Module/Register.php:137
+msgid "Your registration is pending approval by the site owner."
+msgstr "Deine Registrierung muss noch vom Betreiber der Seite freigegeben werden."
-#: ../../Zotlabs/Module/Setup.php:293
+#: ../../Zotlabs/Module/Register.php:140
+msgid "Your registration can not be processed."
+msgstr "Deine Registrierung konnte nicht verarbeitet werden."
+
+#: ../../Zotlabs/Module/Register.php:184
+msgid "Registration on this hub is disabled."
+msgstr "Die Registrierung auf diesem Hub ist nicht möglich."
+
+#: ../../Zotlabs/Module/Register.php:193
+msgid "Registration on this hub is by approval only."
+msgstr "Eine Registrierung auf diesem Hub erfordert die Zustimmung durch den Administrator."
+
+#: ../../Zotlabs/Module/Register.php:194
+msgid "<a href=\"pubsites\">Register at another affiliated hub.</a>"
+msgstr "<a href=\"pubsites\">Registriere Dich auf einem der anderen verbundenen Hubs.</a>"
+
+#: ../../Zotlabs/Module/Register.php:204
msgid ""
-"The database you specify below should already exist. If it does not, please "
-"create it before continuing."
-msgstr "Die Datenbank, die Du weiter unten angibst, sollte bereits existieren. Sollte das noch nicht der Fall sein, erzeuge sie bitte bevor Du fortfährst."
+"This site has exceeded the number of allowed daily account registrations. "
+"Please try again tomorrow."
+msgstr "Die maximale Anzahl täglicher Registrierungen auf diesem Server wurde überschritten. Bitte versuche es morgen noch einmal."
-#: ../../Zotlabs/Module/Setup.php:297
-msgid "Database Server Name"
-msgstr "Datenbankservername"
+#: ../../Zotlabs/Module/Register.php:221
+msgid "Terms of Service"
+msgstr "Nutzungsbedingungen"
-#: ../../Zotlabs/Module/Setup.php:297
-msgid "Default is 127.0.0.1"
-msgstr "Standard ist 127.0.0.1"
+#: ../../Zotlabs/Module/Register.php:227
+#, php-format
+msgid "I accept the %s for this website"
+msgstr "Ich akzeptiere die %s für diese Webseite"
-#: ../../Zotlabs/Module/Setup.php:298
-msgid "Database Port"
-msgstr "Datenbankport"
+#: ../../Zotlabs/Module/Register.php:229
+#, php-format
+msgid "I am over 13 years of age and accept the %s for this website"
+msgstr "Ich bin älter als 13 Jahre und akzeptiere die %s dieser Webseite"
-#: ../../Zotlabs/Module/Setup.php:298
-msgid "Communication port number - use 0 for default"
-msgstr "Port-Nummer für die Kommunikation – verwende 0 für die Standardeinstellung"
+#: ../../Zotlabs/Module/Register.php:233
+msgid "Your email address"
+msgstr "Ihre E-Mail Adresse"
-#: ../../Zotlabs/Module/Setup.php:299
-msgid "Database Login Name"
-msgstr "Datenbank-Benutzername"
+#: ../../Zotlabs/Module/Register.php:234
+msgid "Choose a password"
+msgstr "Passwort"
-#: ../../Zotlabs/Module/Setup.php:300
-msgid "Database Login Password"
-msgstr "Datenbank-Passwort"
+#: ../../Zotlabs/Module/Register.php:235
+msgid "Please re-enter your password"
+msgstr "Bitte gib Dein Passwort noch einmal ein"
-#: ../../Zotlabs/Module/Setup.php:301
-msgid "Database Name"
-msgstr "Datenbankname"
+#: ../../Zotlabs/Module/Register.php:236
+msgid "Please enter your invitation code"
+msgstr "Bitte trage Deinen Einladungs-Code ein"
-#: ../../Zotlabs/Module/Setup.php:302
-msgid "Database Type"
-msgstr "Datenbanktyp"
+#: ../../Zotlabs/Module/Register.php:237
+#: ../../Zotlabs/Module/New_channel.php:134
+msgid "Name or caption"
+msgstr "Name oder Titel"
-#: ../../Zotlabs/Module/Setup.php:304 ../../Zotlabs/Module/Setup.php:344
-msgid "Site administrator email address"
-msgstr "E-Mail Adresse des Seiten-Administrators"
+#: ../../Zotlabs/Module/Register.php:237
+#: ../../Zotlabs/Module/New_channel.php:134
+msgid "Examples: \"Bob Jameson\", \"Lisa and her Horses\", \"Soccer\", \"Aviation Group\""
+msgstr "Beispiele: „Horst Weidinger“, „Lisa und ihr Meerschweinchen“, „Fußball“, „Segelflieger-Forum“ "
+
+#: ../../Zotlabs/Module/Register.php:239
+#: ../../Zotlabs/Module/New_channel.php:136
+msgid "Choose a short nickname"
+msgstr "Wähle einen kurzen Spitznamen"
-#: ../../Zotlabs/Module/Setup.php:304 ../../Zotlabs/Module/Setup.php:344
+#: ../../Zotlabs/Module/Register.php:239
+#: ../../Zotlabs/Module/New_channel.php:136
+#, php-format
msgid ""
-"Your account email address must match this in order to use the web admin "
-"panel."
-msgstr "Die E-Mail-Adresse Deines Accounts muss dieser Adresse entsprechen, damit Du Zugriff zur Administrations-Seite erhältst."
+"Your nickname will be used to create an easy to remember channel address "
+"e.g. nickname%s"
+msgstr "Dein Spitzname wird verwendet, um eine leicht zu merkende Kanal-Adresse (ähnlich einer E-Mail-Adresse) zu erzeugen, die Du mit anderen austauschen kannst, z.B. nickname%s"
-#: ../../Zotlabs/Module/Setup.php:305 ../../Zotlabs/Module/Setup.php:346
-msgid "Website URL"
-msgstr "Webseiten-URL"
+#: ../../Zotlabs/Module/Register.php:240
+#: ../../Zotlabs/Module/New_channel.php:137
+msgid "Channel role and privacy"
+msgstr "Kanaltyp und Privatspäre-Einstellungen"
-#: ../../Zotlabs/Module/Setup.php:305 ../../Zotlabs/Module/Setup.php:346
-msgid "Please use SSL (https) URL if available."
-msgstr "Nutze wenn möglich eine SSL-URL (https)."
+#: ../../Zotlabs/Module/Register.php:240
+#: ../../Zotlabs/Module/New_channel.php:137
+msgid "Select a channel role with your privacy requirements."
+msgstr "Wähle einen passenden Kanaltyp mit den zugehörigen Voreinstellungen zur Privatsphäre."
-#: ../../Zotlabs/Module/Setup.php:306 ../../Zotlabs/Module/Setup.php:349
-msgid "Please select a default timezone for your website"
-msgstr "Standard-Zeitzone für Deinen Server"
+#: ../../Zotlabs/Module/Register.php:240
+#: ../../Zotlabs/Module/New_channel.php:137
+msgid "Read more about roles"
+msgstr "Mehr Informationen über Rollen"
+
+#: ../../Zotlabs/Module/Register.php:241
+msgid "no"
+msgstr "nein"
+
+#: ../../Zotlabs/Module/Register.php:241
+msgid "yes"
+msgstr "ja"
+
+#: ../../Zotlabs/Module/Register.php:253
+#: ../../Zotlabs/Module/Admin/Site.php:268
+msgid "Registration"
+msgstr "Registrierung"
+
+#: ../../Zotlabs/Module/Register.php:258
+msgid "Membership on this site is by invitation only."
+msgstr "Mitgliedschaft auf dieser Seite ist nur nach vorheriger Einladung möglich."
+
+#: ../../Zotlabs/Module/Register.php:270 ../../include/nav.php:152
+#: ../../boot.php:1721
+msgid "Register"
+msgstr "Registrieren"
+
+#: ../../Zotlabs/Module/Register.php:271
+msgid ""
+"This site may require email verification after submitting this form. If you "
+"are returned to a login page, please check your email for instructions."
+msgstr "Diese Seite verlangt möglicherweise eine Emailbestätigung nach dem Ansenden des Formulars. Wenn Du auf eine Login-Seite zurückgeleitet wirst, prüfe bitte auf neue Mail mit entsprechenden Hinweisen."
+
+#: ../../Zotlabs/Module/Admin/Accounts.php:36
+#, php-format
+msgid "%s account blocked/unblocked"
+msgid_plural "%s account blocked/unblocked"
+msgstr[0] "%s Konto blockiert/freigegeben"
+msgstr[1] "%s Konten blockiert/freigegeben"
+
+#: ../../Zotlabs/Module/Admin/Accounts.php:43
+#, php-format
+msgid "%s account deleted"
+msgid_plural "%s accounts deleted"
+msgstr[0] "%s Konto gelöscht"
+msgstr[1] "%s Konten gelöscht"
+
+#: ../../Zotlabs/Module/Admin/Accounts.php:79
+msgid "Account not found"
+msgstr "Konto nicht gefunden"
+
+#: ../../Zotlabs/Module/Admin/Accounts.php:90
+#, php-format
+msgid "Account '%s' deleted"
+msgstr "Konto '%s' gelöscht"
+
+#: ../../Zotlabs/Module/Admin/Accounts.php:98
+#, php-format
+msgid "Account '%s' blocked"
+msgstr "Konto '%s' blockiert"
+
+#: ../../Zotlabs/Module/Admin/Accounts.php:106
+#, php-format
+msgid "Account '%s' unblocked"
+msgstr "Konto '%s' freigegeben"
+
+#: ../../Zotlabs/Module/Admin/Accounts.php:165
+#: ../../Zotlabs/Module/Admin/Channels.php:149
+#: ../../Zotlabs/Module/Admin/Logs.php:82
+#: ../../Zotlabs/Module/Admin/Plugins.php:336
+#: ../../Zotlabs/Module/Admin/Plugins.php:427
+#: ../../Zotlabs/Module/Admin/Security.php:86
+#: ../../Zotlabs/Module/Admin/Site.php:265
+#: ../../Zotlabs/Module/Admin/Themes.php:120
+#: ../../Zotlabs/Module/Admin/Themes.php:154
+#: ../../Zotlabs/Module/Admin.php:141
+msgid "Administration"
+msgstr "Administration"
-#: ../../Zotlabs/Module/Setup.php:312 ../../Zotlabs/Module/Setup.php:353
-#: ../../Zotlabs/Module/Profiles.php:687 ../../Zotlabs/Module/Appman.php:126
-#: ../../Zotlabs/Module/Pdledit.php:66
-#: ../../Zotlabs/Module/Filestorage.php:165
-#: ../../Zotlabs/Module/Connedit.php:786 ../../Zotlabs/Module/Group.php:85
+#: ../../Zotlabs/Module/Admin/Accounts.php:166
+#: ../../Zotlabs/Module/Admin/Accounts.php:179 ../../include/widgets.php:1557
+msgid "Accounts"
+msgstr "Konten"
+
+#: ../../Zotlabs/Module/Admin/Accounts.php:167
+#: ../../Zotlabs/Module/Admin/Channels.php:151
+#: ../../Zotlabs/Module/Admin/Features.php:66
+#: ../../Zotlabs/Module/Admin/Logs.php:84
+#: ../../Zotlabs/Module/Admin/Plugins.php:429
+#: ../../Zotlabs/Module/Admin/Profs.php:157
+#: ../../Zotlabs/Module/Admin/Security.php:104
+#: ../../Zotlabs/Module/Admin/Site.php:267
+#: ../../Zotlabs/Module/Admin/Themes.php:156
+#: ../../Zotlabs/Module/Import.php:560 ../../Zotlabs/Module/Appman.php:126
+#: ../../Zotlabs/Module/Mail.php:370 ../../Zotlabs/Module/Filestorage.php:165
+#: ../../Zotlabs/Module/Connect.php:98 ../../Zotlabs/Module/Group.php:85
#: ../../Zotlabs/Module/Import_items.php:122
#: ../../Zotlabs/Module/Invite.php:146 ../../Zotlabs/Module/Locs.php:121
-#: ../../Zotlabs/Module/Chat.php:196 ../../Zotlabs/Module/Chat.php:241
-#: ../../Zotlabs/Module/Events.php:484 ../../Zotlabs/Module/Mail.php:370
-#: ../../Zotlabs/Module/Mood.php:139 ../../Zotlabs/Module/Photos.php:679
-#: ../../Zotlabs/Module/Photos.php:1058 ../../Zotlabs/Module/Photos.php:1098
-#: ../../Zotlabs/Module/Photos.php:1216 ../../Zotlabs/Module/Settings.php:660
-#: ../../Zotlabs/Module/Settings.php:773 ../../Zotlabs/Module/Settings.php:864
-#: ../../Zotlabs/Module/Settings.php:890 ../../Zotlabs/Module/Settings.php:913
-#: ../../Zotlabs/Module/Settings.php:1001
-#: ../../Zotlabs/Module/Settings.php:1187 ../../Zotlabs/Module/Admin.php:492
-#: ../../Zotlabs/Module/Admin.php:688 ../../Zotlabs/Module/Admin.php:771
-#: ../../Zotlabs/Module/Admin.php:1032 ../../Zotlabs/Module/Admin.php:1211
-#: ../../Zotlabs/Module/Admin.php:1421 ../../Zotlabs/Module/Admin.php:1648
-#: ../../Zotlabs/Module/Admin.php:1733 ../../Zotlabs/Module/Admin.php:2116
-#: ../../Zotlabs/Module/Poke.php:186 ../../Zotlabs/Module/Pconfig.php:107
-#: ../../Zotlabs/Module/Cal.php:338 ../../Zotlabs/Module/Mitem.php:243
-#: ../../Zotlabs/Module/Connect.php:98 ../../Zotlabs/Module/Thing.php:320
-#: ../../Zotlabs/Module/Thing.php:370 ../../Zotlabs/Module/Rate.php:170
+#: ../../Zotlabs/Module/Mitem.php:243 ../../Zotlabs/Module/Rate.php:166
+#: ../../Zotlabs/Module/Mood.php:139 ../../Zotlabs/Module/Profiles.php:687
+#: ../../Zotlabs/Module/Events.php:484 ../../Zotlabs/Module/Poke.php:186
+#: ../../Zotlabs/Module/Setup.php:317 ../../Zotlabs/Module/Setup.php:365
+#: ../../Zotlabs/Module/Pconfig.php:107 ../../Zotlabs/Module/Cal.php:338
+#: ../../Zotlabs/Module/Pdledit.php:74 ../../Zotlabs/Module/Connedit.php:779
+#: ../../Zotlabs/Module/Thing.php:320 ../../Zotlabs/Module/Thing.php:370
#: ../../Zotlabs/Module/Sources.php:114 ../../Zotlabs/Module/Sources.php:149
-#: ../../Zotlabs/Module/Import.php:560 ../../Zotlabs/Module/Xchan.php:15
-#: ../../Zotlabs/Lib/ThreadItem.php:711 ../../include/js_strings.php:22
-#: ../../include/widgets.php:763 ../../view/theme/redbasic/php/config.php:99
+#: ../../Zotlabs/Module/Photos.php:668 ../../Zotlabs/Module/Photos.php:1058
+#: ../../Zotlabs/Module/Photos.php:1098 ../../Zotlabs/Module/Photos.php:1216
+#: ../../Zotlabs/Module/Chat.php:196 ../../Zotlabs/Module/Chat.php:241
+#: ../../Zotlabs/Module/Xchan.php:15
+#: ../../Zotlabs/Module/Settings/Account.php:126
+#: ../../Zotlabs/Module/Settings/Channel.php:452
+#: ../../Zotlabs/Module/Settings/Display.php:194
+#: ../../Zotlabs/Module/Settings/Features.php:47
+#: ../../Zotlabs/Module/Settings/Oauth.php:87
+#: ../../Zotlabs/Module/Settings/Tokens.php:167
+#: ../../Zotlabs/Lib/ThreadItem.php:712 ../../include/js_strings.php:22
+#: ../../include/widgets.php:796 ../../view/theme/redbasic/php/config.php:106
msgid "Submit"
msgstr "Absenden"
-#: ../../Zotlabs/Module/Setup.php:333
-msgid "Site settings"
-msgstr "Seiteneinstellungen"
+#: ../../Zotlabs/Module/Admin/Accounts.php:168
+#: ../../Zotlabs/Module/Admin/Channels.php:152
+msgid "select all"
+msgstr "Alle auswählen"
-#: ../../Zotlabs/Module/Setup.php:347
-msgid "Enable $Projectname <strong>advanced</strong> features?"
-msgstr "<strong>Erweiterte</strong> Funktionen für $Projectname aktivieren?"
+#: ../../Zotlabs/Module/Admin/Accounts.php:169
+msgid "Registrations waiting for confirm"
+msgstr "Registrierungen warten auf Bestätigung"
-#: ../../Zotlabs/Module/Setup.php:347
-msgid ""
-"Some advanced features, while useful - may be best suited for technically "
-"proficient audiences"
-msgstr "Einige erweiterte Funktionen können ungeachtet ihrer Nützlichkeit eher für eine technisch versierte Zielgruppe geeignet sein."
+#: ../../Zotlabs/Module/Admin/Accounts.php:170
+msgid "Request date"
+msgstr "Antragsdatum"
-#: ../../Zotlabs/Module/Setup.php:388
-msgid "PHP version 5.5 or greater is required."
-msgstr "PHP-Version 5.5 oder höher ist erforderlich."
+#: ../../Zotlabs/Module/Admin/Accounts.php:170
+#: ../../Zotlabs/Module/Admin/Accounts.php:182 ../../include/network.php:2208
+msgid "Email"
+msgstr "E-Mail"
-#: ../../Zotlabs/Module/Setup.php:389
-msgid "PHP version"
-msgstr "PHP-Version"
+#: ../../Zotlabs/Module/Admin/Accounts.php:171
+msgid "No registrations."
+msgstr "Keine Registrierungen."
-#: ../../Zotlabs/Module/Setup.php:404
-msgid "Could not find a command line version of PHP in the web server PATH."
-msgstr "Konnte die Kommandozeilen-Version von PHP nicht im PATH des Web-Servers finden."
+#: ../../Zotlabs/Module/Admin/Accounts.php:172
+#: ../../Zotlabs/Module/Connections.php:275
+msgid "Approve"
+msgstr "Genehmigen"
-#: ../../Zotlabs/Module/Setup.php:405
-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 "Ohne Kommandozeilen-Version von PHP auf dem Server wirst Du nicht in der Lage sein, Hintergrundprozesse via cron auszuführen."
+#: ../../Zotlabs/Module/Admin/Accounts.php:173
+msgid "Deny"
+msgstr "Verweigern"
-#: ../../Zotlabs/Module/Setup.php:409
-msgid "PHP executable path"
-msgstr "PHP-Pfad zu ausführbarer Datei"
+#: ../../Zotlabs/Module/Admin/Accounts.php:175
+#: ../../Zotlabs/Module/Connedit.php:575
+msgid "Block"
+msgstr "Blockieren"
-#: ../../Zotlabs/Module/Setup.php:409
-msgid ""
-"Enter full path to php executable. You can leave this blank to continue the "
-"installation."
-msgstr "Gib den vollen Pfad zum PHP-Interpreter an. Du kannst dieses Feld frei lassen und mit der Installation fortfahren."
+#: ../../Zotlabs/Module/Admin/Accounts.php:176
+#: ../../Zotlabs/Module/Connedit.php:575
+msgid "Unblock"
+msgstr "Freigeben"
-#: ../../Zotlabs/Module/Setup.php:414
-msgid "Command line PHP"
-msgstr "PHP-Befehlszeile"
+#: ../../Zotlabs/Module/Admin/Accounts.php:181
+msgid "ID"
+msgstr "ID"
+
+#: ../../Zotlabs/Module/Admin/Accounts.php:183 ../../include/group.php:267
+msgid "All Channels"
+msgstr "Alle Kanäle"
-#: ../../Zotlabs/Module/Setup.php:423
+#: ../../Zotlabs/Module/Admin/Accounts.php:184
+msgid "Register date"
+msgstr "Registrierungs-Datum"
+
+#: ../../Zotlabs/Module/Admin/Accounts.php:185
+msgid "Last login"
+msgstr "Letzte Anmeldung"
+
+#: ../../Zotlabs/Module/Admin/Accounts.php:186
+msgid "Expires"
+msgstr "Verfällt"
+
+#: ../../Zotlabs/Module/Admin/Accounts.php:187
+msgid "Service Class"
+msgstr "Service-Klasse"
+
+#: ../../Zotlabs/Module/Admin/Accounts.php:189
msgid ""
-"The command line version of PHP on your system does not have "
-"\"register_argc_argv\" enabled."
-msgstr "Bei der Kommandozeilen-Version von PHP auf Deinem System ist \"register_argc_argv\" nicht aktiviert."
+"Selected accounts will be deleted!\\n\\nEverything these accounts had posted"
+" on this site will be permanently deleted!\\n\\nAre you sure?"
+msgstr "Die ausgewählten Konten werden gelöscht!\\n\\nAlles, was diese Konten auf diesem Hub veröffentlicht haben, wird endgültig gelöscht werden!\\n\\nBist du dir sicher?"
-#: ../../Zotlabs/Module/Setup.php:424
-msgid "This is required for message delivery to work."
-msgstr "Das wird benötigt, damit die Auslieferung von Nachrichten funktioniert."
+#: ../../Zotlabs/Module/Admin/Accounts.php:190
+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 "Das Konto {0} wird gelöscht!\\n\\nAlles, was dieses Konto auf diesem Hub veröffentlicht hat, wird endgültig gelöscht werden!\\n\\nBist Du sicher?"
-#: ../../Zotlabs/Module/Setup.php:427
-msgid "PHP register_argc_argv"
-msgstr "PHP register_argc_argv"
+#: ../../Zotlabs/Module/Admin/Channels.php:30
+#, php-format
+msgid "%s channel censored/uncensored"
+msgid_plural "%s channels censored/uncensored"
+msgstr[0] "%s Kanal gesperrt/freigegeben"
+msgstr[1] "%s Kanäle gesperrt/freigegeben"
-#: ../../Zotlabs/Module/Setup.php:445
+#: ../../Zotlabs/Module/Admin/Channels.php:39
#, 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 "Die Maximalgröße für Uploads insgesamt liegt bei %s. Die Maximalgröße für eine Datei liegt bei %s. Es können maximal %d Dateien gleichzeitig hochgeladen werden."
+msgid "%s channel code allowed/disallowed"
+msgid_plural "%s channels code allowed/disallowed"
+msgstr[0] "Code für %s Kanal gesperrt/freigegeben"
+msgstr[1] "Code für %s Kanäle gesperrt/freigegeben"
-#: ../../Zotlabs/Module/Setup.php:450
-msgid "You can adjust these settings in the servers php.ini."
-msgstr "Du kannst diese Einstellungen in der php.ini des Servers ändern."
+#: ../../Zotlabs/Module/Admin/Channels.php:45
+#, php-format
+msgid "%s channel deleted"
+msgid_plural "%s channels deleted"
+msgstr[0] "%s Kanal gelöscht"
+msgstr[1] "%s Kanäle gelöscht"
-#: ../../Zotlabs/Module/Setup.php:452
-msgid "PHP upload limits"
-msgstr "PHP-Hochladebeschränkungen"
+#: ../../Zotlabs/Module/Admin/Channels.php:66
+msgid "Channel not found"
+msgstr "Kanal nicht gefunden"
+
+#: ../../Zotlabs/Module/Admin/Channels.php:76
+#, php-format
+msgid "Channel '%s' deleted"
+msgstr "Kanal '%s' gelöscht"
+
+#: ../../Zotlabs/Module/Admin/Channels.php:88
+#, php-format
+msgid "Channel '%s' censored"
+msgstr "Kanal '%s' gesperrt"
+
+#: ../../Zotlabs/Module/Admin/Channels.php:88
+#, php-format
+msgid "Channel '%s' uncensored"
+msgstr "Kanal '%s' freigegeben"
+
+#: ../../Zotlabs/Module/Admin/Channels.php:99
+#, php-format
+msgid "Channel '%s' code allowed"
+msgstr "Code für Kanal '%s' freigegeben"
+
+#: ../../Zotlabs/Module/Admin/Channels.php:99
+#, php-format
+msgid "Channel '%s' code disallowed"
+msgstr "Code für Kanal '%s' gesperrt"
+
+#: ../../Zotlabs/Module/Admin/Channels.php:150 ../../include/widgets.php:1558
+msgid "Channels"
+msgstr "Kanäle"
+
+#: ../../Zotlabs/Module/Admin/Channels.php:154
+msgid "Censor"
+msgstr "Sperren"
+
+#: ../../Zotlabs/Module/Admin/Channels.php:155
+msgid "Uncensor"
+msgstr "Freigeben"
+
+#: ../../Zotlabs/Module/Admin/Channels.php:156
+msgid "Allow Code"
+msgstr "Code erlauben"
-#: ../../Zotlabs/Module/Setup.php:475
+#: ../../Zotlabs/Module/Admin/Channels.php:157
+msgid "Disallow Code"
+msgstr "Code sperren"
+
+#: ../../Zotlabs/Module/Admin/Channels.php:158
+#: ../../include/conversation.php:1650
+msgid "Channel"
+msgstr "Kanal"
+
+#: ../../Zotlabs/Module/Admin/Channels.php:162
+msgid "UID"
+msgstr "UID"
+
+#: ../../Zotlabs/Module/Admin/Channels.php:164
+#: ../../Zotlabs/Module/Locs.php:118 ../../Zotlabs/Module/Profiles.php:470
+msgid "Address"
+msgstr "Adresse"
+
+#: ../../Zotlabs/Module/Admin/Channels.php:166
msgid ""
-"Error: the \"openssl_pkey_new\" function on this system is not able to "
-"generate encryption keys"
-msgstr "Fehler: Die „openssl_pkey_new“-Funktion auf diesem System ist nicht in der Lage, Schlüssel für die Verschlüsselung zu erzeugen."
+"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 "Alle ausgewählten Kanäle werden gelöscht!\\n\\nAlles was von diesen Kanälen auf diesem Server geschrieben wurde, wird dauerhaft gelöscht!\\n\\nBist Du sicher?"
-#: ../../Zotlabs/Module/Setup.php:476
+#: ../../Zotlabs/Module/Admin/Channels.php:167
msgid ""
-"If running under Windows, please see "
-"\"http://www.php.net/manual/en/openssl.installation.php\"."
-msgstr "Wenn Du Windows verwendest, findest Du unter http://www.php.net/manual/en/openssl.installation.php eine Installationsanleitung."
+"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 "Der Kanal {0} wird gelöscht!\\n\\nAlles was von diesem Kanal auf diesem Server geschrieben wurde, wird gelöscht!\\n\\nBist Du sicher?"
-#: ../../Zotlabs/Module/Setup.php:479
-msgid "Generate encryption keys"
-msgstr "Verschlüsselungsschlüssel erzeugen"
+#: ../../Zotlabs/Module/Admin/Dbsync.php:19
+msgid "Update has been marked successful"
+msgstr "Update wurde als erfolgreich markiert"
-#: ../../Zotlabs/Module/Setup.php:491
-msgid "libCurl PHP module"
-msgstr "libCurl-PHP-Modul"
+#: ../../Zotlabs/Module/Admin/Dbsync.php:29
+#, php-format
+msgid "Executing %s failed. Check system logs."
+msgstr "Ausführen von %s fehlgeschlagen. Überprüfe die Systemprotokolle."
-#: ../../Zotlabs/Module/Setup.php:492
-msgid "GD graphics PHP module"
-msgstr "GD-Grafik-PHP-Modul"
+#: ../../Zotlabs/Module/Admin/Dbsync.php:32
+#, php-format
+msgid "Update %s was successfully applied."
+msgstr "Update %s wurde erfolgreich ausgeführt."
-#: ../../Zotlabs/Module/Setup.php:493
-msgid "OpenSSL PHP module"
-msgstr "OpenSSL-PHP-Modul"
+#: ../../Zotlabs/Module/Admin/Dbsync.php:36
+#, php-format
+msgid "Update %s did not return a status. Unknown if it succeeded."
+msgstr "Update %s lieferte keinen Rückgabewert. Erfolg unbekannt."
-#: ../../Zotlabs/Module/Setup.php:494
-msgid "mysqli or postgres PHP module"
-msgstr "mysqli oder postgres PHP-Modul"
+#: ../../Zotlabs/Module/Admin/Dbsync.php:39
+#, php-format
+msgid "Update function %s could not be found."
+msgstr "Update-Funktion %s konnte nicht gefunden werden."
-#: ../../Zotlabs/Module/Setup.php:495
-msgid "mb_string PHP module"
-msgstr "mb_string-PHP-Modul"
+#: ../../Zotlabs/Module/Admin/Dbsync.php:55
+msgid "No failed updates."
+msgstr "Keine fehlgeschlagenen Aktualisierungen."
-#: ../../Zotlabs/Module/Setup.php:496
-msgid "xml PHP module"
-msgstr "xml-PHP-Modul"
+#: ../../Zotlabs/Module/Admin/Dbsync.php:59
+msgid "Failed Updates"
+msgstr "Fehlgeschlagene Aktualisierungen"
-#: ../../Zotlabs/Module/Setup.php:500 ../../Zotlabs/Module/Setup.php:502
-msgid "Apache mod_rewrite module"
-msgstr "Apache-mod_rewrite-Modul"
+#: ../../Zotlabs/Module/Admin/Dbsync.php:61
+msgid "Mark success (if update was manually applied)"
+msgstr "Als erfolgreich markieren (wenn das Update manuell ausgeführt wurde)"
-#: ../../Zotlabs/Module/Setup.php:500
-msgid ""
-"Error: Apache webserver mod-rewrite module is required but not installed."
-msgstr "Fehler: Das Apache-Modul mod-rewrite wird benötigt, ist aber nicht installiert."
+#: ../../Zotlabs/Module/Admin/Dbsync.php:62
+msgid "Attempt to execute this update step automatically"
+msgstr "Versuche, diesen Updateschritt automatisch auszuführen"
-#: ../../Zotlabs/Module/Setup.php:506 ../../Zotlabs/Module/Setup.php:509
-msgid "proc_open"
-msgstr "proc_open"
+#: ../../Zotlabs/Module/Admin/Features.php:55
+#: ../../Zotlabs/Module/Admin/Features.php:56
+#: ../../Zotlabs/Module/Settings/Features.php:38
+msgid "Off"
+msgstr "Aus"
-#: ../../Zotlabs/Module/Setup.php:506
+#: ../../Zotlabs/Module/Admin/Features.php:55
+#: ../../Zotlabs/Module/Admin/Features.php:56
+#: ../../Zotlabs/Module/Settings/Features.php:38
+msgid "On"
+msgstr "An"
+
+#: ../../Zotlabs/Module/Admin/Features.php:56
+#, php-format
+msgid "Lock feature %s"
+msgstr "Blockiere die Funktion %s"
+
+#: ../../Zotlabs/Module/Admin/Features.php:64
+msgid "Manage Additional Features"
+msgstr "Zusätzliche Funktionen verwalten"
+
+#: ../../Zotlabs/Module/Admin/Logs.php:28
+msgid "Log settings updated."
+msgstr "Protokoll-Einstellungen aktualisiert."
+
+#: ../../Zotlabs/Module/Admin/Logs.php:83 ../../include/widgets.php:1583
+#: ../../include/widgets.php:1593
+msgid "Logs"
+msgstr "Protokolle"
+
+#: ../../Zotlabs/Module/Admin/Logs.php:85
+msgid "Clear"
+msgstr "Leeren"
+
+#: ../../Zotlabs/Module/Admin/Logs.php:91
+msgid "Debugging"
+msgstr "Debugging"
+
+#: ../../Zotlabs/Module/Admin/Logs.php:92
+msgid "Log file"
+msgstr "Protokolldatei"
+
+#: ../../Zotlabs/Module/Admin/Logs.php:92
msgid ""
-"Error: proc_open is required but is either not installed or has been "
-"disabled in php.ini"
-msgstr "Fehler: proc_open wird benötigt, ist aber entweder nicht installiert oder wurde in der php.ini deaktiviert"
+"Must be writable by web server. Relative to your top-level webserver "
+"directory."
+msgstr "Muss für den Web-Server schreibbar sein. Relativ zum Hubzilla-Stammverzeichnis."
-#: ../../Zotlabs/Module/Setup.php:514
-msgid "Error: libCURL PHP module required but not installed."
-msgstr "Fehler: Das PHP-Modul libCURL wird benötigt, ist aber nicht installiert."
+#: ../../Zotlabs/Module/Admin/Logs.php:93
+msgid "Log level"
+msgstr "Protokollstufe"
-#: ../../Zotlabs/Module/Setup.php:518
+#: ../../Zotlabs/Module/Admin/Plugins.php:254
+#: ../../Zotlabs/Module/Admin/Themes.php:69
+#: ../../Zotlabs/Module/Display.php:40 ../../Zotlabs/Module/Filestorage.php:32
+#: ../../Zotlabs/Module/Thing.php:89 ../../Zotlabs/Module/Viewsrc.php:24
+#: ../../Zotlabs/Module/Admin.php:62 ../../include/items.php:3417
+msgid "Item not found."
+msgstr "Element nicht gefunden."
+
+#: ../../Zotlabs/Module/Admin/Plugins.php:284
+#, php-format
+msgid "Plugin %s disabled."
+msgstr "Plug-In %s deaktiviert."
+
+#: ../../Zotlabs/Module/Admin/Plugins.php:289
+#, php-format
+msgid "Plugin %s enabled."
+msgstr "Plug-In %s aktiviert."
+
+#: ../../Zotlabs/Module/Admin/Plugins.php:305
+#: ../../Zotlabs/Module/Admin/Themes.php:93
+msgid "Disable"
+msgstr "Deaktivieren"
+
+#: ../../Zotlabs/Module/Admin/Plugins.php:308
+#: ../../Zotlabs/Module/Admin/Themes.php:95
+msgid "Enable"
+msgstr "Aktivieren"
+
+#: ../../Zotlabs/Module/Admin/Plugins.php:337
+#: ../../Zotlabs/Module/Admin/Plugins.php:428 ../../include/widgets.php:1561
+msgid "Plugins"
+msgstr "Plug-Ins"
+
+#: ../../Zotlabs/Module/Admin/Plugins.php:338
+#: ../../Zotlabs/Module/Admin/Themes.php:122
+msgid "Toggle"
+msgstr "Umschalten"
+
+#: ../../Zotlabs/Module/Admin/Plugins.php:339
+#: ../../Zotlabs/Module/Admin/Themes.php:123 ../../Zotlabs/Lib/Apps.php:216
+#: ../../include/nav.php:213 ../../include/widgets.php:680
+msgid "Settings"
+msgstr "Einstellungen"
+
+#: ../../Zotlabs/Module/Admin/Plugins.php:346
+#: ../../Zotlabs/Module/Admin/Themes.php:132
+msgid "Author: "
+msgstr "Autor: "
+
+#: ../../Zotlabs/Module/Admin/Plugins.php:347
+#: ../../Zotlabs/Module/Admin/Themes.php:133
+msgid "Maintainer: "
+msgstr "Betreuer:"
+
+#: ../../Zotlabs/Module/Admin/Plugins.php:348
+msgid "Minimum project version: "
+msgstr "Minimale Version des Projekts:"
+
+#: ../../Zotlabs/Module/Admin/Plugins.php:349
+msgid "Maximum project version: "
+msgstr "Maximale Version des Projekts:"
+
+#: ../../Zotlabs/Module/Admin/Plugins.php:350
+msgid "Minimum PHP version: "
+msgstr "Minimale PHP Version:"
+
+#: ../../Zotlabs/Module/Admin/Plugins.php:351
+msgid "Compatible Server Roles: "
+msgstr "Kompatible Serverrollen: "
+
+#: ../../Zotlabs/Module/Admin/Plugins.php:352
+msgid "Requires: "
+msgstr "Benötigt:"
+
+#: ../../Zotlabs/Module/Admin/Plugins.php:353
+#: ../../Zotlabs/Module/Admin/Plugins.php:433
+msgid "Disabled - version incompatibility"
+msgstr "Abgeschaltet - Versionsinkompatibilität"
+
+#: ../../Zotlabs/Module/Admin/Plugins.php:402
+msgid "Enter the public git repository URL of the plugin repo."
+msgstr "Gib die öffentliche Git-Repository-URL des Plugin-Repository an."
+
+#: ../../Zotlabs/Module/Admin/Plugins.php:403
+msgid "Plugin repo git URL"
+msgstr "Plugin-Repository Git URL"
+
+#: ../../Zotlabs/Module/Admin/Plugins.php:404
+msgid "Custom repo name"
+msgstr "Benutzerdefinierter Repository-Name"
+
+#: ../../Zotlabs/Module/Admin/Plugins.php:404
+msgid "(optional)"
+msgstr "(optional)"
+
+#: ../../Zotlabs/Module/Admin/Plugins.php:405
+msgid "Download Plugin Repo"
+msgstr "Plugin-Repository herunterladen"
+
+#: ../../Zotlabs/Module/Admin/Plugins.php:412
+msgid "Install new repo"
+msgstr "Neues Repository installieren"
+
+#: ../../Zotlabs/Module/Admin/Plugins.php:413 ../../Zotlabs/Lib/Apps.php:334
+msgid "Install"
+msgstr "Installieren"
+
+#: ../../Zotlabs/Module/Admin/Plugins.php:414
+#: ../../Zotlabs/Module/Fbrowser.php:66 ../../Zotlabs/Module/Fbrowser.php:88
+#: ../../Zotlabs/Module/Wiki.php:171 ../../Zotlabs/Module/Wiki.php:211
+#: ../../Zotlabs/Module/Tagrm.php:15 ../../Zotlabs/Module/Tagrm.php:138
+#: ../../Zotlabs/Module/Settings/Oauth.php:88
+#: ../../Zotlabs/Module/Settings/Oauth.php:114
+#: ../../include/conversation.php:1247 ../../include/conversation.php:1296
+msgid "Cancel"
+msgstr "Abbrechen"
+
+#: ../../Zotlabs/Module/Admin/Plugins.php:435
+msgid "Manage Repos"
+msgstr "Repositorien verwalten"
+
+#: ../../Zotlabs/Module/Admin/Plugins.php:436
+msgid "Installed Plugin Repositories"
+msgstr "Installierte Plugin-Repositorien"
+
+#: ../../Zotlabs/Module/Admin/Plugins.php:437
+msgid "Install a New Plugin Repository"
+msgstr "Ein neues Plugin-Repository installieren"
+
+#: ../../Zotlabs/Module/Admin/Plugins.php:443
+#: ../../Zotlabs/Module/Settings/Oauth.php:42
+#: ../../Zotlabs/Module/Settings/Oauth.php:113 ../../Zotlabs/Lib/Apps.php:334
+msgid "Update"
+msgstr "Aktualisieren"
+
+#: ../../Zotlabs/Module/Admin/Plugins.php:444
+msgid "Switch branch"
+msgstr "Zweig/Branch wechseln"
+
+#: ../../Zotlabs/Module/Admin/Plugins.php:445
+#: ../../Zotlabs/Module/Tagrm.php:137 ../../Zotlabs/Module/Photos.php:989
+msgid "Remove"
+msgstr "Entfernen"
+
+#: ../../Zotlabs/Module/Admin/Profs.php:69
+msgid "New Profile Field"
+msgstr "Neues Profilfeld"
+
+#: ../../Zotlabs/Module/Admin/Profs.php:70
+#: ../../Zotlabs/Module/Admin/Profs.php:90
+msgid "Field nickname"
+msgstr "Kurzname für das Feld"
+
+#: ../../Zotlabs/Module/Admin/Profs.php:70
+#: ../../Zotlabs/Module/Admin/Profs.php:90
+msgid "System name of field"
+msgstr "Systemname des Feldes"
+
+#: ../../Zotlabs/Module/Admin/Profs.php:71
+#: ../../Zotlabs/Module/Admin/Profs.php:91
+msgid "Input type"
+msgstr "Art des Inhalts"
+
+#: ../../Zotlabs/Module/Admin/Profs.php:72
+#: ../../Zotlabs/Module/Admin/Profs.php:92
+msgid "Field Name"
+msgstr "Feldname"
+
+#: ../../Zotlabs/Module/Admin/Profs.php:72
+#: ../../Zotlabs/Module/Admin/Profs.php:92
+msgid "Label on profile pages"
+msgstr "Bezeichnung auf Profilseiten"
+
+#: ../../Zotlabs/Module/Admin/Profs.php:73
+#: ../../Zotlabs/Module/Admin/Profs.php:93
+msgid "Help text"
+msgstr "Hilfetext"
+
+#: ../../Zotlabs/Module/Admin/Profs.php:73
+#: ../../Zotlabs/Module/Admin/Profs.php:93
+msgid "Additional info (optional)"
+msgstr "Zusätzliche Informationen (optional)"
+
+#: ../../Zotlabs/Module/Admin/Profs.php:74
+#: ../../Zotlabs/Module/Admin/Profs.php:94 ../../Zotlabs/Module/Filer.php:53
+#: ../../Zotlabs/Module/Rbmark.php:32 ../../Zotlabs/Module/Rbmark.php:104
+#: ../../include/text.php:972 ../../include/text.php:984
+#: ../../include/widgets.php:201
+msgid "Save"
+msgstr "Speichern"
+
+#: ../../Zotlabs/Module/Admin/Profs.php:83
+msgid "Field definition not found"
+msgstr "Feld-Definition nicht gefunden"
+
+#: ../../Zotlabs/Module/Admin/Profs.php:89
+msgid "Edit Profile Field"
+msgstr "Profilfeld bearbeiten"
+
+#: ../../Zotlabs/Module/Admin/Profs.php:147 ../../include/widgets.php:1564
+msgid "Profile Fields"
+msgstr "Profil Felder"
+
+#: ../../Zotlabs/Module/Admin/Profs.php:148
+msgid "Basic Profile Fields"
+msgstr "Notwendige Profil Felder"
+
+#: ../../Zotlabs/Module/Admin/Profs.php:149
+msgid "Advanced Profile Fields"
+msgstr "Erweiterte Profil Felder"
+
+#: ../../Zotlabs/Module/Admin/Profs.php:149
+msgid "(In addition to basic fields)"
+msgstr "(zusätzlich zu notwendige Felder)"
+
+#: ../../Zotlabs/Module/Admin/Profs.php:151
+msgid "All available fields"
+msgstr "Alle verfügbaren Felder"
+
+#: ../../Zotlabs/Module/Admin/Profs.php:152
+msgid "Custom Fields"
+msgstr "Benutzerdefinierte Felder"
+
+#: ../../Zotlabs/Module/Admin/Profs.php:156
+msgid "Create Custom Field"
+msgstr "Erstelle benutzerdefiniertes Feld"
+
+#: ../../Zotlabs/Module/Admin/Queue.php:36
+msgid "Queue Statistics"
+msgstr "Warteschlangenstatistiken"
+
+#: ../../Zotlabs/Module/Admin/Queue.php:37
+msgid "Total Entries"
+msgstr "Einträge insgesamt"
+
+#: ../../Zotlabs/Module/Admin/Queue.php:38
+msgid "Priority"
+msgstr "Priorität"
+
+#: ../../Zotlabs/Module/Admin/Queue.php:39
+msgid "Destination URL"
+msgstr "Ziel-URL"
+
+#: ../../Zotlabs/Module/Admin/Queue.php:40
+msgid "Mark hub permanently offline"
+msgstr "Hub als permanent offline markieren"
+
+#: ../../Zotlabs/Module/Admin/Queue.php:41
+msgid "Empty queue for this hub"
+msgstr "Warteschlange für diesen Hub leeren"
+
+#: ../../Zotlabs/Module/Admin/Queue.php:42
+msgid "Last known contact"
+msgstr "Letzter Kontakt"
+
+#: ../../Zotlabs/Module/Admin/Security.php:77
msgid ""
-"Error: GD graphics PHP module with JPEG support required but not installed."
-msgstr "Fehler: Das PHP-Modul GD-Grafik mit JPEG-Unterstützung wird benötigt, ist aber nicht installiert."
+"By default, unfiltered HTML is allowed in embedded media. This is inherently"
+" insecure."
+msgstr "Standardmäßig wird ungefiltertes HTML in eingebetteten Inhalten zugelassen. Das ist prinzipiell unsicher."
-#: ../../Zotlabs/Module/Setup.php:522
-msgid "Error: openssl PHP module required but not installed."
-msgstr "Fehler: Das PHP-Modul openssl wird benötigt, ist aber nicht installiert."
+#: ../../Zotlabs/Module/Admin/Security.php:80
+msgid ""
+"The recommended setting is to only allow unfiltered HTML from the following "
+"sites:"
+msgstr "Die empfohlene Einstellung ist, ungefiltertes HTML nur von den nachfolgenden Webseiten zu erlauben:"
-#: ../../Zotlabs/Module/Setup.php:526
+#: ../../Zotlabs/Module/Admin/Security.php:81
msgid ""
-"Error: mysqli or postgres PHP module required but neither are installed."
-msgstr "Fehler: Das mysqli oder postgres PHP-Modul ist erforderlich, aber keines von beiden ist installiert."
+"https://youtube.com/<br />https://www.youtube.com/<br />https://youtu.be/<br"
+" />https://vimeo.com/<br />https://soundcloud.com/<br />"
+msgstr "https://youtube.com/<br />https://www.youtube.com/<br />https://youtu.be/<br />https://vimeo.com/<br />https://soundcloud.com/<br />"
-#: ../../Zotlabs/Module/Setup.php:530
-msgid "Error: mb_string PHP module required but not installed."
-msgstr "Fehler: Das PHP-Modul mb_string wird benötigt, ist aber nicht installiert."
+#: ../../Zotlabs/Module/Admin/Security.php:82
+msgid ""
+"All other embedded content will be filtered, <strong>unless</strong> "
+"embedded content from that site is explicitly blocked."
+msgstr "Alle anderen eingebetteten Inhalte werden gefiltert, <strong>es sei denn</strong>, eingebettete Inhalte von einer bestimmten Seite sind explizit blockiert."
-#: ../../Zotlabs/Module/Setup.php:534
-msgid "Error: xml PHP module required for DAV but not installed."
-msgstr "Fehler: Das xml-PHP-Modul wird für DAV benötigt, ist aber nicht installiert."
+#: ../../Zotlabs/Module/Admin/Security.php:87 ../../include/widgets.php:1559
+msgid "Security"
+msgstr "Sicherheit"
-#: ../../Zotlabs/Module/Setup.php:552
+#: ../../Zotlabs/Module/Admin/Security.php:89
+msgid "Block public"
+msgstr "Öffentlichen Zugriff blockieren"
+
+#: ../../Zotlabs/Module/Admin/Security.php:89
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 "Der Installations-Assistent muss in der Lage sein, die Datei \".htconfig.php\" im Stammverzeichnis des Web-Servers anzulegen, ist er aber nicht."
+"Check to block public access to all otherwise public personal pages on this "
+"site unless you are currently authenticated."
+msgstr "Blockiere den öffentlichen Zugriff auf alle ansonsten öffentlichen persönlichen Seiten dieser Website, sofern ein Besucher nicht angemeldet ist."
+
+#: ../../Zotlabs/Module/Admin/Security.php:90
+msgid "Set \"Transport Security\" HTTP header"
+msgstr "Setze den \"Transport Security\" HTTP Header"
-#: ../../Zotlabs/Module/Setup.php:553
+#: ../../Zotlabs/Module/Admin/Security.php:91
+msgid "Set \"Content Security Policy\" HTTP header"
+msgstr "Setze den \"Content Security Policy\" HTTP Header"
+
+#: ../../Zotlabs/Module/Admin/Security.php:92
+msgid "Allowed email domains"
+msgstr "Erlaubte Domains für E-Mails"
+
+#: ../../Zotlabs/Module/Admin/Security.php:92
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 "Meist liegt das daran, dass der Nutzer, unter dem der Web-Server läuft, keine Schreibrechte in dem Verzeichnis hat – selbst wenn Du selbst das darfst."
+"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 "Liste der Domains, die für E-Mail-Adressen bei der Registrierung erlaubt sind, durch Kommas getrennt. Platzhalter werden akzeptiert. Leer lassen, um alle Domains zu erlauben."
+
+#: ../../Zotlabs/Module/Admin/Security.php:93
+msgid "Not allowed email domains"
+msgstr "Nicht erlaubte Domains für E-Mails"
-#: ../../Zotlabs/Module/Setup.php:554
+#: ../../Zotlabs/Module/Admin/Security.php:93
msgid ""
-"At the end of this procedure, we will give you a text to save in a file "
-"named .htconfig.php in your Red top folder."
-msgstr "Am Schluss dieses Vorgangs wird ein Text generiert, den Du unter dem Dateinamen .htconfig.php im Stammverzeichnis Deiner Hubzilla-Installation speichern musst."
+"Comma separated list of domains which are not allowed in email addresses for"
+" registrations to this site. Wildcards are accepted. Empty to allow any "
+"domains, unless allowed domains have been defined."
+msgstr "Domains in E-Mail-Adressen, die keine Erlaubnis erhalten, sich auf Deinem Hub zu registrieren. Mehrere Domains können durch Kommas getrennt werden. Platzhalter (*/?) sind möglich. Keine Eingabe bedeutet keine Einschränkung, unabhängig davon, ob unter erlaubte Domains etwas eingegeben wurde."
-#: ../../Zotlabs/Module/Setup.php:555
+#: ../../Zotlabs/Module/Admin/Security.php:94
+msgid "Allow communications only from these sites"
+msgstr "Kommunikation nur von diesen Seiten erlauben"
+
+#: ../../Zotlabs/Module/Admin/Security.php:94
msgid ""
-"You can alternatively skip this procedure and perform a manual installation."
-" Please see the file \"install/INSTALL.txt\" for instructions."
-msgstr "Alternativ kannst Du diesen Schritt überspringen und die Installation manuell vornehmen. Lies dazu die Datei install/INSTALL.txt."
+"One site per line. Leave empty to allow communication from anywhere by "
+"default"
+msgstr "Ein Eintrag pro Zeile. Lasse das Feld leer, um Kommunikation grundlegend von überall her zu erlauben."
-#: ../../Zotlabs/Module/Setup.php:558
-msgid ".htconfig.php is writable"
-msgstr ".htconfig.php ist beschreibbar"
+#: ../../Zotlabs/Module/Admin/Security.php:95
+msgid "Block communications from these sites"
+msgstr "Kommunikation von diesen Seiten blockieren"
+
+#: ../../Zotlabs/Module/Admin/Security.php:96
+msgid "Allow communications only from these channels"
+msgstr "Kommunikation nur von diesen Kanälen erlauben"
-#: ../../Zotlabs/Module/Setup.php:572
+#: ../../Zotlabs/Module/Admin/Security.php:96
msgid ""
-"Red uses the Smarty3 template engine to render its web views. Smarty3 "
-"compiles templates to PHP to speed up rendering."
-msgstr "$Projectname verwendet Smarty3 um Vorlagen für die Webdarstellung zu übersetzen. Smarty3 übersetzt diese Vorlagen nach PHP, um die Darstellung zu beschleunigen."
+"One channel (hash) per line. Leave empty to allow from any channel by "
+"default"
+msgstr "Ein Kanal (hash) pro Zeile. Leerlassen um jeden Kanal zuzulassen. "
-#: ../../Zotlabs/Module/Setup.php:573
-#, php-format
+#: ../../Zotlabs/Module/Admin/Security.php:97
+msgid "Block communications from these channels"
+msgstr "Kommunikation von folgenden Kanälen blockieren"
+
+#: ../../Zotlabs/Module/Admin/Security.php:98
+msgid "Only allow embeds from secure (SSL) websites and links."
+msgstr "Erlaube Einbettungen nur von sicheren (SSL) Webseiten und Links."
+
+#: ../../Zotlabs/Module/Admin/Security.php:99
+msgid "Allow unfiltered embedded HTML content only from these domains"
+msgstr "Erlaube Einbettung von Inhalten mit ungefiltertem HTML nur von diesen Domains"
+
+#: ../../Zotlabs/Module/Admin/Security.php:99
+msgid "One site per line. By default embedded content is filtered."
+msgstr "Eine Website/Domain pro Zeile. Standardmäßig wird eingebetteter Inhalt gefiltert."
+
+#: ../../Zotlabs/Module/Admin/Security.php:100
+msgid "Block embedded HTML from these domains"
+msgstr "Eingebettete HTML Inhalte von diesen Seiten blockieren"
+
+#: ../../Zotlabs/Module/Admin/Site.php:135
+msgid "Site settings updated."
+msgstr "Site-Einstellungen aktualisiert."
+
+#: ../../Zotlabs/Module/Admin/Site.php:162 ../../include/text.php:2942
+msgid "Default"
+msgstr "Standard"
+
+#: ../../Zotlabs/Module/Admin/Site.php:172
+#: ../../Zotlabs/Module/Settings/Display.php:141
+msgid "mobile"
+msgstr "mobil"
+
+#: ../../Zotlabs/Module/Admin/Site.php:174
+msgid "experimental"
+msgstr "experimentell"
+
+#: ../../Zotlabs/Module/Admin/Site.php:176
+msgid "unsupported"
+msgstr "nicht unterstützt"
+
+#: ../../Zotlabs/Module/Admin/Site.php:221 ../../Zotlabs/Module/Menu.php:100
+#: ../../Zotlabs/Module/Menu.php:157 ../../Zotlabs/Module/Filestorage.php:160
+#: ../../Zotlabs/Module/Filestorage.php:168 ../../Zotlabs/Module/Mitem.php:162
+#: ../../Zotlabs/Module/Mitem.php:163 ../../Zotlabs/Module/Mitem.php:240
+#: ../../Zotlabs/Module/Mitem.php:241 ../../Zotlabs/Module/Profiles.php:647
+#: ../../Zotlabs/Module/Api.php:85 ../../Zotlabs/Module/Events.php:462
+#: ../../Zotlabs/Module/Events.php:463 ../../Zotlabs/Module/Events.php:472
+#: ../../Zotlabs/Module/Connedit.php:408 ../../Zotlabs/Module/Connedit.php:686
+#: ../../Zotlabs/Module/Removeme.php:63 ../../Zotlabs/Module/Photos.php:653
+#: ../../Zotlabs/Module/Settings/Channel.php:289
+#: ../../Zotlabs/Module/Settings/Display.php:101 ../../include/dir_fns.php:143
+#: ../../include/dir_fns.php:144 ../../include/dir_fns.php:145
+#: ../../view/theme/redbasic/php/config.php:111
+#: ../../view/theme/redbasic/php/config.php:136 ../../boot.php:1743
+msgid "No"
+msgstr "Nein"
+
+#: ../../Zotlabs/Module/Admin/Site.php:222
+msgid "Yes - with approval"
+msgstr "Ja - mit Zustimmung"
+
+#: ../../Zotlabs/Module/Admin/Site.php:223 ../../Zotlabs/Module/Menu.php:100
+#: ../../Zotlabs/Module/Menu.php:157 ../../Zotlabs/Module/Filestorage.php:160
+#: ../../Zotlabs/Module/Filestorage.php:168 ../../Zotlabs/Module/Mitem.php:162
+#: ../../Zotlabs/Module/Mitem.php:163 ../../Zotlabs/Module/Mitem.php:240
+#: ../../Zotlabs/Module/Mitem.php:241 ../../Zotlabs/Module/Profiles.php:647
+#: ../../Zotlabs/Module/Api.php:84 ../../Zotlabs/Module/Events.php:462
+#: ../../Zotlabs/Module/Events.php:463 ../../Zotlabs/Module/Events.php:472
+#: ../../Zotlabs/Module/Connedit.php:408 ../../Zotlabs/Module/Removeme.php:63
+#: ../../Zotlabs/Module/Photos.php:653
+#: ../../Zotlabs/Module/Settings/Channel.php:289
+#: ../../Zotlabs/Module/Settings/Display.php:101 ../../include/dir_fns.php:143
+#: ../../include/dir_fns.php:144 ../../include/dir_fns.php:145
+#: ../../view/theme/redbasic/php/config.php:111
+#: ../../view/theme/redbasic/php/config.php:136 ../../boot.php:1743
+msgid "Yes"
+msgstr "Ja"
+
+#: ../../Zotlabs/Module/Admin/Site.php:228
+msgid "My site is not a public server"
+msgstr "Mein Server ist kein öffentlicher Server"
+
+#: ../../Zotlabs/Module/Admin/Site.php:229
+msgid "My site has paid access only"
+msgstr "Meine Seite hat nur bezahlten Zugriff"
+
+#: ../../Zotlabs/Module/Admin/Site.php:230
+msgid "My site has free access only"
+msgstr "Meine Seite hat nur freien Zugriff"
+
+#: ../../Zotlabs/Module/Admin/Site.php:231
+msgid "My site offers free accounts with optional paid upgrades"
+msgstr "Mein Server bietet kostenlose Konten mit der Möglichkeit zu bezahlten Upgrades"
+
+#: ../../Zotlabs/Module/Admin/Site.php:242 ../../Zotlabs/Module/Setup.php:336
+msgid "Basic/Minimal Social Networking"
+msgstr "Einfaches/minimales soziales Netzwerken"
+
+#: ../../Zotlabs/Module/Admin/Site.php:243 ../../Zotlabs/Module/Setup.php:337
+msgid "Standard Configuration (default)"
+msgstr "Standardkonfiguration (Standard)"
+
+#: ../../Zotlabs/Module/Admin/Site.php:244 ../../Zotlabs/Module/Setup.php:338
+msgid "Professional"
+msgstr "Professionell"
+
+#: ../../Zotlabs/Module/Admin/Site.php:249
+#: ../../Zotlabs/Module/Settings/Account.php:105
+msgid "Beginner/Basic"
+msgstr "Anfänger/Basis"
+
+#: ../../Zotlabs/Module/Admin/Site.php:250
+#: ../../Zotlabs/Module/Settings/Account.php:106
+msgid "Novice - not skilled but willing to learn"
+msgstr "Anfänger - unerfahren, aber bereit zu lernen"
+
+#: ../../Zotlabs/Module/Admin/Site.php:251
+#: ../../Zotlabs/Module/Settings/Account.php:107
+msgid "Intermediate - somewhat comfortable"
+msgstr "Fortgeschritten - relativ komfortabel"
+
+#: ../../Zotlabs/Module/Admin/Site.php:252
+#: ../../Zotlabs/Module/Settings/Account.php:108
+msgid "Advanced - very comfortable"
+msgstr "Fortgeschritten - sehr komfortabel"
+
+#: ../../Zotlabs/Module/Admin/Site.php:253
+#: ../../Zotlabs/Module/Settings/Account.php:109
+msgid "Expert - I can write computer code"
+msgstr "Experte - Ich kann Computercode schreiben"
+
+#: ../../Zotlabs/Module/Admin/Site.php:254
+#: ../../Zotlabs/Module/Settings/Account.php:110
+msgid "Wizard - I probably know more than you do"
+msgstr "Zauberer - ich kann wahrscheinlich mehr als Du"
+
+#: ../../Zotlabs/Module/Admin/Site.php:266 ../../include/widgets.php:1556
+msgid "Site"
+msgstr "Seite"
+
+#: ../../Zotlabs/Module/Admin/Site.php:269
+msgid "File upload"
+msgstr "Dateiupload"
+
+#: ../../Zotlabs/Module/Admin/Site.php:270
+msgid "Policies"
+msgstr "Richtlinien"
+
+#: ../../Zotlabs/Module/Admin/Site.php:271
+#: ../../include/contact_widgets.php:16
+msgid "Advanced"
+msgstr "Fortgeschritten"
+
+#: ../../Zotlabs/Module/Admin/Site.php:275
+msgid "Site name"
+msgstr "Seitenname"
+
+#: ../../Zotlabs/Module/Admin/Site.php:277 ../../Zotlabs/Module/Setup.php:359
+msgid "Server Configuration/Role"
+msgstr "Serverkonfiguration/Rolle"
+
+#: ../../Zotlabs/Module/Admin/Site.php:279
+msgid "Site default technical skill level"
+msgstr "Standard-Qualifikationsstufe der Website"
+
+#: ../../Zotlabs/Module/Admin/Site.php:279
+msgid "Used to provide a member experience matched to technical comfort level"
+msgstr "Dies wird verwendet, um eine Benutzererfahrung passend zur technischen Qualifikationsstufe zu bieten."
+
+#: ../../Zotlabs/Module/Admin/Site.php:281
+msgid "Lock the technical skill level setting"
+msgstr "Sperre die technische Qualifikationsstufe"
+
+#: ../../Zotlabs/Module/Admin/Site.php:281
+msgid "Members can set their own technical comfort level by default"
+msgstr "Benutzer können standardmäßig ihre eigene technische Qualifikationsstufe einstellen"
+
+#: ../../Zotlabs/Module/Admin/Site.php:284
+msgid "Banner/Logo"
+msgstr "Banner/Logo"
+
+#: ../../Zotlabs/Module/Admin/Site.php:285
+msgid "Administrator Information"
+msgstr "Administrator-Informationen"
+
+#: ../../Zotlabs/Module/Admin/Site.php:285
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 "Um diese kompilierten Vorlagen speichern zu können, braucht der Web-Server Schreibzugriff auf das Verzeichnis %s unterhalb des Hubzilla-Stammverzeichnisses."
+"Contact information for site administrators. Displayed on siteinfo page. "
+"BBCode can be used here"
+msgstr "Kontaktinformationen für Administratoren des Servers. Wird auf der siteinfo-Seite angezeigt. BBCode kann verwendet werden."
+
+#: ../../Zotlabs/Module/Admin/Site.php:286
+msgid "System language"
+msgstr "System-Sprache"
-#: ../../Zotlabs/Module/Setup.php:574 ../../Zotlabs/Module/Setup.php:595
+#: ../../Zotlabs/Module/Admin/Site.php:287
+msgid "System theme"
+msgstr "System-Theme"
+
+#: ../../Zotlabs/Module/Admin/Site.php:287
msgid ""
-"Please ensure that the user that your web server runs as (e.g. www-data) has"
-" write access to this folder."
-msgstr "Bitte stelle sicher, dass der Nutzer, unter dem der Web-Server läuft (z.B. www-data), Schreibzugriff auf dieses Verzeichnis hat."
+"Default system theme - may be over-ridden by user profiles - <a href='#' "
+"id='cnftheme'>change theme settings</a>"
+msgstr "Standard-System-Theme – kann durch Nutzerprofile überschieben werden – <a href='#' id='cnftheme'>Theme-Einstellungen ändern</a>"
-#: ../../Zotlabs/Module/Setup.php:575
-#, php-format
+#: ../../Zotlabs/Module/Admin/Site.php:288
+msgid "Mobile system theme"
+msgstr "Mobile System-Theme:"
+
+#: ../../Zotlabs/Module/Admin/Site.php:288
+msgid "Theme for mobile devices"
+msgstr "Theme für mobile Geräte"
+
+#: ../../Zotlabs/Module/Admin/Site.php:290
+msgid "Allow Feeds as Connections"
+msgstr "Feeds als Verbindungen erlauben"
+
+#: ../../Zotlabs/Module/Admin/Site.php:290
+msgid "(Heavy system resource usage)"
+msgstr "(führt zu hoher Systemlast)"
+
+#: ../../Zotlabs/Module/Admin/Site.php:291
+msgid "Maximum image size"
+msgstr "Maximale Bildgröße"
+
+#: ../../Zotlabs/Module/Admin/Site.php:291
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 "Hinweis: Aus Sicherheitsgründen sollte der Web-Server nur auf %s Schreibrechte haben, nicht auf die Template-Dateien (.tpl), die das Verzeichnis enthält."
+"Maximum size in bytes of uploaded images. Default is 0, which means no "
+"limits."
+msgstr "Maximale Größe hochgeladener Bilder in Bytes. Standard ist 0 (keine Einschränkung)."
-#: ../../Zotlabs/Module/Setup.php:578
-#, php-format
-msgid "%s is writable"
-msgstr "%s ist beschreibbar"
+#: ../../Zotlabs/Module/Admin/Site.php:292
+msgid "Does this site allow new member registration?"
+msgstr "Erlaubt dieser Server die Registrierung neuer Nutzer?"
+
+#: ../../Zotlabs/Module/Admin/Site.php:293
+msgid "Invitation only"
+msgstr "Nur mit Einladung"
-#: ../../Zotlabs/Module/Setup.php:594
+#: ../../Zotlabs/Module/Admin/Site.php:293
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 Red top "
-"level folder"
-msgstr "Diese Software benutzt das Verzeichnis store, um hochgeladene Dateien zu speichern. Der Web-Server benötigt Schreibrechte für dieses Verzeichnis direkt unterhalb des Hubzilla-Stammverzeichnisses"
+"Only allow new member registrations with an invitation code. Above register "
+"policy must be set to Yes."
+msgstr "Erlaube die Neuregistrierung von Mitglieder nur mit einem Einladungscode. Die Registrierungs-Politik muss oben auf Ja gesetzt werden."
-#: ../../Zotlabs/Module/Setup.php:598
-msgid "store is writable"
-msgstr "store ist schreibbar"
+#: ../../Zotlabs/Module/Admin/Site.php:294
+msgid "Which best describes the types of account offered by this hub?"
+msgstr "Was ist die passendste Beschreibung der Konten auf diesem Hub?"
-#: ../../Zotlabs/Module/Setup.php:631
+#: ../../Zotlabs/Module/Admin/Site.php:295
+msgid "Register text"
+msgstr "Registrierungstext"
+
+#: ../../Zotlabs/Module/Admin/Site.php:295
+msgid "Will be displayed prominently on the registration page."
+msgstr "Wird gut sichtbar auf der Registrierungs-Seite angezeigt."
+
+#: ../../Zotlabs/Module/Admin/Site.php:296
+msgid "Site homepage to show visitors (default: login box)"
+msgstr "Homepage des Hubs, die Besuchern angezeigt wird (Voreinstellung: Anmeldemaske)"
+
+#: ../../Zotlabs/Module/Admin/Site.php:296
msgid ""
-"SSL certificate cannot be validated. Fix certificate or disable https access"
-" to this site."
-msgstr "Das SSL-Zertifikat konnte nicht validiert werden. Korrigiere das Zertifikat oder deaktiviere den HTTPS-Zugriff auf diesen Server."
+"example: 'public' to show public stream, 'page/sys/home' to show a system "
+"webpage called 'home' or 'include:home.html' to include a file."
+msgstr "Beispiele: 'public', um den Stream aller öffentlichen Beiträge anzuzeigen, 'page/sys/home', um eine System-Webseite namens 'home' anzuzeigen, 'include:home.html', um eine Datei einzufügen."
+
+#: ../../Zotlabs/Module/Admin/Site.php:297
+msgid "Preserve site homepage URL"
+msgstr "Homepage-URL schützen"
-#: ../../Zotlabs/Module/Setup.php:632
+#: ../../Zotlabs/Module/Admin/Site.php:297
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 "Wenn Du via HTTPS auf Deinen Server zugreifen möchtest, also Verbindungen über den Port 443 möglich sein sollen, ist ein SSL-Zertifikat einer Zertifizierungsstelle (CA) notwendig, das von den Browsern ohne Sicherheitsabfrage akzeptiert wird. Die Verwendung eines selbst signierten Zertifikates ist nicht möglich."
+"Present the site homepage in a frame at the original location instead of "
+"redirecting"
+msgstr "Zeigt die Homepage an der Original-URL in einem Frame an, statt auf die eigentliche Adresse der Seite umzuleiten."
-#: ../../Zotlabs/Module/Setup.php:633
+#: ../../Zotlabs/Module/Admin/Site.php:298
+msgid "Accounts abandoned after x days"
+msgstr "Konten gelten nach X Tagen als unbenutzt"
+
+#: ../../Zotlabs/Module/Admin/Site.php:298
msgid ""
-"This restriction is incorporated because public posts from you may for "
-"example contain references to images on your own hub."
-msgstr "Diese Einschränkung wurde eingebaut, weil Deine öffentlichen Beiträge zum Beispiel Verweise auf Bilder auf Deinem eigenen Hub enthalten können."
+"Will not waste system resources polling external sites for abandonded "
+"accounts. Enter 0 for no time limit."
+msgstr "Verschwende keine Systemressourcen auf das Pollen von externen Seiten, wenn das Konto nicht mehr benutzt wird. Trage hier 0 für kein zeitliches Limit."
+
+#: ../../Zotlabs/Module/Admin/Site.php:299
+msgid "Allowed friend domains"
+msgstr "Erlaubte Domains für Kontakte"
-#: ../../Zotlabs/Module/Setup.php:634
+#: ../../Zotlabs/Module/Admin/Site.php:299
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 "Wenn Dein Zertifikat nicht von jedem Browser akzeptiert wird, erhalten die Mitglieder anderer $Projectname-Hubs (die mit korrekten Zertifikaten ausgestattet sind) Sicherheits-Warnmeldungen, obwohl sie gar nicht direkt auf Deinem Server unterwegs sind (zum Beispiel, wenn ein Bild aus einem Deiner Beiträge angezeigt wird)."
+"Comma separated list of domains which are allowed to establish friendships "
+"with this site. Wildcards are accepted. Empty to allow any domains"
+msgstr "Liste der Domains, die für Freundschaften erlaubt sind, durch Kommas getrennt. Platzhalter werden akzeptiert. Leer lassen, um alle Domains zu erlauben."
+
+#: ../../Zotlabs/Module/Admin/Site.php:300
+msgid "Verify Email Addresses"
+msgstr "E-Mail-Adressen überprüfen"
-#: ../../Zotlabs/Module/Setup.php:635
+#: ../../Zotlabs/Module/Admin/Site.php:300
msgid ""
-"This can cause usability issues elsewhere (not just on your own site) so we "
-"must insist on this requirement."
-msgstr "Dies kann Probleme für andere Nutzer (nicht nur auf Deinem eigenen Server) verursachen, so dass wir auf dieser Forderung bestehen müssen."
+"Check to verify email addresses used in account registration (recommended)."
+msgstr "Aktivieren, um die Überprüfung von E-Mail-Adressen bei der Registrierung von Benutzerkonten zu aktivieren (empfohlen)."
+
+#: ../../Zotlabs/Module/Admin/Site.php:301
+msgid "Force publish"
+msgstr "Veröffentlichung erzwingen"
-#: ../../Zotlabs/Module/Setup.php:636
+#: ../../Zotlabs/Module/Admin/Site.php:301
msgid ""
-"Providers are available that issue free certificates which are browser-"
-"valid."
-msgstr "Es gibt einige Zertifizierungsstellen (CAs), bei denen solche Zertifikate kostenlos zu haben sind."
+"Check to force all profiles on this site to be listed in the site directory."
+msgstr "Die Veröffentlichung aller Profile dieses Servers im Verzeichnis erzwingen."
-#: ../../Zotlabs/Module/Setup.php:638
+#: ../../Zotlabs/Module/Admin/Site.php:302
+msgid "Import Public Streams"
+msgstr "Öffentliche Beiträge importieren"
+
+#: ../../Zotlabs/Module/Admin/Site.php:302
msgid ""
-"If you are confident that the certificate is valid and signed by a trusted "
-"authority, check to see if you have failed to install an intermediate cert. "
-"These are not normally required by browsers, but are required for server-to-"
-"server communications."
-msgstr "Wenn Du sicher bist, dass das Zertifikat gültig und von einer vertrauenswürdigen Zertifizierungsstelle signiert ist, prüfe auf ggf. noch zu installierende Zwischenzertifikate (intermediate). Diese werden nicht unbedingt von Browsern benötigt, aber sehr wohl für die Kommunikation zwischen Servern."
+"Import and allow access to public content pulled from other sites. Warning: "
+"this content is unmoderated."
+msgstr "Öffentliche Beiträge von anderen Servern importieren und zur Verfügung stellen. Warnung: Diese Inhalte sind nicht moderiert."
-#: ../../Zotlabs/Module/Setup.php:641
-msgid "SSL certificate validation"
-msgstr "SSL Zertifikatverifizierung"
+#: ../../Zotlabs/Module/Admin/Site.php:303
+msgid "Login on Homepage"
+msgstr "Log-in auf der Startseite"
-#: ../../Zotlabs/Module/Setup.php:647
+#: ../../Zotlabs/Module/Admin/Site.php:303
msgid ""
-"Url rewrite in .htaccess is not working. Check your server "
-"configuration.Test: "
-msgstr "Das Umschreiben von URLs (rewrite) per .htaccess funktioniert nicht. Bitte prüfe die Server-Konfiguration. Test:"
+"Present a login box to visitors on the home page if no other content has "
+"been configured."
+msgstr "Zeigt Besuchern der Homepage eine Anmeldemaske, falls keine anderen Inhalte konfiguriert wurden."
-#: ../../Zotlabs/Module/Setup.php:650
-msgid "Url rewrite is working"
-msgstr "Url rewrite funktioniert"
+#: ../../Zotlabs/Module/Admin/Site.php:304
+msgid "Enable context help"
+msgstr "Kontext-Hilfe aktivieren"
-#: ../../Zotlabs/Module/Setup.php:659
+#: ../../Zotlabs/Module/Admin/Site.php:304
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 "Die Datenbank-Konfigurationsdatei „.htconfig.php“ konnte nicht geschrieben werden. Bitte verwende den unten angegebenen Text, um die Konfigurationsdatei im Stammverzeichnis des Webservers anzulegen."
+"Display contextual help for the current page when the help button is "
+"pressed."
+msgstr "Zeigt Kontext-sensitive Hilfe für die aktuelle Seite an, wenn der Hilfe-Knopf geklickt wird."
-#: ../../Zotlabs/Module/Setup.php:683
-msgid "Errors encountered creating database tables."
-msgstr "Fehler beim Anlegen der Datenbank-Tabellen aufgetreten."
+#: ../../Zotlabs/Module/Admin/Site.php:306
+msgid "Directory Server URL"
+msgstr "Verzeichnisserver-URL"
-#: ../../Zotlabs/Module/Setup.php:720
-msgid "<h1>What next</h1>"
-msgstr "<h1>Was als Nächstes</h1>"
+#: ../../Zotlabs/Module/Admin/Site.php:306
+msgid "Default directory server"
+msgstr "Standard-Verzeichnisserver"
-#: ../../Zotlabs/Module/Setup.php:721
+#: ../../Zotlabs/Module/Admin/Site.php:308
+msgid "Proxy user"
+msgstr "Proxy Benutzer"
+
+#: ../../Zotlabs/Module/Admin/Site.php:309
+msgid "Proxy URL"
+msgstr "Proxy URL"
+
+#: ../../Zotlabs/Module/Admin/Site.php:310
+msgid "Network timeout"
+msgstr "Netzwerk-Timeout"
+
+#: ../../Zotlabs/Module/Admin/Site.php:310
+msgid "Value is in seconds. Set to 0 for unlimited (not recommended)."
+msgstr "Wert in Sekunden. 0 für unbegrenzt (nicht empfohlen)."
+
+#: ../../Zotlabs/Module/Admin/Site.php:311
+msgid "Delivery interval"
+msgstr "Auslieferung Intervall"
+
+#: ../../Zotlabs/Module/Admin/Site.php:311
msgid ""
-"IMPORTANT: You will need to [manually] setup a scheduled task for the "
-"poller."
-msgstr "WICHTIG: Du musst [manuell] einen Cronjob für den Poller einrichten."
+"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 "Verzögere im Hintergrund laufende Auslieferungsprozesse um die angegebene Anzahl Sekunden, um die Systemlast zu verringern. Empfehlungen: 4-5 für Shared Hosts, 2-3 für VPS, 0-1 für große dedizierte Server."
-#: ../../Zotlabs/Module/Dreport.php:44
-msgid "Invalid message"
-msgstr "Ungültige Beitrags-ID (mid)"
+#: ../../Zotlabs/Module/Admin/Site.php:312
+msgid "Deliveries per process"
+msgstr "Zustellungen pro Prozess"
-#: ../../Zotlabs/Module/Dreport.php:76
-msgid "no results"
-msgstr "keine Ergebnisse"
+#: ../../Zotlabs/Module/Admin/Site.php:312
+msgid ""
+"Number of deliveries to attempt in a single operating system process. Adjust"
+" if necessary to tune system performance. Recommend: 1-5."
+msgstr "Anzahl der Zustellungen, die innerhalb eines einzelnen Betriebssystemprozesses versucht werden. Anpassen, falls nötig, um die System-Performance zu verbessern. Empfehlung: 1-5."
-#: ../../Zotlabs/Module/Dreport.php:91
-msgid "channel sync processed"
-msgstr "Kanal-Sync verarbeitet"
+#: ../../Zotlabs/Module/Admin/Site.php:313
+msgid "Poll interval"
+msgstr "Abfrageintervall"
-#: ../../Zotlabs/Module/Dreport.php:95
-msgid "queued"
-msgstr "zur Warteschlange hinzugefügt"
+#: ../../Zotlabs/Module/Admin/Site.php:313
+msgid ""
+"Delay background polling processes by this many seconds to reduce system "
+"load. If 0, use delivery interval."
+msgstr "Verzögere Hintergrundprozesse um diese Anzahl Sekunden, um die Systemlast zu reduzieren. Bei 0 wird das Auslieferungsintervall verwendet."
-#: ../../Zotlabs/Module/Dreport.php:99
-msgid "posted"
-msgstr "zugestellt"
+#: ../../Zotlabs/Module/Admin/Site.php:314
+msgid "Maximum Load Average"
+msgstr "Maximales Load Average"
-#: ../../Zotlabs/Module/Dreport.php:103
-msgid "accepted for delivery"
-msgstr "für Zustellung akzeptiert"
+#: ../../Zotlabs/Module/Admin/Site.php:314
+msgid ""
+"Maximum system load before delivery and poll processes are deferred - "
+"default 50."
+msgstr "Maximale Systemlast, bevor Verteil- und Empfangsprozesse verschoben werden – Standard 50"
-#: ../../Zotlabs/Module/Dreport.php:107
-msgid "updated"
-msgstr "aktualisiert"
+#: ../../Zotlabs/Module/Admin/Site.php:315
+msgid "Expiration period in days for imported (grid/network) content"
+msgstr "Setze den Zeitraum (in Tagen), ab wann importierte (aus dem Netzwerk) Inhalte ablaufen sollen"
-#: ../../Zotlabs/Module/Dreport.php:110
-msgid "update ignored"
-msgstr "Aktualisierung ignoriert"
+#: ../../Zotlabs/Module/Admin/Site.php:315
+msgid "0 for no expiration of imported content"
+msgstr "0 = keine Löschung importierter Inhalte"
-#: ../../Zotlabs/Module/Dreport.php:113
-msgid "permission denied"
-msgstr "Zugriff verweigert"
+#: ../../Zotlabs/Module/Admin/Themes.php:18
+msgid "Theme settings updated."
+msgstr "Theme-Einstellungen aktualisiert."
-#: ../../Zotlabs/Module/Dreport.php:117
-msgid "recipient not found"
-msgstr "Empfänger nicht gefunden."
+#: ../../Zotlabs/Module/Admin/Themes.php:58
+msgid "No themes found."
+msgstr "Keine Theme gefunden."
-#: ../../Zotlabs/Module/Dreport.php:120
-msgid "mail recalled"
-msgstr "Mail widerrufen"
+#: ../../Zotlabs/Module/Admin/Themes.php:114
+msgid "Screenshot"
+msgstr "Bildschirmfoto"
-#: ../../Zotlabs/Module/Dreport.php:123
-msgid "duplicate mail received"
-msgstr "Doppelte Mail erhalten"
+#: ../../Zotlabs/Module/Admin/Themes.php:121
+#: ../../Zotlabs/Module/Admin/Themes.php:155 ../../include/widgets.php:1562
+msgid "Themes"
+msgstr "Themes"
-#: ../../Zotlabs/Module/Dreport.php:126
-msgid "mail delivered"
-msgstr "Mail zugestellt"
+#: ../../Zotlabs/Module/Admin/Themes.php:160
+msgid "[Experimental]"
+msgstr "[Experimentell]"
-#: ../../Zotlabs/Module/Dreport.php:146
+#: ../../Zotlabs/Module/Admin/Themes.php:161
+msgid "[Unsupported]"
+msgstr "[Nicht unterstützt]"
+
+#: ../../Zotlabs/Module/Import.php:33
#, php-format
-msgid "Delivery report for %1$s"
-msgstr "Zustellungsbericht für %1$s"
+msgid "Your service plan only allows %d channels."
+msgstr "Dein Vertrag erlaubt nur %d Kanäle."
-#: ../../Zotlabs/Module/Dreport.php:149
-msgid "Options"
-msgstr "Optionen"
+#: ../../Zotlabs/Module/Import.php:71 ../../Zotlabs/Module/Import_items.php:42
+msgid "Nothing to import."
+msgstr "Nichts zu importieren."
-#: ../../Zotlabs/Module/Dreport.php:150
-msgid "Redeliver"
-msgstr "Erneut zustellen"
+#: ../../Zotlabs/Module/Import.php:95 ../../Zotlabs/Module/Import_items.php:66
+msgid "Unable to download data from old server"
+msgstr "Daten können vom alten Server nicht heruntergeladen werden"
-#: ../../Zotlabs/Module/Webpages.php:53
-msgid "Import Webpage Elements"
-msgstr "Webseitenelemente importieren"
+#: ../../Zotlabs/Module/Import.php:101
+#: ../../Zotlabs/Module/Import_items.php:72
+msgid "Imported file is empty."
+msgstr "Die importierte Datei ist leer."
-#: ../../Zotlabs/Module/Webpages.php:54
-msgid "Import selected"
-msgstr "Import ausgewählt"
+#: ../../Zotlabs/Module/Import.php:123
+#: ../../Zotlabs/Module/Import_items.php:88
+#, php-format
+msgid "Warning: Database versions differ by %1$d updates."
+msgstr "Achtung: Datenbankversionen unterscheiden sich um %1$d Aktualisierungen."
-#: ../../Zotlabs/Module/Webpages.php:214 ../../Zotlabs/Lib/Apps.php:218
-#: ../../include/nav.php:108 ../../include/conversation.php:1705
-msgid "Webpages"
-msgstr "Webseiten"
+#: ../../Zotlabs/Module/Import.php:153 ../../include/import.php:107
+msgid "Cloned channel not found. Import failed."
+msgstr "Geklonter Kanal nicht gefunden. Import fehlgeschlagen."
-#: ../../Zotlabs/Module/Webpages.php:218 ../../Zotlabs/Module/Photos.php:1078
-#: ../../Zotlabs/Module/Blocks.php:161 ../../Zotlabs/Module/Layouts.php:193
-#: ../../include/conversation.php:1220
-msgid "Share"
-msgstr "Teilen"
+#: ../../Zotlabs/Module/Import.php:163
+msgid "No channel. Import failed."
+msgstr "Kein Kanal. Import fehlgeschlagen."
-#: ../../Zotlabs/Module/Webpages.php:223 ../../Zotlabs/Module/Events.php:680
-#: ../../Zotlabs/Module/Blocks.php:166 ../../Zotlabs/Module/Layouts.php:197
-#: ../../Zotlabs/Module/Pubsites.php:47 ../../include/page_widgets.php:42
-msgid "View"
-msgstr "Ansicht"
+#: ../../Zotlabs/Module/Import.php:520
+#: ../../include/Import/import_diaspora.php:142
+msgid "Import completed."
+msgstr "Import abgeschlossen."
-#: ../../Zotlabs/Module/Webpages.php:224 ../../Zotlabs/Module/Events.php:473
-#: ../../Zotlabs/Module/Photos.php:1099 ../../Zotlabs/Lib/ThreadItem.php:720
-#: ../../include/page_widgets.php:43 ../../include/conversation.php:1199
-msgid "Preview"
-msgstr "Vorschau"
+#: ../../Zotlabs/Module/Import.php:542
+msgid "You must be logged in to use this feature."
+msgstr "Du musst angemeldet sein um diese Funktion zu nutzen."
-#: ../../Zotlabs/Module/Webpages.php:225 ../../include/page_widgets.php:44
-msgid "Actions"
-msgstr "Aktionen"
+#: ../../Zotlabs/Module/Import.php:547
+msgid "Import Channel"
+msgstr "Kanal importieren"
-#: ../../Zotlabs/Module/Webpages.php:226 ../../include/page_widgets.php:45
-msgid "Page Link"
-msgstr "Seiten-Link"
+#: ../../Zotlabs/Module/Import.php:548
+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 "Verwende dieses Formular, um einen existierenden Kanal von einem anderen Hub zu importieren. Du kannst den Kanal direkt vom bisherigen Hub über das Netzwerk oder aus einer exportierten Sicherheitskopie importieren."
-#: ../../Zotlabs/Module/Webpages.php:227
-msgid "Page Title"
-msgstr "Seitentitel"
+#: ../../Zotlabs/Module/Import.php:549
+#: ../../Zotlabs/Module/Import_items.php:121
+msgid "File to Upload"
+msgstr "Hochzuladende Datei:"
-#: ../../Zotlabs/Module/Webpages.php:228 ../../Zotlabs/Module/Menu.php:114
-#: ../../Zotlabs/Module/Blocks.php:157 ../../Zotlabs/Module/Layouts.php:190
-#: ../../include/page_widgets.php:47
-msgid "Created"
-msgstr "Erstellt"
+#: ../../Zotlabs/Module/Import.php:550
+msgid "Or provide the old server/hub details"
+msgstr "Oder gib die Details Deines bisherigen $Projectname-Hubs ein"
-#: ../../Zotlabs/Module/Webpages.php:229 ../../Zotlabs/Module/Menu.php:115
-#: ../../Zotlabs/Module/Blocks.php:158 ../../Zotlabs/Module/Layouts.php:191
-#: ../../include/page_widgets.php:48
-msgid "Edited"
-msgstr "Geändert"
+#: ../../Zotlabs/Module/Import.php:551
+msgid "Your old identity address (xyz@example.com)"
+msgstr "Bisherige Kanal-Adresse (xyz@example.com)"
-#: ../../Zotlabs/Module/Webpages.php:258
-msgid "Invalid file type."
-msgstr "Ungültiger Dateityp."
+#: ../../Zotlabs/Module/Import.php:552
+msgid "Your old login email address"
+msgstr "Deine alte Login-E-Mail-Adresse"
-#: ../../Zotlabs/Module/Webpages.php:270
-msgid "Error opening zip file"
-msgstr "Fehler beim Öffnen der ZIP-Datei"
+#: ../../Zotlabs/Module/Import.php:553
+msgid "Your old login password"
+msgstr "Dein altes Passwort"
-#: ../../Zotlabs/Module/Webpages.php:281
-msgid "Invalid folder path."
-msgstr "Ungültiger Ordnerpfad."
+#: ../../Zotlabs/Module/Import.php:554
+msgid ""
+"For either option, please choose whether to make this hub your new primary "
+"address, or whether your old location should continue this role. You will be"
+" able to post from either location, but only one can be marked as the "
+"primary location for files, photos, and media."
+msgstr "Egal, welche Option Du wählst – bitte lege fest, ob dieser Server die neue primäre Adresse dieses Kanals sein soll, oder ob der bisherige $Projectname-Hub diese Rolle weiterhin wahrnimmt. Du kannst von beiden Servern aus posten, aber nur einer kann der primäre Ort Deiner Dateien, Fotos und Medien sein."
-#: ../../Zotlabs/Module/Webpages.php:308
-msgid "No webpage elements detected."
-msgstr "Keine Webseitenelemente erkannt."
+#: ../../Zotlabs/Module/Import.php:555
+msgid "Make this hub my primary location"
+msgstr "Dieser $Pojectname-Hub ist mein primärer Hub."
-#: ../../Zotlabs/Module/Webpages.php:382
-msgid "Import complete."
-msgstr "Import abgeschlossen."
+#: ../../Zotlabs/Module/Import.php:556
+msgid ""
+"Import existing posts if possible (experimental - limited by available "
+"memory"
+msgstr "Importiere bestehende Beiträge falls möglich (experimentell - begrenzt durch zur Verfügung stehenden Speicher"
+
+#: ../../Zotlabs/Module/Import.php:557
+msgid ""
+"This process may take several minutes to complete. Please submit the form "
+"only once and leave this page open until finished."
+msgstr "Dieser Vorgang kann einige Minuten dauern. Bitte sende das Formular nur einmal ab und lasse diese Seite bis zur Fertigstellung offen."
-#: ../../Zotlabs/Module/Directory.php:63 ../../Zotlabs/Module/Display.php:17
-#: ../../Zotlabs/Module/Photos.php:520 ../../Zotlabs/Module/Ratings.php:86
-#: ../../Zotlabs/Module/Search.php:17
+#: ../../Zotlabs/Module/Directory.php:63 ../../Zotlabs/Module/Ratings.php:83
+#: ../../Zotlabs/Module/Display.php:17 ../../Zotlabs/Module/Search.php:17
+#: ../../Zotlabs/Module/Photos.php:509
#: ../../Zotlabs/Module/Viewconnections.php:23
msgid "Public access denied."
msgstr "Öffentlichen Zugriff verweigert."
@@ -1070,8 +1926,8 @@ msgid "Age:"
msgstr "Alter:"
#: ../../Zotlabs/Module/Directory.php:311 ../../include/event.php:52
-#: ../../include/event.php:84 ../../include/channel.php:1049
-#: ../../include/bb2diaspora.php:507
+#: ../../include/event.php:84 ../../include/bb2diaspora.php:507
+#: ../../include/channel.php:1049
msgid "Location:"
msgstr "Ort:"
@@ -1089,8 +1945,8 @@ msgstr "Über:"
#: ../../Zotlabs/Module/Directory.php:325 ../../Zotlabs/Module/Match.php:68
#: ../../Zotlabs/Module/Suggest.php:56 ../../include/channel.php:1034
-#: ../../include/conversation.php:960 ../../include/widgets.php:147
-#: ../../include/widgets.php:184 ../../include/connections.php:78
+#: ../../include/connections.php:78 ../../include/conversation.php:957
+#: ../../include/widgets.php:147 ../../include/widgets.php:184
msgid "Connect"
msgstr "Verbinden"
@@ -1166,343 +2022,6 @@ msgstr "Älteste zuerst"
msgid "No entries (some entries may be hidden)."
msgstr "Keine Einträge gefunden (einige könnten versteckt sein)."
-#: ../../Zotlabs/Module/Profiles.php:24 ../../Zotlabs/Module/Profiles.php:189
-#: ../../Zotlabs/Module/Profiles.php:246 ../../Zotlabs/Module/Profiles.php:625
-msgid "Profile not found."
-msgstr "Profil nicht gefunden."
-
-#: ../../Zotlabs/Module/Profiles.php:44
-msgid "Profile deleted."
-msgstr "Profil gelöscht."
-
-#: ../../Zotlabs/Module/Profiles.php:68 ../../Zotlabs/Module/Profiles.php:104
-msgid "Profile-"
-msgstr "Profil-"
-
-#: ../../Zotlabs/Module/Profiles.php:89 ../../Zotlabs/Module/Profiles.php:132
-msgid "New profile created."
-msgstr "Neues Profil erstellt."
-
-#: ../../Zotlabs/Module/Profiles.php:110
-msgid "Profile unavailable to clone."
-msgstr "Profil kann nicht geklont werden."
-
-#: ../../Zotlabs/Module/Profiles.php:151
-msgid "Profile unavailable to export."
-msgstr "Dieses Profil kann nicht exportiert werden."
-
-#: ../../Zotlabs/Module/Profiles.php:256
-msgid "Profile Name is required."
-msgstr "Profil-Name erforderlich."
-
-#: ../../Zotlabs/Module/Profiles.php:427
-msgid "Marital Status"
-msgstr "Familienstand"
-
-#: ../../Zotlabs/Module/Profiles.php:431
-msgid "Romantic Partner"
-msgstr "Romantische Partner"
-
-#: ../../Zotlabs/Module/Profiles.php:435 ../../Zotlabs/Module/Profiles.php:736
-msgid "Likes"
-msgstr "Gefällt"
-
-#: ../../Zotlabs/Module/Profiles.php:439 ../../Zotlabs/Module/Profiles.php:737
-msgid "Dislikes"
-msgstr "Gefällt nicht"
-
-#: ../../Zotlabs/Module/Profiles.php:443 ../../Zotlabs/Module/Profiles.php:744
-msgid "Work/Employment"
-msgstr "Arbeit/Anstellung"
-
-#: ../../Zotlabs/Module/Profiles.php:446
-msgid "Religion"
-msgstr "Religion"
-
-#: ../../Zotlabs/Module/Profiles.php:450
-msgid "Political Views"
-msgstr "Politische Ansichten"
-
-#: ../../Zotlabs/Module/Profiles.php:454
-msgid "Gender"
-msgstr "Geschlecht"
-
-#: ../../Zotlabs/Module/Profiles.php:458
-msgid "Sexual Preference"
-msgstr "Sexuelle Orientierung"
-
-#: ../../Zotlabs/Module/Profiles.php:462
-msgid "Homepage"
-msgstr "Webseite"
-
-#: ../../Zotlabs/Module/Profiles.php:466
-msgid "Interests"
-msgstr "Hobbys/Interessen"
-
-#: ../../Zotlabs/Module/Profiles.php:470 ../../Zotlabs/Module/Locs.php:118
-#: ../../Zotlabs/Module/Admin.php:1224
-msgid "Address"
-msgstr "Adresse"
-
-#: ../../Zotlabs/Module/Profiles.php:477 ../../Zotlabs/Module/Profiles.php:698
-#: ../../Zotlabs/Module/Locs.php:117 ../../Zotlabs/Module/Events.php:467
-#: ../../Zotlabs/Module/Pubsites.php:41 ../../include/js_strings.php:25
-msgid "Location"
-msgstr "Ort"
-
-#: ../../Zotlabs/Module/Profiles.php:560
-msgid "Profile updated."
-msgstr "Profil aktualisiert."
-
-#: ../../Zotlabs/Module/Profiles.php:644
-msgid "Hide your connections list from viewers of this profile"
-msgstr "Deine Verbindungen vor Betrachtern dieses Profils verbergen"
-
-#: ../../Zotlabs/Module/Profiles.php:647
-#: ../../Zotlabs/Module/Filestorage.php:160
-#: ../../Zotlabs/Module/Filestorage.php:168
-#: ../../Zotlabs/Module/Connedit.php:411 ../../Zotlabs/Module/Connedit.php:693
-#: ../../Zotlabs/Module/Menu.php:100 ../../Zotlabs/Module/Menu.php:157
-#: ../../Zotlabs/Module/Events.php:462 ../../Zotlabs/Module/Events.php:463
-#: ../../Zotlabs/Module/Events.php:472 ../../Zotlabs/Module/Photos.php:664
-#: ../../Zotlabs/Module/Settings.php:651 ../../Zotlabs/Module/Admin.php:459
-#: ../../Zotlabs/Module/Mitem.php:162 ../../Zotlabs/Module/Mitem.php:163
-#: ../../Zotlabs/Module/Mitem.php:240 ../../Zotlabs/Module/Mitem.php:241
-#: ../../Zotlabs/Module/Removeme.php:63 ../../Zotlabs/Module/Api.php:85
-#: ../../include/dir_fns.php:143 ../../include/dir_fns.php:144
-#: ../../include/dir_fns.php:145 ../../view/theme/redbasic/php/config.php:105
-#: ../../view/theme/redbasic/php/config.php:130 ../../boot.php:1717
-msgid "No"
-msgstr "Nein"
-
-#: ../../Zotlabs/Module/Profiles.php:647
-#: ../../Zotlabs/Module/Filestorage.php:160
-#: ../../Zotlabs/Module/Filestorage.php:168
-#: ../../Zotlabs/Module/Connedit.php:411 ../../Zotlabs/Module/Menu.php:100
-#: ../../Zotlabs/Module/Menu.php:157 ../../Zotlabs/Module/Events.php:462
-#: ../../Zotlabs/Module/Events.php:463 ../../Zotlabs/Module/Events.php:472
-#: ../../Zotlabs/Module/Photos.php:664 ../../Zotlabs/Module/Settings.php:651
-#: ../../Zotlabs/Module/Admin.php:461 ../../Zotlabs/Module/Mitem.php:162
-#: ../../Zotlabs/Module/Mitem.php:163 ../../Zotlabs/Module/Mitem.php:240
-#: ../../Zotlabs/Module/Mitem.php:241 ../../Zotlabs/Module/Removeme.php:63
-#: ../../Zotlabs/Module/Api.php:84 ../../include/dir_fns.php:143
-#: ../../include/dir_fns.php:144 ../../include/dir_fns.php:145
-#: ../../view/theme/redbasic/php/config.php:105
-#: ../../view/theme/redbasic/php/config.php:130 ../../boot.php:1717
-msgid "Yes"
-msgstr "Ja"
-
-#: ../../Zotlabs/Module/Profiles.php:686
-msgid "Edit Profile Details"
-msgstr "Bearbeite Profil-Details"
-
-#: ../../Zotlabs/Module/Profiles.php:688
-msgid "View this profile"
-msgstr "Dieses Profil ansehen"
-
-#: ../../Zotlabs/Module/Profiles.php:689 ../../Zotlabs/Module/Profiles.php:771
-#: ../../include/channel.php:981
-msgid "Edit visibility"
-msgstr "Sichtbarkeit bearbeiten"
-
-#: ../../Zotlabs/Module/Profiles.php:690
-msgid "Profile Tools"
-msgstr "Profilwerkzeuge"
-
-#: ../../Zotlabs/Module/Profiles.php:691
-msgid "Change cover photo"
-msgstr "Titelbild ändern"
-
-#: ../../Zotlabs/Module/Profiles.php:692 ../../include/channel.php:952
-msgid "Change profile photo"
-msgstr "Profilfoto ändern"
-
-#: ../../Zotlabs/Module/Profiles.php:693
-msgid "Create a new profile using these settings"
-msgstr "Neues Profil anlegen und diese Einstellungen übernehmen"
-
-#: ../../Zotlabs/Module/Profiles.php:694
-msgid "Clone this profile"
-msgstr "Dieses Profil klonen"
-
-#: ../../Zotlabs/Module/Profiles.php:695
-msgid "Delete this profile"
-msgstr "Dieses Profil löschen"
-
-#: ../../Zotlabs/Module/Profiles.php:696
-msgid "Add profile things"
-msgstr "Sachen zum Profil hinzufügen"
-
-#: ../../Zotlabs/Module/Profiles.php:697 ../../include/conversation.php:1546
-#: ../../include/widgets.php:105
-msgid "Personal"
-msgstr "Persönlich"
-
-#: ../../Zotlabs/Module/Profiles.php:699
-msgid "Relation"
-msgstr "Beziehung"
-
-#: ../../Zotlabs/Module/Profiles.php:700 ../../include/datetime.php:48
-msgid "Miscellaneous"
-msgstr "Verschiedenes"
-
-#: ../../Zotlabs/Module/Profiles.php:702
-msgid "Import profile from file"
-msgstr "Profil aus einer Datei importieren"
-
-#: ../../Zotlabs/Module/Profiles.php:703
-msgid "Export profile to file"
-msgstr "Profil in eine Datei exportieren"
-
-#: ../../Zotlabs/Module/Profiles.php:704
-msgid "Your gender"
-msgstr "Dein Geschlecht"
-
-#: ../../Zotlabs/Module/Profiles.php:705
-msgid "Marital status"
-msgstr "Familienstand"
-
-#: ../../Zotlabs/Module/Profiles.php:706
-msgid "Sexual preference"
-msgstr "Sexuelle Orientierung"
-
-#: ../../Zotlabs/Module/Profiles.php:709
-msgid "Profile name"
-msgstr "Profilname"
-
-#: ../../Zotlabs/Module/Profiles.php:709 ../../Zotlabs/Module/Profiles.php:713
-#: ../../Zotlabs/Module/Appman.php:115 ../../Zotlabs/Module/Appman.php:116
-#: ../../Zotlabs/Module/Events.php:452 ../../Zotlabs/Module/Events.php:457
-#: ../../include/datetime.php:245
-msgid "Required"
-msgstr "Benötigt"
-
-#: ../../Zotlabs/Module/Profiles.php:711
-msgid "This is your default profile."
-msgstr "Das ist Dein Standardprofil."
-
-#: ../../Zotlabs/Module/Profiles.php:713
-msgid "Your full name"
-msgstr "Dein voller Name"
-
-#: ../../Zotlabs/Module/Profiles.php:714
-msgid "Title/Description"
-msgstr "Titel/Beschreibung"
-
-#: ../../Zotlabs/Module/Profiles.php:717
-msgid "Street address"
-msgstr "Straße und Hausnummer"
-
-#: ../../Zotlabs/Module/Profiles.php:718
-msgid "Locality/City"
-msgstr "Wohnort"
-
-#: ../../Zotlabs/Module/Profiles.php:719
-msgid "Region/State"
-msgstr "Region/Bundesstaat"
-
-#: ../../Zotlabs/Module/Profiles.php:720
-msgid "Postal/Zip code"
-msgstr "Postleitzahl"
-
-#: ../../Zotlabs/Module/Profiles.php:721
-msgid "Country"
-msgstr "Land"
-
-#: ../../Zotlabs/Module/Profiles.php:726
-msgid "Who (if applicable)"
-msgstr "Wer (falls anwendbar)"
-
-#: ../../Zotlabs/Module/Profiles.php:726
-msgid "Examples: cathy123, Cathy Williams, cathy@example.com"
-msgstr "Beispiele: cathy123, Cathy Williams, cathy@example.com"
-
-#: ../../Zotlabs/Module/Profiles.php:727
-msgid "Since (date)"
-msgstr "Seit (Datum)"
-
-#: ../../Zotlabs/Module/Profiles.php:730
-msgid "Tell us about yourself"
-msgstr "Erzähle uns ein wenig von Dir"
-
-#: ../../Zotlabs/Module/Profiles.php:731
-msgid "Homepage URL"
-msgstr "Homepage-URL"
-
-#: ../../Zotlabs/Module/Profiles.php:732
-msgid "Hometown"
-msgstr "Heimatort"
-
-#: ../../Zotlabs/Module/Profiles.php:733
-msgid "Political views"
-msgstr "Politische Ansichten"
-
-#: ../../Zotlabs/Module/Profiles.php:734
-msgid "Religious views"
-msgstr "Religiöse Ansichten"
-
-#: ../../Zotlabs/Module/Profiles.php:735
-msgid "Keywords used in directory listings"
-msgstr "Schlüsselwörter, die in Verzeichnis-Auflistungen verwendet werden"
-
-#: ../../Zotlabs/Module/Profiles.php:735
-msgid "Example: fishing photography software"
-msgstr "Beispiel: Angeln Fotografie Software"
-
-#: ../../Zotlabs/Module/Profiles.php:738
-msgid "Musical interests"
-msgstr "Musikalische Interessen"
-
-#: ../../Zotlabs/Module/Profiles.php:739
-msgid "Books, literature"
-msgstr "Bücher, Literatur"
-
-#: ../../Zotlabs/Module/Profiles.php:740
-msgid "Television"
-msgstr "Fernsehen"
-
-#: ../../Zotlabs/Module/Profiles.php:741
-msgid "Film/Dance/Culture/Entertainment"
-msgstr "Film/Tanz/Kultur/Unterhaltung"
-
-#: ../../Zotlabs/Module/Profiles.php:742
-msgid "Hobbies/Interests"
-msgstr "Hobbys/Interessen"
-
-#: ../../Zotlabs/Module/Profiles.php:743
-msgid "Love/Romance"
-msgstr "Liebe/Romantik"
-
-#: ../../Zotlabs/Module/Profiles.php:745
-msgid "School/Education"
-msgstr "Schule/Ausbildung"
-
-#: ../../Zotlabs/Module/Profiles.php:746
-msgid "Contact information and social networks"
-msgstr "Kontaktinformation und soziale Netzwerke"
-
-#: ../../Zotlabs/Module/Profiles.php:747
-msgid "My other channels"
-msgstr "Meine anderen Kanäle"
-
-#: ../../Zotlabs/Module/Profiles.php:767 ../../include/channel.php:977
-msgid "Profile Image"
-msgstr "Profilfoto:"
-
-#: ../../Zotlabs/Module/Profiles.php:777 ../../include/nav.php:90
-#: ../../include/channel.php:959
-msgid "Edit Profiles"
-msgstr "Profile bearbeiten"
-
-#: ../../Zotlabs/Module/Profiles.php:778 ../../Zotlabs/Module/Chat.php:255
-#: ../../Zotlabs/Module/Manage.php:143
-msgid "Create New"
-msgstr "Neu anlegen"
-
-#: ../../Zotlabs/Module/Rpost.php:135 ../../Zotlabs/Module/Editpost.php:106
-msgid "Edit post"
-msgstr "Bearbeite Beitrag"
-
#: ../../Zotlabs/Module/Bookmarks.php:53
msgid "Bookmark added"
msgstr "Lesezeichen hinzugefügt"
@@ -1515,54 +2034,36 @@ msgstr "Meine Lesezeichen"
msgid "My Connections Bookmarks"
msgstr "Lesezeichen meiner Kontakte"
-#: ../../Zotlabs/Module/Item.php:179
-msgid "Unable to locate original post."
-msgstr "Originalbeitrag nicht gefunden."
-
-#: ../../Zotlabs/Module/Item.php:432
-msgid "Empty post discarded."
-msgstr "Leeren Beitrag verworfen."
-
-#: ../../Zotlabs/Module/Item.php:472
-msgid "Executable content type not permitted to this channel."
-msgstr "Ausführbarer Content-Typ ist für diesen Kanal nicht freigegeben."
+#: ../../Zotlabs/Module/Rpost.php:138 ../../Zotlabs/Module/Editpost.php:106
+msgid "Edit post"
+msgstr "Bearbeite Beitrag"
-#: ../../Zotlabs/Module/Item.php:856
-msgid "Duplicate post suppressed."
-msgstr "Doppelter Beitrag unterdrückt."
+#: ../../Zotlabs/Module/Ratings.php:70
+msgid "No ratings"
+msgstr "Keine Bewertungen"
-#: ../../Zotlabs/Module/Item.php:989
-msgid "System error. Post not saved."
-msgstr "Systemfehler. Beitrag nicht gespeichert."
+#: ../../Zotlabs/Module/Ratings.php:97 ../../Zotlabs/Module/Pubsites.php:35
+#: ../../include/conversation.php:960
+msgid "Ratings"
+msgstr "Bewertungen"
-#: ../../Zotlabs/Module/Item.php:1242
-msgid "Unable to obtain post information from database."
-msgstr "Beitragsinformationen können nicht aus der Datenbank abgerufen werden."
+#: ../../Zotlabs/Module/Ratings.php:98
+msgid "Rating: "
+msgstr "Bewertung: "
-#: ../../Zotlabs/Module/Item.php:1249
-#, php-format
-msgid "You have reached your limit of %1$.0f top level posts."
-msgstr "Du hast die maximale Anzahl von %1$.0f Beiträgen erreicht."
+#: ../../Zotlabs/Module/Ratings.php:99
+msgid "Website: "
+msgstr "Webseite: "
-#: ../../Zotlabs/Module/Item.php:1256
-#, php-format
-msgid "You have reached your limit of %1$.0f webpages."
-msgstr "Du hast die maximale Anzahl von %1$.0f Webseiten erreicht."
+#: ../../Zotlabs/Module/Ratings.php:101
+msgid "Description: "
+msgstr "Beschreibung: "
#: ../../Zotlabs/Module/Fbrowser.php:29 ../../Zotlabs/Lib/Apps.php:222
-#: ../../include/nav.php:94 ../../include/conversation.php:1652
+#: ../../include/nav.php:95 ../../include/conversation.php:1671
msgid "Photos"
msgstr "Fotos"
-#: ../../Zotlabs/Module/Fbrowser.php:66 ../../Zotlabs/Module/Fbrowser.php:88
-#: ../../Zotlabs/Module/Settings.php:661 ../../Zotlabs/Module/Settings.php:687
-#: ../../Zotlabs/Module/Admin.php:1406 ../../Zotlabs/Module/Wiki.php:171
-#: ../../Zotlabs/Module/Wiki.php:211 ../../Zotlabs/Module/Tagrm.php:15
-#: ../../Zotlabs/Module/Tagrm.php:138 ../../include/conversation.php:1236
-#: ../../include/conversation.php:1279
-msgid "Cancel"
-msgstr "Abbrechen"
-
#: ../../Zotlabs/Module/Page.php:40 ../../Zotlabs/Module/Block.php:31
msgid "Invalid item."
msgstr "Ungültiges Element."
@@ -1590,30 +2091,6 @@ msgstr "Speichern in Ordner:"
msgid "- select -"
msgstr "– auswählen –"
-#: ../../Zotlabs/Module/Filer.php:53 ../../Zotlabs/Module/Admin.php:2033
-#: ../../Zotlabs/Module/Admin.php:2053 ../../Zotlabs/Module/Rbmark.php:32
-#: ../../Zotlabs/Module/Rbmark.php:104 ../../include/text.php:926
-#: ../../include/text.php:938 ../../include/widgets.php:201
-msgid "Save"
-msgstr "Speichern"
-
-#: ../../Zotlabs/Module/Channel.php:28 ../../Zotlabs/Module/Chat.php:25
-#: ../../Zotlabs/Module/Wiki.php:20
-msgid "You must be logged in to see this page."
-msgstr "Du musst angemeldet sein, um diese Seite betrachten zu können."
-
-#: ../../Zotlabs/Module/Channel.php:40
-msgid "Posts and comments"
-msgstr "Beiträge und Kommentare"
-
-#: ../../Zotlabs/Module/Channel.php:41
-msgid "Only posts"
-msgstr "Nur Beiträge"
-
-#: ../../Zotlabs/Module/Channel.php:101
-msgid "Insufficient permissions. Request redirected to profile page."
-msgstr "Unzureichende Zugriffsrechte. Die Anfrage wurde zur Profil-Seite umgeleitet."
-
#: ../../Zotlabs/Module/Connections.php:56
#: ../../Zotlabs/Module/Connections.php:161
#: ../../Zotlabs/Module/Connections.php:242
@@ -1640,13 +2117,13 @@ msgstr "Archiviert"
#: ../../Zotlabs/Module/Connections.php:76
#: ../../Zotlabs/Module/Connections.php:86 ../../Zotlabs/Module/Menu.php:116
-#: ../../include/conversation.php:1555
+#: ../../include/conversation.php:1572
msgid "New"
msgstr "Neu"
#: ../../Zotlabs/Module/Connections.php:92
#: ../../Zotlabs/Module/Connections.php:107
-#: ../../Zotlabs/Module/Connedit.php:632 ../../include/widgets.php:497
+#: ../../Zotlabs/Module/Connedit.php:629 ../../include/widgets.php:533
msgid "All"
msgstr "Alle"
@@ -1708,7 +2185,7 @@ msgstr "Kanaladresse"
msgid "Network"
msgstr "Netzwerk"
-#: ../../Zotlabs/Module/Connections.php:270 ../../Zotlabs/Module/Admin.php:710
+#: ../../Zotlabs/Module/Connections.php:270
msgid "Status"
msgstr "Status"
@@ -1720,18 +2197,13 @@ msgstr "Verbunden"
msgid "Approve connection"
msgstr "Verbindung genehmigen"
-#: ../../Zotlabs/Module/Connections.php:275
-#: ../../Zotlabs/Module/Admin.php:1037
-msgid "Approve"
-msgstr "Genehmigen"
-
#: ../../Zotlabs/Module/Connections.php:276
msgid "Ignore connection"
msgstr "Verbindung ignorieren"
#: ../../Zotlabs/Module/Connections.php:277
-#: ../../Zotlabs/Module/Connedit.php:586
#: ../../Zotlabs/Module/Notifications.php:55
+#: ../../Zotlabs/Module/Connedit.php:583
msgid "Ignore"
msgstr "Ignorieren"
@@ -1740,14 +2212,14 @@ msgid "Recent activity"
msgstr "Kürzliche Aktivitäten"
#: ../../Zotlabs/Module/Connections.php:302 ../../Zotlabs/Lib/Apps.php:209
-#: ../../include/text.php:855 ../../include/nav.php:190
+#: ../../include/nav.php:191 ../../include/text.php:901
msgid "Connections"
msgstr "Verbindungen"
#: ../../Zotlabs/Module/Connections.php:306 ../../Zotlabs/Module/Search.php:44
-#: ../../Zotlabs/Lib/Apps.php:230 ../../include/acl_selectors.php:274
-#: ../../include/text.php:925 ../../include/text.php:937
-#: ../../include/nav.php:169
+#: ../../Zotlabs/Lib/Apps.php:230 ../../include/nav.php:170
+#: ../../include/acl_selectors.php:174 ../../include/text.php:971
+#: ../../include/text.php:983 ../../include/widgets.php:315
msgid "Search"
msgstr "Suche"
@@ -1789,30 +2261,30 @@ msgstr "Hochladen des Bilds fehlgeschlagen."
msgid "Unable to process image."
msgstr "Kann Bild nicht verarbeiten."
-#: ../../Zotlabs/Module/Cover_photo.php:233 ../../include/items.php:4283
+#: ../../Zotlabs/Module/Cover_photo.php:233 ../../include/items.php:4331
msgid "female"
msgstr "weiblich"
-#: ../../Zotlabs/Module/Cover_photo.php:234 ../../include/items.php:4284
+#: ../../Zotlabs/Module/Cover_photo.php:234 ../../include/items.php:4332
#, php-format
msgid "%1$s updated her %2$s"
msgstr "%1$s hat ihr %2$s aktualisiert"
-#: ../../Zotlabs/Module/Cover_photo.php:235 ../../include/items.php:4285
+#: ../../Zotlabs/Module/Cover_photo.php:235 ../../include/items.php:4333
msgid "male"
msgstr "männlich"
-#: ../../Zotlabs/Module/Cover_photo.php:236 ../../include/items.php:4286
+#: ../../Zotlabs/Module/Cover_photo.php:236 ../../include/items.php:4334
#, php-format
msgid "%1$s updated his %2$s"
msgstr "%1$s hat sein %2$s aktualisiert"
-#: ../../Zotlabs/Module/Cover_photo.php:238 ../../include/items.php:4288
+#: ../../Zotlabs/Module/Cover_photo.php:238 ../../include/items.php:4336
#, php-format
msgid "%1$s updated their %2$s"
msgstr "%1$s hat sein/ihr %2$s aktualisiert"
-#: ../../Zotlabs/Module/Cover_photo.php:240 ../../include/channel.php:1710
+#: ../../Zotlabs/Module/Cover_photo.php:240 ../../include/channel.php:1731
msgid "cover photo"
msgstr "Cover Foto"
@@ -1838,8 +2310,8 @@ msgid "Upload Cover Photo"
msgstr "Cover Foto hochladen"
#: ../../Zotlabs/Module/Cover_photo.php:361
-#: ../../Zotlabs/Module/Settings.php:1138
#: ../../Zotlabs/Module/Profile_photo.php:396
+#: ../../Zotlabs/Module/Settings/Channel.php:399
msgid "or"
msgstr "oder"
@@ -1868,140 +2340,6 @@ msgstr "Bitte schneide das Bild für eine optimale Anzeige passend zu."
msgid "Done Editing"
msgstr "Bearbeitung fertigstellen"
-#: ../../Zotlabs/Module/Impel.php:41 ../../include/bbcode.php:192
-msgid "webpage"
-msgstr "Webseite"
-
-#: ../../Zotlabs/Module/Impel.php:46 ../../include/bbcode.php:198
-msgid "block"
-msgstr "Block"
-
-#: ../../Zotlabs/Module/Impel.php:51 ../../include/bbcode.php:195
-msgid "layout"
-msgstr "Layout"
-
-#: ../../Zotlabs/Module/Impel.php:58 ../../include/bbcode.php:201
-msgid "menu"
-msgstr "Menü"
-
-#: ../../Zotlabs/Module/Impel.php:191
-#, php-format
-msgid "%s element installed"
-msgstr "Element für %s installiert"
-
-#: ../../Zotlabs/Module/Impel.php:194
-#, php-format
-msgid "%s element installation failed"
-msgstr "Installation des Elements %s fehlgeschlagen"
-
-#: ../../Zotlabs/Module/Like.php:19
-msgid "Like/Dislike"
-msgstr "Mögen/Nicht mögen"
-
-#: ../../Zotlabs/Module/Like.php:24
-msgid "This action is restricted to members."
-msgstr "Diese Aktion kann nur von Mitgliedern ausgeführt werden."
-
-#: ../../Zotlabs/Module/Like.php:25
-msgid ""
-"Please <a href=\"rmagic\">login with your $Projectname ID</a> or <a "
-"href=\"register\">register as a new $Projectname member</a> to continue."
-msgstr "Um fortzufahren <a href=\"rmagic\">melde Dich bitte mit Deiner $Projectname-ID an</a> oder <a href=\"register\">registriere Dich als neues $Projectname-Mitglied</a>."
-
-#: ../../Zotlabs/Module/Like.php:105 ../../Zotlabs/Module/Like.php:131
-#: ../../Zotlabs/Module/Like.php:169
-msgid "Invalid request."
-msgstr "Ungültige Anfrage."
-
-#: ../../Zotlabs/Module/Like.php:117 ../../include/conversation.php:126
-msgid "channel"
-msgstr "Kanal"
-
-#: ../../Zotlabs/Module/Like.php:146
-msgid "thing"
-msgstr "Sache"
-
-#: ../../Zotlabs/Module/Like.php:192
-msgid "Channel unavailable."
-msgstr "Kanal nicht vorhanden."
-
-#: ../../Zotlabs/Module/Like.php:240
-msgid "Previous action reversed."
-msgstr "Die vorherige Aktion wurde rückgängig gemacht."
-
-#: ../../Zotlabs/Module/Like.php:370 ../../Zotlabs/Module/Subthread.php:87
-#: ../../Zotlabs/Module/Tagger.php:47 ../../include/text.php:1945
-#: ../../include/conversation.php:120
-msgid "photo"
-msgstr "Foto"
-
-#: ../../Zotlabs/Module/Like.php:370 ../../Zotlabs/Module/Subthread.php:87
-#: ../../include/text.php:1951 ../../include/conversation.php:148
-msgid "status"
-msgstr "Status"
-
-#: ../../Zotlabs/Module/Like.php:372 ../../Zotlabs/Module/Events.php:253
-#: ../../Zotlabs/Module/Tagger.php:51 ../../include/text.php:1948
-#: ../../include/event.php:951 ../../include/conversation.php:123
-msgid "event"
-msgstr "Termin"
-
-#: ../../Zotlabs/Module/Like.php:419 ../../include/conversation.php:164
-#, php-format
-msgid "%1$s likes %2$s's %3$s"
-msgstr "%1$s gefällt %2$ss %3$s"
-
-#: ../../Zotlabs/Module/Like.php:421 ../../include/conversation.php:167
-#, php-format
-msgid "%1$s doesn't like %2$s's %3$s"
-msgstr "%1$s gefällt %2$ss %3$s nicht"
-
-#: ../../Zotlabs/Module/Like.php:423
-#, php-format
-msgid "%1$s agrees with %2$s's %3$s"
-msgstr "%1$s stimmt %2$ss %3$s zu"
-
-#: ../../Zotlabs/Module/Like.php:425
-#, php-format
-msgid "%1$s doesn't agree with %2$s's %3$s"
-msgstr "%1$s lehnt %2$ss %3$s ab"
-
-#: ../../Zotlabs/Module/Like.php:427
-#, php-format
-msgid "%1$s abstains from a decision on %2$s's %3$s"
-msgstr "%1$s enthält sich zu %2$ss %3$s"
-
-#: ../../Zotlabs/Module/Like.php:429
-#, php-format
-msgid "%1$s is attending %2$s's %3$s"
-msgstr "%1$s nimmt an %2$ss %3$s teil"
-
-#: ../../Zotlabs/Module/Like.php:431
-#, php-format
-msgid "%1$s is not attending %2$s's %3$s"
-msgstr "%1$s nimmt an %2$ss %3$s nicht teil"
-
-#: ../../Zotlabs/Module/Like.php:433
-#, php-format
-msgid "%1$s may attend %2$s's %3$s"
-msgstr "%1$s nimmt vielleicht an %2$ss %3$s teil"
-
-#: ../../Zotlabs/Module/Like.php:538
-msgid "Action completed."
-msgstr "Aktion durchgeführt."
-
-#: ../../Zotlabs/Module/Like.php:539
-msgid "Thank you."
-msgstr "Vielen Dank."
-
-#: ../../Zotlabs/Module/Dirsearch.php:25 ../../Zotlabs/Module/Regdir.php:49
-msgid "This site is not a directory server"
-msgstr "Diese Webseite ist kein Verzeichnisserver"
-
-#: ../../Zotlabs/Module/Dirsearch.php:33
-msgid "This directory server requires an access token"
-msgstr "Dieser Verzeichnisserver benötigt einen Zugriffstoken"
-
#: ../../Zotlabs/Module/Editblock.php:79 ../../Zotlabs/Module/Editblock.php:95
#: ../../Zotlabs/Module/Editlayout.php:79
#: ../../Zotlabs/Module/Editwebpage.php:80
@@ -2015,13 +2353,13 @@ msgid "Block Name"
msgstr "Block-Name"
#: ../../Zotlabs/Module/Editblock.php:111
-#: ../../Zotlabs/Module/Editwebpage.php:146 ../../Zotlabs/Module/Chat.php:207
-#: ../../Zotlabs/Module/Mail.php:244 ../../Zotlabs/Module/Mail.php:369
-#: ../../include/conversation.php:1147
+#: ../../Zotlabs/Module/Editwebpage.php:146 ../../Zotlabs/Module/Mail.php:244
+#: ../../Zotlabs/Module/Mail.php:369 ../../Zotlabs/Module/Chat.php:207
+#: ../../include/conversation.php:1148
msgid "Insert web link"
msgstr "Link einfügen"
-#: ../../Zotlabs/Module/Editblock.php:124 ../../include/conversation.php:1244
+#: ../../Zotlabs/Module/Editblock.php:124 ../../include/conversation.php:1259
msgid "Title (optional)"
msgstr "Titel (optional)"
@@ -2051,13 +2389,118 @@ msgstr "Seiten-Link"
msgid "Edit Webpage"
msgstr "Webseite bearbeiten"
-#: ../../Zotlabs/Module/Acl.php:312
-msgid "network"
-msgstr "Netzwerk"
+#: ../../Zotlabs/Module/Menu.php:49
+msgid "Unable to update menu."
+msgstr "Kann Menü nicht aktualisieren."
-#: ../../Zotlabs/Module/Acl.php:322
-msgid "RSS"
-msgstr "RSS"
+#: ../../Zotlabs/Module/Menu.php:60
+msgid "Unable to create menu."
+msgstr "Kann Menü nicht erstellen."
+
+#: ../../Zotlabs/Module/Menu.php:98 ../../Zotlabs/Module/Menu.php:110
+msgid "Menu Name"
+msgstr "Name des Menüs"
+
+#: ../../Zotlabs/Module/Menu.php:98
+msgid "Unique name (not visible on webpage) - required"
+msgstr "Eindeutiger Name (nicht sichtbar auf der Webseite) – erforderlich"
+
+#: ../../Zotlabs/Module/Menu.php:99 ../../Zotlabs/Module/Menu.php:111
+msgid "Menu Title"
+msgstr "Menütitel"
+
+#: ../../Zotlabs/Module/Menu.php:99
+msgid "Visible on webpage - leave empty for no title"
+msgstr "Sichtbar auf der Webseite – für keinen Titel leer lassen"
+
+#: ../../Zotlabs/Module/Menu.php:100
+msgid "Allow Bookmarks"
+msgstr "Lesezeichen erlauben"
+
+#: ../../Zotlabs/Module/Menu.php:100 ../../Zotlabs/Module/Menu.php:157
+msgid "Menu may be used to store saved bookmarks"
+msgstr "Im Menü können gespeicherte Lesezeichen abgelegt werden"
+
+#: ../../Zotlabs/Module/Menu.php:101 ../../Zotlabs/Module/Menu.php:159
+msgid "Submit and proceed"
+msgstr "Absenden und fortfahren"
+
+#: ../../Zotlabs/Module/Menu.php:107 ../../include/text.php:2309
+msgid "Menus"
+msgstr "Menüs"
+
+#: ../../Zotlabs/Module/Menu.php:113 ../../Zotlabs/Module/Locs.php:120
+msgid "Drop"
+msgstr "Löschen"
+
+#: ../../Zotlabs/Module/Menu.php:114 ../../Zotlabs/Module/Webpages.php:251
+#: ../../Zotlabs/Module/Blocks.php:157 ../../Zotlabs/Module/Layouts.php:190
+#: ../../include/page_widgets.php:47
+msgid "Created"
+msgstr "Erstellt"
+
+#: ../../Zotlabs/Module/Menu.php:115 ../../Zotlabs/Module/Webpages.php:252
+#: ../../Zotlabs/Module/Blocks.php:158 ../../Zotlabs/Module/Layouts.php:191
+#: ../../include/page_widgets.php:48
+msgid "Edited"
+msgstr "Geändert"
+
+#: ../../Zotlabs/Module/Menu.php:117
+msgid "Bookmarks allowed"
+msgstr "Lesezeichen erlaubt"
+
+#: ../../Zotlabs/Module/Menu.php:119
+msgid "Delete this menu"
+msgstr "Lösche dieses Menü"
+
+#: ../../Zotlabs/Module/Menu.php:120 ../../Zotlabs/Module/Menu.php:154
+msgid "Edit menu contents"
+msgstr "Bearbeite Menü Inhalte"
+
+#: ../../Zotlabs/Module/Menu.php:121
+msgid "Edit this menu"
+msgstr "Dieses Menü bearbeiten"
+
+#: ../../Zotlabs/Module/Menu.php:136
+msgid "Menu could not be deleted."
+msgstr "Menü konnte nicht gelöscht werden."
+
+#: ../../Zotlabs/Module/Menu.php:144 ../../Zotlabs/Module/Mitem.php:28
+msgid "Menu not found."
+msgstr "Menü nicht gefunden"
+
+#: ../../Zotlabs/Module/Menu.php:149
+msgid "Edit Menu"
+msgstr "Menü bearbeiten"
+
+#: ../../Zotlabs/Module/Menu.php:153
+msgid "Add or remove entries to this menu"
+msgstr "Einträge zu diesem Menü hinzufügen oder entfernen"
+
+#: ../../Zotlabs/Module/Menu.php:155
+msgid "Menu name"
+msgstr "Menü Name"
+
+#: ../../Zotlabs/Module/Menu.php:155
+msgid "Must be unique, only seen by you"
+msgstr "Muss eindeutig sein, ist aber nur für Dich sichtbar"
+
+#: ../../Zotlabs/Module/Menu.php:156
+msgid "Menu title"
+msgstr "Menü Titel"
+
+#: ../../Zotlabs/Module/Menu.php:156
+msgid "Menu title as seen by others"
+msgstr "Menü Titel wie er von anderen gesehen wird"
+
+#: ../../Zotlabs/Module/Menu.php:157
+msgid "Allow bookmarks"
+msgstr "Erlaube Lesezeichen"
+
+#: ../../Zotlabs/Module/Menu.php:166 ../../Zotlabs/Module/Mitem.php:120
+#: ../../Zotlabs/Module/Xchan.php:41
+msgid "Not found."
+msgstr "Nicht gefunden."
#: ../../Zotlabs/Module/Appman.php:37 ../../Zotlabs/Module/Appman.php:53
msgid "App installed."
@@ -2083,6 +2526,13 @@ msgstr "App erstellen"
msgid "Name of app"
msgstr "Name der App"
+#: ../../Zotlabs/Module/Appman.php:115 ../../Zotlabs/Module/Appman.php:116
+#: ../../Zotlabs/Module/Profiles.php:709 ../../Zotlabs/Module/Profiles.php:713
+#: ../../Zotlabs/Module/Events.php:452 ../../Zotlabs/Module/Events.php:457
+#: ../../include/datetime.php:245
+msgid "Required"
+msgstr "Benötigt"
+
#: ../../Zotlabs/Module/Appman.php:116
msgid "Location (URL) of app"
msgstr "Ort (URL) der App"
@@ -2116,48 +2566,121 @@ msgstr "Preis der App"
msgid "Location (URL) to purchase app"
msgstr "Ort (URL), um die App zu kaufen"
-#: ../../Zotlabs/Module/Help.php:26
-msgid "Documentation Search"
-msgstr "Suche in der Dokumentation"
+#: ../../Zotlabs/Module/Connedit.php:602
+msgid "Unhide"
+msgstr "Wieder sichtbar machen"
-#: ../../Zotlabs/Module/Help.php:67 ../../Zotlabs/Module/Help.php:73
-#: ../../Zotlabs/Module/Help.php:79
-msgid "Help:"
-msgstr "Hilfe:"
+#: ../../Zotlabs/Module/Connedit.php:602
+msgid "Hide"
+msgstr "Verstecken"
-#: ../../Zotlabs/Module/Help.php:85 ../../Zotlabs/Module/Help.php:90
-#: ../../Zotlabs/Module/Layouts.php:185 ../../Zotlabs/Lib/Apps.php:225
-#: ../../include/nav.php:163
-msgid "Help"
-msgstr "Hilfe"
+#: ../../Zotlabs/Module/Connedit.php:605
+msgid "Hide or Unhide this connection from your other connections"
+msgstr "Diese Verbindung vor anderen Verbindungen verstecken/zeigen"
-#: ../../Zotlabs/Module/Help.php:120
-msgid "$Projectname Documentation"
-msgstr "$Projectname-Dokumentation"
+#: ../../Zotlabs/Module/Mail.php:70
+msgid "Selected channel has private message restrictions. Send failed."
+msgstr "Der ausgewählte Kanal hat Einschränkungen bzgl. privater Nachrichten. Senden fehlgeschlagen."
-#: ../../Zotlabs/Module/Attach.php:13
-msgid "Item not available."
-msgstr "Element nicht verfügbar."
+#: ../../Zotlabs/Module/Mail.php:135
+msgid "Messages"
+msgstr "Nachrichten"
-#: ../../Zotlabs/Module/Pdledit.php:18
-msgid "Layout updated."
-msgstr "Layout aktualisiert."
+#: ../../Zotlabs/Module/Mail.php:170
+msgid "Message recalled."
+msgstr "Nachricht widerrufen."
-#: ../../Zotlabs/Module/Pdledit.php:34 ../../Zotlabs/Module/Pdledit.php:61
-msgid "Edit System Page Description"
-msgstr "Systemseitenbeschreibung bearbeiten"
+#: ../../Zotlabs/Module/Mail.php:183
+msgid "Conversation removed."
+msgstr "Unterhaltung gelöscht."
-#: ../../Zotlabs/Module/Pdledit.php:56
-msgid "Layout not found."
-msgstr "Layout nicht gefunden."
+#: ../../Zotlabs/Module/Mail.php:197 ../../Zotlabs/Module/Mail.php:306
+#: ../../Zotlabs/Module/Chat.php:205 ../../include/conversation.php:1183
+msgid "Please enter a link URL:"
+msgstr "Gib eine URL ein:"
-#: ../../Zotlabs/Module/Pdledit.php:62
-msgid "Module Name:"
-msgstr "Modulname:"
+#: ../../Zotlabs/Module/Mail.php:198 ../../Zotlabs/Module/Mail.php:307
+msgid "Expires YYYY-MM-DD HH:MM"
+msgstr "Verfällt YYYY-MM-DD HH;MM"
-#: ../../Zotlabs/Module/Pdledit.php:63
-msgid "Layout Help"
-msgstr "Layout-Hilfe"
+#: ../../Zotlabs/Module/Mail.php:226
+msgid "Requested channel is not in this network"
+msgstr "Angeforderter Kanal ist nicht in diesem Netzwerk."
+
+#: ../../Zotlabs/Module/Mail.php:234
+msgid "Send Private Message"
+msgstr "Private Nachricht senden"
+
+#: ../../Zotlabs/Module/Mail.php:235 ../../Zotlabs/Module/Mail.php:360
+msgid "To:"
+msgstr "An:"
+
+#: ../../Zotlabs/Module/Mail.php:238 ../../Zotlabs/Module/Mail.php:362
+msgid "Subject:"
+msgstr "Betreff:"
+
+#: ../../Zotlabs/Module/Mail.php:241 ../../Zotlabs/Module/Invite.php:135
+msgid "Your message:"
+msgstr "Deine Nachricht:"
+
+#: ../../Zotlabs/Module/Mail.php:243 ../../Zotlabs/Module/Mail.php:368
+#: ../../include/conversation.php:1243
+msgid "Attach file"
+msgstr "Datei anhängen"
+
+#: ../../Zotlabs/Module/Mail.php:245
+msgid "Send"
+msgstr "Absenden"
+
+#: ../../Zotlabs/Module/Mail.php:248 ../../Zotlabs/Module/Mail.php:373
+#: ../../include/conversation.php:1288
+msgid "Set expiration date"
+msgstr "Verfallsdatum"
+
+#: ../../Zotlabs/Module/Mail.php:250 ../../Zotlabs/Module/Mail.php:375
+#: ../../Zotlabs/Module/Chat.php:206 ../../Zotlabs/Lib/ThreadItem.php:724
+#: ../../include/conversation.php:1293
+msgid "Encrypt text"
+msgstr "Text verschlüsseln"
+
+#: ../../Zotlabs/Module/Mail.php:332
+msgid "Delete message"
+msgstr "Nachricht löschen"
+
+#: ../../Zotlabs/Module/Mail.php:333
+msgid "Delivery report"
+msgstr "Zustellungsbericht"
+
+#: ../../Zotlabs/Module/Mail.php:334
+msgid "Recall message"
+msgstr "Nachricht widerrufen"
+
+#: ../../Zotlabs/Module/Mail.php:336
+msgid "Message has been recalled."
+msgstr "Die Nachricht wurde widerrufen."
+
+#: ../../Zotlabs/Module/Mail.php:353
+msgid "Delete Conversation"
+msgstr "Unterhaltung löschen"
+
+#: ../../Zotlabs/Module/Mail.php:355
+msgid ""
+"The permissions indicated on this page will be applied to all new "
+"connections."
+msgstr "Die auf dieser Seite angegebenen Berechtigungen werden auf alle neuen Verbindungen angewendet."
+
+#: ../../Zotlabs/Module/Mail.php:359
+msgid "Send Reply"
+msgstr "Antwort senden"
+
+#: ../../Zotlabs/Module/Mail.php:364
+#, php-format
+msgid "Your message for %s (%s):"
+msgstr "Deine Nachricht für %s (%s):"
+
+#: ../../Zotlabs/Module/Attach.php:13
+msgid "Item not available."
+msgstr "Element nicht verfügbar."
#: ../../Zotlabs/Module/Ffsapi.php:12
msgid "Share content from Firefox to $Projectname"
@@ -2167,6 +2690,14 @@ msgstr "Inhalte von Firefox nach $Projectname teilen"
msgid "Activate the Firefox $Projectname provider"
msgstr "Aktiviert den $Projectname-Provider für firefox"
+#: ../../Zotlabs/Module/Help.php:27
+msgid "Documentation Search"
+msgstr "Suche in der Dokumentation"
+
+#: ../../Zotlabs/Module/Help.php:57
+msgid "$Projectname Documentation"
+msgstr "$Projectname-Dokumentation"
+
#: ../../Zotlabs/Module/Home.php:74 ../../Zotlabs/Module/Home.php:82
#: ../../Zotlabs/Module/Siteinfo.php:48
msgid "$Projectname"
@@ -2185,13 +2716,6 @@ msgstr "Privatsphäre-Einstellungen anderer Nutzer sind nicht verfügbar."
msgid "Visible to:"
msgstr "Sichtbar für:"
-#: ../../Zotlabs/Module/Filestorage.php:32 ../../Zotlabs/Module/Display.php:40
-#: ../../Zotlabs/Module/Admin.php:164 ../../Zotlabs/Module/Admin.php:1255
-#: ../../Zotlabs/Module/Admin.php:1561 ../../Zotlabs/Module/Thing.php:89
-#: ../../Zotlabs/Module/Viewsrc.php:24 ../../include/items.php:3369
-msgid "Item not found."
-msgstr "Element nicht gefunden."
-
#: ../../Zotlabs/Module/Filestorage.php:87
msgid "Permission Denied."
msgstr "Zugriff verweigert."
@@ -2204,10 +2728,10 @@ msgstr "Datei nicht gefunden."
msgid "Edit file permissions"
msgstr "Dateiberechtigungen bearbeiten"
-#: ../../Zotlabs/Module/Filestorage.php:152 ../../Zotlabs/Module/Chat.php:234
-#: ../../Zotlabs/Module/Photos.php:669 ../../Zotlabs/Module/Photos.php:1047
-#: ../../Zotlabs/Module/Thing.php:313 ../../Zotlabs/Module/Thing.php:363
-#: ../../include/acl_selectors.php:281
+#: ../../Zotlabs/Module/Filestorage.php:152 ../../Zotlabs/Module/Thing.php:313
+#: ../../Zotlabs/Module/Thing.php:363 ../../Zotlabs/Module/Photos.php:658
+#: ../../Zotlabs/Module/Photos.php:1047 ../../Zotlabs/Module/Chat.php:234
+#: ../../include/acl_selectors.php:179
msgid "Permissions"
msgstr "Berechtigungen"
@@ -2243,305 +2767,52 @@ msgstr "URL zu dieser Datei anzeigen"
msgid "Notify your contacts about this file"
msgstr "Meine Kontakte über diese Datei benachrichtigen"
-#: ../../Zotlabs/Module/Probe.php:28 ../../Zotlabs/Module/Probe.php:32
-#, php-format
-msgid "Fetching URL returns error: %1$s"
-msgstr "Abrufen der URL gab einen Fehler zurück: %1$s"
-
-#: ../../Zotlabs/Module/Connedit.php:80
-msgid "Could not access contact record."
-msgstr "Konnte nicht auf den Kontakteintrag zugreifen."
-
-#: ../../Zotlabs/Module/Connedit.php:104
-msgid "Could not locate selected profile."
-msgstr "Gewähltes Profil nicht gefunden."
-
-#: ../../Zotlabs/Module/Connedit.php:256
-msgid "Connection updated."
-msgstr "Verbindung aktualisiert."
-
-#: ../../Zotlabs/Module/Connedit.php:258
-msgid "Failed to update connection record."
-msgstr "Konnte den Verbindungseintrag nicht aktualisieren."
-
-#: ../../Zotlabs/Module/Connedit.php:308
-msgid "is now connected to"
-msgstr "ist jetzt verbunden mit"
-
-#: ../../Zotlabs/Module/Connedit.php:443
-msgid "Could not access address book record."
-msgstr "Konnte nicht auf den Adressbuch-Eintrag zugreifen."
-
-#: ../../Zotlabs/Module/Connedit.php:463
-msgid "Refresh failed - channel is currently unavailable."
-msgstr "Aktualisierung fehlgeschlagen – der Kanal ist im Moment nicht erreichbar."
-
-#: ../../Zotlabs/Module/Connedit.php:478 ../../Zotlabs/Module/Connedit.php:487
-#: ../../Zotlabs/Module/Connedit.php:496 ../../Zotlabs/Module/Connedit.php:505
-#: ../../Zotlabs/Module/Connedit.php:518
-msgid "Unable to set address book parameters."
-msgstr "Konnte die Adressbuch-Parameter nicht setzen."
-
-#: ../../Zotlabs/Module/Connedit.php:541
-msgid "Connection has been removed."
-msgstr "Verbindung wurde gelöscht."
-
-#: ../../Zotlabs/Module/Connedit.php:557 ../../Zotlabs/Lib/Apps.php:221
-#: ../../include/nav.php:88 ../../include/conversation.php:958
-msgid "View Profile"
-msgstr "Profil ansehen"
-
-#: ../../Zotlabs/Module/Connedit.php:560
-#, php-format
-msgid "View %s's profile"
-msgstr "%ss Profil ansehen"
-
-#: ../../Zotlabs/Module/Connedit.php:564
-msgid "Refresh Permissions"
-msgstr "Zugriffsrechte neu laden"
-
-#: ../../Zotlabs/Module/Connedit.php:567
-msgid "Fetch updated permissions"
-msgstr "Aktualisierte Zugriffsrechte abfragen"
-
-#: ../../Zotlabs/Module/Connedit.php:571
-msgid "Recent Activity"
-msgstr "Kürzliche Aktivitäten"
-
-#: ../../Zotlabs/Module/Connedit.php:574
-msgid "View recent posts and comments"
-msgstr "Betrachte die neuesten Beiträge und Kommentare"
-
-#: ../../Zotlabs/Module/Connedit.php:578 ../../Zotlabs/Module/Admin.php:1041
-msgid "Unblock"
-msgstr "Freigeben"
-
-#: ../../Zotlabs/Module/Connedit.php:578 ../../Zotlabs/Module/Admin.php:1040
-msgid "Block"
-msgstr "Blockieren"
-
-#: ../../Zotlabs/Module/Connedit.php:581
-msgid "Block (or Unblock) all communications with this connection"
-msgstr "Jegliche Kommunikation mit dieser Verbindung blockieren/zulassen"
-
-#: ../../Zotlabs/Module/Connedit.php:582
-msgid "This connection is blocked!"
-msgstr "Die Verbindung ist geblockt!"
-
-#: ../../Zotlabs/Module/Connedit.php:586
-msgid "Unignore"
-msgstr "Nicht ignorieren"
-
-#: ../../Zotlabs/Module/Connedit.php:589
-msgid "Ignore (or Unignore) all inbound communications from this connection"
-msgstr "Jegliche eingehende Kommunikation von dieser Verbindung ignorieren/zulassen"
-
-#: ../../Zotlabs/Module/Connedit.php:590
-msgid "This connection is ignored!"
-msgstr "Die Verbindung wird ignoriert!"
-
-#: ../../Zotlabs/Module/Connedit.php:594
-msgid "Unarchive"
-msgstr "Aus Archiv zurückholen"
-
-#: ../../Zotlabs/Module/Connedit.php:594
-msgid "Archive"
-msgstr "Archivieren"
-
-#: ../../Zotlabs/Module/Connedit.php:597
-msgid ""
-"Archive (or Unarchive) this connection - mark channel dead but keep content"
-msgstr "Verbindung archivieren/aus dem Archiv zurückholen (Archiv = Kanal als erloschen markieren, aber die Beiträge behalten)"
-
-#: ../../Zotlabs/Module/Connedit.php:598
-msgid "This connection is archived!"
-msgstr "Die Verbindung ist archiviert!"
-
-#: ../../Zotlabs/Module/Connedit.php:602
-msgid "Unhide"
-msgstr "Wieder sichtbar machen"
-
-#: ../../Zotlabs/Module/Connedit.php:602
-msgid "Hide"
-msgstr "Verstecken"
-
-#: ../../Zotlabs/Module/Connedit.php:605
-msgid "Hide or Unhide this connection from your other connections"
-msgstr "Diese Verbindung vor anderen Verbindungen verstecken/zeigen"
-
-#: ../../Zotlabs/Module/Connedit.php:606
-msgid "This connection is hidden!"
-msgstr "Die Verbindung ist versteckt!"
-
-#: ../../Zotlabs/Module/Connedit.php:613
-msgid "Delete this connection"
-msgstr "Verbindung löschen"
-
-#: ../../Zotlabs/Module/Connedit.php:628 ../../include/widgets.php:493
-msgid "Me"
-msgstr "Ich"
-
-#: ../../Zotlabs/Module/Connedit.php:629 ../../include/widgets.php:494
-msgid "Family"
-msgstr "Familie"
-
-#: ../../Zotlabs/Module/Connedit.php:630 ../../Zotlabs/Module/Settings.php:407
-#: ../../Zotlabs/Module/Settings.php:411 ../../Zotlabs/Module/Settings.php:412
-#: ../../Zotlabs/Module/Settings.php:415 ../../Zotlabs/Module/Settings.php:426
-#: ../../include/selectors.php:123 ../../include/channel.php:402
-#: ../../include/channel.php:403 ../../include/channel.php:410
-#: ../../include/widgets.php:495
-msgid "Friends"
-msgstr "Freunde"
-
-#: ../../Zotlabs/Module/Connedit.php:631 ../../include/widgets.php:496
-msgid "Acquaintances"
-msgstr "Bekannte"
-
-#: ../../Zotlabs/Module/Connedit.php:693
-msgid "Approve this connection"
-msgstr "Verbindung genehmigen"
-
-#: ../../Zotlabs/Module/Connedit.php:693
-msgid "Accept connection to allow communication"
-msgstr "Akzeptiere die Verbindung, um Kommunikation zu ermöglichen"
-
-#: ../../Zotlabs/Module/Connedit.php:698
-msgid "Set Affinity"
-msgstr "Beziehung festlegen"
-
-#: ../../Zotlabs/Module/Connedit.php:701
-msgid "Set Profile"
-msgstr "Profil festlegen"
-
-#: ../../Zotlabs/Module/Connedit.php:704
-msgid "Set Affinity & Profile"
-msgstr "Beziehung und Profile festlegen"
-
-#: ../../Zotlabs/Module/Connedit.php:753
-msgid "none"
-msgstr "Keine"
-
-#: ../../Zotlabs/Module/Connedit.php:757 ../../include/widgets.php:623
-msgid "Connection Default Permissions"
-msgstr "Standardzugriffsrechte für neue Verbindungen:"
-
-#: ../../Zotlabs/Module/Connedit.php:757 ../../include/items.php:3935
-#, php-format
-msgid "Connection: %s"
-msgstr "Verbindung: %s"
-
-#: ../../Zotlabs/Module/Connedit.php:758
-msgid "Apply these permissions automatically"
-msgstr "Diese Berechtigungen automatisch anwenden"
+#: ../../Zotlabs/Module/Magic.php:71
+msgid "Hub not found."
+msgstr "Server nicht gefunden."
-#: ../../Zotlabs/Module/Connedit.php:758
-msgid "Connection requests will be approved without your interaction"
-msgstr "Verbindungsanfragen werden sofort bestätigt, ohne dass Deine aktive Zustimmung erforderlich ist."
+#: ../../Zotlabs/Module/Connect.php:61 ../../Zotlabs/Module/Connect.php:109
+msgid "Continue"
+msgstr "Fortfahren"
-#: ../../Zotlabs/Module/Connedit.php:760
-msgid "This connection's primary address is"
-msgstr "Die Hauptadresse der Verbindung ist"
+#: ../../Zotlabs/Module/Connect.php:90
+msgid "Premium Channel Setup"
+msgstr "Premium-Kanal-Einrichtung"
-#: ../../Zotlabs/Module/Connedit.php:761
-msgid "Available locations:"
-msgstr "Verfügbare Klone:"
+#: ../../Zotlabs/Module/Connect.php:92
+msgid "Enable premium channel connection restrictions"
+msgstr "Einschränkungen für einen Premium-Kanal aktivieren"
-#: ../../Zotlabs/Module/Connedit.php:765
+#: ../../Zotlabs/Module/Connect.php:93
msgid ""
-"The permissions indicated on this page will be applied to all new "
-"connections."
-msgstr "Die auf dieser Seite angegebenen Berechtigungen werden auf alle neuen Verbindungen angewendet."
-
-#: ../../Zotlabs/Module/Connedit.php:766
-msgid "Connection Tools"
-msgstr "Verbindungswerkzeuge"
-
-#: ../../Zotlabs/Module/Connedit.php:768
-msgid "Slide to adjust your degree of friendship"
-msgstr "Verschieben, um den Grad der Freundschaft zu einzustellen"
-
-#: ../../Zotlabs/Module/Connedit.php:769 ../../Zotlabs/Module/Rate.php:159
-#: ../../include/js_strings.php:20
-msgid "Rating"
-msgstr "Bewertung"
-
-#: ../../Zotlabs/Module/Connedit.php:770
-msgid "Slide to adjust your rating"
-msgstr "Verschieben, um Deine Bewertung einzustellen"
-
-#: ../../Zotlabs/Module/Connedit.php:771 ../../Zotlabs/Module/Connedit.php:776
-msgid "Optionally explain your rating"
-msgstr "Optional kannst Du Deine Bewertung begründen"
-
-#: ../../Zotlabs/Module/Connedit.php:773
-msgid "Custom Filter"
-msgstr "Benutzerdefinierter Filter"
-
-#: ../../Zotlabs/Module/Connedit.php:774
-msgid "Only import posts with this text"
-msgstr "Nur Beiträge mit diesem Text importieren"
+"Please enter your restrictions or conditions, such as paypal receipt, usage "
+"guidelines, etc."
+msgstr "Bitte gib Deine Nutzungsbedingungen ein, z.B. Paypal-Quittung, Richtlinien etc."
-#: ../../Zotlabs/Module/Connedit.php:774 ../../Zotlabs/Module/Connedit.php:775
+#: ../../Zotlabs/Module/Connect.php:95 ../../Zotlabs/Module/Connect.php:115
msgid ""
-"words one per line or #tags or /patterns/ or lang=xx, leave blank to import "
-"all posts"
-msgstr "Einzelne Wörter pro Zeile, #Tags oder /Reguläre Ausdrücke/. lang=xx (z.B. lang=de) ermöglicht Filterung nach Sprache. Leer lassen, um alle Beiträge zu importieren."
-
-#: ../../Zotlabs/Module/Connedit.php:775
-msgid "Do not import posts with this text"
-msgstr "Beiträge mit diesem Text nicht importieren"
-
-#: ../../Zotlabs/Module/Connedit.php:777
-msgid "This information is public!"
-msgstr "Diese Information ist öffentlich!"
-
-#: ../../Zotlabs/Module/Connedit.php:782
-msgid "Connection Pending Approval"
-msgstr "Verbindung wartet auf Bestätigung"
-
-#: ../../Zotlabs/Module/Connedit.php:785 ../../Zotlabs/Module/Settings.php:860
-msgid "inherited"
-msgstr "geerbt"
+"This channel may require additional steps or acknowledgement of the "
+"following conditions prior to connecting:"
+msgstr "Unter Umständen sind weitere Schritte oder die Bestätigung der folgenden Bedingungen vor dem Verbinden mit diesem Kanal nötig."
-#: ../../Zotlabs/Module/Connedit.php:787
-#, php-format
+#: ../../Zotlabs/Module/Connect.php:96
msgid ""
-"Please choose the profile you would like to display to %s when viewing your "
-"profile securely."
-msgstr "Bitte wähle ein Profil, das wir %s zeigen sollen, wenn Deine Profilseite über eine verifizierte Verbindung aufgerufen wird."
-
-#: ../../Zotlabs/Module/Connedit.php:789 ../../Zotlabs/Module/Settings.php:857
-msgid "Their Settings"
-msgstr "Deren Einstellungen"
-
-#: ../../Zotlabs/Module/Connedit.php:790 ../../Zotlabs/Module/Settings.php:858
-msgid "My Settings"
-msgstr "Meine Einstellungen"
-
-#: ../../Zotlabs/Module/Connedit.php:792 ../../Zotlabs/Module/Settings.php:862
-msgid "Individual Permissions"
-msgstr "Individuelle Zugriffsrechte"
+"Potential connections will then see the following text before proceeding:"
+msgstr "Potentielle Kontakte werden den folgenden Text sehen, bevor fortgefahren wird:"
-#: ../../Zotlabs/Module/Connedit.php:793 ../../Zotlabs/Module/Settings.php:863
+#: ../../Zotlabs/Module/Connect.php:97 ../../Zotlabs/Module/Connect.php:118
msgid ""
-"Some permissions may be inherited from your channel's <a "
-"href=\"settings\"><strong>privacy settings</strong></a>, which have higher "
-"priority than individual settings. You can <strong>not</strong> change those"
-" settings here."
-msgstr "Einige Berechtigungen werden möglicherweise von den globalen <a href=\"settings\">Sicherheits- und Privatsphäre-Einstellungen</a> dieses Kanals vererbt. Diese haben eine höhere Priorität als die Einstellungen an der Verbindung und können hier nicht verändert werden."
+"By continuing, I certify that I have complied with any instructions provided"
+" on this page."
+msgstr "Indem ich fortfahre, bestätige ich die Erfüllung aller Anweisungen auf dieser Seite."
-#: ../../Zotlabs/Module/Connedit.php:794
-msgid ""
-"Some permissions may be inherited from your channel's <a "
-"href=\"settings\"><strong>privacy settings</strong></a>, which have higher "
-"priority than individual settings. You can change those settings here but "
-"they wont have any impact unless the inherited setting changes."
-msgstr "Einige Berechtigungen werden möglicherweise von den globalen <a href=\"settings\">Sicherheits- und Privatsphäre-Einstellungen</a> dieses Kanals geerbt. Diese haben eine höhere Priorität als die Einstellungen an der Verbindung. Werden geerbte Einstellungen hier geändert, hat dies keine Auswirkungen."
+#: ../../Zotlabs/Module/Connect.php:106
+msgid "(No specific instructions have been provided by the channel owner.)"
+msgstr "(Der Kanal-Besitzer hat keine speziellen Anweisungen hinterlegt.)"
-#: ../../Zotlabs/Module/Connedit.php:795
-msgid "Last update:"
-msgstr "Letzte Aktualisierung:"
+#: ../../Zotlabs/Module/Connect.php:114
+msgid "Restricted or Premium Channel"
+msgstr "Eingeschränkter oder Premium-Kanal"
#: ../../Zotlabs/Module/Group.php:24
msgid "Privacy group created."
@@ -2552,7 +2823,7 @@ msgid "Could not create privacy group."
msgstr "Gruppe konnte nicht erstellt werden."
#: ../../Zotlabs/Module/Group.php:42 ../../Zotlabs/Module/Group.php:141
-#: ../../include/items.php:3902
+#: ../../include/items.php:3950
msgid "Privacy group not found."
msgstr "Gruppe nicht gefunden."
@@ -2596,129 +2867,102 @@ msgstr "Alle verbundenen Kanäle"
msgid "Click on a channel to add or remove."
msgstr "Wähle einen Kanal zum hinzufügen oder entfernen aus."
-#: ../../Zotlabs/Module/Menu.php:49
-msgid "Unable to update menu."
-msgstr "Kann Menü nicht aktualisieren."
-
-#: ../../Zotlabs/Module/Menu.php:60
-msgid "Unable to create menu."
-msgstr "Kann Menü nicht erstellen."
-
-#: ../../Zotlabs/Module/Menu.php:98 ../../Zotlabs/Module/Menu.php:110
-msgid "Menu Name"
-msgstr "Name des Menüs"
-
-#: ../../Zotlabs/Module/Menu.php:98
-msgid "Unique name (not visible on webpage) - required"
-msgstr "Eindeutiger Name (nicht sichtbar auf der Webseite) – erforderlich"
-
-#: ../../Zotlabs/Module/Menu.php:99 ../../Zotlabs/Module/Menu.php:111
-msgid "Menu Title"
-msgstr "Menütitel"
-
-#: ../../Zotlabs/Module/Menu.php:99
-msgid "Visible on webpage - leave empty for no title"
-msgstr "Sichtbar auf der Webseite – für keinen Titel leer lassen"
-
-#: ../../Zotlabs/Module/Menu.php:100
-msgid "Allow Bookmarks"
-msgstr "Lesezeichen erlauben"
-
-#: ../../Zotlabs/Module/Menu.php:100 ../../Zotlabs/Module/Menu.php:157
-msgid "Menu may be used to store saved bookmarks"
-msgstr "Im Menü können gespeicherte Lesezeichen abgelegt werden"
-
-#: ../../Zotlabs/Module/Menu.php:101 ../../Zotlabs/Module/Menu.php:159
-msgid "Submit and proceed"
-msgstr "Absenden und fortfahren"
+#: ../../Zotlabs/Module/Webpages.php:52
+msgid "Import Webpage Elements"
+msgstr "Webseitenelemente importieren"
-#: ../../Zotlabs/Module/Menu.php:107 ../../include/text.php:2263
-msgid "Menus"
-msgstr "Menüs"
+#: ../../Zotlabs/Module/Webpages.php:53
+msgid "Import selected"
+msgstr "Import ausgewählt"
-#: ../../Zotlabs/Module/Menu.php:113 ../../Zotlabs/Module/Locs.php:120
-msgid "Drop"
-msgstr "Löschen"
+#: ../../Zotlabs/Module/Webpages.php:76
+msgid "Export Webpage Elements"
+msgstr "Webseitenelemente exportieren"
-#: ../../Zotlabs/Module/Menu.php:117
-msgid "Bookmarks allowed"
-msgstr "Lesezeichen erlaubt"
+#: ../../Zotlabs/Module/Webpages.php:77
+msgid "Export selected"
+msgstr "Exportieren ausgewählt"
-#: ../../Zotlabs/Module/Menu.php:119
-msgid "Delete this menu"
-msgstr "Lösche dieses Menü"
+#: ../../Zotlabs/Module/Webpages.php:237 ../../Zotlabs/Lib/Apps.php:218
+#: ../../include/nav.php:109 ../../include/conversation.php:1724
+msgid "Webpages"
+msgstr "Webseiten"
-#: ../../Zotlabs/Module/Menu.php:120 ../../Zotlabs/Module/Menu.php:154
-msgid "Edit menu contents"
-msgstr "Bearbeite Menü Inhalte"
+#: ../../Zotlabs/Module/Webpages.php:241 ../../Zotlabs/Module/Blocks.php:161
+#: ../../Zotlabs/Module/Layouts.php:193 ../../Zotlabs/Module/Photos.php:1078
+#: ../../include/conversation.php:1231
+msgid "Share"
+msgstr "Teilen"
-#: ../../Zotlabs/Module/Menu.php:121
-msgid "Edit this menu"
-msgstr "Dieses Menü bearbeiten"
+#: ../../Zotlabs/Module/Webpages.php:246 ../../Zotlabs/Module/Events.php:680
+#: ../../Zotlabs/Module/Blocks.php:166 ../../Zotlabs/Module/Layouts.php:197
+#: ../../Zotlabs/Module/Pubsites.php:59 ../../include/page_widgets.php:42
+msgid "View"
+msgstr "Ansicht"
-#: ../../Zotlabs/Module/Menu.php:136
-msgid "Menu could not be deleted."
-msgstr "Menü konnte nicht gelöscht werden."
+#: ../../Zotlabs/Module/Webpages.php:247 ../../Zotlabs/Module/Events.php:473
+#: ../../Zotlabs/Module/Photos.php:1099 ../../Zotlabs/Lib/ThreadItem.php:721
+#: ../../include/page_widgets.php:43 ../../include/conversation.php:1200
+msgid "Preview"
+msgstr "Vorschau"
-#: ../../Zotlabs/Module/Menu.php:144 ../../Zotlabs/Module/Mitem.php:28
-msgid "Menu not found."
-msgstr "Menü nicht gefunden"
+#: ../../Zotlabs/Module/Webpages.php:248 ../../include/page_widgets.php:44
+msgid "Actions"
+msgstr "Aktionen"
-#: ../../Zotlabs/Module/Menu.php:149
-msgid "Edit Menu"
-msgstr "Menü bearbeiten"
+#: ../../Zotlabs/Module/Webpages.php:249 ../../include/page_widgets.php:45
+msgid "Page Link"
+msgstr "Seiten-Link"
-#: ../../Zotlabs/Module/Menu.php:153
-msgid "Add or remove entries to this menu"
-msgstr "Einträge zu diesem Menü hinzufügen oder entfernen"
+#: ../../Zotlabs/Module/Webpages.php:250
+msgid "Page Title"
+msgstr "Seitentitel"
-#: ../../Zotlabs/Module/Menu.php:155
-msgid "Menu name"
-msgstr "Menü Name"
+#: ../../Zotlabs/Module/Webpages.php:280
+msgid "Invalid file type."
+msgstr "Ungültiger Dateityp."
-#: ../../Zotlabs/Module/Menu.php:155
-msgid "Must be unique, only seen by you"
-msgstr "Muss eindeutig sein, ist aber nur für Dich sichtbar"
+#: ../../Zotlabs/Module/Webpages.php:292
+msgid "Error opening zip file"
+msgstr "Fehler beim Öffnen der ZIP-Datei"
-#: ../../Zotlabs/Module/Menu.php:156
-msgid "Menu title"
-msgstr "Menü Titel"
+#: ../../Zotlabs/Module/Webpages.php:303
+msgid "Invalid folder path."
+msgstr "Ungültiger Ordnerpfad."
-#: ../../Zotlabs/Module/Menu.php:156
-msgid "Menu title as seen by others"
-msgstr "Menü Titel wie er von anderen gesehen wird"
+#: ../../Zotlabs/Module/Webpages.php:330
+msgid "No webpage elements detected."
+msgstr "Keine Webseitenelemente erkannt."
-#: ../../Zotlabs/Module/Menu.php:157
-msgid "Allow bookmarks"
-msgstr "Erlaube Lesezeichen"
+#: ../../Zotlabs/Module/Webpages.php:405
+msgid "Import complete."
+msgstr "Import abgeschlossen."
-#: ../../Zotlabs/Module/Menu.php:166 ../../Zotlabs/Module/Mitem.php:120
-#: ../../Zotlabs/Module/Xchan.php:41
-msgid "Not found."
-msgstr "Nicht gefunden."
+#: ../../Zotlabs/Module/Impel.php:41 ../../include/bbcode.php:192
+msgid "webpage"
+msgstr "Webseite"
-#: ../../Zotlabs/Module/Editpost.php:35
-msgid "Item is not editable"
-msgstr "Element kann nicht bearbeitet werden."
+#: ../../Zotlabs/Module/Impel.php:46 ../../include/bbcode.php:198
+msgid "block"
+msgstr "Block"
-#: ../../Zotlabs/Module/Import_items.php:42 ../../Zotlabs/Module/Import.php:71
-msgid "Nothing to import."
-msgstr "Nichts zu importieren."
+#: ../../Zotlabs/Module/Impel.php:51 ../../include/bbcode.php:195
+msgid "layout"
+msgstr "Layout"
-#: ../../Zotlabs/Module/Import_items.php:66 ../../Zotlabs/Module/Import.php:95
-msgid "Unable to download data from old server"
-msgstr "Daten können vom alten Server nicht heruntergeladen werden"
+#: ../../Zotlabs/Module/Impel.php:58 ../../include/bbcode.php:201
+msgid "menu"
+msgstr "Menü"
-#: ../../Zotlabs/Module/Import_items.php:72
-#: ../../Zotlabs/Module/Import.php:101
-msgid "Imported file is empty."
-msgstr "Die importierte Datei ist leer."
+#: ../../Zotlabs/Module/Impel.php:191
+#, php-format
+msgid "%s element installed"
+msgstr "Element für %s installiert"
-#: ../../Zotlabs/Module/Import_items.php:88
-#: ../../Zotlabs/Module/Import.php:123
+#: ../../Zotlabs/Module/Impel.php:194
#, php-format
-msgid "Warning: Database versions differ by %1$d updates."
-msgstr "Achtung: Datenbankversionen unterscheiden sich um %1$d Aktualisierungen."
+msgid "%s element installation failed"
+msgstr "Installation des Elements %s fehlgeschlagen"
#: ../../Zotlabs/Module/Import_items.php:104
msgid "Import completed"
@@ -2733,11 +2977,6 @@ msgid ""
"Use this form to import existing posts and content from an export file."
msgstr "Mit diesem Formular kannst Du existierende Beiträge und Inhalte aus einer Sicherungsdatei importieren."
-#: ../../Zotlabs/Module/Import_items.php:121
-#: ../../Zotlabs/Module/Import.php:549
-msgid "File to Upload"
-msgstr "Hochzuladende Datei:"
-
#: ../../Zotlabs/Module/Invite.php:29
msgid "Total invitation limit exceeded."
msgstr "Einladungslimit überschritten."
@@ -2779,10 +3018,6 @@ msgstr "Einladungen senden"
msgid "Enter email addresses, one per line:"
msgstr "Email-Adressen eintragen, eine pro Zeile:"
-#: ../../Zotlabs/Module/Invite.php:135 ../../Zotlabs/Module/Mail.php:241
-msgid "Your message:"
-msgstr "Deine Nachricht:"
-
#: ../../Zotlabs/Module/Invite.php:136
msgid "Please join my community on $Projectname."
msgstr "Schließe Dich uns auf $Projectname an!"
@@ -2834,6 +3069,12 @@ msgstr "Keine Klon-Adressen gefunden."
msgid "Manage Channel Locations"
msgstr "Klon-Adressen verwalten"
+#: ../../Zotlabs/Module/Locs.php:117 ../../Zotlabs/Module/Profiles.php:477
+#: ../../Zotlabs/Module/Profiles.php:698 ../../Zotlabs/Module/Events.php:467
+#: ../../Zotlabs/Module/Pubsites.php:51 ../../include/js_strings.php:25
+msgid "Location"
+msgstr "Ort"
+
#: ../../Zotlabs/Module/Locs.php:119
msgid "Primary"
msgstr "Primär"
@@ -2856,332 +3097,322 @@ msgstr "Wenn möglich, lösche einen Klon, indem Du Dich auf dem jeweiligen Hub
msgid "Use this form to drop the location if the hub is no longer operating."
msgstr "Benutze dieses Formular zum Löschen eines Klons, wenn es den Hub nicht mehr gibt."
-#: ../../Zotlabs/Module/Magic.php:71
-msgid "Hub not found."
-msgstr "Server nicht gefunden."
-
-#: ../../Zotlabs/Module/Chat.php:181
-msgid "Room not found"
-msgstr "Chatraum nicht gefunden"
-
-#: ../../Zotlabs/Module/Chat.php:197
-msgid "Leave Room"
-msgstr "Raum verlassen"
-
-#: ../../Zotlabs/Module/Chat.php:198
-msgid "Delete Room"
-msgstr "Raum löschen"
-
-#: ../../Zotlabs/Module/Chat.php:199
-msgid "I am away right now"
-msgstr "Ich bin gerade nicht da"
-
-#: ../../Zotlabs/Module/Chat.php:200
-msgid "I am online"
-msgstr "Ich bin online"
+#: ../../Zotlabs/Module/Network.php:95
+msgid "No such group"
+msgstr "Gruppe nicht gefunden"
-#: ../../Zotlabs/Module/Chat.php:202
-msgid "Bookmark this room"
-msgstr "Lesezeichen für diesen Raum setzen"
+#: ../../Zotlabs/Module/Network.php:135
+msgid "No such channel"
+msgstr "Kanal nicht gefunden"
-#: ../../Zotlabs/Module/Chat.php:205 ../../Zotlabs/Module/Mail.php:197
-#: ../../Zotlabs/Module/Mail.php:306 ../../include/conversation.php:1182
-msgid "Please enter a link URL:"
-msgstr "Gib eine URL ein:"
+#: ../../Zotlabs/Module/Network.php:140
+msgid "forum"
+msgstr "Forum"
-#: ../../Zotlabs/Module/Chat.php:206 ../../Zotlabs/Module/Mail.php:250
-#: ../../Zotlabs/Module/Mail.php:375 ../../Zotlabs/Lib/ThreadItem.php:723
-#: ../../include/conversation.php:1276
-msgid "Encrypt text"
-msgstr "Text verschlüsseln"
+#: ../../Zotlabs/Module/Network.php:152
+msgid "Search Results For:"
+msgstr "Suchergebnisse für:"
-#: ../../Zotlabs/Module/Chat.php:218
-msgid "Feature disabled."
-msgstr "Funktion deaktiviert."
+#: ../../Zotlabs/Module/Network.php:218
+msgid "Privacy group is empty"
+msgstr "Gruppe ist leer"
-#: ../../Zotlabs/Module/Chat.php:231
-msgid "New Chatroom"
-msgstr "Neuer Chatraum"
+#: ../../Zotlabs/Module/Network.php:227
+msgid "Privacy group: "
+msgstr "Gruppe:"
-#: ../../Zotlabs/Module/Chat.php:232
-msgid "Chatroom name"
-msgstr "Chatraumname"
+#: ../../Zotlabs/Module/Network.php:253
+msgid "Invalid connection."
+msgstr "Ungültige Verbindung."
-#: ../../Zotlabs/Module/Chat.php:233
-msgid "Expiration of chats (minutes)"
-msgstr "Verfall von Chats (Minuten)"
+#: ../../Zotlabs/Module/Like.php:19
+msgid "Like/Dislike"
+msgstr "Mögen/Nicht mögen"
-#: ../../Zotlabs/Module/Chat.php:249
-#, php-format
-msgid "%1$s's Chatrooms"
-msgstr "%1$ss Chaträume"
+#: ../../Zotlabs/Module/Like.php:24
+msgid "This action is restricted to members."
+msgstr "Diese Aktion kann nur von Mitgliedern ausgeführt werden."
-#: ../../Zotlabs/Module/Chat.php:254
-msgid "No chatrooms available"
-msgstr "Keine Chaträume verfügbar"
+#: ../../Zotlabs/Module/Like.php:25
+msgid ""
+"Please <a href=\"rmagic\">login with your $Projectname ID</a> or <a "
+"href=\"register\">register as a new $Projectname member</a> to continue."
+msgstr "Um fortzufahren <a href=\"rmagic\">melde Dich bitte mit Deiner $Projectname-ID an</a> oder <a href=\"register\">registriere Dich als neues $Projectname-Mitglied</a>."
-#: ../../Zotlabs/Module/Chat.php:258
-msgid "Expiration"
-msgstr "Verfall"
+#: ../../Zotlabs/Module/Like.php:105 ../../Zotlabs/Module/Like.php:131
+#: ../../Zotlabs/Module/Like.php:169
+msgid "Invalid request."
+msgstr "Ungültige Anfrage."
-#: ../../Zotlabs/Module/Chat.php:259
-msgid "min"
-msgstr "min"
+#: ../../Zotlabs/Module/Like.php:117 ../../include/conversation.php:126
+msgid "channel"
+msgstr "Kanal"
-#: ../../Zotlabs/Module/Events.php:25
-msgid "Calendar entries imported."
-msgstr "Kalendereinträge wurden importiert."
+#: ../../Zotlabs/Module/Like.php:146
+msgid "thing"
+msgstr "Sache"
-#: ../../Zotlabs/Module/Events.php:27
-msgid "No calendar entries found."
-msgstr "Keine Kalendereinträge gefunden."
+#: ../../Zotlabs/Module/Like.php:192
+msgid "Channel unavailable."
+msgstr "Kanal nicht vorhanden."
-#: ../../Zotlabs/Module/Events.php:104
-msgid "Event can not end before it has started."
-msgstr "Termin-Ende liegt vor dem Beginn."
+#: ../../Zotlabs/Module/Like.php:240
+msgid "Previous action reversed."
+msgstr "Die vorherige Aktion wurde rückgängig gemacht."
-#: ../../Zotlabs/Module/Events.php:106 ../../Zotlabs/Module/Events.php:115
-#: ../../Zotlabs/Module/Events.php:135
-msgid "Unable to generate preview."
-msgstr "Vorschau konnte nicht erzeugt werden."
+#: ../../Zotlabs/Module/Like.php:370 ../../Zotlabs/Module/Subthread.php:87
+#: ../../Zotlabs/Module/Tagger.php:47 ../../include/conversation.php:120
+#: ../../include/text.php:1991
+msgid "photo"
+msgstr "Foto"
-#: ../../Zotlabs/Module/Events.php:113
-msgid "Event title and start time are required."
-msgstr "Titel und Startzeit des Termins sind erforderlich."
+#: ../../Zotlabs/Module/Like.php:370 ../../Zotlabs/Module/Subthread.php:87
+#: ../../include/conversation.php:148 ../../include/text.php:1997
+msgid "status"
+msgstr "Status"
-#: ../../Zotlabs/Module/Events.php:133 ../../Zotlabs/Module/Events.php:258
-msgid "Event not found."
-msgstr "Termin nicht gefunden."
+#: ../../Zotlabs/Module/Like.php:372 ../../Zotlabs/Module/Events.php:253
+#: ../../Zotlabs/Module/Tagger.php:51 ../../include/event.php:958
+#: ../../include/conversation.php:123 ../../include/text.php:1994
+msgid "event"
+msgstr "Termin"
-#: ../../Zotlabs/Module/Events.php:452
-msgid "Edit event title"
-msgstr "Termintitel bearbeiten"
+#: ../../Zotlabs/Module/Like.php:419 ../../include/conversation.php:164
+#, php-format
+msgid "%1$s likes %2$s's %3$s"
+msgstr "%1$s gefällt %2$ss %3$s"
-#: ../../Zotlabs/Module/Events.php:452
-msgid "Event title"
-msgstr "Termintitel"
+#: ../../Zotlabs/Module/Like.php:421 ../../include/conversation.php:167
+#, php-format
+msgid "%1$s doesn't like %2$s's %3$s"
+msgstr "%1$s gefällt %2$ss %3$s nicht"
-#: ../../Zotlabs/Module/Events.php:454
-msgid "Categories (comma-separated list)"
-msgstr "Kategorien (Kommagetrennte Liste)"
+#: ../../Zotlabs/Module/Like.php:423
+#, php-format
+msgid "%1$s agrees with %2$s's %3$s"
+msgstr "%1$s stimmt %2$ss %3$s zu"
-#: ../../Zotlabs/Module/Events.php:455
-msgid "Edit Category"
-msgstr "Kategorie bearbeiten"
+#: ../../Zotlabs/Module/Like.php:425
+#, php-format
+msgid "%1$s doesn't agree with %2$s's %3$s"
+msgstr "%1$s lehnt %2$ss %3$s ab"
-#: ../../Zotlabs/Module/Events.php:455
-msgid "Category"
-msgstr "Kategorie"
+#: ../../Zotlabs/Module/Like.php:427
+#, php-format
+msgid "%1$s abstains from a decision on %2$s's %3$s"
+msgstr "%1$s enthält sich zu %2$ss %3$s"
-#: ../../Zotlabs/Module/Events.php:458
-msgid "Edit start date and time"
-msgstr "Startdatum und -zeit bearbeiten"
+#: ../../Zotlabs/Module/Like.php:429
+#, php-format
+msgid "%1$s is attending %2$s's %3$s"
+msgstr "%1$s nimmt an %2$ss %3$s teil"
-#: ../../Zotlabs/Module/Events.php:458
-msgid "Start date and time"
-msgstr "Startdatum und -zeit"
+#: ../../Zotlabs/Module/Like.php:431
+#, php-format
+msgid "%1$s is not attending %2$s's %3$s"
+msgstr "%1$s nimmt an %2$ss %3$s nicht teil"
-#: ../../Zotlabs/Module/Events.php:459 ../../Zotlabs/Module/Events.php:462
-msgid "Finish date and time are not known or not relevant"
-msgstr "Enddatum und -zeit sind unbekannt oder irrelevant"
+#: ../../Zotlabs/Module/Like.php:433
+#, php-format
+msgid "%1$s may attend %2$s's %3$s"
+msgstr "%1$s nimmt vielleicht an %2$ss %3$s teil"
-#: ../../Zotlabs/Module/Events.php:461
-msgid "Edit finish date and time"
-msgstr "Enddatum und -zeit bearbeiten"
+#: ../../Zotlabs/Module/Like.php:538
+msgid "Action completed."
+msgstr "Aktion durchgeführt."
-#: ../../Zotlabs/Module/Events.php:461
-msgid "Finish date and time"
-msgstr "Enddatum und -zeit"
+#: ../../Zotlabs/Module/Like.php:539
+msgid "Thank you."
+msgstr "Vielen Dank."
-#: ../../Zotlabs/Module/Events.php:463 ../../Zotlabs/Module/Events.php:464
-msgid "Adjust for viewer timezone"
-msgstr "An die Zeitzone des Betrachters anpassen"
+#: ../../Zotlabs/Module/Manage.php:136
+#: ../../Zotlabs/Module/New_channel.php:121
+#, php-format
+msgid "You have created %1$.0f of %2$.0f allowed channels."
+msgstr "Du hast %1$.0f von maximal %2$.0f erlaubten Kanälen eingerichtet."
-#: ../../Zotlabs/Module/Events.php:463
-msgid ""
-"Important for events that happen in a particular place. Not practical for "
-"global holidays."
-msgstr "Wichtig für Veranstaltungen die an bestimmten Orten stattfinden. Nicht sinnvoll für globale Feiertage / Ferien."
+#: ../../Zotlabs/Module/Manage.php:143
+msgid "Create a new channel"
+msgstr "Neuen Kanal anlegen"
-#: ../../Zotlabs/Module/Events.php:465
-msgid "Edit Description"
-msgstr "Beschreibung bearbeiten"
+#: ../../Zotlabs/Module/Manage.php:143 ../../Zotlabs/Module/Profiles.php:778
+#: ../../Zotlabs/Module/Chat.php:255
+msgid "Create New"
+msgstr "Neu anlegen"
-#: ../../Zotlabs/Module/Events.php:467
-msgid "Edit Location"
-msgstr "Ort bearbeiten"
+#: ../../Zotlabs/Module/Manage.php:164 ../../Zotlabs/Lib/Apps.php:214
+#: ../../include/nav.php:211
+msgid "Channel Manager"
+msgstr "Kanal-Manager"
-#: ../../Zotlabs/Module/Events.php:470 ../../Zotlabs/Module/Events.php:472
-msgid "Share this event"
-msgstr "Den Termin teilen"
+#: ../../Zotlabs/Module/Manage.php:165
+msgid "Current Channel"
+msgstr "Aktueller Kanal"
-#: ../../Zotlabs/Module/Events.php:474 ../../include/conversation.php:1248
-msgid "Permission settings"
-msgstr "Berechtigungs-Einstellungen"
+#: ../../Zotlabs/Module/Manage.php:167
+msgid "Switch to one of your channels by selecting it."
+msgstr "Wechsle zu einem Deiner Kanäle, indem Du auf ihn klickst."
-#: ../../Zotlabs/Module/Events.php:485
-msgid "Advanced Options"
-msgstr "Weitere Optionen"
+#: ../../Zotlabs/Module/Manage.php:168
+msgid "Default Channel"
+msgstr "Standard Kanal"
-#: ../../Zotlabs/Module/Events.php:597 ../../Zotlabs/Module/Cal.php:259
-msgid "l, F j"
-msgstr "l, j. F"
+#: ../../Zotlabs/Module/Manage.php:169
+msgid "Make Default"
+msgstr "Zum Standard machen"
-#: ../../Zotlabs/Module/Events.php:619
-msgid "Edit event"
-msgstr "Termin bearbeiten"
+#: ../../Zotlabs/Module/Manage.php:172
+#, php-format
+msgid "%d new messages"
+msgstr "%d neue Nachrichten"
-#: ../../Zotlabs/Module/Events.php:621
-msgid "Delete event"
-msgstr "Termin löschen"
+#: ../../Zotlabs/Module/Manage.php:173
+#, php-format
+msgid "%d new introductions"
+msgstr "%d neue Vorstellungen"
-#: ../../Zotlabs/Module/Events.php:646 ../../Zotlabs/Module/Cal.php:308
-#: ../../include/text.php:1716
-msgid "Link to Source"
-msgstr "Link zur Quelle"
+#: ../../Zotlabs/Module/Manage.php:175
+msgid "Delegated Channel"
+msgstr "Delegierte Kanäle"
-#: ../../Zotlabs/Module/Events.php:655
-msgid "calendar"
-msgstr "Kalender"
+#: ../../Zotlabs/Module/Mitem.php:52
+msgid "Unable to create element."
+msgstr "Element konnte nicht erstellt werden."
-#: ../../Zotlabs/Module/Events.php:674 ../../Zotlabs/Module/Cal.php:331
-msgid "Edit Event"
-msgstr "Termin bearbeiten"
+#: ../../Zotlabs/Module/Mitem.php:76
+msgid "Unable to update menu element."
+msgstr "Kann Menü-Element nicht aktualisieren."
-#: ../../Zotlabs/Module/Events.php:674 ../../Zotlabs/Module/Cal.php:331
-msgid "Create Event"
-msgstr "Termin anlegen"
+#: ../../Zotlabs/Module/Mitem.php:92
+msgid "Unable to add menu element."
+msgstr "Kann Menü-Bestandteil nicht hinzufügen."
-#: ../../Zotlabs/Module/Events.php:675 ../../Zotlabs/Module/Events.php:684
-#: ../../Zotlabs/Module/Photos.php:951 ../../Zotlabs/Module/Cal.php:332
-#: ../../Zotlabs/Module/Cal.php:339
-msgid "Previous"
-msgstr "Voriges"
+#: ../../Zotlabs/Module/Mitem.php:153 ../../Zotlabs/Module/Mitem.php:230
+msgid "Menu Item Permissions"
+msgstr "Zugriffsrechte des Menü-Elements"
-#: ../../Zotlabs/Module/Events.php:677 ../../Zotlabs/Module/Cal.php:334
-msgid "Export"
-msgstr "Exportieren"
+#: ../../Zotlabs/Module/Mitem.php:154 ../../Zotlabs/Module/Mitem.php:231
+#: ../../Zotlabs/Module/Settings/Channel.php:486
+msgid "(click to open/close)"
+msgstr "(zum öffnen/schließen anklicken)"
-#: ../../Zotlabs/Module/Events.php:681
-msgid "Month"
-msgstr "Monat"
+#: ../../Zotlabs/Module/Mitem.php:160 ../../Zotlabs/Module/Mitem.php:176
+msgid "Link Name"
+msgstr "Name des Links"
-#: ../../Zotlabs/Module/Events.php:682
-msgid "Week"
-msgstr "Woche"
+#: ../../Zotlabs/Module/Mitem.php:161 ../../Zotlabs/Module/Mitem.php:239
+msgid "Link or Submenu Target"
+msgstr "Ziel des Links oder Untermenüs"
-#: ../../Zotlabs/Module/Events.php:683
-msgid "Day"
-msgstr "Tag"
+#: ../../Zotlabs/Module/Mitem.php:161
+msgid "Enter URL of the link or select a menu name to create a submenu"
+msgstr "URL des Links eingeben oder Menünamen wählen, um ein Untermenü anzulegen."
-#: ../../Zotlabs/Module/Events.php:686 ../../Zotlabs/Module/Cal.php:341
-msgid "Today"
-msgstr "Heute"
+#: ../../Zotlabs/Module/Mitem.php:162 ../../Zotlabs/Module/Mitem.php:240
+msgid "Use magic-auth if available"
+msgstr "Magic-Auth verwenden, falls verfügbar"
-#: ../../Zotlabs/Module/Events.php:717
-msgid "Event removed"
-msgstr "Termin gelöscht"
+#: ../../Zotlabs/Module/Mitem.php:163 ../../Zotlabs/Module/Mitem.php:241
+msgid "Open link in new window"
+msgstr "Öffne Link in neuem Fenster"
-#: ../../Zotlabs/Module/Events.php:720
-msgid "Failed to remove event"
-msgstr "Termin konnte nicht gelöscht werden"
+#: ../../Zotlabs/Module/Mitem.php:164 ../../Zotlabs/Module/Mitem.php:242
+msgid "Order in list"
+msgstr "Reihenfolge in der Liste"
-#: ../../Zotlabs/Module/Mail.php:38
-msgid "Unable to lookup recipient."
-msgstr "Konnte den Empfänger nicht finden."
+#: ../../Zotlabs/Module/Mitem.php:164 ../../Zotlabs/Module/Mitem.php:242
+msgid "Higher numbers will sink to bottom of listing"
+msgstr "Größere Nummern werden weiter unten in der Auflistung einsortiert"
-#: ../../Zotlabs/Module/Mail.php:45
-msgid "Unable to communicate with requested channel."
-msgstr "Die Kommunikation mit dem ausgewählten Kanal ist fehlgeschlagen."
+#: ../../Zotlabs/Module/Mitem.php:165
+msgid "Submit and finish"
+msgstr "Absenden und fertigstellen"
-#: ../../Zotlabs/Module/Mail.php:52
-msgid "Cannot verify requested channel."
-msgstr "Verifizierung des angeforderten Kanals fehlgeschlagen."
+#: ../../Zotlabs/Module/Mitem.php:166
+msgid "Submit and continue"
+msgstr "Absenden und fortfahren"
-#: ../../Zotlabs/Module/Mail.php:70
-msgid "Selected channel has private message restrictions. Send failed."
-msgstr "Der ausgewählte Kanal hat Einschränkungen bzgl. privater Nachrichten. Senden fehlgeschlagen."
+#: ../../Zotlabs/Module/Mitem.php:174
+msgid "Menu:"
+msgstr "Menü:"
-#: ../../Zotlabs/Module/Mail.php:135
-msgid "Messages"
-msgstr "Nachrichten"
+#: ../../Zotlabs/Module/Mitem.php:177
+msgid "Link Target"
+msgstr "Ziel des Links"
-#: ../../Zotlabs/Module/Mail.php:170
-msgid "Message recalled."
-msgstr "Nachricht widerrufen."
+#: ../../Zotlabs/Module/Mitem.php:180
+msgid "Edit menu"
+msgstr "Menü bearbeiten"
-#: ../../Zotlabs/Module/Mail.php:183
-msgid "Conversation removed."
-msgstr "Unterhaltung gelöscht."
+#: ../../Zotlabs/Module/Mitem.php:183
+msgid "Edit element"
+msgstr "Bestandteil bearbeiten"
-#: ../../Zotlabs/Module/Mail.php:198 ../../Zotlabs/Module/Mail.php:307
-msgid "Expires YYYY-MM-DD HH:MM"
-msgstr "Verfällt YYYY-MM-DD HH;MM"
+#: ../../Zotlabs/Module/Mitem.php:184
+msgid "Drop element"
+msgstr "Bestandteil löschen"
-#: ../../Zotlabs/Module/Mail.php:226
-msgid "Requested channel is not in this network"
-msgstr "Angeforderter Kanal ist nicht in diesem Netzwerk."
+#: ../../Zotlabs/Module/Mitem.php:185
+msgid "New element"
+msgstr "Neues Bestandteil"
-#: ../../Zotlabs/Module/Mail.php:234
-msgid "Send Private Message"
-msgstr "Private Nachricht senden"
+#: ../../Zotlabs/Module/Mitem.php:186
+msgid "Edit this menu container"
+msgstr "Diesen Menü-Container bearbeiten"
-#: ../../Zotlabs/Module/Mail.php:235 ../../Zotlabs/Module/Mail.php:360
-msgid "To:"
-msgstr "An:"
+#: ../../Zotlabs/Module/Mitem.php:187
+msgid "Add menu element"
+msgstr "Menüelement hinzufügen"
-#: ../../Zotlabs/Module/Mail.php:238 ../../Zotlabs/Module/Mail.php:362
-msgid "Subject:"
-msgstr "Betreff:"
+#: ../../Zotlabs/Module/Mitem.php:188
+msgid "Delete this menu item"
+msgstr "Lösche dieses Menü-Bestandteil"
-#: ../../Zotlabs/Module/Mail.php:243 ../../Zotlabs/Module/Mail.php:368
-#: ../../include/conversation.php:1232
-msgid "Attach file"
-msgstr "Datei anhängen"
+#: ../../Zotlabs/Module/Mitem.php:189
+msgid "Edit this menu item"
+msgstr "Bearbeite dieses Menü-Bestandteil"
-#: ../../Zotlabs/Module/Mail.php:245
-msgid "Send"
-msgstr "Absenden"
+#: ../../Zotlabs/Module/Mitem.php:206
+msgid "Menu item not found."
+msgstr "Menü-Bestandteil nicht gefunden."
-#: ../../Zotlabs/Module/Mail.php:248 ../../Zotlabs/Module/Mail.php:373
-#: ../../include/conversation.php:1271
-msgid "Set expiration date"
-msgstr "Verfallsdatum"
+#: ../../Zotlabs/Module/Mitem.php:219
+msgid "Menu item deleted."
+msgstr "Menü-Bestandteil gelöscht."
-#: ../../Zotlabs/Module/Mail.php:332
-msgid "Delete message"
-msgstr "Nachricht löschen"
+#: ../../Zotlabs/Module/Mitem.php:221
+msgid "Menu item could not be deleted."
+msgstr "Menü-Bestandteil kann nicht gelöscht werden."
-#: ../../Zotlabs/Module/Mail.php:333
-msgid "Delivery report"
-msgstr "Zustellungsbericht"
+#: ../../Zotlabs/Module/Mitem.php:228
+msgid "Edit Menu Element"
+msgstr "Bearbeite Menü-Bestandteil"
-#: ../../Zotlabs/Module/Mail.php:334
-msgid "Recall message"
-msgstr "Nachricht widerrufen"
+#: ../../Zotlabs/Module/Mitem.php:238
+msgid "Link text"
+msgstr "Link Text"
-#: ../../Zotlabs/Module/Mail.php:336
-msgid "Message has been recalled."
-msgstr "Die Nachricht wurde widerrufen."
+#: ../../Zotlabs/Module/Rate.php:155 ../../Zotlabs/Module/Connedit.php:762
+#: ../../include/js_strings.php:20
+msgid "Rating"
+msgstr "Bewertung"
-#: ../../Zotlabs/Module/Mail.php:353
-msgid "Delete Conversation"
-msgstr "Unterhaltung löschen"
+#: ../../Zotlabs/Module/Rate.php:156
+msgid "Website:"
+msgstr "Webseite:"
-#: ../../Zotlabs/Module/Mail.php:355
-msgid ""
-"No secure communications available. You <strong>may</strong> be able to "
-"respond from the sender's profile page."
-msgstr "Keine sichere Kommunikation verfügbar. <strong>Eventuell</strong> kannst Du auf der Profilseite des Absenders antworten."
+#: ../../Zotlabs/Module/Rate.php:159
+#, php-format
+msgid "Remote Channel [%s] (not yet known on this site)"
+msgstr "Kanal [%s] (auf diesem Server noch unbekannt)"
-#: ../../Zotlabs/Module/Mail.php:359
-msgid "Send Reply"
-msgstr "Antwort senden"
+#: ../../Zotlabs/Module/Rate.php:160
+msgid "Rating (this information is public)"
+msgstr "Bewertung (öffentlich sichtbar)"
-#: ../../Zotlabs/Module/Mail.php:364
-#, php-format
-msgid "Your message for %s (%s):"
-msgstr "Deine Nachricht für %s (%s):"
+#: ../../Zotlabs/Module/Rate.php:161
+msgid "Optionally explain your rating (this information is public)"
+msgstr "Optional kannst du deine Bewertung erklären (öffentlich sichtbar)"
#: ../../Zotlabs/Module/Lostpass.php:19
msgid "No valid account found."
@@ -3207,7 +3438,7 @@ msgid ""
"Password reset failed."
msgstr "Die Anfrage konnte nicht verifiziert werden. (Vielleicht hast Du schon einmal auf den Link in der E-Mail geklickt?) Passwort-Rücksetzung fehlgeschlagen."
-#: ../../Zotlabs/Module/Lostpass.php:90 ../../boot.php:1721
+#: ../../Zotlabs/Module/Lostpass.php:90 ../../boot.php:1747
msgid "Password Reset"
msgstr "Zurücksetzen des Kennworts"
@@ -3270,42 +3501,6 @@ msgstr "Laune"
msgid "Set your current mood and tell your friends"
msgstr "Wähle Deine aktuelle Stimmung und teile sie mit Deinen Freunden"
-#: ../../Zotlabs/Module/Manage.php:136
-#: ../../Zotlabs/Module/New_channel.php:121
-#, php-format
-msgid "You have created %1$.0f of %2$.0f allowed channels."
-msgstr "Du hast %1$.0f von maximal %2$.0f erlaubten Kanälen eingerichtet."
-
-#: ../../Zotlabs/Module/Manage.php:143
-msgid "Create a new channel"
-msgstr "Neuen Kanal anlegen"
-
-#: ../../Zotlabs/Module/Manage.php:164 ../../Zotlabs/Lib/Apps.php:214
-#: ../../include/nav.php:210
-msgid "Channel Manager"
-msgstr "Kanal-Manager"
-
-#: ../../Zotlabs/Module/Manage.php:165
-msgid "Current Channel"
-msgstr "Aktueller Kanal"
-
-#: ../../Zotlabs/Module/Manage.php:167
-msgid "Switch to one of your channels by selecting it."
-msgstr "Wechsle zu einem Deiner Kanäle, indem Du auf ihn klickst."
-
-#: ../../Zotlabs/Module/Manage.php:168
-msgid "Default Channel"
-msgstr "Standard Kanal"
-
-#: ../../Zotlabs/Module/Manage.php:169
-msgid "Make Default"
-msgstr "Zum Standard machen"
-
-#: ../../Zotlabs/Module/Manage.php:172
-#, php-format
-msgid "%d new messages"
-msgstr "%d neue Nachrichten"
-
#: ../../Zotlabs/Module/Manage.php:173
#, php-format
msgid "%d new introductions"
@@ -3368,9 +3563,13 @@ msgid ""
"manager"
msgstr "Mehrere Speicherordner mit diesem Albumnamen sind bereits vorhanden, aber in verschiedenen Verzeichnissen. Bitte entfernen Sie den oder die gewünschten Ordner mit dem Dateimanager"
-#: ../../Zotlabs/Module/Photos.php:208 ../../Zotlabs/Module/Photos.php:1059
-msgid "Delete Photo"
-msgstr "Foto löschen"
+#: ../../Zotlabs/Module/Profiles.php:454
+msgid "Gender"
+msgstr "Geschlecht"
+
+#: ../../Zotlabs/Module/Profiles.php:458
+msgid "Sexual Preference"
+msgstr "Sexuelle Orientierung"
#: ../../Zotlabs/Module/Photos.php:531
msgid "No photos selected"
@@ -3398,9 +3597,10 @@ msgstr "Fotos hochladen"
msgid "Enter an album name"
msgstr "Namen für ein neues Album eingeben"
-#: ../../Zotlabs/Module/Photos.php:663
-msgid "or select an existing album (doubleclick)"
-msgstr "oder ein bereits vorhandenes auswählen (Doppelklick)"
+#: ../../Zotlabs/Module/Profiles.php:689 ../../Zotlabs/Module/Profiles.php:771
+#: ../../include/channel.php:981
+msgid "Edit visibility"
+msgstr "Sichtbarkeit bearbeiten"
#: ../../Zotlabs/Module/Photos.php:664
msgid "Create a status post for this upload"
@@ -3410,9 +3610,9 @@ msgstr "Einen Statusbeitrag für diesen Upload erzeugen"
msgid "Caption (optional):"
msgstr "Beschriftung (optional):"
-#: ../../Zotlabs/Module/Photos.php:666
-msgid "Description (optional):"
-msgstr "Beschreibung (optional):"
+#: ../../Zotlabs/Module/Profiles.php:692 ../../include/channel.php:952
+msgid "Change profile photo"
+msgstr "Profilfoto ändern"
#: ../../Zotlabs/Module/Photos.php:697
msgid "Album name could not be decoded"
@@ -3430,10 +3630,10 @@ msgstr "Neueste zuerst anzeigen"
msgid "Show Oldest First"
msgstr "Älteste zuerst anzeigen"
-#: ../../Zotlabs/Module/Photos.php:794 ../../Zotlabs/Module/Photos.php:1337
-#: ../../Zotlabs/Module/Embedphotos.php:141 ../../include/widgets.php:1607
-msgid "View Photo"
-msgstr "Foto ansehen"
+#: ../../Zotlabs/Module/Profiles.php:697 ../../include/conversation.php:1563
+#: ../../include/widgets.php:105
+msgid "Personal"
+msgstr "Persönlich"
#: ../../Zotlabs/Module/Photos.php:825
#: ../../Zotlabs/Module/Embedphotos.php:157 ../../include/widgets.php:1624
@@ -3518,10 +3718,13 @@ msgstr "Mir gefällt das nicht (Umschalter)"
msgid "Please wait"
msgstr "Bitte warten"
-#: ../../Zotlabs/Module/Photos.php:1095 ../../Zotlabs/Module/Photos.php:1213
-#: ../../Zotlabs/Lib/ThreadItem.php:708
-msgid "This is you"
-msgstr "Das bist Du"
+#: ../../Zotlabs/Module/Profiles.php:731
+msgid "Homepage URL"
+msgstr "Homepage-URL"
+
+#: ../../Zotlabs/Module/Profiles.php:732
+msgid "Hometown"
+msgstr "Heimatort"
#: ../../Zotlabs/Module/Photos.php:1097 ../../Zotlabs/Module/Photos.php:1215
#: ../../Zotlabs/Lib/ThreadItem.php:710 ../../include/js_strings.php:6
@@ -3595,1837 +3798,751 @@ msgstr[1] "Gefällt nicht"
msgid "Photo Tools"
msgstr "Fotowerkzeuge"
-#: ../../Zotlabs/Module/Photos.php:1250
-msgid "In This Photo:"
-msgstr "Auf diesem Foto:"
-
-#: ../../Zotlabs/Module/Photos.php:1255
-msgid "Map"
-msgstr "Karte"
-
-#: ../../Zotlabs/Module/Photos.php:1263 ../../Zotlabs/Lib/ThreadItem.php:387
-msgctxt "noun"
-msgid "Likes"
-msgstr "Gefällt mir"
-
-#: ../../Zotlabs/Module/Photos.php:1264 ../../Zotlabs/Lib/ThreadItem.php:388
-msgctxt "noun"
-msgid "Dislikes"
-msgstr "Gefällt nicht"
-
-#: ../../Zotlabs/Module/Photos.php:1269 ../../Zotlabs/Lib/ThreadItem.php:393
-#: ../../include/acl_selectors.php:283
-msgid "Close"
-msgstr "Schließen"
-
-#: ../../Zotlabs/Module/Photos.php:1343
-msgid "View Album"
-msgstr "Album ansehen"
-
-#: ../../Zotlabs/Module/Photos.php:1354 ../../Zotlabs/Module/Photos.php:1367
-#: ../../Zotlabs/Module/Photos.php:1368
-msgid "Recent Photos"
-msgstr "Neueste Fotos"
-
-#: ../../Zotlabs/Module/Settings.php:64
-msgid "Name is required"
-msgstr "Name ist erforderlich"
-
-#: ../../Zotlabs/Module/Settings.php:68
-msgid "Key and Secret are required"
-msgstr "Schlüssel und Geheimnis werden benötigt"
-
-#: ../../Zotlabs/Module/Settings.php:72 ../../Zotlabs/Module/Settings.php:686
-#: ../../Zotlabs/Module/Admin.php:1435 ../../Zotlabs/Lib/Apps.php:334
-msgid "Update"
-msgstr "Aktualisieren"
-
-#: ../../Zotlabs/Module/Settings.php:138
-#, php-format
-msgid "This channel is limited to %d tokens"
-msgstr "Dieser Kanal ist auf %d Token begrenzt"
-
-#: ../../Zotlabs/Module/Settings.php:144
-msgid "Name and Password are required."
-msgstr "Name und Passwort sind erforderlich."
-
-#: ../../Zotlabs/Module/Settings.php:184
-msgid "Token saved."
-msgstr "Token gespeichert."
-
-#: ../../Zotlabs/Module/Settings.php:290
-msgid "Not valid email."
-msgstr "Keine gültige E-Mail Adresse."
-
-#: ../../Zotlabs/Module/Settings.php:293
-msgid "Protected email address. Cannot change to that email."
-msgstr "Geschützte E-Mail Adresse. Diese kann nicht verändert werden."
-
-#: ../../Zotlabs/Module/Settings.php:302
-msgid "System failure storing new email. Please try again."
-msgstr "Systemfehler während des Speicherns der neuen Mail. Bitte versuche es noch einmal."
-
-#: ../../Zotlabs/Module/Settings.php:319
-msgid "Password verification failed."
-msgstr "Passwortüberprüfung fehlgeschlagen."
-
-#: ../../Zotlabs/Module/Settings.php:326
-msgid "Passwords do not match. Password unchanged."
-msgstr "Kennwörter stimmen nicht überein. Kennwort nicht verändert."
+#: ../../Zotlabs/Module/Profiles.php:767 ../../include/channel.php:977
+msgid "Profile Image"
+msgstr "Profilfoto:"
-#: ../../Zotlabs/Module/Settings.php:330
-msgid "Empty passwords are not allowed. Password unchanged."
-msgstr "Leere Kennwörter sind nicht erlaubt. Kennwort nicht verändert."
+#: ../../Zotlabs/Module/Profiles.php:777 ../../include/nav.php:91
+#: ../../include/channel.php:959
+msgid "Edit Profiles"
+msgstr "Profile bearbeiten"
-#: ../../Zotlabs/Module/Settings.php:344
-msgid "Password changed."
-msgstr "Kennwort geändert."
+#: ../../Zotlabs/Module/Notify.php:57
+#: ../../Zotlabs/Module/Notifications.php:98
+msgid "No more system notifications."
+msgstr "Keine System-Benachrichtigungen mehr."
-#: ../../Zotlabs/Module/Settings.php:346
-msgid "Password update failed. Please try again."
-msgstr "Kennwortänderung fehlgeschlagen. Bitte versuche es noch einmal."
+#: ../../Zotlabs/Module/Notify.php:61
+#: ../../Zotlabs/Module/Notifications.php:102
+msgid "System Notifications"
+msgstr "System-Benachrichtigungen"
-#: ../../Zotlabs/Module/Settings.php:595
-msgid "Settings updated."
-msgstr "Einstellungen aktualisiert."
+#: ../../Zotlabs/Module/Match.php:26
+msgid "Profile Match"
+msgstr "Profil-Übereinstimmungen"
-#: ../../Zotlabs/Module/Settings.php:659 ../../Zotlabs/Module/Settings.php:685
-#: ../../Zotlabs/Module/Settings.php:721
-msgid "Add application"
-msgstr "Anwendung hinzufügen"
+#: ../../Zotlabs/Module/Match.php:35
+msgid "No keywords to match. Please add keywords to your default profile."
+msgstr "Keine Schlüsselwörter für den Abgleich gefunden. Bitte füge Schlüsselwörter zu Deinem Standardprofil hinzu."
-#: ../../Zotlabs/Module/Settings.php:662
-msgid "Name of application"
-msgstr "Name der Anwendung"
+#: ../../Zotlabs/Module/Match.php:67
+msgid "is interested in:"
+msgstr "interessiert sich für:"
-#: ../../Zotlabs/Module/Settings.php:663 ../../Zotlabs/Module/Settings.php:689
-msgid "Consumer Key"
-msgstr "Consumer Key"
+#: ../../Zotlabs/Module/Match.php:74
+msgid "No matches"
+msgstr "Keine Übereinstimmungen"
-#: ../../Zotlabs/Module/Settings.php:663 ../../Zotlabs/Module/Settings.php:664
-msgid "Automatically generated - change if desired. Max length 20"
-msgstr "Automatisch erzeugt – ändern, falls erwünscht. Maximale Länge 20"
+#: ../../Zotlabs/Module/Api.php:60 ../../Zotlabs/Module/Api.php:81
+msgid "Authorize application connection"
+msgstr "Zugriff für die Anwendung autorisieren"
-#: ../../Zotlabs/Module/Settings.php:664 ../../Zotlabs/Module/Settings.php:690
-msgid "Consumer Secret"
-msgstr "Consumer Secret"
+#: ../../Zotlabs/Module/Api.php:61
+msgid "Return to your app and insert this Security Code:"
+msgstr "Gehen Sie zu Ihrer App zurück und tragen Sie diesen Sicherheitscode ein:"
-#: ../../Zotlabs/Module/Settings.php:665 ../../Zotlabs/Module/Settings.php:691
-msgid "Redirect"
-msgstr "Umleitung"
+#: ../../Zotlabs/Module/Api.php:71
+msgid "Please login to continue."
+msgstr "Zum Weitermachen, bitte einloggen."
-#: ../../Zotlabs/Module/Settings.php:665
+#: ../../Zotlabs/Module/Api.php:83
msgid ""
-"Redirect URI - leave blank unless your application specifically requires "
-"this"
-msgstr "Umleitungs-URl – lasse das leer, solange Deine Anwendung es nicht explizit erfordert"
-
-#: ../../Zotlabs/Module/Settings.php:666 ../../Zotlabs/Module/Settings.php:692
-msgid "Icon url"
-msgstr "Symbol-URL"
+"Do you want to authorize this application to access your posts and contacts,"
+" and/or create new posts for you?"
+msgstr "Möchtest Du dieser Anwendung erlauben, Deine Nachrichten und Kontakte abzurufen und/oder neue Nachrichten für Dich zu erstellen?"
-#: ../../Zotlabs/Module/Settings.php:666 ../../Zotlabs/Module/Sources.php:112
-#: ../../Zotlabs/Module/Sources.php:147
-msgid "Optional"
-msgstr "Optional"
+#: ../../Zotlabs/Module/Events.php:25
+msgid "Calendar entries imported."
+msgstr "Kalendereinträge wurden importiert."
-#: ../../Zotlabs/Module/Settings.php:677
-msgid "Application not found."
-msgstr "Die Anwendung wurde nicht gefunden."
+#: ../../Zotlabs/Module/Events.php:27
+msgid "No calendar entries found."
+msgstr "Keine Kalendereinträge gefunden."
-#: ../../Zotlabs/Module/Settings.php:720
-msgid "Connected Apps"
-msgstr "Verbundene Apps"
+#: ../../Zotlabs/Module/Events.php:104
+msgid "Event can not end before it has started."
+msgstr "Termin-Ende liegt vor dem Beginn."
-#: ../../Zotlabs/Module/Settings.php:724
-msgid "Client key starts with"
-msgstr "Client Key beginnt mit"
+#: ../../Zotlabs/Module/Events.php:106 ../../Zotlabs/Module/Events.php:115
+#: ../../Zotlabs/Module/Events.php:135
+msgid "Unable to generate preview."
+msgstr "Vorschau konnte nicht erzeugt werden."
-#: ../../Zotlabs/Module/Settings.php:725
-msgid "No name"
-msgstr "Kein Name"
+#: ../../Zotlabs/Module/Events.php:113
+msgid "Event title and start time are required."
+msgstr "Titel und Startzeit des Termins sind erforderlich."
-#: ../../Zotlabs/Module/Settings.php:726
-msgid "Remove authorization"
-msgstr "Authorisierung aufheben"
+#: ../../Zotlabs/Module/Events.php:133 ../../Zotlabs/Module/Events.php:258
+msgid "Event not found."
+msgstr "Termin nicht gefunden."
-#: ../../Zotlabs/Module/Settings.php:739
-msgid "No feature settings configured"
-msgstr "Keine Funktions-Einstellungen konfiguriert"
+#: ../../Zotlabs/Module/Events.php:452
+msgid "Edit event title"
+msgstr "Termintitel bearbeiten"
-#: ../../Zotlabs/Module/Settings.php:746
-msgid "Feature/Addon Settings"
-msgstr "Funktions-/Addon-Einstellungen"
+#: ../../Zotlabs/Module/Events.php:452
+msgid "Event title"
+msgstr "Termintitel"
-#: ../../Zotlabs/Module/Settings.php:769
-msgid "Account Settings"
-msgstr "Konto-Einstellungen"
+#: ../../Zotlabs/Module/Events.php:454
+msgid "Categories (comma-separated list)"
+msgstr "Kategorien (Kommagetrennte Liste)"
-#: ../../Zotlabs/Module/Settings.php:770
-msgid "Current Password"
-msgstr "Aktuelles Passwort"
+#: ../../Zotlabs/Module/Events.php:455
+msgid "Edit Category"
+msgstr "Kategorie bearbeiten"
-#: ../../Zotlabs/Module/Settings.php:771
-msgid "Enter New Password"
-msgstr "Gib ein neues Passwort ein"
+#: ../../Zotlabs/Module/Events.php:455
+msgid "Category"
+msgstr "Kategorie"
-#: ../../Zotlabs/Module/Settings.php:772
-msgid "Confirm New Password"
-msgstr "Bestätige das neue Passwort"
+#: ../../Zotlabs/Module/Events.php:458
+msgid "Edit start date and time"
+msgstr "Startdatum und -zeit bearbeiten"
-#: ../../Zotlabs/Module/Settings.php:772
-msgid "Leave password fields blank unless changing"
-msgstr "Lasse die Passwort-Felder leer, außer Du möchtest das Passwort ändern"
+#: ../../Zotlabs/Module/Events.php:458
+msgid "Start date and time"
+msgstr "Startdatum und -zeit"
-#: ../../Zotlabs/Module/Settings.php:774
-#: ../../Zotlabs/Module/Settings.php:1194
-msgid "Email Address:"
-msgstr "Email Adresse:"
+#: ../../Zotlabs/Module/Events.php:459 ../../Zotlabs/Module/Events.php:462
+msgid "Finish date and time are not known or not relevant"
+msgstr "Enddatum und -zeit sind unbekannt oder irrelevant"
-#: ../../Zotlabs/Module/Settings.php:775
-#: ../../Zotlabs/Module/Removeaccount.php:61
-msgid "Remove Account"
-msgstr "Konto entfernen"
+#: ../../Zotlabs/Module/Events.php:461
+msgid "Edit finish date and time"
+msgstr "Enddatum und -zeit bearbeiten"
-#: ../../Zotlabs/Module/Settings.php:776
-msgid "Remove this account including all its channels"
-msgstr "Dieses Konto inklusive all seiner Kanäle löschen"
+#: ../../Zotlabs/Module/Events.php:461
+msgid "Finish date and time"
+msgstr "Enddatum und -zeit"
-#: ../../Zotlabs/Module/Settings.php:810
-msgid ""
-"Use this form to create temporary access identifiers to share things with "
-"non-members. These identities may be used in Access Control Lists and "
-"visitors may login using these credentials to access private content."
-msgstr "Mit diesem Formular kannst Du temporäre Zugangs-IDs anlegen, um Inhalte mit Nicht-Mitgliedern zu teilen. Die IDs können in Berechtigungslisten (ACLs) verwendet werden, und Besucher können sich damit einloggen, um auf private Inhalte zuzugreifen."
+#: ../../Zotlabs/Module/Events.php:463 ../../Zotlabs/Module/Events.php:464
+msgid "Adjust for viewer timezone"
+msgstr "An die Zeitzone des Betrachters anpassen"
-#: ../../Zotlabs/Module/Settings.php:812
+#: ../../Zotlabs/Module/Events.php:463
msgid ""
-"You may also provide <em>dropbox</em> style access links to friends and "
-"associates by adding the Login Password to any specific site URL as shown. "
-"Examples:"
-msgstr "Du kannst auch <em>Dropbox</em>-ähnliche Zugriffslinks an Andere weitergeben, indem du das Login-Passwort an eine entsprechende URL anhängst wie nachfolgend gezeigt. Beispiele:"
+"Important for events that happen in a particular place. Not practical for "
+"global holidays."
+msgstr "Wichtig für Veranstaltungen die an bestimmten Orten stattfinden. Nicht sinnvoll für globale Feiertage / Ferien."
-#: ../../Zotlabs/Module/Settings.php:847 ../../include/widgets.php:614
-msgid "Guest Access Tokens"
-msgstr "Gastzugangstoken"
+#: ../../Zotlabs/Module/Events.php:465
+msgid "Edit Description"
+msgstr "Beschreibung bearbeiten"
-#: ../../Zotlabs/Module/Settings.php:854
-msgid "Login Name"
-msgstr "Anmeldename"
+#: ../../Zotlabs/Module/Events.php:467
+msgid "Edit Location"
+msgstr "Ort bearbeiten"
-#: ../../Zotlabs/Module/Settings.php:855
-msgid "Login Password"
-msgstr "Anmeldepasswort"
+#: ../../Zotlabs/Module/Events.php:470 ../../Zotlabs/Module/Events.php:472
+msgid "Share this event"
+msgstr "Den Termin teilen"
-#: ../../Zotlabs/Module/Settings.php:856
-msgid "Expires (yyyy-mm-dd)"
-msgstr "Läuft ab (jjjj-mm-tt)"
+#: ../../Zotlabs/Module/Events.php:474 ../../include/conversation.php:1263
+msgid "Permission settings"
+msgstr "Berechtigungs-Einstellungen"
-#: ../../Zotlabs/Module/Settings.php:881 ../../Zotlabs/Module/Admin.php:677
-#: ../../Zotlabs/Module/Admin.php:678
-msgid "Off"
-msgstr "Aus"
+#: ../../Zotlabs/Module/Events.php:485
+msgid "Advanced Options"
+msgstr "Weitere Optionen"
-#: ../../Zotlabs/Module/Settings.php:881 ../../Zotlabs/Module/Admin.php:677
-#: ../../Zotlabs/Module/Admin.php:678
-msgid "On"
-msgstr "An"
+#: ../../Zotlabs/Module/Events.php:597 ../../Zotlabs/Module/Cal.php:259
+msgid "l, F j"
+msgstr "l, j. F"
-#: ../../Zotlabs/Module/Settings.php:888
-msgid "Additional Features"
-msgstr "Zusätzliche Funktionen"
+#: ../../Zotlabs/Module/Events.php:619
+msgid "Edit event"
+msgstr "Termin bearbeiten"
-#: ../../Zotlabs/Module/Settings.php:912
-msgid "Connector Settings"
-msgstr "Connector-Einstellungen"
+#: ../../Zotlabs/Module/Events.php:621
+msgid "Delete event"
+msgstr "Termin löschen"
-#: ../../Zotlabs/Module/Settings.php:951
-msgid "No special theme for mobile devices"
-msgstr "Keine spezielle Theme für mobile Geräte"
+#: ../../Zotlabs/Module/Events.php:646 ../../Zotlabs/Module/Cal.php:308
+#: ../../include/text.php:1762
+msgid "Link to Source"
+msgstr "Link zur Quelle"
-#: ../../Zotlabs/Module/Settings.php:954
-#, php-format
-msgid "%s - (Experimental)"
-msgstr "%s – (experimentell)"
+#: ../../Zotlabs/Module/Events.php:655
+msgid "calendar"
+msgstr "Kalender"
-#: ../../Zotlabs/Module/Settings.php:957 ../../Zotlabs/Module/Admin.php:410
-msgid "mobile"
-msgstr "mobil"
+#: ../../Zotlabs/Module/Events.php:674 ../../Zotlabs/Module/Cal.php:331
+msgid "Edit Event"
+msgstr "Termin bearbeiten"
-#: ../../Zotlabs/Module/Settings.php:996
-msgid "Display Settings"
-msgstr "Anzeige-Einstellungen"
+#: ../../Zotlabs/Module/Events.php:674 ../../Zotlabs/Module/Cal.php:331
+msgid "Create Event"
+msgstr "Termin anlegen"
-#: ../../Zotlabs/Module/Settings.php:997
-msgid "Theme Settings"
-msgstr "Theme-Einstellungen"
+#: ../../Zotlabs/Module/Events.php:675 ../../Zotlabs/Module/Events.php:684
+#: ../../Zotlabs/Module/Cal.php:332 ../../Zotlabs/Module/Cal.php:339
+#: ../../Zotlabs/Module/Photos.php:940
+msgid "Previous"
+msgstr "Voriges"
-#: ../../Zotlabs/Module/Settings.php:998
-msgid "Custom Theme Settings"
-msgstr "Benutzerdefinierte Theme-Einstellungen"
+#: ../../Zotlabs/Module/Events.php:676 ../../Zotlabs/Module/Events.php:685
+#: ../../Zotlabs/Module/Setup.php:272 ../../Zotlabs/Module/Cal.php:333
+#: ../../Zotlabs/Module/Cal.php:340 ../../Zotlabs/Module/Photos.php:949
+msgid "Next"
+msgstr "Nächste"
-#: ../../Zotlabs/Module/Settings.php:999
-msgid "Content Settings"
-msgstr "Inhaltseinstellungen"
+#: ../../Zotlabs/Module/Events.php:677 ../../Zotlabs/Module/Cal.php:334
+msgid "Export"
+msgstr "Exportieren"
-#: ../../Zotlabs/Module/Settings.php:1005
-msgid "Display Theme:"
-msgstr "Anzeige-Theme:"
+#: ../../Zotlabs/Module/Events.php:681
+msgid "Month"
+msgstr "Monat"
-#: ../../Zotlabs/Module/Settings.php:1006
-msgid "Mobile Theme:"
-msgstr "Mobile Theme:"
+#: ../../Zotlabs/Module/Events.php:682
+msgid "Week"
+msgstr "Woche"
-#: ../../Zotlabs/Module/Settings.php:1007
-msgid "Preload images before rendering the page"
-msgstr "Bilder im voraus laden, bevor die Seite angezeigt wird"
+#: ../../Zotlabs/Module/Events.php:683
+msgid "Day"
+msgstr "Tag"
-#: ../../Zotlabs/Module/Settings.php:1007
-msgid ""
-"The subjective page load time will be longer but the page will be ready when"
-" displayed"
-msgstr "Die empfundene Ladezeit wird sich erhöhen, aber dafür ist das Layout stabil, sobald eine Seite angezeigt wird"
+#: ../../Zotlabs/Module/Events.php:686 ../../Zotlabs/Module/Cal.php:341
+msgid "Today"
+msgstr "Heute"
-#: ../../Zotlabs/Module/Settings.php:1008
-msgid "Enable user zoom on mobile devices"
-msgstr "Zoom auf Mobilgeräten aktivieren"
+#: ../../Zotlabs/Module/Events.php:717
+msgid "Event removed"
+msgstr "Termin gelöscht"
-#: ../../Zotlabs/Module/Settings.php:1009
-msgid "Update browser every xx seconds"
-msgstr "Browser alle xx Sekunden aktualisieren"
+#: ../../Zotlabs/Module/Events.php:720
+msgid "Failed to remove event"
+msgstr "Termin konnte nicht gelöscht werden"
-#: ../../Zotlabs/Module/Settings.php:1009
-msgid "Minimum of 10 seconds, no maximum"
-msgstr "Minimum 10 Sekunden, kein Maximum"
+#: ../../Zotlabs/Module/Item.php:180
+msgid "Unable to locate original post."
+msgstr "Originalbeitrag nicht gefunden."
-#: ../../Zotlabs/Module/Settings.php:1010
-msgid "Maximum number of conversations to load at any time:"
-msgstr "Maximale Anzahl von Unterhaltungen, die auf einmal geladen werden sollen:"
+#: ../../Zotlabs/Module/Item.php:433
+msgid "Empty post discarded."
+msgstr "Leeren Beitrag verworfen."
-#: ../../Zotlabs/Module/Settings.php:1010
-msgid "Maximum of 100 items"
-msgstr "Maximum: 100 Beiträge"
+#: ../../Zotlabs/Module/Item.php:473
+msgid "Executable content type not permitted to this channel."
+msgstr "Ausführbarer Content-Typ ist für diesen Kanal nicht freigegeben."
-#: ../../Zotlabs/Module/Settings.php:1011
-msgid "Show emoticons (smilies) as images"
-msgstr "Emoticons (Smilies) als Bilder anzeigen"
+#: ../../Zotlabs/Module/Item.php:858
+msgid "Duplicate post suppressed."
+msgstr "Doppelter Beitrag unterdrückt."
-#: ../../Zotlabs/Module/Settings.php:1012
-msgid "Link post titles to source"
-msgstr "Beitragstitel zum Originalbeitrag verlinken"
+#: ../../Zotlabs/Module/Item.php:991
+msgid "System error. Post not saved."
+msgstr "Systemfehler. Beitrag nicht gespeichert."
-#: ../../Zotlabs/Module/Settings.php:1013
-msgid "System Page Layout Editor - (advanced)"
-msgstr "System-Seitenlayout-Editor (für Experten)"
+#: ../../Zotlabs/Module/Item.php:1112
+msgid "Unable to obtain post information from database."
+msgstr "Beitragsinformationen können nicht aus der Datenbank abgerufen werden."
-#: ../../Zotlabs/Module/Settings.php:1016
-msgid "Use blog/list mode on channel page"
-msgstr "Blog-/Listenmodus auf der Kanalseite verwenden"
+#: ../../Zotlabs/Module/Item.php:1119
+#, php-format
+msgid "You have reached your limit of %1$.0f top level posts."
+msgstr "Du hast die maximale Anzahl von %1$.0f Beiträgen erreicht."
-#: ../../Zotlabs/Module/Settings.php:1016
-#: ../../Zotlabs/Module/Settings.php:1017
-msgid "(comments displayed separately)"
-msgstr "(Kommentare werden separat angezeigt)"
+#: ../../Zotlabs/Module/Item.php:1126
+#, php-format
+msgid "You have reached your limit of %1$.0f webpages."
+msgstr "Du hast die maximale Anzahl von %1$.0f Webseiten erreicht."
-#: ../../Zotlabs/Module/Settings.php:1017
-msgid "Use blog/list mode on grid page"
-msgstr "Blog-/Listenmodus auf der Netzwerkseite verwenden"
+#: ../../Zotlabs/Module/New_channel.php:140
+msgid "Create Channel"
+msgstr "Einen neuen Kanal anlegen"
-#: ../../Zotlabs/Module/Settings.php:1018
-msgid "Channel page max height of content (in pixels)"
-msgstr "Maximale Höhe von Beitragsblöcken auf der Kanalseite (in Pixeln)"
+#: ../../Zotlabs/Module/New_channel.php:141
+msgid ""
+"A channel is your identity on this network. It can represent a person, a "
+"blog, or a forum to name a few. Channels can make connections with other "
+"channels to share information with highly detailed permissions."
+msgstr "Ein Kanal ist Deine Identität in diesem Netzwerk. Er kann eine Person, ein Blog oder ein Forum repräsentieren, nur um ein paar Beispiele zu nennen. Kanäle können Verbindungen miteinander eingehen, um Informationen zu teilen, jeweils basierend auf sehr detaillierten Berechtigungseinstellungen."
-#: ../../Zotlabs/Module/Settings.php:1018
-#: ../../Zotlabs/Module/Settings.php:1019
-msgid "click to expand content exceeding this height"
-msgstr "Blöcke, deren Inhalt diese Höhe überschreitet, können per Klick vergrößert werden."
+#: ../../Zotlabs/Module/New_channel.php:142
+msgid ""
+"or <a href=\"import\">import an existing channel</a> from another location."
+msgstr "oder <a href=\"import\">importiere einen bestehenden Kanal</a> von einem anderen Server."
-#: ../../Zotlabs/Module/Settings.php:1019
-msgid "Grid page max height of content (in pixels)"
-msgstr "Maximale Höhe (in Pixel) des Inhalts der Netzwerkseite"
+#: ../../Zotlabs/Module/Ping.php:265
+msgid "sent you a private message"
+msgstr "hat Dir eine private Nachricht geschickt"
-#: ../../Zotlabs/Module/Settings.php:1048
-msgid "Nobody except yourself"
-msgstr "Niemand außer Dir selbst"
+#: ../../Zotlabs/Module/Ping.php:313
+msgid "added your channel"
+msgstr "hat deinen Kanal hinzugefügt"
-#: ../../Zotlabs/Module/Settings.php:1049
-msgid "Only those you specifically allow"
-msgstr "Nur die, denen Du es explizit erlaubst"
+#: ../../Zotlabs/Module/Ping.php:323
+msgid "g A l F d"
+msgstr "l, d. F, G:i \\U\\h\\r"
-#: ../../Zotlabs/Module/Settings.php:1050
-msgid "Approved connections"
-msgstr "Angenommene Verbindungen"
+#: ../../Zotlabs/Module/Ping.php:346
+msgid "[today]"
+msgstr "[Heute]"
-#: ../../Zotlabs/Module/Settings.php:1051
-msgid "Any connections"
-msgstr "Beliebige Verbindungen"
+#: ../../Zotlabs/Module/Ping.php:355
+msgid "posted an event"
+msgstr "hat einen Termin veröffentlicht"
-#: ../../Zotlabs/Module/Settings.php:1052
-msgid "Anybody on this website"
-msgstr "Jeder auf dieser Website"
+#: ../../Zotlabs/Module/Notifications.php:30
+msgid "Invalid request identifier."
+msgstr "Ungültiger Anfrage-Identifikator."
-#: ../../Zotlabs/Module/Settings.php:1053
-msgid "Anybody in this network"
-msgstr "Alle $Projectname-Mitglieder"
+#: ../../Zotlabs/Module/Notifications.php:39
+msgid "Discard"
+msgstr "Verwerfen"
-#: ../../Zotlabs/Module/Settings.php:1054
-msgid "Anybody authenticated"
-msgstr "Jeder authentifizierte"
+#: ../../Zotlabs/Module/Notifications.php:103 ../../include/nav.php:196
+msgid "Mark all system notifications seen"
+msgstr "Markiere alle System-Benachrichtigungen als gesehen"
-#: ../../Zotlabs/Module/Settings.php:1055
-msgid "Anybody on the internet"
-msgstr "Jeder im Internet"
+#: ../../Zotlabs/Module/Poke.php:168 ../../Zotlabs/Lib/Apps.php:228
+#: ../../include/conversation.php:961
+msgid "Poke"
+msgstr "Anstupsen"
-#: ../../Zotlabs/Module/Settings.php:1129
-msgid "Publish your default profile in the network directory"
-msgstr "Standard-Profil im Netzwerk-Verzeichnis veröffentlichen"
+#: ../../Zotlabs/Module/Poke.php:169
+msgid "Poke somebody"
+msgstr "Jemanden anstupsen"
-#: ../../Zotlabs/Module/Settings.php:1134
-msgid "Allow us to suggest you as a potential friend to new members?"
-msgstr "Dürfen wir Dich neuen Mitgliedern als potentiellen Kontakt vorschlagen?"
+#: ../../Zotlabs/Module/Poke.php:172
+msgid "Poke/Prod"
+msgstr "Anstupsen/Knuffen"
-#: ../../Zotlabs/Module/Settings.php:1143
-msgid "Your channel address is"
-msgstr "Deine Kanal-Adresse lautet"
+#: ../../Zotlabs/Module/Poke.php:173
+msgid "Poke, prod or do other things to somebody"
+msgstr "Jemanden anstupsen, knuffen oder sonstiges"
-#: ../../Zotlabs/Module/Settings.php:1185
-msgid "Channel Settings"
-msgstr "Kanal-Einstellungen"
+#: ../../Zotlabs/Module/Poke.php:180
+msgid "Recipient"
+msgstr "Empfänger"
-#: ../../Zotlabs/Module/Settings.php:1192
-msgid "Basic Settings"
-msgstr "Grundeinstellungen"
+#: ../../Zotlabs/Module/Poke.php:181
+msgid "Choose what you wish to do to recipient"
+msgstr "Wähle, was Du mit dem/r Empfänger/in tun willst"
-#: ../../Zotlabs/Module/Settings.php:1193 ../../include/channel.php:1164
-msgid "Full Name:"
-msgstr "Voller Name:"
+#: ../../Zotlabs/Module/Poke.php:184 ../../Zotlabs/Module/Poke.php:185
+msgid "Make this post private"
+msgstr "Diesen Beitrag privat machen"
-#: ../../Zotlabs/Module/Settings.php:1195
-msgid "Your Timezone:"
-msgstr "Ihre Zeitzone:"
+#: ../../Zotlabs/Module/Setup.php:184
+msgid "$Projectname Server - Setup"
+msgstr "$Projectname Server-Einrichtung"
-#: ../../Zotlabs/Module/Settings.php:1196
-msgid "Default Post Location:"
-msgstr "Standardstandort:"
+#: ../../Zotlabs/Module/Setup.php:188
+msgid "Could not connect to database."
+msgstr "Kann nicht mit der Datenbank verbinden."
-#: ../../Zotlabs/Module/Settings.php:1196
-msgid "Geographical location to display on your posts"
-msgstr "Geografischer Ort, der bei Deinen Beiträgen angezeigt werden soll"
+#: ../../Zotlabs/Module/Setup.php:192
+msgid ""
+"Could not connect to specified site URL. Possible SSL certificate or DNS "
+"issue."
+msgstr "Konnte die angegebene Webseiten-URL nicht erreichen. Möglicherweise ein Problem mit dem SSL-Zertifikat oder dem DNS."
-#: ../../Zotlabs/Module/Settings.php:1197
-msgid "Use Browser Location:"
-msgstr "Standort des Browsers verwenden:"
+#: ../../Zotlabs/Module/Setup.php:199
+msgid "Could not create table."
+msgstr "Konnte Tabelle nicht erstellen."
-#: ../../Zotlabs/Module/Settings.php:1199
-msgid "Adult Content"
-msgstr "Nicht jugendfreie Inhalte"
+#: ../../Zotlabs/Module/Setup.php:204
+msgid "Your site database has been installed."
+msgstr "Die Datenbank Deines Hubs wurde installiert."
-#: ../../Zotlabs/Module/Settings.php:1199
+#: ../../Zotlabs/Module/Setup.php:208
msgid ""
-"This channel frequently or regularly publishes adult content. (Please tag "
-"any adult material and/or nudity with #NSFW)"
-msgstr "Dieser Kanal veröffentlicht regelmäßig Inhalte, die für Minderjährige ungeeignet sind. (Bitte markiere solche Inhalte mit dem Schlagwort #NSFW)"
-
-#: ../../Zotlabs/Module/Settings.php:1201
-msgid "Security and Privacy Settings"
-msgstr "Sicherheits- und Datenschutz-Einstellungen"
+"You may need to import the file \"install/schema_xxx.sql\" manually using a "
+"database client."
+msgstr "Möglicherweise musst Du die Datei install/schema_xxx.sql manuell mit Hilfe eines Datenkbank-Clients importieren."
-#: ../../Zotlabs/Module/Settings.php:1204
-msgid "Your permissions are already configured. Click to view/adjust"
-msgstr "Deine Zugriffsrechte sind schon konfiguriert. Klicke hier, um sie zu betrachten oder zu ändern"
+#: ../../Zotlabs/Module/Setup.php:209 ../../Zotlabs/Module/Setup.php:271
+#: ../../Zotlabs/Module/Setup.php:734
+msgid "Please see the file \"install/INSTALL.txt\"."
+msgstr "Lies die Datei \"install/INSTALL.txt\"."
-#: ../../Zotlabs/Module/Settings.php:1206
-msgid "Hide my online presence"
-msgstr "Meine Online-Präsenz verbergen"
+#: ../../Zotlabs/Module/Setup.php:268
+msgid "System check"
+msgstr "Systemprüfung"
-#: ../../Zotlabs/Module/Settings.php:1206
-msgid "Prevents displaying in your profile that you are online"
-msgstr "Verhindert die Anzeige Deines Online-Status in deinem Profil"
+#: ../../Zotlabs/Module/Setup.php:273
+msgid "Check again"
+msgstr "Nochmal prüfen"
-#: ../../Zotlabs/Module/Settings.php:1208
-msgid "Simple Privacy Settings:"
-msgstr "Einfache Privatsphäre-Einstellungen"
+#: ../../Zotlabs/Module/Setup.php:295
+msgid "Database connection"
+msgstr "Datenbankverbindung"
-#: ../../Zotlabs/Module/Settings.php:1209
+#: ../../Zotlabs/Module/Setup.php:296
msgid ""
-"Very Public - <em>extremely permissive (should be used with caution)</em>"
-msgstr "Komplett offen – <em>extrem ungeschützt (mit großer Vorsicht verwenden!)</em>"
+"In order to install $Projectname we need to know how to connect to your "
+"database."
+msgstr "Um $Projectname zu installieren, müssen wir wissen, wie wir eine Verbindung zu Deiner Datenbank aufbauen können."
-#: ../../Zotlabs/Module/Settings.php:1210
+#: ../../Zotlabs/Module/Setup.php:297
msgid ""
-"Typical - <em>default public, privacy when desired (similar to social "
-"network permissions but with improved privacy)</em>"
-msgstr "Typisch – <em>Standard öffentlich, Privatsphäre, wo sie erwünscht ist (ähnlich den Einstellungen in sozialen Netzwerken, aber mit besser geschützter Privatsphäre)</em>"
-
-#: ../../Zotlabs/Module/Settings.php:1211
-msgid "Private - <em>default private, never open or public</em>"
-msgstr "Privat – <em>Standard privat, nie offen oder öffentlich</em>"
-
-#: ../../Zotlabs/Module/Settings.php:1212
-msgid "Blocked - <em>default blocked to/from everybody</em>"
-msgstr "Blockiert – <em>Alle standardmäßig blockiert</em>"
-
-#: ../../Zotlabs/Module/Settings.php:1214
-msgid "Allow others to tag your posts"
-msgstr "Erlaube anderen, Deine Beiträge zu verschlagworten"
+"Please contact your hosting provider or site administrator if you have "
+"questions about these settings."
+msgstr "Bitte kontaktiere Deinen Hosting-Provider oder Administrator, falls Du Fragen zu diesen Einstellungen hast."
-#: ../../Zotlabs/Module/Settings.php:1214
+#: ../../Zotlabs/Module/Setup.php:298
msgid ""
-"Often used by the community to retro-actively flag inappropriate content"
-msgstr "Wird oft von der Community genutzt um rückwirkend anstößigen Inhalt zu markieren"
-
-#: ../../Zotlabs/Module/Settings.php:1216
-msgid "Advanced Privacy Settings"
-msgstr "Fortgeschrittene Privatsphäre-Einstellungen"
-
-#: ../../Zotlabs/Module/Settings.php:1218
-msgid "Expire other channel content after this many days"
-msgstr "Den Inhalt anderer Kanäle nach dieser Anzahl Tage verfallen lassen"
-
-#: ../../Zotlabs/Module/Settings.php:1218
-msgid "0 or blank to use the website limit."
-msgstr "0 oder leer lassen, um den voreingestellten Wert der Webseite zu verwenden."
-
-#: ../../Zotlabs/Module/Settings.php:1218
-#, php-format
-msgid "This website expires after %d days."
-msgstr "Diese Webseite läuft nach %d Tagen ab."
-
-#: ../../Zotlabs/Module/Settings.php:1218
-msgid "This website does not expire imported content."
-msgstr "Diese Webseite lässt importierte Inhalte nicht verfallen."
-
-#: ../../Zotlabs/Module/Settings.php:1218
-msgid "The website limit takes precedence if lower than your limit."
-msgstr "Das Verfallslimit der Webseite hat Vorrang, wenn es niedriger als Deines hier ist."
-
-#: ../../Zotlabs/Module/Settings.php:1219
-msgid "Maximum Friend Requests/Day:"
-msgstr "Maximale Kontaktanfragen pro Tag:"
-
-#: ../../Zotlabs/Module/Settings.php:1219
-msgid "May reduce spam activity"
-msgstr "Kann die Spam-Aktivität verringern"
-
-#: ../../Zotlabs/Module/Settings.php:1220
-msgid "Default Post and Publish Permissions"
-msgstr "Standard-Berechtigungen für Beiträge und andere Inhalte"
-
-#: ../../Zotlabs/Module/Settings.php:1221 ../../Zotlabs/Module/Mitem.php:154
-#: ../../Zotlabs/Module/Mitem.php:231
-msgid "(click to open/close)"
-msgstr "(zum öffnen/schließen anklicken)"
-
-#: ../../Zotlabs/Module/Settings.php:1222
-msgid "Use my default audience setting for the type of object published"
-msgstr "Verwende Deine eingestellte Standard-Zielgruppe des jeweiligen Inhaltstyps"
-
-#: ../../Zotlabs/Module/Settings.php:1229
-msgid "Channel permissions category:"
-msgstr "Zugriffsrechte-Kategorie des Kanals:"
-
-#: ../../Zotlabs/Module/Settings.php:1235
-msgid "Maximum private messages per day from unknown people:"
-msgstr "Maximale Anzahl privater Nachrichten pro Tag von unbekannten Leuten:"
-
-#: ../../Zotlabs/Module/Settings.php:1235
-msgid "Useful to reduce spamming"
-msgstr "Nützlich, um Spam zu verringern"
-
-#: ../../Zotlabs/Module/Settings.php:1238
-msgid "Notification Settings"
-msgstr "Benachrichtigungs-Einstellungen"
-
-#: ../../Zotlabs/Module/Settings.php:1239
-msgid "By default post a status message when:"
-msgstr "Sende standardmäßig Status-Nachrichten, wenn:"
-
-#: ../../Zotlabs/Module/Settings.php:1240
-msgid "accepting a friend request"
-msgstr "Du eine Verbindungsanfrage annimmst"
-
-#: ../../Zotlabs/Module/Settings.php:1241
-msgid "joining a forum/community"
-msgstr "Du einem Forum beitrittst"
-
-#: ../../Zotlabs/Module/Settings.php:1242
-msgid "making an <em>interesting</em> profile change"
-msgstr "Du eine <em>interessante</em> Änderung an Deinem Profil vornimmst"
-
-#: ../../Zotlabs/Module/Settings.php:1243
-msgid "Send a notification email when:"
-msgstr "Eine E-Mail-Benachrichtigung senden, wenn:"
-
-#: ../../Zotlabs/Module/Settings.php:1244
-msgid "You receive a connection request"
-msgstr "Du eine Verbindungsanfrage erhältst"
-
-#: ../../Zotlabs/Module/Settings.php:1245
-msgid "Your connections are confirmed"
-msgstr "Eine Verbindung bestätigt wurde"
-
-#: ../../Zotlabs/Module/Settings.php:1246
-msgid "Someone writes on your profile wall"
-msgstr "Jemand auf Deine Pinnwand schreibt"
-
-#: ../../Zotlabs/Module/Settings.php:1247
-msgid "Someone writes a followup comment"
-msgstr "Jemand einen Beitrag kommentiert"
-
-#: ../../Zotlabs/Module/Settings.php:1248
-msgid "You receive a private message"
-msgstr "Du eine private Nachricht erhältst"
+"The database you specify below should already exist. If it does not, please "
+"create it before continuing."
+msgstr "Die Datenbank, die Du weiter unten angibst, sollte bereits existieren. Sollte das noch nicht der Fall sein, erzeuge sie bitte bevor Du fortfährst."
-#: ../../Zotlabs/Module/Settings.php:1249
-msgid "You receive a friend suggestion"
-msgstr "Du einen Kontaktvorschlag erhältst"
+#: ../../Zotlabs/Module/Setup.php:302
+msgid "Database Server Name"
+msgstr "Datenbankservername"
-#: ../../Zotlabs/Module/Settings.php:1250
-msgid "You are tagged in a post"
-msgstr "Du in einem Beitrag erwähnt wurdest"
+#: ../../Zotlabs/Module/Setup.php:302
+msgid "Default is 127.0.0.1"
+msgstr "Standard ist 127.0.0.1"
-#: ../../Zotlabs/Module/Settings.php:1251
-msgid "You are poked/prodded/etc. in a post"
-msgstr "Du in einem Beitrag angestupst/geknufft/o.ä. wurdest"
+#: ../../Zotlabs/Module/Setup.php:303
+msgid "Database Port"
+msgstr "Datenbankport"
-#: ../../Zotlabs/Module/Settings.php:1254
-msgid "Show visual notifications including:"
-msgstr "Visuelle Benachrichtigungen anzeigen für:"
+#: ../../Zotlabs/Module/Setup.php:303
+msgid "Communication port number - use 0 for default"
+msgstr "Port-Nummer für die Kommunikation – verwende 0 für die Standardeinstellung"
-#: ../../Zotlabs/Module/Settings.php:1256
-msgid "Unseen grid activity"
-msgstr "Ungesehene Netzwerk-Aktivität"
+#: ../../Zotlabs/Module/Setup.php:304
+msgid "Database Login Name"
+msgstr "Datenbank-Benutzername"
-#: ../../Zotlabs/Module/Settings.php:1257
-msgid "Unseen channel activity"
-msgstr "Ungesehene Kanal-Aktivität"
+#: ../../Zotlabs/Module/Setup.php:305
+msgid "Database Login Password"
+msgstr "Datenbank-Passwort"
-#: ../../Zotlabs/Module/Settings.php:1258
-msgid "Unseen private messages"
-msgstr "Ungelesene persönliche Nachrichten"
+#: ../../Zotlabs/Module/Setup.php:306
+msgid "Database Name"
+msgstr "Datenbankname"
-#: ../../Zotlabs/Module/Settings.php:1258
-#: ../../Zotlabs/Module/Settings.php:1263
-#: ../../Zotlabs/Module/Settings.php:1264
-#: ../../Zotlabs/Module/Settings.php:1265
-msgid "Recommended"
-msgstr "Empfohlen"
+#: ../../Zotlabs/Module/Setup.php:307
+msgid "Database Type"
+msgstr "Datenbanktyp"
-#: ../../Zotlabs/Module/Settings.php:1259
-msgid "Upcoming events"
-msgstr "Baldige Termine"
+#: ../../Zotlabs/Module/Setup.php:309 ../../Zotlabs/Module/Setup.php:355
+msgid "Site administrator email address"
+msgstr "E-Mail Adresse des Seiten-Administrators"
-#: ../../Zotlabs/Module/Settings.php:1260
-msgid "Events today"
-msgstr "Heutige Termine"
+#: ../../Zotlabs/Module/Setup.php:309 ../../Zotlabs/Module/Setup.php:355
+msgid ""
+"Your account email address must match this in order to use the web admin "
+"panel."
+msgstr "Die E-Mail-Adresse Deines Accounts muss dieser Adresse entsprechen, damit Du Zugriff zur Administrations-Seite erhältst."
-#: ../../Zotlabs/Module/Settings.php:1261
-msgid "Upcoming birthdays"
-msgstr "Baldige Geburtstage"
+#: ../../Zotlabs/Module/Setup.php:310 ../../Zotlabs/Module/Setup.php:357
+msgid "Website URL"
+msgstr "Webseiten-URL"
-#: ../../Zotlabs/Module/Settings.php:1261
-msgid "Not available in all themes"
-msgstr "Nicht in allen Themes verfügbar"
+#: ../../Zotlabs/Module/Setup.php:310 ../../Zotlabs/Module/Setup.php:357
+msgid "Please use SSL (https) URL if available."
+msgstr "Nutze wenn möglich eine SSL-URL (https)."
-#: ../../Zotlabs/Module/Settings.php:1262
-msgid "System (personal) notifications"
-msgstr "System – (persönliche) Benachrichtigungen"
+#: ../../Zotlabs/Module/Setup.php:311 ../../Zotlabs/Module/Setup.php:361
+msgid "Please select a default timezone for your website"
+msgstr "Standard-Zeitzone für Deinen Server"
-#: ../../Zotlabs/Module/Settings.php:1263
-msgid "System info messages"
-msgstr "System – Info-Nachrichten"
+#: ../../Zotlabs/Module/Setup.php:344
+msgid "Site settings"
+msgstr "Seiteneinstellungen"
-#: ../../Zotlabs/Module/Settings.php:1264
-msgid "System critical alerts"
-msgstr "System – kritische Warnungen"
+#: ../../Zotlabs/Module/Setup.php:400
+msgid "PHP version 5.5 or greater is required."
+msgstr "PHP-Version 5.5 oder höher ist erforderlich."
-#: ../../Zotlabs/Module/Settings.php:1265
-msgid "New connections"
-msgstr "Neue Verbindungen"
+#: ../../Zotlabs/Module/Setup.php:401
+msgid "PHP version"
+msgstr "PHP-Version"
-#: ../../Zotlabs/Module/Settings.php:1266
-msgid "System Registrations"
-msgstr "System – Registrierungen"
+#: ../../Zotlabs/Module/Setup.php:416
+msgid "Could not find a command line version of PHP in the web server PATH."
+msgstr "Konnte die Kommandozeilen-Version von PHP nicht im PATH des Web-Servers finden."
-#: ../../Zotlabs/Module/Settings.php:1267
+#: ../../Zotlabs/Module/Setup.php:417
msgid ""
-"Also show new wall posts, private messages and connections under Notices"
-msgstr "Neue Pinnwand-Nachrichten, private Nachrichten und Verbindungen unter Benachrichtigungen anzeigen"
-
-#: ../../Zotlabs/Module/Settings.php:1269
-msgid "Notify me of events this many days in advance"
-msgstr "Benachrichtige mich zu Terminen so viele Tage im Voraus"
-
-#: ../../Zotlabs/Module/Settings.php:1269
-msgid "Must be greater than 0"
-msgstr "Muss größer als 0 sein"
-
-#: ../../Zotlabs/Module/Settings.php:1271
-msgid "Advanced Account/Page Type Settings"
-msgstr "Erweiterte Account- und Seitenart-Einstellungen"
+"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 "Ohne Kommandozeilen-Version von PHP auf dem Server wirst Du nicht in der Lage sein, Hintergrundprozesse via cron auszuführen."
-#: ../../Zotlabs/Module/Settings.php:1272
-msgid "Change the behaviour of this account for special situations"
-msgstr "Ändere das Verhalten dieses Accounts unter speziellen Umständen"
+#: ../../Zotlabs/Module/Setup.php:421
+msgid "PHP executable path"
+msgstr "PHP-Pfad zu ausführbarer Datei"
-#: ../../Zotlabs/Module/Settings.php:1275
+#: ../../Zotlabs/Module/Setup.php:421
msgid ""
-"Please enable expert mode (in <a href=\"settings/features\">Settings > "
-"Additional features</a>) to adjust!"
-msgstr "Aktiviere den Expertenmodus (unter <a href=\"settings/features\">Settings > Zusätzliche Funktionen</a>), um hier Einstellungen vorzunehmen!"
-
-#: ../../Zotlabs/Module/Settings.php:1276
-msgid "Miscellaneous Settings"
-msgstr "Sonstige Einstellungen"
-
-#: ../../Zotlabs/Module/Settings.php:1277
-msgid "Default photo upload folder"
-msgstr "Voreingestellter Ordner für hochgeladene Fotos"
-
-#: ../../Zotlabs/Module/Settings.php:1277
-#: ../../Zotlabs/Module/Settings.php:1278
-msgid "%Y - current year, %m - current month"
-msgstr "%Y - aktuelles Jahr, %m - aktueller Monat"
-
-#: ../../Zotlabs/Module/Settings.php:1278
-msgid "Default file upload folder"
-msgstr "Voreingestellter Ordner für hochgeladene Dateien"
-
-#: ../../Zotlabs/Module/Settings.php:1280
-msgid "Personal menu to display in your channel pages"
-msgstr "Eigenes Menü zur Anzeige auf den Seiten deines Kanals"
-
-#: ../../Zotlabs/Module/Settings.php:1281 ../../Zotlabs/Module/Removeme.php:64
-msgid "Remove Channel"
-msgstr "Kanal löschen"
-
-#: ../../Zotlabs/Module/Settings.php:1282
-msgid "Remove this channel."
-msgstr "Diesen Kanal löschen"
-
-#: ../../Zotlabs/Module/Settings.php:1283
-msgid "Firefox Share $Projectname provider"
-msgstr "$Projectname-Provider für Firefox Share"
-
-#: ../../Zotlabs/Module/Settings.php:1284
-msgid "Start calendar week on monday"
-msgstr "Montag als erster Tag der Kalenderwoche"
-
-#: ../../Zotlabs/Module/Admin.php:77
-msgid "Theme settings updated."
-msgstr "Theme-Einstellungen aktualisiert."
-
-#: ../../Zotlabs/Module/Admin.php:197
-msgid "# Accounts"
-msgstr "Anzahl der Konten"
-
-#: ../../Zotlabs/Module/Admin.php:198
-msgid "# blocked accounts"
-msgstr "Anzahl der blockierten Konten"
-
-#: ../../Zotlabs/Module/Admin.php:199
-msgid "# expired accounts"
-msgstr "Anzahl der abgelaufenen Konten"
-
-#: ../../Zotlabs/Module/Admin.php:200
-msgid "# expiring accounts"
-msgstr "Anzahl der ablaufenden Konten"
-
-#: ../../Zotlabs/Module/Admin.php:211
-msgid "# Channels"
-msgstr "Anzahl der Kanäle"
-
-#: ../../Zotlabs/Module/Admin.php:212
-msgid "# primary"
-msgstr "Anzahl der primären Kanäle"
-
-#: ../../Zotlabs/Module/Admin.php:213
-msgid "# clones"
-msgstr "Anzahl der Klone"
-
-#: ../../Zotlabs/Module/Admin.php:219
-msgid "Message queues"
-msgstr "Nachrichten-Warteschlangen"
-
-#: ../../Zotlabs/Module/Admin.php:236
-msgid "Your software should be updated"
-msgstr "Die installierte Software sollte aktualisiert werden"
-
-#: ../../Zotlabs/Module/Admin.php:241 ../../Zotlabs/Module/Admin.php:490
-#: ../../Zotlabs/Module/Admin.php:711 ../../Zotlabs/Module/Admin.php:755
-#: ../../Zotlabs/Module/Admin.php:1030 ../../Zotlabs/Module/Admin.php:1209
-#: ../../Zotlabs/Module/Admin.php:1329 ../../Zotlabs/Module/Admin.php:1419
-#: ../../Zotlabs/Module/Admin.php:1612 ../../Zotlabs/Module/Admin.php:1646
-#: ../../Zotlabs/Module/Admin.php:1731
-msgid "Administration"
-msgstr "Administration"
-
-#: ../../Zotlabs/Module/Admin.php:242
-msgid "Summary"
-msgstr "Zusammenfassung"
-
-#: ../../Zotlabs/Module/Admin.php:245
-msgid "Registered accounts"
-msgstr "Registrierte Konten"
-
-#: ../../Zotlabs/Module/Admin.php:246 ../../Zotlabs/Module/Admin.php:715
-msgid "Pending registrations"
-msgstr "Ausstehende Registrierungen"
-
-#: ../../Zotlabs/Module/Admin.php:247
-msgid "Registered channels"
-msgstr "Registrierte Kanäle"
-
-#: ../../Zotlabs/Module/Admin.php:248 ../../Zotlabs/Module/Admin.php:716
-msgid "Active plugins"
-msgstr "Aktive Plug-Ins"
-
-#: ../../Zotlabs/Module/Admin.php:249
-msgid "Version"
-msgstr "Version"
-
-#: ../../Zotlabs/Module/Admin.php:250
-msgid "Repository version (master)"
-msgstr "Repository-Version (master)"
-
-#: ../../Zotlabs/Module/Admin.php:251
-msgid "Repository version (dev)"
-msgstr "Repository-Version (dev)"
-
-#: ../../Zotlabs/Module/Admin.php:373
-msgid "Site settings updated."
-msgstr "Site-Einstellungen aktualisiert."
-
-#: ../../Zotlabs/Module/Admin.php:400 ../../include/text.php:2888
-msgid "Default"
-msgstr "Standard"
-
-#: ../../Zotlabs/Module/Admin.php:412
-msgid "experimental"
-msgstr "experimentell"
-
-#: ../../Zotlabs/Module/Admin.php:414
-msgid "unsupported"
-msgstr "nicht unterstützt"
-
-#: ../../Zotlabs/Module/Admin.php:460
-msgid "Yes - with approval"
-msgstr "Ja - mit Zustimmung"
-
-#: ../../Zotlabs/Module/Admin.php:466
-msgid "My site is not a public server"
-msgstr "Mein Server ist kein öffentlicher Server"
-
-#: ../../Zotlabs/Module/Admin.php:467
-msgid "My site has paid access only"
-msgstr "Meine Seite hat nur bezahlten Zugriff"
-
-#: ../../Zotlabs/Module/Admin.php:468
-msgid "My site has free access only"
-msgstr "Meine Seite hat nur freien Zugriff"
-
-#: ../../Zotlabs/Module/Admin.php:469
-msgid "My site offers free accounts with optional paid upgrades"
-msgstr "Mein Server bietet kostenlose Konten mit der Möglichkeit zu bezahlten Upgrades"
-
-#: ../../Zotlabs/Module/Admin.php:491 ../../include/widgets.php:1490
-msgid "Site"
-msgstr "Seite"
-
-#: ../../Zotlabs/Module/Admin.php:493 ../../Zotlabs/Module/Register.php:248
-msgid "Registration"
-msgstr "Registrierung"
-
-#: ../../Zotlabs/Module/Admin.php:494
-msgid "File upload"
-msgstr "Dateiupload"
-
-#: ../../Zotlabs/Module/Admin.php:495
-msgid "Policies"
-msgstr "Richtlinien"
-
-#: ../../Zotlabs/Module/Admin.php:496 ../../include/contact_widgets.php:16
-msgid "Advanced"
-msgstr "Fortgeschritten"
-
-#: ../../Zotlabs/Module/Admin.php:500
-msgid "Site name"
-msgstr "Seitenname"
-
-#: ../../Zotlabs/Module/Admin.php:501
-msgid "Banner/Logo"
-msgstr "Banner/Logo"
+"Enter full path to php executable. You can leave this blank to continue the "
+"installation."
+msgstr "Gib den vollen Pfad zum PHP-Interpreter an. Du kannst dieses Feld frei lassen und mit der Installation fortfahren."
-#: ../../Zotlabs/Module/Admin.php:502
-msgid "Administrator Information"
-msgstr "Administrator-Informationen"
+#: ../../Zotlabs/Module/Setup.php:426
+msgid "Command line PHP"
+msgstr "PHP-Befehlszeile"
-#: ../../Zotlabs/Module/Admin.php:502
+#: ../../Zotlabs/Module/Setup.php:435
msgid ""
-"Contact information for site administrators. Displayed on siteinfo page. "
-"BBCode can be used here"
-msgstr "Kontaktinformationen für Administratoren des Servers. Wird auf der siteinfo-Seite angezeigt. BBCode kann verwendet werden."
+"The command line version of PHP on your system does not have "
+"\"register_argc_argv\" enabled."
+msgstr "Bei der Kommandozeilen-Version von PHP auf Deinem System ist \"register_argc_argv\" nicht aktiviert."
-#: ../../Zotlabs/Module/Admin.php:503
-msgid "System language"
-msgstr "System-Sprache"
+#: ../../Zotlabs/Module/Setup.php:436
+msgid "This is required for message delivery to work."
+msgstr "Das wird benötigt, damit die Auslieferung von Nachrichten funktioniert."
-#: ../../Zotlabs/Module/Admin.php:504
-msgid "System theme"
-msgstr "System-Theme"
+#: ../../Zotlabs/Module/Setup.php:439
+msgid "PHP register_argc_argv"
+msgstr "PHP register_argc_argv"
-#: ../../Zotlabs/Module/Admin.php:504
+#: ../../Zotlabs/Module/Setup.php:457
+#, php-format
msgid ""
-"Default system theme - may be over-ridden by user profiles - <a href='#' "
-"id='cnftheme'>change theme settings</a>"
-msgstr "Standard-System-Theme – kann durch Nutzerprofile überschieben werden – <a href='#' id='cnftheme'>Theme-Einstellungen ändern</a>"
-
-#: ../../Zotlabs/Module/Admin.php:505
-msgid "Mobile system theme"
-msgstr "Mobile System-Theme:"
-
-#: ../../Zotlabs/Module/Admin.php:505
-msgid "Theme for mobile devices"
-msgstr "Theme für mobile Geräte"
-
-#: ../../Zotlabs/Module/Admin.php:507
-msgid "Allow Feeds as Connections"
-msgstr "Feeds als Verbindungen erlauben"
+"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 "Die Maximalgröße für Uploads insgesamt liegt bei %s. Die Maximalgröße für eine Datei liegt bei %s. Es können maximal %d Dateien gleichzeitig hochgeladen werden."
-#: ../../Zotlabs/Module/Admin.php:507
-msgid "(Heavy system resource usage)"
-msgstr "(führt zu hoher Systemlast)"
+#: ../../Zotlabs/Module/Setup.php:462
+msgid "You can adjust these settings in the servers php.ini."
+msgstr "Du kannst diese Einstellungen in der php.ini des Servers ändern."
-#: ../../Zotlabs/Module/Admin.php:508
-msgid "Maximum image size"
-msgstr "Maximale Bildgröße"
+#: ../../Zotlabs/Module/Setup.php:464
+msgid "PHP upload limits"
+msgstr "PHP-Hochladebeschränkungen"
-#: ../../Zotlabs/Module/Admin.php:508
+#: ../../Zotlabs/Module/Setup.php:487
msgid ""
-"Maximum size in bytes of uploaded images. Default is 0, which means no "
-"limits."
-msgstr "Maximale Größe hochgeladener Bilder in Bytes. Standard ist 0 (keine Einschränkung)."
-
-#: ../../Zotlabs/Module/Admin.php:509
-msgid "Does this site allow new member registration?"
-msgstr "Erlaubt dieser Server die Registrierung neuer Nutzer?"
-
-#: ../../Zotlabs/Module/Admin.php:510
-msgid "Invitation only"
-msgstr "Nur mit Einladung"
+"Error: the \"openssl_pkey_new\" function on this system is not able to "
+"generate encryption keys"
+msgstr "Fehler: Die „openssl_pkey_new“-Funktion auf diesem System ist nicht in der Lage, Schlüssel für die Verschlüsselung zu erzeugen."
-#: ../../Zotlabs/Module/Admin.php:510
+#: ../../Zotlabs/Module/Setup.php:488
msgid ""
-"Only allow new member registrations with an invitation code. Above register "
-"policy must be set to Yes."
-msgstr "Erlaube die Neuregistrierung von Mitglieder nur mit einem Einladungscode. Die Registrierungs-Politik muss oben auf Ja gesetzt werden."
-
-#: ../../Zotlabs/Module/Admin.php:511
-msgid "Which best describes the types of account offered by this hub?"
-msgstr "Was ist die passendste Beschreibung der Konten auf diesem Hub?"
-
-#: ../../Zotlabs/Module/Admin.php:512
-msgid "Register text"
-msgstr "Registrierungstext"
+"If running under Windows, please see "
+"\"http://www.php.net/manual/en/openssl.installation.php\"."
+msgstr "Wenn Du Windows verwendest, findest Du unter http://www.php.net/manual/en/openssl.installation.php eine Installationsanleitung."
-#: ../../Zotlabs/Module/Admin.php:512
-msgid "Will be displayed prominently on the registration page."
-msgstr "Wird gut sichtbar auf der Registrierungs-Seite angezeigt."
+#: ../../Zotlabs/Module/Setup.php:491
+msgid "Generate encryption keys"
+msgstr "Verschlüsselungsschlüssel erzeugen"
-#: ../../Zotlabs/Module/Admin.php:513
-msgid "Site homepage to show visitors (default: login box)"
-msgstr "Homepage des Hubs, die Besuchern angezeigt wird (Voreinstellung: Anmeldemaske)"
+#: ../../Zotlabs/Module/Setup.php:503
+msgid "libCurl PHP module"
+msgstr "libCurl-PHP-Modul"
-#: ../../Zotlabs/Module/Admin.php:513
-msgid ""
-"example: 'public' to show public stream, 'page/sys/home' to show a system "
-"webpage called 'home' or 'include:home.html' to include a file."
-msgstr "Beispiele: 'public', um den Stream aller öffentlichen Beiträge anzuzeigen, 'page/sys/home', um eine System-Webseite namens 'home' anzuzeigen, 'include:home.html', um eine Datei einzufügen."
+#: ../../Zotlabs/Module/Setup.php:504
+msgid "GD graphics PHP module"
+msgstr "GD-Grafik-PHP-Modul"
-#: ../../Zotlabs/Module/Admin.php:514
-msgid "Preserve site homepage URL"
-msgstr "Homepage-URL schützen"
+#: ../../Zotlabs/Module/Setup.php:505
+msgid "OpenSSL PHP module"
+msgstr "OpenSSL-PHP-Modul"
-#: ../../Zotlabs/Module/Admin.php:514
-msgid ""
-"Present the site homepage in a frame at the original location instead of "
-"redirecting"
-msgstr "Zeigt die Homepage an der Original-URL in einem Frame an, statt auf die eigentliche Adresse der Seite umzuleiten."
+#: ../../Zotlabs/Module/Setup.php:506
+msgid "mysqli or postgres PHP module"
+msgstr "mysqli oder postgres PHP-Modul"
-#: ../../Zotlabs/Module/Admin.php:515
-msgid "Accounts abandoned after x days"
-msgstr "Konten gelten nach X Tagen als unbenutzt"
+#: ../../Zotlabs/Module/Setup.php:507
+msgid "mb_string PHP module"
+msgstr "mb_string-PHP-Modul"
-#: ../../Zotlabs/Module/Admin.php:515
-msgid ""
-"Will not waste system resources polling external sites for abandonded "
-"accounts. Enter 0 for no time limit."
-msgstr "Verschwende keine Systemressourcen auf das Pollen von externen Seiten, wenn das Konto nicht mehr benutzt wird. Trage hier 0 für kein zeitliches Limit."
+#: ../../Zotlabs/Module/Setup.php:508
+msgid "xml PHP module"
+msgstr "xml-PHP-Modul"
-#: ../../Zotlabs/Module/Admin.php:516
-msgid "Allowed friend domains"
-msgstr "Erlaubte Domains für Kontakte"
+#: ../../Zotlabs/Module/Setup.php:512 ../../Zotlabs/Module/Setup.php:514
+msgid "Apache mod_rewrite module"
+msgstr "Apache-mod_rewrite-Modul"
-#: ../../Zotlabs/Module/Admin.php:516
+#: ../../Zotlabs/Module/Setup.php:512
msgid ""
-"Comma separated list of domains which are allowed to establish friendships "
-"with this site. Wildcards are accepted. Empty to allow any domains"
-msgstr "Liste der Domains, die für Freundschaften erlaubt sind, durch Kommas getrennt. Platzhalter werden akzeptiert. Leer lassen, um alle Domains zu erlauben."
+"Error: Apache webserver mod-rewrite module is required but not installed."
+msgstr "Fehler: Das Apache-Modul mod-rewrite wird benötigt, ist aber nicht installiert."
-#: ../../Zotlabs/Module/Admin.php:517
-msgid "Allowed email domains"
-msgstr "Erlaubte Domains für E-Mails"
+#: ../../Zotlabs/Module/Setup.php:518 ../../Zotlabs/Module/Setup.php:521
+msgid "proc_open"
+msgstr "proc_open"
-#: ../../Zotlabs/Module/Admin.php:517
+#: ../../Zotlabs/Module/Setup.php:518
msgid ""
-"Comma separated list of domains which are allowed in email addresses for "
-"registrations to this site. Wildcards are accepted. Empty to allow any "
-"domains"
-msgstr "Liste der Domains, die für E-Mail-Adressen bei der Registrierung erlaubt sind, durch Kommas getrennt. Platzhalter werden akzeptiert. Leer lassen, um alle Domains zu erlauben."
+"Error: proc_open is required but is either not installed or has been "
+"disabled in php.ini"
+msgstr "Fehler: proc_open wird benötigt, ist aber entweder nicht installiert oder wurde in der php.ini deaktiviert"
-#: ../../Zotlabs/Module/Admin.php:518
-msgid "Not allowed email domains"
-msgstr "Nicht erlaubte Domains für E-Mails"
+#: ../../Zotlabs/Module/Setup.php:526
+msgid "Error: libCURL PHP module required but not installed."
+msgstr "Fehler: Das PHP-Modul libCURL wird benötigt, ist aber nicht installiert."
-#: ../../Zotlabs/Module/Admin.php:518
+#: ../../Zotlabs/Module/Setup.php:530
msgid ""
-"Comma separated list of domains which are not allowed in email addresses for"
-" registrations to this site. Wildcards are accepted. Empty to allow any "
-"domains, unless allowed domains have been defined."
-msgstr "Domains in E-Mail-Adressen, die keine Erlaubnis erhalten, sich auf Deinem Hub zu registrieren. Mehrere Domains können durch Kommas getrennt werden. Platzhalter (*/?) sind möglich. Keine Eingabe bedeutet keine Einschränkung, unabhängig davon, ob unter erlaubte Domains etwas eingegeben wurde."
+"Error: GD graphics PHP module with JPEG support required but not installed."
+msgstr "Fehler: Das PHP-Modul GD-Grafik mit JPEG-Unterstützung wird benötigt, ist aber nicht installiert."
-#: ../../Zotlabs/Module/Admin.php:519
-msgid "Verify Email Addresses"
-msgstr "E-Mail-Adressen überprüfen"
+#: ../../Zotlabs/Module/Setup.php:534
+msgid "Error: openssl PHP module required but not installed."
+msgstr "Fehler: Das PHP-Modul openssl wird benötigt, ist aber nicht installiert."
-#: ../../Zotlabs/Module/Admin.php:519
+#: ../../Zotlabs/Module/Setup.php:538
msgid ""
-"Check to verify email addresses used in account registration (recommended)."
-msgstr "Aktivieren, um die Überprüfung von E-Mail-Adressen bei der Registrierung von Benutzerkonten zu aktivieren (empfohlen)."
-
-#: ../../Zotlabs/Module/Admin.php:520
-msgid "Force publish"
-msgstr "Veröffentlichung erzwingen"
+"Error: mysqli or postgres PHP module required but neither are installed."
+msgstr "Fehler: Das mysqli oder postgres PHP-Modul ist erforderlich, aber keines von beiden ist installiert."
-#: ../../Zotlabs/Module/Admin.php:520
-msgid ""
-"Check to force all profiles on this site to be listed in the site directory."
-msgstr "Die Veröffentlichung aller Profile dieses Servers im Verzeichnis erzwingen."
+#: ../../Zotlabs/Module/Setup.php:542
+msgid "Error: mb_string PHP module required but not installed."
+msgstr "Fehler: Das PHP-Modul mb_string wird benötigt, ist aber nicht installiert."
-#: ../../Zotlabs/Module/Admin.php:521
-msgid "Import Public Streams"
-msgstr "Öffentliche Beiträge importieren"
+#: ../../Zotlabs/Module/Setup.php:546
+msgid "Error: xml PHP module required for DAV but not installed."
+msgstr "Fehler: Das xml-PHP-Modul wird für DAV benötigt, ist aber nicht installiert."
-#: ../../Zotlabs/Module/Admin.php:521
+#: ../../Zotlabs/Module/Setup.php:564
msgid ""
-"Import and allow access to public content pulled from other sites. Warning: "
-"this content is unmoderated."
-msgstr "Öffentliche Beiträge von anderen Servern importieren und zur Verfügung stellen. Warnung: Diese Inhalte sind nicht moderiert."
-
-#: ../../Zotlabs/Module/Admin.php:522
-msgid "Login on Homepage"
-msgstr "Log-in auf der Startseite"
+"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 "Der Installations-Assistent muss in der Lage sein, die Datei \".htconfig.php\" im Stammverzeichnis des Web-Servers anzulegen, ist er aber nicht."
-#: ../../Zotlabs/Module/Admin.php:522
+#: ../../Zotlabs/Module/Setup.php:565
msgid ""
-"Present a login box to visitors on the home page if no other content has "
-"been configured."
-msgstr "Zeigt Besuchern der Homepage eine Anmeldemaske, falls keine anderen Inhalte konfiguriert wurden."
-
-#: ../../Zotlabs/Module/Admin.php:523
-msgid "Enable context help"
-msgstr "Kontext-Hilfe aktivieren"
+"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 "Meist liegt das daran, dass der Nutzer, unter dem der Web-Server läuft, keine Schreibrechte in dem Verzeichnis hat – selbst wenn Du selbst das darfst."
-#: ../../Zotlabs/Module/Admin.php:523
+#: ../../Zotlabs/Module/Setup.php:566
msgid ""
-"Display contextual help for the current page when the help button is "
-"pressed."
-msgstr "Zeigt Kontext-sensitive Hilfe für die aktuelle Seite an, wenn der Hilfe-Knopf geklickt wird."
-
-#: ../../Zotlabs/Module/Admin.php:525
-msgid "Directory Server URL"
-msgstr "Verzeichnisserver-URL"
-
-#: ../../Zotlabs/Module/Admin.php:525
-msgid "Default directory server"
-msgstr "Standard-Verzeichnisserver"
-
-#: ../../Zotlabs/Module/Admin.php:527
-msgid "Proxy user"
-msgstr "Proxy Benutzer"
-
-#: ../../Zotlabs/Module/Admin.php:528
-msgid "Proxy URL"
-msgstr "Proxy URL"
-
-#: ../../Zotlabs/Module/Admin.php:529
-msgid "Network timeout"
-msgstr "Netzwerk-Timeout"
-
-#: ../../Zotlabs/Module/Admin.php:529
-msgid "Value is in seconds. Set to 0 for unlimited (not recommended)."
-msgstr "Wert in Sekunden. 0 für unbegrenzt (nicht empfohlen)."
-
-#: ../../Zotlabs/Module/Admin.php:530
-msgid "Delivery interval"
-msgstr "Auslieferung Intervall"
+"At the end of this procedure, we will give you a text to save in a file "
+"named .htconfig.php in your Red top folder."
+msgstr "Am Schluss dieses Vorgangs wird ein Text generiert, den Du unter dem Dateinamen .htconfig.php im Stammverzeichnis Deiner Hubzilla-Installation speichern musst."
-#: ../../Zotlabs/Module/Admin.php:530
+#: ../../Zotlabs/Module/Setup.php:567
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 "Verzögere im Hintergrund laufende Auslieferungsprozesse um die angegebene Anzahl Sekunden, um die Systemlast zu verringern. Empfehlungen: 4-5 für Shared Hosts, 2-3 für VPS, 0-1 für große dedizierte Server."
+"You can alternatively skip this procedure and perform a manual installation."
+" Please see the file \"install/INSTALL.txt\" for instructions."
+msgstr "Alternativ kannst Du diesen Schritt überspringen und die Installation manuell vornehmen. Lies dazu die Datei install/INSTALL.txt."
-#: ../../Zotlabs/Module/Admin.php:531
-msgid "Deliveries per process"
-msgstr "Zustellungen pro Prozess"
+#: ../../Zotlabs/Module/Setup.php:570
+msgid ".htconfig.php is writable"
+msgstr ".htconfig.php ist beschreibbar"
-#: ../../Zotlabs/Module/Admin.php:531
+#: ../../Zotlabs/Module/Setup.php:584
msgid ""
-"Number of deliveries to attempt in a single operating system process. Adjust"
-" if necessary to tune system performance. Recommend: 1-5."
-msgstr "Anzahl der Zustellungen, die innerhalb eines einzelnen Betriebssystemprozesses versucht werden. Anpassen, falls nötig, um die System-Performance zu verbessern. Empfehlung: 1-5."
-
-#: ../../Zotlabs/Module/Admin.php:532
-msgid "Poll interval"
-msgstr "Abfrageintervall"
+"Red uses the Smarty3 template engine to render its web views. Smarty3 "
+"compiles templates to PHP to speed up rendering."
+msgstr "$Projectname verwendet Smarty3 um Vorlagen für die Webdarstellung zu übersetzen. Smarty3 übersetzt diese Vorlagen nach PHP, um die Darstellung zu beschleunigen."
-#: ../../Zotlabs/Module/Admin.php:532
+#: ../../Zotlabs/Module/Setup.php:585
+#, php-format
msgid ""
-"Delay background polling processes by this many seconds to reduce system "
-"load. If 0, use delivery interval."
-msgstr "Verzögere Hintergrundprozesse um diese Anzahl Sekunden, um die Systemlast zu reduzieren. Bei 0 wird das Auslieferungsintervall verwendet."
-
-#: ../../Zotlabs/Module/Admin.php:533
-msgid "Maximum Load Average"
-msgstr "Maximales Load Average"
+"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 "Um diese kompilierten Vorlagen speichern zu können, braucht der Web-Server Schreibzugriff auf das Verzeichnis %s unterhalb des Hubzilla-Stammverzeichnisses."
-#: ../../Zotlabs/Module/Admin.php:533
+#: ../../Zotlabs/Module/Setup.php:586 ../../Zotlabs/Module/Setup.php:607
msgid ""
-"Maximum system load before delivery and poll processes are deferred - "
-"default 50."
-msgstr "Maximale Systemlast, bevor Verteil- und Empfangsprozesse verschoben werden – Standard 50"
-
-#: ../../Zotlabs/Module/Admin.php:534
-msgid "Expiration period in days for imported (grid/network) content"
-msgstr "Setze den Zeitraum (in Tagen), ab wann importierte (aus dem Netzwerk) Inhalte ablaufen sollen"
-
-#: ../../Zotlabs/Module/Admin.php:534
-msgid "0 for no expiration of imported content"
-msgstr "0 = keine Löschung importierter Inhalte"
+"Please ensure that the user that your web server runs as (e.g. www-data) has"
+" write access to this folder."
+msgstr "Bitte stelle sicher, dass der Nutzer, unter dem der Web-Server läuft (z.B. www-data), Schreibzugriff auf dieses Verzeichnis hat."
-#: ../../Zotlabs/Module/Admin.php:678
+#: ../../Zotlabs/Module/Setup.php:587
#, php-format
-msgid "Lock feature %s"
-msgstr "Blockiere die Funktion %s"
-
-#: ../../Zotlabs/Module/Admin.php:686
-msgid "Manage Additional Features"
-msgstr "Zusätzliche Funktionen verwalten"
-
-#: ../../Zotlabs/Module/Admin.php:703
-msgid "No server found"
-msgstr "Kein Server gefunden"
-
-#: ../../Zotlabs/Module/Admin.php:710 ../../Zotlabs/Module/Admin.php:1046
-msgid "ID"
-msgstr "ID"
-
-#: ../../Zotlabs/Module/Admin.php:710
-msgid "for channel"
-msgstr "für Kanal"
-
-#: ../../Zotlabs/Module/Admin.php:710
-msgid "on server"
-msgstr "auf Server"
-
-#: ../../Zotlabs/Module/Admin.php:712
-msgid "Server"
-msgstr "Server"
-
-#: ../../Zotlabs/Module/Admin.php:746
msgid ""
-"By default, unfiltered HTML is allowed in embedded media. This is inherently"
-" insecure."
-msgstr "Standardmäßig wird ungefiltertes HTML in eingebetteten Inhalten zugelassen. Das ist prinzipiell unsicher."
-
-#: ../../Zotlabs/Module/Admin.php:749
-msgid ""
-"The recommended setting is to only allow unfiltered HTML from the following "
-"sites:"
-msgstr "Die empfohlene Einstellung ist, ungefiltertes HTML nur von den nachfolgenden Webseiten zu erlauben:"
+"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 "Hinweis: Aus Sicherheitsgründen sollte der Web-Server nur auf %s Schreibrechte haben, nicht auf die Template-Dateien (.tpl), die das Verzeichnis enthält."
-#: ../../Zotlabs/Module/Admin.php:750
-msgid ""
-"https://youtube.com/<br />https://www.youtube.com/<br />https://youtu.be/<br"
-" />https://vimeo.com/<br />https://soundcloud.com/<br />"
-msgstr "https://youtube.com/<br />https://www.youtube.com/<br />https://youtu.be/<br />https://vimeo.com/<br />https://soundcloud.com/<br />"
+#: ../../Zotlabs/Module/Setup.php:590
+#, php-format
+msgid "%s is writable"
+msgstr "%s ist beschreibbar"
-#: ../../Zotlabs/Module/Admin.php:751
+#: ../../Zotlabs/Module/Setup.php:606
msgid ""
-"All other embedded content will be filtered, <strong>unless</strong> "
-"embedded content from that site is explicitly blocked."
-msgstr "Alle anderen eingebetteten Inhalte werden gefiltert, <strong>es sei denn</strong>, eingebettete Inhalte von einer bestimmten Seite sind explizit blockiert."
-
-#: ../../Zotlabs/Module/Admin.php:756 ../../include/widgets.php:1493
-msgid "Security"
-msgstr "Sicherheit"
+"This software uses the store directory to save uploaded files. The web "
+"server needs to have write access to the store directory under the Red top "
+"level folder"
+msgstr "Diese Software benutzt das Verzeichnis store, um hochgeladene Dateien zu speichern. Der Web-Server benötigt Schreibrechte für dieses Verzeichnis direkt unterhalb des Hubzilla-Stammverzeichnisses"
-#: ../../Zotlabs/Module/Admin.php:758
-msgid "Block public"
-msgstr "Öffentlichen Zugriff blockieren"
+#: ../../Zotlabs/Module/Setup.php:610
+msgid "store is writable"
+msgstr "store ist schreibbar"
-#: ../../Zotlabs/Module/Admin.php:758
+#: ../../Zotlabs/Module/Setup.php:643
msgid ""
-"Check to block public access to all otherwise public personal pages on this "
-"site unless you are currently authenticated."
-msgstr "Blockiere den öffentlichen Zugriff auf alle ansonsten öffentlichen persönlichen Seiten dieser Website, sofern ein Besucher nicht angemeldet ist."
-
-#: ../../Zotlabs/Module/Admin.php:759
-msgid "Set \"Transport Security\" HTTP header"
-msgstr "Setze den \"Transport Security\" HTTP Header"
-
-#: ../../Zotlabs/Module/Admin.php:760
-msgid "Set \"Content Security Policy\" HTTP header"
-msgstr "Setze den \"Content Security Policy\" HTTP Header"
-
-#: ../../Zotlabs/Module/Admin.php:761
-msgid "Allow communications only from these sites"
-msgstr "Kommunikation nur von diesen Seiten erlauben"
+"SSL certificate cannot be validated. Fix certificate or disable https access"
+" to this site."
+msgstr "Das SSL-Zertifikat konnte nicht validiert werden. Korrigiere das Zertifikat oder deaktiviere den HTTPS-Zugriff auf diesen Server."
-#: ../../Zotlabs/Module/Admin.php:761
+#: ../../Zotlabs/Module/Setup.php:644
msgid ""
-"One site per line. Leave empty to allow communication from anywhere by "
-"default"
-msgstr "Ein Eintrag pro Zeile. Lasse das Feld leer, um Kommunikation grundlegend von überall her zu erlauben."
-
-#: ../../Zotlabs/Module/Admin.php:762
-msgid "Block communications from these sites"
-msgstr "Kommunikation von diesen Seiten blockieren"
-
-#: ../../Zotlabs/Module/Admin.php:763
-msgid "Allow communications only from these channels"
-msgstr "Kommunikation nur von diesen Kanälen erlauben"
+"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 "Wenn Du via HTTPS auf Deinen Server zugreifen möchtest, also Verbindungen über den Port 443 möglich sein sollen, ist ein SSL-Zertifikat einer Zertifizierungsstelle (CA) notwendig, das von den Browsern ohne Sicherheitsabfrage akzeptiert wird. Die Verwendung eines selbst signierten Zertifikates ist nicht möglich."
-#: ../../Zotlabs/Module/Admin.php:763
+#: ../../Zotlabs/Module/Setup.php:645
msgid ""
-"One channel (hash) per line. Leave empty to allow from any channel by "
-"default"
-msgstr "Ein Kanal (hash) pro Zeile. Leerlassen um jeden Kanal zuzulassen. "
-
-#: ../../Zotlabs/Module/Admin.php:764
-msgid "Block communications from these channels"
-msgstr "Kommunikation von folgenden Kanälen blockieren"
-
-#: ../../Zotlabs/Module/Admin.php:765
-msgid "Only allow embeds from secure (SSL) websites and links."
-msgstr "Erlaube Einbettungen nur von sicheren (SSL) Webseiten und Links."
-
-#: ../../Zotlabs/Module/Admin.php:766
-msgid "Allow unfiltered embedded HTML content only from these domains"
-msgstr "Erlaube Einbettung von Inhalten mit ungefiltertem HTML nur von diesen Domains"
-
-#: ../../Zotlabs/Module/Admin.php:766
-msgid "One site per line. By default embedded content is filtered."
-msgstr "Eine Website/Domain pro Zeile. Standardmäßig wird eingebetteter Inhalt gefiltert."
-
-#: ../../Zotlabs/Module/Admin.php:767
-msgid "Block embedded HTML from these domains"
-msgstr "Eingebettete HTML Inhalte von diesen Seiten blockieren"
-
-#: ../../Zotlabs/Module/Admin.php:785
-msgid "Update has been marked successful"
-msgstr "Update wurde als erfolgreich markiert"
-
-#: ../../Zotlabs/Module/Admin.php:795
-#, php-format
-msgid "Executing %s failed. Check system logs."
-msgstr "Ausführen von %s fehlgeschlagen. Überprüfe die Systemprotokolle."
-
-#: ../../Zotlabs/Module/Admin.php:798
-#, php-format
-msgid "Update %s was successfully applied."
-msgstr "Update %s wurde erfolgreich ausgeführt."
-
-#: ../../Zotlabs/Module/Admin.php:802
-#, php-format
-msgid "Update %s did not return a status. Unknown if it succeeded."
-msgstr "Update %s lieferte keinen Rückgabewert. Erfolg unbekannt."
-
-#: ../../Zotlabs/Module/Admin.php:805
-#, php-format
-msgid "Update function %s could not be found."
-msgstr "Update-Funktion %s konnte nicht gefunden werden."
-
-#: ../../Zotlabs/Module/Admin.php:821
-msgid "No failed updates."
-msgstr "Keine fehlgeschlagenen Aktualisierungen."
-
-#: ../../Zotlabs/Module/Admin.php:825
-msgid "Failed Updates"
-msgstr "Fehlgeschlagene Aktualisierungen"
-
-#: ../../Zotlabs/Module/Admin.php:827
-msgid "Mark success (if update was manually applied)"
-msgstr "Als erfolgreich markieren (wenn das Update manuell ausgeführt wurde)"
-
-#: ../../Zotlabs/Module/Admin.php:828
-msgid "Attempt to execute this update step automatically"
-msgstr "Versuche, diesen Updateschritt automatisch auszuführen"
-
-#: ../../Zotlabs/Module/Admin.php:859
-msgid "Queue Statistics"
-msgstr "Warteschlangenstatistiken"
-
-#: ../../Zotlabs/Module/Admin.php:860
-msgid "Total Entries"
-msgstr "Einträge insgesamt"
-
-#: ../../Zotlabs/Module/Admin.php:861
-msgid "Priority"
-msgstr "Priorität"
-
-#: ../../Zotlabs/Module/Admin.php:862
-msgid "Destination URL"
-msgstr "Ziel-URL"
-
-#: ../../Zotlabs/Module/Admin.php:863
-msgid "Mark hub permanently offline"
-msgstr "Hub als permanent offline markieren"
-
-#: ../../Zotlabs/Module/Admin.php:864
-msgid "Empty queue for this hub"
-msgstr "Warteschlange für diesen Hub leeren"
-
-#: ../../Zotlabs/Module/Admin.php:865
-msgid "Last known contact"
-msgstr "Letzter Kontakt"
-
-#: ../../Zotlabs/Module/Admin.php:901
-#, php-format
-msgid "%s account blocked/unblocked"
-msgid_plural "%s account blocked/unblocked"
-msgstr[0] "%s Konto blockiert/freigegeben"
-msgstr[1] "%s Konten blockiert/freigegeben"
-
-#: ../../Zotlabs/Module/Admin.php:908
-#, php-format
-msgid "%s account deleted"
-msgid_plural "%s accounts deleted"
-msgstr[0] "%s Konto gelöscht"
-msgstr[1] "%s Konten gelöscht"
-
-#: ../../Zotlabs/Module/Admin.php:944
-msgid "Account not found"
-msgstr "Konto nicht gefunden"
-
-#: ../../Zotlabs/Module/Admin.php:955
-#, php-format
-msgid "Account '%s' deleted"
-msgstr "Konto '%s' gelöscht"
-
-#: ../../Zotlabs/Module/Admin.php:963
-#, php-format
-msgid "Account '%s' blocked"
-msgstr "Konto '%s' blockiert"
-
-#: ../../Zotlabs/Module/Admin.php:971
-#, php-format
-msgid "Account '%s' unblocked"
-msgstr "Konto '%s' freigegeben"
-
-#: ../../Zotlabs/Module/Admin.php:1031 ../../Zotlabs/Module/Admin.php:1044
-#: ../../include/widgets.php:1491
-msgid "Accounts"
-msgstr "Konten"
-
-#: ../../Zotlabs/Module/Admin.php:1033 ../../Zotlabs/Module/Admin.php:1212
-msgid "select all"
-msgstr "Alle auswählen"
-
-#: ../../Zotlabs/Module/Admin.php:1034
-msgid "Registrations waiting for confirm"
-msgstr "Registrierungen warten auf Bestätigung"
-
-#: ../../Zotlabs/Module/Admin.php:1035
-msgid "Request date"
-msgstr "Antragsdatum"
-
-#: ../../Zotlabs/Module/Admin.php:1035 ../../Zotlabs/Module/Admin.php:1047
-#: ../../include/network.php:2208
-msgid "Email"
-msgstr "E-Mail"
-
-#: ../../Zotlabs/Module/Admin.php:1036
-msgid "No registrations."
-msgstr "Keine Registrierungen."
-
-#: ../../Zotlabs/Module/Admin.php:1038
-msgid "Deny"
-msgstr "Verweigern"
-
-#: ../../Zotlabs/Module/Admin.php:1048 ../../include/group.php:267
-msgid "All Channels"
-msgstr "Alle Kanäle"
-
-#: ../../Zotlabs/Module/Admin.php:1049
-msgid "Register date"
-msgstr "Registrierungs-Datum"
-
-#: ../../Zotlabs/Module/Admin.php:1050
-msgid "Last login"
-msgstr "Letzte Anmeldung"
-
-#: ../../Zotlabs/Module/Admin.php:1051
-msgid "Expires"
-msgstr "Verfällt"
-
-#: ../../Zotlabs/Module/Admin.php:1052
-msgid "Service Class"
-msgstr "Service-Klasse"
+"This restriction is incorporated because public posts from you may for "
+"example contain references to images on your own hub."
+msgstr "Diese Einschränkung wurde eingebaut, weil Deine öffentlichen Beiträge zum Beispiel Verweise auf Bilder auf Deinem eigenen Hub enthalten können."
-#: ../../Zotlabs/Module/Admin.php:1054
+#: ../../Zotlabs/Module/Setup.php:646
msgid ""
-"Selected accounts will be deleted!\\n\\nEverything these accounts had posted"
-" on this site will be permanently deleted!\\n\\nAre you sure?"
-msgstr "Die ausgewählten Konten werden gelöscht!\\n\\nAlles, was diese Konten auf diesem Hub veröffentlicht haben, wird endgültig gelöscht werden!\\n\\nBist du dir sicher?"
+"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 "Wenn Dein Zertifikat nicht von jedem Browser akzeptiert wird, erhalten die Mitglieder anderer $Projectname-Hubs (die mit korrekten Zertifikaten ausgestattet sind) Sicherheits-Warnmeldungen, obwohl sie gar nicht direkt auf Deinem Server unterwegs sind (zum Beispiel, wenn ein Bild aus einem Deiner Beiträge angezeigt wird)."
-#: ../../Zotlabs/Module/Admin.php:1055
+#: ../../Zotlabs/Module/Setup.php:647
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 "Das Konto {0} wird gelöscht!\\n\\nAlles, was dieses Konto auf diesem Hub veröffentlicht hat, wird endgültig gelöscht werden!\\n\\nBist Du sicher?"
-
-#: ../../Zotlabs/Module/Admin.php:1091
-#, php-format
-msgid "%s channel censored/uncensored"
-msgid_plural "%s channels censored/uncensored"
-msgstr[0] "%s Kanal gesperrt/freigegeben"
-msgstr[1] "%s Kanäle gesperrt/freigegeben"
-
-#: ../../Zotlabs/Module/Admin.php:1100
-#, php-format
-msgid "%s channel code allowed/disallowed"
-msgid_plural "%s channels code allowed/disallowed"
-msgstr[0] "Code für %s Kanal gesperrt/freigegeben"
-msgstr[1] "Code für %s Kanäle gesperrt/freigegeben"
-
-#: ../../Zotlabs/Module/Admin.php:1106
-#, php-format
-msgid "%s channel deleted"
-msgid_plural "%s channels deleted"
-msgstr[0] "%s Kanal gelöscht"
-msgstr[1] "%s Kanäle gelöscht"
-
-#: ../../Zotlabs/Module/Admin.php:1126
-msgid "Channel not found"
-msgstr "Kanal nicht gefunden"
-
-#: ../../Zotlabs/Module/Admin.php:1136
-#, php-format
-msgid "Channel '%s' deleted"
-msgstr "Kanal '%s' gelöscht"
-
-#: ../../Zotlabs/Module/Admin.php:1148
-#, php-format
-msgid "Channel '%s' censored"
-msgstr "Kanal '%s' gesperrt"
-
-#: ../../Zotlabs/Module/Admin.php:1148
-#, php-format
-msgid "Channel '%s' uncensored"
-msgstr "Kanal '%s' freigegeben"
-
-#: ../../Zotlabs/Module/Admin.php:1159
-#, php-format
-msgid "Channel '%s' code allowed"
-msgstr "Code für Kanal '%s' freigegeben"
-
-#: ../../Zotlabs/Module/Admin.php:1159
-#, php-format
-msgid "Channel '%s' code disallowed"
-msgstr "Code für Kanal '%s' gesperrt"
-
-#: ../../Zotlabs/Module/Admin.php:1210 ../../include/widgets.php:1492
-msgid "Channels"
-msgstr "Kanäle"
-
-#: ../../Zotlabs/Module/Admin.php:1214
-msgid "Censor"
-msgstr "Sperren"
-
-#: ../../Zotlabs/Module/Admin.php:1215
-msgid "Uncensor"
-msgstr "Freigeben"
-
-#: ../../Zotlabs/Module/Admin.php:1216
-msgid "Allow Code"
-msgstr "Code erlauben"
-
-#: ../../Zotlabs/Module/Admin.php:1217
-msgid "Disallow Code"
-msgstr "Code sperren"
-
-#: ../../Zotlabs/Module/Admin.php:1218 ../../include/conversation.php:1631
-msgid "Channel"
-msgstr "Kanal"
-
-#: ../../Zotlabs/Module/Admin.php:1222
-msgid "UID"
-msgstr "UID"
+"This can cause usability issues elsewhere (not just on your own site) so we "
+"must insist on this requirement."
+msgstr "Dies kann Probleme für andere Nutzer (nicht nur auf Deinem eigenen Server) verursachen, so dass wir auf dieser Forderung bestehen müssen."
-#: ../../Zotlabs/Module/Admin.php:1226
+#: ../../Zotlabs/Module/Setup.php:648
msgid ""
-"Selected channels will be deleted!\\n\\nEverything that was posted in these "
-"channels on this site will be permanently deleted!\\n\\nAre you sure?"
-msgstr "Alle ausgewählten Kanäle werden gelöscht!\\n\\nAlles was von diesen Kanälen auf diesem Server geschrieben wurde, wird dauerhaft gelöscht!\\n\\nBist Du sicher?"
+"Providers are available that issue free certificates which are browser-"
+"valid."
+msgstr "Es gibt einige Zertifizierungsstellen (CAs), bei denen solche Zertifikate kostenlos zu haben sind."
-#: ../../Zotlabs/Module/Admin.php:1227
+#: ../../Zotlabs/Module/Setup.php:650
msgid ""
-"The channel {0} will be deleted!\\n\\nEverything that was posted in this "
-"channel on this site will be permanently deleted!\\n\\nAre you sure?"
-msgstr "Der Kanal {0} wird gelöscht!\\n\\nAlles was von diesem Kanal auf diesem Server geschrieben wurde, wird gelöscht!\\n\\nBist Du sicher?"
-
-#: ../../Zotlabs/Module/Admin.php:1284
-#, php-format
-msgid "Plugin %s disabled."
-msgstr "Plug-In %s deaktiviert."
-
-#: ../../Zotlabs/Module/Admin.php:1288
-#, php-format
-msgid "Plugin %s enabled."
-msgstr "Plug-In %s aktiviert."
-
-#: ../../Zotlabs/Module/Admin.php:1298 ../../Zotlabs/Module/Admin.php:1585
-msgid "Disable"
-msgstr "Deaktivieren"
-
-#: ../../Zotlabs/Module/Admin.php:1301 ../../Zotlabs/Module/Admin.php:1587
-msgid "Enable"
-msgstr "Aktivieren"
-
-#: ../../Zotlabs/Module/Admin.php:1330 ../../Zotlabs/Module/Admin.php:1420
-#: ../../include/widgets.php:1495
-msgid "Plugins"
-msgstr "Plug-Ins"
-
-#: ../../Zotlabs/Module/Admin.php:1331 ../../Zotlabs/Module/Admin.php:1614
-msgid "Toggle"
-msgstr "Umschalten"
-
-#: ../../Zotlabs/Module/Admin.php:1332 ../../Zotlabs/Module/Admin.php:1615
-#: ../../Zotlabs/Lib/Apps.php:216 ../../include/nav.php:212
-#: ../../include/widgets.php:647
-msgid "Settings"
-msgstr "Einstellungen"
-
-#: ../../Zotlabs/Module/Admin.php:1339 ../../Zotlabs/Module/Admin.php:1624
-msgid "Author: "
-msgstr "Autor: "
-
-#: ../../Zotlabs/Module/Admin.php:1340 ../../Zotlabs/Module/Admin.php:1625
-msgid "Maintainer: "
-msgstr "Betreuer:"
-
-#: ../../Zotlabs/Module/Admin.php:1341
-msgid "Minimum project version: "
-msgstr "Minimale Version des Projekts:"
-
-#: ../../Zotlabs/Module/Admin.php:1342
-msgid "Maximum project version: "
-msgstr "Maximale Version des Projekts:"
-
-#: ../../Zotlabs/Module/Admin.php:1343
-msgid "Minimum PHP version: "
-msgstr "Minimale PHP Version:"
-
-#: ../../Zotlabs/Module/Admin.php:1344
-msgid "Requires: "
-msgstr "Benötigt:"
-
-#: ../../Zotlabs/Module/Admin.php:1345 ../../Zotlabs/Module/Admin.php:1425
-msgid "Disabled - version incompatibility"
-msgstr "Abgeschaltet - Versionsinkompatibilität"
-
-#: ../../Zotlabs/Module/Admin.php:1394
-msgid "Enter the public git repository URL of the plugin repo."
-msgstr "Gib die öffentliche Git-Repository-URL des Plugin-Repository an."
-
-#: ../../Zotlabs/Module/Admin.php:1395
-msgid "Plugin repo git URL"
-msgstr "Plugin-Repository Git URL"
-
-#: ../../Zotlabs/Module/Admin.php:1396
-msgid "Custom repo name"
-msgstr "Benutzerdefinierter Repository-Name"
-
-#: ../../Zotlabs/Module/Admin.php:1396
-msgid "(optional)"
-msgstr "(optional)"
-
-#: ../../Zotlabs/Module/Admin.php:1397
-msgid "Download Plugin Repo"
-msgstr "Plugin-Repository herunterladen"
-
-#: ../../Zotlabs/Module/Admin.php:1404
-msgid "Install new repo"
-msgstr "Neues Repository installieren"
-
-#: ../../Zotlabs/Module/Admin.php:1405 ../../Zotlabs/Lib/Apps.php:334
-msgid "Install"
-msgstr "Installieren"
-
-#: ../../Zotlabs/Module/Admin.php:1427
-msgid "Manage Repos"
-msgstr "Repositorien verwalten"
-
-#: ../../Zotlabs/Module/Admin.php:1428
-msgid "Installed Plugin Repositories"
-msgstr "Installierte Plugin-Repositorien"
-
-#: ../../Zotlabs/Module/Admin.php:1429
-msgid "Install a New Plugin Repository"
-msgstr "Ein neues Plugin-Repository installieren"
-
-#: ../../Zotlabs/Module/Admin.php:1436
-msgid "Switch branch"
-msgstr "Zweig/Branch wechseln"
-
-#: ../../Zotlabs/Module/Admin.php:1550
-msgid "No themes found."
-msgstr "Keine Theme gefunden."
-
-#: ../../Zotlabs/Module/Admin.php:1606
-msgid "Screenshot"
-msgstr "Bildschirmfoto"
-
-#: ../../Zotlabs/Module/Admin.php:1613 ../../Zotlabs/Module/Admin.php:1647
-#: ../../include/widgets.php:1496
-msgid "Themes"
-msgstr "Themes"
-
-#: ../../Zotlabs/Module/Admin.php:1652
-msgid "[Experimental]"
-msgstr "[Experimentell]"
-
-#: ../../Zotlabs/Module/Admin.php:1653
-msgid "[Unsupported]"
-msgstr "[Nicht unterstützt]"
-
-#: ../../Zotlabs/Module/Admin.php:1677
-msgid "Log settings updated."
-msgstr "Protokoll-Einstellungen aktualisiert."
-
-#: ../../Zotlabs/Module/Admin.php:1732 ../../include/widgets.php:1517
-#: ../../include/widgets.php:1527
-msgid "Logs"
-msgstr "Protokolle"
-
-#: ../../Zotlabs/Module/Admin.php:1734
-msgid "Clear"
-msgstr "Leeren"
-
-#: ../../Zotlabs/Module/Admin.php:1740
-msgid "Debugging"
-msgstr "Debugging"
+"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 "Wenn Du sicher bist, dass das Zertifikat gültig und von einer vertrauenswürdigen Zertifizierungsstelle signiert ist, prüfe auf ggf. noch zu installierende Zwischenzertifikate (intermediate). Diese werden nicht unbedingt von Browsern benötigt, aber sehr wohl für die Kommunikation zwischen Servern."
-#: ../../Zotlabs/Module/Admin.php:1741
-msgid "Log file"
-msgstr "Protokolldatei"
+#: ../../Zotlabs/Module/Setup.php:653
+msgid "SSL certificate validation"
+msgstr "SSL Zertifikatverifizierung"
-#: ../../Zotlabs/Module/Admin.php:1741
+#: ../../Zotlabs/Module/Setup.php:659
msgid ""
-"Must be writable by web server. Relative to your top-level webserver "
-"directory."
-msgstr "Muss für den Web-Server schreibbar sein. Relativ zum Hubzilla-Stammverzeichnis."
-
-#: ../../Zotlabs/Module/Admin.php:1742
-msgid "Log level"
-msgstr "Protokollstufe"
-
-#: ../../Zotlabs/Module/Admin.php:2028
-msgid "New Profile Field"
-msgstr "Neues Profilfeld"
-
-#: ../../Zotlabs/Module/Admin.php:2029 ../../Zotlabs/Module/Admin.php:2049
-msgid "Field nickname"
-msgstr "Kurzname für das Feld"
-
-#: ../../Zotlabs/Module/Admin.php:2029 ../../Zotlabs/Module/Admin.php:2049
-msgid "System name of field"
-msgstr "Systemname des Feldes"
-
-#: ../../Zotlabs/Module/Admin.php:2030 ../../Zotlabs/Module/Admin.php:2050
-msgid "Input type"
-msgstr "Art des Inhalts"
-
-#: ../../Zotlabs/Module/Admin.php:2031 ../../Zotlabs/Module/Admin.php:2051
-msgid "Field Name"
-msgstr "Feldname"
-
-#: ../../Zotlabs/Module/Admin.php:2031 ../../Zotlabs/Module/Admin.php:2051
-msgid "Label on profile pages"
-msgstr "Bezeichnung auf Profilseiten"
-
-#: ../../Zotlabs/Module/Admin.php:2032 ../../Zotlabs/Module/Admin.php:2052
-msgid "Help text"
-msgstr "Hilfetext"
-
-#: ../../Zotlabs/Module/Admin.php:2032 ../../Zotlabs/Module/Admin.php:2052
-msgid "Additional info (optional)"
-msgstr "Zusätzliche Informationen (optional)"
-
-#: ../../Zotlabs/Module/Admin.php:2042
-msgid "Field definition not found"
-msgstr "Feld-Definition nicht gefunden"
-
-#: ../../Zotlabs/Module/Admin.php:2048
-msgid "Edit Profile Field"
-msgstr "Profilfeld bearbeiten"
-
-#: ../../Zotlabs/Module/Admin.php:2106 ../../include/widgets.php:1498
-msgid "Profile Fields"
-msgstr "Profil Felder"
-
-#: ../../Zotlabs/Module/Admin.php:2107
-msgid "Basic Profile Fields"
-msgstr "Notwendige Profil Felder"
-
-#: ../../Zotlabs/Module/Admin.php:2108
-msgid "Advanced Profile Fields"
-msgstr "Erweiterte Profil Felder"
-
-#: ../../Zotlabs/Module/Admin.php:2108
-msgid "(In addition to basic fields)"
-msgstr "(zusätzlich zu notwendige Felder)"
-
-#: ../../Zotlabs/Module/Admin.php:2110
-msgid "All available fields"
-msgstr "Alle verfügbaren Felder"
-
-#: ../../Zotlabs/Module/Admin.php:2111
-msgid "Custom Fields"
-msgstr "Benutzerdefinierte Felder"
-
-#: ../../Zotlabs/Module/Admin.php:2115
-msgid "Create Custom Field"
-msgstr "Erstelle benutzerdefiniertes Feld"
-
-#: ../../Zotlabs/Module/New_channel.php:128
-#: ../../Zotlabs/Module/Register.php:231
-msgid "Name or caption"
-msgstr "Name oder Titel"
-
-#: ../../Zotlabs/Module/New_channel.php:128
-#: ../../Zotlabs/Module/Register.php:231
-msgid "Examples: \"Bob Jameson\", \"Lisa and her Horses\", \"Soccer\", \"Aviation Group\""
-msgstr "Beispiele: „Horst Weidinger“, „Lisa und ihr Meerschweinchen“, „Fußball“, „Segelflieger-Forum“ "
+"Url rewrite in .htaccess is not working. Check your server "
+"configuration.Test: "
+msgstr "Das Umschreiben von URLs (rewrite) per .htaccess funktioniert nicht. Bitte prüfe die Server-Konfiguration. Test:"
-#: ../../Zotlabs/Module/New_channel.php:130
-#: ../../Zotlabs/Module/Register.php:233
-msgid "Choose a short nickname"
-msgstr "Wähle einen kurzen Spitznamen"
+#: ../../Zotlabs/Module/Setup.php:662
+msgid "Url rewrite is working"
+msgstr "Url rewrite funktioniert"
-#: ../../Zotlabs/Module/New_channel.php:130
-#: ../../Zotlabs/Module/Register.php:233
-#, php-format
+#: ../../Zotlabs/Module/Setup.php:671
msgid ""
-"Your nickname will be used to create an easy to remember channel address "
-"e.g. nickname%s"
-msgstr "Dein Spitzname wird verwendet, um eine leicht zu merkende Kanal-Adresse (ähnlich einer E-Mail-Adresse) zu erzeugen, die Du mit anderen austauschen kannst, z.B. nickname%s"
-
-#: ../../Zotlabs/Module/New_channel.php:132
-#: ../../Zotlabs/Module/Register.php:235
-msgid "Channel role and privacy"
-msgstr "Kanaltyp und Privatspäre-Einstellungen"
-
-#: ../../Zotlabs/Module/New_channel.php:132
-#: ../../Zotlabs/Module/Register.php:235
-msgid "Select a channel role with your privacy requirements."
-msgstr "Wähle einen passenden Kanaltyp mit den zugehörigen Voreinstellungen zur Privatsphäre."
-
-#: ../../Zotlabs/Module/New_channel.php:132
-#: ../../Zotlabs/Module/Register.php:235
-msgid "Read more about roles"
-msgstr "Mehr Informationen über Rollen"
+"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 "Die Datenbank-Konfigurationsdatei „.htconfig.php“ konnte nicht geschrieben werden. Bitte verwende den unten angegebenen Text, um die Konfigurationsdatei im Stammverzeichnis des Webservers anzulegen."
-#: ../../Zotlabs/Module/New_channel.php:135
-msgid "Create Channel"
-msgstr "Einen neuen Kanal anlegen"
+#: ../../Zotlabs/Module/Setup.php:695
+msgid "Errors encountered creating database tables."
+msgstr "Fehler beim Anlegen der Datenbank-Tabellen aufgetreten."
-#: ../../Zotlabs/Module/New_channel.php:136
-msgid ""
-"A channel is your identity on this network. It can represent a person, a "
-"blog, or a forum to name a few. Channels can make connections with other "
-"channels to share information with highly detailed permissions."
-msgstr "Ein Kanal ist Deine Identität in diesem Netzwerk. Er kann eine Person, ein Blog oder ein Forum repräsentieren, nur um ein paar Beispiele zu nennen. Kanäle können Verbindungen miteinander eingehen, um Informationen zu teilen, jeweils basierend auf sehr detaillierten Berechtigungseinstellungen."
+#: ../../Zotlabs/Module/Setup.php:732
+msgid "<h1>What next</h1>"
+msgstr "<h1>Was als Nächstes</h1>"
-#: ../../Zotlabs/Module/New_channel.php:137
+#: ../../Zotlabs/Module/Setup.php:733
msgid ""
-"or <a href=\"import\">import an existing channel</a> from another location."
-msgstr "oder <a href=\"import\">importiere einen bestehenden Kanal</a> von einem anderen Server."
-
-#: ../../Zotlabs/Module/Ping.php:265
-msgid "sent you a private message"
-msgstr "hat Dir eine private Nachricht geschickt"
-
-#: ../../Zotlabs/Module/Ping.php:313
-msgid "added your channel"
-msgstr "hat deinen Kanal hinzugefügt"
-
-#: ../../Zotlabs/Module/Ping.php:323
-msgid "g A l F d"
-msgstr "l, d. F, G:i \\U\\h\\r"
-
-#: ../../Zotlabs/Module/Ping.php:346
-msgid "[today]"
-msgstr "[Heute]"
-
-#: ../../Zotlabs/Module/Ping.php:355
-msgid "posted an event"
-msgstr "hat einen Termin veröffentlicht"
-
-#: ../../Zotlabs/Module/Notifications.php:30
-msgid "Invalid request identifier."
-msgstr "Ungültiger Anfrage-Identifikator."
-
-#: ../../Zotlabs/Module/Notifications.php:39
-msgid "Discard"
-msgstr "Verwerfen"
-
-#: ../../Zotlabs/Module/Notifications.php:103 ../../include/nav.php:195
-msgid "Mark all system notifications seen"
-msgstr "Markiere alle System-Benachrichtigungen als gesehen"
-
-#: ../../Zotlabs/Module/Poke.php:168 ../../Zotlabs/Lib/Apps.php:228
-#: ../../include/conversation.php:964
-msgid "Poke"
-msgstr "Anstupsen"
-
-#: ../../Zotlabs/Module/Poke.php:169
-msgid "Poke somebody"
-msgstr "Jemanden anstupsen"
-
-#: ../../Zotlabs/Module/Poke.php:172
-msgid "Poke/Prod"
-msgstr "Anstupsen/Knuffen"
-
-#: ../../Zotlabs/Module/Poke.php:173
-msgid "Poke, prod or do other things to somebody"
-msgstr "Jemanden anstupsen, knuffen oder sonstiges"
-
-#: ../../Zotlabs/Module/Poke.php:180
-msgid "Recipient"
-msgstr "Empfänger"
-
-#: ../../Zotlabs/Module/Poke.php:181
-msgid "Choose what you wish to do to recipient"
-msgstr "Wähle, was Du mit dem/r Empfänger/in tun willst"
-
-#: ../../Zotlabs/Module/Poke.php:184 ../../Zotlabs/Module/Poke.php:185
-msgid "Make this post private"
-msgstr "Diesen Beitrag privat machen"
+"IMPORTANT: You will need to [manually] setup a scheduled task for the "
+"poller."
+msgstr "WICHTIG: Du musst [manuell] einen Cronjob für den Poller einrichten."
#: ../../Zotlabs/Module/Oexchange.php:27
msgid "Unable to find your hub."
@@ -5470,82 +4587,10 @@ msgid ""
" to correctly use this feature."
msgstr "Warnung: Einige Einstellungen können Deinen Kanal funktionsunfähig machen. Bitte verlasse diese Seite, es sei denn Du bist vertraut damit, wie dieses Feature korrekt verwendet wird."
-#: ../../Zotlabs/Module/Wiki.php:34
-msgid "Not found"
-msgstr "Nicht gefunden"
-
-#: ../../Zotlabs/Module/Wiki.php:97 ../../Zotlabs/Lib/Apps.php:219
-#: ../../include/features.php:57 ../../include/nav.php:110
-#: ../../include/conversation.php:1715 ../../include/conversation.php:1718
-msgid "Wiki"
-msgstr "Wiki"
-
-#: ../../Zotlabs/Module/Wiki.php:98
-msgid "Sandbox"
-msgstr "Sandbox"
-
-#: ../../Zotlabs/Module/Wiki.php:100
-msgid ""
-"\"# Wiki Sandbox\\n\\nContent you **edit** and **preview** here *will not be"
-" saved*.\""
-msgstr "\"# Wiki Sandkasten\\n\\nInhalte, die Du hier **veränderst** und **als Vorschau anzeigst**, *werden nicht gespeichert*.\""
-
-#: ../../Zotlabs/Module/Wiki.php:169
-msgid "Revision Comparison"
-msgstr "Revisionsvergleich"
-
-#: ../../Zotlabs/Module/Wiki.php:170
-msgid "Revert"
-msgstr "Rückgängig machen"
-
-#: ../../Zotlabs/Module/Wiki.php:201
-msgid "Enter the name of your new wiki:"
-msgstr "Gib einen Namen für Dein neues Wiki ein:"
-
-#: ../../Zotlabs/Module/Wiki.php:202
-msgid "Enter the name of the new page:"
-msgstr "Geben Sie den Namen der neuen Seite ein:"
-
-#: ../../Zotlabs/Module/Wiki.php:203
-msgid "Enter the new name:"
-msgstr "Geben Sie den neuen Namen ein:"
-
-#: ../../Zotlabs/Module/Wiki.php:209 ../../include/conversation.php:1151
-msgid "Embed image from photo albums"
-msgstr "Bild aus Fotoalben einbetten"
-
-#: ../../Zotlabs/Module/Wiki.php:210 ../../include/conversation.php:1235
-msgid "Embed an image from your albums"
-msgstr "Betten Sie ein Bild aus Ihren Alben ein"
-
-#: ../../Zotlabs/Module/Wiki.php:212 ../../include/conversation.php:1237
-#: ../../include/conversation.php:1278
-msgid "OK"
-msgstr "Ok"
-
-#: ../../Zotlabs/Module/Wiki.php:213 ../../include/conversation.php:1187
-msgid "Choose images to embed"
-msgstr "Wählen Sie Bilder zum Einbetten aus"
-
-#: ../../Zotlabs/Module/Wiki.php:214 ../../include/conversation.php:1188
-msgid "Choose an album"
-msgstr "Wählen Sie ein Album aus"
-
-#: ../../Zotlabs/Module/Wiki.php:215 ../../include/conversation.php:1189
-msgid "Choose a different album..."
-msgstr "Wählen Sie ein anderes Album aus..."
-
-#: ../../Zotlabs/Module/Wiki.php:216 ../../include/conversation.php:1190
-msgid "Error getting album list"
-msgstr "Fehler beim Holen der Albenliste"
-
-#: ../../Zotlabs/Module/Wiki.php:217 ../../include/conversation.php:1191
-msgid "Error getting photo link"
-msgstr "Fehler beim Holen des Fotolinks"
-
-#: ../../Zotlabs/Module/Wiki.php:218 ../../include/conversation.php:1192
-msgid "Error getting album"
-msgstr "Fehler beim Holen des Albums"
+#: ../../Zotlabs/Module/Apps.php:46 ../../include/nav.php:168
+#: ../../include/widgets.php:102
+msgid "Apps"
+msgstr "Apps"
#: ../../Zotlabs/Module/Siteinfo.php:19
#, php-format
@@ -5606,7 +4651,7 @@ msgstr "Vorschläge, Lob, usw.: E-Mail an 'redmatrix' at librelist - dot - com"
msgid "Site Administrators"
msgstr "Administratoren"
-#: ../../Zotlabs/Module/Blocks.php:154 ../../include/text.php:2262
+#: ../../Zotlabs/Module/Blocks.php:154 ../../include/text.php:2308
msgid "Blocks"
msgstr "Blöcke"
@@ -5614,10 +4659,16 @@ msgstr "Blöcke"
msgid "Block Title"
msgstr "Titel des Blocks"
-#: ../../Zotlabs/Module/Layouts.php:183 ../../include/text.php:2264
+#: ../../Zotlabs/Module/Layouts.php:183 ../../include/text.php:2310
msgid "Layouts"
msgstr "Layouts"
+#: ../../Zotlabs/Module/Layouts.php:185 ../../Zotlabs/Lib/Apps.php:225
+#: ../../include/nav.php:164 ../../include/help.php:44
+#: ../../include/help.php:49
+msgid "Help"
+msgstr "Hilfe"
+
#: ../../Zotlabs/Module/Layouts.php:185
msgid "Comanche page description language help"
msgstr "Hilfe zur Comanche-Seitenbeschreibungssprache"
@@ -5630,11 +4681,57 @@ msgstr "Layout-Beschreibung"
msgid "Download PDL file"
msgstr "PDL-Datei herunterladen"
-#: ../../Zotlabs/Module/Pubsites.php:22 ../../include/widgets.php:1351
+#: ../../Zotlabs/Module/Profile_photo.php:115
+#: ../../Zotlabs/Module/Profile_photo.php:212
+#: ../../Zotlabs/Module/Profile_photo.php:311
+#: ../../Zotlabs/Module/Photos.php:97 ../../Zotlabs/Module/Photos.php:734
+#: ../../include/photo/photo_driver.php:718
+msgid "Profile Photos"
+msgstr "Profilfotos"
+
+#: ../../Zotlabs/Module/Profile_photo.php:186
+msgid ""
+"Shift-reload the page or clear browser cache if the new photo does not "
+"display immediately."
+msgstr "Leere den Browser Cache oder nutze Umschalten-Neu Laden, falls das neue Foto nicht sofort angezeigt wird."
+
+#: ../../Zotlabs/Module/Profile_photo.php:389
+msgid "Upload Profile Photo"
+msgstr "Lade neues Profilfoto hoch"
+
+#: ../../Zotlabs/Module/Cal.php:69
+msgid "Permissions denied."
+msgstr "Berechtigung verweigert."
+
+#: ../../Zotlabs/Module/Cal.php:337 ../../include/text.php:2332
+msgid "Import"
+msgstr "Import"
+
+#: ../../Zotlabs/Module/Common.php:14
+msgid "No channel."
+msgstr "Kein Kanal."
+
+#: ../../Zotlabs/Module/Common.php:43
+msgid "Common connections"
+msgstr "Gemeinsame Verbindungen"
+
+#: ../../Zotlabs/Module/Common.php:48
+msgid "No connections in common."
+msgstr "Keine gemeinsamen Verbindungen."
+
+#: ../../Zotlabs/Module/Acl.php:313
+msgid "network"
+msgstr "Netzwerk"
+
+#: ../../Zotlabs/Module/Acl.php:323
+msgid "RSS"
+msgstr "RSS"
+
+#: ../../Zotlabs/Module/Pubsites.php:24 ../../include/widgets.php:1392
msgid "Public Hubs"
msgstr "Öffentliche Hubs"
-#: ../../Zotlabs/Module/Pubsites.php:25
+#: ../../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 "
@@ -5643,338 +4740,343 @@ msgid ""
"additional details."
msgstr "Die hier aufgeführten Hubs sind öffentlich und erlauben die Registrierung im $Projectname Netzwerk. Alle Hubs dieses Netzwerks sind miteinander verbunden, so dass die Mitgliedschaft auf einem Hub die Verbindung zu beliebigen Seiten und Kanälen auf anderen Hubs ermöglicht. Es könnte sein, dass einige dieser Hubs kostenpflichtig sind oder abgestufte, je nach Umfang kostenpflichtige Mitgliedschaften anbieten. Auf den Seiten der einzelnen Hubs <strong>könnten</strong> jeweils nähere Informationen dazu stehen."
-#: ../../Zotlabs/Module/Pubsites.php:31
+#: ../../Zotlabs/Module/Pubsites.php:33
msgid "Hub URL"
msgstr "Hub-URL"
-#: ../../Zotlabs/Module/Pubsites.php:31
+#: ../../Zotlabs/Module/Pubsites.php:33
msgid "Access Type"
msgstr "Zugriffstyp"
-#: ../../Zotlabs/Module/Pubsites.php:31
+#: ../../Zotlabs/Module/Pubsites.php:33
msgid "Registration Policy"
msgstr "Registrierungsrichtlinien"
-#: ../../Zotlabs/Module/Pubsites.php:31
+#: ../../Zotlabs/Module/Pubsites.php:33
msgid "Stats"
msgstr "Statistiken"
-#: ../../Zotlabs/Module/Pubsites.php:31
+#: ../../Zotlabs/Module/Pubsites.php:33
msgid "Software"
msgstr "Software"
-#: ../../Zotlabs/Module/Pubsites.php:31 ../../Zotlabs/Module/Ratings.php:103
-#: ../../include/conversation.php:963
-msgid "Ratings"
-msgstr "Bewertungen"
-
-#: ../../Zotlabs/Module/Pubsites.php:38
+#: ../../Zotlabs/Module/Pubsites.php:48
msgid "Rate"
msgstr "Bewerten"
-#: ../../Zotlabs/Module/Profile_photo.php:186
-msgid ""
-"Shift-reload the page or clear browser cache if the new photo does not "
-"display immediately."
-msgstr "Leere den Browser Cache oder nutze Umschalten-Neu Laden, falls das neue Foto nicht sofort angezeigt wird."
+#: ../../Zotlabs/Module/Pdledit.php:21
+msgid "Layout updated."
+msgstr "Layout aktualisiert."
-#: ../../Zotlabs/Module/Profile_photo.php:389
-msgid "Upload Profile Photo"
-msgstr "Lade neues Profilfoto hoch"
+#: ../../Zotlabs/Module/Pdledit.php:34 ../../Zotlabs/Module/Chat.php:218
+msgid "Feature disabled."
+msgstr "Funktion deaktiviert."
-#: ../../Zotlabs/Module/Cal.php:69
-msgid "Permissions denied."
-msgstr "Berechtigung verweigert."
+#: ../../Zotlabs/Module/Pdledit.php:42 ../../Zotlabs/Module/Pdledit.php:69
+msgid "Edit System Page Description"
+msgstr "Systemseitenbeschreibung bearbeiten"
-#: ../../Zotlabs/Module/Cal.php:337 ../../include/text.php:2286
-msgid "Import"
-msgstr "Import"
+#: ../../Zotlabs/Module/Pdledit.php:64
+msgid "Layout not found."
+msgstr "Layout nicht gefunden."
-#: ../../Zotlabs/Module/Common.php:14
-msgid "No channel."
-msgstr "Kein Kanal."
+#: ../../Zotlabs/Module/Pdledit.php:70
+msgid "Module Name:"
+msgstr "Modulname:"
-#: ../../Zotlabs/Module/Common.php:43
-msgid "Common connections"
-msgstr "Gemeinsame Verbindungen"
+#: ../../Zotlabs/Module/Pdledit.php:71
+msgid "Layout Help"
+msgstr "Layout-Hilfe"
-#: ../../Zotlabs/Module/Common.php:48
-msgid "No connections in common."
-msgstr "Keine gemeinsamen Verbindungen."
+#: ../../Zotlabs/Module/Connedit.php:80
+msgid "Could not access contact record."
+msgstr "Konnte nicht auf den Kontakteintrag zugreifen."
-#: ../../Zotlabs/Module/Register.php:49
-msgid "Maximum daily site registrations exceeded. Please try again tomorrow."
-msgstr "Maximale Anzahl täglicher Neuanmeldungen erreicht. Bitte versuche es morgen noch einmal."
+#: ../../Zotlabs/Module/Connedit.php:104
+msgid "Could not locate selected profile."
+msgstr "Gewähltes Profil nicht gefunden."
-#: ../../Zotlabs/Module/Register.php:55
-msgid ""
-"Please indicate acceptance of the Terms of Service. Registration failed."
-msgstr "Bitte stimme den Nutzungsbedingungen zu. Registrierung fehlgeschlagen."
+#: ../../Zotlabs/Module/Connedit.php:256
+msgid "Connection updated."
+msgstr "Verbindung aktualisiert."
-#: ../../Zotlabs/Module/Register.php:89
-msgid "Passwords do not match."
-msgstr "Passwörter stimmen nicht überein."
+#: ../../Zotlabs/Module/Connedit.php:258
+msgid "Failed to update connection record."
+msgstr "Konnte den Verbindungseintrag nicht aktualisieren."
-#: ../../Zotlabs/Module/Register.php:131
-msgid ""
-"Registration successful. Please check your email for validation "
-"instructions."
-msgstr "Registrierung erfolgreich. Eine E-Mail mit weiteren Anweisungen wurde an Dich gesendet."
+#: ../../Zotlabs/Module/Connedit.php:308
+msgid "is now connected to"
+msgstr "ist jetzt verbunden mit"
-#: ../../Zotlabs/Module/Register.php:137
-msgid "Your registration is pending approval by the site owner."
-msgstr "Deine Registrierung muss noch vom Betreiber der Seite freigegeben werden."
+#: ../../Zotlabs/Module/Connedit.php:440
+msgid "Could not access address book record."
+msgstr "Konnte nicht auf den Adressbuch-Eintrag zugreifen."
-#: ../../Zotlabs/Module/Register.php:140
-msgid "Your registration can not be processed."
-msgstr "Deine Registrierung konnte nicht verarbeitet werden."
+#: ../../Zotlabs/Module/Connedit.php:460
+msgid "Refresh failed - channel is currently unavailable."
+msgstr "Aktualisierung fehlgeschlagen – der Kanal ist im Moment nicht erreichbar."
-#: ../../Zotlabs/Module/Register.php:184
-msgid "Registration on this hub is disabled."
-msgstr "Die Registrierung auf diesem Hub ist nicht möglich."
+#: ../../Zotlabs/Module/Connedit.php:475 ../../Zotlabs/Module/Connedit.php:484
+#: ../../Zotlabs/Module/Connedit.php:493 ../../Zotlabs/Module/Connedit.php:502
+#: ../../Zotlabs/Module/Connedit.php:515
+msgid "Unable to set address book parameters."
+msgstr "Konnte die Adressbuch-Parameter nicht setzen."
-#: ../../Zotlabs/Module/Register.php:193
-msgid "Registration on this hub is by approval only."
-msgstr "Eine Registrierung auf diesem Hub erfordert die Zustimmung durch den Administrator."
+#: ../../Zotlabs/Module/Connedit.php:538
+msgid "Connection has been removed."
+msgstr "Verbindung wurde gelöscht."
-#: ../../Zotlabs/Module/Register.php:194
-msgid "<a href=\"pubsites\">Register at another affiliated hub.</a>"
-msgstr "<a href=\"pubsites\">Registriere Dich auf einem der anderen verbundenen Hubs.</a>"
+#: ../../Zotlabs/Module/Connedit.php:554 ../../Zotlabs/Lib/Apps.php:221
+#: ../../include/nav.php:89 ../../include/conversation.php:955
+msgid "View Profile"
+msgstr "Profil ansehen"
-#: ../../Zotlabs/Module/Register.php:204
-msgid ""
-"This site has exceeded the number of allowed daily account registrations. "
-"Please try again tomorrow."
-msgstr "Die maximale Anzahl täglicher Registrierungen auf diesem Server wurde überschritten. Bitte versuche es morgen noch einmal."
+#: ../../Zotlabs/Module/Connedit.php:557
+#, php-format
+msgid "View %s's profile"
+msgstr "%ss Profil ansehen"
-#: ../../Zotlabs/Module/Register.php:215
-msgid "Terms of Service"
-msgstr "Nutzungsbedingungen"
+#: ../../Zotlabs/Module/Connedit.php:561
+msgid "Refresh Permissions"
+msgstr "Zugriffsrechte neu laden"
-#: ../../Zotlabs/Module/Register.php:221
-#, php-format
-msgid "I accept the %s for this website"
-msgstr "Ich akzeptiere die %s für diese Webseite"
+#: ../../Zotlabs/Module/Connedit.php:564
+msgid "Fetch updated permissions"
+msgstr "Aktualisierte Zugriffsrechte abfragen"
-#: ../../Zotlabs/Module/Register.php:223
-#, php-format
-msgid "I am over 13 years of age and accept the %s for this website"
-msgstr "Ich bin älter als 13 Jahre und akzeptiere die %s dieser Webseite"
+#: ../../Zotlabs/Module/Connedit.php:568
+msgid "Recent Activity"
+msgstr "Kürzliche Aktivitäten"
-#: ../../Zotlabs/Module/Register.php:227
-msgid "Your email address"
-msgstr "Ihre E-Mail Adresse"
+#: ../../Zotlabs/Module/Connedit.php:571
+msgid "View recent posts and comments"
+msgstr "Betrachte die neuesten Beiträge und Kommentare"
-#: ../../Zotlabs/Module/Register.php:228
-msgid "Choose a password"
-msgstr "Passwort"
+#: ../../Zotlabs/Module/Connedit.php:578
+msgid "Block (or Unblock) all communications with this connection"
+msgstr "Jegliche Kommunikation mit dieser Verbindung blockieren/zulassen"
-#: ../../Zotlabs/Module/Register.php:229
-msgid "Please re-enter your password"
-msgstr "Bitte gib Dein Passwort noch einmal ein"
+#: ../../Zotlabs/Module/Connedit.php:579
+msgid "This connection is blocked!"
+msgstr "Die Verbindung ist geblockt!"
-#: ../../Zotlabs/Module/Register.php:230
-msgid "Please enter your invitation code"
-msgstr "Bitte trage Deinen Einladungs-Code ein"
+#: ../../Zotlabs/Module/Connedit.php:583
+msgid "Unignore"
+msgstr "Nicht ignorieren"
-#: ../../Zotlabs/Module/Register.php:236
-msgid "no"
-msgstr "nein"
+#: ../../Zotlabs/Module/Connedit.php:586
+msgid "Ignore (or Unignore) all inbound communications from this connection"
+msgstr "Jegliche eingehende Kommunikation von dieser Verbindung ignorieren/zulassen"
-#: ../../Zotlabs/Module/Register.php:236
-msgid "yes"
-msgstr "ja"
+#: ../../Zotlabs/Module/Connedit.php:587
+msgid "This connection is ignored!"
+msgstr "Die Verbindung wird ignoriert!"
-#: ../../Zotlabs/Module/Register.php:253
-msgid "Membership on this site is by invitation only."
-msgstr "Mitgliedschaft auf dieser Seite ist nur nach vorheriger Einladung möglich."
+#: ../../Zotlabs/Module/Connedit.php:591
+msgid "Unarchive"
+msgstr "Aus Archiv zurückholen"
-#: ../../Zotlabs/Module/Register.php:265 ../../include/nav.php:151
-#: ../../boot.php:1695
-msgid "Register"
-msgstr "Registrieren"
+#: ../../Zotlabs/Module/Connedit.php:591
+msgid "Archive"
+msgstr "Archivieren"
-#: ../../Zotlabs/Module/Register.php:266
+#: ../../Zotlabs/Module/Connedit.php:594
msgid ""
-"This site may require email verification after submitting this form. If you "
-"are returned to a login page, please check your email for instructions."
-msgstr "Diese Seite verlangt möglicherweise eine Emailbestätigung nach dem Ansenden des Formulars. Wenn Du auf eine Login-Seite zurückgeleitet wirst, prüfe bitte auf neue Mail mit entsprechenden Hinweisen."
+"Archive (or Unarchive) this connection - mark channel dead but keep content"
+msgstr "Verbindung archivieren/aus dem Archiv zurückholen (Archiv = Kanal als erloschen markieren, aber die Beiträge behalten)"
-#: ../../Zotlabs/Module/Ratings.php:73
-msgid "No ratings"
-msgstr "Keine Bewertungen"
+#: ../../Zotlabs/Module/Connedit.php:595
+msgid "This connection is archived!"
+msgstr "Die Verbindung ist archiviert!"
-#: ../../Zotlabs/Module/Ratings.php:104
-msgid "Rating: "
-msgstr "Bewertung: "
+#: ../../Zotlabs/Module/Connedit.php:599
+msgid "Unhide"
+msgstr "Wieder sichtbar machen"
-#: ../../Zotlabs/Module/Ratings.php:105
-msgid "Website: "
-msgstr "Webseite: "
+#: ../../Zotlabs/Module/Connedit.php:599
+msgid "Hide"
+msgstr "Verstecken"
-#: ../../Zotlabs/Module/Ratings.php:107
-msgid "Description: "
-msgstr "Beschreibung: "
+#: ../../Zotlabs/Module/Connedit.php:602
+msgid "Hide or Unhide this connection from your other connections"
+msgstr "Diese Verbindung vor anderen Verbindungen verstecken/zeigen"
-#: ../../Zotlabs/Module/Apps.php:47 ../../include/nav.php:167
-#: ../../include/widgets.php:102
-msgid "Apps"
-msgstr "Apps"
+#: ../../Zotlabs/Module/Connedit.php:603
+msgid "This connection is hidden!"
+msgstr "Die Verbindung ist versteckt!"
-#: ../../Zotlabs/Module/Mitem.php:52
-msgid "Unable to create element."
-msgstr "Element konnte nicht erstellt werden."
+#: ../../Zotlabs/Module/Connedit.php:610
+msgid "Delete this connection"
+msgstr "Verbindung löschen"
-#: ../../Zotlabs/Module/Mitem.php:76
-msgid "Unable to update menu element."
-msgstr "Kann Menü-Element nicht aktualisieren."
+#: ../../Zotlabs/Module/Connedit.php:625 ../../include/widgets.php:529
+msgid "Me"
+msgstr "Ich"
-#: ../../Zotlabs/Module/Mitem.php:92
-msgid "Unable to add menu element."
-msgstr "Kann Menü-Bestandteil nicht hinzufügen."
+#: ../../Zotlabs/Module/Connedit.php:626 ../../include/widgets.php:530
+msgid "Family"
+msgstr "Familie"
-#: ../../Zotlabs/Module/Mitem.php:153 ../../Zotlabs/Module/Mitem.php:230
-msgid "Menu Item Permissions"
-msgstr "Zugriffsrechte des Menü-Elements"
+#: ../../Zotlabs/Module/Connedit.php:627
+#: ../../Zotlabs/Module/Settings/Channel.php:61
+#: ../../Zotlabs/Module/Settings/Channel.php:65
+#: ../../Zotlabs/Module/Settings/Channel.php:66
+#: ../../Zotlabs/Module/Settings/Channel.php:69
+#: ../../Zotlabs/Module/Settings/Channel.php:80
+#: ../../include/selectors.php:123 ../../include/channel.php:402
+#: ../../include/channel.php:403 ../../include/channel.php:410
+#: ../../include/widgets.php:531
+msgid "Friends"
+msgstr "Freunde"
-#: ../../Zotlabs/Module/Mitem.php:160 ../../Zotlabs/Module/Mitem.php:176
-msgid "Link Name"
-msgstr "Name des Links"
+#: ../../Zotlabs/Module/Connedit.php:628 ../../include/widgets.php:532
+msgid "Acquaintances"
+msgstr "Bekannte"
-#: ../../Zotlabs/Module/Mitem.php:161 ../../Zotlabs/Module/Mitem.php:239
-msgid "Link or Submenu Target"
-msgstr "Ziel des Links oder Untermenüs"
+#: ../../Zotlabs/Module/Connedit.php:686
+msgid "Approve this connection"
+msgstr "Verbindung genehmigen"
-#: ../../Zotlabs/Module/Mitem.php:161
-msgid "Enter URL of the link or select a menu name to create a submenu"
-msgstr "URL des Links eingeben oder Menünamen wählen, um ein Untermenü anzulegen."
+#: ../../Zotlabs/Module/Connedit.php:686
+msgid "Accept connection to allow communication"
+msgstr "Akzeptiere die Verbindung, um Kommunikation zu ermöglichen"
-#: ../../Zotlabs/Module/Mitem.php:162 ../../Zotlabs/Module/Mitem.php:240
-msgid "Use magic-auth if available"
-msgstr "Magic-Auth verwenden, falls verfügbar"
+#: ../../Zotlabs/Module/Connedit.php:691
+msgid "Set Affinity"
+msgstr "Beziehung festlegen"
-#: ../../Zotlabs/Module/Mitem.php:163 ../../Zotlabs/Module/Mitem.php:241
-msgid "Open link in new window"
-msgstr "Öffne Link in neuem Fenster"
+#: ../../Zotlabs/Module/Connedit.php:694
+msgid "Set Profile"
+msgstr "Profil festlegen"
-#: ../../Zotlabs/Module/Mitem.php:164 ../../Zotlabs/Module/Mitem.php:242
-msgid "Order in list"
-msgstr "Reihenfolge in der Liste"
+#: ../../Zotlabs/Module/Connedit.php:697
+msgid "Set Affinity & Profile"
+msgstr "Beziehung und Profile festlegen"
-#: ../../Zotlabs/Module/Mitem.php:164 ../../Zotlabs/Module/Mitem.php:242
-msgid "Higher numbers will sink to bottom of listing"
-msgstr "Größere Nummern werden weiter unten in der Auflistung einsortiert"
+#: ../../Zotlabs/Module/Connedit.php:746
+msgid "none"
+msgstr "Keine"
-#: ../../Zotlabs/Module/Mitem.php:165
-msgid "Submit and finish"
-msgstr "Absenden und fertigstellen"
+#: ../../Zotlabs/Module/Connedit.php:750 ../../include/widgets.php:656
+msgid "Connection Default Permissions"
+msgstr "Standardzugriffsrechte für neue Verbindungen:"
-#: ../../Zotlabs/Module/Mitem.php:166
-msgid "Submit and continue"
-msgstr "Absenden und fortfahren"
+#: ../../Zotlabs/Module/Connedit.php:750 ../../include/items.php:3983
+#, php-format
+msgid "Connection: %s"
+msgstr "Verbindung: %s"
-#: ../../Zotlabs/Module/Mitem.php:174
-msgid "Menu:"
-msgstr "Menü:"
+#: ../../Zotlabs/Module/Connedit.php:751
+msgid "Apply these permissions automatically"
+msgstr "Diese Berechtigungen automatisch anwenden"
-#: ../../Zotlabs/Module/Mitem.php:177
-msgid "Link Target"
-msgstr "Ziel des Links"
+#: ../../Zotlabs/Module/Connedit.php:751
+msgid "Connection requests will be approved without your interaction"
+msgstr "Verbindungsanfragen werden sofort bestätigt, ohne dass Deine aktive Zustimmung erforderlich ist."
-#: ../../Zotlabs/Module/Mitem.php:180
-msgid "Edit menu"
-msgstr "Menü bearbeiten"
+#: ../../Zotlabs/Module/Connedit.php:753
+msgid "This connection's primary address is"
+msgstr "Die Hauptadresse der Verbindung ist"
-#: ../../Zotlabs/Module/Mitem.php:183
-msgid "Edit element"
-msgstr "Bestandteil bearbeiten"
+#: ../../Zotlabs/Module/Connedit.php:754
+msgid "Available locations:"
+msgstr "Verfügbare Klone:"
-#: ../../Zotlabs/Module/Mitem.php:184
-msgid "Drop element"
-msgstr "Bestandteil löschen"
+#: ../../Zotlabs/Module/Connedit.php:758
+msgid ""
+"The permissions indicated on this page will be applied to all new "
+"connections."
+msgstr "Die auf dieser Seite angegebenen Berechtigungen werden auf alle neuen Verbindungen angewendet."
-#: ../../Zotlabs/Module/Mitem.php:185
-msgid "New element"
-msgstr "Neues Bestandteil"
+#: ../../Zotlabs/Module/Connedit.php:759
+msgid "Connection Tools"
+msgstr "Verbindungswerkzeuge"
-#: ../../Zotlabs/Module/Mitem.php:186
-msgid "Edit this menu container"
-msgstr "Diesen Menü-Container bearbeiten"
+#: ../../Zotlabs/Module/Connedit.php:761
+msgid "Slide to adjust your degree of friendship"
+msgstr "Verschieben, um den Grad der Freundschaft zu einzustellen"
-#: ../../Zotlabs/Module/Mitem.php:187
-msgid "Add menu element"
-msgstr "Menüelement hinzufügen"
+#: ../../Zotlabs/Module/Connedit.php:763
+msgid "Slide to adjust your rating"
+msgstr "Verschieben, um Deine Bewertung einzustellen"
-#: ../../Zotlabs/Module/Mitem.php:188
-msgid "Delete this menu item"
-msgstr "Lösche dieses Menü-Bestandteil"
+#: ../../Zotlabs/Module/Connedit.php:764 ../../Zotlabs/Module/Connedit.php:769
+msgid "Optionally explain your rating"
+msgstr "Optional kannst Du Deine Bewertung begründen"
-#: ../../Zotlabs/Module/Mitem.php:189
-msgid "Edit this menu item"
-msgstr "Bearbeite dieses Menü-Bestandteil"
+#: ../../Zotlabs/Module/Connedit.php:766
+msgid "Custom Filter"
+msgstr "Benutzerdefinierter Filter"
-#: ../../Zotlabs/Module/Mitem.php:206
-msgid "Menu item not found."
-msgstr "Menü-Bestandteil nicht gefunden."
+#: ../../Zotlabs/Module/Connedit.php:767
+msgid "Only import posts with this text"
+msgstr "Nur Beiträge mit diesem Text importieren"
-#: ../../Zotlabs/Module/Mitem.php:219
-msgid "Menu item deleted."
-msgstr "Menü-Bestandteil gelöscht."
+#: ../../Zotlabs/Module/Connedit.php:767 ../../Zotlabs/Module/Connedit.php:768
+msgid ""
+"words one per line or #tags or /patterns/ or lang=xx, leave blank to import "
+"all posts"
+msgstr "Einzelne Wörter pro Zeile, #Tags oder /Reguläre Ausdrücke/. lang=xx (z.B. lang=de) ermöglicht Filterung nach Sprache. Leer lassen, um alle Beiträge zu importieren."
-#: ../../Zotlabs/Module/Mitem.php:221
-msgid "Menu item could not be deleted."
-msgstr "Menü-Bestandteil kann nicht gelöscht werden."
+#: ../../Zotlabs/Module/Connedit.php:768
+msgid "Do not import posts with this text"
+msgstr "Beiträge mit diesem Text nicht importieren"
-#: ../../Zotlabs/Module/Mitem.php:228
-msgid "Edit Menu Element"
-msgstr "Bearbeite Menü-Bestandteil"
+#: ../../Zotlabs/Module/Connedit.php:770
+msgid "This information is public!"
+msgstr "Diese Information ist öffentlich!"
-#: ../../Zotlabs/Module/Mitem.php:238
-msgid "Link text"
-msgstr "Link Text"
+#: ../../Zotlabs/Module/Connedit.php:775
+msgid "Connection Pending Approval"
+msgstr "Verbindung wartet auf Bestätigung"
-#: ../../Zotlabs/Module/Connect.php:61 ../../Zotlabs/Module/Connect.php:109
-msgid "Continue"
-msgstr "Fortfahren"
+#: ../../Zotlabs/Module/Connedit.php:778
+#: ../../Zotlabs/Module/Settings/Tokens.php:163
+msgid "inherited"
+msgstr "geerbt"
-#: ../../Zotlabs/Module/Connect.php:90
-msgid "Premium Channel Setup"
-msgstr "Premium-Kanal-Einrichtung"
+#: ../../Zotlabs/Module/Connedit.php:780
+#, php-format
+msgid ""
+"Please choose the profile you would like to display to %s when viewing your "
+"profile securely."
+msgstr "Bitte wähle ein Profil, das wir %s zeigen sollen, wenn Deine Profilseite über eine verifizierte Verbindung aufgerufen wird."
-#: ../../Zotlabs/Module/Connect.php:92
-msgid "Enable premium channel connection restrictions"
-msgstr "Einschränkungen für einen Premium-Kanal aktivieren"
+#: ../../Zotlabs/Module/Connedit.php:782
+#: ../../Zotlabs/Module/Settings/Tokens.php:160
+msgid "Their Settings"
+msgstr "Deren Einstellungen"
-#: ../../Zotlabs/Module/Connect.php:93
-msgid ""
-"Please enter your restrictions or conditions, such as paypal receipt, usage "
-"guidelines, etc."
-msgstr "Bitte gib Deine Nutzungsbedingungen ein, z.B. Paypal-Quittung, Richtlinien etc."
+#: ../../Zotlabs/Module/Connedit.php:783
+#: ../../Zotlabs/Module/Settings/Tokens.php:161
+msgid "My Settings"
+msgstr "Meine Einstellungen"
-#: ../../Zotlabs/Module/Connect.php:95 ../../Zotlabs/Module/Connect.php:115
-msgid ""
-"This channel may require additional steps or acknowledgement of the "
-"following conditions prior to connecting:"
-msgstr "Unter Umständen sind weitere Schritte oder die Bestätigung der folgenden Bedingungen vor dem Verbinden mit diesem Kanal nötig."
+#: ../../Zotlabs/Module/Connedit.php:785
+#: ../../Zotlabs/Module/Settings/Tokens.php:165
+msgid "Individual Permissions"
+msgstr "Individuelle Zugriffsrechte"
-#: ../../Zotlabs/Module/Connect.php:96
+#: ../../Zotlabs/Module/Connedit.php:786
+#: ../../Zotlabs/Module/Settings/Tokens.php:166
msgid ""
-"Potential connections will then see the following text before proceeding:"
-msgstr "Potentielle Kontakte werden den folgenden Text sehen, bevor fortgefahren wird:"
+"Some permissions may be inherited from your channel's <a "
+"href=\"settings\"><strong>privacy settings</strong></a>, which have higher "
+"priority than individual settings. You can <strong>not</strong> change those"
+" settings here."
+msgstr "Einige Berechtigungen werden möglicherweise von den globalen <a href=\"settings\">Sicherheits- und Privatsphäre-Einstellungen</a> dieses Kanals vererbt. Diese haben eine höhere Priorität als die Einstellungen an der Verbindung und können hier nicht verändert werden."
-#: ../../Zotlabs/Module/Connect.php:97 ../../Zotlabs/Module/Connect.php:118
+#: ../../Zotlabs/Module/Connedit.php:787
msgid ""
-"By continuing, I certify that I have complied with any instructions provided"
-" on this page."
-msgstr "Indem ich fortfahre, bestätige ich die Erfüllung aller Anweisungen auf dieser Seite."
-
-#: ../../Zotlabs/Module/Connect.php:106
-msgid "(No specific instructions have been provided by the channel owner.)"
-msgstr "(Der Kanal-Besitzer hat keine speziellen Anweisungen hinterlegt.)"
+"Some permissions may be inherited from your channel's <a "
+"href=\"settings\"><strong>privacy settings</strong></a>, which have higher "
+"priority than individual settings. You can change those settings here but "
+"they wont have any impact unless the inherited setting changes."
+msgstr "Einige Berechtigungen werden möglicherweise von den globalen <a href=\"settings\">Sicherheits- und Privatsphäre-Einstellungen</a> dieses Kanals geerbt. Diese haben eine höhere Priorität als die Einstellungen an der Verbindung. Werden geerbte Einstellungen hier geändert, hat dies keine Auswirkungen."
-#: ../../Zotlabs/Module/Connect.php:114
-msgid "Restricted or Premium Channel"
-msgstr "Eingeschränkter oder Premium-Kanal"
+#: ../../Zotlabs/Module/Connedit.php:788
+msgid "Last update:"
+msgstr "Letzte Aktualisierung:"
#: ../../Zotlabs/Module/Rbmark.php:94
msgid "Select a bookmark folder"
@@ -5992,37 +5094,29 @@ msgstr "URL des Lesezeichens"
msgid "Or enter new bookmark folder name"
msgstr "Oder gib einen neuen Namen für den Lesezeichenordner ein"
-#: ../../Zotlabs/Module/Network.php:94
-msgid "No such group"
-msgstr "Gruppe nicht gefunden"
-
-#: ../../Zotlabs/Module/Network.php:134
-msgid "No such channel"
-msgstr "Kanal nicht gefunden"
-
-#: ../../Zotlabs/Module/Network.php:139
-msgid "forum"
-msgstr "Forum"
+#: ../../Zotlabs/Module/Regdir.php:49 ../../Zotlabs/Module/Dirsearch.php:25
+msgid "This site is not a directory server"
+msgstr "Diese Webseite ist kein Verzeichnisserver"
-#: ../../Zotlabs/Module/Network.php:151
-msgid "Search Results For:"
-msgstr "Suchergebnisse für:"
+#: ../../Zotlabs/Module/Rmagic.php:35
+msgid "Authentication failed."
+msgstr "Authentifizierung fehlgeschlagen."
-#: ../../Zotlabs/Module/Network.php:216
-msgid "Privacy group is empty"
-msgstr "Gruppe ist leer"
+#: ../../Zotlabs/Module/Rmagic.php:75
+msgid "Remote Authentication"
+msgstr "Entfernte Authentifizierung"
-#: ../../Zotlabs/Module/Network.php:225
-msgid "Privacy group: "
-msgstr "Gruppe:"
+#: ../../Zotlabs/Module/Rmagic.php:76
+msgid "Enter your channel address (e.g. channel@example.com)"
+msgstr "Deine Kanal-Adresse (z. B. channel@example.com)"
-#: ../../Zotlabs/Module/Network.php:251
-msgid "Invalid connection."
-msgstr "Ungültige Verbindung."
+#: ../../Zotlabs/Module/Rmagic.php:77
+msgid "Authenticate"
+msgstr "Authentifizieren"
-#: ../../Zotlabs/Module/Regmod.php:15
-msgid "Please login."
-msgstr "Bitte melde dich an."
+#: ../../Zotlabs/Module/Admin.php:1215
+msgid "Uncensor"
+msgstr "Freigeben"
#: ../../Zotlabs/Module/Removeaccount.php:35
msgid ""
@@ -6041,9 +5135,9 @@ msgstr "WARNUNG: "
#: ../../Zotlabs/Module/Removeaccount.php:58
msgid ""
-"This account and all its channels will be completely removed from the "
-"network. "
-msgstr "Dieses Konto mit all seinen Kanälen wird vollständig aus dem Netzwerk gelöscht."
+"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 "Alle ausgewählten Kanäle werden gelöscht!\\n\\nAlles was von diesen Kanälen auf diesem Server geschrieben wurde, wird dauerhaft gelöscht!\\n\\nBist Du sicher?"
#: ../../Zotlabs/Module/Removeaccount.php:58
#: ../../Zotlabs/Module/Removeme.php:61
@@ -6067,6 +5161,11 @@ msgid ""
"removed from the network"
msgstr "Standardmäßig werden nur die Kanalklone auf diesem $Projectname-Hub aus dem Netzwerk entfernt"
+#: ../../Zotlabs/Module/Removeaccount.php:61
+#: ../../Zotlabs/Module/Settings/Account.php:128
+msgid "Remove Account"
+msgstr "Konto entfernen"
+
#: ../../Zotlabs/Module/Removeme.php:35
msgid ""
"Channel removals are not allowed within 48 hours of changing the account "
@@ -6091,6 +5190,11 @@ msgid ""
"removed from the network"
msgstr "Standardmäßig wird der Kanal nur auf diesem Server gelöscht, seine Klone verbleiben im Netzwerk"
+#: ../../Zotlabs/Module/Removeme.php:64
+#: ../../Zotlabs/Module/Settings/Channel.php:544
+msgid "Remove Channel"
+msgstr "Kanal löschen"
+
#: ../../Zotlabs/Module/Uexport.php:55 ../../Zotlabs/Module/Uexport.php:56
msgid "Export Channel"
msgstr "Kanal exportieren"
@@ -6149,6 +5253,39 @@ msgid ""
" please import or restore these in date order (oldest first)."
msgstr "Diese Inhalts-Sicherungen können wiederhergestellt werden, indem Du <a href=\"%1$s\">%2$s</a> auf jeglichem Hub besuchst, der diesen Kanal enthält. Das funktioniert am besten, wenn Du dabei die zeitliche Reihenfolge einhältst, also die Sicherungen für den ältesten Zeitraum zuerst importierst."
+#: ../../Zotlabs/Module/Editpost.php:35
+msgid "Item is not editable"
+msgstr "Element kann nicht bearbeitet werden."
+
+#: ../../Zotlabs/Module/Admin.php:1396
+msgid "Custom repo name"
+msgstr "Benutzerdefinierter Repository-Name"
+
+#: ../../Zotlabs/Module/Admin.php:1396
+msgid "(optional)"
+msgstr "(optional)"
+
+#: ../../Zotlabs/Module/Channel.php:28 ../../Zotlabs/Module/Wiki.php:20
+#: ../../Zotlabs/Module/Chat.php:25
+msgid "You must be logged in to see this page."
+msgstr "Du musst angemeldet sein, um diese Seite betrachten zu können."
+
+#: ../../Zotlabs/Module/Channel.php:40
+msgid "Posts and comments"
+msgstr "Beiträge und Kommentare"
+
+#: ../../Zotlabs/Module/Channel.php:41
+msgid "Only posts"
+msgstr "Nur Beiträge"
+
+#: ../../Zotlabs/Module/Channel.php:101
+msgid "Insufficient permissions. Request redirected to profile page."
+msgstr "Unzureichende Zugriffsrechte. Die Anfrage wurde zur Profil-Seite umgeleitet."
+
+#: ../../Zotlabs/Module/Service_limits.php:23
+msgid "No service class restrictions found."
+msgstr "Keine Dienstklassenbeschränkungen gefunden."
+
#: ../../Zotlabs/Module/Thing.php:114
msgid "Thing updated"
msgstr "Sache aktualisiert"
@@ -6206,52 +5343,9 @@ msgstr "URL eines Fotos der Sache (optional)"
msgid "Add Thing to your Profile"
msgstr "Die Sache Deinem Profil hinzufügen"
-#: ../../Zotlabs/Module/Search.php:216
-#, php-format
-msgid "Items tagged with: %s"
-msgstr "Beiträge mit Schlagwort: %s"
-
-#: ../../Zotlabs/Module/Search.php:218
-#, php-format
-msgid "Search results for: %s"
-msgstr "Suchergebnisse für: %s"
-
-#: ../../Zotlabs/Module/Service_limits.php:23
-msgid "No service class restrictions found."
-msgstr "Keine Dienstklassenbeschränkungen gefunden."
-
-#: ../../Zotlabs/Module/Rate.php:160
-msgid "Website:"
-msgstr "Webseite:"
-
-#: ../../Zotlabs/Module/Rate.php:163
-#, php-format
-msgid "Remote Channel [%s] (not yet known on this site)"
-msgstr "Kanal [%s] (auf diesem Server noch unbekannt)"
-
-#: ../../Zotlabs/Module/Rate.php:164
-msgid "Rating (this information is public)"
-msgstr "Bewertung (öffentlich sichtbar)"
-
-#: ../../Zotlabs/Module/Rate.php:165
-msgid "Optionally explain your rating (this information is public)"
-msgstr "Optional kannst du deine Bewertung erklären (öffentlich sichtbar)"
-
-#: ../../Zotlabs/Module/Rmagic.php:35
-msgid "Authentication failed."
-msgstr "Authentifizierung fehlgeschlagen."
-
-#: ../../Zotlabs/Module/Rmagic.php:75
-msgid "Remote Authentication"
-msgstr "Entfernte Authentifizierung"
-
-#: ../../Zotlabs/Module/Rmagic.php:76
-msgid "Enter your channel address (e.g. channel@example.com)"
-msgstr "Deine Kanal-Adresse (z. B. channel@example.com)"
-
-#: ../../Zotlabs/Module/Rmagic.php:77
-msgid "Authenticate"
-msgstr "Authentifizieren"
+#: ../../Zotlabs/Module/Dirsearch.php:33
+msgid "This directory server requires an access token"
+msgstr "Dieser Verzeichnisserver benötigt einen Zugriffstoken"
#: ../../Zotlabs/Module/Sharedwithme.php:98
msgid "Files: shared with me"
@@ -6269,9 +5363,82 @@ msgstr "Alle Dateien löschen"
msgid "Remove this file"
msgstr "Diese Datei löschen"
-#: ../../Zotlabs/Module/Follow.php:34
-msgid "Channel added."
-msgstr "Kanal hinzugefügt."
+#: ../../Zotlabs/Module/Wiki.php:34
+msgid "Not found"
+msgstr "Nicht gefunden"
+
+#: ../../Zotlabs/Module/Wiki.php:97 ../../Zotlabs/Lib/Apps.php:219
+#: ../../include/nav.php:111 ../../include/conversation.php:1734
+#: ../../include/conversation.php:1737 ../../include/features.php:57
+msgid "Wiki"
+msgstr "Wiki"
+
+#: ../../Zotlabs/Module/Wiki.php:98
+msgid "Sandbox"
+msgstr "Sandbox"
+
+#: ../../Zotlabs/Module/Wiki.php:100
+msgid ""
+"\"# Wiki Sandbox\\n\\nContent you **edit** and **preview** here *will not be"
+" saved*.\""
+msgstr "\"# Wiki Sandkasten\\n\\nInhalte, die Du hier **veränderst** und **als Vorschau anzeigst**, *werden nicht gespeichert*.\""
+
+#: ../../Zotlabs/Module/Wiki.php:169
+msgid "Revision Comparison"
+msgstr "Revisionsvergleich"
+
+#: ../../Zotlabs/Module/Wiki.php:170
+msgid "Revert"
+msgstr "Rückgängig machen"
+
+#: ../../Zotlabs/Module/Wiki.php:201
+msgid "Enter the name of your new wiki:"
+msgstr "Gib einen Namen für Dein neues Wiki ein:"
+
+#: ../../Zotlabs/Module/Wiki.php:202
+msgid "Enter the name of the new page:"
+msgstr "Geben Sie den Namen der neuen Seite ein:"
+
+#: ../../Zotlabs/Module/Wiki.php:203
+msgid "Enter the new name:"
+msgstr "Geben Sie den neuen Namen ein:"
+
+#: ../../Zotlabs/Module/Wiki.php:209 ../../include/conversation.php:1152
+msgid "Embed image from photo albums"
+msgstr "Bild aus Fotoalben einbetten"
+
+#: ../../Zotlabs/Module/Wiki.php:210 ../../include/conversation.php:1246
+msgid "Embed an image from your albums"
+msgstr "Betten Sie ein Bild aus Ihren Alben ein"
+
+#: ../../Zotlabs/Module/Wiki.php:212 ../../include/conversation.php:1248
+#: ../../include/conversation.php:1295
+msgid "OK"
+msgstr "Ok"
+
+#: ../../Zotlabs/Module/Wiki.php:213 ../../include/conversation.php:1188
+msgid "Choose images to embed"
+msgstr "Wählen Sie Bilder zum Einbetten aus"
+
+#: ../../Zotlabs/Module/Wiki.php:214 ../../include/conversation.php:1189
+msgid "Choose an album"
+msgstr "Wählen Sie ein Album aus"
+
+#: ../../Zotlabs/Module/Wiki.php:215 ../../include/conversation.php:1190
+msgid "Choose a different album..."
+msgstr "Wählen Sie ein anderes Album aus..."
+
+#: ../../Zotlabs/Module/Wiki.php:216 ../../include/conversation.php:1191
+msgid "Error getting album list"
+msgstr "Fehler beim Holen der Albenliste"
+
+#: ../../Zotlabs/Module/Wiki.php:217 ../../include/conversation.php:1192
+msgid "Error getting photo link"
+msgstr "Fehler beim Holen des Fotolinks"
+
+#: ../../Zotlabs/Module/Wiki.php:218 ../../include/conversation.php:1193
+msgid "Error getting album"
+msgstr "Fehler beim Holen des Albums"
#: ../../Zotlabs/Module/Sources.php:37
msgid "Failed to create source. No channel selected."
@@ -6289,8 +5456,8 @@ msgstr "Quelle aktualisiert."
msgid "*"
msgstr "*"
-#: ../../Zotlabs/Module/Sources.php:96 ../../include/features.php:74
-#: ../../include/widgets.php:639
+#: ../../Zotlabs/Module/Sources.php:96 ../../include/widgets.php:672
+#: ../../include/features.php:70
msgid "Channel Sources"
msgstr "Kanal-Quellen"
@@ -6326,6 +5493,11 @@ msgid ""
"separated)"
msgstr "Füge die folgenden Kategorien zu Beiträgen, die aus dieser Quelle importiert werden, hinzu (kommagetrennt)"
+#: ../../Zotlabs/Module/Sources.php:112 ../../Zotlabs/Module/Sources.php:147
+#: ../../Zotlabs/Module/Settings/Oauth.php:93
+msgid "Optional"
+msgstr "Optional"
+
#: ../../Zotlabs/Module/Sources.php:133 ../../Zotlabs/Module/Sources.php:161
msgid "Source not found."
msgstr "Quelle nicht gefunden."
@@ -6370,8 +5542,8 @@ msgstr "Ignorieren/Verstecken"
msgid "post"
msgstr "Beitrag"
-#: ../../Zotlabs/Module/Tagger.php:57 ../../include/text.php:1953
-#: ../../include/conversation.php:150
+#: ../../Zotlabs/Module/Tagger.php:57 ../../include/conversation.php:150
+#: ../../include/text.php:1999
msgid "comment"
msgstr "Kommentar"
@@ -6392,96 +5564,286 @@ msgstr "Schlagwort entfernen"
msgid "Select a tag to remove: "
msgstr "Schlagwort zum Entfernen auswählen:"
-#: ../../Zotlabs/Module/Api.php:60 ../../Zotlabs/Module/Api.php:81
-msgid "Authorize application connection"
-msgstr "Zugriff für die Anwendung autorisieren"
+#: ../../Zotlabs/Module/Photos.php:82
+msgid "Page owner information could not be retrieved."
+msgstr "Informationen über den Besitzer der Seite konnten nicht gefunden werden."
-#: ../../Zotlabs/Module/Api.php:61
-msgid "Return to your app and insert this Security Code:"
-msgstr "Gehen Sie zu Ihrer App zurück und tragen Sie diesen Sicherheitscode ein:"
+#: ../../Zotlabs/Module/Photos.php:103 ../../Zotlabs/Module/Photos.php:129
+msgid "Album not found."
+msgstr "Album nicht gefunden."
-#: ../../Zotlabs/Module/Api.php:71
-msgid "Please login to continue."
-msgstr "Zum Weitermachen, bitte einloggen."
+#: ../../Zotlabs/Module/Photos.php:112
+msgid "Delete Album"
+msgstr "Album löschen"
-#: ../../Zotlabs/Module/Api.php:83
+#: ../../Zotlabs/Module/Photos.php:133
msgid ""
-"Do you want to authorize this application to access your posts and contacts,"
-" and/or create new posts for you?"
-msgstr "Möchtest Du dieser Anwendung erlauben, Deine Nachrichten und Kontakte abzurufen und/oder neue Nachrichten für Dich zu erstellen?"
+"Multiple storage folders exist with this album name, but within different "
+"directories. Please remove the desired folder or folders using the Files "
+"manager"
+msgstr "Mehrere Speicherordner mit diesem Albumnamen sind bereits vorhanden, aber in verschiedenen Verzeichnissen. Bitte entfernen Sie den oder die gewünschten Ordner mit dem Dateimanager"
-#: ../../Zotlabs/Module/Import.php:33
+#: ../../Zotlabs/Module/Photos.php:190 ../../Zotlabs/Module/Photos.php:1059
+msgid "Delete Photo"
+msgstr "Foto löschen"
+
+#: ../../Zotlabs/Module/Photos.php:520
+msgid "No photos selected"
+msgstr "Keine Fotos ausgewählt"
+
+#: ../../Zotlabs/Module/Photos.php:569
+msgid "Access to this item is restricted."
+msgstr "Der Zugriff auf dieses Foto ist eingeschränkt."
+
+#: ../../Zotlabs/Module/Photos.php:608
#, php-format
-msgid "Your service plan only allows %d channels."
-msgstr "Dein Vertrag erlaubt nur %d Kanäle."
+msgid "%1$.2f MB of %2$.2f MB photo storage used."
+msgstr "%1$.2f MB von %2$.2f MB Foto-Speicher belegt."
-#: ../../Zotlabs/Module/Import.php:153 ../../include/import.php:107
-msgid "Cloned channel not found. Import failed."
-msgstr "Geklonter Kanal nicht gefunden. Import fehlgeschlagen."
+#: ../../Zotlabs/Module/Photos.php:611
+#, php-format
+msgid "%1$.2f MB photo storage used."
+msgstr "%1$.2f MB Foto-Speicher belegt."
-#: ../../Zotlabs/Module/Import.php:163
-msgid "No channel. Import failed."
-msgstr "Kein Kanal. Import fehlgeschlagen."
+#: ../../Zotlabs/Module/Photos.php:647
+msgid "Upload Photos"
+msgstr "Fotos hochladen"
-#: ../../Zotlabs/Module/Import.php:520
-#: ../../include/Import/import_diaspora.php:142
-msgid "Import completed."
-msgstr "Import abgeschlossen."
+#: ../../Zotlabs/Module/Photos.php:651
+msgid "Enter an album name"
+msgstr "Namen für ein neues Album eingeben"
-#: ../../Zotlabs/Module/Import.php:542
-msgid "You must be logged in to use this feature."
-msgstr "Du musst angemeldet sein um diese Funktion zu nutzen."
+#: ../../Zotlabs/Module/Photos.php:652
+msgid "or select an existing album (doubleclick)"
+msgstr "oder ein bereits vorhandenes auswählen (Doppelklick)"
-#: ../../Zotlabs/Module/Import.php:547
-msgid "Import Channel"
-msgstr "Kanal importieren"
+#: ../../Zotlabs/Module/Photos.php:653
+msgid "Create a status post for this upload"
+msgstr "Einen Statusbeitrag für diesen Upload erzeugen"
-#: ../../Zotlabs/Module/Import.php:548
-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 "Verwende dieses Formular, um einen existierenden Kanal von einem anderen Hub zu importieren. Du kannst den Kanal direkt vom bisherigen Hub über das Netzwerk oder aus einer exportierten Sicherheitskopie importieren."
+#: ../../Zotlabs/Module/Photos.php:654
+msgid "Caption (optional):"
+msgstr "Beschriftung (optional):"
-#: ../../Zotlabs/Module/Import.php:550
-msgid "Or provide the old server/hub details"
-msgstr "Oder gib die Details Deines bisherigen $Projectname-Hubs ein"
+#: ../../Zotlabs/Module/Photos.php:655
+msgid "Description (optional):"
+msgstr "Beschreibung (optional):"
-#: ../../Zotlabs/Module/Import.php:551
-msgid "Your old identity address (xyz@example.com)"
-msgstr "Bisherige Kanal-Adresse (xyz@example.com)"
+#: ../../Zotlabs/Module/Photos.php:686
+msgid "Album name could not be decoded"
+msgstr "Albumname konnte nicht dekodiert werden"
-#: ../../Zotlabs/Module/Import.php:552
-msgid "Your old login email address"
-msgstr "Deine alte Login-E-Mail-Adresse"
+#: ../../Zotlabs/Module/Photos.php:734
+msgid "Contact Photos"
+msgstr "Kontakt-Bilder"
-#: ../../Zotlabs/Module/Import.php:553
-msgid "Your old login password"
-msgstr "Dein altes Passwort"
+#: ../../Zotlabs/Module/Photos.php:757
+msgid "Show Newest First"
+msgstr "Neueste zuerst anzeigen"
-#: ../../Zotlabs/Module/Import.php:554
-msgid ""
-"For either option, please choose whether to make this hub your new primary "
-"address, or whether your old location should continue this role. You will be"
-" able to post from either location, but only one can be marked as the "
-"primary location for files, photos, and media."
-msgstr "Egal, welche Option Du wählst – bitte lege fest, ob dieser Server die neue primäre Adresse dieses Kanals sein soll, oder ob der bisherige $Projectname-Hub diese Rolle weiterhin wahrnimmt. Du kannst von beiden Servern aus posten, aber nur einer kann der primäre Ort Deiner Dateien, Fotos und Medien sein."
+#: ../../Zotlabs/Module/Photos.php:759
+msgid "Show Oldest First"
+msgstr "Älteste zuerst anzeigen"
-#: ../../Zotlabs/Module/Import.php:555
-msgid "Make this hub my primary location"
-msgstr "Dieser $Pojectname-Hub ist mein primärer Hub."
+#: ../../Zotlabs/Module/Photos.php:783 ../../Zotlabs/Module/Photos.php:1337
+#: ../../Zotlabs/Module/Embedphotos.php:141 ../../include/widgets.php:1673
+msgid "View Photo"
+msgstr "Foto ansehen"
-#: ../../Zotlabs/Module/Import.php:556
-msgid ""
-"Import existing posts if possible (experimental - limited by available "
-"memory"
-msgstr "Importiere bestehende Beiträge falls möglich (experimentell - begrenzt durch zur Verfügung stehenden Speicher"
+#: ../../Zotlabs/Module/Photos.php:814
+#: ../../Zotlabs/Module/Embedphotos.php:157 ../../include/widgets.php:1690
+msgid "Edit Album"
+msgstr "Album bearbeiten"
-#: ../../Zotlabs/Module/Import.php:557
-msgid ""
-"This process may take several minutes to complete. Please submit the form "
-"only once and leave this page open until finished."
-msgstr "Dieser Vorgang kann einige Minuten dauern. Bitte sende das Formular nur einmal ab und lasse diese Seite bis zur Fertigstellung offen."
+#: ../../Zotlabs/Module/Photos.php:861
+msgid "Permission denied. Access to this item may be restricted."
+msgstr "Berechtigung verweigert. Der Zugriff ist wahrscheinlich eingeschränkt worden."
+
+#: ../../Zotlabs/Module/Photos.php:863
+msgid "Photo not available"
+msgstr "Foto nicht verfügbar"
+
+#: ../../Zotlabs/Module/Photos.php:921
+msgid "Use as profile photo"
+msgstr "Als Profilfoto verwenden"
+
+#: ../../Zotlabs/Module/Photos.php:922
+msgid "Use as cover photo"
+msgstr "Als Titelbild verwenden"
+
+#: ../../Zotlabs/Module/Photos.php:929
+msgid "Private Photo"
+msgstr "Privates Foto"
+
+#: ../../Zotlabs/Module/Photos.php:944
+msgid "View Full Size"
+msgstr "In voller Größe anzeigen"
+
+#: ../../Zotlabs/Module/Photos.php:1033
+msgid "Edit photo"
+msgstr "Foto bearbeiten"
+
+#: ../../Zotlabs/Module/Photos.php:1035
+msgid "Rotate CW (right)"
+msgstr "Drehen im UZS (rechts)"
+
+#: ../../Zotlabs/Module/Photos.php:1036
+msgid "Rotate CCW (left)"
+msgstr "Drehen gegen UZS (links)"
+
+#: ../../Zotlabs/Module/Photos.php:1039
+msgid "Move photo to album"
+msgstr "Foto in Album verschieben"
+
+#: ../../Zotlabs/Module/Photos.php:1040
+msgid "Enter a new album name"
+msgstr "Gib einen Namen für ein neues Album ein"
+
+#: ../../Zotlabs/Module/Photos.php:1041
+msgid "or select an existing one (doubleclick)"
+msgstr "oder wähle ein bereits vorhandenes aus (Doppelklick)"
+
+#: ../../Zotlabs/Module/Photos.php:1044
+msgid "Caption"
+msgstr "Bildunterschrift"
+
+#: ../../Zotlabs/Module/Photos.php:1046
+msgid "Add a Tag"
+msgstr "Schlagwort hinzufügen"
+
+#: ../../Zotlabs/Module/Photos.php:1054
+msgid "Example: @bob, @Barbara_Jensen, @jim@example.com"
+msgstr "Beispiele: @ben, @Karl_Prester, @lieschen@example.com"
+
+#: ../../Zotlabs/Module/Photos.php:1057
+msgid "Flag as adult in album view"
+msgstr "In der Albumansicht als nicht jugendfrei markieren"
+
+#: ../../Zotlabs/Module/Photos.php:1076 ../../Zotlabs/Lib/ThreadItem.php:263
+msgid "I like this (toggle)"
+msgstr "Mir gefällt das (Umschalter)"
+
+#: ../../Zotlabs/Module/Photos.php:1077 ../../Zotlabs/Lib/ThreadItem.php:264
+msgid "I don't like this (toggle)"
+msgstr "Mir gefällt das nicht (Umschalter)"
+
+#: ../../Zotlabs/Module/Photos.php:1079 ../../Zotlabs/Lib/ThreadItem.php:399
+#: ../../include/conversation.php:743
+msgid "Please wait"
+msgstr "Bitte warten"
+
+#: ../../Zotlabs/Module/Photos.php:1095 ../../Zotlabs/Module/Photos.php:1213
+#: ../../Zotlabs/Lib/ThreadItem.php:709
+msgid "This is you"
+msgstr "Das bist Du"
+
+#: ../../Zotlabs/Module/Photos.php:1097 ../../Zotlabs/Module/Photos.php:1215
+#: ../../Zotlabs/Lib/ThreadItem.php:711 ../../include/js_strings.php:6
+msgid "Comment"
+msgstr "Kommentar"
+
+#: ../../Zotlabs/Module/Photos.php:1113 ../../include/conversation.php:577
+msgctxt "title"
+msgid "Likes"
+msgstr "Gefällt mir"
+
+#: ../../Zotlabs/Module/Photos.php:1113 ../../include/conversation.php:577
+msgctxt "title"
+msgid "Dislikes"
+msgstr "Gefällt mir nicht"
+
+#: ../../Zotlabs/Module/Photos.php:1114 ../../include/conversation.php:578
+msgctxt "title"
+msgid "Agree"
+msgstr "Zustimmungen"
+
+#: ../../Zotlabs/Module/Photos.php:1114 ../../include/conversation.php:578
+msgctxt "title"
+msgid "Disagree"
+msgstr "Ablehnungen"
+
+#: ../../Zotlabs/Module/Photos.php:1114 ../../include/conversation.php:578
+msgctxt "title"
+msgid "Abstain"
+msgstr "Enthaltungen"
+
+#: ../../Zotlabs/Module/Photos.php:1115 ../../include/conversation.php:579
+msgctxt "title"
+msgid "Attending"
+msgstr "Zusagen"
+
+#: ../../Zotlabs/Module/Photos.php:1115 ../../include/conversation.php:579
+msgctxt "title"
+msgid "Not attending"
+msgstr "Absagen"
+
+#: ../../Zotlabs/Module/Photos.php:1115 ../../include/conversation.php:579
+msgctxt "title"
+msgid "Might attend"
+msgstr "Vielleicht"
+
+#: ../../Zotlabs/Module/Photos.php:1132 ../../Zotlabs/Module/Photos.php:1144
+#: ../../Zotlabs/Lib/ThreadItem.php:181 ../../Zotlabs/Lib/ThreadItem.php:193
+#: ../../include/conversation.php:1762
+msgid "View all"
+msgstr "Alles anzeigen"
+
+#: ../../Zotlabs/Module/Photos.php:1136 ../../Zotlabs/Lib/ThreadItem.php:185
+#: ../../include/channel.php:1182 ../../include/conversation.php:1786
+#: ../../include/taxonomy.php:403
+msgctxt "noun"
+msgid "Like"
+msgid_plural "Likes"
+msgstr[0] "Gefällt mir"
+msgstr[1] "Gefällt mir"
+
+#: ../../Zotlabs/Module/Photos.php:1141 ../../Zotlabs/Lib/ThreadItem.php:190
+#: ../../include/conversation.php:1789
+msgctxt "noun"
+msgid "Dislike"
+msgid_plural "Dislikes"
+msgstr[0] "Gefällt nicht"
+msgstr[1] "Gefällt nicht"
+
+#: ../../Zotlabs/Module/Photos.php:1241
+msgid "Photo Tools"
+msgstr "Fotowerkzeuge"
+
+#: ../../Zotlabs/Module/Photos.php:1250
+msgid "In This Photo:"
+msgstr "Auf diesem Foto:"
+
+#: ../../Zotlabs/Module/Photos.php:1255
+msgid "Map"
+msgstr "Karte"
+
+#: ../../Zotlabs/Module/Photos.php:1263 ../../Zotlabs/Lib/ThreadItem.php:388
+msgctxt "noun"
+msgid "Likes"
+msgstr "Gefällt mir"
+
+#: ../../Zotlabs/Module/Photos.php:1264 ../../Zotlabs/Lib/ThreadItem.php:389
+msgctxt "noun"
+msgid "Dislikes"
+msgstr "Gefällt nicht"
+
+#: ../../Zotlabs/Module/Photos.php:1269 ../../Zotlabs/Lib/ThreadItem.php:394
+#: ../../include/acl_selectors.php:181
+msgid "Close"
+msgstr "Schließen"
+
+#: ../../Zotlabs/Module/Photos.php:1343
+msgid "View Album"
+msgstr "Album ansehen"
+
+#: ../../Zotlabs/Module/Photos.php:1354 ../../Zotlabs/Module/Photos.php:1367
+#: ../../Zotlabs/Module/Photos.php:1368
+msgid "Recent Photos"
+msgstr "Neueste Fotos"
+
+#: ../../Zotlabs/Module/Follow.php:34
+msgid "Channel added."
+msgstr "Kanal hinzugefügt."
#: ../../Zotlabs/Module/Viewconnections.php:65
msgid "No connections."
@@ -6500,6 +5862,59 @@ msgstr "Verbindungen anzeigen"
msgid "Source of Item"
msgstr "Quelle des Elements"
+#: ../../Zotlabs/Module/Chat.php:181
+msgid "Room not found"
+msgstr "Chatraum nicht gefunden"
+
+#: ../../Zotlabs/Module/Chat.php:197
+msgid "Leave Room"
+msgstr "Raum verlassen"
+
+#: ../../Zotlabs/Module/Chat.php:198
+msgid "Delete Room"
+msgstr "Raum löschen"
+
+#: ../../Zotlabs/Module/Chat.php:199
+msgid "I am away right now"
+msgstr "Ich bin gerade nicht da"
+
+#: ../../Zotlabs/Module/Chat.php:200
+msgid "I am online"
+msgstr "Ich bin online"
+
+#: ../../Zotlabs/Module/Chat.php:202
+msgid "Bookmark this room"
+msgstr "Lesezeichen für diesen Raum setzen"
+
+#: ../../Zotlabs/Module/Chat.php:231
+msgid "New Chatroom"
+msgstr "Neuer Chatraum"
+
+#: ../../Zotlabs/Module/Chat.php:232
+msgid "Chatroom name"
+msgstr "Chatraumname"
+
+#: ../../Zotlabs/Module/Chat.php:233
+msgid "Expiration of chats (minutes)"
+msgstr "Verfall von Chats (Minuten)"
+
+#: ../../Zotlabs/Module/Chat.php:249
+#, php-format
+msgid "%1$s's Chatrooms"
+msgstr "%1$ss Chaträume"
+
+#: ../../Zotlabs/Module/Chat.php:254
+msgid "No chatrooms available"
+msgstr "Keine Chaträume verfügbar"
+
+#: ../../Zotlabs/Module/Chat.php:258
+msgid "Expiration"
+msgstr "Verfall"
+
+#: ../../Zotlabs/Module/Chat.php:259
+msgid "min"
+msgstr "min"
+
#: ../../Zotlabs/Module/Xchan.php:10
msgid "Xchan Lookup"
msgstr "Xchan-Suche"
@@ -6508,6 +5923,733 @@ msgstr "Xchan-Suche"
msgid "Lookup xchan beginning with (or webbie): "
msgstr "Nach xchans oder Webbies (Kanal-Adressen) suchen, die wie folgt beginnen:"
+#: ../../Zotlabs/Module/Admin.php:97
+msgid "# Accounts"
+msgstr "Anzahl der Konten"
+
+#: ../../Zotlabs/Module/Admin.php:98
+msgid "# blocked accounts"
+msgstr "Anzahl der blockierten Konten"
+
+#: ../../Zotlabs/Module/Admin.php:99
+msgid "# expired accounts"
+msgstr "Anzahl der abgelaufenen Konten"
+
+#: ../../Zotlabs/Module/Admin.php:100
+msgid "# expiring accounts"
+msgstr "Anzahl der ablaufenden Konten"
+
+#: ../../Zotlabs/Module/Admin.php:111
+msgid "# Channels"
+msgstr "Anzahl der Kanäle"
+
+#: ../../Zotlabs/Module/Admin.php:112
+msgid "# primary"
+msgstr "Anzahl der primären Kanäle"
+
+#: ../../Zotlabs/Module/Admin.php:113
+msgid "# clones"
+msgstr "Anzahl der Klone"
+
+#: ../../Zotlabs/Module/Admin.php:119
+msgid "Message queues"
+msgstr "Nachrichten-Warteschlangen"
+
+#: ../../Zotlabs/Module/Admin.php:136
+msgid "Your software should be updated"
+msgstr "Die installierte Software sollte aktualisiert werden"
+
+#: ../../Zotlabs/Module/Admin.php:142
+msgid "Summary"
+msgstr "Zusammenfassung"
+
+#: ../../Zotlabs/Module/Admin.php:145
+msgid "Registered accounts"
+msgstr "Registrierte Konten"
+
+#: ../../Zotlabs/Module/Admin.php:146
+msgid "Pending registrations"
+msgstr "Ausstehende Registrierungen"
+
+#: ../../Zotlabs/Module/Admin.php:147
+msgid "Registered channels"
+msgstr "Registrierte Kanäle"
+
+#: ../../Zotlabs/Module/Admin.php:148
+msgid "Active plugins"
+msgstr "Aktive Plug-Ins"
+
+#: ../../Zotlabs/Module/Admin.php:149
+msgid "Version"
+msgstr "Version"
+
+#: ../../Zotlabs/Module/Admin.php:150
+msgid "Repository version (master)"
+msgstr "Repository-Version (master)"
+
+#: ../../Zotlabs/Module/Admin.php:151
+msgid "Repository version (dev)"
+msgstr "Repository-Version (dev)"
+
+#: ../../Zotlabs/Module/Settings/Account.php:20
+msgid "Not valid email."
+msgstr "Keine gültige E-Mail Adresse."
+
+#: ../../Zotlabs/Module/Settings/Account.php:23
+msgid "Protected email address. Cannot change to that email."
+msgstr "Geschützte E-Mail Adresse. Diese kann nicht verändert werden."
+
+#: ../../Zotlabs/Module/Settings/Account.php:32
+msgid "System failure storing new email. Please try again."
+msgstr "Systemfehler während des Speicherns der neuen Mail. Bitte versuche es noch einmal."
+
+#: ../../Zotlabs/Module/Settings/Account.php:40
+msgid "Technical skill level updated"
+msgstr "Technische Qualifikationsstufe aktualisiert"
+
+#: ../../Zotlabs/Module/Settings/Account.php:56
+msgid "Password verification failed."
+msgstr "Passwortüberprüfung fehlgeschlagen."
+
+#: ../../Zotlabs/Module/Settings/Account.php:63
+msgid "Passwords do not match. Password unchanged."
+msgstr "Kennwörter stimmen nicht überein. Kennwort nicht verändert."
+
+#: ../../Zotlabs/Module/Settings/Account.php:67
+msgid "Empty passwords are not allowed. Password unchanged."
+msgstr "Leere Kennwörter sind nicht erlaubt. Kennwort nicht verändert."
+
+#: ../../Zotlabs/Module/Settings/Account.php:81
+msgid "Password changed."
+msgstr "Kennwort geändert."
+
+#: ../../Zotlabs/Module/Settings/Account.php:83
+msgid "Password update failed. Please try again."
+msgstr "Kennwortänderung fehlgeschlagen. Bitte versuche es noch einmal."
+
+#: ../../Zotlabs/Module/Settings/Account.php:120
+msgid "Account Settings"
+msgstr "Konto-Einstellungen"
+
+#: ../../Zotlabs/Module/Settings/Account.php:121
+msgid "Current Password"
+msgstr "Aktuelles Passwort"
+
+#: ../../Zotlabs/Module/Settings/Account.php:122
+msgid "Enter New Password"
+msgstr "Gib ein neues Passwort ein"
+
+#: ../../Zotlabs/Module/Settings/Account.php:123
+msgid "Confirm New Password"
+msgstr "Bestätige das neue Passwort"
+
+#: ../../Zotlabs/Module/Settings/Account.php:123
+msgid "Leave password fields blank unless changing"
+msgstr "Lasse die Passwort-Felder leer, außer Du möchtest das Passwort ändern"
+
+#: ../../Zotlabs/Module/Settings/Account.php:124
+msgid "Your technical skill level"
+msgstr "Deine technische Qualifikationsstufe"
+
+#: ../../Zotlabs/Module/Settings/Account.php:124
+msgid "Used to provide a member experience matched to your comfort level"
+msgstr "Dies wird verwendet, um Dir eine Benutzererfahrung passend zu Deiner technischen Qualifikationsstufe zu bieten."
+
+#: ../../Zotlabs/Module/Settings/Account.php:127
+#: ../../Zotlabs/Module/Settings/Channel.php:459
+msgid "Email Address:"
+msgstr "Email Adresse:"
+
+#: ../../Zotlabs/Module/Settings/Account.php:129
+msgid "Remove this account including all its channels"
+msgstr "Dieses Konto inklusive all seiner Kanäle löschen"
+
+#: ../../Zotlabs/Module/Settings/Channel.php:246
+msgid "Settings updated."
+msgstr "Einstellungen aktualisiert."
+
+#: ../../Zotlabs/Module/Settings/Channel.php:307
+msgid "Nobody except yourself"
+msgstr "Niemand außer Dir selbst"
+
+#: ../../Zotlabs/Module/Settings/Channel.php:308
+msgid "Only those you specifically allow"
+msgstr "Nur die, denen Du es explizit erlaubst"
+
+#: ../../Zotlabs/Module/Settings/Channel.php:309
+msgid "Approved connections"
+msgstr "Angenommene Verbindungen"
+
+#: ../../Zotlabs/Module/Settings/Channel.php:310
+msgid "Any connections"
+msgstr "Beliebige Verbindungen"
+
+#: ../../Zotlabs/Module/Settings/Channel.php:311
+msgid "Anybody on this website"
+msgstr "Jeder auf dieser Website"
+
+#: ../../Zotlabs/Module/Settings/Channel.php:312
+msgid "Anybody in this network"
+msgstr "Alle $Projectname-Mitglieder"
+
+#: ../../Zotlabs/Module/Settings/Channel.php:313
+msgid "Anybody authenticated"
+msgstr "Jeder authentifizierte"
+
+#: ../../Zotlabs/Module/Settings/Channel.php:314
+msgid "Anybody on the internet"
+msgstr "Jeder im Internet"
+
+#: ../../Zotlabs/Module/Settings/Channel.php:390
+msgid "Publish your default profile in the network directory"
+msgstr "Standard-Profil im Netzwerk-Verzeichnis veröffentlichen"
+
+#: ../../Zotlabs/Module/Settings/Channel.php:395
+msgid "Allow us to suggest you as a potential friend to new members?"
+msgstr "Dürfen wir Dich neuen Mitgliedern als potentiellen Kontakt vorschlagen?"
+
+#: ../../Zotlabs/Module/Settings/Channel.php:404
+msgid "Your channel address is"
+msgstr "Deine Kanal-Adresse lautet"
+
+#: ../../Zotlabs/Module/Settings/Channel.php:450
+msgid "Channel Settings"
+msgstr "Kanal-Einstellungen"
+
+#: ../../Zotlabs/Module/Settings/Channel.php:457
+msgid "Basic Settings"
+msgstr "Grundeinstellungen"
+
+#: ../../Zotlabs/Module/Settings/Channel.php:458
+#: ../../include/channel.php:1164
+msgid "Full Name:"
+msgstr "Voller Name:"
+
+#: ../../Zotlabs/Module/Settings/Channel.php:460
+msgid "Your Timezone:"
+msgstr "Ihre Zeitzone:"
+
+#: ../../Zotlabs/Module/Settings/Channel.php:461
+msgid "Default Post Location:"
+msgstr "Standardstandort:"
+
+#: ../../Zotlabs/Module/Settings/Channel.php:461
+msgid "Geographical location to display on your posts"
+msgstr "Geografischer Ort, der bei Deinen Beiträgen angezeigt werden soll"
+
+#: ../../Zotlabs/Module/Settings/Channel.php:462
+msgid "Use Browser Location:"
+msgstr "Standort des Browsers verwenden:"
+
+#: ../../Zotlabs/Module/Settings/Channel.php:464
+msgid "Adult Content"
+msgstr "Nicht jugendfreie Inhalte"
+
+#: ../../Zotlabs/Module/Settings/Channel.php:464
+msgid ""
+"This channel frequently or regularly publishes adult content. (Please tag "
+"any adult material and/or nudity with #NSFW)"
+msgstr "Dieser Kanal veröffentlicht regelmäßig Inhalte, die für Minderjährige ungeeignet sind. (Bitte markiere solche Inhalte mit dem Schlagwort #NSFW)"
+
+#: ../../Zotlabs/Module/Settings/Channel.php:466
+msgid "Security and Privacy Settings"
+msgstr "Sicherheits- und Datenschutz-Einstellungen"
+
+#: ../../Zotlabs/Module/Settings/Channel.php:469
+msgid "Your permissions are already configured. Click to view/adjust"
+msgstr "Deine Zugriffsrechte sind schon konfiguriert. Klicke hier, um sie zu betrachten oder zu ändern"
+
+#: ../../Zotlabs/Module/Settings/Channel.php:471
+msgid "Hide my online presence"
+msgstr "Meine Online-Präsenz verbergen"
+
+#: ../../Zotlabs/Module/Settings/Channel.php:471
+msgid "Prevents displaying in your profile that you are online"
+msgstr "Verhindert die Anzeige Deines Online-Status in deinem Profil"
+
+#: ../../Zotlabs/Module/Settings/Channel.php:473
+msgid "Simple Privacy Settings:"
+msgstr "Einfache Privatsphäre-Einstellungen"
+
+#: ../../Zotlabs/Module/Settings/Channel.php:474
+msgid ""
+"Very Public - <em>extremely permissive (should be used with caution)</em>"
+msgstr "Komplett offen – <em>extrem ungeschützt (mit großer Vorsicht verwenden!)</em>"
+
+#: ../../Zotlabs/Module/Settings/Channel.php:475
+msgid ""
+"Typical - <em>default public, privacy when desired (similar to social "
+"network permissions but with improved privacy)</em>"
+msgstr "Typisch – <em>Standard öffentlich, Privatsphäre, wo sie erwünscht ist (ähnlich den Einstellungen in sozialen Netzwerken, aber mit besser geschützter Privatsphäre)</em>"
+
+#: ../../Zotlabs/Module/Settings/Channel.php:476
+msgid "Private - <em>default private, never open or public</em>"
+msgstr "Privat – <em>Standard privat, nie offen oder öffentlich</em>"
+
+#: ../../Zotlabs/Module/Settings/Channel.php:477
+msgid "Blocked - <em>default blocked to/from everybody</em>"
+msgstr "Blockiert – <em>Alle standardmäßig blockiert</em>"
+
+#: ../../Zotlabs/Module/Settings/Channel.php:479
+msgid "Allow others to tag your posts"
+msgstr "Erlaube anderen, Deine Beiträge zu verschlagworten"
+
+#: ../../Zotlabs/Module/Settings/Channel.php:479
+msgid ""
+"Often used by the community to retro-actively flag inappropriate content"
+msgstr "Wird oft von der Community genutzt um rückwirkend anstößigen Inhalt zu markieren"
+
+#: ../../Zotlabs/Module/Settings/Channel.php:481
+msgid "Channel Permission Limits"
+msgstr "Kanal-Berechtigungslimits"
+
+#: ../../Zotlabs/Module/Settings/Channel.php:483
+msgid "Expire other channel content after this many days"
+msgstr "Den Inhalt anderer Kanäle nach dieser Anzahl Tage verfallen lassen"
+
+#: ../../Zotlabs/Module/Settings/Channel.php:483
+msgid "0 or blank to use the website limit."
+msgstr "0 oder leer lassen, um den voreingestellten Wert der Webseite zu verwenden."
+
+#: ../../Zotlabs/Module/Settings/Channel.php:483
+#, php-format
+msgid "This website expires after %d days."
+msgstr "Diese Webseite läuft nach %d Tagen ab."
+
+#: ../../Zotlabs/Module/Settings/Channel.php:483
+msgid "This website does not expire imported content."
+msgstr "Diese Webseite lässt importierte Inhalte nicht verfallen."
+
+#: ../../Zotlabs/Module/Settings/Channel.php:483
+msgid "The website limit takes precedence if lower than your limit."
+msgstr "Das Verfallslimit der Webseite hat Vorrang, wenn es niedriger als Deines hier ist."
+
+#: ../../Zotlabs/Module/Settings/Channel.php:484
+msgid "Maximum Friend Requests/Day:"
+msgstr "Maximale Kontaktanfragen pro Tag:"
+
+#: ../../Zotlabs/Module/Settings/Channel.php:484
+msgid "May reduce spam activity"
+msgstr "Kann die Spam-Aktivität verringern"
+
+#: ../../Zotlabs/Module/Settings/Channel.php:485
+msgid "Default Access Control List (ACL)"
+msgstr "Standard-Zugriffsberechtigungsliste (ACL)"
+
+#: ../../Zotlabs/Module/Settings/Channel.php:487
+msgid "Use my default audience setting for the type of object published"
+msgstr "Verwende Deine eingestellte Standard-Zielgruppe des jeweiligen Inhaltstyps"
+
+#: ../../Zotlabs/Module/Settings/Channel.php:494
+msgid "Channel permissions category:"
+msgstr "Zugriffsrechte-Kategorie des Kanals:"
+
+#: ../../Zotlabs/Module/Settings/Channel.php:500
+msgid "Maximum private messages per day from unknown people:"
+msgstr "Maximale Anzahl privater Nachrichten pro Tag von unbekannten Leuten:"
+
+#: ../../Zotlabs/Module/Settings/Channel.php:500
+msgid "Useful to reduce spamming"
+msgstr "Nützlich, um Spam zu verringern"
+
+#: ../../Zotlabs/Module/Settings/Channel.php:503
+msgid "Notification Settings"
+msgstr "Benachrichtigungs-Einstellungen"
+
+#: ../../Zotlabs/Module/Settings/Channel.php:504
+msgid "By default post a status message when:"
+msgstr "Sende standardmäßig Status-Nachrichten, wenn:"
+
+#: ../../Zotlabs/Module/Settings/Channel.php:505
+msgid "accepting a friend request"
+msgstr "Du eine Verbindungsanfrage annimmst"
+
+#: ../../Zotlabs/Module/Settings/Channel.php:506
+msgid "joining a forum/community"
+msgstr "Du einem Forum beitrittst"
+
+#: ../../Zotlabs/Module/Settings/Channel.php:507
+msgid "making an <em>interesting</em> profile change"
+msgstr "Du eine <em>interessante</em> Änderung an Deinem Profil vornimmst"
+
+#: ../../Zotlabs/Module/Settings/Channel.php:508
+msgid "Send a notification email when:"
+msgstr "Eine E-Mail-Benachrichtigung senden, wenn:"
+
+#: ../../Zotlabs/Module/Settings/Channel.php:509
+msgid "You receive a connection request"
+msgstr "Du eine Verbindungsanfrage erhältst"
+
+#: ../../Zotlabs/Module/Settings/Channel.php:510
+msgid "Your connections are confirmed"
+msgstr "Eine Verbindung bestätigt wurde"
+
+#: ../../Zotlabs/Module/Settings/Channel.php:511
+msgid "Someone writes on your profile wall"
+msgstr "Jemand auf Deine Pinnwand schreibt"
+
+#: ../../Zotlabs/Module/Settings/Channel.php:512
+msgid "Someone writes a followup comment"
+msgstr "Jemand einen Beitrag kommentiert"
+
+#: ../../Zotlabs/Module/Settings/Channel.php:513
+msgid "You receive a private message"
+msgstr "Du eine private Nachricht erhältst"
+
+#: ../../Zotlabs/Module/Settings/Channel.php:514
+msgid "You receive a friend suggestion"
+msgstr "Du einen Kontaktvorschlag erhältst"
+
+#: ../../Zotlabs/Module/Settings/Channel.php:515
+msgid "You are tagged in a post"
+msgstr "Du in einem Beitrag erwähnt wurdest"
+
+#: ../../Zotlabs/Module/Settings/Channel.php:516
+msgid "You are poked/prodded/etc. in a post"
+msgstr "Du in einem Beitrag angestupst/geknufft/o.ä. wurdest"
+
+#: ../../Zotlabs/Module/Settings/Channel.php:519
+msgid "Show visual notifications including:"
+msgstr "Visuelle Benachrichtigungen anzeigen für:"
+
+#: ../../Zotlabs/Module/Settings/Channel.php:521
+msgid "Unseen grid activity"
+msgstr "Ungesehene Netzwerk-Aktivität"
+
+#: ../../Zotlabs/Module/Settings/Channel.php:522
+msgid "Unseen channel activity"
+msgstr "Ungesehene Kanal-Aktivität"
+
+#: ../../Zotlabs/Module/Settings/Channel.php:523
+msgid "Unseen private messages"
+msgstr "Ungelesene persönliche Nachrichten"
+
+#: ../../Zotlabs/Module/Settings/Channel.php:523
+#: ../../Zotlabs/Module/Settings/Channel.php:528
+#: ../../Zotlabs/Module/Settings/Channel.php:529
+#: ../../Zotlabs/Module/Settings/Channel.php:530
+msgid "Recommended"
+msgstr "Empfohlen"
+
+#: ../../Zotlabs/Module/Settings/Channel.php:524
+msgid "Upcoming events"
+msgstr "Baldige Termine"
+
+#: ../../Zotlabs/Module/Settings/Channel.php:525
+msgid "Events today"
+msgstr "Heutige Termine"
+
+#: ../../Zotlabs/Module/Settings/Channel.php:526
+msgid "Upcoming birthdays"
+msgstr "Baldige Geburtstage"
+
+#: ../../Zotlabs/Module/Settings/Channel.php:526
+msgid "Not available in all themes"
+msgstr "Nicht in allen Themes verfügbar"
+
+#: ../../Zotlabs/Module/Settings/Channel.php:527
+msgid "System (personal) notifications"
+msgstr "System – (persönliche) Benachrichtigungen"
+
+#: ../../Zotlabs/Module/Settings/Channel.php:528
+msgid "System info messages"
+msgstr "System – Info-Nachrichten"
+
+#: ../../Zotlabs/Module/Settings/Channel.php:529
+msgid "System critical alerts"
+msgstr "System – kritische Warnungen"
+
+#: ../../Zotlabs/Module/Settings/Channel.php:530
+msgid "New connections"
+msgstr "Neue Verbindungen"
+
+#: ../../Zotlabs/Module/Settings/Channel.php:531
+msgid "System Registrations"
+msgstr "System – Registrierungen"
+
+#: ../../Zotlabs/Module/Settings/Channel.php:532
+msgid ""
+"Also show new wall posts, private messages and connections under Notices"
+msgstr "Neue Pinnwand-Nachrichten, private Nachrichten und Verbindungen unter Benachrichtigungen anzeigen"
+
+#: ../../Zotlabs/Module/Settings/Channel.php:534
+msgid "Notify me of events this many days in advance"
+msgstr "Benachrichtige mich zu Terminen so viele Tage im Voraus"
+
+#: ../../Zotlabs/Module/Settings/Channel.php:534
+msgid "Must be greater than 0"
+msgstr "Muss größer als 0 sein"
+
+#: ../../Zotlabs/Module/Settings/Channel.php:536
+msgid "Advanced Account/Page Type Settings"
+msgstr "Erweiterte Account- und Seitenart-Einstellungen"
+
+#: ../../Zotlabs/Module/Settings/Channel.php:537
+msgid "Change the behaviour of this account for special situations"
+msgstr "Ändere das Verhalten dieses Accounts unter speziellen Umständen"
+
+#: ../../Zotlabs/Module/Settings/Channel.php:539
+msgid "Miscellaneous Settings"
+msgstr "Sonstige Einstellungen"
+
+#: ../../Zotlabs/Module/Settings/Channel.php:540
+msgid "Default photo upload folder"
+msgstr "Voreingestellter Ordner für hochgeladene Fotos"
+
+#: ../../Zotlabs/Module/Settings/Channel.php:540
+#: ../../Zotlabs/Module/Settings/Channel.php:541
+msgid "%Y - current year, %m - current month"
+msgstr "%Y - aktuelles Jahr, %m - aktueller Monat"
+
+#: ../../Zotlabs/Module/Settings/Channel.php:541
+msgid "Default file upload folder"
+msgstr "Voreingestellter Ordner für hochgeladene Dateien"
+
+#: ../../Zotlabs/Module/Settings/Channel.php:543
+msgid "Personal menu to display in your channel pages"
+msgstr "Eigenes Menü zur Anzeige auf den Seiten deines Kanals"
+
+#: ../../Zotlabs/Module/Settings/Channel.php:545
+msgid "Remove this channel."
+msgstr "Diesen Kanal löschen"
+
+#: ../../Zotlabs/Module/Settings/Channel.php:546
+msgid "Firefox Share $Projectname provider"
+msgstr "$Projectname-Provider für Firefox Share"
+
+#: ../../Zotlabs/Module/Settings/Channel.php:547
+msgid "Start calendar week on monday"
+msgstr "Montag als erster Tag der Kalenderwoche"
+
+#: ../../Zotlabs/Module/Settings/Display.php:135
+msgid "No special theme for mobile devices"
+msgstr "Keine spezielle Theme für mobile Geräte"
+
+#: ../../Zotlabs/Module/Settings/Display.php:138
+#, php-format
+msgid "%s - (Experimental)"
+msgstr "%s – (experimentell)"
+
+#: ../../Zotlabs/Module/Settings/Display.php:189
+msgid "Display Settings"
+msgstr "Anzeige-Einstellungen"
+
+#: ../../Zotlabs/Module/Settings/Display.php:190
+msgid "Theme Settings"
+msgstr "Theme-Einstellungen"
+
+#: ../../Zotlabs/Module/Settings/Display.php:191
+msgid "Custom Theme Settings"
+msgstr "Benutzerdefinierte Theme-Einstellungen"
+
+#: ../../Zotlabs/Module/Settings/Display.php:192
+msgid "Content Settings"
+msgstr "Inhaltseinstellungen"
+
+#: ../../Zotlabs/Module/Settings/Display.php:198
+msgid "Display Theme:"
+msgstr "Anzeige-Theme:"
+
+#: ../../Zotlabs/Module/Settings/Display.php:199
+msgid "Select scheme"
+msgstr "Schema wählen"
+
+#: ../../Zotlabs/Module/Settings/Display.php:201
+msgid "Mobile Theme:"
+msgstr "Mobile Theme:"
+
+#: ../../Zotlabs/Module/Settings/Display.php:202
+msgid "Preload images before rendering the page"
+msgstr "Bilder im voraus laden, bevor die Seite angezeigt wird"
+
+#: ../../Zotlabs/Module/Settings/Display.php:202
+msgid ""
+"The subjective page load time will be longer but the page will be ready when"
+" displayed"
+msgstr "Die empfundene Ladezeit wird sich erhöhen, aber dafür ist das Layout stabil, sobald eine Seite angezeigt wird"
+
+#: ../../Zotlabs/Module/Settings/Display.php:203
+msgid "Enable user zoom on mobile devices"
+msgstr "Zoom auf Mobilgeräten aktivieren"
+
+#: ../../Zotlabs/Module/Settings/Display.php:204
+msgid "Update browser every xx seconds"
+msgstr "Browser alle xx Sekunden aktualisieren"
+
+#: ../../Zotlabs/Module/Settings/Display.php:204
+msgid "Minimum of 10 seconds, no maximum"
+msgstr "Minimum 10 Sekunden, kein Maximum"
+
+#: ../../Zotlabs/Module/Settings/Display.php:205
+msgid "Maximum number of conversations to load at any time:"
+msgstr "Maximale Anzahl von Unterhaltungen, die auf einmal geladen werden sollen:"
+
+#: ../../Zotlabs/Module/Settings/Display.php:205
+msgid "Maximum of 100 items"
+msgstr "Maximum: 100 Beiträge"
+
+#: ../../Zotlabs/Module/Settings/Display.php:206
+msgid "Show emoticons (smilies) as images"
+msgstr "Emoticons (Smilies) als Bilder anzeigen"
+
+#: ../../Zotlabs/Module/Settings/Display.php:207
+msgid "Link post titles to source"
+msgstr "Beitragstitel zum Originalbeitrag verlinken"
+
+#: ../../Zotlabs/Module/Settings/Display.php:208
+msgid "System Page Layout Editor - (advanced)"
+msgstr "System-Seitenlayout-Editor (für Experten)"
+
+#: ../../Zotlabs/Module/Settings/Display.php:211
+msgid "Use blog/list mode on channel page"
+msgstr "Blog-/Listenmodus auf der Kanalseite verwenden"
+
+#: ../../Zotlabs/Module/Settings/Display.php:211
+#: ../../Zotlabs/Module/Settings/Display.php:212
+msgid "(comments displayed separately)"
+msgstr "(Kommentare werden separat angezeigt)"
+
+#: ../../Zotlabs/Module/Settings/Display.php:212
+msgid "Use blog/list mode on grid page"
+msgstr "Blog-/Listenmodus auf der Netzwerkseite verwenden"
+
+#: ../../Zotlabs/Module/Settings/Display.php:213
+msgid "Channel page max height of content (in pixels)"
+msgstr "Maximale Höhe von Beitragsblöcken auf der Kanalseite (in Pixeln)"
+
+#: ../../Zotlabs/Module/Settings/Display.php:213
+#: ../../Zotlabs/Module/Settings/Display.php:214
+msgid "click to expand content exceeding this height"
+msgstr "Blöcke, deren Inhalt diese Höhe überschreitet, können per Klick vergrößert werden."
+
+#: ../../Zotlabs/Module/Settings/Display.php:214
+msgid "Grid page max height of content (in pixels)"
+msgstr "Maximale Höhe (in Pixel) des Inhalts der Netzwerkseite"
+
+#: ../../Zotlabs/Module/Settings/Featured.php:24
+msgid "No feature settings configured"
+msgstr "Keine Funktions-Einstellungen konfiguriert"
+
+#: ../../Zotlabs/Module/Settings/Featured.php:31
+msgid "Feature/Addon Settings"
+msgstr "Funktions-/Addon-Einstellungen"
+
+#: ../../Zotlabs/Module/Settings/Features.php:45
+msgid "Additional Features"
+msgstr "Zusätzliche Funktionen"
+
+#: ../../Zotlabs/Module/Settings/Oauth.php:34
+msgid "Name is required"
+msgstr "Name ist erforderlich"
+
+#: ../../Zotlabs/Module/Settings/Oauth.php:38
+msgid "Key and Secret are required"
+msgstr "Schlüssel und Geheimnis werden benötigt"
+
+#: ../../Zotlabs/Module/Settings/Oauth.php:86
+#: ../../Zotlabs/Module/Settings/Oauth.php:112
+#: ../../Zotlabs/Module/Settings/Oauth.php:148
+msgid "Add application"
+msgstr "Anwendung hinzufügen"
+
+#: ../../Zotlabs/Module/Settings/Oauth.php:89
+msgid "Name of application"
+msgstr "Name der Anwendung"
+
+#: ../../Zotlabs/Module/Settings/Oauth.php:90
+#: ../../Zotlabs/Module/Settings/Oauth.php:116
+msgid "Consumer Key"
+msgstr "Consumer Key"
+
+#: ../../Zotlabs/Module/Settings/Oauth.php:90
+#: ../../Zotlabs/Module/Settings/Oauth.php:91
+msgid "Automatically generated - change if desired. Max length 20"
+msgstr "Automatisch erzeugt – ändern, falls erwünscht. Maximale Länge 20"
+
+#: ../../Zotlabs/Module/Settings/Oauth.php:91
+#: ../../Zotlabs/Module/Settings/Oauth.php:117
+msgid "Consumer Secret"
+msgstr "Consumer Secret"
+
+#: ../../Zotlabs/Module/Settings/Oauth.php:92
+#: ../../Zotlabs/Module/Settings/Oauth.php:118
+msgid "Redirect"
+msgstr "Umleitung"
+
+#: ../../Zotlabs/Module/Settings/Oauth.php:92
+msgid ""
+"Redirect URI - leave blank unless your application specifically requires "
+"this"
+msgstr "Umleitungs-URl – lasse das leer, solange Deine Anwendung es nicht explizit erfordert"
+
+#: ../../Zotlabs/Module/Settings/Oauth.php:93
+#: ../../Zotlabs/Module/Settings/Oauth.php:119
+msgid "Icon url"
+msgstr "Symbol-URL"
+
+#: ../../Zotlabs/Module/Settings/Oauth.php:104
+msgid "Application not found."
+msgstr "Die Anwendung wurde nicht gefunden."
+
+#: ../../Zotlabs/Module/Settings/Oauth.php:147
+msgid "Connected Apps"
+msgstr "Verbundene Apps"
+
+#: ../../Zotlabs/Module/Settings/Oauth.php:151
+msgid "Client key starts with"
+msgstr "Client Key beginnt mit"
+
+#: ../../Zotlabs/Module/Settings/Oauth.php:152
+msgid "No name"
+msgstr "Kein Name"
+
+#: ../../Zotlabs/Module/Settings/Oauth.php:153
+msgid "Remove authorization"
+msgstr "Authorisierung aufheben"
+
+#: ../../Zotlabs/Module/Settings/Tokens.php:31
+#, php-format
+msgid "This channel is limited to %d tokens"
+msgstr "Dieser Kanal ist auf %d Token begrenzt"
+
+#: ../../Zotlabs/Module/Settings/Tokens.php:37
+msgid "Name and Password are required."
+msgstr "Name und Passwort sind erforderlich."
+
+#: ../../Zotlabs/Module/Settings/Tokens.php:77
+msgid "Token saved."
+msgstr "Token gespeichert."
+
+#: ../../Zotlabs/Module/Settings/Tokens.php:113
+msgid ""
+"Use this form to create temporary access identifiers to share things with "
+"non-members. These identities may be used in Access Control Lists and "
+"visitors may login using these credentials to access private content."
+msgstr "Mit diesem Formular kannst Du temporäre Zugangs-IDs anlegen, um Inhalte mit Nicht-Mitgliedern zu teilen. Die IDs können in Berechtigungslisten (ACLs) verwendet werden, und Besucher können sich damit einloggen, um auf private Inhalte zuzugreifen."
+
+#: ../../Zotlabs/Module/Settings/Tokens.php:115
+msgid ""
+"You may also provide <em>dropbox</em> style access links to friends and "
+"associates by adding the Login Password to any specific site URL as shown. "
+"Examples:"
+msgstr "Du kannst auch <em>Dropbox</em>-ähnliche Zugriffslinks an Andere weitergeben, indem du das Login-Passwort an eine entsprechende URL anhängst wie nachfolgend gezeigt. Beispiele:"
+
+#: ../../Zotlabs/Module/Settings/Tokens.php:150 ../../include/widgets.php:647
+msgid "Guest Access Tokens"
+msgstr "Gastzugangstoken"
+
+#: ../../Zotlabs/Module/Settings/Tokens.php:157
+msgid "Login Name"
+msgstr "Anmeldename"
+
+#: ../../Zotlabs/Module/Settings/Tokens.php:158
+msgid "Login Password"
+msgstr "Anmeldepasswort"
+
+#: ../../Zotlabs/Module/Settings/Tokens.php:159
+msgid "Expires (yyyy-mm-dd)"
+msgstr "Läuft ab (jjjj-mm-tt)"
+
#: ../../Zotlabs/Lib/Chatroom.php:27
msgid "Missing room name"
msgstr "Der Chatraum hat keinen Namen"
@@ -6733,6 +6875,69 @@ msgstr "Neuer Beitrag wurde erzeugt"
msgid "commented on %s's post"
msgstr "hat %s's Beitrag kommentiert"
+#: ../../Zotlabs/Lib/PermissionDescription.php:31
+#: ../../include/acl_selectors.php:124
+msgid "Visible to your default audience"
+msgstr "Standard-Sichtbarkeit gemäß Kanaleinstellungen"
+
+#: ../../Zotlabs/Lib/PermissionDescription.php:106
+#: ../../include/acl_selectors.php:165
+msgid "Only me"
+msgstr "Nur ich"
+
+#: ../../Zotlabs/Lib/PermissionDescription.php:107
+msgid "Public"
+msgstr "Öffentlich"
+
+#: ../../Zotlabs/Lib/PermissionDescription.php:108
+msgid "Anybody in the $Projectname network"
+msgstr "Jeder innerhalb des $Projectname Netzwerks"
+
+#: ../../Zotlabs/Lib/PermissionDescription.php:109
+#, php-format
+msgid "Any account on %s"
+msgstr "Jedes Nutzerkonto auf %s"
+
+#: ../../Zotlabs/Lib/PermissionDescription.php:110
+msgid "Any of my connections"
+msgstr "Alle meine Verbindungen"
+
+#: ../../Zotlabs/Lib/PermissionDescription.php:111
+msgid "Only connections I specifically allow"
+msgstr "Nur Verbindungen, denen ich es explizit erlaube"
+
+#: ../../Zotlabs/Lib/PermissionDescription.php:112
+msgid "Anybody authenticated (could include visitors from other networks)"
+msgstr "Jeder, der angemeldet ist (kann Besucher anderer Netzwerke beinhalten)"
+
+#: ../../Zotlabs/Lib/PermissionDescription.php:113
+msgid "Any connections including those who haven't yet been approved"
+msgstr "Alle Verbindungen einschließlich der noch nicht bestätigten"
+
+#: ../../Zotlabs/Lib/PermissionDescription.php:152
+msgid ""
+"This is your default setting for the audience of your normal stream, and "
+"posts."
+msgstr "Dies ist Deine Voreinstellung für die Sichtbarkeit Deiner normalen Beiträge (Stream)."
+
+#: ../../Zotlabs/Lib/PermissionDescription.php:153
+msgid ""
+"This is your default setting for who can view your default channel profile"
+msgstr "Dies ist Deine Voreinstellung für die Sichtbarkeit Deines Standard-Kanalprofils."
+
+#: ../../Zotlabs/Lib/PermissionDescription.php:154
+msgid "This is your default setting for who can view your connections"
+msgstr "Dies ist Deine Voreinstellung für die Sichtbarkeit Deiner Verbindungen."
+
+#: ../../Zotlabs/Lib/PermissionDescription.php:155
+msgid ""
+"This is your default setting for who can view your file storage and photos"
+msgstr "Dies ist Deine Voreinstellung für die Sichtbarkeit Deiner Dateien und Fotos."
+
+#: ../../Zotlabs/Lib/PermissionDescription.php:156
+msgid "This is your default setting for the audience of your webpages"
+msgstr "Dies ist Deine Voreinstellung für die Sichtbarkeit Deiner Webseiten."
+
#: ../../Zotlabs/Lib/Apps.php:205
msgid "Site Admin"
msgstr "Hub-Administration"
@@ -6757,37 +6962,37 @@ msgstr "Teilen-Knopf für Firefox"
msgid "Remote Diagnostics"
msgstr "Ferndiagnose"
-#: ../../Zotlabs/Lib/Apps.php:212 ../../include/features.php:92
+#: ../../Zotlabs/Lib/Apps.php:212 ../../include/features.php:88
msgid "Suggest Channels"
msgstr "Kanäle vorschlagen"
-#: ../../Zotlabs/Lib/Apps.php:213 ../../include/nav.php:114
-#: ../../boot.php:1713
+#: ../../Zotlabs/Lib/Apps.php:213 ../../include/nav.php:115
+#: ../../boot.php:1739
msgid "Login"
msgstr "Anmelden"
-#: ../../Zotlabs/Lib/Apps.php:215 ../../include/nav.php:183
+#: ../../Zotlabs/Lib/Apps.php:215 ../../include/nav.php:184
msgid "Grid"
msgstr "Grid"
-#: ../../Zotlabs/Lib/Apps.php:220 ../../include/nav.php:186
+#: ../../Zotlabs/Lib/Apps.php:220 ../../include/nav.php:187
msgid "Channel Home"
msgstr "Mein Kanal"
-#: ../../Zotlabs/Lib/Apps.php:223 ../../include/nav.php:205
-#: ../../include/conversation.php:1669 ../../include/conversation.php:1672
+#: ../../Zotlabs/Lib/Apps.php:223 ../../include/nav.php:206
+#: ../../include/conversation.php:1688 ../../include/conversation.php:1691
msgid "Events"
msgstr "Termine"
-#: ../../Zotlabs/Lib/Apps.php:224 ../../include/nav.php:171
+#: ../../Zotlabs/Lib/Apps.php:224 ../../include/nav.php:172
msgid "Directory"
msgstr "Verzeichnis"
-#: ../../Zotlabs/Lib/Apps.php:226 ../../include/nav.php:197
+#: ../../Zotlabs/Lib/Apps.php:226 ../../include/nav.php:198
msgid "Mail"
msgstr "Mail"
-#: ../../Zotlabs/Lib/Apps.php:229 ../../include/nav.php:98
+#: ../../Zotlabs/Lib/Apps.php:229 ../../include/nav.php:99
msgid "Chat"
msgstr "Chat"
@@ -6807,7 +7012,7 @@ msgstr "Zufälliger Kanal"
msgid "Invite"
msgstr "Einladen"
-#: ../../Zotlabs/Lib/Apps.php:235 ../../include/widgets.php:1494
+#: ../../Zotlabs/Lib/Apps.php:235 ../../include/widgets.php:1560
msgid "Features"
msgstr "Funktionen"
@@ -6827,69 +7032,6 @@ msgstr "Profilfoto"
msgid "Purchase"
msgstr "Kaufen"
-#: ../../Zotlabs/Lib/PermissionDescription.php:31
-#: ../../include/acl_selectors.php:230
-msgid "Visible to your default audience"
-msgstr "Standard-Sichtbarkeit gemäß Kanaleinstellungen"
-
-#: ../../Zotlabs/Lib/PermissionDescription.php:106
-#: ../../include/acl_selectors.php:266
-msgid "Only me"
-msgstr "Nur ich"
-
-#: ../../Zotlabs/Lib/PermissionDescription.php:107
-msgid "Public"
-msgstr "Öffentlich"
-
-#: ../../Zotlabs/Lib/PermissionDescription.php:108
-msgid "Anybody in the $Projectname network"
-msgstr "Jeder innerhalb des $Projectname Netzwerks"
-
-#: ../../Zotlabs/Lib/PermissionDescription.php:109
-#, php-format
-msgid "Any account on %s"
-msgstr "Jedes Nutzerkonto auf %s"
-
-#: ../../Zotlabs/Lib/PermissionDescription.php:110
-msgid "Any of my connections"
-msgstr "Alle meine Verbindungen"
-
-#: ../../Zotlabs/Lib/PermissionDescription.php:111
-msgid "Only connections I specifically allow"
-msgstr "Nur Verbindungen, denen ich es explizit erlaube"
-
-#: ../../Zotlabs/Lib/PermissionDescription.php:112
-msgid "Anybody authenticated (could include visitors from other networks)"
-msgstr "Jeder, der angemeldet ist (kann Besucher anderer Netzwerke beinhalten)"
-
-#: ../../Zotlabs/Lib/PermissionDescription.php:113
-msgid "Any connections including those who haven't yet been approved"
-msgstr "Alle Verbindungen einschließlich der noch nicht bestätigten"
-
-#: ../../Zotlabs/Lib/PermissionDescription.php:152
-msgid ""
-"This is your default setting for the audience of your normal stream, and "
-"posts."
-msgstr "Dies ist Deine Voreinstellung für die Sichtbarkeit Deiner normalen Beiträge (Stream)."
-
-#: ../../Zotlabs/Lib/PermissionDescription.php:153
-msgid ""
-"This is your default setting for who can view your default channel profile"
-msgstr "Dies ist Deine Voreinstellung für die Sichtbarkeit Deines Standard-Kanalprofils."
-
-#: ../../Zotlabs/Lib/PermissionDescription.php:154
-msgid "This is your default setting for who can view your connections"
-msgstr "Dies ist Deine Voreinstellung für die Sichtbarkeit Deiner Verbindungen."
-
-#: ../../Zotlabs/Lib/PermissionDescription.php:155
-msgid ""
-"This is your default setting for who can view your file storage and photos"
-msgstr "Dies ist Deine Voreinstellung für die Sichtbarkeit Deiner Dateien und Fotos."
-
-#: ../../Zotlabs/Lib/PermissionDescription.php:156
-msgid "This is your default setting for the audience of your webpages"
-msgstr "Dies ist Deine Voreinstellung für die Sichtbarkeit Deiner Webseiten."
-
#: ../../Zotlabs/Lib/ThreadItem.php:95 ../../include/conversation.php:667
msgid "Private Message"
msgstr "Private Nachricht"
@@ -6954,115 +7096,115 @@ msgstr "Signatur nicht korrekt"
msgid "Add Tag"
msgstr "Tag hinzufügen"
-#: ../../Zotlabs/Lib/ThreadItem.php:262 ../../include/taxonomy.php:316
+#: ../../Zotlabs/Lib/ThreadItem.php:263 ../../include/taxonomy.php:316
msgid "like"
msgstr "mag"
-#: ../../Zotlabs/Lib/ThreadItem.php:263 ../../include/taxonomy.php:317
+#: ../../Zotlabs/Lib/ThreadItem.php:264 ../../include/taxonomy.php:317
msgid "dislike"
msgstr "verurteile"
-#: ../../Zotlabs/Lib/ThreadItem.php:267
+#: ../../Zotlabs/Lib/ThreadItem.php:268
msgid "Share This"
msgstr "Teilen"
-#: ../../Zotlabs/Lib/ThreadItem.php:267
+#: ../../Zotlabs/Lib/ThreadItem.php:268
msgid "share"
msgstr "Teilen"
-#: ../../Zotlabs/Lib/ThreadItem.php:276
+#: ../../Zotlabs/Lib/ThreadItem.php:277
msgid "Delivery Report"
msgstr "Zustellungsbericht"
-#: ../../Zotlabs/Lib/ThreadItem.php:294
+#: ../../Zotlabs/Lib/ThreadItem.php:295
#, php-format
msgid "%d comment"
msgid_plural "%d comments"
msgstr[0] "%d Kommentar"
msgstr[1] "%d Kommentare"
-#: ../../Zotlabs/Lib/ThreadItem.php:323 ../../Zotlabs/Lib/ThreadItem.php:324
+#: ../../Zotlabs/Lib/ThreadItem.php:324 ../../Zotlabs/Lib/ThreadItem.php:325
#, php-format
msgid "View %s's profile - %s"
msgstr "Schaue Dir %ss Profil an – %s"
-#: ../../Zotlabs/Lib/ThreadItem.php:327
+#: ../../Zotlabs/Lib/ThreadItem.php:328
msgid "to"
msgstr "an"
-#: ../../Zotlabs/Lib/ThreadItem.php:328
+#: ../../Zotlabs/Lib/ThreadItem.php:329
msgid "via"
msgstr "via"
-#: ../../Zotlabs/Lib/ThreadItem.php:329
+#: ../../Zotlabs/Lib/ThreadItem.php:330
msgid "Wall-to-Wall"
msgstr "Wall-to-Wall"
-#: ../../Zotlabs/Lib/ThreadItem.php:330
+#: ../../Zotlabs/Lib/ThreadItem.php:331
msgid "via Wall-To-Wall:"
msgstr "via Wall-To-Wall:"
-#: ../../Zotlabs/Lib/ThreadItem.php:342 ../../include/conversation.php:722
+#: ../../Zotlabs/Lib/ThreadItem.php:343 ../../include/conversation.php:722
#, php-format
msgid "from %s"
msgstr "via %s"
-#: ../../Zotlabs/Lib/ThreadItem.php:345 ../../include/conversation.php:725
+#: ../../Zotlabs/Lib/ThreadItem.php:346 ../../include/conversation.php:725
#, php-format
msgid "last edited: %s"
msgstr "zuletzt bearbeitet: %s"
-#: ../../Zotlabs/Lib/ThreadItem.php:346 ../../include/conversation.php:726
+#: ../../Zotlabs/Lib/ThreadItem.php:347 ../../include/conversation.php:726
#, php-format
msgid "Expires: %s"
msgstr "Verfällt: %s"
-#: ../../Zotlabs/Lib/ThreadItem.php:371
+#: ../../Zotlabs/Lib/ThreadItem.php:372
msgid "Save Bookmarks"
msgstr "Favoriten speichern"
-#: ../../Zotlabs/Lib/ThreadItem.php:372
+#: ../../Zotlabs/Lib/ThreadItem.php:373
msgid "Add to Calendar"
msgstr "Zum Kalender hinzufügen"
-#: ../../Zotlabs/Lib/ThreadItem.php:381
+#: ../../Zotlabs/Lib/ThreadItem.php:382
msgid "Mark all seen"
msgstr "Alle als gelesen markieren"
-#: ../../Zotlabs/Lib/ThreadItem.php:422 ../../include/js_strings.php:7
+#: ../../Zotlabs/Lib/ThreadItem.php:423 ../../include/js_strings.php:7
#, php-format
msgid "%s show all"
msgstr "%s mehr anzeigen"
-#: ../../Zotlabs/Lib/ThreadItem.php:712 ../../include/conversation.php:1227
+#: ../../Zotlabs/Lib/ThreadItem.php:713 ../../include/conversation.php:1238
msgid "Bold"
msgstr "Fett"
-#: ../../Zotlabs/Lib/ThreadItem.php:713 ../../include/conversation.php:1228
+#: ../../Zotlabs/Lib/ThreadItem.php:714 ../../include/conversation.php:1239
msgid "Italic"
msgstr "Kursiv"
-#: ../../Zotlabs/Lib/ThreadItem.php:714 ../../include/conversation.php:1229
+#: ../../Zotlabs/Lib/ThreadItem.php:715 ../../include/conversation.php:1240
msgid "Underline"
msgstr "Unterstrichen"
-#: ../../Zotlabs/Lib/ThreadItem.php:715 ../../include/conversation.php:1230
+#: ../../Zotlabs/Lib/ThreadItem.php:716 ../../include/conversation.php:1241
msgid "Quote"
msgstr "Zitat"
-#: ../../Zotlabs/Lib/ThreadItem.php:716 ../../include/conversation.php:1231
+#: ../../Zotlabs/Lib/ThreadItem.php:717 ../../include/conversation.php:1242
msgid "Code"
msgstr "Code"
-#: ../../Zotlabs/Lib/ThreadItem.php:717
+#: ../../Zotlabs/Lib/ThreadItem.php:718
msgid "Image"
msgstr "Bild"
-#: ../../Zotlabs/Lib/ThreadItem.php:718
+#: ../../Zotlabs/Lib/ThreadItem.php:719
msgid "Insert Link"
msgstr "Link einfügen"
-#: ../../Zotlabs/Lib/ThreadItem.php:719
+#: ../../Zotlabs/Lib/ThreadItem.php:720
msgid "Video"
msgstr "Video"
@@ -7074,73 +7216,63 @@ msgstr "Kein Benutzername in der Importdatei gefunden."
msgid "Unable to create a unique channel address. Import failed."
msgstr "Es war nicht möglich, eine eindeutige Kanal-Adresse zu erzeugen. Der Import ist fehlgeschlagen."
-#: ../../include/dba/dba_driver.php:171
+#: ../../include/dba/dba_driver.php:173
#, php-format
msgid "Cannot locate DNS info for database server '%s'"
msgstr "Kann die DNS-Informationen für den Datenbank-Server '%s' nicht finden"
-#: ../../include/items.php:897 ../../include/items.php:942
-msgid "(Unknown)"
-msgstr "(Unbekannt)"
-
-#: ../../include/items.php:1141
-msgid "Visible to anybody on the internet."
-msgstr "Für jeden im Internet sichtbar."
-
-#: ../../include/items.php:1143
-msgid "Visible to you only."
-msgstr "Nur für Dich sichtbar."
+#: ../../include/network.php:704
+msgid "view full size"
+msgstr "In Vollbildansicht anschauen"
-#: ../../include/items.php:1145
-msgid "Visible to anybody in this network."
-msgstr "Für jedes $Projectname-Mitglied sichtbar."
+#: ../../include/network.php:1935 ../../include/account.php:326
+#: ../../include/account.php:353 ../../include/account.php:413
+msgid "Administrator"
+msgstr "Administrator"
-#: ../../include/items.php:1147
-msgid "Visible to anybody authenticated."
-msgstr "Für jeden sichtbar, der angemeldet ist."
+#: ../../include/network.php:1949
+msgid "No Subject"
+msgstr "Kein Betreff"
-#: ../../include/items.php:1149
-#, php-format
-msgid "Visible to anybody on %s."
-msgstr "Für jeden auf %s sichtbar."
+#: ../../include/network.php:2203 ../../include/network.php:2204
+msgid "Friendica"
+msgstr "Friendica"
-#: ../../include/items.php:1151
-msgid "Visible to all connections."
-msgstr "Für alle Verbindungen sichtbar."
+#: ../../include/network.php:2205
+msgid "OStatus"
+msgstr "OStatus"
-#: ../../include/items.php:1153
-msgid "Visible to approved connections."
-msgstr "Nur für akzeptierte Verbindungen sichtbar."
+#: ../../include/network.php:2206
+msgid "GNU-Social"
+msgstr "GNU-Social"
-#: ../../include/items.php:1155
-msgid "Visible to specific connections."
-msgstr "Sichtbar für bestimmte Verbindungen."
+#: ../../include/network.php:2207
+msgid "RSS/Atom"
+msgstr "RSS/Atom"
-#: ../../include/items.php:3918
-msgid "Privacy group is empty."
-msgstr "Gruppe ist leer."
+#: ../../include/network.php:2209
+msgid "Diaspora"
+msgstr "Diaspora"
-#: ../../include/items.php:3925
-#, php-format
-msgid "Privacy group: %s"
-msgstr "Gruppe: %s"
+#: ../../include/network.php:2210
+msgid "Facebook"
+msgstr "Facebook"
-#: ../../include/items.php:3937
-msgid "Connection not found."
-msgstr "Die Verbindung wurde nicht gefunden."
+#: ../../include/network.php:2211
+msgid "Zot"
+msgstr "Zot!"
-#: ../../include/items.php:4290
-msgid "profile photo"
-msgstr "Profilfoto"
+#: ../../include/network.php:2212
+msgid "LinkedIn"
+msgstr "LinkedIn"
-#: ../../include/import.php:30
-msgid ""
-"Cannot create a duplicate channel identifier on this system. Import failed."
-msgstr "Kann keinen doppelten Kanal-Identifikator auf diesem System erzeugen (Spitzname oder Hash schon belegt). Import fehlgeschlagen."
+#: ../../include/network.php:2213
+msgid "XMPP/IM"
+msgstr "XMPP/IM"
-#: ../../include/import.php:97
-msgid "Channel clone failed. Import failed."
-msgstr "Klonen des Kanals fehlgeschlagen. Import fehlgeschlagen."
+#: ../../include/network.php:2214
+msgid "MySpace"
+msgstr "MySpace"
#: ../../include/photos.php:114
#, php-format
@@ -7165,7 +7297,7 @@ msgctxt "photo_upload"
msgid "%1$s posted %2$s to %3$s"
msgstr "%1$s hat %2$s auf %3$s veröffentlicht"
-#: ../../include/photos.php:506 ../../include/conversation.php:1655
+#: ../../include/photos.php:506 ../../include/conversation.php:1674
msgid "Photo Albums"
msgstr "Fotoalben"
@@ -7173,338 +7305,326 @@ msgstr "Fotoalben"
msgid "Upload New Photos"
msgstr "Neue Fotos hochladen"
-#: ../../include/features.php:50
-msgid "General Features"
-msgstr "Allgemeine Funktionen"
+#: ../../include/nav.php:85 ../../include/nav.php:118 ../../boot.php:1738
+msgid "Logout"
+msgstr "Abmelden"
-#: ../../include/features.php:52
-msgid "Content Expiration"
-msgstr "Verfall von Inhalten"
+#: ../../include/nav.php:85 ../../include/nav.php:118
+msgid "End this session"
+msgstr "Beende diese Sitzung"
-#: ../../include/features.php:52
-msgid "Remove posts/comments and/or private messages at a future time"
-msgstr "Ermöglicht das automatische Löschen von Beiträgen, Kommentaren und/oder privaten Nachrichten zu einem zukünftigen Datum."
+#: ../../include/nav.php:88 ../../include/nav.php:149
+msgid "Home"
+msgstr "Home"
-#: ../../include/features.php:53
-msgid "Multiple Profiles"
-msgstr "Mehrfachprofile"
+#: ../../include/nav.php:88
+msgid "Your posts and conversations"
+msgstr "Deine Beiträge und Unterhaltungen"
-#: ../../include/features.php:53
-msgid "Ability to create multiple profiles"
-msgstr "Ermöglicht das Anlegen mehrerer Profile pro Kanal"
+#: ../../include/nav.php:89
+msgid "Your profile page"
+msgstr "Deine Profilseite"
-#: ../../include/features.php:54
-msgid "Advanced Profiles"
-msgstr "Erweiterte Profile"
+#: ../../include/nav.php:91
+msgid "Manage/Edit profiles"
+msgstr "Profile verwalten"
-#: ../../include/features.php:54
-msgid "Additional profile sections and selections"
-msgstr "Stellt zusätzliche Bereiche und Felder im Profil zur Verfügung"
+#: ../../include/nav.php:93 ../../include/channel.php:963
+msgid "Edit Profile"
+msgstr "Profile bearbeiten"
-#: ../../include/features.php:55
-msgid "Profile Import/Export"
-msgstr "Profil-Import/Export"
+#: ../../include/nav.php:93
+msgid "Edit your profile"
+msgstr "Profil bearbeiten"
-#: ../../include/features.php:55
-msgid "Save and load profile details across sites/channels"
-msgstr "Ermöglicht das Speichern von Profilen, um sie in einen anderen Kanal zu importieren"
+#: ../../include/nav.php:95
+msgid "Your photos"
+msgstr "Deine Bilder"
-#: ../../include/features.php:56
-msgid "Web Pages"
-msgstr "Webseiten"
+#: ../../include/nav.php:96
+msgid "Your files"
+msgstr "Deine Dateien"
-#: ../../include/features.php:56
-msgid "Provide managed web pages on your channel"
-msgstr "Ermöglicht das Erstellen von Webseiten in Deinem Kanal"
+#: ../../include/nav.php:99
+msgid "Your chatrooms"
+msgstr "Deine Chaträume"
-#: ../../include/features.php:57
-msgid "Provide a wiki for your channel"
-msgstr "Stelle ein Wiki in Deinem Kanal zur Verfügung"
+#: ../../include/nav.php:105 ../../include/conversation.php:1714
+msgid "Bookmarks"
+msgstr "Lesezeichen"
-#: ../../include/features.php:58
-msgid "Hide Rating"
-msgstr "Bewertung verbergen"
+#: ../../include/nav.php:105
+msgid "Your bookmarks"
+msgstr "Deine Lesezeichen"
-#: ../../include/features.php:58
-msgid ""
-"Hide the rating buttons on your channel and profile pages. Note: People can "
-"still rate you somewhere else."
-msgstr "Verberge die Buttons zur Bewertung auf deiner Profil-Seite und deinem Kanal. Hinweis: Leute können dich weiterhin andernorts bewerten."
+#: ../../include/nav.php:109
+msgid "Your webpages"
+msgstr "Deine Webseiten"
-#: ../../include/features.php:59
-msgid "Private Notes"
-msgstr "Private Notizen"
+#: ../../include/nav.php:111
+msgid "Your wiki"
+msgstr "Dein Wiki"
-#: ../../include/features.php:59
-msgid "Enables a tool to store notes and reminders (note: not encrypted)"
-msgstr "Aktiviert ein Werkzeug mit dem Notizen und Erinnerungen gespeichert werden können (Hinweis: nicht verschlüsselt)"
+#: ../../include/nav.php:115
+msgid "Sign in"
+msgstr "Anmelden"
-#: ../../include/features.php:60
-msgid "Navigation Channel Select"
-msgstr "Kanal-Auswahl in der Navigationsleiste"
+#: ../../include/nav.php:132
+#, php-format
+msgid "%s - click to logout"
+msgstr "%s - Klick zum Abmelden"
-#: ../../include/features.php:60
-msgid "Change channels directly from within the navigation dropdown menu"
-msgstr "Ermöglicht den direkten Wechsel zu anderen Kanälen über das Navigationsmenü"
+#: ../../include/nav.php:135
+msgid "Remote authentication"
+msgstr "Über Konto auf anderem Server einloggen"
-#: ../../include/features.php:61
-msgid "Photo Location"
-msgstr "Aufnahmeort"
+#: ../../include/nav.php:135
+msgid "Click to authenticate to your home hub"
+msgstr "Klicke, um Dich über Deinen Heimat-Server zu authentifizieren"
-#: ../../include/features.php:61
-msgid "If location data is available on uploaded photos, link this to a map."
-msgstr "Verlinkt den Aufnahmeort von Fotos (falls verfügbar) auf einer Karte"
+#: ../../include/nav.php:149
+msgid "Home Page"
+msgstr "Homepage"
-#: ../../include/features.php:62
-msgid "Access Controlled Chatrooms"
-msgstr "Zugriffskontrollierte Chaträume"
+#: ../../include/nav.php:152
+msgid "Create an account"
+msgstr "Erzeuge ein Konto"
-#: ../../include/features.php:62
-msgid "Provide chatrooms and chat services with access control."
-msgstr "Bieten Sie Chaträume und Chatdienste mit Zugriffskontrolle an."
+#: ../../include/nav.php:164
+msgid "Help and documentation"
+msgstr "Hilfe und Dokumentation"
-#: ../../include/features.php:63
-msgid "Smart Birthdays"
-msgstr "Smarte Geburtstage"
+#: ../../include/nav.php:168
+msgid "Applications, utilities, links, games"
+msgstr "Anwendungen (Apps), Zubehör, Links, Spiele"
-#: ../../include/features.php:63
-msgid ""
-"Make birthday events timezone aware in case your friends are scattered "
-"across the planet."
-msgstr "Stellt für Geburtstage einen Zeitzonenbezug her, falls deine Freunde über den ganzen Planeten verstreut sind."
+#: ../../include/nav.php:170
+msgid "Search site @name, #tag, ?docs, content"
+msgstr "Hub durchsuchen: @Name. #Schlagwort, ?Dokumentation, Inhalt"
-#: ../../include/features.php:64
-msgid "Expert Mode"
-msgstr "Expertenmodus"
+#: ../../include/nav.php:172
+msgid "Channel Directory"
+msgstr "Kanal-Verzeichnis"
-#: ../../include/features.php:64
-msgid "Enable Expert Mode to provide advanced configuration options"
-msgstr "Aktiviert den Expertenmodus, der fortgeschrittene Konfigurationsoptionen zur Verfügung stellt"
+#: ../../include/nav.php:184
+msgid "Your grid"
+msgstr "Dein Grid"
-#: ../../include/features.php:65
-msgid "Premium Channel"
-msgstr "Premium-Kanal"
+#: ../../include/nav.php:185
+msgid "Mark all grid notifications seen"
+msgstr "Alle Grid-Benachrichtigungen als angesehen markieren"
-#: ../../include/features.php:65
-msgid ""
-"Allows you to set restrictions and terms on those that connect with your "
-"channel"
-msgstr "Ermöglicht es, Einschränkungen und Bedingungen für Verbindungen dieses Kanals festzulegen"
+#: ../../include/nav.php:187
+msgid "Channel home"
+msgstr "Mein Kanal"
-#: ../../include/features.php:70
-msgid "Post Composition Features"
-msgstr "Nachbearbeitungsfunktionen"
+#: ../../include/nav.php:188
+msgid "Mark all channel notifications seen"
+msgstr "Markiere alle Kanal-Benachrichtigungen als angesehen"
-#: ../../include/features.php:73
-msgid "Large Photos"
-msgstr "Große Fotos"
+#: ../../include/nav.php:194
+msgid "Notices"
+msgstr "Benachrichtigungen"
-#: ../../include/features.php:73
-msgid ""
-"Include large (1024px) photo thumbnails in posts. If not enabled, use small "
-"(640px) photo thumbnails"
-msgstr "Große Vorschaubilder (1024px) in Beiträgen anzeigen. Falls nicht aktiviert, werden kleine Vorschaubilder (640px) verwendet."
+#: ../../include/nav.php:194
+msgid "Notifications"
+msgstr "Benachrichtigungen"
-#: ../../include/features.php:74
-msgid "Automatically import channel content from other channels or feeds"
-msgstr "Ermöglicht den automatischen Import von Inhalten für diesen Kanal von anderen Kanälen oder Feeds"
+#: ../../include/nav.php:195
+msgid "See all notifications"
+msgstr "Alle Benachrichtigungen ansehen"
-#: ../../include/features.php:75
-msgid "Even More Encryption"
-msgstr "Noch mehr Verschlüsselung"
+#: ../../include/nav.php:198
+msgid "Private mail"
+msgstr "Persönliche Mail"
-#: ../../include/features.php:75
-msgid ""
-"Allow optional encryption of content end-to-end with a shared secret key"
-msgstr "Ermöglicht optional die zusätzliche Verschlüsselung von Inhalten (Ende-zu-Ende mit geteiltem Schlüssel)"
+#: ../../include/nav.php:199
+msgid "See all private messages"
+msgstr "Alle persönlichen Nachrichten ansehen"
-#: ../../include/features.php:76
-msgid "Enable Voting Tools"
-msgstr "Umfragewerkzeuge aktivieren"
+#: ../../include/nav.php:200
+msgid "Mark all private messages seen"
+msgstr "Markiere alle persönlichen Nachrichten als gesehen"
-#: ../../include/features.php:76
-msgid "Provide a class of post which others can vote on"
-msgstr "Aktiviert die Umfragewerkzeuge, um anderen die Möglichkeit zu geben, einem Beitrag zuzustimmen, ihn abzulehnen oder sich zu enthalten. (Muss im Beitrag selbst noch aktiviert werden.)"
+#: ../../include/nav.php:201 ../../include/widgets.php:700
+msgid "Inbox"
+msgstr "Eingang"
-#: ../../include/features.php:77
-msgid "Delayed Posting"
-msgstr "Verzögertes Senden"
+#: ../../include/nav.php:202 ../../include/widgets.php:705
+msgid "Outbox"
+msgstr "Ausgang"
-#: ../../include/features.php:77
-msgid "Allow posts to be published at a later date"
-msgstr "Ermöglicht es, Beiträge zu einem späteren Zeitpunkt zu veröffentlichen"
+#: ../../include/nav.php:203 ../../include/widgets.php:710
+msgid "New Message"
+msgstr "Neue Nachricht"
-#: ../../include/features.php:78
-msgid "Suppress Duplicate Posts/Comments"
-msgstr "Doppelte Beiträge unterdrücken"
+#: ../../include/nav.php:206
+msgid "Event Calendar"
+msgstr "Terminkalender"
-#: ../../include/features.php:78
-msgid ""
-"Prevent posts with identical content to be published with less than two "
-"minutes in between submissions."
-msgstr "Verhindert, dass innerhalb von zwei Minuten Beiträge mit identischem Inhalt veröffentlicht werden."
+#: ../../include/nav.php:207
+msgid "See all events"
+msgstr "Alle Termine ansehen"
-#: ../../include/features.php:84
-msgid "Network and Stream Filtering"
-msgstr "Netzwerk- und Stream-Filter"
+#: ../../include/nav.php:208
+msgid "Mark all events seen"
+msgstr "Markiere alle Termine als gesehen"
-#: ../../include/features.php:85
-msgid "Search by Date"
-msgstr "Suche nach Datum"
+#: ../../include/nav.php:211
+msgid "Manage Your Channels"
+msgstr "Verwalte Deine Kanäle"
-#: ../../include/features.php:85
-msgid "Ability to select posts by date ranges"
-msgstr "Möglichkeit, Beiträge nach Zeiträumen auszuwählen"
+#: ../../include/nav.php:213
+msgid "Account/Channel Settings"
+msgstr "Konto-/Kanal-Einstellungen"
-#: ../../include/features.php:86 ../../include/group.php:311
-msgid "Privacy Groups"
-msgstr "Gruppen"
+#: ../../include/nav.php:221 ../../include/widgets.php:1590
+msgid "Admin"
+msgstr "Administration"
-#: ../../include/features.php:86
-msgid "Enable management and selection of privacy groups"
-msgstr "Auswahl und Verwaltung von Gruppen für Kanäle aktivieren"
+#: ../../include/nav.php:221
+msgid "Site Setup and Configuration"
+msgstr "Seiten-Einrichtung und -Konfiguration"
-#: ../../include/features.php:87 ../../include/widgets.php:281
-msgid "Saved Searches"
-msgstr "Gespeicherte Suchanfragen"
+#: ../../include/nav.php:252 ../../include/conversation.php:855
+msgid "Loading..."
+msgstr "Lädt ..."
-#: ../../include/features.php:87
-msgid "Save search terms for re-use"
-msgstr "Ermöglicht das Abspeichern von Suchbegriffen zur Wiederverwendung"
+#: ../../include/nav.php:257
+msgid "@name, #tag, ?doc, content"
+msgstr "@Name, #Schlagwort, ?Dokumentation, Inhalt"
-#: ../../include/features.php:88
-msgid "Network Personal Tab"
-msgstr "Persönlicher Netzwerkreiter"
+#: ../../include/nav.php:258
+msgid "Please wait..."
+msgstr "Bitte warten..."
-#: ../../include/features.php:88
-msgid "Enable tab to display only Network posts that you've interacted on"
-msgstr "Aktiviert einen Reiter in der Grid-Ansicht, der nur Netzwerk-Beiträge anzeigt, mit denen Du interagiert hast"
+#: ../../include/oembed.php:349
+msgid "Embedded content"
+msgstr "Eingebetteter Inhalt"
-#: ../../include/features.php:89
-msgid "Network New Tab"
-msgstr "Netzwerkreiter Neu"
+#: ../../include/oembed.php:358
+msgid "Embedding disabled"
+msgstr "Einbetten deaktiviert"
-#: ../../include/features.php:89
-msgid "Enable tab to display all new Network activity"
-msgstr "Aktiviert einen Reiter in der Grid-Ansicht, der alle neuen Netzwerkaktivitäten anzeigt"
+#: ../../include/permissions.php:35
+msgid "Can view my normal stream and posts"
+msgstr "Kann meine normalen Beiträge sehen"
-#: ../../include/features.php:90
-msgid "Affinity Tool"
-msgstr "Beziehungs-Tool"
+#: ../../include/permissions.php:39
+msgid "Can view my webpages"
+msgstr "Kann meine Webseiten sehen"
-#: ../../include/features.php:90
-msgid "Filter stream activity by depth of relationships"
-msgstr "Aktiviert ein Werkzeug in der Grid-Ansicht, das den Stream nach Grad der Beziehung filtern kann"
+#: ../../include/permissions.php:43
+msgid "Can post on my channel page (\"wall\")"
+msgstr "Kann auf meiner Kanal-Seite (\"wall\") Beiträge veröffentlichen"
-#: ../../include/features.php:91
-msgid "Connection Filtering"
-msgstr "Filter für Verbindungen"
+#: ../../include/permissions.php:46
+msgid "Can like/dislike stuff"
+msgstr "Kann andere Elemente mögen/nicht mögen"
-#: ../../include/features.php:91
-msgid "Filter incoming posts from connections based on keywords/content"
-msgstr "Ermöglicht die Filterung eingehender Beiträge anhand von Schlüsselwörtern (muss an der Verbindung konfiguriert werden)"
+#: ../../include/permissions.php:46
+msgid "Profiles and things other than posts/comments"
+msgstr "Profile und alles außer Beiträge und Kommentare"
-#: ../../include/features.php:92
-msgid "Show channel suggestions"
-msgstr "Kanalvorschläge anzeigen"
+#: ../../include/permissions.php:48
+msgid "Can forward to all my channel contacts via post @mentions"
+msgstr "Kann an alle meine Kontakte via @-Erwähnung Nachrichten weiterleiten"
-#: ../../include/features.php:97
-msgid "Post/Comment Tools"
-msgstr "Beitrag-/Kommentar-Tools"
+#: ../../include/permissions.php:48
+msgid "Advanced - useful for creating group forum channels"
+msgstr "Fortgeschritten - sinnvoll, um Gruppen-Kanäle/-Foren zu erstellen"
-#: ../../include/features.php:98
-msgid "Community Tagging"
-msgstr "Gemeinschaftliches Verschlagworten"
+#: ../../include/permissions.php:49
+msgid "Can chat with me (when available)"
+msgstr "Kann mit mir chatten (wenn verfügbar)"
-#: ../../include/features.php:98
-msgid "Ability to tag existing posts"
-msgstr "Ermöglicht das Verschlagworten existierender Beiträge"
+#: ../../include/permissions.php:50
+msgid "Can write to my file storage and photos"
+msgstr "Kann in meine Datei- und Bilderordner schreiben"
-#: ../../include/features.php:99
-msgid "Post Categories"
-msgstr "Beitrags-Kategorien"
+#: ../../include/permissions.php:51
+msgid "Can edit my webpages"
+msgstr "Kann meine Webseiten bearbeiten"
-#: ../../include/features.php:99
-msgid "Add categories to your posts"
-msgstr "Aktiviert Kategorien für Beiträge"
+#: ../../include/permissions.php:53
+msgid "Somewhat advanced - very useful in open communities"
+msgstr "Etwas fortgeschritten – sehr nützlich in offenen Gemeinschaften"
-#: ../../include/features.php:100
-msgid "Emoji Reactions"
-msgstr "Emoji Reaktionen"
+#: ../../include/permissions.php:55
+msgid "Can administer my channel resources"
+msgstr "Kann meine Kanäle administrieren"
-#: ../../include/features.php:100
-msgid "Add emoji reaction ability to posts"
-msgstr "Aktiviert Emoji-Reaktionen für Beiträge"
+#: ../../include/permissions.php:55
+msgid ""
+"Extremely advanced. Leave this alone unless you know what you are doing"
+msgstr "Sehr fortgeschritten. Bearbeite das nur, wenn Du genau weißt, was Du tust"
-#: ../../include/features.php:101 ../../include/widgets.php:310
-#: ../../include/contact_widgets.php:53
-msgid "Saved Folders"
-msgstr "Gespeicherte Ordner"
+#: ../../include/import.php:30
+msgid ""
+"Cannot create a duplicate channel identifier on this system. Import failed."
+msgstr "Kann keinen doppelten Kanal-Identifikator auf diesem System erzeugen (Spitzname oder Hash schon belegt). Import fehlgeschlagen."
-#: ../../include/features.php:101
-msgid "Ability to file posts under folders"
-msgstr "Möglichkeit, Beiträge in Verzeichnissen zu sammeln"
+#: ../../include/import.php:97
+msgid "Channel clone failed. Import failed."
+msgstr "Klonen des Kanals fehlgeschlagen. Import fehlgeschlagen."
-#: ../../include/features.php:102
-msgid "Dislike Posts"
-msgstr "Gefällt-mir-nicht-Beiträge"
+#: ../../include/import.php:1441
+msgid "Unable to import element \""
+msgstr ""
-#: ../../include/features.php:102
-msgid "Ability to dislike posts/comments"
-msgstr "Aktiviert die „Gefällt mir nicht“-Schaltfläche"
+#: ../../include/items.php:918 ../../include/items.php:963
+msgid "(Unknown)"
+msgstr "(Unbekannt)"
-#: ../../include/features.php:103
-msgid "Star Posts"
-msgstr "Beiträge mit Sternchen versehen"
+#: ../../include/items.php:1162
+msgid "Visible to anybody on the internet."
+msgstr "Für jeden im Internet sichtbar."
-#: ../../include/features.php:103
-msgid "Ability to mark special posts with a star indicator"
-msgstr "Ermöglicht die lokale Markierung spezieller Beiträge mit einem Sternchen-Symbol"
+#: ../../include/items.php:1164
+msgid "Visible to you only."
+msgstr "Nur für Dich sichtbar."
-#: ../../include/features.php:104
-msgid "Tag Cloud"
-msgstr "Schlagwort-Wolke"
+#: ../../include/items.php:1166
+msgid "Visible to anybody in this network."
+msgstr "Für jedes $Projectname-Mitglied sichtbar."
-#: ../../include/features.php:104
-msgid "Provide a personal tag cloud on your channel page"
-msgstr "Aktiviert die Anzeige einer Schlagwort-Wolke (Tag Cloud) auf Deiner Kanal-Seite"
+#: ../../include/items.php:1168
+msgid "Visible to anybody authenticated."
+msgstr "Für jeden sichtbar, der angemeldet ist."
-#: ../../include/api.php:1337
-msgid "Public Timeline"
-msgstr "Öffentliche Zeitleiste"
+#: ../../include/items.php:1170
+#, php-format
+msgid "Visible to anybody on %s."
+msgstr "Für jeden auf %s sichtbar."
-#: ../../include/acl_selectors.php:269
-msgid "Who can see this?"
-msgstr "Wer kann das sehen?"
+#: ../../include/items.php:1172
+msgid "Visible to all connections."
+msgstr "Für alle Verbindungen sichtbar."
-#: ../../include/acl_selectors.php:270
-msgid "Custom selection"
-msgstr "Benutzerdefinierte Auswahl"
+#: ../../include/items.php:1174
+msgid "Visible to approved connections."
+msgstr "Nur für akzeptierte Verbindungen sichtbar."
-#: ../../include/acl_selectors.php:271
-msgid ""
-"Select \"Show\" to allow viewing. \"Don't show\" lets you override and limit"
-" the scope of \"Show\"."
-msgstr "Wähle \"Anzeigen\", um Betrachtung zuzulassen. \"Nicht anzeigen\" überstimmt und limitiert den Aktionsradius von \"Anzeigen\" für Ausnahmen."
+#: ../../include/items.php:1176
+msgid "Visible to specific connections."
+msgstr "Sichtbar für bestimmte Verbindungen."
-#: ../../include/acl_selectors.php:272
-msgid "Show"
-msgstr "Anzeigen"
+#: ../../include/items.php:3966
+msgid "Privacy group is empty."
+msgstr "Gruppe ist leer."
-#: ../../include/acl_selectors.php:273
-msgid "Don't show"
-msgstr "Nicht anzeigen"
+#: ../../include/items.php:3973
+#, php-format
+msgid "Privacy group: %s"
+msgstr "Gruppe: %s"
-#: ../../include/acl_selectors.php:279
-msgid "Other networks and post services"
-msgstr "Andere Netzwerke und Platformen"
+#: ../../include/items.php:3985
+msgid "Connection not found."
+msgstr "Die Verbindung wurde nicht gefunden."
-#: ../../include/acl_selectors.php:309
-#, php-format
-msgid ""
-"Post permissions %s cannot be changed %s after a post is shared.</br />These"
-" permissions set who is allowed to view the post."
-msgstr "Beitragsberechtigungen %s können nicht geändert werden %s, nachdem der Beitrag gesendet wurde.<br />Diese Berechtigungen bestimmen, wer den Beitrag sehen kann."
+#: ../../include/items.php:4338
+msgid "profile photo"
+msgstr "Profilfoto"
#: ../../include/datetime.php:135
msgid "Birthday"
@@ -7518,7 +7638,7 @@ msgstr "Alter:"
msgid "YYYY-MM-DD or MM-DD"
msgstr "JJJJ-MM-TT oder MM-TT"
-#: ../../include/datetime.php:272 ../../boot.php:2549
+#: ../../include/datetime.php:272 ../../boot.php:2578
msgid "never"
msgstr "Nie"
@@ -7591,6 +7711,74 @@ msgstr "%1$ss Geburtstag"
msgid "Happy Birthday %1$s"
msgstr "Alles Gute zum Geburtstag, %1$s"
+#: ../../include/account.php:35
+msgid "Not a valid email address"
+msgstr "Ungültige E-Mail-Adresse"
+
+#: ../../include/account.php:37
+msgid "Your email domain is not among those allowed on this site"
+msgstr "Deine E-Mail-Adresse ist auf dieser Seite nicht erlaubt"
+
+#: ../../include/account.php:43
+msgid "Your email address is already registered at this site."
+msgstr "Deine E-Mail-Adresse ist auf dieser Seite bereits registriert."
+
+#: ../../include/account.php:75
+msgid "An invitation is required."
+msgstr "Eine Einladung wird benötigt."
+
+#: ../../include/account.php:79
+msgid "Invitation could not be verified."
+msgstr "Die Einladung konnte nicht bestätigt werden."
+
+#: ../../include/account.php:130
+msgid "Please enter the required information."
+msgstr "Bitte gib die benötigten Informationen ein."
+
+#: ../../include/account.php:198
+msgid "Failed to store account information."
+msgstr "Speichern der Nutzerkontodaten fehlgeschlagen."
+
+#: ../../include/account.php:258
+#, php-format
+msgid "Registration confirmation for %s"
+msgstr "Registrierungsbestätigung für %s"
+
+#: ../../include/account.php:324
+#, php-format
+msgid "Registration request at %s"
+msgstr "Registrierungsanfrage auf %s"
+
+#: ../../include/account.php:348
+msgid "your registration password"
+msgstr "Dein Registrierungspasswort"
+
+#: ../../include/account.php:351 ../../include/account.php:411
+#, php-format
+msgid "Registration details for %s"
+msgstr "Registrierungsdetails für %s"
+
+#: ../../include/account.php:423
+msgid "Account approved."
+msgstr "Nutzerkonto bestätigt."
+
+#: ../../include/account.php:463
+#, php-format
+msgid "Registration revoked for %s"
+msgstr "Registrierung für %s wurde widerrufen"
+
+#: ../../include/account.php:748 ../../include/account.php:750
+msgid "Click here to upgrade."
+msgstr "Klicke hier, um das Upgrade durchzuführen."
+
+#: ../../include/account.php:756
+msgid "This action exceeds the limits set by your subscription plan."
+msgstr "Diese Aktion überschreitet die Grenzen Ihres Abonnements."
+
+#: ../../include/account.php:761
+msgid "This action is not available under your subscription plan."
+msgstr "Diese Aktion ist in Ihrem Abonnement nicht verfügbar."
+
#: ../../include/selectors.php:30
msgid "Frequently"
msgstr "Häufig"
@@ -7839,549 +8027,52 @@ msgstr "Interessiert mich nicht"
msgid "Ask me"
msgstr "Frag mich mal"
-#: ../../include/follow.php:27
-msgid "Channel is blocked on this site."
-msgstr "Der Kanal ist auf dieser Seite blockiert "
-
-#: ../../include/follow.php:32
-msgid "Channel location missing."
-msgstr "Adresse des Kanals fehlt."
-
-#: ../../include/follow.php:80
-msgid "Response from remote channel was incomplete."
-msgstr "Antwort des entfernten Kanals war unvollständig."
-
-#: ../../include/follow.php:97
-msgid "Channel was deleted and no longer exists."
-msgstr "Kanal wurde gelöscht und existiert nicht mehr."
-
-#: ../../include/follow.php:147 ../../include/follow.php:183
-msgid "Protocol disabled."
-msgstr "Protokoll deaktiviert."
-
-#: ../../include/follow.php:171
-msgid "Channel discovery failed."
-msgstr "Kanalsuche fehlgeschlagen"
-
-#: ../../include/follow.php:210
-msgid "Cannot connect to yourself."
-msgstr "Du kannst Dich nicht mit Dir selbst verbinden."
-
-#: ../../include/text.php:404
-msgid "prev"
-msgstr "vorherige"
-
-#: ../../include/text.php:406
-msgid "first"
-msgstr "erste"
-
-#: ../../include/text.php:435
-msgid "last"
-msgstr "letzte"
-
-#: ../../include/text.php:438
-msgid "next"
-msgstr "nächste"
-
-#: ../../include/text.php:448
-msgid "older"
-msgstr "älter"
-
-#: ../../include/text.php:450
-msgid "newer"
-msgstr "neuer"
+#: ../../include/bbcode.php:123 ../../include/bbcode.php:881
+#: ../../include/bbcode.php:884 ../../include/bbcode.php:889
+#: ../../include/bbcode.php:892 ../../include/bbcode.php:895
+#: ../../include/bbcode.php:898 ../../include/bbcode.php:903
+#: ../../include/bbcode.php:906 ../../include/bbcode.php:911
+#: ../../include/bbcode.php:914 ../../include/bbcode.php:917
+#: ../../include/bbcode.php:920
+msgid "Image/photo"
+msgstr "Bild/Foto"
-#: ../../include/text.php:843
-msgid "No connections"
-msgstr "Keine Verbindungen"
+#: ../../include/bbcode.php:162 ../../include/bbcode.php:931
+msgid "Encrypted content"
+msgstr "Verschlüsselter Inhalt"
-#: ../../include/text.php:868
+#: ../../include/bbcode.php:178
#, php-format
-msgid "View all %s connections"
-msgstr "Alle Verbindungen von %s anzeigen"
-
-#: ../../include/text.php:1013 ../../include/text.php:1018
-msgid "poke"
-msgstr "anstupsen"
-
-#: ../../include/text.php:1013 ../../include/text.php:1018
-#: ../../include/conversation.php:243
-msgid "poked"
-msgstr "stupste"
-
-#: ../../include/text.php:1019
-msgid "ping"
-msgstr "anpingen"
-
-#: ../../include/text.php:1019
-msgid "pinged"
-msgstr "pingte"
-
-#: ../../include/text.php:1020
-msgid "prod"
-msgstr "knuffen"
-
-#: ../../include/text.php:1020
-msgid "prodded"
-msgstr "knuffte"
-
-#: ../../include/text.php:1021
-msgid "slap"
-msgstr "ohrfeigen"
-
-#: ../../include/text.php:1021
-msgid "slapped"
-msgstr "ohrfeigte"
-
-#: ../../include/text.php:1022
-msgid "finger"
-msgstr "befummeln"
-
-#: ../../include/text.php:1022
-msgid "fingered"
-msgstr "befummelte"
-
-#: ../../include/text.php:1023
-msgid "rebuff"
-msgstr "eine Abfuhr erteilen"
-
-#: ../../include/text.php:1023
-msgid "rebuffed"
-msgstr "zurückgewiesen"
-
-#: ../../include/text.php:1035
-msgid "happy"
-msgstr "glücklich"
-
-#: ../../include/text.php:1036
-msgid "sad"
-msgstr "traurig"
-
-#: ../../include/text.php:1037
-msgid "mellow"
-msgstr "sanft"
-
-#: ../../include/text.php:1038
-msgid "tired"
-msgstr "müde"
-
-#: ../../include/text.php:1039
-msgid "perky"
-msgstr "frech"
-
-#: ../../include/text.php:1040
-msgid "angry"
-msgstr "sauer"
-
-#: ../../include/text.php:1041
-msgid "stupefied"
-msgstr "verblüfft"
-
-#: ../../include/text.php:1042
-msgid "puzzled"
-msgstr "verwirrt"
-
-#: ../../include/text.php:1043
-msgid "interested"
-msgstr "interessiert"
-
-#: ../../include/text.php:1044
-msgid "bitter"
-msgstr "verbittert"
-
-#: ../../include/text.php:1045
-msgid "cheerful"
-msgstr "fröhlich"
-
-#: ../../include/text.php:1046
-msgid "alive"
-msgstr "lebendig"
-
-#: ../../include/text.php:1047
-msgid "annoyed"
-msgstr "verärgert"
-
-#: ../../include/text.php:1048
-msgid "anxious"
-msgstr "unruhig"
-
-#: ../../include/text.php:1049
-msgid "cranky"
-msgstr "schrullig"
-
-#: ../../include/text.php:1050
-msgid "disturbed"
-msgstr "verstört"
-
-#: ../../include/text.php:1051
-msgid "frustrated"
-msgstr "frustriert"
-
-#: ../../include/text.php:1052
-msgid "depressed"
-msgstr "deprimiert"
-
-#: ../../include/text.php:1053
-msgid "motivated"
-msgstr "motiviert"
-
-#: ../../include/text.php:1054
-msgid "relaxed"
-msgstr "entspannt"
-
-#: ../../include/text.php:1055
-msgid "surprised"
-msgstr "überrascht"
-
-#: ../../include/text.php:1239 ../../include/js_strings.php:70
-msgid "Monday"
-msgstr "Montag"
-
-#: ../../include/text.php:1239 ../../include/js_strings.php:71
-msgid "Tuesday"
-msgstr "Dienstag"
-
-#: ../../include/text.php:1239 ../../include/js_strings.php:72
-msgid "Wednesday"
-msgstr "Mittwoch"
-
-#: ../../include/text.php:1239 ../../include/js_strings.php:73
-msgid "Thursday"
-msgstr "Donnerstag"
-
-#: ../../include/text.php:1239 ../../include/js_strings.php:74
-msgid "Friday"
-msgstr "Freitag"
-
-#: ../../include/text.php:1239 ../../include/js_strings.php:75
-msgid "Saturday"
-msgstr "Samstag"
-
-#: ../../include/text.php:1239 ../../include/js_strings.php:69
-msgid "Sunday"
-msgstr "Sonntag"
-
-#: ../../include/text.php:1243 ../../include/js_strings.php:45
-msgid "January"
-msgstr "Januar"
-
-#: ../../include/text.php:1243 ../../include/js_strings.php:46
-msgid "February"
-msgstr "Februar"
-
-#: ../../include/text.php:1243 ../../include/js_strings.php:47
-msgid "March"
-msgstr "März"
-
-#: ../../include/text.php:1243 ../../include/js_strings.php:48
-msgid "April"
-msgstr "April"
-
-#: ../../include/text.php:1243
-msgid "May"
-msgstr "Mai"
-
-#: ../../include/text.php:1243 ../../include/js_strings.php:50
-msgid "June"
-msgstr "Juni"
-
-#: ../../include/text.php:1243 ../../include/js_strings.php:51
-msgid "July"
-msgstr "Juli"
-
-#: ../../include/text.php:1243 ../../include/js_strings.php:52
-msgid "August"
-msgstr "August"
-
-#: ../../include/text.php:1243 ../../include/js_strings.php:53
-msgid "September"
-msgstr "September"
-
-#: ../../include/text.php:1243 ../../include/js_strings.php:54
-msgid "October"
-msgstr "Oktober"
-
-#: ../../include/text.php:1243 ../../include/js_strings.php:55
-msgid "November"
-msgstr "November"
-
-#: ../../include/text.php:1243 ../../include/js_strings.php:56
-msgid "December"
-msgstr "Dezember"
-
-#: ../../include/text.php:1320 ../../include/text.php:1324
-msgid "Unknown Attachment"
-msgstr "Unbekannter Anhang"
-
-#: ../../include/text.php:1326
-msgid "unknown"
-msgstr "unbekannt"
-
-#: ../../include/text.php:1362
-msgid "remove category"
-msgstr "Kategorie entfernen"
-
-#: ../../include/text.php:1439
-msgid "remove from file"
-msgstr "aus der Datei entfernen"
-
-#: ../../include/text.php:1738 ../../include/text.php:1809
-msgid "default"
-msgstr "Standard"
-
-#: ../../include/text.php:1746
-msgid "Page layout"
-msgstr "Seiten-Layout"
-
-#: ../../include/text.php:1746
-msgid "You can create your own with the layouts tool"
-msgstr "Mit dem Gestaltungswerkzeug kannst Du Deine eigenen Layouts erstellen"
-
-#: ../../include/text.php:1788
-msgid "Page content type"
-msgstr "Art des Seiteninhalts"
-
-#: ../../include/text.php:1821
-msgid "Select an alternate language"
-msgstr "Wähle eine alternative Sprache"
-
-#: ../../include/text.php:1958
-msgid "activity"
-msgstr "Aktivität"
-
-#: ../../include/text.php:2259
-msgid "Design Tools"
-msgstr "Gestaltungswerkzeuge"
-
-#: ../../include/text.php:2265
-msgid "Pages"
-msgstr "Seiten"
-
-#: ../../include/text.php:2287
-msgid "Import website..."
-msgstr "Webseite importieren..."
-
-#: ../../include/text.php:2288
-msgid "Select folder to import"
-msgstr "Ordner zum Importieren auswählen"
-
-#: ../../include/text.php:2289
-msgid "Import from a zipped folder:"
-msgstr "Aus einem gezippten Ordner importieren:"
-
-#: ../../include/text.php:2290
-msgid "Import from cloud files:"
-msgstr "Aus Cloud-Dateien importieren:"
-
-#: ../../include/text.php:2291
-msgid "/cloud/channel/path/to/folder"
-msgstr "/Cloud/Kanal/Pfad/zum/Ordner"
-
-#: ../../include/text.php:2292
-msgid "Enter path to website files"
-msgstr "Pfad zu Webseitendateien eingeben"
-
-#: ../../include/text.php:2293
-msgid "Select folder"
-msgstr "Ordner auswählen"
-
-#: ../../include/nav.php:84 ../../include/nav.php:117 ../../boot.php:1712
-msgid "Logout"
-msgstr "Abmelden"
-
-#: ../../include/nav.php:84 ../../include/nav.php:117
-msgid "End this session"
-msgstr "Beende diese Sitzung"
-
-#: ../../include/nav.php:87 ../../include/nav.php:148
-msgid "Home"
-msgstr "Home"
-
-#: ../../include/nav.php:87
-msgid "Your posts and conversations"
-msgstr "Deine Beiträge und Unterhaltungen"
-
-#: ../../include/nav.php:88
-msgid "Your profile page"
-msgstr "Deine Profilseite"
-
-#: ../../include/nav.php:90
-msgid "Manage/Edit profiles"
-msgstr "Profile verwalten"
-
-#: ../../include/nav.php:92 ../../include/channel.php:963
-msgid "Edit Profile"
-msgstr "Profile bearbeiten"
-
-#: ../../include/nav.php:92
-msgid "Edit your profile"
-msgstr "Profil bearbeiten"
-
-#: ../../include/nav.php:94
-msgid "Your photos"
-msgstr "Deine Bilder"
-
-#: ../../include/nav.php:95
-msgid "Your files"
-msgstr "Deine Dateien"
-
-#: ../../include/nav.php:98
-msgid "Your chatrooms"
-msgstr "Deine Chaträume"
-
-#: ../../include/nav.php:104 ../../include/conversation.php:1695
-msgid "Bookmarks"
-msgstr "Lesezeichen"
-
-#: ../../include/nav.php:104
-msgid "Your bookmarks"
-msgstr "Deine Lesezeichen"
-
-#: ../../include/nav.php:108
-msgid "Your webpages"
-msgstr "Deine Webseiten"
-
-#: ../../include/nav.php:110
-msgid "Your wiki"
-msgstr "Dein Wiki"
-
-#: ../../include/nav.php:114
-msgid "Sign in"
-msgstr "Anmelden"
+msgid "Install %s element: "
+msgstr "Element %s installieren: "
-#: ../../include/nav.php:131
+#: ../../include/bbcode.php:182
#, php-format
-msgid "%s - click to logout"
-msgstr "%s - Klick zum Abmelden"
-
-#: ../../include/nav.php:134
-msgid "Remote authentication"
-msgstr "Über Konto auf anderem Server einloggen"
-
-#: ../../include/nav.php:134
-msgid "Click to authenticate to your home hub"
-msgstr "Klicke, um Dich über Deinen Heimat-Server zu authentifizieren"
-
-#: ../../include/nav.php:148
-msgid "Home Page"
-msgstr "Homepage"
-
-#: ../../include/nav.php:151
-msgid "Create an account"
-msgstr "Erzeuge ein Konto"
-
-#: ../../include/nav.php:163
-msgid "Help and documentation"
-msgstr "Hilfe und Dokumentation"
-
-#: ../../include/nav.php:167
-msgid "Applications, utilities, links, games"
-msgstr "Anwendungen (Apps), Zubehör, Links, Spiele"
-
-#: ../../include/nav.php:169
-msgid "Search site @name, #tag, ?docs, content"
-msgstr "Hub durchsuchen: @Name. #Schlagwort, ?Dokumentation, Inhalt"
-
-#: ../../include/nav.php:171
-msgid "Channel Directory"
-msgstr "Kanal-Verzeichnis"
-
-#: ../../include/nav.php:183
-msgid "Your grid"
-msgstr "Dein Grid"
-
-#: ../../include/nav.php:184
-msgid "Mark all grid notifications seen"
-msgstr "Alle Grid-Benachrichtigungen als angesehen markieren"
-
-#: ../../include/nav.php:186
-msgid "Channel home"
-msgstr "Mein Kanal"
-
-#: ../../include/nav.php:187
-msgid "Mark all channel notifications seen"
-msgstr "Markiere alle Kanal-Benachrichtigungen als angesehen"
-
-#: ../../include/nav.php:193
-msgid "Notices"
-msgstr "Benachrichtigungen"
-
-#: ../../include/nav.php:193
-msgid "Notifications"
-msgstr "Benachrichtigungen"
-
-#: ../../include/nav.php:194
-msgid "See all notifications"
-msgstr "Alle Benachrichtigungen ansehen"
-
-#: ../../include/nav.php:197
-msgid "Private mail"
-msgstr "Persönliche Mail"
-
-#: ../../include/nav.php:198
-msgid "See all private messages"
-msgstr "Alle persönlichen Nachrichten ansehen"
-
-#: ../../include/nav.php:199
-msgid "Mark all private messages seen"
-msgstr "Markiere alle persönlichen Nachrichten als gesehen"
-
-#: ../../include/nav.php:200 ../../include/widgets.php:667
-msgid "Inbox"
-msgstr "Eingang"
-
-#: ../../include/nav.php:201 ../../include/widgets.php:672
-msgid "Outbox"
-msgstr "Ausgang"
-
-#: ../../include/nav.php:202 ../../include/widgets.php:677
-msgid "New Message"
-msgstr "Neue Nachricht"
-
-#: ../../include/nav.php:205
-msgid "Event Calendar"
-msgstr "Terminkalender"
-
-#: ../../include/nav.php:206
-msgid "See all events"
-msgstr "Alle Termine ansehen"
-
-#: ../../include/nav.php:207
-msgid "Mark all events seen"
-msgstr "Markiere alle Termine als gesehen"
-
-#: ../../include/nav.php:210
-msgid "Manage Your Channels"
-msgstr "Verwalte Deine Kanäle"
-
-#: ../../include/nav.php:212
-msgid "Account/Channel Settings"
-msgstr "Konto-/Kanal-Einstellungen"
-
-#: ../../include/nav.php:220 ../../include/widgets.php:1524
-msgid "Admin"
-msgstr "Administration"
+msgid ""
+"This post contains an installable %s element, however you lack permissions "
+"to install it on this site."
+msgstr "Dieser Beitrag beinhaltet ein installierbares %s Element, aber Du hast nicht die nötigen Rechte, um es auf diesem Hub zu installieren."
-#: ../../include/nav.php:220
-msgid "Site Setup and Configuration"
-msgstr "Seiten-Einrichtung und -Konfiguration"
+#: ../../include/bbcode.php:261
+#, php-format
+msgid "%1$s wrote the following %2$s %3$s"
+msgstr "%1$s schrieb den folgenden %2$s %3$s"
-#: ../../include/nav.php:251 ../../include/conversation.php:855
-msgid "Loading..."
-msgstr "Lädt ..."
+#: ../../include/bbcode.php:338 ../../include/bbcode.php:346
+msgid "Click to open/close"
+msgstr "Klicke zum Öffnen/Schließen"
-#: ../../include/nav.php:256
-msgid "@name, #tag, ?doc, content"
-msgstr "@Name, #Schlagwort, ?Dokumentation, Inhalt"
+#: ../../include/bbcode.php:346
+msgid "spoiler"
+msgstr "Spoiler"
-#: ../../include/nav.php:257
-msgid "Please wait..."
-msgstr "Bitte warten..."
+#: ../../include/bbcode.php:619 ../../include/wiki.php:525
+msgid "Different viewers will see this text differently"
+msgstr "Verschiedene Betrachter werden diesen Text unterschiedlich sehen"
-#: ../../include/bookmarks.php:35
-#, php-format
-msgid "%1$s's bookmarks"
-msgstr "%1$ss Lesezeichen"
+#: ../../include/bbcode.php:869
+msgid "$1 wrote:"
+msgstr "$1 schrieb:"
#: ../../include/event.php:22 ../../include/event.php:69
#: ../../include/bb2diaspora.php:485
@@ -8398,30 +8089,49 @@ msgstr "Beginnt:"
msgid "Finishes:"
msgstr "Endet:"
-#: ../../include/event.php:814
+#: ../../include/event.php:821
msgid "This event has been added to your calendar."
msgstr "Dieser Termin wurde zu Deinem Kalender hinzugefügt"
-#: ../../include/event.php:1014
+#: ../../include/event.php:1021
msgid "Not specified"
msgstr "Keine Angabe"
-#: ../../include/event.php:1015
+#: ../../include/event.php:1022
msgid "Needs Action"
msgstr "Aktion erforderlich"
-#: ../../include/event.php:1016
+#: ../../include/event.php:1023
msgid "Completed"
msgstr "Abgeschlossen"
-#: ../../include/event.php:1017
+#: ../../include/event.php:1024
msgid "In Process"
msgstr "In Bearbeitung"
-#: ../../include/event.php:1018
+#: ../../include/event.php:1025
msgid "Cancelled"
msgstr "gestrichen"
+#: ../../include/security.php:109
+msgid "guest:"
+msgstr "Gast:"
+
+#: ../../include/security.php:527
+msgid ""
+"The form security token was not correct. This probably happened because the "
+"form has been opened for too long (>3 hours) before submitting it."
+msgstr "Das Security-Token des Formulars war nicht korrekt. Das ist wahrscheinlich passiert, weil das Formular zu lange (>3 Stunden) offen war, bevor es abgeschickt wurde."
+
+#: ../../include/help.php:25
+msgid "Help:"
+msgstr "Hilfe:"
+
+#: ../../include/bookmarks.php:35
+#, php-format
+msgid "%1$s's bookmarks"
+msgstr "%1$ss Lesezeichen"
+
#: ../../include/group.php:26
msgid ""
"A deleted group with this name was revived. Existing item permissions "
@@ -8437,6 +8147,10 @@ msgstr "Neue Verbindung zu dieser Gruppe hinzufügen"
msgid "edit"
msgstr "Bearbeiten"
+#: ../../include/group.php:311 ../../include/features.php:83
+msgid "Privacy Groups"
+msgstr "Gruppen"
+
#: ../../include/group.php:312
msgid "Edit group"
msgstr "Gruppe ändern"
@@ -8449,224 +8163,79 @@ msgstr "Gruppe hinzufügen"
msgid "Channels not in any privacy group"
msgstr "Kanäle, die in keiner Gruppe sind"
-#: ../../include/group.php:316 ../../include/widgets.php:282
+#: ../../include/group.php:316 ../../include/widgets.php:284
msgid "add"
msgstr "hinzufügen"
-#: ../../include/page_widgets.php:7
-msgid "New Page"
-msgstr "Neue Seite"
-
-#: ../../include/page_widgets.php:46
-msgid "Title"
-msgstr "Titel"
-
-#: ../../include/channel.php:33
-msgid "Unable to obtain identity information from database"
-msgstr "Kann keine Identitäts-Informationen aus Datenbank beziehen"
-
-#: ../../include/channel.php:67
-msgid "Empty name"
-msgstr "Namensfeld leer"
-
-#: ../../include/channel.php:70
-msgid "Name too long"
-msgstr "Name ist zu lang"
-
-#: ../../include/channel.php:181
-msgid "No account identifier"
-msgstr "Keine Account-Kennung"
-
-#: ../../include/channel.php:193
-msgid "Nickname is required."
-msgstr "Spitzname ist erforderlich."
-
-#: ../../include/channel.php:207
-msgid "Reserved nickname. Please choose another."
-msgstr "Reservierter Kurzname. Bitte wähle einen anderen."
-
-#: ../../include/channel.php:212
-msgid ""
-"Nickname has unsupported characters or is already being used on this site."
-msgstr "Der Spitzname enthält nicht-unterstütze Zeichen oder wird bereits auf dieser Seite genutzt."
-
-#: ../../include/channel.php:272
-msgid "Unable to retrieve created identity"
-msgstr "Kann die erstellte Identität nicht empfangen"
-
-#: ../../include/channel.php:341
-msgid "Default Profile"
-msgstr "Standard-Profil"
-
-#: ../../include/channel.php:813
-msgid "Requested channel is not available."
-msgstr "Angeforderte Kanal nicht verfügbar."
-
-#: ../../include/channel.php:960
-msgid "Create New Profile"
-msgstr "Neues Profil erstellen"
-
-#: ../../include/channel.php:980
-msgid "Visible to everybody"
-msgstr "Für jeden sichtbar"
-
-#: ../../include/channel.php:1053 ../../include/channel.php:1166
-msgid "Gender:"
-msgstr "Geschlecht:"
-
-#: ../../include/channel.php:1054 ../../include/channel.php:1210
-msgid "Status:"
-msgstr "Status:"
-
-#: ../../include/channel.php:1055 ../../include/channel.php:1221
-msgid "Homepage:"
-msgstr "Homepage:"
-
-#: ../../include/channel.php:1056
-msgid "Online Now"
-msgstr "gerade online"
-
-#: ../../include/channel.php:1171
-msgid "Like this channel"
-msgstr "Dieser Kanal gefällt mir"
+#: ../../include/attach.php:248 ../../include/attach.php:334
+msgid "Item was not found."
+msgstr "Beitrag wurde nicht gefunden."
-#: ../../include/channel.php:1195
-msgid "j F, Y"
-msgstr "j. F Y"
+#: ../../include/attach.php:500
+msgid "No source file."
+msgstr "Keine Quelldatei."
-#: ../../include/channel.php:1196
-msgid "j F"
-msgstr "j. F"
+#: ../../include/attach.php:522
+msgid "Cannot locate file to replace"
+msgstr "Kann Datei zum Ersetzen nicht finden"
-#: ../../include/channel.php:1203
-msgid "Birthday:"
-msgstr "Geburtstag:"
+#: ../../include/attach.php:540
+msgid "Cannot locate file to revise/update"
+msgstr "Kann Datei zum Prüfen/Aktualisieren nicht finden"
-#: ../../include/channel.php:1216
+#: ../../include/attach.php:675
#, php-format
-msgid "for %1$d %2$s"
-msgstr "seit %1$d %2$s"
-
-#: ../../include/channel.php:1219
-msgid "Sexual Preference:"
-msgstr "Sexuelle Orientierung:"
-
-#: ../../include/channel.php:1225
-msgid "Tags:"
-msgstr "Schlagworte:"
-
-#: ../../include/channel.php:1227
-msgid "Political Views:"
-msgstr "Politische Ansichten:"
-
-#: ../../include/channel.php:1229
-msgid "Religion:"
-msgstr "Religion:"
-
-#: ../../include/channel.php:1233
-msgid "Hobbies/Interests:"
-msgstr "Hobbys/Interessen:"
-
-#: ../../include/channel.php:1235
-msgid "Likes:"
-msgstr "Gefällt:"
-
-#: ../../include/channel.php:1237
-msgid "Dislikes:"
-msgstr "Gefällt nicht:"
-
-#: ../../include/channel.php:1239
-msgid "Contact information and Social Networks:"
-msgstr "Kontaktinformation und soziale Netzwerke:"
-
-#: ../../include/channel.php:1241
-msgid "My other channels:"
-msgstr "Meine anderen Kanäle:"
-
-#: ../../include/channel.php:1243
-msgid "Musical interests:"
-msgstr "Musikalische Interessen:"
-
-#: ../../include/channel.php:1245
-msgid "Books, literature:"
-msgstr "Bücher, Literatur:"
-
-#: ../../include/channel.php:1247
-msgid "Television:"
-msgstr "Fernsehen:"
-
-#: ../../include/channel.php:1249
-msgid "Film/dance/culture/entertainment:"
-msgstr "Film/Tanz/Kultur/Unterhaltung:"
-
-#: ../../include/channel.php:1251
-msgid "Love/Romance:"
-msgstr "Liebe/Romantik:"
-
-#: ../../include/channel.php:1253
-msgid "Work/employment:"
-msgstr "Arbeit/Anstellung:"
-
-#: ../../include/channel.php:1255
-msgid "School/education:"
-msgstr "Schule/Ausbildung:"
-
-#: ../../include/channel.php:1276
-msgid "Like this thing"
-msgstr "Gefällt mir"
-
-#: ../../include/network.php:704
-msgid "view full size"
-msgstr "In Vollbildansicht anschauen"
+msgid "File exceeds size limit of %d"
+msgstr "Datei überschreitet das Größen-Limit von %d"
-#: ../../include/network.php:1935 ../../include/account.php:317
-#: ../../include/account.php:344 ../../include/account.php:404
-msgid "Administrator"
-msgstr "Administrator"
+#: ../../include/attach.php:689
+#, php-format
+msgid "You have reached your limit of %1$.0f Mbytes attachment storage."
+msgstr "Die Größe Deiner Datei-Anhänge hat das Maximum von %1$.0f MByte erreicht."
-#: ../../include/network.php:1949
-msgid "No Subject"
-msgstr "Kein Betreff"
+#: ../../include/attach.php:847
+msgid "File upload failed. Possible system limit or action terminated."
+msgstr "Datei-Upload fehlgeschlagen. Mögliche Systembegrenzung oder abgebrochener Prozess."
-#: ../../include/network.php:2203 ../../include/network.php:2204
-msgid "Friendica"
-msgstr "Friendica"
+#: ../../include/attach.php:860
+msgid "Stored file could not be verified. Upload failed."
+msgstr "Gespeichert Datei konnte nicht verifiziert werden. Upload abgebrochen."
-#: ../../include/network.php:2205
-msgid "OStatus"
-msgstr "OStatus"
+#: ../../include/attach.php:916 ../../include/attach.php:932
+msgid "Path not available."
+msgstr "Pfad nicht verfügbar."
-#: ../../include/network.php:2206
-msgid "GNU-Social"
-msgstr "GNU-Social"
+#: ../../include/attach.php:978 ../../include/attach.php:1130
+msgid "Empty pathname"
+msgstr "Leere Pfadangabe"
-#: ../../include/network.php:2207
-msgid "RSS/Atom"
-msgstr "RSS/Atom"
+#: ../../include/attach.php:1004
+msgid "duplicate filename or path"
+msgstr "doppelter Dateiname oder Pfad"
-#: ../../include/network.php:2209
-msgid "Diaspora"
-msgstr "Diaspora"
+#: ../../include/attach.php:1026
+msgid "Path not found."
+msgstr "Pfad nicht gefunden."
-#: ../../include/network.php:2210
-msgid "Facebook"
-msgstr "Facebook"
+#: ../../include/attach.php:1084
+msgid "mkdir failed."
+msgstr "mkdir fehlgeschlagen."
-#: ../../include/network.php:2211
-msgid "Zot"
-msgstr "Zot!"
+#: ../../include/attach.php:1088
+msgid "database storage failed."
+msgstr "Speichern in der Datenbank fehlgeschlagen."
-#: ../../include/network.php:2212
-msgid "LinkedIn"
-msgstr "LinkedIn"
+#: ../../include/attach.php:1136
+msgid "Empty path"
+msgstr "Leere Pfadangabe"
-#: ../../include/network.php:2213
-msgid "XMPP/IM"
-msgstr "XMPP/IM"
+#: ../../include/page_widgets.php:7
+msgid "New Page"
+msgstr "Neue Seite"
-#: ../../include/network.php:2214
-msgid "MySpace"
-msgstr "MySpace"
+#: ../../include/page_widgets.php:46
+msgid "Title"
+msgstr "Titel"
#: ../../include/bb2diaspora.php:398
msgid "Attachments:"
@@ -8816,11 +8385,55 @@ msgstr " "
msgid "timeago.numbers"
msgstr "timeago.numbers"
+#: ../../include/js_strings.php:45 ../../include/text.php:1289
+msgid "January"
+msgstr "Januar"
+
+#: ../../include/js_strings.php:46 ../../include/text.php:1289
+msgid "February"
+msgstr "Februar"
+
+#: ../../include/js_strings.php:47 ../../include/text.php:1289
+msgid "March"
+msgstr "März"
+
+#: ../../include/js_strings.php:48 ../../include/text.php:1289
+msgid "April"
+msgstr "April"
+
#: ../../include/js_strings.php:49
msgctxt "long"
msgid "May"
msgstr "Mai"
+#: ../../include/js_strings.php:50 ../../include/text.php:1289
+msgid "June"
+msgstr "Juni"
+
+#: ../../include/js_strings.php:51 ../../include/text.php:1289
+msgid "July"
+msgstr "Juli"
+
+#: ../../include/js_strings.php:52 ../../include/text.php:1289
+msgid "August"
+msgstr "August"
+
+#: ../../include/js_strings.php:53 ../../include/text.php:1289
+msgid "September"
+msgstr "September"
+
+#: ../../include/js_strings.php:54 ../../include/text.php:1289
+msgid "October"
+msgstr "Oktober"
+
+#: ../../include/js_strings.php:55 ../../include/text.php:1289
+msgid "November"
+msgstr "November"
+
+#: ../../include/js_strings.php:56 ../../include/text.php:1289
+msgid "December"
+msgstr "Dezember"
+
#: ../../include/js_strings.php:57
msgid "Jan"
msgstr "Jan"
@@ -8870,6 +8483,34 @@ msgstr "Nov"
msgid "Dec"
msgstr "Dez"
+#: ../../include/js_strings.php:69 ../../include/text.php:1285
+msgid "Sunday"
+msgstr "Sonntag"
+
+#: ../../include/js_strings.php:70 ../../include/text.php:1285
+msgid "Monday"
+msgstr "Montag"
+
+#: ../../include/js_strings.php:71 ../../include/text.php:1285
+msgid "Tuesday"
+msgstr "Dienstag"
+
+#: ../../include/js_strings.php:72 ../../include/text.php:1285
+msgid "Wednesday"
+msgstr "Mittwoch"
+
+#: ../../include/js_strings.php:73 ../../include/text.php:1285
+msgid "Thursday"
+msgstr "Donnerstag"
+
+#: ../../include/js_strings.php:74 ../../include/text.php:1285
+msgid "Friday"
+msgstr "Freitag"
+
+#: ../../include/js_strings.php:75 ../../include/text.php:1285
+msgid "Saturday"
+msgstr "Samstag"
+
#: ../../include/js_strings.php:76
msgid "Sun"
msgstr "So"
@@ -8923,130 +8564,326 @@ msgctxt "calendar"
msgid "All day"
msgstr "Ganztägig"
-#: ../../include/security.php:109
-msgid "guest:"
-msgstr "Gast:"
+#: ../../include/follow.php:27
+msgid "Channel is blocked on this site."
+msgstr "Der Kanal ist auf dieser Seite blockiert "
-#: ../../include/security.php:527
-msgid ""
-"The form security token was not correct. This probably happened because the "
-"form has been opened for too long (>3 hours) before submitting it."
-msgstr "Das Security-Token des Formulars war nicht korrekt. Das ist wahrscheinlich passiert, weil das Formular zu lange (>3 Stunden) offen war, bevor es abgeschickt wurde."
+#: ../../include/follow.php:32
+msgid "Channel location missing."
+msgstr "Adresse des Kanals fehlt."
-#: ../../include/account.php:28
-msgid "Not a valid email address"
-msgstr "Ungültige E-Mail-Adresse"
+#: ../../include/follow.php:80
+msgid "Response from remote channel was incomplete."
+msgstr "Antwort des entfernten Kanals war unvollständig."
-#: ../../include/account.php:30
-msgid "Your email domain is not among those allowed on this site"
-msgstr "Deine E-Mail-Adresse ist auf dieser Seite nicht erlaubt"
+#: ../../include/follow.php:97
+msgid "Channel was deleted and no longer exists."
+msgstr "Kanal wurde gelöscht und existiert nicht mehr."
-#: ../../include/account.php:36
-msgid "Your email address is already registered at this site."
-msgstr "Deine E-Mail-Adresse ist auf dieser Seite bereits registriert."
+#: ../../include/follow.php:147 ../../include/follow.php:183
+msgid "Protocol disabled."
+msgstr "Protokoll deaktiviert."
-#: ../../include/account.php:68
-msgid "An invitation is required."
-msgstr "Eine Einladung wird benötigt."
+#: ../../include/follow.php:171
+msgid "Channel discovery failed."
+msgstr "Kanalsuche fehlgeschlagen"
-#: ../../include/account.php:72
-msgid "Invitation could not be verified."
-msgstr "Die Einladung konnte nicht bestätigt werden."
+#: ../../include/follow.php:210
+msgid "Cannot connect to yourself."
+msgstr "Du kannst Dich nicht mit Dir selbst verbinden."
-#: ../../include/account.php:122
-msgid "Please enter the required information."
-msgstr "Bitte gib die benötigten Informationen ein."
+#: ../../include/acl_selectors.php:169
+msgid "Who can see this?"
+msgstr "Wer kann das sehen?"
-#: ../../include/account.php:189
-msgid "Failed to store account information."
-msgstr "Speichern der Nutzerkontodaten fehlgeschlagen."
+#: ../../include/acl_selectors.php:170
+msgid "Custom selection"
+msgstr "Benutzerdefinierte Auswahl"
-#: ../../include/account.php:249
-#, php-format
-msgid "Registration confirmation for %s"
-msgstr "Registrierungsbestätigung für %s"
+#: ../../include/acl_selectors.php:171
+msgid ""
+"Select \"Show\" to allow viewing. \"Don't show\" lets you override and limit"
+" the scope of \"Show\"."
+msgstr "Wähle \"Anzeigen\", um Betrachtung zuzulassen. \"Nicht anzeigen\" überstimmt und limitiert den Aktionsradius von \"Anzeigen\" für Ausnahmen."
-#: ../../include/account.php:315
-#, php-format
-msgid "Registration request at %s"
-msgstr "Registrierungsanfrage auf %s"
+#: ../../include/acl_selectors.php:172
+msgid "Show"
+msgstr "Anzeigen"
-#: ../../include/account.php:339
-msgid "your registration password"
-msgstr "Dein Registrierungspasswort"
+#: ../../include/acl_selectors.php:173
+msgid "Don't show"
+msgstr "Nicht anzeigen"
-#: ../../include/account.php:342 ../../include/account.php:402
+#: ../../include/acl_selectors.php:207
#, php-format
-msgid "Registration details for %s"
-msgstr "Registrierungsdetails für %s"
+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 "Beitragsberechtigungen %s können nicht geändert werden %s, nachdem der Beitrag gesendet wurde.<br />Diese Berechtigungen bestimmen, wer den Beitrag sehen kann."
-#: ../../include/account.php:414
-msgid "Account approved."
-msgstr "Nutzerkonto bestätigt."
+#: ../../include/channel.php:33
+msgid "Unable to obtain identity information from database"
+msgstr "Kann keine Identitäts-Informationen aus Datenbank beziehen"
+
+#: ../../include/channel.php:67
+msgid "Empty name"
+msgstr "Namensfeld leer"
+
+#: ../../include/channel.php:70
+msgid "Name too long"
+msgstr "Name ist zu lang"
+
+#: ../../include/channel.php:181
+msgid "No account identifier"
+msgstr "Keine Account-Kennung"
+
+#: ../../include/channel.php:193
+msgid "Nickname is required."
+msgstr "Spitzname ist erforderlich."
+
+#: ../../include/channel.php:207
+msgid "Reserved nickname. Please choose another."
+msgstr "Reservierter Kurzname. Bitte wähle einen anderen."
+
+#: ../../include/channel.php:212
+msgid ""
+"Nickname has unsupported characters or is already being used on this site."
+msgstr "Der Spitzname enthält nicht-unterstütze Zeichen oder wird bereits auf dieser Seite genutzt."
+
+#: ../../include/channel.php:272
+msgid "Unable to retrieve created identity"
+msgstr "Kann die erstellte Identität nicht empfangen"
+
+#: ../../include/channel.php:341
+msgid "Default Profile"
+msgstr "Standard-Profil"
+
+#: ../../include/channel.php:813
+msgid "Requested channel is not available."
+msgstr "Angeforderte Kanal nicht verfügbar."
+
+#: ../../include/channel.php:960
+msgid "Create New Profile"
+msgstr "Neues Profil erstellen"
+
+#: ../../include/channel.php:980
+msgid "Visible to everybody"
+msgstr "Für jeden sichtbar"
+
+#: ../../include/channel.php:1053 ../../include/channel.php:1166
+msgid "Gender:"
+msgstr "Geschlecht:"
+
+#: ../../include/channel.php:1054 ../../include/channel.php:1210
+msgid "Status:"
+msgstr "Status:"
+
+#: ../../include/channel.php:1055 ../../include/channel.php:1221
+msgid "Homepage:"
+msgstr "Homepage:"
+
+#: ../../include/channel.php:1056
+msgid "Online Now"
+msgstr "gerade online"
+
+#: ../../include/channel.php:1171
+msgid "Like this channel"
+msgstr "Dieser Kanal gefällt mir"
+
+#: ../../include/channel.php:1195
+msgid "j F, Y"
+msgstr "j. F Y"
+
+#: ../../include/channel.php:1196
+msgid "j F"
+msgstr "j. F"
-#: ../../include/account.php:454
+#: ../../include/channel.php:1203
+msgid "Birthday:"
+msgstr "Geburtstag:"
+
+#: ../../include/channel.php:1216
#, php-format
-msgid "Registration revoked for %s"
-msgstr "Registrierung für %s wurde widerrufen"
+msgid "for %1$d %2$s"
+msgstr "seit %1$d %2$s"
-#: ../../include/account.php:739 ../../include/account.php:741
-msgid "Click here to upgrade."
-msgstr "Klicke hier, um das Upgrade durchzuführen."
+#: ../../include/channel.php:1219
+msgid "Sexual Preference:"
+msgstr "Sexuelle Orientierung:"
-#: ../../include/account.php:747
-msgid "This action exceeds the limits set by your subscription plan."
-msgstr "Diese Aktion überschreitet die Grenzen Ihres Abonnements."
+#: ../../include/channel.php:1225
+msgid "Tags:"
+msgstr "Schlagworte:"
-#: ../../include/account.php:752
-msgid "This action is not available under your subscription plan."
-msgstr "Diese Aktion ist in Ihrem Abonnement nicht verfügbar."
+#: ../../include/channel.php:1227
+msgid "Political Views:"
+msgstr "Politische Ansichten:"
-#: ../../include/bbcode.php:123 ../../include/bbcode.php:878
-#: ../../include/bbcode.php:881 ../../include/bbcode.php:886
-#: ../../include/bbcode.php:889 ../../include/bbcode.php:892
-#: ../../include/bbcode.php:895 ../../include/bbcode.php:900
-#: ../../include/bbcode.php:903 ../../include/bbcode.php:908
-#: ../../include/bbcode.php:911 ../../include/bbcode.php:914
-#: ../../include/bbcode.php:917
-msgid "Image/photo"
-msgstr "Bild/Foto"
+#: ../../include/channel.php:1229
+msgid "Religion:"
+msgstr "Religion:"
-#: ../../include/bbcode.php:162 ../../include/bbcode.php:928
-msgid "Encrypted content"
-msgstr "Verschlüsselter Inhalt"
+#: ../../include/channel.php:1233
+msgid "Hobbies/Interests:"
+msgstr "Hobbys/Interessen:"
-#: ../../include/bbcode.php:178
+#: ../../include/channel.php:1235
+msgid "Likes:"
+msgstr "Gefällt:"
+
+#: ../../include/channel.php:1237
+msgid "Dislikes:"
+msgstr "Gefällt nicht:"
+
+#: ../../include/channel.php:1239
+msgid "Contact information and Social Networks:"
+msgstr "Kontaktinformation und soziale Netzwerke:"
+
+#: ../../include/channel.php:1241
+msgid "My other channels:"
+msgstr "Meine anderen Kanäle:"
+
+#: ../../include/channel.php:1243
+msgid "Musical interests:"
+msgstr "Musikalische Interessen:"
+
+#: ../../include/channel.php:1245
+msgid "Books, literature:"
+msgstr "Bücher, Literatur:"
+
+#: ../../include/channel.php:1247
+msgid "Television:"
+msgstr "Fernsehen:"
+
+#: ../../include/channel.php:1249
+msgid "Film/dance/culture/entertainment:"
+msgstr "Film/Tanz/Kultur/Unterhaltung:"
+
+#: ../../include/channel.php:1251
+msgid "Love/Romance:"
+msgstr "Liebe/Romantik:"
+
+#: ../../include/channel.php:1253
+msgid "Work/employment:"
+msgstr "Arbeit/Anstellung:"
+
+#: ../../include/channel.php:1255
+msgid "School/education:"
+msgstr "Schule/Ausbildung:"
+
+#: ../../include/channel.php:1276
+msgid "Like this thing"
+msgstr "Gefällt mir"
+
+#: ../../include/connections.php:95
+msgid "New window"
+msgstr "Neues Fenster"
+
+#: ../../include/connections.php:96
+msgid "Open the selected location in a different window or browser tab"
+msgstr "Öffne die markierte Adresse in einem neuen Browserfenster oder Tab"
+
+#: ../../include/connections.php:214
#, php-format
-msgid "Install %s element: "
-msgstr "Element %s installieren: "
+msgid "User '%s' deleted"
+msgstr "Benutzer '%s' gelöscht"
-#: ../../include/bbcode.php:182
+#: ../../include/contact_widgets.php:11
#, php-format
-msgid ""
-"This post contains an installable %s element, however you lack permissions "
-"to install it on this site."
-msgstr "Dieser Beitrag beinhaltet ein installierbares %s Element, aber Du hast nicht die nötigen Rechte, um es auf diesem Hub zu installieren."
+msgid "%d invitation available"
+msgid_plural "%d invitations available"
+msgstr[0] "%d Einladung verfügbar"
+msgstr[1] "%d Einladungen verfügbar"
-#: ../../include/bbcode.php:261
+#: ../../include/contact_widgets.php:19
+msgid "Find Channels"
+msgstr "Finde Kanäle"
+
+#: ../../include/contact_widgets.php:20
+msgid "Enter name or interest"
+msgstr "Name oder Interessen eingeben"
+
+#: ../../include/contact_widgets.php:21
+msgid "Connect/Follow"
+msgstr "Verbinden/Folgen"
+
+#: ../../include/contact_widgets.php:22
+msgid "Examples: Robert Morgenstein, Fishing"
+msgstr "Beispiele: Robert Morgenstein, Angeln"
+
+#: ../../include/contact_widgets.php:26
+msgid "Random Profile"
+msgstr "Zufallsprofil"
+
+#: ../../include/contact_widgets.php:27
+msgid "Invite Friends"
+msgstr "Lade Freunde ein"
+
+#: ../../include/contact_widgets.php:29
+msgid "Advanced example: name=fred and country=iceland"
+msgstr "Fortgeschrittenes Beispiel: name=fred and country=iceland"
+
+#: ../../include/contact_widgets.php:53 ../../include/widgets.php:346
+#: ../../include/features.php:97
+msgid "Saved Folders"
+msgstr "Gespeicherte Ordner"
+
+#: ../../include/contact_widgets.php:56 ../../include/contact_widgets.php:94
+#: ../../include/widgets.php:349 ../../include/widgets.php:468
+msgid "Everything"
+msgstr "Alles"
+
+#: ../../include/contact_widgets.php:91 ../../include/taxonomy.php:188
+#: ../../include/taxonomy.php:270 ../../include/widgets.php:46
+#: ../../include/widgets.php:465
+msgid "Categories"
+msgstr "Kategorien"
+
+#: ../../include/contact_widgets.php:122
#, php-format
-msgid "%1$s wrote the following %2$s %3$s"
-msgstr "%1$s schrieb den folgenden %2$s %3$s"
+msgid "%d connection in common"
+msgid_plural "%d connections in common"
+msgstr[0] "%d gemeinsame Verbindung"
+msgstr[1] "%d gemeinsame Verbindungen"
-#: ../../include/bbcode.php:338 ../../include/bbcode.php:346
-msgid "Click to open/close"
-msgstr "Klicke zum Öffnen/Schließen"
+#: ../../include/contact_widgets.php:127
+msgid "show more"
+msgstr "mehr zeigen"
-#: ../../include/bbcode.php:346
-msgid "spoiler"
-msgstr "Spoiler"
+#: ../../include/auth.php:148
+msgid "Logged out."
+msgstr "Ausgeloggt."
-#: ../../include/bbcode.php:619 ../../include/wiki.php:525
-msgid "Different viewers will see this text differently"
-msgstr "Verschiedene Betrachter werden diesen Text unterschiedlich sehen"
+#: ../../include/auth.php:275
+msgid "Failed authentication"
+msgstr "Authentifizierung fehlgeschlagen"
-#: ../../include/bbcode.php:866
-msgid "$1 wrote:"
-msgstr "$1 schrieb:"
+#: ../../include/auth.php:286
+msgid "Login failed."
+msgstr "Login fehlgeschlagen."
+
+#: ../../include/activities.php:41
+msgid " and "
+msgstr "und"
+
+#: ../../include/activities.php:49
+msgid "public profile"
+msgstr "öffentliches Profil"
+
+#: ../../include/activities.php:58
+#, php-format
+msgid "%1$s changed %2$s to &ldquo;%3$s&rdquo;"
+msgstr "%1$s hat %2$s auf &ldquo;%3$s&rdquo; geändert"
+
+#: ../../include/activities.php:59
+#, php-format
+msgid "Visit %1$s's %2$s"
+msgstr "Besuche %1$s's %2$s"
+
+#: ../../include/activities.php:62
+#, php-format
+msgid "%1$s has an updated %2$s, changing %3$s."
+msgstr "%1$s hat ein aktualisiertes %2$s, %3$s wurde verändert."
#: ../../include/conversation.php:204
#, php-format
@@ -9058,6 +8895,11 @@ msgstr "%1$s ist jetzt mit %2$s verbunden"
msgid "%1$s poked %2$s"
msgstr "%1$s stupste %2$s an"
+#: ../../include/conversation.php:243 ../../include/text.php:1059
+#: ../../include/text.php:1064
+msgid "poked"
+msgstr "stupste"
+
#: ../../include/conversation.php:694
#, php-format
msgid "View %s's profile @ %s"
@@ -9083,267 +8925,250 @@ msgstr "lösche"
msgid "Delete Selected Items"
msgstr "Lösche die ausgewählten Elemente"
-#: ../../include/conversation.php:952
+#: ../../include/conversation.php:949
msgid "View Source"
msgstr "Quelle anzeigen"
-#: ../../include/conversation.php:953
+#: ../../include/conversation.php:950
msgid "Follow Thread"
msgstr "Unterhaltung folgen"
-#: ../../include/conversation.php:954
+#: ../../include/conversation.php:951
msgid "Unfollow Thread"
msgstr "Unterhaltung nicht mehr folgen"
-#: ../../include/conversation.php:959
+#: ../../include/conversation.php:956
msgid "Activity/Posts"
msgstr "Aktivitäten/Beiträge"
-#: ../../include/conversation.php:961
+#: ../../include/conversation.php:958
msgid "Edit Connection"
msgstr "Verbindung bearbeiten"
-#: ../../include/conversation.php:962
+#: ../../include/conversation.php:959
msgid "Message"
msgstr "Nachricht"
-#: ../../include/conversation.php:1079
+#: ../../include/conversation.php:1076
#, php-format
msgid "%s likes this."
msgstr "%s gefällt das."
-#: ../../include/conversation.php:1079
+#: ../../include/conversation.php:1076
#, php-format
msgid "%s doesn't like this."
msgstr "%s gefällt das nicht."
-#: ../../include/conversation.php:1083
+#: ../../include/conversation.php:1080
#, 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 Person</span> gefällt das."
msgstr[1] "<span %1$s>%2$d Leuten</span> gefällt das."
-#: ../../include/conversation.php:1085
+#: ../../include/conversation.php:1082
#, 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 Person</span> gefällt das nicht."
msgstr[1] "<span %1$s>%2$d Leuten</span> gefällt das nicht."
-#: ../../include/conversation.php:1091
+#: ../../include/conversation.php:1088
msgid "and"
msgstr "und"
-#: ../../include/conversation.php:1094
+#: ../../include/conversation.php:1091
#, php-format
msgid ", and %d other people"
msgid_plural ", and %d other people"
msgstr[0] ""
msgstr[1] ", und %d andere"
-#: ../../include/conversation.php:1095
+#: ../../include/conversation.php:1092
#, php-format
msgid "%s like this."
msgstr "%s gefällt das."
-#: ../../include/conversation.php:1095
+#: ../../include/conversation.php:1092
#, php-format
msgid "%s don't like this."
msgstr "%s gefällt das nicht."
-#: ../../include/conversation.php:1134
+#: ../../include/conversation.php:1135
msgid "Set your location"
msgstr "Standort"
-#: ../../include/conversation.php:1135
+#: ../../include/conversation.php:1136
msgid "Clear browser location"
msgstr "Browser-Standort löschen"
-#: ../../include/conversation.php:1183
+#: ../../include/conversation.php:1184
msgid "Tag term:"
msgstr "Schlagwort:"
-#: ../../include/conversation.php:1184
+#: ../../include/conversation.php:1185
msgid "Where are you right now?"
msgstr "Wo bist Du jetzt grade?"
-#: ../../include/conversation.php:1222
+#: ../../include/conversation.php:1194
+msgid "Comments enabled"
+msgstr "Kommentare aktiviert"
+
+#: ../../include/conversation.php:1195
+msgid "Comments disabled"
+msgstr "Kommentare deaktiviert"
+
+#: ../../include/conversation.php:1233
msgid "Page link name"
msgstr "Link zur Seite"
-#: ../../include/conversation.php:1225
+#: ../../include/conversation.php:1236
msgid "Post as"
msgstr "Veröffentlichen als"
-#: ../../include/conversation.php:1239
+#: ../../include/conversation.php:1250
msgid "Toggle voting"
msgstr "Umfragewerkzeug aktivieren"
-#: ../../include/conversation.php:1247
+#: ../../include/conversation.php:1253
+msgid "Disable comments"
+msgstr "Kommentare deaktivieren"
+
+#: ../../include/conversation.php:1254
+msgid "Toggle comments"
+msgstr "Kommentare umschalten"
+
+#: ../../include/conversation.php:1262
msgid "Categories (optional, comma-separated list)"
msgstr "Kategorien (optional, kommagetrennte Liste)"
-#: ../../include/conversation.php:1274
+#: ../../include/conversation.php:1285
+msgid "Other networks and post services"
+msgstr "Andere Netzwerke und Platformen"
+
+#: ../../include/conversation.php:1291
msgid "Set publish date"
msgstr "Veröffentlichungsdatum festlegen"
-#: ../../include/conversation.php:1523
+#: ../../include/conversation.php:1540
msgid "Discover"
msgstr "Entdecken"
-#: ../../include/conversation.php:1526
+#: ../../include/conversation.php:1543
msgid "Imported public streams"
msgstr "Importierte öffentliche Beiträge"
-#: ../../include/conversation.php:1531
+#: ../../include/conversation.php:1548
msgid "Commented Order"
msgstr "Neueste Kommentare"
-#: ../../include/conversation.php:1534
+#: ../../include/conversation.php:1551
msgid "Sort by Comment Date"
msgstr "Nach Kommentardatum sortiert"
-#: ../../include/conversation.php:1538
+#: ../../include/conversation.php:1555
msgid "Posted Order"
msgstr "Neueste Beiträge"
-#: ../../include/conversation.php:1541
+#: ../../include/conversation.php:1558
msgid "Sort by Post Date"
msgstr "Nach Beitragsdatum sortiert"
-#: ../../include/conversation.php:1549
+#: ../../include/conversation.php:1566
msgid "Posts that mention or involve you"
msgstr "Beiträge mit Beteiligung Deinerseits"
-#: ../../include/conversation.php:1558
+#: ../../include/conversation.php:1575
msgid "Activity Stream - by date"
msgstr "Activity Stream – nach Datum sortiert"
-#: ../../include/conversation.php:1564
+#: ../../include/conversation.php:1581
msgid "Starred"
msgstr "Markiert"
-#: ../../include/conversation.php:1567
+#: ../../include/conversation.php:1584
msgid "Favourite Posts"
msgstr "Markierte Beiträge"
-#: ../../include/conversation.php:1574
+#: ../../include/conversation.php:1591
msgid "Spam"
msgstr "Spam"
-#: ../../include/conversation.php:1577
+#: ../../include/conversation.php:1594
msgid "Posts flagged as SPAM"
msgstr "Nachrichten, die als SPAM markiert wurden"
-#: ../../include/conversation.php:1634
+#: ../../include/conversation.php:1653
msgid "Status Messages and Posts"
msgstr "Statusnachrichten und Beiträge"
-#: ../../include/conversation.php:1643
+#: ../../include/conversation.php:1662
msgid "About"
msgstr "Über"
-#: ../../include/conversation.php:1646
+#: ../../include/conversation.php:1665
msgid "Profile Details"
msgstr "Profil-Details"
-#: ../../include/conversation.php:1662
+#: ../../include/conversation.php:1681
msgid "Files and Storage"
msgstr "Dateien und Speicher"
-#: ../../include/conversation.php:1682 ../../include/conversation.php:1685
-#: ../../include/widgets.php:850
+#: ../../include/conversation.php:1701 ../../include/conversation.php:1704
+#: ../../include/widgets.php:883
msgid "Chatrooms"
msgstr "Chaträume"
-#: ../../include/conversation.php:1698
+#: ../../include/conversation.php:1717
msgid "Saved Bookmarks"
msgstr "Gespeicherte Lesezeichen"
-#: ../../include/conversation.php:1708
+#: ../../include/conversation.php:1727
msgid "Manage Webpages"
msgstr "Webseiten verwalten"
-#: ../../include/conversation.php:1773
+#: ../../include/conversation.php:1792
msgctxt "noun"
msgid "Attending"
msgid_plural "Attending"
msgstr[0] "Zusage"
msgstr[1] "Zusagen"
-#: ../../include/conversation.php:1776
+#: ../../include/conversation.php:1795
msgctxt "noun"
msgid "Not Attending"
msgid_plural "Not Attending"
msgstr[0] "Absage"
msgstr[1] "Absagen"
-#: ../../include/conversation.php:1779
+#: ../../include/conversation.php:1798
msgctxt "noun"
msgid "Undecided"
msgid_plural "Undecided"
msgstr[0] " Unentschlossen"
msgstr[1] "Unentschlossene"
-#: ../../include/conversation.php:1782
+#: ../../include/conversation.php:1801
msgctxt "noun"
msgid "Agree"
msgid_plural "Agrees"
msgstr[0] "Zustimmung"
msgstr[1] "Zustimmungen"
-#: ../../include/conversation.php:1785
+#: ../../include/conversation.php:1804
msgctxt "noun"
msgid "Disagree"
msgid_plural "Disagrees"
msgstr[0] "Ablehnung"
msgstr[1] "Ablehnungen"
-#: ../../include/conversation.php:1788
+#: ../../include/conversation.php:1807
msgctxt "noun"
msgid "Abstain"
msgid_plural "Abstains"
msgstr[0] "Enthaltung"
msgstr[1] "Enthaltungen"
-#: ../../include/oembed.php:340
-msgid "Embedded content"
-msgstr "Eingebetteter Inhalt"
-
-#: ../../include/oembed.php:349
-msgid "Embedding disabled"
-msgstr "Einbetten ausgeschaltet"
-
-#: ../../include/activities.php:41
-msgid " and "
-msgstr "und"
-
-#: ../../include/activities.php:49
-msgid "public profile"
-msgstr "öffentliches Profil"
-
-#: ../../include/activities.php:58
-#, php-format
-msgid "%1$s changed %2$s to &ldquo;%3$s&rdquo;"
-msgstr "%1$s hat %2$s auf &ldquo;%3$s&rdquo; geändert"
-
-#: ../../include/activities.php:59
-#, php-format
-msgid "Visit %1$s's %2$s"
-msgstr "Besuche %1$s's %2$s"
-
-#: ../../include/activities.php:62
-#, php-format
-msgid "%1$s has an updated %2$s, changing %3$s."
-msgstr "%1$s hat ein aktualisiertes %2$s, %3$s wurde verändert."
-
-#: ../../include/taxonomy.php:188 ../../include/taxonomy.php:270
-#: ../../include/widgets.php:46 ../../include/widgets.php:429
-#: ../../include/contact_widgets.php:91
-msgid "Categories"
-msgstr "Kategorien"
-
#: ../../include/taxonomy.php:228 ../../include/taxonomy.php:249
msgid "Tags"
msgstr "Schlagwörter"
@@ -9376,58 +9201,314 @@ msgstr "gefällt"
msgid "dislikes"
msgstr "missfällt"
-#: ../../include/permissions.php:29
-msgid "Can view my normal stream and posts"
-msgstr "Kann meine normalen Beiträge sehen"
+#: ../../include/text.php:450
+msgid "prev"
+msgstr "vorherige"
-#: ../../include/permissions.php:33
-msgid "Can view my webpages"
-msgstr "Kann meine Webseiten sehen"
+#: ../../include/text.php:452
+msgid "first"
+msgstr "erste"
-#: ../../include/permissions.php:37
-msgid "Can post on my channel page (\"wall\")"
-msgstr "Kann auf meiner Kanal-Seite (\"wall\") Beiträge veröffentlichen"
+#: ../../include/text.php:481
+msgid "last"
+msgstr "letzte"
-#: ../../include/permissions.php:40
-msgid "Can like/dislike stuff"
-msgstr "Kann andere Elemente mögen/nicht mögen"
+#: ../../include/text.php:484
+msgid "next"
+msgstr "nächste"
-#: ../../include/permissions.php:40
-msgid "Profiles and things other than posts/comments"
-msgstr "Profile und alles außer Beiträge und Kommentare"
+#: ../../include/text.php:494
+msgid "older"
+msgstr "älter"
-#: ../../include/permissions.php:42
-msgid "Can forward to all my channel contacts via post @mentions"
-msgstr "Kann an alle meine Kontakte via @-Erwähnung Nachrichten weiterleiten"
+#: ../../include/text.php:496
+msgid "newer"
+msgstr "neuer"
-#: ../../include/permissions.php:42
-msgid "Advanced - useful for creating group forum channels"
-msgstr "Fortgeschritten - sinnvoll, um Gruppen-Kanäle/-Foren zu erstellen"
+#: ../../include/text.php:889
+msgid "No connections"
+msgstr "Keine Verbindungen"
-#: ../../include/permissions.php:43
-msgid "Can chat with me (when available)"
-msgstr "Kann mit mir chatten (wenn verfügbar)"
+#: ../../include/text.php:914
+#, php-format
+msgid "View all %s connections"
+msgstr "Alle Verbindungen von %s anzeigen"
-#: ../../include/permissions.php:44
-msgid "Can write to my file storage and photos"
-msgstr "Kann in meine Datei- und Bilderordner schreiben"
+#: ../../include/text.php:1059 ../../include/text.php:1064
+msgid "poke"
+msgstr "anstupsen"
-#: ../../include/permissions.php:45
-msgid "Can edit my webpages"
-msgstr "Kann meine Webseiten bearbeiten"
+#: ../../include/text.php:1065
+msgid "ping"
+msgstr "anpingen"
-#: ../../include/permissions.php:47
-msgid "Somewhat advanced - very useful in open communities"
-msgstr "Etwas fortgeschritten – sehr nützlich in offenen Gemeinschaften"
+#: ../../include/text.php:1065
+msgid "pinged"
+msgstr "pingte"
-#: ../../include/permissions.php:49
-msgid "Can administer my channel resources"
-msgstr "Kann meine Kanäle administrieren"
+#: ../../include/text.php:1066
+msgid "prod"
+msgstr "knuffen"
-#: ../../include/permissions.php:49
-msgid ""
-"Extremely advanced. Leave this alone unless you know what you are doing"
-msgstr "Sehr fortgeschritten. Bearbeite das nur, wenn Du genau weißt, was Du tust"
+#: ../../include/text.php:1066
+msgid "prodded"
+msgstr "knuffte"
+
+#: ../../include/text.php:1067
+msgid "slap"
+msgstr "ohrfeigen"
+
+#: ../../include/text.php:1067
+msgid "slapped"
+msgstr "ohrfeigte"
+
+#: ../../include/text.php:1068
+msgid "finger"
+msgstr "befummeln"
+
+#: ../../include/text.php:1068
+msgid "fingered"
+msgstr "befummelte"
+
+#: ../../include/text.php:1069
+msgid "rebuff"
+msgstr "eine Abfuhr erteilen"
+
+#: ../../include/text.php:1069
+msgid "rebuffed"
+msgstr "zurückgewiesen"
+
+#: ../../include/text.php:1081
+msgid "happy"
+msgstr "glücklich"
+
+#: ../../include/text.php:1082
+msgid "sad"
+msgstr "traurig"
+
+#: ../../include/text.php:1083
+msgid "mellow"
+msgstr "sanft"
+
+#: ../../include/text.php:1084
+msgid "tired"
+msgstr "müde"
+
+#: ../../include/text.php:1085
+msgid "perky"
+msgstr "frech"
+
+#: ../../include/text.php:1086
+msgid "angry"
+msgstr "sauer"
+
+#: ../../include/text.php:1087
+msgid "stupefied"
+msgstr "verblüfft"
+
+#: ../../include/text.php:1088
+msgid "puzzled"
+msgstr "verwirrt"
+
+#: ../../include/text.php:1089
+msgid "interested"
+msgstr "interessiert"
+
+#: ../../include/text.php:1090
+msgid "bitter"
+msgstr "verbittert"
+
+#: ../../include/text.php:1091
+msgid "cheerful"
+msgstr "fröhlich"
+
+#: ../../include/text.php:1092
+msgid "alive"
+msgstr "lebendig"
+
+#: ../../include/text.php:1093
+msgid "annoyed"
+msgstr "verärgert"
+
+#: ../../include/text.php:1094
+msgid "anxious"
+msgstr "unruhig"
+
+#: ../../include/text.php:1095
+msgid "cranky"
+msgstr "schrullig"
+
+#: ../../include/text.php:1096
+msgid "disturbed"
+msgstr "verstört"
+
+#: ../../include/text.php:1097
+msgid "frustrated"
+msgstr "frustriert"
+
+#: ../../include/text.php:1098
+msgid "depressed"
+msgstr "deprimiert"
+
+#: ../../include/text.php:1099
+msgid "motivated"
+msgstr "motiviert"
+
+#: ../../include/text.php:1100
+msgid "relaxed"
+msgstr "entspannt"
+
+#: ../../include/text.php:1101
+msgid "surprised"
+msgstr "überrascht"
+
+#: ../../include/text.php:1289
+msgid "May"
+msgstr "Mai"
+
+#: ../../include/text.php:1366 ../../include/text.php:1370
+msgid "Unknown Attachment"
+msgstr "Unbekannter Anhang"
+
+#: ../../include/text.php:1372
+msgid "unknown"
+msgstr "unbekannt"
+
+#: ../../include/text.php:1408
+msgid "remove category"
+msgstr "Kategorie entfernen"
+
+#: ../../include/text.php:1485
+msgid "remove from file"
+msgstr "aus der Datei entfernen"
+
+#: ../../include/text.php:1784 ../../include/text.php:1855
+msgid "default"
+msgstr "Standard"
+
+#: ../../include/text.php:1792
+msgid "Page layout"
+msgstr "Seiten-Layout"
+
+#: ../../include/text.php:1792
+msgid "You can create your own with the layouts tool"
+msgstr "Mit dem Gestaltungswerkzeug kannst Du Deine eigenen Layouts erstellen"
+
+#: ../../include/text.php:1834
+msgid "Page content type"
+msgstr "Art des Seiteninhalts"
+
+#: ../../include/text.php:1867
+msgid "Select an alternate language"
+msgstr "Wähle eine alternative Sprache"
+
+#: ../../include/text.php:2004
+msgid "activity"
+msgstr "Aktivität"
+
+#: ../../include/text.php:2305
+msgid "Design Tools"
+msgstr "Gestaltungswerkzeuge"
+
+#: ../../include/text.php:2311
+msgid "Pages"
+msgstr "Seiten"
+
+#: ../../include/text.php:2333
+msgid "Import website..."
+msgstr "Webseite importieren..."
+
+#: ../../include/text.php:2334
+msgid "Select folder to import"
+msgstr "Ordner zum Importieren auswählen"
+
+#: ../../include/text.php:2335
+msgid "Import from a zipped folder:"
+msgstr "Aus einem gezippten Ordner importieren:"
+
+#: ../../include/text.php:2336
+msgid "Import from cloud files:"
+msgstr "Aus Cloud-Dateien importieren:"
+
+#: ../../include/text.php:2337
+msgid "/cloud/channel/path/to/folder"
+msgstr "/Cloud/Kanal/Pfad/zum/Ordner"
+
+#: ../../include/text.php:2338
+msgid "Enter path to website files"
+msgstr "Pfad zu Webseitendateien eingeben"
+
+#: ../../include/text.php:2339
+msgid "Select folder"
+msgstr "Ordner auswählen"
+
+#: ../../include/text.php:2340
+msgid "Export website..."
+msgstr "Webseite exportieren..."
+
+#: ../../include/text.php:2341
+msgid "Export to a zip file"
+msgstr "In eine ZIP-Datei exportieren"
+
+#: ../../include/text.php:2342
+msgid "website.zip"
+msgstr "website.zip"
+
+#: ../../include/text.php:2343
+msgid "Enter a name for the zip file."
+msgstr "Geben Sie einen für die ZIP-Datei ein."
+
+#: ../../include/text.php:2344
+msgid "Export to cloud files"
+msgstr "In Cloud-Dateien exportieren"
+
+#: ../../include/text.php:2345
+msgid "/path/to/export/folder"
+msgstr "/Pfad/zum/exportierenden/Ordner"
+
+#: ../../include/text.php:2346
+msgid "Enter a path to a cloud files destination."
+msgstr "Gib den Pfad zu einem Datei-Speicherort in der Cloud ein."
+
+#: ../../include/text.php:2347
+msgid "Specify folder"
+msgstr "Ordner angeben"
+
+#: ../../include/api.php:1330
+msgid "Public Timeline"
+msgstr "Öffentliche Zeitleiste"
+
+#: ../../include/dir_fns.php:141
+msgid "Directory Options"
+msgstr "Verzeichnisoptionen"
+
+#: ../../include/dir_fns.php:143
+msgid "Safe Mode"
+msgstr "Sicherer Modus"
+
+#: ../../include/dir_fns.php:144
+msgid "Public Forums Only"
+msgstr "Nur öffentliche Foren"
+
+#: ../../include/dir_fns.php:145
+msgid "This Website Only"
+msgstr "Nur dieser Hub"
+
+#: ../../include/message.php:20
+msgid "No recipient provided."
+msgstr "Kein Empfänger angegeben"
+
+#: ../../include/message.php:25
+msgid "[no subject]"
+msgstr "[no subject]"
+
+#: ../../include/message.php:45
+msgid "Unable to determine sender."
+msgstr "Kann Absender nicht bestimmen."
+
+#: ../../include/message.php:222
+msgid "Stored post could not be verified."
+msgstr "Gespeicherter Beitrag konnten nicht überprüft werden."
#: ../../include/widgets.php:103
msgid "System"
@@ -9466,565 +9547,668 @@ msgstr "Beispiele: bob@beispiel.com, http://beispiel.com/barbara"
msgid "Notes"
msgstr "Notizen"
-#: ../../include/widgets.php:273
+#: ../../include/widgets.php:275
msgid "Remove term"
msgstr "Eintrag löschen"
-#: ../../include/widgets.php:313 ../../include/widgets.php:432
-#: ../../include/contact_widgets.php:56 ../../include/contact_widgets.php:94
-msgid "Everything"
-msgstr "Alles"
+#: ../../include/widgets.php:283 ../../include/features.php:84
+msgid "Saved Searches"
+msgstr "Gespeicherte Suchanfragen"
-#: ../../include/widgets.php:354
+#: ../../include/widgets.php:390
msgid "Archives"
msgstr "Archive"
-#: ../../include/widgets.php:516
+#: ../../include/widgets.php:552
msgid "Refresh"
msgstr "Aktualisieren"
-#: ../../include/widgets.php:556
+#: ../../include/widgets.php:592
msgid "Account settings"
msgstr "Konto-Einstellungen"
-#: ../../include/widgets.php:562
+#: ../../include/widgets.php:598
msgid "Channel settings"
msgstr "Kanal-Einstellungen"
-#: ../../include/widgets.php:571
+#: ../../include/widgets.php:607
msgid "Additional features"
msgstr "Zusätzliche Funktionen"
-#: ../../include/widgets.php:578
+#: ../../include/widgets.php:614
msgid "Feature/Addon settings"
msgstr "Plugin-Einstellungen"
-#: ../../include/widgets.php:584
+#: ../../include/widgets.php:620
msgid "Display settings"
msgstr "Anzeige-Einstellungen"
-#: ../../include/widgets.php:591
+#: ../../include/widgets.php:627
msgid "Manage locations"
msgstr "Klon-Adressen verwalten"
-#: ../../include/widgets.php:600
+#: ../../include/widgets.php:634
msgid "Export channel"
msgstr "Kanal exportieren"
-#: ../../include/widgets.php:607
+#: ../../include/widgets.php:640
msgid "Connected apps"
msgstr "Verbundene Apps"
-#: ../../include/widgets.php:631
+#: ../../include/widgets.php:664
msgid "Premium Channel Settings"
msgstr "Premium-Kanal-Einstellungen"
-#: ../../include/widgets.php:660
+#: ../../include/widgets.php:693
msgid "Private Mail Menu"
msgstr "Private Nachrichten"
-#: ../../include/widgets.php:662
+#: ../../include/widgets.php:695
msgid "Combined View"
msgstr "Kombinierte Anzeige"
-#: ../../include/widgets.php:694 ../../include/widgets.php:706
+#: ../../include/widgets.php:727 ../../include/widgets.php:739
msgid "Conversations"
msgstr "Konversationen"
-#: ../../include/widgets.php:698
+#: ../../include/widgets.php:731
msgid "Received Messages"
msgstr "Erhaltene Nachrichten"
-#: ../../include/widgets.php:702
+#: ../../include/widgets.php:735
msgid "Sent Messages"
msgstr "Gesendete Nachrichten"
-#: ../../include/widgets.php:716
+#: ../../include/widgets.php:749
msgid "No messages."
msgstr "Keine Nachrichten."
-#: ../../include/widgets.php:734
+#: ../../include/widgets.php:767
msgid "Delete conversation"
msgstr "Unterhaltung löschen"
-#: ../../include/widgets.php:760
+#: ../../include/widgets.php:793
msgid "Events Tools"
msgstr "Kalenderwerkzeuge"
-#: ../../include/widgets.php:761
+#: ../../include/widgets.php:794
msgid "Export Calendar"
msgstr "Kalender exportieren"
-#: ../../include/widgets.php:762
+#: ../../include/widgets.php:795
msgid "Import Calendar"
msgstr "Kalender importieren"
-#: ../../include/widgets.php:854
+#: ../../include/widgets.php:887
msgid "Overview"
msgstr "Übersicht"
-#: ../../include/widgets.php:861
+#: ../../include/widgets.php:894
msgid "Chat Members"
msgstr "Chatmitglieder"
-#: ../../include/widgets.php:883
+#: ../../include/widgets.php:916
msgid "Wiki List"
msgstr "Wikiliste"
-#: ../../include/widgets.php:921
+#: ../../include/widgets.php:954
msgid "Wiki Pages"
msgstr "Wikiseiten"
-#: ../../include/widgets.php:956
+#: ../../include/widgets.php:989
msgid "Bookmarked Chatrooms"
msgstr "Gespeicherte Chatrooms"
-#: ../../include/widgets.php:979
+#: ../../include/widgets.php:1020
msgid "Suggested Chatrooms"
msgstr "Chatraum-Vorschläge"
-#: ../../include/widgets.php:1125 ../../include/widgets.php:1237
+#: ../../include/widgets.php:1166 ../../include/widgets.php:1278
msgid "photo/image"
msgstr "Foto/Bild"
-#: ../../include/widgets.php:1180
+#: ../../include/widgets.php:1221
msgid "Click to show more"
msgstr "Klick, um mehr anzuzeigen"
-#: ../../include/widgets.php:1331
+#: ../../include/widgets.php:1372
msgid "Rating Tools"
msgstr "Bewertungswerkzeuge"
-#: ../../include/widgets.php:1335 ../../include/widgets.php:1337
+#: ../../include/widgets.php:1376 ../../include/widgets.php:1378
msgid "Rate Me"
msgstr "Bewerte mich"
-#: ../../include/widgets.php:1340
+#: ../../include/widgets.php:1381
msgid "View Ratings"
msgstr "Bewertungen ansehen"
-#: ../../include/widgets.php:1424
+#: ../../include/widgets.php:1465
msgid "Forums"
msgstr "Foren"
-#: ../../include/widgets.php:1453
+#: ../../include/widgets.php:1494
msgid "Tasks"
msgstr "Aufgaben"
-#: ../../include/widgets.php:1462
+#: ../../include/widgets.php:1505
msgid "Documentation"
msgstr "Dokumentation"
-#: ../../include/widgets.php:1464
-msgid "Project/Site Information"
-msgstr "Informationen über das Projekt und diesen Hub"
-
-#: ../../include/widgets.php:1465
-msgid "For Members"
-msgstr "Für Mitglieder"
-
-#: ../../include/widgets.php:1466
-msgid "For Administrators"
-msgstr "Für Administratoren"
-
-#: ../../include/widgets.php:1467
-msgid "For Developers"
-msgstr "Für Entwickler"
-
-#: ../../include/widgets.php:1491 ../../include/widgets.php:1529
+#: ../../include/widgets.php:1557 ../../include/widgets.php:1595
msgid "Member registrations waiting for confirmation"
msgstr "Nutzer-Anmeldungen, die auf Bestätigung warten"
-#: ../../include/widgets.php:1497
+#: ../../include/widgets.php:1563
msgid "Inspect queue"
msgstr "Warteschlange kontrollieren"
-#: ../../include/widgets.php:1499
+#: ../../include/widgets.php:1565
msgid "DB updates"
msgstr "DB-Aktualisierungen"
-#: ../../include/widgets.php:1525
+#: ../../include/widgets.php:1591
msgid "Plugin Features"
msgstr "Plug-In Funktionen"
-#: ../../include/attach.php:248 ../../include/attach.php:334
-msgid "Item was not found."
-msgstr "Beitrag wurde nicht gefunden."
+#: ../../include/zot.php:700
+msgid "Invalid data packet"
+msgstr "Ungültiges Datenpaket"
-#: ../../include/attach.php:500
-msgid "No source file."
-msgstr "Keine Quelldatei."
+#: ../../include/zot.php:716
+msgid "Unable to verify channel signature"
+msgstr "Konnte die Signatur des Kanals nicht verifizieren"
-#: ../../include/attach.php:522
-msgid "Cannot locate file to replace"
-msgstr "Kann Datei zum Ersetzen nicht finden"
+#: ../../include/zot.php:2329
+#, php-format
+msgid "Unable to verify site signature for %s"
+msgstr "Kann die Signatur der Seite von %s nicht verifizieren"
-#: ../../include/attach.php:540
-msgid "Cannot locate file to revise/update"
-msgstr "Kann Datei zum Prüfen/Aktualisieren nicht finden"
+#: ../../include/zot.php:3711
+msgid "invalid target signature"
+msgstr "Ungültige Signatur des Ziels"
-#: ../../include/attach.php:675
-#, php-format
-msgid "File exceeds size limit of %d"
-msgstr "Datei überschreitet das Größen-Limit von %d"
+#: ../../include/features.php:50
+msgid "General Features"
+msgstr "Allgemeine Funktionen"
-#: ../../include/attach.php:689
-#, php-format
-msgid "You have reached your limit of %1$.0f Mbytes attachment storage."
-msgstr "Die Größe Deiner Datei-Anhänge hat das Maximum von %1$.0f MByte erreicht."
+#: ../../include/features.php:52
+msgid "Content Expiration"
+msgstr "Verfall von Inhalten"
-#: ../../include/attach.php:847
-msgid "File upload failed. Possible system limit or action terminated."
-msgstr "Datei-Upload fehlgeschlagen. Mögliche Systembegrenzung oder abgebrochener Prozess."
+#: ../../include/features.php:52
+msgid "Remove posts/comments and/or private messages at a future time"
+msgstr "Ermöglicht das automatische Löschen von Beiträgen, Kommentaren und/oder privaten Nachrichten zu einem zukünftigen Datum."
-#: ../../include/attach.php:860
-msgid "Stored file could not be verified. Upload failed."
-msgstr "Gespeichert Datei konnte nicht verifiziert werden. Upload abgebrochen."
+#: ../../include/features.php:53
+msgid "Multiple Profiles"
+msgstr "Mehrfachprofile"
-#: ../../include/attach.php:916 ../../include/attach.php:932
-msgid "Path not available."
-msgstr "Pfad nicht verfügbar."
+#: ../../include/features.php:53
+msgid "Ability to create multiple profiles"
+msgstr "Ermöglicht das Anlegen mehrerer Profile pro Kanal"
-#: ../../include/attach.php:978 ../../include/attach.php:1130
-msgid "Empty pathname"
-msgstr "Leere Pfadangabe"
+#: ../../include/features.php:54
+msgid "Advanced Profiles"
+msgstr "Erweiterte Profile"
-#: ../../include/attach.php:1004
-msgid "duplicate filename or path"
-msgstr "doppelter Dateiname oder Pfad"
+#: ../../include/features.php:54
+msgid "Additional profile sections and selections"
+msgstr "Stellt zusätzliche Bereiche und Felder im Profil zur Verfügung"
-#: ../../include/attach.php:1026
-msgid "Path not found."
-msgstr "Pfad nicht gefunden."
+#: ../../include/features.php:55
+msgid "Profile Import/Export"
+msgstr "Profil-Import/Export"
-#: ../../include/attach.php:1084
-msgid "mkdir failed."
-msgstr "mkdir fehlgeschlagen."
+#: ../../include/features.php:55
+msgid "Save and load profile details across sites/channels"
+msgstr "Ermöglicht das Speichern von Profilen, um sie in einen anderen Kanal zu importieren"
-#: ../../include/attach.php:1088
-msgid "database storage failed."
-msgstr "Speichern in der Datenbank fehlgeschlagen."
+#: ../../include/features.php:56
+msgid "Web Pages"
+msgstr "Webseiten"
-#: ../../include/attach.php:1136
-msgid "Empty path"
-msgstr "Leere Pfadangabe"
+#: ../../include/features.php:56
+msgid "Provide managed web pages on your channel"
+msgstr "Ermöglicht das Erstellen von Webseiten in Deinem Kanal"
-#: ../../include/contact_widgets.php:11
-#, php-format
-msgid "%d invitation available"
-msgid_plural "%d invitations available"
-msgstr[0] "%d Einladung verfügbar"
-msgstr[1] "%d Einladungen verfügbar"
+#: ../../include/features.php:57
+msgid "Provide a wiki for your channel"
+msgstr "Stelle ein Wiki in Deinem Kanal zur Verfügung"
-#: ../../include/contact_widgets.php:19
-msgid "Find Channels"
-msgstr "Finde Kanäle"
+#: ../../include/features.php:59
+msgid "Private Notes"
+msgstr "Private Notizen"
-#: ../../include/contact_widgets.php:20
-msgid "Enter name or interest"
-msgstr "Name oder Interessen eingeben"
+#: ../../include/features.php:59
+msgid "Enables a tool to store notes and reminders (note: not encrypted)"
+msgstr "Aktiviert ein Werkzeug mit dem Notizen und Erinnerungen gespeichert werden können (Hinweis: nicht verschlüsselt)"
-#: ../../include/contact_widgets.php:21
-msgid "Connect/Follow"
-msgstr "Verbinden/Folgen"
+#: ../../include/features.php:60
+msgid "Navigation Channel Select"
+msgstr "Kanal-Auswahl in der Navigationsleiste"
-#: ../../include/contact_widgets.php:22
-msgid "Examples: Robert Morgenstein, Fishing"
-msgstr "Beispiele: Robert Morgenstein, Angeln"
+#: ../../include/features.php:60
+msgid "Change channels directly from within the navigation dropdown menu"
+msgstr "Ermöglicht den direkten Wechsel zu anderen Kanälen über das Navigationsmenü"
-#: ../../include/contact_widgets.php:26
-msgid "Random Profile"
-msgstr "Zufallsprofil"
+#: ../../include/features.php:61
+msgid "Photo Location"
+msgstr "Aufnahmeort"
-#: ../../include/contact_widgets.php:27
-msgid "Invite Friends"
-msgstr "Lade Freunde ein"
+#: ../../include/features.php:61
+msgid "If location data is available on uploaded photos, link this to a map."
+msgstr "Verlinkt den Aufnahmeort von Fotos (falls verfügbar) auf einer Karte"
-#: ../../include/contact_widgets.php:29
-msgid "Advanced example: name=fred and country=iceland"
-msgstr "Fortgeschrittenes Beispiel: name=fred and country=iceland"
+#: ../../include/features.php:62
+msgid "Access Controlled Chatrooms"
+msgstr "Zugriffskontrollierte Chaträume"
-#: ../../include/contact_widgets.php:122
-#, php-format
-msgid "%d connection in common"
-msgid_plural "%d connections in common"
-msgstr[0] "%d gemeinsame Verbindung"
-msgstr[1] "%d gemeinsame Verbindungen"
+#: ../../include/features.php:62
+msgid "Provide chatrooms and chat services with access control."
+msgstr "Bieten Sie Chaträume und Chatdienste mit Zugriffskontrolle an."
-#: ../../include/contact_widgets.php:127
-msgid "show more"
-msgstr "mehr zeigen"
+#: ../../include/features.php:63
+msgid "Smart Birthdays"
+msgstr "Smarte Geburtstage"
-#: ../../include/dir_fns.php:141
-msgid "Directory Options"
-msgstr "Verzeichnisoptionen"
+#: ../../include/features.php:63
+msgid ""
+"Make birthday events timezone aware in case your friends are scattered "
+"across the planet."
+msgstr "Stellt für Geburtstage einen Zeitzonenbezug her, falls deine Freunde über den ganzen Planeten verstreut sind."
-#: ../../include/dir_fns.php:143
-msgid "Safe Mode"
-msgstr "Sicherer Modus"
+#: ../../include/features.php:68
+msgid "Post Composition Features"
+msgstr "Nachbearbeitungsfunktionen"
-#: ../../include/dir_fns.php:144
-msgid "Public Forums Only"
-msgstr "Nur öffentliche Foren"
+#: ../../include/features.php:69
+msgid "Large Photos"
+msgstr "Große Fotos"
-#: ../../include/dir_fns.php:145
-msgid "This Website Only"
-msgstr "Nur dieser Hub"
+#: ../../include/features.php:69
+msgid ""
+"Include large (1024px) photo thumbnails in posts. If not enabled, use small "
+"(640px) photo thumbnails"
+msgstr "Große Vorschaubilder (1024px) in Beiträgen anzeigen. Falls nicht aktiviert, werden kleine Vorschaubilder (640px) verwendet."
-#: ../../include/message.php:20
-msgid "No recipient provided."
-msgstr "Kein Empfänger angegeben"
+#: ../../include/features.php:70
+msgid "Automatically import channel content from other channels or feeds"
+msgstr "Ermöglicht den automatischen Import von Inhalten für diesen Kanal von anderen Kanälen oder Feeds"
-#: ../../include/message.php:25
-msgid "[no subject]"
-msgstr "[no subject]"
+#: ../../include/features.php:71
+msgid "Even More Encryption"
+msgstr "Noch mehr Verschlüsselung"
-#: ../../include/message.php:45
-msgid "Unable to determine sender."
-msgstr "Kann Absender nicht bestimmen."
+#: ../../include/features.php:71
+msgid ""
+"Allow optional encryption of content end-to-end with a shared secret key"
+msgstr "Ermöglicht optional die zusätzliche Verschlüsselung von Inhalten (Ende-zu-Ende mit geteiltem Schlüssel)"
-#: ../../include/message.php:222
-msgid "Stored post could not be verified."
-msgstr "Gespeicherter Beitrag konnten nicht überprüft werden."
+#: ../../include/features.php:72
+msgid "Enable Voting Tools"
+msgstr "Umfragewerkzeuge aktivieren"
-#: ../../include/auth.php:148
-msgid "Logged out."
-msgstr "Ausgeloggt."
+#: ../../include/features.php:72
+msgid "Provide a class of post which others can vote on"
+msgstr "Aktiviert die Umfragewerkzeuge, um anderen die Möglichkeit zu geben, einem Beitrag zuzustimmen, ihn abzulehnen oder sich zu enthalten. (Muss im Beitrag selbst noch aktiviert werden.)"
-#: ../../include/auth.php:275
-msgid "Failed authentication"
-msgstr "Authentifizierung fehlgeschlagen"
+#: ../../include/features.php:73
+msgid "Disable Comments"
+msgstr "Kommentare deaktivieren"
-#: ../../include/auth.php:286
-msgid "Login failed."
-msgstr "Login fehlgeschlagen."
+#: ../../include/features.php:73
+msgid "Provide the option to disable comments for a post"
+msgstr "Ermöglicht, die Kommentarfunktion für einzelne Beiträge abzuschalten"
-#: ../../include/connections.php:95
-msgid "New window"
-msgstr "Neues Fenster"
+#: ../../include/features.php:74
+msgid "Delayed Posting"
+msgstr "Verzögertes Senden"
-#: ../../include/connections.php:96
-msgid "Open the selected location in a different window or browser tab"
-msgstr "Öffne die markierte Adresse in einem neuen Browserfenster oder Tab"
+#: ../../include/features.php:74
+msgid "Allow posts to be published at a later date"
+msgstr "Ermöglicht es, Beiträge zu einem späteren Zeitpunkt zu veröffentlichen"
-#: ../../include/connections.php:214
-#, php-format
-msgid "User '%s' deleted"
-msgstr "Benutzer '%s' gelöscht"
+#: ../../include/features.php:75
+msgid "Suppress Duplicate Posts/Comments"
+msgstr "Doppelte Beiträge unterdrücken"
-#: ../../include/zot.php:697
-msgid "Invalid data packet"
-msgstr "Ungültiges Datenpaket"
+#: ../../include/features.php:75
+msgid ""
+"Prevent posts with identical content to be published with less than two "
+"minutes in between submissions."
+msgstr "Verhindert, dass innerhalb von zwei Minuten Beiträge mit identischem Inhalt veröffentlicht werden."
-#: ../../include/zot.php:713
-msgid "Unable to verify channel signature"
-msgstr "Konnte die Signatur des Kanals nicht verifizieren"
+#: ../../include/features.php:81
+msgid "Network and Stream Filtering"
+msgstr "Netzwerk- und Stream-Filter"
-#: ../../include/zot.php:2326
-#, php-format
-msgid "Unable to verify site signature for %s"
-msgstr "Kann die Signatur der Seite von %s nicht verifizieren"
+#: ../../include/features.php:82
+msgid "Search by Date"
+msgstr "Suche nach Datum"
-#: ../../include/zot.php:3703
-msgid "invalid target signature"
-msgstr "Ungültige Signatur des Ziels"
+#: ../../include/features.php:82
+msgid "Ability to select posts by date ranges"
+msgstr "Möglichkeit, Beiträge nach Zeiträumen auszuwählen"
-#: ../../view/theme/redbasic/php/config.php:82
+#: ../../include/features.php:83
+msgid "Enable management and selection of privacy groups"
+msgstr "Auswahl und Verwaltung von Gruppen für Kanäle aktivieren"
+
+#: ../../include/features.php:84
+msgid "Save search terms for re-use"
+msgstr "Ermöglicht das Abspeichern von Suchbegriffen zur Wiederverwendung"
+
+#: ../../include/features.php:85
+msgid "Network Personal Tab"
+msgstr "Persönlicher Netzwerkreiter"
+
+#: ../../include/features.php:85
+msgid "Enable tab to display only Network posts that you've interacted on"
+msgstr "Aktiviert einen Reiter in der Grid-Ansicht, der nur Netzwerk-Beiträge anzeigt, mit denen Du interagiert hast"
+
+#: ../../include/features.php:86
+msgid "Network New Tab"
+msgstr "Netzwerkreiter Neu"
+
+#: ../../include/features.php:86
+msgid "Enable tab to display all new Network activity"
+msgstr "Aktiviert einen Reiter in der Grid-Ansicht, der alle neuen Netzwerkaktivitäten anzeigt"
+
+#: ../../include/features.php:87
+msgid "Affinity Tool"
+msgstr "Beziehungs-Tool"
+
+#: ../../include/features.php:87
+msgid "Filter stream activity by depth of relationships"
+msgstr "Aktiviert ein Werkzeug in der Grid-Ansicht, das den Stream nach Grad der Beziehung filtern kann"
+
+#: ../../include/features.php:88
+msgid "Show friend and connection suggestions"
+msgstr "Freund- und Verbindungsvorschläge anzeigen"
+
+#: ../../include/features.php:93
+msgid "Post/Comment Tools"
+msgstr "Beitrag-/Kommentar-Tools"
+
+#: ../../include/features.php:94
+msgid "Community Tagging"
+msgstr "Gemeinschaftliches Verschlagworten"
+
+#: ../../include/features.php:94
+msgid "Ability to tag existing posts"
+msgstr "Ermöglicht das Verschlagworten existierender Beiträge"
+
+#: ../../include/features.php:95
+msgid "Post Categories"
+msgstr "Beitrags-Kategorien"
+
+#: ../../include/features.php:95
+msgid "Add categories to your posts"
+msgstr "Aktiviert Kategorien für Beiträge"
+
+#: ../../include/features.php:96
+msgid "Emoji Reactions"
+msgstr "Emoji Reaktionen"
+
+#: ../../include/features.php:96
+msgid "Add emoji reaction ability to posts"
+msgstr "Aktiviert Emoji-Reaktionen für Beiträge"
+
+#: ../../include/features.php:97
+msgid "Ability to file posts under folders"
+msgstr "Möglichkeit, Beiträge in Verzeichnissen zu sammeln"
+
+#: ../../include/features.php:98
+msgid "Dislike Posts"
+msgstr "Gefällt-mir-nicht-Beiträge"
+
+#: ../../include/features.php:98
+msgid "Ability to dislike posts/comments"
+msgstr "Aktiviert die „Gefällt mir nicht“-Schaltfläche"
+
+#: ../../include/features.php:99
+msgid "Star Posts"
+msgstr "Beiträge mit Sternchen versehen"
+
+#: ../../include/features.php:99
+msgid "Ability to mark special posts with a star indicator"
+msgstr "Ermöglicht die lokale Markierung spezieller Beiträge mit einem Sternchen-Symbol"
+
+#: ../../include/features.php:100
+msgid "Tag Cloud"
+msgstr "Schlagwort-Wolke"
+
+#: ../../include/features.php:100
+msgid "Provide a personal tag cloud on your channel page"
+msgstr "Aktiviert die Anzeige einer Schlagwort-Wolke (Tag Cloud) auf Deiner Kanal-Seite"
+
+#: ../../include/features.php:109
+msgid "Connection Filtering"
+msgstr "Filter für Verbindungen"
+
+#: ../../include/features.php:110
+msgid "Filter incoming posts from connections based on keywords/content"
+msgstr "Ermöglicht die Filterung eingehender Beiträge anhand von Schlüsselwörtern (muss an der Verbindung konfiguriert werden)"
+
+#: ../../include/features.php:120
+msgid "Premium Channel"
+msgstr "Premium-Kanal"
+
+#: ../../include/features.php:121
+msgid ""
+"Allows you to set restrictions and terms on those that connect with your "
+"channel"
+msgstr "Ermöglicht es, Einschränkungen und Bedingungen für Verbindungen dieses Kanals festzulegen"
+
+#: ../../include/features.php:128
+msgid "Advanced Directory Search"
+msgstr "Erweiterte Verzeichnissuche"
+
+#: ../../include/features.php:129
+msgid "Allows creation of complex directory search queries"
+msgstr "Ermöglicht die Erstellung komplexer Verzeichnis-Suchabfragen"
+
+#: ../../include/features.php:135
+msgid "Advanced Theme and Layout Settings"
+msgstr "Erweiterte Design- und Layout-Einstellungen"
+
+#: ../../include/features.php:136
+msgid "Allows fine tuning of themes and page layouts"
+msgstr "Erlaubt die Feineinstellung von Designs und Seitenlayouts"
+
+#: ../../view/theme/redbasic/php/config.php:9
msgid "Focus (Hubzilla default)"
msgstr "Focus (Voreinstellung für Hubzilla)"
-#: ../../view/theme/redbasic/php/config.php:103
+#: ../../view/theme/redbasic/php/config.php:110
msgid "Theme settings"
msgstr "Theme-Einstellungen"
-#: ../../view/theme/redbasic/php/config.php:104
-msgid "Select scheme"
-msgstr "Schema wählen"
-
-#: ../../view/theme/redbasic/php/config.php:105
+#: ../../view/theme/redbasic/php/config.php:111
msgid "Narrow navbar"
msgstr "Schmale Navigationsleiste"
-#: ../../view/theme/redbasic/php/config.php:106
+#: ../../view/theme/redbasic/php/config.php:112
msgid "Navigation bar background color"
msgstr "Hintergrundfarbe der Navigationsleiste"
-#: ../../view/theme/redbasic/php/config.php:107
+#: ../../view/theme/redbasic/php/config.php:113
msgid "Navigation bar gradient top color"
msgstr "Farbverlauf der Navigationsleiste: Farbe oben"
-#: ../../view/theme/redbasic/php/config.php:108
+#: ../../view/theme/redbasic/php/config.php:114
msgid "Navigation bar gradient bottom color"
msgstr "Farbverlauf der Navigationsleiste: Farbe unten"
-#: ../../view/theme/redbasic/php/config.php:109
+#: ../../view/theme/redbasic/php/config.php:115
msgid "Navigation active button gradient top color"
msgstr "Navigations-Button aktiv: Farbe für Farbverlauf oben"
-#: ../../view/theme/redbasic/php/config.php:110
+#: ../../view/theme/redbasic/php/config.php:116
msgid "Navigation active button gradient bottom color"
msgstr "Navigations-Button aktiv: Farbe für Farbverlauf unten"
-#: ../../view/theme/redbasic/php/config.php:111
+#: ../../view/theme/redbasic/php/config.php:117
msgid "Navigation bar border color "
msgstr "Farbe für den Rand der Navigationsleiste"
-#: ../../view/theme/redbasic/php/config.php:112
+#: ../../view/theme/redbasic/php/config.php:118
msgid "Navigation bar icon color "
msgstr "Farbe für die Icons der Navigationsleiste"
-#: ../../view/theme/redbasic/php/config.php:113
+#: ../../view/theme/redbasic/php/config.php:119
msgid "Navigation bar active icon color "
msgstr "Farbe für aktive Icons der Navigationsleiste"
-#: ../../view/theme/redbasic/php/config.php:114
+#: ../../view/theme/redbasic/php/config.php:120
msgid "link color"
msgstr "Farbe für Links"
-#: ../../view/theme/redbasic/php/config.php:115
+#: ../../view/theme/redbasic/php/config.php:121
msgid "Set font-color for banner"
msgstr "Farbe der Schrift des Banners"
-#: ../../view/theme/redbasic/php/config.php:116
+#: ../../view/theme/redbasic/php/config.php:122
msgid "Set the background color"
msgstr "Hintergrundfarbe"
-#: ../../view/theme/redbasic/php/config.php:117
+#: ../../view/theme/redbasic/php/config.php:123
msgid "Set the background image"
msgstr "Hintergrundbild"
-#: ../../view/theme/redbasic/php/config.php:118
+#: ../../view/theme/redbasic/php/config.php:124
msgid "Set the background color of items"
msgstr "Hintergrundfarbe für Beiträge"
-#: ../../view/theme/redbasic/php/config.php:119
+#: ../../view/theme/redbasic/php/config.php:125
msgid "Set the background color of comments"
msgstr "Hintergrundfarbe für Kommentare"
-#: ../../view/theme/redbasic/php/config.php:120
+#: ../../view/theme/redbasic/php/config.php:126
msgid "Set the border color of comments"
msgstr "Farbe des Randes von Kommentaren"
-#: ../../view/theme/redbasic/php/config.php:121
+#: ../../view/theme/redbasic/php/config.php:127
msgid "Set the indent for comments"
msgstr "Einzugsbreite für Kommentare"
-#: ../../view/theme/redbasic/php/config.php:122
+#: ../../view/theme/redbasic/php/config.php:128
msgid "Set the basic color for item icons"
msgstr "Grundfarbe für Beitrags-Icons"
-#: ../../view/theme/redbasic/php/config.php:123
+#: ../../view/theme/redbasic/php/config.php:129
msgid "Set the hover color for item icons"
msgstr "Farbe für Beitrags-Icons unter dem Mauszeiger"
-#: ../../view/theme/redbasic/php/config.php:124
+#: ../../view/theme/redbasic/php/config.php:130
msgid "Set font-size for the entire application"
msgstr "Schriftgröße für die gesamte Anwendung"
-#: ../../view/theme/redbasic/php/config.php:124
+#: ../../view/theme/redbasic/php/config.php:130
msgid "Example: 14px"
msgstr "Beispiel: 14px"
-#: ../../view/theme/redbasic/php/config.php:125
+#: ../../view/theme/redbasic/php/config.php:131
msgid "Set font-size for posts and comments"
msgstr "Schriftgröße für Beiträge und Kommentare"
-#: ../../view/theme/redbasic/php/config.php:126
+#: ../../view/theme/redbasic/php/config.php:132
msgid "Set font-color for posts and comments"
msgstr "Schriftfarbe für Beiträge und Kommentare"
-#: ../../view/theme/redbasic/php/config.php:127
+#: ../../view/theme/redbasic/php/config.php:133
msgid "Set radius of corners"
msgstr "Ecken-Radius"
-#: ../../view/theme/redbasic/php/config.php:128
+#: ../../view/theme/redbasic/php/config.php:134
msgid "Set shadow depth of photos"
msgstr "Schattentiefe von Fotos"
-#: ../../view/theme/redbasic/php/config.php:129
+#: ../../view/theme/redbasic/php/config.php:135
msgid "Set maximum width of content region in pixel"
msgstr "Maximalbreite des Inhaltsbereichs in Pixel festlegen"
-#: ../../view/theme/redbasic/php/config.php:129
+#: ../../view/theme/redbasic/php/config.php:135
msgid "Leave empty for default width"
msgstr "Leer lassen für Standardbreite"
-#: ../../view/theme/redbasic/php/config.php:130
+#: ../../view/theme/redbasic/php/config.php:136
msgid "Left align page content"
msgstr "Seiteninhalt linksbündig anzeigen"
-#: ../../view/theme/redbasic/php/config.php:131
+#: ../../view/theme/redbasic/php/config.php:137
msgid "Set minimum opacity of nav bar - to hide it"
msgstr "Mindest-Deckkraft der Navigationsleiste ( - versteckt sie)"
-#: ../../view/theme/redbasic/php/config.php:132
+#: ../../view/theme/redbasic/php/config.php:138
msgid "Set size of conversation author photo"
msgstr "Größe der Avatare von Themenstartern"
-#: ../../view/theme/redbasic/php/config.php:133
+#: ../../view/theme/redbasic/php/config.php:139
msgid "Set size of followup author photos"
msgstr "Größe der Avatare von Kommentatoren"
-#: ../../boot.php:1169
+#: ../../boot.php:1195
#, php-format
msgctxt "opensearch"
msgid "Search %1$s (%2$s)"
msgstr "Suche %1$s (%2$s)"
-#: ../../boot.php:1169
+#: ../../boot.php:1195
msgctxt "opensearch"
msgid "$Projectname"
msgstr "$Projectname"
-#: ../../boot.php:1487
+#: ../../boot.php:1513
#, php-format
msgid "Update %s failed. See error logs."
msgstr "Aktualisierung %s fehlgeschlagen. Details in den Fehlerprotokollen."
-#: ../../boot.php:1490
+#: ../../boot.php:1516
#, php-format
msgid "Update Error at %s"
msgstr "Aktualisierungsfehler auf %s"
-#: ../../boot.php:1694
+#: ../../boot.php:1720
msgid ""
"Create an account to access services and applications within the Hubzilla"
msgstr "Erstelle ein Konto, um Anwendungen und Dienste innerhalb von Hubzilla nutzen zu können."
-#: ../../boot.php:1715
+#: ../../boot.php:1741
msgid "Login/Email"
msgstr "Anmelden/E-Mail"
-#: ../../boot.php:1716
+#: ../../boot.php:1742
msgid "Password"
msgstr "Kennwort"
-#: ../../boot.php:1717
+#: ../../boot.php:1743
msgid "Remember me"
msgstr "Angaben speichern"
-#: ../../boot.php:1720
+#: ../../boot.php:1746
msgid "Forgot your password?"
msgstr "Passwort vergessen?"
-#: ../../boot.php:2286
+#: ../../boot.php:2315
msgid "toggle mobile"
msgstr "auf/von mobile Ansicht wechseln"
-#: ../../boot.php:2441
+#: ../../boot.php:2470
msgid "Website SSL certificate is not valid. Please correct."
msgstr "Das SSL-Zertifikat der Website ist nicht gültig. Bitte beheben."
-#: ../../boot.php:2444
+#: ../../boot.php:2473
#, php-format
msgid "[hubzilla] Website SSL error for %s"
msgstr "[hubzilla] Website-SSL-Fehler für %s"
-#: ../../boot.php:2548
+#: ../../boot.php:2577
msgid "Cron/Scheduled tasks not running."
msgstr "Cron-Aufgaben laufen nicht."
-#: ../../boot.php:2552
+#: ../../boot.php:2581
#, php-format
msgid "[hubzilla] Cron tasks not running on %s"
msgstr "[hubzilla] Cron-Aufgaben für %s laufen nicht"
diff --git a/view/de/hstrings.php b/view/de/hstrings.php
index 0fb111fdf..7ad83fb3b 100644
--- a/view/de/hstrings.php
+++ b/view/de/hstrings.php
@@ -72,95 +72,6 @@ App::$strings["Requested profile is not available."] = "Das angefragte Profil is
App::$strings["Some blurb about what to do when you're new here"] = "Ein Hinweis, was man tun kann, wenn man neu hier ist";
App::$strings["Away"] = "Abwesend";
App::$strings["Online"] = "Online";
-App::$strings["\$Projectname Server - Setup"] = "\$Projectname Server-Einrichtung";
-App::$strings["Could not connect to database."] = "Kann nicht mit der Datenbank verbinden.";
-App::$strings["Could not connect to specified site URL. Possible SSL certificate or DNS issue."] = "Konnte die angegebene Webseiten-URL nicht erreichen. Möglicherweise ein Problem mit dem SSL-Zertifikat oder dem DNS.";
-App::$strings["Could not create table."] = "Konnte Tabelle nicht erstellen.";
-App::$strings["Your site database has been installed."] = "Die Datenbank Deines Hubs wurde installiert.";
-App::$strings["You may need to import the file \"install/schema_xxx.sql\" manually using a database client."] = "Möglicherweise musst Du die Datei install/schema_xxx.sql manuell mit Hilfe eines Datenkbank-Clients importieren.";
-App::$strings["Please see the file \"install/INSTALL.txt\"."] = "Lies die Datei \"install/INSTALL.txt\".";
-App::$strings["System check"] = "Systemprüfung";
-App::$strings["Next"] = "Nächste";
-App::$strings["Check again"] = "Nochmal prüfen";
-App::$strings["Database connection"] = "Datenbankverbindung";
-App::$strings["In order to install \$Projectname we need to know how to connect to your database."] = "Um \$Projectname zu installieren, müssen wir wissen, wie wir eine Verbindung zu Deiner Datenbank aufbauen können.";
-App::$strings["Please contact your hosting provider or site administrator if you have questions about these settings."] = "Bitte kontaktiere Deinen Hosting-Provider oder Administrator, falls Du Fragen zu diesen Einstellungen hast.";
-App::$strings["The database you specify below should already exist. If it does not, please create it before continuing."] = "Die Datenbank, die Du weiter unten angibst, sollte bereits existieren. Sollte das noch nicht der Fall sein, erzeuge sie bitte bevor Du fortfährst.";
-App::$strings["Database Server Name"] = "Datenbankservername";
-App::$strings["Default is 127.0.0.1"] = "Standard ist 127.0.0.1";
-App::$strings["Database Port"] = "Datenbankport";
-App::$strings["Communication port number - use 0 for default"] = "Port-Nummer für die Kommunikation – verwende 0 für die Standardeinstellung";
-App::$strings["Database Login Name"] = "Datenbank-Benutzername";
-App::$strings["Database Login Password"] = "Datenbank-Passwort";
-App::$strings["Database Name"] = "Datenbankname";
-App::$strings["Database Type"] = "Datenbanktyp";
-App::$strings["Site administrator email address"] = "E-Mail Adresse des Seiten-Administrators";
-App::$strings["Your account email address must match this in order to use the web admin panel."] = "Die E-Mail-Adresse Deines Accounts muss dieser Adresse entsprechen, damit Du Zugriff zur Administrations-Seite erhältst.";
-App::$strings["Website URL"] = "Webseiten-URL";
-App::$strings["Please use SSL (https) URL if available."] = "Nutze wenn möglich eine SSL-URL (https).";
-App::$strings["Please select a default timezone for your website"] = "Standard-Zeitzone für Deinen Server";
-App::$strings["Submit"] = "Absenden";
-App::$strings["Site settings"] = "Seiteneinstellungen";
-App::$strings["Enable \$Projectname <strong>advanced</strong> features?"] = "<strong>Erweiterte</strong> Funktionen für \$Projectname aktivieren?";
-App::$strings["Some advanced features, while useful - may be best suited for technically proficient audiences"] = "Einige erweiterte Funktionen können ungeachtet ihrer Nützlichkeit eher für eine technisch versierte Zielgruppe geeignet sein.";
-App::$strings["PHP version 5.5 or greater is required."] = "PHP-Version 5.5 oder höher ist erforderlich.";
-App::$strings["PHP version"] = "PHP-Version";
-App::$strings["Could not find a command line version of PHP in the web server PATH."] = "Konnte die Kommandozeilen-Version von PHP nicht im PATH des Web-Servers finden.";
-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."] = "Ohne Kommandozeilen-Version von PHP auf dem Server wirst Du nicht in der Lage sein, Hintergrundprozesse via cron auszuführen.";
-App::$strings["PHP executable path"] = "PHP-Pfad zu ausführbarer Datei";
-App::$strings["Enter full path to php executable. You can leave this blank to continue the installation."] = "Gib den vollen Pfad zum PHP-Interpreter an. Du kannst dieses Feld frei lassen und mit der Installation fortfahren.";
-App::$strings["Command line PHP"] = "PHP-Befehlszeile";
-App::$strings["The command line version of PHP on your system does not have \"register_argc_argv\" enabled."] = "Bei der Kommandozeilen-Version von PHP auf Deinem System ist \"register_argc_argv\" nicht aktiviert.";
-App::$strings["This is required for message delivery to work."] = "Das wird benötigt, damit die Auslieferung von Nachrichten funktioniert.";
-App::$strings["PHP register_argc_argv"] = "PHP register_argc_argv";
-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."] = "Die Maximalgröße für Uploads insgesamt liegt bei %s. Die Maximalgröße für eine Datei liegt bei %s. Es können maximal %d Dateien gleichzeitig hochgeladen werden.";
-App::$strings["You can adjust these settings in the servers php.ini."] = "Du kannst diese Einstellungen in der php.ini des Servers ändern.";
-App::$strings["PHP upload limits"] = "PHP-Hochladebeschränkungen";
-App::$strings["Error: the \"openssl_pkey_new\" function on this system is not able to generate encryption keys"] = "Fehler: Die „openssl_pkey_new“-Funktion auf diesem System ist nicht in der Lage, Schlüssel für die Verschlüsselung zu erzeugen.";
-App::$strings["If running under Windows, please see \"http://www.php.net/manual/en/openssl.installation.php\"."] = "Wenn Du Windows verwendest, findest Du unter http://www.php.net/manual/en/openssl.installation.php eine Installationsanleitung.";
-App::$strings["Generate encryption keys"] = "Verschlüsselungsschlüssel erzeugen";
-App::$strings["libCurl PHP module"] = "libCurl-PHP-Modul";
-App::$strings["GD graphics PHP module"] = "GD-Grafik-PHP-Modul";
-App::$strings["OpenSSL PHP module"] = "OpenSSL-PHP-Modul";
-App::$strings["mysqli or postgres PHP module"] = "mysqli oder postgres PHP-Modul";
-App::$strings["mb_string PHP module"] = "mb_string-PHP-Modul";
-App::$strings["xml PHP module"] = "xml-PHP-Modul";
-App::$strings["Apache mod_rewrite module"] = "Apache-mod_rewrite-Modul";
-App::$strings["Error: Apache webserver mod-rewrite module is required but not installed."] = "Fehler: Das Apache-Modul mod-rewrite wird benötigt, ist aber nicht installiert.";
-App::$strings["proc_open"] = "proc_open";
-App::$strings["Error: proc_open is required but is either not installed or has been disabled in php.ini"] = "Fehler: proc_open wird benötigt, ist aber entweder nicht installiert oder wurde in der php.ini deaktiviert";
-App::$strings["Error: libCURL PHP module required but not installed."] = "Fehler: Das PHP-Modul libCURL wird benötigt, ist aber nicht installiert.";
-App::$strings["Error: GD graphics PHP module with JPEG support required but not installed."] = "Fehler: Das PHP-Modul GD-Grafik mit JPEG-Unterstützung wird benötigt, ist aber nicht installiert.";
-App::$strings["Error: openssl PHP module required but not installed."] = "Fehler: Das PHP-Modul openssl wird benötigt, ist aber nicht installiert.";
-App::$strings["Error: mysqli or postgres PHP module required but neither are installed."] = "Fehler: Das mysqli oder postgres PHP-Modul ist erforderlich, aber keines von beiden ist installiert.";
-App::$strings["Error: mb_string PHP module required but not installed."] = "Fehler: Das PHP-Modul mb_string wird benötigt, ist aber nicht installiert.";
-App::$strings["Error: xml PHP module required for DAV but not installed."] = "Fehler: Das xml-PHP-Modul wird für DAV benötigt, ist aber nicht installiert.";
-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."] = "Der Installations-Assistent muss in der Lage sein, die Datei \".htconfig.php\" im Stammverzeichnis des Web-Servers anzulegen, ist er aber nicht.";
-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."] = "Meist liegt das daran, dass der Nutzer, unter dem der Web-Server läuft, keine Schreibrechte in dem Verzeichnis hat – selbst wenn Du selbst das darfst.";
-App::$strings["At the end of this procedure, we will give you a text to save in a file named .htconfig.php in your Red top folder."] = "Am Schluss dieses Vorgangs wird ein Text generiert, den Du unter dem Dateinamen .htconfig.php im Stammverzeichnis Deiner Hubzilla-Installation speichern musst.";
-App::$strings["You can alternatively skip this procedure and perform a manual installation. Please see the file \"install/INSTALL.txt\" for instructions."] = "Alternativ kannst Du diesen Schritt überspringen und die Installation manuell vornehmen. Lies dazu die Datei install/INSTALL.txt.";
-App::$strings[".htconfig.php is writable"] = ".htconfig.php ist beschreibbar";
-App::$strings["Red uses the Smarty3 template engine to render its web views. Smarty3 compiles templates to PHP to speed up rendering."] = "\$Projectname verwendet Smarty3 um Vorlagen für die Webdarstellung zu übersetzen. Smarty3 übersetzt diese Vorlagen nach PHP, um die Darstellung zu beschleunigen.";
-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."] = "Um diese kompilierten Vorlagen speichern zu können, braucht der Web-Server Schreibzugriff auf das Verzeichnis %s unterhalb des Hubzilla-Stammverzeichnisses.";
-App::$strings["Please ensure that the user that your web server runs as (e.g. www-data) has write access to this folder."] = "Bitte stelle sicher, dass der Nutzer, unter dem der Web-Server läuft (z.B. www-data), Schreibzugriff auf dieses Verzeichnis hat.";
-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."] = "Hinweis: Aus Sicherheitsgründen sollte der Web-Server nur auf %s Schreibrechte haben, nicht auf die Template-Dateien (.tpl), die das Verzeichnis enthält.";
-App::$strings["%s is writable"] = "%s ist beschreibbar";
-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 Red top level folder"] = "Diese Software benutzt das Verzeichnis store, um hochgeladene Dateien zu speichern. Der Web-Server benötigt Schreibrechte für dieses Verzeichnis direkt unterhalb des Hubzilla-Stammverzeichnisses";
-App::$strings["store is writable"] = "store ist schreibbar";
-App::$strings["SSL certificate cannot be validated. Fix certificate or disable https access to this site."] = "Das SSL-Zertifikat konnte nicht validiert werden. Korrigiere das Zertifikat oder deaktiviere den HTTPS-Zugriff auf diesen Server.";
-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!"] = "Wenn Du via HTTPS auf Deinen Server zugreifen möchtest, also Verbindungen über den Port 443 möglich sein sollen, ist ein SSL-Zertifikat einer Zertifizierungsstelle (CA) notwendig, das von den Browsern ohne Sicherheitsabfrage akzeptiert wird. Die Verwendung eines selbst signierten Zertifikates ist nicht möglich.";
-App::$strings["This restriction is incorporated because public posts from you may for example contain references to images on your own hub."] = "Diese Einschränkung wurde eingebaut, weil Deine öffentlichen Beiträge zum Beispiel Verweise auf Bilder auf Deinem eigenen Hub enthalten können.";
-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."] = "Wenn Dein Zertifikat nicht von jedem Browser akzeptiert wird, erhalten die Mitglieder anderer \$Projectname-Hubs (die mit korrekten Zertifikaten ausgestattet sind) Sicherheits-Warnmeldungen, obwohl sie gar nicht direkt auf Deinem Server unterwegs sind (zum Beispiel, wenn ein Bild aus einem Deiner Beiträge angezeigt wird).";
-App::$strings["This can cause usability issues elsewhere (not just on your own site) so we must insist on this requirement."] = "Dies kann Probleme für andere Nutzer (nicht nur auf Deinem eigenen Server) verursachen, so dass wir auf dieser Forderung bestehen müssen.";
-App::$strings["Providers are available that issue free certificates which are browser-valid."] = "Es gibt einige Zertifizierungsstellen (CAs), bei denen solche Zertifikate kostenlos zu haben sind.";
-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."] = "Wenn Du sicher bist, dass das Zertifikat gültig und von einer vertrauenswürdigen Zertifizierungsstelle signiert ist, prüfe auf ggf. noch zu installierende Zwischenzertifikate (intermediate). Diese werden nicht unbedingt von Browsern benötigt, aber sehr wohl für die Kommunikation zwischen Servern.";
-App::$strings["SSL certificate validation"] = "SSL Zertifikatverifizierung";
-App::$strings["Url rewrite in .htaccess is not working. Check your server configuration.Test: "] = "Das Umschreiben von URLs (rewrite) per .htaccess funktioniert nicht. Bitte prüfe die Server-Konfiguration. Test:";
-App::$strings["Url rewrite is working"] = "Url rewrite funktioniert";
-App::$strings["The database configuration file \".htconfig.php\" could not be written. Please use the enclosed text to create a configuration file in your web server root."] = "Die Datenbank-Konfigurationsdatei „.htconfig.php“ konnte nicht geschrieben werden. Bitte verwende den unten angegebenen Text, um die Konfigurationsdatei im Stammverzeichnis des Webservers anzulegen.";
-App::$strings["Errors encountered creating database tables."] = "Fehler beim Anlegen der Datenbank-Tabellen aufgetreten.";
-App::$strings["<h1>What next</h1>"] = "<h1>Was als Nächstes</h1>";
-App::$strings["IMPORTANT: You will need to [manually] setup a scheduled task for the poller."] = "WICHTIG: Du musst [manuell] einen Cronjob für den Poller einrichten.";
App::$strings["Invalid message"] = "Ungültige Beitrags-ID (mid)";
App::$strings["no results"] = "keine Ergebnisse";
App::$strings["channel sync processed"] = "Kanal-Sync verarbeitet";
@@ -177,22 +88,304 @@ App::$strings["mail delivered"] = "Mail zugestellt";
App::$strings["Delivery report for %1\$s"] = "Zustellungsbericht für %1\$s";
App::$strings["Options"] = "Optionen";
App::$strings["Redeliver"] = "Erneut zustellen";
-App::$strings["Import Webpage Elements"] = "Webseitenelemente importieren";
-App::$strings["Import selected"] = "Import ausgewählt";
-App::$strings["Webpages"] = "Webseiten";
-App::$strings["Share"] = "Teilen";
-App::$strings["View"] = "Ansicht";
-App::$strings["Preview"] = "Vorschau";
-App::$strings["Actions"] = "Aktionen";
-App::$strings["Page Link"] = "Seiten-Link";
-App::$strings["Page Title"] = "Seitentitel";
-App::$strings["Created"] = "Erstellt";
-App::$strings["Edited"] = "Geändert";
-App::$strings["Invalid file type."] = "Ungültiger Dateityp.";
-App::$strings["Error opening zip file"] = "Fehler beim Öffnen der ZIP-Datei";
-App::$strings["Invalid folder path."] = "Ungültiger Ordnerpfad.";
-App::$strings["No webpage elements detected."] = "Keine Webseitenelemente erkannt.";
-App::$strings["Import complete."] = "Import abgeschlossen.";
+App::$strings["Fetching URL returns error: %1\$s"] = "Abrufen der URL gab einen Fehler zurück: %1\$s";
+App::$strings["Maximum daily site registrations exceeded. Please try again tomorrow."] = "Maximale Anzahl täglicher Neuanmeldungen erreicht. Bitte versuche es morgen noch einmal.";
+App::$strings["Please indicate acceptance of the Terms of Service. Registration failed."] = "Bitte stimme den Nutzungsbedingungen zu. Registrierung fehlgeschlagen.";
+App::$strings["Passwords do not match."] = "Passwörter stimmen nicht überein.";
+App::$strings["Registration successful. Please check your email for validation instructions."] = "Registrierung erfolgreich. Eine E-Mail mit weiteren Anweisungen wurde an Dich gesendet.";
+App::$strings["Your registration is pending approval by the site owner."] = "Deine Registrierung muss noch vom Betreiber der Seite freigegeben werden.";
+App::$strings["Your registration can not be processed."] = "Deine Registrierung konnte nicht verarbeitet werden.";
+App::$strings["Registration on this hub is disabled."] = "Die Registrierung auf diesem Hub ist nicht möglich.";
+App::$strings["Registration on this hub is by approval only."] = "Eine Registrierung auf diesem Hub erfordert die Zustimmung durch den Administrator.";
+App::$strings["<a href=\"pubsites\">Register at another affiliated hub.</a>"] = "<a href=\"pubsites\">Registriere Dich auf einem der anderen verbundenen Hubs.</a>";
+App::$strings["This site has exceeded the number of allowed daily account registrations. Please try again tomorrow."] = "Die maximale Anzahl täglicher Registrierungen auf diesem Server wurde überschritten. Bitte versuche es morgen noch einmal.";
+App::$strings["Terms of Service"] = "Nutzungsbedingungen";
+App::$strings["I accept the %s for this website"] = "Ich akzeptiere die %s für diese Webseite";
+App::$strings["I am over 13 years of age and accept the %s for this website"] = "Ich bin älter als 13 Jahre und akzeptiere die %s dieser Webseite";
+App::$strings["Your email address"] = "Ihre E-Mail Adresse";
+App::$strings["Choose a password"] = "Passwort";
+App::$strings["Please re-enter your password"] = "Bitte gib Dein Passwort noch einmal ein";
+App::$strings["Please enter your invitation code"] = "Bitte trage Deinen Einladungs-Code ein";
+App::$strings["Name or caption"] = "Name oder Titel";
+App::$strings["Examples: \"Bob Jameson\", \"Lisa and her Horses\", \"Soccer\", \"Aviation Group\""] = "Beispiele: „Horst Weidinger“, „Lisa und ihr Meerschweinchen“, „Fußball“, „Segelflieger-Forum“ ";
+App::$strings["Choose a short nickname"] = "Wähle einen kurzen Spitznamen";
+App::$strings["Your nickname will be used to create an easy to remember channel address e.g. nickname%s"] = "Dein Spitzname wird verwendet, um eine leicht zu merkende Kanal-Adresse (ähnlich einer E-Mail-Adresse) zu erzeugen, die Du mit anderen austauschen kannst, z.B. nickname%s";
+App::$strings["Channel role and privacy"] = "Kanaltyp und Privatspäre-Einstellungen";
+App::$strings["Select a channel role with your privacy requirements."] = "Wähle einen passenden Kanaltyp mit den zugehörigen Voreinstellungen zur Privatsphäre.";
+App::$strings["Read more about roles"] = "Mehr Informationen über Rollen";
+App::$strings["no"] = "nein";
+App::$strings["yes"] = "ja";
+App::$strings["Registration"] = "Registrierung";
+App::$strings["Membership on this site is by invitation only."] = "Mitgliedschaft auf dieser Seite ist nur nach vorheriger Einladung möglich.";
+App::$strings["Register"] = "Registrieren";
+App::$strings["This site may require email verification after submitting this form. If you are returned to a login page, please check your email for instructions."] = "Diese Seite verlangt möglicherweise eine Emailbestätigung nach dem Ansenden des Formulars. Wenn Du auf eine Login-Seite zurückgeleitet wirst, prüfe bitte auf neue Mail mit entsprechenden Hinweisen.";
+App::$strings["%s account blocked/unblocked"] = array(
+ 0 => "%s Konto blockiert/freigegeben",
+ 1 => "%s Konten blockiert/freigegeben",
+);
+App::$strings["%s account deleted"] = array(
+ 0 => "%s Konto gelöscht",
+ 1 => "%s Konten gelöscht",
+);
+App::$strings["Account not found"] = "Konto nicht gefunden";
+App::$strings["Account '%s' deleted"] = "Konto '%s' gelöscht";
+App::$strings["Account '%s' blocked"] = "Konto '%s' blockiert";
+App::$strings["Account '%s' unblocked"] = "Konto '%s' freigegeben";
+App::$strings["Administration"] = "Administration";
+App::$strings["Accounts"] = "Konten";
+App::$strings["Submit"] = "Absenden";
+App::$strings["select all"] = "Alle auswählen";
+App::$strings["Registrations waiting for confirm"] = "Registrierungen warten auf Bestätigung";
+App::$strings["Request date"] = "Antragsdatum";
+App::$strings["Email"] = "E-Mail";
+App::$strings["No registrations."] = "Keine Registrierungen.";
+App::$strings["Approve"] = "Genehmigen";
+App::$strings["Deny"] = "Verweigern";
+App::$strings["Block"] = "Blockieren";
+App::$strings["Unblock"] = "Freigeben";
+App::$strings["ID"] = "ID";
+App::$strings["All Channels"] = "Alle Kanäle";
+App::$strings["Register date"] = "Registrierungs-Datum";
+App::$strings["Last login"] = "Letzte Anmeldung";
+App::$strings["Expires"] = "Verfällt";
+App::$strings["Service Class"] = "Service-Klasse";
+App::$strings["Selected accounts will be deleted!\\n\\nEverything these accounts had posted on this site will be permanently deleted!\\n\\nAre you sure?"] = "Die ausgewählten Konten werden gelöscht!\\n\\nAlles, was diese Konten auf diesem Hub veröffentlicht haben, wird endgültig gelöscht werden!\\n\\nBist du dir sicher?";
+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?"] = "Das Konto {0} wird gelöscht!\\n\\nAlles, was dieses Konto auf diesem Hub veröffentlicht hat, wird endgültig gelöscht werden!\\n\\nBist Du sicher?";
+App::$strings["%s channel censored/uncensored"] = array(
+ 0 => "%s Kanal gesperrt/freigegeben",
+ 1 => "%s Kanäle gesperrt/freigegeben",
+);
+App::$strings["%s channel code allowed/disallowed"] = array(
+ 0 => "Code für %s Kanal gesperrt/freigegeben",
+ 1 => "Code für %s Kanäle gesperrt/freigegeben",
+);
+App::$strings["%s channel deleted"] = array(
+ 0 => "%s Kanal gelöscht",
+ 1 => "%s Kanäle gelöscht",
+);
+App::$strings["Channel not found"] = "Kanal nicht gefunden";
+App::$strings["Channel '%s' deleted"] = "Kanal '%s' gelöscht";
+App::$strings["Channel '%s' censored"] = "Kanal '%s' gesperrt";
+App::$strings["Channel '%s' uncensored"] = "Kanal '%s' freigegeben";
+App::$strings["Channel '%s' code allowed"] = "Code für Kanal '%s' freigegeben";
+App::$strings["Channel '%s' code disallowed"] = "Code für Kanal '%s' gesperrt";
+App::$strings["Channels"] = "Kanäle";
+App::$strings["Censor"] = "Sperren";
+App::$strings["Uncensor"] = "Freigeben";
+App::$strings["Allow Code"] = "Code erlauben";
+App::$strings["Disallow Code"] = "Code sperren";
+App::$strings["Channel"] = "Kanal";
+App::$strings["UID"] = "UID";
+App::$strings["Address"] = "Adresse";
+App::$strings["Selected channels will be deleted!\\n\\nEverything that was posted in these channels on this site will be permanently deleted!\\n\\nAre you sure?"] = "Alle ausgewählten Kanäle werden gelöscht!\\n\\nAlles was von diesen Kanälen auf diesem Server geschrieben wurde, wird dauerhaft gelöscht!\\n\\nBist Du sicher?";
+App::$strings["The channel {0} will be deleted!\\n\\nEverything that was posted in this channel on this site will be permanently deleted!\\n\\nAre you sure?"] = "Der Kanal {0} wird gelöscht!\\n\\nAlles was von diesem Kanal auf diesem Server geschrieben wurde, wird gelöscht!\\n\\nBist Du sicher?";
+App::$strings["Update has been marked successful"] = "Update wurde als erfolgreich markiert";
+App::$strings["Executing %s failed. Check system logs."] = "Ausführen von %s fehlgeschlagen. Überprüfe die Systemprotokolle.";
+App::$strings["Update %s was successfully applied."] = "Update %s wurde erfolgreich ausgeführt.";
+App::$strings["Update %s did not return a status. Unknown if it succeeded."] = "Update %s lieferte keinen Rückgabewert. Erfolg unbekannt.";
+App::$strings["Update function %s could not be found."] = "Update-Funktion %s konnte nicht gefunden werden.";
+App::$strings["No failed updates."] = "Keine fehlgeschlagenen Aktualisierungen.";
+App::$strings["Failed Updates"] = "Fehlgeschlagene Aktualisierungen";
+App::$strings["Mark success (if update was manually applied)"] = "Als erfolgreich markieren (wenn das Update manuell ausgeführt wurde)";
+App::$strings["Attempt to execute this update step automatically"] = "Versuche, diesen Updateschritt automatisch auszuführen";
+App::$strings["Off"] = "Aus";
+App::$strings["On"] = "An";
+App::$strings["Lock feature %s"] = "Blockiere die Funktion %s";
+App::$strings["Manage Additional Features"] = "Zusätzliche Funktionen verwalten";
+App::$strings["Log settings updated."] = "Protokoll-Einstellungen aktualisiert.";
+App::$strings["Logs"] = "Protokolle";
+App::$strings["Clear"] = "Leeren";
+App::$strings["Debugging"] = "Debugging";
+App::$strings["Log file"] = "Protokolldatei";
+App::$strings["Must be writable by web server. Relative to your top-level webserver directory."] = "Muss für den Web-Server schreibbar sein. Relativ zum Hubzilla-Stammverzeichnis.";
+App::$strings["Log level"] = "Protokollstufe";
+App::$strings["Item not found."] = "Element nicht gefunden.";
+App::$strings["Plugin %s disabled."] = "Plug-In %s deaktiviert.";
+App::$strings["Plugin %s enabled."] = "Plug-In %s aktiviert.";
+App::$strings["Disable"] = "Deaktivieren";
+App::$strings["Enable"] = "Aktivieren";
+App::$strings["Plugins"] = "Plug-Ins";
+App::$strings["Toggle"] = "Umschalten";
+App::$strings["Settings"] = "Einstellungen";
+App::$strings["Author: "] = "Autor: ";
+App::$strings["Maintainer: "] = "Betreuer:";
+App::$strings["Minimum project version: "] = "Minimale Version des Projekts:";
+App::$strings["Maximum project version: "] = "Maximale Version des Projekts:";
+App::$strings["Minimum PHP version: "] = "Minimale PHP Version:";
+App::$strings["Compatible Server Roles: "] = "Kompatible Serverrollen: ";
+App::$strings["Requires: "] = "Benötigt:";
+App::$strings["Disabled - version incompatibility"] = "Abgeschaltet - Versionsinkompatibilität";
+App::$strings["Enter the public git repository URL of the plugin repo."] = "Gib die öffentliche Git-Repository-URL des Plugin-Repository an.";
+App::$strings["Plugin repo git URL"] = "Plugin-Repository Git URL";
+App::$strings["Custom repo name"] = "Benutzerdefinierter Repository-Name";
+App::$strings["(optional)"] = "(optional)";
+App::$strings["Download Plugin Repo"] = "Plugin-Repository herunterladen";
+App::$strings["Install new repo"] = "Neues Repository installieren";
+App::$strings["Install"] = "Installieren";
+App::$strings["Cancel"] = "Abbrechen";
+App::$strings["Manage Repos"] = "Repositorien verwalten";
+App::$strings["Installed Plugin Repositories"] = "Installierte Plugin-Repositorien";
+App::$strings["Install a New Plugin Repository"] = "Ein neues Plugin-Repository installieren";
+App::$strings["Update"] = "Aktualisieren";
+App::$strings["Switch branch"] = "Zweig/Branch wechseln";
+App::$strings["Remove"] = "Entfernen";
+App::$strings["New Profile Field"] = "Neues Profilfeld";
+App::$strings["Field nickname"] = "Kurzname für das Feld";
+App::$strings["System name of field"] = "Systemname des Feldes";
+App::$strings["Input type"] = "Art des Inhalts";
+App::$strings["Field Name"] = "Feldname";
+App::$strings["Label on profile pages"] = "Bezeichnung auf Profilseiten";
+App::$strings["Help text"] = "Hilfetext";
+App::$strings["Additional info (optional)"] = "Zusätzliche Informationen (optional)";
+App::$strings["Save"] = "Speichern";
+App::$strings["Field definition not found"] = "Feld-Definition nicht gefunden";
+App::$strings["Edit Profile Field"] = "Profilfeld bearbeiten";
+App::$strings["Profile Fields"] = "Profil Felder";
+App::$strings["Basic Profile Fields"] = "Notwendige Profil Felder";
+App::$strings["Advanced Profile Fields"] = "Erweiterte Profil Felder";
+App::$strings["(In addition to basic fields)"] = "(zusätzlich zu notwendige Felder)";
+App::$strings["All available fields"] = "Alle verfügbaren Felder";
+App::$strings["Custom Fields"] = "Benutzerdefinierte Felder";
+App::$strings["Create Custom Field"] = "Erstelle benutzerdefiniertes Feld";
+App::$strings["Queue Statistics"] = "Warteschlangenstatistiken";
+App::$strings["Total Entries"] = "Einträge insgesamt";
+App::$strings["Priority"] = "Priorität";
+App::$strings["Destination URL"] = "Ziel-URL";
+App::$strings["Mark hub permanently offline"] = "Hub als permanent offline markieren";
+App::$strings["Empty queue for this hub"] = "Warteschlange für diesen Hub leeren";
+App::$strings["Last known contact"] = "Letzter Kontakt";
+App::$strings["By default, unfiltered HTML is allowed in embedded media. This is inherently insecure."] = "Standardmäßig wird ungefiltertes HTML in eingebetteten Inhalten zugelassen. Das ist prinzipiell unsicher.";
+App::$strings["The recommended setting is to only allow unfiltered HTML from the following sites:"] = "Die empfohlene Einstellung ist, ungefiltertes HTML nur von den nachfolgenden Webseiten zu erlauben:";
+App::$strings["https://youtube.com/<br />https://www.youtube.com/<br />https://youtu.be/<br />https://vimeo.com/<br />https://soundcloud.com/<br />"] = "https://youtube.com/<br />https://www.youtube.com/<br />https://youtu.be/<br />https://vimeo.com/<br />https://soundcloud.com/<br />";
+App::$strings["All other embedded content will be filtered, <strong>unless</strong> embedded content from that site is explicitly blocked."] = "Alle anderen eingebetteten Inhalte werden gefiltert, <strong>es sei denn</strong>, eingebettete Inhalte von einer bestimmten Seite sind explizit blockiert.";
+App::$strings["Security"] = "Sicherheit";
+App::$strings["Block public"] = "Öffentlichen Zugriff blockieren";
+App::$strings["Check to block public access to all otherwise public personal pages on this site unless you are currently authenticated."] = "Blockiere den öffentlichen Zugriff auf alle ansonsten öffentlichen persönlichen Seiten dieser Website, sofern ein Besucher nicht angemeldet ist.";
+App::$strings["Set \"Transport Security\" HTTP header"] = "Setze den \"Transport Security\" HTTP Header";
+App::$strings["Set \"Content Security Policy\" HTTP header"] = "Setze den \"Content Security Policy\" HTTP Header";
+App::$strings["Allowed email domains"] = "Erlaubte Domains für E-Mails";
+App::$strings["Comma separated list of domains which are allowed in email addresses for registrations to this site. Wildcards are accepted. Empty to allow any domains"] = "Liste der Domains, die für E-Mail-Adressen bei der Registrierung erlaubt sind, durch Kommas getrennt. Platzhalter werden akzeptiert. Leer lassen, um alle Domains zu erlauben.";
+App::$strings["Not allowed email domains"] = "Nicht erlaubte Domains für E-Mails";
+App::$strings["Comma separated list of domains which are not allowed in email addresses for registrations to this site. Wildcards are accepted. Empty to allow any domains, unless allowed domains have been defined."] = "Domains in E-Mail-Adressen, die keine Erlaubnis erhalten, sich auf Deinem Hub zu registrieren. Mehrere Domains können durch Kommas getrennt werden. Platzhalter (*/?) sind möglich. Keine Eingabe bedeutet keine Einschränkung, unabhängig davon, ob unter erlaubte Domains etwas eingegeben wurde.";
+App::$strings["Allow communications only from these sites"] = "Kommunikation nur von diesen Seiten erlauben";
+App::$strings["One site per line. Leave empty to allow communication from anywhere by default"] = "Ein Eintrag pro Zeile. Lasse das Feld leer, um Kommunikation grundlegend von überall her zu erlauben.";
+App::$strings["Block communications from these sites"] = "Kommunikation von diesen Seiten blockieren";
+App::$strings["Allow communications only from these channels"] = "Kommunikation nur von diesen Kanälen erlauben";
+App::$strings["One channel (hash) per line. Leave empty to allow from any channel by default"] = "Ein Kanal (hash) pro Zeile. Leerlassen um jeden Kanal zuzulassen. ";
+App::$strings["Block communications from these channels"] = "Kommunikation von folgenden Kanälen blockieren";
+App::$strings["Only allow embeds from secure (SSL) websites and links."] = "Erlaube Einbettungen nur von sicheren (SSL) Webseiten und Links.";
+App::$strings["Allow unfiltered embedded HTML content only from these domains"] = "Erlaube Einbettung von Inhalten mit ungefiltertem HTML nur von diesen Domains";
+App::$strings["One site per line. By default embedded content is filtered."] = "Eine Website/Domain pro Zeile. Standardmäßig wird eingebetteter Inhalt gefiltert.";
+App::$strings["Block embedded HTML from these domains"] = "Eingebettete HTML Inhalte von diesen Seiten blockieren";
+App::$strings["Site settings updated."] = "Site-Einstellungen aktualisiert.";
+App::$strings["Default"] = "Standard";
+App::$strings["mobile"] = "mobil";
+App::$strings["experimental"] = "experimentell";
+App::$strings["unsupported"] = "nicht unterstützt";
+App::$strings["No"] = "Nein";
+App::$strings["Yes - with approval"] = "Ja - mit Zustimmung";
+App::$strings["Yes"] = "Ja";
+App::$strings["My site is not a public server"] = "Mein Server ist kein öffentlicher Server";
+App::$strings["My site has paid access only"] = "Meine Seite hat nur bezahlten Zugriff";
+App::$strings["My site has free access only"] = "Meine Seite hat nur freien Zugriff";
+App::$strings["My site offers free accounts with optional paid upgrades"] = "Mein Server bietet kostenlose Konten mit der Möglichkeit zu bezahlten Upgrades";
+App::$strings["Basic/Minimal Social Networking"] = "Einfaches/minimales soziales Netzwerken";
+App::$strings["Standard Configuration (default)"] = "Standardkonfiguration (Standard)";
+App::$strings["Professional"] = "Professionell";
+App::$strings["Beginner/Basic"] = "Anfänger/Basis";
+App::$strings["Novice - not skilled but willing to learn"] = "Anfänger - unerfahren, aber bereit zu lernen";
+App::$strings["Intermediate - somewhat comfortable"] = "Fortgeschritten - relativ komfortabel";
+App::$strings["Advanced - very comfortable"] = "Fortgeschritten - sehr komfortabel";
+App::$strings["Expert - I can write computer code"] = "Experte - Ich kann Computercode schreiben";
+App::$strings["Wizard - I probably know more than you do"] = "Zauberer - ich kann wahrscheinlich mehr als Du";
+App::$strings["Site"] = "Seite";
+App::$strings["File upload"] = "Dateiupload";
+App::$strings["Policies"] = "Richtlinien";
+App::$strings["Advanced"] = "Fortgeschritten";
+App::$strings["Site name"] = "Seitenname";
+App::$strings["Server Configuration/Role"] = "Serverkonfiguration/Rolle";
+App::$strings["Site default technical skill level"] = "Standard-Qualifikationsstufe der Website";
+App::$strings["Used to provide a member experience matched to technical comfort level"] = "Dies wird verwendet, um eine Benutzererfahrung passend zur technischen Qualifikationsstufe zu bieten.";
+App::$strings["Lock the technical skill level setting"] = "Sperre die technische Qualifikationsstufe";
+App::$strings["Members can set their own technical comfort level by default"] = "Benutzer können standardmäßig ihre eigene technische Qualifikationsstufe einstellen";
+App::$strings["Banner/Logo"] = "Banner/Logo";
+App::$strings["Administrator Information"] = "Administrator-Informationen";
+App::$strings["Contact information for site administrators. Displayed on siteinfo page. BBCode can be used here"] = "Kontaktinformationen für Administratoren des Servers. Wird auf der siteinfo-Seite angezeigt. BBCode kann verwendet werden.";
+App::$strings["System language"] = "System-Sprache";
+App::$strings["System theme"] = "System-Theme";
+App::$strings["Default system theme - may be over-ridden by user profiles - <a href='#' id='cnftheme'>change theme settings</a>"] = "Standard-System-Theme – kann durch Nutzerprofile überschieben werden – <a href='#' id='cnftheme'>Theme-Einstellungen ändern</a>";
+App::$strings["Mobile system theme"] = "Mobile System-Theme:";
+App::$strings["Theme for mobile devices"] = "Theme für mobile Geräte";
+App::$strings["Allow Feeds as Connections"] = "Feeds als Verbindungen erlauben";
+App::$strings["(Heavy system resource usage)"] = "(führt zu hoher Systemlast)";
+App::$strings["Maximum image size"] = "Maximale Bildgröße";
+App::$strings["Maximum size in bytes of uploaded images. Default is 0, which means no limits."] = "Maximale Größe hochgeladener Bilder in Bytes. Standard ist 0 (keine Einschränkung).";
+App::$strings["Does this site allow new member registration?"] = "Erlaubt dieser Server die Registrierung neuer Nutzer?";
+App::$strings["Invitation only"] = "Nur mit Einladung";
+App::$strings["Only allow new member registrations with an invitation code. Above register policy must be set to Yes."] = "Erlaube die Neuregistrierung von Mitglieder nur mit einem Einladungscode. Die Registrierungs-Politik muss oben auf Ja gesetzt werden.";
+App::$strings["Which best describes the types of account offered by this hub?"] = "Was ist die passendste Beschreibung der Konten auf diesem Hub?";
+App::$strings["Register text"] = "Registrierungstext";
+App::$strings["Will be displayed prominently on the registration page."] = "Wird gut sichtbar auf der Registrierungs-Seite angezeigt.";
+App::$strings["Site homepage to show visitors (default: login box)"] = "Homepage des Hubs, die Besuchern angezeigt wird (Voreinstellung: Anmeldemaske)";
+App::$strings["example: 'public' to show public stream, 'page/sys/home' to show a system webpage called 'home' or 'include:home.html' to include a file."] = "Beispiele: 'public', um den Stream aller öffentlichen Beiträge anzuzeigen, 'page/sys/home', um eine System-Webseite namens 'home' anzuzeigen, 'include:home.html', um eine Datei einzufügen.";
+App::$strings["Preserve site homepage URL"] = "Homepage-URL schützen";
+App::$strings["Present the site homepage in a frame at the original location instead of redirecting"] = "Zeigt die Homepage an der Original-URL in einem Frame an, statt auf die eigentliche Adresse der Seite umzuleiten.";
+App::$strings["Accounts abandoned after x days"] = "Konten gelten nach X Tagen als unbenutzt";
+App::$strings["Will not waste system resources polling external sites for abandonded accounts. Enter 0 for no time limit."] = "Verschwende keine Systemressourcen auf das Pollen von externen Seiten, wenn das Konto nicht mehr benutzt wird. Trage hier 0 für kein zeitliches Limit.";
+App::$strings["Allowed friend domains"] = "Erlaubte Domains für Kontakte";
+App::$strings["Comma separated list of domains which are allowed to establish friendships with this site. Wildcards are accepted. Empty to allow any domains"] = "Liste der Domains, die für Freundschaften erlaubt sind, durch Kommas getrennt. Platzhalter werden akzeptiert. Leer lassen, um alle Domains zu erlauben.";
+App::$strings["Verify Email Addresses"] = "E-Mail-Adressen überprüfen";
+App::$strings["Check to verify email addresses used in account registration (recommended)."] = "Aktivieren, um die Überprüfung von E-Mail-Adressen bei der Registrierung von Benutzerkonten zu aktivieren (empfohlen).";
+App::$strings["Force publish"] = "Veröffentlichung erzwingen";
+App::$strings["Check to force all profiles on this site to be listed in the site directory."] = "Die Veröffentlichung aller Profile dieses Servers im Verzeichnis erzwingen.";
+App::$strings["Import Public Streams"] = "Öffentliche Beiträge importieren";
+App::$strings["Import and allow access to public content pulled from other sites. Warning: this content is unmoderated."] = "Öffentliche Beiträge von anderen Servern importieren und zur Verfügung stellen. Warnung: Diese Inhalte sind nicht moderiert.";
+App::$strings["Login on Homepage"] = "Log-in auf der Startseite";
+App::$strings["Present a login box to visitors on the home page if no other content has been configured."] = "Zeigt Besuchern der Homepage eine Anmeldemaske, falls keine anderen Inhalte konfiguriert wurden.";
+App::$strings["Enable context help"] = "Kontext-Hilfe aktivieren";
+App::$strings["Display contextual help for the current page when the help button is pressed."] = "Zeigt Kontext-sensitive Hilfe für die aktuelle Seite an, wenn der Hilfe-Knopf geklickt wird.";
+App::$strings["Directory Server URL"] = "Verzeichnisserver-URL";
+App::$strings["Default directory server"] = "Standard-Verzeichnisserver";
+App::$strings["Proxy user"] = "Proxy Benutzer";
+App::$strings["Proxy URL"] = "Proxy URL";
+App::$strings["Network timeout"] = "Netzwerk-Timeout";
+App::$strings["Value is in seconds. Set to 0 for unlimited (not recommended)."] = "Wert in Sekunden. 0 für unbegrenzt (nicht empfohlen).";
+App::$strings["Delivery interval"] = "Auslieferung Intervall";
+App::$strings["Delay background delivery processes by this many seconds to reduce system load. Recommend: 4-5 for shared hosts, 2-3 for virtual private servers. 0-1 for large dedicated servers."] = "Verzögere im Hintergrund laufende Auslieferungsprozesse um die angegebene Anzahl Sekunden, um die Systemlast zu verringern. Empfehlungen: 4-5 für Shared Hosts, 2-3 für VPS, 0-1 für große dedizierte Server.";
+App::$strings["Deliveries per process"] = "Zustellungen pro Prozess";
+App::$strings["Number of deliveries to attempt in a single operating system process. Adjust if necessary to tune system performance. Recommend: 1-5."] = "Anzahl der Zustellungen, die innerhalb eines einzelnen Betriebssystemprozesses versucht werden. Anpassen, falls nötig, um die System-Performance zu verbessern. Empfehlung: 1-5.";
+App::$strings["Poll interval"] = "Abfrageintervall";
+App::$strings["Delay background polling processes by this many seconds to reduce system load. If 0, use delivery interval."] = "Verzögere Hintergrundprozesse um diese Anzahl Sekunden, um die Systemlast zu reduzieren. Bei 0 wird das Auslieferungsintervall verwendet.";
+App::$strings["Maximum Load Average"] = "Maximales Load Average";
+App::$strings["Maximum system load before delivery and poll processes are deferred - default 50."] = "Maximale Systemlast, bevor Verteil- und Empfangsprozesse verschoben werden – Standard 50";
+App::$strings["Expiration period in days for imported (grid/network) content"] = "Setze den Zeitraum (in Tagen), ab wann importierte (aus dem Netzwerk) Inhalte ablaufen sollen";
+App::$strings["0 for no expiration of imported content"] = "0 = keine Löschung importierter Inhalte";
+App::$strings["Theme settings updated."] = "Theme-Einstellungen aktualisiert.";
+App::$strings["No themes found."] = "Keine Theme gefunden.";
+App::$strings["Screenshot"] = "Bildschirmfoto";
+App::$strings["Themes"] = "Themes";
+App::$strings["[Experimental]"] = "[Experimentell]";
+App::$strings["[Unsupported]"] = "[Nicht unterstützt]";
+App::$strings["Your service plan only allows %d channels."] = "Dein Vertrag erlaubt nur %d Kanäle.";
+App::$strings["Nothing to import."] = "Nichts zu importieren.";
+App::$strings["Unable to download data from old server"] = "Daten können vom alten Server nicht heruntergeladen werden";
+App::$strings["Imported file is empty."] = "Die importierte Datei ist leer.";
+App::$strings["Warning: Database versions differ by %1\$d updates."] = "Achtung: Datenbankversionen unterscheiden sich um %1\$d Aktualisierungen.";
+App::$strings["Cloned channel not found. Import failed."] = "Geklonter Kanal nicht gefunden. Import fehlgeschlagen.";
+App::$strings["No channel. Import failed."] = "Kein Kanal. Import fehlgeschlagen.";
+App::$strings["Import completed."] = "Import abgeschlossen.";
+App::$strings["You must be logged in to use this feature."] = "Du musst angemeldet sein um diese Funktion zu nutzen.";
+App::$strings["Import Channel"] = "Kanal importieren";
+App::$strings["Use this form to import an existing channel from a different server/hub. You may retrieve the channel identity from the old server/hub via the network or provide an export file."] = "Verwende dieses Formular, um einen existierenden Kanal von einem anderen Hub zu importieren. Du kannst den Kanal direkt vom bisherigen Hub über das Netzwerk oder aus einer exportierten Sicherheitskopie importieren.";
+App::$strings["File to Upload"] = "Hochzuladende Datei:";
+App::$strings["Or provide the old server/hub details"] = "Oder gib die Details Deines bisherigen \$Projectname-Hubs ein";
+App::$strings["Your old identity address (xyz@example.com)"] = "Bisherige Kanal-Adresse (xyz@example.com)";
+App::$strings["Your old login email address"] = "Deine alte Login-E-Mail-Adresse";
+App::$strings["Your old login password"] = "Dein altes Passwort";
+App::$strings["For either option, please choose whether to make this hub your new primary address, or whether your old location should continue this role. You will be able to post from either location, but only one can be marked as the primary location for files, photos, and media."] = "Egal, welche Option Du wählst – bitte lege fest, ob dieser Server die neue primäre Adresse dieses Kanals sein soll, oder ob der bisherige \$Projectname-Hub diese Rolle weiterhin wahrnimmt. Du kannst von beiden Servern aus posten, aber nur einer kann der primäre Ort Deiner Dateien, Fotos und Medien sein.";
+App::$strings["Make this hub my primary location"] = "Dieser $Pojectname-Hub ist mein primärer Hub.";
+App::$strings["Import existing posts if possible (experimental - limited by available memory"] = "Importiere bestehende Beiträge falls möglich (experimentell - begrenzt durch zur Verfügung stehenden Speicher";
+App::$strings["This process may take several minutes to complete. Please submit the form only once and leave this page open until finished."] = "Dieser Vorgang kann einige Minuten dauern. Bitte sende das Formular nur einmal ab und lasse diese Seite bis zur Fertigstellung offen.";
App::$strings["Public access denied."] = "Öffentlichen Zugriff verweigert.";
App::$strings["%d rating"] = array(
0 => "%d Bewertung",
@@ -224,104 +417,21 @@ App::$strings["Reverse Alphabetic"] = "Entgegengesetzt alphabetisch";
App::$strings["Newest to Oldest"] = "Neueste zuerst";
App::$strings["Oldest to Newest"] = "Älteste zuerst";
App::$strings["No entries (some entries may be hidden)."] = "Keine Einträge gefunden (einige könnten versteckt sein).";
-App::$strings["Profile not found."] = "Profil nicht gefunden.";
-App::$strings["Profile deleted."] = "Profil gelöscht.";
-App::$strings["Profile-"] = "Profil-";
-App::$strings["New profile created."] = "Neues Profil erstellt.";
-App::$strings["Profile unavailable to clone."] = "Profil kann nicht geklont werden.";
-App::$strings["Profile unavailable to export."] = "Dieses Profil kann nicht exportiert werden.";
-App::$strings["Profile Name is required."] = "Profil-Name erforderlich.";
-App::$strings["Marital Status"] = "Familienstand";
-App::$strings["Romantic Partner"] = "Romantische Partner";
-App::$strings["Likes"] = "Gefällt";
-App::$strings["Dislikes"] = "Gefällt nicht";
-App::$strings["Work/Employment"] = "Arbeit/Anstellung";
-App::$strings["Religion"] = "Religion";
-App::$strings["Political Views"] = "Politische Ansichten";
-App::$strings["Gender"] = "Geschlecht";
-App::$strings["Sexual Preference"] = "Sexuelle Orientierung";
-App::$strings["Homepage"] = "Webseite";
-App::$strings["Interests"] = "Hobbys/Interessen";
-App::$strings["Address"] = "Adresse";
-App::$strings["Location"] = "Ort";
-App::$strings["Profile updated."] = "Profil aktualisiert.";
-App::$strings["Hide your connections list from viewers of this profile"] = "Deine Verbindungen vor Betrachtern dieses Profils verbergen";
-App::$strings["No"] = "Nein";
-App::$strings["Yes"] = "Ja";
-App::$strings["Edit Profile Details"] = "Bearbeite Profil-Details";
-App::$strings["View this profile"] = "Dieses Profil ansehen";
-App::$strings["Edit visibility"] = "Sichtbarkeit bearbeiten";
-App::$strings["Profile Tools"] = "Profilwerkzeuge";
-App::$strings["Change cover photo"] = "Titelbild ändern";
-App::$strings["Change profile photo"] = "Profilfoto ändern";
-App::$strings["Create a new profile using these settings"] = "Neues Profil anlegen und diese Einstellungen übernehmen";
-App::$strings["Clone this profile"] = "Dieses Profil klonen";
-App::$strings["Delete this profile"] = "Dieses Profil löschen";
-App::$strings["Add profile things"] = "Sachen zum Profil hinzufügen";
-App::$strings["Personal"] = "Persönlich";
-App::$strings["Relation"] = "Beziehung";
-App::$strings["Miscellaneous"] = "Verschiedenes";
-App::$strings["Import profile from file"] = "Profil aus einer Datei importieren";
-App::$strings["Export profile to file"] = "Profil in eine Datei exportieren";
-App::$strings["Your gender"] = "Dein Geschlecht";
-App::$strings["Marital status"] = "Familienstand";
-App::$strings["Sexual preference"] = "Sexuelle Orientierung";
-App::$strings["Profile name"] = "Profilname";
-App::$strings["Required"] = "Benötigt";
-App::$strings["This is your default profile."] = "Das ist Dein Standardprofil.";
-App::$strings["Your full name"] = "Dein voller Name";
-App::$strings["Title/Description"] = "Titel/Beschreibung";
-App::$strings["Street address"] = "Straße und Hausnummer";
-App::$strings["Locality/City"] = "Wohnort";
-App::$strings["Region/State"] = "Region/Bundesstaat";
-App::$strings["Postal/Zip code"] = "Postleitzahl";
-App::$strings["Country"] = "Land";
-App::$strings["Who (if applicable)"] = "Wer (falls anwendbar)";
-App::$strings["Examples: cathy123, Cathy Williams, cathy@example.com"] = "Beispiele: cathy123, Cathy Williams, cathy@example.com";
-App::$strings["Since (date)"] = "Seit (Datum)";
-App::$strings["Tell us about yourself"] = "Erzähle uns ein wenig von Dir";
-App::$strings["Homepage URL"] = "Homepage-URL";
-App::$strings["Hometown"] = "Heimatort";
-App::$strings["Political views"] = "Politische Ansichten";
-App::$strings["Religious views"] = "Religiöse Ansichten";
-App::$strings["Keywords used in directory listings"] = "Schlüsselwörter, die in Verzeichnis-Auflistungen verwendet werden";
-App::$strings["Example: fishing photography software"] = "Beispiel: Angeln Fotografie Software";
-App::$strings["Musical interests"] = "Musikalische Interessen";
-App::$strings["Books, literature"] = "Bücher, Literatur";
-App::$strings["Television"] = "Fernsehen";
-App::$strings["Film/Dance/Culture/Entertainment"] = "Film/Tanz/Kultur/Unterhaltung";
-App::$strings["Hobbies/Interests"] = "Hobbys/Interessen";
-App::$strings["Love/Romance"] = "Liebe/Romantik";
-App::$strings["School/Education"] = "Schule/Ausbildung";
-App::$strings["Contact information and social networks"] = "Kontaktinformation und soziale Netzwerke";
-App::$strings["My other channels"] = "Meine anderen Kanäle";
-App::$strings["Profile Image"] = "Profilfoto:";
-App::$strings["Edit Profiles"] = "Profile bearbeiten";
-App::$strings["Create New"] = "Neu anlegen";
-App::$strings["Edit post"] = "Bearbeite Beitrag";
App::$strings["Bookmark added"] = "Lesezeichen hinzugefügt";
App::$strings["My Bookmarks"] = "Meine Lesezeichen";
App::$strings["My Connections Bookmarks"] = "Lesezeichen meiner Kontakte";
-App::$strings["Unable to locate original post."] = "Originalbeitrag nicht gefunden.";
-App::$strings["Empty post discarded."] = "Leeren Beitrag verworfen.";
-App::$strings["Executable content type not permitted to this channel."] = "Ausführbarer Content-Typ ist für diesen Kanal nicht freigegeben.";
-App::$strings["Duplicate post suppressed."] = "Doppelter Beitrag unterdrückt.";
-App::$strings["System error. Post not saved."] = "Systemfehler. Beitrag nicht gespeichert.";
-App::$strings["Unable to obtain post information from database."] = "Beitragsinformationen können nicht aus der Datenbank abgerufen werden.";
-App::$strings["You have reached your limit of %1$.0f top level posts."] = "Du hast die maximale Anzahl von %1$.0f Beiträgen erreicht.";
-App::$strings["You have reached your limit of %1$.0f webpages."] = "Du hast die maximale Anzahl von %1$.0f Webseiten erreicht.";
+App::$strings["Edit post"] = "Bearbeite Beitrag";
+App::$strings["No ratings"] = "Keine Bewertungen";
+App::$strings["Ratings"] = "Bewertungen";
+App::$strings["Rating: "] = "Bewertung: ";
+App::$strings["Website: "] = "Webseite: ";
+App::$strings["Description: "] = "Beschreibung: ";
App::$strings["Photos"] = "Fotos";
-App::$strings["Cancel"] = "Abbrechen";
App::$strings["Invalid item."] = "Ungültiges Element.";
App::$strings["Channel not found."] = "Kanal nicht gefunden.";
App::$strings["Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum."] = "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.";
App::$strings["Save to Folder:"] = "Speichern in Ordner:";
App::$strings["- select -"] = "– auswählen –";
-App::$strings["Save"] = "Speichern";
-App::$strings["You must be logged in to see this page."] = "Du musst angemeldet sein, um diese Seite betrachten zu können.";
-App::$strings["Posts and comments"] = "Beiträge und Kommentare";
-App::$strings["Only posts"] = "Nur Beiträge";
-App::$strings["Insufficient permissions. Request redirected to profile page."] = "Unzureichende Zugriffsrechte. Die Anfrage wurde zur Profil-Seite umgeleitet.";
App::$strings["Blocked"] = "Blockiert";
App::$strings["Ignored"] = "Ignoriert";
App::$strings["Hidden"] = "Versteckt";
@@ -345,7 +455,6 @@ App::$strings["Network"] = "Netzwerk";
App::$strings["Status"] = "Status";
App::$strings["Connected"] = "Verbunden";
App::$strings["Approve connection"] = "Verbindung genehmigen";
-App::$strings["Approve"] = "Genehmigen";
App::$strings["Ignore connection"] = "Verbindung ignorieren";
App::$strings["Ignore"] = "Ignorieren";
App::$strings["Recent activity"] = "Kürzliche Aktivitäten";
@@ -375,35 +484,6 @@ App::$strings["select a photo from your photo albums"] = "ein Foto aus meinen Fo
App::$strings["Crop Image"] = "Bild zuschneiden";
App::$strings["Please adjust the image cropping for optimum viewing."] = "Bitte schneide das Bild für eine optimale Anzeige passend zu.";
App::$strings["Done Editing"] = "Bearbeitung fertigstellen";
-App::$strings["webpage"] = "Webseite";
-App::$strings["block"] = "Block";
-App::$strings["layout"] = "Layout";
-App::$strings["menu"] = "Menü";
-App::$strings["%s element installed"] = "Element für %s installiert";
-App::$strings["%s element installation failed"] = "Installation des Elements %s fehlgeschlagen";
-App::$strings["Like/Dislike"] = "Mögen/Nicht mögen";
-App::$strings["This action is restricted to members."] = "Diese Aktion kann nur von Mitgliedern ausgeführt werden.";
-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."] = "Um fortzufahren <a href=\"rmagic\">melde Dich bitte mit Deiner \$Projectname-ID an</a> oder <a href=\"register\">registriere Dich als neues \$Projectname-Mitglied</a>.";
-App::$strings["Invalid request."] = "Ungültige Anfrage.";
-App::$strings["channel"] = "Kanal";
-App::$strings["thing"] = "Sache";
-App::$strings["Channel unavailable."] = "Kanal nicht vorhanden.";
-App::$strings["Previous action reversed."] = "Die vorherige Aktion wurde rückgängig gemacht.";
-App::$strings["photo"] = "Foto";
-App::$strings["status"] = "Status";
-App::$strings["event"] = "Termin";
-App::$strings["%1\$s likes %2\$s's %3\$s"] = "%1\$s gefällt %2\$ss %3\$s";
-App::$strings["%1\$s doesn't like %2\$s's %3\$s"] = "%1\$s gefällt %2\$ss %3\$s nicht";
-App::$strings["%1\$s agrees with %2\$s's %3\$s"] = "%1\$s stimmt %2\$ss %3\$s zu";
-App::$strings["%1\$s doesn't agree with %2\$s's %3\$s"] = "%1\$s lehnt %2\$ss %3\$s ab";
-App::$strings["%1\$s abstains from a decision on %2\$s's %3\$s"] = "%1\$s enthält sich zu %2\$ss %3\$s";
-App::$strings["%1\$s is attending %2\$s's %3\$s"] = "%1\$s nimmt an %2\$ss %3\$s teil";
-App::$strings["%1\$s is not attending %2\$s's %3\$s"] = "%1\$s nimmt an %2\$ss %3\$s nicht teil";
-App::$strings["%1\$s may attend %2\$s's %3\$s"] = "%1\$s nimmt vielleicht an %2\$ss %3\$s teil";
-App::$strings["Action completed."] = "Aktion durchgeführt.";
-App::$strings["Thank you."] = "Vielen Dank.";
-App::$strings["This site is not a directory server"] = "Diese Webseite ist kein Verzeichnisserver";
-App::$strings["This directory server requires an access token"] = "Dieser Verzeichnisserver benötigt einen Zugriffstoken";
App::$strings["Item not found"] = "Element nicht gefunden";
App::$strings["Block Name"] = "Block-Name";
App::$strings["Insert web link"] = "Link einfügen";
@@ -414,14 +494,40 @@ App::$strings["Layout Description (Optional)"] = "Layout-Beschreibung (optional)
App::$strings["Edit Layout"] = "Layout bearbeiten";
App::$strings["Page link"] = "Seiten-Link";
App::$strings["Edit Webpage"] = "Webseite bearbeiten";
-App::$strings["network"] = "Netzwerk";
-App::$strings["RSS"] = "RSS";
+App::$strings["Unable to update menu."] = "Kann Menü nicht aktualisieren.";
+App::$strings["Unable to create menu."] = "Kann Menü nicht erstellen.";
+App::$strings["Menu Name"] = "Name des Menüs";
+App::$strings["Unique name (not visible on webpage) - required"] = "Eindeutiger Name (nicht sichtbar auf der Webseite) – erforderlich";
+App::$strings["Menu Title"] = "Menütitel";
+App::$strings["Visible on webpage - leave empty for no title"] = "Sichtbar auf der Webseite – für keinen Titel leer lassen";
+App::$strings["Allow Bookmarks"] = "Lesezeichen erlauben";
+App::$strings["Menu may be used to store saved bookmarks"] = "Im Menü können gespeicherte Lesezeichen abgelegt werden";
+App::$strings["Submit and proceed"] = "Absenden und fortfahren";
+App::$strings["Menus"] = "Menüs";
+App::$strings["Drop"] = "Löschen";
+App::$strings["Created"] = "Erstellt";
+App::$strings["Edited"] = "Geändert";
+App::$strings["Bookmarks allowed"] = "Lesezeichen erlaubt";
+App::$strings["Delete this menu"] = "Lösche dieses Menü";
+App::$strings["Edit menu contents"] = "Bearbeite Menü Inhalte";
+App::$strings["Edit this menu"] = "Dieses Menü bearbeiten";
+App::$strings["Menu could not be deleted."] = "Menü konnte nicht gelöscht werden.";
+App::$strings["Menu not found."] = "Menü nicht gefunden";
+App::$strings["Edit Menu"] = "Menü bearbeiten";
+App::$strings["Add or remove entries to this menu"] = "Einträge zu diesem Menü hinzufügen oder entfernen";
+App::$strings["Menu name"] = "Menü Name";
+App::$strings["Must be unique, only seen by you"] = "Muss eindeutig sein, ist aber nur für Dich sichtbar";
+App::$strings["Menu title"] = "Menü Titel";
+App::$strings["Menu title as seen by others"] = "Menü Titel wie er von anderen gesehen wird";
+App::$strings["Allow bookmarks"] = "Erlaube Lesezeichen";
+App::$strings["Not found."] = "Nicht gefunden.";
App::$strings["App installed."] = "App installiert.";
App::$strings["Malformed app."] = "Fehlerhafte App.";
App::$strings["Embed code"] = "Code einbetten";
App::$strings["Edit App"] = "App bearbeiten";
App::$strings["Create App"] = "App erstellen";
App::$strings["Name of app"] = "Name der App";
+App::$strings["Required"] = "Benötigt";
App::$strings["Location (URL) of app"] = "Ort (URL) der App";
App::$strings["Description"] = "Beschreibung";
App::$strings["Photo icon URL"] = "URL zum Icon";
@@ -430,23 +536,41 @@ App::$strings["Categories (optional, comma separated list)"] = "Kategorien (opti
App::$strings["Version ID"] = "Versions-ID";
App::$strings["Price of app"] = "Preis der App";
App::$strings["Location (URL) to purchase app"] = "Ort (URL), um die App zu kaufen";
-App::$strings["Documentation Search"] = "Suche in der Dokumentation";
-App::$strings["Help:"] = "Hilfe:";
-App::$strings["Help"] = "Hilfe";
-App::$strings["\$Projectname Documentation"] = "\$Projectname-Dokumentation";
+App::$strings["Unable to lookup recipient."] = "Konnte den Empfänger nicht finden.";
+App::$strings["Unable to communicate with requested channel."] = "Die Kommunikation mit dem ausgewählten Kanal ist fehlgeschlagen.";
+App::$strings["Cannot verify requested channel."] = "Verifizierung des angeforderten Kanals fehlgeschlagen.";
+App::$strings["Selected channel has private message restrictions. Send failed."] = "Der ausgewählte Kanal hat Einschränkungen bzgl. privater Nachrichten. Senden fehlgeschlagen.";
+App::$strings["Messages"] = "Nachrichten";
+App::$strings["Message recalled."] = "Nachricht widerrufen.";
+App::$strings["Conversation removed."] = "Unterhaltung gelöscht.";
+App::$strings["Please enter a link URL:"] = "Gib eine URL ein:";
+App::$strings["Expires YYYY-MM-DD HH:MM"] = "Verfällt YYYY-MM-DD HH;MM";
+App::$strings["Requested channel is not in this network"] = "Angeforderter Kanal ist nicht in diesem Netzwerk.";
+App::$strings["Send Private Message"] = "Private Nachricht senden";
+App::$strings["To:"] = "An:";
+App::$strings["Subject:"] = "Betreff:";
+App::$strings["Your message:"] = "Deine Nachricht:";
+App::$strings["Attach file"] = "Datei anhängen";
+App::$strings["Send"] = "Absenden";
+App::$strings["Set expiration date"] = "Verfallsdatum";
+App::$strings["Encrypt text"] = "Text verschlüsseln";
+App::$strings["Delete message"] = "Nachricht löschen";
+App::$strings["Delivery report"] = "Zustellungsbericht";
+App::$strings["Recall message"] = "Nachricht widerrufen";
+App::$strings["Message has been recalled."] = "Die Nachricht wurde widerrufen.";
+App::$strings["Delete Conversation"] = "Unterhaltung löschen";
+App::$strings["No secure communications available. You <strong>may</strong> be able to respond from the sender's profile page."] = "Keine sichere Kommunikation verfügbar. <strong>Eventuell</strong> kannst Du auf der Profilseite des Absenders antworten.";
+App::$strings["Send Reply"] = "Antwort senden";
+App::$strings["Your message for %s (%s):"] = "Deine Nachricht für %s (%s):";
App::$strings["Item not available."] = "Element nicht verfügbar.";
-App::$strings["Layout updated."] = "Layout aktualisiert.";
-App::$strings["Edit System Page Description"] = "Systemseitenbeschreibung bearbeiten";
-App::$strings["Layout not found."] = "Layout nicht gefunden.";
-App::$strings["Module Name:"] = "Modulname:";
-App::$strings["Layout Help"] = "Layout-Hilfe";
App::$strings["Share content from Firefox to \$Projectname"] = "Inhalte von Firefox nach \$Projectname teilen";
App::$strings["Activate the Firefox \$Projectname provider"] = "Aktiviert den \$Projectname-Provider für firefox";
+App::$strings["Documentation Search"] = "Suche in der Dokumentation";
+App::$strings["\$Projectname Documentation"] = "\$Projectname-Dokumentation";
App::$strings["\$Projectname"] = "\$Projectname";
App::$strings["Welcome to %s"] = "Willkommen auf %s";
App::$strings["Remote privacy information not available."] = "Privatsphäre-Einstellungen anderer Nutzer sind nicht verfügbar.";
App::$strings["Visible to:"] = "Sichtbar für:";
-App::$strings["Item not found."] = "Element nicht gefunden.";
App::$strings["Permission Denied."] = "Zugriff verweigert.";
App::$strings["File not found."] = "Datei nicht gefunden.";
App::$strings["Edit file permissions"] = "Dateiberechtigungen bearbeiten";
@@ -459,74 +583,16 @@ App::$strings["Copy/paste this URL to link file from a web page"] = "Diese URL v
App::$strings["Share this file"] = "Diese Datei freigeben";
App::$strings["Show URL to this file"] = "URL zu dieser Datei anzeigen";
App::$strings["Notify your contacts about this file"] = "Meine Kontakte über diese Datei benachrichtigen";
-App::$strings["Fetching URL returns error: %1\$s"] = "Abrufen der URL gab einen Fehler zurück: %1\$s";
-App::$strings["Could not access contact record."] = "Konnte nicht auf den Kontakteintrag zugreifen.";
-App::$strings["Could not locate selected profile."] = "Gewähltes Profil nicht gefunden.";
-App::$strings["Connection updated."] = "Verbindung aktualisiert.";
-App::$strings["Failed to update connection record."] = "Konnte den Verbindungseintrag nicht aktualisieren.";
-App::$strings["is now connected to"] = "ist jetzt verbunden mit";
-App::$strings["Could not access address book record."] = "Konnte nicht auf den Adressbuch-Eintrag zugreifen.";
-App::$strings["Refresh failed - channel is currently unavailable."] = "Aktualisierung fehlgeschlagen – der Kanal ist im Moment nicht erreichbar.";
-App::$strings["Unable to set address book parameters."] = "Konnte die Adressbuch-Parameter nicht setzen.";
-App::$strings["Connection has been removed."] = "Verbindung wurde gelöscht.";
-App::$strings["View Profile"] = "Profil ansehen";
-App::$strings["View %s's profile"] = "%ss Profil ansehen";
-App::$strings["Refresh Permissions"] = "Zugriffsrechte neu laden";
-App::$strings["Fetch updated permissions"] = "Aktualisierte Zugriffsrechte abfragen";
-App::$strings["Recent Activity"] = "Kürzliche Aktivitäten";
-App::$strings["View recent posts and comments"] = "Betrachte die neuesten Beiträge und Kommentare";
-App::$strings["Unblock"] = "Freigeben";
-App::$strings["Block"] = "Blockieren";
-App::$strings["Block (or Unblock) all communications with this connection"] = "Jegliche Kommunikation mit dieser Verbindung blockieren/zulassen";
-App::$strings["This connection is blocked!"] = "Die Verbindung ist geblockt!";
-App::$strings["Unignore"] = "Nicht ignorieren";
-App::$strings["Ignore (or Unignore) all inbound communications from this connection"] = "Jegliche eingehende Kommunikation von dieser Verbindung ignorieren/zulassen";
-App::$strings["This connection is ignored!"] = "Die Verbindung wird ignoriert!";
-App::$strings["Unarchive"] = "Aus Archiv zurückholen";
-App::$strings["Archive"] = "Archivieren";
-App::$strings["Archive (or Unarchive) this connection - mark channel dead but keep content"] = "Verbindung archivieren/aus dem Archiv zurückholen (Archiv = Kanal als erloschen markieren, aber die Beiträge behalten)";
-App::$strings["This connection is archived!"] = "Die Verbindung ist archiviert!";
-App::$strings["Unhide"] = "Wieder sichtbar machen";
-App::$strings["Hide"] = "Verstecken";
-App::$strings["Hide or Unhide this connection from your other connections"] = "Diese Verbindung vor anderen Verbindungen verstecken/zeigen";
-App::$strings["This connection is hidden!"] = "Die Verbindung ist versteckt!";
-App::$strings["Delete this connection"] = "Verbindung löschen";
-App::$strings["Me"] = "Ich";
-App::$strings["Family"] = "Familie";
-App::$strings["Friends"] = "Freunde";
-App::$strings["Acquaintances"] = "Bekannte";
-App::$strings["Approve this connection"] = "Verbindung genehmigen";
-App::$strings["Accept connection to allow communication"] = "Akzeptiere die Verbindung, um Kommunikation zu ermöglichen";
-App::$strings["Set Affinity"] = "Beziehung festlegen";
-App::$strings["Set Profile"] = "Profil festlegen";
-App::$strings["Set Affinity & Profile"] = "Beziehung und Profile festlegen";
-App::$strings["none"] = "Keine";
-App::$strings["Connection Default Permissions"] = "Standardzugriffsrechte für neue Verbindungen:";
-App::$strings["Connection: %s"] = "Verbindung: %s";
-App::$strings["Apply these permissions automatically"] = "Diese Berechtigungen automatisch anwenden";
-App::$strings["Connection requests will be approved without your interaction"] = "Verbindungsanfragen werden sofort bestätigt, ohne dass Deine aktive Zustimmung erforderlich ist.";
-App::$strings["This connection's primary address is"] = "Die Hauptadresse der Verbindung ist";
-App::$strings["Available locations:"] = "Verfügbare Klone:";
-App::$strings["The permissions indicated on this page will be applied to all new connections."] = "Die auf dieser Seite angegebenen Berechtigungen werden auf alle neuen Verbindungen angewendet.";
-App::$strings["Connection Tools"] = "Verbindungswerkzeuge";
-App::$strings["Slide to adjust your degree of friendship"] = "Verschieben, um den Grad der Freundschaft zu einzustellen";
-App::$strings["Rating"] = "Bewertung";
-App::$strings["Slide to adjust your rating"] = "Verschieben, um Deine Bewertung einzustellen";
-App::$strings["Optionally explain your rating"] = "Optional kannst Du Deine Bewertung begründen";
-App::$strings["Custom Filter"] = "Benutzerdefinierter Filter";
-App::$strings["Only import posts with this text"] = "Nur Beiträge mit diesem Text importieren";
-App::$strings["words one per line or #tags or /patterns/ or lang=xx, leave blank to import all posts"] = "Einzelne Wörter pro Zeile, #Tags oder /Reguläre Ausdrücke/. lang=xx (z.B. lang=de) ermöglicht Filterung nach Sprache. Leer lassen, um alle Beiträge zu importieren.";
-App::$strings["Do not import posts with this text"] = "Beiträge mit diesem Text nicht importieren";
-App::$strings["This information is public!"] = "Diese Information ist öffentlich!";
-App::$strings["Connection Pending Approval"] = "Verbindung wartet auf Bestätigung";
-App::$strings["inherited"] = "geerbt";
-App::$strings["Please choose the profile you would like to display to %s when viewing your profile securely."] = "Bitte wähle ein Profil, das wir %s zeigen sollen, wenn Deine Profilseite über eine verifizierte Verbindung aufgerufen wird.";
-App::$strings["Their Settings"] = "Deren Einstellungen";
-App::$strings["My Settings"] = "Meine Einstellungen";
-App::$strings["Individual Permissions"] = "Individuelle Zugriffsrechte";
-App::$strings["Some permissions may be inherited from your channel's <a href=\"settings\"><strong>privacy settings</strong></a>, which have higher priority than individual settings. You can <strong>not</strong> change those settings here."] = "Einige Berechtigungen werden möglicherweise von den globalen <a href=\"settings\">Sicherheits- und Privatsphäre-Einstellungen</a> dieses Kanals vererbt. Diese haben eine höhere Priorität als die Einstellungen an der Verbindung und können hier nicht verändert werden.";
-App::$strings["Some permissions may be inherited from your channel's <a href=\"settings\"><strong>privacy settings</strong></a>, which have higher priority than individual settings. You can change those settings here but they wont have any impact unless the inherited setting changes."] = "Einige Berechtigungen werden möglicherweise von den globalen <a href=\"settings\">Sicherheits- und Privatsphäre-Einstellungen</a> dieses Kanals geerbt. Diese haben eine höhere Priorität als die Einstellungen an der Verbindung. Werden geerbte Einstellungen hier geändert, hat dies keine Auswirkungen.";
-App::$strings["Last update:"] = "Letzte Aktualisierung:";
+App::$strings["Hub not found."] = "Server nicht gefunden.";
+App::$strings["Continue"] = "Fortfahren";
+App::$strings["Premium Channel Setup"] = "Premium-Kanal-Einrichtung";
+App::$strings["Enable premium channel connection restrictions"] = "Einschränkungen für einen Premium-Kanal aktivieren";
+App::$strings["Please enter your restrictions or conditions, such as paypal receipt, usage guidelines, etc."] = "Bitte gib Deine Nutzungsbedingungen ein, z.B. Paypal-Quittung, Richtlinien etc.";
+App::$strings["This channel may require additional steps or acknowledgement of the following conditions prior to connecting:"] = "Unter Umständen sind weitere Schritte oder die Bestätigung der folgenden Bedingungen vor dem Verbinden mit diesem Kanal nötig.";
+App::$strings["Potential connections will then see the following text before proceeding:"] = "Potentielle Kontakte werden den folgenden Text sehen, bevor fortgefahren wird:";
+App::$strings["By continuing, I certify that I have complied with any instructions provided on this page."] = "Indem ich fortfahre, bestätige ich die Erfüllung aller Anweisungen auf dieser Seite.";
+App::$strings["(No specific instructions have been provided by the channel owner.)"] = "(Der Kanal-Besitzer hat keine speziellen Anweisungen hinterlegt.)";
+App::$strings["Restricted or Premium Channel"] = "Eingeschränkter oder Premium-Kanal";
App::$strings["Privacy group created."] = "Gruppe wurde erstellt.";
App::$strings["Could not create privacy group."] = "Gruppe konnte nicht erstellt werden.";
App::$strings["Privacy group not found."] = "Gruppe nicht gefunden.";
@@ -540,40 +606,31 @@ App::$strings["Privacy group editor"] = "Gruppeneditor";
App::$strings["Members"] = "Mitglieder";
App::$strings["All Connected Channels"] = "Alle verbundenen Kanäle";
App::$strings["Click on a channel to add or remove."] = "Wähle einen Kanal zum hinzufügen oder entfernen aus.";
-App::$strings["Unable to update menu."] = "Kann Menü nicht aktualisieren.";
-App::$strings["Unable to create menu."] = "Kann Menü nicht erstellen.";
-App::$strings["Menu Name"] = "Name des Menüs";
-App::$strings["Unique name (not visible on webpage) - required"] = "Eindeutiger Name (nicht sichtbar auf der Webseite) – erforderlich";
-App::$strings["Menu Title"] = "Menütitel";
-App::$strings["Visible on webpage - leave empty for no title"] = "Sichtbar auf der Webseite – für keinen Titel leer lassen";
-App::$strings["Allow Bookmarks"] = "Lesezeichen erlauben";
-App::$strings["Menu may be used to store saved bookmarks"] = "Im Menü können gespeicherte Lesezeichen abgelegt werden";
-App::$strings["Submit and proceed"] = "Absenden und fortfahren";
-App::$strings["Menus"] = "Menüs";
-App::$strings["Drop"] = "Löschen";
-App::$strings["Bookmarks allowed"] = "Lesezeichen erlaubt";
-App::$strings["Delete this menu"] = "Lösche dieses Menü";
-App::$strings["Edit menu contents"] = "Bearbeite Menü Inhalte";
-App::$strings["Edit this menu"] = "Dieses Menü bearbeiten";
-App::$strings["Menu could not be deleted."] = "Menü konnte nicht gelöscht werden.";
-App::$strings["Menu not found."] = "Menü nicht gefunden";
-App::$strings["Edit Menu"] = "Menü bearbeiten";
-App::$strings["Add or remove entries to this menu"] = "Einträge zu diesem Menü hinzufügen oder entfernen";
-App::$strings["Menu name"] = "Menü Name";
-App::$strings["Must be unique, only seen by you"] = "Muss eindeutig sein, ist aber nur für Dich sichtbar";
-App::$strings["Menu title"] = "Menü Titel";
-App::$strings["Menu title as seen by others"] = "Menü Titel wie er von anderen gesehen wird";
-App::$strings["Allow bookmarks"] = "Erlaube Lesezeichen";
-App::$strings["Not found."] = "Nicht gefunden.";
-App::$strings["Item is not editable"] = "Element kann nicht bearbeitet werden.";
-App::$strings["Nothing to import."] = "Nichts zu importieren.";
-App::$strings["Unable to download data from old server"] = "Daten können vom alten Server nicht heruntergeladen werden";
-App::$strings["Imported file is empty."] = "Die importierte Datei ist leer.";
-App::$strings["Warning: Database versions differ by %1\$d updates."] = "Achtung: Datenbankversionen unterscheiden sich um %1\$d Aktualisierungen.";
+App::$strings["Import Webpage Elements"] = "Webseitenelemente importieren";
+App::$strings["Import selected"] = "Import ausgewählt";
+App::$strings["Export Webpage Elements"] = "Webseitenelemente exportieren";
+App::$strings["Export selected"] = "Exportieren ausgewählt";
+App::$strings["Webpages"] = "Webseiten";
+App::$strings["Share"] = "Teilen";
+App::$strings["View"] = "Ansicht";
+App::$strings["Preview"] = "Vorschau";
+App::$strings["Actions"] = "Aktionen";
+App::$strings["Page Link"] = "Seiten-Link";
+App::$strings["Page Title"] = "Seitentitel";
+App::$strings["Invalid file type."] = "Ungültiger Dateityp.";
+App::$strings["Error opening zip file"] = "Fehler beim Öffnen der ZIP-Datei";
+App::$strings["Invalid folder path."] = "Ungültiger Ordnerpfad.";
+App::$strings["No webpage elements detected."] = "Keine Webseitenelemente erkannt.";
+App::$strings["Import complete."] = "Import abgeschlossen.";
+App::$strings["webpage"] = "Webseite";
+App::$strings["block"] = "Block";
+App::$strings["layout"] = "Layout";
+App::$strings["menu"] = "Menü";
+App::$strings["%s element installed"] = "Element für %s installiert";
+App::$strings["%s element installation failed"] = "Installation des Elements %s fehlgeschlagen";
App::$strings["Import completed"] = "Import abgeschlossen";
App::$strings["Import Items"] = "Beiträge importieren";
App::$strings["Use this form to import existing posts and content from an export file."] = "Mit diesem Formular kannst Du existierende Beiträge und Inhalte aus einer Sicherungsdatei importieren.";
-App::$strings["File to Upload"] = "Hochzuladende Datei:";
App::$strings["Total invitation limit exceeded."] = "Einladungslimit überschritten.";
App::$strings["%s : Not a valid email address."] = "%s : Keine gültige Email Adresse.";
App::$strings["Please join us on \$Projectname"] = "Schließe Dich uns auf \$Projectname an!";
@@ -586,7 +643,6 @@ App::$strings["%d message sent."] = array(
App::$strings["You have no more invitations available"] = "Du hast keine weiteren verfügbare Einladungen";
App::$strings["Send invitations"] = "Einladungen senden";
App::$strings["Enter email addresses, one per line:"] = "Email-Adressen eintragen, eine pro Zeile:";
-App::$strings["Your message:"] = "Deine Nachricht:";
App::$strings["Please join my community on \$Projectname."] = "Schließe Dich uns auf \$Projectname an!";
App::$strings["You will need to supply this invitation code:"] = "Bitte verwende bei der Registrierung den folgenden Einladungscode:";
App::$strings["1. Register at any \$Projectname location (they are all inter-connected)"] = "1. Registriere Dich auf einem beliebigen \$Projectname-Hub (sie sind alle miteinander verbunden)";
@@ -599,28 +655,182 @@ App::$strings["Please select another location to become primary before removing
App::$strings["Syncing locations"] = "Synchronisiere Klone";
App::$strings["No locations found."] = "Keine Klon-Adressen gefunden.";
App::$strings["Manage Channel Locations"] = "Klon-Adressen verwalten";
+App::$strings["Location"] = "Ort";
App::$strings["Primary"] = "Primär";
App::$strings["Sync Now"] = "Jetzt synchronisieren";
App::$strings["Please wait several minutes between consecutive operations."] = "Bitte warte mehrere Minuten zwischen dem Ausführen zweier Operationen!";
App::$strings["When possible, drop a location by logging into that website/hub and removing your channel."] = "Wenn möglich, lösche einen Klon, indem Du Dich auf dem jeweiligen Hub einloggst und den Kanal dort löschst.";
App::$strings["Use this form to drop the location if the hub is no longer operating."] = "Benutze dieses Formular zum Löschen eines Klons, wenn es den Hub nicht mehr gibt.";
-App::$strings["Hub not found."] = "Server nicht gefunden.";
-App::$strings["Room not found"] = "Chatraum nicht gefunden";
-App::$strings["Leave Room"] = "Raum verlassen";
-App::$strings["Delete Room"] = "Raum löschen";
-App::$strings["I am away right now"] = "Ich bin gerade nicht da";
-App::$strings["I am online"] = "Ich bin online";
-App::$strings["Bookmark this room"] = "Lesezeichen für diesen Raum setzen";
-App::$strings["Please enter a link URL:"] = "Gib eine URL ein:";
-App::$strings["Encrypt text"] = "Text verschlüsseln";
-App::$strings["Feature disabled."] = "Funktion deaktiviert.";
-App::$strings["New Chatroom"] = "Neuer Chatraum";
-App::$strings["Chatroom name"] = "Chatraumname";
-App::$strings["Expiration of chats (minutes)"] = "Verfall von Chats (Minuten)";
-App::$strings["%1\$s's Chatrooms"] = "%1\$ss Chaträume";
-App::$strings["No chatrooms available"] = "Keine Chaträume verfügbar";
-App::$strings["Expiration"] = "Verfall";
-App::$strings["min"] = "min";
+App::$strings["No such group"] = "Gruppe nicht gefunden";
+App::$strings["No such channel"] = "Kanal nicht gefunden";
+App::$strings["forum"] = "Forum";
+App::$strings["Search Results For:"] = "Suchergebnisse für:";
+App::$strings["Privacy group is empty"] = "Gruppe ist leer";
+App::$strings["Privacy group: "] = "Gruppe:";
+App::$strings["Invalid connection."] = "Ungültige Verbindung.";
+App::$strings["Like/Dislike"] = "Mögen/Nicht mögen";
+App::$strings["This action is restricted to members."] = "Diese Aktion kann nur von Mitgliedern ausgeführt werden.";
+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."] = "Um fortzufahren <a href=\"rmagic\">melde Dich bitte mit Deiner \$Projectname-ID an</a> oder <a href=\"register\">registriere Dich als neues \$Projectname-Mitglied</a>.";
+App::$strings["Invalid request."] = "Ungültige Anfrage.";
+App::$strings["channel"] = "Kanal";
+App::$strings["thing"] = "Sache";
+App::$strings["Channel unavailable."] = "Kanal nicht vorhanden.";
+App::$strings["Previous action reversed."] = "Die vorherige Aktion wurde rückgängig gemacht.";
+App::$strings["photo"] = "Foto";
+App::$strings["status"] = "Status";
+App::$strings["event"] = "Termin";
+App::$strings["%1\$s likes %2\$s's %3\$s"] = "%1\$s gefällt %2\$ss %3\$s";
+App::$strings["%1\$s doesn't like %2\$s's %3\$s"] = "%1\$s gefällt %2\$ss %3\$s nicht";
+App::$strings["%1\$s agrees with %2\$s's %3\$s"] = "%1\$s stimmt %2\$ss %3\$s zu";
+App::$strings["%1\$s doesn't agree with %2\$s's %3\$s"] = "%1\$s lehnt %2\$ss %3\$s ab";
+App::$strings["%1\$s abstains from a decision on %2\$s's %3\$s"] = "%1\$s enthält sich zu %2\$ss %3\$s";
+App::$strings["%1\$s is attending %2\$s's %3\$s"] = "%1\$s nimmt an %2\$ss %3\$s teil";
+App::$strings["%1\$s is not attending %2\$s's %3\$s"] = "%1\$s nimmt an %2\$ss %3\$s nicht teil";
+App::$strings["%1\$s may attend %2\$s's %3\$s"] = "%1\$s nimmt vielleicht an %2\$ss %3\$s teil";
+App::$strings["Action completed."] = "Aktion durchgeführt.";
+App::$strings["Thank you."] = "Vielen Dank.";
+App::$strings["You have created %1$.0f of %2$.0f allowed channels."] = "Du hast %1$.0f von maximal %2$.0f erlaubten Kanälen eingerichtet.";
+App::$strings["Create a new channel"] = "Neuen Kanal anlegen";
+App::$strings["Create New"] = "Neu anlegen";
+App::$strings["Channel Manager"] = "Kanal-Manager";
+App::$strings["Current Channel"] = "Aktueller Kanal";
+App::$strings["Switch to one of your channels by selecting it."] = "Wechsle zu einem Deiner Kanäle, indem Du auf ihn klickst.";
+App::$strings["Default Channel"] = "Standard Kanal";
+App::$strings["Make Default"] = "Zum Standard machen";
+App::$strings["%d new messages"] = "%d neue Nachrichten";
+App::$strings["%d new introductions"] = "%d neue Vorstellungen";
+App::$strings["Delegated Channel"] = "Delegierte Kanäle";
+App::$strings["Unable to create element."] = "Element konnte nicht erstellt werden.";
+App::$strings["Unable to update menu element."] = "Kann Menü-Element nicht aktualisieren.";
+App::$strings["Unable to add menu element."] = "Kann Menü-Bestandteil nicht hinzufügen.";
+App::$strings["Menu Item Permissions"] = "Zugriffsrechte des Menü-Elements";
+App::$strings["(click to open/close)"] = "(zum öffnen/schließen anklicken)";
+App::$strings["Link Name"] = "Name des Links";
+App::$strings["Link or Submenu Target"] = "Ziel des Links oder Untermenüs";
+App::$strings["Enter URL of the link or select a menu name to create a submenu"] = "URL des Links eingeben oder Menünamen wählen, um ein Untermenü anzulegen.";
+App::$strings["Use magic-auth if available"] = "Magic-Auth verwenden, falls verfügbar";
+App::$strings["Open link in new window"] = "Öffne Link in neuem Fenster";
+App::$strings["Order in list"] = "Reihenfolge in der Liste";
+App::$strings["Higher numbers will sink to bottom of listing"] = "Größere Nummern werden weiter unten in der Auflistung einsortiert";
+App::$strings["Submit and finish"] = "Absenden und fertigstellen";
+App::$strings["Submit and continue"] = "Absenden und fortfahren";
+App::$strings["Menu:"] = "Menü:";
+App::$strings["Link Target"] = "Ziel des Links";
+App::$strings["Edit menu"] = "Menü bearbeiten";
+App::$strings["Edit element"] = "Bestandteil bearbeiten";
+App::$strings["Drop element"] = "Bestandteil löschen";
+App::$strings["New element"] = "Neues Bestandteil";
+App::$strings["Edit this menu container"] = "Diesen Menü-Container bearbeiten";
+App::$strings["Add menu element"] = "Menüelement hinzufügen";
+App::$strings["Delete this menu item"] = "Lösche dieses Menü-Bestandteil";
+App::$strings["Edit this menu item"] = "Bearbeite dieses Menü-Bestandteil";
+App::$strings["Menu item not found."] = "Menü-Bestandteil nicht gefunden.";
+App::$strings["Menu item deleted."] = "Menü-Bestandteil gelöscht.";
+App::$strings["Menu item could not be deleted."] = "Menü-Bestandteil kann nicht gelöscht werden.";
+App::$strings["Edit Menu Element"] = "Bearbeite Menü-Bestandteil";
+App::$strings["Link text"] = "Link Text";
+App::$strings["Rating"] = "Bewertung";
+App::$strings["Website:"] = "Webseite:";
+App::$strings["Remote Channel [%s] (not yet known on this site)"] = "Kanal [%s] (auf diesem Server noch unbekannt)";
+App::$strings["Rating (this information is public)"] = "Bewertung (öffentlich sichtbar)";
+App::$strings["Optionally explain your rating (this information is public)"] = "Optional kannst du deine Bewertung erklären (öffentlich sichtbar)";
+App::$strings["No valid account found."] = "Kein gültiges Konto gefunden.";
+App::$strings["Password reset request issued. Check your email."] = "Zurücksetzen des Passworts eingeleitet. Schau in Deine E-Mails.";
+App::$strings["Site Member (%s)"] = "Nutzer (%s)";
+App::$strings["Password reset requested at %s"] = "Passwort-Rücksetzung auf %s angefordert";
+App::$strings["Request could not be verified. (You may have previously submitted it.) Password reset failed."] = "Die Anfrage konnte nicht verifiziert werden. (Vielleicht hast Du schon einmal auf den Link in der E-Mail geklickt?) Passwort-Rücksetzung fehlgeschlagen.";
+App::$strings["Password Reset"] = "Zurücksetzen des Kennworts";
+App::$strings["Your password has been reset as requested."] = "Dein Passwort wurde wie angefordert neu erstellt.";
+App::$strings["Your new password is"] = "Dein neues Passwort lautet";
+App::$strings["Save or copy your new password - and then"] = "Speichere oder kopiere Dein neues Passwort – und dann";
+App::$strings["click here to login"] = "Klicke hier, um dich anzumelden";
+App::$strings["Your password may be changed from the <em>Settings</em> page after successful login."] = "Dein Passwort kann unter <em>Einstellungen</em> nach einer erfolgreichen Anmeldung geändert werden.";
+App::$strings["Your password has changed at %s"] = "Auf %s wurde Dein Passwort geändert";
+App::$strings["Forgot your Password?"] = "Kennwort vergessen?";
+App::$strings["Enter your email address and submit to have your password reset. Then check your email for further instructions."] = "Gib Deine E-Mail-Adresse ein, um Dein Passwort zurücksetzen zu lassen. Du erhältst dann weitere Anweisungen per E-Mail.";
+App::$strings["Email Address"] = "E-Mail Adresse";
+App::$strings["Reset"] = "Zurücksetzen";
+App::$strings["__ctx:mood__ %1\$s is %2\$s"] = "%1\$s ist %2\$s";
+App::$strings["Mood"] = "Laune";
+App::$strings["Set your current mood and tell your friends"] = "Wähle Deine aktuelle Stimmung und teile sie mit Deinen Freunden";
+App::$strings["Profile not found."] = "Profil nicht gefunden.";
+App::$strings["Profile deleted."] = "Profil gelöscht.";
+App::$strings["Profile-"] = "Profil-";
+App::$strings["New profile created."] = "Neues Profil erstellt.";
+App::$strings["Profile unavailable to clone."] = "Profil kann nicht geklont werden.";
+App::$strings["Profile unavailable to export."] = "Dieses Profil kann nicht exportiert werden.";
+App::$strings["Profile Name is required."] = "Profil-Name erforderlich.";
+App::$strings["Marital Status"] = "Familienstand";
+App::$strings["Romantic Partner"] = "Romantische Partner";
+App::$strings["Likes"] = "Gefällt";
+App::$strings["Dislikes"] = "Gefällt nicht";
+App::$strings["Work/Employment"] = "Arbeit/Anstellung";
+App::$strings["Religion"] = "Religion";
+App::$strings["Political Views"] = "Politische Ansichten";
+App::$strings["Gender"] = "Geschlecht";
+App::$strings["Sexual Preference"] = "Sexuelle Orientierung";
+App::$strings["Homepage"] = "Webseite";
+App::$strings["Interests"] = "Hobbys/Interessen";
+App::$strings["Profile updated."] = "Profil aktualisiert.";
+App::$strings["Hide your connections list from viewers of this profile"] = "Deine Verbindungen vor Betrachtern dieses Profils verbergen";
+App::$strings["Edit Profile Details"] = "Bearbeite Profil-Details";
+App::$strings["View this profile"] = "Dieses Profil ansehen";
+App::$strings["Edit visibility"] = "Sichtbarkeit bearbeiten";
+App::$strings["Profile Tools"] = "Profilwerkzeuge";
+App::$strings["Change cover photo"] = "Titelbild ändern";
+App::$strings["Change profile photo"] = "Profilfoto ändern";
+App::$strings["Create a new profile using these settings"] = "Neues Profil anlegen und diese Einstellungen übernehmen";
+App::$strings["Clone this profile"] = "Dieses Profil klonen";
+App::$strings["Delete this profile"] = "Dieses Profil löschen";
+App::$strings["Add profile things"] = "Sachen zum Profil hinzufügen";
+App::$strings["Personal"] = "Persönlich";
+App::$strings["Relation"] = "Beziehung";
+App::$strings["Miscellaneous"] = "Verschiedenes";
+App::$strings["Import profile from file"] = "Profil aus einer Datei importieren";
+App::$strings["Export profile to file"] = "Profil in eine Datei exportieren";
+App::$strings["Your gender"] = "Dein Geschlecht";
+App::$strings["Marital status"] = "Familienstand";
+App::$strings["Sexual preference"] = "Sexuelle Orientierung";
+App::$strings["Profile name"] = "Profilname";
+App::$strings["This is your default profile."] = "Das ist Dein Standardprofil.";
+App::$strings["Your full name"] = "Dein voller Name";
+App::$strings["Title/Description"] = "Titel/Beschreibung";
+App::$strings["Street address"] = "Straße und Hausnummer";
+App::$strings["Locality/City"] = "Wohnort";
+App::$strings["Region/State"] = "Region/Bundesstaat";
+App::$strings["Postal/Zip code"] = "Postleitzahl";
+App::$strings["Country"] = "Land";
+App::$strings["Who (if applicable)"] = "Wer (falls anwendbar)";
+App::$strings["Examples: cathy123, Cathy Williams, cathy@example.com"] = "Beispiele: cathy123, Cathy Williams, cathy@example.com";
+App::$strings["Since (date)"] = "Seit (Datum)";
+App::$strings["Tell us about yourself"] = "Erzähle uns ein wenig von Dir";
+App::$strings["Homepage URL"] = "Homepage-URL";
+App::$strings["Hometown"] = "Heimatort";
+App::$strings["Political views"] = "Politische Ansichten";
+App::$strings["Religious views"] = "Religiöse Ansichten";
+App::$strings["Keywords used in directory listings"] = "Schlüsselwörter, die in Verzeichnis-Auflistungen verwendet werden";
+App::$strings["Example: fishing photography software"] = "Beispiel: Angeln Fotografie Software";
+App::$strings["Musical interests"] = "Musikalische Interessen";
+App::$strings["Books, literature"] = "Bücher, Literatur";
+App::$strings["Television"] = "Fernsehen";
+App::$strings["Film/Dance/Culture/Entertainment"] = "Film/Tanz/Kultur/Unterhaltung";
+App::$strings["Hobbies/Interests"] = "Hobbys/Interessen";
+App::$strings["Love/Romance"] = "Liebe/Romantik";
+App::$strings["School/Education"] = "Schule/Ausbildung";
+App::$strings["Contact information and social networks"] = "Kontaktinformation und soziale Netzwerke";
+App::$strings["My other channels"] = "Meine anderen Kanäle";
+App::$strings["Profile Image"] = "Profilfoto:";
+App::$strings["Edit Profiles"] = "Profile bearbeiten";
+App::$strings["No more system notifications."] = "Keine System-Benachrichtigungen mehr.";
+App::$strings["System Notifications"] = "System-Benachrichtigungen";
+App::$strings["Profile Match"] = "Profil-Übereinstimmungen";
+App::$strings["No keywords to match. Please add keywords to your default profile."] = "Keine Schlüsselwörter für den Abgleich gefunden. Bitte füge Schlüsselwörter zu Deinem Standardprofil hinzu.";
+App::$strings["is interested in:"] = "interessiert sich für:";
+App::$strings["No matches"] = "Keine Übereinstimmungen";
+App::$strings["Authorize application connection"] = "Zugriff für die Anwendung autorisieren";
+App::$strings["Return to your app and insert this Security Code:"] = "Gehen Sie zu Ihrer App zurück und tragen Sie diesen Sicherheitscode ein:";
+App::$strings["Please login to continue."] = "Zum Weitermachen, bitte einloggen.";
+App::$strings["Do you want to authorize this application to access your posts and contacts, and/or create new posts for you?"] = "Möchtest Du dieser Anwendung erlauben, Deine Nachrichten und Kontakte abzurufen und/oder neue Nachrichten für Dich zu erstellen?";
App::$strings["Calendar entries imported."] = "Kalendereinträge wurden importiert.";
App::$strings["No calendar entries found."] = "Keine Kalendereinträge gefunden.";
App::$strings["Event can not end before it has started."] = "Termin-Ende liegt vor dem Beginn.";
@@ -652,6 +862,7 @@ App::$strings["calendar"] = "Kalender";
App::$strings["Edit Event"] = "Termin bearbeiten";
App::$strings["Create Event"] = "Termin anlegen";
App::$strings["Previous"] = "Voriges";
+App::$strings["Next"] = "Nächste";
App::$strings["Export"] = "Exportieren";
App::$strings["Month"] = "Monat";
App::$strings["Week"] = "Woche";
@@ -659,66 +870,344 @@ App::$strings["Day"] = "Tag";
App::$strings["Today"] = "Heute";
App::$strings["Event removed"] = "Termin gelöscht";
App::$strings["Failed to remove event"] = "Termin konnte nicht gelöscht werden";
-App::$strings["Unable to lookup recipient."] = "Konnte den Empfänger nicht finden.";
-App::$strings["Unable to communicate with requested channel."] = "Die Kommunikation mit dem ausgewählten Kanal ist fehlgeschlagen.";
-App::$strings["Cannot verify requested channel."] = "Verifizierung des angeforderten Kanals fehlgeschlagen.";
-App::$strings["Selected channel has private message restrictions. Send failed."] = "Der ausgewählte Kanal hat Einschränkungen bzgl. privater Nachrichten. Senden fehlgeschlagen.";
-App::$strings["Messages"] = "Nachrichten";
-App::$strings["Message recalled."] = "Nachricht widerrufen.";
-App::$strings["Conversation removed."] = "Unterhaltung gelöscht.";
-App::$strings["Expires YYYY-MM-DD HH:MM"] = "Verfällt YYYY-MM-DD HH;MM";
-App::$strings["Requested channel is not in this network"] = "Angeforderter Kanal ist nicht in diesem Netzwerk.";
-App::$strings["Send Private Message"] = "Private Nachricht senden";
-App::$strings["To:"] = "An:";
-App::$strings["Subject:"] = "Betreff:";
-App::$strings["Attach file"] = "Datei anhängen";
-App::$strings["Send"] = "Absenden";
-App::$strings["Set expiration date"] = "Verfallsdatum";
-App::$strings["Delete message"] = "Nachricht löschen";
-App::$strings["Delivery report"] = "Zustellungsbericht";
-App::$strings["Recall message"] = "Nachricht widerrufen";
-App::$strings["Message has been recalled."] = "Die Nachricht wurde widerrufen.";
-App::$strings["Delete Conversation"] = "Unterhaltung löschen";
-App::$strings["No secure communications available. You <strong>may</strong> be able to respond from the sender's profile page."] = "Keine sichere Kommunikation verfügbar. <strong>Eventuell</strong> kannst Du auf der Profilseite des Absenders antworten.";
-App::$strings["Send Reply"] = "Antwort senden";
-App::$strings["Your message for %s (%s):"] = "Deine Nachricht für %s (%s):";
-App::$strings["No valid account found."] = "Kein gültiges Konto gefunden.";
-App::$strings["Password reset request issued. Check your email."] = "Zurücksetzen des Passworts eingeleitet. Schau in Deine E-Mails.";
-App::$strings["Site Member (%s)"] = "Nutzer (%s)";
-App::$strings["Password reset requested at %s"] = "Passwort-Rücksetzung auf %s angefordert";
-App::$strings["Request could not be verified. (You may have previously submitted it.) Password reset failed."] = "Die Anfrage konnte nicht verifiziert werden. (Vielleicht hast Du schon einmal auf den Link in der E-Mail geklickt?) Passwort-Rücksetzung fehlgeschlagen.";
-App::$strings["Password Reset"] = "Zurücksetzen des Kennworts";
-App::$strings["Your password has been reset as requested."] = "Dein Passwort wurde wie angefordert neu erstellt.";
-App::$strings["Your new password is"] = "Dein neues Passwort lautet";
-App::$strings["Save or copy your new password - and then"] = "Speichere oder kopiere Dein neues Passwort – und dann";
-App::$strings["click here to login"] = "Klicke hier, um dich anzumelden";
-App::$strings["Your password may be changed from the <em>Settings</em> page after successful login."] = "Dein Passwort kann unter <em>Einstellungen</em> nach einer erfolgreichen Anmeldung geändert werden.";
-App::$strings["Your password has changed at %s"] = "Auf %s wurde Dein Passwort geändert";
-App::$strings["Forgot your Password?"] = "Kennwort vergessen?";
-App::$strings["Enter your email address and submit to have your password reset. Then check your email for further instructions."] = "Gib Deine E-Mail-Adresse ein, um Dein Passwort zurücksetzen zu lassen. Du erhältst dann weitere Anweisungen per E-Mail.";
-App::$strings["Email Address"] = "E-Mail Adresse";
-App::$strings["Reset"] = "Zurücksetzen";
-App::$strings["__ctx:mood__ %1\$s is %2\$s"] = "%1\$s ist %2\$s";
-App::$strings["Mood"] = "Laune";
-App::$strings["Set your current mood and tell your friends"] = "Wähle Deine aktuelle Stimmung und teile sie mit Deinen Freunden";
-App::$strings["You have created %1$.0f of %2$.0f allowed channels."] = "Du hast %1$.0f von maximal %2$.0f erlaubten Kanälen eingerichtet.";
-App::$strings["Create a new channel"] = "Neuen Kanal anlegen";
-App::$strings["Channel Manager"] = "Kanal-Manager";
-App::$strings["Current Channel"] = "Aktueller Kanal";
-App::$strings["Switch to one of your channels by selecting it."] = "Wechsle zu einem Deiner Kanäle, indem Du auf ihn klickst.";
-App::$strings["Default Channel"] = "Standard Kanal";
-App::$strings["Make Default"] = "Zum Standard machen";
-App::$strings["%d new messages"] = "%d neue Nachrichten";
-App::$strings["%d new introductions"] = "%d neue Vorstellungen";
-App::$strings["Delegated Channel"] = "Delegierte Kanäle";
-App::$strings["No more system notifications."] = "Keine System-Benachrichtigungen mehr.";
-App::$strings["System Notifications"] = "System-Benachrichtigungen";
-App::$strings["Profile Match"] = "Profil-Übereinstimmungen";
-App::$strings["No keywords to match. Please add keywords to your default profile."] = "Keine Schlüsselwörter für den Abgleich gefunden. Bitte füge Schlüsselwörter zu Deinem Standardprofil hinzu.";
-App::$strings["is interested in:"] = "interessiert sich für:";
-App::$strings["No matches"] = "Keine Übereinstimmungen";
-App::$strings["Page owner information could not be retrieved."] = "Informationen über den Besitzer der Seite konnten nicht gefunden werden.";
+App::$strings["Unable to locate original post."] = "Originalbeitrag nicht gefunden.";
+App::$strings["Empty post discarded."] = "Leeren Beitrag verworfen.";
+App::$strings["Executable content type not permitted to this channel."] = "Ausführbarer Content-Typ ist für diesen Kanal nicht freigegeben.";
+App::$strings["Duplicate post suppressed."] = "Doppelter Beitrag unterdrückt.";
+App::$strings["System error. Post not saved."] = "Systemfehler. Beitrag nicht gespeichert.";
+App::$strings["Unable to obtain post information from database."] = "Beitragsinformationen können nicht aus der Datenbank abgerufen werden.";
+App::$strings["You have reached your limit of %1$.0f top level posts."] = "Du hast die maximale Anzahl von %1$.0f Beiträgen erreicht.";
+App::$strings["You have reached your limit of %1$.0f webpages."] = "Du hast die maximale Anzahl von %1$.0f Webseiten erreicht.";
+App::$strings["Create Channel"] = "Einen neuen Kanal anlegen";
+App::$strings["A channel is your identity on this network. It can represent a person, a blog, or a forum to name a few. Channels can make connections with other channels to share information with highly detailed permissions."] = "Ein Kanal ist Deine Identität in diesem Netzwerk. Er kann eine Person, ein Blog oder ein Forum repräsentieren, nur um ein paar Beispiele zu nennen. Kanäle können Verbindungen miteinander eingehen, um Informationen zu teilen, jeweils basierend auf sehr detaillierten Berechtigungseinstellungen.";
+App::$strings["or <a href=\"import\">import an existing channel</a> from another location."] = "oder <a href=\"import\">importiere einen bestehenden Kanal</a> von einem anderen Server.";
+App::$strings["sent you a private message"] = "hat Dir eine private Nachricht geschickt";
+App::$strings["added your channel"] = "hat deinen Kanal hinzugefügt";
+App::$strings["g A l F d"] = "l, d. F, G:i \\U\\h\\r";
+App::$strings["[today]"] = "[Heute]";
+App::$strings["posted an event"] = "hat einen Termin veröffentlicht";
+App::$strings["Invalid request identifier."] = "Ungültiger Anfrage-Identifikator.";
+App::$strings["Discard"] = "Verwerfen";
+App::$strings["Mark all system notifications seen"] = "Markiere alle System-Benachrichtigungen als gesehen";
+App::$strings["Poke"] = "Anstupsen";
+App::$strings["Poke somebody"] = "Jemanden anstupsen";
+App::$strings["Poke/Prod"] = "Anstupsen/Knuffen";
+App::$strings["Poke, prod or do other things to somebody"] = "Jemanden anstupsen, knuffen oder sonstiges";
+App::$strings["Recipient"] = "Empfänger";
+App::$strings["Choose what you wish to do to recipient"] = "Wähle, was Du mit dem/r Empfänger/in tun willst";
+App::$strings["Make this post private"] = "Diesen Beitrag privat machen";
+App::$strings["\$Projectname Server - Setup"] = "\$Projectname Server-Einrichtung";
+App::$strings["Could not connect to database."] = "Kann nicht mit der Datenbank verbinden.";
+App::$strings["Could not connect to specified site URL. Possible SSL certificate or DNS issue."] = "Konnte die angegebene Webseiten-URL nicht erreichen. Möglicherweise ein Problem mit dem SSL-Zertifikat oder dem DNS.";
+App::$strings["Could not create table."] = "Konnte Tabelle nicht erstellen.";
+App::$strings["Your site database has been installed."] = "Die Datenbank Deines Hubs wurde installiert.";
+App::$strings["You may need to import the file \"install/schema_xxx.sql\" manually using a database client."] = "Möglicherweise musst Du die Datei install/schema_xxx.sql manuell mit Hilfe eines Datenkbank-Clients importieren.";
+App::$strings["Please see the file \"install/INSTALL.txt\"."] = "Lies die Datei \"install/INSTALL.txt\".";
+App::$strings["System check"] = "Systemprüfung";
+App::$strings["Check again"] = "Nochmal prüfen";
+App::$strings["Database connection"] = "Datenbankverbindung";
+App::$strings["In order to install \$Projectname we need to know how to connect to your database."] = "Um \$Projectname zu installieren, müssen wir wissen, wie wir eine Verbindung zu Deiner Datenbank aufbauen können.";
+App::$strings["Please contact your hosting provider or site administrator if you have questions about these settings."] = "Bitte kontaktiere Deinen Hosting-Provider oder Administrator, falls Du Fragen zu diesen Einstellungen hast.";
+App::$strings["The database you specify below should already exist. If it does not, please create it before continuing."] = "Die Datenbank, die Du weiter unten angibst, sollte bereits existieren. Sollte das noch nicht der Fall sein, erzeuge sie bitte bevor Du fortfährst.";
+App::$strings["Database Server Name"] = "Datenbankservername";
+App::$strings["Default is 127.0.0.1"] = "Standard ist 127.0.0.1";
+App::$strings["Database Port"] = "Datenbankport";
+App::$strings["Communication port number - use 0 for default"] = "Port-Nummer für die Kommunikation – verwende 0 für die Standardeinstellung";
+App::$strings["Database Login Name"] = "Datenbank-Benutzername";
+App::$strings["Database Login Password"] = "Datenbank-Passwort";
+App::$strings["Database Name"] = "Datenbankname";
+App::$strings["Database Type"] = "Datenbanktyp";
+App::$strings["Site administrator email address"] = "E-Mail Adresse des Seiten-Administrators";
+App::$strings["Your account email address must match this in order to use the web admin panel."] = "Die E-Mail-Adresse Deines Accounts muss dieser Adresse entsprechen, damit Du Zugriff zur Administrations-Seite erhältst.";
+App::$strings["Website URL"] = "Webseiten-URL";
+App::$strings["Please use SSL (https) URL if available."] = "Nutze wenn möglich eine SSL-URL (https).";
+App::$strings["Please select a default timezone for your website"] = "Standard-Zeitzone für Deinen Server";
+App::$strings["Site settings"] = "Seiteneinstellungen";
+App::$strings["PHP version 5.5 or greater is required."] = "PHP-Version 5.5 oder höher ist erforderlich.";
+App::$strings["PHP version"] = "PHP-Version";
+App::$strings["Could not find a command line version of PHP in the web server PATH."] = "Konnte die Kommandozeilen-Version von PHP nicht im PATH des Web-Servers finden.";
+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."] = "Ohne Kommandozeilen-Version von PHP auf dem Server wirst Du nicht in der Lage sein, Hintergrundprozesse via cron auszuführen.";
+App::$strings["PHP executable path"] = "PHP-Pfad zu ausführbarer Datei";
+App::$strings["Enter full path to php executable. You can leave this blank to continue the installation."] = "Gib den vollen Pfad zum PHP-Interpreter an. Du kannst dieses Feld frei lassen und mit der Installation fortfahren.";
+App::$strings["Command line PHP"] = "PHP-Befehlszeile";
+App::$strings["The command line version of PHP on your system does not have \"register_argc_argv\" enabled."] = "Bei der Kommandozeilen-Version von PHP auf Deinem System ist \"register_argc_argv\" nicht aktiviert.";
+App::$strings["This is required for message delivery to work."] = "Das wird benötigt, damit die Auslieferung von Nachrichten funktioniert.";
+App::$strings["PHP register_argc_argv"] = "PHP register_argc_argv";
+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."] = "Die Maximalgröße für Uploads insgesamt liegt bei %s. Die Maximalgröße für eine Datei liegt bei %s. Es können maximal %d Dateien gleichzeitig hochgeladen werden.";
+App::$strings["You can adjust these settings in the servers php.ini."] = "Du kannst diese Einstellungen in der php.ini des Servers ändern.";
+App::$strings["PHP upload limits"] = "PHP-Hochladebeschränkungen";
+App::$strings["Error: the \"openssl_pkey_new\" function on this system is not able to generate encryption keys"] = "Fehler: Die „openssl_pkey_new“-Funktion auf diesem System ist nicht in der Lage, Schlüssel für die Verschlüsselung zu erzeugen.";
+App::$strings["If running under Windows, please see \"http://www.php.net/manual/en/openssl.installation.php\"."] = "Wenn Du Windows verwendest, findest Du unter http://www.php.net/manual/en/openssl.installation.php eine Installationsanleitung.";
+App::$strings["Generate encryption keys"] = "Verschlüsselungsschlüssel erzeugen";
+App::$strings["libCurl PHP module"] = "libCurl-PHP-Modul";
+App::$strings["GD graphics PHP module"] = "GD-Grafik-PHP-Modul";
+App::$strings["OpenSSL PHP module"] = "OpenSSL-PHP-Modul";
+App::$strings["mysqli or postgres PHP module"] = "mysqli oder postgres PHP-Modul";
+App::$strings["mb_string PHP module"] = "mb_string-PHP-Modul";
+App::$strings["xml PHP module"] = "xml-PHP-Modul";
+App::$strings["Apache mod_rewrite module"] = "Apache-mod_rewrite-Modul";
+App::$strings["Error: Apache webserver mod-rewrite module is required but not installed."] = "Fehler: Das Apache-Modul mod-rewrite wird benötigt, ist aber nicht installiert.";
+App::$strings["proc_open"] = "proc_open";
+App::$strings["Error: proc_open is required but is either not installed or has been disabled in php.ini"] = "Fehler: proc_open wird benötigt, ist aber entweder nicht installiert oder wurde in der php.ini deaktiviert";
+App::$strings["Error: libCURL PHP module required but not installed."] = "Fehler: Das PHP-Modul libCURL wird benötigt, ist aber nicht installiert.";
+App::$strings["Error: GD graphics PHP module with JPEG support required but not installed."] = "Fehler: Das PHP-Modul GD-Grafik mit JPEG-Unterstützung wird benötigt, ist aber nicht installiert.";
+App::$strings["Error: openssl PHP module required but not installed."] = "Fehler: Das PHP-Modul openssl wird benötigt, ist aber nicht installiert.";
+App::$strings["Error: mysqli or postgres PHP module required but neither are installed."] = "Fehler: Das mysqli oder postgres PHP-Modul ist erforderlich, aber keines von beiden ist installiert.";
+App::$strings["Error: mb_string PHP module required but not installed."] = "Fehler: Das PHP-Modul mb_string wird benötigt, ist aber nicht installiert.";
+App::$strings["Error: xml PHP module required for DAV but not installed."] = "Fehler: Das xml-PHP-Modul wird für DAV benötigt, ist aber nicht installiert.";
+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."] = "Der Installations-Assistent muss in der Lage sein, die Datei \".htconfig.php\" im Stammverzeichnis des Web-Servers anzulegen, ist er aber nicht.";
+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."] = "Meist liegt das daran, dass der Nutzer, unter dem der Web-Server läuft, keine Schreibrechte in dem Verzeichnis hat – selbst wenn Du selbst das darfst.";
+App::$strings["At the end of this procedure, we will give you a text to save in a file named .htconfig.php in your Red top folder."] = "Am Schluss dieses Vorgangs wird ein Text generiert, den Du unter dem Dateinamen .htconfig.php im Stammverzeichnis Deiner Hubzilla-Installation speichern musst.";
+App::$strings["You can alternatively skip this procedure and perform a manual installation. Please see the file \"install/INSTALL.txt\" for instructions."] = "Alternativ kannst Du diesen Schritt überspringen und die Installation manuell vornehmen. Lies dazu die Datei install/INSTALL.txt.";
+App::$strings[".htconfig.php is writable"] = ".htconfig.php ist beschreibbar";
+App::$strings["Red uses the Smarty3 template engine to render its web views. Smarty3 compiles templates to PHP to speed up rendering."] = "\$Projectname verwendet Smarty3 um Vorlagen für die Webdarstellung zu übersetzen. Smarty3 übersetzt diese Vorlagen nach PHP, um die Darstellung zu beschleunigen.";
+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."] = "Um diese kompilierten Vorlagen speichern zu können, braucht der Web-Server Schreibzugriff auf das Verzeichnis %s unterhalb des Hubzilla-Stammverzeichnisses.";
+App::$strings["Please ensure that the user that your web server runs as (e.g. www-data) has write access to this folder."] = "Bitte stelle sicher, dass der Nutzer, unter dem der Web-Server läuft (z.B. www-data), Schreibzugriff auf dieses Verzeichnis hat.";
+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."] = "Hinweis: Aus Sicherheitsgründen sollte der Web-Server nur auf %s Schreibrechte haben, nicht auf die Template-Dateien (.tpl), die das Verzeichnis enthält.";
+App::$strings["%s is writable"] = "%s ist beschreibbar";
+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 Red top level folder"] = "Diese Software benutzt das Verzeichnis store, um hochgeladene Dateien zu speichern. Der Web-Server benötigt Schreibrechte für dieses Verzeichnis direkt unterhalb des Hubzilla-Stammverzeichnisses";
+App::$strings["store is writable"] = "store ist schreibbar";
+App::$strings["SSL certificate cannot be validated. Fix certificate or disable https access to this site."] = "Das SSL-Zertifikat konnte nicht validiert werden. Korrigiere das Zertifikat oder deaktiviere den HTTPS-Zugriff auf diesen Server.";
+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!"] = "Wenn Du via HTTPS auf Deinen Server zugreifen möchtest, also Verbindungen über den Port 443 möglich sein sollen, ist ein SSL-Zertifikat einer Zertifizierungsstelle (CA) notwendig, das von den Browsern ohne Sicherheitsabfrage akzeptiert wird. Die Verwendung eines selbst signierten Zertifikates ist nicht möglich.";
+App::$strings["This restriction is incorporated because public posts from you may for example contain references to images on your own hub."] = "Diese Einschränkung wurde eingebaut, weil Deine öffentlichen Beiträge zum Beispiel Verweise auf Bilder auf Deinem eigenen Hub enthalten können.";
+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."] = "Wenn Dein Zertifikat nicht von jedem Browser akzeptiert wird, erhalten die Mitglieder anderer \$Projectname-Hubs (die mit korrekten Zertifikaten ausgestattet sind) Sicherheits-Warnmeldungen, obwohl sie gar nicht direkt auf Deinem Server unterwegs sind (zum Beispiel, wenn ein Bild aus einem Deiner Beiträge angezeigt wird).";
+App::$strings["This can cause usability issues elsewhere (not just on your own site) so we must insist on this requirement."] = "Dies kann Probleme für andere Nutzer (nicht nur auf Deinem eigenen Server) verursachen, so dass wir auf dieser Forderung bestehen müssen.";
+App::$strings["Providers are available that issue free certificates which are browser-valid."] = "Es gibt einige Zertifizierungsstellen (CAs), bei denen solche Zertifikate kostenlos zu haben sind.";
+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."] = "Wenn Du sicher bist, dass das Zertifikat gültig und von einer vertrauenswürdigen Zertifizierungsstelle signiert ist, prüfe auf ggf. noch zu installierende Zwischenzertifikate (intermediate). Diese werden nicht unbedingt von Browsern benötigt, aber sehr wohl für die Kommunikation zwischen Servern.";
+App::$strings["SSL certificate validation"] = "SSL Zertifikatverifizierung";
+App::$strings["Url rewrite in .htaccess is not working. Check your server configuration.Test: "] = "Das Umschreiben von URLs (rewrite) per .htaccess funktioniert nicht. Bitte prüfe die Server-Konfiguration. Test:";
+App::$strings["Url rewrite is working"] = "Url rewrite funktioniert";
+App::$strings["The database configuration file \".htconfig.php\" could not be written. Please use the enclosed text to create a configuration file in your web server root."] = "Die Datenbank-Konfigurationsdatei „.htconfig.php“ konnte nicht geschrieben werden. Bitte verwende den unten angegebenen Text, um die Konfigurationsdatei im Stammverzeichnis des Webservers anzulegen.";
+App::$strings["Errors encountered creating database tables."] = "Fehler beim Anlegen der Datenbank-Tabellen aufgetreten.";
+App::$strings["<h1>What next</h1>"] = "<h1>Was als Nächstes</h1>";
+App::$strings["IMPORTANT: You will need to [manually] setup a scheduled task for the poller."] = "WICHTIG: Du musst [manuell] einen Cronjob für den Poller einrichten.";
+App::$strings["Unable to find your hub."] = "Konnte Deinen Server nicht finden.";
+App::$strings["Post successful."] = "Veröffentlichung erfolgreich.";
+App::$strings["Invalid profile identifier."] = "Ungültiger Profil-Identifikator";
+App::$strings["Profile Visibility Editor"] = "Profil-Sichtbarkeits-Editor";
+App::$strings["Profile"] = "Profil";
+App::$strings["Click on a contact to add or remove."] = "Klicke auf einen Kontakt, um ihn hinzuzufügen oder zu entfernen.";
+App::$strings["Visible To"] = "Sichtbar für";
+App::$strings["This setting requires special processing and editing has been blocked."] = "Diese Einstellung erfordert eine besondere Verarbeitung und ist blockiert.";
+App::$strings["Configuration Editor"] = "Konfigurationseditor";
+App::$strings["Warning: Changing some settings could render your channel inoperable. Please leave this page unless you are comfortable with and knowledgeable about how to correctly use this feature."] = "Warnung: Einige Einstellungen können Deinen Kanal funktionsunfähig machen. Bitte verlasse diese Seite, es sei denn Du bist vertraut damit, wie dieses Feature korrekt verwendet wird.";
+App::$strings["Apps"] = "Apps";
+App::$strings["Version %s"] = "Version %s";
+App::$strings["Installed plugins/addons/apps:"] = "Installierte Plugins/Addons/Apps";
+App::$strings["No installed plugins/addons/apps"] = "Keine installierten Plugins/Addons/Apps";
+App::$strings["This is a hub of \$Projectname - a global cooperative network of decentralized privacy enhanced websites."] = "Dieser Hub ist Teil von \$Projectname – ein globales, kooperatives Netzwerk aus dezentralen Websites, die Rücksicht auf Deine Privatsphäre nehmen.";
+App::$strings["Tag: "] = "Schlagwort: ";
+App::$strings["Last background fetch: "] = "Letzter Hintergrundabruf:";
+App::$strings["Current load average: "] = "Aktuelles Load Average:";
+App::$strings["Running at web location"] = "Erreichbar unter der Web-Adresse";
+App::$strings["Please visit <a href=\"http://hubzilla.org\">hubzilla.org</a> to learn more about \$Projectname."] = "Bitte besuchen Sie <a href=\"http://hubzilla.org\">hubzilla.org</a>, um mehr über \$Projectname zu erfahren.";
+App::$strings["Bug reports and issues: please visit"] = "Probleme oder Fehler gefunden? Bitte besuche";
+App::$strings["\$projectname issues"] = "\$projectname-Bugtracker";
+App::$strings["Suggestions, praise, etc. - please email \"redmatrix\" at librelist - dot com"] = "Vorschläge, Lob, usw.: E-Mail an 'redmatrix' at librelist - dot - com";
+App::$strings["Site Administrators"] = "Administratoren";
+App::$strings["Blocks"] = "Blöcke";
+App::$strings["Block Title"] = "Titel des Blocks";
+App::$strings["Layouts"] = "Layouts";
+App::$strings["Help"] = "Hilfe";
+App::$strings["Comanche page description language help"] = "Hilfe zur Comanche-Seitenbeschreibungssprache";
+App::$strings["Layout Description"] = "Layout-Beschreibung";
+App::$strings["Download PDL file"] = "PDL-Datei herunterladen";
App::$strings["Profile Photos"] = "Profilfotos";
+App::$strings["Shift-reload the page or clear browser cache if the new photo does not display immediately."] = "Leere den Browser Cache oder nutze Umschalten-Neu Laden, falls das neue Foto nicht sofort angezeigt wird.";
+App::$strings["Upload Profile Photo"] = "Lade neues Profilfoto hoch";
+App::$strings["Permissions denied."] = "Berechtigung verweigert.";
+App::$strings["Import"] = "Import";
+App::$strings["No channel."] = "Kein Kanal.";
+App::$strings["Common connections"] = "Gemeinsame Verbindungen";
+App::$strings["No connections in common."] = "Keine gemeinsamen Verbindungen.";
+App::$strings["network"] = "Netzwerk";
+App::$strings["RSS"] = "RSS";
+App::$strings["Public Hubs"] = "Öffentliche Hubs";
+App::$strings["The listed hubs allow public registration for the \$Projectname network. All hubs in the network are interlinked so membership on any of them conveys membership in the network as a whole. Some hubs may require subscription or provide tiered service plans. The hub itself <strong>may</strong> provide additional details."] = "Die hier aufgeführten Hubs sind öffentlich und erlauben die Registrierung im \$Projectname Netzwerk. Alle Hubs dieses Netzwerks sind miteinander verbunden, so dass die Mitgliedschaft auf einem Hub die Verbindung zu beliebigen Seiten und Kanälen auf anderen Hubs ermöglicht. Es könnte sein, dass einige dieser Hubs kostenpflichtig sind oder abgestufte, je nach Umfang kostenpflichtige Mitgliedschaften anbieten. Auf den Seiten der einzelnen Hubs <strong>könnten</strong> jeweils nähere Informationen dazu stehen.";
+App::$strings["Hub URL"] = "Hub-URL";
+App::$strings["Access Type"] = "Zugriffstyp";
+App::$strings["Registration Policy"] = "Registrierungsrichtlinien";
+App::$strings["Stats"] = "Statistiken";
+App::$strings["Software"] = "Software";
+App::$strings["Rate"] = "Bewerten";
+App::$strings["Layout updated."] = "Layout aktualisiert.";
+App::$strings["Feature disabled."] = "Funktion deaktiviert.";
+App::$strings["Edit System Page Description"] = "Systemseitenbeschreibung bearbeiten";
+App::$strings["Layout not found."] = "Layout nicht gefunden.";
+App::$strings["Module Name:"] = "Modulname:";
+App::$strings["Layout Help"] = "Layout-Hilfe";
+App::$strings["Could not access contact record."] = "Konnte nicht auf den Kontakteintrag zugreifen.";
+App::$strings["Could not locate selected profile."] = "Gewähltes Profil nicht gefunden.";
+App::$strings["Connection updated."] = "Verbindung aktualisiert.";
+App::$strings["Failed to update connection record."] = "Konnte den Verbindungseintrag nicht aktualisieren.";
+App::$strings["is now connected to"] = "ist jetzt verbunden mit";
+App::$strings["Could not access address book record."] = "Konnte nicht auf den Adressbuch-Eintrag zugreifen.";
+App::$strings["Refresh failed - channel is currently unavailable."] = "Aktualisierung fehlgeschlagen – der Kanal ist im Moment nicht erreichbar.";
+App::$strings["Unable to set address book parameters."] = "Konnte die Adressbuch-Parameter nicht setzen.";
+App::$strings["Connection has been removed."] = "Verbindung wurde gelöscht.";
+App::$strings["View Profile"] = "Profil ansehen";
+App::$strings["View %s's profile"] = "%ss Profil ansehen";
+App::$strings["Refresh Permissions"] = "Zugriffsrechte neu laden";
+App::$strings["Fetch updated permissions"] = "Aktualisierte Zugriffsrechte abfragen";
+App::$strings["Recent Activity"] = "Kürzliche Aktivitäten";
+App::$strings["View recent posts and comments"] = "Betrachte die neuesten Beiträge und Kommentare";
+App::$strings["Block (or Unblock) all communications with this connection"] = "Jegliche Kommunikation mit dieser Verbindung blockieren/zulassen";
+App::$strings["This connection is blocked!"] = "Die Verbindung ist geblockt!";
+App::$strings["Unignore"] = "Nicht ignorieren";
+App::$strings["Ignore (or Unignore) all inbound communications from this connection"] = "Jegliche eingehende Kommunikation von dieser Verbindung ignorieren/zulassen";
+App::$strings["This connection is ignored!"] = "Die Verbindung wird ignoriert!";
+App::$strings["Unarchive"] = "Aus Archiv zurückholen";
+App::$strings["Archive"] = "Archivieren";
+App::$strings["Archive (or Unarchive) this connection - mark channel dead but keep content"] = "Verbindung archivieren/aus dem Archiv zurückholen (Archiv = Kanal als erloschen markieren, aber die Beiträge behalten)";
+App::$strings["This connection is archived!"] = "Die Verbindung ist archiviert!";
+App::$strings["Unhide"] = "Wieder sichtbar machen";
+App::$strings["Hide"] = "Verstecken";
+App::$strings["Hide or Unhide this connection from your other connections"] = "Diese Verbindung vor anderen Verbindungen verstecken/zeigen";
+App::$strings["This connection is hidden!"] = "Die Verbindung ist versteckt!";
+App::$strings["Delete this connection"] = "Verbindung löschen";
+App::$strings["Me"] = "Ich";
+App::$strings["Family"] = "Familie";
+App::$strings["Friends"] = "Freunde";
+App::$strings["Acquaintances"] = "Bekannte";
+App::$strings["Approve this connection"] = "Verbindung genehmigen";
+App::$strings["Accept connection to allow communication"] = "Akzeptiere die Verbindung, um Kommunikation zu ermöglichen";
+App::$strings["Set Affinity"] = "Beziehung festlegen";
+App::$strings["Set Profile"] = "Profil festlegen";
+App::$strings["Set Affinity & Profile"] = "Beziehung und Profile festlegen";
+App::$strings["none"] = "Keine";
+App::$strings["Connection Default Permissions"] = "Standardzugriffsrechte für neue Verbindungen:";
+App::$strings["Connection: %s"] = "Verbindung: %s";
+App::$strings["Apply these permissions automatically"] = "Diese Berechtigungen automatisch anwenden";
+App::$strings["Connection requests will be approved without your interaction"] = "Verbindungsanfragen werden sofort bestätigt, ohne dass Deine aktive Zustimmung erforderlich ist.";
+App::$strings["This connection's primary address is"] = "Die Hauptadresse der Verbindung ist";
+App::$strings["Available locations:"] = "Verfügbare Klone:";
+App::$strings["The permissions indicated on this page will be applied to all new connections."] = "Die auf dieser Seite angegebenen Berechtigungen werden auf alle neuen Verbindungen angewendet.";
+App::$strings["Connection Tools"] = "Verbindungswerkzeuge";
+App::$strings["Slide to adjust your degree of friendship"] = "Verschieben, um den Grad der Freundschaft zu einzustellen";
+App::$strings["Slide to adjust your rating"] = "Verschieben, um Deine Bewertung einzustellen";
+App::$strings["Optionally explain your rating"] = "Optional kannst Du Deine Bewertung begründen";
+App::$strings["Custom Filter"] = "Benutzerdefinierter Filter";
+App::$strings["Only import posts with this text"] = "Nur Beiträge mit diesem Text importieren";
+App::$strings["words one per line or #tags or /patterns/ or lang=xx, leave blank to import all posts"] = "Einzelne Wörter pro Zeile, #Tags oder /Reguläre Ausdrücke/. lang=xx (z.B. lang=de) ermöglicht Filterung nach Sprache. Leer lassen, um alle Beiträge zu importieren.";
+App::$strings["Do not import posts with this text"] = "Beiträge mit diesem Text nicht importieren";
+App::$strings["This information is public!"] = "Diese Information ist öffentlich!";
+App::$strings["Connection Pending Approval"] = "Verbindung wartet auf Bestätigung";
+App::$strings["inherited"] = "geerbt";
+App::$strings["Please choose the profile you would like to display to %s when viewing your profile securely."] = "Bitte wähle ein Profil, das wir %s zeigen sollen, wenn Deine Profilseite über eine verifizierte Verbindung aufgerufen wird.";
+App::$strings["Their Settings"] = "Deren Einstellungen";
+App::$strings["My Settings"] = "Meine Einstellungen";
+App::$strings["Individual Permissions"] = "Individuelle Zugriffsrechte";
+App::$strings["Some permissions may be inherited from your channel's <a href=\"settings\"><strong>privacy settings</strong></a>, which have higher priority than individual settings. You can <strong>not</strong> change those settings here."] = "Einige Berechtigungen werden möglicherweise von den globalen <a href=\"settings\">Sicherheits- und Privatsphäre-Einstellungen</a> dieses Kanals vererbt. Diese haben eine höhere Priorität als die Einstellungen an der Verbindung und können hier nicht verändert werden.";
+App::$strings["Some permissions may be inherited from your channel's <a href=\"settings\"><strong>privacy settings</strong></a>, which have higher priority than individual settings. You can change those settings here but they wont have any impact unless the inherited setting changes."] = "Einige Berechtigungen werden möglicherweise von den globalen <a href=\"settings\">Sicherheits- und Privatsphäre-Einstellungen</a> dieses Kanals geerbt. Diese haben eine höhere Priorität als die Einstellungen an der Verbindung. Werden geerbte Einstellungen hier geändert, hat dies keine Auswirkungen.";
+App::$strings["Last update:"] = "Letzte Aktualisierung:";
+App::$strings["Select a bookmark folder"] = "Lesezeichenordner wählen";
+App::$strings["Save Bookmark"] = "Lesezeichen speichern";
+App::$strings["URL of bookmark"] = "URL des Lesezeichens";
+App::$strings["Or enter new bookmark folder name"] = "Oder gib einen neuen Namen für den Lesezeichenordner ein";
+App::$strings["This site is not a directory server"] = "Diese Webseite ist kein Verzeichnisserver";
+App::$strings["Authentication failed."] = "Authentifizierung fehlgeschlagen.";
+App::$strings["Remote Authentication"] = "Entfernte Authentifizierung";
+App::$strings["Enter your channel address (e.g. channel@example.com)"] = "Deine Kanal-Adresse (z. B. channel@example.com)";
+App::$strings["Authenticate"] = "Authentifizieren";
+App::$strings["Please login."] = "Bitte melde dich an.";
+App::$strings["Account removals are not allowed within 48 hours of changing the account password."] = "Das Löschen von Konten innerhalb 48 Stunden nachdem deren Passwort geändert wurde ist nicht erlaubt.";
+App::$strings["Remove This Account"] = "Dieses Konto löschen";
+App::$strings["WARNING: "] = "WARNUNG: ";
+App::$strings["This account and all its channels will be completely removed from the network. "] = "Dieses Konto mit all seinen Kanälen wird vollständig aus dem Netzwerk gelöscht.";
+App::$strings["This action is permanent and can not be undone!"] = "Dieser Schritt ist endgültig und kann nicht rückgängig gemacht werden!";
+App::$strings["Please enter your password for verification:"] = "Bitte gib zur Bestätigung Dein Passwort ein:";
+App::$strings["Remove this account, all its channels and all its channel clones from the network"] = "Dieses Konto, all seine Kanäle sowie alle Kanal-Klone aus dem Netzwerk löschen";
+App::$strings["By default only the instances of the channels located on this hub will be removed from the network"] = "Standardmäßig werden nur die Kanalklone auf diesem \$Projectname-Hub aus dem Netzwerk entfernt";
+App::$strings["Remove Account"] = "Konto entfernen";
+App::$strings["Channel removals are not allowed within 48 hours of changing the account password."] = "Innerhalb von 48 Stunden nach einer Änderung des Passworts können keine Kanäle gelöscht werden.";
+App::$strings["Remove This Channel"] = "Diesen Kanal löschen";
+App::$strings["This channel will be completely removed from the network. "] = "Dieser Kanal wird vollständig aus dem Netzwerk gelöscht.";
+App::$strings["Remove this channel and all its clones from the network"] = "Lösche diesen Kanal und all seine Klone aus dem Netzwerk";
+App::$strings["By default only the instance of the channel located on this hub will be removed from the network"] = "Standardmäßig wird der Kanal nur auf diesem Server gelöscht, seine Klone verbleiben im Netzwerk";
+App::$strings["Remove Channel"] = "Kanal löschen";
+App::$strings["Export Channel"] = "Kanal exportieren";
+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."] = "Exportiert die grundlegenden Kanal-Informationen in eine kleine Datei. Diese stellt eine Sicherung Deiner Verbindungen, Berechtigungen, Profile und Basisdaten bereit, die für den Import auf einem anderen Hub verwendet werden kann, aber nicht die Beiträge Deines Kanals enthält.";
+App::$strings["Export Content"] = "Kanal und Inhalte exportieren";
+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."] = "Exportiert Deine Kanal-Informationen sowie alle zugehörigen Inhalte in eine JSON-Sicherungsdatei. Die sichert alle Verbindungen, Berechtigungen, Profildaten und Deine Beiträge aus mehreren Monaten. Diese Datei kann SEHR groß werden! Bitte habe ein wenig Geduld – es kann mehrere Minuten dauern, bis der Download startet.";
+App::$strings["Export your posts from a given year."] = "Exportiert die Beiträge des angegebenen Jahres.";
+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."] = "Du kannst auch die Beiträge und Konversationen eines bestimmten Jahres oder Monats exportieren. Ändere das Datum in der Adresszeile Deines Browsers, um andere Zeiträume zu wählen. Falls der Export fehlschlägt (vermutlich, weil auf diesem Hub nicht genügend Speicher zur Verfügung steht), versuche es noch einmal mit einer kleineren Zeitspanne.";
+App::$strings["To select all posts for a given year, such as this year, visit <a href=\"%1\$s\">%2\$s</a>"] = "Um alle Beiträge eines bestimmten Jahres, zum Beispiel dieses Jahres, auszuwählen, klicke <a href=\"%1\$s\">%2\$s</a>.";
+App::$strings["To select all posts for a given month, such as January of this year, visit <a href=\"%1\$s\">%2\$s</a>"] = "Um alle Beiträge eines bestimmten Monats auszuwählen, zum Beispiel vom Januar diesen Jahres, klicke <a href=\"%1\$s\">%2\$s</a>.";
+App::$strings["These content files may be imported or restored by visiting <a href=\"%1\$s\">%2\$s</a> on any site containing your channel. For best results please import or restore these in date order (oldest first)."] = "Diese Inhalts-Sicherungen können wiederhergestellt werden, indem Du <a href=\"%1\$s\">%2\$s</a> auf jeglichem Hub besuchst, der diesen Kanal enthält. Das funktioniert am besten, wenn Du dabei die zeitliche Reihenfolge einhältst, also die Sicherungen für den ältesten Zeitraum zuerst importierst.";
+App::$strings["Item is not editable"] = "Element kann nicht bearbeitet werden.";
+App::$strings["Items tagged with: %s"] = "Beiträge mit Schlagwort: %s";
+App::$strings["Search results for: %s"] = "Suchergebnisse für: %s";
+App::$strings["You must be logged in to see this page."] = "Du musst angemeldet sein, um diese Seite betrachten zu können.";
+App::$strings["Posts and comments"] = "Beiträge und Kommentare";
+App::$strings["Only posts"] = "Nur Beiträge";
+App::$strings["Insufficient permissions. Request redirected to profile page."] = "Unzureichende Zugriffsrechte. Die Anfrage wurde zur Profil-Seite umgeleitet.";
+App::$strings["No service class restrictions found."] = "Keine Dienstklassenbeschränkungen gefunden.";
+App::$strings["Thing updated"] = "Sache aktualisiert";
+App::$strings["Object store: failed"] = "Speichern des Objekts fehlgeschlagen";
+App::$strings["Thing added"] = "Sache hinzugefügt";
+App::$strings["OBJ: %1\$s %2\$s %3\$s"] = "OBJ: %1\$s %2\$s %3\$s";
+App::$strings["Show Thing"] = "Sache anzeigen";
+App::$strings["item not found."] = "Eintrag nicht gefunden";
+App::$strings["Edit Thing"] = "Sache bearbeiten";
+App::$strings["Select a profile"] = "Wähle ein Profil";
+App::$strings["Post an activity"] = "Aktivitätsnachricht senden";
+App::$strings["Only sends to viewers of the applicable profile"] = "Nur an Betrachter des ausgewählten Profils senden";
+App::$strings["Name of thing e.g. something"] = "Name der Sache, z. B. irgendwas";
+App::$strings["URL of thing (optional)"] = "URL der Sache (optional)";
+App::$strings["URL for photo of thing (optional)"] = "URL eines Fotos der Sache (optional)";
+App::$strings["Add Thing to your Profile"] = "Die Sache Deinem Profil hinzufügen";
+App::$strings["This directory server requires an access token"] = "Dieser Verzeichnisserver benötigt einen Zugriffstoken";
+App::$strings["Files: shared with me"] = "Dateien, die mit mir geteilt wurden";
+App::$strings["NEW"] = "NEU";
+App::$strings["Remove all files"] = "Alle Dateien löschen";
+App::$strings["Remove this file"] = "Diese Datei löschen";
+App::$strings["Not found"] = "Nicht gefunden";
+App::$strings["Wiki"] = "Wiki";
+App::$strings["Sandbox"] = "Sandbox";
+App::$strings["\"# Wiki Sandbox\\n\\nContent you **edit** and **preview** here *will not be saved*.\""] = "\"# Wiki Sandkasten\\n\\nInhalte, die Du hier **veränderst** und **als Vorschau anzeigst**, *werden nicht gespeichert*.\"";
+App::$strings["Revision Comparison"] = "Revisionsvergleich";
+App::$strings["Revert"] = "Rückgängig machen";
+App::$strings["Enter the name of your new wiki:"] = "Gib einen Namen für Dein neues Wiki ein:";
+App::$strings["Enter the name of the new page:"] = "Geben Sie den Namen der neuen Seite ein:";
+App::$strings["Enter the new name:"] = "Geben Sie den neuen Namen ein:";
+App::$strings["Embed image from photo albums"] = "Bild aus Fotoalben einbetten";
+App::$strings["Embed an image from your albums"] = "Betten Sie ein Bild aus Ihren Alben ein";
+App::$strings["OK"] = "Ok";
+App::$strings["Choose images to embed"] = "Wählen Sie Bilder zum Einbetten aus";
+App::$strings["Choose an album"] = "Wählen Sie ein Album aus";
+App::$strings["Choose a different album..."] = "Wählen Sie ein anderes Album aus...";
+App::$strings["Error getting album list"] = "Fehler beim Holen der Albenliste";
+App::$strings["Error getting photo link"] = "Fehler beim Holen des Fotolinks";
+App::$strings["Error getting album"] = "Fehler beim Holen des Albums";
+App::$strings["Failed to create source. No channel selected."] = "Konnte die Quelle nicht anlegen. Kein Kanal ausgewählt.";
+App::$strings["Source created."] = "Quelle erstellt.";
+App::$strings["Source updated."] = "Quelle aktualisiert.";
+App::$strings["*"] = "*";
+App::$strings["Channel Sources"] = "Kanal-Quellen";
+App::$strings["Manage remote sources of content for your channel."] = "Externe Inhaltsquellen für Deinen Kanal verwalten.";
+App::$strings["New Source"] = "Neue Quelle";
+App::$strings["Import all or selected content from the following channel into this channel and distribute it according to your channel settings."] = "Importiere alle oder ausgewählte Inhalte des folgenden Kanals in diesen Kanal und verteile sie gemäß der Einstellungen dieses Kanals.";
+App::$strings["Only import content with these words (one per line)"] = "Importiere nur Beiträge, die folgende Wörter (eines pro Zeile) enthalten";
+App::$strings["Leave blank to import all public content"] = "Leer lassen, um alle öffentlichen Beiträge zu importieren";
+App::$strings["Channel Name"] = "Name des Kanals";
+App::$strings["Add the following categories to posts imported from this source (comma separated)"] = "Füge die folgenden Kategorien zu Beiträgen, die aus dieser Quelle importiert werden, hinzu (kommagetrennt)";
+App::$strings["Optional"] = "Optional";
+App::$strings["Source not found."] = "Quelle nicht gefunden.";
+App::$strings["Edit Source"] = "Quelle bearbeiten";
+App::$strings["Delete Source"] = "Quelle löschen";
+App::$strings["Source removed"] = "Quelle gelöscht";
+App::$strings["Unable to remove source."] = "Konnte die Quelle nicht löschen.";
+App::$strings["%1\$s is following %2\$s's %3\$s"] = "%1\$s folgt nun %2\$ss %3\$s";
+App::$strings["%1\$s stopped following %2\$s's %3\$s"] = "%1\$s folgt %2\$ss %3\$s nicht mehr";
+App::$strings["No suggestions available. If this is a new site, please try again in 24 hours."] = "Keine Vorschläge vorhanden. Wenn das ein neuer Server ist, versuche es in 24 Stunden noch einmal.";
+App::$strings["Ignore/Hide"] = "Ignorieren/Verstecken";
+App::$strings["post"] = "Beitrag";
+App::$strings["comment"] = "Kommentar";
+App::$strings["%1\$s tagged %2\$s's %3\$s with %4\$s"] = "%1\$s hat %2\$ss %3\$s mit %4\$s verschlagwortet";
+App::$strings["Tag removed"] = "Schlagwort entfernt";
+App::$strings["Remove Item Tag"] = "Schlagwort entfernen";
+App::$strings["Select a tag to remove: "] = "Schlagwort zum Entfernen auswählen:";
+App::$strings["Page owner information could not be retrieved."] = "Informationen über den Besitzer der Seite konnten nicht gefunden werden.";
App::$strings["Album not found."] = "Album nicht gefunden.";
App::$strings["Delete Album"] = "Album löschen";
App::$strings["Multiple storage folders exist with this album name, but within different directories. Please remove the desired folder or folders using the Files manager"] = "Mehrere Speicherordner mit diesem Albumnamen sind bereits vorhanden, aber in verschiedenen Verzeichnissen. Bitte entfernen Sie den oder die gewünschten Ordner mit dem Dateimanager";
@@ -745,10 +1234,10 @@ App::$strings["Use as profile photo"] = "Als Profilfoto verwenden";
App::$strings["Use as cover photo"] = "Als Titelbild verwenden";
App::$strings["Private Photo"] = "Privates Foto";
App::$strings["View Full Size"] = "In voller Größe anzeigen";
-App::$strings["Remove"] = "Entfernen";
App::$strings["Edit photo"] = "Foto bearbeiten";
App::$strings["Rotate CW (right)"] = "Drehen im UZS (rechts)";
App::$strings["Rotate CCW (left)"] = "Drehen gegen UZS (links)";
+App::$strings["Move photo to album"] = "Foto in Album verschieben";
App::$strings["Enter a new album name"] = "Gib einen Namen für ein neues Album ein";
App::$strings["or select an existing one (doubleclick)"] = "oder wähle ein bereits vorhandenes aus (Doppelklick)";
App::$strings["Caption"] = "Bildunterschrift";
@@ -785,80 +1274,62 @@ App::$strings["__ctx:noun__ Dislikes"] = "Gefällt nicht";
App::$strings["Close"] = "Schließen";
App::$strings["View Album"] = "Album ansehen";
App::$strings["Recent Photos"] = "Neueste Fotos";
-App::$strings["Name is required"] = "Name ist erforderlich";
-App::$strings["Key and Secret are required"] = "Schlüssel und Geheimnis werden benötigt";
-App::$strings["Update"] = "Aktualisieren";
-App::$strings["This channel is limited to %d tokens"] = "Dieser Kanal ist auf %d Token begrenzt";
-App::$strings["Name and Password are required."] = "Name und Passwort sind erforderlich.";
-App::$strings["Token saved."] = "Token gespeichert.";
+App::$strings["Channel added."] = "Kanal hinzugefügt.";
+App::$strings["No connections."] = "Keine Verbindungen.";
+App::$strings["Visit %s's profile [%s]"] = "%ss Profil [%s] besuchen";
+App::$strings["View Connections"] = "Verbindungen anzeigen";
+App::$strings["Source of Item"] = "Quelle des Elements";
+App::$strings["Room not found"] = "Chatraum nicht gefunden";
+App::$strings["Leave Room"] = "Raum verlassen";
+App::$strings["Delete Room"] = "Raum löschen";
+App::$strings["I am away right now"] = "Ich bin gerade nicht da";
+App::$strings["I am online"] = "Ich bin online";
+App::$strings["Bookmark this room"] = "Lesezeichen für diesen Raum setzen";
+App::$strings["New Chatroom"] = "Neuer Chatraum";
+App::$strings["Chatroom name"] = "Chatraumname";
+App::$strings["Expiration of chats (minutes)"] = "Verfall von Chats (Minuten)";
+App::$strings["%1\$s's Chatrooms"] = "%1\$ss Chaträume";
+App::$strings["No chatrooms available"] = "Keine Chaträume verfügbar";
+App::$strings["Expiration"] = "Verfall";
+App::$strings["min"] = "min";
+App::$strings["Xchan Lookup"] = "Xchan-Suche";
+App::$strings["Lookup xchan beginning with (or webbie): "] = "Nach xchans oder Webbies (Kanal-Adressen) suchen, die wie folgt beginnen:";
+App::$strings["# Accounts"] = "Anzahl der Konten";
+App::$strings["# blocked accounts"] = "Anzahl der blockierten Konten";
+App::$strings["# expired accounts"] = "Anzahl der abgelaufenen Konten";
+App::$strings["# expiring accounts"] = "Anzahl der ablaufenden Konten";
+App::$strings["# Channels"] = "Anzahl der Kanäle";
+App::$strings["# primary"] = "Anzahl der primären Kanäle";
+App::$strings["# clones"] = "Anzahl der Klone";
+App::$strings["Message queues"] = "Nachrichten-Warteschlangen";
+App::$strings["Your software should be updated"] = "Die installierte Software sollte aktualisiert werden";
+App::$strings["Summary"] = "Zusammenfassung";
+App::$strings["Registered accounts"] = "Registrierte Konten";
+App::$strings["Pending registrations"] = "Ausstehende Registrierungen";
+App::$strings["Registered channels"] = "Registrierte Kanäle";
+App::$strings["Active plugins"] = "Aktive Plug-Ins";
+App::$strings["Version"] = "Version";
+App::$strings["Repository version (master)"] = "Repository-Version (master)";
+App::$strings["Repository version (dev)"] = "Repository-Version (dev)";
App::$strings["Not valid email."] = "Keine gültige E-Mail Adresse.";
App::$strings["Protected email address. Cannot change to that email."] = "Geschützte E-Mail Adresse. Diese kann nicht verändert werden.";
App::$strings["System failure storing new email. Please try again."] = "Systemfehler während des Speicherns der neuen Mail. Bitte versuche es noch einmal.";
+App::$strings["Technical skill level updated"] = "Technische Qualifikationsstufe aktualisiert";
App::$strings["Password verification failed."] = "Passwortüberprüfung fehlgeschlagen.";
App::$strings["Passwords do not match. Password unchanged."] = "Kennwörter stimmen nicht überein. Kennwort nicht verändert.";
App::$strings["Empty passwords are not allowed. Password unchanged."] = "Leere Kennwörter sind nicht erlaubt. Kennwort nicht verändert.";
App::$strings["Password changed."] = "Kennwort geändert.";
App::$strings["Password update failed. Please try again."] = "Kennwortänderung fehlgeschlagen. Bitte versuche es noch einmal.";
-App::$strings["Settings updated."] = "Einstellungen aktualisiert.";
-App::$strings["Add application"] = "Anwendung hinzufügen";
-App::$strings["Name of application"] = "Name der Anwendung";
-App::$strings["Consumer Key"] = "Consumer Key";
-App::$strings["Automatically generated - change if desired. Max length 20"] = "Automatisch erzeugt – ändern, falls erwünscht. Maximale Länge 20";
-App::$strings["Consumer Secret"] = "Consumer Secret";
-App::$strings["Redirect"] = "Umleitung";
-App::$strings["Redirect URI - leave blank unless your application specifically requires this"] = "Umleitungs-URl – lasse das leer, solange Deine Anwendung es nicht explizit erfordert";
-App::$strings["Icon url"] = "Symbol-URL";
-App::$strings["Optional"] = "Optional";
-App::$strings["Application not found."] = "Die Anwendung wurde nicht gefunden.";
-App::$strings["Connected Apps"] = "Verbundene Apps";
-App::$strings["Client key starts with"] = "Client Key beginnt mit";
-App::$strings["No name"] = "Kein Name";
-App::$strings["Remove authorization"] = "Authorisierung aufheben";
-App::$strings["No feature settings configured"] = "Keine Funktions-Einstellungen konfiguriert";
-App::$strings["Feature/Addon Settings"] = "Funktions-/Addon-Einstellungen";
App::$strings["Account Settings"] = "Konto-Einstellungen";
App::$strings["Current Password"] = "Aktuelles Passwort";
App::$strings["Enter New Password"] = "Gib ein neues Passwort ein";
App::$strings["Confirm New Password"] = "Bestätige das neue Passwort";
App::$strings["Leave password fields blank unless changing"] = "Lasse die Passwort-Felder leer, außer Du möchtest das Passwort ändern";
+App::$strings["Your technical skill level"] = "Deine technische Qualifikationsstufe";
+App::$strings["Used to provide a member experience matched to your comfort level"] = "Dies wird verwendet, um Dir eine Benutzererfahrung passend zu Deiner technischen Qualifikationsstufe zu bieten.";
App::$strings["Email Address:"] = "Email Adresse:";
-App::$strings["Remove Account"] = "Konto entfernen";
App::$strings["Remove this account including all its channels"] = "Dieses Konto inklusive all seiner Kanäle löschen";
-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."] = "Mit diesem Formular kannst Du temporäre Zugangs-IDs anlegen, um Inhalte mit Nicht-Mitgliedern zu teilen. Die IDs können in Berechtigungslisten (ACLs) verwendet werden, und Besucher können sich damit einloggen, um auf private Inhalte zuzugreifen.";
-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:"] = "Du kannst auch <em>Dropbox</em>-ähnliche Zugriffslinks an Andere weitergeben, indem du das Login-Passwort an eine entsprechende URL anhängst wie nachfolgend gezeigt. Beispiele:";
-App::$strings["Guest Access Tokens"] = "Gastzugangstoken";
-App::$strings["Login Name"] = "Anmeldename";
-App::$strings["Login Password"] = "Anmeldepasswort";
-App::$strings["Expires (yyyy-mm-dd)"] = "Läuft ab (jjjj-mm-tt)";
-App::$strings["Off"] = "Aus";
-App::$strings["On"] = "An";
-App::$strings["Additional Features"] = "Zusätzliche Funktionen";
-App::$strings["Connector Settings"] = "Connector-Einstellungen";
-App::$strings["No special theme for mobile devices"] = "Keine spezielle Theme für mobile Geräte";
-App::$strings["%s - (Experimental)"] = "%s – (experimentell)";
-App::$strings["mobile"] = "mobil";
-App::$strings["Display Settings"] = "Anzeige-Einstellungen";
-App::$strings["Theme Settings"] = "Theme-Einstellungen";
-App::$strings["Custom Theme Settings"] = "Benutzerdefinierte Theme-Einstellungen";
-App::$strings["Content Settings"] = "Inhaltseinstellungen";
-App::$strings["Display Theme:"] = "Anzeige-Theme:";
-App::$strings["Mobile Theme:"] = "Mobile Theme:";
-App::$strings["Preload images before rendering the page"] = "Bilder im voraus laden, bevor die Seite angezeigt wird";
-App::$strings["The subjective page load time will be longer but the page will be ready when displayed"] = "Die empfundene Ladezeit wird sich erhöhen, aber dafür ist das Layout stabil, sobald eine Seite angezeigt wird";
-App::$strings["Enable user zoom on mobile devices"] = "Zoom auf Mobilgeräten aktivieren";
-App::$strings["Update browser every xx seconds"] = "Browser alle xx Sekunden aktualisieren";
-App::$strings["Minimum of 10 seconds, no maximum"] = "Minimum 10 Sekunden, kein Maximum";
-App::$strings["Maximum number of conversations to load at any time:"] = "Maximale Anzahl von Unterhaltungen, die auf einmal geladen werden sollen:";
-App::$strings["Maximum of 100 items"] = "Maximum: 100 Beiträge";
-App::$strings["Show emoticons (smilies) as images"] = "Emoticons (Smilies) als Bilder anzeigen";
-App::$strings["Link post titles to source"] = "Beitragstitel zum Originalbeitrag verlinken";
-App::$strings["System Page Layout Editor - (advanced)"] = "System-Seitenlayout-Editor (für Experten)";
-App::$strings["Use blog/list mode on channel page"] = "Blog-/Listenmodus auf der Kanalseite verwenden";
-App::$strings["(comments displayed separately)"] = "(Kommentare werden separat angezeigt)";
-App::$strings["Use blog/list mode on grid page"] = "Blog-/Listenmodus auf der Netzwerkseite verwenden";
-App::$strings["Channel page max height of content (in pixels)"] = "Maximale Höhe von Beitragsblöcken auf der Kanalseite (in Pixeln)";
-App::$strings["click to expand content exceeding this height"] = "Blöcke, deren Inhalt diese Höhe überschreitet, können per Klick vergrößert werden.";
-App::$strings["Grid page max height of content (in pixels)"] = "Maximale Höhe (in Pixel) des Inhalts der Netzwerkseite";
+App::$strings["Settings updated."] = "Einstellungen aktualisiert.";
App::$strings["Nobody except yourself"] = "Niemand außer Dir selbst";
App::$strings["Only those you specifically allow"] = "Nur die, denen Du es explizit erlaubst";
App::$strings["Approved connections"] = "Angenommene Verbindungen";
@@ -890,7 +1361,7 @@ App::$strings["Private - <em>default private, never open or public</em>"] = "Pri
App::$strings["Blocked - <em>default blocked to/from everybody</em>"] = "Blockiert – <em>Alle standardmäßig blockiert</em>";
App::$strings["Allow others to tag your posts"] = "Erlaube anderen, Deine Beiträge zu verschlagworten";
App::$strings["Often used by the community to retro-actively flag inappropriate content"] = "Wird oft von der Community genutzt um rückwirkend anstößigen Inhalt zu markieren";
-App::$strings["Advanced Privacy Settings"] = "Fortgeschrittene Privatsphäre-Einstellungen";
+App::$strings["Channel Permission Limits"] = "Kanal-Berechtigungslimits";
App::$strings["Expire other channel content after this many days"] = "Den Inhalt anderer Kanäle nach dieser Anzahl Tage verfallen lassen";
App::$strings["0 or blank to use the website limit."] = "0 oder leer lassen, um den voreingestellten Wert der Webseite zu verwenden.";
App::$strings["This website expires after %d days."] = "Diese Webseite läuft nach %d Tagen ab.";
@@ -898,8 +1369,7 @@ App::$strings["This website does not expire imported content."] = "Diese Webseit
App::$strings["The website limit takes precedence if lower than your limit."] = "Das Verfallslimit der Webseite hat Vorrang, wenn es niedriger als Deines hier ist.";
App::$strings["Maximum Friend Requests/Day:"] = "Maximale Kontaktanfragen pro Tag:";
App::$strings["May reduce spam activity"] = "Kann die Spam-Aktivität verringern";
-App::$strings["Default Post and Publish Permissions"] = "Standard-Berechtigungen für Beiträge und andere Inhalte";
-App::$strings["(click to open/close)"] = "(zum öffnen/schließen anklicken)";
+App::$strings["Default Access Control List (ACL)"] = "Standard-Zugriffsberechtigungsliste (ACL)";
App::$strings["Use my default audience setting for the type of object published"] = "Verwende Deine eingestellte Standard-Zielgruppe des jeweiligen Inhaltstyps";
App::$strings["Channel permissions category:"] = "Zugriffsrechte-Kategorie des Kanals:";
App::$strings["Maximum private messages per day from unknown people:"] = "Maximale Anzahl privater Nachrichten pro Tag von unbekannten Leuten:";
@@ -937,523 +1407,66 @@ App::$strings["Notify me of events this many days in advance"] = "Benachrichtige
App::$strings["Must be greater than 0"] = "Muss größer als 0 sein";
App::$strings["Advanced Account/Page Type Settings"] = "Erweiterte Account- und Seitenart-Einstellungen";
App::$strings["Change the behaviour of this account for special situations"] = "Ändere das Verhalten dieses Accounts unter speziellen Umständen";
-App::$strings["Please enable expert mode (in <a href=\"settings/features\">Settings > Additional features</a>) to adjust!"] = "Aktiviere den Expertenmodus (unter <a href=\"settings/features\">Settings > Zusätzliche Funktionen</a>), um hier Einstellungen vorzunehmen!";
App::$strings["Miscellaneous Settings"] = "Sonstige Einstellungen";
App::$strings["Default photo upload folder"] = "Voreingestellter Ordner für hochgeladene Fotos";
App::$strings["%Y - current year, %m - current month"] = "%Y - aktuelles Jahr, %m - aktueller Monat";
App::$strings["Default file upload folder"] = "Voreingestellter Ordner für hochgeladene Dateien";
App::$strings["Personal menu to display in your channel pages"] = "Eigenes Menü zur Anzeige auf den Seiten deines Kanals";
-App::$strings["Remove Channel"] = "Kanal löschen";
App::$strings["Remove this channel."] = "Diesen Kanal löschen";
App::$strings["Firefox Share \$Projectname provider"] = "\$Projectname-Provider für Firefox Share";
App::$strings["Start calendar week on monday"] = "Montag als erster Tag der Kalenderwoche";
-App::$strings["Theme settings updated."] = "Theme-Einstellungen aktualisiert.";
-App::$strings["# Accounts"] = "Anzahl der Konten";
-App::$strings["# blocked accounts"] = "Anzahl der blockierten Konten";
-App::$strings["# expired accounts"] = "Anzahl der abgelaufenen Konten";
-App::$strings["# expiring accounts"] = "Anzahl der ablaufenden Konten";
-App::$strings["# Channels"] = "Anzahl der Kanäle";
-App::$strings["# primary"] = "Anzahl der primären Kanäle";
-App::$strings["# clones"] = "Anzahl der Klone";
-App::$strings["Message queues"] = "Nachrichten-Warteschlangen";
-App::$strings["Your software should be updated"] = "Die installierte Software sollte aktualisiert werden";
-App::$strings["Administration"] = "Administration";
-App::$strings["Summary"] = "Zusammenfassung";
-App::$strings["Registered accounts"] = "Registrierte Konten";
-App::$strings["Pending registrations"] = "Ausstehende Registrierungen";
-App::$strings["Registered channels"] = "Registrierte Kanäle";
-App::$strings["Active plugins"] = "Aktive Plug-Ins";
-App::$strings["Version"] = "Version";
-App::$strings["Repository version (master)"] = "Repository-Version (master)";
-App::$strings["Repository version (dev)"] = "Repository-Version (dev)";
-App::$strings["Site settings updated."] = "Site-Einstellungen aktualisiert.";
-App::$strings["Default"] = "Standard";
-App::$strings["experimental"] = "experimentell";
-App::$strings["unsupported"] = "nicht unterstützt";
-App::$strings["Yes - with approval"] = "Ja - mit Zustimmung";
-App::$strings["My site is not a public server"] = "Mein Server ist kein öffentlicher Server";
-App::$strings["My site has paid access only"] = "Meine Seite hat nur bezahlten Zugriff";
-App::$strings["My site has free access only"] = "Meine Seite hat nur freien Zugriff";
-App::$strings["My site offers free accounts with optional paid upgrades"] = "Mein Server bietet kostenlose Konten mit der Möglichkeit zu bezahlten Upgrades";
-App::$strings["Site"] = "Seite";
-App::$strings["Registration"] = "Registrierung";
-App::$strings["File upload"] = "Dateiupload";
-App::$strings["Policies"] = "Richtlinien";
-App::$strings["Advanced"] = "Fortgeschritten";
-App::$strings["Site name"] = "Seitenname";
-App::$strings["Banner/Logo"] = "Banner/Logo";
-App::$strings["Administrator Information"] = "Administrator-Informationen";
-App::$strings["Contact information for site administrators. Displayed on siteinfo page. BBCode can be used here"] = "Kontaktinformationen für Administratoren des Servers. Wird auf der siteinfo-Seite angezeigt. BBCode kann verwendet werden.";
-App::$strings["System language"] = "System-Sprache";
-App::$strings["System theme"] = "System-Theme";
-App::$strings["Default system theme - may be over-ridden by user profiles - <a href='#' id='cnftheme'>change theme settings</a>"] = "Standard-System-Theme – kann durch Nutzerprofile überschieben werden – <a href='#' id='cnftheme'>Theme-Einstellungen ändern</a>";
-App::$strings["Mobile system theme"] = "Mobile System-Theme:";
-App::$strings["Theme for mobile devices"] = "Theme für mobile Geräte";
-App::$strings["Allow Feeds as Connections"] = "Feeds als Verbindungen erlauben";
-App::$strings["(Heavy system resource usage)"] = "(führt zu hoher Systemlast)";
-App::$strings["Maximum image size"] = "Maximale Bildgröße";
-App::$strings["Maximum size in bytes of uploaded images. Default is 0, which means no limits."] = "Maximale Größe hochgeladener Bilder in Bytes. Standard ist 0 (keine Einschränkung).";
-App::$strings["Does this site allow new member registration?"] = "Erlaubt dieser Server die Registrierung neuer Nutzer?";
-App::$strings["Invitation only"] = "Nur mit Einladung";
-App::$strings["Only allow new member registrations with an invitation code. Above register policy must be set to Yes."] = "Erlaube die Neuregistrierung von Mitglieder nur mit einem Einladungscode. Die Registrierungs-Politik muss oben auf Ja gesetzt werden.";
-App::$strings["Which best describes the types of account offered by this hub?"] = "Was ist die passendste Beschreibung der Konten auf diesem Hub?";
-App::$strings["Register text"] = "Registrierungstext";
-App::$strings["Will be displayed prominently on the registration page."] = "Wird gut sichtbar auf der Registrierungs-Seite angezeigt.";
-App::$strings["Site homepage to show visitors (default: login box)"] = "Homepage des Hubs, die Besuchern angezeigt wird (Voreinstellung: Anmeldemaske)";
-App::$strings["example: 'public' to show public stream, 'page/sys/home' to show a system webpage called 'home' or 'include:home.html' to include a file."] = "Beispiele: 'public', um den Stream aller öffentlichen Beiträge anzuzeigen, 'page/sys/home', um eine System-Webseite namens 'home' anzuzeigen, 'include:home.html', um eine Datei einzufügen.";
-App::$strings["Preserve site homepage URL"] = "Homepage-URL schützen";
-App::$strings["Present the site homepage in a frame at the original location instead of redirecting"] = "Zeigt die Homepage an der Original-URL in einem Frame an, statt auf die eigentliche Adresse der Seite umzuleiten.";
-App::$strings["Accounts abandoned after x days"] = "Konten gelten nach X Tagen als unbenutzt";
-App::$strings["Will not waste system resources polling external sites for abandonded accounts. Enter 0 for no time limit."] = "Verschwende keine Systemressourcen auf das Pollen von externen Seiten, wenn das Konto nicht mehr benutzt wird. Trage hier 0 für kein zeitliches Limit.";
-App::$strings["Allowed friend domains"] = "Erlaubte Domains für Kontakte";
-App::$strings["Comma separated list of domains which are allowed to establish friendships with this site. Wildcards are accepted. Empty to allow any domains"] = "Liste der Domains, die für Freundschaften erlaubt sind, durch Kommas getrennt. Platzhalter werden akzeptiert. Leer lassen, um alle Domains zu erlauben.";
-App::$strings["Allowed email domains"] = "Erlaubte Domains für E-Mails";
-App::$strings["Comma separated list of domains which are allowed in email addresses for registrations to this site. Wildcards are accepted. Empty to allow any domains"] = "Liste der Domains, die für E-Mail-Adressen bei der Registrierung erlaubt sind, durch Kommas getrennt. Platzhalter werden akzeptiert. Leer lassen, um alle Domains zu erlauben.";
-App::$strings["Not allowed email domains"] = "Nicht erlaubte Domains für E-Mails";
-App::$strings["Comma separated list of domains which are not allowed in email addresses for registrations to this site. Wildcards are accepted. Empty to allow any domains, unless allowed domains have been defined."] = "Domains in E-Mail-Adressen, die keine Erlaubnis erhalten, sich auf Deinem Hub zu registrieren. Mehrere Domains können durch Kommas getrennt werden. Platzhalter (*/?) sind möglich. Keine Eingabe bedeutet keine Einschränkung, unabhängig davon, ob unter erlaubte Domains etwas eingegeben wurde.";
-App::$strings["Verify Email Addresses"] = "E-Mail-Adressen überprüfen";
-App::$strings["Check to verify email addresses used in account registration (recommended)."] = "Aktivieren, um die Überprüfung von E-Mail-Adressen bei der Registrierung von Benutzerkonten zu aktivieren (empfohlen).";
-App::$strings["Force publish"] = "Veröffentlichung erzwingen";
-App::$strings["Check to force all profiles on this site to be listed in the site directory."] = "Die Veröffentlichung aller Profile dieses Servers im Verzeichnis erzwingen.";
-App::$strings["Import Public Streams"] = "Öffentliche Beiträge importieren";
-App::$strings["Import and allow access to public content pulled from other sites. Warning: this content is unmoderated."] = "Öffentliche Beiträge von anderen Servern importieren und zur Verfügung stellen. Warnung: Diese Inhalte sind nicht moderiert.";
-App::$strings["Login on Homepage"] = "Log-in auf der Startseite";
-App::$strings["Present a login box to visitors on the home page if no other content has been configured."] = "Zeigt Besuchern der Homepage eine Anmeldemaske, falls keine anderen Inhalte konfiguriert wurden.";
-App::$strings["Enable context help"] = "Kontext-Hilfe aktivieren";
-App::$strings["Display contextual help for the current page when the help button is pressed."] = "Zeigt Kontext-sensitive Hilfe für die aktuelle Seite an, wenn der Hilfe-Knopf geklickt wird.";
-App::$strings["Directory Server URL"] = "Verzeichnisserver-URL";
-App::$strings["Default directory server"] = "Standard-Verzeichnisserver";
-App::$strings["Proxy user"] = "Proxy Benutzer";
-App::$strings["Proxy URL"] = "Proxy URL";
-App::$strings["Network timeout"] = "Netzwerk-Timeout";
-App::$strings["Value is in seconds. Set to 0 for unlimited (not recommended)."] = "Wert in Sekunden. 0 für unbegrenzt (nicht empfohlen).";
-App::$strings["Delivery interval"] = "Auslieferung Intervall";
-App::$strings["Delay background delivery processes by this many seconds to reduce system load. Recommend: 4-5 for shared hosts, 2-3 for virtual private servers. 0-1 for large dedicated servers."] = "Verzögere im Hintergrund laufende Auslieferungsprozesse um die angegebene Anzahl Sekunden, um die Systemlast zu verringern. Empfehlungen: 4-5 für Shared Hosts, 2-3 für VPS, 0-1 für große dedizierte Server.";
-App::$strings["Deliveries per process"] = "Zustellungen pro Prozess";
-App::$strings["Number of deliveries to attempt in a single operating system process. Adjust if necessary to tune system performance. Recommend: 1-5."] = "Anzahl der Zustellungen, die innerhalb eines einzelnen Betriebssystemprozesses versucht werden. Anpassen, falls nötig, um die System-Performance zu verbessern. Empfehlung: 1-5.";
-App::$strings["Poll interval"] = "Abfrageintervall";
-App::$strings["Delay background polling processes by this many seconds to reduce system load. If 0, use delivery interval."] = "Verzögere Hintergrundprozesse um diese Anzahl Sekunden, um die Systemlast zu reduzieren. Bei 0 wird das Auslieferungsintervall verwendet.";
-App::$strings["Maximum Load Average"] = "Maximales Load Average";
-App::$strings["Maximum system load before delivery and poll processes are deferred - default 50."] = "Maximale Systemlast, bevor Verteil- und Empfangsprozesse verschoben werden – Standard 50";
-App::$strings["Expiration period in days for imported (grid/network) content"] = "Setze den Zeitraum (in Tagen), ab wann importierte (aus dem Netzwerk) Inhalte ablaufen sollen";
-App::$strings["0 for no expiration of imported content"] = "0 = keine Löschung importierter Inhalte";
-App::$strings["Lock feature %s"] = "Blockiere die Funktion %s";
-App::$strings["Manage Additional Features"] = "Zusätzliche Funktionen verwalten";
-App::$strings["No server found"] = "Kein Server gefunden";
-App::$strings["ID"] = "ID";
-App::$strings["for channel"] = "für Kanal";
-App::$strings["on server"] = "auf Server";
-App::$strings["Server"] = "Server";
-App::$strings["By default, unfiltered HTML is allowed in embedded media. This is inherently insecure."] = "Standardmäßig wird ungefiltertes HTML in eingebetteten Inhalten zugelassen. Das ist prinzipiell unsicher.";
-App::$strings["The recommended setting is to only allow unfiltered HTML from the following sites:"] = "Die empfohlene Einstellung ist, ungefiltertes HTML nur von den nachfolgenden Webseiten zu erlauben:";
-App::$strings["https://youtube.com/<br />https://www.youtube.com/<br />https://youtu.be/<br />https://vimeo.com/<br />https://soundcloud.com/<br />"] = "https://youtube.com/<br />https://www.youtube.com/<br />https://youtu.be/<br />https://vimeo.com/<br />https://soundcloud.com/<br />";
-App::$strings["All other embedded content will be filtered, <strong>unless</strong> embedded content from that site is explicitly blocked."] = "Alle anderen eingebetteten Inhalte werden gefiltert, <strong>es sei denn</strong>, eingebettete Inhalte von einer bestimmten Seite sind explizit blockiert.";
-App::$strings["Security"] = "Sicherheit";
-App::$strings["Block public"] = "Öffentlichen Zugriff blockieren";
-App::$strings["Check to block public access to all otherwise public personal pages on this site unless you are currently authenticated."] = "Blockiere den öffentlichen Zugriff auf alle ansonsten öffentlichen persönlichen Seiten dieser Website, sofern ein Besucher nicht angemeldet ist.";
-App::$strings["Set \"Transport Security\" HTTP header"] = "Setze den \"Transport Security\" HTTP Header";
-App::$strings["Set \"Content Security Policy\" HTTP header"] = "Setze den \"Content Security Policy\" HTTP Header";
-App::$strings["Allow communications only from these sites"] = "Kommunikation nur von diesen Seiten erlauben";
-App::$strings["One site per line. Leave empty to allow communication from anywhere by default"] = "Ein Eintrag pro Zeile. Lasse das Feld leer, um Kommunikation grundlegend von überall her zu erlauben.";
-App::$strings["Block communications from these sites"] = "Kommunikation von diesen Seiten blockieren";
-App::$strings["Allow communications only from these channels"] = "Kommunikation nur von diesen Kanälen erlauben";
-App::$strings["One channel (hash) per line. Leave empty to allow from any channel by default"] = "Ein Kanal (hash) pro Zeile. Leerlassen um jeden Kanal zuzulassen. ";
-App::$strings["Block communications from these channels"] = "Kommunikation von folgenden Kanälen blockieren";
-App::$strings["Only allow embeds from secure (SSL) websites and links."] = "Erlaube Einbettungen nur von sicheren (SSL) Webseiten und Links.";
-App::$strings["Allow unfiltered embedded HTML content only from these domains"] = "Erlaube Einbettung von Inhalten mit ungefiltertem HTML nur von diesen Domains";
-App::$strings["One site per line. By default embedded content is filtered."] = "Eine Website/Domain pro Zeile. Standardmäßig wird eingebetteter Inhalt gefiltert.";
-App::$strings["Block embedded HTML from these domains"] = "Eingebettete HTML Inhalte von diesen Seiten blockieren";
-App::$strings["Update has been marked successful"] = "Update wurde als erfolgreich markiert";
-App::$strings["Executing %s failed. Check system logs."] = "Ausführen von %s fehlgeschlagen. Überprüfe die Systemprotokolle.";
-App::$strings["Update %s was successfully applied."] = "Update %s wurde erfolgreich ausgeführt.";
-App::$strings["Update %s did not return a status. Unknown if it succeeded."] = "Update %s lieferte keinen Rückgabewert. Erfolg unbekannt.";
-App::$strings["Update function %s could not be found."] = "Update-Funktion %s konnte nicht gefunden werden.";
-App::$strings["No failed updates."] = "Keine fehlgeschlagenen Aktualisierungen.";
-App::$strings["Failed Updates"] = "Fehlgeschlagene Aktualisierungen";
-App::$strings["Mark success (if update was manually applied)"] = "Als erfolgreich markieren (wenn das Update manuell ausgeführt wurde)";
-App::$strings["Attempt to execute this update step automatically"] = "Versuche, diesen Updateschritt automatisch auszuführen";
-App::$strings["Queue Statistics"] = "Warteschlangenstatistiken";
-App::$strings["Total Entries"] = "Einträge insgesamt";
-App::$strings["Priority"] = "Priorität";
-App::$strings["Destination URL"] = "Ziel-URL";
-App::$strings["Mark hub permanently offline"] = "Hub als permanent offline markieren";
-App::$strings["Empty queue for this hub"] = "Warteschlange für diesen Hub leeren";
-App::$strings["Last known contact"] = "Letzter Kontakt";
-App::$strings["%s account blocked/unblocked"] = array(
- 0 => "%s Konto blockiert/freigegeben",
- 1 => "%s Konten blockiert/freigegeben",
-);
-App::$strings["%s account deleted"] = array(
- 0 => "%s Konto gelöscht",
- 1 => "%s Konten gelöscht",
-);
-App::$strings["Account not found"] = "Konto nicht gefunden";
-App::$strings["Account '%s' deleted"] = "Konto '%s' gelöscht";
-App::$strings["Account '%s' blocked"] = "Konto '%s' blockiert";
-App::$strings["Account '%s' unblocked"] = "Konto '%s' freigegeben";
-App::$strings["Accounts"] = "Konten";
-App::$strings["select all"] = "Alle auswählen";
-App::$strings["Registrations waiting for confirm"] = "Registrierungen warten auf Bestätigung";
-App::$strings["Request date"] = "Antragsdatum";
-App::$strings["Email"] = "E-Mail";
-App::$strings["No registrations."] = "Keine Registrierungen.";
-App::$strings["Deny"] = "Verweigern";
-App::$strings["All Channels"] = "Alle Kanäle";
-App::$strings["Register date"] = "Registrierungs-Datum";
-App::$strings["Last login"] = "Letzte Anmeldung";
-App::$strings["Expires"] = "Verfällt";
-App::$strings["Service Class"] = "Service-Klasse";
-App::$strings["Selected accounts will be deleted!\\n\\nEverything these accounts had posted on this site will be permanently deleted!\\n\\nAre you sure?"] = "Die ausgewählten Konten werden gelöscht!\\n\\nAlles, was diese Konten auf diesem Hub veröffentlicht haben, wird endgültig gelöscht werden!\\n\\nBist du dir sicher?";
-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?"] = "Das Konto {0} wird gelöscht!\\n\\nAlles, was dieses Konto auf diesem Hub veröffentlicht hat, wird endgültig gelöscht werden!\\n\\nBist Du sicher?";
-App::$strings["%s channel censored/uncensored"] = array(
- 0 => "%s Kanal gesperrt/freigegeben",
- 1 => "%s Kanäle gesperrt/freigegeben",
-);
-App::$strings["%s channel code allowed/disallowed"] = array(
- 0 => "Code für %s Kanal gesperrt/freigegeben",
- 1 => "Code für %s Kanäle gesperrt/freigegeben",
-);
-App::$strings["%s channel deleted"] = array(
- 0 => "%s Kanal gelöscht",
- 1 => "%s Kanäle gelöscht",
-);
-App::$strings["Channel not found"] = "Kanal nicht gefunden";
-App::$strings["Channel '%s' deleted"] = "Kanal '%s' gelöscht";
-App::$strings["Channel '%s' censored"] = "Kanal '%s' gesperrt";
-App::$strings["Channel '%s' uncensored"] = "Kanal '%s' freigegeben";
-App::$strings["Channel '%s' code allowed"] = "Code für Kanal '%s' freigegeben";
-App::$strings["Channel '%s' code disallowed"] = "Code für Kanal '%s' gesperrt";
-App::$strings["Channels"] = "Kanäle";
-App::$strings["Censor"] = "Sperren";
-App::$strings["Uncensor"] = "Freigeben";
-App::$strings["Allow Code"] = "Code erlauben";
-App::$strings["Disallow Code"] = "Code sperren";
-App::$strings["Channel"] = "Kanal";
-App::$strings["UID"] = "UID";
-App::$strings["Selected channels will be deleted!\\n\\nEverything that was posted in these channels on this site will be permanently deleted!\\n\\nAre you sure?"] = "Alle ausgewählten Kanäle werden gelöscht!\\n\\nAlles was von diesen Kanälen auf diesem Server geschrieben wurde, wird dauerhaft gelöscht!\\n\\nBist Du sicher?";
-App::$strings["The channel {0} will be deleted!\\n\\nEverything that was posted in this channel on this site will be permanently deleted!\\n\\nAre you sure?"] = "Der Kanal {0} wird gelöscht!\\n\\nAlles was von diesem Kanal auf diesem Server geschrieben wurde, wird gelöscht!\\n\\nBist Du sicher?";
-App::$strings["Plugin %s disabled."] = "Plug-In %s deaktiviert.";
-App::$strings["Plugin %s enabled."] = "Plug-In %s aktiviert.";
-App::$strings["Disable"] = "Deaktivieren";
-App::$strings["Enable"] = "Aktivieren";
-App::$strings["Plugins"] = "Plug-Ins";
-App::$strings["Toggle"] = "Umschalten";
-App::$strings["Settings"] = "Einstellungen";
-App::$strings["Author: "] = "Autor: ";
-App::$strings["Maintainer: "] = "Betreuer:";
-App::$strings["Minimum project version: "] = "Minimale Version des Projekts:";
-App::$strings["Maximum project version: "] = "Maximale Version des Projekts:";
-App::$strings["Minimum PHP version: "] = "Minimale PHP Version:";
-App::$strings["Requires: "] = "Benötigt:";
-App::$strings["Disabled - version incompatibility"] = "Abgeschaltet - Versionsinkompatibilität";
-App::$strings["Enter the public git repository URL of the plugin repo."] = "Gib die öffentliche Git-Repository-URL des Plugin-Repository an.";
-App::$strings["Plugin repo git URL"] = "Plugin-Repository Git URL";
-App::$strings["Custom repo name"] = "Benutzerdefinierter Repository-Name";
-App::$strings["(optional)"] = "(optional)";
-App::$strings["Download Plugin Repo"] = "Plugin-Repository herunterladen";
-App::$strings["Install new repo"] = "Neues Repository installieren";
-App::$strings["Install"] = "Installieren";
-App::$strings["Manage Repos"] = "Repositorien verwalten";
-App::$strings["Installed Plugin Repositories"] = "Installierte Plugin-Repositorien";
-App::$strings["Install a New Plugin Repository"] = "Ein neues Plugin-Repository installieren";
-App::$strings["Switch branch"] = "Zweig/Branch wechseln";
-App::$strings["No themes found."] = "Keine Theme gefunden.";
-App::$strings["Screenshot"] = "Bildschirmfoto";
-App::$strings["Themes"] = "Themes";
-App::$strings["[Experimental]"] = "[Experimentell]";
-App::$strings["[Unsupported]"] = "[Nicht unterstützt]";
-App::$strings["Log settings updated."] = "Protokoll-Einstellungen aktualisiert.";
-App::$strings["Logs"] = "Protokolle";
-App::$strings["Clear"] = "Leeren";
-App::$strings["Debugging"] = "Debugging";
-App::$strings["Log file"] = "Protokolldatei";
-App::$strings["Must be writable by web server. Relative to your top-level webserver directory."] = "Muss für den Web-Server schreibbar sein. Relativ zum Hubzilla-Stammverzeichnis.";
-App::$strings["Log level"] = "Protokollstufe";
-App::$strings["New Profile Field"] = "Neues Profilfeld";
-App::$strings["Field nickname"] = "Kurzname für das Feld";
-App::$strings["System name of field"] = "Systemname des Feldes";
-App::$strings["Input type"] = "Art des Inhalts";
-App::$strings["Field Name"] = "Feldname";
-App::$strings["Label on profile pages"] = "Bezeichnung auf Profilseiten";
-App::$strings["Help text"] = "Hilfetext";
-App::$strings["Additional info (optional)"] = "Zusätzliche Informationen (optional)";
-App::$strings["Field definition not found"] = "Feld-Definition nicht gefunden";
-App::$strings["Edit Profile Field"] = "Profilfeld bearbeiten";
-App::$strings["Profile Fields"] = "Profil Felder";
-App::$strings["Basic Profile Fields"] = "Notwendige Profil Felder";
-App::$strings["Advanced Profile Fields"] = "Erweiterte Profil Felder";
-App::$strings["(In addition to basic fields)"] = "(zusätzlich zu notwendige Felder)";
-App::$strings["All available fields"] = "Alle verfügbaren Felder";
-App::$strings["Custom Fields"] = "Benutzerdefinierte Felder";
-App::$strings["Create Custom Field"] = "Erstelle benutzerdefiniertes Feld";
-App::$strings["Name or caption"] = "Name oder Titel";
-App::$strings["Examples: \"Bob Jameson\", \"Lisa and her Horses\", \"Soccer\", \"Aviation Group\""] = "Beispiele: „Horst Weidinger“, „Lisa und ihr Meerschweinchen“, „Fußball“, „Segelflieger-Forum“ ";
-App::$strings["Choose a short nickname"] = "Wähle einen kurzen Spitznamen";
-App::$strings["Your nickname will be used to create an easy to remember channel address e.g. nickname%s"] = "Dein Spitzname wird verwendet, um eine leicht zu merkende Kanal-Adresse (ähnlich einer E-Mail-Adresse) zu erzeugen, die Du mit anderen austauschen kannst, z.B. nickname%s";
-App::$strings["Channel role and privacy"] = "Kanaltyp und Privatspäre-Einstellungen";
-App::$strings["Select a channel role with your privacy requirements."] = "Wähle einen passenden Kanaltyp mit den zugehörigen Voreinstellungen zur Privatsphäre.";
-App::$strings["Read more about roles"] = "Mehr Informationen über Rollen";
-App::$strings["Create Channel"] = "Einen neuen Kanal anlegen";
-App::$strings["A channel is your identity on this network. It can represent a person, a blog, or a forum to name a few. Channels can make connections with other channels to share information with highly detailed permissions."] = "Ein Kanal ist Deine Identität in diesem Netzwerk. Er kann eine Person, ein Blog oder ein Forum repräsentieren, nur um ein paar Beispiele zu nennen. Kanäle können Verbindungen miteinander eingehen, um Informationen zu teilen, jeweils basierend auf sehr detaillierten Berechtigungseinstellungen.";
-App::$strings["or <a href=\"import\">import an existing channel</a> from another location."] = "oder <a href=\"import\">importiere einen bestehenden Kanal</a> von einem anderen Server.";
-App::$strings["sent you a private message"] = "hat Dir eine private Nachricht geschickt";
-App::$strings["added your channel"] = "hat deinen Kanal hinzugefügt";
-App::$strings["g A l F d"] = "l, d. F, G:i \\U\\h\\r";
-App::$strings["[today]"] = "[Heute]";
-App::$strings["posted an event"] = "hat einen Termin veröffentlicht";
-App::$strings["Invalid request identifier."] = "Ungültiger Anfrage-Identifikator.";
-App::$strings["Discard"] = "Verwerfen";
-App::$strings["Mark all system notifications seen"] = "Markiere alle System-Benachrichtigungen als gesehen";
-App::$strings["Poke"] = "Anstupsen";
-App::$strings["Poke somebody"] = "Jemanden anstupsen";
-App::$strings["Poke/Prod"] = "Anstupsen/Knuffen";
-App::$strings["Poke, prod or do other things to somebody"] = "Jemanden anstupsen, knuffen oder sonstiges";
-App::$strings["Recipient"] = "Empfänger";
-App::$strings["Choose what you wish to do to recipient"] = "Wähle, was Du mit dem/r Empfänger/in tun willst";
-App::$strings["Make this post private"] = "Diesen Beitrag privat machen";
-App::$strings["Unable to find your hub."] = "Konnte Deinen Server nicht finden.";
-App::$strings["Post successful."] = "Veröffentlichung erfolgreich.";
-App::$strings["Invalid profile identifier."] = "Ungültiger Profil-Identifikator";
-App::$strings["Profile Visibility Editor"] = "Profil-Sichtbarkeits-Editor";
-App::$strings["Profile"] = "Profil";
-App::$strings["Click on a contact to add or remove."] = "Klicke auf einen Kontakt, um ihn hinzuzufügen oder zu entfernen.";
-App::$strings["Visible To"] = "Sichtbar für";
-App::$strings["This setting requires special processing and editing has been blocked."] = "Diese Einstellung erfordert eine besondere Verarbeitung und ist blockiert.";
-App::$strings["Configuration Editor"] = "Konfigurationseditor";
-App::$strings["Warning: Changing some settings could render your channel inoperable. Please leave this page unless you are comfortable with and knowledgeable about how to correctly use this feature."] = "Warnung: Einige Einstellungen können Deinen Kanal funktionsunfähig machen. Bitte verlasse diese Seite, es sei denn Du bist vertraut damit, wie dieses Feature korrekt verwendet wird.";
-App::$strings["Not found"] = "Nicht gefunden";
-App::$strings["Wiki"] = "Wiki";
-App::$strings["Sandbox"] = "Sandbox";
-App::$strings["\"# Wiki Sandbox\\n\\nContent you **edit** and **preview** here *will not be saved*.\""] = "\"# Wiki Sandkasten\\n\\nInhalte, die Du hier **veränderst** und **als Vorschau anzeigst**, *werden nicht gespeichert*.\"";
-App::$strings["Revision Comparison"] = "Revisionsvergleich";
-App::$strings["Revert"] = "Rückgängig machen";
-App::$strings["Enter the name of your new wiki:"] = "Gib einen Namen für Dein neues Wiki ein:";
-App::$strings["Enter the name of the new page:"] = "Geben Sie den Namen der neuen Seite ein:";
-App::$strings["Enter the new name:"] = "Geben Sie den neuen Namen ein:";
-App::$strings["Embed image from photo albums"] = "Bild aus Fotoalben einbetten";
-App::$strings["Embed an image from your albums"] = "Betten Sie ein Bild aus Ihren Alben ein";
-App::$strings["OK"] = "Ok";
-App::$strings["Choose images to embed"] = "Wählen Sie Bilder zum Einbetten aus";
-App::$strings["Choose an album"] = "Wählen Sie ein Album aus";
-App::$strings["Choose a different album..."] = "Wählen Sie ein anderes Album aus...";
-App::$strings["Error getting album list"] = "Fehler beim Holen der Albenliste";
-App::$strings["Error getting photo link"] = "Fehler beim Holen des Fotolinks";
-App::$strings["Error getting album"] = "Fehler beim Holen des Albums";
-App::$strings["Version %s"] = "Version %s";
-App::$strings["Installed plugins/addons/apps:"] = "Installierte Plugins/Addons/Apps";
-App::$strings["No installed plugins/addons/apps"] = "Keine installierten Plugins/Addons/Apps";
-App::$strings["This is a hub of \$Projectname - a global cooperative network of decentralized privacy enhanced websites."] = "Dieser Hub ist Teil von \$Projectname – ein globales, kooperatives Netzwerk aus dezentralen Websites, die Rücksicht auf Deine Privatsphäre nehmen.";
-App::$strings["Tag: "] = "Schlagwort: ";
-App::$strings["Last background fetch: "] = "Letzter Hintergrundabruf:";
-App::$strings["Current load average: "] = "Aktuelles Load Average:";
-App::$strings["Running at web location"] = "Erreichbar unter der Web-Adresse";
-App::$strings["Please visit <a href=\"http://hubzilla.org\">hubzilla.org</a> to learn more about \$Projectname."] = "Bitte besuchen Sie <a href=\"http://hubzilla.org\">hubzilla.org</a>, um mehr über \$Projectname zu erfahren.";
-App::$strings["Bug reports and issues: please visit"] = "Probleme oder Fehler gefunden? Bitte besuche";
-App::$strings["\$projectname issues"] = "\$projectname-Bugtracker";
-App::$strings["Suggestions, praise, etc. - please email \"redmatrix\" at librelist - dot com"] = "Vorschläge, Lob, usw.: E-Mail an 'redmatrix' at librelist - dot - com";
-App::$strings["Site Administrators"] = "Administratoren";
-App::$strings["Blocks"] = "Blöcke";
-App::$strings["Block Title"] = "Titel des Blocks";
-App::$strings["Layouts"] = "Layouts";
-App::$strings["Comanche page description language help"] = "Hilfe zur Comanche-Seitenbeschreibungssprache";
-App::$strings["Layout Description"] = "Layout-Beschreibung";
-App::$strings["Download PDL file"] = "PDL-Datei herunterladen";
-App::$strings["Public Hubs"] = "Öffentliche Hubs";
-App::$strings["The listed hubs allow public registration for the \$Projectname network. All hubs in the network are interlinked so membership on any of them conveys membership in the network as a whole. Some hubs may require subscription or provide tiered service plans. The hub itself <strong>may</strong> provide additional details."] = "Die hier aufgeführten Hubs sind öffentlich und erlauben die Registrierung im \$Projectname Netzwerk. Alle Hubs dieses Netzwerks sind miteinander verbunden, so dass die Mitgliedschaft auf einem Hub die Verbindung zu beliebigen Seiten und Kanälen auf anderen Hubs ermöglicht. Es könnte sein, dass einige dieser Hubs kostenpflichtig sind oder abgestufte, je nach Umfang kostenpflichtige Mitgliedschaften anbieten. Auf den Seiten der einzelnen Hubs <strong>könnten</strong> jeweils nähere Informationen dazu stehen.";
-App::$strings["Hub URL"] = "Hub-URL";
-App::$strings["Access Type"] = "Zugriffstyp";
-App::$strings["Registration Policy"] = "Registrierungsrichtlinien";
-App::$strings["Stats"] = "Statistiken";
-App::$strings["Software"] = "Software";
-App::$strings["Ratings"] = "Bewertungen";
-App::$strings["Rate"] = "Bewerten";
-App::$strings["Shift-reload the page or clear browser cache if the new photo does not display immediately."] = "Leere den Browser Cache oder nutze Umschalten-Neu Laden, falls das neue Foto nicht sofort angezeigt wird.";
-App::$strings["Upload Profile Photo"] = "Lade neues Profilfoto hoch";
-App::$strings["Permissions denied."] = "Berechtigung verweigert.";
-App::$strings["Import"] = "Import";
-App::$strings["No channel."] = "Kein Kanal.";
-App::$strings["Common connections"] = "Gemeinsame Verbindungen";
-App::$strings["No connections in common."] = "Keine gemeinsamen Verbindungen.";
-App::$strings["Maximum daily site registrations exceeded. Please try again tomorrow."] = "Maximale Anzahl täglicher Neuanmeldungen erreicht. Bitte versuche es morgen noch einmal.";
-App::$strings["Please indicate acceptance of the Terms of Service. Registration failed."] = "Bitte stimme den Nutzungsbedingungen zu. Registrierung fehlgeschlagen.";
-App::$strings["Passwords do not match."] = "Passwörter stimmen nicht überein.";
-App::$strings["Registration successful. Please check your email for validation instructions."] = "Registrierung erfolgreich. Eine E-Mail mit weiteren Anweisungen wurde an Dich gesendet.";
-App::$strings["Your registration is pending approval by the site owner."] = "Deine Registrierung muss noch vom Betreiber der Seite freigegeben werden.";
-App::$strings["Your registration can not be processed."] = "Deine Registrierung konnte nicht verarbeitet werden.";
-App::$strings["Registration on this hub is disabled."] = "Die Registrierung auf diesem Hub ist nicht möglich.";
-App::$strings["Registration on this hub is by approval only."] = "Eine Registrierung auf diesem Hub erfordert die Zustimmung durch den Administrator.";
-App::$strings["<a href=\"pubsites\">Register at another affiliated hub.</a>"] = "<a href=\"pubsites\">Registriere Dich auf einem der anderen verbundenen Hubs.</a>";
-App::$strings["This site has exceeded the number of allowed daily account registrations. Please try again tomorrow."] = "Die maximale Anzahl täglicher Registrierungen auf diesem Server wurde überschritten. Bitte versuche es morgen noch einmal.";
-App::$strings["Terms of Service"] = "Nutzungsbedingungen";
-App::$strings["I accept the %s for this website"] = "Ich akzeptiere die %s für diese Webseite";
-App::$strings["I am over 13 years of age and accept the %s for this website"] = "Ich bin älter als 13 Jahre und akzeptiere die %s dieser Webseite";
-App::$strings["Your email address"] = "Ihre E-Mail Adresse";
-App::$strings["Choose a password"] = "Passwort";
-App::$strings["Please re-enter your password"] = "Bitte gib Dein Passwort noch einmal ein";
-App::$strings["Please enter your invitation code"] = "Bitte trage Deinen Einladungs-Code ein";
-App::$strings["no"] = "nein";
-App::$strings["yes"] = "ja";
-App::$strings["Membership on this site is by invitation only."] = "Mitgliedschaft auf dieser Seite ist nur nach vorheriger Einladung möglich.";
-App::$strings["Register"] = "Registrieren";
-App::$strings["This site may require email verification after submitting this form. If you are returned to a login page, please check your email for instructions."] = "Diese Seite verlangt möglicherweise eine Emailbestätigung nach dem Ansenden des Formulars. Wenn Du auf eine Login-Seite zurückgeleitet wirst, prüfe bitte auf neue Mail mit entsprechenden Hinweisen.";
-App::$strings["No ratings"] = "Keine Bewertungen";
-App::$strings["Rating: "] = "Bewertung: ";
-App::$strings["Website: "] = "Webseite: ";
-App::$strings["Description: "] = "Beschreibung: ";
-App::$strings["Apps"] = "Apps";
-App::$strings["Unable to create element."] = "Element konnte nicht erstellt werden.";
-App::$strings["Unable to update menu element."] = "Kann Menü-Element nicht aktualisieren.";
-App::$strings["Unable to add menu element."] = "Kann Menü-Bestandteil nicht hinzufügen.";
-App::$strings["Menu Item Permissions"] = "Zugriffsrechte des Menü-Elements";
-App::$strings["Link Name"] = "Name des Links";
-App::$strings["Link or Submenu Target"] = "Ziel des Links oder Untermenüs";
-App::$strings["Enter URL of the link or select a menu name to create a submenu"] = "URL des Links eingeben oder Menünamen wählen, um ein Untermenü anzulegen.";
-App::$strings["Use magic-auth if available"] = "Magic-Auth verwenden, falls verfügbar";
-App::$strings["Open link in new window"] = "Öffne Link in neuem Fenster";
-App::$strings["Order in list"] = "Reihenfolge in der Liste";
-App::$strings["Higher numbers will sink to bottom of listing"] = "Größere Nummern werden weiter unten in der Auflistung einsortiert";
-App::$strings["Submit and finish"] = "Absenden und fertigstellen";
-App::$strings["Submit and continue"] = "Absenden und fortfahren";
-App::$strings["Menu:"] = "Menü:";
-App::$strings["Link Target"] = "Ziel des Links";
-App::$strings["Edit menu"] = "Menü bearbeiten";
-App::$strings["Edit element"] = "Bestandteil bearbeiten";
-App::$strings["Drop element"] = "Bestandteil löschen";
-App::$strings["New element"] = "Neues Bestandteil";
-App::$strings["Edit this menu container"] = "Diesen Menü-Container bearbeiten";
-App::$strings["Add menu element"] = "Menüelement hinzufügen";
-App::$strings["Delete this menu item"] = "Lösche dieses Menü-Bestandteil";
-App::$strings["Edit this menu item"] = "Bearbeite dieses Menü-Bestandteil";
-App::$strings["Menu item not found."] = "Menü-Bestandteil nicht gefunden.";
-App::$strings["Menu item deleted."] = "Menü-Bestandteil gelöscht.";
-App::$strings["Menu item could not be deleted."] = "Menü-Bestandteil kann nicht gelöscht werden.";
-App::$strings["Edit Menu Element"] = "Bearbeite Menü-Bestandteil";
-App::$strings["Link text"] = "Link Text";
-App::$strings["Continue"] = "Fortfahren";
-App::$strings["Premium Channel Setup"] = "Premium-Kanal-Einrichtung";
-App::$strings["Enable premium channel connection restrictions"] = "Einschränkungen für einen Premium-Kanal aktivieren";
-App::$strings["Please enter your restrictions or conditions, such as paypal receipt, usage guidelines, etc."] = "Bitte gib Deine Nutzungsbedingungen ein, z.B. Paypal-Quittung, Richtlinien etc.";
-App::$strings["This channel may require additional steps or acknowledgement of the following conditions prior to connecting:"] = "Unter Umständen sind weitere Schritte oder die Bestätigung der folgenden Bedingungen vor dem Verbinden mit diesem Kanal nötig.";
-App::$strings["Potential connections will then see the following text before proceeding:"] = "Potentielle Kontakte werden den folgenden Text sehen, bevor fortgefahren wird:";
-App::$strings["By continuing, I certify that I have complied with any instructions provided on this page."] = "Indem ich fortfahre, bestätige ich die Erfüllung aller Anweisungen auf dieser Seite.";
-App::$strings["(No specific instructions have been provided by the channel owner.)"] = "(Der Kanal-Besitzer hat keine speziellen Anweisungen hinterlegt.)";
-App::$strings["Restricted or Premium Channel"] = "Eingeschränkter oder Premium-Kanal";
-App::$strings["Select a bookmark folder"] = "Lesezeichenordner wählen";
-App::$strings["Save Bookmark"] = "Lesezeichen speichern";
-App::$strings["URL of bookmark"] = "URL des Lesezeichens";
-App::$strings["Or enter new bookmark folder name"] = "Oder gib einen neuen Namen für den Lesezeichenordner ein";
-App::$strings["No such group"] = "Gruppe nicht gefunden";
-App::$strings["No such channel"] = "Kanal nicht gefunden";
-App::$strings["forum"] = "Forum";
-App::$strings["Search Results For:"] = "Suchergebnisse für:";
-App::$strings["Privacy group is empty"] = "Gruppe ist leer";
-App::$strings["Privacy group: "] = "Gruppe:";
-App::$strings["Invalid connection."] = "Ungültige Verbindung.";
-App::$strings["Please login."] = "Bitte melde dich an.";
-App::$strings["Account removals are not allowed within 48 hours of changing the account password."] = "Das Löschen von Konten innerhalb 48 Stunden nachdem deren Passwort geändert wurde ist nicht erlaubt.";
-App::$strings["Remove This Account"] = "Dieses Konto löschen";
-App::$strings["WARNING: "] = "WARNUNG: ";
-App::$strings["This account and all its channels will be completely removed from the network. "] = "Dieses Konto mit all seinen Kanälen wird vollständig aus dem Netzwerk gelöscht.";
-App::$strings["This action is permanent and can not be undone!"] = "Dieser Schritt ist endgültig und kann nicht rückgängig gemacht werden!";
-App::$strings["Please enter your password for verification:"] = "Bitte gib zur Bestätigung Dein Passwort ein:";
-App::$strings["Remove this account, all its channels and all its channel clones from the network"] = "Dieses Konto, all seine Kanäle sowie alle Kanal-Klone aus dem Netzwerk löschen";
-App::$strings["By default only the instances of the channels located on this hub will be removed from the network"] = "Standardmäßig werden nur die Kanalklone auf diesem \$Projectname-Hub aus dem Netzwerk entfernt";
-App::$strings["Channel removals are not allowed within 48 hours of changing the account password."] = "Innerhalb von 48 Stunden nach einer Änderung des Passworts können keine Kanäle gelöscht werden.";
-App::$strings["Remove This Channel"] = "Diesen Kanal löschen";
-App::$strings["This channel will be completely removed from the network. "] = "Dieser Kanal wird vollständig aus dem Netzwerk gelöscht.";
-App::$strings["Remove this channel and all its clones from the network"] = "Lösche diesen Kanal und all seine Klone aus dem Netzwerk";
-App::$strings["By default only the instance of the channel located on this hub will be removed from the network"] = "Standardmäßig wird der Kanal nur auf diesem Server gelöscht, seine Klone verbleiben im Netzwerk";
-App::$strings["Export Channel"] = "Kanal exportieren";
-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."] = "Exportiert die grundlegenden Kanal-Informationen in eine kleine Datei. Diese stellt eine Sicherung Deiner Verbindungen, Berechtigungen, Profile und Basisdaten bereit, die für den Import auf einem anderen Hub verwendet werden kann, aber nicht die Beiträge Deines Kanals enthält.";
-App::$strings["Export Content"] = "Kanal und Inhalte exportieren";
-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."] = "Exportiert Deine Kanal-Informationen sowie alle zugehörigen Inhalte in eine JSON-Sicherungsdatei. Die sichert alle Verbindungen, Berechtigungen, Profildaten und Deine Beiträge aus mehreren Monaten. Diese Datei kann SEHR groß werden! Bitte habe ein wenig Geduld – es kann mehrere Minuten dauern, bis der Download startet.";
-App::$strings["Export your posts from a given year."] = "Exportiert die Beiträge des angegebenen Jahres.";
-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."] = "Du kannst auch die Beiträge und Konversationen eines bestimmten Jahres oder Monats exportieren. Ändere das Datum in der Adresszeile Deines Browsers, um andere Zeiträume zu wählen. Falls der Export fehlschlägt (vermutlich, weil auf diesem Hub nicht genügend Speicher zur Verfügung steht), versuche es noch einmal mit einer kleineren Zeitspanne.";
-App::$strings["To select all posts for a given year, such as this year, visit <a href=\"%1\$s\">%2\$s</a>"] = "Um alle Beiträge eines bestimmten Jahres, zum Beispiel dieses Jahres, auszuwählen, klicke <a href=\"%1\$s\">%2\$s</a>.";
-App::$strings["To select all posts for a given month, such as January of this year, visit <a href=\"%1\$s\">%2\$s</a>"] = "Um alle Beiträge eines bestimmten Monats auszuwählen, zum Beispiel vom Januar diesen Jahres, klicke <a href=\"%1\$s\">%2\$s</a>.";
-App::$strings["These content files may be imported or restored by visiting <a href=\"%1\$s\">%2\$s</a> on any site containing your channel. For best results please import or restore these in date order (oldest first)."] = "Diese Inhalts-Sicherungen können wiederhergestellt werden, indem Du <a href=\"%1\$s\">%2\$s</a> auf jeglichem Hub besuchst, der diesen Kanal enthält. Das funktioniert am besten, wenn Du dabei die zeitliche Reihenfolge einhältst, also die Sicherungen für den ältesten Zeitraum zuerst importierst.";
-App::$strings["Thing updated"] = "Sache aktualisiert";
-App::$strings["Object store: failed"] = "Speichern des Objekts fehlgeschlagen";
-App::$strings["Thing added"] = "Sache hinzugefügt";
-App::$strings["OBJ: %1\$s %2\$s %3\$s"] = "OBJ: %1\$s %2\$s %3\$s";
-App::$strings["Show Thing"] = "Sache anzeigen";
-App::$strings["item not found."] = "Eintrag nicht gefunden";
-App::$strings["Edit Thing"] = "Sache bearbeiten";
-App::$strings["Select a profile"] = "Wähle ein Profil";
-App::$strings["Post an activity"] = "Aktivitätsnachricht senden";
-App::$strings["Only sends to viewers of the applicable profile"] = "Nur an Betrachter des ausgewählten Profils senden";
-App::$strings["Name of thing e.g. something"] = "Name der Sache, z. B. irgendwas";
-App::$strings["URL of thing (optional)"] = "URL der Sache (optional)";
-App::$strings["URL for photo of thing (optional)"] = "URL eines Fotos der Sache (optional)";
-App::$strings["Add Thing to your Profile"] = "Die Sache Deinem Profil hinzufügen";
-App::$strings["Items tagged with: %s"] = "Beiträge mit Schlagwort: %s";
-App::$strings["Search results for: %s"] = "Suchergebnisse für: %s";
-App::$strings["No service class restrictions found."] = "Keine Dienstklassenbeschränkungen gefunden.";
-App::$strings["Website:"] = "Webseite:";
-App::$strings["Remote Channel [%s] (not yet known on this site)"] = "Kanal [%s] (auf diesem Server noch unbekannt)";
-App::$strings["Rating (this information is public)"] = "Bewertung (öffentlich sichtbar)";
-App::$strings["Optionally explain your rating (this information is public)"] = "Optional kannst du deine Bewertung erklären (öffentlich sichtbar)";
-App::$strings["Authentication failed."] = "Authentifizierung fehlgeschlagen.";
-App::$strings["Remote Authentication"] = "Entfernte Authentifizierung";
-App::$strings["Enter your channel address (e.g. channel@example.com)"] = "Deine Kanal-Adresse (z. B. channel@example.com)";
-App::$strings["Authenticate"] = "Authentifizieren";
-App::$strings["Files: shared with me"] = "Dateien, die mit mir geteilt wurden";
-App::$strings["NEW"] = "NEU";
-App::$strings["Remove all files"] = "Alle Dateien löschen";
-App::$strings["Remove this file"] = "Diese Datei löschen";
-App::$strings["Channel added."] = "Kanal hinzugefügt.";
-App::$strings["Failed to create source. No channel selected."] = "Konnte die Quelle nicht anlegen. Kein Kanal ausgewählt.";
-App::$strings["Source created."] = "Quelle erstellt.";
-App::$strings["Source updated."] = "Quelle aktualisiert.";
-App::$strings["*"] = "*";
-App::$strings["Channel Sources"] = "Kanal-Quellen";
-App::$strings["Manage remote sources of content for your channel."] = "Externe Inhaltsquellen für Deinen Kanal verwalten.";
-App::$strings["New Source"] = "Neue Quelle";
-App::$strings["Import all or selected content from the following channel into this channel and distribute it according to your channel settings."] = "Importiere alle oder ausgewählte Inhalte des folgenden Kanals in diesen Kanal und verteile sie gemäß der Einstellungen dieses Kanals.";
-App::$strings["Only import content with these words (one per line)"] = "Importiere nur Beiträge, die folgende Wörter (eines pro Zeile) enthalten";
-App::$strings["Leave blank to import all public content"] = "Leer lassen, um alle öffentlichen Beiträge zu importieren";
-App::$strings["Channel Name"] = "Name des Kanals";
-App::$strings["Add the following categories to posts imported from this source (comma separated)"] = "Füge die folgenden Kategorien zu Beiträgen, die aus dieser Quelle importiert werden, hinzu (kommagetrennt)";
-App::$strings["Source not found."] = "Quelle nicht gefunden.";
-App::$strings["Edit Source"] = "Quelle bearbeiten";
-App::$strings["Delete Source"] = "Quelle löschen";
-App::$strings["Source removed"] = "Quelle gelöscht";
-App::$strings["Unable to remove source."] = "Konnte die Quelle nicht löschen.";
-App::$strings["%1\$s is following %2\$s's %3\$s"] = "%1\$s folgt nun %2\$ss %3\$s";
-App::$strings["%1\$s stopped following %2\$s's %3\$s"] = "%1\$s folgt %2\$ss %3\$s nicht mehr";
-App::$strings["No suggestions available. If this is a new site, please try again in 24 hours."] = "Keine Vorschläge vorhanden. Wenn das ein neuer Server ist, versuche es in 24 Stunden noch einmal.";
-App::$strings["Ignore/Hide"] = "Ignorieren/Verstecken";
-App::$strings["post"] = "Beitrag";
-App::$strings["comment"] = "Kommentar";
-App::$strings["%1\$s tagged %2\$s's %3\$s with %4\$s"] = "%1\$s hat %2\$ss %3\$s mit %4\$s verschlagwortet";
-App::$strings["Tag removed"] = "Schlagwort entfernt";
-App::$strings["Remove Item Tag"] = "Schlagwort entfernen";
-App::$strings["Select a tag to remove: "] = "Schlagwort zum Entfernen auswählen:";
-App::$strings["Authorize application connection"] = "Zugriff für die Anwendung autorisieren";
-App::$strings["Return to your app and insert this Security Code:"] = "Gehen Sie zu Ihrer App zurück und tragen Sie diesen Sicherheitscode ein:";
-App::$strings["Please login to continue."] = "Zum Weitermachen, bitte einloggen.";
-App::$strings["Do you want to authorize this application to access your posts and contacts, and/or create new posts for you?"] = "Möchtest Du dieser Anwendung erlauben, Deine Nachrichten und Kontakte abzurufen und/oder neue Nachrichten für Dich zu erstellen?";
-App::$strings["Your service plan only allows %d channels."] = "Dein Vertrag erlaubt nur %d Kanäle.";
-App::$strings["Cloned channel not found. Import failed."] = "Geklonter Kanal nicht gefunden. Import fehlgeschlagen.";
-App::$strings["No channel. Import failed."] = "Kein Kanal. Import fehlgeschlagen.";
-App::$strings["Import completed."] = "Import abgeschlossen.";
-App::$strings["You must be logged in to use this feature."] = "Du musst angemeldet sein um diese Funktion zu nutzen.";
-App::$strings["Import Channel"] = "Kanal importieren";
-App::$strings["Use this form to import an existing channel from a different server/hub. You may retrieve the channel identity from the old server/hub via the network or provide an export file."] = "Verwende dieses Formular, um einen existierenden Kanal von einem anderen Hub zu importieren. Du kannst den Kanal direkt vom bisherigen Hub über das Netzwerk oder aus einer exportierten Sicherheitskopie importieren.";
-App::$strings["Or provide the old server/hub details"] = "Oder gib die Details Deines bisherigen \$Projectname-Hubs ein";
-App::$strings["Your old identity address (xyz@example.com)"] = "Bisherige Kanal-Adresse (xyz@example.com)";
-App::$strings["Your old login email address"] = "Deine alte Login-E-Mail-Adresse";
-App::$strings["Your old login password"] = "Dein altes Passwort";
-App::$strings["For either option, please choose whether to make this hub your new primary address, or whether your old location should continue this role. You will be able to post from either location, but only one can be marked as the primary location for files, photos, and media."] = "Egal, welche Option Du wählst – bitte lege fest, ob dieser Server die neue primäre Adresse dieses Kanals sein soll, oder ob der bisherige \$Projectname-Hub diese Rolle weiterhin wahrnimmt. Du kannst von beiden Servern aus posten, aber nur einer kann der primäre Ort Deiner Dateien, Fotos und Medien sein.";
-App::$strings["Make this hub my primary location"] = "Dieser $Pojectname-Hub ist mein primärer Hub.";
-App::$strings["Import existing posts if possible (experimental - limited by available memory"] = "Importiere bestehende Beiträge falls möglich (experimentell - begrenzt durch zur Verfügung stehenden Speicher";
-App::$strings["This process may take several minutes to complete. Please submit the form only once and leave this page open until finished."] = "Dieser Vorgang kann einige Minuten dauern. Bitte sende das Formular nur einmal ab und lasse diese Seite bis zur Fertigstellung offen.";
-App::$strings["No connections."] = "Keine Verbindungen.";
-App::$strings["Visit %s's profile [%s]"] = "%ss Profil [%s] besuchen";
-App::$strings["View Connections"] = "Verbindungen anzeigen";
-App::$strings["Source of Item"] = "Quelle des Elements";
-App::$strings["Xchan Lookup"] = "Xchan-Suche";
-App::$strings["Lookup xchan beginning with (or webbie): "] = "Nach xchans oder Webbies (Kanal-Adressen) suchen, die wie folgt beginnen:";
+App::$strings["No special theme for mobile devices"] = "Keine spezielle Theme für mobile Geräte";
+App::$strings["%s - (Experimental)"] = "%s – (experimentell)";
+App::$strings["Display Settings"] = "Anzeige-Einstellungen";
+App::$strings["Theme Settings"] = "Theme-Einstellungen";
+App::$strings["Custom Theme Settings"] = "Benutzerdefinierte Theme-Einstellungen";
+App::$strings["Content Settings"] = "Inhaltseinstellungen";
+App::$strings["Display Theme:"] = "Anzeige-Theme:";
+App::$strings["Select scheme"] = "Schema wählen";
+App::$strings["Mobile Theme:"] = "Mobile Theme:";
+App::$strings["Preload images before rendering the page"] = "Bilder im voraus laden, bevor die Seite angezeigt wird";
+App::$strings["The subjective page load time will be longer but the page will be ready when displayed"] = "Die empfundene Ladezeit wird sich erhöhen, aber dafür ist das Layout stabil, sobald eine Seite angezeigt wird";
+App::$strings["Enable user zoom on mobile devices"] = "Zoom auf Mobilgeräten aktivieren";
+App::$strings["Update browser every xx seconds"] = "Browser alle xx Sekunden aktualisieren";
+App::$strings["Minimum of 10 seconds, no maximum"] = "Minimum 10 Sekunden, kein Maximum";
+App::$strings["Maximum number of conversations to load at any time:"] = "Maximale Anzahl von Unterhaltungen, die auf einmal geladen werden sollen:";
+App::$strings["Maximum of 100 items"] = "Maximum: 100 Beiträge";
+App::$strings["Show emoticons (smilies) as images"] = "Emoticons (Smilies) als Bilder anzeigen";
+App::$strings["Link post titles to source"] = "Beitragstitel zum Originalbeitrag verlinken";
+App::$strings["System Page Layout Editor - (advanced)"] = "System-Seitenlayout-Editor (für Experten)";
+App::$strings["Use blog/list mode on channel page"] = "Blog-/Listenmodus auf der Kanalseite verwenden";
+App::$strings["(comments displayed separately)"] = "(Kommentare werden separat angezeigt)";
+App::$strings["Use blog/list mode on grid page"] = "Blog-/Listenmodus auf der Netzwerkseite verwenden";
+App::$strings["Channel page max height of content (in pixels)"] = "Maximale Höhe von Beitragsblöcken auf der Kanalseite (in Pixeln)";
+App::$strings["click to expand content exceeding this height"] = "Blöcke, deren Inhalt diese Höhe überschreitet, können per Klick vergrößert werden.";
+App::$strings["Grid page max height of content (in pixels)"] = "Maximale Höhe (in Pixel) des Inhalts der Netzwerkseite";
+App::$strings["No feature settings configured"] = "Keine Funktions-Einstellungen konfiguriert";
+App::$strings["Feature/Addon Settings"] = "Funktions-/Addon-Einstellungen";
+App::$strings["Additional Features"] = "Zusätzliche Funktionen";
+App::$strings["Name is required"] = "Name ist erforderlich";
+App::$strings["Key and Secret are required"] = "Schlüssel und Geheimnis werden benötigt";
+App::$strings["Add application"] = "Anwendung hinzufügen";
+App::$strings["Name of application"] = "Name der Anwendung";
+App::$strings["Consumer Key"] = "Consumer Key";
+App::$strings["Automatically generated - change if desired. Max length 20"] = "Automatisch erzeugt – ändern, falls erwünscht. Maximale Länge 20";
+App::$strings["Consumer Secret"] = "Consumer Secret";
+App::$strings["Redirect"] = "Umleitung";
+App::$strings["Redirect URI - leave blank unless your application specifically requires this"] = "Umleitungs-URl – lasse das leer, solange Deine Anwendung es nicht explizit erfordert";
+App::$strings["Icon url"] = "Symbol-URL";
+App::$strings["Application not found."] = "Die Anwendung wurde nicht gefunden.";
+App::$strings["Connected Apps"] = "Verbundene Apps";
+App::$strings["Client key starts with"] = "Client Key beginnt mit";
+App::$strings["No name"] = "Kein Name";
+App::$strings["Remove authorization"] = "Authorisierung aufheben";
+App::$strings["This channel is limited to %d tokens"] = "Dieser Kanal ist auf %d Token begrenzt";
+App::$strings["Name and Password are required."] = "Name und Passwort sind erforderlich.";
+App::$strings["Token saved."] = "Token gespeichert.";
+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."] = "Mit diesem Formular kannst Du temporäre Zugangs-IDs anlegen, um Inhalte mit Nicht-Mitgliedern zu teilen. Die IDs können in Berechtigungslisten (ACLs) verwendet werden, und Besucher können sich damit einloggen, um auf private Inhalte zuzugreifen.";
+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:"] = "Du kannst auch <em>Dropbox</em>-ähnliche Zugriffslinks an Andere weitergeben, indem du das Login-Passwort an eine entsprechende URL anhängst wie nachfolgend gezeigt. Beispiele:";
+App::$strings["Guest Access Tokens"] = "Gastzugangstoken";
+App::$strings["Login Name"] = "Anmeldename";
+App::$strings["Login Password"] = "Anmeldepasswort";
+App::$strings["Expires (yyyy-mm-dd)"] = "Läuft ab (jjjj-mm-tt)";
App::$strings["Missing room name"] = "Der Chatraum hat keinen Namen";
App::$strings["Duplicate room name"] = "Name des Chatraums bereits vergeben";
App::$strings["Invalid room specifier."] = "Ungültiger Raumbezeichner.";
@@ -1501,6 +1514,20 @@ App::$strings["Please visit %s to approve or reject the suggestion."] = "Bitte b
App::$strings["[Hubzilla:Notify]"] = "[Hubzilla:Benachrichtigung]";
App::$strings["created a new post"] = "Neuer Beitrag wurde erzeugt";
App::$strings["commented on %s's post"] = "hat %s's Beitrag kommentiert";
+App::$strings["Visible to your default audience"] = "Standard-Sichtbarkeit gemäß Kanaleinstellungen";
+App::$strings["Only me"] = "Nur ich";
+App::$strings["Public"] = "Öffentlich";
+App::$strings["Anybody in the \$Projectname network"] = "Jeder innerhalb des \$Projectname Netzwerks";
+App::$strings["Any account on %s"] = "Jedes Nutzerkonto auf %s";
+App::$strings["Any of my connections"] = "Alle meine Verbindungen";
+App::$strings["Only connections I specifically allow"] = "Nur Verbindungen, denen ich es explizit erlaube";
+App::$strings["Anybody authenticated (could include visitors from other networks)"] = "Jeder, der angemeldet ist (kann Besucher anderer Netzwerke beinhalten)";
+App::$strings["Any connections including those who haven't yet been approved"] = "Alle Verbindungen einschließlich der noch nicht bestätigten";
+App::$strings["This is your default setting for the audience of your normal stream, and posts."] = "Dies ist Deine Voreinstellung für die Sichtbarkeit Deiner normalen Beiträge (Stream).";
+App::$strings["This is your default setting for who can view your default channel profile"] = "Dies ist Deine Voreinstellung für die Sichtbarkeit Deines Standard-Kanalprofils.";
+App::$strings["This is your default setting for who can view your connections"] = "Dies ist Deine Voreinstellung für die Sichtbarkeit Deiner Verbindungen.";
+App::$strings["This is your default setting for who can view your file storage and photos"] = "Dies ist Deine Voreinstellung für die Sichtbarkeit Deiner Dateien und Fotos.";
+App::$strings["This is your default setting for the audience of your webpages"] = "Dies ist Deine Voreinstellung für die Sichtbarkeit Deiner Webseiten.";
App::$strings["Site Admin"] = "Hub-Administration";
App::$strings["Bug Report"] = "Fehler-Rückmeldung";
App::$strings["View Bookmarks"] = "Lesezeichen ansehen";
@@ -1524,20 +1551,6 @@ App::$strings["Language"] = "Sprache";
App::$strings["Post"] = "Beitrag schreiben";
App::$strings["Profile Photo"] = "Profilfoto";
App::$strings["Purchase"] = "Kaufen";
-App::$strings["Visible to your default audience"] = "Standard-Sichtbarkeit gemäß Kanaleinstellungen";
-App::$strings["Only me"] = "Nur ich";
-App::$strings["Public"] = "Öffentlich";
-App::$strings["Anybody in the \$Projectname network"] = "Jeder innerhalb des \$Projectname Netzwerks";
-App::$strings["Any account on %s"] = "Jedes Nutzerkonto auf %s";
-App::$strings["Any of my connections"] = "Alle meine Verbindungen";
-App::$strings["Only connections I specifically allow"] = "Nur Verbindungen, denen ich es explizit erlaube";
-App::$strings["Anybody authenticated (could include visitors from other networks)"] = "Jeder, der angemeldet ist (kann Besucher anderer Netzwerke beinhalten)";
-App::$strings["Any connections including those who haven't yet been approved"] = "Alle Verbindungen einschließlich der noch nicht bestätigten";
-App::$strings["This is your default setting for the audience of your normal stream, and posts."] = "Dies ist Deine Voreinstellung für die Sichtbarkeit Deiner normalen Beiträge (Stream).";
-App::$strings["This is your default setting for who can view your default channel profile"] = "Dies ist Deine Voreinstellung für die Sichtbarkeit Deines Standard-Kanalprofils.";
-App::$strings["This is your default setting for who can view your connections"] = "Dies ist Deine Voreinstellung für die Sichtbarkeit Deiner Verbindungen.";
-App::$strings["This is your default setting for who can view your file storage and photos"] = "Dies ist Deine Voreinstellung für die Sichtbarkeit Deiner Dateien und Fotos.";
-App::$strings["This is your default setting for the audience of your webpages"] = "Dies ist Deine Voreinstellung für die Sichtbarkeit Deiner Webseiten.";
App::$strings["Private Message"] = "Private Nachricht";
App::$strings["Select"] = "Auswählen";
App::$strings["Save to Folder"] = "In Ordner speichern";
@@ -1586,6 +1599,92 @@ App::$strings["Video"] = "Video";
App::$strings["No username found in import file."] = "Kein Benutzername in der Importdatei gefunden.";
App::$strings["Unable to create a unique channel address. Import failed."] = "Es war nicht möglich, eine eindeutige Kanal-Adresse zu erzeugen. Der Import ist fehlgeschlagen.";
App::$strings["Cannot locate DNS info for database server '%s'"] = "Kann die DNS-Informationen für den Datenbank-Server '%s' nicht finden";
+App::$strings["view full size"] = "In Vollbildansicht anschauen";
+App::$strings["Administrator"] = "Administrator";
+App::$strings["No Subject"] = "Kein Betreff";
+App::$strings["Friendica"] = "Friendica";
+App::$strings["OStatus"] = "OStatus";
+App::$strings["GNU-Social"] = "GNU-Social";
+App::$strings["RSS/Atom"] = "RSS/Atom";
+App::$strings["Diaspora"] = "Diaspora";
+App::$strings["Facebook"] = "Facebook";
+App::$strings["Zot"] = "Zot!";
+App::$strings["LinkedIn"] = "LinkedIn";
+App::$strings["XMPP/IM"] = "XMPP/IM";
+App::$strings["MySpace"] = "MySpace";
+App::$strings["Image exceeds website size limit of %lu bytes"] = "Bild überschreitet das Webseitenlimit von %lu Bytes";
+App::$strings["Image file is empty."] = "Bilddatei ist leer.";
+App::$strings["Photo storage failed."] = "Fotospeicherung fehlgeschlagen.";
+App::$strings["a new photo"] = "ein neues Foto";
+App::$strings["__ctx:photo_upload__ %1\$s posted %2\$s to %3\$s"] = "%1\$s hat %2\$s auf %3\$s veröffentlicht";
+App::$strings["Photo Albums"] = "Fotoalben";
+App::$strings["Upload New Photos"] = "Neue Fotos hochladen";
+App::$strings["Logout"] = "Abmelden";
+App::$strings["End this session"] = "Beende diese Sitzung";
+App::$strings["Home"] = "Home";
+App::$strings["Your posts and conversations"] = "Deine Beiträge und Unterhaltungen";
+App::$strings["Your profile page"] = "Deine Profilseite";
+App::$strings["Manage/Edit profiles"] = "Profile verwalten";
+App::$strings["Edit Profile"] = "Profile bearbeiten";
+App::$strings["Edit your profile"] = "Profil bearbeiten";
+App::$strings["Your photos"] = "Deine Bilder";
+App::$strings["Your files"] = "Deine Dateien";
+App::$strings["Your chatrooms"] = "Deine Chaträume";
+App::$strings["Bookmarks"] = "Lesezeichen";
+App::$strings["Your bookmarks"] = "Deine Lesezeichen";
+App::$strings["Your webpages"] = "Deine Webseiten";
+App::$strings["Your wiki"] = "Dein Wiki";
+App::$strings["Sign in"] = "Anmelden";
+App::$strings["%s - click to logout"] = "%s - Klick zum Abmelden";
+App::$strings["Remote authentication"] = "Über Konto auf anderem Server einloggen";
+App::$strings["Click to authenticate to your home hub"] = "Klicke, um Dich über Deinen Heimat-Server zu authentifizieren";
+App::$strings["Home Page"] = "Homepage";
+App::$strings["Create an account"] = "Erzeuge ein Konto";
+App::$strings["Help and documentation"] = "Hilfe und Dokumentation";
+App::$strings["Applications, utilities, links, games"] = "Anwendungen (Apps), Zubehör, Links, Spiele";
+App::$strings["Search site @name, #tag, ?docs, content"] = "Hub durchsuchen: @Name. #Schlagwort, ?Dokumentation, Inhalt";
+App::$strings["Channel Directory"] = "Kanal-Verzeichnis";
+App::$strings["Your grid"] = "Dein Grid";
+App::$strings["Mark all grid notifications seen"] = "Alle Grid-Benachrichtigungen als angesehen markieren";
+App::$strings["Channel home"] = "Mein Kanal";
+App::$strings["Mark all channel notifications seen"] = "Markiere alle Kanal-Benachrichtigungen als angesehen";
+App::$strings["Notices"] = "Benachrichtigungen";
+App::$strings["Notifications"] = "Benachrichtigungen";
+App::$strings["See all notifications"] = "Alle Benachrichtigungen ansehen";
+App::$strings["Private mail"] = "Persönliche Mail";
+App::$strings["See all private messages"] = "Alle persönlichen Nachrichten ansehen";
+App::$strings["Mark all private messages seen"] = "Markiere alle persönlichen Nachrichten als gesehen";
+App::$strings["Inbox"] = "Eingang";
+App::$strings["Outbox"] = "Ausgang";
+App::$strings["New Message"] = "Neue Nachricht";
+App::$strings["Event Calendar"] = "Terminkalender";
+App::$strings["See all events"] = "Alle Termine ansehen";
+App::$strings["Mark all events seen"] = "Markiere alle Termine als gesehen";
+App::$strings["Manage Your Channels"] = "Verwalte Deine Kanäle";
+App::$strings["Account/Channel Settings"] = "Konto-/Kanal-Einstellungen";
+App::$strings["Admin"] = "Administration";
+App::$strings["Site Setup and Configuration"] = "Seiten-Einrichtung und -Konfiguration";
+App::$strings["Loading..."] = "Lädt ...";
+App::$strings["@name, #tag, ?doc, content"] = "@Name, #Schlagwort, ?Dokumentation, Inhalt";
+App::$strings["Please wait..."] = "Bitte warten...";
+App::$strings["Embedded content"] = "Eingebetteter Inhalt";
+App::$strings["Embedding disabled"] = "Einbetten deaktiviert";
+App::$strings["Can view my normal stream and posts"] = "Kann meine normalen Beiträge sehen";
+App::$strings["Can view my webpages"] = "Kann meine Webseiten sehen";
+App::$strings["Can post on my channel page (\"wall\")"] = "Kann auf meiner Kanal-Seite (\"wall\") Beiträge veröffentlichen";
+App::$strings["Can like/dislike stuff"] = "Kann andere Elemente mögen/nicht mögen";
+App::$strings["Profiles and things other than posts/comments"] = "Profile und alles außer Beiträge und Kommentare";
+App::$strings["Can forward to all my channel contacts via post @mentions"] = "Kann an alle meine Kontakte via @-Erwähnung Nachrichten weiterleiten";
+App::$strings["Advanced - useful for creating group forum channels"] = "Fortgeschritten - sinnvoll, um Gruppen-Kanäle/-Foren zu erstellen";
+App::$strings["Can chat with me (when available)"] = "Kann mit mir chatten (wenn verfügbar)";
+App::$strings["Can write to my file storage and photos"] = "Kann in meine Datei- und Bilderordner schreiben";
+App::$strings["Can edit my webpages"] = "Kann meine Webseiten bearbeiten";
+App::$strings["Somewhat advanced - very useful in open communities"] = "Etwas fortgeschritten – sehr nützlich in offenen Gemeinschaften";
+App::$strings["Can administer my channel resources"] = "Kann meine Kanäle administrieren";
+App::$strings["Extremely advanced. Leave this alone unless you know what you are doing"] = "Sehr fortgeschritten. Bearbeite das nur, wenn Du genau weißt, was Du tust";
+App::$strings["Cannot create a duplicate channel identifier on this system. Import failed."] = "Kann keinen doppelten Kanal-Identifikator auf diesem System erzeugen (Spitzname oder Hash schon belegt). Import fehlgeschlagen.";
+App::$strings["Channel clone failed. Import failed."] = "Klonen des Kanals fehlgeschlagen. Import fehlgeschlagen.";
+App::$strings["Unable to import element \""] = "";
App::$strings["(Unknown)"] = "(Unbekannt)";
App::$strings["Visible to anybody on the internet."] = "Für jeden im Internet sichtbar.";
App::$strings["Visible to you only."] = "Nur für Dich sichtbar.";
@@ -1599,94 +1698,6 @@ App::$strings["Privacy group is empty."] = "Gruppe ist leer.";
App::$strings["Privacy group: %s"] = "Gruppe: %s";
App::$strings["Connection not found."] = "Die Verbindung wurde nicht gefunden.";
App::$strings["profile photo"] = "Profilfoto";
-App::$strings["Cannot create a duplicate channel identifier on this system. Import failed."] = "Kann keinen doppelten Kanal-Identifikator auf diesem System erzeugen (Spitzname oder Hash schon belegt). Import fehlgeschlagen.";
-App::$strings["Channel clone failed. Import failed."] = "Klonen des Kanals fehlgeschlagen. Import fehlgeschlagen.";
-App::$strings["Image exceeds website size limit of %lu bytes"] = "Bild überschreitet das Webseitenlimit von %lu Bytes";
-App::$strings["Image file is empty."] = "Bilddatei ist leer.";
-App::$strings["Photo storage failed."] = "Fotospeicherung fehlgeschlagen.";
-App::$strings["a new photo"] = "ein neues Foto";
-App::$strings["__ctx:photo_upload__ %1\$s posted %2\$s to %3\$s"] = "%1\$s hat %2\$s auf %3\$s veröffentlicht";
-App::$strings["Photo Albums"] = "Fotoalben";
-App::$strings["Upload New Photos"] = "Neue Fotos hochladen";
-App::$strings["General Features"] = "Allgemeine Funktionen";
-App::$strings["Content Expiration"] = "Verfall von Inhalten";
-App::$strings["Remove posts/comments and/or private messages at a future time"] = "Ermöglicht das automatische Löschen von Beiträgen, Kommentaren und/oder privaten Nachrichten zu einem zukünftigen Datum.";
-App::$strings["Multiple Profiles"] = "Mehrfachprofile";
-App::$strings["Ability to create multiple profiles"] = "Ermöglicht das Anlegen mehrerer Profile pro Kanal";
-App::$strings["Advanced Profiles"] = "Erweiterte Profile";
-App::$strings["Additional profile sections and selections"] = "Stellt zusätzliche Bereiche und Felder im Profil zur Verfügung";
-App::$strings["Profile Import/Export"] = "Profil-Import/Export";
-App::$strings["Save and load profile details across sites/channels"] = "Ermöglicht das Speichern von Profilen, um sie in einen anderen Kanal zu importieren";
-App::$strings["Web Pages"] = "Webseiten";
-App::$strings["Provide managed web pages on your channel"] = "Ermöglicht das Erstellen von Webseiten in Deinem Kanal";
-App::$strings["Provide a wiki for your channel"] = "Stelle ein Wiki in Deinem Kanal zur Verfügung";
-App::$strings["Hide Rating"] = "Bewertung verbergen";
-App::$strings["Hide the rating buttons on your channel and profile pages. Note: People can still rate you somewhere else."] = "Verberge die Buttons zur Bewertung auf deiner Profil-Seite und deinem Kanal. Hinweis: Leute können dich weiterhin andernorts bewerten.";
-App::$strings["Private Notes"] = "Private Notizen";
-App::$strings["Enables a tool to store notes and reminders (note: not encrypted)"] = "Aktiviert ein Werkzeug mit dem Notizen und Erinnerungen gespeichert werden können (Hinweis: nicht verschlüsselt)";
-App::$strings["Navigation Channel Select"] = "Kanal-Auswahl in der Navigationsleiste";
-App::$strings["Change channels directly from within the navigation dropdown menu"] = "Ermöglicht den direkten Wechsel zu anderen Kanälen über das Navigationsmenü";
-App::$strings["Photo Location"] = "Aufnahmeort";
-App::$strings["If location data is available on uploaded photos, link this to a map."] = "Verlinkt den Aufnahmeort von Fotos (falls verfügbar) auf einer Karte";
-App::$strings["Access Controlled Chatrooms"] = "Zugriffskontrollierte Chaträume";
-App::$strings["Provide chatrooms and chat services with access control."] = "Bieten Sie Chaträume und Chatdienste mit Zugriffskontrolle an.";
-App::$strings["Smart Birthdays"] = "Smarte Geburtstage";
-App::$strings["Make birthday events timezone aware in case your friends are scattered across the planet."] = "Stellt für Geburtstage einen Zeitzonenbezug her, falls deine Freunde über den ganzen Planeten verstreut sind.";
-App::$strings["Expert Mode"] = "Expertenmodus";
-App::$strings["Enable Expert Mode to provide advanced configuration options"] = "Aktiviert den Expertenmodus, der fortgeschrittene Konfigurationsoptionen zur Verfügung stellt";
-App::$strings["Premium Channel"] = "Premium-Kanal";
-App::$strings["Allows you to set restrictions and terms on those that connect with your channel"] = "Ermöglicht es, Einschränkungen und Bedingungen für Verbindungen dieses Kanals festzulegen";
-App::$strings["Post Composition Features"] = "Nachbearbeitungsfunktionen";
-App::$strings["Large Photos"] = "Große Fotos";
-App::$strings["Include large (1024px) photo thumbnails in posts. If not enabled, use small (640px) photo thumbnails"] = "Große Vorschaubilder (1024px) in Beiträgen anzeigen. Falls nicht aktiviert, werden kleine Vorschaubilder (640px) verwendet.";
-App::$strings["Automatically import channel content from other channels or feeds"] = "Ermöglicht den automatischen Import von Inhalten für diesen Kanal von anderen Kanälen oder Feeds";
-App::$strings["Even More Encryption"] = "Noch mehr Verschlüsselung";
-App::$strings["Allow optional encryption of content end-to-end with a shared secret key"] = "Ermöglicht optional die zusätzliche Verschlüsselung von Inhalten (Ende-zu-Ende mit geteiltem Schlüssel)";
-App::$strings["Enable Voting Tools"] = "Umfragewerkzeuge aktivieren";
-App::$strings["Provide a class of post which others can vote on"] = "Aktiviert die Umfragewerkzeuge, um anderen die Möglichkeit zu geben, einem Beitrag zuzustimmen, ihn abzulehnen oder sich zu enthalten. (Muss im Beitrag selbst noch aktiviert werden.)";
-App::$strings["Delayed Posting"] = "Verzögertes Senden";
-App::$strings["Allow posts to be published at a later date"] = "Ermöglicht es, Beiträge zu einem späteren Zeitpunkt zu veröffentlichen";
-App::$strings["Suppress Duplicate Posts/Comments"] = "Doppelte Beiträge unterdrücken";
-App::$strings["Prevent posts with identical content to be published with less than two minutes in between submissions."] = "Verhindert, dass innerhalb von zwei Minuten Beiträge mit identischem Inhalt veröffentlicht werden.";
-App::$strings["Network and Stream Filtering"] = "Netzwerk- und Stream-Filter";
-App::$strings["Search by Date"] = "Suche nach Datum";
-App::$strings["Ability to select posts by date ranges"] = "Möglichkeit, Beiträge nach Zeiträumen auszuwählen";
-App::$strings["Privacy Groups"] = "Gruppen";
-App::$strings["Enable management and selection of privacy groups"] = "Auswahl und Verwaltung von Gruppen für Kanäle aktivieren";
-App::$strings["Saved Searches"] = "Gespeicherte Suchanfragen";
-App::$strings["Save search terms for re-use"] = "Ermöglicht das Abspeichern von Suchbegriffen zur Wiederverwendung";
-App::$strings["Network Personal Tab"] = "Persönlicher Netzwerkreiter";
-App::$strings["Enable tab to display only Network posts that you've interacted on"] = "Aktiviert einen Reiter in der Grid-Ansicht, der nur Netzwerk-Beiträge anzeigt, mit denen Du interagiert hast";
-App::$strings["Network New Tab"] = "Netzwerkreiter Neu";
-App::$strings["Enable tab to display all new Network activity"] = "Aktiviert einen Reiter in der Grid-Ansicht, der alle neuen Netzwerkaktivitäten anzeigt";
-App::$strings["Affinity Tool"] = "Beziehungs-Tool";
-App::$strings["Filter stream activity by depth of relationships"] = "Aktiviert ein Werkzeug in der Grid-Ansicht, das den Stream nach Grad der Beziehung filtern kann";
-App::$strings["Connection Filtering"] = "Filter für Verbindungen";
-App::$strings["Filter incoming posts from connections based on keywords/content"] = "Ermöglicht die Filterung eingehender Beiträge anhand von Schlüsselwörtern (muss an der Verbindung konfiguriert werden)";
-App::$strings["Show channel suggestions"] = "Kanalvorschläge anzeigen";
-App::$strings["Post/Comment Tools"] = "Beitrag-/Kommentar-Tools";
-App::$strings["Community Tagging"] = "Gemeinschaftliches Verschlagworten";
-App::$strings["Ability to tag existing posts"] = "Ermöglicht das Verschlagworten existierender Beiträge";
-App::$strings["Post Categories"] = "Beitrags-Kategorien";
-App::$strings["Add categories to your posts"] = "Aktiviert Kategorien für Beiträge";
-App::$strings["Emoji Reactions"] = "Emoji Reaktionen";
-App::$strings["Add emoji reaction ability to posts"] = "Aktiviert Emoji-Reaktionen für Beiträge";
-App::$strings["Saved Folders"] = "Gespeicherte Ordner";
-App::$strings["Ability to file posts under folders"] = "Möglichkeit, Beiträge in Verzeichnissen zu sammeln";
-App::$strings["Dislike Posts"] = "Gefällt-mir-nicht-Beiträge";
-App::$strings["Ability to dislike posts/comments"] = "Aktiviert die „Gefällt mir nicht“-Schaltfläche";
-App::$strings["Star Posts"] = "Beiträge mit Sternchen versehen";
-App::$strings["Ability to mark special posts with a star indicator"] = "Ermöglicht die lokale Markierung spezieller Beiträge mit einem Sternchen-Symbol";
-App::$strings["Tag Cloud"] = "Schlagwort-Wolke";
-App::$strings["Provide a personal tag cloud on your channel page"] = "Aktiviert die Anzeige einer Schlagwort-Wolke (Tag Cloud) auf Deiner Kanal-Seite";
-App::$strings["Public Timeline"] = "Öffentliche Zeitleiste";
-App::$strings["Who can see this?"] = "Wer kann das sehen?";
-App::$strings["Custom selection"] = "Benutzerdefinierte Auswahl";
-App::$strings["Select \"Show\" to allow viewing. \"Don't show\" lets you override and limit the scope of \"Show\"."] = "Wähle \"Anzeigen\", um Betrachtung zuzulassen. \"Nicht anzeigen\" überstimmt und limitiert den Aktionsradius von \"Anzeigen\" für Ausnahmen.";
-App::$strings["Show"] = "Anzeigen";
-App::$strings["Don't show"] = "Nicht anzeigen";
-App::$strings["Other networks and post services"] = "Andere Netzwerke und Platformen";
-App::$strings["Post permissions %s cannot be changed %s after a post is shared.</br />These permissions set who is allowed to view the post."] = "Beitragsberechtigungen %s können nicht geändert werden %s, nachdem der Beitrag gesendet wurde.<br />Diese Berechtigungen bestimmen, wer den Beitrag sehen kann.";
App::$strings["Birthday"] = "Geburtstag";
App::$strings["Age: "] = "Alter:";
App::$strings["YYYY-MM-DD or MM-DD"] = "JJJJ-MM-TT oder MM-TT";
@@ -1723,6 +1734,22 @@ App::$strings["__ctx:relative_date__ second"] = array(
);
App::$strings["%1\$s's birthday"] = "%1\$ss Geburtstag";
App::$strings["Happy Birthday %1\$s"] = "Alles Gute zum Geburtstag, %1\$s";
+App::$strings["Not a valid email address"] = "Ungültige E-Mail-Adresse";
+App::$strings["Your email domain is not among those allowed on this site"] = "Deine E-Mail-Adresse ist auf dieser Seite nicht erlaubt";
+App::$strings["Your email address is already registered at this site."] = "Deine E-Mail-Adresse ist auf dieser Seite bereits registriert.";
+App::$strings["An invitation is required."] = "Eine Einladung wird benötigt.";
+App::$strings["Invitation could not be verified."] = "Die Einladung konnte nicht bestätigt werden.";
+App::$strings["Please enter the required information."] = "Bitte gib die benötigten Informationen ein.";
+App::$strings["Failed to store account information."] = "Speichern der Nutzerkontodaten fehlgeschlagen.";
+App::$strings["Registration confirmation for %s"] = "Registrierungsbestätigung für %s";
+App::$strings["Registration request at %s"] = "Registrierungsanfrage auf %s";
+App::$strings["your registration password"] = "Dein Registrierungspasswort";
+App::$strings["Registration details for %s"] = "Registrierungsdetails für %s";
+App::$strings["Account approved."] = "Nutzerkonto bestätigt.";
+App::$strings["Registration revoked for %s"] = "Registrierung für %s wurde widerrufen";
+App::$strings["Click here to upgrade."] = "Klicke hier, um das Upgrade durchzuführen.";
+App::$strings["This action exceeds the limits set by your subscription plan."] = "Diese Aktion überschreitet die Grenzen Ihres Abonnements.";
+App::$strings["This action is not available under your subscription plan."] = "Diese Aktion ist in Ihrem Abonnement nicht verfügbar.";
App::$strings["Frequently"] = "Häufig";
App::$strings["Hourly"] = "Stündlich";
App::$strings["Twice daily"] = "Zwei Mal am Tag";
@@ -1785,141 +1812,15 @@ App::$strings["Uncertain"] = "Ungewiss";
App::$strings["It's complicated"] = "Es ist kompliziert";
App::$strings["Don't care"] = "Interessiert mich nicht";
App::$strings["Ask me"] = "Frag mich mal";
-App::$strings["Channel is blocked on this site."] = "Der Kanal ist auf dieser Seite blockiert ";
-App::$strings["Channel location missing."] = "Adresse des Kanals fehlt.";
-App::$strings["Response from remote channel was incomplete."] = "Antwort des entfernten Kanals war unvollständig.";
-App::$strings["Channel was deleted and no longer exists."] = "Kanal wurde gelöscht und existiert nicht mehr.";
-App::$strings["Protocol disabled."] = "Protokoll deaktiviert.";
-App::$strings["Channel discovery failed."] = "Kanalsuche fehlgeschlagen";
-App::$strings["Cannot connect to yourself."] = "Du kannst Dich nicht mit Dir selbst verbinden.";
-App::$strings["prev"] = "vorherige";
-App::$strings["first"] = "erste";
-App::$strings["last"] = "letzte";
-App::$strings["next"] = "nächste";
-App::$strings["older"] = "älter";
-App::$strings["newer"] = "neuer";
-App::$strings["No connections"] = "Keine Verbindungen";
-App::$strings["View all %s connections"] = "Alle Verbindungen von %s anzeigen";
-App::$strings["poke"] = "anstupsen";
-App::$strings["poked"] = "stupste";
-App::$strings["ping"] = "anpingen";
-App::$strings["pinged"] = "pingte";
-App::$strings["prod"] = "knuffen";
-App::$strings["prodded"] = "knuffte";
-App::$strings["slap"] = "ohrfeigen";
-App::$strings["slapped"] = "ohrfeigte";
-App::$strings["finger"] = "befummeln";
-App::$strings["fingered"] = "befummelte";
-App::$strings["rebuff"] = "eine Abfuhr erteilen";
-App::$strings["rebuffed"] = "zurückgewiesen";
-App::$strings["happy"] = "glücklich";
-App::$strings["sad"] = "traurig";
-App::$strings["mellow"] = "sanft";
-App::$strings["tired"] = "müde";
-App::$strings["perky"] = "frech";
-App::$strings["angry"] = "sauer";
-App::$strings["stupefied"] = "verblüfft";
-App::$strings["puzzled"] = "verwirrt";
-App::$strings["interested"] = "interessiert";
-App::$strings["bitter"] = "verbittert";
-App::$strings["cheerful"] = "fröhlich";
-App::$strings["alive"] = "lebendig";
-App::$strings["annoyed"] = "verärgert";
-App::$strings["anxious"] = "unruhig";
-App::$strings["cranky"] = "schrullig";
-App::$strings["disturbed"] = "verstört";
-App::$strings["frustrated"] = "frustriert";
-App::$strings["depressed"] = "deprimiert";
-App::$strings["motivated"] = "motiviert";
-App::$strings["relaxed"] = "entspannt";
-App::$strings["surprised"] = "überrascht";
-App::$strings["Monday"] = "Montag";
-App::$strings["Tuesday"] = "Dienstag";
-App::$strings["Wednesday"] = "Mittwoch";
-App::$strings["Thursday"] = "Donnerstag";
-App::$strings["Friday"] = "Freitag";
-App::$strings["Saturday"] = "Samstag";
-App::$strings["Sunday"] = "Sonntag";
-App::$strings["January"] = "Januar";
-App::$strings["February"] = "Februar";
-App::$strings["March"] = "März";
-App::$strings["April"] = "April";
-App::$strings["May"] = "Mai";
-App::$strings["June"] = "Juni";
-App::$strings["July"] = "Juli";
-App::$strings["August"] = "August";
-App::$strings["September"] = "September";
-App::$strings["October"] = "Oktober";
-App::$strings["November"] = "November";
-App::$strings["December"] = "Dezember";
-App::$strings["Unknown Attachment"] = "Unbekannter Anhang";
-App::$strings["unknown"] = "unbekannt";
-App::$strings["remove category"] = "Kategorie entfernen";
-App::$strings["remove from file"] = "aus der Datei entfernen";
-App::$strings["default"] = "Standard";
-App::$strings["Page layout"] = "Seiten-Layout";
-App::$strings["You can create your own with the layouts tool"] = "Mit dem Gestaltungswerkzeug kannst Du Deine eigenen Layouts erstellen";
-App::$strings["Page content type"] = "Art des Seiteninhalts";
-App::$strings["Select an alternate language"] = "Wähle eine alternative Sprache";
-App::$strings["activity"] = "Aktivität";
-App::$strings["Design Tools"] = "Gestaltungswerkzeuge";
-App::$strings["Pages"] = "Seiten";
-App::$strings["Import website..."] = "Webseite importieren...";
-App::$strings["Select folder to import"] = "Ordner zum Importieren auswählen";
-App::$strings["Import from a zipped folder:"] = "Aus einem gezippten Ordner importieren:";
-App::$strings["Import from cloud files:"] = "Aus Cloud-Dateien importieren:";
-App::$strings["/cloud/channel/path/to/folder"] = "/Cloud/Kanal/Pfad/zum/Ordner";
-App::$strings["Enter path to website files"] = "Pfad zu Webseitendateien eingeben";
-App::$strings["Select folder"] = "Ordner auswählen";
-App::$strings["Logout"] = "Abmelden";
-App::$strings["End this session"] = "Beende diese Sitzung";
-App::$strings["Home"] = "Home";
-App::$strings["Your posts and conversations"] = "Deine Beiträge und Unterhaltungen";
-App::$strings["Your profile page"] = "Deine Profilseite";
-App::$strings["Manage/Edit profiles"] = "Profile verwalten";
-App::$strings["Edit Profile"] = "Profile bearbeiten";
-App::$strings["Edit your profile"] = "Profil bearbeiten";
-App::$strings["Your photos"] = "Deine Bilder";
-App::$strings["Your files"] = "Deine Dateien";
-App::$strings["Your chatrooms"] = "Deine Chaträume";
-App::$strings["Bookmarks"] = "Lesezeichen";
-App::$strings["Your bookmarks"] = "Deine Lesezeichen";
-App::$strings["Your webpages"] = "Deine Webseiten";
-App::$strings["Your wiki"] = "Dein Wiki";
-App::$strings["Sign in"] = "Anmelden";
-App::$strings["%s - click to logout"] = "%s - Klick zum Abmelden";
-App::$strings["Remote authentication"] = "Über Konto auf anderem Server einloggen";
-App::$strings["Click to authenticate to your home hub"] = "Klicke, um Dich über Deinen Heimat-Server zu authentifizieren";
-App::$strings["Home Page"] = "Homepage";
-App::$strings["Create an account"] = "Erzeuge ein Konto";
-App::$strings["Help and documentation"] = "Hilfe und Dokumentation";
-App::$strings["Applications, utilities, links, games"] = "Anwendungen (Apps), Zubehör, Links, Spiele";
-App::$strings["Search site @name, #tag, ?docs, content"] = "Hub durchsuchen: @Name. #Schlagwort, ?Dokumentation, Inhalt";
-App::$strings["Channel Directory"] = "Kanal-Verzeichnis";
-App::$strings["Your grid"] = "Dein Grid";
-App::$strings["Mark all grid notifications seen"] = "Alle Grid-Benachrichtigungen als angesehen markieren";
-App::$strings["Channel home"] = "Mein Kanal";
-App::$strings["Mark all channel notifications seen"] = "Markiere alle Kanal-Benachrichtigungen als angesehen";
-App::$strings["Notices"] = "Benachrichtigungen";
-App::$strings["Notifications"] = "Benachrichtigungen";
-App::$strings["See all notifications"] = "Alle Benachrichtigungen ansehen";
-App::$strings["Private mail"] = "Persönliche Mail";
-App::$strings["See all private messages"] = "Alle persönlichen Nachrichten ansehen";
-App::$strings["Mark all private messages seen"] = "Markiere alle persönlichen Nachrichten als gesehen";
-App::$strings["Inbox"] = "Eingang";
-App::$strings["Outbox"] = "Ausgang";
-App::$strings["New Message"] = "Neue Nachricht";
-App::$strings["Event Calendar"] = "Terminkalender";
-App::$strings["See all events"] = "Alle Termine ansehen";
-App::$strings["Mark all events seen"] = "Markiere alle Termine als gesehen";
-App::$strings["Manage Your Channels"] = "Verwalte Deine Kanäle";
-App::$strings["Account/Channel Settings"] = "Konto-/Kanal-Einstellungen";
-App::$strings["Admin"] = "Administration";
-App::$strings["Site Setup and Configuration"] = "Seiten-Einrichtung und -Konfiguration";
-App::$strings["Loading..."] = "Lädt ...";
-App::$strings["@name, #tag, ?doc, content"] = "@Name, #Schlagwort, ?Dokumentation, Inhalt";
-App::$strings["Please wait..."] = "Bitte warten...";
-App::$strings["%1\$s's bookmarks"] = "%1\$ss Lesezeichen";
+App::$strings["Image/photo"] = "Bild/Foto";
+App::$strings["Encrypted content"] = "Verschlüsselter Inhalt";
+App::$strings["Install %s element: "] = "Element %s installieren: ";
+App::$strings["This post contains an installable %s element, however you lack permissions to install it on this site."] = "Dieser Beitrag beinhaltet ein installierbares %s Element, aber Du hast nicht die nötigen Rechte, um es auf diesem Hub zu installieren.";
+App::$strings["%1\$s wrote the following %2\$s %3\$s"] = "%1\$s schrieb den folgenden %2\$s %3\$s";
+App::$strings["Click to open/close"] = "Klicke zum Öffnen/Schließen";
+App::$strings["spoiler"] = "Spoiler";
+App::$strings["Different viewers will see this text differently"] = "Verschiedene Betrachter werden diesen Text unterschiedlich sehen";
+App::$strings["$1 wrote:"] = "$1 schrieb:";
App::$strings["l F d, Y \\@ g:i A"] = "l, d. F Y, H:i";
App::$strings["Starts:"] = "Beginnt:";
App::$strings["Finishes:"] = "Endet:";
@@ -1929,66 +1830,35 @@ App::$strings["Needs Action"] = "Aktion erforderlich";
App::$strings["Completed"] = "Abgeschlossen";
App::$strings["In Process"] = "In Bearbeitung";
App::$strings["Cancelled"] = "gestrichen";
+App::$strings["guest:"] = "Gast:";
+App::$strings["The form security token was not correct. This probably happened because the form has been opened for too long (>3 hours) before submitting it."] = "Das Security-Token des Formulars war nicht korrekt. Das ist wahrscheinlich passiert, weil das Formular zu lange (>3 Stunden) offen war, bevor es abgeschickt wurde.";
+App::$strings["Help:"] = "Hilfe:";
+App::$strings["%1\$s's bookmarks"] = "%1\$ss Lesezeichen";
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."] = "Es hat früher schon einmal eine Gruppe mit diesem Namen existiert, die gelöscht wurde. Es <strong>könnten</strong> von damals noch Elemente (Beiträge, Dateien etc.) vorhanden sein, die allen jetzigen und zukünftigen Mitgliedern dieser Gruppe den Zugriff erlauben. Wenn das nicht Deine Absicht ist, erstelle bitte eine neue Gruppe mit einem anderen Namen.";
App::$strings["Add new connections to this privacy group"] = "Neue Verbindung zu dieser Gruppe hinzufügen";
App::$strings["edit"] = "Bearbeiten";
+App::$strings["Privacy Groups"] = "Gruppen";
App::$strings["Edit group"] = "Gruppe ändern";
App::$strings["Add privacy group"] = "Gruppe hinzufügen";
App::$strings["Channels not in any privacy group"] = "Kanäle, die in keiner Gruppe sind";
App::$strings["add"] = "hinzufügen";
+App::$strings["Item was not found."] = "Beitrag wurde nicht gefunden.";
+App::$strings["No source file."] = "Keine Quelldatei.";
+App::$strings["Cannot locate file to replace"] = "Kann Datei zum Ersetzen nicht finden";
+App::$strings["Cannot locate file to revise/update"] = "Kann Datei zum Prüfen/Aktualisieren nicht finden";
+App::$strings["File exceeds size limit of %d"] = "Datei überschreitet das Größen-Limit von %d";
+App::$strings["You have reached your limit of %1$.0f Mbytes attachment storage."] = "Die Größe Deiner Datei-Anhänge hat das Maximum von %1$.0f MByte erreicht.";
+App::$strings["File upload failed. Possible system limit or action terminated."] = "Datei-Upload fehlgeschlagen. Mögliche Systembegrenzung oder abgebrochener Prozess.";
+App::$strings["Stored file could not be verified. Upload failed."] = "Gespeichert Datei konnte nicht verifiziert werden. Upload abgebrochen.";
+App::$strings["Path not available."] = "Pfad nicht verfügbar.";
+App::$strings["Empty pathname"] = "Leere Pfadangabe";
+App::$strings["duplicate filename or path"] = "doppelter Dateiname oder Pfad";
+App::$strings["Path not found."] = "Pfad nicht gefunden.";
+App::$strings["mkdir failed."] = "mkdir fehlgeschlagen.";
+App::$strings["database storage failed."] = "Speichern in der Datenbank fehlgeschlagen.";
+App::$strings["Empty path"] = "Leere Pfadangabe";
App::$strings["New Page"] = "Neue Seite";
App::$strings["Title"] = "Titel";
-App::$strings["Unable to obtain identity information from database"] = "Kann keine Identitäts-Informationen aus Datenbank beziehen";
-App::$strings["Empty name"] = "Namensfeld leer";
-App::$strings["Name too long"] = "Name ist zu lang";
-App::$strings["No account identifier"] = "Keine Account-Kennung";
-App::$strings["Nickname is required."] = "Spitzname ist erforderlich.";
-App::$strings["Reserved nickname. Please choose another."] = "Reservierter Kurzname. Bitte wähle einen anderen.";
-App::$strings["Nickname has unsupported characters or is already being used on this site."] = "Der Spitzname enthält nicht-unterstütze Zeichen oder wird bereits auf dieser Seite genutzt.";
-App::$strings["Unable to retrieve created identity"] = "Kann die erstellte Identität nicht empfangen";
-App::$strings["Default Profile"] = "Standard-Profil";
-App::$strings["Requested channel is not available."] = "Angeforderte Kanal nicht verfügbar.";
-App::$strings["Create New Profile"] = "Neues Profil erstellen";
-App::$strings["Visible to everybody"] = "Für jeden sichtbar";
-App::$strings["Gender:"] = "Geschlecht:";
-App::$strings["Status:"] = "Status:";
-App::$strings["Homepage:"] = "Homepage:";
-App::$strings["Online Now"] = "gerade online";
-App::$strings["Like this channel"] = "Dieser Kanal gefällt mir";
-App::$strings["j F, Y"] = "j. F Y";
-App::$strings["j F"] = "j. F";
-App::$strings["Birthday:"] = "Geburtstag:";
-App::$strings["for %1\$d %2\$s"] = "seit %1\$d %2\$s";
-App::$strings["Sexual Preference:"] = "Sexuelle Orientierung:";
-App::$strings["Tags:"] = "Schlagworte:";
-App::$strings["Political Views:"] = "Politische Ansichten:";
-App::$strings["Religion:"] = "Religion:";
-App::$strings["Hobbies/Interests:"] = "Hobbys/Interessen:";
-App::$strings["Likes:"] = "Gefällt:";
-App::$strings["Dislikes:"] = "Gefällt nicht:";
-App::$strings["Contact information and Social Networks:"] = "Kontaktinformation und soziale Netzwerke:";
-App::$strings["My other channels:"] = "Meine anderen Kanäle:";
-App::$strings["Musical interests:"] = "Musikalische Interessen:";
-App::$strings["Books, literature:"] = "Bücher, Literatur:";
-App::$strings["Television:"] = "Fernsehen:";
-App::$strings["Film/dance/culture/entertainment:"] = "Film/Tanz/Kultur/Unterhaltung:";
-App::$strings["Love/Romance:"] = "Liebe/Romantik:";
-App::$strings["Work/employment:"] = "Arbeit/Anstellung:";
-App::$strings["School/education:"] = "Schule/Ausbildung:";
-App::$strings["Like this thing"] = "Gefällt mir";
-App::$strings["view full size"] = "In Vollbildansicht anschauen";
-App::$strings["Administrator"] = "Administrator";
-App::$strings["No Subject"] = "Kein Betreff";
-App::$strings["Friendica"] = "Friendica";
-App::$strings["OStatus"] = "OStatus";
-App::$strings["GNU-Social"] = "GNU-Social";
-App::$strings["RSS/Atom"] = "RSS/Atom";
-App::$strings["Diaspora"] = "Diaspora";
-App::$strings["Facebook"] = "Facebook";
-App::$strings["Zot"] = "Zot!";
-App::$strings["LinkedIn"] = "LinkedIn";
-App::$strings["XMPP/IM"] = "XMPP/IM";
-App::$strings["MySpace"] = "MySpace";
App::$strings["Attachments:"] = "Anhänge:";
App::$strings["\$Projectname event notification:"] = "\$Projectname-Terminbenachrichtigung:";
App::$strings["Delete this item?"] = "Dieses Element löschen?";
@@ -2024,7 +1894,18 @@ App::$strings["about a year"] = "ungefähr ein Jahr";
App::$strings["%d years"] = "%d Jahre";
App::$strings[" "] = " ";
App::$strings["timeago.numbers"] = "timeago.numbers";
+App::$strings["January"] = "Januar";
+App::$strings["February"] = "Februar";
+App::$strings["March"] = "März";
+App::$strings["April"] = "April";
App::$strings["__ctx:long__ May"] = "Mai";
+App::$strings["June"] = "Juni";
+App::$strings["July"] = "Juli";
+App::$strings["August"] = "August";
+App::$strings["September"] = "September";
+App::$strings["October"] = "Oktober";
+App::$strings["November"] = "November";
+App::$strings["December"] = "Dezember";
App::$strings["Jan"] = "Jan";
App::$strings["Feb"] = "Feb";
App::$strings["Mar"] = "Mär";
@@ -2037,6 +1918,13 @@ App::$strings["Sep"] = "Sep";
App::$strings["Oct"] = "Okt";
App::$strings["Nov"] = "Nov";
App::$strings["Dec"] = "Dez";
+App::$strings["Sunday"] = "Sonntag";
+App::$strings["Monday"] = "Montag";
+App::$strings["Tuesday"] = "Dienstag";
+App::$strings["Wednesday"] = "Mittwoch";
+App::$strings["Thursday"] = "Donnerstag";
+App::$strings["Friday"] = "Freitag";
+App::$strings["Saturday"] = "Samstag";
App::$strings["Sun"] = "So";
App::$strings["Mon"] = "Mo";
App::$strings["Tue"] = "Di";
@@ -2049,35 +1937,90 @@ App::$strings["__ctx:calendar__ month"] = "Monat";
App::$strings["__ctx:calendar__ week"] = "Woche";
App::$strings["__ctx:calendar__ day"] = "Tag";
App::$strings["__ctx:calendar__ All day"] = "Ganztägig";
-App::$strings["guest:"] = "Gast:";
-App::$strings["The form security token was not correct. This probably happened because the form has been opened for too long (>3 hours) before submitting it."] = "Das Security-Token des Formulars war nicht korrekt. Das ist wahrscheinlich passiert, weil das Formular zu lange (>3 Stunden) offen war, bevor es abgeschickt wurde.";
-App::$strings["Not a valid email address"] = "Ungültige E-Mail-Adresse";
-App::$strings["Your email domain is not among those allowed on this site"] = "Deine E-Mail-Adresse ist auf dieser Seite nicht erlaubt";
-App::$strings["Your email address is already registered at this site."] = "Deine E-Mail-Adresse ist auf dieser Seite bereits registriert.";
-App::$strings["An invitation is required."] = "Eine Einladung wird benötigt.";
-App::$strings["Invitation could not be verified."] = "Die Einladung konnte nicht bestätigt werden.";
-App::$strings["Please enter the required information."] = "Bitte gib die benötigten Informationen ein.";
-App::$strings["Failed to store account information."] = "Speichern der Nutzerkontodaten fehlgeschlagen.";
-App::$strings["Registration confirmation for %s"] = "Registrierungsbestätigung für %s";
-App::$strings["Registration request at %s"] = "Registrierungsanfrage auf %s";
-App::$strings["your registration password"] = "Dein Registrierungspasswort";
-App::$strings["Registration details for %s"] = "Registrierungsdetails für %s";
-App::$strings["Account approved."] = "Nutzerkonto bestätigt.";
-App::$strings["Registration revoked for %s"] = "Registrierung für %s wurde widerrufen";
-App::$strings["Click here to upgrade."] = "Klicke hier, um das Upgrade durchzuführen.";
-App::$strings["This action exceeds the limits set by your subscription plan."] = "Diese Aktion überschreitet die Grenzen Ihres Abonnements.";
-App::$strings["This action is not available under your subscription plan."] = "Diese Aktion ist in Ihrem Abonnement nicht verfügbar.";
-App::$strings["Image/photo"] = "Bild/Foto";
-App::$strings["Encrypted content"] = "Verschlüsselter Inhalt";
-App::$strings["Install %s element: "] = "Element %s installieren: ";
-App::$strings["This post contains an installable %s element, however you lack permissions to install it on this site."] = "Dieser Beitrag beinhaltet ein installierbares %s Element, aber Du hast nicht die nötigen Rechte, um es auf diesem Hub zu installieren.";
-App::$strings["%1\$s wrote the following %2\$s %3\$s"] = "%1\$s schrieb den folgenden %2\$s %3\$s";
-App::$strings["Click to open/close"] = "Klicke zum Öffnen/Schließen";
-App::$strings["spoiler"] = "Spoiler";
-App::$strings["Different viewers will see this text differently"] = "Verschiedene Betrachter werden diesen Text unterschiedlich sehen";
-App::$strings["$1 wrote:"] = "$1 schrieb:";
+App::$strings["Channel is blocked on this site."] = "Der Kanal ist auf dieser Seite blockiert ";
+App::$strings["Channel location missing."] = "Adresse des Kanals fehlt.";
+App::$strings["Response from remote channel was incomplete."] = "Antwort des entfernten Kanals war unvollständig.";
+App::$strings["Channel was deleted and no longer exists."] = "Kanal wurde gelöscht und existiert nicht mehr.";
+App::$strings["Protocol disabled."] = "Protokoll deaktiviert.";
+App::$strings["Channel discovery failed."] = "Kanalsuche fehlgeschlagen";
+App::$strings["Cannot connect to yourself."] = "Du kannst Dich nicht mit Dir selbst verbinden.";
+App::$strings["Who can see this?"] = "Wer kann das sehen?";
+App::$strings["Custom selection"] = "Benutzerdefinierte Auswahl";
+App::$strings["Select \"Show\" to allow viewing. \"Don't show\" lets you override and limit the scope of \"Show\"."] = "Wähle \"Anzeigen\", um Betrachtung zuzulassen. \"Nicht anzeigen\" überstimmt und limitiert den Aktionsradius von \"Anzeigen\" für Ausnahmen.";
+App::$strings["Show"] = "Anzeigen";
+App::$strings["Don't show"] = "Nicht anzeigen";
+App::$strings["Post permissions %s cannot be changed %s after a post is shared.</br />These permissions set who is allowed to view the post."] = "Beitragsberechtigungen %s können nicht geändert werden %s, nachdem der Beitrag gesendet wurde.<br />Diese Berechtigungen bestimmen, wer den Beitrag sehen kann.";
+App::$strings["Unable to obtain identity information from database"] = "Kann keine Identitäts-Informationen aus Datenbank beziehen";
+App::$strings["Empty name"] = "Namensfeld leer";
+App::$strings["Name too long"] = "Name ist zu lang";
+App::$strings["No account identifier"] = "Keine Account-Kennung";
+App::$strings["Nickname is required."] = "Spitzname ist erforderlich.";
+App::$strings["Reserved nickname. Please choose another."] = "Reservierter Kurzname. Bitte wähle einen anderen.";
+App::$strings["Nickname has unsupported characters or is already being used on this site."] = "Der Spitzname enthält nicht-unterstütze Zeichen oder wird bereits auf dieser Seite genutzt.";
+App::$strings["Unable to retrieve created identity"] = "Kann die erstellte Identität nicht empfangen";
+App::$strings["Default Profile"] = "Standard-Profil";
+App::$strings["Requested channel is not available."] = "Angeforderte Kanal nicht verfügbar.";
+App::$strings["Create New Profile"] = "Neues Profil erstellen";
+App::$strings["Visible to everybody"] = "Für jeden sichtbar";
+App::$strings["Gender:"] = "Geschlecht:";
+App::$strings["Status:"] = "Status:";
+App::$strings["Homepage:"] = "Homepage:";
+App::$strings["Online Now"] = "gerade online";
+App::$strings["Like this channel"] = "Dieser Kanal gefällt mir";
+App::$strings["j F, Y"] = "j. F Y";
+App::$strings["j F"] = "j. F";
+App::$strings["Birthday:"] = "Geburtstag:";
+App::$strings["for %1\$d %2\$s"] = "seit %1\$d %2\$s";
+App::$strings["Sexual Preference:"] = "Sexuelle Orientierung:";
+App::$strings["Tags:"] = "Schlagworte:";
+App::$strings["Political Views:"] = "Politische Ansichten:";
+App::$strings["Religion:"] = "Religion:";
+App::$strings["Hobbies/Interests:"] = "Hobbys/Interessen:";
+App::$strings["Likes:"] = "Gefällt:";
+App::$strings["Dislikes:"] = "Gefällt nicht:";
+App::$strings["Contact information and Social Networks:"] = "Kontaktinformation und soziale Netzwerke:";
+App::$strings["My other channels:"] = "Meine anderen Kanäle:";
+App::$strings["Musical interests:"] = "Musikalische Interessen:";
+App::$strings["Books, literature:"] = "Bücher, Literatur:";
+App::$strings["Television:"] = "Fernsehen:";
+App::$strings["Film/dance/culture/entertainment:"] = "Film/Tanz/Kultur/Unterhaltung:";
+App::$strings["Love/Romance:"] = "Liebe/Romantik:";
+App::$strings["Work/employment:"] = "Arbeit/Anstellung:";
+App::$strings["School/education:"] = "Schule/Ausbildung:";
+App::$strings["Like this thing"] = "Gefällt mir";
+App::$strings["New window"] = "Neues Fenster";
+App::$strings["Open the selected location in a different window or browser tab"] = "Öffne die markierte Adresse in einem neuen Browserfenster oder Tab";
+App::$strings["User '%s' deleted"] = "Benutzer '%s' gelöscht";
+App::$strings["%d invitation available"] = array(
+ 0 => "%d Einladung verfügbar",
+ 1 => "%d Einladungen verfügbar",
+);
+App::$strings["Find Channels"] = "Finde Kanäle";
+App::$strings["Enter name or interest"] = "Name oder Interessen eingeben";
+App::$strings["Connect/Follow"] = "Verbinden/Folgen";
+App::$strings["Examples: Robert Morgenstein, Fishing"] = "Beispiele: Robert Morgenstein, Angeln";
+App::$strings["Random Profile"] = "Zufallsprofil";
+App::$strings["Invite Friends"] = "Lade Freunde ein";
+App::$strings["Advanced example: name=fred and country=iceland"] = "Fortgeschrittenes Beispiel: name=fred and country=iceland";
+App::$strings["Saved Folders"] = "Gespeicherte Ordner";
+App::$strings["Everything"] = "Alles";
+App::$strings["Categories"] = "Kategorien";
+App::$strings["%d connection in common"] = array(
+ 0 => "%d gemeinsame Verbindung",
+ 1 => "%d gemeinsame Verbindungen",
+);
+App::$strings["show more"] = "mehr zeigen";
+App::$strings["Logged out."] = "Ausgeloggt.";
+App::$strings["Failed authentication"] = "Authentifizierung fehlgeschlagen";
+App::$strings["Login failed."] = "Login fehlgeschlagen.";
+App::$strings[" and "] = "und";
+App::$strings["public profile"] = "öffentliches Profil";
+App::$strings["%1\$s changed %2\$s to &ldquo;%3\$s&rdquo;"] = "%1\$s hat %2\$s auf &ldquo;%3\$s&rdquo; geändert";
+App::$strings["Visit %1\$s's %2\$s"] = "Besuche %1\$s's %2\$s";
+App::$strings["%1\$s has an updated %2\$s, changing %3\$s."] = "%1\$s hat ein aktualisiertes %2\$s, %3\$s wurde verändert.";
App::$strings["%1\$s is now connected with %2\$s"] = "%1\$s ist jetzt mit %2\$s verbunden";
App::$strings["%1\$s poked %2\$s"] = "%1\$s stupste %2\$s an";
+App::$strings["poked"] = "stupste";
App::$strings["View %s's profile @ %s"] = "%ss Profil auf %s ansehen";
App::$strings["Categories:"] = "Kategorien:";
App::$strings["Filed under:"] = "Gespeichert unter:";
@@ -2111,10 +2054,15 @@ App::$strings["Set your location"] = "Standort";
App::$strings["Clear browser location"] = "Browser-Standort löschen";
App::$strings["Tag term:"] = "Schlagwort:";
App::$strings["Where are you right now?"] = "Wo bist Du jetzt grade?";
+App::$strings["Comments enabled"] = "Kommentare aktiviert";
+App::$strings["Comments disabled"] = "Kommentare deaktiviert";
App::$strings["Page link name"] = "Link zur Seite";
App::$strings["Post as"] = "Veröffentlichen als";
App::$strings["Toggle voting"] = "Umfragewerkzeug aktivieren";
+App::$strings["Disable comments"] = "Kommentare deaktivieren";
+App::$strings["Toggle comments"] = "Kommentare umschalten";
App::$strings["Categories (optional, comma-separated list)"] = "Kategorien (optional, kommagetrennte Liste)";
+App::$strings["Other networks and post services"] = "Andere Netzwerke und Platformen";
App::$strings["Set publish date"] = "Veröffentlichungsdatum festlegen";
App::$strings["Discover"] = "Entdecken";
App::$strings["Imported public streams"] = "Importierte öffentliche Beiträge";
@@ -2139,34 +2087,30 @@ App::$strings["__ctx:noun__ Attending"] = array(
0 => "Zusage",
1 => "Zusagen",
);
-App::$strings["__ctx:noun__ Not Attending"] = array(
- 0 => "Absage",
- 1 => "Absagen",
+App::$strings["__ctx:relative_date__ month"] = array(
+ 0 => "Monat",
+ 1 => "Monate",
);
-App::$strings["__ctx:noun__ Undecided"] = array(
- 0 => " Unentschlossen",
- 1 => "Unentschlossene",
+App::$strings["__ctx:relative_date__ week"] = array(
+ 0 => "Woche",
+ 1 => "Wochen",
);
-App::$strings["__ctx:noun__ Agree"] = array(
- 0 => "Zustimmung",
- 1 => "Zustimmungen",
+App::$strings["__ctx:relative_date__ day"] = array(
+ 0 => "Tag",
+ 1 => "Tage",
);
-App::$strings["__ctx:noun__ Disagree"] = array(
- 0 => "Ablehnung",
- 1 => "Ablehnungen",
+App::$strings["__ctx:relative_date__ hour"] = array(
+ 0 => "Stunde",
+ 1 => "Stunden",
);
-App::$strings["__ctx:noun__ Abstain"] = array(
- 0 => "Enthaltung",
- 1 => "Enthaltungen",
+App::$strings["__ctx:relative_date__ minute"] = array(
+ 0 => "Minute",
+ 1 => "Minuten",
+);
+App::$strings["__ctx:relative_date__ second"] = array(
+ 0 => "Sekunde",
+ 1 => "Sekunden",
);
-App::$strings["Embedded content"] = "Eingebetteter Inhalt";
-App::$strings["Embedding disabled"] = "Einbetten ausgeschaltet";
-App::$strings[" and "] = "und";
-App::$strings["public profile"] = "öffentliches Profil";
-App::$strings["%1\$s changed %2\$s to &ldquo;%3\$s&rdquo;"] = "%1\$s hat %2\$s auf &ldquo;%3\$s&rdquo; geändert";
-App::$strings["Visit %1\$s's %2\$s"] = "Besuche %1\$s's %2\$s";
-App::$strings["%1\$s has an updated %2\$s, changing %3\$s."] = "%1\$s hat ein aktualisiertes %2\$s, %3\$s wurde verändert.";
-App::$strings["Categories"] = "Kategorien";
App::$strings["Tags"] = "Schlagwörter";
App::$strings["Keywords"] = "Schlüsselwörter";
App::$strings["have"] = "habe";
@@ -2175,19 +2119,83 @@ App::$strings["want"] = "will";
App::$strings["wants"] = "will";
App::$strings["likes"] = "gefällt";
App::$strings["dislikes"] = "missfällt";
-App::$strings["Can view my normal stream and posts"] = "Kann meine normalen Beiträge sehen";
-App::$strings["Can view my webpages"] = "Kann meine Webseiten sehen";
-App::$strings["Can post on my channel page (\"wall\")"] = "Kann auf meiner Kanal-Seite (\"wall\") Beiträge veröffentlichen";
-App::$strings["Can like/dislike stuff"] = "Kann andere Elemente mögen/nicht mögen";
-App::$strings["Profiles and things other than posts/comments"] = "Profile und alles außer Beiträge und Kommentare";
-App::$strings["Can forward to all my channel contacts via post @mentions"] = "Kann an alle meine Kontakte via @-Erwähnung Nachrichten weiterleiten";
-App::$strings["Advanced - useful for creating group forum channels"] = "Fortgeschritten - sinnvoll, um Gruppen-Kanäle/-Foren zu erstellen";
-App::$strings["Can chat with me (when available)"] = "Kann mit mir chatten (wenn verfügbar)";
-App::$strings["Can write to my file storage and photos"] = "Kann in meine Datei- und Bilderordner schreiben";
-App::$strings["Can edit my webpages"] = "Kann meine Webseiten bearbeiten";
-App::$strings["Somewhat advanced - very useful in open communities"] = "Etwas fortgeschritten – sehr nützlich in offenen Gemeinschaften";
-App::$strings["Can administer my channel resources"] = "Kann meine Kanäle administrieren";
-App::$strings["Extremely advanced. Leave this alone unless you know what you are doing"] = "Sehr fortgeschritten. Bearbeite das nur, wenn Du genau weißt, was Du tust";
+App::$strings["prev"] = "vorherige";
+App::$strings["first"] = "erste";
+App::$strings["last"] = "letzte";
+App::$strings["next"] = "nächste";
+App::$strings["older"] = "älter";
+App::$strings["newer"] = "neuer";
+App::$strings["No connections"] = "Keine Verbindungen";
+App::$strings["View all %s connections"] = "Alle Verbindungen von %s anzeigen";
+App::$strings["poke"] = "anstupsen";
+App::$strings["ping"] = "anpingen";
+App::$strings["pinged"] = "pingte";
+App::$strings["prod"] = "knuffen";
+App::$strings["prodded"] = "knuffte";
+App::$strings["slap"] = "ohrfeigen";
+App::$strings["slapped"] = "ohrfeigte";
+App::$strings["finger"] = "befummeln";
+App::$strings["fingered"] = "befummelte";
+App::$strings["rebuff"] = "eine Abfuhr erteilen";
+App::$strings["rebuffed"] = "zurückgewiesen";
+App::$strings["happy"] = "glücklich";
+App::$strings["sad"] = "traurig";
+App::$strings["mellow"] = "sanft";
+App::$strings["tired"] = "müde";
+App::$strings["perky"] = "frech";
+App::$strings["angry"] = "sauer";
+App::$strings["stupefied"] = "verblüfft";
+App::$strings["puzzled"] = "verwirrt";
+App::$strings["interested"] = "interessiert";
+App::$strings["bitter"] = "verbittert";
+App::$strings["cheerful"] = "fröhlich";
+App::$strings["alive"] = "lebendig";
+App::$strings["annoyed"] = "verärgert";
+App::$strings["anxious"] = "unruhig";
+App::$strings["cranky"] = "schrullig";
+App::$strings["disturbed"] = "verstört";
+App::$strings["frustrated"] = "frustriert";
+App::$strings["depressed"] = "deprimiert";
+App::$strings["motivated"] = "motiviert";
+App::$strings["relaxed"] = "entspannt";
+App::$strings["surprised"] = "überrascht";
+App::$strings["May"] = "Mai";
+App::$strings["Unknown Attachment"] = "Unbekannter Anhang";
+App::$strings["unknown"] = "unbekannt";
+App::$strings["remove category"] = "Kategorie entfernen";
+App::$strings["remove from file"] = "aus der Datei entfernen";
+App::$strings["default"] = "Standard";
+App::$strings["Page layout"] = "Seiten-Layout";
+App::$strings["You can create your own with the layouts tool"] = "Mit dem Gestaltungswerkzeug kannst Du Deine eigenen Layouts erstellen";
+App::$strings["Page content type"] = "Art des Seiteninhalts";
+App::$strings["Select an alternate language"] = "Wähle eine alternative Sprache";
+App::$strings["activity"] = "Aktivität";
+App::$strings["Design Tools"] = "Gestaltungswerkzeuge";
+App::$strings["Pages"] = "Seiten";
+App::$strings["Import website..."] = "Webseite importieren...";
+App::$strings["Select folder to import"] = "Ordner zum Importieren auswählen";
+App::$strings["Import from a zipped folder:"] = "Aus einem gezippten Ordner importieren:";
+App::$strings["Import from cloud files:"] = "Aus Cloud-Dateien importieren:";
+App::$strings["/cloud/channel/path/to/folder"] = "/Cloud/Kanal/Pfad/zum/Ordner";
+App::$strings["Enter path to website files"] = "Pfad zu Webseitendateien eingeben";
+App::$strings["Select folder"] = "Ordner auswählen";
+App::$strings["Export website..."] = "Webseite exportieren...";
+App::$strings["Export to a zip file"] = "In eine ZIP-Datei exportieren";
+App::$strings["website.zip"] = "website.zip";
+App::$strings["Enter a name for the zip file."] = "Geben Sie einen für die ZIP-Datei ein.";
+App::$strings["Export to cloud files"] = "In Cloud-Dateien exportieren";
+App::$strings["/path/to/export/folder"] = "/Pfad/zum/exportierenden/Ordner";
+App::$strings["Enter a path to a cloud files destination."] = "Gib den Pfad zu einem Datei-Speicherort in der Cloud ein.";
+App::$strings["Specify folder"] = "Ordner angeben";
+App::$strings["Public Timeline"] = "Öffentliche Zeitleiste";
+App::$strings["Directory Options"] = "Verzeichnisoptionen";
+App::$strings["Safe Mode"] = "Sicherer Modus";
+App::$strings["Public Forums Only"] = "Nur öffentliche Foren";
+App::$strings["This Website Only"] = "Nur dieser Hub";
+App::$strings["No recipient provided."] = "Kein Empfänger angegeben";
+App::$strings["[no subject]"] = "[no subject]";
+App::$strings["Unable to determine sender."] = "Kann Absender nicht bestimmen.";
+App::$strings["Stored post could not be verified."] = "Gespeicherter Beitrag konnten nicht überprüft werden.";
App::$strings["System"] = "System";
App::$strings["New App"] = "Neue App";
App::$strings["Suggestions"] = "Vorschläge";
@@ -2198,7 +2206,7 @@ App::$strings["Enter channel address"] = "Adresse des Kanals eingeben";
App::$strings["Examples: bob@example.com, https://example.com/barbara"] = "Beispiele: bob@beispiel.com, http://beispiel.com/barbara";
App::$strings["Notes"] = "Notizen";
App::$strings["Remove term"] = "Eintrag löschen";
-App::$strings["Everything"] = "Alles";
+App::$strings["Saved Searches"] = "Gespeicherte Suchanfragen";
App::$strings["Archives"] = "Archive";
App::$strings["Refresh"] = "Aktualisieren";
App::$strings["Account settings"] = "Konto-Einstellungen";
@@ -2234,66 +2242,86 @@ App::$strings["View Ratings"] = "Bewertungen ansehen";
App::$strings["Forums"] = "Foren";
App::$strings["Tasks"] = "Aufgaben";
App::$strings["Documentation"] = "Dokumentation";
-App::$strings["Project/Site Information"] = "Informationen über das Projekt und diesen Hub";
-App::$strings["For Members"] = "Für Mitglieder";
-App::$strings["For Administrators"] = "Für Administratoren";
-App::$strings["For Developers"] = "Für Entwickler";
App::$strings["Member registrations waiting for confirmation"] = "Nutzer-Anmeldungen, die auf Bestätigung warten";
App::$strings["Inspect queue"] = "Warteschlange kontrollieren";
App::$strings["DB updates"] = "DB-Aktualisierungen";
App::$strings["Plugin Features"] = "Plug-In Funktionen";
-App::$strings["Item was not found."] = "Beitrag wurde nicht gefunden.";
-App::$strings["No source file."] = "Keine Quelldatei.";
-App::$strings["Cannot locate file to replace"] = "Kann Datei zum Ersetzen nicht finden";
-App::$strings["Cannot locate file to revise/update"] = "Kann Datei zum Prüfen/Aktualisieren nicht finden";
-App::$strings["File exceeds size limit of %d"] = "Datei überschreitet das Größen-Limit von %d";
-App::$strings["You have reached your limit of %1$.0f Mbytes attachment storage."] = "Die Größe Deiner Datei-Anhänge hat das Maximum von %1$.0f MByte erreicht.";
-App::$strings["File upload failed. Possible system limit or action terminated."] = "Datei-Upload fehlgeschlagen. Mögliche Systembegrenzung oder abgebrochener Prozess.";
-App::$strings["Stored file could not be verified. Upload failed."] = "Gespeichert Datei konnte nicht verifiziert werden. Upload abgebrochen.";
-App::$strings["Path not available."] = "Pfad nicht verfügbar.";
-App::$strings["Empty pathname"] = "Leere Pfadangabe";
-App::$strings["duplicate filename or path"] = "doppelter Dateiname oder Pfad";
-App::$strings["Path not found."] = "Pfad nicht gefunden.";
-App::$strings["mkdir failed."] = "mkdir fehlgeschlagen.";
-App::$strings["database storage failed."] = "Speichern in der Datenbank fehlgeschlagen.";
-App::$strings["Empty path"] = "Leere Pfadangabe";
-App::$strings["%d invitation available"] = array(
- 0 => "%d Einladung verfügbar",
- 1 => "%d Einladungen verfügbar",
-);
-App::$strings["Find Channels"] = "Finde Kanäle";
-App::$strings["Enter name or interest"] = "Name oder Interessen eingeben";
-App::$strings["Connect/Follow"] = "Verbinden/Folgen";
-App::$strings["Examples: Robert Morgenstein, Fishing"] = "Beispiele: Robert Morgenstein, Angeln";
-App::$strings["Random Profile"] = "Zufallsprofil";
-App::$strings["Invite Friends"] = "Lade Freunde ein";
-App::$strings["Advanced example: name=fred and country=iceland"] = "Fortgeschrittenes Beispiel: name=fred and country=iceland";
-App::$strings["%d connection in common"] = array(
- 0 => "%d gemeinsame Verbindung",
- 1 => "%d gemeinsame Verbindungen",
-);
-App::$strings["show more"] = "mehr zeigen";
-App::$strings["Directory Options"] = "Verzeichnisoptionen";
-App::$strings["Safe Mode"] = "Sicherer Modus";
-App::$strings["Public Forums Only"] = "Nur öffentliche Foren";
-App::$strings["This Website Only"] = "Nur dieser Hub";
-App::$strings["No recipient provided."] = "Kein Empfänger angegeben";
-App::$strings["[no subject]"] = "[no subject]";
-App::$strings["Unable to determine sender."] = "Kann Absender nicht bestimmen.";
-App::$strings["Stored post could not be verified."] = "Gespeicherter Beitrag konnten nicht überprüft werden.";
-App::$strings["Logged out."] = "Ausgeloggt.";
-App::$strings["Failed authentication"] = "Authentifizierung fehlgeschlagen";
-App::$strings["Login failed."] = "Login fehlgeschlagen.";
-App::$strings["New window"] = "Neues Fenster";
-App::$strings["Open the selected location in a different window or browser tab"] = "Öffne die markierte Adresse in einem neuen Browserfenster oder Tab";
-App::$strings["User '%s' deleted"] = "Benutzer '%s' gelöscht";
App::$strings["Invalid data packet"] = "Ungültiges Datenpaket";
App::$strings["Unable to verify channel signature"] = "Konnte die Signatur des Kanals nicht verifizieren";
App::$strings["Unable to verify site signature for %s"] = "Kann die Signatur der Seite von %s nicht verifizieren";
App::$strings["invalid target signature"] = "Ungültige Signatur des Ziels";
+App::$strings["General Features"] = "Allgemeine Funktionen";
+App::$strings["Content Expiration"] = "Verfall von Inhalten";
+App::$strings["Remove posts/comments and/or private messages at a future time"] = "Ermöglicht das automatische Löschen von Beiträgen, Kommentaren und/oder privaten Nachrichten zu einem zukünftigen Datum.";
+App::$strings["Multiple Profiles"] = "Mehrfachprofile";
+App::$strings["Ability to create multiple profiles"] = "Ermöglicht das Anlegen mehrerer Profile pro Kanal";
+App::$strings["Advanced Profiles"] = "Erweiterte Profile";
+App::$strings["Additional profile sections and selections"] = "Stellt zusätzliche Bereiche und Felder im Profil zur Verfügung";
+App::$strings["Profile Import/Export"] = "Profil-Import/Export";
+App::$strings["Save and load profile details across sites/channels"] = "Ermöglicht das Speichern von Profilen, um sie in einen anderen Kanal zu importieren";
+App::$strings["Web Pages"] = "Webseiten";
+App::$strings["Provide managed web pages on your channel"] = "Ermöglicht das Erstellen von Webseiten in Deinem Kanal";
+App::$strings["Provide a wiki for your channel"] = "Stelle ein Wiki in Deinem Kanal zur Verfügung";
+App::$strings["Private Notes"] = "Private Notizen";
+App::$strings["Enables a tool to store notes and reminders (note: not encrypted)"] = "Aktiviert ein Werkzeug mit dem Notizen und Erinnerungen gespeichert werden können (Hinweis: nicht verschlüsselt)";
+App::$strings["Navigation Channel Select"] = "Kanal-Auswahl in der Navigationsleiste";
+App::$strings["Change channels directly from within the navigation dropdown menu"] = "Ermöglicht den direkten Wechsel zu anderen Kanälen über das Navigationsmenü";
+App::$strings["Photo Location"] = "Aufnahmeort";
+App::$strings["If location data is available on uploaded photos, link this to a map."] = "Verlinkt den Aufnahmeort von Fotos (falls verfügbar) auf einer Karte";
+App::$strings["Access Controlled Chatrooms"] = "Zugriffskontrollierte Chaträume";
+App::$strings["Provide chatrooms and chat services with access control."] = "Bieten Sie Chaträume und Chatdienste mit Zugriffskontrolle an.";
+App::$strings["Smart Birthdays"] = "Smarte Geburtstage";
+App::$strings["Make birthday events timezone aware in case your friends are scattered across the planet."] = "Stellt für Geburtstage einen Zeitzonenbezug her, falls deine Freunde über den ganzen Planeten verstreut sind.";
+App::$strings["Post Composition Features"] = "Nachbearbeitungsfunktionen";
+App::$strings["Large Photos"] = "Große Fotos";
+App::$strings["Include large (1024px) photo thumbnails in posts. If not enabled, use small (640px) photo thumbnails"] = "Große Vorschaubilder (1024px) in Beiträgen anzeigen. Falls nicht aktiviert, werden kleine Vorschaubilder (640px) verwendet.";
+App::$strings["Automatically import channel content from other channels or feeds"] = "Ermöglicht den automatischen Import von Inhalten für diesen Kanal von anderen Kanälen oder Feeds";
+App::$strings["Even More Encryption"] = "Noch mehr Verschlüsselung";
+App::$strings["Allow optional encryption of content end-to-end with a shared secret key"] = "Ermöglicht optional die zusätzliche Verschlüsselung von Inhalten (Ende-zu-Ende mit geteiltem Schlüssel)";
+App::$strings["Enable Voting Tools"] = "Umfragewerkzeuge aktivieren";
+App::$strings["Provide a class of post which others can vote on"] = "Aktiviert die Umfragewerkzeuge, um anderen die Möglichkeit zu geben, einem Beitrag zuzustimmen, ihn abzulehnen oder sich zu enthalten. (Muss im Beitrag selbst noch aktiviert werden.)";
+App::$strings["Disable Comments"] = "Kommentare deaktivieren";
+App::$strings["Provide the option to disable comments for a post"] = "Ermöglicht, die Kommentarfunktion für einzelne Beiträge abzuschalten";
+App::$strings["Delayed Posting"] = "Verzögertes Senden";
+App::$strings["Allow posts to be published at a later date"] = "Ermöglicht es, Beiträge zu einem späteren Zeitpunkt zu veröffentlichen";
+App::$strings["Suppress Duplicate Posts/Comments"] = "Doppelte Beiträge unterdrücken";
+App::$strings["Prevent posts with identical content to be published with less than two minutes in between submissions."] = "Verhindert, dass innerhalb von zwei Minuten Beiträge mit identischem Inhalt veröffentlicht werden.";
+App::$strings["Network and Stream Filtering"] = "Netzwerk- und Stream-Filter";
+App::$strings["Search by Date"] = "Suche nach Datum";
+App::$strings["Ability to select posts by date ranges"] = "Möglichkeit, Beiträge nach Zeiträumen auszuwählen";
+App::$strings["Enable management and selection of privacy groups"] = "Auswahl und Verwaltung von Gruppen für Kanäle aktivieren";
+App::$strings["Save search terms for re-use"] = "Ermöglicht das Abspeichern von Suchbegriffen zur Wiederverwendung";
+App::$strings["Network Personal Tab"] = "Persönlicher Netzwerkreiter";
+App::$strings["Enable tab to display only Network posts that you've interacted on"] = "Aktiviert einen Reiter in der Grid-Ansicht, der nur Netzwerk-Beiträge anzeigt, mit denen Du interagiert hast";
+App::$strings["Network New Tab"] = "Netzwerkreiter Neu";
+App::$strings["Enable tab to display all new Network activity"] = "Aktiviert einen Reiter in der Grid-Ansicht, der alle neuen Netzwerkaktivitäten anzeigt";
+App::$strings["Affinity Tool"] = "Beziehungs-Tool";
+App::$strings["Filter stream activity by depth of relationships"] = "Aktiviert ein Werkzeug in der Grid-Ansicht, das den Stream nach Grad der Beziehung filtern kann";
+App::$strings["Show friend and connection suggestions"] = "Freund- und Verbindungsvorschläge anzeigen";
+App::$strings["Post/Comment Tools"] = "Beitrag-/Kommentar-Tools";
+App::$strings["Community Tagging"] = "Gemeinschaftliches Verschlagworten";
+App::$strings["Ability to tag existing posts"] = "Ermöglicht das Verschlagworten existierender Beiträge";
+App::$strings["Post Categories"] = "Beitrags-Kategorien";
+App::$strings["Add categories to your posts"] = "Aktiviert Kategorien für Beiträge";
+App::$strings["Emoji Reactions"] = "Emoji Reaktionen";
+App::$strings["Add emoji reaction ability to posts"] = "Aktiviert Emoji-Reaktionen für Beiträge";
+App::$strings["Ability to file posts under folders"] = "Möglichkeit, Beiträge in Verzeichnissen zu sammeln";
+App::$strings["Dislike Posts"] = "Gefällt-mir-nicht-Beiträge";
+App::$strings["Ability to dislike posts/comments"] = "Aktiviert die „Gefällt mir nicht“-Schaltfläche";
+App::$strings["Star Posts"] = "Beiträge mit Sternchen versehen";
+App::$strings["Ability to mark special posts with a star indicator"] = "Ermöglicht die lokale Markierung spezieller Beiträge mit einem Sternchen-Symbol";
+App::$strings["Tag Cloud"] = "Schlagwort-Wolke";
+App::$strings["Provide a personal tag cloud on your channel page"] = "Aktiviert die Anzeige einer Schlagwort-Wolke (Tag Cloud) auf Deiner Kanal-Seite";
+App::$strings["Connection Filtering"] = "Filter für Verbindungen";
+App::$strings["Filter incoming posts from connections based on keywords/content"] = "Ermöglicht die Filterung eingehender Beiträge anhand von Schlüsselwörtern (muss an der Verbindung konfiguriert werden)";
+App::$strings["Premium Channel"] = "Premium-Kanal";
+App::$strings["Allows you to set restrictions and terms on those that connect with your channel"] = "Ermöglicht es, Einschränkungen und Bedingungen für Verbindungen dieses Kanals festzulegen";
+App::$strings["Advanced Directory Search"] = "Erweiterte Verzeichnissuche";
+App::$strings["Allows creation of complex directory search queries"] = "Ermöglicht die Erstellung komplexer Verzeichnis-Suchabfragen";
+App::$strings["Advanced Theme and Layout Settings"] = "Erweiterte Design- und Layout-Einstellungen";
+App::$strings["Allows fine tuning of themes and page layouts"] = "Erlaubt die Feineinstellung von Designs und Seitenlayouts";
App::$strings["Focus (Hubzilla default)"] = "Focus (Voreinstellung für Hubzilla)";
App::$strings["Theme settings"] = "Theme-Einstellungen";
-App::$strings["Select scheme"] = "Schema wählen";
App::$strings["Narrow navbar"] = "Schmale Navigationsleiste";
App::$strings["Navigation bar background color"] = "Hintergrundfarbe der Navigationsleiste";
App::$strings["Navigation bar gradient top color"] = "Farbverlauf der Navigationsleiste: Farbe oben";
diff --git a/view/es-es/hmessages.po b/view/es-es/hmessages.po
index cc33000e1..1c926131c 100644
--- a/view/es-es/hmessages.po
+++ b/view/es-es/hmessages.po
@@ -13,8 +13,8 @@ msgid ""
msgstr ""
"Project-Id-Version: Redmatrix\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2016-08-19 00:02-0700\n"
-"PO-Revision-Date: 2016-08-23 13:42+0000\n"
+"POT-Creation-Date: 2016-09-30 00:02-0700\n"
+"PO-Revision-Date: 2016-10-05 11:10+0000\n"
"Last-Translator: Manuel Jiménez Friaza <mjfriaza@openmailbox.org>\n"
"Language-Team: Spanish (Spain) (http://www.transifex.com/Friendica/red-matrix/language/es_ES/)\n"
"MIME-Version: 1.0\n"
@@ -24,83 +24,87 @@ msgstr ""
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#: ../../Zotlabs/Access/PermissionRoles.php:182
-#: ../../include/permissions.php:939
+#: ../../include/permissions.php:945
msgid "Social Networking"
msgstr "Redes sociales"
#: ../../Zotlabs/Access/PermissionRoles.php:183
-#: ../../include/permissions.php:939
+#: ../../include/permissions.php:945
msgid "Social - Mostly Public"
msgstr "Social - Público en su mayor parte"
#: ../../Zotlabs/Access/PermissionRoles.php:184
-#: ../../include/permissions.php:939
+#: ../../include/permissions.php:945
msgid "Social - Restricted"
msgstr "Social - Restringido"
#: ../../Zotlabs/Access/PermissionRoles.php:185
-#: ../../include/permissions.php:939
+#: ../../include/permissions.php:945
msgid "Social - Private"
msgstr "Social - Privado"
#: ../../Zotlabs/Access/PermissionRoles.php:188
-#: ../../include/permissions.php:940
+#: ../../include/permissions.php:946
msgid "Community Forum"
msgstr "Foro de discusión"
#: ../../Zotlabs/Access/PermissionRoles.php:189
-#: ../../include/permissions.php:940
+#: ../../include/permissions.php:946
msgid "Forum - Mostly Public"
msgstr "Foro - Público en su mayor parte"
#: ../../Zotlabs/Access/PermissionRoles.php:190
-#: ../../include/permissions.php:940
+#: ../../include/permissions.php:946
msgid "Forum - Restricted"
msgstr "Foro - Restringido"
#: ../../Zotlabs/Access/PermissionRoles.php:191
-#: ../../include/permissions.php:940
+#: ../../include/permissions.php:946
msgid "Forum - Private"
msgstr "Foro - Privado"
#: ../../Zotlabs/Access/PermissionRoles.php:194
-#: ../../include/permissions.php:941
+#: ../../include/permissions.php:947
msgid "Feed Republish"
msgstr "Republicar un \"feed\""
#: ../../Zotlabs/Access/PermissionRoles.php:195
-#: ../../include/permissions.php:941
+#: ../../include/permissions.php:947
msgid "Feed - Mostly Public"
msgstr "Feed - Público en su mayor parte"
#: ../../Zotlabs/Access/PermissionRoles.php:196
-#: ../../include/permissions.php:941
+#: ../../include/permissions.php:947
msgid "Feed - Restricted"
msgstr "Feed - Restringido"
#: ../../Zotlabs/Access/PermissionRoles.php:199
-#: ../../include/permissions.php:942
+#: ../../include/permissions.php:948
msgid "Special Purpose"
msgstr "Propósito especial"
#: ../../Zotlabs/Access/PermissionRoles.php:200
-#: ../../include/permissions.php:942
+#: ../../include/permissions.php:948
msgid "Special - Celebrity/Soapbox"
msgstr "Especial - Celebridad / Tribuna improvisada"
#: ../../Zotlabs/Access/PermissionRoles.php:201
-#: ../../include/permissions.php:942
+#: ../../include/permissions.php:948
msgid "Special - Group Repository"
msgstr "Especial - Repositorio de grupo"
-#: ../../Zotlabs/Access/PermissionRoles.php:204 ../../include/selectors.php:49
+#: ../../Zotlabs/Access/PermissionRoles.php:204
+#: ../../Zotlabs/Module/New_channel.php:132
+#: ../../Zotlabs/Module/Register.php:213
+#: ../../Zotlabs/Module/Settings/Channel.php:442
+#: ../../include/permissions.php:949 ../../include/selectors.php:49
#: ../../include/selectors.php:66 ../../include/selectors.php:104
-#: ../../include/selectors.php:140 ../../include/permissions.php:943
+#: ../../include/selectors.php:140
msgid "Other"
msgstr "Otro"
#: ../../Zotlabs/Access/PermissionRoles.php:205
-#: ../../include/permissions.php:943
+#: ../../include/permissions.php:949
msgid "Custom/Expert Mode"
msgstr "Modo personalizado/experto"
@@ -108,19 +112,19 @@ msgstr "Modo personalizado/experto"
msgid "Can view my channel stream and posts"
msgstr "Pueden verse la actividad y publicaciones de mi canal"
-#: ../../Zotlabs/Access/Permissions.php:31 ../../include/permissions.php:36
+#: ../../Zotlabs/Access/Permissions.php:31 ../../include/permissions.php:42
msgid "Can send me their channel stream and posts"
msgstr "Se me pueden enviar entradas y contenido de un canal"
-#: ../../Zotlabs/Access/Permissions.php:32 ../../include/permissions.php:30
+#: ../../Zotlabs/Access/Permissions.php:32 ../../include/permissions.php:36
msgid "Can view my default channel profile"
msgstr "Puede verse mi perfil de canal predeterminado."
-#: ../../Zotlabs/Access/Permissions.php:33 ../../include/permissions.php:31
+#: ../../Zotlabs/Access/Permissions.php:33 ../../include/permissions.php:37
msgid "Can view my connections"
msgstr "Pueden verse mis conexiones"
-#: ../../Zotlabs/Access/Permissions.php:34 ../../include/permissions.php:32
+#: ../../Zotlabs/Access/Permissions.php:34 ../../include/permissions.php:38
msgid "Can view my file storage and photos"
msgstr "Pueden verse mi repositorio de ficheros y mis fotos"
@@ -140,11 +144,11 @@ msgstr "Pueden crearse / modificarse páginas personales en mi canal"
msgid "Can post on my channel (wall) page"
msgstr "Pueden crearse entradas en mi página de inicio del canal (“muro”)"
-#: ../../Zotlabs/Access/Permissions.php:39 ../../include/permissions.php:38
+#: ../../Zotlabs/Access/Permissions.php:39 ../../include/permissions.php:44
msgid "Can comment on or like my posts"
msgstr "Pueden publicarse comentarios en mis publicaciones o marcar mis entradas con 'me gusta'."
-#: ../../Zotlabs/Access/Permissions.php:40 ../../include/permissions.php:39
+#: ../../Zotlabs/Access/Permissions.php:40 ../../include/permissions.php:45
msgid "Can send me private mail messages"
msgstr "Se me pueden enviar mensajes privados"
@@ -160,7 +164,7 @@ msgstr "Pueden reenviarse publicaciones a todas las conexiones de mi canal a tra
msgid "Can chat with me"
msgstr "Se puede chatear conmigo"
-#: ../../Zotlabs/Access/Permissions.php:44 ../../include/permissions.php:47
+#: ../../Zotlabs/Access/Permissions.php:44 ../../include/permissions.php:53
msgid "Can source my public posts in derived channels"
msgstr "Pueden utilizarse mis publicaciones públicas como origen de contenidos en canales derivados"
@@ -168,11 +172,11 @@ msgstr "Pueden utilizarse mis publicaciones públicas como origen de contenidos
msgid "Can administer my channel"
msgstr "Se puede administrar mi canal"
-#: ../../Zotlabs/Storage/Browser.php:107 ../../Zotlabs/Storage/Browser.php:239
+#: ../../Zotlabs/Storage/Browser.php:107 ../../Zotlabs/Storage/Browser.php:238
msgid "parent"
msgstr "padre"
-#: ../../Zotlabs/Storage/Browser.php:131 ../../include/text.php:2657
+#: ../../Zotlabs/Storage/Browser.php:131 ../../include/text.php:2711
msgid "Collection"
msgstr "Colección"
@@ -196,201 +200,205 @@ msgstr "Programar bandeja de entrada"
msgid "Schedule Outbox"
msgstr "Programar bandeja de salida"
-#: ../../Zotlabs/Storage/Browser.php:164 ../../Zotlabs/Module/Photos.php:800
+#: ../../Zotlabs/Storage/Browser.php:164 ../../Zotlabs/Module/Photos.php:789
#: ../../Zotlabs/Module/Photos.php:1249
#: ../../Zotlabs/Module/Embedphotos.php:147 ../../Zotlabs/Lib/Apps.php:490
-#: ../../Zotlabs/Lib/Apps.php:565 ../../include/conversation.php:1036
-#: ../../include/widgets.php:1613
+#: ../../Zotlabs/Lib/Apps.php:565 ../../include/conversation.php:1031
+#: ../../include/widgets.php:1683
msgid "Unknown"
msgstr "Desconocido"
-#: ../../Zotlabs/Storage/Browser.php:226 ../../Zotlabs/Module/Fbrowser.php:85
-#: ../../Zotlabs/Lib/Apps.php:217 ../../include/conversation.php:1669
-#: ../../include/nav.php:95
+#: ../../Zotlabs/Storage/Browser.php:225 ../../Zotlabs/Module/Fbrowser.php:85
+#: ../../Zotlabs/Lib/Apps.php:217 ../../include/nav.php:96
+#: ../../include/conversation.php:1679
msgid "Files"
msgstr "Ficheros"
-#: ../../Zotlabs/Storage/Browser.php:227
+#: ../../Zotlabs/Storage/Browser.php:226
msgid "Total"
msgstr "Total"
-#: ../../Zotlabs/Storage/Browser.php:229
+#: ../../Zotlabs/Storage/Browser.php:228
msgid "Shared"
msgstr "Compartido"
-#: ../../Zotlabs/Storage/Browser.php:230 ../../Zotlabs/Storage/Browser.php:323
-#: ../../Zotlabs/Module/Menu.php:118 ../../Zotlabs/Module/New_channel.php:142
+#: ../../Zotlabs/Storage/Browser.php:229 ../../Zotlabs/Storage/Browser.php:321
+#: ../../Zotlabs/Module/Menu.php:118 ../../Zotlabs/Module/New_channel.php:147
#: ../../Zotlabs/Module/Blocks.php:159 ../../Zotlabs/Module/Layouts.php:184
-#: ../../Zotlabs/Module/Webpages.php:216
+#: ../../Zotlabs/Module/Webpages.php:239
msgid "Create"
msgstr "Crear"
-#: ../../Zotlabs/Storage/Browser.php:231 ../../Zotlabs/Storage/Browser.php:325
+#: ../../Zotlabs/Storage/Browser.php:230 ../../Zotlabs/Storage/Browser.php:323
#: ../../Zotlabs/Module/Cover_photo.php:357
+#: ../../Zotlabs/Module/Photos.php:816 ../../Zotlabs/Module/Photos.php:1370
#: ../../Zotlabs/Module/Profile_photo.php:390
-#: ../../Zotlabs/Module/Photos.php:827 ../../Zotlabs/Module/Photos.php:1370
-#: ../../Zotlabs/Module/Embedphotos.php:159 ../../include/widgets.php:1626
+#: ../../Zotlabs/Module/Embedphotos.php:159 ../../include/widgets.php:1696
msgid "Upload"
msgstr "Subir"
-#: ../../Zotlabs/Storage/Browser.php:235 ../../Zotlabs/Module/Chat.php:250
-#: ../../Zotlabs/Module/Admin.php:1223
-#: ../../Zotlabs/Module/Sharedwithme.php:99
-#: ../../Zotlabs/Module/Settings.php:684 ../../Zotlabs/Module/Settings.php:710
+#: ../../Zotlabs/Storage/Browser.php:234
+#: ../../Zotlabs/Module/Admin/Channels.php:163
+#: ../../Zotlabs/Module/Sharedwithme.php:99 ../../Zotlabs/Module/Chat.php:250
+#: ../../Zotlabs/Module/Settings/Oauth.php:89
+#: ../../Zotlabs/Module/Settings/Oauth.php:115
msgid "Name"
msgstr "Nombre"
-#: ../../Zotlabs/Storage/Browser.php:236
+#: ../../Zotlabs/Storage/Browser.php:235
msgid "Type"
msgstr "Tipo"
-#: ../../Zotlabs/Storage/Browser.php:237
-#: ../../Zotlabs/Module/Sharedwithme.php:101 ../../include/text.php:1326
+#: ../../Zotlabs/Storage/Browser.php:236
+#: ../../Zotlabs/Module/Sharedwithme.php:101 ../../include/text.php:1372
msgid "Size"
msgstr "Tamaño"
-#: ../../Zotlabs/Storage/Browser.php:238
+#: ../../Zotlabs/Storage/Browser.php:237
#: ../../Zotlabs/Module/Sharedwithme.php:102
msgid "Last Modified"
msgstr "Última modificación"
-#: ../../Zotlabs/Storage/Browser.php:240 ../../Zotlabs/Module/Thing.php:260
+#: ../../Zotlabs/Storage/Browser.php:239
+#: ../../Zotlabs/Module/Admin/Profs.php:154
#: ../../Zotlabs/Module/Connections.php:290
#: ../../Zotlabs/Module/Connections.php:310
#: ../../Zotlabs/Module/Editblock.php:109
#: ../../Zotlabs/Module/Editlayout.php:114
#: ../../Zotlabs/Module/Editwebpage.php:145 ../../Zotlabs/Module/Menu.php:112
-#: ../../Zotlabs/Module/Admin.php:2113 ../../Zotlabs/Module/Blocks.php:160
-#: ../../Zotlabs/Module/Layouts.php:192 ../../Zotlabs/Module/Webpages.php:217
-#: ../../Zotlabs/Module/Settings.php:744 ../../Zotlabs/Module/Editpost.php:84
-#: ../../Zotlabs/Lib/Apps.php:341 ../../Zotlabs/Lib/ThreadItem.php:106
+#: ../../Zotlabs/Module/Blocks.php:160 ../../Zotlabs/Module/Layouts.php:192
+#: ../../Zotlabs/Module/Webpages.php:240 ../../Zotlabs/Module/Editpost.php:84
+#: ../../Zotlabs/Module/Thing.php:260
+#: ../../Zotlabs/Module/Settings/Oauth.php:149
+#: ../../Zotlabs/Lib/ThreadItem.php:106 ../../Zotlabs/Lib/Apps.php:341
+#: ../../include/channel.php:959 ../../include/channel.php:963
#: ../../include/page_widgets.php:9 ../../include/page_widgets.php:39
-#: ../../include/menu.php:113 ../../include/channel.php:959
-#: ../../include/channel.php:963
+#: ../../include/menu.php:113
msgid "Edit"
msgstr "Editar"
-#: ../../Zotlabs/Storage/Browser.php:241 ../../Zotlabs/Module/Thing.php:261
-#: ../../Zotlabs/Module/Connedit.php:607
+#: ../../Zotlabs/Storage/Browser.php:240
+#: ../../Zotlabs/Module/Admin/Accounts.php:174
+#: ../../Zotlabs/Module/Admin/Channels.php:153
+#: ../../Zotlabs/Module/Admin/Profs.php:155
#: ../../Zotlabs/Module/Connections.php:263
+#: ../../Zotlabs/Module/Connedit.php:607
#: ../../Zotlabs/Module/Editblock.php:134
#: ../../Zotlabs/Module/Editlayout.php:137
#: ../../Zotlabs/Module/Editwebpage.php:170 ../../Zotlabs/Module/Group.php:177
-#: ../../Zotlabs/Module/Admin.php:1039 ../../Zotlabs/Module/Admin.php:1213
-#: ../../Zotlabs/Module/Admin.php:2114 ../../Zotlabs/Module/Blocks.php:162
-#: ../../Zotlabs/Module/Photos.php:1179 ../../Zotlabs/Module/Webpages.php:219
-#: ../../Zotlabs/Module/Settings.php:745 ../../Zotlabs/Lib/Apps.php:342
-#: ../../Zotlabs/Lib/ThreadItem.php:126 ../../include/conversation.php:660
+#: ../../Zotlabs/Module/Photos.php:1179 ../../Zotlabs/Module/Blocks.php:162
+#: ../../Zotlabs/Module/Webpages.php:242 ../../Zotlabs/Module/Thing.php:261
+#: ../../Zotlabs/Module/Settings/Oauth.php:150
+#: ../../Zotlabs/Lib/ThreadItem.php:126 ../../Zotlabs/Lib/Apps.php:342
+#: ../../include/conversation.php:660
msgid "Delete"
msgstr "Eliminar"
-#: ../../Zotlabs/Storage/Browser.php:301
+#: ../../Zotlabs/Storage/Browser.php:299
#, php-format
msgid "You are using %1$s of your available file storage."
msgstr "Está usando %1$s de su espacio disponible para ficheros."
-#: ../../Zotlabs/Storage/Browser.php:306
+#: ../../Zotlabs/Storage/Browser.php:304
#, php-format
msgid "You are using %1$s of %2$s available file storage. (%3$s&#37;)"
msgstr "Está usando %1$s de %2$s que tiene a su disposición para ficheros. (%3$s&#37;)"
-#: ../../Zotlabs/Storage/Browser.php:317
+#: ../../Zotlabs/Storage/Browser.php:315
msgid "WARNING:"
-msgstr "ATENCIÓN:"
+msgstr "ATENCIÓN: "
-#: ../../Zotlabs/Storage/Browser.php:322
+#: ../../Zotlabs/Storage/Browser.php:320
msgid "Create new folder"
msgstr "Crear nueva carpeta"
-#: ../../Zotlabs/Storage/Browser.php:324
+#: ../../Zotlabs/Storage/Browser.php:322
msgid "Upload file"
msgstr "Subir fichero"
-#: ../../Zotlabs/Storage/Browser.php:337
+#: ../../Zotlabs/Storage/Browser.php:335
msgid "Drop files here to immediately upload"
msgstr "Arrastre los ficheros aquí para subirlos de forma inmediata"
-#: ../../Zotlabs/Web/WebServer.php:127 ../../Zotlabs/Module/Like.php:283
-#: ../../Zotlabs/Module/Group.php:72 ../../Zotlabs/Module/Import_items.php:114
-#: ../../Zotlabs/Module/Profperm.php:28 ../../Zotlabs/Module/Subthread.php:62
-#: ../../Zotlabs/Module/Dreport.php:10 ../../Zotlabs/Module/Dreport.php:66
-#: ../../include/items.php:384
-msgid "Permission denied"
-msgstr "Permiso denegado"
-
-#: ../../Zotlabs/Web/WebServer.php:128 ../../Zotlabs/Web/Router.php:65
-#: ../../Zotlabs/Module/Achievements.php:34 ../../Zotlabs/Module/Thing.php:274
-#: ../../Zotlabs/Module/Thing.php:294 ../../Zotlabs/Module/Thing.php:335
-#: ../../Zotlabs/Module/Like.php:181 ../../Zotlabs/Module/Authtest.php:16
-#: ../../Zotlabs/Module/Rate.php:113 ../../Zotlabs/Module/Bookmarks.php:61
-#: ../../Zotlabs/Module/Item.php:214 ../../Zotlabs/Module/Item.php:222
-#: ../../Zotlabs/Module/Item.php:1073 ../../Zotlabs/Module/Page.php:35
-#: ../../Zotlabs/Module/Page.php:91 ../../Zotlabs/Module/Connedit.php:395
-#: ../../Zotlabs/Module/Connections.php:33
+#: ../../Zotlabs/Web/Router.php:65 ../../Zotlabs/Web/WebServer.php:128
+#: ../../Zotlabs/Module/Achievements.php:34
+#: ../../Zotlabs/Module/Network.php:15 ../../Zotlabs/Module/Channel.php:104
+#: ../../Zotlabs/Module/Channel.php:229 ../../Zotlabs/Module/Channel.php:270
+#: ../../Zotlabs/Module/Authtest.php:16 ../../Zotlabs/Module/Bookmarks.php:61
+#: ../../Zotlabs/Module/Page.php:35 ../../Zotlabs/Module/Page.php:91
+#: ../../Zotlabs/Module/Mail.php:121 ../../Zotlabs/Module/Connections.php:33
#: ../../Zotlabs/Module/Cover_photo.php:277
-#: ../../Zotlabs/Module/Cover_photo.php:290 ../../Zotlabs/Module/Mail.php:121
-#: ../../Zotlabs/Module/Editblock.php:67
+#: ../../Zotlabs/Module/Cover_photo.php:290
+#: ../../Zotlabs/Module/Connedit.php:395 ../../Zotlabs/Module/Editblock.php:67
#: ../../Zotlabs/Module/Editlayout.php:67
#: ../../Zotlabs/Module/Editlayout.php:90
#: ../../Zotlabs/Module/Editwebpage.php:68
#: ../../Zotlabs/Module/Editwebpage.php:89
#: ../../Zotlabs/Module/Editwebpage.php:104
-#: ../../Zotlabs/Module/Editwebpage.php:126 ../../Zotlabs/Module/Chat.php:100
-#: ../../Zotlabs/Module/Chat.php:105 ../../Zotlabs/Module/Appman.php:75
-#: ../../Zotlabs/Module/Pdledit.php:26 ../../Zotlabs/Module/Filestorage.php:23
+#: ../../Zotlabs/Module/Editwebpage.php:126 ../../Zotlabs/Module/Menu.php:78
+#: ../../Zotlabs/Module/Appman.php:75 ../../Zotlabs/Module/Api.php:12
+#: ../../Zotlabs/Module/Pdledit.php:29 ../../Zotlabs/Module/Filestorage.php:23
#: ../../Zotlabs/Module/Filestorage.php:78
#: ../../Zotlabs/Module/Filestorage.php:93
-#: ../../Zotlabs/Module/Filestorage.php:120
-#: ../../Zotlabs/Module/Profiles.php:203 ../../Zotlabs/Module/Profiles.php:601
-#: ../../Zotlabs/Module/Channel.php:104 ../../Zotlabs/Module/Channel.php:226
-#: ../../Zotlabs/Module/Channel.php:267 ../../Zotlabs/Module/Group.php:13
-#: ../../Zotlabs/Module/Mitem.php:115 ../../Zotlabs/Module/Block.php:26
+#: ../../Zotlabs/Module/Filestorage.php:120 ../../Zotlabs/Module/Manage.php:10
+#: ../../Zotlabs/Module/Group.php:13 ../../Zotlabs/Module/Block.php:26
#: ../../Zotlabs/Module/Block.php:76 ../../Zotlabs/Module/Invite.php:17
#: ../../Zotlabs/Module/Invite.php:91 ../../Zotlabs/Module/Locs.php:87
-#: ../../Zotlabs/Module/Events.php:264 ../../Zotlabs/Module/Message.php:18
-#: ../../Zotlabs/Module/Manage.php:10 ../../Zotlabs/Module/Mood.php:116
-#: ../../Zotlabs/Module/Menu.php:78 ../../Zotlabs/Module/Setup.php:215
-#: ../../Zotlabs/Module/New_channel.php:77
+#: ../../Zotlabs/Module/Rate.php:113 ../../Zotlabs/Module/Like.php:181
+#: ../../Zotlabs/Module/Profiles.php:203 ../../Zotlabs/Module/Profiles.php:601
+#: ../../Zotlabs/Module/Mitem.php:115 ../../Zotlabs/Module/Message.php:18
+#: ../../Zotlabs/Module/Setup.php:220 ../../Zotlabs/Module/Mood.php:116
+#: ../../Zotlabs/Module/Photos.php:73 ../../Zotlabs/Module/New_channel.php:77
#: ../../Zotlabs/Module/New_channel.php:104
#: ../../Zotlabs/Module/Notifications.php:70 ../../Zotlabs/Module/Poke.php:137
#: ../../Zotlabs/Module/Profile.php:68 ../../Zotlabs/Module/Profile.php:76
-#: ../../Zotlabs/Module/Api.php:12 ../../Zotlabs/Module/Blocks.php:73
-#: ../../Zotlabs/Module/Blocks.php:80 ../../Zotlabs/Module/Layouts.php:71
-#: ../../Zotlabs/Module/Layouts.php:78 ../../Zotlabs/Module/Layouts.php:89
+#: ../../Zotlabs/Module/Blocks.php:73 ../../Zotlabs/Module/Blocks.php:80
+#: ../../Zotlabs/Module/Layouts.php:71 ../../Zotlabs/Module/Layouts.php:78
+#: ../../Zotlabs/Module/Layouts.php:89
#: ../../Zotlabs/Module/Profile_photo.php:265
#: ../../Zotlabs/Module/Profile_photo.php:278
-#: ../../Zotlabs/Module/Common.php:39 ../../Zotlabs/Module/Network.php:15
-#: ../../Zotlabs/Module/Photos.php:73 ../../Zotlabs/Module/Regmod.php:21
-#: ../../Zotlabs/Module/Webpages.php:95
+#: ../../Zotlabs/Module/Common.php:39 ../../Zotlabs/Module/Settings.php:59
+#: ../../Zotlabs/Module/Register.php:77 ../../Zotlabs/Module/Regmod.php:21
+#: ../../Zotlabs/Module/Webpages.php:116 ../../Zotlabs/Module/Editpost.php:17
+#: ../../Zotlabs/Module/Events.php:264
#: ../../Zotlabs/Module/Service_limits.php:11
-#: ../../Zotlabs/Module/Register.php:77
+#: ../../Zotlabs/Module/Thing.php:274 ../../Zotlabs/Module/Thing.php:294
+#: ../../Zotlabs/Module/Thing.php:335 ../../Zotlabs/Module/Item.php:214
+#: ../../Zotlabs/Module/Item.php:222 ../../Zotlabs/Module/Item.php:1068
#: ../../Zotlabs/Module/Sharedwithme.php:11
#: ../../Zotlabs/Module/Sources.php:74 ../../Zotlabs/Module/Suggest.php:30
-#: ../../Zotlabs/Module/Settings.php:664
#: ../../Zotlabs/Module/Viewconnections.php:28
#: ../../Zotlabs/Module/Viewconnections.php:33
-#: ../../Zotlabs/Module/Viewsrc.php:18 ../../Zotlabs/Module/Editpost.php:17
-#: ../../Zotlabs/Lib/Chatroom.php:137 ../../include/photos.php:27
-#: ../../include/items.php:3450 ../../include/attach.php:142
-#: ../../include/attach.php:190 ../../include/attach.php:253
-#: ../../include/attach.php:267 ../../include/attach.php:274
-#: ../../include/attach.php:339 ../../include/attach.php:353
-#: ../../include/attach.php:360 ../../include/attach.php:440
-#: ../../include/attach.php:902 ../../include/attach.php:973
-#: ../../include/attach.php:1125
+#: ../../Zotlabs/Module/Viewsrc.php:18 ../../Zotlabs/Module/Chat.php:100
+#: ../../Zotlabs/Module/Chat.php:105 ../../Zotlabs/Lib/Chatroom.php:137
+#: ../../include/photos.php:27 ../../include/items.php:3506
+#: ../../include/attach.php:142 ../../include/attach.php:190
+#: ../../include/attach.php:253 ../../include/attach.php:267
+#: ../../include/attach.php:274 ../../include/attach.php:339
+#: ../../include/attach.php:353 ../../include/attach.php:360
+#: ../../include/attach.php:440 ../../include/attach.php:909
+#: ../../include/attach.php:980 ../../include/attach.php:1132
msgid "Permission denied."
msgstr "Acceso denegado."
-#: ../../Zotlabs/Web/Router.php:146 ../../Zotlabs/Module/Help.php:94
+#: ../../Zotlabs/Web/Router.php:146 ../../include/help.php:56
msgid "Not Found"
msgstr "No encontrado"
#: ../../Zotlabs/Web/Router.php:149 ../../Zotlabs/Module/Page.php:94
-#: ../../Zotlabs/Module/Help.php:97 ../../Zotlabs/Module/Block.php:79
-#: ../../Zotlabs/Module/Display.php:119
+#: ../../Zotlabs/Module/Block.php:79 ../../Zotlabs/Module/Display.php:120
+#: ../../include/help.php:59
msgid "Page not found."
msgstr "Página no encontrada."
+#: ../../Zotlabs/Web/WebServer.php:127 ../../Zotlabs/Module/Group.php:72
+#: ../../Zotlabs/Module/Dreport.php:10 ../../Zotlabs/Module/Dreport.php:66
+#: ../../Zotlabs/Module/Import_items.php:114 ../../Zotlabs/Module/Like.php:283
+#: ../../Zotlabs/Module/Profperm.php:28 ../../Zotlabs/Module/Subthread.php:62
+#: ../../include/items.php:403
+msgid "Permission denied"
+msgstr "Permiso denegado"
+
#: ../../Zotlabs/Zot/Auth.php:138
msgid ""
"Remote authentication blocked. You are logged into this site locally. Please"
@@ -406,9 +414,9 @@ msgstr "Bienvenido %s. La identificación desde su servidor se ha llevado a cabo
#: ../../Zotlabs/Module/Editblock.php:31
#: ../../Zotlabs/Module/Editlayout.php:31
#: ../../Zotlabs/Module/Editwebpage.php:32
-#: ../../Zotlabs/Module/Filestorage.php:59 ../../Zotlabs/Module/Hcard.php:12
-#: ../../Zotlabs/Module/Profile.php:20 ../../Zotlabs/Module/Blocks.php:33
-#: ../../Zotlabs/Module/Layouts.php:31 ../../Zotlabs/Module/Connect.php:17
+#: ../../Zotlabs/Module/Filestorage.php:59 ../../Zotlabs/Module/Connect.php:17
+#: ../../Zotlabs/Module/Hcard.php:12 ../../Zotlabs/Module/Profile.php:20
+#: ../../Zotlabs/Module/Blocks.php:33 ../../Zotlabs/Module/Layouts.php:31
#: ../../Zotlabs/Module/Webpages.php:33 ../../include/channel.php:859
msgid "Requested profile is not available."
msgstr "El perfil solicitado no está disponible."
@@ -425,869 +433,1475 @@ msgstr "Ausente"
msgid "Online"
msgstr "Conectado/a"
-#: ../../Zotlabs/Module/Thing.php:89 ../../Zotlabs/Module/Filestorage.php:32
-#: ../../Zotlabs/Module/Display.php:40 ../../Zotlabs/Module/Admin.php:164
-#: ../../Zotlabs/Module/Admin.php:1255 ../../Zotlabs/Module/Admin.php:1561
-#: ../../Zotlabs/Module/Viewsrc.php:24 ../../include/items.php:3371
-msgid "Item not found."
-msgstr "Elemento no encontrado."
+#: ../../Zotlabs/Module/Network.php:95
+msgid "No such group"
+msgstr "No se encuentra el grupo"
-#: ../../Zotlabs/Module/Thing.php:114
-msgid "Thing updated"
-msgstr "Elemento actualizado."
+#: ../../Zotlabs/Module/Network.php:135
+msgid "No such channel"
+msgstr "No se encuentra el canal"
-#: ../../Zotlabs/Module/Thing.php:166
-msgid "Object store: failed"
-msgstr "Guardar objeto: ha fallado"
+#: ../../Zotlabs/Module/Network.php:140
+msgid "forum"
+msgstr "foro"
-#: ../../Zotlabs/Module/Thing.php:170
-msgid "Thing added"
-msgstr "Elemento añadido"
+#: ../../Zotlabs/Module/Network.php:152
+msgid "Search Results For:"
+msgstr "Buscar resultados para:"
-#: ../../Zotlabs/Module/Thing.php:196
+#: ../../Zotlabs/Module/Network.php:218
+msgid "Privacy group is empty"
+msgstr "El grupo de canales está vacío"
+
+#: ../../Zotlabs/Module/Network.php:227
+msgid "Privacy group: "
+msgstr "Grupo de canales: "
+
+#: ../../Zotlabs/Module/Network.php:253
+msgid "Invalid connection."
+msgstr "Conexión no válida."
+
+#: ../../Zotlabs/Module/Probe.php:28 ../../Zotlabs/Module/Probe.php:32
#, php-format
-msgid "OBJ: %1$s %2$s %3$s"
-msgstr "OBJ: %1$s %2$s %3$s"
+msgid "Fetching URL returns error: %1$s"
+msgstr "Al intentar obtener la dirección, retorna el error: %1$s"
-#: ../../Zotlabs/Module/Thing.php:259
-msgid "Show Thing"
-msgstr "Mostrar elemento"
+#: ../../Zotlabs/Module/Acl.php:313
+msgid "network"
+msgstr "red"
-#: ../../Zotlabs/Module/Thing.php:266
-msgid "item not found."
-msgstr "elemento no encontrado."
+#: ../../Zotlabs/Module/Acl.php:323
+msgid "RSS"
+msgstr "RSS"
-#: ../../Zotlabs/Module/Thing.php:299
-msgid "Edit Thing"
-msgstr "Editar elemento"
+#: ../../Zotlabs/Module/Channel.php:28 ../../Zotlabs/Module/Wiki.php:20
+#: ../../Zotlabs/Module/Chat.php:25
+msgid "You must be logged in to see this page."
+msgstr "Debe haber iniciado sesión para poder ver esta página."
-#: ../../Zotlabs/Module/Thing.php:301 ../../Zotlabs/Module/Thing.php:355
-msgid "Select a profile"
-msgstr "Seleccionar un perfil"
+#: ../../Zotlabs/Module/Channel.php:40
+msgid "Posts and comments"
+msgstr "Publicaciones y comentarios"
-#: ../../Zotlabs/Module/Thing.php:305 ../../Zotlabs/Module/Thing.php:358
-msgid "Post an activity"
-msgstr "Publicar una actividad"
+#: ../../Zotlabs/Module/Channel.php:41
+msgid "Only posts"
+msgstr "Solo publicaciones"
-#: ../../Zotlabs/Module/Thing.php:305 ../../Zotlabs/Module/Thing.php:358
-msgid "Only sends to viewers of the applicable profile"
-msgstr "Sólo enviar a espectadores del perfil pertinente."
+#: ../../Zotlabs/Module/Channel.php:101
+msgid "Insufficient permissions. Request redirected to profile page."
+msgstr "Permisos insuficientes. Petición redirigida a la página del perfil."
-#: ../../Zotlabs/Module/Thing.php:307 ../../Zotlabs/Module/Thing.php:360
-msgid "Name of thing e.g. something"
-msgstr "Nombre del elemento, p. ej.:. \"algo\""
+#: ../../Zotlabs/Module/Import.php:33
+#, php-format
+msgid "Your service plan only allows %d channels."
+msgstr "Su paquete de servicios solo permite %d canales."
-#: ../../Zotlabs/Module/Thing.php:309 ../../Zotlabs/Module/Thing.php:361
-msgid "URL of thing (optional)"
-msgstr "Dirección del elemento (opcional)"
+#: ../../Zotlabs/Module/Import.php:71 ../../Zotlabs/Module/Import_items.php:42
+msgid "Nothing to import."
+msgstr "No hay nada para importar."
-#: ../../Zotlabs/Module/Thing.php:311 ../../Zotlabs/Module/Thing.php:362
-msgid "URL for photo of thing (optional)"
-msgstr "Dirección para la foto o elemento (opcional)"
+#: ../../Zotlabs/Module/Import.php:95 ../../Zotlabs/Module/Import_items.php:66
+msgid "Unable to download data from old server"
+msgstr "No se han podido descargar datos de su antiguo servidor"
-#: ../../Zotlabs/Module/Thing.php:313 ../../Zotlabs/Module/Thing.php:363
-#: ../../Zotlabs/Module/Chat.php:234 ../../Zotlabs/Module/Filestorage.php:152
-#: ../../Zotlabs/Module/Photos.php:669 ../../Zotlabs/Module/Photos.php:1047
-#: ../../include/acl_selectors.php:186
-msgid "Permissions"
-msgstr "Permisos"
+#: ../../Zotlabs/Module/Import.php:101
+#: ../../Zotlabs/Module/Import_items.php:72
+msgid "Imported file is empty."
+msgstr "El fichero importado está vacío."
-#: ../../Zotlabs/Module/Thing.php:320 ../../Zotlabs/Module/Thing.php:370
-#: ../../Zotlabs/Module/Rate.php:170 ../../Zotlabs/Module/Connedit.php:783
-#: ../../Zotlabs/Module/Import.php:560 ../../Zotlabs/Module/Mail.php:370
-#: ../../Zotlabs/Module/Chat.php:196 ../../Zotlabs/Module/Chat.php:241
-#: ../../Zotlabs/Module/Appman.php:126 ../../Zotlabs/Module/Pdledit.php:66
+#: ../../Zotlabs/Module/Import.php:123
+#: ../../Zotlabs/Module/Import_items.php:88
+#, php-format
+msgid "Warning: Database versions differ by %1$d updates."
+msgstr "Atención: Las versiones de la base de datos difieren en %1$d actualizaciones."
+
+#: ../../Zotlabs/Module/Import.php:153 ../../include/import.php:107
+msgid "Cloned channel not found. Import failed."
+msgstr "No se ha podido importar el canal porque el canal clonado no se ha encontrado."
+
+#: ../../Zotlabs/Module/Import.php:163
+msgid "No channel. Import failed."
+msgstr "No hay canal. La importación ha fallado"
+
+#: ../../Zotlabs/Module/Import.php:520
+#: ../../include/Import/import_diaspora.php:142
+msgid "Import completed."
+msgstr "Importación completada."
+
+#: ../../Zotlabs/Module/Import.php:542
+msgid "You must be logged in to use this feature."
+msgstr "Debe estar registrado para poder usar esta funcionalidad."
+
+#: ../../Zotlabs/Module/Import.php:547
+msgid "Import Channel"
+msgstr "Importar canal"
+
+#: ../../Zotlabs/Module/Import.php:548
+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:549
+#: ../../Zotlabs/Module/Import_items.php:121
+msgid "File to Upload"
+msgstr "Fichero para subir"
+
+#: ../../Zotlabs/Module/Import.php:550
+msgid "Or provide the old server/hub details"
+msgstr "O proporcione los detalles de su antiguo servidor/hub"
+
+#: ../../Zotlabs/Module/Import.php:551
+msgid "Your old identity address (xyz@example.com)"
+msgstr "Su identidad en el antiguo servidor (canal@ejemplo.com)"
+
+#: ../../Zotlabs/Module/Import.php:552
+msgid "Your old login email address"
+msgstr "Su antigua dirección de correo electrónico"
+
+#: ../../Zotlabs/Module/Import.php:553
+msgid "Your old login password"
+msgstr "Su antigua contraseña"
+
+#: ../../Zotlabs/Module/Import.php:554
+msgid ""
+"For either option, please choose whether to make this hub your new primary "
+"address, or whether your old location should continue this role. You will be"
+" able to post from either location, but only one can be marked as the "
+"primary location for files, photos, and media."
+msgstr "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:555
+msgid "Make this hub my primary location"
+msgstr "Convertir este servidor en mi ubicación primaria"
+
+#: ../../Zotlabs/Module/Import.php:556
+msgid ""
+"Import existing posts if possible (experimental - limited by available "
+"memory"
+msgstr "Importar el contenido publicado si es posible (experimental - limitado por la memoria disponible"
+
+#: ../../Zotlabs/Module/Import.php:557
+msgid ""
+"This process may take several minutes to complete. Please submit the form "
+"only once and leave this page open until finished."
+msgstr "Este proceso puede tardar varios minutos en completarse. Por favor envíe el formulario una sola vez y mantenga esta página abierta hasta que termine."
+
+#: ../../Zotlabs/Module/Import.php:560
+#: ../../Zotlabs/Module/Admin/Accounts.php:167
+#: ../../Zotlabs/Module/Admin/Channels.php:151
+#: ../../Zotlabs/Module/Admin/Features.php:66
+#: ../../Zotlabs/Module/Admin/Logs.php:84
+#: ../../Zotlabs/Module/Admin/Plugins.php:429
+#: ../../Zotlabs/Module/Admin/Profs.php:157
+#: ../../Zotlabs/Module/Admin/Security.php:104
+#: ../../Zotlabs/Module/Admin/Site.php:267
+#: ../../Zotlabs/Module/Admin/Themes.php:156 ../../Zotlabs/Module/Mail.php:370
+#: ../../Zotlabs/Module/Connedit.php:779 ../../Zotlabs/Module/Appman.php:126
+#: ../../Zotlabs/Module/Pdledit.php:74
#: ../../Zotlabs/Module/Filestorage.php:165
-#: ../../Zotlabs/Module/Profiles.php:687 ../../Zotlabs/Module/Group.php:85
-#: ../../Zotlabs/Module/Mitem.php:243
+#: ../../Zotlabs/Module/Connect.php:98 ../../Zotlabs/Module/Group.php:85
#: ../../Zotlabs/Module/Import_items.php:122
#: ../../Zotlabs/Module/Invite.php:146 ../../Zotlabs/Module/Locs.php:121
-#: ../../Zotlabs/Module/Events.php:484 ../../Zotlabs/Module/Mood.php:139
-#: ../../Zotlabs/Module/Setup.php:312 ../../Zotlabs/Module/Setup.php:353
-#: ../../Zotlabs/Module/Admin.php:492 ../../Zotlabs/Module/Admin.php:688
-#: ../../Zotlabs/Module/Admin.php:771 ../../Zotlabs/Module/Admin.php:1032
-#: ../../Zotlabs/Module/Admin.php:1211 ../../Zotlabs/Module/Admin.php:1421
-#: ../../Zotlabs/Module/Admin.php:1648 ../../Zotlabs/Module/Admin.php:1733
-#: ../../Zotlabs/Module/Admin.php:2116 ../../Zotlabs/Module/Poke.php:186
-#: ../../Zotlabs/Module/Pconfig.php:107 ../../Zotlabs/Module/Cal.php:338
-#: ../../Zotlabs/Module/Connect.php:98 ../../Zotlabs/Module/Photos.php:679
-#: ../../Zotlabs/Module/Photos.php:1058 ../../Zotlabs/Module/Photos.php:1098
-#: ../../Zotlabs/Module/Photos.php:1216 ../../Zotlabs/Module/Sources.php:114
-#: ../../Zotlabs/Module/Sources.php:149 ../../Zotlabs/Module/Settings.php:682
-#: ../../Zotlabs/Module/Settings.php:795 ../../Zotlabs/Module/Settings.php:886
-#: ../../Zotlabs/Module/Settings.php:912 ../../Zotlabs/Module/Settings.php:935
-#: ../../Zotlabs/Module/Settings.php:1040
-#: ../../Zotlabs/Module/Settings.php:1229 ../../Zotlabs/Module/Xchan.php:15
-#: ../../Zotlabs/Lib/ThreadItem.php:711 ../../include/widgets.php:763
-#: ../../include/js_strings.php:22
-#: ../../view/theme/redbasic/php/config.php:106
+#: ../../Zotlabs/Module/Rate.php:166 ../../Zotlabs/Module/Profiles.php:687
+#: ../../Zotlabs/Module/Mitem.php:243 ../../Zotlabs/Module/Setup.php:317
+#: ../../Zotlabs/Module/Setup.php:365 ../../Zotlabs/Module/Mood.php:139
+#: ../../Zotlabs/Module/Photos.php:668 ../../Zotlabs/Module/Photos.php:1058
+#: ../../Zotlabs/Module/Photos.php:1098 ../../Zotlabs/Module/Photos.php:1216
+#: ../../Zotlabs/Module/Poke.php:186 ../../Zotlabs/Module/Pconfig.php:107
+#: ../../Zotlabs/Module/Cal.php:338 ../../Zotlabs/Module/Events.php:484
+#: ../../Zotlabs/Module/Thing.php:320 ../../Zotlabs/Module/Thing.php:370
+#: ../../Zotlabs/Module/Sources.php:114 ../../Zotlabs/Module/Sources.php:149
+#: ../../Zotlabs/Module/Chat.php:196 ../../Zotlabs/Module/Chat.php:241
+#: ../../Zotlabs/Module/Xchan.php:15
+#: ../../Zotlabs/Module/Settings/Account.php:126
+#: ../../Zotlabs/Module/Settings/Channel.php:452
+#: ../../Zotlabs/Module/Settings/Display.php:194
+#: ../../Zotlabs/Module/Settings/Features.php:47
+#: ../../Zotlabs/Module/Settings/Oauth.php:87
+#: ../../Zotlabs/Module/Settings/Tokens.php:167
+#: ../../Zotlabs/Lib/ThreadItem.php:725 ../../include/js_strings.php:22
+#: ../../include/widgets.php:796 ../../view/theme/redbasic/php/config.php:106
msgid "Submit"
msgstr "Enviar"
-#: ../../Zotlabs/Module/Thing.php:353
-msgid "Add Thing to your Profile"
-msgstr "Añadir alguna cosa a su perfil"
+#: ../../Zotlabs/Module/Bookmarks.php:53
+msgid "Bookmark added"
+msgstr "Marcador añadido"
-#: ../../Zotlabs/Module/Like.php:19
-msgid "Like/Dislike"
-msgstr "Me gusta/No me gusta"
+#: ../../Zotlabs/Module/Bookmarks.php:75
+msgid "My Bookmarks"
+msgstr "Mis marcadores"
-#: ../../Zotlabs/Module/Like.php:24
-msgid "This action is restricted to members."
-msgstr "Esta acción está restringida solo para miembros."
+#: ../../Zotlabs/Module/Bookmarks.php:86
+msgid "My Connections Bookmarks"
+msgstr "Marcadores de mis conexiones"
-#: ../../Zotlabs/Module/Like.php:25
-msgid ""
-"Please <a href=\"rmagic\">login with your $Projectname ID</a> or <a "
-"href=\"register\">register as a new $Projectname member</a> to continue."
-msgstr "Por favor, <a href=\"rmagic\">identifíquese con su $Projectname ID</a> o <a href=\"register\">rregístrese como un nuevo $Projectname member</a> para continuar."
+#: ../../Zotlabs/Module/Admin/Accounts.php:36
+#, 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/Like.php:105 ../../Zotlabs/Module/Like.php:131
-#: ../../Zotlabs/Module/Like.php:169
-msgid "Invalid request."
-msgstr "Solicitud incorrecta."
+#: ../../Zotlabs/Module/Admin/Accounts.php:43
+#, php-format
+msgid "%s account deleted"
+msgid_plural "%s accounts deleted"
+msgstr[0] "%s cuentas eliminadas"
+msgstr[1] "%s cuentas eliminadas"
-#: ../../Zotlabs/Module/Like.php:117 ../../include/conversation.php:126
-msgid "channel"
-msgstr "el canal"
+#: ../../Zotlabs/Module/Admin/Accounts.php:79
+msgid "Account not found"
+msgstr "Cuenta no encontrada"
-#: ../../Zotlabs/Module/Like.php:146
-msgid "thing"
-msgstr "elemento"
+#: ../../Zotlabs/Module/Admin/Accounts.php:90
+#, php-format
+msgid "Account '%s' deleted"
+msgstr "La cuenta '%s' ha sido eliminada"
-#: ../../Zotlabs/Module/Like.php:192
-msgid "Channel unavailable."
-msgstr "Canal no disponible."
+#: ../../Zotlabs/Module/Admin/Accounts.php:98
+#, php-format
+msgid "Account '%s' blocked"
+msgstr "La cuenta '%s' ha sido bloqueada"
-#: ../../Zotlabs/Module/Like.php:240
-msgid "Previous action reversed."
-msgstr "Acción anterior revocada."
+#: ../../Zotlabs/Module/Admin/Accounts.php:106
+#, php-format
+msgid "Account '%s' unblocked"
+msgstr "La cuenta '%s' ha sido desbloqueada"
-#: ../../Zotlabs/Module/Like.php:370 ../../Zotlabs/Module/Subthread.php:87
-#: ../../Zotlabs/Module/Tagger.php:47 ../../include/conversation.php:120
-#: ../../include/text.php:1945
-msgid "photo"
-msgstr "foto"
+#: ../../Zotlabs/Module/Admin/Accounts.php:165
+#: ../../Zotlabs/Module/Admin/Channels.php:149
+#: ../../Zotlabs/Module/Admin/Logs.php:82
+#: ../../Zotlabs/Module/Admin/Plugins.php:336
+#: ../../Zotlabs/Module/Admin/Plugins.php:427
+#: ../../Zotlabs/Module/Admin/Security.php:86
+#: ../../Zotlabs/Module/Admin/Site.php:265
+#: ../../Zotlabs/Module/Admin/Themes.php:120
+#: ../../Zotlabs/Module/Admin/Themes.php:154
+#: ../../Zotlabs/Module/Admin.php:141
+msgid "Administration"
+msgstr "Administración"
-#: ../../Zotlabs/Module/Like.php:370 ../../Zotlabs/Module/Subthread.php:87
-#: ../../include/conversation.php:148 ../../include/text.php:1951
-msgid "status"
-msgstr "el mensaje de estado"
+#: ../../Zotlabs/Module/Admin/Accounts.php:166
+#: ../../Zotlabs/Module/Admin/Accounts.php:179 ../../include/widgets.php:1561
+msgid "Accounts"
+msgstr "Cuentas"
-#: ../../Zotlabs/Module/Like.php:372 ../../Zotlabs/Module/Events.php:253
-#: ../../Zotlabs/Module/Tagger.php:51 ../../include/conversation.php:123
-#: ../../include/text.php:1948 ../../include/event.php:958
-msgid "event"
-msgstr "evento"
+#: ../../Zotlabs/Module/Admin/Accounts.php:168
+#: ../../Zotlabs/Module/Admin/Channels.php:152
+msgid "select all"
+msgstr "seleccionar todo"
-#: ../../Zotlabs/Module/Like.php:419 ../../include/conversation.php:164
+#: ../../Zotlabs/Module/Admin/Accounts.php:169
+msgid "Registrations waiting for confirm"
+msgstr "Inscripciones en espera de confirmación"
+
+#: ../../Zotlabs/Module/Admin/Accounts.php:170
+msgid "Request date"
+msgstr "Fecha de solicitud"
+
+#: ../../Zotlabs/Module/Admin/Accounts.php:170
+#: ../../Zotlabs/Module/Admin/Accounts.php:182 ../../include/network.php:2212
+msgid "Email"
+msgstr "Correo electrónico"
+
+#: ../../Zotlabs/Module/Admin/Accounts.php:171
+msgid "No registrations."
+msgstr "Sin registros."
+
+#: ../../Zotlabs/Module/Admin/Accounts.php:172
+#: ../../Zotlabs/Module/Connections.php:275
+msgid "Approve"
+msgstr "Aprobar"
+
+#: ../../Zotlabs/Module/Admin/Accounts.php:173
+msgid "Deny"
+msgstr "Rechazar"
+
+#: ../../Zotlabs/Module/Admin/Accounts.php:175
+#: ../../Zotlabs/Module/Connedit.php:575
+msgid "Block"
+msgstr "Bloquear"
+
+#: ../../Zotlabs/Module/Admin/Accounts.php:176
+#: ../../Zotlabs/Module/Connedit.php:575
+msgid "Unblock"
+msgstr "Desbloquear"
+
+#: ../../Zotlabs/Module/Admin/Accounts.php:181
+msgid "ID"
+msgstr "ID"
+
+#: ../../Zotlabs/Module/Admin/Accounts.php:183 ../../include/group.php:267
+msgid "All Channels"
+msgstr "Todos los canales"
+
+#: ../../Zotlabs/Module/Admin/Accounts.php:184
+msgid "Register date"
+msgstr "Fecha de registro"
+
+#: ../../Zotlabs/Module/Admin/Accounts.php:185
+msgid "Last login"
+msgstr "Último acceso"
+
+#: ../../Zotlabs/Module/Admin/Accounts.php:186
+msgid "Expires"
+msgstr "Caduca"
+
+#: ../../Zotlabs/Module/Admin/Accounts.php:187
+msgid "Service Class"
+msgstr "Clase de servicio"
+
+#: ../../Zotlabs/Module/Admin/Accounts.php:189
+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:190
+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/Channels.php:30
#, php-format
-msgid "%1$s likes %2$s's %3$s"
-msgstr "A %1$s le gusta %3$s de %2$s"
+msgid "%s channel censored/uncensored"
+msgid_plural "%s channels censored/uncensored"
+msgstr[0] "%s canales censurados/no censurados"
+msgstr[1] "%s canales censurados/no censurados"
-#: ../../Zotlabs/Module/Like.php:421 ../../include/conversation.php:167
+#: ../../Zotlabs/Module/Admin/Channels.php:39
#, 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"
+msgid "%s channel code allowed/disallowed"
+msgid_plural "%s channels code allowed/disallowed"
+msgstr[0] "%s código permitido/no permitido al canal"
+msgstr[1] "%s código permitido/no permitido al canal"
-#: ../../Zotlabs/Module/Like.php:423
+#: ../../Zotlabs/Module/Admin/Channels.php:45
#, php-format
-msgid "%1$s agrees with %2$s's %3$s"
-msgstr "%3$s de %2$s: %1$s está de acuerdo"
+msgid "%s channel deleted"
+msgid_plural "%s channels deleted"
+msgstr[0] "%s canales eliminados"
+msgstr[1] "%s canales eliminados"
-#: ../../Zotlabs/Module/Like.php:425
+#: ../../Zotlabs/Module/Admin/Channels.php:66
+msgid "Channel not found"
+msgstr "Canal no encontrado"
+
+#: ../../Zotlabs/Module/Admin/Channels.php:76
#, php-format
-msgid "%1$s doesn't agree with %2$s's %3$s"
-msgstr "%3$s de %2$s: %1$s no está de acuerdo"
+msgid "Channel '%s' deleted"
+msgstr "Canal '%s' eliminado"
-#: ../../Zotlabs/Module/Like.php:427
+#: ../../Zotlabs/Module/Admin/Channels.php:88
#, php-format
-msgid "%1$s abstains from a decision on %2$s's %3$s"
-msgstr "%3$s de %2$s: %1$s se abstiene"
+msgid "Channel '%s' censored"
+msgstr "Canal '%s' censurado"
-#: ../../Zotlabs/Module/Like.php:429
+#: ../../Zotlabs/Module/Admin/Channels.php:88
#, php-format
-msgid "%1$s is attending %2$s's %3$s"
-msgstr "%3$s de %2$s: %1$s participa"
+msgid "Channel '%s' uncensored"
+msgstr "Canal '%s' no censurado"
-#: ../../Zotlabs/Module/Like.php:431
+#: ../../Zotlabs/Module/Admin/Channels.php:99
#, php-format
-msgid "%1$s is not attending %2$s's %3$s"
-msgstr "%3$s de %2$s: %1$s no participa"
+msgid "Channel '%s' code allowed"
+msgstr "Código permitido al canal '%s'"
-#: ../../Zotlabs/Module/Like.php:433
+#: ../../Zotlabs/Module/Admin/Channels.php:99
#, php-format
-msgid "%1$s may attend %2$s's %3$s"
-msgstr "%3$s de %2$s: %1$s quizá participe"
+msgid "Channel '%s' code disallowed"
+msgstr "Código no permitido al canal '%s'"
-#: ../../Zotlabs/Module/Like.php:538
-msgid "Action completed."
-msgstr "Acción completada."
+#: ../../Zotlabs/Module/Admin/Channels.php:150 ../../include/widgets.php:1562
+msgid "Channels"
+msgstr "Canales"
-#: ../../Zotlabs/Module/Like.php:539
-msgid "Thank you."
-msgstr "Gracias."
+#: ../../Zotlabs/Module/Admin/Channels.php:154
+msgid "Censor"
+msgstr "Censurar"
-#: ../../Zotlabs/Module/Wiki.php:20 ../../Zotlabs/Module/Chat.php:25
-#: ../../Zotlabs/Module/Channel.php:28
-msgid "You must be logged in to see this page."
-msgstr "Debe haber iniciado sesión para poder ver esta página."
+#: ../../Zotlabs/Module/Admin/Channels.php:155
+msgid "Uncensor"
+msgstr "No censurar"
-#: ../../Zotlabs/Module/Wiki.php:34
-msgid "Not found"
-msgstr "No encontrado"
+#: ../../Zotlabs/Module/Admin/Channels.php:156
+msgid "Allow Code"
+msgstr "Permitir código"
-#: ../../Zotlabs/Module/Wiki.php:97 ../../Zotlabs/Lib/Apps.php:219
-#: ../../include/conversation.php:1725 ../../include/conversation.php:1728
-#: ../../include/features.php:57 ../../include/nav.php:110
-msgid "Wiki"
-msgstr "Wiki"
+#: ../../Zotlabs/Module/Admin/Channels.php:157
+msgid "Disallow Code"
+msgstr "No permitir código"
-#: ../../Zotlabs/Module/Wiki.php:98
-msgid "Sandbox"
-msgstr "Entorno de edición"
+#: ../../Zotlabs/Module/Admin/Channels.php:158
+#: ../../include/conversation.php:1651
+msgid "Channel"
+msgstr "Canal"
-#: ../../Zotlabs/Module/Wiki.php:100
+#: ../../Zotlabs/Module/Admin/Channels.php:162
+msgid "UID"
+msgstr "UID"
+
+#: ../../Zotlabs/Module/Admin/Channels.php:164
+#: ../../Zotlabs/Module/Locs.php:118 ../../Zotlabs/Module/Profiles.php:470
+msgid "Address"
+msgstr "Dirección"
+
+#: ../../Zotlabs/Module/Admin/Channels.php:166
msgid ""
-"\"# Wiki Sandbox\\n\\nContent you **edit** and **preview** here *will not be"
-" saved*.\""
-msgstr "\"# Entorno de edición del Wiki\\n\\nEl contenido que se **edite** y **previsualizce** aquí *no se guardará*.\""
+"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 "Los canales seleccionados se eliminarán!\\n\\nTodo lo publicado por estos canales en este sitio se borrarán definitivamente!\\n\\n¿Está seguro de querer hacerlo?"
-#: ../../Zotlabs/Module/Wiki.php:169
-msgid "Revision Comparison"
-msgstr "Comparación de revisiones"
+#: ../../Zotlabs/Module/Admin/Channels.php:167
+msgid ""
+"The channel {0} will be deleted!\\n\\nEverything that was posted in this "
+"channel on this site will be permanently deleted!\\n\\nAre you sure?"
+msgstr "El canal {0} va a ser eliminado!\\n\\nTodo lo publicado por el canal en este sitio se borrará definitivamente!\\n\\n¿Está seguro de querer hacerlo?"
-#: ../../Zotlabs/Module/Wiki.php:170
-msgid "Revert"
-msgstr "Revertir"
+#: ../../Zotlabs/Module/Admin/Dbsync.php:19
+msgid "Update has been marked successful"
+msgstr "La actualización ha sido marcada como exitosa"
-#: ../../Zotlabs/Module/Wiki.php:171 ../../Zotlabs/Module/Wiki.php:211
-#: ../../Zotlabs/Module/Fbrowser.php:66 ../../Zotlabs/Module/Fbrowser.php:88
-#: ../../Zotlabs/Module/Admin.php:1406 ../../Zotlabs/Module/Tagrm.php:15
-#: ../../Zotlabs/Module/Tagrm.php:138 ../../Zotlabs/Module/Settings.php:683
-#: ../../Zotlabs/Module/Settings.php:709 ../../include/conversation.php:1242
-#: ../../include/conversation.php:1289
-msgid "Cancel"
-msgstr "Cancelar"
+#: ../../Zotlabs/Module/Admin/Dbsync.php:29
+#, php-format
+msgid "Executing %s failed. Check system logs."
+msgstr "La ejecución de %s ha fallado. Mirar en los informes del sistema."
-#: ../../Zotlabs/Module/Wiki.php:201
-msgid "Enter the name of your new wiki:"
-msgstr "Nombre de su nuevo wiki:"
+#: ../../Zotlabs/Module/Admin/Dbsync.php:32
+#, php-format
+msgid "Update %s was successfully applied."
+msgstr "La actualización de %s se ha realizado exitosamente."
-#: ../../Zotlabs/Module/Wiki.php:202
-msgid "Enter the name of the new page:"
-msgstr "Nombre de la nueva página:"
+#: ../../Zotlabs/Module/Admin/Dbsync.php:36
+#, php-format
+msgid "Update %s did not return a status. Unknown if it succeeded."
+msgstr "La actualización de %s no ha devuelto ningún estado. No se sabe si ha tenido éxito."
-#: ../../Zotlabs/Module/Wiki.php:203
-msgid "Enter the new name:"
-msgstr "Nuevo nombre:"
+#: ../../Zotlabs/Module/Admin/Dbsync.php:39
+#, php-format
+msgid "Update function %s could not be found."
+msgstr "No se encuentra la función de actualización de %s."
-#: ../../Zotlabs/Module/Wiki.php:209 ../../include/conversation.php:1155
-msgid "Embed image from photo albums"
-msgstr "Incluir una imagen de los álbumes de fotos"
+#: ../../Zotlabs/Module/Admin/Dbsync.php:55
+msgid "No failed updates."
+msgstr "No ha fallado ninguna actualización."
-#: ../../Zotlabs/Module/Wiki.php:210 ../../include/conversation.php:1241
-msgid "Embed an image from your albums"
-msgstr "Incluir una imagen de sus álbumes"
+#: ../../Zotlabs/Module/Admin/Dbsync.php:59
+msgid "Failed Updates"
+msgstr "Han fallado las actualizaciones"
-#: ../../Zotlabs/Module/Wiki.php:212 ../../include/conversation.php:1243
-#: ../../include/conversation.php:1288
-msgid "OK"
-msgstr "OK"
+#: ../../Zotlabs/Module/Admin/Dbsync.php:61
+msgid "Mark success (if update was manually applied)"
+msgstr "Marcar como exitosa (si la actualización se ha hecho manualmente)"
-#: ../../Zotlabs/Module/Wiki.php:213 ../../include/conversation.php:1191
-msgid "Choose images to embed"
-msgstr "Elegir imágenes para incluir"
+#: ../../Zotlabs/Module/Admin/Dbsync.php:62
+msgid "Attempt to execute this update step automatically"
+msgstr "Intentar ejecutar este paso de actualización automáticamente"
-#: ../../Zotlabs/Module/Wiki.php:214 ../../include/conversation.php:1192
-msgid "Choose an album"
-msgstr "Elegir un álbum"
+#: ../../Zotlabs/Module/Admin/Features.php:55
+#: ../../Zotlabs/Module/Admin/Features.php:56
+#: ../../Zotlabs/Module/Settings/Features.php:38
+msgid "Off"
+msgstr "Desactivado"
-#: ../../Zotlabs/Module/Wiki.php:215 ../../include/conversation.php:1193
-msgid "Choose a different album..."
-msgstr "Elegir un álbum diferente..."
+#: ../../Zotlabs/Module/Admin/Features.php:55
+#: ../../Zotlabs/Module/Admin/Features.php:56
+#: ../../Zotlabs/Module/Settings/Features.php:38
+msgid "On"
+msgstr "Activado"
-#: ../../Zotlabs/Module/Wiki.php:216 ../../include/conversation.php:1194
-msgid "Error getting album list"
-msgstr "Error al obtener la lista de álbumes"
+#: ../../Zotlabs/Module/Admin/Features.php:56
+#, php-format
+msgid "Lock feature %s"
+msgstr "Bloquear la funcionalidad %s"
-#: ../../Zotlabs/Module/Wiki.php:217 ../../include/conversation.php:1195
-msgid "Error getting photo link"
-msgstr "Error al obtener el enlace de la foto"
+#: ../../Zotlabs/Module/Admin/Features.php:64
+msgid "Manage Additional Features"
+msgstr "Gestionar las funcionalidades"
-#: ../../Zotlabs/Module/Wiki.php:218 ../../include/conversation.php:1196
-msgid "Error getting album"
-msgstr "Error al obtener el álbum"
+#: ../../Zotlabs/Module/Admin/Logs.php:28
+msgid "Log settings updated."
+msgstr "Actualizado el informe de configuraciones."
-#: ../../Zotlabs/Module/Directory.php:63 ../../Zotlabs/Module/Display.php:17
-#: ../../Zotlabs/Module/Ratings.php:86 ../../Zotlabs/Module/Photos.php:520
-#: ../../Zotlabs/Module/Search.php:17
-#: ../../Zotlabs/Module/Viewconnections.php:23
-msgid "Public access denied."
-msgstr "Acceso público denegado."
+#: ../../Zotlabs/Module/Admin/Logs.php:83 ../../include/widgets.php:1587
+#: ../../include/widgets.php:1597
+msgid "Logs"
+msgstr "Informes"
-#: ../../Zotlabs/Module/Directory.php:243
+#: ../../Zotlabs/Module/Admin/Logs.php:85
+msgid "Clear"
+msgstr "Vaciar"
+
+#: ../../Zotlabs/Module/Admin/Logs.php:91
+msgid "Debugging"
+msgstr "Depuración"
+
+#: ../../Zotlabs/Module/Admin/Logs.php:92
+msgid "Log file"
+msgstr "Fichero de informe"
+
+#: ../../Zotlabs/Module/Admin/Logs.php:92
+msgid ""
+"Must be writable by web server. Relative to your top-level webserver "
+"directory."
+msgstr "Debe tener permisos de escritura por el servidor web. La ruta es relativa al directorio web principal."
+
+#: ../../Zotlabs/Module/Admin/Logs.php:93
+msgid "Log level"
+msgstr "Nivel de depuración"
+
+#: ../../Zotlabs/Module/Admin/Plugins.php:254
+#: ../../Zotlabs/Module/Admin/Themes.php:69
+#: ../../Zotlabs/Module/Filestorage.php:32 ../../Zotlabs/Module/Display.php:40
+#: ../../Zotlabs/Module/Admin.php:62 ../../Zotlabs/Module/Thing.php:89
+#: ../../Zotlabs/Module/Viewsrc.php:24 ../../include/items.php:3427
+msgid "Item not found."
+msgstr "Elemento no encontrado."
+
+#: ../../Zotlabs/Module/Admin/Plugins.php:284
#, php-format
-msgid "%d rating"
-msgid_plural "%d ratings"
-msgstr[0] "%d valoración"
-msgstr[1] "%d valoraciones"
+msgid "Plugin %s disabled."
+msgstr "Extensión %s desactivada."
-#: ../../Zotlabs/Module/Directory.php:254
-msgid "Gender: "
-msgstr "Género:"
+#: ../../Zotlabs/Module/Admin/Plugins.php:289
+#, php-format
+msgid "Plugin %s enabled."
+msgstr "Extensión %s activada."
-#: ../../Zotlabs/Module/Directory.php:256
-msgid "Status: "
-msgstr "Estado:"
+#: ../../Zotlabs/Module/Admin/Plugins.php:305
+#: ../../Zotlabs/Module/Admin/Themes.php:93
+msgid "Disable"
+msgstr "Desactivar"
-#: ../../Zotlabs/Module/Directory.php:258
-msgid "Homepage: "
-msgstr "Página personal:"
+#: ../../Zotlabs/Module/Admin/Plugins.php:308
+#: ../../Zotlabs/Module/Admin/Themes.php:95
+msgid "Enable"
+msgstr "Activar"
-#: ../../Zotlabs/Module/Directory.php:306 ../../include/channel.php:1207
-msgid "Age:"
-msgstr "Edad:"
+#: ../../Zotlabs/Module/Admin/Plugins.php:337
+#: ../../Zotlabs/Module/Admin/Plugins.php:428 ../../include/widgets.php:1565
+msgid "Plugins"
+msgstr "Extensiones (plugins)"
-#: ../../Zotlabs/Module/Directory.php:311 ../../include/bb2diaspora.php:507
-#: ../../include/channel.php:1049 ../../include/event.php:52
-#: ../../include/event.php:84
-msgid "Location:"
-msgstr "Ubicación:"
+#: ../../Zotlabs/Module/Admin/Plugins.php:338
+#: ../../Zotlabs/Module/Admin/Themes.php:122
+msgid "Toggle"
+msgstr "Cambiar"
-#: ../../Zotlabs/Module/Directory.php:317
-msgid "Description:"
-msgstr "Descripción:"
+#: ../../Zotlabs/Module/Admin/Plugins.php:339
+#: ../../Zotlabs/Module/Admin/Themes.php:123 ../../Zotlabs/Lib/Apps.php:216
+#: ../../include/nav.php:213 ../../include/widgets.php:680
+msgid "Settings"
+msgstr "Ajustes"
-#: ../../Zotlabs/Module/Directory.php:322 ../../include/channel.php:1223
-msgid "Hometown:"
-msgstr "Lugar de nacimiento:"
+#: ../../Zotlabs/Module/Admin/Plugins.php:346
+#: ../../Zotlabs/Module/Admin/Themes.php:132
+msgid "Author: "
+msgstr "Autor:"
-#: ../../Zotlabs/Module/Directory.php:324 ../../include/channel.php:1231
-msgid "About:"
-msgstr "Sobre mí:"
+#: ../../Zotlabs/Module/Admin/Plugins.php:347
+#: ../../Zotlabs/Module/Admin/Themes.php:133
+msgid "Maintainer: "
+msgstr "Mantenedor:"
-#: ../../Zotlabs/Module/Directory.php:325 ../../Zotlabs/Module/Match.php:68
-#: ../../Zotlabs/Module/Suggest.php:56 ../../include/conversation.php:960
-#: ../../include/widgets.php:147 ../../include/widgets.php:184
-#: ../../include/channel.php:1034 ../../include/connections.php:78
-msgid "Connect"
-msgstr "Conectar"
+#: ../../Zotlabs/Module/Admin/Plugins.php:348
+msgid "Minimum project version: "
+msgstr "Versión mínima del proyecto:"
-#: ../../Zotlabs/Module/Directory.php:326
-msgid "Public Forum:"
-msgstr "Foro público:"
+#: ../../Zotlabs/Module/Admin/Plugins.php:349
+msgid "Maximum project version: "
+msgstr "Versión máxima del proyecto:"
-#: ../../Zotlabs/Module/Directory.php:329
-msgid "Keywords: "
-msgstr "Palabras clave:"
+#: ../../Zotlabs/Module/Admin/Plugins.php:350
+msgid "Minimum PHP version: "
+msgstr "Versión mínima de PHP:"
-#: ../../Zotlabs/Module/Directory.php:332
-msgid "Don't suggest"
-msgstr "No sugerir:"
+#: ../../Zotlabs/Module/Admin/Plugins.php:351
+msgid "Compatible Server Roles: "
+msgstr "Configuraciones compatibles con este servidor:"
-#: ../../Zotlabs/Module/Directory.php:334
-msgid "Common connections:"
-msgstr "Conexiones comunes:"
+#: ../../Zotlabs/Module/Admin/Plugins.php:352
+msgid "Requires: "
+msgstr "Se requiere:"
-#: ../../Zotlabs/Module/Directory.php:383
-msgid "Global Directory"
-msgstr "Directorio global:"
+#: ../../Zotlabs/Module/Admin/Plugins.php:353
+#: ../../Zotlabs/Module/Admin/Plugins.php:433
+msgid "Disabled - version incompatibility"
+msgstr "Deshabilitado - versiones incompatibles"
-#: ../../Zotlabs/Module/Directory.php:383
-msgid "Local Directory"
-msgstr "Directorio local:"
+#: ../../Zotlabs/Module/Admin/Plugins.php:402
+msgid "Enter the public git repository URL of the plugin repo."
+msgstr "Escriba la URL pública del repositorio git del plugin."
-#: ../../Zotlabs/Module/Directory.php:388
-#: ../../Zotlabs/Module/Directory.php:393
-#: ../../Zotlabs/Module/Connections.php:309
-#: ../../include/contact_widgets.php:23
-msgid "Find"
-msgstr "Encontrar"
+#: ../../Zotlabs/Module/Admin/Plugins.php:403
+msgid "Plugin repo git URL"
+msgstr "URL del repositorio git del plugin"
-#: ../../Zotlabs/Module/Directory.php:389
-msgid "Finding:"
-msgstr "Encontrar:"
+#: ../../Zotlabs/Module/Admin/Plugins.php:404
+msgid "Custom repo name"
+msgstr "Nombre personalizado del repositorio"
-#: ../../Zotlabs/Module/Directory.php:392 ../../Zotlabs/Module/Suggest.php:64
-#: ../../include/contact_widgets.php:24
-msgid "Channel Suggestions"
-msgstr "Sugerencias de canales"
+#: ../../Zotlabs/Module/Admin/Plugins.php:404
+msgid "(optional)"
+msgstr "(opcional)"
-#: ../../Zotlabs/Module/Directory.php:394
-msgid "next page"
-msgstr "siguiente página"
+#: ../../Zotlabs/Module/Admin/Plugins.php:405
+msgid "Download Plugin Repo"
+msgstr "Descargar el repositorio"
-#: ../../Zotlabs/Module/Directory.php:394
-msgid "previous page"
-msgstr "página anterior"
+#: ../../Zotlabs/Module/Admin/Plugins.php:412
+msgid "Install new repo"
+msgstr "Instalar un nuevo repositorio"
-#: ../../Zotlabs/Module/Directory.php:395
-msgid "Sort options"
-msgstr "Ordenar opciones"
+#: ../../Zotlabs/Module/Admin/Plugins.php:413 ../../Zotlabs/Lib/Apps.php:334
+msgid "Install"
+msgstr "Instalar"
-#: ../../Zotlabs/Module/Directory.php:396
-msgid "Alphabetic"
-msgstr "Alfabético"
+#: ../../Zotlabs/Module/Admin/Plugins.php:414
+#: ../../Zotlabs/Module/Fbrowser.php:66 ../../Zotlabs/Module/Fbrowser.php:88
+#: ../../Zotlabs/Module/Wiki.php:171 ../../Zotlabs/Module/Wiki.php:211
+#: ../../Zotlabs/Module/Tagrm.php:15 ../../Zotlabs/Module/Tagrm.php:138
+#: ../../Zotlabs/Module/Settings/Oauth.php:88
+#: ../../Zotlabs/Module/Settings/Oauth.php:114
+#: ../../include/conversation.php:1248 ../../include/conversation.php:1297
+msgid "Cancel"
+msgstr "Cancelar"
-#: ../../Zotlabs/Module/Directory.php:397
-msgid "Reverse Alphabetic"
-msgstr "Alfabético inverso"
+#: ../../Zotlabs/Module/Admin/Plugins.php:435
+msgid "Manage Repos"
+msgstr "Gestionar los repositorios"
-#: ../../Zotlabs/Module/Directory.php:398
-msgid "Newest to Oldest"
-msgstr "De más nuevo a más antiguo"
+#: ../../Zotlabs/Module/Admin/Plugins.php:436
+msgid "Installed Plugin Repositories"
+msgstr "Repositorios de los plugins instalados"
-#: ../../Zotlabs/Module/Directory.php:399
-msgid "Oldest to Newest"
-msgstr "De más antiguo a más nuevo"
+#: ../../Zotlabs/Module/Admin/Plugins.php:437
+msgid "Install a New Plugin Repository"
+msgstr "Instalar un nuevo repositorio de plugins"
-#: ../../Zotlabs/Module/Directory.php:416
-msgid "No entries (some entries may be hidden)."
-msgstr "Sin entradas (algunas entradas pueden estar ocultas)."
+#: ../../Zotlabs/Module/Admin/Plugins.php:443
+#: ../../Zotlabs/Module/Settings/Oauth.php:42
+#: ../../Zotlabs/Module/Settings/Oauth.php:113 ../../Zotlabs/Lib/Apps.php:334
+msgid "Update"
+msgstr "Actualizar"
-#: ../../Zotlabs/Module/Rate.php:159 ../../Zotlabs/Module/Connedit.php:766
-#: ../../include/js_strings.php:20
-msgid "Rating"
-msgstr "Valoración"
+#: ../../Zotlabs/Module/Admin/Plugins.php:444
+msgid "Switch branch"
+msgstr "Cambiar la rama"
-#: ../../Zotlabs/Module/Rate.php:160
-msgid "Website:"
-msgstr "Sitio web:"
+#: ../../Zotlabs/Module/Admin/Plugins.php:445
+#: ../../Zotlabs/Module/Photos.php:989 ../../Zotlabs/Module/Tagrm.php:137
+msgid "Remove"
+msgstr "Eliminar"
-#: ../../Zotlabs/Module/Rate.php:163
-#, php-format
-msgid "Remote Channel [%s] (not yet known on this site)"
-msgstr "Canal remoto [%s] (aún no es conocido en este sitio)"
+#: ../../Zotlabs/Module/Admin/Profs.php:69
+msgid "New Profile Field"
+msgstr "Nuevo campo en el perfil"
-#: ../../Zotlabs/Module/Rate.php:164
-msgid "Rating (this information is public)"
-msgstr "Valoración (esta información es pública)"
+#: ../../Zotlabs/Module/Admin/Profs.php:70
+#: ../../Zotlabs/Module/Admin/Profs.php:90
+msgid "Field nickname"
+msgstr "Alias del campo"
-#: ../../Zotlabs/Module/Rate.php:165
-msgid "Optionally explain your rating (this information is public)"
-msgstr "Opcionalmente puede explicar su valoración (esta información es pública)"
+#: ../../Zotlabs/Module/Admin/Profs.php:70
+#: ../../Zotlabs/Module/Admin/Profs.php:90
+msgid "System name of field"
+msgstr "Nombre del campo en el sistema"
-#: ../../Zotlabs/Module/Bookmarks.php:53
-msgid "Bookmark added"
-msgstr "Marcador añadido"
+#: ../../Zotlabs/Module/Admin/Profs.php:71
+#: ../../Zotlabs/Module/Admin/Profs.php:91
+msgid "Input type"
+msgstr "Tipo de entrada"
-#: ../../Zotlabs/Module/Bookmarks.php:75
-msgid "My Bookmarks"
-msgstr "Mis marcadores"
+#: ../../Zotlabs/Module/Admin/Profs.php:72
+#: ../../Zotlabs/Module/Admin/Profs.php:92
+msgid "Field Name"
+msgstr "Nombre del campo"
-#: ../../Zotlabs/Module/Bookmarks.php:86
-msgid "My Connections Bookmarks"
-msgstr "Marcadores de mis conexiones"
+#: ../../Zotlabs/Module/Admin/Profs.php:72
+#: ../../Zotlabs/Module/Admin/Profs.php:92
+msgid "Label on profile pages"
+msgstr "Etiqueta a mostrar en la página del perfil"
-#: ../../Zotlabs/Module/Item.php:180
-msgid "Unable to locate original post."
-msgstr "No ha sido posible encontrar la entrada original."
+#: ../../Zotlabs/Module/Admin/Profs.php:73
+#: ../../Zotlabs/Module/Admin/Profs.php:93
+msgid "Help text"
+msgstr "Texto de ayuda"
-#: ../../Zotlabs/Module/Item.php:433
-msgid "Empty post discarded."
-msgstr "La entrada vacía ha sido desechada."
+#: ../../Zotlabs/Module/Admin/Profs.php:73
+#: ../../Zotlabs/Module/Admin/Profs.php:93
+msgid "Additional info (optional)"
+msgstr "Información adicional (opcional)"
-#: ../../Zotlabs/Module/Item.php:473
-msgid "Executable content type not permitted to this channel."
-msgstr "Contenido de tipo ejecutable no permitido en este canal."
+#: ../../Zotlabs/Module/Admin/Profs.php:74
+#: ../../Zotlabs/Module/Admin/Profs.php:94 ../../Zotlabs/Module/Filer.php:53
+#: ../../Zotlabs/Module/Rbmark.php:32 ../../Zotlabs/Module/Rbmark.php:104
+#: ../../include/text.php:972 ../../include/text.php:984
+#: ../../include/widgets.php:201
+msgid "Save"
+msgstr "Guardar"
-#: ../../Zotlabs/Module/Item.php:858
-msgid "Duplicate post suppressed."
-msgstr "Se ha suprimido la entrada duplicada."
+#: ../../Zotlabs/Module/Admin/Profs.php:83
+msgid "Field definition not found"
+msgstr "Definición del campo no encontrada"
-#: ../../Zotlabs/Module/Item.php:991
-msgid "System error. Post not saved."
-msgstr "Error del sistema. La entrada no se ha podido salvar."
+#: ../../Zotlabs/Module/Admin/Profs.php:89
+msgid "Edit Profile Field"
+msgstr "Modificar el campo del perfil"
-#: ../../Zotlabs/Module/Item.php:1112
-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/Admin/Profs.php:147 ../../include/widgets.php:1568
+msgid "Profile Fields"
+msgstr "Campos del perfil"
-#: ../../Zotlabs/Module/Item.php:1119
-#, 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/Admin/Profs.php:148
+msgid "Basic Profile Fields"
+msgstr "Campos básicos del perfil"
-#: ../../Zotlabs/Module/Item.php:1126
-#, php-format
-msgid "You have reached your limit of %1$.0f webpages."
-msgstr "Ha alcanzado su límite de %1$.0f páginas web."
+#: ../../Zotlabs/Module/Admin/Profs.php:149
+msgid "Advanced Profile Fields"
+msgstr "Campos avanzados del perfil"
-#: ../../Zotlabs/Module/Fbrowser.php:29 ../../Zotlabs/Lib/Apps.php:222
-#: ../../include/conversation.php:1662 ../../include/nav.php:94
-msgid "Photos"
-msgstr "Fotos"
+#: ../../Zotlabs/Module/Admin/Profs.php:149
+msgid "(In addition to basic fields)"
+msgstr "(Además de los campos básicos)"
-#: ../../Zotlabs/Module/Page.php:40 ../../Zotlabs/Module/Block.php:31
-msgid "Invalid item."
-msgstr "Elemento no válido."
+#: ../../Zotlabs/Module/Admin/Profs.php:151
+msgid "All available fields"
+msgstr "Todos los campos disponibles"
-#: ../../Zotlabs/Module/Page.php:56 ../../Zotlabs/Module/Block.php:43
-#: ../../Zotlabs/Module/Cal.php:62 ../../Zotlabs/Module/Wall_upload.php:33
-msgid "Channel not found."
-msgstr "Canal no encontrado."
+#: ../../Zotlabs/Module/Admin/Profs.php:152
+msgid "Custom Fields"
+msgstr "Campos personalizados"
-#: ../../Zotlabs/Module/Page.php:131
+#: ../../Zotlabs/Module/Admin/Profs.php:156
+msgid "Create Custom Field"
+msgstr "Crear un campo personalizado"
+
+#: ../../Zotlabs/Module/Admin/Queue.php:36
+msgid "Queue Statistics"
+msgstr "Estadísticas de la cola"
+
+#: ../../Zotlabs/Module/Admin/Queue.php:37
+msgid "Total Entries"
+msgstr "Total de entradas"
+
+#: ../../Zotlabs/Module/Admin/Queue.php:38
+msgid "Priority"
+msgstr "Prioridad"
+
+#: ../../Zotlabs/Module/Admin/Queue.php:39
+msgid "Destination URL"
+msgstr "Dirección de destino"
+
+#: ../../Zotlabs/Module/Admin/Queue.php:40
+msgid "Mark hub permanently offline"
+msgstr "Marcar el servidor como permanentemente fuera de línea"
+
+#: ../../Zotlabs/Module/Admin/Queue.php:41
+msgid "Empty queue for this hub"
+msgstr "Vaciar la cola para este servidor"
+
+#: ../../Zotlabs/Module/Admin/Queue.php:42
+msgid "Last known contact"
+msgstr "Último contacto conocido"
+
+#: ../../Zotlabs/Module/Admin/Security.php:77
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."
+"By default, unfiltered HTML is allowed in embedded media. This is inherently"
+" insecure."
+msgstr "De forma predeterminada, el HTML sin filtrar está permitido en el contenido multimedia incorporado en una publicación. Esto es siempre inseguro."
-#: ../../Zotlabs/Module/Filer.php:52
-msgid "Save to Folder:"
-msgstr "Guardar en carpeta:"
+#: ../../Zotlabs/Module/Admin/Security.php:80
+msgid ""
+"The recommended setting is to only allow unfiltered HTML from the following "
+"sites:"
+msgstr "La configuración recomendada es que sólo se permita HTML sin filtrar desde los siguientes sitios: "
-#: ../../Zotlabs/Module/Filer.php:52
-msgid "- select -"
-msgstr "- seleccionar -"
+#: ../../Zotlabs/Module/Admin/Security.php:81
+msgid ""
+"https://youtube.com/<br />https://www.youtube.com/<br />https://youtu.be/<br"
+" />https://vimeo.com/<br />https://soundcloud.com/<br />"
+msgstr "https://youtube.com/<br />https://www.youtube.com/<br />https://youtu.be/<br />https://vimeo.com/<br />https://soundcloud.com/<br />"
-#: ../../Zotlabs/Module/Filer.php:53 ../../Zotlabs/Module/Admin.php:2033
-#: ../../Zotlabs/Module/Admin.php:2053 ../../Zotlabs/Module/Rbmark.php:32
-#: ../../Zotlabs/Module/Rbmark.php:104 ../../include/widgets.php:201
-#: ../../include/text.php:926 ../../include/text.php:938
-msgid "Save"
-msgstr "Guardar"
+#: ../../Zotlabs/Module/Admin/Security.php:82
+msgid ""
+"All other embedded content will be filtered, <strong>unless</strong> "
+"embedded content from that site is explicitly blocked."
+msgstr "El resto del contenido incrustado se filtrará, <strong>excepto</ strong> si el contenido incorporado desde ese sitio está bloqueado de forma explícita."
-#: ../../Zotlabs/Module/Connedit.php:80
-msgid "Could not access contact record."
-msgstr "No se ha podido acceder al registro de contacto."
+#: ../../Zotlabs/Module/Admin/Security.php:87 ../../include/widgets.php:1563
+msgid "Security"
+msgstr "Seguridad"
-#: ../../Zotlabs/Module/Connedit.php:104
-msgid "Could not locate selected profile."
-msgstr "No se ha podido localizar el perfil seleccionado."
+#: ../../Zotlabs/Module/Admin/Security.php:89
+msgid "Block public"
+msgstr "Bloquear páginas públicas"
-#: ../../Zotlabs/Module/Connedit.php:256
-msgid "Connection updated."
-msgstr "Conexión actualizada."
+#: ../../Zotlabs/Module/Admin/Security.php:89
+msgid ""
+"Check to block public access to all otherwise public personal pages on this "
+"site unless you are currently authenticated."
+msgstr "Habilitar para impedir ver las páginas personales de este sitio a quien no esté actualmente autenticado."
-#: ../../Zotlabs/Module/Connedit.php:258
-msgid "Failed to update connection record."
-msgstr "Error al actualizar el registro de la conexión."
+#: ../../Zotlabs/Module/Admin/Security.php:90
+msgid "Set \"Transport Security\" HTTP header"
+msgstr "Habilitar \"Seguridad de transporte\" (\"Transport Security\") en la cabecera HTTP"
-#: ../../Zotlabs/Module/Connedit.php:308
-msgid "is now connected to"
-msgstr "ahora está conectado/a"
+#: ../../Zotlabs/Module/Admin/Security.php:91
+msgid "Set \"Content Security Policy\" HTTP header"
+msgstr "Habilitar la \"Política de seguridad del contenido\" (\"Content Security Policy\") en la cabecera HTTP"
-#: ../../Zotlabs/Module/Connedit.php:408 ../../Zotlabs/Module/Connedit.php:690
-#: ../../Zotlabs/Module/Filestorage.php:160
+#: ../../Zotlabs/Module/Admin/Security.php:92
+msgid "Allowed email domains"
+msgstr "Se aceptan dominios de correo electrónico"
+
+#: ../../Zotlabs/Module/Admin/Security.php:92
+msgid ""
+"Comma separated list of domains which are allowed in email addresses for "
+"registrations to this site. Wildcards are accepted. Empty to allow any "
+"domains"
+msgstr "Lista separada por comas de los dominios de los que se acepta una dirección de correo electrónico para registros en este sitio. Se permiten comodines. Dejar en claro para aceptar cualquier dominio. "
+
+#: ../../Zotlabs/Module/Admin/Security.php:93
+msgid "Not allowed email domains"
+msgstr "No se permiten dominios de correo electrónico"
+
+#: ../../Zotlabs/Module/Admin/Security.php:93
+msgid ""
+"Comma separated list of domains which are not allowed in email addresses for"
+" registrations to this site. Wildcards are accepted. Empty to allow any "
+"domains, unless allowed domains have been defined."
+msgstr "Lista separada por comas de los dominios de los que no se acepta una dirección de correo electrónico para registros en este sitio. Se permiten comodines. Dejar en claro para no aceptar cualquier dominio, excepto los que se hayan autorizado."
+
+#: ../../Zotlabs/Module/Admin/Security.php:94
+msgid "Allow communications only from these sites"
+msgstr "Permitir la comunicación solo desde estos sitios"
+
+#: ../../Zotlabs/Module/Admin/Security.php:94
+msgid ""
+"One site per line. Leave empty to allow communication from anywhere by "
+"default"
+msgstr "Un sitio por línea. Dejar en blanco para permitir por defecto la comunicación desde cualquiera"
+
+#: ../../Zotlabs/Module/Admin/Security.php:95
+msgid "Block communications from these sites"
+msgstr "Bloquear la comunicación desde estos sitios"
+
+#: ../../Zotlabs/Module/Admin/Security.php:96
+msgid "Allow communications only from these channels"
+msgstr "Permitir la comunicación solo desde estos canales"
+
+#: ../../Zotlabs/Module/Admin/Security.php:96
+msgid ""
+"One channel (hash) per line. Leave empty to allow from any channel by "
+"default"
+msgstr "Un canal (hash) por línea. Dejar en blanco para permitir por defecto la comunicación desde cualquiera"
+
+#: ../../Zotlabs/Module/Admin/Security.php:97
+msgid "Block communications from these channels"
+msgstr "Bloquear la comunicación desde estos canales"
+
+#: ../../Zotlabs/Module/Admin/Security.php:98
+msgid "Only allow embeds from secure (SSL) websites and links."
+msgstr "Sólo se permite contenido multimedia incorporado desde sitios y enlaces seguros (SSL)."
+
+#: ../../Zotlabs/Module/Admin/Security.php:99
+msgid "Allow unfiltered embedded HTML content only from these domains"
+msgstr "Permitir contenido HTML sin filtrar sólo desde estos dominios "
+
+#: ../../Zotlabs/Module/Admin/Security.php:99
+msgid "One site per line. By default embedded content is filtered."
+msgstr "Un sitio por línea. El contenido incorporado se filtra de forma predeterminada."
+
+#: ../../Zotlabs/Module/Admin/Security.php:100
+msgid "Block embedded HTML from these domains"
+msgstr "Bloquear contenido con HTML incorporado desde estos dominios"
+
+#: ../../Zotlabs/Module/Admin/Site.php:135
+msgid "Site settings updated."
+msgstr "Ajustes del sitio actualizados."
+
+#: ../../Zotlabs/Module/Admin/Site.php:162 ../../include/text.php:2942
+msgid "Default"
+msgstr "Predeterminado"
+
+#: ../../Zotlabs/Module/Admin/Site.php:172
+#: ../../Zotlabs/Module/Settings/Display.php:141
+msgid "mobile"
+msgstr "móvil"
+
+#: ../../Zotlabs/Module/Admin/Site.php:174
+msgid "experimental"
+msgstr "experimental"
+
+#: ../../Zotlabs/Module/Admin/Site.php:176
+msgid "unsupported"
+msgstr "no soportado"
+
+#: ../../Zotlabs/Module/Admin/Site.php:221
+#: ../../Zotlabs/Module/Connedit.php:408 ../../Zotlabs/Module/Connedit.php:686
+#: ../../Zotlabs/Module/Menu.php:100 ../../Zotlabs/Module/Menu.php:157
+#: ../../Zotlabs/Module/Api.php:85 ../../Zotlabs/Module/Filestorage.php:160
#: ../../Zotlabs/Module/Filestorage.php:168
#: ../../Zotlabs/Module/Profiles.php:647 ../../Zotlabs/Module/Mitem.php:162
#: ../../Zotlabs/Module/Mitem.php:163 ../../Zotlabs/Module/Mitem.php:240
-#: ../../Zotlabs/Module/Mitem.php:241 ../../Zotlabs/Module/Events.php:462
+#: ../../Zotlabs/Module/Mitem.php:241 ../../Zotlabs/Module/Removeme.php:63
+#: ../../Zotlabs/Module/Photos.php:653 ../../Zotlabs/Module/Events.php:462
#: ../../Zotlabs/Module/Events.php:463 ../../Zotlabs/Module/Events.php:472
-#: ../../Zotlabs/Module/Menu.php:100 ../../Zotlabs/Module/Menu.php:157
-#: ../../Zotlabs/Module/Admin.php:459 ../../Zotlabs/Module/Api.php:85
-#: ../../Zotlabs/Module/Photos.php:664 ../../Zotlabs/Module/Removeme.php:63
-#: ../../Zotlabs/Module/Settings.php:673 ../../include/dir_fns.php:143
+#: ../../Zotlabs/Module/Settings/Channel.php:289
+#: ../../Zotlabs/Module/Settings/Display.php:101 ../../include/dir_fns.php:143
#: ../../include/dir_fns.php:144 ../../include/dir_fns.php:145
#: ../../view/theme/redbasic/php/config.php:111
-#: ../../view/theme/redbasic/php/config.php:136 ../../boot.php:1717
+#: ../../view/theme/redbasic/php/config.php:136 ../../boot.php:1743
msgid "No"
msgstr "No"
-#: ../../Zotlabs/Module/Connedit.php:408
+#: ../../Zotlabs/Module/Admin/Site.php:222
+msgid "Yes - with approval"
+msgstr "Sí - con aprobación"
+
+#: ../../Zotlabs/Module/Admin/Site.php:223
+#: ../../Zotlabs/Module/Connedit.php:408 ../../Zotlabs/Module/Menu.php:100
+#: ../../Zotlabs/Module/Menu.php:157 ../../Zotlabs/Module/Api.php:84
#: ../../Zotlabs/Module/Filestorage.php:160
#: ../../Zotlabs/Module/Filestorage.php:168
#: ../../Zotlabs/Module/Profiles.php:647 ../../Zotlabs/Module/Mitem.php:162
#: ../../Zotlabs/Module/Mitem.php:163 ../../Zotlabs/Module/Mitem.php:240
-#: ../../Zotlabs/Module/Mitem.php:241 ../../Zotlabs/Module/Events.php:462
+#: ../../Zotlabs/Module/Mitem.php:241 ../../Zotlabs/Module/Removeme.php:63
+#: ../../Zotlabs/Module/Photos.php:653 ../../Zotlabs/Module/Events.php:462
#: ../../Zotlabs/Module/Events.php:463 ../../Zotlabs/Module/Events.php:472
-#: ../../Zotlabs/Module/Menu.php:100 ../../Zotlabs/Module/Menu.php:157
-#: ../../Zotlabs/Module/Admin.php:461 ../../Zotlabs/Module/Api.php:84
-#: ../../Zotlabs/Module/Photos.php:664 ../../Zotlabs/Module/Removeme.php:63
-#: ../../Zotlabs/Module/Settings.php:673 ../../include/dir_fns.php:143
+#: ../../Zotlabs/Module/Settings/Channel.php:289
+#: ../../Zotlabs/Module/Settings/Display.php:101 ../../include/dir_fns.php:143
#: ../../include/dir_fns.php:144 ../../include/dir_fns.php:145
#: ../../view/theme/redbasic/php/config.php:111
-#: ../../view/theme/redbasic/php/config.php:136 ../../boot.php:1717
+#: ../../view/theme/redbasic/php/config.php:136 ../../boot.php:1743
msgid "Yes"
msgstr "Sí"
-#: ../../Zotlabs/Module/Connedit.php:440
-msgid "Could not access address book record."
-msgstr "No se pudo acceder al registro en su libreta de direcciones."
+#: ../../Zotlabs/Module/Admin/Site.php:228
+msgid "My site is not a public server"
+msgstr "Mi sitio no es un servidor público"
-#: ../../Zotlabs/Module/Connedit.php:460
-msgid "Refresh failed - channel is currently unavailable."
-msgstr "Recarga fallida - no se puede encontrar el canal en este momento."
+#: ../../Zotlabs/Module/Admin/Site.php:229
+msgid "My site has paid access only"
+msgstr "Mi sitio es un servicio de pago"
-#: ../../Zotlabs/Module/Connedit.php:475 ../../Zotlabs/Module/Connedit.php:484
-#: ../../Zotlabs/Module/Connedit.php:493 ../../Zotlabs/Module/Connedit.php:502
-#: ../../Zotlabs/Module/Connedit.php:515
-msgid "Unable to set address book parameters."
-msgstr "No ha sido posible establecer los parámetros de la libreta de direcciones."
+#: ../../Zotlabs/Module/Admin/Site.php:230
+msgid "My site has free access only"
+msgstr "Mi sitio es un servicio gratuito"
-#: ../../Zotlabs/Module/Connedit.php:538
-msgid "Connection has been removed."
-msgstr "La conexión ha sido eliminada."
+#: ../../Zotlabs/Module/Admin/Site.php:231
+msgid "My site offers free accounts with optional paid upgrades"
+msgstr "Mi sitio ofrece cuentas gratuitas con opciones extra de pago"
-#: ../../Zotlabs/Module/Connedit.php:554 ../../Zotlabs/Lib/Apps.php:221
-#: ../../include/conversation.php:958 ../../include/nav.php:88
-msgid "View Profile"
-msgstr "Ver el perfil"
+#: ../../Zotlabs/Module/Admin/Site.php:242 ../../Zotlabs/Module/Setup.php:336
+msgid "Basic/Minimal Social Networking"
+msgstr "Red social básica o mínima"
+
+#: ../../Zotlabs/Module/Admin/Site.php:243 ../../Zotlabs/Module/Setup.php:337
+msgid "Standard Configuration (default)"
+msgstr "Configuración estándar (por defecto)"
+
+#: ../../Zotlabs/Module/Admin/Site.php:244 ../../Zotlabs/Module/Setup.php:338
+msgid "Professional"
+msgstr "Profesional"
+
+#: ../../Zotlabs/Module/Admin/Site.php:249
+#: ../../Zotlabs/Module/Settings/Account.php:105
+msgid "Beginner/Basic"
+msgstr "Principiante / Básico"
+
+#: ../../Zotlabs/Module/Admin/Site.php:250
+#: ../../Zotlabs/Module/Settings/Account.php:106
+msgid "Novice - not skilled but willing to learn"
+msgstr "Novato: no cualificado, pero dispuesto a aprender"
+
+#: ../../Zotlabs/Module/Admin/Site.php:251
+#: ../../Zotlabs/Module/Settings/Account.php:107
+msgid "Intermediate - somewhat comfortable"
+msgstr "Intermedio: bastante cómodo"
+
+#: ../../Zotlabs/Module/Admin/Site.php:252
+#: ../../Zotlabs/Module/Settings/Account.php:108
+msgid "Advanced - very comfortable"
+msgstr "Avanzado: muy cómodo"
+
+#: ../../Zotlabs/Module/Admin/Site.php:253
+#: ../../Zotlabs/Module/Settings/Account.php:109
+msgid "Expert - I can write computer code"
+msgstr "Experto: puedo escribir código informático"
+
+#: ../../Zotlabs/Module/Admin/Site.php:254
+#: ../../Zotlabs/Module/Settings/Account.php:110
+msgid "Wizard - I probably know more than you do"
+msgstr "Asistente: probablemente sé más que tú"
+
+#: ../../Zotlabs/Module/Admin/Site.php:266 ../../include/widgets.php:1560
+msgid "Site"
+msgstr "Sitio"
-#: ../../Zotlabs/Module/Connedit.php:557
-#, php-format
-msgid "View %s's profile"
-msgstr "Ver el perfil de %s"
+#: ../../Zotlabs/Module/Admin/Site.php:268
+#: ../../Zotlabs/Module/Register.php:253
+msgid "Registration"
+msgstr "Registro"
-#: ../../Zotlabs/Module/Connedit.php:561
-msgid "Refresh Permissions"
-msgstr "Recargar los permisos"
+#: ../../Zotlabs/Module/Admin/Site.php:269
+msgid "File upload"
+msgstr "Subir fichero"
-#: ../../Zotlabs/Module/Connedit.php:564
-msgid "Fetch updated permissions"
-msgstr "Obtener los permisos actualizados"
+#: ../../Zotlabs/Module/Admin/Site.php:270
+msgid "Policies"
+msgstr "Políticas"
-#: ../../Zotlabs/Module/Connedit.php:568
-msgid "Recent Activity"
-msgstr "Actividad reciente"
+#: ../../Zotlabs/Module/Admin/Site.php:271
+#: ../../include/contact_widgets.php:16
+msgid "Advanced"
+msgstr "Avanzado"
-#: ../../Zotlabs/Module/Connedit.php:571
-msgid "View recent posts and comments"
-msgstr "Ver publicaciones y comentarios recientes"
+#: ../../Zotlabs/Module/Admin/Site.php:275
+msgid "Site name"
+msgstr "Nombre del sitio"
-#: ../../Zotlabs/Module/Connedit.php:575 ../../Zotlabs/Module/Admin.php:1041
-msgid "Unblock"
-msgstr "Desbloquear"
+#: ../../Zotlabs/Module/Admin/Site.php:277 ../../Zotlabs/Module/Setup.php:359
+msgid "Server Configuration/Role"
+msgstr "Configuración del servidor"
-#: ../../Zotlabs/Module/Connedit.php:575 ../../Zotlabs/Module/Admin.php:1040
-msgid "Block"
-msgstr "Bloquear"
+#: ../../Zotlabs/Module/Admin/Site.php:279
+msgid "Site default technical skill level"
+msgstr "Nivel de habilidad técnica predeterminado del sitio"
-#: ../../Zotlabs/Module/Connedit.php:578
-msgid "Block (or Unblock) all communications with this connection"
-msgstr "Bloquear (o desbloquear) todas las comunicaciones con esta conexión"
+#: ../../Zotlabs/Module/Admin/Site.php:279
+msgid "Used to provide a member experience matched to technical comfort level"
+msgstr "Se utiliza para proporcionar la experiencia de los miembros adaptada al nivel de comodidad"
-#: ../../Zotlabs/Module/Connedit.php:579
-msgid "This connection is blocked!"
-msgstr "¡Esta conexión está bloqueada!"
+#: ../../Zotlabs/Module/Admin/Site.php:281
+msgid "Lock the technical skill level setting"
+msgstr "Bloquear el ajuste del nivel de habilidad técnica"
-#: ../../Zotlabs/Module/Connedit.php:583
-msgid "Unignore"
-msgstr "Dejar de ignorar"
+#: ../../Zotlabs/Module/Admin/Site.php:281
+msgid "Members can set their own technical comfort level by default"
+msgstr "Los miembros pueden configurar por defecto su nivel de comodidad técnica"
-#: ../../Zotlabs/Module/Connedit.php:583
-#: ../../Zotlabs/Module/Connections.php:277
-#: ../../Zotlabs/Module/Notifications.php:55
-msgid "Ignore"
-msgstr "Ignorar"
+#: ../../Zotlabs/Module/Admin/Site.php:284
+msgid "Banner/Logo"
+msgstr "Banner/Logo"
-#: ../../Zotlabs/Module/Connedit.php:586
-msgid "Ignore (or Unignore) all inbound communications from this connection"
-msgstr "Ignorar (o dejar de ignorar) todas las comunicaciones entrantes de esta conexión"
+#: ../../Zotlabs/Module/Admin/Site.php:285
+msgid "Administrator Information"
+msgstr "Información del Administrador"
-#: ../../Zotlabs/Module/Connedit.php:587
-msgid "This connection is ignored!"
-msgstr "¡Esta conexión es ignorada!"
+#: ../../Zotlabs/Module/Admin/Site.php:285
+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/Connedit.php:591
-msgid "Unarchive"
-msgstr "Desarchivar"
+#: ../../Zotlabs/Module/Admin/Site.php:286
+msgid "System language"
+msgstr "Idioma del sistema"
-#: ../../Zotlabs/Module/Connedit.php:591
-msgid "Archive"
-msgstr "Archivar"
+#: ../../Zotlabs/Module/Admin/Site.php:287
+msgid "System theme"
+msgstr "Tema gráfico del sistema"
-#: ../../Zotlabs/Module/Connedit.php:594
+#: ../../Zotlabs/Module/Admin/Site.php:287
msgid ""
-"Archive (or Unarchive) this connection - mark channel dead but keep content"
-msgstr "Archiva (o desarchiva) esta conexión - marca el canal como muerto aunque mantiene sus contenidos"
+"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/Connedit.php:595
-msgid "This connection is archived!"
-msgstr "¡Esta conexión esta archivada!"
+#: ../../Zotlabs/Module/Admin/Site.php:288
+msgid "Mobile system theme"
+msgstr "Tema del sistema para móviles"
-#: ../../Zotlabs/Module/Connedit.php:599
-msgid "Unhide"
-msgstr "Mostrar"
+#: ../../Zotlabs/Module/Admin/Site.php:288
+msgid "Theme for mobile devices"
+msgstr "Tema para dispositivos móviles"
-#: ../../Zotlabs/Module/Connedit.php:599
-msgid "Hide"
-msgstr "Ocultar"
+#: ../../Zotlabs/Module/Admin/Site.php:290
+msgid "Allow Feeds as Connections"
+msgstr "Permitir contenidos RSS como conexiones"
-#: ../../Zotlabs/Module/Connedit.php:602
-msgid "Hide or Unhide this connection from your other connections"
-msgstr "Ocultar o mostrar esta conexión a sus otras conexiones"
+#: ../../Zotlabs/Module/Admin/Site.php:290
+msgid "(Heavy system resource usage)"
+msgstr "(Uso intenso de los recursos del sistema)"
-#: ../../Zotlabs/Module/Connedit.php:603
-msgid "This connection is hidden!"
-msgstr "¡Esta conexión está oculta!"
+#: ../../Zotlabs/Module/Admin/Site.php:291
+msgid "Maximum image size"
+msgstr "Tamaño máximo de la imagen"
-#: ../../Zotlabs/Module/Connedit.php:610
-msgid "Delete this connection"
-msgstr "Eliminar esta conexión"
+#: ../../Zotlabs/Module/Admin/Site.php:291
+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/Connedit.php:625 ../../include/widgets.php:493
-msgid "Me"
-msgstr "Yo"
+#: ../../Zotlabs/Module/Admin/Site.php:292
+msgid "Does this site allow new member registration?"
+msgstr "¿Debe este sitio permitir el registro de nuevos miembros?"
-#: ../../Zotlabs/Module/Connedit.php:626 ../../include/widgets.php:494
-msgid "Family"
-msgstr "Familia"
+#: ../../Zotlabs/Module/Admin/Site.php:293
+msgid "Invitation only"
+msgstr "Solo con una invitación"
-#: ../../Zotlabs/Module/Connedit.php:627 ../../Zotlabs/Module/Settings.php:429
-#: ../../Zotlabs/Module/Settings.php:433 ../../Zotlabs/Module/Settings.php:434
-#: ../../Zotlabs/Module/Settings.php:437 ../../Zotlabs/Module/Settings.php:448
-#: ../../include/selectors.php:123 ../../include/widgets.php:495
-#: ../../include/channel.php:402 ../../include/channel.php:403
-#: ../../include/channel.php:410
-msgid "Friends"
-msgstr "Amigos/as"
+#: ../../Zotlabs/Module/Admin/Site.php:293
+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/Connedit.php:628 ../../include/widgets.php:496
-msgid "Acquaintances"
-msgstr "Conocidos/as"
+#: ../../Zotlabs/Module/Admin/Site.php:294
+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/Connedit.php:629
-#: ../../Zotlabs/Module/Connections.php:92
-#: ../../Zotlabs/Module/Connections.php:107 ../../include/widgets.php:497
-msgid "All"
-msgstr "Todos/as"
+#: ../../Zotlabs/Module/Admin/Site.php:295
+msgid "Register text"
+msgstr "Texto del registro"
-#: ../../Zotlabs/Module/Connedit.php:690
-msgid "Approve this connection"
-msgstr "Aprobar esta conexión"
+#: ../../Zotlabs/Module/Admin/Site.php:295
+msgid "Will be displayed prominently on the registration page."
+msgstr "Se mostrará de forma destacada en la página de registro."
-#: ../../Zotlabs/Module/Connedit.php:690
-msgid "Accept connection to allow communication"
-msgstr "Aceptar la conexión para permitir la comunicación"
+#: ../../Zotlabs/Module/Admin/Site.php:296
+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/Connedit.php:695
-msgid "Set Affinity"
-msgstr "Ajustar la afinidad"
+#: ../../Zotlabs/Module/Admin/Site.php:296
+msgid ""
+"example: 'public' to show public stream, 'page/sys/home' to show a system "
+"webpage called 'home' or 'include:home.html' to include a file."
+msgstr "ejemplo: 'public' para mostrar contenido público, 'page/sys/home' para mostrar la página web definida como \"home\" o 'include:home.html' para mostrar el contenido de un fichero."
-#: ../../Zotlabs/Module/Connedit.php:698
-msgid "Set Profile"
-msgstr "Ajustar el perfil"
+#: ../../Zotlabs/Module/Admin/Site.php:297
+msgid "Preserve site homepage URL"
+msgstr "Preservar la dirección de la página personal"
-#: ../../Zotlabs/Module/Connedit.php:701
-msgid "Set Affinity & Profile"
-msgstr "Ajustar la afinidad y el perfil"
+#: ../../Zotlabs/Module/Admin/Site.php:297
+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/Connedit.php:750
-msgid "none"
-msgstr "-"
+#: ../../Zotlabs/Module/Admin/Site.php:298
+msgid "Accounts abandoned after x days"
+msgstr "Cuentas abandonadas después de x días"
-#: ../../Zotlabs/Module/Connedit.php:754 ../../include/widgets.php:623
-msgid "Connection Default Permissions"
-msgstr "Permisos predeterminados de conexión"
+#: ../../Zotlabs/Module/Admin/Site.php:298
+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/Connedit.php:754 ../../include/items.php:3937
-#, php-format
-msgid "Connection: %s"
-msgstr "Conexión: %s"
+#: ../../Zotlabs/Module/Admin/Site.php:299
+msgid "Allowed friend domains"
+msgstr "Dominios amigos permitidos"
-#: ../../Zotlabs/Module/Connedit.php:755
-msgid "Apply these permissions automatically"
-msgstr "Aplicar estos permisos automaticamente"
+#: ../../Zotlabs/Module/Admin/Site.php:299
+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/Connedit.php:755
-msgid "Connection requests will be approved without your interaction"
-msgstr "Las solicitudes de conexión serán aprobadas sin su intervención"
+#: ../../Zotlabs/Module/Admin/Site.php:300
+msgid "Verify Email Addresses"
+msgstr "Verificar las direcciones de correo electrónico"
-#: ../../Zotlabs/Module/Connedit.php:757
-msgid "This connection's primary address is"
-msgstr "La dirección primaria de esta conexión es"
+#: ../../Zotlabs/Module/Admin/Site.php:300
+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/Connedit.php:758
-msgid "Available locations:"
-msgstr "Ubicaciones disponibles:"
+#: ../../Zotlabs/Module/Admin/Site.php:301
+msgid "Force publish"
+msgstr "Forzar la publicación"
-#: ../../Zotlabs/Module/Connedit.php:762
+#: ../../Zotlabs/Module/Admin/Site.php:301
msgid ""
-"The permissions indicated on this page will be applied to all new "
-"connections."
-msgstr "Los permisos indicados en esta página serán aplicados en todas las nuevas conexiones."
+"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/Connedit.php:763
-msgid "Connection Tools"
-msgstr "Gestión de las conexiones"
+#: ../../Zotlabs/Module/Admin/Site.php:302
+msgid "Import Public Streams"
+msgstr "Importar contenido público"
-#: ../../Zotlabs/Module/Connedit.php:765
-msgid "Slide to adjust your degree of friendship"
-msgstr "Deslizar para ajustar el grado de amistad"
+#: ../../Zotlabs/Module/Admin/Site.php:302
+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/Connedit.php:767
-msgid "Slide to adjust your rating"
-msgstr "Deslizar para ajustar su valoración"
+#: ../../Zotlabs/Module/Admin/Site.php:303
+msgid "Login on Homepage"
+msgstr "Iniciar sesión en la página personal"
-#: ../../Zotlabs/Module/Connedit.php:768 ../../Zotlabs/Module/Connedit.php:773
-msgid "Optionally explain your rating"
-msgstr "Opcionalmente, puede explicar su valoración"
+#: ../../Zotlabs/Module/Admin/Site.php:303
+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/Connedit.php:770
-msgid "Custom Filter"
-msgstr "Filtro personalizado"
+#: ../../Zotlabs/Module/Admin/Site.php:304
+msgid "Enable context help"
+msgstr "Habilitar la ayuda contextual"
-#: ../../Zotlabs/Module/Connedit.php:771
-msgid "Only import posts with this text"
-msgstr "Importar solo entradas que contengan este texto"
+#: ../../Zotlabs/Module/Admin/Site.php:304
+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/Connedit.php:771 ../../Zotlabs/Module/Connedit.php:772
+#: ../../Zotlabs/Module/Admin/Site.php:306
+msgid "Directory Server URL"
+msgstr "URL del servidor de directorio"
+
+#: ../../Zotlabs/Module/Admin/Site.php:306
+msgid "Default directory server"
+msgstr "Servidor de directorio predeterminado"
+
+#: ../../Zotlabs/Module/Admin/Site.php:308
+msgid "Proxy user"
+msgstr "Usuario del proxy"
+
+#: ../../Zotlabs/Module/Admin/Site.php:309
+msgid "Proxy URL"
+msgstr "Dirección del proxy"
+
+#: ../../Zotlabs/Module/Admin/Site.php:310
+msgid "Network timeout"
+msgstr "Tiempo de espera de la red"
+
+#: ../../Zotlabs/Module/Admin/Site.php:310
+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:311
+msgid "Delivery interval"
+msgstr "Intervalo de entrega"
+
+#: ../../Zotlabs/Module/Admin/Site.php:311
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"
+"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/Connedit.php:772
-msgid "Do not import posts with this text"
-msgstr "No importar entradas que contengan este texto"
+#: ../../Zotlabs/Module/Admin/Site.php:312
+msgid "Deliveries per process"
+msgstr "Intentos de envío por proceso"
-#: ../../Zotlabs/Module/Connedit.php:774
-msgid "This information is public!"
-msgstr "¡Esta información es pública!"
+#: ../../Zotlabs/Module/Admin/Site.php:312
+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/Connedit.php:779
-msgid "Connection Pending Approval"
-msgstr "Conexión pendiente de aprobación"
+#: ../../Zotlabs/Module/Admin/Site.php:313
+msgid "Poll interval"
+msgstr "Intervalo máximo de tiempo entre dos mensajes sucesivos"
-#: ../../Zotlabs/Module/Connedit.php:782 ../../Zotlabs/Module/Settings.php:882
-msgid "inherited"
-msgstr "heredado"
+#: ../../Zotlabs/Module/Admin/Site.php:313
+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/Connedit.php:784
-#, php-format
+#: ../../Zotlabs/Module/Admin/Site.php:314
+msgid "Maximum Load Average"
+msgstr "Carga media máxima"
+
+#: ../../Zotlabs/Module/Admin/Site.php:314
msgid ""
-"Please choose the profile you would like to display to %s when viewing your "
-"profile securely."
-msgstr "Por favor, escoja el perfil que quiere mostrar a %s cuando esté viendo su perfil de forma segura."
+"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/Connedit.php:786 ../../Zotlabs/Module/Settings.php:879
-msgid "Their Settings"
-msgstr "Sus ajustes"
+#: ../../Zotlabs/Module/Admin/Site.php:315
+msgid "Expiration period in days for imported (grid/network) content"
+msgstr "Caducidad del contenido importado de otros sitios (en días)"
-#: ../../Zotlabs/Module/Connedit.php:787 ../../Zotlabs/Module/Settings.php:880
-msgid "My Settings"
-msgstr "Mis ajustes"
+#: ../../Zotlabs/Module/Admin/Site.php:315
+msgid "0 for no expiration of imported content"
+msgstr "0 para que no caduque el contenido importado"
-#: ../../Zotlabs/Module/Connedit.php:789 ../../Zotlabs/Module/Settings.php:884
-msgid "Individual Permissions"
-msgstr "Permisos individuales"
+#: ../../Zotlabs/Module/Admin/Themes.php:18
+msgid "Theme settings updated."
+msgstr "Ajustes del tema actualizados."
+
+#: ../../Zotlabs/Module/Admin/Themes.php:58
+msgid "No themes found."
+msgstr "No se han encontrado temas."
+
+#: ../../Zotlabs/Module/Admin/Themes.php:114
+msgid "Screenshot"
+msgstr "Instantánea de pantalla"
+
+#: ../../Zotlabs/Module/Admin/Themes.php:121
+#: ../../Zotlabs/Module/Admin/Themes.php:155 ../../include/widgets.php:1566
+msgid "Themes"
+msgstr "Temas"
+
+#: ../../Zotlabs/Module/Admin/Themes.php:160
+msgid "[Experimental]"
+msgstr "[Experimental]"
+
+#: ../../Zotlabs/Module/Admin/Themes.php:161
+msgid "[Unsupported]"
+msgstr "[No soportado]"
+
+#: ../../Zotlabs/Module/Fbrowser.php:29 ../../Zotlabs/Lib/Apps.php:222
+#: ../../include/nav.php:95 ../../include/conversation.php:1672
+msgid "Photos"
+msgstr "Fotos"
+
+#: ../../Zotlabs/Module/Page.php:40 ../../Zotlabs/Module/Block.php:31
+msgid "Invalid item."
+msgstr "Elemento no válido."
+
+#: ../../Zotlabs/Module/Page.php:56 ../../Zotlabs/Module/Block.php:43
+#: ../../Zotlabs/Module/Cal.php:62 ../../Zotlabs/Module/Wall_upload.php:33
+msgid "Channel not found."
+msgstr "Canal no encontrado."
-#: ../../Zotlabs/Module/Connedit.php:790 ../../Zotlabs/Module/Settings.php:885
+#: ../../Zotlabs/Module/Page.php:131
msgid ""
-"Some permissions may be inherited from your channel's <a "
-"href=\"settings\"><strong>privacy settings</strong></a>, which have higher "
-"priority than individual settings. You can <strong>not</strong> change those"
-" settings here."
-msgstr "Algunos permisos pueden ser heredados de los <a href=\"settings\"><strong>ajustes de privacidad</strong></a> de sus canales, los cuales tienen una prioridad más alta que los ajustes individuales. <strong>No</strong> puede cambiar estos ajustes aquí."
+"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/Filer.php:52
+msgid "Save to Folder:"
+msgstr "Guardar en carpeta:"
+
+#: ../../Zotlabs/Module/Filer.php:52
+msgid "- select -"
+msgstr "- seleccionar -"
+
+#: ../../Zotlabs/Module/Mail.php:38
+msgid "Unable to lookup recipient."
+msgstr "No se puede asociar a un destinatario."
+
+#: ../../Zotlabs/Module/Mail.php:45
+msgid "Unable to communicate with requested channel."
+msgstr "No se puede establecer la comunicación con el canal solicitado."
+
+#: ../../Zotlabs/Module/Mail.php:52
+msgid "Cannot verify requested channel."
+msgstr "No se puede verificar el canal solicitado."
+
+#: ../../Zotlabs/Module/Mail.php:70
+msgid "Selected channel has private message restrictions. Send failed."
+msgstr "El canal seleccionado tiene restricciones sobre los mensajes privados. El envío falló."
+
+#: ../../Zotlabs/Module/Mail.php:135
+msgid "Messages"
+msgstr "Mensajes"
+
+#: ../../Zotlabs/Module/Mail.php:170
+msgid "Message recalled."
+msgstr "Mensaje revocado."
+
+#: ../../Zotlabs/Module/Mail.php:183
+msgid "Conversation removed."
+msgstr "Conversación eliminada."
+
+#: ../../Zotlabs/Module/Mail.php:197 ../../Zotlabs/Module/Mail.php:306
+#: ../../Zotlabs/Module/Chat.php:205 ../../include/conversation.php:1184
+msgid "Please enter a link URL:"
+msgstr "Por favor, introduzca la dirección del enlace:"
+
+#: ../../Zotlabs/Module/Mail.php:198 ../../Zotlabs/Module/Mail.php:307
+msgid "Expires YYYY-MM-DD HH:MM"
+msgstr "Caduca YYYY-MM-DD HH:MM"
+
+#: ../../Zotlabs/Module/Mail.php:226
+msgid "Requested channel is not in this network"
+msgstr "El canal solicitado no existe en esta red"
+
+#: ../../Zotlabs/Module/Mail.php:234
+msgid "Send Private Message"
+msgstr "Enviar un mensaje privado"
+
+#: ../../Zotlabs/Module/Mail.php:235 ../../Zotlabs/Module/Mail.php:360
+msgid "To:"
+msgstr "Para:"
+
+#: ../../Zotlabs/Module/Mail.php:238 ../../Zotlabs/Module/Mail.php:362
+msgid "Subject:"
+msgstr "Asunto:"
+
+#: ../../Zotlabs/Module/Mail.php:241 ../../Zotlabs/Module/Invite.php:135
+msgid "Your message:"
+msgstr "Su mensaje:"
+
+#: ../../Zotlabs/Module/Mail.php:243 ../../Zotlabs/Module/Mail.php:368
+#: ../../include/conversation.php:1244
+msgid "Attach file"
+msgstr "Adjuntar fichero"
+
+#: ../../Zotlabs/Module/Mail.php:244 ../../Zotlabs/Module/Mail.php:369
+#: ../../Zotlabs/Module/Editblock.php:111
+#: ../../Zotlabs/Module/Editwebpage.php:146 ../../Zotlabs/Module/Chat.php:207
+#: ../../include/conversation.php:1149
+msgid "Insert web link"
+msgstr "Insertar enlace web"
+
+#: ../../Zotlabs/Module/Mail.php:245
+msgid "Send"
+msgstr "Enviar"
-#: ../../Zotlabs/Module/Connedit.php:791
+#: ../../Zotlabs/Module/Mail.php:248 ../../Zotlabs/Module/Mail.php:373
+#: ../../include/conversation.php:1289
+msgid "Set expiration date"
+msgstr "Configurar fecha de caducidad"
+
+#: ../../Zotlabs/Module/Mail.php:250 ../../Zotlabs/Module/Mail.php:375
+#: ../../Zotlabs/Module/Chat.php:206 ../../Zotlabs/Lib/ThreadItem.php:737
+#: ../../include/conversation.php:1294
+msgid "Encrypt text"
+msgstr "Cifrar texto"
+
+#: ../../Zotlabs/Module/Mail.php:332
+msgid "Delete message"
+msgstr "Borrar mensaje"
+
+#: ../../Zotlabs/Module/Mail.php:333
+msgid "Delivery report"
+msgstr "Informe de transmisión"
+
+#: ../../Zotlabs/Module/Mail.php:334
+msgid "Recall message"
+msgstr "Revocar el mensaje"
+
+#: ../../Zotlabs/Module/Mail.php:336
+msgid "Message has been recalled."
+msgstr "El mensaje ha sido revocado."
+
+#: ../../Zotlabs/Module/Mail.php:353
+msgid "Delete Conversation"
+msgstr "Eliminar conversación"
+
+#: ../../Zotlabs/Module/Mail.php:355
msgid ""
-"Some permissions may be inherited from your channel's <a "
-"href=\"settings\"><strong>privacy settings</strong></a>, which have higher "
-"priority than individual settings. You can change those settings here but "
-"they wont have any impact unless the inherited setting changes."
-msgstr "Algunos permisos pueden ser heredados de los <a href=\"settings\"><strong>ajustes de privacidad</strong></a> de sus canales, los cuales tienen una prioridad más alta que los ajustes individuales. Puede cambiar estos ajustes aquí, pero no tendrán ningún consecuencia hasta que cambie los ajustes heredados."
+"No secure communications available. You <strong>may</strong> be able to "
+"respond from the sender's profile page."
+msgstr "Comunicación segura no disponible. Pero <strong>puede</strong> responder desde la página del perfil del remitente."
-#: ../../Zotlabs/Module/Connedit.php:792
-msgid "Last update:"
-msgstr "Última actualización:"
+#: ../../Zotlabs/Module/Mail.php:359
+msgid "Send Reply"
+msgstr "Responder"
+
+#: ../../Zotlabs/Module/Mail.php:364
+#, php-format
+msgid "Your message for %s (%s):"
+msgstr "Su mensaje para %s (%s):"
#: ../../Zotlabs/Module/Connections.php:56
#: ../../Zotlabs/Module/Connections.php:161
@@ -1315,10 +1929,16 @@ msgstr "Archivadas"
#: ../../Zotlabs/Module/Connections.php:76
#: ../../Zotlabs/Module/Connections.php:86 ../../Zotlabs/Module/Menu.php:116
-#: ../../include/conversation.php:1565
+#: ../../include/conversation.php:1573
msgid "New"
msgstr "Nuevas"
+#: ../../Zotlabs/Module/Connections.php:92
+#: ../../Zotlabs/Module/Connections.php:107
+#: ../../Zotlabs/Module/Connedit.php:629 ../../include/widgets.php:533
+msgid "All"
+msgstr "Todos/as"
+
#: ../../Zotlabs/Module/Connections.php:138
msgid "New Connections"
msgstr "Nuevas conexiones"
@@ -1377,7 +1997,7 @@ msgstr "Dirección del canal"
msgid "Network"
msgstr "Red"
-#: ../../Zotlabs/Module/Connections.php:270 ../../Zotlabs/Module/Admin.php:710
+#: ../../Zotlabs/Module/Connections.php:270
msgid "Status"
msgstr "Estado"
@@ -1389,28 +2009,29 @@ msgstr "Conectado/a"
msgid "Approve connection"
msgstr "Aprobar esta conexión"
-#: ../../Zotlabs/Module/Connections.php:275
-#: ../../Zotlabs/Module/Admin.php:1037
-msgid "Approve"
-msgstr "Aprobar"
-
#: ../../Zotlabs/Module/Connections.php:276
msgid "Ignore connection"
msgstr "Ignorar esta conexión"
+#: ../../Zotlabs/Module/Connections.php:277
+#: ../../Zotlabs/Module/Connedit.php:583
+#: ../../Zotlabs/Module/Notifications.php:55
+msgid "Ignore"
+msgstr "Ignorar"
+
#: ../../Zotlabs/Module/Connections.php:278
msgid "Recent activity"
msgstr "Actividad reciente"
#: ../../Zotlabs/Module/Connections.php:302 ../../Zotlabs/Lib/Apps.php:209
-#: ../../include/nav.php:190 ../../include/text.php:855
+#: ../../include/text.php:901 ../../include/nav.php:191
msgid "Connections"
msgstr "Conexiones"
#: ../../Zotlabs/Module/Connections.php:306 ../../Zotlabs/Module/Search.php:44
-#: ../../Zotlabs/Lib/Apps.php:230 ../../include/nav.php:169
-#: ../../include/text.php:925 ../../include/text.php:937
-#: ../../include/acl_selectors.php:179
+#: ../../Zotlabs/Lib/Apps.php:230 ../../include/text.php:971
+#: ../../include/text.php:983 ../../include/acl_selectors.php:174
+#: ../../include/nav.php:170 ../../include/widgets.php:315
msgid "Search"
msgstr "Buscar"
@@ -1422,6 +2043,12 @@ msgstr "Buscar sus conexiones"
msgid "Connections search"
msgstr "Buscar conexiones"
+#: ../../Zotlabs/Module/Connections.php:309
+#: ../../Zotlabs/Module/Directory.php:388
+#: ../../Zotlabs/Module/Directory.php:393 ../../include/contact_widgets.php:23
+msgid "Find"
+msgstr "Encontrar"
+
#: ../../Zotlabs/Module/Cover_photo.php:58
#: ../../Zotlabs/Module/Profile_photo.php:61
msgid "Image uploaded but image cropping failed."
@@ -1452,30 +2079,30 @@ msgstr "La carga de la imagen ha fallado."
msgid "Unable to process image."
msgstr "No ha sido posible procesar la imagen."
-#: ../../Zotlabs/Module/Cover_photo.php:233 ../../include/items.php:4285
+#: ../../Zotlabs/Module/Cover_photo.php:233 ../../include/items.php:4341
msgid "female"
msgstr "mujer"
-#: ../../Zotlabs/Module/Cover_photo.php:234 ../../include/items.php:4286
+#: ../../Zotlabs/Module/Cover_photo.php:234 ../../include/items.php:4342
#, php-format
msgid "%1$s updated her %2$s"
msgstr "%1$s ha actualizado su %2$s"
-#: ../../Zotlabs/Module/Cover_photo.php:235 ../../include/items.php:4287
+#: ../../Zotlabs/Module/Cover_photo.php:235 ../../include/items.php:4343
msgid "male"
msgstr "hombre"
-#: ../../Zotlabs/Module/Cover_photo.php:236 ../../include/items.php:4288
+#: ../../Zotlabs/Module/Cover_photo.php:236 ../../include/items.php:4344
#, php-format
msgid "%1$s updated his %2$s"
msgstr "%1$s ha actualizado su %2$s"
-#: ../../Zotlabs/Module/Cover_photo.php:238 ../../include/items.php:4290
+#: ../../Zotlabs/Module/Cover_photo.php:238 ../../include/items.php:4346
#, php-format
msgid "%1$s updated their %2$s"
msgstr "%1$s ha actualizado su %2$s"
-#: ../../Zotlabs/Module/Cover_photo.php:240 ../../include/channel.php:1710
+#: ../../Zotlabs/Module/Cover_photo.php:240 ../../include/channel.php:1731
msgid "cover photo"
msgstr "Imagen de portada del perfil"
@@ -1502,7 +2129,7 @@ msgstr "Subir imagen de portada del perfil"
#: ../../Zotlabs/Module/Cover_photo.php:361
#: ../../Zotlabs/Module/Profile_photo.php:396
-#: ../../Zotlabs/Module/Settings.php:1180
+#: ../../Zotlabs/Module/Settings/Channel.php:399
msgid "or"
msgstr "o"
@@ -1531,229 +2158,304 @@ msgstr "Por favor ajuste el recorte de la imagen para una visión óptima."
msgid "Done Editing"
msgstr "Edición completada"
-#: ../../Zotlabs/Module/Import.php:33
-#, php-format
-msgid "Your service plan only allows %d channels."
-msgstr "Su paquete de servicios solo permite %d canales."
+#: ../../Zotlabs/Module/Rpost.php:138 ../../Zotlabs/Module/Editpost.php:106
+msgid "Edit post"
+msgstr "Editar la entrada"
-#: ../../Zotlabs/Module/Import.php:71 ../../Zotlabs/Module/Import_items.php:42
-msgid "Nothing to import."
-msgstr "No hay nada para importar."
+#: ../../Zotlabs/Module/Connedit.php:80
+msgid "Could not access contact record."
+msgstr "No se ha podido acceder al registro de contacto."
-#: ../../Zotlabs/Module/Import.php:95 ../../Zotlabs/Module/Import_items.php:66
-msgid "Unable to download data from old server"
-msgstr "No se han podido descargar datos de su antiguo servidor"
+#: ../../Zotlabs/Module/Connedit.php:104
+msgid "Could not locate selected profile."
+msgstr "No se ha podido localizar el perfil seleccionado."
-#: ../../Zotlabs/Module/Import.php:101
-#: ../../Zotlabs/Module/Import_items.php:72
-msgid "Imported file is empty."
-msgstr "El fichero importado está vacío."
+#: ../../Zotlabs/Module/Connedit.php:256
+msgid "Connection updated."
+msgstr "Conexión actualizada."
-#: ../../Zotlabs/Module/Import.php:123
-#: ../../Zotlabs/Module/Import_items.php:88
+#: ../../Zotlabs/Module/Connedit.php:258
+msgid "Failed to update connection record."
+msgstr "Error al actualizar el registro de la conexión."
+
+#: ../../Zotlabs/Module/Connedit.php:308
+msgid "is now connected to"
+msgstr "ahora está conectado/a"
+
+#: ../../Zotlabs/Module/Connedit.php:440
+msgid "Could not access address book record."
+msgstr "No se pudo acceder al registro en su libreta de direcciones."
+
+#: ../../Zotlabs/Module/Connedit.php:460
+msgid "Refresh failed - channel is currently unavailable."
+msgstr "Recarga fallida - no se puede encontrar el canal en este momento."
+
+#: ../../Zotlabs/Module/Connedit.php:475 ../../Zotlabs/Module/Connedit.php:484
+#: ../../Zotlabs/Module/Connedit.php:493 ../../Zotlabs/Module/Connedit.php:502
+#: ../../Zotlabs/Module/Connedit.php:515
+msgid "Unable to set address book parameters."
+msgstr "No ha sido posible establecer los parámetros de la libreta de direcciones."
+
+#: ../../Zotlabs/Module/Connedit.php:538
+msgid "Connection has been removed."
+msgstr "La conexión ha sido eliminada."
+
+#: ../../Zotlabs/Module/Connedit.php:554 ../../Zotlabs/Lib/Apps.php:221
+#: ../../include/nav.php:89 ../../include/conversation.php:953
+msgid "View Profile"
+msgstr "Ver el perfil"
+
+#: ../../Zotlabs/Module/Connedit.php:557
#, php-format
-msgid "Warning: Database versions differ by %1$d updates."
-msgstr "Atención: Las versiones de la base de datos difieren en %1$d actualizaciones."
+msgid "View %s's profile"
+msgstr "Ver el perfil de %s"
-#: ../../Zotlabs/Module/Import.php:153 ../../include/import.php:107
-msgid "Cloned channel not found. Import failed."
-msgstr "No se ha podido importar el canal porque el canal clonado no se ha encontrado."
+#: ../../Zotlabs/Module/Connedit.php:561
+msgid "Refresh Permissions"
+msgstr "Recargar los permisos"
-#: ../../Zotlabs/Module/Import.php:163
-msgid "No channel. Import failed."
-msgstr "No hay canal. La importación ha fallado"
+#: ../../Zotlabs/Module/Connedit.php:564
+msgid "Fetch updated permissions"
+msgstr "Obtener los permisos actualizados"
-#: ../../Zotlabs/Module/Import.php:520
-#: ../../include/Import/import_diaspora.php:142
-msgid "Import completed."
-msgstr "Importación completada."
+#: ../../Zotlabs/Module/Connedit.php:568
+msgid "Recent Activity"
+msgstr "Actividad reciente"
-#: ../../Zotlabs/Module/Import.php:542
-msgid "You must be logged in to use this feature."
-msgstr "Debe estar registrado para poder usar esta funcionalidad."
+#: ../../Zotlabs/Module/Connedit.php:571
+msgid "View recent posts and comments"
+msgstr "Ver publicaciones y comentarios recientes"
-#: ../../Zotlabs/Module/Import.php:547
-msgid "Import Channel"
-msgstr "Importar canal"
+#: ../../Zotlabs/Module/Connedit.php:578
+msgid "Block (or Unblock) all communications with this connection"
+msgstr "Bloquear (o desbloquear) todas las comunicaciones con esta conexión"
-#: ../../Zotlabs/Module/Import.php:548
-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/Connedit.php:579
+msgid "This connection is blocked!"
+msgstr "¡Esta conexión está bloqueada!"
-#: ../../Zotlabs/Module/Import.php:549
-#: ../../Zotlabs/Module/Import_items.php:121
-msgid "File to Upload"
-msgstr "Fichero para subir"
+#: ../../Zotlabs/Module/Connedit.php:583
+msgid "Unignore"
+msgstr "Dejar de ignorar"
-#: ../../Zotlabs/Module/Import.php:550
-msgid "Or provide the old server/hub details"
-msgstr "O proporcione los detalles de su antiguo servidor/hub"
+#: ../../Zotlabs/Module/Connedit.php:586
+msgid "Ignore (or Unignore) all inbound communications from this connection"
+msgstr "Ignorar (o dejar de ignorar) todas las comunicaciones entrantes de esta conexión"
-#: ../../Zotlabs/Module/Import.php:551
-msgid "Your old identity address (xyz@example.com)"
-msgstr "Su identidad en el antiguo servidor (canal@ejemplo.com)"
+#: ../../Zotlabs/Module/Connedit.php:587
+msgid "This connection is ignored!"
+msgstr "¡Esta conexión es ignorada!"
-#: ../../Zotlabs/Module/Import.php:552
-msgid "Your old login email address"
-msgstr "Su antigua dirección de correo electrónico"
+#: ../../Zotlabs/Module/Connedit.php:591
+msgid "Unarchive"
+msgstr "Desarchivar"
-#: ../../Zotlabs/Module/Import.php:553
-msgid "Your old login password"
-msgstr "Su antigua contraseña"
+#: ../../Zotlabs/Module/Connedit.php:591
+msgid "Archive"
+msgstr "Archivar"
-#: ../../Zotlabs/Module/Import.php:554
+#: ../../Zotlabs/Module/Connedit.php:594
msgid ""
-"For either option, please choose whether to make this hub your new primary "
-"address, or whether your old location should continue this role. You will be"
-" able to post from either location, but only one can be marked as the "
-"primary location for files, photos, and media."
-msgstr "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."
+"Archive (or Unarchive) this connection - mark channel dead but keep content"
+msgstr "Archiva (o desarchiva) esta conexión - marca el canal como muerto aunque mantiene sus contenidos"
-#: ../../Zotlabs/Module/Import.php:555
-msgid "Make this hub my primary location"
-msgstr "Convertir este servidor en mi ubicación primaria"
+#: ../../Zotlabs/Module/Connedit.php:595
+msgid "This connection is archived!"
+msgstr "¡Esta conexión esta archivada!"
-#: ../../Zotlabs/Module/Import.php:556
-msgid ""
-"Import existing posts if possible (experimental - limited by available "
-"memory"
-msgstr "Importar el contenido publicado si es posible (experimental - limitado por la memoria disponible"
+#: ../../Zotlabs/Module/Connedit.php:599
+msgid "Unhide"
+msgstr "Mostrar"
-#: ../../Zotlabs/Module/Import.php:557
-msgid ""
-"This process may take several minutes to complete. Please submit the form "
-"only once and leave this page open until finished."
-msgstr "Este proceso puede tardar varios minutos en completarse. Por favor envíe el formulario una sola vez y mantenga esta página abierta hasta que termine."
+#: ../../Zotlabs/Module/Connedit.php:599
+msgid "Hide"
+msgstr "Ocultar"
-#: ../../Zotlabs/Module/Mail.php:38
-msgid "Unable to lookup recipient."
-msgstr "No se puede asociar a un destinatario."
+#: ../../Zotlabs/Module/Connedit.php:602
+msgid "Hide or Unhide this connection from your other connections"
+msgstr "Ocultar o mostrar esta conexión a sus otras conexiones"
-#: ../../Zotlabs/Module/Mail.php:45
-msgid "Unable to communicate with requested channel."
-msgstr "No se puede establecer la comunicación con el canal solicitado."
+#: ../../Zotlabs/Module/Connedit.php:603
+msgid "This connection is hidden!"
+msgstr "¡Esta conexión está oculta!"
-#: ../../Zotlabs/Module/Mail.php:52
-msgid "Cannot verify requested channel."
-msgstr "No se puede verificar el canal solicitado."
+#: ../../Zotlabs/Module/Connedit.php:610
+msgid "Delete this connection"
+msgstr "Eliminar esta conexión"
-#: ../../Zotlabs/Module/Mail.php:70
-msgid "Selected channel has private message restrictions. Send failed."
-msgstr "El canal seleccionado tiene restricciones sobre los mensajes privados. El envío falló."
+#: ../../Zotlabs/Module/Connedit.php:625 ../../include/widgets.php:529
+msgid "Me"
+msgstr "Yo"
-#: ../../Zotlabs/Module/Mail.php:135
-msgid "Messages"
-msgstr "Mensajes"
+#: ../../Zotlabs/Module/Connedit.php:626 ../../include/widgets.php:530
+msgid "Family"
+msgstr "Familia"
-#: ../../Zotlabs/Module/Mail.php:170
-msgid "Message recalled."
-msgstr "Mensaje revocado."
+#: ../../Zotlabs/Module/Connedit.php:627
+#: ../../Zotlabs/Module/Settings/Channel.php:61
+#: ../../Zotlabs/Module/Settings/Channel.php:65
+#: ../../Zotlabs/Module/Settings/Channel.php:66
+#: ../../Zotlabs/Module/Settings/Channel.php:69
+#: ../../Zotlabs/Module/Settings/Channel.php:80
+#: ../../include/selectors.php:123 ../../include/channel.php:402
+#: ../../include/channel.php:403 ../../include/channel.php:410
+#: ../../include/widgets.php:531
+msgid "Friends"
+msgstr "Amigos/as"
-#: ../../Zotlabs/Module/Mail.php:183
-msgid "Conversation removed."
-msgstr "Conversación eliminada."
+#: ../../Zotlabs/Module/Connedit.php:628 ../../include/widgets.php:532
+msgid "Acquaintances"
+msgstr "Conocidos/as"
-#: ../../Zotlabs/Module/Mail.php:197 ../../Zotlabs/Module/Mail.php:306
-#: ../../Zotlabs/Module/Chat.php:205 ../../include/conversation.php:1186
-msgid "Please enter a link URL:"
-msgstr "Por favor, introduzca la dirección del enlace:"
+#: ../../Zotlabs/Module/Connedit.php:686
+msgid "Approve this connection"
+msgstr "Aprobar esta conexión"
-#: ../../Zotlabs/Module/Mail.php:198 ../../Zotlabs/Module/Mail.php:307
-msgid "Expires YYYY-MM-DD HH:MM"
-msgstr "Caduca YYYY-MM-DD HH:MM"
+#: ../../Zotlabs/Module/Connedit.php:686
+msgid "Accept connection to allow communication"
+msgstr "Aceptar la conexión para permitir la comunicación"
-#: ../../Zotlabs/Module/Mail.php:226
-msgid "Requested channel is not in this network"
-msgstr "El canal solicitado no existe en esta red"
+#: ../../Zotlabs/Module/Connedit.php:691
+msgid "Set Affinity"
+msgstr "Ajustar la afinidad"
-#: ../../Zotlabs/Module/Mail.php:234
-msgid "Send Private Message"
-msgstr "Enviar un mensaje privado"
+#: ../../Zotlabs/Module/Connedit.php:694
+msgid "Set Profile"
+msgstr "Ajustar el perfil"
-#: ../../Zotlabs/Module/Mail.php:235 ../../Zotlabs/Module/Mail.php:360
-msgid "To:"
-msgstr "Para:"
+#: ../../Zotlabs/Module/Connedit.php:697
+msgid "Set Affinity & Profile"
+msgstr "Ajustar la afinidad y el perfil"
-#: ../../Zotlabs/Module/Mail.php:238 ../../Zotlabs/Module/Mail.php:362
-msgid "Subject:"
-msgstr "Asunto:"
+#: ../../Zotlabs/Module/Connedit.php:746
+msgid "none"
+msgstr "-"
-#: ../../Zotlabs/Module/Mail.php:241 ../../Zotlabs/Module/Invite.php:135
-msgid "Your message:"
-msgstr "Su mensaje:"
+#: ../../Zotlabs/Module/Connedit.php:750 ../../include/widgets.php:656
+msgid "Connection Default Permissions"
+msgstr "Permisos predeterminados de conexión"
-#: ../../Zotlabs/Module/Mail.php:243 ../../Zotlabs/Module/Mail.php:368
-#: ../../include/conversation.php:1238
-msgid "Attach file"
-msgstr "Adjuntar fichero"
+#: ../../Zotlabs/Module/Connedit.php:750 ../../include/items.php:3993
+#, php-format
+msgid "Connection: %s"
+msgstr "Conexión: %s"
-#: ../../Zotlabs/Module/Mail.php:244 ../../Zotlabs/Module/Mail.php:369
-#: ../../Zotlabs/Module/Editblock.php:111
-#: ../../Zotlabs/Module/Editwebpage.php:146 ../../Zotlabs/Module/Chat.php:207
-#: ../../include/conversation.php:1151
-msgid "Insert web link"
-msgstr "Insertar enlace web"
+#: ../../Zotlabs/Module/Connedit.php:751
+msgid "Apply these permissions automatically"
+msgstr "Aplicar estos permisos automaticamente"
-#: ../../Zotlabs/Module/Mail.php:245
-msgid "Send"
-msgstr "Enviar"
+#: ../../Zotlabs/Module/Connedit.php:751
+msgid "Connection requests will be approved without your interaction"
+msgstr "Las solicitudes de conexión serán aprobadas sin su intervención"
-#: ../../Zotlabs/Module/Mail.php:248 ../../Zotlabs/Module/Mail.php:373
-#: ../../include/conversation.php:1281
-msgid "Set expiration date"
-msgstr "Configurar fecha de caducidad"
+#: ../../Zotlabs/Module/Connedit.php:753
+msgid "This connection's primary address is"
+msgstr "La dirección primaria de esta conexión es"
-#: ../../Zotlabs/Module/Mail.php:250 ../../Zotlabs/Module/Mail.php:375
-#: ../../Zotlabs/Module/Chat.php:206 ../../Zotlabs/Lib/ThreadItem.php:723
-#: ../../include/conversation.php:1286
-msgid "Encrypt text"
-msgstr "Cifrar texto"
+#: ../../Zotlabs/Module/Connedit.php:754
+msgid "Available locations:"
+msgstr "Ubicaciones disponibles:"
-#: ../../Zotlabs/Module/Mail.php:332
-msgid "Delete message"
-msgstr "Borrar mensaje"
+#: ../../Zotlabs/Module/Connedit.php:758
+msgid ""
+"The permissions indicated on this page will be applied to all new "
+"connections."
+msgstr "Los permisos indicados en esta página serán aplicados en todas las nuevas conexiones."
-#: ../../Zotlabs/Module/Mail.php:333
-msgid "Delivery report"
-msgstr "Informe de transmisión"
+#: ../../Zotlabs/Module/Connedit.php:759
+msgid "Connection Tools"
+msgstr "Gestión de las conexiones"
-#: ../../Zotlabs/Module/Mail.php:334
-msgid "Recall message"
-msgstr "Revocar el mensaje"
+#: ../../Zotlabs/Module/Connedit.php:761
+msgid "Slide to adjust your degree of friendship"
+msgstr "Deslizar para ajustar el grado de amistad"
-#: ../../Zotlabs/Module/Mail.php:336
-msgid "Message has been recalled."
-msgstr "El mensaje ha sido revocado."
+#: ../../Zotlabs/Module/Connedit.php:762 ../../Zotlabs/Module/Rate.php:155
+#: ../../include/js_strings.php:20
+msgid "Rating"
+msgstr "Valoración"
-#: ../../Zotlabs/Module/Mail.php:353
-msgid "Delete Conversation"
-msgstr "Eliminar conversación"
+#: ../../Zotlabs/Module/Connedit.php:763
+msgid "Slide to adjust your rating"
+msgstr "Deslizar para ajustar su valoración"
-#: ../../Zotlabs/Module/Mail.php:355
+#: ../../Zotlabs/Module/Connedit.php:764 ../../Zotlabs/Module/Connedit.php:769
+msgid "Optionally explain your rating"
+msgstr "Opcionalmente, puede explicar su valoración"
+
+#: ../../Zotlabs/Module/Connedit.php:766
+msgid "Custom Filter"
+msgstr "Filtro personalizado"
+
+#: ../../Zotlabs/Module/Connedit.php:767
+msgid "Only import posts with this text"
+msgstr "Importar solo entradas que contengan este texto"
+
+#: ../../Zotlabs/Module/Connedit.php:767 ../../Zotlabs/Module/Connedit.php:768
msgid ""
-"No secure communications available. You <strong>may</strong> be able to "
-"respond from the sender's profile page."
-msgstr "Comunicación segura no disponible. Pero <strong>puede</strong> responder desde la página del perfil del remitente."
+"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/Mail.php:359
-msgid "Send Reply"
-msgstr "Responder"
+#: ../../Zotlabs/Module/Connedit.php:768
+msgid "Do not import posts with this text"
+msgstr "No importar entradas que contengan este texto"
-#: ../../Zotlabs/Module/Mail.php:364
+#: ../../Zotlabs/Module/Connedit.php:770
+msgid "This information is public!"
+msgstr "¡Esta información es pública!"
+
+#: ../../Zotlabs/Module/Connedit.php:775
+msgid "Connection Pending Approval"
+msgstr "Conexión pendiente de aprobación"
+
+#: ../../Zotlabs/Module/Connedit.php:778
+#: ../../Zotlabs/Module/Settings/Tokens.php:163
+msgid "inherited"
+msgstr "heredado"
+
+#: ../../Zotlabs/Module/Connedit.php:780
#, php-format
-msgid "Your message for %s (%s):"
-msgstr "Su mensaje para %s (%s):"
+msgid ""
+"Please choose the profile you would like to display to %s when viewing your "
+"profile securely."
+msgstr "Por favor, escoja el perfil que quiere mostrar a %s cuando esté viendo su perfil de forma segura."
-#: ../../Zotlabs/Module/Dirsearch.php:25 ../../Zotlabs/Module/Regdir.php:49
-msgid "This site is not a directory server"
-msgstr "Este sitio no es un servidor de directorio"
+#: ../../Zotlabs/Module/Connedit.php:782
+#: ../../Zotlabs/Module/Settings/Tokens.php:160
+msgid "Their Settings"
+msgstr "Sus ajustes"
-#: ../../Zotlabs/Module/Dirsearch.php:33
-msgid "This directory server requires an access token"
-msgstr "El servidor de este directorio necesita un \"token\" de acceso"
+#: ../../Zotlabs/Module/Connedit.php:783
+#: ../../Zotlabs/Module/Settings/Tokens.php:161
+msgid "My Settings"
+msgstr "Mis ajustes"
+
+#: ../../Zotlabs/Module/Connedit.php:785
+#: ../../Zotlabs/Module/Settings/Tokens.php:165
+msgid "Individual Permissions"
+msgstr "Permisos individuales"
+
+#: ../../Zotlabs/Module/Connedit.php:786
+#: ../../Zotlabs/Module/Settings/Tokens.php:166
+msgid ""
+"Some permissions may be inherited from your channel's <a "
+"href=\"settings\"><strong>privacy settings</strong></a>, which have higher "
+"priority than individual settings. You can <strong>not</strong> change those"
+" settings here."
+msgstr "Algunos permisos pueden ser heredados de los <a href=\"settings\"><strong>ajustes de privacidad</strong></a> de sus canales, los cuales tienen una prioridad más alta que los ajustes individuales. <strong>No</strong> puede cambiar estos ajustes aquí."
+
+#: ../../Zotlabs/Module/Connedit.php:787
+msgid ""
+"Some permissions may be inherited from your channel's <a "
+"href=\"settings\"><strong>privacy settings</strong></a>, which have higher "
+"priority than individual settings. You can change those settings here but "
+"they wont have any impact unless the inherited setting changes."
+msgstr "Algunos permisos pueden ser heredados de los <a href=\"settings\"><strong>ajustes de privacidad</strong></a> de sus canales, los cuales tienen una prioridad más alta que los ajustes individuales. Puede cambiar estos ajustes aquí, pero no tendrán ningún consecuencia hasta que cambie los ajustes heredados."
+
+#: ../../Zotlabs/Module/Connedit.php:788
+msgid "Last update:"
+msgstr "Última actualización:"
#: ../../Zotlabs/Module/Editblock.php:79 ../../Zotlabs/Module/Editblock.php:95
#: ../../Zotlabs/Module/Editlayout.php:79
@@ -1767,7 +2469,7 @@ msgstr "Elemento no encontrado"
msgid "Block Name"
msgstr "Nombre del bloque"
-#: ../../Zotlabs/Module/Editblock.php:124 ../../include/conversation.php:1254
+#: ../../Zotlabs/Module/Editblock.php:124 ../../include/conversation.php:1260
msgid "Title (optional)"
msgstr "Título (opcional)"
@@ -1797,67 +2499,118 @@ msgstr "Enlace de la página"
msgid "Edit Webpage"
msgstr "Editar la página web"
-#: ../../Zotlabs/Module/Chat.php:181
-msgid "Room not found"
-msgstr "Sala no encontrada"
+#: ../../Zotlabs/Module/Menu.php:49
+msgid "Unable to update menu."
+msgstr "No se puede actualizar el menú."
-#: ../../Zotlabs/Module/Chat.php:197
-msgid "Leave Room"
-msgstr "Abandonar la sala"
+#: ../../Zotlabs/Module/Menu.php:60
+msgid "Unable to create menu."
+msgstr "No se puede crear el menú."
-#: ../../Zotlabs/Module/Chat.php:198
-msgid "Delete Room"
-msgstr "Eliminar esta sala"
+#: ../../Zotlabs/Module/Menu.php:98 ../../Zotlabs/Module/Menu.php:110
+msgid "Menu Name"
+msgstr "Nombre del menú"
-#: ../../Zotlabs/Module/Chat.php:199
-msgid "I am away right now"
-msgstr "Estoy ausente momentáneamente"
+#: ../../Zotlabs/Module/Menu.php:98
+msgid "Unique name (not visible on webpage) - required"
+msgstr "Nombre único (no será visible en la página web) - requerido"
-#: ../../Zotlabs/Module/Chat.php:200
-msgid "I am online"
-msgstr "Estoy conectado/a"
+#: ../../Zotlabs/Module/Menu.php:99 ../../Zotlabs/Module/Menu.php:111
+msgid "Menu Title"
+msgstr "Título del menú"
-#: ../../Zotlabs/Module/Chat.php:202
-msgid "Bookmark this room"
-msgstr "Añadir esta sala a Marcadores"
+#: ../../Zotlabs/Module/Menu.php:99
+msgid "Visible on webpage - leave empty for no title"
+msgstr "Visible en la página web - no ponga nada si no desea un título"
-#: ../../Zotlabs/Module/Chat.php:218
-msgid "Feature disabled."
-msgstr "Funcionalidad deshabilitada."
+#: ../../Zotlabs/Module/Menu.php:100
+msgid "Allow Bookmarks"
+msgstr "Permitir marcadores"
-#: ../../Zotlabs/Module/Chat.php:231
-msgid "New Chatroom"
-msgstr "Nueva sala de chat"
+#: ../../Zotlabs/Module/Menu.php:100 ../../Zotlabs/Module/Menu.php:157
+msgid "Menu may be used to store saved bookmarks"
+msgstr "El menú se puede usar para guardar marcadores"
-#: ../../Zotlabs/Module/Chat.php:232
-msgid "Chatroom name"
-msgstr "Nombre de la sala de chat"
+#: ../../Zotlabs/Module/Menu.php:101 ../../Zotlabs/Module/Menu.php:159
+msgid "Submit and proceed"
+msgstr "Enviar y proceder"
-#: ../../Zotlabs/Module/Chat.php:233
-msgid "Expiration of chats (minutes)"
-msgstr "Caducidad de los mensajes en los chats (en minutos)"
+#: ../../Zotlabs/Module/Menu.php:107 ../../include/text.php:2309
+msgid "Menus"
+msgstr "Menús"
-#: ../../Zotlabs/Module/Chat.php:249
-#, php-format
-msgid "%1$s's Chatrooms"
-msgstr "Salas de chat de %1$s"
+#: ../../Zotlabs/Module/Menu.php:113 ../../Zotlabs/Module/Locs.php:120
+msgid "Drop"
+msgstr "Eliminar"
-#: ../../Zotlabs/Module/Chat.php:254
-msgid "No chatrooms available"
-msgstr "No hay salas de chat disponibles"
+#: ../../Zotlabs/Module/Menu.php:114 ../../Zotlabs/Module/Blocks.php:157
+#: ../../Zotlabs/Module/Layouts.php:190 ../../Zotlabs/Module/Webpages.php:251
+#: ../../include/page_widgets.php:47
+msgid "Created"
+msgstr "Creado"
-#: ../../Zotlabs/Module/Chat.php:255 ../../Zotlabs/Module/Profiles.php:778
-#: ../../Zotlabs/Module/Manage.php:143
-msgid "Create New"
-msgstr "Crear"
+#: ../../Zotlabs/Module/Menu.php:115 ../../Zotlabs/Module/Blocks.php:158
+#: ../../Zotlabs/Module/Layouts.php:191 ../../Zotlabs/Module/Webpages.php:252
+#: ../../include/page_widgets.php:48
+msgid "Edited"
+msgstr "Editado"
-#: ../../Zotlabs/Module/Chat.php:258
-msgid "Expiration"
-msgstr "Caducidad"
+#: ../../Zotlabs/Module/Menu.php:117
+msgid "Bookmarks allowed"
+msgstr "Marcadores permitidos"
-#: ../../Zotlabs/Module/Chat.php:259
-msgid "min"
-msgstr "min"
+#: ../../Zotlabs/Module/Menu.php:119
+msgid "Delete this menu"
+msgstr "Borrar este menú"
+
+#: ../../Zotlabs/Module/Menu.php:120 ../../Zotlabs/Module/Menu.php:154
+msgid "Edit menu contents"
+msgstr "Editar los contenidos del menú"
+
+#: ../../Zotlabs/Module/Menu.php:121
+msgid "Edit this menu"
+msgstr "Modificar este menú"
+
+#: ../../Zotlabs/Module/Menu.php:136
+msgid "Menu could not be deleted."
+msgstr "El menú no puede ser eliminado."
+
+#: ../../Zotlabs/Module/Menu.php:144 ../../Zotlabs/Module/Mitem.php:28
+msgid "Menu not found."
+msgstr "Menú no encontrado"
+
+#: ../../Zotlabs/Module/Menu.php:149
+msgid "Edit Menu"
+msgstr "Modificar el menú"
+
+#: ../../Zotlabs/Module/Menu.php:153
+msgid "Add or remove entries to this menu"
+msgstr "Añadir o quitar entradas en este menú"
+
+#: ../../Zotlabs/Module/Menu.php:155
+msgid "Menu name"
+msgstr "Nombre del menú"
+
+#: ../../Zotlabs/Module/Menu.php:155
+msgid "Must be unique, only seen by you"
+msgstr "Debe ser único, solo será visible para usted"
+
+#: ../../Zotlabs/Module/Menu.php:156
+msgid "Menu title"
+msgstr "Título del menú"
+
+#: ../../Zotlabs/Module/Menu.php:156
+msgid "Menu title as seen by others"
+msgstr "El título del menú tal como será visto por los demás"
+
+#: ../../Zotlabs/Module/Menu.php:157
+msgid "Allow bookmarks"
+msgstr "Permitir marcadores"
+
+#: ../../Zotlabs/Module/Menu.php:166 ../../Zotlabs/Module/Mitem.php:120
+#: ../../Zotlabs/Module/Xchan.php:41
+msgid "Not found."
+msgstr "No encontrado."
#: ../../Zotlabs/Module/Appman.php:37 ../../Zotlabs/Module/Appman.php:53
msgid "App installed."
@@ -1886,7 +2639,7 @@ msgstr "Nombre de la aplicación"
#: ../../Zotlabs/Module/Appman.php:115 ../../Zotlabs/Module/Appman.php:116
#: ../../Zotlabs/Module/Profiles.php:709 ../../Zotlabs/Module/Profiles.php:713
#: ../../Zotlabs/Module/Events.php:452 ../../Zotlabs/Module/Events.php:457
-#: ../../include/datetime.php:245
+#: ../../include/datetime.php:257
msgid "Required"
msgstr "Obligatorio"
@@ -1894,8 +2647,8 @@ msgstr "Obligatorio"
msgid "Location (URL) of app"
msgstr "Dirección (URL) de la aplicación"
-#: ../../Zotlabs/Module/Appman.php:117 ../../Zotlabs/Module/Events.php:465
-#: ../../Zotlabs/Module/Rbmark.php:101
+#: ../../Zotlabs/Module/Appman.php:117 ../../Zotlabs/Module/Rbmark.php:101
+#: ../../Zotlabs/Module/Events.php:465
msgid "Description"
msgstr "Descripción"
@@ -1923,57 +2676,114 @@ msgstr "Precio de la aplicación"
msgid "Location (URL) to purchase app"
msgstr "Dirección (URL) donde adquirir la aplicación"
-#: ../../Zotlabs/Module/Help.php:26
-msgid "Documentation Search"
-msgstr "Búsqueda de Documentación"
+#: ../../Zotlabs/Module/Pubsites.php:24 ../../include/widgets.php:1392
+msgid "Public Hubs"
+msgstr "Servidores públicos"
-#: ../../Zotlabs/Module/Help.php:67 ../../Zotlabs/Module/Help.php:73
-#: ../../Zotlabs/Module/Help.php:79
-msgid "Help:"
-msgstr "Ayuda:"
+#: ../../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."
+msgstr "Los sitios listados permiten el registro público en la red $Projectname. Todos los sitios de la red están vinculados entre sí, por lo que sus miembros, en ninguno de ellos, indican la pertenencia a la red en su conjunto. Algunos sitios pueden requerir suscripción o proporcionar planes de servicio por niveles. Los mismos hubs <strong>pueden</strong> proporcionar detalles adicionales."
-#: ../../Zotlabs/Module/Help.php:85 ../../Zotlabs/Module/Help.php:90
-#: ../../Zotlabs/Module/Layouts.php:185 ../../Zotlabs/Lib/Apps.php:225
-#: ../../include/nav.php:163
-msgid "Help"
-msgstr "Ayuda"
+#: ../../Zotlabs/Module/Pubsites.php:33
+msgid "Hub URL"
+msgstr "Dirección del hub"
-#: ../../Zotlabs/Module/Help.php:120
-msgid "$Projectname Documentation"
-msgstr "Documentación de $Projectname"
+#: ../../Zotlabs/Module/Pubsites.php:33
+msgid "Access Type"
+msgstr "Tipo de acceso"
+
+#: ../../Zotlabs/Module/Pubsites.php:33
+msgid "Registration Policy"
+msgstr "Normas de registro"
+
+#: ../../Zotlabs/Module/Pubsites.php:33
+msgid "Stats"
+msgstr "Estadísticas"
+
+#: ../../Zotlabs/Module/Pubsites.php:33
+msgid "Software"
+msgstr "Software"
+
+#: ../../Zotlabs/Module/Pubsites.php:35 ../../Zotlabs/Module/Ratings.php:97
+#: ../../include/conversation.php:958
+msgid "Ratings"
+msgstr "Valoraciones"
+
+#: ../../Zotlabs/Module/Pubsites.php:48
+msgid "Rate"
+msgstr "Valorar"
+
+#: ../../Zotlabs/Module/Pubsites.php:51 ../../Zotlabs/Module/Locs.php:117
+#: ../../Zotlabs/Module/Profiles.php:477 ../../Zotlabs/Module/Profiles.php:698
+#: ../../Zotlabs/Module/Events.php:467 ../../include/js_strings.php:25
+msgid "Location"
+msgstr "Ubicación"
+
+#: ../../Zotlabs/Module/Pubsites.php:59 ../../Zotlabs/Module/Blocks.php:166
+#: ../../Zotlabs/Module/Layouts.php:197 ../../Zotlabs/Module/Webpages.php:246
+#: ../../Zotlabs/Module/Events.php:680 ../../include/page_widgets.php:42
+msgid "View"
+msgstr "Ver"
#: ../../Zotlabs/Module/Attach.php:13
msgid "Item not available."
msgstr "Elemento no disponible"
-#: ../../Zotlabs/Module/Pdledit.php:18
+#: ../../Zotlabs/Module/Api.php:60 ../../Zotlabs/Module/Api.php:81
+msgid "Authorize application connection"
+msgstr "Autorizar una conexión de aplicación"
+
+#: ../../Zotlabs/Module/Api.php:61
+msgid "Return to your app and insert this Security Code:"
+msgstr "Volver a su aplicación e introducir este código de seguridad:"
+
+#: ../../Zotlabs/Module/Api.php:71
+msgid "Please login to continue."
+msgstr "Por favor inicie sesión para continuar."
+
+#: ../../Zotlabs/Module/Api.php:83
+msgid ""
+"Do you want to authorize this application to access your posts and contacts,"
+" and/or create new posts for you?"
+msgstr "¿Desea autorizar a esta aplicación a acceder a sus publicaciones y contactos, y/o crear nuevas publicaciones por usted?"
+
+#: ../../Zotlabs/Module/Ffsapi.php:12
+msgid "Share content from Firefox to $Projectname"
+msgstr "Compartir contenido desde Firefox a $Projectname"
+
+#: ../../Zotlabs/Module/Ffsapi.php:15
+msgid "Activate the Firefox $Projectname provider"
+msgstr "Servicio de compartición de Firefox: activar el proveedor $Projectname "
+
+#: ../../Zotlabs/Module/Pdledit.php:21
msgid "Layout updated."
msgstr "Plantilla actualizada."
-#: ../../Zotlabs/Module/Pdledit.php:34 ../../Zotlabs/Module/Pdledit.php:61
+#: ../../Zotlabs/Module/Pdledit.php:34 ../../Zotlabs/Module/Chat.php:218
+msgid "Feature disabled."
+msgstr "Funcionalidad deshabilitada."
+
+#: ../../Zotlabs/Module/Pdledit.php:42 ../../Zotlabs/Module/Pdledit.php:69
msgid "Edit System Page Description"
msgstr "Editor del Sistema de Descripción de Páginas"
-#: ../../Zotlabs/Module/Pdledit.php:56
+#: ../../Zotlabs/Module/Pdledit.php:64
msgid "Layout not found."
msgstr "Plantilla no encontrada"
-#: ../../Zotlabs/Module/Pdledit.php:62
+#: ../../Zotlabs/Module/Pdledit.php:70
msgid "Module Name:"
msgstr "Nombre del módulo:"
-#: ../../Zotlabs/Module/Pdledit.php:63
+#: ../../Zotlabs/Module/Pdledit.php:71
msgid "Layout Help"
msgstr "Ayuda para el diseño de plantillas de página"
-#: ../../Zotlabs/Module/Ffsapi.php:12
-msgid "Share content from Firefox to $Projectname"
-msgstr "Compartir contenido desde Firefox a $Projectname"
-
-#: ../../Zotlabs/Module/Ffsapi.php:15
-msgid "Activate the Firefox $Projectname provider"
-msgstr "Servicio de compartición de Firefox: activar el proveedor $Projectname "
-
#: ../../Zotlabs/Module/Home.php:74 ../../Zotlabs/Module/Home.php:82
#: ../../Zotlabs/Module/Siteinfo.php:48
msgid "$Projectname"
@@ -2004,6 +2814,13 @@ msgstr "Fichero no encontrado."
msgid "Edit file permissions"
msgstr "Modificar los permisos del fichero"
+#: ../../Zotlabs/Module/Filestorage.php:152
+#: ../../Zotlabs/Module/Photos.php:658 ../../Zotlabs/Module/Photos.php:1047
+#: ../../Zotlabs/Module/Thing.php:313 ../../Zotlabs/Module/Thing.php:363
+#: ../../Zotlabs/Module/Chat.php:234 ../../include/acl_selectors.php:179
+msgid "Permissions"
+msgstr "Permisos"
+
#: ../../Zotlabs/Module/Filestorage.php:159
msgid "Set/edit permissions"
msgstr "Establecer/editar los permisos"
@@ -2036,6 +2853,487 @@ msgstr "Mostrar la dirección de este fichero"
msgid "Notify your contacts about this file"
msgstr "Avisar a sus contactos sobre este fichero"
+#: ../../Zotlabs/Module/Connect.php:61 ../../Zotlabs/Module/Connect.php:109
+msgid "Continue"
+msgstr "Continuar"
+
+#: ../../Zotlabs/Module/Connect.php:90
+msgid "Premium Channel Setup"
+msgstr "Configuración del canal premium"
+
+#: ../../Zotlabs/Module/Connect.php:92
+msgid "Enable premium channel connection restrictions"
+msgstr "Habilitar restricciones de conexión del canal premium"
+
+#: ../../Zotlabs/Module/Connect.php:93
+msgid ""
+"Please enter your restrictions or conditions, such as paypal receipt, usage "
+"guidelines, etc."
+msgstr "Por favor introduzca sus restricciones o condiciones, como recibo de paypal, normas de uso, etc."
+
+#: ../../Zotlabs/Module/Connect.php:95 ../../Zotlabs/Module/Connect.php:115
+msgid ""
+"This channel may require additional steps or acknowledgement of the "
+"following conditions prior to connecting:"
+msgstr "Este canal puede requerir antes de conectar unos pasos adicionales o el conocimiento de las siguientes condiciones:"
+
+#: ../../Zotlabs/Module/Connect.php:96
+msgid ""
+"Potential connections will then see the following text before proceeding:"
+msgstr "Las posibles conexiones verán, por tanto, el siguiente texto antes de proceder:"
+
+#: ../../Zotlabs/Module/Connect.php:97 ../../Zotlabs/Module/Connect.php:118
+msgid ""
+"By continuing, I certify that I have complied with any instructions provided"
+" on this page."
+msgstr "Al continuar, certifico que he cumplido con todas las instrucciones proporcionadas en esta página."
+
+#: ../../Zotlabs/Module/Connect.php:106
+msgid "(No specific instructions have been provided by the channel owner.)"
+msgstr "(No ha sido proporcionada ninguna instrucción específica por el propietario del canal.)"
+
+#: ../../Zotlabs/Module/Connect.php:114
+msgid "Restricted or Premium Channel"
+msgstr "Canal premium o restringido"
+
+#: ../../Zotlabs/Module/Manage.php:136
+#: ../../Zotlabs/Module/New_channel.php:121
+#, php-format
+msgid "You have created %1$.0f of %2$.0f allowed channels."
+msgstr "Ha creado %1$.0f de %2$.0f canales permitidos."
+
+#: ../../Zotlabs/Module/Manage.php:143
+msgid "Create a new channel"
+msgstr "Crear un nuevo canal"
+
+#: ../../Zotlabs/Module/Manage.php:143 ../../Zotlabs/Module/Profiles.php:778
+#: ../../Zotlabs/Module/Chat.php:255
+msgid "Create New"
+msgstr "Crear"
+
+#: ../../Zotlabs/Module/Manage.php:164 ../../Zotlabs/Lib/Apps.php:214
+#: ../../include/nav.php:211
+msgid "Channel Manager"
+msgstr "Administración de canales"
+
+#: ../../Zotlabs/Module/Manage.php:165
+msgid "Current Channel"
+msgstr "Canal actual"
+
+#: ../../Zotlabs/Module/Manage.php:167
+msgid "Switch to one of your channels by selecting it."
+msgstr "Cambiar a uno de sus canales seleccionándolo."
+
+#: ../../Zotlabs/Module/Manage.php:168
+msgid "Default Channel"
+msgstr "Canal principal"
+
+#: ../../Zotlabs/Module/Manage.php:169
+msgid "Make Default"
+msgstr "Convertir en predeterminado"
+
+#: ../../Zotlabs/Module/Manage.php:172
+#, php-format
+msgid "%d new messages"
+msgstr "%d mensajes nuevos"
+
+#: ../../Zotlabs/Module/Manage.php:173
+#, php-format
+msgid "%d new introductions"
+msgstr "%d nuevas isolicitudes de conexión"
+
+#: ../../Zotlabs/Module/Manage.php:175
+msgid "Delegated Channel"
+msgstr "Canal delegado"
+
+#: ../../Zotlabs/Module/Group.php:24
+msgid "Privacy group created."
+msgstr "El grupo de canales ha sido creado."
+
+#: ../../Zotlabs/Module/Group.php:30
+msgid "Could not create privacy group."
+msgstr "No se puede crear el grupo de canales"
+
+#: ../../Zotlabs/Module/Group.php:42 ../../Zotlabs/Module/Group.php:141
+#: ../../include/items.php:3960
+msgid "Privacy group not found."
+msgstr "Grupo de canales no encontrado."
+
+#: ../../Zotlabs/Module/Group.php:58
+msgid "Privacy group updated."
+msgstr "Grupo de canales actualizado."
+
+#: ../../Zotlabs/Module/Group.php:90
+msgid "Create a group of channels."
+msgstr "Crear un grupo de canales."
+
+#: ../../Zotlabs/Module/Group.php:91 ../../Zotlabs/Module/Group.php:184
+msgid "Privacy group name: "
+msgstr "Nombre del grupo de canales:"
+
+#: ../../Zotlabs/Module/Group.php:93 ../../Zotlabs/Module/Group.php:187
+msgid "Members are visible to other channels"
+msgstr "Los miembros son visibles para otros canales"
+
+#: ../../Zotlabs/Module/Group.php:111
+msgid "Privacy group removed."
+msgstr "Grupo de canales eliminado."
+
+#: ../../Zotlabs/Module/Group.php:113
+msgid "Unable to remove privacy group."
+msgstr "No se puede eliminar el grupo de canales."
+
+#: ../../Zotlabs/Module/Group.php:183
+msgid "Privacy group editor"
+msgstr "Editor de grupos de canales"
+
+#: ../../Zotlabs/Module/Group.php:197
+msgid "Members"
+msgstr "Miembros"
+
+#: ../../Zotlabs/Module/Group.php:199
+msgid "All Connected Channels"
+msgstr "Todos los canales conectados"
+
+#: ../../Zotlabs/Module/Group.php:231
+msgid "Click on a channel to add or remove."
+msgstr "Haga clic en un canal para agregarlo o quitarlo."
+
+#: ../../Zotlabs/Module/Dreport.php:44
+msgid "Invalid message"
+msgstr "Mensaje no válido"
+
+#: ../../Zotlabs/Module/Dreport.php:76
+msgid "no results"
+msgstr "sin resultados"
+
+#: ../../Zotlabs/Module/Dreport.php:91
+msgid "channel sync processed"
+msgstr "se ha realizado la sincronización del canal"
+
+#: ../../Zotlabs/Module/Dreport.php:95
+msgid "queued"
+msgstr "encolado"
+
+#: ../../Zotlabs/Module/Dreport.php:99
+msgid "posted"
+msgstr "enviado"
+
+#: ../../Zotlabs/Module/Dreport.php:103
+msgid "accepted for delivery"
+msgstr "aceptado para el envío"
+
+#: ../../Zotlabs/Module/Dreport.php:107
+msgid "updated"
+msgstr "actualizado"
+
+#: ../../Zotlabs/Module/Dreport.php:110
+msgid "update ignored"
+msgstr "actualización ignorada"
+
+#: ../../Zotlabs/Module/Dreport.php:113
+msgid "permission denied"
+msgstr "permiso denegado"
+
+#: ../../Zotlabs/Module/Dreport.php:117
+msgid "recipient not found"
+msgstr "destinatario no encontrado"
+
+#: ../../Zotlabs/Module/Dreport.php:120
+msgid "mail recalled"
+msgstr "mensaje de correo revocado"
+
+#: ../../Zotlabs/Module/Dreport.php:123
+msgid "duplicate mail received"
+msgstr "se ha recibido mensaje duplicado"
+
+#: ../../Zotlabs/Module/Dreport.php:126
+msgid "mail delivered"
+msgstr "correo enviado"
+
+#: ../../Zotlabs/Module/Dreport.php:146
+#, php-format
+msgid "Delivery report for %1$s"
+msgstr "Informe de entrega para %1$s"
+
+#: ../../Zotlabs/Module/Dreport.php:149
+msgid "Options"
+msgstr "Opciones"
+
+#: ../../Zotlabs/Module/Dreport.php:150
+msgid "Redeliver"
+msgstr "Volver a enviar"
+
+#: ../../Zotlabs/Module/Impel.php:41 ../../include/bbcode.php:192
+msgid "webpage"
+msgstr "página web"
+
+#: ../../Zotlabs/Module/Impel.php:46 ../../include/bbcode.php:198
+msgid "block"
+msgstr "bloque"
+
+#: ../../Zotlabs/Module/Impel.php:51 ../../include/bbcode.php:195
+msgid "layout"
+msgstr "plantilla"
+
+#: ../../Zotlabs/Module/Impel.php:58 ../../include/bbcode.php:201
+msgid "menu"
+msgstr "menú"
+
+#: ../../Zotlabs/Module/Impel.php:191
+#, php-format
+msgid "%s element installed"
+msgstr "%s elemento instalado"
+
+#: ../../Zotlabs/Module/Impel.php:194
+#, php-format
+msgid "%s element installation failed"
+msgstr "Elemento con instalación fallida: %s"
+
+#: ../../Zotlabs/Module/Import_items.php:104
+msgid "Import completed"
+msgstr "Importación completada"
+
+#: ../../Zotlabs/Module/Import_items.php:119
+msgid "Import Items"
+msgstr "Importar elementos"
+
+#: ../../Zotlabs/Module/Import_items.php:120
+msgid ""
+"Use this form to import existing posts and content from an export file."
+msgstr "Utilice este formulario para importar entradas existentes y contenido desde un archivo de exportación."
+
+#: ../../Zotlabs/Module/Invite.php:29
+msgid "Total invitation limit exceeded."
+msgstr "Se ha superado el límite máximo de invitaciones."
+
+#: ../../Zotlabs/Module/Invite.php:53
+#, 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:63
+msgid "Please join us on $Projectname"
+msgstr "Únase a nosotros en $Projectname"
+
+#: ../../Zotlabs/Module/Invite.php:74
+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:79
+#, php-format
+msgid "%s : Message delivery failed."
+msgstr "%s : Falló el envío del mensaje."
+
+#: ../../Zotlabs/Module/Invite.php:83
+#, php-format
+msgid "%d message sent."
+msgid_plural "%d messages sent."
+msgstr[0] "%d mensajes enviados."
+msgstr[1] "%d mensajes enviados."
+
+#: ../../Zotlabs/Module/Invite.php:102
+msgid "You have no more invitations available"
+msgstr "No tiene más invitaciones disponibles"
+
+#: ../../Zotlabs/Module/Invite.php:133
+msgid "Send invitations"
+msgstr "Enviar invitaciones"
+
+#: ../../Zotlabs/Module/Invite.php:134
+msgid "Enter email addresses, one per line:"
+msgstr "Introduzca las direcciones de correo electrónico, una por línea:"
+
+#: ../../Zotlabs/Module/Invite.php:136
+msgid "Please join my community on $Projectname."
+msgstr "Por favor, únase a mi comunidad en $Projectname."
+
+#: ../../Zotlabs/Module/Invite.php:138
+msgid "You will need to supply this invitation code:"
+msgstr "Tendrá que suministrar este código de invitación:"
+
+#: ../../Zotlabs/Module/Invite.php:139
+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:141
+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:142
+msgid "or visit"
+msgstr "o visitar"
+
+#: ../../Zotlabs/Module/Invite.php:144
+msgid "3. Click [Connect]"
+msgstr "3. Pulse [conectar]"
+
+#: ../../Zotlabs/Module/Locs.php:25 ../../Zotlabs/Module/Locs.php:54
+msgid "Location not found."
+msgstr "Dirección no encontrada."
+
+#: ../../Zotlabs/Module/Locs.php:62
+msgid "Location lookup failed."
+msgstr "Ha fallado la búsqueda de la dirección."
+
+#: ../../Zotlabs/Module/Locs.php:66
+msgid ""
+"Please select another location to become primary before removing the primary"
+" location."
+msgstr "Por favor, seleccione una copia de su canal (un clon) para convertirlo en primario antes de eliminar su canal principal."
+
+#: ../../Zotlabs/Module/Locs.php:95
+msgid "Syncing locations"
+msgstr "Sincronizando ubicaciones"
+
+#: ../../Zotlabs/Module/Locs.php:105
+msgid "No locations found."
+msgstr "No encontrada ninguna dirección."
+
+#: ../../Zotlabs/Module/Locs.php:116
+msgid "Manage Channel Locations"
+msgstr "Gestionar las direcciones del canal"
+
+#: ../../Zotlabs/Module/Locs.php:119
+msgid "Primary"
+msgstr "Primario"
+
+#: ../../Zotlabs/Module/Locs.php:122
+msgid "Sync Now"
+msgstr "Sincronizar ahora"
+
+#: ../../Zotlabs/Module/Locs.php:123
+msgid "Please wait several minutes between consecutive operations."
+msgstr "Por favor, espere algunos minutos entre operaciones consecutivas."
+
+#: ../../Zotlabs/Module/Locs.php:124
+msgid ""
+"When possible, drop a location by logging into that website/hub and removing"
+" your channel."
+msgstr "Cuando sea posible, elimine una ubicación iniciando sesión en el sitio web o \"hub\" y borrando su canal."
+
+#: ../../Zotlabs/Module/Locs.php:125
+msgid "Use this form to drop the location if the hub is no longer operating."
+msgstr "Utilice este formulario para eliminar la dirección si el \"hub\" no está funcionando desde hace tiempo."
+
+#: ../../Zotlabs/Module/Rate.php:156
+msgid "Website:"
+msgstr "Sitio web:"
+
+#: ../../Zotlabs/Module/Rate.php:159
+#, php-format
+msgid "Remote Channel [%s] (not yet known on this site)"
+msgstr "Canal remoto [%s] (aún no es conocido en este sitio)"
+
+#: ../../Zotlabs/Module/Rate.php:160
+msgid "Rating (this information is public)"
+msgstr "Valoración (esta información es pública)"
+
+#: ../../Zotlabs/Module/Rate.php:161
+msgid "Optionally explain your rating (this information is public)"
+msgstr "Opcionalmente puede explicar su valoración (esta información es pública)"
+
+#: ../../Zotlabs/Module/Like.php:19
+msgid "Like/Dislike"
+msgstr "Me gusta/No me gusta"
+
+#: ../../Zotlabs/Module/Like.php:24
+msgid "This action is restricted to members."
+msgstr "Esta acción está restringida solo para miembros."
+
+#: ../../Zotlabs/Module/Like.php:25
+msgid ""
+"Please <a href=\"rmagic\">login with your $Projectname ID</a> or <a "
+"href=\"register\">register as a new $Projectname member</a> to continue."
+msgstr "Por favor, <a href=\"rmagic\">identifíquese con su $Projectname ID</a> o <a href=\"register\">rregístrese como un nuevo $Projectname member</a> para continuar."
+
+#: ../../Zotlabs/Module/Like.php:105 ../../Zotlabs/Module/Like.php:131
+#: ../../Zotlabs/Module/Like.php:169
+msgid "Invalid request."
+msgstr "Solicitud incorrecta."
+
+#: ../../Zotlabs/Module/Like.php:117 ../../include/conversation.php:126
+msgid "channel"
+msgstr "el canal"
+
+#: ../../Zotlabs/Module/Like.php:146
+msgid "thing"
+msgstr "elemento"
+
+#: ../../Zotlabs/Module/Like.php:192
+msgid "Channel unavailable."
+msgstr "Canal no disponible."
+
+#: ../../Zotlabs/Module/Like.php:240
+msgid "Previous action reversed."
+msgstr "Acción anterior revocada."
+
+#: ../../Zotlabs/Module/Like.php:370 ../../Zotlabs/Module/Subthread.php:87
+#: ../../Zotlabs/Module/Tagger.php:47 ../../include/text.php:1991
+#: ../../include/conversation.php:120
+msgid "photo"
+msgstr "foto"
+
+#: ../../Zotlabs/Module/Like.php:370 ../../Zotlabs/Module/Subthread.php:87
+#: ../../include/text.php:1997 ../../include/conversation.php:148
+msgid "status"
+msgstr "el mensaje de estado"
+
+#: ../../Zotlabs/Module/Like.php:372 ../../Zotlabs/Module/Events.php:253
+#: ../../Zotlabs/Module/Tagger.php:51 ../../include/text.php:1994
+#: ../../include/conversation.php:123 ../../include/event.php:961
+msgid "event"
+msgstr "evento"
+
+#: ../../Zotlabs/Module/Like.php:419 ../../include/conversation.php:164
+#, php-format
+msgid "%1$s likes %2$s's %3$s"
+msgstr "A %1$s le gusta %3$s de %2$s"
+
+#: ../../Zotlabs/Module/Like.php:421 ../../include/conversation.php:167
+#, 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"
+
+#: ../../Zotlabs/Module/Like.php:423
+#, php-format
+msgid "%1$s agrees with %2$s's %3$s"
+msgstr "%3$s de %2$s: %1$s está de acuerdo"
+
+#: ../../Zotlabs/Module/Like.php:425
+#, php-format
+msgid "%1$s doesn't agree with %2$s's %3$s"
+msgstr "%3$s de %2$s: %1$s no está de acuerdo"
+
+#: ../../Zotlabs/Module/Like.php:427
+#, php-format
+msgid "%1$s abstains from a decision on %2$s's %3$s"
+msgstr "%3$s de %2$s: %1$s se abstiene"
+
+#: ../../Zotlabs/Module/Like.php:429
+#, php-format
+msgid "%1$s is attending %2$s's %3$s"
+msgstr "%3$s de %2$s: %1$s participa"
+
+#: ../../Zotlabs/Module/Like.php:431
+#, php-format
+msgid "%1$s is not attending %2$s's %3$s"
+msgstr "%3$s de %2$s: %1$s no participa"
+
+#: ../../Zotlabs/Module/Like.php:433
+#, php-format
+msgid "%1$s may attend %2$s's %3$s"
+msgstr "%3$s de %2$s: %1$s quizá participe"
+
+#: ../../Zotlabs/Module/Like.php:538
+msgid "Action completed."
+msgstr "Acción completada."
+
+#: ../../Zotlabs/Module/Like.php:539
+msgid "Thank you."
+msgstr "Gracias."
+
#: ../../Zotlabs/Module/Profiles.php:24 ../../Zotlabs/Module/Profiles.php:189
#: ../../Zotlabs/Module/Profiles.php:246 ../../Zotlabs/Module/Profiles.php:625
msgid "Profile not found."
@@ -2109,17 +3407,6 @@ msgstr "Página personal"
msgid "Interests"
msgstr "Intereses"
-#: ../../Zotlabs/Module/Profiles.php:470 ../../Zotlabs/Module/Locs.php:118
-#: ../../Zotlabs/Module/Admin.php:1224
-msgid "Address"
-msgstr "Dirección"
-
-#: ../../Zotlabs/Module/Profiles.php:477 ../../Zotlabs/Module/Profiles.php:698
-#: ../../Zotlabs/Module/Locs.php:117 ../../Zotlabs/Module/Events.php:467
-#: ../../Zotlabs/Module/Pubsites.php:41 ../../include/js_strings.php:25
-msgid "Location"
-msgstr "Ubicación"
-
#: ../../Zotlabs/Module/Profiles.php:560
msgid "Profile updated."
msgstr "Perfil actualizado."
@@ -2169,7 +3456,7 @@ msgstr "Eliminar este perfil"
msgid "Add profile things"
msgstr "Añadir cosas al perfil"
-#: ../../Zotlabs/Module/Profiles.php:697 ../../include/conversation.php:1556
+#: ../../Zotlabs/Module/Profiles.php:697 ../../include/conversation.php:1564
#: ../../include/widgets.php:105
msgid "Personal"
msgstr "Personales"
@@ -2178,7 +3465,7 @@ msgstr "Personales"
msgid "Relation"
msgstr "Relación"
-#: ../../Zotlabs/Module/Profiles.php:700 ../../include/datetime.php:48
+#: ../../Zotlabs/Module/Profiles.php:700 ../../include/datetime.php:55
msgid "Miscellaneous"
msgstr "Varios"
@@ -2318,103 +3605,29 @@ msgstr "Mis otros canales"
msgid "Profile Image"
msgstr "Imagen del perfil"
-#: ../../Zotlabs/Module/Profiles.php:777 ../../include/nav.php:90
-#: ../../include/channel.php:959
+#: ../../Zotlabs/Module/Profiles.php:777 ../../include/channel.php:959
+#: ../../include/nav.php:91
msgid "Edit Profiles"
msgstr "Editar perfiles"
-#: ../../Zotlabs/Module/Channel.php:40
-msgid "Posts and comments"
-msgstr "Publicaciones y comentarios"
-
-#: ../../Zotlabs/Module/Channel.php:41
-msgid "Only posts"
-msgstr "Solo publicaciones"
-
-#: ../../Zotlabs/Module/Channel.php:101
-msgid "Insufficient permissions. Request redirected to profile page."
-msgstr "Permisos insuficientes. Petición redirigida a la página del perfil."
-
-#: ../../Zotlabs/Module/Group.php:24
-msgid "Privacy group created."
-msgstr "El grupo de canales ha sido creado."
-
-#: ../../Zotlabs/Module/Group.php:30
-msgid "Could not create privacy group."
-msgstr "No se puede crear el grupo de canales"
-
-#: ../../Zotlabs/Module/Group.php:42 ../../Zotlabs/Module/Group.php:141
-#: ../../include/items.php:3904
-msgid "Privacy group not found."
-msgstr "Grupo de canales no encontrado."
-
-#: ../../Zotlabs/Module/Group.php:58
-msgid "Privacy group updated."
-msgstr "Grupo de canales actualizado."
-
-#: ../../Zotlabs/Module/Group.php:90
-msgid "Create a group of channels."
-msgstr "Crear un grupo de canales."
-
-#: ../../Zotlabs/Module/Group.php:91 ../../Zotlabs/Module/Group.php:184
-msgid "Privacy group name: "
-msgstr "Nombre del grupo de canales:"
-
-#: ../../Zotlabs/Module/Group.php:93 ../../Zotlabs/Module/Group.php:187
-msgid "Members are visible to other channels"
-msgstr "Los miembros son visibles para otros canales"
-
-#: ../../Zotlabs/Module/Group.php:111
-msgid "Privacy group removed."
-msgstr "Grupo de canales eliminado."
-
-#: ../../Zotlabs/Module/Group.php:113
-msgid "Unable to remove privacy group."
-msgstr "No se puede eliminar el grupo de canales."
-
-#: ../../Zotlabs/Module/Group.php:183
-msgid "Privacy group editor"
-msgstr "Editor de grupos de canales"
-
-#: ../../Zotlabs/Module/Group.php:197
-msgid "Members"
-msgstr "Miembros"
-
-#: ../../Zotlabs/Module/Group.php:199
-msgid "All Connected Channels"
-msgstr "Todos los canales conectados"
-
-#: ../../Zotlabs/Module/Group.php:231
-msgid "Click on a channel to add or remove."
-msgstr "Haga clic en un canal para agregarlo o quitarlo."
-
-#: ../../Zotlabs/Module/Mitem.php:28 ../../Zotlabs/Module/Menu.php:144
-msgid "Menu not found."
-msgstr "Menú no encontrado"
-
#: ../../Zotlabs/Module/Mitem.php:52
msgid "Unable to create element."
msgstr "No se puede crear el elemento."
-#: ../../Zotlabs/Module/Mitem.php:76
-msgid "Unable to update menu element."
-msgstr "No es posible actualizar el elemento del menú."
-
-#: ../../Zotlabs/Module/Mitem.php:92
-msgid "Unable to add menu element."
-msgstr "No es posible añadir el elemento al menú"
+#: ../../Zotlabs/Module/Setup.php:530
+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/Mitem.php:120 ../../Zotlabs/Module/Menu.php:166
-#: ../../Zotlabs/Module/Xchan.php:41
-msgid "Not found."
-msgstr "No encontrado."
+#: ../../Zotlabs/Module/Setup.php:534
+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/Mitem.php:153 ../../Zotlabs/Module/Mitem.php:230
msgid "Menu Item Permissions"
msgstr "Permisos del elemento del menú"
#: ../../Zotlabs/Module/Mitem.php:154 ../../Zotlabs/Module/Mitem.php:231
-#: ../../Zotlabs/Module/Settings.php:1263
+#: ../../Zotlabs/Module/Settings/Channel.php:486
msgid "(click to open/close)"
msgstr "(pulsar para abrir o cerrar)"
@@ -2514,996 +3727,388 @@ msgstr "Editar elemento del menú"
msgid "Link text"
msgstr "Texto del enlace"
-#: ../../Zotlabs/Module/Follow.php:34
-msgid "Channel added."
-msgstr "Canal añadido."
-
-#: ../../Zotlabs/Module/Import_items.php:104
-msgid "Import completed"
-msgstr "Importación completada"
-
-#: ../../Zotlabs/Module/Import_items.php:119
-msgid "Import Items"
-msgstr "Importar elementos"
-
-#: ../../Zotlabs/Module/Import_items.php:120
-msgid ""
-"Use this form to import existing posts and content from an export file."
-msgstr "Utilice este formulario para importar entradas existentes y contenido desde un archivo de exportación."
-
-#: ../../Zotlabs/Module/Invite.php:29
-msgid "Total invitation limit exceeded."
-msgstr "Se ha superado el límite máximo de invitaciones."
-
-#: ../../Zotlabs/Module/Invite.php:53
-#, 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:63
-msgid "Please join us on $Projectname"
-msgstr "Únase a nosotros en $Projectname"
-
-#: ../../Zotlabs/Module/Invite.php:74
-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:79
-#, php-format
-msgid "%s : Message delivery failed."
-msgstr "%s : Falló el envío del mensaje."
-
-#: ../../Zotlabs/Module/Invite.php:83
-#, php-format
-msgid "%d message sent."
-msgid_plural "%d messages sent."
-msgstr[0] "%d mensajes enviados."
-msgstr[1] "%d mensajes enviados."
-
-#: ../../Zotlabs/Module/Invite.php:102
-msgid "You have no more invitations available"
-msgstr "No tiene más invitaciones disponibles"
-
-#: ../../Zotlabs/Module/Invite.php:133
-msgid "Send invitations"
-msgstr "Enviar invitaciones"
-
-#: ../../Zotlabs/Module/Invite.php:134
-msgid "Enter email addresses, one per line:"
-msgstr "Introduzca las direcciones de correo electrónico, una por línea:"
-
-#: ../../Zotlabs/Module/Invite.php:136
-msgid "Please join my community on $Projectname."
-msgstr "Por favor, únase a mi comunidad en $Projectname."
-
-#: ../../Zotlabs/Module/Invite.php:138
-msgid "You will need to supply this invitation code:"
-msgstr "Tendrá que suministrar este código de invitación:"
-
-#: ../../Zotlabs/Module/Invite.php:139
-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:141
-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:142
-msgid "or visit"
-msgstr "o visitar"
-
-#: ../../Zotlabs/Module/Invite.php:144
-msgid "3. Click [Connect]"
-msgstr "3. Pulse [conectar]"
-
-#: ../../Zotlabs/Module/Locs.php:25 ../../Zotlabs/Module/Locs.php:54
-msgid "Location not found."
-msgstr "Dirección no encontrada."
-
-#: ../../Zotlabs/Module/Locs.php:62
-msgid "Location lookup failed."
-msgstr "Ha fallado la búsqueda de la dirección."
-
-#: ../../Zotlabs/Module/Locs.php:66
-msgid ""
-"Please select another location to become primary before removing the primary"
-" location."
-msgstr "Por favor, seleccione una copia de su canal (un clon) para convertirlo en primario antes de eliminar su canal principal."
-
-#: ../../Zotlabs/Module/Locs.php:95
-msgid "Syncing locations"
-msgstr "Sincronizando ubicaciones"
-
-#: ../../Zotlabs/Module/Locs.php:105
-msgid "No locations found."
-msgstr "No encontrada ninguna dirección."
-
-#: ../../Zotlabs/Module/Locs.php:116
-msgid "Manage Channel Locations"
-msgstr "Gestionar las direcciones del canal"
-
-#: ../../Zotlabs/Module/Locs.php:119
-msgid "Primary"
-msgstr "Primario"
-
-#: ../../Zotlabs/Module/Locs.php:120 ../../Zotlabs/Module/Menu.php:113
-msgid "Drop"
-msgstr "Eliminar"
-
-#: ../../Zotlabs/Module/Locs.php:122
-msgid "Sync Now"
-msgstr "Sincronizar ahora"
-
-#: ../../Zotlabs/Module/Locs.php:123
-msgid "Please wait several minutes between consecutive operations."
-msgstr "Por favor, espere algunos minutos entre operaciones consecutivas."
-
-#: ../../Zotlabs/Module/Locs.php:124
-msgid ""
-"When possible, drop a location by logging into that website/hub and removing"
-" your channel."
-msgstr "Cuando sea posible, elimine una ubicación iniciando sesión en el sitio web o \"hub\" y borrando su canal."
-
-#: ../../Zotlabs/Module/Locs.php:125
-msgid "Use this form to drop the location if the hub is no longer operating."
-msgstr "Utilice este formulario para eliminar la dirección si el \"hub\" no está funcionando desde hace tiempo."
-
-#: ../../Zotlabs/Module/Magic.php:71
-msgid "Hub not found."
-msgstr "Servidor no encontrado"
-
-#: ../../Zotlabs/Module/Impel.php:41 ../../include/bbcode.php:192
-msgid "webpage"
-msgstr "página web"
-
-#: ../../Zotlabs/Module/Impel.php:46 ../../include/bbcode.php:198
-msgid "block"
-msgstr "bloque"
-
-#: ../../Zotlabs/Module/Impel.php:51 ../../include/bbcode.php:195
-msgid "layout"
-msgstr "plantilla"
-
-#: ../../Zotlabs/Module/Impel.php:58 ../../include/bbcode.php:201
-msgid "menu"
-msgstr "menú"
-
-#: ../../Zotlabs/Module/Impel.php:191
-#, php-format
-msgid "%s element installed"
-msgstr "%s elemento instalado"
-
-#: ../../Zotlabs/Module/Impel.php:194
-#, php-format
-msgid "%s element installation failed"
-msgstr "Elemento con instalación fallida: %s"
-
-#: ../../Zotlabs/Module/Events.php:25
-msgid "Calendar entries imported."
-msgstr "Entradas de calendario importadas."
-
-#: ../../Zotlabs/Module/Events.php:27
-msgid "No calendar entries found."
-msgstr "No se han encontrado entradas de calendario."
-
-#: ../../Zotlabs/Module/Events.php:104
-msgid "Event can not end before it has started."
-msgstr "Un evento no puede terminar antes de que haya comenzado."
-
-#: ../../Zotlabs/Module/Events.php:106 ../../Zotlabs/Module/Events.php:115
-#: ../../Zotlabs/Module/Events.php:135
-msgid "Unable to generate preview."
-msgstr "No se puede crear la vista previa."
-
-#: ../../Zotlabs/Module/Events.php:113
-msgid "Event title and start time are required."
-msgstr "Se requieren el título del evento y su hora de inicio."
-
-#: ../../Zotlabs/Module/Events.php:133 ../../Zotlabs/Module/Events.php:258
-msgid "Event not found."
-msgstr "Evento no encontrado."
-
-#: ../../Zotlabs/Module/Events.php:452
-msgid "Edit event title"
-msgstr "Editar el título del evento"
-
-#: ../../Zotlabs/Module/Events.php:452
-msgid "Event title"
-msgstr "Título del evento"
-
-#: ../../Zotlabs/Module/Events.php:454
-msgid "Categories (comma-separated list)"
-msgstr "Temas (lista separada por comas)"
-
-#: ../../Zotlabs/Module/Events.php:455
-msgid "Edit Category"
-msgstr "Modificar el tema"
-
-#: ../../Zotlabs/Module/Events.php:455
-msgid "Category"
-msgstr "Tema"
-
-#: ../../Zotlabs/Module/Events.php:458
-msgid "Edit start date and time"
-msgstr "Modificar la fecha y hora de comienzo"
-
-#: ../../Zotlabs/Module/Events.php:458
-msgid "Start date and time"
-msgstr "Fecha y hora de comienzo"
-
-#: ../../Zotlabs/Module/Events.php:459 ../../Zotlabs/Module/Events.php:462
-msgid "Finish date and time are not known or not relevant"
-msgstr "La fecha y hora de terminación no se conocen o no son relevantes"
-
-#: ../../Zotlabs/Module/Events.php:461
-msgid "Edit finish date and time"
-msgstr "Modificar la fecha y hora de terminación"
-
-#: ../../Zotlabs/Module/Events.php:461
-msgid "Finish date and time"
-msgstr "Fecha y hora de terminación"
-
-#: ../../Zotlabs/Module/Events.php:463 ../../Zotlabs/Module/Events.php:464
-msgid "Adjust for viewer timezone"
-msgstr "Ajustar para obtener el visor de los husos horarios"
-
-#: ../../Zotlabs/Module/Events.php:463
-msgid ""
-"Important for events that happen in a particular place. Not practical for "
-"global holidays."
-msgstr "Importante para los eventos que suceden en un lugar determinado. No es práctico para los globales."
-
-#: ../../Zotlabs/Module/Events.php:465
-msgid "Edit Description"
-msgstr "Editar la descripción"
-
-#: ../../Zotlabs/Module/Events.php:467
-msgid "Edit Location"
-msgstr "Modificar la dirección"
-
-#: ../../Zotlabs/Module/Events.php:470 ../../Zotlabs/Module/Events.php:472
-msgid "Share this event"
-msgstr "Compartir este evento"
-
-#: ../../Zotlabs/Module/Events.php:473 ../../Zotlabs/Module/Photos.php:1099
-#: ../../Zotlabs/Module/Webpages.php:224 ../../Zotlabs/Lib/ThreadItem.php:720
-#: ../../include/conversation.php:1205 ../../include/page_widgets.php:43
-msgid "Preview"
-msgstr "Previsualizar"
-
-#: ../../Zotlabs/Module/Events.php:474 ../../include/conversation.php:1258
-msgid "Permission settings"
-msgstr "Configuración de permisos"
-
-#: ../../Zotlabs/Module/Events.php:485
-msgid "Advanced Options"
-msgstr "Opciones avanzadas"
-
-#: ../../Zotlabs/Module/Events.php:597 ../../Zotlabs/Module/Cal.php:259
-msgid "l, F j"
-msgstr "l j F"
-
-#: ../../Zotlabs/Module/Events.php:619
-msgid "Edit event"
-msgstr "Editar evento"
-
-#: ../../Zotlabs/Module/Events.php:621
-msgid "Delete event"
-msgstr "Borrar evento"
-
-#: ../../Zotlabs/Module/Events.php:646 ../../Zotlabs/Module/Cal.php:308
-#: ../../include/text.php:1716
-msgid "Link to Source"
-msgstr "Enlazar con la entrada en su ubicación original"
-
-#: ../../Zotlabs/Module/Events.php:655
-msgid "calendar"
-msgstr "calendario"
-
-#: ../../Zotlabs/Module/Events.php:674 ../../Zotlabs/Module/Cal.php:331
-msgid "Edit Event"
-msgstr "Editar el evento"
-
-#: ../../Zotlabs/Module/Events.php:674 ../../Zotlabs/Module/Cal.php:331
-msgid "Create Event"
-msgstr "Crear un evento"
-
-#: ../../Zotlabs/Module/Events.php:675 ../../Zotlabs/Module/Events.php:684
-#: ../../Zotlabs/Module/Cal.php:332 ../../Zotlabs/Module/Cal.php:339
-#: ../../Zotlabs/Module/Photos.php:951
-msgid "Previous"
-msgstr "Anterior"
-
-#: ../../Zotlabs/Module/Events.php:676 ../../Zotlabs/Module/Events.php:685
-#: ../../Zotlabs/Module/Setup.php:267 ../../Zotlabs/Module/Cal.php:333
-#: ../../Zotlabs/Module/Cal.php:340 ../../Zotlabs/Module/Photos.php:960
-msgid "Next"
-msgstr "Siguiente"
-
-#: ../../Zotlabs/Module/Events.php:677 ../../Zotlabs/Module/Cal.php:334
-msgid "Export"
-msgstr "Exportar"
-
-#: ../../Zotlabs/Module/Events.php:680 ../../Zotlabs/Module/Blocks.php:166
-#: ../../Zotlabs/Module/Layouts.php:197 ../../Zotlabs/Module/Pubsites.php:47
-#: ../../Zotlabs/Module/Webpages.php:223 ../../include/page_widgets.php:42
-msgid "View"
-msgstr "Ver"
-
-#: ../../Zotlabs/Module/Events.php:681
-msgid "Month"
-msgstr "Mes"
-
-#: ../../Zotlabs/Module/Events.php:682
-msgid "Week"
-msgstr "Semana"
-
-#: ../../Zotlabs/Module/Events.php:683
-msgid "Day"
-msgstr "Día"
-
-#: ../../Zotlabs/Module/Events.php:686 ../../Zotlabs/Module/Cal.php:341
-msgid "Today"
-msgstr "Hoy"
-
-#: ../../Zotlabs/Module/Events.php:717
-msgid "Event removed"
-msgstr "Evento borrado"
-
-#: ../../Zotlabs/Module/Events.php:720
-msgid "Failed to remove event"
-msgstr "Error al eliminar el evento"
-
-#: ../../Zotlabs/Module/Manage.php:136
-#: ../../Zotlabs/Module/New_channel.php:121
-#, php-format
-msgid "You have created %1$.0f of %2$.0f allowed channels."
-msgstr "Ha creado %1$.0f de %2$.0f canales permitidos."
-
-#: ../../Zotlabs/Module/Manage.php:143
-msgid "Create a new channel"
-msgstr "Crear un nuevo canal"
-
-#: ../../Zotlabs/Module/Manage.php:164 ../../Zotlabs/Lib/Apps.php:214
-#: ../../include/nav.php:210
-msgid "Channel Manager"
-msgstr "Administración de canales"
-
-#: ../../Zotlabs/Module/Manage.php:165
-msgid "Current Channel"
-msgstr "Canal actual"
-
-#: ../../Zotlabs/Module/Manage.php:167
-msgid "Switch to one of your channels by selecting it."
-msgstr "Cambiar a uno de sus canales seleccionándolo."
-
-#: ../../Zotlabs/Module/Manage.php:168
-msgid "Default Channel"
-msgstr "Canal principal"
-
-#: ../../Zotlabs/Module/Manage.php:169
-msgid "Make Default"
-msgstr "Convertir en predeterminado"
-
-#: ../../Zotlabs/Module/Manage.php:172
-#, php-format
-msgid "%d new messages"
-msgstr "%d mensajes nuevos"
-
-#: ../../Zotlabs/Module/Manage.php:173
-#, php-format
-msgid "%d new introductions"
-msgstr "%d nuevas isolicitudes de conexión"
-
-#: ../../Zotlabs/Module/Manage.php:175
-msgid "Delegated Channel"
-msgstr "Canal delegado"
-
-#: ../../Zotlabs/Module/Lostpass.php:19
-msgid "No valid account found."
-msgstr "No se ha encontrado una cuenta válida."
-
-#: ../../Zotlabs/Module/Lostpass.php:33
-msgid "Password reset request issued. Check your email."
-msgstr "Se ha recibido una solicitud de restablecimiento de contraseña. Consulte su correo electrónico."
-
-#: ../../Zotlabs/Module/Lostpass.php:39 ../../Zotlabs/Module/Lostpass.php:107
-#, php-format
-msgid "Site Member (%s)"
-msgstr "Usuario del sitio (%s)"
-
-#: ../../Zotlabs/Module/Lostpass.php:44
-#, php-format
-msgid "Password reset requested at %s"
-msgstr "Se ha solicitado restablecer la contraseña en %s"
-
-#: ../../Zotlabs/Module/Lostpass.php:67
-msgid ""
-"Request could not be verified. (You may have previously submitted it.) "
-"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:90 ../../boot.php:1721
-msgid "Password Reset"
-msgstr "Restablecer la contraseña"
-
-#: ../../Zotlabs/Module/Lostpass.php:91
-msgid "Your password has been reset as requested."
-msgstr "Su contraseña ha sido restablecida según lo solicitó."
-
-#: ../../Zotlabs/Module/Lostpass.php:92
-msgid "Your new password is"
-msgstr "Su nueva contraseña es"
-
-#: ../../Zotlabs/Module/Lostpass.php:93
-msgid "Save or copy your new password - and then"
-msgstr "Guarde o copie su nueva contraseña - y después"
-
-#: ../../Zotlabs/Module/Lostpass.php:94
-msgid "click here to login"
-msgstr "pulse aquí para conectarse"
-
-#: ../../Zotlabs/Module/Lostpass.php:95
-msgid ""
-"Your password may be changed from the <em>Settings</em> page after "
-"successful login."
-msgstr "Puede cambiar la contraseña en la página <em>Ajustes</em> una vez iniciada la sesión."
-
-#: ../../Zotlabs/Module/Lostpass.php:112
-#, php-format
-msgid "Your password has changed at %s"
-msgstr "Su contraseña en %s ha sido cambiada"
-
-#: ../../Zotlabs/Module/Lostpass.php:127
-msgid "Forgot your Password?"
-msgstr "¿Ha olvidado su contraseña?"
-
-#: ../../Zotlabs/Module/Lostpass.php:128
-msgid ""
-"Enter your email address and submit to have your password reset. Then check "
-"your email for further instructions."
-msgstr "Introduzca y envíe su dirección de correo electrónico para el restablecimiento de su contraseña. Luego revise su correo para obtener más instrucciones."
-
-#: ../../Zotlabs/Module/Lostpass.php:129
-msgid "Email Address"
-msgstr "Dirección de correo electrónico"
-
-#: ../../Zotlabs/Module/Lostpass.php:130
-msgid "Reset"
-msgstr "Reiniciar"
-
-#: ../../Zotlabs/Module/Mood.php:67 ../../include/conversation.php:260
-#, php-format
-msgctxt "mood"
-msgid "%1$s is %2$s"
-msgstr "%1$s está %2$s"
-
-#: ../../Zotlabs/Module/Mood.php:135 ../../Zotlabs/Lib/Apps.php:227
-msgid "Mood"
-msgstr "Estado de ánimo"
-
-#: ../../Zotlabs/Module/Mood.php:136
-msgid "Set your current mood and tell your friends"
-msgstr "Describir su estado de ánimo para comunicárselo a sus amigos"
-
-#: ../../Zotlabs/Module/Menu.php:49
-msgid "Unable to update menu."
-msgstr "No se puede actualizar el menú."
-
-#: ../../Zotlabs/Module/Menu.php:60
-msgid "Unable to create menu."
-msgstr "No se puede crear el menú."
-
-#: ../../Zotlabs/Module/Menu.php:98 ../../Zotlabs/Module/Menu.php:110
-msgid "Menu Name"
-msgstr "Nombre del menú"
-
-#: ../../Zotlabs/Module/Menu.php:98
-msgid "Unique name (not visible on webpage) - required"
-msgstr "Nombre único (no será visible en la página web) - requerido"
-
-#: ../../Zotlabs/Module/Menu.php:99 ../../Zotlabs/Module/Menu.php:111
-msgid "Menu Title"
-msgstr "Título del menú"
-
-#: ../../Zotlabs/Module/Menu.php:99
-msgid "Visible on webpage - leave empty for no title"
-msgstr "Visible en la página web - no ponga nada si no desea un título"
-
-#: ../../Zotlabs/Module/Menu.php:100
-msgid "Allow Bookmarks"
-msgstr "Permitir marcadores"
-
-#: ../../Zotlabs/Module/Menu.php:100 ../../Zotlabs/Module/Menu.php:157
-msgid "Menu may be used to store saved bookmarks"
-msgstr "El menú se puede usar para guardar marcadores"
-
-#: ../../Zotlabs/Module/Menu.php:101 ../../Zotlabs/Module/Menu.php:159
-msgid "Submit and proceed"
-msgstr "Enviar y proceder"
-
-#: ../../Zotlabs/Module/Menu.php:107 ../../include/text.php:2263
-msgid "Menus"
-msgstr "Menús"
-
-#: ../../Zotlabs/Module/Menu.php:114 ../../Zotlabs/Module/Blocks.php:157
-#: ../../Zotlabs/Module/Layouts.php:190 ../../Zotlabs/Module/Webpages.php:228
-#: ../../include/page_widgets.php:47
-msgid "Created"
-msgstr "Creado"
-
-#: ../../Zotlabs/Module/Menu.php:115 ../../Zotlabs/Module/Blocks.php:158
-#: ../../Zotlabs/Module/Layouts.php:191 ../../Zotlabs/Module/Webpages.php:229
-#: ../../include/page_widgets.php:48
-msgid "Edited"
-msgstr "Editado"
-
-#: ../../Zotlabs/Module/Menu.php:117
-msgid "Bookmarks allowed"
-msgstr "Marcadores permitidos"
-
-#: ../../Zotlabs/Module/Menu.php:119
-msgid "Delete this menu"
-msgstr "Borrar este menú"
-
-#: ../../Zotlabs/Module/Menu.php:120 ../../Zotlabs/Module/Menu.php:154
-msgid "Edit menu contents"
-msgstr "Editar los contenidos del menú"
-
-#: ../../Zotlabs/Module/Menu.php:121
-msgid "Edit this menu"
-msgstr "Modificar este menú"
-
-#: ../../Zotlabs/Module/Menu.php:136
-msgid "Menu could not be deleted."
-msgstr "El menú no puede ser eliminado."
-
-#: ../../Zotlabs/Module/Menu.php:149
-msgid "Edit Menu"
-msgstr "Modificar el menú"
-
-#: ../../Zotlabs/Module/Menu.php:153
-msgid "Add or remove entries to this menu"
-msgstr "Añadir o quitar entradas en este menú"
-
-#: ../../Zotlabs/Module/Menu.php:155
-msgid "Menu name"
-msgstr "Nombre del menú"
-
-#: ../../Zotlabs/Module/Menu.php:155
-msgid "Must be unique, only seen by you"
-msgstr "Debe ser único, solo será visible para usted"
-
-#: ../../Zotlabs/Module/Menu.php:156
-msgid "Menu title"
-msgstr "Título del menú"
-
-#: ../../Zotlabs/Module/Menu.php:156
-msgid "Menu title as seen by others"
-msgstr "El título del menú tal como será visto por los demás"
-
-#: ../../Zotlabs/Module/Menu.php:157
-msgid "Allow bookmarks"
-msgstr "Permitir marcadores"
-
-#: ../../Zotlabs/Module/Notify.php:57
-#: ../../Zotlabs/Module/Notifications.php:98
-msgid "No more system notifications."
-msgstr "No hay más notificaciones del sistema"
-
-#: ../../Zotlabs/Module/Notify.php:61
-#: ../../Zotlabs/Module/Notifications.php:102
-msgid "System Notifications"
-msgstr "Notificaciones del sistema"
-
-#: ../../Zotlabs/Module/Match.php:26
-msgid "Profile Match"
-msgstr "Perfil compatible"
-
-#: ../../Zotlabs/Module/Match.php:35
-msgid "No keywords to match. Please add keywords to your default profile."
-msgstr "No hay palabras clave en el perfil principal para poder encontrar perfiles compatibles. Por favor, añada palabras clave a su perfil principal."
-
-#: ../../Zotlabs/Module/Match.php:67
-msgid "is interested in:"
-msgstr "está interesado en:"
-
-#: ../../Zotlabs/Module/Match.php:74
-msgid "No matches"
-msgstr "No se han encontrado perfiles compatibles"
-
-#: ../../Zotlabs/Module/Probe.php:28 ../../Zotlabs/Module/Probe.php:32
-#, php-format
-msgid "Fetching URL returns error: %1$s"
-msgstr "Al intentar obtener la dirección, retorna el error: %1$s"
-
-#: ../../Zotlabs/Module/Setup.php:179
+#: ../../Zotlabs/Module/Setup.php:184
msgid "$Projectname Server - Setup"
msgstr "Servidor $Projectname - Instalación"
-#: ../../Zotlabs/Module/Setup.php:183
+#: ../../Zotlabs/Module/Setup.php:188
msgid "Could not connect to database."
msgstr "No se ha podido conectar a la base de datos."
-#: ../../Zotlabs/Module/Setup.php:187
+#: ../../Zotlabs/Module/Setup.php:192
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:194
+#: ../../Zotlabs/Module/Setup.php:199
msgid "Could not create table."
msgstr "No se puede crear la tabla."
-#: ../../Zotlabs/Module/Setup.php:199
+#: ../../Zotlabs/Module/Setup.php:204
msgid "Your site database has been installed."
msgstr "La base de datos del sitio ha sido instalada."
-#: ../../Zotlabs/Module/Setup.php:203
+#: ../../Zotlabs/Module/Setup.php:208
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:204 ../../Zotlabs/Module/Setup.php:266
-#: ../../Zotlabs/Module/Setup.php:722
+#: ../../Zotlabs/Module/Setup.php:209 ../../Zotlabs/Module/Setup.php:271
+#: ../../Zotlabs/Module/Setup.php:734
msgid "Please see the file \"install/INSTALL.txt\"."
msgstr "Por favor, lea el fichero \"install/INSTALL.txt\"."
-#: ../../Zotlabs/Module/Setup.php:263
+#: ../../Zotlabs/Module/Setup.php:268
msgid "System check"
msgstr "Verificación del sistema"
-#: ../../Zotlabs/Module/Setup.php:268
+#: ../../Zotlabs/Module/Setup.php:272 ../../Zotlabs/Module/Photos.php:949
+#: ../../Zotlabs/Module/Cal.php:333 ../../Zotlabs/Module/Cal.php:340
+#: ../../Zotlabs/Module/Events.php:676 ../../Zotlabs/Module/Events.php:685
+msgid "Next"
+msgstr "Siguiente"
+
+#: ../../Zotlabs/Module/Setup.php:273
msgid "Check again"
msgstr "Verificar de nuevo"
-#: ../../Zotlabs/Module/Setup.php:290
+#: ../../Zotlabs/Module/Setup.php:295
msgid "Database connection"
msgstr "Conexión a la base de datos"
-#: ../../Zotlabs/Module/Setup.php:291
+#: ../../Zotlabs/Module/Setup.php:296
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:292
+#: ../../Zotlabs/Module/Setup.php:297
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:293
+#: ../../Zotlabs/Module/Setup.php:298
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:297
+#: ../../Zotlabs/Module/Setup.php:302
msgid "Database Server Name"
msgstr "Nombre del servidor de base de datos"
-#: ../../Zotlabs/Module/Setup.php:297
+#: ../../Zotlabs/Module/Setup.php:302
msgid "Default is 127.0.0.1"
msgstr "De forma predeterminada es 127.0.0.1"
-#: ../../Zotlabs/Module/Setup.php:298
+#: ../../Zotlabs/Module/Setup.php:303
msgid "Database Port"
msgstr "Puerto de la base de datos"
-#: ../../Zotlabs/Module/Setup.php:298
+#: ../../Zotlabs/Module/Setup.php:303
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:299
+#: ../../Zotlabs/Module/Setup.php:304
msgid "Database Login Name"
msgstr "Usuario de la base de datos"
-#: ../../Zotlabs/Module/Setup.php:300
+#: ../../Zotlabs/Module/Setup.php:305
msgid "Database Login Password"
msgstr "Contraseña de acceso a la base de datos"
-#: ../../Zotlabs/Module/Setup.php:301
+#: ../../Zotlabs/Module/Setup.php:306
msgid "Database Name"
msgstr "Nombre de la base de datos"
-#: ../../Zotlabs/Module/Setup.php:302
+#: ../../Zotlabs/Module/Setup.php:307
msgid "Database Type"
msgstr "Tipo de base de datos"
-#: ../../Zotlabs/Module/Setup.php:304 ../../Zotlabs/Module/Setup.php:344
+#: ../../Zotlabs/Module/Setup.php:309 ../../Zotlabs/Module/Setup.php:355
msgid "Site administrator email address"
msgstr "Dirección de correo electrónico del administrador del sitio"
-#: ../../Zotlabs/Module/Setup.php:304 ../../Zotlabs/Module/Setup.php:344
+#: ../../Zotlabs/Module/Setup.php:309 ../../Zotlabs/Module/Setup.php:355
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:305 ../../Zotlabs/Module/Setup.php:346
+#: ../../Zotlabs/Module/Setup.php:310 ../../Zotlabs/Module/Setup.php:357
msgid "Website URL"
msgstr "Dirección del sitio web"
-#: ../../Zotlabs/Module/Setup.php:305 ../../Zotlabs/Module/Setup.php:346
+#: ../../Zotlabs/Module/Setup.php:310 ../../Zotlabs/Module/Setup.php:357
msgid "Please use SSL (https) URL if available."
msgstr "Por favor, use SSL (https) si está disponible."
-#: ../../Zotlabs/Module/Setup.php:306 ../../Zotlabs/Module/Setup.php:349
+#: ../../Zotlabs/Module/Setup.php:311 ../../Zotlabs/Module/Setup.php:361
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:333
+#: ../../Zotlabs/Module/Setup.php:344
msgid "Site settings"
msgstr "Ajustes del sitio"
-#: ../../Zotlabs/Module/Setup.php:347
-msgid "Enable $Projectname <strong>advanced</strong> features?"
-msgstr "¿Habilitar las funcionalidades <strong>avanzadas</strong> de $Projectname ?"
-
-#: ../../Zotlabs/Module/Setup.php:347
-msgid ""
-"Some advanced features, while useful - may be best suited for technically "
-"proficient audiences"
-msgstr "Algunas funcionalidades avanzadas, si bien son útiles, pueden ser más adecuadas para un público técnicamente competente"
-
-#: ../../Zotlabs/Module/Setup.php:388
+#: ../../Zotlabs/Module/Setup.php:400
msgid "PHP version 5.5 or greater is required."
msgstr "Se requiere la versión 5.5, o superior, de PHP."
-#: ../../Zotlabs/Module/Setup.php:389
+#: ../../Zotlabs/Module/Setup.php:401
msgid "PHP version"
msgstr "Versión de PHP"
-#: ../../Zotlabs/Module/Setup.php:404
+#: ../../Zotlabs/Module/Setup.php:416
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:405
+#: ../../Zotlabs/Module/Setup.php:417
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:409
+#: ../../Zotlabs/Module/Setup.php:421
msgid "PHP executable path"
msgstr "Ruta del ejecutable PHP"
-#: ../../Zotlabs/Module/Setup.php:409
+#: ../../Zotlabs/Module/Setup.php:421
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:414
+#: ../../Zotlabs/Module/Setup.php:426
msgid "Command line PHP"
msgstr "PHP en línea de comandos"
-#: ../../Zotlabs/Module/Setup.php:423
+#: ../../Zotlabs/Module/Setup.php:435
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:424
+#: ../../Zotlabs/Module/Setup.php:436
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:427
+#: ../../Zotlabs/Module/Setup.php:439
msgid "PHP register_argc_argv"
msgstr "PHP register_argc_argv"
-#: ../../Zotlabs/Module/Setup.php:445
+#: ../../Zotlabs/Module/Setup.php:457
#, 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:450
+#: ../../Zotlabs/Module/Setup.php:462
msgid "You can adjust these settings in the servers php.ini."
msgstr "Puede ajustar estos valores en el fichero php.ini de su servidor."
-#: ../../Zotlabs/Module/Setup.php:452
+#: ../../Zotlabs/Module/Setup.php:464
msgid "PHP upload limits"
msgstr "Límites PHP de subida"
-#: ../../Zotlabs/Module/Setup.php:475
+#: ../../Zotlabs/Module/Setup.php:487
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:476
+#: ../../Zotlabs/Module/Setup.php:488
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:479
+#: ../../Zotlabs/Module/Setup.php:491
msgid "Generate encryption keys"
msgstr "Generar claves de cifrado"
-#: ../../Zotlabs/Module/Setup.php:491
+#: ../../Zotlabs/Module/Setup.php:503
msgid "libCurl PHP module"
msgstr "módulo libCurl PHP"
-#: ../../Zotlabs/Module/Setup.php:492
+#: ../../Zotlabs/Module/Setup.php:504
msgid "GD graphics PHP module"
msgstr "módulo PHP GD graphics"
-#: ../../Zotlabs/Module/Setup.php:493
+#: ../../Zotlabs/Module/Setup.php:505
msgid "OpenSSL PHP module"
msgstr "módulo PHP OpenSSL"
-#: ../../Zotlabs/Module/Setup.php:494
+#: ../../Zotlabs/Module/Setup.php:506
msgid "mysqli or postgres PHP module"
msgstr "módulo PHP mysqli o postgres"
-#: ../../Zotlabs/Module/Setup.php:495
+#: ../../Zotlabs/Module/Setup.php:507
msgid "mb_string PHP module"
msgstr "módulo PHP mb_string"
-#: ../../Zotlabs/Module/Setup.php:496
+#: ../../Zotlabs/Module/Setup.php:508
msgid "xml PHP module"
msgstr "módulo PHP xml"
-#: ../../Zotlabs/Module/Setup.php:500 ../../Zotlabs/Module/Setup.php:502
+#: ../../Zotlabs/Module/Setup.php:512 ../../Zotlabs/Module/Setup.php:514
msgid "Apache mod_rewrite module"
msgstr "módulo Apache mod_rewrite "
-#: ../../Zotlabs/Module/Setup.php:500
+#: ../../Zotlabs/Module/Setup.php:512
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:506 ../../Zotlabs/Module/Setup.php:509
+#: ../../Zotlabs/Module/Setup.php:518 ../../Zotlabs/Module/Setup.php:521
msgid "proc_open"
msgstr "proc_open"
-#: ../../Zotlabs/Module/Setup.php:506
+#: ../../Zotlabs/Module/Setup.php:518
msgid ""
"Error: proc_open is required but is either not installed or has been "
"disabled in php.ini"
msgstr "Error: se necesita proc_open pero o no está instalado o ha sido desactivado en el fichero php.ini"
-#: ../../Zotlabs/Module/Setup.php:514
+#: ../../Zotlabs/Module/Setup.php:526
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:518
+#: ../../Zotlabs/Module/Setup.php:530
msgid ""
"Error: GD graphics PHP module with JPEG support required but not installed."
msgstr "Error: el módulo PHP GD graphics es necesario, pero no está instalado."
-#: ../../Zotlabs/Module/Setup.php:522
+#: ../../Zotlabs/Module/Setup.php:534
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:526
+#: ../../Zotlabs/Module/Setup.php:538
msgid ""
"Error: mysqli or postgres PHP module required but neither are installed."
msgstr "Error: el módulo PHP mysqli o postgres es necesario pero ninguno de los dos está instalado."
-#: ../../Zotlabs/Module/Setup.php:530
+#: ../../Zotlabs/Module/Setup.php:542
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:534
+#: ../../Zotlabs/Module/Setup.php:546
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:552
+#: ../../Zotlabs/Module/Setup.php:564
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:553
+#: ../../Zotlabs/Module/Setup.php:565
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:554
+#: ../../Zotlabs/Module/Setup.php:566
msgid ""
"At the end of this procedure, we will give you a text to save in a file "
"named .htconfig.php in your Red top folder."
msgstr "Al término de este procedimiento, podemos crear un fichero de texto para guardar con el nombre .htconfig.php en el directorio raíz de su instalación de Hubzilla."
-#: ../../Zotlabs/Module/Setup.php:555
+#: ../../Zotlabs/Module/Setup.php:567
msgid ""
"You can alternatively skip this procedure and perform a manual installation."
" Please see the file \"install/INSTALL.txt\" for instructions."
msgstr "Como alternativa, puede dejar este procedimiento e intentar realizar una instalación manual. Lea, por favor, el fichero\"install/INSTALL.txt\" para las instrucciones."
-#: ../../Zotlabs/Module/Setup.php:558
+#: ../../Zotlabs/Module/Setup.php:570
msgid ".htconfig.php is writable"
msgstr ".htconfig.php tiene permisos de escritura"
-#: ../../Zotlabs/Module/Setup.php:572
+#: ../../Zotlabs/Module/Setup.php:584
msgid ""
"Red uses the Smarty3 template engine to render its web views. Smarty3 "
"compiles templates to PHP to speed up rendering."
msgstr "Hubzilla hace uso del motor de plantillas Smarty3 para diseñar sus plantillas gráficas. Smarty3 es más rápido porque compila las plantillas de páginas directamente en PHP."
-#: ../../Zotlabs/Module/Setup.php:573
+#: ../../Zotlabs/Module/Setup.php:585
#, 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:574 ../../Zotlabs/Module/Setup.php:595
+#: ../../Zotlabs/Module/Setup.php:586 ../../Zotlabs/Module/Setup.php:607
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:575
+#: ../../Zotlabs/Module/Setup.php:587
#, 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:578
+#: ../../Zotlabs/Module/Setup.php:590
#, php-format
msgid "%s is writable"
msgstr "%s tiene permisos de escritura"
-#: ../../Zotlabs/Module/Setup.php:594
+#: ../../Zotlabs/Module/Setup.php:606
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 Red top "
"level folder"
msgstr "Este software utiliza el directorio de almacenamiento para guardar los archivos subidos. El servidor web debe tener acceso de escritura al directorio de almacenamiento en la carpeta de nivel superior"
-#: ../../Zotlabs/Module/Setup.php:598
+#: ../../Zotlabs/Module/Setup.php:610
msgid "store is writable"
msgstr "\"store\" tiene permisos de escritura"
-#: ../../Zotlabs/Module/Setup.php:631
+#: ../../Zotlabs/Module/Setup.php:643
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:632
+#: ../../Zotlabs/Module/Setup.php:644
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:633
+#: ../../Zotlabs/Module/Setup.php:645
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 publicaciones públicas hagan referencia a imágenes en su propio servidor."
-#: ../../Zotlabs/Module/Setup.php:634
+#: ../../Zotlabs/Module/Setup.php:646
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:635
+#: ../../Zotlabs/Module/Setup.php:647
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:636
+#: ../../Zotlabs/Module/Setup.php:648
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:638
+#: ../../Zotlabs/Module/Setup.php:650
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. "
@@ -3511,1116 +4116,577 @@ 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:641
+#: ../../Zotlabs/Module/Setup.php:653
msgid "SSL certificate validation"
msgstr "validación del certificado SSL"
-#: ../../Zotlabs/Module/Setup.php:647
+#: ../../Zotlabs/Module/Setup.php:659
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:650
+#: ../../Zotlabs/Module/Setup.php:662
msgid "Url rewrite is working"
msgstr "La reescritura de las direcciones funciona correctamente"
-#: ../../Zotlabs/Module/Setup.php:659
+#: ../../Zotlabs/Module/Setup.php:671
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:683
+#: ../../Zotlabs/Module/Setup.php:695
msgid "Errors encountered creating database tables."
msgstr "Se han encontrado errores al crear las tablas de la base de datos."
-#: ../../Zotlabs/Module/Setup.php:720
+#: ../../Zotlabs/Module/Setup.php:732
msgid "<h1>What next</h1>"
msgstr "<h1>Siguiente paso</h1>"
-#: ../../Zotlabs/Module/Setup.php:721
+#: ../../Zotlabs/Module/Setup.php:733
msgid ""
"IMPORTANT: You will need to [manually] setup a scheduled task for the "
"poller."
msgstr "IMPORTANTE: Debe crear [manualmente] una tarea programada para el \"poller\"."
-#: ../../Zotlabs/Module/Admin.php:77
-msgid "Theme settings updated."
-msgstr "Ajustes del tema actualizados."
-
-#: ../../Zotlabs/Module/Admin.php:197
-msgid "# Accounts"
-msgstr "# Cuentas"
-
-#: ../../Zotlabs/Module/Admin.php:198
-msgid "# blocked accounts"
-msgstr "# cuentas bloqueadas"
-
-#: ../../Zotlabs/Module/Admin.php:199
-msgid "# expired accounts"
-msgstr "# cuentas caducadas"
-
-#: ../../Zotlabs/Module/Admin.php:200
-msgid "# expiring accounts"
-msgstr "# cuentas que caducan"
-
-#: ../../Zotlabs/Module/Admin.php:211
-msgid "# Channels"
-msgstr "# Canales"
-
-#: ../../Zotlabs/Module/Admin.php:212
-msgid "# primary"
-msgstr "# primario"
-
-#: ../../Zotlabs/Module/Admin.php:213
-msgid "# clones"
-msgstr "# clones"
-
-#: ../../Zotlabs/Module/Admin.php:219
-msgid "Message queues"
-msgstr "Mensajes en cola"
-
-#: ../../Zotlabs/Module/Admin.php:236
-msgid "Your software should be updated"
-msgstr "Debe actualizar su software"
-
-#: ../../Zotlabs/Module/Admin.php:241 ../../Zotlabs/Module/Admin.php:490
-#: ../../Zotlabs/Module/Admin.php:711 ../../Zotlabs/Module/Admin.php:755
-#: ../../Zotlabs/Module/Admin.php:1030 ../../Zotlabs/Module/Admin.php:1209
-#: ../../Zotlabs/Module/Admin.php:1329 ../../Zotlabs/Module/Admin.php:1419
-#: ../../Zotlabs/Module/Admin.php:1612 ../../Zotlabs/Module/Admin.php:1646
-#: ../../Zotlabs/Module/Admin.php:1731
-msgid "Administration"
-msgstr "Administración"
-
-#: ../../Zotlabs/Module/Admin.php:242
-msgid "Summary"
-msgstr "Sumario"
-
-#: ../../Zotlabs/Module/Admin.php:245
-msgid "Registered accounts"
-msgstr "Cuentas registradas"
-
-#: ../../Zotlabs/Module/Admin.php:246 ../../Zotlabs/Module/Admin.php:715
-msgid "Pending registrations"
-msgstr "Registros pendientes"
-
-#: ../../Zotlabs/Module/Admin.php:247
-msgid "Registered channels"
-msgstr "Canales registrados"
-
-#: ../../Zotlabs/Module/Admin.php:248 ../../Zotlabs/Module/Admin.php:716
-msgid "Active plugins"
-msgstr "Extensiones (plugins) activas"
-
-#: ../../Zotlabs/Module/Admin.php:249
-msgid "Version"
-msgstr "Versión"
-
-#: ../../Zotlabs/Module/Admin.php:250
-msgid "Repository version (master)"
-msgstr "Versión del repositorio (master)"
-
-#: ../../Zotlabs/Module/Admin.php:251
-msgid "Repository version (dev)"
-msgstr "Versión del repositorio (dev)"
-
-#: ../../Zotlabs/Module/Admin.php:373
-msgid "Site settings updated."
-msgstr "Ajustes del sitio actualizados."
-
-#: ../../Zotlabs/Module/Admin.php:400 ../../include/text.php:2888
-msgid "Default"
-msgstr "Predeterminado"
-
-#: ../../Zotlabs/Module/Admin.php:410 ../../Zotlabs/Module/Settings.php:987
-msgid "mobile"
-msgstr "móvil"
-
-#: ../../Zotlabs/Module/Admin.php:412
-msgid "experimental"
-msgstr "experimental"
-
-#: ../../Zotlabs/Module/Admin.php:414
-msgid "unsupported"
-msgstr "no soportado"
-
-#: ../../Zotlabs/Module/Admin.php:460
-msgid "Yes - with approval"
-msgstr "Sí - con aprobación"
-
-#: ../../Zotlabs/Module/Admin.php:466
-msgid "My site is not a public server"
-msgstr "Mi sitio no es un servidor público"
-
-#: ../../Zotlabs/Module/Admin.php:467
-msgid "My site has paid access only"
-msgstr "Mi sitio es un servicio de pago"
-
-#: ../../Zotlabs/Module/Admin.php:468
-msgid "My site has free access only"
-msgstr "Mi sitio es un servicio gratuito"
-
-#: ../../Zotlabs/Module/Admin.php:469
-msgid "My site offers free accounts with optional paid upgrades"
-msgstr "Mi sitio ofrece cuentas gratuitas con opciones extra de pago"
-
-#: ../../Zotlabs/Module/Admin.php:491 ../../include/widgets.php:1490
-msgid "Site"
-msgstr "Sitio"
-
-#: ../../Zotlabs/Module/Admin.php:493 ../../Zotlabs/Module/Register.php:248
-msgid "Registration"
-msgstr "Registro"
-
-#: ../../Zotlabs/Module/Admin.php:494
-msgid "File upload"
-msgstr "Subir fichero"
-
-#: ../../Zotlabs/Module/Admin.php:495
-msgid "Policies"
-msgstr "Políticas"
-
-#: ../../Zotlabs/Module/Admin.php:496 ../../include/contact_widgets.php:16
-msgid "Advanced"
-msgstr "Avanzado"
-
-#: ../../Zotlabs/Module/Admin.php:500
-msgid "Site name"
-msgstr "Nombre del sitio"
-
-#: ../../Zotlabs/Module/Admin.php:501
-msgid "Banner/Logo"
-msgstr "Banner/Logo"
-
-#: ../../Zotlabs/Module/Admin.php:502
-msgid "Administrator Information"
-msgstr "Información del Administrador"
-
-#: ../../Zotlabs/Module/Admin.php:502
-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.php:503
-msgid "System language"
-msgstr "Idioma del sistema"
-
-#: ../../Zotlabs/Module/Admin.php:504
-msgid "System theme"
-msgstr "Tema gráfico del sistema"
-
-#: ../../Zotlabs/Module/Admin.php:504
-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.php:505
-msgid "Mobile system theme"
-msgstr "Tema del sistema para móviles"
-
-#: ../../Zotlabs/Module/Admin.php:505
-msgid "Theme for mobile devices"
-msgstr "Tema para dispositivos móviles"
-
-#: ../../Zotlabs/Module/Admin.php:507
-msgid "Allow Feeds as Connections"
-msgstr "Permitir contenidos RSS como conexiones"
-
-#: ../../Zotlabs/Module/Admin.php:507
-msgid "(Heavy system resource usage)"
-msgstr "(Uso intenso de los recursos del sistema)"
-
-#: ../../Zotlabs/Module/Admin.php:508
-msgid "Maximum image size"
-msgstr "Tamaño máximo de la imagen"
-
-#: ../../Zotlabs/Module/Admin.php:508
-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.php:509
-msgid "Does this site allow new member registration?"
-msgstr "¿Debe este sitio permitir el registro de nuevos miembros?"
-
-#: ../../Zotlabs/Module/Admin.php:510
-msgid "Invitation only"
-msgstr "Solo con una invitación"
-
-#: ../../Zotlabs/Module/Admin.php:510
-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.php:511
-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.php:512
-msgid "Register text"
-msgstr "Texto del registro"
-
-#: ../../Zotlabs/Module/Admin.php:512
-msgid "Will be displayed prominently on the registration page."
-msgstr "Se mostrará de forma destacada en la página de registro."
-
-#: ../../Zotlabs/Module/Admin.php:513
-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.php:513
-msgid ""
-"example: 'public' to show public stream, 'page/sys/home' to show a system "
-"webpage called 'home' or 'include:home.html' to include a file."
-msgstr "ejemplo: 'public' para mostrar contenido público, 'page/sys/home' para mostrar la página web definida como \"home\" o 'include:home.html' para mostrar el contenido de un fichero."
-
-#: ../../Zotlabs/Module/Admin.php:514
-msgid "Preserve site homepage URL"
-msgstr "Preservar la dirección de la página personal"
-
-#: ../../Zotlabs/Module/Admin.php:514
-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.php:515
-msgid "Accounts abandoned after x days"
-msgstr "Cuentas abandonadas después de x días"
-
-#: ../../Zotlabs/Module/Admin.php:515
-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.php:516
-msgid "Allowed friend domains"
-msgstr "Dominios amigos permitidos"
-
-#: ../../Zotlabs/Module/Admin.php:516
-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.php:517
-msgid "Allowed email domains"
-msgstr "Se aceptan dominios de correo electrónico"
-
-#: ../../Zotlabs/Module/Admin.php:517
-msgid ""
-"Comma separated list of domains which are allowed in email addresses for "
-"registrations to this site. Wildcards are accepted. Empty to allow any "
-"domains"
-msgstr "Lista separada por comas de los dominios de los que se acepta una dirección de correo electrónico para registros en este sitio. Se permiten comodines. Dejar en claro para aceptar cualquier dominio. "
-
-#: ../../Zotlabs/Module/Admin.php:518
-msgid "Not allowed email domains"
-msgstr "No se permiten dominios de correo electrónico"
-
-#: ../../Zotlabs/Module/Admin.php:518
-msgid ""
-"Comma separated list of domains which are not allowed in email addresses for"
-" registrations to this site. Wildcards are accepted. Empty to allow any "
-"domains, unless allowed domains have been defined."
-msgstr "Lista separada por comas de los dominios de los que no se acepta una dirección de correo electrónico para registros en este sitio. Se permiten comodines. Dejar en claro para no aceptar cualquier dominio, excepto los que se hayan autorizado."
-
-#: ../../Zotlabs/Module/Admin.php:519
-msgid "Verify Email Addresses"
-msgstr "Verificar las direcciones de correo electrónico"
-
-#: ../../Zotlabs/Module/Admin.php:519
-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.php:520
-msgid "Force publish"
-msgstr "Forzar la publicación"
-
-#: ../../Zotlabs/Module/Admin.php:520
-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.php:521
-msgid "Import Public Streams"
-msgstr "Importar contenido público"
-
-#: ../../Zotlabs/Module/Admin.php:521
-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.php:522
-msgid "Login on Homepage"
-msgstr "Iniciar sesión en la página personal"
-
-#: ../../Zotlabs/Module/Admin.php:522
-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.php:523
-msgid "Enable context help"
-msgstr "Habilitar la ayuda contextual"
-
-#: ../../Zotlabs/Module/Admin.php:523
-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.php:525
-msgid "Directory Server URL"
-msgstr "URL del servidor de directorio"
-
-#: ../../Zotlabs/Module/Admin.php:525
-msgid "Default directory server"
-msgstr "Servidor de directorio predeterminado"
-
-#: ../../Zotlabs/Module/Admin.php:527
-msgid "Proxy user"
-msgstr "Usuario del proxy"
-
-#: ../../Zotlabs/Module/Admin.php:528
-msgid "Proxy URL"
-msgstr "Dirección del proxy"
+#: ../../Zotlabs/Module/Lostpass.php:19
+msgid "No valid account found."
+msgstr "No se ha encontrado una cuenta válida."
-#: ../../Zotlabs/Module/Admin.php:529
-msgid "Network timeout"
-msgstr "Tiempo de espera de la red"
+#: ../../Zotlabs/Module/Lostpass.php:33
+msgid "Password reset request issued. Check your email."
+msgstr "Se ha recibido una solicitud de restablecimiento de contraseña. Consulte su correo electrónico."
-#: ../../Zotlabs/Module/Admin.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/Lostpass.php:39 ../../Zotlabs/Module/Lostpass.php:107
+#, php-format
+msgid "Site Member (%s)"
+msgstr "Usuario del sitio (%s)"
-#: ../../Zotlabs/Module/Admin.php:530
-msgid "Delivery interval"
-msgstr "Intervalo de entrega"
+#: ../../Zotlabs/Module/Lostpass.php:44
+#, php-format
+msgid "Password reset requested at %s"
+msgstr "Se ha solicitado restablecer la contraseña en %s"
-#: ../../Zotlabs/Module/Admin.php:530
+#: ../../Zotlabs/Module/Lostpass.php:67
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."
+"Request could not be verified. (You may have previously submitted it.) "
+"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/Admin.php:531
-msgid "Deliveries per process"
-msgstr "Intentos de envío por proceso"
+#: ../../Zotlabs/Module/Lostpass.php:90 ../../boot.php:1747
+msgid "Password Reset"
+msgstr "Restablecer la contraseña"
-#: ../../Zotlabs/Module/Admin.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/Lostpass.php:91
+msgid "Your password has been reset as requested."
+msgstr "Su contraseña ha sido restablecida según lo solicitó."
-#: ../../Zotlabs/Module/Admin.php:532
-msgid "Poll interval"
-msgstr "Intervalo máximo de tiempo entre dos mensajes sucesivos"
+#: ../../Zotlabs/Module/Lostpass.php:92
+msgid "Your new password is"
+msgstr "Su nueva contraseña es"
-#: ../../Zotlabs/Module/Admin.php:532
-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/Lostpass.php:93
+msgid "Save or copy your new password - and then"
+msgstr "Guarde o copie su nueva contraseña - y después"
-#: ../../Zotlabs/Module/Admin.php:533
-msgid "Maximum Load Average"
-msgstr "Carga media máxima"
+#: ../../Zotlabs/Module/Lostpass.php:94
+msgid "click here to login"
+msgstr "pulse aquí para conectarse"
-#: ../../Zotlabs/Module/Admin.php:533
+#: ../../Zotlabs/Module/Lostpass.php:95
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.php:534
-msgid "Expiration period in days for imported (grid/network) content"
-msgstr "Caducidad del contenido importado de otros sitios (en días)"
-
-#: ../../Zotlabs/Module/Admin.php:534
-msgid "0 for no expiration of imported content"
-msgstr "0 para que no caduque el contenido importado"
-
-#: ../../Zotlabs/Module/Admin.php:677 ../../Zotlabs/Module/Admin.php:678
-#: ../../Zotlabs/Module/Settings.php:903
-msgid "Off"
-msgstr "Desactivado"
-
-#: ../../Zotlabs/Module/Admin.php:677 ../../Zotlabs/Module/Admin.php:678
-#: ../../Zotlabs/Module/Settings.php:903
-msgid "On"
-msgstr "Activado"
+"Your password may be changed from the <em>Settings</em> page after "
+"successful login."
+msgstr "Puede cambiar la contraseña en la página <em>Ajustes</em> una vez iniciada la sesión."
-#: ../../Zotlabs/Module/Admin.php:678
+#: ../../Zotlabs/Module/Lostpass.php:112
#, php-format
-msgid "Lock feature %s"
-msgstr "Bloquear la funcionalidad %s"
-
-#: ../../Zotlabs/Module/Admin.php:686
-msgid "Manage Additional Features"
-msgstr "Gestionar las funcionalidades"
-
-#: ../../Zotlabs/Module/Admin.php:703
-msgid "No server found"
-msgstr "Servidor no encontrado"
-
-#: ../../Zotlabs/Module/Admin.php:710 ../../Zotlabs/Module/Admin.php:1046
-msgid "ID"
-msgstr "ID"
-
-#: ../../Zotlabs/Module/Admin.php:710
-msgid "for channel"
-msgstr "por canal"
-
-#: ../../Zotlabs/Module/Admin.php:710
-msgid "on server"
-msgstr "en el servidor"
+msgid "Your password has changed at %s"
+msgstr "Su contraseña en %s ha sido cambiada"
-#: ../../Zotlabs/Module/Admin.php:712
-msgid "Server"
-msgstr "Servidor"
+#: ../../Zotlabs/Module/Lostpass.php:127
+msgid "Forgot your Password?"
+msgstr "¿Ha olvidado su contraseña?"
-#: ../../Zotlabs/Module/Admin.php:746
+#: ../../Zotlabs/Module/Lostpass.php:128
msgid ""
-"By default, unfiltered HTML is allowed in embedded media. This is inherently"
-" insecure."
-msgstr "De forma predeterminada, el HTML sin filtrar está permitido en el contenido multimedia incorporado en una publicación. Esto es siempre inseguro."
+"Enter your email address and submit to have your password reset. Then check "
+"your email for further instructions."
+msgstr "Introduzca y envíe su dirección de correo electrónico para el restablecimiento de su contraseña. Luego revise su correo para obtener más instrucciones."
-#: ../../Zotlabs/Module/Admin.php:749
-msgid ""
-"The recommended setting is to only allow unfiltered HTML from the following "
-"sites:"
-msgstr "La configuración recomendada es que sólo se permita HTML sin filtrar desde los siguientes sitios: "
+#: ../../Zotlabs/Module/Lostpass.php:129
+msgid "Email Address"
+msgstr "Dirección de correo electrónico"
-#: ../../Zotlabs/Module/Admin.php:750
-msgid ""
-"https://youtube.com/<br />https://www.youtube.com/<br />https://youtu.be/<br"
-" />https://vimeo.com/<br />https://soundcloud.com/<br />"
-msgstr "https://youtube.com/<br />https://www.youtube.com/<br />https://youtu.be/<br />https://vimeo.com/<br />https://soundcloud.com/<br />"
+#: ../../Zotlabs/Module/Lostpass.php:130
+msgid "Reset"
+msgstr "Reiniciar"
-#: ../../Zotlabs/Module/Admin.php:751
-msgid ""
-"All other embedded content will be filtered, <strong>unless</strong> "
-"embedded content from that site is explicitly blocked."
-msgstr "El resto del contenido incrustado se filtrará, <strong>excepto</ strong> si el contenido incorporado desde ese sitio está bloqueado de forma explícita."
+#: ../../Zotlabs/Module/Mood.php:67 ../../include/conversation.php:260
+#, php-format
+msgctxt "mood"
+msgid "%1$s is %2$s"
+msgstr "%1$s está %2$s"
-#: ../../Zotlabs/Module/Admin.php:756 ../../include/widgets.php:1493
-msgid "Security"
-msgstr "Seguridad"
+#: ../../Zotlabs/Module/Mood.php:135 ../../Zotlabs/Lib/Apps.php:227
+msgid "Mood"
+msgstr "Estado de ánimo"
-#: ../../Zotlabs/Module/Admin.php:758
-msgid "Block public"
-msgstr "Bloquear páginas públicas"
+#: ../../Zotlabs/Module/Mood.php:136
+msgid "Set your current mood and tell your friends"
+msgstr "Describir su estado de ánimo para comunicárselo a sus amigos"
-#: ../../Zotlabs/Module/Admin.php:758
+#: ../../Zotlabs/Module/Removeme.php:35
msgid ""
-"Check to block public access to all otherwise public personal pages on this "
-"site unless you are currently authenticated."
-msgstr "Habilitar para impedir ver las páginas personales de este sitio a quien no esté actualmente autenticado."
+"Channel removals are not allowed within 48 hours of changing the account "
+"password."
+msgstr "La eliminación de canales no está permitida hasta pasadas 48 horas desde el último cambio de contraseña."
-#: ../../Zotlabs/Module/Admin.php:759
-msgid "Set \"Transport Security\" HTTP header"
-msgstr "Habilitar \"Seguridad de transporte\" (\"Transport Security\") en la cabecera HTTP"
+#: ../../Zotlabs/Module/Removeme.php:60
+msgid "Remove This Channel"
+msgstr "Eliminar este canal"
-#: ../../Zotlabs/Module/Admin.php:760
-msgid "Set \"Content Security Policy\" HTTP header"
-msgstr "Habilitar la \"Política de seguridad del contenido\" (\"Content Security Policy\") en la cabecera HTTP"
+#: ../../Zotlabs/Module/Removeme.php:61
+#: ../../Zotlabs/Module/Removeaccount.php:58
+msgid "WARNING: "
+msgstr "ATENCIÓN:"
-#: ../../Zotlabs/Module/Admin.php:761
-msgid "Allow communications only from these sites"
-msgstr "Permitir la comunicación solo desde estos sitios"
+#: ../../Zotlabs/Module/Removeme.php:61
+msgid "This channel will be completely removed from the network. "
+msgstr "Este canal va a ser completamente eliminado de la red. "
-#: ../../Zotlabs/Module/Admin.php:761
-msgid ""
-"One site per line. Leave empty to allow communication from anywhere by "
-"default"
-msgstr "Un sitio por línea. Dejar en blanco para permitir por defecto la comunicación desde cualquiera"
+#: ../../Zotlabs/Module/Removeme.php:61
+#: ../../Zotlabs/Module/Removeaccount.php:58
+msgid "This action is permanent and can not be undone!"
+msgstr "¡Esta acción tiene carácter definitivo y no se puede deshacer!"
-#: ../../Zotlabs/Module/Admin.php:762
-msgid "Block communications from these sites"
-msgstr "Bloquear la comunicación desde estos sitios"
+#: ../../Zotlabs/Module/Removeme.php:62
+#: ../../Zotlabs/Module/Removeaccount.php:59
+msgid "Please enter your password for verification:"
+msgstr "Por favor, introduzca su contraseña para su verificación:"
-#: ../../Zotlabs/Module/Admin.php:763
-msgid "Allow communications only from these channels"
-msgstr "Permitir la comunicación solo desde estos canales"
+#: ../../Zotlabs/Module/Removeme.php:63
+msgid "Remove this channel and all its clones from the network"
+msgstr "Eliminar este canal y todos sus clones de la red"
-#: ../../Zotlabs/Module/Admin.php:763
+#: ../../Zotlabs/Module/Removeme.php:63
msgid ""
-"One channel (hash) per line. Leave empty to allow from any channel by "
-"default"
-msgstr "Un canal (hash) por línea. Dejar en blanco para permitir por defecto la comunicación desde cualquiera"
-
-#: ../../Zotlabs/Module/Admin.php:764
-msgid "Block communications from these channels"
-msgstr "Bloquear la comunicación desde estos canales"
-
-#: ../../Zotlabs/Module/Admin.php:765
-msgid "Only allow embeds from secure (SSL) websites and links."
-msgstr "Sólo se permite contenido multimedia incorporado desde sitios y enlaces seguros (SSL)."
-
-#: ../../Zotlabs/Module/Admin.php:766
-msgid "Allow unfiltered embedded HTML content only from these domains"
-msgstr "Permitir contenido HTML sin filtrar sólo desde estos dominios "
-
-#: ../../Zotlabs/Module/Admin.php:766
-msgid "One site per line. By default embedded content is filtered."
-msgstr "Un sitio por línea. El contenido incorporado se filtra de forma predeterminada."
-
-#: ../../Zotlabs/Module/Admin.php:767
-msgid "Block embedded HTML from these domains"
-msgstr "Bloquear contenido con HTML incorporado desde estos dominios"
-
-#: ../../Zotlabs/Module/Admin.php:785
-msgid "Update has been marked successful"
-msgstr "La actualización ha sido marcada como exitosa"
-
-#: ../../Zotlabs/Module/Admin.php:795
-#, php-format
-msgid "Executing %s failed. Check system logs."
-msgstr "La ejecución de %s ha fallado. Mirar en los informes del sistema."
-
-#: ../../Zotlabs/Module/Admin.php:798
-#, php-format
-msgid "Update %s was successfully applied."
-msgstr "La actualización de %s se ha realizado exitosamente."
-
-#: ../../Zotlabs/Module/Admin.php:802
-#, php-format
-msgid "Update %s did not return a status. Unknown if it succeeded."
-msgstr "La actualización de %s no ha devuelto ningún estado. No se sabe si ha tenido éxito."
-
-#: ../../Zotlabs/Module/Admin.php:805
-#, php-format
-msgid "Update function %s could not be found."
-msgstr "No se encuentra la función de actualización de %s."
-
-#: ../../Zotlabs/Module/Admin.php:821
-msgid "No failed updates."
-msgstr "No ha fallado ninguna actualización."
-
-#: ../../Zotlabs/Module/Admin.php:825
-msgid "Failed Updates"
-msgstr "Han fallado las actualizaciones"
-
-#: ../../Zotlabs/Module/Admin.php:827
-msgid "Mark success (if update was manually applied)"
-msgstr "Marcar como exitosa (si la actualización se ha hecho manualmente)"
-
-#: ../../Zotlabs/Module/Admin.php:828
-msgid "Attempt to execute this update step automatically"
-msgstr "Intentar ejecutar este paso de actualización automáticamente"
-
-#: ../../Zotlabs/Module/Admin.php:859
-msgid "Queue Statistics"
-msgstr "Estadísticas de la cola"
-
-#: ../../Zotlabs/Module/Admin.php:860
-msgid "Total Entries"
-msgstr "Total de entradas"
-
-#: ../../Zotlabs/Module/Admin.php:861
-msgid "Priority"
-msgstr "Prioridad"
-
-#: ../../Zotlabs/Module/Admin.php:862
-msgid "Destination URL"
-msgstr "Dirección de destino"
-
-#: ../../Zotlabs/Module/Admin.php:863
-msgid "Mark hub permanently offline"
-msgstr "Marcar el servidor como permanentemente fuera de línea"
-
-#: ../../Zotlabs/Module/Admin.php:864
-msgid "Empty queue for this hub"
-msgstr "Vaciar la cola para este servidor"
-
-#: ../../Zotlabs/Module/Admin.php:865
-msgid "Last known contact"
-msgstr "Último contacto conocido"
-
-#: ../../Zotlabs/Module/Admin.php:901
-#, 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.php:908
-#, php-format
-msgid "%s account deleted"
-msgid_plural "%s accounts deleted"
-msgstr[0] "%s cuentas eliminadas"
-msgstr[1] "%s cuentas eliminadas"
-
-#: ../../Zotlabs/Module/Admin.php:944
-msgid "Account not found"
-msgstr "Cuenta no encontrada"
-
-#: ../../Zotlabs/Module/Admin.php:955
-#, php-format
-msgid "Account '%s' deleted"
-msgstr "La cuenta '%s' ha sido eliminada"
+"By default only the instance of the channel located on this hub will be "
+"removed from the network"
+msgstr "Por defecto, solo la instancia del canal alojado en este servidor será eliminado de la red"
-#: ../../Zotlabs/Module/Admin.php:963
-#, php-format
-msgid "Account '%s' blocked"
-msgstr "La cuenta '%s' ha sido bloqueada"
+#: ../../Zotlabs/Module/Removeme.php:64
+#: ../../Zotlabs/Module/Settings/Channel.php:544
+msgid "Remove Channel"
+msgstr "Eliminar el canal"
-#: ../../Zotlabs/Module/Admin.php:971
-#, php-format
-msgid "Account '%s' unblocked"
-msgstr "La cuenta '%s' ha sido desbloqueada"
+#: ../../Zotlabs/Module/Notify.php:57
+#: ../../Zotlabs/Module/Notifications.php:98
+msgid "No more system notifications."
+msgstr "No hay más notificaciones del sistema"
-#: ../../Zotlabs/Module/Admin.php:1031 ../../Zotlabs/Module/Admin.php:1044
-#: ../../include/widgets.php:1491
-msgid "Accounts"
-msgstr "Cuentas"
+#: ../../Zotlabs/Module/Notify.php:61
+#: ../../Zotlabs/Module/Notifications.php:102
+msgid "System Notifications"
+msgstr "Notificaciones del sistema"
-#: ../../Zotlabs/Module/Admin.php:1033 ../../Zotlabs/Module/Admin.php:1212
-msgid "select all"
-msgstr "seleccionar todo"
+#: ../../Zotlabs/Module/Match.php:26
+msgid "Profile Match"
+msgstr "Perfil compatible"
-#: ../../Zotlabs/Module/Admin.php:1034
-msgid "Registrations waiting for confirm"
-msgstr "Inscripciones en espera de confirmación"
+#: ../../Zotlabs/Module/Match.php:35
+msgid "No keywords to match. Please add keywords to your default profile."
+msgstr "No hay palabras clave en el perfil principal para poder encontrar perfiles compatibles. Por favor, añada palabras clave a su perfil principal."
-#: ../../Zotlabs/Module/Admin.php:1035
-msgid "Request date"
-msgstr "Fecha de solicitud"
+#: ../../Zotlabs/Module/Match.php:67
+msgid "is interested in:"
+msgstr "está interesado en:"
-#: ../../Zotlabs/Module/Admin.php:1035 ../../Zotlabs/Module/Admin.php:1047
-#: ../../include/network.php:2208
-msgid "Email"
-msgstr "Correo electrónico"
+#: ../../Zotlabs/Module/Match.php:68 ../../Zotlabs/Module/Suggest.php:56
+#: ../../Zotlabs/Module/Directory.php:325 ../../include/channel.php:1034
+#: ../../include/connections.php:78 ../../include/conversation.php:955
+#: ../../include/widgets.php:147 ../../include/widgets.php:184
+msgid "Connect"
+msgstr "Conectar"
-#: ../../Zotlabs/Module/Admin.php:1036
-msgid "No registrations."
-msgstr "Sin registros."
+#: ../../Zotlabs/Module/Match.php:74
+msgid "No matches"
+msgstr "No se han encontrado perfiles compatibles"
-#: ../../Zotlabs/Module/Admin.php:1038
-msgid "Deny"
-msgstr "Rechazar"
+#: ../../Zotlabs/Module/Dirsearch.php:25 ../../Zotlabs/Module/Regdir.php:49
+msgid "This site is not a directory server"
+msgstr "Este sitio no es un servidor de directorio"
-#: ../../Zotlabs/Module/Admin.php:1048 ../../include/group.php:267
-msgid "All Channels"
-msgstr "Todos los canales"
+#: ../../Zotlabs/Module/Dirsearch.php:33
+msgid "This directory server requires an access token"
+msgstr "El servidor de este directorio necesita un \"token\" de acceso"
-#: ../../Zotlabs/Module/Admin.php:1049
-msgid "Register date"
-msgstr "Fecha de registro"
+#: ../../Zotlabs/Module/Magic.php:71
+msgid "Hub not found."
+msgstr "Servidor no encontrado"
-#: ../../Zotlabs/Module/Admin.php:1050
-msgid "Last login"
-msgstr "Último acceso"
+#: ../../Zotlabs/Module/Photos.php:82
+msgid "Page owner information could not be retrieved."
+msgstr "La información del propietario de la página no pudo ser recuperada."
-#: ../../Zotlabs/Module/Admin.php:1051
-msgid "Expires"
-msgstr "Caduca"
+#: ../../Zotlabs/Module/Photos.php:97 ../../Zotlabs/Module/Photos.php:734
+#: ../../Zotlabs/Module/Profile_photo.php:115
+#: ../../Zotlabs/Module/Profile_photo.php:212
+#: ../../Zotlabs/Module/Profile_photo.php:311
+#: ../../include/photo/photo_driver.php:728
+msgid "Profile Photos"
+msgstr "Fotos del perfil"
-#: ../../Zotlabs/Module/Admin.php:1052
-msgid "Service Class"
-msgstr "Clase de servicio"
+#: ../../Zotlabs/Module/Photos.php:103 ../../Zotlabs/Module/Photos.php:129
+msgid "Album not found."
+msgstr "Álbum no encontrado."
-#: ../../Zotlabs/Module/Admin.php:1054
-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/Photos.php:112
+msgid "Delete Album"
+msgstr "Borrar álbum"
-#: ../../Zotlabs/Module/Admin.php:1055
+#: ../../Zotlabs/Module/Photos.php:133
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.php:1091
-#, php-format
-msgid "%s channel censored/uncensored"
-msgid_plural "%s channels censored/uncensored"
-msgstr[0] "%s canales censurados/no censurados"
-msgstr[1] "%s canales censurados/no censurados"
-
-#: ../../Zotlabs/Module/Admin.php:1100
-#, php-format
-msgid "%s channel code allowed/disallowed"
-msgid_plural "%s channels code allowed/disallowed"
-msgstr[0] "%s código permitido/no permitido al canal"
-msgstr[1] "%s código permitido/no permitido al canal"
-
-#: ../../Zotlabs/Module/Admin.php:1106
-#, php-format
-msgid "%s channel deleted"
-msgid_plural "%s channels deleted"
-msgstr[0] "%s canales eliminados"
-msgstr[1] "%s canales eliminados"
-
-#: ../../Zotlabs/Module/Admin.php:1126
-msgid "Channel not found"
-msgstr "Canal no encontrado"
+"Multiple storage folders exist with this album name, but within different "
+"directories. Please remove the desired folder or folders using the Files "
+"manager"
+msgstr "Hay varias carpetas con este nombre de álbum, pero dentro de diferentes directorios. Por favor, elimine la carpeta o carpetas que desee utilizando el administrador de ficheros"
-#: ../../Zotlabs/Module/Admin.php:1136
-#, php-format
-msgid "Channel '%s' deleted"
-msgstr "Canal '%s' eliminado"
+#: ../../Zotlabs/Module/Photos.php:190 ../../Zotlabs/Module/Photos.php:1059
+msgid "Delete Photo"
+msgstr "Borrar foto"
-#: ../../Zotlabs/Module/Admin.php:1148
-#, php-format
-msgid "Channel '%s' censored"
-msgstr "Canal '%s' censurado"
+#: ../../Zotlabs/Module/Photos.php:509 ../../Zotlabs/Module/Display.php:17
+#: ../../Zotlabs/Module/Ratings.php:83 ../../Zotlabs/Module/Search.php:17
+#: ../../Zotlabs/Module/Viewconnections.php:23
+#: ../../Zotlabs/Module/Directory.php:63
+msgid "Public access denied."
+msgstr "Acceso público denegado."
-#: ../../Zotlabs/Module/Admin.php:1148
-#, php-format
-msgid "Channel '%s' uncensored"
-msgstr "Canal '%s' no censurado"
+#: ../../Zotlabs/Module/Photos.php:520
+msgid "No photos selected"
+msgstr "No hay fotos seleccionadas"
-#: ../../Zotlabs/Module/Admin.php:1159
-#, php-format
-msgid "Channel '%s' code allowed"
-msgstr "Código permitido al canal '%s'"
+#: ../../Zotlabs/Module/Photos.php:569
+msgid "Access to this item is restricted."
+msgstr "El acceso a este elemento está restringido."
-#: ../../Zotlabs/Module/Admin.php:1159
+#: ../../Zotlabs/Module/Photos.php:608
#, php-format
-msgid "Channel '%s' code disallowed"
-msgstr "Código no permitido al canal '%s'"
-
-#: ../../Zotlabs/Module/Admin.php:1210 ../../include/widgets.php:1492
-msgid "Channels"
-msgstr "Canales"
-
-#: ../../Zotlabs/Module/Admin.php:1214
-msgid "Censor"
-msgstr "Censurar"
-
-#: ../../Zotlabs/Module/Admin.php:1215
-msgid "Uncensor"
-msgstr "No censurar"
-
-#: ../../Zotlabs/Module/Admin.php:1216
-msgid "Allow Code"
-msgstr "Permitir código"
-
-#: ../../Zotlabs/Module/Admin.php:1217
-msgid "Disallow Code"
-msgstr "No permitir código"
-
-#: ../../Zotlabs/Module/Admin.php:1218 ../../include/conversation.php:1641
-msgid "Channel"
-msgstr "Canal"
-
-#: ../../Zotlabs/Module/Admin.php:1222
-msgid "UID"
-msgstr "UID"
-
-#: ../../Zotlabs/Module/Admin.php:1226
-msgid ""
-"Selected channels will be deleted!\\n\\nEverything that was posted in these "
-"channels on this site will be permanently deleted!\\n\\nAre you sure?"
-msgstr "Los canales seleccionados se eliminarán!\\n\\nTodo lo publicado por estos canales en este sitio se borrarán definitivamente!\\n\\n¿Está seguro de querer hacerlo?"
-
-#: ../../Zotlabs/Module/Admin.php:1227
-msgid ""
-"The channel {0} will be deleted!\\n\\nEverything that was posted in this "
-"channel on this site will be permanently deleted!\\n\\nAre you sure?"
-msgstr "El canal {0} va a ser eliminado!\\n\\nTodo lo publicado por el canal en este sitio se borrará definitivamente!\\n\\n¿Está seguro de querer hacerlo?"
+msgid "%1$.2f MB of %2$.2f MB photo storage used."
+msgstr "%1$.2f MB de %2$.2f MB de almacenamiento de fotos utilizado."
-#: ../../Zotlabs/Module/Admin.php:1284
+#: ../../Zotlabs/Module/Photos.php:611
#, php-format
-msgid "Plugin %s disabled."
-msgstr "Extensión %s desactivada."
+msgid "%1$.2f MB photo storage used."
+msgstr "%1$.2f MB de almacenamiento de fotos utilizado."
-#: ../../Zotlabs/Module/Admin.php:1288
-#, php-format
-msgid "Plugin %s enabled."
-msgstr "Extensión %s activada."
+#: ../../Zotlabs/Module/Photos.php:647
+msgid "Upload Photos"
+msgstr "Subir fotos"
-#: ../../Zotlabs/Module/Admin.php:1298 ../../Zotlabs/Module/Admin.php:1585
-msgid "Disable"
-msgstr "Desactivar"
+#: ../../Zotlabs/Module/Photos.php:651
+msgid "Enter an album name"
+msgstr "Introducir un nombre de álbum"
-#: ../../Zotlabs/Module/Admin.php:1301 ../../Zotlabs/Module/Admin.php:1587
-msgid "Enable"
-msgstr "Activar"
+#: ../../Zotlabs/Module/Photos.php:652
+msgid "or select an existing album (doubleclick)"
+msgstr "o seleccionar uno existente (doble click)"
-#: ../../Zotlabs/Module/Admin.php:1330 ../../Zotlabs/Module/Admin.php:1420
-#: ../../include/widgets.php:1495
-msgid "Plugins"
-msgstr "Extensiones (plugins)"
+#: ../../Zotlabs/Module/Photos.php:653
+msgid "Create a status post for this upload"
+msgstr "Crear un mensaje de estado para esta subida"
-#: ../../Zotlabs/Module/Admin.php:1331 ../../Zotlabs/Module/Admin.php:1614
-msgid "Toggle"
-msgstr "Cambiar"
+#: ../../Zotlabs/Module/Photos.php:654
+msgid "Caption (optional):"
+msgstr "Título (opcional):"
-#: ../../Zotlabs/Module/Admin.php:1332 ../../Zotlabs/Module/Admin.php:1615
-#: ../../Zotlabs/Lib/Apps.php:216 ../../include/widgets.php:647
-#: ../../include/nav.php:212
-msgid "Settings"
-msgstr "Ajustes"
+#: ../../Zotlabs/Module/Photos.php:655
+msgid "Description (optional):"
+msgstr "Descripción (opcional):"
-#: ../../Zotlabs/Module/Admin.php:1339 ../../Zotlabs/Module/Admin.php:1624
-msgid "Author: "
-msgstr "Autor:"
+#: ../../Zotlabs/Module/Photos.php:686
+msgid "Album name could not be decoded"
+msgstr "El nombre del álbum no ha podido ser descifrado"
-#: ../../Zotlabs/Module/Admin.php:1340 ../../Zotlabs/Module/Admin.php:1625
-msgid "Maintainer: "
-msgstr "Mantenedor:"
+#: ../../Zotlabs/Module/Photos.php:734
+msgid "Contact Photos"
+msgstr "Fotos de contacto"
-#: ../../Zotlabs/Module/Admin.php:1341
-msgid "Minimum project version: "
-msgstr "Versión mínima del proyecto:"
+#: ../../Zotlabs/Module/Photos.php:757
+msgid "Show Newest First"
+msgstr "Mostrar lo más reciente primero"
-#: ../../Zotlabs/Module/Admin.php:1342
-msgid "Maximum project version: "
-msgstr "Versión máxima del proyecto:"
+#: ../../Zotlabs/Module/Photos.php:759
+msgid "Show Oldest First"
+msgstr "Mostrar lo más antiguo primero"
-#: ../../Zotlabs/Module/Admin.php:1343
-msgid "Minimum PHP version: "
-msgstr "Versión mínima de PHP:"
+#: ../../Zotlabs/Module/Photos.php:783 ../../Zotlabs/Module/Photos.php:1337
+#: ../../Zotlabs/Module/Embedphotos.php:141 ../../include/widgets.php:1677
+msgid "View Photo"
+msgstr "Ver foto"
-#: ../../Zotlabs/Module/Admin.php:1344
-msgid "Requires: "
-msgstr "Se requiere:"
+#: ../../Zotlabs/Module/Photos.php:814
+#: ../../Zotlabs/Module/Embedphotos.php:157 ../../include/widgets.php:1694
+msgid "Edit Album"
+msgstr "Editar álbum"
-#: ../../Zotlabs/Module/Admin.php:1345 ../../Zotlabs/Module/Admin.php:1425
-msgid "Disabled - version incompatibility"
-msgstr "Deshabilitado - versiones incompatibles"
+#: ../../Zotlabs/Module/Photos.php:861
+msgid "Permission denied. Access to this item may be restricted."
+msgstr "Permiso denegado. El acceso a este elemento puede estar restringido."
-#: ../../Zotlabs/Module/Admin.php:1394
-msgid "Enter the public git repository URL of the plugin repo."
-msgstr "Escriba la URL pública del repositorio git del plugin."
+#: ../../Zotlabs/Module/Photos.php:863
+msgid "Photo not available"
+msgstr "Foto no disponible"
-#: ../../Zotlabs/Module/Admin.php:1395
-msgid "Plugin repo git URL"
-msgstr "URL del repositorio git del plugin"
+#: ../../Zotlabs/Module/Photos.php:921
+msgid "Use as profile photo"
+msgstr "Usar como foto del perfil"
-#: ../../Zotlabs/Module/Admin.php:1396
-msgid "Custom repo name"
-msgstr "Nombre personalizado del repositorio"
+#: ../../Zotlabs/Module/Photos.php:922
+msgid "Use as cover photo"
+msgstr "Usar como imagen de portada del perfil"
-#: ../../Zotlabs/Module/Admin.php:1396
-msgid "(optional)"
-msgstr "(opcional)"
+#: ../../Zotlabs/Module/Photos.php:929
+msgid "Private Photo"
+msgstr "Foto privada"
-#: ../../Zotlabs/Module/Admin.php:1397
-msgid "Download Plugin Repo"
-msgstr "Descargar el repositorio"
+#: ../../Zotlabs/Module/Photos.php:940 ../../Zotlabs/Module/Cal.php:332
+#: ../../Zotlabs/Module/Cal.php:339 ../../Zotlabs/Module/Events.php:675
+#: ../../Zotlabs/Module/Events.php:684
+msgid "Previous"
+msgstr "Anterior"
-#: ../../Zotlabs/Module/Admin.php:1404
-msgid "Install new repo"
-msgstr "Instalar un nuevo repositorio"
+#: ../../Zotlabs/Module/Photos.php:944
+msgid "View Full Size"
+msgstr "Ver tamaño completo"
-#: ../../Zotlabs/Module/Admin.php:1405 ../../Zotlabs/Lib/Apps.php:334
-msgid "Install"
-msgstr "Instalar"
+#: ../../Zotlabs/Module/Photos.php:1033
+msgid "Edit photo"
+msgstr "Editar foto"
-#: ../../Zotlabs/Module/Admin.php:1427
-msgid "Manage Repos"
-msgstr "Gestionar los repositorios"
+#: ../../Zotlabs/Module/Photos.php:1035
+msgid "Rotate CW (right)"
+msgstr "Girar CW (a la derecha)"
-#: ../../Zotlabs/Module/Admin.php:1428
-msgid "Installed Plugin Repositories"
-msgstr "Repositorios de los plugins instalados"
+#: ../../Zotlabs/Module/Photos.php:1036
+msgid "Rotate CCW (left)"
+msgstr "Girar CCW (a la izquierda)"
-#: ../../Zotlabs/Module/Admin.php:1429
-msgid "Install a New Plugin Repository"
-msgstr "Instalar un nuevo repositorio de plugins"
+#: ../../Zotlabs/Module/Photos.php:1039
+msgid "Move photo to album"
+msgstr "Mover la foto a un álbum"
-#: ../../Zotlabs/Module/Admin.php:1435 ../../Zotlabs/Module/Settings.php:72
-#: ../../Zotlabs/Module/Settings.php:708 ../../Zotlabs/Lib/Apps.php:334
-msgid "Update"
-msgstr "Actualizar"
+#: ../../Zotlabs/Module/Photos.php:1040
+msgid "Enter a new album name"
+msgstr "Introducir un nuevo nombre de álbum"
-#: ../../Zotlabs/Module/Admin.php:1436
-msgid "Switch branch"
-msgstr "Cambiar la rama"
+#: ../../Zotlabs/Module/Photos.php:1041
+msgid "or select an existing one (doubleclick)"
+msgstr "o seleccionar uno (doble click) existente"
-#: ../../Zotlabs/Module/Admin.php:1437 ../../Zotlabs/Module/Photos.php:1000
-#: ../../Zotlabs/Module/Tagrm.php:137
-msgid "Remove"
-msgstr "Eliminar"
+#: ../../Zotlabs/Module/Photos.php:1044
+msgid "Caption"
+msgstr "Título"
-#: ../../Zotlabs/Module/Admin.php:1550
-msgid "No themes found."
-msgstr "No se han encontrado temas."
+#: ../../Zotlabs/Module/Photos.php:1046
+msgid "Add a Tag"
+msgstr "Añadir una etiqueta"
-#: ../../Zotlabs/Module/Admin.php:1606
-msgid "Screenshot"
-msgstr "Instantánea de pantalla"
+#: ../../Zotlabs/Module/Photos.php:1054
+msgid "Example: @bob, @Barbara_Jensen, @jim@example.com"
+msgstr "Ejemplos: @eva, @Carmen_Osuna, @jaime@ejemplo.com"
-#: ../../Zotlabs/Module/Admin.php:1613 ../../Zotlabs/Module/Admin.php:1647
-#: ../../include/widgets.php:1496
-msgid "Themes"
-msgstr "Temas"
+#: ../../Zotlabs/Module/Photos.php:1057
+msgid "Flag as adult in album view"
+msgstr "Marcar como \"solo para adultos\" en el álbum"
-#: ../../Zotlabs/Module/Admin.php:1652
-msgid "[Experimental]"
-msgstr "[Experimental]"
+#: ../../Zotlabs/Module/Photos.php:1076 ../../Zotlabs/Lib/ThreadItem.php:268
+msgid "I like this (toggle)"
+msgstr "Me gusta (cambiar)"
-#: ../../Zotlabs/Module/Admin.php:1653
-msgid "[Unsupported]"
-msgstr "[No soportado]"
+#: ../../Zotlabs/Module/Photos.php:1077 ../../Zotlabs/Lib/ThreadItem.php:269
+msgid "I don't like this (toggle)"
+msgstr "No me gusta esto (cambiar)"
-#: ../../Zotlabs/Module/Admin.php:1677
-msgid "Log settings updated."
-msgstr "Actualizado el informe de configuraciones."
+#: ../../Zotlabs/Module/Photos.php:1078 ../../Zotlabs/Module/Blocks.php:161
+#: ../../Zotlabs/Module/Layouts.php:193 ../../Zotlabs/Module/Webpages.php:241
+#: ../../include/conversation.php:1232
+msgid "Share"
+msgstr "Compartir"
-#: ../../Zotlabs/Module/Admin.php:1732 ../../include/widgets.php:1517
-#: ../../include/widgets.php:1527
-msgid "Logs"
-msgstr "Informes"
+#: ../../Zotlabs/Module/Photos.php:1079 ../../Zotlabs/Lib/ThreadItem.php:405
+#: ../../include/conversation.php:741
+msgid "Please wait"
+msgstr "Espere por favor"
-#: ../../Zotlabs/Module/Admin.php:1734
-msgid "Clear"
-msgstr "Vaciar"
+#: ../../Zotlabs/Module/Photos.php:1095 ../../Zotlabs/Module/Photos.php:1213
+#: ../../Zotlabs/Lib/ThreadItem.php:722
+msgid "This is you"
+msgstr "Este es usted"
-#: ../../Zotlabs/Module/Admin.php:1740
-msgid "Debugging"
-msgstr "Depuración"
+#: ../../Zotlabs/Module/Photos.php:1097 ../../Zotlabs/Module/Photos.php:1215
+#: ../../Zotlabs/Lib/ThreadItem.php:724 ../../include/js_strings.php:6
+msgid "Comment"
+msgstr "Comentar"
-#: ../../Zotlabs/Module/Admin.php:1741
-msgid "Log file"
-msgstr "Fichero de informe"
+#: ../../Zotlabs/Module/Photos.php:1099 ../../Zotlabs/Module/Webpages.php:247
+#: ../../Zotlabs/Module/Events.php:473 ../../Zotlabs/Lib/ThreadItem.php:734
+#: ../../include/page_widgets.php:43 ../../include/conversation.php:1201
+msgid "Preview"
+msgstr "Previsualizar"
-#: ../../Zotlabs/Module/Admin.php:1741
-msgid ""
-"Must be writable by web server. Relative to your top-level webserver "
-"directory."
-msgstr "Debe tener permisos de escritura por el servidor web. La ruta es relativa al directorio web principal."
+#: ../../Zotlabs/Module/Photos.php:1113 ../../include/conversation.php:577
+msgctxt "title"
+msgid "Likes"
+msgstr "Me gusta"
-#: ../../Zotlabs/Module/Admin.php:1742
-msgid "Log level"
-msgstr "Nivel de depuración"
+#: ../../Zotlabs/Module/Photos.php:1113 ../../include/conversation.php:577
+msgctxt "title"
+msgid "Dislikes"
+msgstr "No me gusta"
-#: ../../Zotlabs/Module/Admin.php:2028
-msgid "New Profile Field"
-msgstr "Nuevo campo en el perfil"
+#: ../../Zotlabs/Module/Photos.php:1114 ../../include/conversation.php:578
+msgctxt "title"
+msgid "Agree"
+msgstr "De acuerdo"
-#: ../../Zotlabs/Module/Admin.php:2029 ../../Zotlabs/Module/Admin.php:2049
-msgid "Field nickname"
-msgstr "Alias del campo"
+#: ../../Zotlabs/Module/Photos.php:1114 ../../include/conversation.php:578
+msgctxt "title"
+msgid "Disagree"
+msgstr "En desacuerdo"
-#: ../../Zotlabs/Module/Admin.php:2029 ../../Zotlabs/Module/Admin.php:2049
-msgid "System name of field"
-msgstr "Nombre del campo en el sistema"
+#: ../../Zotlabs/Module/Photos.php:1114 ../../include/conversation.php:578
+msgctxt "title"
+msgid "Abstain"
+msgstr "Abstención"
-#: ../../Zotlabs/Module/Admin.php:2030 ../../Zotlabs/Module/Admin.php:2050
-msgid "Input type"
-msgstr "Tipo de entrada"
+#: ../../Zotlabs/Module/Photos.php:1115 ../../include/conversation.php:579
+msgctxt "title"
+msgid "Attending"
+msgstr "Participaré"
-#: ../../Zotlabs/Module/Admin.php:2031 ../../Zotlabs/Module/Admin.php:2051
-msgid "Field Name"
-msgstr "Nombre del campo"
+#: ../../Zotlabs/Module/Photos.php:1115 ../../include/conversation.php:579
+msgctxt "title"
+msgid "Not attending"
+msgstr "No participaré"
-#: ../../Zotlabs/Module/Admin.php:2031 ../../Zotlabs/Module/Admin.php:2051
-msgid "Label on profile pages"
-msgstr "Etiqueta a mostrar en la página del perfil"
+#: ../../Zotlabs/Module/Photos.php:1115 ../../include/conversation.php:579
+msgctxt "title"
+msgid "Might attend"
+msgstr "Quizá participe"
-#: ../../Zotlabs/Module/Admin.php:2032 ../../Zotlabs/Module/Admin.php:2052
-msgid "Help text"
-msgstr "Texto de ayuda"
+#: ../../Zotlabs/Module/Photos.php:1132 ../../Zotlabs/Module/Photos.php:1144
+#: ../../Zotlabs/Lib/ThreadItem.php:186 ../../Zotlabs/Lib/ThreadItem.php:198
+#: ../../include/conversation.php:1763
+msgid "View all"
+msgstr "Ver todo"
-#: ../../Zotlabs/Module/Admin.php:2032 ../../Zotlabs/Module/Admin.php:2052
-msgid "Additional info (optional)"
-msgstr "Información adicional (opcional)"
+#: ../../Zotlabs/Module/Photos.php:1136 ../../Zotlabs/Lib/ThreadItem.php:190
+#: ../../include/channel.php:1182 ../../include/conversation.php:1787
+#: ../../include/taxonomy.php:403
+msgctxt "noun"
+msgid "Like"
+msgid_plural "Likes"
+msgstr[0] "Me gusta"
+msgstr[1] "Me gusta"
-#: ../../Zotlabs/Module/Admin.php:2042
-msgid "Field definition not found"
-msgstr "Definición del campo no encontrada"
+#: ../../Zotlabs/Module/Photos.php:1141 ../../Zotlabs/Lib/ThreadItem.php:195
+#: ../../include/conversation.php:1790
+msgctxt "noun"
+msgid "Dislike"
+msgid_plural "Dislikes"
+msgstr[0] "No me gusta"
+msgstr[1] "No me gusta"
-#: ../../Zotlabs/Module/Admin.php:2048
-msgid "Edit Profile Field"
-msgstr "Modificar el campo del perfil"
+#: ../../Zotlabs/Module/Photos.php:1241
+msgid "Photo Tools"
+msgstr "Gestión de las fotos"
-#: ../../Zotlabs/Module/Admin.php:2106 ../../include/widgets.php:1498
-msgid "Profile Fields"
-msgstr "Campos del perfil"
+#: ../../Zotlabs/Module/Photos.php:1250
+msgid "In This Photo:"
+msgstr "En esta foto:"
-#: ../../Zotlabs/Module/Admin.php:2107
-msgid "Basic Profile Fields"
-msgstr "Campos básicos del perfil"
+#: ../../Zotlabs/Module/Photos.php:1255
+msgid "Map"
+msgstr "Mapa"
-#: ../../Zotlabs/Module/Admin.php:2108
-msgid "Advanced Profile Fields"
-msgstr "Campos avanzados del perfil"
+#: ../../Zotlabs/Module/Photos.php:1263 ../../Zotlabs/Lib/ThreadItem.php:394
+msgctxt "noun"
+msgid "Likes"
+msgstr "Me gusta"
-#: ../../Zotlabs/Module/Admin.php:2108
-msgid "(In addition to basic fields)"
-msgstr "(Además de los campos básicos)"
+#: ../../Zotlabs/Module/Photos.php:1264 ../../Zotlabs/Lib/ThreadItem.php:395
+msgctxt "noun"
+msgid "Dislikes"
+msgstr "No me gusta"
-#: ../../Zotlabs/Module/Admin.php:2110
-msgid "All available fields"
-msgstr "Todos los campos disponibles"
+#: ../../Zotlabs/Module/Photos.php:1269 ../../Zotlabs/Lib/ThreadItem.php:400
+#: ../../include/acl_selectors.php:181
+msgid "Close"
+msgstr "Cerrar"
-#: ../../Zotlabs/Module/Admin.php:2111
-msgid "Custom Fields"
-msgstr "Campos personalizados"
+#: ../../Zotlabs/Module/Photos.php:1343
+msgid "View Album"
+msgstr "Ver álbum"
-#: ../../Zotlabs/Module/Admin.php:2115
-msgid "Create Custom Field"
-msgstr "Crear un campo personalizado"
+#: ../../Zotlabs/Module/Photos.php:1354 ../../Zotlabs/Module/Photos.php:1367
+#: ../../Zotlabs/Module/Photos.php:1368
+msgid "Recent Photos"
+msgstr "Fotos recientes"
-#: ../../Zotlabs/Module/New_channel.php:128
-#: ../../Zotlabs/Module/Register.php:231
+#: ../../Zotlabs/Module/New_channel.php:134
+#: ../../Zotlabs/Module/Register.php:237
msgid "Name or caption"
msgstr "Nombre o descripción"
-#: ../../Zotlabs/Module/New_channel.php:128
-#: ../../Zotlabs/Module/Register.php:231
+#: ../../Zotlabs/Module/New_channel.php:134
+#: ../../Zotlabs/Module/Register.php:237
msgid "Examples: \"Bob Jameson\", \"Lisa and her Horses\", \"Soccer\", \"Aviation Group\""
msgstr "Ejemplos: \"Juan García\", \"Luisa y sus caballos\", \"Fútbol\", \"Grupo de aviación\""
-#: ../../Zotlabs/Module/New_channel.php:130
-#: ../../Zotlabs/Module/Register.php:233
+#: ../../Zotlabs/Module/New_channel.php:136
+#: ../../Zotlabs/Module/Register.php:239
msgid "Choose a short nickname"
msgstr "Elija un alias corto"
-#: ../../Zotlabs/Module/New_channel.php:130
-#: ../../Zotlabs/Module/Register.php:233
+#: ../../Zotlabs/Module/New_channel.php:136
+#: ../../Zotlabs/Module/Register.php:239
#, php-format
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"
-#: ../../Zotlabs/Module/New_channel.php:132
-#: ../../Zotlabs/Module/Register.php:235
+#: ../../Zotlabs/Module/New_channel.php:137
+#: ../../Zotlabs/Module/Register.php:240
msgid "Channel role and privacy"
msgstr "Clase de canal y privacidad"
-#: ../../Zotlabs/Module/New_channel.php:132
-#: ../../Zotlabs/Module/Register.php:235
+#: ../../Zotlabs/Module/New_channel.php:137
+#: ../../Zotlabs/Module/Register.php:240
msgid "Select a channel role with your privacy requirements."
msgstr "Seleccione un tipo de canal con sus requisitos de privacidad"
-#: ../../Zotlabs/Module/New_channel.php:132
-#: ../../Zotlabs/Module/Register.php:235
+#: ../../Zotlabs/Module/New_channel.php:137
+#: ../../Zotlabs/Module/Register.php:240
msgid "Read more about roles"
msgstr "Leer más sobre los roles"
-#: ../../Zotlabs/Module/New_channel.php:135
+#: ../../Zotlabs/Module/New_channel.php:140
msgid "Create Channel"
msgstr "Crear un canal"
-#: ../../Zotlabs/Module/New_channel.php:136
+#: ../../Zotlabs/Module/New_channel.php:141
msgid ""
"A channel is your identity on this network. It can represent a person, a "
"blog, or a forum to name a few. Channels can make connections with other "
"channels to share information with highly detailed permissions."
msgstr "Un canal es su identidad en esta red. Puede representar a una persona, un blog o un foro, por nombrar unos pocos ejemplos. Los canales se pueden conectar con otros canales para compartir información con una gama de permisos extremadamente detallada."
-#: ../../Zotlabs/Module/New_channel.php:137
+#: ../../Zotlabs/Module/New_channel.php:142
msgid ""
"or <a href=\"import\">import an existing channel</a> from another location."
msgstr "O <a href=\"import\">importar un canal existente</a> desde otro lugar."
@@ -4653,12 +4719,12 @@ msgstr "Petición inválida del identificador."
msgid "Discard"
msgstr "Descartar"
-#: ../../Zotlabs/Module/Notifications.php:103 ../../include/nav.php:195
+#: ../../Zotlabs/Module/Notifications.php:103 ../../include/nav.php:196
msgid "Mark all system notifications seen"
msgstr "Marcar todas las notificaciones de sistema como leídas"
#: ../../Zotlabs/Module/Poke.php:168 ../../Zotlabs/Lib/Apps.php:228
-#: ../../include/conversation.php:964
+#: ../../include/conversation.php:959
msgid "Poke"
msgstr "Toques y otras cosas"
@@ -4686,6 +4752,11 @@ msgstr "Elegir qué desea enviar al destinatario"
msgid "Make this post private"
msgstr "Convertir en privado este envío"
+#: ../../Zotlabs/Module/Apps.php:46 ../../include/nav.php:168
+#: ../../include/widgets.php:102
+msgid "Apps"
+msgstr "Aplicaciones (apps)"
+
#: ../../Zotlabs/Module/Oexchange.php:27
msgid "Unable to find your hub."
msgstr "No se puede encontrar su servidor."
@@ -4743,9 +4814,10 @@ msgstr "Por favor inicie sesión para continuar."
#: ../../Zotlabs/Module/Api.php:83
msgid ""
-"Do you want to authorize this application to access your posts and contacts,"
-" and/or create new posts for you?"
-msgstr "¿Desea autorizar a esta aplicación a acceder a sus publicaciones y contactos, y/o crear nuevas publicaciones por usted?"
+"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 "Atención: El cambio de algunos ajustes puede volver inutilizable su canal. Por favor, abandone la página excepto que esté seguro y sepa cómo usar correctamente esta característica."
#: ../../Zotlabs/Module/Siteinfo.php:19
#, php-format
@@ -4806,7 +4878,7 @@ msgstr "Sugerencias, elogios, etc - por favor, un correo electrónico a \"redmat
msgid "Site Administrators"
msgstr "Administradores del sitio"
-#: ../../Zotlabs/Module/Blocks.php:154 ../../include/text.php:2262
+#: ../../Zotlabs/Module/Blocks.php:154 ../../include/text.php:2308
msgid "Blocks"
msgstr "Bloques"
@@ -4814,16 +4886,16 @@ msgstr "Bloques"
msgid "Block Title"
msgstr "Título del bloque"
-#: ../../Zotlabs/Module/Blocks.php:161 ../../Zotlabs/Module/Layouts.php:193
-#: ../../Zotlabs/Module/Photos.php:1078 ../../Zotlabs/Module/Webpages.php:218
-#: ../../include/conversation.php:1226
-msgid "Share"
-msgstr "Compartir"
-
-#: ../../Zotlabs/Module/Layouts.php:183 ../../include/text.php:2264
+#: ../../Zotlabs/Module/Layouts.php:183 ../../include/text.php:2310
msgid "Layouts"
msgstr "Plantillas"
+#: ../../Zotlabs/Module/Layouts.php:185 ../../Zotlabs/Lib/Apps.php:225
+#: ../../include/help.php:47 ../../include/help.php:52
+#: ../../include/nav.php:164
+msgid "Help"
+msgstr "Ayuda"
+
#: ../../Zotlabs/Module/Layouts.php:185
msgid "Comanche page description language help"
msgstr "Página de ayuda del lenguaje de descripción de páginas (PDL) Comanche"
@@ -4836,47 +4908,73 @@ msgstr "Descripción de la plantilla"
msgid "Download PDL file"
msgstr "Descargar el fichero PDL"
-#: ../../Zotlabs/Module/Pubsites.php:22 ../../include/widgets.php:1351
-msgid "Public Hubs"
-msgstr "Servidores públicos"
+#: ../../Zotlabs/Module/Admin.php:97
+msgid "# Accounts"
+msgstr "# Cuentas"
-#: ../../Zotlabs/Module/Pubsites.php:25
-msgid ""
-"The listed hubs allow public registration for the $Projectname network. All "
-"hubs in the network are interlinked so membership on any of them conveys "
-"membership in the network as a whole. Some hubs may require subscription or "
-"provide tiered service plans. The hub itself <strong>may</strong> provide "
-"additional details."
-msgstr "Los sitios listados permiten el registro público en la red $Projectname. Todos los sitios de la red están vinculados entre sí, por lo que sus miembros, en ninguno de ellos, indican la pertenencia a la red en su conjunto. Algunos sitios pueden requerir suscripción o proporcionar planes de servicio por niveles. Los mismos hubs <strong>pueden</strong> proporcionar detalles adicionales."
+#: ../../Zotlabs/Module/Admin.php:98
+msgid "# blocked accounts"
+msgstr "# cuentas bloqueadas"
-#: ../../Zotlabs/Module/Pubsites.php:31
-msgid "Hub URL"
-msgstr "Dirección del hub"
+#: ../../Zotlabs/Module/Admin.php:99
+msgid "# expired accounts"
+msgstr "# cuentas caducadas"
-#: ../../Zotlabs/Module/Pubsites.php:31
-msgid "Access Type"
-msgstr "Tipo de acceso"
+#: ../../Zotlabs/Module/Admin.php:100
+msgid "# expiring accounts"
+msgstr "# cuentas que caducan"
-#: ../../Zotlabs/Module/Pubsites.php:31
-msgid "Registration Policy"
-msgstr "Normas de registro"
+#: ../../Zotlabs/Module/Admin.php:111
+msgid "# Channels"
+msgstr "# Canales"
-#: ../../Zotlabs/Module/Pubsites.php:31
-msgid "Stats"
-msgstr "Estadísticas"
+#: ../../Zotlabs/Module/Admin.php:112
+msgid "# primary"
+msgstr "# primario"
-#: ../../Zotlabs/Module/Pubsites.php:31
-msgid "Software"
-msgstr "Software"
+#: ../../Zotlabs/Module/Admin.php:113
+msgid "# clones"
+msgstr "# clones"
-#: ../../Zotlabs/Module/Pubsites.php:31 ../../Zotlabs/Module/Ratings.php:103
-#: ../../include/conversation.php:963
-msgid "Ratings"
-msgstr "Valoraciones"
+#: ../../Zotlabs/Module/Admin.php:119
+msgid "Message queues"
+msgstr "Mensajes en cola"
-#: ../../Zotlabs/Module/Pubsites.php:38
-msgid "Rate"
-msgstr "Valorar"
+#: ../../Zotlabs/Module/Admin.php:136
+msgid "Your software should be updated"
+msgstr "Debe actualizar su software"
+
+#: ../../Zotlabs/Module/Admin.php:142
+msgid "Summary"
+msgstr "Sumario"
+
+#: ../../Zotlabs/Module/Admin.php:145
+msgid "Registered accounts"
+msgstr "Cuentas registradas"
+
+#: ../../Zotlabs/Module/Admin.php:146
+msgid "Pending registrations"
+msgstr "Registros pendientes"
+
+#: ../../Zotlabs/Module/Admin.php:147
+msgid "Registered channels"
+msgstr "Canales registrados"
+
+#: ../../Zotlabs/Module/Admin.php:148
+msgid "Active plugins"
+msgstr "Extensiones (plugins) activas"
+
+#: ../../Zotlabs/Module/Admin.php:149
+msgid "Version"
+msgstr "Versión"
+
+#: ../../Zotlabs/Module/Admin.php:150
+msgid "Repository version (master)"
+msgstr "Versión del repositorio (master)"
+
+#: ../../Zotlabs/Module/Admin.php:151
+msgid "Repository version (dev)"
+msgstr "Versión del repositorio (dev)"
#: ../../Zotlabs/Module/Profile_photo.php:115
#: ../../Zotlabs/Module/Profile_photo.php:212
@@ -5109,63 +5207,38 @@ msgstr "Descripción (opcional):"
msgid "Album name could not be decoded"
msgstr "El nombre del álbum no ha podido ser descifrado"
-#: ../../Zotlabs/Module/Photos.php:745
-msgid "Contact Photos"
-msgstr "Fotos de contacto"
-
-#: ../../Zotlabs/Module/Photos.php:768
-msgid "Show Newest First"
-msgstr "Mostrar lo más reciente primero"
-
-#: ../../Zotlabs/Module/Photos.php:770
-msgid "Show Oldest First"
-msgstr "Mostrar lo más antiguo primero"
-
-#: ../../Zotlabs/Module/Photos.php:794 ../../Zotlabs/Module/Photos.php:1337
-#: ../../Zotlabs/Module/Embedphotos.php:141 ../../include/widgets.php:1607
-msgid "View Photo"
-msgstr "Ver foto"
-
-#: ../../Zotlabs/Module/Photos.php:825
-#: ../../Zotlabs/Module/Embedphotos.php:157 ../../include/widgets.php:1624
-msgid "Edit Album"
-msgstr "Editar álbum"
-
-#: ../../Zotlabs/Module/Photos.php:872
-msgid "Permission denied. Access to this item may be restricted."
-msgstr "Permiso denegado. El acceso a este elemento puede estar restringido."
-
-#: ../../Zotlabs/Module/Photos.php:874
-msgid "Photo not available"
-msgstr "Foto no disponible"
+#: ../../Zotlabs/Module/Cal.php:69
+msgid "Permissions denied."
+msgstr "Permisos denegados."
-#: ../../Zotlabs/Module/Photos.php:932
-msgid "Use as profile photo"
-msgstr "Usar como foto del perfil"
+#: ../../Zotlabs/Module/Cal.php:259 ../../Zotlabs/Module/Events.php:597
+msgid "l, F j"
+msgstr "l j F"
-#: ../../Zotlabs/Module/Photos.php:933
-msgid "Use as cover photo"
-msgstr "Usar como imagen de portada del perfil"
+#: ../../Zotlabs/Module/Cal.php:308 ../../Zotlabs/Module/Events.php:646
+#: ../../include/text.php:1762
+msgid "Link to Source"
+msgstr "Enlazar con la entrada en su ubicación original"
-#: ../../Zotlabs/Module/Photos.php:940
-msgid "Private Photo"
-msgstr "Foto privada"
+#: ../../Zotlabs/Module/Cal.php:331 ../../Zotlabs/Module/Events.php:674
+msgid "Edit Event"
+msgstr "Editar el evento"
-#: ../../Zotlabs/Module/Photos.php:955
-msgid "View Full Size"
-msgstr "Ver tamaño completo"
+#: ../../Zotlabs/Module/Cal.php:331 ../../Zotlabs/Module/Events.php:674
+msgid "Create Event"
+msgstr "Crear un evento"
-#: ../../Zotlabs/Module/Photos.php:1034
-msgid "Edit photo"
-msgstr "Editar foto"
+#: ../../Zotlabs/Module/Cal.php:334 ../../Zotlabs/Module/Events.php:677
+msgid "Export"
+msgstr "Exportar"
-#: ../../Zotlabs/Module/Photos.php:1036
-msgid "Rotate CW (right)"
-msgstr "Girar CW (a la derecha)"
+#: ../../Zotlabs/Module/Cal.php:337 ../../include/text.php:2332
+msgid "Import"
+msgstr "Importar"
-#: ../../Zotlabs/Module/Photos.php:1037
-msgid "Rotate CCW (left)"
-msgstr "Girar CCW (a la izquierda)"
+#: ../../Zotlabs/Module/Cal.php:341 ../../Zotlabs/Module/Events.php:686
+msgid "Today"
+msgstr "Hoy"
#: ../../Zotlabs/Module/Photos.php:1040
msgid "Enter a new album name"
@@ -5179,21 +5252,21 @@ msgstr "o seleccionar uno (doble click) existente"
msgid "Caption"
msgstr "Título"
-#: ../../Zotlabs/Module/Photos.php:1046
-msgid "Add a Tag"
-msgstr "Añadir una etiqueta"
+#: ../../Zotlabs/Module/Ratings.php:70
+msgid "No ratings"
+msgstr "Ninguna valoración"
-#: ../../Zotlabs/Module/Photos.php:1054
-msgid "Example: @bob, @Barbara_Jensen, @jim@example.com"
-msgstr "Ejemplos: @eva, @Carmen_Osuna, @jaime@ejemplo.com"
+#: ../../Zotlabs/Module/Ratings.php:98
+msgid "Rating: "
+msgstr "Valoración:"
-#: ../../Zotlabs/Module/Photos.php:1057
-msgid "Flag as adult in album view"
-msgstr "Marcar como \"solo para adultos\" en el álbum"
+#: ../../Zotlabs/Module/Ratings.php:99
+msgid "Website: "
+msgstr "Sitio web:"
-#: ../../Zotlabs/Module/Photos.php:1076 ../../Zotlabs/Lib/ThreadItem.php:262
-msgid "I like this (toggle)"
-msgstr "Me gusta (cambiar)"
+#: ../../Zotlabs/Module/Ratings.php:101
+msgid "Description: "
+msgstr "Descripción:"
#: ../../Zotlabs/Module/Photos.php:1077 ../../Zotlabs/Lib/ThreadItem.php:263
msgid "I don't like this (toggle)"
@@ -5244,74 +5317,98 @@ msgctxt "title"
msgid "Attending"
msgstr "Participaré"
-#: ../../Zotlabs/Module/Photos.php:1115 ../../include/conversation.php:579
-msgctxt "title"
-msgid "Not attending"
-msgstr "No participaré"
+#: ../../Zotlabs/Module/Register.php:221
+msgid "Terms of Service"
+msgstr "Términos del servicio"
-#: ../../Zotlabs/Module/Photos.php:1115 ../../include/conversation.php:579
-msgctxt "title"
-msgid "Might attend"
-msgstr "Quizá participe"
+#: ../../Zotlabs/Module/Register.php:227
+#, php-format
+msgid "I accept the %s for this website"
+msgstr "Acepto los %s de este sitio"
-#: ../../Zotlabs/Module/Photos.php:1132 ../../Zotlabs/Module/Photos.php:1144
-#: ../../Zotlabs/Lib/ThreadItem.php:181 ../../Zotlabs/Lib/ThreadItem.php:193
-#: ../../include/conversation.php:1753
-msgid "View all"
-msgstr "Ver todo"
+#: ../../Zotlabs/Module/Register.php:229
+#, php-format
+msgid "I am over 13 years of age and accept the %s for this website"
+msgstr "Tengo más de 13 años de edad y acepto los %s de este sitio"
-#: ../../Zotlabs/Module/Photos.php:1136 ../../Zotlabs/Lib/ThreadItem.php:185
-#: ../../include/conversation.php:1777 ../../include/taxonomy.php:403
-#: ../../include/channel.php:1182
-msgctxt "noun"
-msgid "Like"
-msgid_plural "Likes"
-msgstr[0] "Me gusta"
-msgstr[1] "Me gusta"
+#: ../../Zotlabs/Module/Register.php:233
+msgid "Your email address"
+msgstr "Su dirección de correo electrónico"
-#: ../../Zotlabs/Module/Photos.php:1141 ../../Zotlabs/Lib/ThreadItem.php:190
-#: ../../include/conversation.php:1780
-msgctxt "noun"
-msgid "Dislike"
-msgid_plural "Dislikes"
-msgstr[0] "No me gusta"
-msgstr[1] "No me gusta"
+#: ../../Zotlabs/Module/Register.php:234
+msgid "Choose a password"
+msgstr "Elija una contraseña"
-#: ../../Zotlabs/Module/Photos.php:1241
-msgid "Photo Tools"
-msgstr "Gestión de las fotos"
+#: ../../Zotlabs/Module/Register.php:235
+msgid "Please re-enter your password"
+msgstr "Por favor, vuelva a escribir su contraseña"
-#: ../../Zotlabs/Module/Photos.php:1250
-msgid "In This Photo:"
-msgstr "En esta foto:"
+#: ../../Zotlabs/Module/Register.php:236
+msgid "Please enter your invitation code"
+msgstr "Por favor, introduzca el código de su invitación"
-#: ../../Zotlabs/Module/Photos.php:1255
-msgid "Map"
-msgstr "Mapa"
+#: ../../Zotlabs/Module/Register.php:241
+msgid "no"
+msgstr "no"
-#: ../../Zotlabs/Module/Photos.php:1263 ../../Zotlabs/Lib/ThreadItem.php:387
-msgctxt "noun"
-msgid "Likes"
-msgstr "Me gusta"
+#: ../../Zotlabs/Module/Register.php:241
+msgid "yes"
+msgstr "sí"
-#: ../../Zotlabs/Module/Photos.php:1264 ../../Zotlabs/Lib/ThreadItem.php:388
-msgctxt "noun"
-msgid "Dislikes"
-msgstr "No me gusta"
+#: ../../Zotlabs/Module/Register.php:258
+msgid "Membership on this site is by invitation only."
+msgstr "Para registrarse en este sitio es necesaria una invitación."
-#: ../../Zotlabs/Module/Photos.php:1269 ../../Zotlabs/Lib/ThreadItem.php:393
-#: ../../include/acl_selectors.php:188
-msgid "Close"
-msgstr "Cerrar"
+#: ../../Zotlabs/Module/Register.php:270 ../../include/nav.php:152
+#: ../../boot.php:1721
+msgid "Register"
+msgstr "Registrarse"
-#: ../../Zotlabs/Module/Photos.php:1343
-msgid "View Album"
-msgstr "Ver álbum"
+#: ../../Zotlabs/Module/Register.php:271
+msgid ""
+"This site may require email verification after submitting this form. If you "
+"are returned to a login page, please check your email for instructions."
+msgstr "Este sitio puede requerir una verificación de correo electrónico después de enviar este formulario. Si es devuelto a una página de inicio de sesión, compruebe su email para recibir y leer las instrucciones."
-#: ../../Zotlabs/Module/Photos.php:1354 ../../Zotlabs/Module/Photos.php:1367
-#: ../../Zotlabs/Module/Photos.php:1368
-msgid "Recent Photos"
-msgstr "Fotos recientes"
+#: ../../Zotlabs/Module/Help.php:27
+msgid "Documentation Search"
+msgstr "Búsqueda de Documentación"
+
+#: ../../Zotlabs/Module/Help.php:57
+msgid "$Projectname Documentation"
+msgstr "Documentación de $Projectname"
+
+#: ../../Zotlabs/Module/Rbmark.php:94
+msgid "Select a bookmark folder"
+msgstr "Seleccionar una carpeta de marcadores"
+
+#: ../../Zotlabs/Module/Rbmark.php:99
+msgid "Save Bookmark"
+msgstr "Guardar marcador"
+
+#: ../../Zotlabs/Module/Rbmark.php:100
+msgid "URL of bookmark"
+msgstr "Dirección del marcador"
+
+#: ../../Zotlabs/Module/Rbmark.php:105
+msgid "Or enter new bookmark folder name"
+msgstr "O introduzca un nuevo nombre para la carpeta de marcadores"
+
+#: ../../Zotlabs/Module/Rmagic.php:35
+msgid "Authentication failed."
+msgstr "Falló la autenticación."
+
+#: ../../Zotlabs/Module/Rmagic.php:75
+msgid "Remote Authentication"
+msgstr "Acceso desde su servidor"
+
+#: ../../Zotlabs/Module/Rmagic.php:76
+msgid "Enter your channel address (e.g. channel@example.com)"
+msgstr "Introduzca la dirección del canal (p.ej. canal@ejemplo.com)"
+
+#: ../../Zotlabs/Module/Rmagic.php:77
+msgid "Authenticate"
+msgstr "Acceder"
#: ../../Zotlabs/Module/Regmod.php:15
msgid "Please login."
@@ -5328,26 +5425,11 @@ msgid "Remove This Account"
msgstr "Eliminar esta cuenta"
#: ../../Zotlabs/Module/Removeaccount.php:58
-#: ../../Zotlabs/Module/Removeme.php:61
-msgid "WARNING: "
-msgstr "ATENCIÓN:"
-
-#: ../../Zotlabs/Module/Removeaccount.php:58
msgid ""
"This account and all its channels will be completely removed from the "
"network. "
msgstr "Esta cuenta y todos sus canales van a ser eliminados de la red."
-#: ../../Zotlabs/Module/Removeaccount.php:58
-#: ../../Zotlabs/Module/Removeme.php:61
-msgid "This action is permanent and can not be undone!"
-msgstr "¡Esta acción tiene carácter definitivo y no se puede deshacer!"
-
-#: ../../Zotlabs/Module/Removeaccount.php:59
-#: ../../Zotlabs/Module/Removeme.php:62
-msgid "Please enter your password for verification:"
-msgstr "Por favor, introduzca su contraseña para su verificación:"
-
#: ../../Zotlabs/Module/Removeaccount.php:60
msgid ""
"Remove this account, all its channels and all its channel clones from the "
@@ -5361,37 +5443,62 @@ msgid ""
msgstr "Por defecto, solo las instancias de los canales ubicados en este servidor serán eliminados de la red"
#: ../../Zotlabs/Module/Removeaccount.php:61
-#: ../../Zotlabs/Module/Settings.php:797
+#: ../../Zotlabs/Module/Settings/Account.php:128
msgid "Remove Account"
msgstr "Eliminar cuenta"
-#: ../../Zotlabs/Module/Removeme.php:35
-msgid ""
-"Channel removals are not allowed within 48 hours of changing the account "
-"password."
-msgstr "La eliminación de canales no está permitida hasta pasadas 48 horas desde el último cambio de contraseña."
+#: ../../Zotlabs/Module/Webpages.php:52
+msgid "Import Webpage Elements"
+msgstr "Importar elementos de una página web"
-#: ../../Zotlabs/Module/Removeme.php:60
-msgid "Remove This Channel"
-msgstr "Eliminar este canal"
+#: ../../Zotlabs/Module/Webpages.php:53
+msgid "Import selected"
+msgstr "Importar elementos seleccionados"
-#: ../../Zotlabs/Module/Removeme.php:61
-msgid "This channel will be completely removed from the network. "
-msgstr "Este canal va a ser completamente eliminado de la red."
+#: ../../Zotlabs/Module/Webpages.php:76
+msgid "Export Webpage Elements"
+msgstr "Exportar elementos de una página web"
-#: ../../Zotlabs/Module/Removeme.php:63
-msgid "Remove this channel and all its clones from the network"
-msgstr "Eliminar este canal y todos sus clones de la red"
+#: ../../Zotlabs/Module/Webpages.php:77
+msgid "Export selected"
+msgstr "Exportar elementos seleccionados"
-#: ../../Zotlabs/Module/Removeme.php:63
-msgid ""
-"By default only the instance of the channel located on this hub will be "
-"removed from the network"
-msgstr "Por defecto, solo la instancia del canal alojado en este servidor será eliminado de la red"
+#: ../../Zotlabs/Module/Webpages.php:237 ../../Zotlabs/Lib/Apps.php:218
+#: ../../include/nav.php:109 ../../include/conversation.php:1725
+msgid "Webpages"
+msgstr "Páginas web"
-#: ../../Zotlabs/Module/Removeme.php:64 ../../Zotlabs/Module/Settings.php:1323
-msgid "Remove Channel"
-msgstr "Eliminar el canal"
+#: ../../Zotlabs/Module/Webpages.php:248 ../../include/page_widgets.php:44
+msgid "Actions"
+msgstr "Acciones"
+
+#: ../../Zotlabs/Module/Webpages.php:249 ../../include/page_widgets.php:45
+msgid "Page Link"
+msgstr "Vínculo de la página"
+
+#: ../../Zotlabs/Module/Webpages.php:250
+msgid "Page Title"
+msgstr "Título de página"
+
+#: ../../Zotlabs/Module/Webpages.php:280
+msgid "Invalid file type."
+msgstr "Tipo de fichero no válido."
+
+#: ../../Zotlabs/Module/Webpages.php:292
+msgid "Error opening zip file"
+msgstr "Error al abrir el fichero comprimido zip"
+
+#: ../../Zotlabs/Module/Webpages.php:303
+msgid "Invalid folder path."
+msgstr "La ruta de la carpeta no es válida."
+
+#: ../../Zotlabs/Module/Webpages.php:330
+msgid "No webpage elements detected."
+msgstr "No se han detectado elementos de ninguna página web."
+
+#: ../../Zotlabs/Module/Webpages.php:405
+msgid "Import complete."
+msgstr "Importación completada."
#: ../../Zotlabs/Module/Uexport.php:55 ../../Zotlabs/Module/Uexport.php:56
msgid "Export Channel"
@@ -5451,166 +5558,241 @@ 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/Webpages.php:53
-msgid "Import Webpage Elements"
-msgstr "Importar elementos de una página web"
+#: ../../Zotlabs/Module/Editpost.php:35
+msgid "Item is not editable"
+msgstr "El elemento no es editable"
-#: ../../Zotlabs/Module/Webpages.php:54
-msgid "Import selected"
-msgstr "Importar elementos seleccionados"
+#: ../../Zotlabs/Module/Search.php:216
+#, php-format
+msgid "Items tagged with: %s"
+msgstr "elementos etiquetados con: %s"
-#: ../../Zotlabs/Module/Webpages.php:214 ../../Zotlabs/Lib/Apps.php:218
-#: ../../include/conversation.php:1715 ../../include/nav.php:108
-msgid "Webpages"
-msgstr "Páginas web"
+#: ../../Zotlabs/Module/Search.php:218
+#, php-format
+msgid "Search results for: %s"
+msgstr "Resultados de la búsqueda para: %s"
-#: ../../Zotlabs/Module/Webpages.php:225 ../../include/page_widgets.php:44
-msgid "Actions"
-msgstr "Acciones"
+#: ../../Zotlabs/Module/Events.php:25
+msgid "Calendar entries imported."
+msgstr "Entradas de calendario importadas."
-#: ../../Zotlabs/Module/Webpages.php:226 ../../include/page_widgets.php:45
-msgid "Page Link"
-msgstr "Vínculo de la página"
+#: ../../Zotlabs/Module/Events.php:27
+msgid "No calendar entries found."
+msgstr "No se han encontrado entradas de calendario."
-#: ../../Zotlabs/Module/Webpages.php:227
-msgid "Page Title"
-msgstr "Título de página"
+#: ../../Zotlabs/Module/Events.php:104
+msgid "Event can not end before it has started."
+msgstr "Un evento no puede terminar antes de que haya comenzado."
-#: ../../Zotlabs/Module/Webpages.php:258
-msgid "Invalid file type."
-msgstr "Tipo de fichero no válido."
+#: ../../Zotlabs/Module/Events.php:106 ../../Zotlabs/Module/Events.php:115
+#: ../../Zotlabs/Module/Events.php:135
+msgid "Unable to generate preview."
+msgstr "No se puede crear la vista previa."
-#: ../../Zotlabs/Module/Webpages.php:270
-msgid "Error opening zip file"
-msgstr "Error al abrir el fichero comprimido zip"
+#: ../../Zotlabs/Module/Events.php:113
+msgid "Event title and start time are required."
+msgstr "Se requieren el título del evento y su hora de inicio."
-#: ../../Zotlabs/Module/Webpages.php:281
-msgid "Invalid folder path."
-msgstr "La ruta de la carpeta no es válida."
+#: ../../Zotlabs/Module/Events.php:133 ../../Zotlabs/Module/Events.php:258
+msgid "Event not found."
+msgstr "Evento no encontrado."
-#: ../../Zotlabs/Module/Webpages.php:308
-msgid "No webpage elements detected."
-msgstr "No se han detectado elementos de ninguna página web."
+#: ../../Zotlabs/Module/Events.php:452
+msgid "Edit event title"
+msgstr "Editar el título del evento"
-#: ../../Zotlabs/Module/Webpages.php:382
-msgid "Import complete."
-msgstr "Importación completada."
+#: ../../Zotlabs/Module/Events.php:452
+msgid "Event title"
+msgstr "Título del evento"
-#: ../../Zotlabs/Module/Search.php:216
-#, php-format
-msgid "Items tagged with: %s"
-msgstr "elementos etiquetados con: %s"
+#: ../../Zotlabs/Module/Events.php:454
+msgid "Categories (comma-separated list)"
+msgstr "Temas (lista separada por comas)"
-#: ../../Zotlabs/Module/Search.php:218
-#, php-format
-msgid "Search results for: %s"
-msgstr "Resultados de la búsqueda para: %s"
+#: ../../Zotlabs/Module/Events.php:455
+msgid "Edit Category"
+msgstr "Modificar el tema"
-#: ../../Zotlabs/Module/Service_limits.php:23
-msgid "No service class restrictions found."
-msgstr "No se han encontrado restricciones sobre esta clase de servicio."
+#: ../../Zotlabs/Module/Events.php:455
+msgid "Category"
+msgstr "Tema"
-#: ../../Zotlabs/Module/Register.php:49
-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/Events.php:458
+msgid "Edit start date and time"
+msgstr "Modificar la fecha y hora de comienzo"
-#: ../../Zotlabs/Module/Register.php:55
-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/Events.php:458
+msgid "Start date and time"
+msgstr "Fecha y hora de comienzo"
+
+#: ../../Zotlabs/Module/Events.php:459 ../../Zotlabs/Module/Events.php:462
+msgid "Finish date and time are not known or not relevant"
+msgstr "La fecha y hora de terminación no se conocen o no son relevantes"
+
+#: ../../Zotlabs/Module/Events.php:461
+msgid "Edit finish date and time"
+msgstr "Modificar la fecha y hora de terminación"
+
+#: ../../Zotlabs/Module/Events.php:461
+msgid "Finish date and time"
+msgstr "Fecha y hora de terminación"
-#: ../../Zotlabs/Module/Register.php:89
-msgid "Passwords do not match."
-msgstr "Las contraseñas no coinciden."
+#: ../../Zotlabs/Module/Events.php:463 ../../Zotlabs/Module/Events.php:464
+msgid "Adjust for viewer timezone"
+msgstr "Ajustar para obtener el visor de los husos horarios"
-#: ../../Zotlabs/Module/Register.php:131
+#: ../../Zotlabs/Module/Events.php:463
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."
+"Important for events that happen in a particular place. Not practical for "
+"global holidays."
+msgstr "Importante para los eventos que suceden en un lugar determinado. No es práctico para los globales."
-#: ../../Zotlabs/Module/Register.php:137
-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/Events.php:465
+msgid "Edit Description"
+msgstr "Editar la descripción"
-#: ../../Zotlabs/Module/Register.php:140
-msgid "Your registration can not be processed."
-msgstr "Su registro no puede ser procesado."
+#: ../../Zotlabs/Module/Events.php:467
+msgid "Edit Location"
+msgstr "Modificar la dirección"
-#: ../../Zotlabs/Module/Register.php:184
-msgid "Registration on this hub is disabled."
-msgstr "El registro está deshabilitado en este sitio."
+#: ../../Zotlabs/Module/Events.php:470 ../../Zotlabs/Module/Events.php:472
+msgid "Share this event"
+msgstr "Compartir este evento"
-#: ../../Zotlabs/Module/Register.php:193
-msgid "Registration on this hub is by approval only."
-msgstr "El registro en este hub está sometido a aprobación previa."
+#: ../../Zotlabs/Module/Events.php:474 ../../include/conversation.php:1264
+msgid "Permission settings"
+msgstr "Configuración de permisos"
-#: ../../Zotlabs/Module/Register.php:194
-msgid "<a href=\"pubsites\">Register at another affiliated hub.</a>"
-msgstr "<a href=\"pubsites\">Registrarse en otro hub afiliado.</a>"
+#: ../../Zotlabs/Module/Events.php:485
+msgid "Advanced Options"
+msgstr "Opciones avanzadas"
-#: ../../Zotlabs/Module/Register.php:204
-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/Events.php:619
+msgid "Edit event"
+msgstr "Editar evento"
-#: ../../Zotlabs/Module/Register.php:215
-msgid "Terms of Service"
-msgstr "Términos del servicio"
+#: ../../Zotlabs/Module/Events.php:621
+msgid "Delete event"
+msgstr "Borrar evento"
-#: ../../Zotlabs/Module/Register.php:221
-#, php-format
-msgid "I accept the %s for this website"
-msgstr "Acepto los %s de este sitio"
+#: ../../Zotlabs/Module/Events.php:655
+msgid "calendar"
+msgstr "calendario"
-#: ../../Zotlabs/Module/Register.php:223
+#: ../../Zotlabs/Module/Events.php:681
+msgid "Month"
+msgstr "Mes"
+
+#: ../../Zotlabs/Module/Events.php:682
+msgid "Week"
+msgstr "Semana"
+
+#: ../../Zotlabs/Module/Events.php:683
+msgid "Day"
+msgstr "Día"
+
+#: ../../Zotlabs/Module/Events.php:717
+msgid "Event removed"
+msgstr "Evento borrado"
+
+#: ../../Zotlabs/Module/Events.php:720
+msgid "Failed to remove event"
+msgstr "Error al eliminar el evento"
+
+#: ../../Zotlabs/Module/Service_limits.php:23
+msgid "No service class restrictions found."
+msgstr "No se han encontrado restricciones sobre esta clase de servicio."
+
+#: ../../Zotlabs/Module/Thing.php:114
+msgid "Thing updated"
+msgstr "Elemento actualizado."
+
+#: ../../Zotlabs/Module/Thing.php:166
+msgid "Object store: failed"
+msgstr "Guardar objeto: ha fallado"
+
+#: ../../Zotlabs/Module/Thing.php:170
+msgid "Thing added"
+msgstr "Elemento añadido"
+
+#: ../../Zotlabs/Module/Thing.php:196
#, php-format
-msgid "I am over 13 years of age and accept the %s for this website"
-msgstr "Tengo más de 13 años de edad y acepto los %s de este sitio"
+msgid "OBJ: %1$s %2$s %3$s"
+msgstr "OBJ: %1$s %2$s %3$s"
-#: ../../Zotlabs/Module/Register.php:227
-msgid "Your email address"
-msgstr "Su dirección de correo electrónico"
+#: ../../Zotlabs/Module/Thing.php:259
+msgid "Show Thing"
+msgstr "Mostrar elemento"
-#: ../../Zotlabs/Module/Register.php:228
-msgid "Choose a password"
-msgstr "Elija una contraseña"
+#: ../../Zotlabs/Module/Thing.php:266
+msgid "item not found."
+msgstr "elemento no encontrado."
-#: ../../Zotlabs/Module/Register.php:229
-msgid "Please re-enter your password"
-msgstr "Por favor, vuelva a escribir su contraseña"
+#: ../../Zotlabs/Module/Thing.php:299
+msgid "Edit Thing"
+msgstr "Editar elemento"
-#: ../../Zotlabs/Module/Register.php:230
-msgid "Please enter your invitation code"
-msgstr "Por favor, introduzca el código de su invitación"
+#: ../../Zotlabs/Module/Thing.php:301 ../../Zotlabs/Module/Thing.php:355
+msgid "Select a profile"
+msgstr "Seleccionar un perfil"
-#: ../../Zotlabs/Module/Register.php:236
-msgid "no"
-msgstr "no"
+#: ../../Zotlabs/Module/Thing.php:305 ../../Zotlabs/Module/Thing.php:358
+msgid "Post an activity"
+msgstr "Publicar una actividad"
-#: ../../Zotlabs/Module/Register.php:236
-msgid "yes"
-msgstr "sí"
+#: ../../Zotlabs/Module/Thing.php:305 ../../Zotlabs/Module/Thing.php:358
+msgid "Only sends to viewers of the applicable profile"
+msgstr "Sólo enviar a espectadores del perfil pertinente."
-#: ../../Zotlabs/Module/Register.php:253
-msgid "Membership on this site is by invitation only."
-msgstr "Para registrarse en este sitio es necesaria una invitación."
+#: ../../Zotlabs/Module/Thing.php:307 ../../Zotlabs/Module/Thing.php:360
+msgid "Name of thing e.g. something"
+msgstr "Nombre del elemento, p. ej.:. \"algo\""
-#: ../../Zotlabs/Module/Register.php:265 ../../include/nav.php:151
-#: ../../boot.php:1695
-msgid "Register"
-msgstr "Registrarse"
+#: ../../Zotlabs/Module/Thing.php:309 ../../Zotlabs/Module/Thing.php:361
+msgid "URL of thing (optional)"
+msgstr "Dirección del elemento (opcional)"
-#: ../../Zotlabs/Module/Register.php:266
-msgid ""
-"This site may require email verification after submitting this form. If you "
-"are returned to a login page, please check your email for instructions."
-msgstr "Este sitio puede requerir una verificación de correo electrónico después de enviar este formulario. Si es devuelto a una página de inicio de sesión, compruebe su email para recibir y leer las instrucciones."
+#: ../../Zotlabs/Module/Thing.php:311 ../../Zotlabs/Module/Thing.php:362
+msgid "URL for photo of thing (optional)"
+msgstr "Dirección para la foto o elemento (opcional)"
-#: ../../Zotlabs/Module/Rpost.php:135 ../../Zotlabs/Module/Editpost.php:106
-msgid "Edit post"
-msgstr "Editar la entrada"
+#: ../../Zotlabs/Module/Thing.php:353
+msgid "Add Thing to your Profile"
+msgstr "Añadir alguna cosa a su perfil"
+
+#: ../../Zotlabs/Module/Item.php:180
+msgid "Unable to locate original post."
+msgstr "No ha sido posible encontrar la entrada original."
+
+#: ../../Zotlabs/Module/Item.php:433
+msgid "Empty post discarded."
+msgstr "La entrada vacía ha sido desechada."
+
+#: ../../Zotlabs/Module/Item.php:473
+msgid "Executable content type not permitted to this channel."
+msgstr "Contenido de tipo ejecutable no permitido en este canal."
+
+#: ../../Zotlabs/Module/Item.php:851
+msgid "Duplicate post suppressed."
+msgstr "Se ha suprimido la entrada duplicada."
+
+#: ../../Zotlabs/Module/Item.php:986
+msgid "System error. Post not saved."
+msgstr "Error del sistema. La entrada no se ha podido salvar."
+
+#: ../../Zotlabs/Module/Item.php:1107
+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:1114
+#, 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:1121
+#, php-format
+msgid "You have reached your limit of %1$.0f webpages."
+msgstr "Ha alcanzado su límite de %1$.0f páginas web."
#: ../../Zotlabs/Module/Sharedwithme.php:98
msgid "Files: shared with me"
@@ -5628,13 +5810,82 @@ msgstr "Eliminar todos los ficheros"
msgid "Remove this file"
msgstr "Eliminar este fichero"
-#: ../../Zotlabs/Module/Acl.php:312
-msgid "network"
-msgstr "red"
+#: ../../Zotlabs/Module/Wiki.php:34
+msgid "Not found"
+msgstr "No encontrado"
-#: ../../Zotlabs/Module/Acl.php:322
-msgid "RSS"
-msgstr "RSS"
+#: ../../Zotlabs/Module/Wiki.php:97 ../../Zotlabs/Lib/Apps.php:219
+#: ../../include/features.php:99 ../../include/nav.php:111
+#: ../../include/conversation.php:1735 ../../include/conversation.php:1738
+msgid "Wiki"
+msgstr "Wiki"
+
+#: ../../Zotlabs/Module/Wiki.php:98
+msgid "Sandbox"
+msgstr "Entorno de edición"
+
+#: ../../Zotlabs/Module/Wiki.php:100
+msgid ""
+"\"# Wiki Sandbox\\n\\nContent you **edit** and **preview** here *will not be"
+" saved*.\""
+msgstr "\"# Entorno de edición del Wiki\\n\\nEl contenido que se **edite** y **previsualizce** aquí *no se guardará*.\""
+
+#: ../../Zotlabs/Module/Wiki.php:169
+msgid "Revision Comparison"
+msgstr "Comparación de revisiones"
+
+#: ../../Zotlabs/Module/Wiki.php:170
+msgid "Revert"
+msgstr "Revertir"
+
+#: ../../Zotlabs/Module/Wiki.php:201
+msgid "Enter the name of your new wiki:"
+msgstr "Nombre de su nuevo wiki:"
+
+#: ../../Zotlabs/Module/Wiki.php:202
+msgid "Enter the name of the new page:"
+msgstr "Nombre de la nueva página:"
+
+#: ../../Zotlabs/Module/Wiki.php:203
+msgid "Enter the new name:"
+msgstr "Nuevo nombre:"
+
+#: ../../Zotlabs/Module/Wiki.php:209 ../../include/conversation.php:1153
+msgid "Embed image from photo albums"
+msgstr "Incluir una imagen de los álbumes de fotos"
+
+#: ../../Zotlabs/Module/Wiki.php:210 ../../include/conversation.php:1247
+msgid "Embed an image from your albums"
+msgstr "Incluir una imagen de sus álbumes"
+
+#: ../../Zotlabs/Module/Wiki.php:212 ../../include/conversation.php:1249
+#: ../../include/conversation.php:1296
+msgid "OK"
+msgstr "OK"
+
+#: ../../Zotlabs/Module/Wiki.php:213 ../../include/conversation.php:1189
+msgid "Choose images to embed"
+msgstr "Elegir imágenes para incluir"
+
+#: ../../Zotlabs/Module/Wiki.php:214 ../../include/conversation.php:1190
+msgid "Choose an album"
+msgstr "Elegir un álbum"
+
+#: ../../Zotlabs/Module/Wiki.php:215 ../../include/conversation.php:1191
+msgid "Choose a different album..."
+msgstr "Elegir un álbum diferente..."
+
+#: ../../Zotlabs/Module/Wiki.php:216 ../../include/conversation.php:1192
+msgid "Error getting album list"
+msgstr "Error al obtener la lista de álbumes"
+
+#: ../../Zotlabs/Module/Wiki.php:217 ../../include/conversation.php:1193
+msgid "Error getting photo link"
+msgstr "Error al obtener el enlace de la foto"
+
+#: ../../Zotlabs/Module/Wiki.php:218 ../../include/conversation.php:1194
+msgid "Error getting album"
+msgstr "Error al obtener el álbum"
#: ../../Zotlabs/Module/Sources.php:37
msgid "Failed to create source. No channel selected."
@@ -5652,8 +5903,8 @@ msgstr "Fuente actualizada."
msgid "*"
msgstr "*"
-#: ../../Zotlabs/Module/Sources.php:96 ../../include/features.php:74
-#: ../../include/widgets.php:639
+#: ../../Zotlabs/Module/Sources.php:96 ../../include/features.php:195
+#: ../../include/widgets.php:672
msgid "Channel Sources"
msgstr "Orígenes de los contenidos del canal"
@@ -5690,7 +5941,7 @@ msgid ""
msgstr "Añadir los temas siguientes a las entradas importadas de esta fuente (separadas por comas)"
#: ../../Zotlabs/Module/Sources.php:112 ../../Zotlabs/Module/Sources.php:147
-#: ../../Zotlabs/Module/Settings.php:688
+#: ../../Zotlabs/Module/Settings/Oauth.php:93
msgid "Optional"
msgstr "Opcional"
@@ -5734,12 +5985,17 @@ msgstr "No hay sugerencias disponibles. Si es un sitio nuevo, espere 24 horas y
msgid "Ignore/Hide"
msgstr "Ignorar/Ocultar"
+#: ../../Zotlabs/Module/Suggest.php:64 ../../Zotlabs/Module/Directory.php:392
+#: ../../include/contact_widgets.php:24
+msgid "Channel Suggestions"
+msgstr "Sugerencias de canales"
+
#: ../../Zotlabs/Module/Tagger.php:55 ../../include/bbcode.php:263
msgid "post"
msgstr "la entrada"
-#: ../../Zotlabs/Module/Tagger.php:57 ../../include/conversation.php:150
-#: ../../include/text.php:1953
+#: ../../Zotlabs/Module/Tagger.php:57 ../../include/text.php:1999
+#: ../../include/conversation.php:150
msgid "comment"
msgstr "el comentario"
@@ -5760,749 +6016,847 @@ msgstr "Eliminar etiqueta del elemento."
msgid "Select a tag to remove: "
msgstr "Seleccionar una etiqueta para eliminar:"
-#: ../../Zotlabs/Module/Dreport.php:44
-msgid "Invalid message"
-msgstr "Mensaje no válido"
+#: ../../Zotlabs/Module/Follow.php:34
+msgid "Channel added."
+msgstr "Canal añadido."
-#: ../../Zotlabs/Module/Dreport.php:76
-msgid "no results"
-msgstr "sin resultados"
+#: ../../Zotlabs/Module/Viewconnections.php:65
+msgid "No connections."
+msgstr "Sin conexiones."
-#: ../../Zotlabs/Module/Dreport.php:91
-msgid "channel sync processed"
-msgstr "se ha realizado la sincronización del canal"
+#: ../../Zotlabs/Module/Viewconnections.php:78
+#, php-format
+msgid "Visit %s's profile [%s]"
+msgstr "Visitar el perfil de %s [%s]"
-#: ../../Zotlabs/Module/Dreport.php:95
-msgid "queued"
-msgstr "encolado"
+#: ../../Zotlabs/Module/Viewconnections.php:107
+msgid "View Connections"
+msgstr "Ver conexiones"
-#: ../../Zotlabs/Module/Dreport.php:99
-msgid "posted"
-msgstr "enviado"
+#: ../../Zotlabs/Module/Viewsrc.php:44
+msgid "Source of Item"
+msgstr "Origen del elemento"
-#: ../../Zotlabs/Module/Dreport.php:103
-msgid "accepted for delivery"
-msgstr "aceptado para el envío"
+#: ../../Zotlabs/Module/Chat.php:181
+msgid "Room not found"
+msgstr "Sala no encontrada"
-#: ../../Zotlabs/Module/Dreport.php:107
-msgid "updated"
-msgstr "actualizado"
+#: ../../Zotlabs/Module/Chat.php:197
+msgid "Leave Room"
+msgstr "Abandonar la sala"
-#: ../../Zotlabs/Module/Dreport.php:110
-msgid "update ignored"
-msgstr "actualización ignorada"
+#: ../../Zotlabs/Module/Chat.php:198
+msgid "Delete Room"
+msgstr "Eliminar esta sala"
-#: ../../Zotlabs/Module/Dreport.php:113
-msgid "permission denied"
-msgstr "permiso denegado"
+#: ../../Zotlabs/Module/Chat.php:199
+msgid "I am away right now"
+msgstr "Estoy ausente momentáneamente"
-#: ../../Zotlabs/Module/Dreport.php:117
-msgid "recipient not found"
-msgstr "destinatario no encontrado"
+#: ../../Zotlabs/Module/Chat.php:200
+msgid "I am online"
+msgstr "Estoy conectado/a"
-#: ../../Zotlabs/Module/Dreport.php:120
-msgid "mail recalled"
-msgstr "mensaje de correo revocado"
+#: ../../Zotlabs/Module/Chat.php:202
+msgid "Bookmark this room"
+msgstr "Añadir esta sala a Marcadores"
-#: ../../Zotlabs/Module/Dreport.php:123
-msgid "duplicate mail received"
-msgstr "se ha recibido mensaje duplicado"
+#: ../../Zotlabs/Module/Chat.php:231
+msgid "New Chatroom"
+msgstr "Nueva sala de chat"
-#: ../../Zotlabs/Module/Dreport.php:126
-msgid "mail delivered"
-msgstr "correo enviado"
+#: ../../Zotlabs/Module/Chat.php:232
+msgid "Chatroom name"
+msgstr "Nombre de la sala de chat"
-#: ../../Zotlabs/Module/Dreport.php:146
+#: ../../Zotlabs/Module/Chat.php:233
+msgid "Expiration of chats (minutes)"
+msgstr "Caducidad de los mensajes en los chats (en minutos)"
+
+#: ../../Zotlabs/Module/Chat.php:249
#, php-format
-msgid "Delivery report for %1$s"
-msgstr "Informe de entrega para %1$s"
+msgid "%1$s's Chatrooms"
+msgstr "Salas de chat de %1$s"
-#: ../../Zotlabs/Module/Dreport.php:149
-msgid "Options"
-msgstr "Opciones"
+#: ../../Zotlabs/Module/Chat.php:254
+msgid "No chatrooms available"
+msgstr "No hay salas de chat disponibles"
-#: ../../Zotlabs/Module/Dreport.php:150
-msgid "Redeliver"
-msgstr "Volver a enviar"
+#: ../../Zotlabs/Module/Chat.php:258
+msgid "Expiration"
+msgstr "Caducidad"
-#: ../../Zotlabs/Module/Settings.php:64
-msgid "Name is required"
-msgstr "El nombre es obligatorio"
+#: ../../Zotlabs/Module/Chat.php:259
+msgid "min"
+msgstr "min"
-#: ../../Zotlabs/Module/Settings.php:68
-msgid "Key and Secret are required"
-msgstr "\"Key\" y \"Secret\" son obligatorios"
+#: ../../Zotlabs/Module/Xchan.php:10
+msgid "Xchan Lookup"
+msgstr "Búsqueda de canales"
+
+#: ../../Zotlabs/Module/Xchan.php:13
+msgid "Lookup xchan beginning with (or webbie): "
+msgstr "Buscar un canal (o un \"webbie\") que comience por:"
-#: ../../Zotlabs/Module/Settings.php:138
+#: ../../Zotlabs/Module/Directory.php:243
#, php-format
-msgid "This channel is limited to %d tokens"
-msgstr "Este canal tiene un límite de %d tokens"
+msgid "%d rating"
+msgid_plural "%d ratings"
+msgstr[0] "%d valoración"
+msgstr[1] "%d valoraciones"
-#: ../../Zotlabs/Module/Settings.php:144
-msgid "Name and Password are required."
-msgstr "Se requiere el nombre y la contraseña."
+#: ../../Zotlabs/Module/Directory.php:254
+msgid "Gender: "
+msgstr "Género:"
-#: ../../Zotlabs/Module/Settings.php:184
-msgid "Token saved."
-msgstr "Token salvado."
+#: ../../Zotlabs/Module/Directory.php:256
+msgid "Status: "
+msgstr "Estado:"
-#: ../../Zotlabs/Module/Settings.php:312
-msgid "Not valid email."
-msgstr "Correo electrónico no válido."
+#: ../../Zotlabs/Module/Directory.php:258
+msgid "Homepage: "
+msgstr "Página personal:"
-#: ../../Zotlabs/Module/Settings.php:315
-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/Directory.php:306 ../../include/channel.php:1207
+msgid "Age:"
+msgstr "Edad:"
-#: ../../Zotlabs/Module/Settings.php:324
-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/Directory.php:311 ../../include/channel.php:1049
+#: ../../include/bb2diaspora.php:507 ../../include/event.php:52
+#: ../../include/event.php:84
+msgid "Location:"
+msgstr "Ubicación:"
-#: ../../Zotlabs/Module/Settings.php:341
-msgid "Password verification failed."
-msgstr "La comprobación de la contraseña ha fallado."
+#: ../../Zotlabs/Module/Directory.php:317
+msgid "Description:"
+msgstr "Descripción:"
-#: ../../Zotlabs/Module/Settings.php:348
-msgid "Passwords do not match. Password unchanged."
-msgstr "Las contraseñas no coinciden. La contraseña no se ha cambiado."
+#: ../../Zotlabs/Module/Directory.php:322 ../../include/channel.php:1223
+msgid "Hometown:"
+msgstr "Lugar de nacimiento:"
-#: ../../Zotlabs/Module/Settings.php:352
-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/Directory.php:324 ../../include/channel.php:1231
+msgid "About:"
+msgstr "Sobre mí:"
-#: ../../Zotlabs/Module/Settings.php:366
-msgid "Password changed."
-msgstr "Contraseña cambiada."
+#: ../../Zotlabs/Module/Directory.php:326
+msgid "Public Forum:"
+msgstr "Foro público:"
-#: ../../Zotlabs/Module/Settings.php:368
-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/Directory.php:329
+msgid "Keywords: "
+msgstr "Palabras clave:"
-#: ../../Zotlabs/Module/Settings.php:617
-msgid "Settings updated."
-msgstr "Ajustes actualizados."
+#: ../../Zotlabs/Module/Directory.php:332
+msgid "Don't suggest"
+msgstr "No sugerir:"
-#: ../../Zotlabs/Module/Settings.php:681 ../../Zotlabs/Module/Settings.php:707
-#: ../../Zotlabs/Module/Settings.php:743
-msgid "Add application"
-msgstr "Añadir aplicación"
+#: ../../Zotlabs/Module/Directory.php:334
+msgid "Common connections:"
+msgstr "Conexiones comunes:"
-#: ../../Zotlabs/Module/Settings.php:684
-msgid "Name of application"
-msgstr "Nombre de la aplicación"
+#: ../../Zotlabs/Module/Directory.php:383
+msgid "Global Directory"
+msgstr "Directorio global:"
-#: ../../Zotlabs/Module/Settings.php:685 ../../Zotlabs/Module/Settings.php:711
-msgid "Consumer Key"
-msgstr "Consumer Key"
+#: ../../Zotlabs/Module/Directory.php:383
+msgid "Local Directory"
+msgstr "Directorio local:"
-#: ../../Zotlabs/Module/Settings.php:685 ../../Zotlabs/Module/Settings.php:686
-msgid "Automatically generated - change if desired. Max length 20"
-msgstr "Generado automáticamente - si lo desea, cámbielo. Longitud máxima: 20"
+#: ../../Zotlabs/Module/Directory.php:389
+msgid "Finding:"
+msgstr "Encontrar:"
-#: ../../Zotlabs/Module/Settings.php:686 ../../Zotlabs/Module/Settings.php:712
-msgid "Consumer Secret"
-msgstr "Consumer Secret"
+#: ../../Zotlabs/Module/Directory.php:394
+msgid "next page"
+msgstr "siguiente página"
-#: ../../Zotlabs/Module/Settings.php:687 ../../Zotlabs/Module/Settings.php:713
-msgid "Redirect"
-msgstr "Redirigir"
+#: ../../Zotlabs/Module/Directory.php:394
+msgid "previous page"
+msgstr "página anterior"
-#: ../../Zotlabs/Module/Settings.php:687
-msgid ""
-"Redirect URI - leave blank unless your application specifically requires "
-"this"
-msgstr "URI de redirección - dejar en blanco a menos que su aplicación específicamente lo requiera"
+#: ../../Zotlabs/Module/Directory.php:395
+msgid "Sort options"
+msgstr "Ordenar opciones"
-#: ../../Zotlabs/Module/Settings.php:688 ../../Zotlabs/Module/Settings.php:714
-msgid "Icon url"
-msgstr "Dirección del icono"
+#: ../../Zotlabs/Module/Directory.php:396
+msgid "Alphabetic"
+msgstr "Alfabético"
-#: ../../Zotlabs/Module/Settings.php:699
-msgid "Application not found."
-msgstr "Aplicación no encontrada."
+#: ../../Zotlabs/Module/Directory.php:397
+msgid "Reverse Alphabetic"
+msgstr "Alfabético inverso"
-#: ../../Zotlabs/Module/Settings.php:742
-msgid "Connected Apps"
-msgstr "Aplicaciones (apps) conectadas"
+#: ../../Zotlabs/Module/Directory.php:398
+msgid "Newest to Oldest"
+msgstr "De más nuevo a más antiguo"
-#: ../../Zotlabs/Module/Settings.php:746
-msgid "Client key starts with"
-msgstr "La \"client key\" empieza por"
+#: ../../Zotlabs/Module/Directory.php:399
+msgid "Oldest to Newest"
+msgstr "De más antiguo a más nuevo"
-#: ../../Zotlabs/Module/Settings.php:747
-msgid "No name"
-msgstr "Sin nombre"
+#: ../../Zotlabs/Module/Directory.php:416
+msgid "No entries (some entries may be hidden)."
+msgstr "Sin entradas (algunas entradas pueden estar ocultas)."
-#: ../../Zotlabs/Module/Settings.php:748
-msgid "Remove authorization"
-msgstr "Eliminar autorización"
+#: ../../Zotlabs/Module/Settings/Account.php:20
+msgid "Not valid email."
+msgstr "Correo electrónico no válido."
-#: ../../Zotlabs/Module/Settings.php:761
-msgid "No feature settings configured"
-msgstr "No se ha establecido la configuración de los complementos"
+#: ../../Zotlabs/Module/Settings/Account.php:23
+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.php:768
-msgid "Feature/Addon Settings"
-msgstr "Ajustes de los complementos"
+#: ../../Zotlabs/Module/Settings/Account.php:32
+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:40
+msgid "Technical skill level updated"
+msgstr "Nivel de habilidad técnica actualizado"
+
+#: ../../Zotlabs/Module/Settings/Account.php:56
+msgid "Password verification failed."
+msgstr "La comprobación de la contraseña ha fallado."
+
+#: ../../Zotlabs/Module/Settings/Account.php:63
+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:67
+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:81
+msgid "Password changed."
+msgstr "Contraseña cambiada."
+
+#: ../../Zotlabs/Module/Settings/Account.php:83
+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.php:791
+#: ../../Zotlabs/Module/Settings/Account.php:120
msgid "Account Settings"
msgstr "Configuración de la cuenta"
-#: ../../Zotlabs/Module/Settings.php:792
+#: ../../Zotlabs/Module/Settings/Account.php:121
msgid "Current Password"
msgstr "Contraseña actual"
-#: ../../Zotlabs/Module/Settings.php:793
+#: ../../Zotlabs/Module/Settings/Account.php:122
msgid "Enter New Password"
msgstr "Escribir una nueva contraseña"
-#: ../../Zotlabs/Module/Settings.php:794
+#: ../../Zotlabs/Module/Settings/Account.php:123
msgid "Confirm New Password"
msgstr "Confirmar la nueva contraseña"
-#: ../../Zotlabs/Module/Settings.php:794
+#: ../../Zotlabs/Module/Settings/Account.php:123
msgid "Leave password fields blank unless changing"
msgstr "Dejar en blanco la contraseña a menos que desee cambiarla."
-#: ../../Zotlabs/Module/Settings.php:796
-#: ../../Zotlabs/Module/Settings.php:1236
+#: ../../Zotlabs/Module/Settings/Account.php:124
+msgid "Your technical skill level"
+msgstr "Su nivel de habilidad técnica"
+
+#: ../../Zotlabs/Module/Settings/Account.php:124
+msgid "Used to provide a member experience matched to your comfort level"
+msgstr "Se utiliza para proporcionar la experiencia de los miembros adaptada a su nivel de comodidad"
+
+#: ../../Zotlabs/Module/Settings/Account.php:127
+#: ../../Zotlabs/Module/Settings/Channel.php:459
msgid "Email Address:"
msgstr "Dirección de correo electrónico:"
-#: ../../Zotlabs/Module/Settings.php:798
+#: ../../Zotlabs/Module/Settings/Account.php:129
msgid "Remove this account including all its channels"
msgstr "Eliminar esta cuenta incluyendo todos sus canales"
-#: ../../Zotlabs/Module/Settings.php:832
-msgid ""
-"Use this form to create temporary access identifiers to share things with "
-"non-members. These identities may be used in Access Control Lists and "
-"visitors may login using these credentials to access private content."
-msgstr "Utilice este formulario para crear identificadores de acceso temporal para compartir cosas con los no miembros de Hubzilla. Estas identidades se pueden usar en las Listas de control de acceso (ACL) y así los visitantes pueden iniciar sesión, utilizando estas credenciales, para acceder a su contenido privado."
-
-#: ../../Zotlabs/Module/Settings.php:834
-msgid ""
-"You may also provide <em>dropbox</em> style access links to friends and "
-"associates by adding the Login Password to any specific site URL as shown. "
-"Examples:"
-msgstr "También puede proporcionar, con el estilo <em>dropbox</em>, enlaces de acceso a sus amigos y asociados añadiendo la contraseña de inicio de sesión a cualquier dirección URL, como se muestra. Ejemplos: "
-
-#: ../../Zotlabs/Module/Settings.php:869 ../../include/widgets.php:614
-msgid "Guest Access Tokens"
-msgstr "Tokens de acceso para invitados"
-
-#: ../../Zotlabs/Module/Settings.php:876
-msgid "Login Name"
-msgstr "Nombre de inicio de sesión"
-
-#: ../../Zotlabs/Module/Settings.php:877
-msgid "Login Password"
-msgstr "Contraseña de inicio de sesión"
-
-#: ../../Zotlabs/Module/Settings.php:878
-msgid "Expires (yyyy-mm-dd)"
-msgstr "Expira (aaaa-mm-dd)"
-
-#: ../../Zotlabs/Module/Settings.php:910
-msgid "Additional Features"
-msgstr "Funcionalidades"
-
-#: ../../Zotlabs/Module/Settings.php:934
-msgid "Connector Settings"
-msgstr "Configuración del conector"
-
-#: ../../Zotlabs/Module/Settings.php:981
-msgid "No special theme for mobile devices"
-msgstr "Sin tema especial para dispositivos móviles"
-
-#: ../../Zotlabs/Module/Settings.php:984
-#, php-format
-msgid "%s - (Experimental)"
-msgstr "%s - (Experimental)"
-
-#: ../../Zotlabs/Module/Settings.php:1035
-msgid "Display Settings"
-msgstr "Ajustes de visualización"
-
-#: ../../Zotlabs/Module/Settings.php:1036
-msgid "Theme Settings"
-msgstr "Ajustes del tema"
-
-#: ../../Zotlabs/Module/Settings.php:1037
-msgid "Custom Theme Settings"
-msgstr "Ajustes personalizados del tema"
-
-#: ../../Zotlabs/Module/Settings.php:1038
-msgid "Content Settings"
-msgstr "Ajustes del contenido"
-
-#: ../../Zotlabs/Module/Settings.php:1044
-msgid "Display Theme:"
-msgstr "Tema gráfico del perfil:"
-
-#: ../../Zotlabs/Module/Settings.php:1045
-msgid "Select scheme"
-msgstr "Elegir un esquema"
-
-#: ../../Zotlabs/Module/Settings.php:1047
-msgid "Mobile Theme:"
-msgstr "Tema para el móvil:"
-
-#: ../../Zotlabs/Module/Settings.php:1048
-msgid "Preload images before rendering the page"
-msgstr "Carga previa de las imágenes antes de generar la página"
-
-#: ../../Zotlabs/Module/Settings.php:1048
-msgid ""
-"The subjective page load time will be longer but the page will be ready when"
-" displayed"
-msgstr "El tiempo subjetivo de carga de la página será más largo, pero la página estará lista cuando se muestre."
-
-#: ../../Zotlabs/Module/Settings.php:1049
-msgid "Enable user zoom on mobile devices"
-msgstr "Habilitar zoom de usuario en dispositivos móviles"
-
-#: ../../Zotlabs/Module/Settings.php:1050
-msgid "Update browser every xx seconds"
-msgstr "Actualizar navegador cada xx segundos"
-
-#: ../../Zotlabs/Module/Settings.php:1050
-msgid "Minimum of 10 seconds, no maximum"
-msgstr "Mínimo de 10 segundos, sin máximo"
-
-#: ../../Zotlabs/Module/Settings.php:1051
-msgid "Maximum number of conversations to load at any time:"
-msgstr "Máximo número de conversaciones a cargar en cualquier momento:"
-
-#: ../../Zotlabs/Module/Settings.php:1051
-msgid "Maximum of 100 items"
-msgstr "Máximo de 100 elementos"
-
-#: ../../Zotlabs/Module/Settings.php:1052
-msgid "Show emoticons (smilies) as images"
-msgstr "Mostrar emoticonos (smilies) como imágenes"
-
-#: ../../Zotlabs/Module/Settings.php:1053
-msgid "Link post titles to source"
-msgstr "Enlazar título de la publicación a la fuente original"
-
-#: ../../Zotlabs/Module/Settings.php:1054
-msgid "System Page Layout Editor - (advanced)"
-msgstr "Editor de plantilla de página del sistema - (avanzado)"
-
-#: ../../Zotlabs/Module/Settings.php:1057
-msgid "Use blog/list mode on channel page"
-msgstr "Usar modo blog/lista en la página de inicio del canal"
-
-#: ../../Zotlabs/Module/Settings.php:1057
-#: ../../Zotlabs/Module/Settings.php:1058
-msgid "(comments displayed separately)"
-msgstr "(comentarios mostrados de forma separada)"
-
-#: ../../Zotlabs/Module/Settings.php:1058
-msgid "Use blog/list mode on grid page"
-msgstr "Mostrar mi red en modo blog"
-
-#: ../../Zotlabs/Module/Settings.php:1059
-msgid "Channel page max height of content (in pixels)"
-msgstr "Altura máxima del contenido de la página del canal (en píxeles)"
-
-#: ../../Zotlabs/Module/Settings.php:1059
-#: ../../Zotlabs/Module/Settings.php:1060
-msgid "click to expand content exceeding this height"
-msgstr "Pulsar para expandir el contenido que exceda de esta altura"
-
-#: ../../Zotlabs/Module/Settings.php:1060
-msgid "Grid page max height of content (in pixels)"
-msgstr "Altura máxima del contenido de mi red (en píxeles)"
+#: ../../Zotlabs/Module/Settings/Channel.php:246
+msgid "Settings updated."
+msgstr "Ajustes actualizados."
-#: ../../Zotlabs/Module/Settings.php:1090
+#: ../../Zotlabs/Module/Settings/Channel.php:307
msgid "Nobody except yourself"
msgstr "Nadie excepto usted"
-#: ../../Zotlabs/Module/Settings.php:1091
+#: ../../Zotlabs/Module/Settings/Channel.php:308
msgid "Only those you specifically allow"
msgstr "Solo aquellos a los que usted permita explícitamente"
-#: ../../Zotlabs/Module/Settings.php:1092
+#: ../../Zotlabs/Module/Settings/Channel.php:309
msgid "Approved connections"
msgstr "Conexiones aprobadas"
-#: ../../Zotlabs/Module/Settings.php:1093
+#: ../../Zotlabs/Module/Settings/Channel.php:310
msgid "Any connections"
msgstr "Cualquier conexión"
-#: ../../Zotlabs/Module/Settings.php:1094
+#: ../../Zotlabs/Module/Settings/Channel.php:311
msgid "Anybody on this website"
msgstr "Cualquiera en este sitio web"
-#: ../../Zotlabs/Module/Settings.php:1095
+#: ../../Zotlabs/Module/Settings/Channel.php:312
msgid "Anybody in this network"
msgstr "Cualquiera en esta red"
-#: ../../Zotlabs/Module/Settings.php:1096
+#: ../../Zotlabs/Module/Settings/Channel.php:313
msgid "Anybody authenticated"
msgstr "Cualquiera que esté autenticado"
-#: ../../Zotlabs/Module/Settings.php:1097
+#: ../../Zotlabs/Module/Settings/Channel.php:314
msgid "Anybody on the internet"
msgstr "Cualquiera en internet"
-#: ../../Zotlabs/Module/Settings.php:1171
+#: ../../Zotlabs/Module/Settings/Channel.php:390
msgid "Publish your default profile in the network directory"
msgstr "Publicar su perfil principal en el directorio de la red"
-#: ../../Zotlabs/Module/Settings.php:1176
+#: ../../Zotlabs/Module/Settings/Channel.php:395
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.php:1185
+#: ../../Zotlabs/Module/Settings/Channel.php:404
msgid "Your channel address is"
msgstr "Su dirección de canal es"
-#: ../../Zotlabs/Module/Settings.php:1227
+#: ../../Zotlabs/Module/Settings/Channel.php:450
msgid "Channel Settings"
msgstr "Ajustes del canal"
-#: ../../Zotlabs/Module/Settings.php:1234
+#: ../../Zotlabs/Module/Settings/Channel.php:457
msgid "Basic Settings"
msgstr "Configuración básica"
-#: ../../Zotlabs/Module/Settings.php:1235 ../../include/channel.php:1164
+#: ../../Zotlabs/Module/Settings/Channel.php:458
+#: ../../include/channel.php:1164
msgid "Full Name:"
msgstr "Nombre completo:"
-#: ../../Zotlabs/Module/Settings.php:1237
+#: ../../Zotlabs/Module/Settings/Channel.php:460
msgid "Your Timezone:"
msgstr "Su huso horario:"
-#: ../../Zotlabs/Module/Settings.php:1238
+#: ../../Zotlabs/Module/Settings/Channel.php:461
msgid "Default Post Location:"
msgstr "Localización geográfica predeterminada para sus publicaciones:"
-#: ../../Zotlabs/Module/Settings.php:1238
+#: ../../Zotlabs/Module/Settings/Channel.php:461
msgid "Geographical location to display on your posts"
msgstr "Localización geográfica que debe mostrarse en sus publicaciones"
-#: ../../Zotlabs/Module/Settings.php:1239
+#: ../../Zotlabs/Module/Settings/Channel.php:462
msgid "Use Browser Location:"
msgstr "Usar la localización geográfica del navegador:"
-#: ../../Zotlabs/Module/Settings.php:1241
+#: ../../Zotlabs/Module/Settings/Channel.php:464
msgid "Adult Content"
msgstr "Contenido solo para adultos"
-#: ../../Zotlabs/Module/Settings.php:1241
+#: ../../Zotlabs/Module/Settings/Channel.php:464
msgid ""
"This channel frequently or regularly publishes adult content. (Please tag "
"any adult material and/or nudity with #NSFW)"
msgstr "Este canal publica contenido solo para adultos con frecuencia o regularmente. (Por favor etiquete cualquier material para adultos con la etiqueta #NSFW)"
-#: ../../Zotlabs/Module/Settings.php:1243
+#: ../../Zotlabs/Module/Settings/Channel.php:466
msgid "Security and Privacy Settings"
msgstr "Configuración de seguridad y privacidad"
-#: ../../Zotlabs/Module/Settings.php:1246
+#: ../../Zotlabs/Module/Settings/Channel.php:469
msgid "Your permissions are already configured. Click to view/adjust"
msgstr "Sus permisos ya están configurados. Pulse para ver/ajustar"
-#: ../../Zotlabs/Module/Settings.php:1248
+#: ../../Zotlabs/Module/Settings/Channel.php:471
msgid "Hide my online presence"
msgstr "Ocultar mi presencia en línea"
-#: ../../Zotlabs/Module/Settings.php:1248
+#: ../../Zotlabs/Module/Settings/Channel.php:471
msgid "Prevents displaying in your profile that you are online"
msgstr "Evitar mostrar en su perfil que está en línea"
-#: ../../Zotlabs/Module/Settings.php:1250
+#: ../../Zotlabs/Module/Settings/Channel.php:473
msgid "Simple Privacy Settings:"
msgstr "Configuración de privacidad sencilla:"
-#: ../../Zotlabs/Module/Settings.php:1251
+#: ../../Zotlabs/Module/Settings/Channel.php:474
msgid ""
"Very Public - <em>extremely permissive (should be used with caution)</em>"
msgstr "Muy Público - <em>extremadamente permisivo (debería ser usado con precaución)</em>"
-#: ../../Zotlabs/Module/Settings.php:1252
+#: ../../Zotlabs/Module/Settings/Channel.php:475
msgid ""
"Typical - <em>default public, privacy when desired (similar to social "
"network permissions but with improved privacy)</em>"
msgstr "Típico - <em>por defecto público, privado cuando se desee (similar a los permisos de una red social pero con privacidad mejorada)</em>"
-#: ../../Zotlabs/Module/Settings.php:1253
+#: ../../Zotlabs/Module/Settings/Channel.php:476
msgid "Private - <em>default private, never open or public</em>"
msgstr "Privado - <em>por defecto, privado, nunca abierto o público</em>"
-#: ../../Zotlabs/Module/Settings.php:1254
+#: ../../Zotlabs/Module/Settings/Channel.php:477
msgid "Blocked - <em>default blocked to/from everybody</em>"
msgstr "Bloqueado - <em>por defecto, bloqueado/a para cualquiera</em>"
-#: ../../Zotlabs/Module/Settings.php:1256
+#: ../../Zotlabs/Module/Settings/Channel.php:479
msgid "Allow others to tag your posts"
msgstr "Permitir a otros etiquetar sus publicaciones"
-#: ../../Zotlabs/Module/Settings.php:1256
+#: ../../Zotlabs/Module/Settings/Channel.php:479
msgid ""
"Often used by the community to retro-actively flag inappropriate content"
msgstr "A menudo usado por la comunidad para marcar contenido inapropiado de forma retroactiva."
-#: ../../Zotlabs/Module/Settings.php:1258
-msgid "Advanced Privacy Settings"
-msgstr "Configuración de privacidad avanzada"
+#: ../../Zotlabs/Module/Settings/Channel.php:481
+msgid "Channel Permission Limits"
+msgstr "Límites de los permisos del canal"
-#: ../../Zotlabs/Module/Settings.php:1260
+#: ../../Zotlabs/Module/Settings/Channel.php:483
msgid "Expire other channel content after this many days"
msgstr "Caducar contenido de otros canales después de este número de días"
-#: ../../Zotlabs/Module/Settings.php:1260
+#: ../../Zotlabs/Module/Settings/Channel.php:483
msgid "0 or blank to use the website limit."
msgstr "0 o en blanco para usar el límite del sitio web."
-#: ../../Zotlabs/Module/Settings.php:1260
+#: ../../Zotlabs/Module/Settings/Channel.php:483
#, php-format
msgid "This website expires after %d days."
msgstr "Este sitio web caduca después de %d días."
-#: ../../Zotlabs/Module/Settings.php:1260
+#: ../../Zotlabs/Module/Settings/Channel.php:483
msgid "This website does not expire imported content."
msgstr "Este sitio web no caduca el contenido importado."
-#: ../../Zotlabs/Module/Settings.php:1260
+#: ../../Zotlabs/Module/Settings/Channel.php:483
msgid "The website limit takes precedence if lower than your limit."
msgstr "El límite del sitio web tiene prioridad si es inferior a su propio límite."
-#: ../../Zotlabs/Module/Settings.php:1261
+#: ../../Zotlabs/Module/Settings/Channel.php:484
msgid "Maximum Friend Requests/Day:"
msgstr "Máximo de solicitudes de amistad por día:"
-#: ../../Zotlabs/Module/Settings.php:1261
+#: ../../Zotlabs/Module/Settings/Channel.php:484
msgid "May reduce spam activity"
msgstr "Podría reducir la actividad de spam"
-#: ../../Zotlabs/Module/Settings.php:1262
-msgid "Default Post and Publish Permissions"
-msgstr "Permisos predeterminados de entradas y publicaciones"
+#: ../../Zotlabs/Module/Settings/Channel.php:485
+msgid "Default Access Control List (ACL)"
+msgstr "Lista de control de acceso (ACL) por defecto"
-#: ../../Zotlabs/Module/Settings.php:1264
+#: ../../Zotlabs/Module/Settings/Channel.php:487
msgid "Use my default audience setting for the type of object published"
msgstr "Usar los ajustes de mi audiencia predeterminada para el tipo de publicación"
-#: ../../Zotlabs/Module/Settings.php:1271
+#: ../../Zotlabs/Module/Settings/Channel.php:494
msgid "Channel permissions category:"
msgstr "Categoría de los permisos del canal:"
-#: ../../Zotlabs/Module/Settings.php:1277
+#: ../../Zotlabs/Module/Settings/Channel.php:500
msgid "Maximum private messages per day from unknown people:"
msgstr "Máximo de mensajes privados por día de gente desconocida:"
-#: ../../Zotlabs/Module/Settings.php:1277
+#: ../../Zotlabs/Module/Settings/Channel.php:500
msgid "Useful to reduce spamming"
msgstr "Útil para reducir el envío de correo no deseado"
-#: ../../Zotlabs/Module/Settings.php:1280
+#: ../../Zotlabs/Module/Settings/Channel.php:503
msgid "Notification Settings"
msgstr "Configuración de las notificaciones"
-#: ../../Zotlabs/Module/Settings.php:1281
+#: ../../Zotlabs/Module/Settings/Channel.php:504
msgid "By default post a status message when:"
msgstr "Por defecto, enviar un mensaje de estado cuando:"
-#: ../../Zotlabs/Module/Settings.php:1282
+#: ../../Zotlabs/Module/Settings/Channel.php:505
msgid "accepting a friend request"
msgstr "Acepte una solicitud de amistad"
-#: ../../Zotlabs/Module/Settings.php:1283
+#: ../../Zotlabs/Module/Settings/Channel.php:506
msgid "joining a forum/community"
msgstr "al unirse a un foro o comunidad"
-#: ../../Zotlabs/Module/Settings.php:1284
+#: ../../Zotlabs/Module/Settings/Channel.php:507
msgid "making an <em>interesting</em> profile change"
msgstr "Realice un cambio <em>interesante</em> en su perfil"
-#: ../../Zotlabs/Module/Settings.php:1285
+#: ../../Zotlabs/Module/Settings/Channel.php:508
msgid "Send a notification email when:"
msgstr "Enviar una notificación por correo electrónico cuando:"
-#: ../../Zotlabs/Module/Settings.php:1286
+#: ../../Zotlabs/Module/Settings/Channel.php:509
msgid "You receive a connection request"
msgstr "Reciba una solicitud de conexión"
-#: ../../Zotlabs/Module/Settings.php:1287
+#: ../../Zotlabs/Module/Settings/Channel.php:510
msgid "Your connections are confirmed"
msgstr "Sus conexiones hayan sido confirmadas"
-#: ../../Zotlabs/Module/Settings.php:1288
+#: ../../Zotlabs/Module/Settings/Channel.php:511
msgid "Someone writes on your profile wall"
msgstr "Alguien escriba en la página de su perfil (\"muro\")"
-#: ../../Zotlabs/Module/Settings.php:1289
+#: ../../Zotlabs/Module/Settings/Channel.php:512
msgid "Someone writes a followup comment"
msgstr "Alguien escriba un comentario sobre sus publicaciones"
-#: ../../Zotlabs/Module/Settings.php:1290
+#: ../../Zotlabs/Module/Settings/Channel.php:513
msgid "You receive a private message"
msgstr "Reciba un mensaje privado"
-#: ../../Zotlabs/Module/Settings.php:1291
+#: ../../Zotlabs/Module/Settings/Channel.php:514
msgid "You receive a friend suggestion"
msgstr "Reciba una sugerencia de amistad"
-#: ../../Zotlabs/Module/Settings.php:1292
+#: ../../Zotlabs/Module/Settings/Channel.php:515
msgid "You are tagged in a post"
msgstr "Usted sea etiquetado en una publicación"
-#: ../../Zotlabs/Module/Settings.php:1293
+#: ../../Zotlabs/Module/Settings/Channel.php:516
msgid "You are poked/prodded/etc. in a post"
msgstr "Reciba un toque o incitación en una publicación"
-#: ../../Zotlabs/Module/Settings.php:1296
+#: ../../Zotlabs/Module/Settings/Channel.php:519
msgid "Show visual notifications including:"
msgstr "Mostrar notificaciones visuales que incluyan:"
-#: ../../Zotlabs/Module/Settings.php:1298
+#: ../../Zotlabs/Module/Settings/Channel.php:521
msgid "Unseen grid activity"
msgstr "Nueva actividad en la red"
-#: ../../Zotlabs/Module/Settings.php:1299
+#: ../../Zotlabs/Module/Settings/Channel.php:522
msgid "Unseen channel activity"
msgstr "Actividad no vista en el canal"
-#: ../../Zotlabs/Module/Settings.php:1300
+#: ../../Zotlabs/Module/Settings/Channel.php:523
msgid "Unseen private messages"
msgstr "Mensajes privados no leídos"
-#: ../../Zotlabs/Module/Settings.php:1300
-#: ../../Zotlabs/Module/Settings.php:1305
-#: ../../Zotlabs/Module/Settings.php:1306
-#: ../../Zotlabs/Module/Settings.php:1307
+#: ../../Zotlabs/Module/Settings/Channel.php:523
+#: ../../Zotlabs/Module/Settings/Channel.php:528
+#: ../../Zotlabs/Module/Settings/Channel.php:529
+#: ../../Zotlabs/Module/Settings/Channel.php:530
msgid "Recommended"
msgstr "Recomendado"
-#: ../../Zotlabs/Module/Settings.php:1301
+#: ../../Zotlabs/Module/Settings/Channel.php:524
msgid "Upcoming events"
msgstr "Próximos eventos"
-#: ../../Zotlabs/Module/Settings.php:1302
+#: ../../Zotlabs/Module/Settings/Channel.php:525
msgid "Events today"
msgstr "Eventos de hoy"
-#: ../../Zotlabs/Module/Settings.php:1303
+#: ../../Zotlabs/Module/Settings/Channel.php:526
msgid "Upcoming birthdays"
msgstr "Próximos cumpleaños"
-#: ../../Zotlabs/Module/Settings.php:1303
+#: ../../Zotlabs/Module/Settings/Channel.php:526
msgid "Not available in all themes"
msgstr "No disponible en todos los temas"
-#: ../../Zotlabs/Module/Settings.php:1304
+#: ../../Zotlabs/Module/Settings/Channel.php:527
msgid "System (personal) notifications"
msgstr "Notificaciones del sistema (personales)"
-#: ../../Zotlabs/Module/Settings.php:1305
+#: ../../Zotlabs/Module/Settings/Channel.php:528
msgid "System info messages"
msgstr "Mensajes de información del sistema"
-#: ../../Zotlabs/Module/Settings.php:1306
+#: ../../Zotlabs/Module/Settings/Channel.php:529
msgid "System critical alerts"
msgstr "Alertas críticas del sistema"
-#: ../../Zotlabs/Module/Settings.php:1307
+#: ../../Zotlabs/Module/Settings/Channel.php:530
msgid "New connections"
msgstr "Nuevas conexiones"
-#: ../../Zotlabs/Module/Settings.php:1308
+#: ../../Zotlabs/Module/Settings/Channel.php:531
msgid "System Registrations"
msgstr "Registros del sistema"
-#: ../../Zotlabs/Module/Settings.php:1309
+#: ../../Zotlabs/Module/Settings/Channel.php:532
msgid ""
"Also show new wall posts, private messages and connections under Notices"
msgstr "Mostrar también en Avisos las nuevas publicaciones, los mensajes privados y las conexiones"
-#: ../../Zotlabs/Module/Settings.php:1311
+#: ../../Zotlabs/Module/Settings/Channel.php:534
msgid "Notify me of events this many days in advance"
msgstr "Avisarme de los eventos con algunos días de antelación"
-#: ../../Zotlabs/Module/Settings.php:1311
+#: ../../Zotlabs/Module/Settings/Channel.php:534
msgid "Must be greater than 0"
msgstr "Debe ser mayor que 0"
-#: ../../Zotlabs/Module/Settings.php:1313
+#: ../../Zotlabs/Module/Settings/Channel.php:536
msgid "Advanced Account/Page Type Settings"
msgstr "Ajustes avanzados de la cuenta y de los tipos de página"
-#: ../../Zotlabs/Module/Settings.php:1314
+#: ../../Zotlabs/Module/Settings/Channel.php:537
msgid "Change the behaviour of this account for special situations"
msgstr "Cambiar el comportamiento de esta cuenta en situaciones especiales"
-#: ../../Zotlabs/Module/Settings.php:1317
-msgid ""
-"Please enable expert mode (in <a href=\"settings/features\">Settings > "
-"Additional features</a>) to adjust!"
-msgstr "¡Activar el modo de experto (en <a href=\"settings/features\">Ajustes > Funcionalidades</a>) para realizar cambios!."
-
-#: ../../Zotlabs/Module/Settings.php:1318
+#: ../../Zotlabs/Module/Settings/Channel.php:539
msgid "Miscellaneous Settings"
msgstr "Ajustes diversos"
-#: ../../Zotlabs/Module/Settings.php:1319
+#: ../../Zotlabs/Module/Settings/Channel.php:540
msgid "Default photo upload folder"
msgstr "Carpeta por defecto de las fotos subidas"
-#: ../../Zotlabs/Module/Settings.php:1319
-#: ../../Zotlabs/Module/Settings.php:1320
+#: ../../Zotlabs/Module/Settings/Channel.php:540
+#: ../../Zotlabs/Module/Settings/Channel.php:541
msgid "%Y - current year, %m - current month"
msgstr "%Y - año en curso, %m - mes actual"
-#: ../../Zotlabs/Module/Settings.php:1320
+#: ../../Zotlabs/Module/Settings/Channel.php:541
msgid "Default file upload folder"
msgstr "Carpeta por defecto de los archivos subidos"
-#: ../../Zotlabs/Module/Settings.php:1322
+#: ../../Zotlabs/Module/Settings/Channel.php:543
msgid "Personal menu to display in your channel pages"
msgstr "Menú personal que debe mostrarse en las páginas de su canal"
-#: ../../Zotlabs/Module/Settings.php:1324
+#: ../../Zotlabs/Module/Settings/Channel.php:545
msgid "Remove this channel."
msgstr "Eliminar este canal."
-#: ../../Zotlabs/Module/Settings.php:1325
+#: ../../Zotlabs/Module/Settings/Channel.php:546
msgid "Firefox Share $Projectname provider"
msgstr "Servicio de compartición de Firefox: proveedor $Projectname"
-#: ../../Zotlabs/Module/Settings.php:1326
+#: ../../Zotlabs/Module/Settings/Channel.php:547
msgid "Start calendar week on monday"
msgstr "Comenzar el calendario semanal por el lunes"
-#: ../../Zotlabs/Module/Viewconnections.php:65
-msgid "No connections."
-msgstr "Sin conexiones."
+#: ../../Zotlabs/Module/Settings/Display.php:135
+msgid "No special theme for mobile devices"
+msgstr "Sin tema especial para dispositivos móviles"
-#: ../../Zotlabs/Module/Viewconnections.php:78
+#: ../../Zotlabs/Module/Settings/Display.php:138
#, php-format
-msgid "Visit %s's profile [%s]"
-msgstr "Visitar el perfil de %s [%s]"
+msgid "%s - (Experimental)"
+msgstr "%s - (Experimental)"
-#: ../../Zotlabs/Module/Viewconnections.php:107
-msgid "View Connections"
-msgstr "Ver conexiones"
+#: ../../Zotlabs/Module/Settings/Display.php:189
+msgid "Display Settings"
+msgstr "Ajustes de visualización"
-#: ../../Zotlabs/Module/Viewsrc.php:44
-msgid "Source of Item"
-msgstr "Origen del elemento"
+#: ../../Zotlabs/Module/Settings/Display.php:190
+msgid "Theme Settings"
+msgstr "Ajustes del tema"
-#: ../../Zotlabs/Module/Editpost.php:35
-msgid "Item is not editable"
-msgstr "El elemento no es editable"
+#: ../../Zotlabs/Module/Settings/Display.php:191
+msgid "Custom Theme Settings"
+msgstr "Ajustes personalizados del tema"
-#: ../../Zotlabs/Module/Xchan.php:10
-msgid "Xchan Lookup"
-msgstr "Búsqueda de canales"
+#: ../../Zotlabs/Module/Settings/Display.php:192
+msgid "Content Settings"
+msgstr "Ajustes del contenido"
-#: ../../Zotlabs/Module/Xchan.php:13
-msgid "Lookup xchan beginning with (or webbie): "
-msgstr "Buscar un canal (o un \"webbie\") que comience por:"
+#: ../../Zotlabs/Module/Settings/Display.php:198
+msgid "Display Theme:"
+msgstr "Tema gráfico del perfil:"
+
+#: ../../Zotlabs/Module/Settings/Display.php:199
+msgid "Select scheme"
+msgstr "Elegir un esquema"
+
+#: ../../Zotlabs/Module/Settings/Display.php:201
+msgid "Mobile Theme:"
+msgstr "Tema para el móvil:"
+
+#: ../../Zotlabs/Module/Settings/Display.php:202
+msgid "Preload images before rendering the page"
+msgstr "Carga previa de las imágenes antes de generar la página"
+
+#: ../../Zotlabs/Module/Settings/Display.php:202
+msgid ""
+"The subjective page load time will be longer but the page will be ready when"
+" displayed"
+msgstr "El tiempo subjetivo de carga de la página será más largo, pero la página estará lista cuando se muestre."
+
+#: ../../Zotlabs/Module/Settings/Display.php:203
+msgid "Enable user zoom on mobile devices"
+msgstr "Habilitar zoom de usuario en dispositivos móviles"
+
+#: ../../Zotlabs/Module/Settings/Display.php:204
+msgid "Update browser every xx seconds"
+msgstr "Actualizar navegador cada xx segundos"
+
+#: ../../Zotlabs/Module/Settings/Display.php:204
+msgid "Minimum of 10 seconds, no maximum"
+msgstr "Mínimo de 10 segundos, sin máximo"
+
+#: ../../Zotlabs/Module/Settings/Display.php:205
+msgid "Maximum number of conversations to load at any time:"
+msgstr "Máximo número de conversaciones a cargar en cualquier momento:"
+
+#: ../../Zotlabs/Module/Settings/Display.php:205
+msgid "Maximum of 100 items"
+msgstr "Máximo de 100 elementos"
+
+#: ../../Zotlabs/Module/Settings/Display.php:206
+msgid "Show emoticons (smilies) as images"
+msgstr "Mostrar emoticonos (smilies) como imágenes"
+
+#: ../../Zotlabs/Module/Settings/Display.php:207
+msgid "Link post titles to source"
+msgstr "Enlazar título de la publicación a la fuente original"
+
+#: ../../Zotlabs/Module/Settings/Display.php:208
+msgid "System Page Layout Editor - (advanced)"
+msgstr "Editor de plantilla de página del sistema - (avanzado)"
+
+#: ../../Zotlabs/Module/Settings/Display.php:211
+msgid "Use blog/list mode on channel page"
+msgstr "Usar modo blog/lista en la página de inicio del canal"
+
+#: ../../Zotlabs/Module/Settings/Display.php:211
+#: ../../Zotlabs/Module/Settings/Display.php:212
+msgid "(comments displayed separately)"
+msgstr "(comentarios mostrados de forma separada)"
+
+#: ../../Zotlabs/Module/Settings/Display.php:212
+msgid "Use blog/list mode on grid page"
+msgstr "Mostrar mi red en modo blog"
+
+#: ../../Zotlabs/Module/Settings/Display.php:213
+msgid "Channel page max height of content (in pixels)"
+msgstr "Altura máxima del contenido de la página del canal (en píxeles)"
+
+#: ../../Zotlabs/Module/Settings/Display.php:213
+#: ../../Zotlabs/Module/Settings/Display.php:214
+msgid "click to expand content exceeding this height"
+msgstr "Pulsar para expandir el contenido que exceda de esta altura"
+
+#: ../../Zotlabs/Module/Settings/Display.php:214
+msgid "Grid page max height of content (in pixels)"
+msgstr "Altura máxima del contenido de mi red (en píxeles)"
+
+#: ../../Zotlabs/Module/Settings/Featured.php:24
+msgid "No feature settings configured"
+msgstr "No se ha establecido la configuración de los complementos"
+
+#: ../../Zotlabs/Module/Settings/Featured.php:31
+msgid "Feature/Addon Settings"
+msgstr "Ajustes de los complementos"
+
+#: ../../Zotlabs/Module/Settings/Features.php:45
+msgid "Additional Features"
+msgstr "Funcionalidades"
+
+#: ../../Zotlabs/Module/Settings/Oauth.php:34
+msgid "Name is required"
+msgstr "El nombre es obligatorio"
+
+#: ../../Zotlabs/Module/Settings/Oauth.php:38
+msgid "Key and Secret are required"
+msgstr "\"Key\" y \"Secret\" son obligatorios"
+
+#: ../../Zotlabs/Module/Settings/Oauth.php:86
+#: ../../Zotlabs/Module/Settings/Oauth.php:112
+#: ../../Zotlabs/Module/Settings/Oauth.php:148
+msgid "Add application"
+msgstr "Añadir aplicación"
+
+#: ../../Zotlabs/Module/Settings/Oauth.php:89
+msgid "Name of application"
+msgstr "Nombre de la aplicación"
+
+#: ../../Zotlabs/Module/Settings/Oauth.php:90
+#: ../../Zotlabs/Module/Settings/Oauth.php:116
+msgid "Consumer Key"
+msgstr "Consumer Key"
+
+#: ../../Zotlabs/Module/Settings/Oauth.php:90
+#: ../../Zotlabs/Module/Settings/Oauth.php:91
+msgid "Automatically generated - change if desired. Max length 20"
+msgstr "Generado automáticamente - si lo desea, cámbielo. Longitud máxima: 20"
+
+#: ../../Zotlabs/Module/Settings/Oauth.php:91
+#: ../../Zotlabs/Module/Settings/Oauth.php:117
+msgid "Consumer Secret"
+msgstr "Consumer Secret"
+
+#: ../../Zotlabs/Module/Settings/Oauth.php:92
+#: ../../Zotlabs/Module/Settings/Oauth.php:118
+msgid "Redirect"
+msgstr "Redirigir"
+
+#: ../../Zotlabs/Module/Settings/Oauth.php:92
+msgid ""
+"Redirect URI - leave blank unless your application specifically requires "
+"this"
+msgstr "URI de redirección - dejar en blanco a menos que su aplicación específicamente lo requiera"
+
+#: ../../Zotlabs/Module/Settings/Oauth.php:93
+#: ../../Zotlabs/Module/Settings/Oauth.php:119
+msgid "Icon url"
+msgstr "Dirección del icono"
+
+#: ../../Zotlabs/Module/Settings/Oauth.php:104
+msgid "Application not found."
+msgstr "Aplicación no encontrada."
+
+#: ../../Zotlabs/Module/Settings/Oauth.php:147
+msgid "Connected Apps"
+msgstr "Aplicaciones (apps) conectadas"
+
+#: ../../Zotlabs/Module/Settings/Oauth.php:151
+msgid "Client key starts with"
+msgstr "La \"client key\" empieza por"
+
+#: ../../Zotlabs/Module/Settings/Oauth.php:152
+msgid "No name"
+msgstr "Sin nombre"
+
+#: ../../Zotlabs/Module/Settings/Oauth.php:153
+msgid "Remove authorization"
+msgstr "Eliminar autorización"
+
+#: ../../Zotlabs/Module/Settings/Tokens.php:31
+#, php-format
+msgid "This channel is limited to %d tokens"
+msgstr "Este canal tiene un límite de %d tokens"
+
+#: ../../Zotlabs/Module/Settings/Tokens.php:37
+msgid "Name and Password are required."
+msgstr "Se requiere el nombre y la contraseña."
+
+#: ../../Zotlabs/Module/Settings/Tokens.php:77
+msgid "Token saved."
+msgstr "Token salvado."
+
+#: ../../Zotlabs/Module/Settings/Tokens.php:113
+msgid ""
+"Use this form to create temporary access identifiers to share things with "
+"non-members. These identities may be used in Access Control Lists and "
+"visitors may login using these credentials to access private content."
+msgstr "Utilice este formulario para crear identificadores de acceso temporal para compartir cosas con los no miembros de Hubzilla. Estas identidades se pueden usar en las Listas de control de acceso (ACL) y así los visitantes pueden iniciar sesión, utilizando estas credenciales, para acceder a su contenido privado."
+
+#: ../../Zotlabs/Module/Settings/Tokens.php:115
+msgid ""
+"You may also provide <em>dropbox</em> style access links to friends and "
+"associates by adding the Login Password to any specific site URL as shown. "
+"Examples:"
+msgstr "También puede proporcionar, con el estilo <em>dropbox</em>, enlaces de acceso a sus amigos y asociados añadiendo la contraseña de inicio de sesión a cualquier dirección URL, como se muestra. Ejemplos: "
+
+#: ../../Zotlabs/Module/Settings/Tokens.php:150 ../../include/widgets.php:647
+msgid "Guest Access Tokens"
+msgstr "Tokens de acceso para invitados"
+
+#: ../../Zotlabs/Module/Settings/Tokens.php:157
+msgid "Login Name"
+msgstr "Nombre de inicio de sesión"
+
+#: ../../Zotlabs/Module/Settings/Tokens.php:158
+msgid "Login Password"
+msgstr "Contraseña de inicio de sesión"
+
+#: ../../Zotlabs/Module/Settings/Tokens.php:159
+msgid "Expires (yyyy-mm-dd)"
+msgstr "Expira (aaaa-mm-dd)"
#: ../../Zotlabs/Lib/Chatroom.php:27
msgid "Missing room name"
@@ -6524,368 +6878,211 @@ msgstr "Sala no encontrada."
msgid "Room is full"
msgstr "La sala está llena."
-#: ../../Zotlabs/Lib/Enotify.php:60 ../../include/network.php:1887
+#: ../../Zotlabs/Lib/Enotify.php:60 ../../include/network.php:1889
msgid "$Projectname Notification"
msgstr "Notificación de $Projectname"
-#: ../../Zotlabs/Lib/Enotify.php:61 ../../include/network.php:1888
+#: ../../Zotlabs/Lib/Enotify.php:61 ../../include/network.php:1890
msgid "$projectname"
msgstr "$projectname"
-#: ../../Zotlabs/Lib/Enotify.php:63 ../../include/network.php:1890
+#: ../../Zotlabs/Lib/Enotify.php:63 ../../include/network.php:1892
msgid "Thank You,"
msgstr "Gracias,"
-#: ../../Zotlabs/Lib/Enotify.php:65 ../../include/network.php:1892
+#: ../../Zotlabs/Lib/Enotify.php:65 ../../include/network.php:1894
#, php-format
msgid "%s Administrator"
msgstr "%s Administrador"
-#: ../../Zotlabs/Lib/Enotify.php:100
+#: ../../Zotlabs/Lib/Enotify.php:103
#, php-format
msgid "%s <!item_type!>"
msgstr "%s <!item_type!>"
-#: ../../Zotlabs/Lib/Enotify.php:104
+#: ../../Zotlabs/Lib/Enotify.php:107
#, php-format
-msgid "[Hubzilla:Notify] New mail received at %s"
-msgstr "[Hubzilla:Aviso] Nuevo mensaje en %s"
+msgid "[$Projectname:Notify] New mail received at %s"
+msgstr "[$Projectname:Aviso] Nuevo correo recibido en %s"
-#: ../../Zotlabs/Lib/Enotify.php:106
+#: ../../Zotlabs/Lib/Enotify.php:109
#, php-format
msgid "%1$s, %2$s sent you a new private message at %3$s."
msgstr "%1$s, %2$s le ha enviado un nuevo mensaje privado en %3$s."
-#: ../../Zotlabs/Lib/Enotify.php:107
+#: ../../Zotlabs/Lib/Enotify.php:110
#, php-format
msgid "%1$s sent you %2$s."
msgstr "%1$s le ha enviado %2$s."
-#: ../../Zotlabs/Lib/Enotify.php:107
+#: ../../Zotlabs/Lib/Enotify.php:110
msgid "a private message"
msgstr "un mensaje privado"
-#: ../../Zotlabs/Lib/Enotify.php:108
+#: ../../Zotlabs/Lib/Enotify.php:111
#, php-format
msgid "Please visit %s to view and/or reply to your private messages."
msgstr "Por favor visite %s para ver y/o responder a su mensaje privado."
-#: ../../Zotlabs/Lib/Enotify.php:164
+#: ../../Zotlabs/Lib/Enotify.php:170
#, php-format
msgid "%1$s, %2$s commented on [zrl=%3$s]a %4$s[/zrl]"
msgstr "%1$s, %2$s ha comentado [zrl=%3$s]%4$s[/zrl]"
-#: ../../Zotlabs/Lib/Enotify.php:172
+#: ../../Zotlabs/Lib/Enotify.php:178
#, php-format
msgid "%1$s, %2$s commented on [zrl=%3$s]%4$s's %5$s[/zrl]"
msgstr "%1$s, %2$s ha comentado [zrl=%3$s]%5$s de %4$s[/zrl] "
-#: ../../Zotlabs/Lib/Enotify.php:181
+#: ../../Zotlabs/Lib/Enotify.php:187
#, php-format
msgid "%1$s, %2$s commented on [zrl=%3$s]your %4$s[/zrl]"
msgstr "%1$s, %2$s ha comentado [zrl=%3$s]%4$s creado por usted[/zrl]"
-#: ../../Zotlabs/Lib/Enotify.php:192
+#: ../../Zotlabs/Lib/Enotify.php:198
#, php-format
-msgid "[Hubzilla:Notify] Comment to conversation #%1$d by %2$s"
-msgstr "[Hubzilla:Aviso] Nuevo comentario de %2$s a la conversación #%1$d"
+msgid "[$Projectname:Notify] Comment to conversation #%1$d by %2$s"
+msgstr "[$Projectname:Aviso] Nuevo comentario de %2$s en la conversación #%1$d"
-#: ../../Zotlabs/Lib/Enotify.php:193
+#: ../../Zotlabs/Lib/Enotify.php:199
#, php-format
msgid "%1$s, %2$s commented on an item/conversation you have been following."
msgstr "%1$s, %2$s ha comentado un elemento/conversación que ha estado siguiendo."
-#: ../../Zotlabs/Lib/Enotify.php:196 ../../Zotlabs/Lib/Enotify.php:211
-#: ../../Zotlabs/Lib/Enotify.php:237 ../../Zotlabs/Lib/Enotify.php:255
-#: ../../Zotlabs/Lib/Enotify.php:269
+#: ../../Zotlabs/Lib/Enotify.php:202 ../../Zotlabs/Lib/Enotify.php:217
+#: ../../Zotlabs/Lib/Enotify.php:243 ../../Zotlabs/Lib/Enotify.php:261
+#: ../../Zotlabs/Lib/Enotify.php:275
#, php-format
msgid "Please visit %s to view and/or reply to the conversation."
msgstr "Para ver o comentar la conversación, visite %s"
-#: ../../Zotlabs/Lib/Enotify.php:202
+#: ../../Zotlabs/Lib/Enotify.php:208
#, php-format
-msgid "[Hubzilla:Notify] %s posted to your profile wall"
-msgstr "[Hubzilla:Aviso] %s ha publicado una entrada en su página de inicio del perfil (\"muro\")"
+msgid "[$Projectname:Notify] %s posted to your profile wall"
+msgstr "[$Projectname:Aviso] %s ha publicado una entrada en su página de inicio del perfil (\"muro\")"
-#: ../../Zotlabs/Lib/Enotify.php:204
+#: ../../Zotlabs/Lib/Enotify.php:210
#, php-format
msgid "%1$s, %2$s posted to your profile wall at %3$s"
msgstr "%1$s, %2$s ha publicado en su página del perfil en %3$s"
-#: ../../Zotlabs/Lib/Enotify.php:206
+#: ../../Zotlabs/Lib/Enotify.php:212
#, php-format
msgid "%1$s, %2$s posted to [zrl=%3$s]your wall[/zrl]"
msgstr "%1$s, %2$s ha publicado en [zrl=%3$s]su página del perfil[/zrl]"
-#: ../../Zotlabs/Lib/Enotify.php:230
+#: ../../Zotlabs/Lib/Enotify.php:236
#, php-format
-msgid "[Hubzilla:Notify] %s tagged you"
-msgstr "[Hubzilla:Aviso] %s le ha etiquetado"
+msgid "[$Projectname:Notify] %s tagged you"
+msgstr "[$Projectname:Aviso] %s le ha etiquetado"
-#: ../../Zotlabs/Lib/Enotify.php:231
+#: ../../Zotlabs/Lib/Enotify.php:237
#, php-format
msgid "%1$s, %2$s tagged you at %3$s"
msgstr "%1$s, %2$s le ha etiquetado en %3$s"
-#: ../../Zotlabs/Lib/Enotify.php:232
+#: ../../Zotlabs/Lib/Enotify.php:238
#, php-format
msgid "%1$s, %2$s [zrl=%3$s]tagged you[/zrl]."
msgstr "%1$s, %2$s [zrl=%3$s]le etiquetó[/zrl]."
-#: ../../Zotlabs/Lib/Enotify.php:244
+#: ../../Zotlabs/Lib/Enotify.php:250
#, php-format
-msgid "[Hubzilla:Notify] %1$s poked you"
-msgstr "[Hubzilla:Aviso] %1$s le ha dado un toque"
+msgid "[$Projectname:Notify] %1$s poked you"
+msgstr "[$Projectname:Aviso] %1$s le ha dado un toque"
-#: ../../Zotlabs/Lib/Enotify.php:245
+#: ../../Zotlabs/Lib/Enotify.php:251
#, php-format
msgid "%1$s, %2$s poked you at %3$s"
msgstr "%1$s, %2$s le ha dado un toque en %3$s"
-#: ../../Zotlabs/Lib/Enotify.php:246
+#: ../../Zotlabs/Lib/Enotify.php:252
#, php-format
msgid "%1$s, %2$s [zrl=%2$s]poked you[/zrl]."
msgstr "%1$s, %2$s [zrl=%2$s]le ha dado un toque[/zrl]."
-#: ../../Zotlabs/Lib/Enotify.php:262
+#: ../../Zotlabs/Lib/Enotify.php:268
#, php-format
-msgid "[Hubzilla:Notify] %s tagged your post"
-msgstr "[Hubzilla:Aviso] %s ha etiquetado su publicación"
+msgid "[$Projectname:Notify] %s tagged your post"
+msgstr "[$Projectname:Aviso] %s ha etiquetado su entrada"
-#: ../../Zotlabs/Lib/Enotify.php:263
+#: ../../Zotlabs/Lib/Enotify.php:269
#, php-format
msgid "%1$s, %2$s tagged your post at %3$s"
msgstr "%1$s, %2$s ha etiquetado su publicación en %3$s"
-#: ../../Zotlabs/Lib/Enotify.php:264
+#: ../../Zotlabs/Lib/Enotify.php:270
#, php-format
msgid "%1$s, %2$s tagged [zrl=%3$s]your post[/zrl]"
msgstr "%1$s, %2$s ha etiquetado [zrl=%3$s]su publicación[/zrl]"
-#: ../../Zotlabs/Lib/Enotify.php:276
-msgid "[Hubzilla:Notify] Introduction received"
-msgstr "[Hubzilla:Aviso] Ha recibido una solicitud de conexión"
+#: ../../Zotlabs/Lib/Enotify.php:282
+msgid "[$Projectname:Notify] Introduction received"
+msgstr "[$Projectname:Aviso] Ha recibido una solicitud de conexión"
-#: ../../Zotlabs/Lib/Enotify.php:277
+#: ../../Zotlabs/Lib/Enotify.php:283
#, php-format
msgid "%1$s, you've received an new connection request from '%2$s' at %3$s"
msgstr "%1$s, ha recibido una nueva solicitud de conexión de '%2$s' en %3$s"
-#: ../../Zotlabs/Lib/Enotify.php:278
+#: ../../Zotlabs/Lib/Enotify.php:284
#, php-format
msgid ""
"%1$s, you've received [zrl=%2$s]a new connection request[/zrl] from %3$s."
msgstr "%1$s, ha recibido [zrl=%2$s]una nueva solicitud de conexión[/zrl] de %3$s."
-#: ../../Zotlabs/Lib/Enotify.php:282 ../../Zotlabs/Lib/Enotify.php:301
+#: ../../Zotlabs/Lib/Enotify.php:288 ../../Zotlabs/Lib/Enotify.php:307
#, php-format
msgid "You may visit their profile at %s"
msgstr "Puede visitar su perfil en %s"
-#: ../../Zotlabs/Lib/Enotify.php:284
+#: ../../Zotlabs/Lib/Enotify.php:290
#, php-format
msgid "Please visit %s to approve or reject the connection request."
msgstr "Por favor, visite %s para permitir o rechazar la solicitad de conexión."
-#: ../../Zotlabs/Lib/Enotify.php:291
-msgid "[Hubzilla:Notify] Friend suggestion received"
-msgstr "[Hubzilla:Aviso] Ha recibido una sugerencia de amistad"
+#: ../../Zotlabs/Lib/Enotify.php:297
+msgid "[$Projectname:Notify] Friend suggestion received"
+msgstr "[$Projectname:Aviso] Ha recibido una sugerencia de conexión"
-#: ../../Zotlabs/Lib/Enotify.php:292
+#: ../../Zotlabs/Lib/Enotify.php:298
#, php-format
msgid "%1$s, you've received a friend suggestion from '%2$s' at %3$s"
msgstr "%1$s, ha recibido una sugerencia de conexión de '%2$s' en %3$s"
-#: ../../Zotlabs/Lib/Enotify.php:293
+#: ../../Zotlabs/Lib/Enotify.php:299
#, php-format
msgid ""
"%1$s, you've received [zrl=%2$s]a friend suggestion[/zrl] for %3$s from "
"%4$s."
msgstr "%1$s, ha recibido [zrl=%2$s]una sugerencia de conexión[/zrl] para %3$s de %4$s."
-#: ../../Zotlabs/Lib/Enotify.php:299
+#: ../../Zotlabs/Lib/Enotify.php:305
msgid "Name:"
msgstr "Nombre:"
-#: ../../Zotlabs/Lib/Enotify.php:300
+#: ../../Zotlabs/Lib/Enotify.php:306
msgid "Photo:"
msgstr "Foto:"
-#: ../../Zotlabs/Lib/Enotify.php:303
+#: ../../Zotlabs/Lib/Enotify.php:309
#, php-format
msgid "Please visit %s to approve or reject the suggestion."
msgstr "Por favor, visite %s para aprobar o rechazar la sugerencia."
-#: ../../Zotlabs/Lib/Enotify.php:518
-msgid "[Hubzilla:Notify]"
-msgstr "[Hubzilla:Aviso]"
+#: ../../Zotlabs/Lib/Enotify.php:527
+msgid "[$Projectname:Notify]"
+msgstr "[$Projectname:Aviso]"
-#: ../../Zotlabs/Lib/Enotify.php:667
+#: ../../Zotlabs/Lib/Enotify.php:687
msgid "created a new post"
msgstr "ha creado una nueva entrada"
-#: ../../Zotlabs/Lib/Enotify.php:668
+#: ../../Zotlabs/Lib/Enotify.php:688
#, php-format
msgid "commented on %s's post"
msgstr "ha comentado la entrada de %s"
-#: ../../Zotlabs/Lib/Apps.php:205
-msgid "Site Admin"
-msgstr "Administrador del sitio"
-
-#: ../../Zotlabs/Lib/Apps.php:206
-msgid "Bug Report"
-msgstr "Informe de errores"
-
-#: ../../Zotlabs/Lib/Apps.php:207
-msgid "View Bookmarks"
-msgstr "Ver los marcadores"
-
-#: ../../Zotlabs/Lib/Apps.php:208
-msgid "My Chatrooms"
-msgstr "Mis salas de chat"
-
-#: ../../Zotlabs/Lib/Apps.php:210
-msgid "Firefox Share"
-msgstr "Servicio de compartición de Firefox"
-
-#: ../../Zotlabs/Lib/Apps.php:211
-msgid "Remote Diagnostics"
-msgstr "Diagnóstico remoto"
-
-#: ../../Zotlabs/Lib/Apps.php:212 ../../include/features.php:93
-msgid "Suggest Channels"
-msgstr "Sugerir canales"
-
-#: ../../Zotlabs/Lib/Apps.php:213 ../../include/nav.php:114
-#: ../../boot.php:1713
-msgid "Login"
-msgstr "Iniciar sesión"
-
-#: ../../Zotlabs/Lib/Apps.php:215 ../../include/nav.php:183
-msgid "Grid"
-msgstr "Red"
-
-#: ../../Zotlabs/Lib/Apps.php:220 ../../include/nav.php:186
-msgid "Channel Home"
-msgstr "Mi canal"
-
-#: ../../Zotlabs/Lib/Apps.php:223 ../../include/conversation.php:1679
-#: ../../include/conversation.php:1682 ../../include/nav.php:205
-msgid "Events"
-msgstr "Eventos"
-
-#: ../../Zotlabs/Lib/Apps.php:224 ../../include/nav.php:171
-msgid "Directory"
-msgstr "Directorio"
-
-#: ../../Zotlabs/Lib/Apps.php:226 ../../include/nav.php:197
-msgid "Mail"
-msgstr "Correo"
-
-#: ../../Zotlabs/Lib/Apps.php:229 ../../include/nav.php:98
-msgid "Chat"
-msgstr "Chat"
-
-#: ../../Zotlabs/Lib/Apps.php:231
-msgid "Probe"
-msgstr "Probar"
-
-#: ../../Zotlabs/Lib/Apps.php:232
-msgid "Suggest"
-msgstr "Sugerir"
-
-#: ../../Zotlabs/Lib/Apps.php:233
-msgid "Random Channel"
-msgstr "Canal aleatorio"
-
-#: ../../Zotlabs/Lib/Apps.php:234
-msgid "Invite"
-msgstr "Invitar"
-
-#: ../../Zotlabs/Lib/Apps.php:235 ../../include/widgets.php:1494
-msgid "Features"
-msgstr "Funcionalidades"
-
-#: ../../Zotlabs/Lib/Apps.php:236
-msgid "Language"
-msgstr "Idioma"
-
-#: ../../Zotlabs/Lib/Apps.php:237
-msgid "Post"
-msgstr "Publicación"
-
-#: ../../Zotlabs/Lib/Apps.php:238
-msgid "Profile Photo"
-msgstr "Foto del perfil"
-
-#: ../../Zotlabs/Lib/Apps.php:339
-msgid "Purchase"
-msgstr "Comprar"
-
-#: ../../Zotlabs/Lib/PermissionDescription.php:31
-#: ../../include/acl_selectors.php:124
-msgid "Visible to your default audience"
-msgstr "Visible para su público predeterminado."
-
-#: ../../Zotlabs/Lib/PermissionDescription.php:106
-#: ../../include/acl_selectors.php:170
-msgid "Only me"
-msgstr "Sólo yo"
-
-#: ../../Zotlabs/Lib/PermissionDescription.php:107
-msgid "Public"
-msgstr "Público"
-
-#: ../../Zotlabs/Lib/PermissionDescription.php:108
-msgid "Anybody in the $Projectname network"
-msgstr "Cualquiera en la red $Projectname"
-
-#: ../../Zotlabs/Lib/PermissionDescription.php:109
-#, php-format
-msgid "Any account on %s"
-msgstr "Cualquier cuenta en %s"
-
-#: ../../Zotlabs/Lib/PermissionDescription.php:110
-msgid "Any of my connections"
-msgstr "Cualquiera de mis conexiones"
-
-#: ../../Zotlabs/Lib/PermissionDescription.php:111
-msgid "Only connections I specifically allow"
-msgstr "Sólo las conexiones que yo permita de forma explícita"
-
-#: ../../Zotlabs/Lib/PermissionDescription.php:112
-msgid "Anybody authenticated (could include visitors from other networks)"
-msgstr "Cualquiera que esté autenticado (podría incluir a los visitantes de otras redes)"
-
-#: ../../Zotlabs/Lib/PermissionDescription.php:113
-msgid "Any connections including those who haven't yet been approved"
-msgstr "Cualquier conexión incluyendo aquellas que aún no han sido aprobadas"
-
-#: ../../Zotlabs/Lib/PermissionDescription.php:152
-msgid ""
-"This is your default setting for the audience of your normal stream, and "
-"posts."
-msgstr "Esta es la configuración predeterminada para su flujo (stream) habitual de publicaciones."
-
-#: ../../Zotlabs/Lib/PermissionDescription.php:153
-msgid ""
-"This is your default setting for who can view your default channel profile"
-msgstr "Esta es su configuración por defecto para establecer quién puede ver su perfil del canal predeterminado"
-
-#: ../../Zotlabs/Lib/PermissionDescription.php:154
-msgid "This is your default setting for who can view your connections"
-msgstr "Este es su ajuste predeterminado para establecer quién puede ver sus conexiones"
-
-#: ../../Zotlabs/Lib/PermissionDescription.php:155
-msgid ""
-"This is your default setting for who can view your file storage and photos"
-msgstr "Este es su ajuste predeterminado para establecer quién puede ver su repositorio de ficheros y sus fotos"
-
-#: ../../Zotlabs/Lib/PermissionDescription.php:156
-msgid "This is your default setting for the audience of your webpages"
-msgstr "Este es el ajuste predeterminado para establecer la audiencia de sus páginas web"
-
#: ../../Zotlabs/Lib/ThreadItem.php:95 ../../include/conversation.php:667
msgid "Private Message"
msgstr "Mensaje Privado"
@@ -6922,957 +7119,1169 @@ msgstr "No estoy de acuerdo"
msgid "I abstain"
msgstr "Me abstengo"
-#: ../../Zotlabs/Lib/ThreadItem.php:218
+#: ../../Zotlabs/Lib/ThreadItem.php:223
msgid "Add Star"
msgstr "Destacar añadiendo una estrella"
-#: ../../Zotlabs/Lib/ThreadItem.php:219
+#: ../../Zotlabs/Lib/ThreadItem.php:224
msgid "Remove Star"
msgstr "Eliminar estrella"
-#: ../../Zotlabs/Lib/ThreadItem.php:220
+#: ../../Zotlabs/Lib/ThreadItem.php:225
msgid "Toggle Star Status"
msgstr "Activar o desactivar el estado de entrada preferida"
-#: ../../Zotlabs/Lib/ThreadItem.php:224
+#: ../../Zotlabs/Lib/ThreadItem.php:229
msgid "starred"
msgstr "preferidas"
-#: ../../Zotlabs/Lib/ThreadItem.php:234 ../../include/conversation.php:674
+#: ../../Zotlabs/Lib/ThreadItem.php:239 ../../include/conversation.php:674
msgid "Message signature validated"
msgstr "Firma de mensaje validada"
-#: ../../Zotlabs/Lib/ThreadItem.php:235 ../../include/conversation.php:675
+#: ../../Zotlabs/Lib/ThreadItem.php:240 ../../include/conversation.php:675
msgid "Message signature incorrect"
msgstr "Firma de mensaje incorrecta"
-#: ../../Zotlabs/Lib/ThreadItem.php:243
+#: ../../Zotlabs/Lib/ThreadItem.php:248
msgid "Add Tag"
msgstr "Añadir etiqueta"
-#: ../../Zotlabs/Lib/ThreadItem.php:262 ../../include/taxonomy.php:316
+#: ../../Zotlabs/Lib/ThreadItem.php:268 ../../include/taxonomy.php:316
msgid "like"
msgstr "me gusta"
-#: ../../Zotlabs/Lib/ThreadItem.php:263 ../../include/taxonomy.php:317
+#: ../../Zotlabs/Lib/ThreadItem.php:269 ../../include/taxonomy.php:317
msgid "dislike"
msgstr "no me gusta"
-#: ../../Zotlabs/Lib/ThreadItem.php:267
+#: ../../Zotlabs/Lib/ThreadItem.php:273
msgid "Share This"
msgstr "Compartir esto"
-#: ../../Zotlabs/Lib/ThreadItem.php:267
+#: ../../Zotlabs/Lib/ThreadItem.php:273
msgid "share"
msgstr "compartir"
-#: ../../Zotlabs/Lib/ThreadItem.php:276
+#: ../../Zotlabs/Lib/ThreadItem.php:282
msgid "Delivery Report"
msgstr "Informe de transmisión"
-#: ../../Zotlabs/Lib/ThreadItem.php:294
+#: ../../Zotlabs/Lib/ThreadItem.php:300
#, php-format
msgid "%d comment"
msgid_plural "%d comments"
msgstr[0] "%d comentario"
msgstr[1] "%d comentarios"
-#: ../../Zotlabs/Lib/ThreadItem.php:323 ../../Zotlabs/Lib/ThreadItem.php:324
+#: ../../Zotlabs/Lib/ThreadItem.php:329 ../../Zotlabs/Lib/ThreadItem.php:330
#, php-format
msgid "View %s's profile - %s"
msgstr "Ver el perfil de %s - %s"
-#: ../../Zotlabs/Lib/ThreadItem.php:327
+#: ../../Zotlabs/Lib/ThreadItem.php:333
msgid "to"
msgstr "a"
-#: ../../Zotlabs/Lib/ThreadItem.php:328
+#: ../../Zotlabs/Lib/ThreadItem.php:334
msgid "via"
msgstr "mediante"
-#: ../../Zotlabs/Lib/ThreadItem.php:329
+#: ../../Zotlabs/Lib/ThreadItem.php:335
msgid "Wall-to-Wall"
msgstr "De página del perfil a página del perfil (de \"muro\" a \"muro\")"
-#: ../../Zotlabs/Lib/ThreadItem.php:330
+#: ../../Zotlabs/Lib/ThreadItem.php:336
msgid "via Wall-To-Wall:"
msgstr "Mediante el procedimiento página del perfil a página del perfil (de \"muro\" a \"muro\")"
-#: ../../Zotlabs/Lib/ThreadItem.php:342 ../../include/conversation.php:722
+#: ../../Zotlabs/Lib/ThreadItem.php:348 ../../include/conversation.php:720
#, php-format
msgid "from %s"
msgstr "desde %s"
-#: ../../Zotlabs/Lib/ThreadItem.php:345 ../../include/conversation.php:725
+#: ../../Zotlabs/Lib/ThreadItem.php:351 ../../include/conversation.php:723
#, php-format
msgid "last edited: %s"
msgstr "último cambio: %s"
-#: ../../Zotlabs/Lib/ThreadItem.php:346 ../../include/conversation.php:726
+#: ../../Zotlabs/Lib/ThreadItem.php:352 ../../include/conversation.php:724
#, php-format
msgid "Expires: %s"
msgstr "Caduca: %s"
-#: ../../Zotlabs/Lib/ThreadItem.php:371
+#: ../../Zotlabs/Lib/ThreadItem.php:377
msgid "Save Bookmarks"
msgstr "Guardar en Marcadores"
-#: ../../Zotlabs/Lib/ThreadItem.php:372
+#: ../../Zotlabs/Lib/ThreadItem.php:378
msgid "Add to Calendar"
msgstr "Añadir al calendario"
-#: ../../Zotlabs/Lib/ThreadItem.php:381
+#: ../../Zotlabs/Lib/ThreadItem.php:387
msgid "Mark all seen"
msgstr "Marcar todo como visto"
-#: ../../Zotlabs/Lib/ThreadItem.php:422 ../../include/js_strings.php:7
+#: ../../Zotlabs/Lib/ThreadItem.php:436 ../../include/js_strings.php:7
#, php-format
msgid "%s show all"
msgstr "%s mostrar todo"
-#: ../../Zotlabs/Lib/ThreadItem.php:712 ../../include/conversation.php:1233
+#: ../../Zotlabs/Lib/ThreadItem.php:726 ../../include/conversation.php:1239
msgid "Bold"
msgstr "Negrita"
-#: ../../Zotlabs/Lib/ThreadItem.php:713 ../../include/conversation.php:1234
+#: ../../Zotlabs/Lib/ThreadItem.php:727 ../../include/conversation.php:1240
msgid "Italic"
msgstr "Itálico "
-#: ../../Zotlabs/Lib/ThreadItem.php:714 ../../include/conversation.php:1235
+#: ../../Zotlabs/Lib/ThreadItem.php:728 ../../include/conversation.php:1241
msgid "Underline"
msgstr "Subrayar"
-#: ../../Zotlabs/Lib/ThreadItem.php:715 ../../include/conversation.php:1236
+#: ../../Zotlabs/Lib/ThreadItem.php:729 ../../include/conversation.php:1242
msgid "Quote"
msgstr "Citar"
-#: ../../Zotlabs/Lib/ThreadItem.php:716 ../../include/conversation.php:1237
+#: ../../Zotlabs/Lib/ThreadItem.php:730 ../../include/conversation.php:1243
msgid "Code"
msgstr "Código"
-#: ../../Zotlabs/Lib/ThreadItem.php:717
+#: ../../Zotlabs/Lib/ThreadItem.php:731
msgid "Image"
msgstr "Imagen"
-#: ../../Zotlabs/Lib/ThreadItem.php:718
+#: ../../Zotlabs/Lib/ThreadItem.php:732
msgid "Insert Link"
msgstr "Insertar enlace"
-#: ../../Zotlabs/Lib/ThreadItem.php:719
+#: ../../Zotlabs/Lib/ThreadItem.php:733
msgid "Video"
msgstr "Vídeo"
-#: ../../include/Import/import_diaspora.php:16
-msgid "No username found in import file."
-msgstr "No se ha encontrado el nombre de usuario en el fichero importado."
-
-#: ../../include/Import/import_diaspora.php:41 ../../include/import.php:51
-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."
-
-#: ../../include/dba/dba_driver.php:171
-#, php-format
-msgid "Cannot locate DNS info for database server '%s'"
-msgstr "No se ha podido localizar información de DNS para el servidor de base de datos “%s”"
-
-#: ../../include/auth.php:148
-msgid "Logged out."
-msgstr "Desconectado/a."
-
-#: ../../include/auth.php:275
-msgid "Failed authentication"
-msgstr "Autenticación fallida."
-
-#: ../../include/auth.php:286
-msgid "Login failed."
-msgstr "El acceso ha fallado."
-
-#: ../../include/bbcode.php:123 ../../include/bbcode.php:878
-#: ../../include/bbcode.php:881 ../../include/bbcode.php:886
-#: ../../include/bbcode.php:889 ../../include/bbcode.php:892
-#: ../../include/bbcode.php:895 ../../include/bbcode.php:900
-#: ../../include/bbcode.php:903 ../../include/bbcode.php:908
-#: ../../include/bbcode.php:911 ../../include/bbcode.php:914
-#: ../../include/bbcode.php:917
-msgid "Image/photo"
-msgstr "Imagen/foto"
+#: ../../Zotlabs/Lib/PermissionDescription.php:31
+#: ../../include/acl_selectors.php:124
+msgid "Visible to your default audience"
+msgstr "Visible para su público predeterminado."
-#: ../../include/bbcode.php:162 ../../include/bbcode.php:928
-msgid "Encrypted content"
-msgstr "Contenido cifrado"
+#: ../../Zotlabs/Lib/PermissionDescription.php:106
+#: ../../include/acl_selectors.php:165
+msgid "Only me"
+msgstr "Sólo yo"
-#: ../../include/bbcode.php:178
-#, php-format
-msgid "Install %s element: "
-msgstr "Instalar el elemento %s:"
+#: ../../Zotlabs/Lib/PermissionDescription.php:107
+msgid "Public"
+msgstr "Público"
-#: ../../include/bbcode.php:182
-#, 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."
+#: ../../Zotlabs/Lib/PermissionDescription.php:108
+msgid "Anybody in the $Projectname network"
+msgstr "Cualquiera en la red $Projectname"
-#: ../../include/bbcode.php:261
+#: ../../Zotlabs/Lib/PermissionDescription.php:109
#, php-format
-msgid "%1$s wrote the following %2$s %3$s"
-msgstr "%1$s escribió %2$s siguiente %3$s"
-
-#: ../../include/bbcode.php:338 ../../include/bbcode.php:346
-msgid "Click to open/close"
-msgstr "Pulsar para abrir/cerrar"
+msgid "Any account on %s"
+msgstr "Cualquier cuenta en %s"
-#: ../../include/bbcode.php:346
-msgid "spoiler"
-msgstr "spoiler"
+#: ../../Zotlabs/Lib/PermissionDescription.php:110
+msgid "Any of my connections"
+msgstr "Cualquiera de mis conexiones"
-#: ../../include/bbcode.php:619 ../../include/wiki.php:525
-msgid "Different viewers will see this text differently"
-msgstr "Visitantes diferentes verán este texto de forma distinta"
+#: ../../Zotlabs/Lib/PermissionDescription.php:111
+msgid "Only connections I specifically allow"
+msgstr "Sólo las conexiones que yo permita de forma explícita"
-#: ../../include/bbcode.php:866
-msgid "$1 wrote:"
-msgstr "$1 escribió:"
+#: ../../Zotlabs/Lib/PermissionDescription.php:112
+msgid "Anybody authenticated (could include visitors from other networks)"
+msgstr "Cualquiera que esté autenticado (podría incluir a los visitantes de otras redes)"
-#: ../../include/follow.php:27
-msgid "Channel is blocked on this site."
-msgstr "El canal está bloqueado en este sitio."
+#: ../../Zotlabs/Lib/PermissionDescription.php:113
+msgid "Any connections including those who haven't yet been approved"
+msgstr "Cualquier conexión incluyendo aquellas que aún no han sido aprobadas"
-#: ../../include/follow.php:32
-msgid "Channel location missing."
-msgstr "Falta la dirección del canal."
+#: ../../Zotlabs/Lib/PermissionDescription.php:152
+msgid ""
+"This is your default setting for the audience of your normal stream, and "
+"posts."
+msgstr "Esta es la configuración predeterminada para su flujo (stream) habitual de publicaciones."
-#: ../../include/follow.php:80
-msgid "Response from remote channel was incomplete."
-msgstr "Respuesta incompleta del canal."
+#: ../../Zotlabs/Lib/PermissionDescription.php:153
+msgid ""
+"This is your default setting for who can view your default channel profile"
+msgstr "Esta es su configuración por defecto para establecer quién puede ver su perfil del canal predeterminado"
-#: ../../include/follow.php:97
-msgid "Channel was deleted and no longer exists."
-msgstr "El canal ha sido eliminado y ya no existe."
+#: ../../Zotlabs/Lib/PermissionDescription.php:154
+msgid "This is your default setting for who can view your connections"
+msgstr "Este es su ajuste predeterminado para establecer quién puede ver sus conexiones"
-#: ../../include/follow.php:147 ../../include/follow.php:183
-msgid "Protocol disabled."
-msgstr "Protocolo deshabilitado."
+#: ../../Zotlabs/Lib/PermissionDescription.php:155
+msgid ""
+"This is your default setting for who can view your file storage and photos"
+msgstr "Este es su ajuste predeterminado para establecer quién puede ver su repositorio de ficheros y sus fotos"
-#: ../../include/follow.php:171
-msgid "Channel discovery failed."
-msgstr "El intento de acceder al canal ha fallado."
+#: ../../Zotlabs/Lib/PermissionDescription.php:156
+msgid "This is your default setting for the audience of your webpages"
+msgstr "Este es el ajuste predeterminado para establecer la audiencia de sus páginas web"
-#: ../../include/follow.php:210
-msgid "Cannot connect to yourself."
-msgstr "No puede conectarse consigo mismo."
+#: ../../Zotlabs/Lib/Apps.php:205
+msgid "Site Admin"
+msgstr "Administrador del sitio"
-#: ../../include/api.php:1330
-msgid "Public Timeline"
-msgstr "Cronología pública"
+#: ../../Zotlabs/Lib/Apps.php:206
+msgid "Bug Report"
+msgstr "Informe de errores"
-#: ../../include/conversation.php:204
-#, php-format
-msgid "%1$s is now connected with %2$s"
-msgstr "%1$s ahora está conectado/a con %2$s"
+#: ../../Zotlabs/Lib/Apps.php:207
+msgid "View Bookmarks"
+msgstr "Ver los marcadores"
-#: ../../include/conversation.php:239
-#, php-format
-msgid "%1$s poked %2$s"
-msgstr "%1$s ha dado un toque a %2$s"
+#: ../../Zotlabs/Lib/Apps.php:208
+msgid "My Chatrooms"
+msgstr "Mis salas de chat"
-#: ../../include/conversation.php:243 ../../include/text.php:1013
-#: ../../include/text.php:1018
-msgid "poked"
-msgstr "ha dado un toque a"
+#: ../../Zotlabs/Lib/Apps.php:210
+msgid "Firefox Share"
+msgstr "Servicio de compartición de Firefox"
-#: ../../include/conversation.php:694
-#, php-format
-msgid "View %s's profile @ %s"
-msgstr "Ver el perfil @ %s de %s"
+#: ../../Zotlabs/Lib/Apps.php:211
+msgid "Remote Diagnostics"
+msgstr "Diagnóstico remoto"
-#: ../../include/conversation.php:713
-msgid "Categories:"
-msgstr "Temas:"
+#: ../../Zotlabs/Lib/Apps.php:212 ../../include/features.php:319
+msgid "Suggest Channels"
+msgstr "Sugerir canales"
-#: ../../include/conversation.php:714
-msgid "Filed under:"
-msgstr "Archivado bajo:"
+#: ../../Zotlabs/Lib/Apps.php:213 ../../include/nav.php:115
+#: ../../boot.php:1739
+msgid "Login"
+msgstr "Iniciar sesión"
-#: ../../include/conversation.php:741
-msgid "View in context"
-msgstr "Mostrar en su contexto"
+#: ../../Zotlabs/Lib/Apps.php:215 ../../include/nav.php:184
+msgid "Grid"
+msgstr "Red"
-#: ../../include/conversation.php:851
-msgid "remove"
-msgstr "eliminar"
+#: ../../Zotlabs/Lib/Apps.php:220 ../../include/nav.php:187
+msgid "Channel Home"
+msgstr "Mi canal"
-#: ../../include/conversation.php:855 ../../include/nav.php:251
-msgid "Loading..."
-msgstr "Cargando..."
+#: ../../Zotlabs/Lib/Apps.php:223 ../../include/nav.php:206
+#: ../../include/conversation.php:1689 ../../include/conversation.php:1692
+msgid "Events"
+msgstr "Eventos"
-#: ../../include/conversation.php:856
-msgid "Delete Selected Items"
-msgstr "Eliminar elementos seleccionados"
+#: ../../Zotlabs/Lib/Apps.php:224 ../../include/nav.php:172
+msgid "Directory"
+msgstr "Directorio"
-#: ../../include/conversation.php:952
-msgid "View Source"
-msgstr "Ver el código fuente de la entrada"
+#: ../../Zotlabs/Lib/Apps.php:226 ../../include/nav.php:198
+msgid "Mail"
+msgstr "Correo"
-#: ../../include/conversation.php:953
-msgid "Follow Thread"
-msgstr "Seguir este hilo"
+#: ../../Zotlabs/Lib/Apps.php:229 ../../include/nav.php:99
+msgid "Chat"
+msgstr "Chat"
-#: ../../include/conversation.php:954
-msgid "Unfollow Thread"
-msgstr "Dejar de seguir este hilo"
+#: ../../Zotlabs/Lib/Apps.php:231
+msgid "Probe"
+msgstr "Probar"
-#: ../../include/conversation.php:959
-msgid "Activity/Posts"
-msgstr "Actividad y publicaciones"
+#: ../../Zotlabs/Lib/Apps.php:232
+msgid "Suggest"
+msgstr "Sugerir"
-#: ../../include/conversation.php:961
-msgid "Edit Connection"
-msgstr "Editar conexión"
+#: ../../Zotlabs/Lib/Apps.php:233
+msgid "Random Channel"
+msgstr "Canal aleatorio"
-#: ../../include/conversation.php:962
-msgid "Message"
-msgstr "Mensaje"
+#: ../../Zotlabs/Lib/Apps.php:234
+msgid "Invite"
+msgstr "Invitar"
-#: ../../include/conversation.php:1079
-#, php-format
-msgid "%s likes this."
-msgstr "A %s le gusta esto."
+#: ../../Zotlabs/Lib/Apps.php:235 ../../include/widgets.php:1564
+msgid "Features"
+msgstr "Funcionalidades"
-#: ../../include/conversation.php:1079
-#, php-format
-msgid "%s doesn't like this."
-msgstr "A %s no le gusta esto."
+#: ../../Zotlabs/Lib/Apps.php:236
+msgid "Language"
+msgstr "Idioma"
-#: ../../include/conversation.php:1083
-#, 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] "a <span %1$s>%2$d personas</span> le gusta esto."
-msgstr[1] "A <span %1$s>%2$d personas</span> les gusta esto."
+#: ../../Zotlabs/Lib/Apps.php:237
+msgid "Post"
+msgstr "Publicación"
-#: ../../include/conversation.php:1085
-#, 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] "a <span %1$s>%2$d personas</span> no les gusta esto."
-msgstr[1] "A <span %1$s>%2$d personas</span> no les gusta esto."
+#: ../../Zotlabs/Lib/Apps.php:238
+msgid "Profile Photo"
+msgstr "Foto del perfil"
-#: ../../include/conversation.php:1091
-msgid "and"
-msgstr "y"
+#: ../../Zotlabs/Lib/Apps.php:339
+msgid "Purchase"
+msgstr "Comprar"
-#: ../../include/conversation.php:1094
-#, php-format
-msgid ", and %d other people"
-msgid_plural ", and %d other people"
-msgstr[0] ", y %d persona más"
-msgstr[1] ", y %d personas más"
+#: ../../include/Import/import_diaspora.php:16
+msgid "No username found in import file."
+msgstr "No se ha encontrado el nombre de usuario en el fichero importado."
-#: ../../include/conversation.php:1095
-#, php-format
-msgid "%s like this."
-msgstr "A %s le gusta esto."
+#: ../../include/Import/import_diaspora.php:41 ../../include/import.php:51
+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."
-#: ../../include/conversation.php:1095
+#: ../../include/dba/dba_driver.php:173
#, php-format
-msgid "%s don't like this."
-msgstr "A %s no le gusta esto."
-
-#: ../../include/conversation.php:1138
-msgid "Set your location"
-msgstr "Establecer su ubicación"
-
-#: ../../include/conversation.php:1139
-msgid "Clear browser location"
-msgstr "Eliminar los datos de localización geográfica del navegador"
-
-#: ../../include/conversation.php:1187
-msgid "Tag term:"
-msgstr "Término de la etiqueta:"
-
-#: ../../include/conversation.php:1188
-msgid "Where are you right now?"
-msgstr "¿Donde está ahora?"
-
-#: ../../include/conversation.php:1197
-msgid "Comments enabled"
-msgstr "Comentarios habilitados"
-
-#: ../../include/conversation.php:1198
-msgid "Comments disabled"
-msgstr "Comentarios deshabilitados"
-
-#: ../../include/conversation.php:1228
-msgid "Page link name"
-msgstr "Nombre del enlace de la página"
-
-#: ../../include/conversation.php:1231
-msgid "Post as"
-msgstr "Publicar como"
-
-#: ../../include/conversation.php:1245
-msgid "Toggle voting"
-msgstr "Cambiar votación"
-
-#: ../../include/conversation.php:1248
-msgid "Disable comments"
-msgstr "Dehabilitar los comentarios"
+msgid "Cannot locate DNS info for database server '%s'"
+msgstr "No se ha podido localizar información de DNS para el servidor de base de datos “%s”"
-#: ../../include/conversation.php:1249
-msgid "Toggle comments"
-msgstr "Cambiar el estado de los comentarios"
+#: ../../include/permissions.php:35
+msgid "Can view my normal stream and posts"
+msgstr "Pueden verse mi actividad y publicaciones normales"
-#: ../../include/conversation.php:1257
-msgid "Categories (optional, comma-separated list)"
-msgstr "Temas (opcional, lista separada por comas)"
+#: ../../include/permissions.php:39
+msgid "Can view my webpages"
+msgstr "Pueden verse mis páginas web"
-#: ../../include/conversation.php:1284
-msgid "Set publish date"
-msgstr "Establecer la fecha de publicación"
+#: ../../include/permissions.php:43
+msgid "Can post on my channel page (\"wall\")"
+msgstr "Pueden crearse entradas en mi página de inicio del canal (“muro”)"
-#: ../../include/conversation.php:1533
-msgid "Discover"
-msgstr "Descubrir"
+#: ../../include/permissions.php:46
+msgid "Can like/dislike stuff"
+msgstr "Puede marcarse contenido como me gusta/no me gusta"
-#: ../../include/conversation.php:1536
-msgid "Imported public streams"
-msgstr "Contenidos públicos importados"
+#: ../../include/permissions.php:46
+msgid "Profiles and things other than posts/comments"
+msgstr "Perfiles y otras cosas aparte de publicaciones/comentarios"
-#: ../../include/conversation.php:1541
-msgid "Commented Order"
-msgstr "Comentarios recientes"
+#: ../../include/permissions.php:48
+msgid "Can forward to all my channel contacts via post @mentions"
+msgstr "Puede enviarse una entrada a todos mis contactos del canal mediante una @mención"
-#: ../../include/conversation.php:1544
-msgid "Sort by Comment Date"
-msgstr "Ordenar por fecha de comentario"
+#: ../../include/permissions.php:48
+msgid "Advanced - useful for creating group forum channels"
+msgstr "Avanzado - útil para crear canales de foros de discusión o grupos"
-#: ../../include/conversation.php:1548
-msgid "Posted Order"
-msgstr "Publicaciones recientes"
+#: ../../include/permissions.php:49
+msgid "Can chat with me (when available)"
+msgstr "Se puede charlar conmigo (cuando esté disponible)"
-#: ../../include/conversation.php:1551
-msgid "Sort by Post Date"
-msgstr "Ordenar por fecha de publicación"
+#: ../../include/permissions.php:50
+msgid "Can write to my file storage and photos"
+msgstr "Puede escribirse en mi repositorio de ficheros y fotos"
-#: ../../include/conversation.php:1559
-msgid "Posts that mention or involve you"
-msgstr "Publicaciones que le mencionan o involucran"
+#: ../../include/permissions.php:51
+msgid "Can edit my webpages"
+msgstr "Pueden editarse mis páginas web"
-#: ../../include/conversation.php:1568
-msgid "Activity Stream - by date"
-msgstr "Contenido - por fecha"
+#: ../../include/permissions.php:53
+msgid "Somewhat advanced - very useful in open communities"
+msgstr "Algo avanzado - muy útil en comunidades abiertas"
-#: ../../include/conversation.php:1574
-msgid "Starred"
-msgstr "Preferidas"
+#: ../../include/permissions.php:55
+msgid "Can administer my channel resources"
+msgstr "Pueden administrarse mis recursos del canal"
-#: ../../include/conversation.php:1577
-msgid "Favourite Posts"
-msgstr "Publicaciones favoritas"
+#: ../../include/permissions.php:55
+msgid ""
+"Extremely advanced. Leave this alone unless you know what you are doing"
+msgstr "Muy avanzado. Déjelo a no ser que sepa bien lo que está haciendo."
-#: ../../include/conversation.php:1584
-msgid "Spam"
-msgstr "Correo basura"
+#: ../../include/photos.php:114
+#, php-format
+msgid "Image exceeds website size limit of %lu bytes"
+msgstr "La imagen excede el límite de %lu bytes del sitio"
-#: ../../include/conversation.php:1587
-msgid "Posts flagged as SPAM"
-msgstr "Publicaciones marcadas como basura"
+#: ../../include/photos.php:121
+msgid "Image file is empty."
+msgstr "El fichero de imagen está vacío. "
-#: ../../include/conversation.php:1644
-msgid "Status Messages and Posts"
-msgstr "Mensajes de estado y publicaciones"
+#: ../../include/photos.php:259
+msgid "Photo storage failed."
+msgstr "La foto no ha podido ser guardada."
-#: ../../include/conversation.php:1653
-msgid "About"
-msgstr "Mi perfil"
+#: ../../include/auth.php:275
+msgid "Failed authentication"
+msgstr "Autenticación fallida."
-#: ../../include/conversation.php:1656
-msgid "Profile Details"
-msgstr "Detalles del perfil"
+#: ../../include/auth.php:286
+msgid "Login failed."
+msgstr "El acceso ha fallado."
-#: ../../include/conversation.php:1665 ../../include/photos.php:506
+#: ../../include/photos.php:506 ../../include/conversation.php:1675
msgid "Photo Albums"
msgstr "Álbumes de fotos"
-#: ../../include/conversation.php:1672
-msgid "Files and Storage"
-msgstr "Ficheros y repositorio"
-
-#: ../../include/conversation.php:1692 ../../include/conversation.php:1695
-#: ../../include/widgets.php:850
-msgid "Chatrooms"
-msgstr "Salas de chat"
-
-#: ../../include/conversation.php:1705 ../../include/nav.php:104
-msgid "Bookmarks"
-msgstr "Marcadores"
-
-#: ../../include/conversation.php:1708
-msgid "Saved Bookmarks"
-msgstr "Marcadores guardados"
-
-#: ../../include/conversation.php:1718
-msgid "Manage Webpages"
-msgstr "Administrar páginas web"
-
-#: ../../include/conversation.php:1783
-msgctxt "noun"
-msgid "Attending"
-msgid_plural "Attending"
-msgstr[0] "Participaré"
-msgstr[1] "Participaré"
-
-#: ../../include/conversation.php:1786
-msgctxt "noun"
-msgid "Not Attending"
-msgid_plural "Not Attending"
-msgstr[0] "No participaré"
-msgstr[1] "No participaré"
-
-#: ../../include/conversation.php:1789
-msgctxt "noun"
-msgid "Undecided"
-msgid_plural "Undecided"
-msgstr[0] "Indeciso/a"
-msgstr[1] "Indecisos/as"
-
-#: ../../include/conversation.php:1792
-msgctxt "noun"
-msgid "Agree"
-msgid_plural "Agrees"
-msgstr[0] "De acuerdo"
-msgstr[1] "De acuerdo"
-
-#: ../../include/conversation.php:1795
-msgctxt "noun"
-msgid "Disagree"
-msgid_plural "Disagrees"
-msgstr[0] "En desacuerdo"
-msgstr[1] "En desacuerdo"
-
-#: ../../include/conversation.php:1798
-msgctxt "noun"
-msgid "Abstain"
-msgid_plural "Abstains"
-msgstr[0] "se abstiene"
-msgstr[1] "Se abstienen"
+#: ../../include/bbcode.php:162 ../../include/bbcode.php:928
+msgid "Encrypted content"
+msgstr "Contenido cifrado"
-#: ../../include/features.php:50
+#: ../../include/features.php:58
msgid "General Features"
msgstr "Funcionalidades básicas"
-#: ../../include/features.php:52
-msgid "Content Expiration"
-msgstr "Caducidad del contenido"
-
-#: ../../include/features.php:52
-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:53
+#: ../../include/features.php:63
msgid "Multiple Profiles"
msgstr "Múltiples perfiles"
-#: ../../include/features.php:53
+#: ../../include/features.php:64
msgid "Ability to create multiple profiles"
msgstr "Capacidad de crear múltiples perfiles"
-#: ../../include/features.php:54
+#: ../../include/features.php:72
msgid "Advanced Profiles"
msgstr "Perfiles avanzados"
-#: ../../include/features.php:54
+#: ../../include/features.php:73
msgid "Additional profile sections and selections"
msgstr "Secciones y selecciones de perfil adicionales"
-#: ../../include/features.php:55
+#: ../../include/features.php:81
msgid "Profile Import/Export"
msgstr "Importar/Exportar perfil"
-#: ../../include/features.php:55
+#: ../../include/features.php:82
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:56
+#: ../../include/features.php:90
msgid "Web Pages"
msgstr "Páginas web"
-#: ../../include/features.php:56
+#: ../../include/features.php:91
msgid "Provide managed web pages on your channel"
msgstr "Proveer páginas web gestionadas en su canal"
-#: ../../include/features.php:57
+#: ../../include/features.php:100
msgid "Provide a wiki for your channel"
msgstr "Proporcionar un wiki para su canal"
-#: ../../include/features.php:58
-msgid "Hide Rating"
-msgstr "Ocultar las valoraciones"
-
-#: ../../include/features.php:58
-msgid ""
-"Hide the rating buttons on your channel and profile pages. Note: People can "
-"still rate you somewhere else."
-msgstr "Ocultar los botones de valoración en su canal y página de perfil. Tenga en cuenta, sin embargo, que la gente podrá expresar su valoración en otros lugares."
-
-#: ../../include/features.php:59
+#: ../../include/features.php:117
msgid "Private Notes"
msgstr "Notas privadas"
-#: ../../include/features.php:59
+#: ../../include/features.php:118
msgid "Enables a tool to store notes and reminders (note: not encrypted)"
msgstr "Habilita una herramienta para guardar notas y recordatorios (advertencia: las notas no estarán cifradas)"
-#: ../../include/features.php:60
+#: ../../include/features.php:126
msgid "Navigation Channel Select"
msgstr "Navegación por el selector de canales"
-#: ../../include/features.php:60
+#: ../../include/features.php:127
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:61
+#: ../../include/features.php:135
msgid "Photo Location"
msgstr "Ubicación de las fotos"
-#: ../../include/features.php:61
+#: ../../include/features.php:136
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:62
+#: ../../include/features.php:144
msgid "Access Controlled Chatrooms"
msgstr "Salas de chat moderadas"
-#: ../../include/features.php:62
+#: ../../include/features.php:145
msgid "Provide chatrooms and chat services with access control."
msgstr "Proporcionar salas y servicios de chat moderados."
-#: ../../include/features.php:63
+#: ../../include/features.php:153
msgid "Smart Birthdays"
msgstr "Cumpleaños inteligentes"
-#: ../../include/features.php:63
+#: ../../include/features.php:154
msgid ""
"Make birthday events timezone aware in case your friends are scattered "
"across the planet."
msgstr "Enlazar los eventos de cumpleaños con el huso horario en el caso de que sus amigos estén dispersos por el mundo."
-#: ../../include/features.php:64
-msgid "Expert Mode"
-msgstr "Modo de experto"
+#: ../../include/features.php:162
+msgid "Advanced Directory Search"
+msgstr "Búsqueda avanzada en el directorio"
-#: ../../include/features.php:64
-msgid "Enable Expert Mode to provide advanced configuration options"
-msgstr "Habilitar el modo de experto para acceder a opciones avanzadas de configuración"
+#: ../../include/features.php:163
+msgid "Allows creation of complex directory search queries"
+msgstr "Permitir la creación de consultas complejas en las búsquedas en el directorio"
-#: ../../include/features.php:65
-msgid "Premium Channel"
-msgstr "Canal premium"
+#: ../../include/features.php:171
+msgid "Advanced Theme and Layout Settings"
+msgstr "Ajustes avanzados de temas y esquemas"
-#: ../../include/features.php:65
-msgid ""
-"Allows you to set restrictions and terms on those that connect with your "
-"channel"
-msgstr "Le permite configurar restricciones y normas de uso a aquellos que conectan con su canal"
+#: ../../include/features.php:172
+msgid "Allows fine tuning of themes and page layouts"
+msgstr "Permitir el ajuste fino de temas y esquemas de páginas"
-#: ../../include/features.php:70
+#: ../../include/features.php:182
msgid "Post Composition Features"
msgstr "Opciones para la redacción de entradas"
-#: ../../include/features.php:73
+#: ../../include/features.php:186
msgid "Large Photos"
msgstr "Fotos de gran tamaño"
-#: ../../include/features.php:73
+#: ../../include/features.php:187
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:74
+#: ../../include/features.php:196
msgid "Automatically import channel content from other channels or feeds"
msgstr "Importar automáticamente contenido de otros canales o \"feeds\""
-#: ../../include/features.php:75
+#: ../../include/features.php:204
msgid "Even More Encryption"
msgstr "Más cifrado todavía"
-#: ../../include/features.php:75
+#: ../../include/features.php:205
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:76
+#: ../../include/features.php:213
msgid "Enable Voting Tools"
msgstr "Permitir entradas con votación"
-#: ../../include/features.php:76
+#: ../../include/features.php:214
msgid "Provide a class of post which others can vote on"
msgstr "Proveer una clase de publicación en la que otros puedan votar"
-#: ../../include/features.php:77
+#: ../../include/features.php:222
msgid "Disable Comments"
msgstr "Deshabilitar comentarios"
-#: ../../include/features.php:77
+#: ../../include/features.php:223
msgid "Provide the option to disable comments for a post"
msgstr "Proporcionar la opción de desactivar los comentarios de una publicación"
-#: ../../include/features.php:78
+#: ../../include/features.php:231
msgid "Delayed Posting"
msgstr "Publicación aplazada"
-#: ../../include/features.php:78
+#: ../../include/features.php:232
msgid "Allow posts to be published at a later date"
msgstr "Permitir mensajes que se publicarán en una fecha posterior"
-#: ../../include/features.php:79
+#: ../../include/features.php:240
+msgid "Content Expiration"
+msgstr "Caducidad del contenido"
+
+#: ../../include/features.php:241
+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:249
msgid "Suppress Duplicate Posts/Comments"
msgstr "Prevenir entradas o comentarios duplicados"
-#: ../../include/features.php:79
+#: ../../include/features.php:250
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:85
+#: ../../include/features.php:261
msgid "Network and Stream Filtering"
msgstr "Filtrado del contenido"
-#: ../../include/features.php:86
+#: ../../include/features.php:265
msgid "Search by Date"
msgstr "Buscar por fecha"
-#: ../../include/features.php:86
+#: ../../include/features.php:266
msgid "Ability to select posts by date ranges"
msgstr "Capacidad de seleccionar entradas por rango de fechas"
-#: ../../include/features.php:87 ../../include/group.php:311
+#: ../../include/features.php:274 ../../include/group.php:311
msgid "Privacy Groups"
msgstr "Grupos de canales"
-#: ../../include/features.php:87
+#: ../../include/features.php:275
msgid "Enable management and selection of privacy groups"
msgstr "Activar la gestión y selección de grupos de canales"
-#: ../../include/features.php:88 ../../include/widgets.php:281
+#: ../../include/features.php:283 ../../include/widgets.php:283
msgid "Saved Searches"
msgstr "Búsquedas guardadas"
-#: ../../include/features.php:88
+#: ../../include/features.php:284
msgid "Save search terms for re-use"
msgstr "Guardar términos de búsqueda para su reutilización"
-#: ../../include/features.php:89
+#: ../../include/features.php:292
msgid "Network Personal Tab"
msgstr "Actividad personal"
-#: ../../include/features.php:89
+#: ../../include/features.php:293
msgid "Enable tab to display only Network posts that you've interacted on"
msgstr "Habilitar una pestaña en la cual se muestren solo las entradas en las que ha participado."
-#: ../../include/features.php:90
+#: ../../include/features.php:301
msgid "Network New Tab"
msgstr "Contenido nuevo"
-#: ../../include/features.php:90
+#: ../../include/features.php:302
msgid "Enable tab to display all new Network activity"
msgstr "Habilitar una pestaña en la que se muestre solo el contenido nuevo"
-#: ../../include/features.php:91
+#: ../../include/features.php:310
msgid "Affinity Tool"
msgstr "Herramienta de afinidad"
-#: ../../include/features.php:91
+#: ../../include/features.php:311
msgid "Filter stream activity by depth of relationships"
msgstr "Filtrar el contenido según la profundidad de las relaciones"
-#: ../../include/features.php:92
+#: ../../include/features.php:320
+msgid "Show friend and connection suggestions"
+msgstr "Mostrar sugerencias de amigos y conexiones"
+
+#: ../../include/features.php:328
msgid "Connection Filtering"
msgstr "Filtrado de conexiones"
-#: ../../include/features.php:92
+#: ../../include/features.php:329
msgid "Filter incoming posts from connections based on keywords/content"
msgstr "Filtrar publicaciones entrantes de conexiones por palabras clave o contenido"
-#: ../../include/features.php:93
-msgid "Show channel suggestions"
-msgstr "Mostrar sugerencias de canales"
-
-#: ../../include/features.php:98
+#: ../../include/features.php:341
msgid "Post/Comment Tools"
msgstr "Gestión de entradas y comentarios"
-#: ../../include/features.php:99
+#: ../../include/features.php:345
msgid "Community Tagging"
msgstr "Etiquetas de la comunidad"
-#: ../../include/features.php:99
+#: ../../include/features.php:346
msgid "Ability to tag existing posts"
msgstr "Capacidad de etiquetar entradas existentes"
-#: ../../include/features.php:100
+#: ../../include/features.php:354
msgid "Post Categories"
msgstr "Temas de las entradas"
-#: ../../include/features.php:100
+#: ../../include/features.php:355
msgid "Add categories to your posts"
msgstr "Añadir temas a sus publicaciones"
-#: ../../include/features.php:101
+#: ../../include/features.php:363
msgid "Emoji Reactions"
msgstr "Emoticonos \"emoji\""
-#: ../../include/features.php:101
+#: ../../include/features.php:364
msgid "Add emoji reaction ability to posts"
msgstr "Activar la capacidad de añadir un emoticono \"emoji\" a las entradas"
-#: ../../include/features.php:102 ../../include/widgets.php:310
-#: ../../include/contact_widgets.php:53
+#: ../../include/features.php:372 ../../include/contact_widgets.php:53
+#: ../../include/widgets.php:346
msgid "Saved Folders"
msgstr "Carpetas guardadas"
-#: ../../include/features.php:102
+#: ../../include/features.php:373
msgid "Ability to file posts under folders"
msgstr "Capacidad de archivar entradas en carpetas"
-#: ../../include/features.php:103
+#: ../../include/features.php:381
msgid "Dislike Posts"
msgstr "Desagrado de publicaciones"
-#: ../../include/features.php:103
+#: ../../include/features.php:382
msgid "Ability to dislike posts/comments"
msgstr "Capacidad de mostrar desacuerdo con el contenido de entradas y comentarios"
-#: ../../include/features.php:104
+#: ../../include/features.php:390
msgid "Star Posts"
msgstr "Entradas destacadas"
-#: ../../include/features.php:104
+#: ../../include/features.php:391
msgid "Ability to mark special posts with a star indicator"
msgstr "Capacidad de marcar entradas destacadas con un indicador de estrella"
-#: ../../include/features.php:105
+#: ../../include/features.php:399
msgid "Tag Cloud"
msgstr "Nube de etiquetas"
-#: ../../include/features.php:105
+#: ../../include/features.php:400
msgid "Provide a personal tag cloud on your channel page"
msgstr "Proveer nube de etiquetas personal en su página de canal"
-#: ../../include/datetime.php:135
-msgid "Birthday"
-msgstr "Cumpleaños"
+#: ../../include/features.php:412
+msgid "Premium Channel"
+msgstr "Canal premium"
-#: ../../include/datetime.php:137
-msgid "Age: "
-msgstr "Edad:"
+#: ../../include/features.php:413
+msgid ""
+"Allows you to set restrictions and terms on those that connect with your "
+"channel"
+msgstr "Le permite configurar restricciones y normas de uso a aquellos que conectan con su canal"
-#: ../../include/datetime.php:139
-msgid "YYYY-MM-DD or MM-DD"
-msgstr "AAAA-MM-DD o MM-DD"
+#: ../../include/help.php:25
+msgid "Help:"
+msgstr "Ayuda:"
-#: ../../include/datetime.php:272 ../../boot.php:2552
-msgid "never"
-msgstr "nunca"
+#: ../../include/security.php:109
+msgid "guest:"
+msgstr "invitado: "
-#: ../../include/datetime.php:278
-msgid "less than a second ago"
-msgstr "hace un instante"
+#: ../../include/security.php:527
+msgid ""
+"The form security token was not correct. This probably happened because the "
+"form has been opened for too long (>3 hours) before submitting it."
+msgstr "El \"token\" de seguridad del formulario no es correcto. Esto ha ocurrido probablemente porque el formulario ha estado abierto demasiado tiempo (>3 horas) antes de ser enviado"
-#: ../../include/datetime.php:296
+#: ../../include/text.php:450
+msgid "prev"
+msgstr "anterior"
+
+#: ../../include/text.php:452
+msgid "first"
+msgstr "primera"
+
+#: ../../include/text.php:481
+msgid "last"
+msgstr "última"
+
+#: ../../include/text.php:484
+msgid "next"
+msgstr "próxima"
+
+#: ../../include/text.php:494
+msgid "older"
+msgstr "más antiguas"
+
+#: ../../include/text.php:496
+msgid "newer"
+msgstr "más recientes"
+
+#: ../../include/text.php:889
+msgid "No connections"
+msgstr "Sin conexiones"
+
+#: ../../include/text.php:914
#, php-format
-msgctxt "e.g. 22 hours ago, 1 minute ago"
-msgid "%1$d %2$s ago"
-msgstr "hace %1$d %2$s"
+msgid "View all %s connections"
+msgstr "Ver todas las %s conexiones"
-#: ../../include/datetime.php:307
-msgctxt "relative_date"
-msgid "year"
-msgid_plural "years"
-msgstr[0] "año"
-msgstr[1] "años"
+#: ../../include/text.php:1059 ../../include/text.php:1064
+msgid "poke"
+msgstr "un toque"
-#: ../../include/datetime.php:310
-msgctxt "relative_date"
-msgid "month"
-msgid_plural "months"
-msgstr[0] "mes"
-msgstr[1] "meses"
+#: ../../include/text.php:1059 ../../include/text.php:1064
+#: ../../include/conversation.php:243
+msgid "poked"
+msgstr "ha dado un toque a"
-#: ../../include/datetime.php:313
-msgctxt "relative_date"
-msgid "week"
-msgid_plural "weeks"
-msgstr[0] "semana"
-msgstr[1] "semanas"
+#: ../../include/text.php:1065
+msgid "ping"
+msgstr "un \"ping\""
-#: ../../include/datetime.php:316
-msgctxt "relative_date"
-msgid "day"
-msgid_plural "days"
-msgstr[0] "día"
-msgstr[1] "días"
+#: ../../include/text.php:1065
+msgid "pinged"
+msgstr "ha enviado un \"ping\" a"
-#: ../../include/datetime.php:319
-msgctxt "relative_date"
-msgid "hour"
-msgid_plural "hours"
-msgstr[0] "hora"
-msgstr[1] "horas"
+#: ../../include/text.php:1066
+msgid "prod"
+msgstr "una incitación "
-#: ../../include/datetime.php:322
-msgctxt "relative_date"
-msgid "minute"
-msgid_plural "minutes"
-msgstr[0] "minuto"
-msgstr[1] "minutos"
+#: ../../include/text.php:1066
+msgid "prodded"
+msgstr "ha incitado a "
-#: ../../include/datetime.php:325
-msgctxt "relative_date"
-msgid "second"
-msgid_plural "seconds"
-msgstr[0] "segundo"
-msgstr[1] "segundos"
+#: ../../include/text.php:1067
+msgid "slap"
+msgstr "una bofetada "
+
+#: ../../include/text.php:1067
+msgid "slapped"
+msgstr "ha abofeteado a "
+
+#: ../../include/text.php:1068
+msgid "finger"
+msgstr "un \"finger\" "
+
+#: ../../include/text.php:1068
+msgid "fingered"
+msgstr "envió un \"finger\" a"
+
+#: ../../include/text.php:1069
+msgid "rebuff"
+msgstr "un reproche"
+
+#: ../../include/text.php:1069
+msgid "rebuffed"
+msgstr "ha hecho un reproche a "
+
+#: ../../include/text.php:1081
+msgid "happy"
+msgstr "feliz "
+
+#: ../../include/text.php:1082
+msgid "sad"
+msgstr "triste "
+
+#: ../../include/text.php:1083
+msgid "mellow"
+msgstr "tranquilo/a"
+
+#: ../../include/text.php:1084
+msgid "tired"
+msgstr "cansado/a "
+
+#: ../../include/text.php:1085
+msgid "perky"
+msgstr "vivaz"
+
+#: ../../include/text.php:1086
+msgid "angry"
+msgstr "enfadado/a"
+
+#: ../../include/text.php:1087
+msgid "stupefied"
+msgstr "asombrado/a"
+
+#: ../../include/text.php:1088
+msgid "puzzled"
+msgstr "perplejo/a"
+
+#: ../../include/text.php:1089
+msgid "interested"
+msgstr "interesado/a"
+
+#: ../../include/text.php:1090
+msgid "bitter"
+msgstr "amargado/a"
+
+#: ../../include/text.php:1091
+msgid "cheerful"
+msgstr "alegre"
+
+#: ../../include/text.php:1092
+msgid "alive"
+msgstr "animado/a"
+
+#: ../../include/text.php:1093
+msgid "annoyed"
+msgstr "molesto/a"
+
+#: ../../include/text.php:1094
+msgid "anxious"
+msgstr "ansioso/a"
+
+#: ../../include/text.php:1095
+msgid "cranky"
+msgstr "de mal humor"
+
+#: ../../include/text.php:1096
+msgid "disturbed"
+msgstr "perturbado/a"
+
+#: ../../include/text.php:1097
+msgid "frustrated"
+msgstr "frustrado/a"
+
+#: ../../include/text.php:1098
+msgid "depressed"
+msgstr "deprimido/a"
+
+#: ../../include/text.php:1099
+msgid "motivated"
+msgstr "motivado/a"
+
+#: ../../include/text.php:1100
+msgid "relaxed"
+msgstr "relajado/a"
+
+#: ../../include/text.php:1101
+msgid "surprised"
+msgstr "sorprendido/a"
+
+#: ../../include/text.php:1285 ../../include/js_strings.php:70
+msgid "Monday"
+msgstr "lunes"
+
+#: ../../include/text.php:1285 ../../include/js_strings.php:71
+msgid "Tuesday"
+msgstr "martes"
+
+#: ../../include/text.php:1285 ../../include/js_strings.php:72
+msgid "Wednesday"
+msgstr "miércoles"
+
+#: ../../include/text.php:1285 ../../include/js_strings.php:73
+msgid "Thursday"
+msgstr "jueves"
+
+#: ../../include/text.php:1285 ../../include/js_strings.php:74
+msgid "Friday"
+msgstr "viernes"
+
+#: ../../include/text.php:1285 ../../include/js_strings.php:75
+msgid "Saturday"
+msgstr "sábado"
+
+#: ../../include/text.php:1285 ../../include/js_strings.php:69
+msgid "Sunday"
+msgstr "domingo"
+
+#: ../../include/text.php:1289 ../../include/js_strings.php:45
+msgid "January"
+msgstr "enero"
+
+#: ../../include/text.php:1289 ../../include/js_strings.php:46
+msgid "February"
+msgstr "febrero"
+
+#: ../../include/text.php:1289 ../../include/js_strings.php:47
+msgid "March"
+msgstr "marzo"
+
+#: ../../include/text.php:1289 ../../include/js_strings.php:48
+msgid "April"
+msgstr "abril"
+
+#: ../../include/text.php:1289
+msgid "May"
+msgstr "mayo"
+
+#: ../../include/text.php:1289 ../../include/js_strings.php:50
+msgid "June"
+msgstr "junio"
+
+#: ../../include/text.php:1289 ../../include/js_strings.php:51
+msgid "July"
+msgstr "julio"
+
+#: ../../include/text.php:1289 ../../include/js_strings.php:52
+msgid "August"
+msgstr "agosto"
+
+#: ../../include/text.php:1289 ../../include/js_strings.php:53
+msgid "September"
+msgstr "septiembre"
+
+#: ../../include/text.php:1289 ../../include/js_strings.php:54
+msgid "October"
+msgstr "octubre"
+
+#: ../../include/text.php:1289 ../../include/js_strings.php:55
+msgid "November"
+msgstr "noviembre"
+
+#: ../../include/text.php:1289 ../../include/js_strings.php:56
+msgid "December"
+msgstr "diciembre"
+
+#: ../../include/text.php:1366 ../../include/text.php:1370
+msgid "Unknown Attachment"
+msgstr "Adjunto no reconocido"
+
+#: ../../include/text.php:1372
+msgid "unknown"
+msgstr "desconocido"
+
+#: ../../include/text.php:1408
+msgid "remove category"
+msgstr "eliminar el tema"
+
+#: ../../include/text.php:1485
+msgid "remove from file"
+msgstr "eliminar del fichero"
+
+#: ../../include/text.php:1784 ../../include/text.php:1855
+msgid "default"
+msgstr "por defecto"
+
+#: ../../include/text.php:1792
+msgid "Page layout"
+msgstr "Plantilla de la página"
+
+#: ../../include/text.php:1792
+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:1834
+msgid "Page content type"
+msgstr "Tipo de contenido de la página"
+
+#: ../../include/text.php:1867
+msgid "Select an alternate language"
+msgstr "Seleccionar un idioma alternativo"
+
+#: ../../include/text.php:2004
+msgid "activity"
+msgstr "la actividad"
+
+#: ../../include/text.php:2305
+msgid "Design Tools"
+msgstr "Herramientas de diseño web"
+
+#: ../../include/text.php:2311
+msgid "Pages"
+msgstr "Páginas"
+
+#: ../../include/text.php:2333
+msgid "Import website..."
+msgstr "Importar un sitio web..."
+
+#: ../../include/text.php:2334
+msgid "Select folder to import"
+msgstr "Seleccionar la carpeta que se va a importar"
+
+#: ../../include/text.php:2335
+msgid "Import from a zipped folder:"
+msgstr "Importar desde una carpeta comprimida: "
+
+#: ../../include/text.php:2336
+msgid "Import from cloud files:"
+msgstr "Importar desde los ficheros en la nube: "
+
+#: ../../include/text.php:2337
+msgid "/cloud/channel/path/to/folder"
+msgstr "/cloud/canal/ruta/a la/carpeta"
+
+#: ../../include/text.php:2338
+msgid "Enter path to website files"
+msgstr "Ruta a los ficheros del sitio web"
-#: ../../include/datetime.php:562
+#: ../../include/text.php:2339
+msgid "Select folder"
+msgstr "Seleccionar la carpeta"
+
+#: ../../include/text.php:2340
+msgid "Export website..."
+msgstr "Exportar un sitio web..."
+
+#: ../../include/text.php:2341
+msgid "Export to a zip file"
+msgstr "Exportar a un fichero comprimido .zip"
+
+#: ../../include/text.php:2342
+msgid "website.zip"
+msgstr "sitio_web.zip"
+
+#: ../../include/text.php:2343
+msgid "Enter a name for the zip file."
+msgstr "Escribir un nombre para el fichero .zip."
+
+#: ../../include/text.php:2344
+msgid "Export to cloud files"
+msgstr "Exportar a los ficheros en la nube"
+
+#: ../../include/text.php:2345
+msgid "/path/to/export/folder"
+msgstr "/ruta/para/exportar/carpeta"
+
+#: ../../include/text.php:2346
+msgid "Enter a path to a cloud files destination."
+msgstr "Escribir una ruta de destino para los ficheros en la nube"
+
+#: ../../include/text.php:2347
+msgid "Specify folder"
+msgstr "Especificar una carpeta"
+
+#: ../../include/zot.php:700
+msgid "Invalid data packet"
+msgstr "Paquete de datos no válido"
+
+#: ../../include/zot.php:716
+msgid "Unable to verify channel signature"
+msgstr "No ha sido posible de verificar la firma del canal"
+
+#: ../../include/zot.php:2329
#, php-format
-msgid "%1$s's birthday"
-msgstr "Cumpleaños de %1$s"
+msgid "Unable to verify site signature for %s"
+msgstr "No ha sido posible de verificar la firma del sitio para %s"
-#: ../../include/datetime.php:563
+#: ../../include/zot.php:3713
+msgid "invalid target signature"
+msgstr "La firma recibida no es válida"
+
+#: ../../include/account.php:35
+msgid "Not a valid email address"
+msgstr "Dirección de correo no válida"
+
+#: ../../include/account.php:37
+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."
+
+#: ../../include/account.php:43
+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:75
+msgid "An invitation is required."
+msgstr "Es obligatorio que le inviten."
+
+#: ../../include/account.php:79
+msgid "Invitation could not be verified."
+msgstr "No se ha podido verificar su invitación."
+
+#: ../../include/account.php:130
+msgid "Please enter the required information."
+msgstr "Por favor introduzca la información requerida."
+
+#: ../../include/account.php:198
+msgid "Failed to store account information."
+msgstr "La información de la cuenta no se ha podido guardar."
+
+#: ../../include/account.php:258
#, php-format
-msgid "Happy Birthday %1$s"
-msgstr "Feliz cumpleaños %1$s"
+msgid "Registration confirmation for %s"
+msgstr "Confirmación de registro para %s"
-#: ../../include/photos.php:114
+#: ../../include/account.php:324
#, php-format
-msgid "Image exceeds website size limit of %lu bytes"
-msgstr "La imagen excede el límite de %lu bytes del sitio"
+msgid "Registration request at %s"
+msgstr "Solicitud de registro en %s"
-#: ../../include/photos.php:121
-msgid "Image file is empty."
-msgstr "El fichero de imagen está vacío. "
+#: ../../include/account.php:326 ../../include/account.php:353
+#: ../../include/account.php:413 ../../include/network.php:1937
+msgid "Administrator"
+msgstr "Administrador"
-#: ../../include/photos.php:259
-msgid "Photo storage failed."
-msgstr "La foto no ha podido ser guardada."
+#: ../../include/account.php:348
+msgid "your registration password"
+msgstr "su contraseña de registro"
+
+#: ../../include/account.php:351 ../../include/account.php:411
+#, php-format
+msgid "Registration details for %s"
+msgstr "Detalles del registro de %s"
-#: ../../include/photos.php:299
-msgid "a new photo"
-msgstr "una nueva foto"
+#: ../../include/account.php:423
+msgid "Account approved."
+msgstr "Cuenta aprobada."
-#: ../../include/photos.php:303
+#: ../../include/account.php:463
#, php-format
-msgctxt "photo_upload"
-msgid "%1$s posted %2$s to %3$s"
-msgstr "%1$s ha publicado %2$s en %3$s"
+msgid "Registration revoked for %s"
+msgstr "Registro revocado para %s"
+
+#: ../../include/account.php:748 ../../include/account.php:750
+msgid "Click here to upgrade."
+msgstr "Pulse aquí para actualizar"
+
+#: ../../include/account.php:756
+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:761
+msgid "This action is not available under your subscription plan."
+msgstr "Esta acción no está disponible en su plan de suscripción."
+
+#: ../../include/message.php:20
+msgid "No recipient provided."
+msgstr "No se ha especificado ningún destinatario."
+
+#: ../../include/message.php:25
+msgid "[no subject]"
+msgstr "[sin asunto]"
-#: ../../include/photos.php:510
-msgid "Upload New Photos"
-msgstr "Subir nuevas fotos"
+#: ../../include/message.php:45
+msgid "Unable to determine sender."
+msgstr "No ha sido posible determinar el remitente. "
+
+#: ../../include/message.php:222
+msgid "Stored post could not be verified."
+msgstr "No se han podido verificar las publicaciones guardadas."
#: ../../include/selectors.php:30
msgid "Frequently"
@@ -8122,68 +8531,192 @@ msgstr "No me importa"
msgid "Ask me"
msgstr "Pregúnteme"
-#: ../../include/permissions.php:29
-msgid "Can view my normal stream and posts"
-msgstr "Pueden verse mi actividad y publicaciones normales"
+#: ../../include/channel.php:33
+msgid "Unable to obtain identity information from database"
+msgstr "No ha sido posible obtener información sobre la identidad desde la base de datos"
-#: ../../include/permissions.php:33
-msgid "Can view my webpages"
-msgstr "Pueden verse mis páginas web"
+#: ../../include/channel.php:67
+msgid "Empty name"
+msgstr "Nombre vacío"
-#: ../../include/permissions.php:37
-msgid "Can post on my channel page (\"wall\")"
-msgstr "Pueden crearse entradas en mi página de inicio del canal (“muro”)"
+#: ../../include/channel.php:70
+msgid "Name too long"
+msgstr "Nombre demasiado largo"
-#: ../../include/permissions.php:40
-msgid "Can like/dislike stuff"
-msgstr "Puede marcarse contenido como me gusta/no me gusta"
+#: ../../include/channel.php:181
+msgid "No account identifier"
+msgstr "Ningún identificador de la cuenta"
-#: ../../include/permissions.php:40
-msgid "Profiles and things other than posts/comments"
-msgstr "Perfiles y otras cosas aparte de publicaciones/comentarios"
+#: ../../include/channel.php:193
+msgid "Nickname is required."
+msgstr "Se requiere un sobrenombre (alias)."
-#: ../../include/permissions.php:42
-msgid "Can forward to all my channel contacts via post @mentions"
-msgstr "Puede enviarse una entrada a todos mis contactos del canal mediante una @mención"
+#: ../../include/channel.php:207
+msgid "Reserved nickname. Please choose another."
+msgstr "Sobrenombre en uso. Por favor, elija otro."
-#: ../../include/permissions.php:42
-msgid "Advanced - useful for creating group forum channels"
-msgstr "Avanzado - útil para crear canales de foros de discusión o grupos"
+#: ../../include/channel.php:212
+msgid ""
+"Nickname has unsupported characters or is already being used on this site."
+msgstr "El alias contiene caracteres no admitidos o está ya en uso por otros miembros de este sitio."
-#: ../../include/permissions.php:43
-msgid "Can chat with me (when available)"
-msgstr "Se puede charlar conmigo (cuando esté disponible)"
+#: ../../include/channel.php:272
+msgid "Unable to retrieve created identity"
+msgstr "No ha sido posible recuperar la identidad creada"
-#: ../../include/permissions.php:44
-msgid "Can write to my file storage and photos"
-msgstr "Puede escribirse en mi repositorio de ficheros y fotos"
+#: ../../include/channel.php:341
+msgid "Default Profile"
+msgstr "Perfil principal"
-#: ../../include/permissions.php:45
-msgid "Can edit my webpages"
-msgstr "Pueden editarse mis páginas web"
+#: ../../include/channel.php:813
+msgid "Requested channel is not available."
+msgstr "El canal solicitado no está disponible."
-#: ../../include/permissions.php:47
-msgid "Somewhat advanced - very useful in open communities"
-msgstr "Algo avanzado - muy útil en comunidades abiertas"
+#: ../../include/channel.php:960
+msgid "Create New Profile"
+msgstr "Crear un nuevo perfil"
-#: ../../include/permissions.php:49
-msgid "Can administer my channel resources"
-msgstr "Pueden administrarse mis recursos del canal"
+#: ../../include/channel.php:963 ../../include/nav.php:93
+msgid "Edit Profile"
+msgstr "Editar el perfil"
-#: ../../include/permissions.php:49
+#: ../../include/channel.php:980
+msgid "Visible to everybody"
+msgstr "Visible para todos"
+
+#: ../../include/channel.php:1053 ../../include/channel.php:1166
+msgid "Gender:"
+msgstr "Género:"
+
+#: ../../include/channel.php:1054 ../../include/channel.php:1210
+msgid "Status:"
+msgstr "Estado:"
+
+#: ../../include/channel.php:1055 ../../include/channel.php:1221
+msgid "Homepage:"
+msgstr "Página personal:"
+
+#: ../../include/channel.php:1056
+msgid "Online Now"
+msgstr "Ahora en línea"
+
+#: ../../include/channel.php:1171
+msgid "Like this channel"
+msgstr "Me gusta este canal"
+
+#: ../../include/channel.php:1195
+msgid "j F, Y"
+msgstr "j F Y"
+
+#: ../../include/channel.php:1196
+msgid "j F"
+msgstr "j F"
+
+#: ../../include/channel.php:1203
+msgid "Birthday:"
+msgstr "Cumpleaños:"
+
+#: ../../include/channel.php:1216
+#, php-format
+msgid "for %1$d %2$s"
+msgstr "por %1$d %2$s"
+
+#: ../../include/channel.php:1219
+msgid "Sexual Preference:"
+msgstr "Orientación sexual:"
+
+#: ../../include/channel.php:1225
+msgid "Tags:"
+msgstr "Etiquetas:"
+
+#: ../../include/channel.php:1227
+msgid "Political Views:"
+msgstr "Posición política:"
+
+#: ../../include/channel.php:1229
+msgid "Religion:"
+msgstr "Religión:"
+
+#: ../../include/channel.php:1233
+msgid "Hobbies/Interests:"
+msgstr "Aficciones o intereses:"
+
+#: ../../include/channel.php:1235
+msgid "Likes:"
+msgstr "Me gusta:"
+
+#: ../../include/channel.php:1237
+msgid "Dislikes:"
+msgstr "No me gusta:"
+
+#: ../../include/channel.php:1239
+msgid "Contact information and Social Networks:"
+msgstr "Información de contacto y redes sociales:"
+
+#: ../../include/channel.php:1241
+msgid "My other channels:"
+msgstr "Mis otros canales:"
+
+#: ../../include/channel.php:1243
+msgid "Musical interests:"
+msgstr "Preferencias musicales:"
+
+#: ../../include/channel.php:1245
+msgid "Books, literature:"
+msgstr "Libros, literatura:"
+
+#: ../../include/channel.php:1247
+msgid "Television:"
+msgstr "Televisión:"
+
+#: ../../include/channel.php:1249
+msgid "Film/dance/culture/entertainment:"
+msgstr "Cine, danza, cultura, entretenimiento:"
+
+#: ../../include/channel.php:1251
+msgid "Love/Romance:"
+msgstr "Vida sentimental o amorosa:"
+
+#: ../../include/channel.php:1253
+msgid "Work/employment:"
+msgstr "Trabajo:"
+
+#: ../../include/channel.php:1255
+msgid "School/education:"
+msgstr "Estudios:"
+
+#: ../../include/channel.php:1276
+msgid "Like this thing"
+msgstr "Me gusta esto"
+
+#: ../../include/acl_selectors.php:169
+msgid "Who can see this?"
+msgstr "¿Quién puede ver esto?"
+
+#: ../../include/acl_selectors.php:170
+msgid "Custom selection"
+msgstr "Selección personalizada"
+
+#: ../../include/acl_selectors.php:171
msgid ""
-"Extremely advanced. Leave this alone unless you know what you are doing"
-msgstr "Muy avanzado. Déjelo a no ser que sepa bien lo que está haciendo."
+"Select \"Show\" to allow viewing. \"Don't show\" lets you override and limit"
+" the scope of \"Show\"."
+msgstr "Seleccione \"Mostrar\" para permitir la visualización. La opción \"No mostrar\" le permite anular y limitar el alcance de \"Mostrar\"."
-#: ../../include/security.php:109
-msgid "guest:"
-msgstr "invitado: "
+#: ../../include/acl_selectors.php:172
+msgid "Show"
+msgstr "Mostrar"
-#: ../../include/security.php:527
+#: ../../include/acl_selectors.php:173
+msgid "Don't show"
+msgstr "No mostrar"
+
+#: ../../include/acl_selectors.php:207
+#, php-format
msgid ""
-"The form security token was not correct. This probably happened because the "
-"form has been opened for too long (>3 hours) before submitting it."
-msgstr "El \"token\" de seguridad del formulario no es correcto. Esto ha ocurrido probablemente porque el formulario ha estado abierto demasiado tiempo (>3 horas) antes de ser enviado"
+"Post permissions %s cannot be changed %s after a post is shared.</br />These"
+" permissions set who is allowed to view the post."
+msgstr "Los permisos de la entrada %s no se pueden cambiar %s una vez que se ha compartido.</br /> Estos permisos establecen quién está autorizado para ver el mensaje."
#: ../../include/bookmarks.php:35
#, php-format
@@ -8217,10 +8750,23 @@ msgstr "Añadir un grupo de canales"
msgid "Channels not in any privacy group"
msgstr "Sin canales en ningún grupo"
-#: ../../include/group.php:316 ../../include/widgets.php:282
+#: ../../include/group.php:316 ../../include/widgets.php:284
msgid "add"
msgstr "añadir"
+#: ../../include/connections.php:95
+msgid "New window"
+msgstr "Nueva ventana"
+
+#: ../../include/connections.php:96
+msgid "Open the selected location in a different window or browser tab"
+msgstr "Abrir la dirección seleccionada en una ventana o pestaña aparte"
+
+#: ../../include/connections.php:214
+#, php-format
+msgid "User '%s' deleted"
+msgstr "El usuario '%s' ha sido eliminado"
+
#: ../../include/page_widgets.php:7
msgid "New Page"
msgstr "Nueva página"
@@ -8229,245 +8775,198 @@ msgstr "Nueva página"
msgid "Title"
msgstr "Título"
-#: ../../include/widgets.php:46 ../../include/widgets.php:429
-#: ../../include/taxonomy.php:188 ../../include/taxonomy.php:270
-#: ../../include/contact_widgets.php:91
-msgid "Categories"
-msgstr "Temas"
-
-#: ../../include/widgets.php:103
-msgid "System"
-msgstr "Sistema"
-
-#: ../../include/widgets.php:106
-msgid "New App"
-msgstr "Nueva aplicación (app)"
-
-#: ../../include/widgets.php:154
-msgid "Suggestions"
-msgstr "Sugerencias"
-
-#: ../../include/widgets.php:155
-msgid "See more..."
-msgstr "Ver más..."
-
-#: ../../include/widgets.php:175
-#, php-format
-msgid "You have %1$.0f of %2$.0f allowed connections."
-msgstr "Tiene %1$.0f de %2$.0f conexiones permitidas."
-
-#: ../../include/widgets.php:181
-msgid "Add New Connection"
-msgstr "Añadir nueva conexión"
-
-#: ../../include/widgets.php:182
-msgid "Enter channel address"
-msgstr "Dirección del canal"
-
-#: ../../include/widgets.php:183
-msgid "Examples: bob@example.com, https://example.com/barbara"
-msgstr "Ejemplos: manuel@ejemplo.com, https://ejemplo.com/carmen"
-
-#: ../../include/widgets.php:199
-msgid "Notes"
-msgstr "Notas"
-
-#: ../../include/widgets.php:273
-msgid "Remove term"
-msgstr "Eliminar término"
-
-#: ../../include/widgets.php:313 ../../include/widgets.php:432
-#: ../../include/contact_widgets.php:56 ../../include/contact_widgets.php:94
-msgid "Everything"
-msgstr "Todo"
+#: ../../include/wiki.php:525 ../../include/bbcode.php:619
+msgid "Different viewers will see this text differently"
+msgstr "Visitantes diferentes verán este texto de forma distinta"
-#: ../../include/widgets.php:354
-msgid "Archives"
-msgstr "Hemeroteca"
+#: ../../include/nav.php:85 ../../include/nav.php:118 ../../boot.php:1738
+msgid "Logout"
+msgstr "Finalizar sesión"
-#: ../../include/widgets.php:516
-msgid "Refresh"
-msgstr "Recargar"
+#: ../../include/nav.php:85 ../../include/nav.php:118
+msgid "End this session"
+msgstr "Finalizar esta sesión"
-#: ../../include/widgets.php:556
-msgid "Account settings"
-msgstr "Configuración de la cuenta"
+#: ../../include/nav.php:88 ../../include/nav.php:149
+msgid "Home"
+msgstr "Inicio"
-#: ../../include/widgets.php:562
-msgid "Channel settings"
-msgstr "Configuración del canal"
+#: ../../include/nav.php:88
+msgid "Your posts and conversations"
+msgstr "Sus publicaciones y conversaciones"
-#: ../../include/widgets.php:571
-msgid "Additional features"
-msgstr "Funcionalidades"
+#: ../../include/nav.php:89
+msgid "Your profile page"
+msgstr "Su página del perfil"
-#: ../../include/widgets.php:578
-msgid "Feature/Addon settings"
-msgstr "Complementos"
+#: ../../include/nav.php:91
+msgid "Manage/Edit profiles"
+msgstr "Administrar/editar perfiles"
-#: ../../include/widgets.php:584
-msgid "Display settings"
-msgstr "Ajustes de visualización"
+#: ../../include/nav.php:93
+msgid "Edit your profile"
+msgstr "Editar su perfil"
-#: ../../include/widgets.php:591
-msgid "Manage locations"
-msgstr "Gestión de ubicaciones (clones) del canal"
+#: ../../include/nav.php:95
+msgid "Your photos"
+msgstr "Sus fotos"
-#: ../../include/widgets.php:600
-msgid "Export channel"
-msgstr "Exportar canal"
+#: ../../include/nav.php:96
+msgid "Your files"
+msgstr "Sus ficheros"
-#: ../../include/widgets.php:607
-msgid "Connected apps"
-msgstr "Aplicaciones (apps) conectadas"
+#: ../../include/nav.php:99
+msgid "Your chatrooms"
+msgstr "Sus salas de chat"
-#: ../../include/widgets.php:631
-msgid "Premium Channel Settings"
-msgstr "Configuración del canal premium"
+#: ../../include/nav.php:105 ../../include/conversation.php:1715
+msgid "Bookmarks"
+msgstr "Marcadores"
-#: ../../include/widgets.php:660
-msgid "Private Mail Menu"
-msgstr "Menú de correo privado"
+#: ../../include/nav.php:105
+msgid "Your bookmarks"
+msgstr "Sus marcadores"
-#: ../../include/widgets.php:662
-msgid "Combined View"
-msgstr "Vista combinada"
+#: ../../include/nav.php:109
+msgid "Your webpages"
+msgstr "Sus páginas web"
-#: ../../include/widgets.php:667 ../../include/nav.php:200
-msgid "Inbox"
-msgstr "Bandeja de entrada"
+#: ../../include/nav.php:111
+msgid "Your wiki"
+msgstr "Su wiki"
-#: ../../include/widgets.php:672 ../../include/nav.php:201
-msgid "Outbox"
-msgstr "Bandeja de salida"
+#: ../../include/nav.php:115
+msgid "Sign in"
+msgstr "Acceder"
-#: ../../include/widgets.php:677 ../../include/nav.php:202
-msgid "New Message"
-msgstr "Nuevo mensaje"
+#: ../../include/nav.php:132
+#, php-format
+msgid "%s - click to logout"
+msgstr "%s - pulsar para finalizar sesión"
-#: ../../include/widgets.php:694 ../../include/widgets.php:706
-msgid "Conversations"
-msgstr "Conversaciones"
+#: ../../include/nav.php:135
+msgid "Remote authentication"
+msgstr "Acceder desde su servidor"
-#: ../../include/widgets.php:698
-msgid "Received Messages"
-msgstr "Mensajes recibidos"
+#: ../../include/nav.php:135
+msgid "Click to authenticate to your home hub"
+msgstr "Pulsar para identificarse en su servidor de inicio"
-#: ../../include/widgets.php:702
-msgid "Sent Messages"
-msgstr "Enviar mensajes"
+#: ../../include/nav.php:149
+msgid "Home Page"
+msgstr "Página de inicio"
-#: ../../include/widgets.php:716
-msgid "No messages."
-msgstr "Sin mensajes."
+#: ../../include/nav.php:152
+msgid "Create an account"
+msgstr "Crear una cuenta"
-#: ../../include/widgets.php:734
-msgid "Delete conversation"
-msgstr "Eliminar conversación"
+#: ../../include/nav.php:164
+msgid "Help and documentation"
+msgstr "Ayuda y documentación"
-#: ../../include/widgets.php:760
-msgid "Events Tools"
-msgstr "Gestión de eventos"
+#: ../../include/nav.php:168
+msgid "Applications, utilities, links, games"
+msgstr "Aplicaciones, utilidades, enlaces, juegos"
-#: ../../include/widgets.php:761
-msgid "Export Calendar"
-msgstr "Exportar el calendario"
+#: ../../include/nav.php:170
+msgid "Search site @name, #tag, ?docs, content"
+msgstr "Buscar en el sitio por @nombre, #etiqueta, ?ayuda o contenido"
-#: ../../include/widgets.php:762
-msgid "Import Calendar"
-msgstr "Importar un calendario"
+#: ../../include/nav.php:172
+msgid "Channel Directory"
+msgstr "Directorio de canales"
-#: ../../include/widgets.php:854
-msgid "Overview"
-msgstr "Resumen"
+#: ../../include/nav.php:184
+msgid "Your grid"
+msgstr "Mi red"
-#: ../../include/widgets.php:861
-msgid "Chat Members"
-msgstr "Miembros del chat"
+#: ../../include/nav.php:185
+msgid "Mark all grid notifications seen"
+msgstr "Marcar todas las notificaciones de la red como vistas"
-#: ../../include/widgets.php:883
-msgid "Wiki List"
-msgstr "Lista de wikis"
+#: ../../include/nav.php:187
+msgid "Channel home"
+msgstr "Mi canal"
-#: ../../include/widgets.php:921
-msgid "Wiki Pages"
-msgstr "Páginas del wiki"
+#: ../../include/nav.php:188
+msgid "Mark all channel notifications seen"
+msgstr "Marcar todas las notificaciones del canal como leídas"
-#: ../../include/widgets.php:956
-msgid "Bookmarked Chatrooms"
-msgstr "Salas de chat preferidas"
+#: ../../include/nav.php:194
+msgid "Notices"
+msgstr "Avisos"
-#: ../../include/widgets.php:979
-msgid "Suggested Chatrooms"
-msgstr "Salas de chat sugeridas"
+#: ../../include/nav.php:194
+msgid "Notifications"
+msgstr "Notificaciones"
-#: ../../include/widgets.php:1125 ../../include/widgets.php:1237
-msgid "photo/image"
-msgstr "foto/imagen"
+#: ../../include/nav.php:195
+msgid "See all notifications"
+msgstr "Ver todas las notificaciones"
-#: ../../include/widgets.php:1180
-msgid "Click to show more"
-msgstr "Hacer clic para ver más"
+#: ../../include/nav.php:198
+msgid "Private mail"
+msgstr "Correo privado"
-#: ../../include/widgets.php:1331
-msgid "Rating Tools"
-msgstr "Valoraciones"
+#: ../../include/nav.php:199
+msgid "See all private messages"
+msgstr "Ver todas los mensajes privados"
-#: ../../include/widgets.php:1335 ../../include/widgets.php:1337
-msgid "Rate Me"
-msgstr "Valorar este canal"
+#: ../../include/nav.php:200
+msgid "Mark all private messages seen"
+msgstr "Marcar todos los mensajes privados como leídos"
-#: ../../include/widgets.php:1340
-msgid "View Ratings"
-msgstr "Mostrar las valoraciones"
+#: ../../include/nav.php:201 ../../include/widgets.php:700
+msgid "Inbox"
+msgstr "Bandeja de entrada"
-#: ../../include/widgets.php:1424
-msgid "Forums"
-msgstr "Foros"
+#: ../../include/nav.php:202 ../../include/widgets.php:705
+msgid "Outbox"
+msgstr "Bandeja de salida"
-#: ../../include/widgets.php:1453
-msgid "Tasks"
-msgstr "Tareas"
+#: ../../include/nav.php:203 ../../include/widgets.php:710
+msgid "New Message"
+msgstr "Nuevo mensaje"
-#: ../../include/widgets.php:1462
-msgid "Documentation"
-msgstr "Documentación"
+#: ../../include/nav.php:206
+msgid "Event Calendar"
+msgstr "Calendario de eventos"
-#: ../../include/widgets.php:1464
-msgid "Project/Site Information"
-msgstr "Información sobre el proyecto o sitio"
+#: ../../include/nav.php:207
+msgid "See all events"
+msgstr "Ver todos los eventos"
-#: ../../include/widgets.php:1465
-msgid "For Members"
-msgstr "Para los miembros"
+#: ../../include/nav.php:208
+msgid "Mark all events seen"
+msgstr "Marcar todos los eventos como leidos"
-#: ../../include/widgets.php:1466
-msgid "For Administrators"
-msgstr "Para los administradores"
+#: ../../include/nav.php:211
+msgid "Manage Your Channels"
+msgstr "Gestionar sus canales"
-#: ../../include/widgets.php:1467
-msgid "For Developers"
-msgstr "Para los desarrolladores"
+#: ../../include/nav.php:213
+msgid "Account/Channel Settings"
+msgstr "Ajustes de cuenta/canales"
-#: ../../include/widgets.php:1491 ../../include/widgets.php:1529
-msgid "Member registrations waiting for confirmation"
-msgstr "Inscripciones de nuevos miembros pendientes de aprobación"
+#: ../../include/nav.php:221 ../../include/widgets.php:1594
+msgid "Admin"
+msgstr "Administrador"
-#: ../../include/widgets.php:1497
-msgid "Inspect queue"
-msgstr "Examinar la cola"
+#: ../../include/nav.php:221
+msgid "Site Setup and Configuration"
+msgstr "Ajustes y configuración del sitio"
-#: ../../include/widgets.php:1499
-msgid "DB updates"
-msgstr "Actualizaciones de la base de datos"
+#: ../../include/nav.php:252 ../../include/conversation.php:853
+msgid "Loading..."
+msgstr "Cargando..."
-#: ../../include/widgets.php:1524 ../../include/nav.php:220
-msgid "Admin"
-msgstr "Administrador"
+#: ../../include/nav.php:257
+msgid "@name, #tag, ?doc, content"
+msgstr "@nombre, #etiqueta, ?ayuda, contenido"
-#: ../../include/widgets.php:1525
-msgid "Plugin Features"
-msgstr "Extensiones"
+#: ../../include/nav.php:258
+msgid "Please wait..."
+msgstr "Espere por favor…"
#: ../../include/bb2diaspora.php:398
msgid "Attachments:"
@@ -8632,55 +9131,11 @@ msgstr " "
msgid "timeago.numbers"
msgstr "timeago.numbers"
-#: ../../include/js_strings.php:45 ../../include/text.php:1243
-msgid "January"
-msgstr "enero"
-
-#: ../../include/js_strings.php:46 ../../include/text.php:1243
-msgid "February"
-msgstr "febrero"
-
-#: ../../include/js_strings.php:47 ../../include/text.php:1243
-msgid "March"
-msgstr "marzo"
-
-#: ../../include/js_strings.php:48 ../../include/text.php:1243
-msgid "April"
-msgstr "abril"
-
#: ../../include/js_strings.php:49
msgctxt "long"
msgid "May"
msgstr "mayo"
-#: ../../include/js_strings.php:50 ../../include/text.php:1243
-msgid "June"
-msgstr "junio"
-
-#: ../../include/js_strings.php:51 ../../include/text.php:1243
-msgid "July"
-msgstr "julio"
-
-#: ../../include/js_strings.php:52 ../../include/text.php:1243
-msgid "August"
-msgstr "agosto"
-
-#: ../../include/js_strings.php:53 ../../include/text.php:1243
-msgid "September"
-msgstr "septiembre"
-
-#: ../../include/js_strings.php:54 ../../include/text.php:1243
-msgid "October"
-msgstr "octubre"
-
-#: ../../include/js_strings.php:55 ../../include/text.php:1243
-msgid "November"
-msgstr "noviembre"
-
-#: ../../include/js_strings.php:56 ../../include/text.php:1243
-msgid "December"
-msgstr "diciembre"
-
#: ../../include/js_strings.php:57
msgid "Jan"
msgstr "ene"
@@ -8730,34 +9185,6 @@ msgstr "nov"
msgid "Dec"
msgstr "dic"
-#: ../../include/js_strings.php:69 ../../include/text.php:1239
-msgid "Sunday"
-msgstr "domingo"
-
-#: ../../include/js_strings.php:70 ../../include/text.php:1239
-msgid "Monday"
-msgstr "lunes"
-
-#: ../../include/js_strings.php:71 ../../include/text.php:1239
-msgid "Tuesday"
-msgstr "martes"
-
-#: ../../include/js_strings.php:72 ../../include/text.php:1239
-msgid "Wednesday"
-msgstr "miércoles"
-
-#: ../../include/js_strings.php:73 ../../include/text.php:1239
-msgid "Thursday"
-msgstr "jueves"
-
-#: ../../include/js_strings.php:74 ../../include/text.php:1239
-msgid "Friday"
-msgstr "viernes"
-
-#: ../../include/js_strings.php:75 ../../include/text.php:1239
-msgid "Saturday"
-msgstr "sábado"
-
#: ../../include/js_strings.php:76
msgid "Sun"
msgstr "dom"
@@ -8811,103 +9238,6 @@ msgctxt "calendar"
msgid "All day"
msgstr "Todos los días"
-#: ../../include/nav.php:84 ../../include/nav.php:117 ../../boot.php:1712
-msgid "Logout"
-msgstr "Finalizar sesión"
-
-#: ../../include/nav.php:84 ../../include/nav.php:117
-msgid "End this session"
-msgstr "Finalizar esta sesión"
-
-#: ../../include/nav.php:87 ../../include/nav.php:148
-msgid "Home"
-msgstr "Inicio"
-
-#: ../../include/nav.php:87
-msgid "Your posts and conversations"
-msgstr "Sus publicaciones y conversaciones"
-
-#: ../../include/nav.php:88
-msgid "Your profile page"
-msgstr "Su página del perfil"
-
-#: ../../include/nav.php:90
-msgid "Manage/Edit profiles"
-msgstr "Administrar/editar perfiles"
-
-#: ../../include/nav.php:92 ../../include/channel.php:963
-msgid "Edit Profile"
-msgstr "Editar el perfil"
-
-#: ../../include/nav.php:92
-msgid "Edit your profile"
-msgstr "Editar su perfil"
-
-#: ../../include/nav.php:94
-msgid "Your photos"
-msgstr "Sus fotos"
-
-#: ../../include/nav.php:95
-msgid "Your files"
-msgstr "Sus ficheros"
-
-#: ../../include/nav.php:98
-msgid "Your chatrooms"
-msgstr "Sus salas de chat"
-
-#: ../../include/nav.php:104
-msgid "Your bookmarks"
-msgstr "Sus marcadores"
-
-#: ../../include/nav.php:108
-msgid "Your webpages"
-msgstr "Sus páginas web"
-
-#: ../../include/nav.php:110
-msgid "Your wiki"
-msgstr "Su wiki"
-
-#: ../../include/nav.php:114
-msgid "Sign in"
-msgstr "Acceder"
-
-#: ../../include/nav.php:131
-#, php-format
-msgid "%s - click to logout"
-msgstr "%s - pulsar para finalizar sesión"
-
-#: ../../include/nav.php:134
-msgid "Remote authentication"
-msgstr "Acceder desde su servidor"
-
-#: ../../include/nav.php:134
-msgid "Click to authenticate to your home hub"
-msgstr "Pulsar para identificarse en su servidor de inicio"
-
-#: ../../include/nav.php:148
-msgid "Home Page"
-msgstr "Página de inicio"
-
-#: ../../include/nav.php:151
-msgid "Create an account"
-msgstr "Crear una cuenta"
-
-#: ../../include/nav.php:163
-msgid "Help and documentation"
-msgstr "Ayuda y documentación"
-
-#: ../../include/nav.php:167
-msgid "Applications, utilities, links, games"
-msgstr "Aplicaciones, utilidades, enlaces, juegos"
-
-#: ../../include/nav.php:169
-msgid "Search site @name, #tag, ?docs, content"
-msgstr "Buscar en el sitio por @nombre, #etiqueta, ?ayuda o contenido"
-
-#: ../../include/nav.php:171
-msgid "Channel Directory"
-msgstr "Directorio de canales"
-
#: ../../include/nav.php:183
msgid "Your grid"
msgstr "Mi red"
@@ -8936,78 +9266,19 @@ msgstr "Notificaciones"
msgid "See all notifications"
msgstr "Ver todas las notificaciones"
-#: ../../include/nav.php:197
-msgid "Private mail"
-msgstr "Correo privado"
-
-#: ../../include/nav.php:198
-msgid "See all private messages"
-msgstr "Ver todas los mensajes privados"
-
-#: ../../include/nav.php:199
-msgid "Mark all private messages seen"
-msgstr "Marcar todos los mensajes privados como leídos"
-
-#: ../../include/nav.php:205
-msgid "Event Calendar"
-msgstr "Calendario de eventos"
-
-#: ../../include/nav.php:206
-msgid "See all events"
-msgstr "Ver todos los eventos"
-
-#: ../../include/nav.php:207
-msgid "Mark all events seen"
-msgstr "Marcar todos los eventos como leidos"
-
-#: ../../include/nav.php:210
-msgid "Manage Your Channels"
-msgstr "Gestionar sus canales"
-
-#: ../../include/nav.php:212
-msgid "Account/Channel Settings"
-msgstr "Ajustes de cuenta/canales"
-
-#: ../../include/nav.php:220
-msgid "Site Setup and Configuration"
-msgstr "Ajustes y configuración del sitio"
-
-#: ../../include/nav.php:256
-msgid "@name, #tag, ?doc, content"
-msgstr "@nombre, #etiqueta, ?ayuda, contenido"
-
-#: ../../include/nav.php:257
-msgid "Please wait..."
-msgstr "Espere por favor…"
-
-#: ../../include/network.php:704
-msgid "view full size"
-msgstr "Ver en el tamaño original"
-
-#: ../../include/network.php:1935 ../../include/account.php:317
-#: ../../include/account.php:344 ../../include/account.php:404
-msgid "Administrator"
-msgstr "Administrador"
-
-#: ../../include/network.php:1949
-msgid "No Subject"
-msgstr "Sin asunto"
-
-#: ../../include/network.php:2203 ../../include/network.php:2204
-msgid "Friendica"
-msgstr "Friendica"
-
-#: ../../include/network.php:2205
-msgid "OStatus"
-msgstr "OStatus"
-
-#: ../../include/network.php:2206
-msgid "GNU-Social"
-msgstr "GNU Social"
+#: ../../include/bbcode.php:123 ../../include/bbcode.php:881
+#: ../../include/bbcode.php:884 ../../include/bbcode.php:889
+#: ../../include/bbcode.php:892 ../../include/bbcode.php:895
+#: ../../include/bbcode.php:898 ../../include/bbcode.php:903
+#: ../../include/bbcode.php:906 ../../include/bbcode.php:911
+#: ../../include/bbcode.php:914 ../../include/bbcode.php:917
+#: ../../include/bbcode.php:920
+msgid "Image/photo"
+msgstr "Imagen/foto"
-#: ../../include/network.php:2207
-msgid "RSS/Atom"
-msgstr "RSS/Atom"
+#: ../../include/bbcode.php:162 ../../include/bbcode.php:931
+msgid "Encrypted content"
+msgstr "Contenido cifrado"
#: ../../include/network.php:2209
msgid "Diaspora"
@@ -9029,354 +9300,438 @@ msgstr "LinkedIn"
msgid "XMPP/IM"
msgstr "XMPP/IM"
-#: ../../include/network.php:2214
-msgid "MySpace"
-msgstr "MySpace"
+#: ../../include/bbcode.php:869
+msgid "$1 wrote:"
+msgstr "$1 escribió:"
-#: ../../include/import.php:30
-msgid ""
-"Cannot create a duplicate channel identifier on this system. Import failed."
-msgstr "No se ha podido crear un canal con un identificador que ya existe en este sistema. La importación ha fallado."
+#: ../../include/conversation.php:204
+#, php-format
+msgid "%1$s is now connected with %2$s"
+msgstr "%1$s ahora está conectado/a con %2$s"
-#: ../../include/import.php:97
-msgid "Channel clone failed. Import failed."
-msgstr "La clonación del canal no ha salido bien. La importación ha fallado."
+#: ../../include/conversation.php:239
+#, php-format
+msgid "%1$s poked %2$s"
+msgstr "%1$s ha dado un toque a %2$s"
-#: ../../include/items.php:899 ../../include/items.php:944
-msgid "(Unknown)"
-msgstr "(Desconocido)"
+#: ../../include/conversation.php:694
+#, php-format
+msgid "View %s's profile @ %s"
+msgstr "Ver el perfil @ %s de %s"
-#: ../../include/items.php:1143
-msgid "Visible to anybody on the internet."
-msgstr "Visible para cualquiera en internet."
+#: ../../include/conversation.php:713
+msgid "Categories:"
+msgstr "Temas:"
-#: ../../include/items.php:1145
-msgid "Visible to you only."
-msgstr "Visible sólo para usted."
+#: ../../include/conversation.php:714
+msgid "Filed under:"
+msgstr "Archivado bajo:"
-#: ../../include/items.php:1147
-msgid "Visible to anybody in this network."
-msgstr "Visible para cualquiera en esta red."
+#: ../../include/conversation.php:739
+msgid "View in context"
+msgstr "Mostrar en su contexto"
-#: ../../include/items.php:1149
-msgid "Visible to anybody authenticated."
-msgstr "Visible para cualquiera que esté autenticado."
+#: ../../include/conversation.php:849
+msgid "remove"
+msgstr "eliminar"
-#: ../../include/items.php:1151
-#, php-format
-msgid "Visible to anybody on %s."
-msgstr "Visible para cualquiera en %s."
+#: ../../include/conversation.php:854
+msgid "Delete Selected Items"
+msgstr "Eliminar elementos seleccionados"
-#: ../../include/items.php:1153
-msgid "Visible to all connections."
-msgstr "Visible para todas las conexiones."
+#: ../../include/conversation.php:947
+msgid "View Source"
+msgstr "Ver el código fuente de la entrada"
-#: ../../include/items.php:1155
-msgid "Visible to approved connections."
-msgstr "Visible para las conexiones permitidas."
+#: ../../include/conversation.php:948
+msgid "Follow Thread"
+msgstr "Seguir este hilo"
-#: ../../include/items.php:1157
-msgid "Visible to specific connections."
-msgstr "Visible para conexiones específicas."
+#: ../../include/conversation.php:949
+msgid "Unfollow Thread"
+msgstr "Dejar de seguir este hilo"
-#: ../../include/items.php:3920
-msgid "Privacy group is empty."
-msgstr "El grupo de canales está vacío."
+#: ../../include/conversation.php:954
+msgid "Activity/Posts"
+msgstr "Actividad y publicaciones"
+
+#: ../../include/conversation.php:956
+msgid "Edit Connection"
+msgstr "Editar conexión"
+
+#: ../../include/conversation.php:957
+msgid "Message"
+msgstr "Mensaje"
-#: ../../include/items.php:3927
+#: ../../include/conversation.php:1077
#, php-format
-msgid "Privacy group: %s"
-msgstr "Grupo de canales: %s"
+msgid "%s likes this."
+msgstr "A %s le gusta esto."
-#: ../../include/items.php:3939
-msgid "Connection not found."
-msgstr "Conexión no encontrada"
+#: ../../include/conversation.php:1077
+#, php-format
+msgid "%s doesn't like this."
+msgstr "A %s no le gusta esto."
-#: ../../include/items.php:4292
-msgid "profile photo"
-msgstr "foto del perfil"
+#: ../../include/conversation.php:1081
+#, 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] "a <span %1$s>%2$d personas</span> le gusta esto."
+msgstr[1] "A <span %1$s>%2$d personas</span> les gusta esto."
-#: ../../include/text.php:404
-msgid "prev"
-msgstr "anterior"
+#: ../../include/conversation.php:1083
+#, 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] "a <span %1$s>%2$d personas</span> no les gusta esto."
+msgstr[1] "A <span %1$s>%2$d personas</span> no les gusta esto."
-#: ../../include/text.php:406
-msgid "first"
-msgstr "primera"
+#: ../../include/conversation.php:1089
+msgid "and"
+msgstr "y"
-#: ../../include/text.php:435
-msgid "last"
-msgstr "última"
+#: ../../include/conversation.php:1092
+#, php-format
+msgid ", and %d other people"
+msgid_plural ", and %d other people"
+msgstr[0] ", y %d persona más"
+msgstr[1] ", y %d personas más"
-#: ../../include/text.php:438
-msgid "next"
-msgstr "próxima"
+#: ../../include/conversation.php:1093
+#, php-format
+msgid "%s like this."
+msgstr "A %s le gusta esto."
-#: ../../include/text.php:448
-msgid "older"
-msgstr "más antiguas"
+#: ../../include/conversation.php:1093
+#, php-format
+msgid "%s don't like this."
+msgstr "A %s no le gusta esto."
-#: ../../include/text.php:450
-msgid "newer"
-msgstr "más recientes"
+#: ../../include/conversation.php:1136
+msgid "Set your location"
+msgstr "Establecer su ubicación"
-#: ../../include/text.php:843
-msgid "No connections"
-msgstr "Sin conexiones"
+#: ../../include/conversation.php:1137
+msgid "Clear browser location"
+msgstr "Eliminar los datos de localización geográfica del navegador"
-#: ../../include/text.php:868
-#, php-format
-msgid "View all %s connections"
-msgstr "Ver todas las %s conexiones"
+#: ../../include/conversation.php:1185
+msgid "Tag term:"
+msgstr "Término de la etiqueta:"
-#: ../../include/text.php:1013 ../../include/text.php:1018
-msgid "poke"
-msgstr "un toque"
+#: ../../include/conversation.php:1186
+msgid "Where are you right now?"
+msgstr "¿Donde está ahora?"
-#: ../../include/text.php:1019
-msgid "ping"
-msgstr "un \"ping\""
+#: ../../include/conversation.php:1195
+msgid "Comments enabled"
+msgstr "Comentarios habilitados"
-#: ../../include/text.php:1019
-msgid "pinged"
-msgstr "ha enviado un \"ping\" a"
+#: ../../include/conversation.php:1196
+msgid "Comments disabled"
+msgstr "Comentarios deshabilitados"
-#: ../../include/text.php:1020
-msgid "prod"
-msgstr "una incitación "
+#: ../../include/conversation.php:1234
+msgid "Page link name"
+msgstr "Nombre del enlace de la página"
-#: ../../include/text.php:1020
-msgid "prodded"
-msgstr "ha incitado a "
+#: ../../include/conversation.php:1237
+msgid "Post as"
+msgstr "Publicar como"
-#: ../../include/text.php:1021
-msgid "slap"
-msgstr "una bofetada "
+#: ../../include/conversation.php:1251
+msgid "Toggle voting"
+msgstr "Cambiar votación"
-#: ../../include/text.php:1021
-msgid "slapped"
-msgstr "ha abofeteado a "
+#: ../../include/conversation.php:1254
+msgid "Disable comments"
+msgstr "Dehabilitar los comentarios"
-#: ../../include/text.php:1022
-msgid "finger"
-msgstr "un \"finger\" "
+#: ../../include/conversation.php:1255
+msgid "Toggle comments"
+msgstr "Activar o desactivar los comentarios"
-#: ../../include/text.php:1022
-msgid "fingered"
-msgstr "envió un \"finger\" a"
+#: ../../include/conversation.php:1263
+msgid "Categories (optional, comma-separated list)"
+msgstr "Temas (opcional, lista separada por comas)"
-#: ../../include/text.php:1023
-msgid "rebuff"
-msgstr "un reproche"
+#: ../../include/conversation.php:1286
+msgid "Other networks and post services"
+msgstr "Otras redes y servicios de publicación"
-#: ../../include/text.php:1023
-msgid "rebuffed"
-msgstr "ha hecho un reproche a "
+#: ../../include/conversation.php:1292
+msgid "Set publish date"
+msgstr "Establecer la fecha de publicación"
-#: ../../include/text.php:1035
-msgid "happy"
-msgstr "feliz "
+#: ../../include/conversation.php:1541
+msgid "Discover"
+msgstr "Descubrir"
-#: ../../include/text.php:1036
-msgid "sad"
-msgstr "triste "
+#: ../../include/conversation.php:1544
+msgid "Imported public streams"
+msgstr "Contenidos públicos importados"
-#: ../../include/text.php:1037
-msgid "mellow"
-msgstr "tranquilo/a"
+#: ../../include/conversation.php:1549
+msgid "Commented Order"
+msgstr "Comentarios recientes"
-#: ../../include/text.php:1038
-msgid "tired"
-msgstr "cansado/a "
+#: ../../include/conversation.php:1552
+msgid "Sort by Comment Date"
+msgstr "Ordenar por fecha de comentario"
-#: ../../include/text.php:1039
-msgid "perky"
-msgstr "vivaz"
+#: ../../include/conversation.php:1556
+msgid "Posted Order"
+msgstr "Publicaciones recientes"
-#: ../../include/text.php:1040
-msgid "angry"
-msgstr "enfadado/a"
+#: ../../include/conversation.php:1559
+msgid "Sort by Post Date"
+msgstr "Ordenar por fecha de publicación"
-#: ../../include/text.php:1041
-msgid "stupefied"
-msgstr "asombrado/a"
+#: ../../include/conversation.php:1567
+msgid "Posts that mention or involve you"
+msgstr "Publicaciones que le mencionan o involucran"
-#: ../../include/text.php:1042
-msgid "puzzled"
-msgstr "perplejo/a"
+#: ../../include/conversation.php:1576
+msgid "Activity Stream - by date"
+msgstr "Contenido - por fecha"
-#: ../../include/text.php:1043
-msgid "interested"
-msgstr "interesado/a"
+#: ../../include/conversation.php:1582
+msgid "Starred"
+msgstr "Preferidas"
-#: ../../include/text.php:1044
-msgid "bitter"
-msgstr "amargado/a"
+#: ../../include/conversation.php:1585
+msgid "Favourite Posts"
+msgstr "Publicaciones favoritas"
-#: ../../include/text.php:1045
-msgid "cheerful"
-msgstr "alegre"
+#: ../../include/conversation.php:1592
+msgid "Spam"
+msgstr "Correo basura"
-#: ../../include/text.php:1046
-msgid "alive"
-msgstr "animado/a"
+#: ../../include/conversation.php:1595
+msgid "Posts flagged as SPAM"
+msgstr "Publicaciones marcadas como basura"
-#: ../../include/text.php:1047
-msgid "annoyed"
-msgstr "molesto/a"
+#: ../../include/conversation.php:1654
+msgid "Status Messages and Posts"
+msgstr "Mensajes de estado y publicaciones"
-#: ../../include/text.php:1048
-msgid "anxious"
-msgstr "ansioso/a"
+#: ../../include/conversation.php:1663
+msgid "About"
+msgstr "Mi perfil"
-#: ../../include/text.php:1049
-msgid "cranky"
-msgstr "de mal humor"
+#: ../../include/conversation.php:1666
+msgid "Profile Details"
+msgstr "Detalles del perfil"
-#: ../../include/text.php:1050
-msgid "disturbed"
-msgstr "perturbado/a"
+#: ../../include/conversation.php:1682
+msgid "Files and Storage"
+msgstr "Ficheros y repositorio"
-#: ../../include/text.php:1051
-msgid "frustrated"
-msgstr "frustrado/a"
+#: ../../include/conversation.php:1702 ../../include/conversation.php:1705
+#: ../../include/widgets.php:883
+msgid "Chatrooms"
+msgstr "Salas de chat"
-#: ../../include/text.php:1052
-msgid "depressed"
-msgstr "deprimido/a"
+#: ../../include/conversation.php:1718
+msgid "Saved Bookmarks"
+msgstr "Marcadores guardados"
-#: ../../include/text.php:1053
-msgid "motivated"
-msgstr "motivado/a"
+#: ../../include/conversation.php:1728
+msgid "Manage Webpages"
+msgstr "Administrar páginas web"
-#: ../../include/text.php:1054
-msgid "relaxed"
-msgstr "relajado/a"
+#: ../../include/conversation.php:1793
+msgctxt "noun"
+msgid "Attending"
+msgid_plural "Attending"
+msgstr[0] "Participaré"
+msgstr[1] "Participaré"
-#: ../../include/text.php:1055
-msgid "surprised"
-msgstr "sorprendido/a"
+#: ../../include/conversation.php:1796
+msgctxt "noun"
+msgid "Not Attending"
+msgid_plural "Not Attending"
+msgstr[0] "No participaré"
+msgstr[1] "No participaré"
-#: ../../include/text.php:1243
-msgid "May"
-msgstr "mayo"
+#: ../../include/conversation.php:1799
+msgctxt "noun"
+msgid "Undecided"
+msgid_plural "Undecided"
+msgstr[0] "Indeciso/a"
+msgstr[1] "Indecisos/as"
-#: ../../include/text.php:1320 ../../include/text.php:1324
-msgid "Unknown Attachment"
-msgstr "Adjunto no reconocido"
+#: ../../include/conversation.php:1802
+msgctxt "noun"
+msgid "Agree"
+msgid_plural "Agrees"
+msgstr[0] "De acuerdo"
+msgstr[1] "De acuerdo"
-#: ../../include/text.php:1326
-msgid "unknown"
-msgstr "desconocido"
+#: ../../include/conversation.php:1805
+msgctxt "noun"
+msgid "Disagree"
+msgid_plural "Disagrees"
+msgstr[0] "En desacuerdo"
+msgstr[1] "En desacuerdo"
-#: ../../include/text.php:1362
-msgid "remove category"
-msgstr "eliminar el tema"
+#: ../../include/conversation.php:1808
+msgctxt "noun"
+msgid "Abstain"
+msgid_plural "Abstains"
+msgstr[0] "se abstiene"
+msgstr[1] "Se abstienen"
-#: ../../include/text.php:1439
-msgid "remove from file"
-msgstr "eliminar del fichero"
+#: ../../include/datetime.php:147
+msgid "Birthday"
+msgstr "Cumpleaños"
-#: ../../include/text.php:1738 ../../include/text.php:1809
-msgid "default"
-msgstr "por defecto"
+#: ../../include/datetime.php:149
+msgid "Age: "
+msgstr "Edad:"
-#: ../../include/text.php:1746
-msgid "Page layout"
-msgstr "Plantilla de la página"
+#: ../../include/datetime.php:151
+msgid "YYYY-MM-DD or MM-DD"
+msgstr "AAAA-MM-DD o MM-DD"
-#: ../../include/text.php:1746
-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/datetime.php:284 ../../boot.php:2578
+msgid "never"
+msgstr "nunca"
-#: ../../include/text.php:1788
-msgid "Page content type"
-msgstr "Tipo de contenido de la página"
+#: ../../include/datetime.php:290
+msgid "less than a second ago"
+msgstr "hace un instante"
-#: ../../include/text.php:1821
-msgid "Select an alternate language"
-msgstr "Seleccionar un idioma alternativo"
+#: ../../include/datetime.php:308
+#, php-format
+msgctxt "e.g. 22 hours ago, 1 minute ago"
+msgid "%1$d %2$s ago"
+msgstr "hace %1$d %2$s"
-#: ../../include/text.php:1958
-msgid "activity"
-msgstr "la actividad"
+#: ../../include/datetime.php:319
+msgctxt "relative_date"
+msgid "year"
+msgid_plural "years"
+msgstr[0] "año"
+msgstr[1] "años"
-#: ../../include/text.php:2259
-msgid "Design Tools"
-msgstr "Herramientas de diseño web"
+#: ../../include/datetime.php:322
+msgctxt "relative_date"
+msgid "month"
+msgid_plural "months"
+msgstr[0] "mes"
+msgstr[1] "meses"
-#: ../../include/text.php:2265
-msgid "Pages"
-msgstr "Páginas"
+#: ../../include/datetime.php:325
+msgctxt "relative_date"
+msgid "week"
+msgid_plural "weeks"
+msgstr[0] "semana"
+msgstr[1] "semanas"
-#: ../../include/text.php:2287
-msgid "Import website..."
-msgstr "Importar un sitio web..."
+#: ../../include/datetime.php:328
+msgctxt "relative_date"
+msgid "day"
+msgid_plural "days"
+msgstr[0] "día"
+msgstr[1] "días"
-#: ../../include/text.php:2288
-msgid "Select folder to import"
-msgstr "Seleccionar la carpeta que se va a importar"
+#: ../../include/datetime.php:331
+msgctxt "relative_date"
+msgid "hour"
+msgid_plural "hours"
+msgstr[0] "hora"
+msgstr[1] "horas"
-#: ../../include/text.php:2289
-msgid "Import from a zipped folder:"
-msgstr "Importar desde una carpeta comprimida: "
+#: ../../include/datetime.php:334
+msgctxt "relative_date"
+msgid "minute"
+msgid_plural "minutes"
+msgstr[0] "minuto"
+msgstr[1] "minutos"
-#: ../../include/text.php:2290
-msgid "Import from cloud files:"
-msgstr "Importar desde los ficheros en la nube: "
+#: ../../include/datetime.php:337
+msgctxt "relative_date"
+msgid "second"
+msgid_plural "seconds"
+msgstr[0] "segundo"
+msgstr[1] "segundos"
-#: ../../include/text.php:2291
-msgid "/cloud/channel/path/to/folder"
-msgstr "/cloud/canal/ruta/a la/carpeta"
+#: ../../include/datetime.php:574
+#, php-format
+msgid "%1$s's birthday"
+msgstr "Cumpleaños de %1$s"
-#: ../../include/text.php:2292
-msgid "Enter path to website files"
-msgstr "Ruta a los ficheros del sitio web"
+#: ../../include/datetime.php:575
+#, php-format
+msgid "Happy Birthday %1$s"
+msgstr "Feliz cumpleaños %1$s"
-#: ../../include/text.php:2293
-msgid "Select folder"
-msgstr "Seleccionar la carpeta"
+#: ../../include/dir_fns.php:141
+msgid "Directory Options"
+msgstr "Opciones del directorio"
-#: ../../include/acl_selectors.php:174
-msgid "Who can see this?"
-msgstr "¿Quién puede ver esto?"
+#: ../../include/dir_fns.php:143
+msgid "Safe Mode"
+msgstr "Modo seguro"
-#: ../../include/acl_selectors.php:175
-msgid "Custom selection"
-msgstr "Selección personalizada"
+#: ../../include/dir_fns.php:144
+msgid "Public Forums Only"
+msgstr "Solo foros públicos"
-#: ../../include/acl_selectors.php:176
-msgid ""
-"Select \"Show\" to allow viewing. \"Don't show\" lets you override and limit"
-" the scope of \"Show\"."
-msgstr "Seleccione \"Mostrar\" para permitir la visualización. La opción \"No mostrar\" le permite anular y limitar el alcance de \"Mostrar\"."
+#: ../../include/dir_fns.php:145
+msgid "This Website Only"
+msgstr "Solo este sitio web"
-#: ../../include/acl_selectors.php:177
-msgid "Show"
-msgstr "Mostrar"
+#: ../../include/event.php:824
+msgid "This event has been added to your calendar."
+msgstr "Este evento ha sido añadido a su calendario."
-#: ../../include/acl_selectors.php:178
-msgid "Don't show"
-msgstr "No mostrar"
+#: ../../include/event.php:1024
+msgid "Not specified"
+msgstr "Sin especificar"
-#: ../../include/acl_selectors.php:184
-msgid "Other networks and post services"
-msgstr "Otras redes y servicios de publicación"
+#: ../../include/event.php:1025
+msgid "Needs Action"
+msgstr "Necesita de una intervención"
-#: ../../include/acl_selectors.php:214
-#, php-format
+#: ../../include/event.php:1026
+msgid "Completed"
+msgstr "Completado/a"
+
+#: ../../include/event.php:1027
+msgid "In Process"
+msgstr "En proceso"
+
+#: ../../include/event.php:1028
+msgid "Cancelled"
+msgstr "Cancelado/a"
+
+#: ../../include/import.php:30
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 "Los permisos de la entrada %s no se pueden cambiar %s una vez que se ha compartido.</br /> Estos permisos establecen quién está autorizado para ver el mensaje."
+"Cannot create a duplicate channel identifier on this system. Import failed."
+msgstr "No se ha podido crear un canal con un identificador que ya existe en este sistema. La importación ha fallado."
-#: ../../include/oembed.php:340
-msgid "Embedded content"
-msgstr "Contenido incorporado"
+#: ../../include/import.php:97
+msgid "Channel clone failed. Import failed."
+msgstr "La clonación del canal no ha salido bien. La importación ha fallado."
-#: ../../include/oembed.php:349
-msgid "Embedding disabled"
-msgstr "Incrustación deshabilitada"
+#: ../../include/import.php:1447
+msgid "Unable to import element \""
+msgstr "No se puede importar un elemento \""
+
+#: ../../include/auth.php:148
+msgid "Logged out."
+msgstr "Desconectado/a."
+
+#: ../../include/auth.php:275
+msgid "Failed authentication"
+msgstr "Autenticación fallida."
+
+#: ../../include/auth.php:286
+msgid "Login failed."
+msgstr "El acceso ha fallado."
#: ../../include/activities.php:41
msgid " and "
@@ -9401,67 +9756,59 @@ msgstr "Visitar %2$s de %1$s"
msgid "%1$s has an updated %2$s, changing %3$s."
msgstr "%1$s ha actualizado %2$s, cambiando %3$s."
-#: ../../include/attach.php:248 ../../include/attach.php:334
-msgid "Item was not found."
-msgstr "Elemento no encontrado."
-
-#: ../../include/attach.php:500
-msgid "No source file."
-msgstr "Ningún fichero de origen"
-
-#: ../../include/attach.php:522
-msgid "Cannot locate file to replace"
-msgstr "No se puede localizar el fichero que va a ser sustituido."
+#: ../../include/network.php:704
+msgid "view full size"
+msgstr "Ver en el tamaño original"
-#: ../../include/attach.php:540
-msgid "Cannot locate file to revise/update"
-msgstr "No se puede localizar el fichero para revisar/actualizar"
+#: ../../include/network.php:1953
+msgid "No Subject"
+msgstr "Sin asunto"
-#: ../../include/attach.php:675
-#, php-format
-msgid "File exceeds size limit of %d"
-msgstr "El fichero supera el limite de tamaño de %d"
+#: ../../include/network.php:2207 ../../include/network.php:2208
+msgid "Friendica"
+msgstr "Friendica"
-#: ../../include/attach.php:689
-#, php-format
-msgid "You have reached your limit of %1$.0f Mbytes attachment storage."
-msgstr "Ha alcanzado su límite de %1$.0f Mbytes de almacenamiento de adjuntos."
+#: ../../include/network.php:2209
+msgid "OStatus"
+msgstr "OStatus"
-#: ../../include/attach.php:847
-msgid "File upload failed. Possible system limit or action terminated."
-msgstr "Error de carga, posiblemente por limite del sistema o porque la acción ha finalizado."
+#: ../../include/network.php:2210
+msgid "GNU-Social"
+msgstr "GNU Social"
-#: ../../include/attach.php:860
-msgid "Stored file could not be verified. Upload failed."
-msgstr "El fichero almacenado no ha podido ser verificado. El envío ha fallado."
+#: ../../include/network.php:2211
+msgid "RSS/Atom"
+msgstr "RSS/Atom"
-#: ../../include/attach.php:916 ../../include/attach.php:932
-msgid "Path not available."
-msgstr "Ruta no disponible."
+#: ../../include/network.php:2213
+msgid "Diaspora"
+msgstr "Diaspora"
-#: ../../include/attach.php:978 ../../include/attach.php:1130
-msgid "Empty pathname"
-msgstr "Ruta vacía"
+#: ../../include/network.php:2214
+msgid "Facebook"
+msgstr "Facebook"
-#: ../../include/attach.php:1004
-msgid "duplicate filename or path"
-msgstr "Nombre duplicado de ruta o fichero"
+#: ../../include/network.php:2215
+msgid "Zot"
+msgstr "Zot"
-#: ../../include/attach.php:1026
-msgid "Path not found."
-msgstr "Ruta no encontrada"
+#: ../../include/network.php:2216
+msgid "LinkedIn"
+msgstr "LinkedIn"
-#: ../../include/attach.php:1084
-msgid "mkdir failed."
-msgstr "mkdir ha fallado."
+#: ../../include/network.php:2217
+msgid "XMPP/IM"
+msgstr "XMPP/IM"
-#: ../../include/attach.php:1088
-msgid "database storage failed."
-msgstr "el almacenamiento en la base de datos ha fallado."
+#: ../../include/network.php:2218
+msgid "MySpace"
+msgstr "MySpace"
-#: ../../include/attach.php:1136
-msgid "Empty path"
-msgstr "Ruta vacía"
+#: ../../include/taxonomy.php:188 ../../include/taxonomy.php:270
+#: ../../include/contact_widgets.php:91 ../../include/widgets.php:46
+#: ../../include/widgets.php:465
+msgid "Categories"
+msgstr "Temas"
#: ../../include/taxonomy.php:228 ../../include/taxonomy.php:249
msgid "Tags"
@@ -9495,361 +9842,391 @@ msgstr "gusta de"
msgid "dislikes"
msgstr "no gusta de"
-#: ../../include/zot.php:700
-msgid "Invalid data packet"
-msgstr "Paquete de datos no válido"
+#: ../../include/contact_widgets.php:11
+#, php-format
+msgid "%d invitation available"
+msgid_plural "%d invitations available"
+msgstr[0] "%d invitación pendiente"
+msgstr[1] "%d invitaciones disponibles"
-#: ../../include/zot.php:716
-msgid "Unable to verify channel signature"
-msgstr "No ha sido posible de verificar la firma del canal"
+#: ../../include/contact_widgets.php:19
+msgid "Find Channels"
+msgstr "Encontrar canales"
-#: ../../include/zot.php:2329
-#, php-format
-msgid "Unable to verify site signature for %s"
-msgstr "No ha sido posible de verificar la firma del sitio para %s"
+#: ../../include/contact_widgets.php:20
+msgid "Enter name or interest"
+msgstr "Introducir nombre o interés"
-#: ../../include/zot.php:3706
-msgid "invalid target signature"
-msgstr "La firma recibida no es válida"
+#: ../../include/contact_widgets.php:21
+msgid "Connect/Follow"
+msgstr "Conectar/Seguir"
-#: ../../include/channel.php:33
-msgid "Unable to obtain identity information from database"
-msgstr "No ha sido posible obtener información sobre la identidad desde la base de datos"
+#: ../../include/contact_widgets.php:22
+msgid "Examples: Robert Morgenstein, Fishing"
+msgstr "Ejemplos: José Fernández, Pesca"
-#: ../../include/channel.php:67
-msgid "Empty name"
-msgstr "Nombre vacío"
+#: ../../include/contact_widgets.php:26
+msgid "Random Profile"
+msgstr "Perfil aleatorio"
-#: ../../include/channel.php:70
-msgid "Name too long"
-msgstr "Nombre demasiado largo"
+#: ../../include/contact_widgets.php:27
+msgid "Invite Friends"
+msgstr "Invitar a amigos"
-#: ../../include/channel.php:181
-msgid "No account identifier"
-msgstr "Ningún identificador de la cuenta"
+#: ../../include/contact_widgets.php:29
+msgid "Advanced example: name=fred and country=iceland"
+msgstr "Ejemplo avanzado: nombre=juan y país=españa"
-#: ../../include/channel.php:193
-msgid "Nickname is required."
-msgstr "Se requiere un sobrenombre (alias)."
+#: ../../include/contact_widgets.php:56 ../../include/contact_widgets.php:94
+#: ../../include/widgets.php:349 ../../include/widgets.php:468
+msgid "Everything"
+msgstr "Todo"
-#: ../../include/channel.php:207
-msgid "Reserved nickname. Please choose another."
-msgstr "Sobrenombre en uso. Por favor, elija otro."
+#: ../../include/contact_widgets.php:122
+#, php-format
+msgid "%d connection in common"
+msgid_plural "%d connections in common"
+msgstr[0] "%d conexión en común"
+msgstr[1] "%d conexiones en común"
-#: ../../include/channel.php:212
-msgid ""
-"Nickname has unsupported characters or is already being used on this site."
-msgstr "El alias contiene caracteres no admitidos o está ya en uso por otros miembros de este sitio."
+#: ../../include/contact_widgets.php:127
+msgid "show more"
+msgstr "mostrar más"
-#: ../../include/channel.php:272
-msgid "Unable to retrieve created identity"
-msgstr "No ha sido posible recuperar la identidad creada"
+#: ../../include/widgets.php:103
+msgid "System"
+msgstr "Sistema"
-#: ../../include/channel.php:341
-msgid "Default Profile"
-msgstr "Perfil principal"
+#: ../../include/widgets.php:106
+msgid "New App"
+msgstr "Nueva aplicación (app)"
-#: ../../include/channel.php:813
-msgid "Requested channel is not available."
-msgstr "El canal solicitado no está disponible."
+#: ../../include/widgets.php:154
+msgid "Suggestions"
+msgstr "Sugerencias"
-#: ../../include/channel.php:960
-msgid "Create New Profile"
-msgstr "Crear un nuevo perfil"
+#: ../../include/widgets.php:155
+msgid "See more..."
+msgstr "Ver más..."
-#: ../../include/channel.php:980
-msgid "Visible to everybody"
-msgstr "Visible para todos"
+#: ../../include/widgets.php:175
+#, php-format
+msgid "You have %1$.0f of %2$.0f allowed connections."
+msgstr "Tiene %1$.0f de %2$.0f conexiones permitidas."
-#: ../../include/channel.php:1053 ../../include/channel.php:1166
-msgid "Gender:"
-msgstr "Género:"
+#: ../../include/widgets.php:181
+msgid "Add New Connection"
+msgstr "Añadir nueva conexión"
-#: ../../include/channel.php:1054 ../../include/channel.php:1210
-msgid "Status:"
-msgstr "Estado:"
+#: ../../include/widgets.php:182
+msgid "Enter channel address"
+msgstr "Dirección del canal"
-#: ../../include/channel.php:1055 ../../include/channel.php:1221
-msgid "Homepage:"
-msgstr "Página personal:"
+#: ../../include/widgets.php:183
+msgid "Examples: bob@example.com, https://example.com/barbara"
+msgstr "Ejemplos: manuel@ejemplo.com, https://ejemplo.com/carmen"
-#: ../../include/channel.php:1056
-msgid "Online Now"
-msgstr "Ahora en línea"
+#: ../../include/widgets.php:199
+msgid "Notes"
+msgstr "Notas"
-#: ../../include/channel.php:1171
-msgid "Like this channel"
-msgstr "Me gusta este canal"
+#: ../../include/widgets.php:275
+msgid "Remove term"
+msgstr "Eliminar término"
-#: ../../include/channel.php:1195
-msgid "j F, Y"
-msgstr "j F Y"
+#: ../../include/widgets.php:390
+msgid "Archives"
+msgstr "Hemeroteca"
-#: ../../include/channel.php:1196
-msgid "j F"
-msgstr "j F"
+#: ../../include/widgets.php:552
+msgid "Refresh"
+msgstr "Recargar"
-#: ../../include/channel.php:1203
-msgid "Birthday:"
-msgstr "Cumpleaños:"
+#: ../../include/widgets.php:592
+msgid "Account settings"
+msgstr "Configuración de la cuenta"
-#: ../../include/channel.php:1216
-#, php-format
-msgid "for %1$d %2$s"
-msgstr "por %1$d %2$s"
+#: ../../include/widgets.php:598
+msgid "Channel settings"
+msgstr "Configuración del canal"
-#: ../../include/channel.php:1219
-msgid "Sexual Preference:"
-msgstr "Orientación sexual:"
+#: ../../include/widgets.php:607
+msgid "Additional features"
+msgstr "Funcionalidades"
-#: ../../include/channel.php:1225
-msgid "Tags:"
-msgstr "Etiquetas:"
+#: ../../include/widgets.php:614
+msgid "Feature/Addon settings"
+msgstr "Complementos"
-#: ../../include/channel.php:1227
-msgid "Political Views:"
-msgstr "Posición política:"
+#: ../../include/widgets.php:620
+msgid "Display settings"
+msgstr "Ajustes de visualización"
-#: ../../include/channel.php:1229
-msgid "Religion:"
-msgstr "Religión:"
+#: ../../include/widgets.php:627
+msgid "Manage locations"
+msgstr "Gestión de ubicaciones (clones) del canal"
-#: ../../include/channel.php:1233
-msgid "Hobbies/Interests:"
-msgstr "Aficciones o intereses:"
+#: ../../include/widgets.php:634
+msgid "Export channel"
+msgstr "Exportar canal"
-#: ../../include/channel.php:1235
-msgid "Likes:"
-msgstr "Me gusta:"
+#: ../../include/widgets.php:640
+msgid "Connected apps"
+msgstr "Aplicaciones (apps) conectadas"
-#: ../../include/channel.php:1237
-msgid "Dislikes:"
-msgstr "No me gusta:"
+#: ../../include/widgets.php:664
+msgid "Premium Channel Settings"
+msgstr "Configuración del canal premium"
-#: ../../include/channel.php:1239
-msgid "Contact information and Social Networks:"
-msgstr "Información de contacto y redes sociales:"
+#: ../../include/widgets.php:693
+msgid "Private Mail Menu"
+msgstr "Menú de correo privado"
-#: ../../include/channel.php:1241
-msgid "My other channels:"
-msgstr "Mis otros canales:"
+#: ../../include/widgets.php:695
+msgid "Combined View"
+msgstr "Vista combinada"
-#: ../../include/channel.php:1243
-msgid "Musical interests:"
-msgstr "Preferencias musicales:"
+#: ../../include/widgets.php:727 ../../include/widgets.php:739
+msgid "Conversations"
+msgstr "Conversaciones"
-#: ../../include/channel.php:1245
-msgid "Books, literature:"
-msgstr "Libros, literatura:"
+#: ../../include/widgets.php:731
+msgid "Received Messages"
+msgstr "Mensajes recibidos"
-#: ../../include/channel.php:1247
-msgid "Television:"
-msgstr "Televisión:"
+#: ../../include/widgets.php:735
+msgid "Sent Messages"
+msgstr "Enviar mensajes"
-#: ../../include/channel.php:1249
-msgid "Film/dance/culture/entertainment:"
-msgstr "Cine, danza, cultura, entretenimiento:"
+#: ../../include/widgets.php:749
+msgid "No messages."
+msgstr "Sin mensajes."
-#: ../../include/channel.php:1251
-msgid "Love/Romance:"
-msgstr "Vida sentimental o amorosa:"
+#: ../../include/widgets.php:767
+msgid "Delete conversation"
+msgstr "Eliminar conversación"
-#: ../../include/channel.php:1253
-msgid "Work/employment:"
-msgstr "Trabajo:"
+#: ../../include/widgets.php:793
+msgid "Events Tools"
+msgstr "Gestión de eventos"
-#: ../../include/channel.php:1255
-msgid "School/education:"
-msgstr "Estudios:"
+#: ../../include/widgets.php:794
+msgid "Export Calendar"
+msgstr "Exportar el calendario"
-#: ../../include/channel.php:1276
-msgid "Like this thing"
-msgstr "Me gusta esto"
+#: ../../include/widgets.php:795
+msgid "Import Calendar"
+msgstr "Importar un calendario"
-#: ../../include/connections.php:95
-msgid "New window"
-msgstr "Nueva ventana"
+#: ../../include/widgets.php:887
+msgid "Overview"
+msgstr "Resumen"
-#: ../../include/connections.php:96
-msgid "Open the selected location in a different window or browser tab"
-msgstr "Abrir la dirección seleccionada en una ventana o pestaña aparte"
+#: ../../include/widgets.php:894
+msgid "Chat Members"
+msgstr "Miembros del chat"
-#: ../../include/connections.php:214
-#, php-format
-msgid "User '%s' deleted"
-msgstr "El usuario '%s' ha sido eliminado"
+#: ../../include/widgets.php:916
+msgid "Wiki List"
+msgstr "Lista de wikis"
-#: ../../include/event.php:821
-msgid "This event has been added to your calendar."
-msgstr "Este evento ha sido añadido a su calendario."
+#: ../../include/widgets.php:954
+msgid "Wiki Pages"
+msgstr "Páginas del wiki"
-#: ../../include/event.php:1021
-msgid "Not specified"
-msgstr "Sin especificar"
+#: ../../include/widgets.php:989
+msgid "Bookmarked Chatrooms"
+msgstr "Salas de chat preferidas"
-#: ../../include/event.php:1022
-msgid "Needs Action"
-msgstr "Necesita de una intervención"
+#: ../../include/widgets.php:1020
+msgid "Suggested Chatrooms"
+msgstr "Salas de chat sugeridas"
-#: ../../include/event.php:1023
-msgid "Completed"
-msgstr "Completado/a"
+#: ../../include/widgets.php:1166 ../../include/widgets.php:1278
+msgid "photo/image"
+msgstr "foto/imagen"
-#: ../../include/event.php:1024
-msgid "In Process"
-msgstr "En proceso"
+#: ../../include/widgets.php:1221
+msgid "Click to show more"
+msgstr "Hacer clic para ver más"
-#: ../../include/event.php:1025
-msgid "Cancelled"
-msgstr "Cancelado/a"
+#: ../../include/widgets.php:1372
+msgid "Rating Tools"
+msgstr "Valoraciones"
-#: ../../include/contact_widgets.php:11
-#, php-format
-msgid "%d invitation available"
-msgid_plural "%d invitations available"
-msgstr[0] "%d invitación pendiente"
-msgstr[1] "%d invitaciones disponibles"
+#: ../../include/widgets.php:1376 ../../include/widgets.php:1378
+msgid "Rate Me"
+msgstr "Valorar este canal"
-#: ../../include/contact_widgets.php:19
-msgid "Find Channels"
-msgstr "Encontrar canales"
+#: ../../include/widgets.php:1381
+msgid "View Ratings"
+msgstr "Mostrar las valoraciones"
-#: ../../include/contact_widgets.php:20
-msgid "Enter name or interest"
-msgstr "Introducir nombre o interés"
+#: ../../include/widgets.php:1465
+msgid "Forums"
+msgstr "Foros"
-#: ../../include/contact_widgets.php:21
-msgid "Connect/Follow"
-msgstr "Conectar/Seguir"
+#: ../../include/widgets.php:1494
+msgid "Tasks"
+msgstr "Tareas"
-#: ../../include/contact_widgets.php:22
-msgid "Examples: Robert Morgenstein, Fishing"
-msgstr "Ejemplos: José Fernández, Pesca"
+#: ../../include/widgets.php:1505
+msgid "Documentation"
+msgstr "Documentación"
-#: ../../include/contact_widgets.php:26
-msgid "Random Profile"
-msgstr "Perfil aleatorio"
+#: ../../include/widgets.php:1561 ../../include/widgets.php:1599
+msgid "Member registrations waiting for confirmation"
+msgstr "Inscripciones de nuevos miembros pendientes de aprobación"
-#: ../../include/contact_widgets.php:27
-msgid "Invite Friends"
-msgstr "Invitar a amigos"
+#: ../../include/widgets.php:1567
+msgid "Inspect queue"
+msgstr "Examinar la cola"
-#: ../../include/contact_widgets.php:29
-msgid "Advanced example: name=fred and country=iceland"
-msgstr "Ejemplo avanzado: nombre=juan y país=españa"
+#: ../../include/widgets.php:1569
+msgid "DB updates"
+msgstr "Actualizaciones de la base de datos"
-#: ../../include/contact_widgets.php:122
-#, php-format
-msgid "%d connection in common"
-msgid_plural "%d connections in common"
-msgstr[0] "%d conexión en común"
-msgstr[1] "%d conexiones en común"
+#: ../../include/widgets.php:1595
+msgid "Plugin Features"
+msgstr "Extensiones"
-#: ../../include/contact_widgets.php:127
-msgid "show more"
-msgstr "mostrar más"
+#: ../../include/api.php:1330
+msgid "Public Timeline"
+msgstr "Cronología pública"
-#: ../../include/dir_fns.php:141
-msgid "Directory Options"
-msgstr "Opciones del directorio"
+#: ../../include/oembed.php:322
+msgid " by "
+msgstr "por"
-#: ../../include/dir_fns.php:143
-msgid "Safe Mode"
-msgstr "Modo seguro"
+#: ../../include/oembed.php:323
+msgid " on "
+msgstr "en"
-#: ../../include/dir_fns.php:144
-msgid "Public Forums Only"
-msgstr "Solo foros públicos"
+#: ../../include/oembed.php:352
+msgid "Embedded content"
+msgstr "Contenido incorporado"
-#: ../../include/dir_fns.php:145
-msgid "This Website Only"
-msgstr "Solo este sitio web"
+#: ../../include/oembed.php:361
+msgid "Embedding disabled"
+msgstr "Incrustación deshabilitada"
-#: ../../include/message.php:20
-msgid "No recipient provided."
-msgstr "No se ha especificado ningún destinatario."
+#: ../../include/items.php:918 ../../include/items.php:963
+msgid "(Unknown)"
+msgstr "(Desconocido)"
-#: ../../include/message.php:25
-msgid "[no subject]"
-msgstr "[sin asunto]"
+#: ../../include/items.php:1162
+msgid "Visible to anybody on the internet."
+msgstr "Visible para cualquiera en internet."
-#: ../../include/message.php:45
-msgid "Unable to determine sender."
-msgstr "No ha sido posible determinar el remitente. "
+#: ../../include/items.php:1164
+msgid "Visible to you only."
+msgstr "Visible sólo para usted."
-#: ../../include/message.php:222
-msgid "Stored post could not be verified."
-msgstr "No se han podido verificar las publicaciones guardadas."
+#: ../../include/items.php:1166
+msgid "Visible to anybody in this network."
+msgstr "Visible para cualquiera en esta red."
-#: ../../include/account.php:28
-msgid "Not a valid email address"
-msgstr "Dirección de correo no válida"
+#: ../../include/items.php:1168
+msgid "Visible to anybody authenticated."
+msgstr "Visible para cualquiera que esté autenticado."
-#: ../../include/account.php:30
-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."
+#: ../../include/items.php:1170
+#, php-format
+msgid "Visible to anybody on %s."
+msgstr "Visible para cualquiera en %s."
-#: ../../include/account.php:36
-msgid "Your email address is already registered at this site."
-msgstr "Su dirección de correo está ya registrada en este sitio."
+#: ../../include/items.php:1172
+msgid "Visible to all connections."
+msgstr "Visible para todas las conexiones."
-#: ../../include/account.php:68
-msgid "An invitation is required."
-msgstr "Es obligatorio que le inviten."
+#: ../../include/items.php:1174
+msgid "Visible to approved connections."
+msgstr "Visible para las conexiones permitidas."
-#: ../../include/account.php:72
-msgid "Invitation could not be verified."
-msgstr "No se ha podido verificar su invitación."
+#: ../../include/items.php:1176
+msgid "Visible to specific connections."
+msgstr "Visible para conexiones específicas."
-#: ../../include/account.php:122
-msgid "Please enter the required information."
-msgstr "Por favor introduzca la información requerida."
+#: ../../include/items.php:3976
+msgid "Privacy group is empty."
+msgstr "El grupo de canales está vacío."
-#: ../../include/account.php:189
-msgid "Failed to store account information."
-msgstr "La información de la cuenta no se ha podido guardar."
+#: ../../include/items.php:3983
+#, php-format
+msgid "Privacy group: %s"
+msgstr "Grupo de canales: %s"
-#: ../../include/account.php:249
+#: ../../include/items.php:3995
+msgid "Connection not found."
+msgstr "Conexión no encontrada"
+
+#: ../../include/items.php:4348
+msgid "profile photo"
+msgstr "foto del perfil"
+
+#: ../../include/attach.php:248 ../../include/attach.php:334
+msgid "Item was not found."
+msgstr "Elemento no encontrado."
+
+#: ../../include/attach.php:500
+msgid "No source file."
+msgstr "Ningún fichero de origen"
+
+#: ../../include/attach.php:522
+msgid "Cannot locate file to replace"
+msgstr "No se puede localizar el fichero que va a ser sustituido."
+
+#: ../../include/attach.php:540
+msgid "Cannot locate file to revise/update"
+msgstr "No se puede localizar el fichero para revisar/actualizar"
+
+#: ../../include/attach.php:675
#, php-format
-msgid "Registration confirmation for %s"
-msgstr "Confirmación de registro para %s"
+msgid "File exceeds size limit of %d"
+msgstr "El fichero supera el limite de tamaño de %d"
-#: ../../include/account.php:315
+#: ../../include/attach.php:689
#, php-format
-msgid "Registration request at %s"
-msgstr "Solicitud de registro en %s"
+msgid "You have reached your limit of %1$.0f Mbytes attachment storage."
+msgstr "Ha alcanzado su límite de %1$.0f Mbytes de almacenamiento de adjuntos."
-#: ../../include/account.php:339
-msgid "your registration password"
-msgstr "su contraseña de registro"
+#: ../../include/attach.php:854
+msgid "File upload failed. Possible system limit or action terminated."
+msgstr "Error de carga, posiblemente por limite del sistema o porque la acción ha finalizado."
-#: ../../include/account.php:342 ../../include/account.php:402
-#, php-format
-msgid "Registration details for %s"
-msgstr "Detalles del registro de %s"
+#: ../../include/attach.php:867
+msgid "Stored file could not be verified. Upload failed."
+msgstr "El fichero almacenado no ha podido ser verificado. El envío ha fallado."
-#: ../../include/account.php:414
-msgid "Account approved."
-msgstr "Cuenta aprobada."
+#: ../../include/attach.php:923 ../../include/attach.php:939
+msgid "Path not available."
+msgstr "Ruta no disponible."
-#: ../../include/account.php:454
-#, php-format
-msgid "Registration revoked for %s"
-msgstr "Registro revocado para %s"
+#: ../../include/attach.php:985 ../../include/attach.php:1137
+msgid "Empty pathname"
+msgstr "Ruta vacía"
-#: ../../include/account.php:739 ../../include/account.php:741
-msgid "Click here to upgrade."
-msgstr "Pulse aquí para actualizar"
+#: ../../include/attach.php:1011
+msgid "duplicate filename or path"
+msgstr "Nombre duplicado de ruta o fichero"
-#: ../../include/account.php:747
-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/attach.php:1033
+msgid "Path not found."
+msgstr "Ruta no encontrada"
-#: ../../include/account.php:752
-msgid "This action is not available under your subscription plan."
-msgstr "Esta acción no está disponible en su plan de suscripción."
+#: ../../include/attach.php:1091
+msgid "mkdir failed."
+msgstr "mkdir ha fallado."
-#: ../../view/theme/redbasic/php/config.php:6
+#: ../../include/attach.php:1095
+msgid "database storage failed."
+msgstr "el almacenamiento en la base de datos ha fallado."
+
+#: ../../include/attach.php:1143
+msgid "Empty path"
+msgstr "Ruta vacía"
+
+#: ../../view/theme/redbasic/php/config.php:9
msgid "Focus (Hubzilla default)"
msgstr "Focus (predefinido)"
@@ -9981,66 +10358,66 @@ msgstr "Ajustar el tamaño de la foto del autor de la conversación"
msgid "Set size of followup author photos"
msgstr "Ajustar el tamaño de foto de los seguidores del autor"
-#: ../../boot.php:1169
+#: ../../boot.php:1195
#, php-format
msgctxt "opensearch"
msgid "Search %1$s (%2$s)"
msgstr "Buscar %1$s (%2$s)"
-#: ../../boot.php:1169
+#: ../../boot.php:1195
msgctxt "opensearch"
msgid "$Projectname"
msgstr "$Projectname"
-#: ../../boot.php:1487
+#: ../../boot.php:1513
#, php-format
msgid "Update %s failed. See error logs."
msgstr "La actualización %s ha fallado. Mire el informe de errores."
-#: ../../boot.php:1490
+#: ../../boot.php:1516
#, php-format
msgid "Update Error at %s"
msgstr "Error de actualización en %s"
-#: ../../boot.php:1694
+#: ../../boot.php:1720
msgid ""
"Create an account to access services and applications within the Hubzilla"
msgstr "Crear una cuenta para acceder a los servicios y aplicaciones dentro de Hubzilla"
-#: ../../boot.php:1715
+#: ../../boot.php:1741
msgid "Login/Email"
msgstr "Inicio de sesión / Correo electrónico"
-#: ../../boot.php:1716
+#: ../../boot.php:1742
msgid "Password"
msgstr "Contraseña"
-#: ../../boot.php:1717
+#: ../../boot.php:1743
msgid "Remember me"
msgstr "Recordarme"
-#: ../../boot.php:1720
+#: ../../boot.php:1746
msgid "Forgot your password?"
msgstr "¿Olvidó su contraseña?"
-#: ../../boot.php:2289
+#: ../../boot.php:2315
msgid "toggle mobile"
msgstr "cambiar a modo móvil"
-#: ../../boot.php:2444
+#: ../../boot.php:2470
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:2447
+#: ../../boot.php:2473
#, php-format
msgid "[hubzilla] Website SSL error for %s"
msgstr "[hubzilla] Error SSL del sitio web en %s"
-#: ../../boot.php:2551
+#: ../../boot.php:2577
msgid "Cron/Scheduled tasks not running."
msgstr "Las tareas del Planificador/Cron no están funcionando."
-#: ../../boot.php:2555
+#: ../../boot.php:2581
#, php-format
msgid "[hubzilla] Cron tasks not running on %s"
msgstr "[hubzilla] Las tareas de Cron no están funcionando en %s"
diff --git a/view/es-es/hstrings.php b/view/es-es/hstrings.php
index e3340f04a..dd97c81c7 100644
--- a/view/es-es/hstrings.php
+++ b/view/es-es/hstrings.php
@@ -58,139 +58,397 @@ App::$strings["Edit"] = "Editar";
App::$strings["Delete"] = "Eliminar";
App::$strings["You are using %1\$s of your available file storage."] = "Está usando %1\$s de su espacio disponible para ficheros.";
App::$strings["You are using %1\$s of %2\$s available file storage. (%3\$s&#37;)"] = "Está usando %1\$s de %2\$s que tiene a su disposición para ficheros. (%3\$s&#37;)";
-App::$strings["WARNING:"] = "ATENCIÓN:";
+App::$strings["WARNING:"] = "ATENCIÓN: ";
App::$strings["Create new folder"] = "Crear nueva carpeta";
App::$strings["Upload file"] = "Subir fichero";
App::$strings["Drop files here to immediately upload"] = "Arrastre los ficheros aquí para subirlos de forma inmediata";
-App::$strings["Permission denied"] = "Permiso denegado";
App::$strings["Permission denied."] = "Acceso denegado.";
App::$strings["Not Found"] = "No encontrado";
App::$strings["Page not found."] = "Página no encontrada.";
+App::$strings["Permission denied"] = "Permiso denegado";
App::$strings["Remote authentication blocked. You are logged into this site locally. Please logout and retry."] = "La autenticación desde su servidor está bloqueada. Ha iniciado sesión localmente. Por favor, salga de la sesión y vuelva a intentarlo.";
App::$strings["Welcome %s. Remote authentication successful."] = "Bienvenido %s. La identificación desde su servidor se ha llevado a cabo correctamente.";
App::$strings["Requested profile is not available."] = "El perfil solicitado no está disponible.";
App::$strings["Some blurb about what to do when you're new here"] = "Algunas propuestas para el nuevo usuario sobre qué se puede hacer aquí";
App::$strings["Away"] = "Ausente";
App::$strings["Online"] = "Conectado/a";
-App::$strings["Item not found."] = "Elemento no encontrado.";
-App::$strings["Thing updated"] = "Elemento actualizado.";
-App::$strings["Object store: failed"] = "Guardar objeto: ha fallado";
-App::$strings["Thing added"] = "Elemento añadido";
-App::$strings["OBJ: %1\$s %2\$s %3\$s"] = "OBJ: %1\$s %2\$s %3\$s";
-App::$strings["Show Thing"] = "Mostrar elemento";
-App::$strings["item not found."] = "elemento no encontrado.";
-App::$strings["Edit Thing"] = "Editar elemento";
-App::$strings["Select a profile"] = "Seleccionar un perfil";
-App::$strings["Post an activity"] = "Publicar una actividad";
-App::$strings["Only sends to viewers of the applicable profile"] = "Sólo enviar a espectadores del perfil pertinente.";
-App::$strings["Name of thing e.g. something"] = "Nombre del elemento, p. ej.:. \"algo\"";
-App::$strings["URL of thing (optional)"] = "Dirección del elemento (opcional)";
-App::$strings["URL for photo of thing (optional)"] = "Dirección para la foto o elemento (opcional)";
-App::$strings["Permissions"] = "Permisos";
-App::$strings["Submit"] = "Enviar";
-App::$strings["Add Thing to your Profile"] = "Añadir alguna cosa a su perfil";
-App::$strings["Like/Dislike"] = "Me gusta/No me gusta";
-App::$strings["This action is restricted to members."] = "Esta acción está restringida solo para miembros.";
-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."] = "Por favor, <a href=\"rmagic\">identifíquese con su \$Projectname ID</a> o <a href=\"register\">rregístrese como un nuevo \$Projectname member</a> para continuar.";
-App::$strings["Invalid request."] = "Solicitud incorrecta.";
-App::$strings["channel"] = "el canal";
-App::$strings["thing"] = "elemento";
-App::$strings["Channel unavailable."] = "Canal no disponible.";
-App::$strings["Previous action reversed."] = "Acción anterior revocada.";
-App::$strings["photo"] = "foto";
-App::$strings["status"] = "el mensaje de estado";
-App::$strings["event"] = "evento";
-App::$strings["%1\$s likes %2\$s's %3\$s"] = "A %1\$s le gusta %3\$s de %2\$s";
-App::$strings["%1\$s doesn't like %2\$s's %3\$s"] = "A %1\$s no le gusta %3\$s de %2\$s";
-App::$strings["%1\$s agrees with %2\$s's %3\$s"] = "%3\$s de %2\$s: %1\$s está de acuerdo";
-App::$strings["%1\$s doesn't agree with %2\$s's %3\$s"] = "%3\$s de %2\$s: %1\$s no está de acuerdo";
-App::$strings["%1\$s abstains from a decision on %2\$s's %3\$s"] = "%3\$s de %2\$s: %1\$s se abstiene";
-App::$strings["%1\$s is attending %2\$s's %3\$s"] = "%3\$s de %2\$s: %1\$s participa";
-App::$strings["%1\$s is not attending %2\$s's %3\$s"] = "%3\$s de %2\$s: %1\$s no participa";
-App::$strings["%1\$s may attend %2\$s's %3\$s"] = "%3\$s de %2\$s: %1\$s quizá participe";
-App::$strings["Action completed."] = "Acción completada.";
-App::$strings["Thank you."] = "Gracias.";
+App::$strings["No such group"] = "No se encuentra el grupo";
+App::$strings["No such channel"] = "No se encuentra el canal";
+App::$strings["forum"] = "foro";
+App::$strings["Search Results For:"] = "Buscar resultados para:";
+App::$strings["Privacy group is empty"] = "El grupo de canales está vacío";
+App::$strings["Privacy group: "] = "Grupo de canales: ";
+App::$strings["Invalid connection."] = "Conexión no válida.";
+App::$strings["Fetching URL returns error: %1\$s"] = "Al intentar obtener la dirección, retorna el error: %1\$s";
+App::$strings["network"] = "red";
+App::$strings["RSS"] = "RSS";
App::$strings["You must be logged in to see this page."] = "Debe haber iniciado sesión para poder ver esta página.";
-App::$strings["Not found"] = "No encontrado";
-App::$strings["Wiki"] = "Wiki";
-App::$strings["Sandbox"] = "Entorno de edición";
-App::$strings["\"# Wiki Sandbox\\n\\nContent you **edit** and **preview** here *will not be saved*.\""] = "\"# Entorno de edición del Wiki\\n\\nEl contenido que se **edite** y **previsualizce** aquí *no se guardará*.\"";
-App::$strings["Revision Comparison"] = "Comparación de revisiones";
-App::$strings["Revert"] = "Revertir";
-App::$strings["Cancel"] = "Cancelar";
-App::$strings["Enter the name of your new wiki:"] = "Nombre de su nuevo wiki:";
-App::$strings["Enter the name of the new page:"] = "Nombre de la nueva página:";
-App::$strings["Enter the new name:"] = "Nuevo nombre:";
-App::$strings["Embed image from photo albums"] = "Incluir una imagen de los álbumes de fotos";
-App::$strings["Embed an image from your albums"] = "Incluir una imagen de sus álbumes";
-App::$strings["OK"] = "OK";
-App::$strings["Choose images to embed"] = "Elegir imágenes para incluir";
-App::$strings["Choose an album"] = "Elegir un álbum";
-App::$strings["Choose a different album..."] = "Elegir un álbum diferente...";
-App::$strings["Error getting album list"] = "Error al obtener la lista de álbumes";
-App::$strings["Error getting photo link"] = "Error al obtener el enlace de la foto";
-App::$strings["Error getting album"] = "Error al obtener el álbum";
-App::$strings["Public access denied."] = "Acceso público denegado.";
-App::$strings["%d rating"] = array(
- 0 => "%d valoración",
- 1 => "%d valoraciones",
-);
-App::$strings["Gender: "] = "Género:";
-App::$strings["Status: "] = "Estado:";
-App::$strings["Homepage: "] = "Página personal:";
-App::$strings["Age:"] = "Edad:";
-App::$strings["Location:"] = "Ubicación:";
-App::$strings["Description:"] = "Descripción:";
-App::$strings["Hometown:"] = "Lugar de nacimiento:";
-App::$strings["About:"] = "Sobre mí:";
-App::$strings["Connect"] = "Conectar";
-App::$strings["Public Forum:"] = "Foro público:";
-App::$strings["Keywords: "] = "Palabras clave:";
-App::$strings["Don't suggest"] = "No sugerir:";
-App::$strings["Common connections:"] = "Conexiones comunes:";
-App::$strings["Global Directory"] = "Directorio global:";
-App::$strings["Local Directory"] = "Directorio local:";
-App::$strings["Find"] = "Encontrar";
-App::$strings["Finding:"] = "Encontrar:";
-App::$strings["Channel Suggestions"] = "Sugerencias de canales";
-App::$strings["next page"] = "siguiente página";
-App::$strings["previous page"] = "página anterior";
-App::$strings["Sort options"] = "Ordenar opciones";
-App::$strings["Alphabetic"] = "Alfabético";
-App::$strings["Reverse Alphabetic"] = "Alfabético inverso";
-App::$strings["Newest to Oldest"] = "De más nuevo a más antiguo";
-App::$strings["Oldest to Newest"] = "De más antiguo a más nuevo";
-App::$strings["No entries (some entries may be hidden)."] = "Sin entradas (algunas entradas pueden estar ocultas).";
-App::$strings["Rating"] = "Valoración";
-App::$strings["Website:"] = "Sitio web:";
-App::$strings["Remote Channel [%s] (not yet known on this site)"] = "Canal remoto [%s] (aún no es conocido en este sitio)";
-App::$strings["Rating (this information is public)"] = "Valoración (esta información es pública)";
-App::$strings["Optionally explain your rating (this information is public)"] = "Opcionalmente puede explicar su valoración (esta información es pública)";
+App::$strings["Posts and comments"] = "Publicaciones y comentarios";
+App::$strings["Only posts"] = "Solo publicaciones";
+App::$strings["Insufficient permissions. Request redirected to profile page."] = "Permisos insuficientes. Petición redirigida a la página del perfil.";
+App::$strings["Your service plan only allows %d channels."] = "Su paquete de servicios solo permite %d canales.";
+App::$strings["Nothing to import."] = "No hay nada para importar.";
+App::$strings["Unable to download data from old server"] = "No se han podido descargar datos de su antiguo servidor";
+App::$strings["Imported file is empty."] = "El fichero importado está vacío.";
+App::$strings["Warning: Database versions differ by %1\$d updates."] = "Atención: Las versiones de la base de datos difieren en %1\$d actualizaciones.";
+App::$strings["Cloned channel not found. Import failed."] = "No se ha podido importar el canal porque el canal clonado no se ha encontrado.";
+App::$strings["No channel. Import failed."] = "No hay canal. La importación ha fallado";
+App::$strings["Import completed."] = "Importación completada.";
+App::$strings["You must be logged in to use this feature."] = "Debe estar registrado para poder usar esta funcionalidad.";
+App::$strings["Import Channel"] = "Importar canal";
+App::$strings["Use this form to import an existing channel from a different server/hub. You may retrieve the channel identity from the old server/hub via the network or provide an export file."] = "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.";
+App::$strings["File to Upload"] = "Fichero para subir";
+App::$strings["Or provide the old server/hub details"] = "O proporcione los detalles de su antiguo servidor/hub";
+App::$strings["Your old identity address (xyz@example.com)"] = "Su identidad en el antiguo servidor (canal@ejemplo.com)";
+App::$strings["Your old login email address"] = "Su antigua dirección de correo electrónico";
+App::$strings["Your old login password"] = "Su antigua contraseña";
+App::$strings["For either option, please choose whether to make this hub your new primary address, or whether your old location should continue this role. You will be able to post from either location, but only one can be marked as the primary location for files, photos, and media."] = "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.";
+App::$strings["Make this hub my primary location"] = "Convertir este servidor en mi ubicación primaria";
+App::$strings["Import existing posts if possible (experimental - limited by available memory"] = "Importar el contenido publicado si es posible (experimental - limitado por la memoria disponible";
+App::$strings["This process may take several minutes to complete. Please submit the form only once and leave this page open until finished."] = "Este proceso puede tardar varios minutos en completarse. Por favor envíe el formulario una sola vez y mantenga esta página abierta hasta que termine.";
+App::$strings["Submit"] = "Enviar";
App::$strings["Bookmark added"] = "Marcador añadido";
App::$strings["My Bookmarks"] = "Mis marcadores";
App::$strings["My Connections Bookmarks"] = "Marcadores de mis conexiones";
-App::$strings["Unable to locate original post."] = "No ha sido posible encontrar la entrada original.";
-App::$strings["Empty post discarded."] = "La entrada vacía ha sido desechada.";
-App::$strings["Executable content type not permitted to this channel."] = "Contenido de tipo ejecutable no permitido en este canal.";
-App::$strings["Duplicate post suppressed."] = "Se ha suprimido la entrada duplicada.";
-App::$strings["System error. Post not saved."] = "Error del sistema. La entrada no se ha podido salvar.";
-App::$strings["Unable to obtain post information from database."] = "No ha sido posible obtener información de la entrada en la base de datos.";
-App::$strings["You have reached your limit of %1$.0f top level posts."] = "Ha alcanzado su límite de %1$.0f entradas en la página principal.";
-App::$strings["You have reached your limit of %1$.0f webpages."] = "Ha alcanzado su límite de %1$.0f páginas web.";
+App::$strings["%s account blocked/unblocked"] = array(
+ 0 => "%s cuenta bloqueada/desbloqueada",
+ 1 => "%s cuenta bloqueada/desbloqueada",
+);
+App::$strings["%s account deleted"] = array(
+ 0 => "%s cuentas eliminadas",
+ 1 => "%s cuentas eliminadas",
+);
+App::$strings["Account not found"] = "Cuenta no encontrada";
+App::$strings["Account '%s' deleted"] = "La cuenta '%s' ha sido eliminada";
+App::$strings["Account '%s' blocked"] = "La cuenta '%s' ha sido bloqueada";
+App::$strings["Account '%s' unblocked"] = "La cuenta '%s' ha sido desbloqueada";
+App::$strings["Administration"] = "Administración";
+App::$strings["Accounts"] = "Cuentas";
+App::$strings["select all"] = "seleccionar todo";
+App::$strings["Registrations waiting for confirm"] = "Inscripciones en espera de confirmación";
+App::$strings["Request date"] = "Fecha de solicitud";
+App::$strings["Email"] = "Correo electrónico";
+App::$strings["No registrations."] = "Sin registros.";
+App::$strings["Approve"] = "Aprobar";
+App::$strings["Deny"] = "Rechazar";
+App::$strings["Block"] = "Bloquear";
+App::$strings["Unblock"] = "Desbloquear";
+App::$strings["ID"] = "ID";
+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["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["%s channel censored/uncensored"] = array(
+ 0 => "%s canales censurados/no censurados",
+ 1 => "%s canales censurados/no censurados",
+);
+App::$strings["%s channel code allowed/disallowed"] = array(
+ 0 => "%s código permitido/no permitido al canal",
+ 1 => "%s código permitido/no permitido al canal",
+);
+App::$strings["%s channel deleted"] = array(
+ 0 => "%s canales eliminados",
+ 1 => "%s canales eliminados",
+);
+App::$strings["Channel not found"] = "Canal no encontrado";
+App::$strings["Channel '%s' deleted"] = "Canal '%s' eliminado";
+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["Channels"] = "Canales";
+App::$strings["Censor"] = "Censurar";
+App::$strings["Uncensor"] = "No censurar";
+App::$strings["Allow Code"] = "Permitir código";
+App::$strings["Disallow Code"] = "No permitir código";
+App::$strings["Channel"] = "Canal";
+App::$strings["UID"] = "UID";
+App::$strings["Address"] = "Dirección";
+App::$strings["Selected channels will be deleted!\\n\\nEverything that was posted in these channels on this site will be permanently deleted!\\n\\nAre you sure?"] = "Los canales seleccionados se eliminarán!\\n\\nTodo lo publicado por estos canales en este sitio se borrarán definitivamente!\\n\\n¿Está seguro de querer hacerlo?";
+App::$strings["The channel {0} will be deleted!\\n\\nEverything that was posted in this channel on this site will be permanently deleted!\\n\\nAre you sure?"] = "El canal {0} va a ser eliminado!\\n\\nTodo lo publicado por el canal en este sitio se borrará definitivamente!\\n\\n¿Está seguro de querer hacerlo?";
+App::$strings["Update has been marked successful"] = "La actualización ha sido marcada como exitosa";
+App::$strings["Executing %s failed. Check system logs."] = "La ejecución de %s ha fallado. Mirar en los informes del sistema.";
+App::$strings["Update %s was successfully applied."] = "La actualización de %s se ha realizado exitosamente.";
+App::$strings["Update %s did not return a status. Unknown if it succeeded."] = "La actualización de %s no ha devuelto ningún estado. No se sabe si ha tenido éxito.";
+App::$strings["Update function %s could not be found."] = "No se encuentra la función de actualización de %s.";
+App::$strings["No failed updates."] = "No ha fallado ninguna actualización.";
+App::$strings["Failed Updates"] = "Han fallado las actualizaciones";
+App::$strings["Mark success (if update was manually applied)"] = "Marcar como exitosa (si la actualización se ha hecho manualmente)";
+App::$strings["Attempt to execute this update step automatically"] = "Intentar ejecutar este paso de actualización automáticamente";
+App::$strings["Off"] = "Desactivado";
+App::$strings["On"] = "Activado";
+App::$strings["Lock feature %s"] = "Bloquear la funcionalidad %s";
+App::$strings["Manage Additional Features"] = "Gestionar las funcionalidades";
+App::$strings["Log settings updated."] = "Actualizado el informe de configuraciones.";
+App::$strings["Logs"] = "Informes";
+App::$strings["Clear"] = "Vaciar";
+App::$strings["Debugging"] = "Depuración";
+App::$strings["Log file"] = "Fichero de informe";
+App::$strings["Must be writable by web server. Relative to your top-level webserver directory."] = "Debe tener permisos de escritura por el servidor web. La ruta es relativa al directorio web principal.";
+App::$strings["Log level"] = "Nivel de depuración";
+App::$strings["Item not found."] = "Elemento no encontrado.";
+App::$strings["Plugin %s disabled."] = "Extensión %s desactivada.";
+App::$strings["Plugin %s enabled."] = "Extensión %s activada.";
+App::$strings["Disable"] = "Desactivar";
+App::$strings["Enable"] = "Activar";
+App::$strings["Plugins"] = "Extensiones (plugins)";
+App::$strings["Toggle"] = "Cambiar";
+App::$strings["Settings"] = "Ajustes";
+App::$strings["Author: "] = "Autor:";
+App::$strings["Maintainer: "] = "Mantenedor:";
+App::$strings["Minimum project version: "] = "Versión mínima del proyecto:";
+App::$strings["Maximum project version: "] = "Versión máxima del proyecto:";
+App::$strings["Minimum PHP version: "] = "Versión mínima de PHP:";
+App::$strings["Compatible Server Roles: "] = "Configuraciones compatibles con este servidor:";
+App::$strings["Requires: "] = "Se requiere:";
+App::$strings["Disabled - version incompatibility"] = "Deshabilitado - versiones incompatibles";
+App::$strings["Enter the public git repository URL of the plugin repo."] = "Escriba la URL pública del repositorio git del plugin.";
+App::$strings["Plugin repo git URL"] = "URL del repositorio git del plugin";
+App::$strings["Custom repo name"] = "Nombre personalizado del repositorio";
+App::$strings["(optional)"] = "(opcional)";
+App::$strings["Download Plugin Repo"] = "Descargar el repositorio";
+App::$strings["Install new repo"] = "Instalar un nuevo repositorio";
+App::$strings["Install"] = "Instalar";
+App::$strings["Cancel"] = "Cancelar";
+App::$strings["Manage Repos"] = "Gestionar los repositorios";
+App::$strings["Installed Plugin Repositories"] = "Repositorios de los plugins instalados";
+App::$strings["Install a New Plugin Repository"] = "Instalar un nuevo repositorio de plugins";
+App::$strings["Update"] = "Actualizar";
+App::$strings["Switch branch"] = "Cambiar la rama";
+App::$strings["Remove"] = "Eliminar";
+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";
+App::$strings["Input type"] = "Tipo de entrada";
+App::$strings["Field Name"] = "Nombre del campo";
+App::$strings["Label on profile pages"] = "Etiqueta a mostrar en la página del perfil";
+App::$strings["Help text"] = "Texto de ayuda";
+App::$strings["Additional info (optional)"] = "Información adicional (opcional)";
+App::$strings["Save"] = "Guardar";
+App::$strings["Field definition not found"] = "Definición del campo no encontrada";
+App::$strings["Edit Profile Field"] = "Modificar el campo del perfil";
+App::$strings["Profile Fields"] = "Campos del perfil";
+App::$strings["Basic Profile Fields"] = "Campos básicos del perfil";
+App::$strings["Advanced Profile Fields"] = "Campos avanzados del perfil";
+App::$strings["(In addition to basic fields)"] = "(Además de los campos básicos)";
+App::$strings["All available fields"] = "Todos los campos disponibles";
+App::$strings["Custom Fields"] = "Campos personalizados";
+App::$strings["Create Custom Field"] = "Crear un campo personalizado";
+App::$strings["Queue Statistics"] = "Estadísticas de la cola";
+App::$strings["Total Entries"] = "Total de entradas";
+App::$strings["Priority"] = "Prioridad";
+App::$strings["Destination URL"] = "Dirección de destino";
+App::$strings["Mark hub permanently offline"] = "Marcar el servidor como permanentemente fuera de línea";
+App::$strings["Empty queue for this hub"] = "Vaciar la cola para este servidor";
+App::$strings["Last known contact"] = "Último contacto conocido";
+App::$strings["By default, unfiltered HTML is allowed in embedded media. This is inherently insecure."] = "De forma predeterminada, el HTML sin filtrar está permitido en el contenido multimedia incorporado en una publicación. Esto es siempre inseguro.";
+App::$strings["The recommended setting is to only allow unfiltered HTML from the following sites:"] = "La configuración recomendada es que sólo se permita HTML sin filtrar desde los siguientes sitios: ";
+App::$strings["https://youtube.com/<br />https://www.youtube.com/<br />https://youtu.be/<br />https://vimeo.com/<br />https://soundcloud.com/<br />"] = "https://youtube.com/<br />https://www.youtube.com/<br />https://youtu.be/<br />https://vimeo.com/<br />https://soundcloud.com/<br />";
+App::$strings["All other embedded content will be filtered, <strong>unless</strong> embedded content from that site is explicitly blocked."] = "El resto del contenido incrustado se filtrará, <strong>excepto</ strong> si el contenido incorporado desde ese sitio está bloqueado de forma explícita.";
+App::$strings["Security"] = "Seguridad";
+App::$strings["Block public"] = "Bloquear páginas públicas";
+App::$strings["Check to block public access to all otherwise public personal pages on this site unless you are currently authenticated."] = "Habilitar para impedir ver las páginas personales de este sitio a quien no esté actualmente autenticado.";
+App::$strings["Set \"Transport Security\" HTTP header"] = "Habilitar \"Seguridad de transporte\" (\"Transport Security\") en la cabecera HTTP";
+App::$strings["Set \"Content Security Policy\" HTTP header"] = "Habilitar la \"Política de seguridad del contenido\" (\"Content Security Policy\") en la cabecera HTTP";
+App::$strings["Allowed email domains"] = "Se aceptan dominios de correo electrónico";
+App::$strings["Comma separated list of domains which are allowed in email addresses for registrations to this site. Wildcards are accepted. Empty to allow any domains"] = "Lista separada por comas de los dominios de los que se acepta una dirección de correo electrónico para registros en este sitio. Se permiten comodines. Dejar en claro para aceptar cualquier dominio. ";
+App::$strings["Not allowed email domains"] = "No se permiten dominios de correo electrónico";
+App::$strings["Comma separated list of domains which are not allowed in email addresses for registrations to this site. Wildcards are accepted. Empty to allow any domains, unless allowed domains have been defined."] = "Lista separada por comas de los dominios de los que no se acepta una dirección de correo electrónico para registros en este sitio. Se permiten comodines. Dejar en claro para no aceptar cualquier dominio, excepto los que se hayan autorizado.";
+App::$strings["Allow communications only from these sites"] = "Permitir la comunicación solo desde estos sitios";
+App::$strings["One site per line. Leave empty to allow communication from anywhere by default"] = "Un sitio por línea. Dejar en blanco para permitir por defecto la comunicación desde cualquiera";
+App::$strings["Block communications from these sites"] = "Bloquear la comunicación desde estos sitios";
+App::$strings["Allow communications only from these channels"] = "Permitir la comunicación solo desde estos canales";
+App::$strings["One channel (hash) per line. Leave empty to allow from any channel by default"] = "Un canal (hash) por línea. Dejar en blanco para permitir por defecto la comunicación desde cualquiera";
+App::$strings["Block communications from these channels"] = "Bloquear la comunicación desde estos canales";
+App::$strings["Only allow embeds from secure (SSL) websites and links."] = "Sólo se permite contenido multimedia incorporado desde sitios y enlaces seguros (SSL).";
+App::$strings["Allow unfiltered embedded HTML content only from these domains"] = "Permitir contenido HTML sin filtrar sólo desde estos dominios ";
+App::$strings["One site per line. By default embedded content is filtered."] = "Un sitio por línea. El contenido incorporado se filtra de forma predeterminada.";
+App::$strings["Block embedded HTML from these domains"] = "Bloquear contenido con HTML incorporado desde estos dominios";
+App::$strings["Site settings updated."] = "Ajustes del sitio actualizados.";
+App::$strings["Default"] = "Predeterminado";
+App::$strings["mobile"] = "móvil";
+App::$strings["experimental"] = "experimental";
+App::$strings["unsupported"] = "no soportado";
+App::$strings["No"] = "No";
+App::$strings["Yes - with approval"] = "Sí - con aprobación";
+App::$strings["Yes"] = "Sí";
+App::$strings["My site is not a public server"] = "Mi sitio no es un servidor público";
+App::$strings["My site has paid access only"] = "Mi sitio es un servicio de pago";
+App::$strings["My site has free access only"] = "Mi sitio es un servicio gratuito";
+App::$strings["My site offers free accounts with optional paid upgrades"] = "Mi sitio ofrece cuentas gratuitas con opciones extra de pago";
+App::$strings["Basic/Minimal Social Networking"] = "Red social básica o mínima";
+App::$strings["Standard Configuration (default)"] = "Configuración estándar (por defecto)";
+App::$strings["Professional"] = "Profesional";
+App::$strings["Beginner/Basic"] = "Principiante / Básico";
+App::$strings["Novice - not skilled but willing to learn"] = "Novato: no cualificado, pero dispuesto a aprender";
+App::$strings["Intermediate - somewhat comfortable"] = "Intermedio: bastante cómodo";
+App::$strings["Advanced - very comfortable"] = "Avanzado: muy cómodo";
+App::$strings["Expert - I can write computer code"] = "Experto: puedo escribir código informático";
+App::$strings["Wizard - I probably know more than you do"] = "Asistente: probablemente sé más que tú";
+App::$strings["Site"] = "Sitio";
+App::$strings["Registration"] = "Registro";
+App::$strings["File upload"] = "Subir fichero";
+App::$strings["Policies"] = "Políticas";
+App::$strings["Advanced"] = "Avanzado";
+App::$strings["Site name"] = "Nombre del sitio";
+App::$strings["Server Configuration/Role"] = "Configuración del servidor";
+App::$strings["Site default technical skill level"] = "Nivel de habilidad técnica predeterminado del sitio";
+App::$strings["Used to provide a member experience matched to technical comfort level"] = "Se utiliza para proporcionar la experiencia de los miembros adaptada al nivel de comodidad";
+App::$strings["Lock the technical skill level setting"] = "Bloquear el ajuste del nivel de habilidad técnica";
+App::$strings["Members can set their own technical comfort level by default"] = "Los miembros pueden configurar por defecto su nivel de comodidad técnica";
+App::$strings["Banner/Logo"] = "Banner/Logo";
+App::$strings["Administrator Information"] = "Información del Administrador";
+App::$strings["Contact information for site administrators. Displayed on siteinfo page. BBCode can be used here"] = "Información de contacto de los administradores del sitio. Visible en la página \"siteinfo\". Se puede usar BBCode";
+App::$strings["System language"] = "Idioma del sistema";
+App::$strings["System theme"] = "Tema gráfico del sistema";
+App::$strings["Default system theme - may be over-ridden by user profiles - <a href='#' id='cnftheme'>change theme settings</a>"] = "Tema del sistema por defecto - se puede cambiar por cada perfil de usuario - <a href='#' id='cnftheme'>modificar los ajustes del tema</a>";
+App::$strings["Mobile system theme"] = "Tema del sistema para móviles";
+App::$strings["Theme for mobile devices"] = "Tema para dispositivos móviles";
+App::$strings["Allow Feeds as Connections"] = "Permitir contenidos RSS como conexiones";
+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["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["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["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: 'public' to show public stream, 'page/sys/home' to show a system webpage called 'home' or 'include:home.html' to include a file."] = "ejemplo: 'public' para mostrar contenido público, 'page/sys/home' para mostrar la página web definida como \"home\" o 'include:home.html' para mostrar el contenido de un fichero.";
+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";
+App::$strings["Import and allow access to public content pulled from other sites. Warning: this content is unmoderated."] = "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.";
+App::$strings["Login on Homepage"] = "Iniciar sesión en la página personal";
+App::$strings["Present a login box to visitors on the home page if no other content has been configured."] = "Presentar a los visitantes una casilla de identificación en la página de inicio, si no se ha configurado otro tipo de contenido.";
+App::$strings["Enable context help"] = "Habilitar la ayuda contextual";
+App::$strings["Display contextual help for the current page when the help button is pressed."] = "Ver la ayuda contextual para la página actual cuando se pulse el botón de Ayuda.";
+App::$strings["Directory Server URL"] = "URL del servidor de directorio";
+App::$strings["Default directory server"] = "Servidor de directorio predeterminado";
+App::$strings["Proxy user"] = "Usuario del proxy";
+App::$strings["Proxy URL"] = "Dirección del proxy";
+App::$strings["Network timeout"] = "Tiempo de espera de la red";
+App::$strings["Value is in seconds. Set to 0 for unlimited (not recommended)."] = "Valor en segundos. Poner a 0 para que no haya tiempo límite (no recomendado)";
+App::$strings["Delivery interval"] = "Intervalo de entrega";
+App::$strings["Delay background delivery processes by this many seconds to reduce system load. Recommend: 4-5 for shared hosts, 2-3 for virtual private servers. 0-1 for large dedicated servers."] = "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.";
+App::$strings["Deliveries per process"] = "Intentos de envío por proceso";
+App::$strings["Number of deliveries to attempt in a single operating system process. Adjust if necessary to tune system performance. Recommend: 1-5."] = "Numero de envíos a intentar en un único proceso del sistema operativo. Ajustar si es necesario mejorar el rendimiento. Se recomienda: 1-5.";
+App::$strings["Poll interval"] = "Intervalo máximo de tiempo entre dos mensajes sucesivos";
+App::$strings["Delay background polling processes by this many seconds to reduce system load. If 0, use delivery interval."] = "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.";
+App::$strings["Maximum Load Average"] = "Carga media máxima";
+App::$strings["Maximum system load before delivery and poll processes are deferred - default 50."] = "Carga máxima del sistema antes de que los procesos de entrega y envío se hayan retardado - por defecto, 50.";
+App::$strings["Expiration period in days for imported (grid/network) content"] = "Caducidad del contenido importado de otros sitios (en días)";
+App::$strings["0 for no expiration of imported content"] = "0 para que no caduque el contenido importado";
+App::$strings["Theme settings updated."] = "Ajustes del tema actualizados.";
+App::$strings["No themes found."] = "No se han encontrado temas.";
+App::$strings["Screenshot"] = "Instantánea de pantalla";
+App::$strings["Themes"] = "Temas";
+App::$strings["[Experimental]"] = "[Experimental]";
+App::$strings["[Unsupported]"] = "[No soportado]";
App::$strings["Photos"] = "Fotos";
App::$strings["Invalid item."] = "Elemento no válido.";
App::$strings["Channel not found."] = "Canal no encontrado.";
App::$strings["Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum."] = "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.";
App::$strings["Save to Folder:"] = "Guardar en carpeta:";
App::$strings["- select -"] = "- seleccionar -";
-App::$strings["Save"] = "Guardar";
+App::$strings["Unable to lookup recipient."] = "No se puede asociar a un destinatario.";
+App::$strings["Unable to communicate with requested channel."] = "No se puede establecer la comunicación con el canal solicitado.";
+App::$strings["Cannot verify requested channel."] = "No se puede verificar el canal solicitado.";
+App::$strings["Selected channel has private message restrictions. Send failed."] = "El canal seleccionado tiene restricciones sobre los mensajes privados. El envío falló.";
+App::$strings["Messages"] = "Mensajes";
+App::$strings["Message recalled."] = "Mensaje revocado.";
+App::$strings["Conversation removed."] = "Conversación eliminada.";
+App::$strings["Please enter a link URL:"] = "Por favor, introduzca la dirección del enlace:";
+App::$strings["Expires YYYY-MM-DD HH:MM"] = "Caduca YYYY-MM-DD HH:MM";
+App::$strings["Requested channel is not in this network"] = "El canal solicitado no existe en esta red";
+App::$strings["Send Private Message"] = "Enviar un mensaje privado";
+App::$strings["To:"] = "Para:";
+App::$strings["Subject:"] = "Asunto:";
+App::$strings["Your message:"] = "Su mensaje:";
+App::$strings["Attach file"] = "Adjuntar fichero";
+App::$strings["Insert web link"] = "Insertar enlace web";
+App::$strings["Send"] = "Enviar";
+App::$strings["Set expiration date"] = "Configurar fecha de caducidad";
+App::$strings["Encrypt text"] = "Cifrar texto";
+App::$strings["Delete message"] = "Borrar mensaje";
+App::$strings["Delivery report"] = "Informe de transmisión";
+App::$strings["Recall message"] = "Revocar el mensaje";
+App::$strings["Message has been recalled."] = "El mensaje ha sido revocado.";
+App::$strings["Delete Conversation"] = "Eliminar conversación";
+App::$strings["No secure communications available. You <strong>may</strong> be able to respond from the sender's profile page."] = "Comunicación segura no disponible. Pero <strong>puede</strong> responder desde la página del perfil del remitente.";
+App::$strings["Send Reply"] = "Responder";
+App::$strings["Your message for %s (%s):"] = "Su mensaje para %s (%s):";
+App::$strings["Blocked"] = "Bloqueadas";
+App::$strings["Ignored"] = "Ignoradas";
+App::$strings["Hidden"] = "Ocultas";
+App::$strings["Archived"] = "Archivadas";
+App::$strings["New"] = "Nuevas";
+App::$strings["All"] = "Todos/as";
+App::$strings["New Connections"] = "Nuevas conexiones";
+App::$strings["Show pending (new) connections"] = "Mostrar conexiones (nuevas) pendientes";
+App::$strings["All Connections"] = "Todas las conexiones";
+App::$strings["Show all connections"] = "Mostrar todas las conexiones";
+App::$strings["Only show blocked connections"] = "Mostrar solo las conexiones bloqueadas";
+App::$strings["Only show ignored connections"] = "Mostrar solo conexiones ignoradas";
+App::$strings["Only show archived connections"] = "Mostrar solo las conexiones archivadas";
+App::$strings["Only show hidden connections"] = "Mostrar solo las conexiones ocultas";
+App::$strings["Pending approval"] = "Pendiente de aprobación";
+App::$strings["%1\$s [%2\$s]"] = "%1\$s [%2\$s]";
+App::$strings["Edit connection"] = "Editar conexión";
+App::$strings["Delete connection"] = "Eliminar conexión";
+App::$strings["Channel address"] = "Dirección del canal";
+App::$strings["Network"] = "Red";
+App::$strings["Status"] = "Estado";
+App::$strings["Connected"] = "Conectado/a";
+App::$strings["Approve connection"] = "Aprobar esta conexión";
+App::$strings["Ignore connection"] = "Ignorar esta conexión";
+App::$strings["Ignore"] = "Ignorar";
+App::$strings["Recent activity"] = "Actividad reciente";
+App::$strings["Connections"] = "Conexiones";
+App::$strings["Search"] = "Buscar";
+App::$strings["Search your connections"] = "Buscar sus conexiones";
+App::$strings["Connections search"] = "Buscar conexiones";
+App::$strings["Find"] = "Encontrar";
+App::$strings["Image uploaded but image cropping failed."] = "Imagen actualizada, pero el recorte de la imagen ha fallado. ";
+App::$strings["Cover Photos"] = "Imágenes de portada del perfil";
+App::$strings["Image resize failed."] = "El ajuste del tamaño de la imagen ha fallado.";
+App::$strings["Unable to process image"] = "No ha sido posible procesar la imagen";
+App::$strings["Image upload failed."] = "La carga de la imagen ha fallado.";
+App::$strings["Unable to process image."] = "No ha sido posible procesar la imagen.";
+App::$strings["female"] = "mujer";
+App::$strings["%1\$s updated her %2\$s"] = "%1\$s ha actualizado su %2\$s";
+App::$strings["male"] = "hombre";
+App::$strings["%1\$s updated his %2\$s"] = "%1\$s ha actualizado su %2\$s";
+App::$strings["%1\$s updated their %2\$s"] = "%1\$s ha actualizado su %2\$s";
+App::$strings["cover photo"] = "Imagen de portada del perfil";
+App::$strings["Photo not available."] = "Foto no disponible.";
+App::$strings["Upload File:"] = "Subir fichero:";
+App::$strings["Select a profile:"] = "Seleccionar un perfil:";
+App::$strings["Upload Cover Photo"] = "Subir imagen de portada del perfil";
+App::$strings["or"] = "o";
+App::$strings["skip this step"] = "Omitir este paso";
+App::$strings["select a photo from your photo albums"] = "Seleccione una foto de sus álbumes de fotos";
+App::$strings["Crop Image"] = "Recortar imagen";
+App::$strings["Please adjust the image cropping for optimum viewing."] = "Por favor ajuste el recorte de la imagen para una visión óptima.";
+App::$strings["Done Editing"] = "Edición completada";
+App::$strings["Edit post"] = "Editar la entrada";
App::$strings["Could not access contact record."] = "No se ha podido acceder al registro de contacto.";
App::$strings["Could not locate selected profile."] = "No se ha podido localizar el perfil seleccionado.";
App::$strings["Connection updated."] = "Conexión actualizada.";
App::$strings["Failed to update connection record."] = "Error al actualizar el registro de la conexión.";
App::$strings["is now connected to"] = "ahora está conectado/a";
-App::$strings["No"] = "No";
-App::$strings["Yes"] = "Sí";
App::$strings["Could not access address book record."] = "No se pudo acceder al registro en su libreta de direcciones.";
App::$strings["Refresh failed - channel is currently unavailable."] = "Recarga fallida - no se puede encontrar el canal en este momento.";
App::$strings["Unable to set address book parameters."] = "No ha sido posible establecer los parámetros de la libreta de direcciones.";
@@ -201,12 +459,9 @@ App::$strings["Refresh Permissions"] = "Recargar los permisos";
App::$strings["Fetch updated permissions"] = "Obtener los permisos actualizados";
App::$strings["Recent Activity"] = "Actividad reciente";
App::$strings["View recent posts and comments"] = "Ver publicaciones y comentarios recientes";
-App::$strings["Unblock"] = "Desbloquear";
-App::$strings["Block"] = "Bloquear";
App::$strings["Block (or Unblock) all communications with this connection"] = "Bloquear (o desbloquear) todas las comunicaciones con esta conexión";
App::$strings["This connection is blocked!"] = "¡Esta conexión está bloqueada!";
App::$strings["Unignore"] = "Dejar de ignorar";
-App::$strings["Ignore"] = "Ignorar";
App::$strings["Ignore (or Unignore) all inbound communications from this connection"] = "Ignorar (o dejar de ignorar) todas las comunicaciones entrantes de esta conexión";
App::$strings["This connection is ignored!"] = "¡Esta conexión es ignorada!";
App::$strings["Unarchive"] = "Desarchivar";
@@ -222,7 +477,6 @@ App::$strings["Me"] = "Yo";
App::$strings["Family"] = "Familia";
App::$strings["Friends"] = "Amigos/as";
App::$strings["Acquaintances"] = "Conocidos/as";
-App::$strings["All"] = "Todos/as";
App::$strings["Approve this connection"] = "Aprobar esta conexión";
App::$strings["Accept connection to allow communication"] = "Aceptar la conexión para permitir la comunicación";
App::$strings["Set Affinity"] = "Ajustar la afinidad";
@@ -238,6 +492,7 @@ App::$strings["Available locations:"] = "Ubicaciones disponibles:";
App::$strings["The permissions indicated on this page will be applied to all new connections."] = "Los permisos indicados en esta página serán aplicados en todas las nuevas conexiones.";
App::$strings["Connection Tools"] = "Gestión de las conexiones";
App::$strings["Slide to adjust your degree of friendship"] = "Deslizar para ajustar el grado de amistad";
+App::$strings["Rating"] = "Valoración";
App::$strings["Slide to adjust your rating"] = "Deslizar para ajustar su valoración";
App::$strings["Optionally explain your rating"] = "Opcionalmente, puede explicar su valoración";
App::$strings["Custom Filter"] = "Filtro personalizado";
@@ -254,106 +509,6 @@ App::$strings["Individual Permissions"] = "Permisos individuales";
App::$strings["Some permissions may be inherited from your channel's <a href=\"settings\"><strong>privacy settings</strong></a>, which have higher priority than individual settings. You can <strong>not</strong> change those settings here."] = "Algunos permisos pueden ser heredados de los <a href=\"settings\"><strong>ajustes de privacidad</strong></a> de sus canales, los cuales tienen una prioridad más alta que los ajustes individuales. <strong>No</strong> puede cambiar estos ajustes aquí.";
App::$strings["Some permissions may be inherited from your channel's <a href=\"settings\"><strong>privacy settings</strong></a>, which have higher priority than individual settings. You can change those settings here but they wont have any impact unless the inherited setting changes."] = "Algunos permisos pueden ser heredados de los <a href=\"settings\"><strong>ajustes de privacidad</strong></a> de sus canales, los cuales tienen una prioridad más alta que los ajustes individuales. Puede cambiar estos ajustes aquí, pero no tendrán ningún consecuencia hasta que cambie los ajustes heredados.";
App::$strings["Last update:"] = "Última actualización:";
-App::$strings["Blocked"] = "Bloqueadas";
-App::$strings["Ignored"] = "Ignoradas";
-App::$strings["Hidden"] = "Ocultas";
-App::$strings["Archived"] = "Archivadas";
-App::$strings["New"] = "Nuevas";
-App::$strings["New Connections"] = "Nuevas conexiones";
-App::$strings["Show pending (new) connections"] = "Mostrar conexiones (nuevas) pendientes";
-App::$strings["All Connections"] = "Todas las conexiones";
-App::$strings["Show all connections"] = "Mostrar todas las conexiones";
-App::$strings["Only show blocked connections"] = "Mostrar solo las conexiones bloqueadas";
-App::$strings["Only show ignored connections"] = "Mostrar solo conexiones ignoradas";
-App::$strings["Only show archived connections"] = "Mostrar solo las conexiones archivadas";
-App::$strings["Only show hidden connections"] = "Mostrar solo las conexiones ocultas";
-App::$strings["Pending approval"] = "Pendiente de aprobación";
-App::$strings["%1\$s [%2\$s]"] = "%1\$s [%2\$s]";
-App::$strings["Edit connection"] = "Editar conexión";
-App::$strings["Delete connection"] = "Eliminar conexión";
-App::$strings["Channel address"] = "Dirección del canal";
-App::$strings["Network"] = "Red";
-App::$strings["Status"] = "Estado";
-App::$strings["Connected"] = "Conectado/a";
-App::$strings["Approve connection"] = "Aprobar esta conexión";
-App::$strings["Approve"] = "Aprobar";
-App::$strings["Ignore connection"] = "Ignorar esta conexión";
-App::$strings["Recent activity"] = "Actividad reciente";
-App::$strings["Connections"] = "Conexiones";
-App::$strings["Search"] = "Buscar";
-App::$strings["Search your connections"] = "Buscar sus conexiones";
-App::$strings["Connections search"] = "Buscar conexiones";
-App::$strings["Image uploaded but image cropping failed."] = "Imagen actualizada, pero el recorte de la imagen ha fallado. ";
-App::$strings["Cover Photos"] = "Imágenes de portada del perfil";
-App::$strings["Image resize failed."] = "El ajuste del tamaño de la imagen ha fallado.";
-App::$strings["Unable to process image"] = "No ha sido posible procesar la imagen";
-App::$strings["Image upload failed."] = "La carga de la imagen ha fallado.";
-App::$strings["Unable to process image."] = "No ha sido posible procesar la imagen.";
-App::$strings["female"] = "mujer";
-App::$strings["%1\$s updated her %2\$s"] = "%1\$s ha actualizado su %2\$s";
-App::$strings["male"] = "hombre";
-App::$strings["%1\$s updated his %2\$s"] = "%1\$s ha actualizado su %2\$s";
-App::$strings["%1\$s updated their %2\$s"] = "%1\$s ha actualizado su %2\$s";
-App::$strings["cover photo"] = "Imagen de portada del perfil";
-App::$strings["Photo not available."] = "Foto no disponible.";
-App::$strings["Upload File:"] = "Subir fichero:";
-App::$strings["Select a profile:"] = "Seleccionar un perfil:";
-App::$strings["Upload Cover Photo"] = "Subir imagen de portada del perfil";
-App::$strings["or"] = "o";
-App::$strings["skip this step"] = "Omitir este paso";
-App::$strings["select a photo from your photo albums"] = "Seleccione una foto de sus álbumes de fotos";
-App::$strings["Crop Image"] = "Recortar imagen";
-App::$strings["Please adjust the image cropping for optimum viewing."] = "Por favor ajuste el recorte de la imagen para una visión óptima.";
-App::$strings["Done Editing"] = "Edición completada";
-App::$strings["Your service plan only allows %d channels."] = "Su paquete de servicios solo permite %d canales.";
-App::$strings["Nothing to import."] = "No hay nada para importar.";
-App::$strings["Unable to download data from old server"] = "No se han podido descargar datos de su antiguo servidor";
-App::$strings["Imported file is empty."] = "El fichero importado está vacío.";
-App::$strings["Warning: Database versions differ by %1\$d updates."] = "Atención: Las versiones de la base de datos difieren en %1\$d actualizaciones.";
-App::$strings["Cloned channel not found. Import failed."] = "No se ha podido importar el canal porque el canal clonado no se ha encontrado.";
-App::$strings["No channel. Import failed."] = "No hay canal. La importación ha fallado";
-App::$strings["Import completed."] = "Importación completada.";
-App::$strings["You must be logged in to use this feature."] = "Debe estar registrado para poder usar esta funcionalidad.";
-App::$strings["Import Channel"] = "Importar canal";
-App::$strings["Use this form to import an existing channel from a different server/hub. You may retrieve the channel identity from the old server/hub via the network or provide an export file."] = "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.";
-App::$strings["File to Upload"] = "Fichero para subir";
-App::$strings["Or provide the old server/hub details"] = "O proporcione los detalles de su antiguo servidor/hub";
-App::$strings["Your old identity address (xyz@example.com)"] = "Su identidad en el antiguo servidor (canal@ejemplo.com)";
-App::$strings["Your old login email address"] = "Su antigua dirección de correo electrónico";
-App::$strings["Your old login password"] = "Su antigua contraseña";
-App::$strings["For either option, please choose whether to make this hub your new primary address, or whether your old location should continue this role. You will be able to post from either location, but only one can be marked as the primary location for files, photos, and media."] = "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.";
-App::$strings["Make this hub my primary location"] = "Convertir este servidor en mi ubicación primaria";
-App::$strings["Import existing posts if possible (experimental - limited by available memory"] = "Importar el contenido publicado si es posible (experimental - limitado por la memoria disponible";
-App::$strings["This process may take several minutes to complete. Please submit the form only once and leave this page open until finished."] = "Este proceso puede tardar varios minutos en completarse. Por favor envíe el formulario una sola vez y mantenga esta página abierta hasta que termine.";
-App::$strings["Unable to lookup recipient."] = "No se puede asociar a un destinatario.";
-App::$strings["Unable to communicate with requested channel."] = "No se puede establecer la comunicación con el canal solicitado.";
-App::$strings["Cannot verify requested channel."] = "No se puede verificar el canal solicitado.";
-App::$strings["Selected channel has private message restrictions. Send failed."] = "El canal seleccionado tiene restricciones sobre los mensajes privados. El envío falló.";
-App::$strings["Messages"] = "Mensajes";
-App::$strings["Message recalled."] = "Mensaje revocado.";
-App::$strings["Conversation removed."] = "Conversación eliminada.";
-App::$strings["Please enter a link URL:"] = "Por favor, introduzca la dirección del enlace:";
-App::$strings["Expires YYYY-MM-DD HH:MM"] = "Caduca YYYY-MM-DD HH:MM";
-App::$strings["Requested channel is not in this network"] = "El canal solicitado no existe en esta red";
-App::$strings["Send Private Message"] = "Enviar un mensaje privado";
-App::$strings["To:"] = "Para:";
-App::$strings["Subject:"] = "Asunto:";
-App::$strings["Your message:"] = "Su mensaje:";
-App::$strings["Attach file"] = "Adjuntar fichero";
-App::$strings["Insert web link"] = "Insertar enlace web";
-App::$strings["Send"] = "Enviar";
-App::$strings["Set expiration date"] = "Configurar fecha de caducidad";
-App::$strings["Encrypt text"] = "Cifrar texto";
-App::$strings["Delete message"] = "Borrar mensaje";
-App::$strings["Delivery report"] = "Informe de transmisión";
-App::$strings["Recall message"] = "Revocar el mensaje";
-App::$strings["Message has been recalled."] = "El mensaje ha sido revocado.";
-App::$strings["Delete Conversation"] = "Eliminar conversación";
-App::$strings["No secure communications available. You <strong>may</strong> be able to respond from the sender's profile page."] = "Comunicación segura no disponible. Pero <strong>puede</strong> responder desde la página del perfil del remitente.";
-App::$strings["Send Reply"] = "Responder";
-App::$strings["Your message for %s (%s):"] = "Su mensaje para %s (%s):";
-App::$strings["This site is not a directory server"] = "Este sitio no es un servidor de directorio";
-App::$strings["This directory server requires an access token"] = "El servidor de este directorio necesita un \"token\" de acceso";
App::$strings["Item not found"] = "Elemento no encontrado";
App::$strings["Block Name"] = "Nombre del bloque";
App::$strings["Title (optional)"] = "Título (opcional)";
@@ -363,21 +518,33 @@ App::$strings["Layout Description (Optional)"] = "Descripción de la plantilla (
App::$strings["Edit Layout"] = "Modificar la plantilla";
App::$strings["Page link"] = "Enlace de la página";
App::$strings["Edit Webpage"] = "Editar la página web";
-App::$strings["Room not found"] = "Sala no encontrada";
-App::$strings["Leave Room"] = "Abandonar la sala";
-App::$strings["Delete Room"] = "Eliminar esta sala";
-App::$strings["I am away right now"] = "Estoy ausente momentáneamente";
-App::$strings["I am online"] = "Estoy conectado/a";
-App::$strings["Bookmark this room"] = "Añadir esta sala a Marcadores";
-App::$strings["Feature disabled."] = "Funcionalidad deshabilitada.";
-App::$strings["New Chatroom"] = "Nueva sala de chat";
-App::$strings["Chatroom name"] = "Nombre de la sala de chat";
-App::$strings["Expiration of chats (minutes)"] = "Caducidad de los mensajes en los chats (en minutos)";
-App::$strings["%1\$s's Chatrooms"] = "Salas de chat de %1\$s";
-App::$strings["No chatrooms available"] = "No hay salas de chat disponibles";
-App::$strings["Create New"] = "Crear";
-App::$strings["Expiration"] = "Caducidad";
-App::$strings["min"] = "min";
+App::$strings["Unable to update menu."] = "No se puede actualizar el menú.";
+App::$strings["Unable to create menu."] = "No se puede crear el menú.";
+App::$strings["Menu Name"] = "Nombre del menú";
+App::$strings["Unique name (not visible on webpage) - required"] = "Nombre único (no será visible en la página web) - requerido";
+App::$strings["Menu Title"] = "Título del menú";
+App::$strings["Visible on webpage - leave empty for no title"] = "Visible en la página web - no ponga nada si no desea un título";
+App::$strings["Allow Bookmarks"] = "Permitir marcadores";
+App::$strings["Menu may be used to store saved bookmarks"] = "El menú se puede usar para guardar marcadores";
+App::$strings["Submit and proceed"] = "Enviar y proceder";
+App::$strings["Menus"] = "Menús";
+App::$strings["Drop"] = "Eliminar";
+App::$strings["Created"] = "Creado";
+App::$strings["Edited"] = "Editado";
+App::$strings["Bookmarks allowed"] = "Marcadores permitidos";
+App::$strings["Delete this menu"] = "Borrar este menú";
+App::$strings["Edit menu contents"] = "Editar los contenidos del menú";
+App::$strings["Edit this menu"] = "Modificar este menú";
+App::$strings["Menu could not be deleted."] = "El menú no puede ser eliminado.";
+App::$strings["Menu not found."] = "Menú no encontrado";
+App::$strings["Edit Menu"] = "Modificar el menú";
+App::$strings["Add or remove entries to this menu"] = "Añadir o quitar entradas en este menú";
+App::$strings["Menu name"] = "Nombre del menú";
+App::$strings["Must be unique, only seen by you"] = "Debe ser único, solo será visible para usted";
+App::$strings["Menu title"] = "Título del menú";
+App::$strings["Menu title as seen by others"] = "El título del menú tal como será visto por los demás";
+App::$strings["Allow bookmarks"] = "Permitir marcadores";
+App::$strings["Not found."] = "No encontrado.";
App::$strings["App installed."] = "Aplicación instalada.";
App::$strings["Malformed app."] = "Aplicación con errores";
App::$strings["Embed code"] = "Código incorporado";
@@ -393,18 +560,30 @@ App::$strings["Categories (optional, comma separated list)"] = "Temas (opcional,
App::$strings["Version ID"] = "Versión";
App::$strings["Price of app"] = "Precio de la aplicación";
App::$strings["Location (URL) to purchase app"] = "Dirección (URL) donde adquirir la aplicación";
-App::$strings["Documentation Search"] = "Búsqueda de Documentación";
-App::$strings["Help:"] = "Ayuda:";
-App::$strings["Help"] = "Ayuda";
-App::$strings["\$Projectname Documentation"] = "Documentación de \$Projectname";
+App::$strings["Public Hubs"] = "Servidores públicos";
+App::$strings["The listed hubs allow public registration for the \$Projectname network. All hubs in the network are interlinked so membership on any of them conveys membership in the network as a whole. Some hubs may require subscription or provide tiered service plans. The hub itself <strong>may</strong> provide additional details."] = "Los sitios listados permiten el registro público en la red \$Projectname. Todos los sitios de la red están vinculados entre sí, por lo que sus miembros, en ninguno de ellos, indican la pertenencia a la red en su conjunto. Algunos sitios pueden requerir suscripción o proporcionar planes de servicio por niveles. Los mismos hubs <strong>pueden</strong> proporcionar detalles adicionales.";
+App::$strings["Hub URL"] = "Dirección del hub";
+App::$strings["Access Type"] = "Tipo de acceso";
+App::$strings["Registration Policy"] = "Normas de registro";
+App::$strings["Stats"] = "Estadísticas";
+App::$strings["Software"] = "Software";
+App::$strings["Ratings"] = "Valoraciones";
+App::$strings["Rate"] = "Valorar";
+App::$strings["Location"] = "Ubicación";
+App::$strings["View"] = "Ver";
App::$strings["Item not available."] = "Elemento no disponible";
+App::$strings["Authorize application connection"] = "Autorizar una conexión de aplicación";
+App::$strings["Return to your app and insert this Security Code:"] = "Volver a su aplicación e introducir este código de seguridad:";
+App::$strings["Please login to continue."] = "Por favor inicie sesión para continuar.";
+App::$strings["Do you want to authorize this application to access your posts and contacts, and/or create new posts for you?"] = "¿Desea autorizar a esta aplicación a acceder a sus publicaciones y contactos, y/o crear nuevas publicaciones por usted?";
+App::$strings["Share content from Firefox to \$Projectname"] = "Compartir contenido desde Firefox a \$Projectname";
+App::$strings["Activate the Firefox \$Projectname provider"] = "Servicio de compartición de Firefox: activar el proveedor \$Projectname ";
App::$strings["Layout updated."] = "Plantilla actualizada.";
+App::$strings["Feature disabled."] = "Funcionalidad deshabilitada.";
App::$strings["Edit System Page Description"] = "Editor del Sistema de Descripción de Páginas";
App::$strings["Layout not found."] = "Plantilla no encontrada";
App::$strings["Module Name:"] = "Nombre del módulo:";
App::$strings["Layout Help"] = "Ayuda para el diseño de plantillas de página";
-App::$strings["Share content from Firefox to \$Projectname"] = "Compartir contenido desde Firefox a \$Projectname";
-App::$strings["Activate the Firefox \$Projectname provider"] = "Servicio de compartición de Firefox: activar el proveedor \$Projectname ";
App::$strings["\$Projectname"] = "\$Projectname";
App::$strings["Welcome to %s"] = "Bienvenido a %s";
App::$strings["Remote privacy information not available."] = "La información privada remota no está disponible.";
@@ -412,6 +591,7 @@ App::$strings["Visible to:"] = "Visible para:";
App::$strings["Permission Denied."] = "Permiso denegado";
App::$strings["File not found."] = "Fichero no encontrado.";
App::$strings["Edit file permissions"] = "Modificar los permisos del fichero";
+App::$strings["Permissions"] = "Permisos";
App::$strings["Set/edit permissions"] = "Establecer/editar los permisos";
App::$strings["Include all files and sub folders"] = "Incluir todos los ficheros y subcarpetas";
App::$strings["Return to file list"] = "Volver a la lista de ficheros";
@@ -420,6 +600,118 @@ App::$strings["Copy/paste this URL to link file from a web page"] = "Copiar/pega
App::$strings["Share this file"] = "Compartir este fichero";
App::$strings["Show URL to this file"] = "Mostrar la dirección de este fichero";
App::$strings["Notify your contacts about this file"] = "Avisar a sus contactos sobre este fichero";
+App::$strings["Continue"] = "Continuar";
+App::$strings["Premium Channel Setup"] = "Configuración del canal premium";
+App::$strings["Enable premium channel connection restrictions"] = "Habilitar restricciones de conexión del canal premium";
+App::$strings["Please enter your restrictions or conditions, such as paypal receipt, usage guidelines, etc."] = "Por favor introduzca sus restricciones o condiciones, como recibo de paypal, normas de uso, etc.";
+App::$strings["This channel may require additional steps or acknowledgement of the following conditions prior to connecting:"] = "Este canal puede requerir antes de conectar unos pasos adicionales o el conocimiento de las siguientes condiciones:";
+App::$strings["Potential connections will then see the following text before proceeding:"] = "Las posibles conexiones verán, por tanto, el siguiente texto antes de proceder:";
+App::$strings["By continuing, I certify that I have complied with any instructions provided on this page."] = "Al continuar, certifico que he cumplido con todas las instrucciones proporcionadas en esta página.";
+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["You have created %1$.0f of %2$.0f allowed channels."] = "Ha creado %1$.0f de %2$.0f canales permitidos.";
+App::$strings["Create a new channel"] = "Crear un nuevo canal";
+App::$strings["Create New"] = "Crear";
+App::$strings["Channel Manager"] = "Administración de canales";
+App::$strings["Current Channel"] = "Canal actual";
+App::$strings["Switch to one of your channels by selecting it."] = "Cambiar a uno de sus canales seleccionándolo.";
+App::$strings["Default Channel"] = "Canal principal";
+App::$strings["Make Default"] = "Convertir en predeterminado";
+App::$strings["%d new messages"] = "%d mensajes nuevos";
+App::$strings["%d new introductions"] = "%d nuevas isolicitudes de conexión";
+App::$strings["Delegated Channel"] = "Canal delegado";
+App::$strings["Privacy group created."] = "El grupo de canales ha sido creado.";
+App::$strings["Could not create privacy group."] = "No se puede crear el grupo de canales";
+App::$strings["Privacy group not found."] = "Grupo de canales no encontrado.";
+App::$strings["Privacy group updated."] = "Grupo de canales actualizado.";
+App::$strings["Create a group of channels."] = "Crear un grupo de canales.";
+App::$strings["Privacy group name: "] = "Nombre del grupo de canales:";
+App::$strings["Members are visible to other channels"] = "Los miembros son visibles para otros canales";
+App::$strings["Privacy group removed."] = "Grupo de canales eliminado.";
+App::$strings["Unable to remove privacy group."] = "No se puede eliminar el grupo de canales.";
+App::$strings["Privacy group editor"] = "Editor de grupos de canales";
+App::$strings["Members"] = "Miembros";
+App::$strings["All Connected Channels"] = "Todos los canales conectados";
+App::$strings["Click on a channel to add or remove."] = "Haga clic en un canal para agregarlo o quitarlo.";
+App::$strings["Invalid message"] = "Mensaje no válido";
+App::$strings["no results"] = "sin resultados";
+App::$strings["channel sync processed"] = "se ha realizado la sincronización del canal";
+App::$strings["queued"] = "encolado";
+App::$strings["posted"] = "enviado";
+App::$strings["accepted for delivery"] = "aceptado para el envío";
+App::$strings["updated"] = "actualizado";
+App::$strings["update ignored"] = "actualización ignorada";
+App::$strings["permission denied"] = "permiso denegado";
+App::$strings["recipient not found"] = "destinatario no encontrado";
+App::$strings["mail recalled"] = "mensaje de correo revocado";
+App::$strings["duplicate mail received"] = "se ha recibido mensaje duplicado";
+App::$strings["mail delivered"] = "correo enviado";
+App::$strings["Delivery report for %1\$s"] = "Informe de entrega para %1\$s";
+App::$strings["Options"] = "Opciones";
+App::$strings["Redeliver"] = "Volver a enviar";
+App::$strings["webpage"] = "página web";
+App::$strings["block"] = "bloque";
+App::$strings["layout"] = "plantilla";
+App::$strings["menu"] = "menú";
+App::$strings["%s element installed"] = "%s elemento instalado";
+App::$strings["%s element installation failed"] = "Elemento con instalación fallida: %s";
+App::$strings["Import completed"] = "Importación completada";
+App::$strings["Import Items"] = "Importar elementos";
+App::$strings["Use this form to import existing posts and content from an export file."] = "Utilice este formulario para importar entradas existentes y contenido desde un archivo de exportación.";
+App::$strings["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["%s : Message delivery failed."] = "%s : Falló el envío del mensaje.";
+App::$strings["%d message sent."] = array(
+ 0 => "%d mensajes enviados.",
+ 1 => "%d mensajes enviados.",
+);
+App::$strings["You have no more invitations available"] = "No tiene más invitaciones disponibles";
+App::$strings["Send invitations"] = "Enviar invitaciones";
+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["Location not found."] = "Dirección no encontrada.";
+App::$strings["Location lookup failed."] = "Ha fallado la búsqueda de la dirección.";
+App::$strings["Please select another location to become primary before removing the primary location."] = "Por favor, seleccione una copia de su canal (un clon) para convertirlo en primario antes de eliminar su canal principal.";
+App::$strings["Syncing locations"] = "Sincronizando ubicaciones";
+App::$strings["No locations found."] = "No encontrada ninguna dirección.";
+App::$strings["Manage Channel Locations"] = "Gestionar las direcciones del canal";
+App::$strings["Primary"] = "Primario";
+App::$strings["Sync Now"] = "Sincronizar ahora";
+App::$strings["Please wait several minutes between consecutive operations."] = "Por favor, espere algunos minutos entre operaciones consecutivas.";
+App::$strings["When possible, drop a location by logging into that website/hub and removing your channel."] = "Cuando sea posible, elimine una ubicación iniciando sesión en el sitio web o \"hub\" y borrando su canal.";
+App::$strings["Use this form to drop the location if the hub is no longer operating."] = "Utilice este formulario para eliminar la dirección si el \"hub\" no está funcionando desde hace tiempo.";
+App::$strings["Website:"] = "Sitio web:";
+App::$strings["Remote Channel [%s] (not yet known on this site)"] = "Canal remoto [%s] (aún no es conocido en este sitio)";
+App::$strings["Rating (this information is public)"] = "Valoración (esta información es pública)";
+App::$strings["Optionally explain your rating (this information is public)"] = "Opcionalmente puede explicar su valoración (esta información es pública)";
+App::$strings["Like/Dislike"] = "Me gusta/No me gusta";
+App::$strings["This action is restricted to members."] = "Esta acción está restringida solo para miembros.";
+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."] = "Por favor, <a href=\"rmagic\">identifíquese con su \$Projectname ID</a> o <a href=\"register\">rregístrese como un nuevo \$Projectname member</a> para continuar.";
+App::$strings["Invalid request."] = "Solicitud incorrecta.";
+App::$strings["channel"] = "el canal";
+App::$strings["thing"] = "elemento";
+App::$strings["Channel unavailable."] = "Canal no disponible.";
+App::$strings["Previous action reversed."] = "Acción anterior revocada.";
+App::$strings["photo"] = "foto";
+App::$strings["status"] = "el mensaje de estado";
+App::$strings["event"] = "evento";
+App::$strings["%1\$s likes %2\$s's %3\$s"] = "A %1\$s le gusta %3\$s de %2\$s";
+App::$strings["%1\$s doesn't like %2\$s's %3\$s"] = "A %1\$s no le gusta %3\$s de %2\$s";
+App::$strings["%1\$s agrees with %2\$s's %3\$s"] = "%3\$s de %2\$s: %1\$s está de acuerdo";
+App::$strings["%1\$s doesn't agree with %2\$s's %3\$s"] = "%3\$s de %2\$s: %1\$s no está de acuerdo";
+App::$strings["%1\$s abstains from a decision on %2\$s's %3\$s"] = "%3\$s de %2\$s: %1\$s se abstiene";
+App::$strings["%1\$s is attending %2\$s's %3\$s"] = "%3\$s de %2\$s: %1\$s participa";
+App::$strings["%1\$s is not attending %2\$s's %3\$s"] = "%3\$s de %2\$s: %1\$s no participa";
+App::$strings["%1\$s may attend %2\$s's %3\$s"] = "%3\$s de %2\$s: %1\$s quizá participe";
+App::$strings["Action completed."] = "Acción completada.";
+App::$strings["Thank you."] = "Gracias.";
App::$strings["Profile not found."] = "Perfil no encontrado.";
App::$strings["Profile deleted."] = "Perfil eliminado.";
App::$strings["Profile-"] = "Perfil-";
@@ -438,8 +730,6 @@ App::$strings["Gender"] = "Género";
App::$strings["Sexual Preference"] = "Preferencia sexual";
App::$strings["Homepage"] = "Página personal";
App::$strings["Interests"] = "Intereses";
-App::$strings["Address"] = "Dirección";
-App::$strings["Location"] = "Ubicación";
App::$strings["Profile updated."] = "Perfil actualizado.";
App::$strings["Hide your connections list from viewers of this profile"] = "Ocultar la lista de conexiones a los visitantes del perfil";
App::$strings["Edit Profile Details"] = "Modificar los detalles de este perfil";
@@ -490,27 +780,9 @@ App::$strings["Contact information and social networks"] = "Información de cont
App::$strings["My other channels"] = "Mis otros canales";
App::$strings["Profile Image"] = "Imagen del perfil";
App::$strings["Edit Profiles"] = "Editar perfiles";
-App::$strings["Posts and comments"] = "Publicaciones y comentarios";
-App::$strings["Only posts"] = "Solo publicaciones";
-App::$strings["Insufficient permissions. Request redirected to profile page."] = "Permisos insuficientes. Petición redirigida a la página del perfil.";
-App::$strings["Privacy group created."] = "El grupo de canales ha sido creado.";
-App::$strings["Could not create privacy group."] = "No se puede crear el grupo de canales";
-App::$strings["Privacy group not found."] = "Grupo de canales no encontrado.";
-App::$strings["Privacy group updated."] = "Grupo de canales actualizado.";
-App::$strings["Create a group of channels."] = "Crear un grupo de canales.";
-App::$strings["Privacy group name: "] = "Nombre del grupo de canales:";
-App::$strings["Members are visible to other channels"] = "Los miembros son visibles para otros canales";
-App::$strings["Privacy group removed."] = "Grupo de canales eliminado.";
-App::$strings["Unable to remove privacy group."] = "No se puede eliminar el grupo de canales.";
-App::$strings["Privacy group editor"] = "Editor de grupos de canales";
-App::$strings["Members"] = "Miembros";
-App::$strings["All Connected Channels"] = "Todos los canales conectados";
-App::$strings["Click on a channel to add or remove."] = "Haga clic en un canal para agregarlo o quitarlo.";
-App::$strings["Menu not found."] = "Menú no encontrado";
App::$strings["Unable to create element."] = "No se puede crear el elemento.";
App::$strings["Unable to update menu element."] = "No es posible actualizar el elemento del menú.";
App::$strings["Unable to add menu element."] = "No es posible añadir el elemento al menú";
-App::$strings["Not found."] = "No encontrado.";
App::$strings["Menu Item Permissions"] = "Permisos del elemento del menú";
App::$strings["(click to open/close)"] = "(pulsar para abrir o cerrar)";
App::$strings["Link Name"] = "Nombre del enlace";
@@ -537,148 +809,6 @@ App::$strings["Menu item deleted."] = "Este elemento del menú ha sido borrado";
App::$strings["Menu item could not be deleted."] = "Este elemento del menú no puede ser borrado.";
App::$strings["Edit Menu Element"] = "Editar elemento del menú";
App::$strings["Link text"] = "Texto del enlace";
-App::$strings["Channel added."] = "Canal añadido.";
-App::$strings["Import completed"] = "Importación completada";
-App::$strings["Import Items"] = "Importar elementos";
-App::$strings["Use this form to import existing posts and content from an export file."] = "Utilice este formulario para importar entradas existentes y contenido desde un archivo de exportación.";
-App::$strings["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["%s : Message delivery failed."] = "%s : Falló el envío del mensaje.";
-App::$strings["%d message sent."] = array(
- 0 => "%d mensajes enviados.",
- 1 => "%d mensajes enviados.",
-);
-App::$strings["You have no more invitations available"] = "No tiene más invitaciones disponibles";
-App::$strings["Send invitations"] = "Enviar invitaciones";
-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["Location not found."] = "Dirección no encontrada.";
-App::$strings["Location lookup failed."] = "Ha fallado la búsqueda de la dirección.";
-App::$strings["Please select another location to become primary before removing the primary location."] = "Por favor, seleccione una copia de su canal (un clon) para convertirlo en primario antes de eliminar su canal principal.";
-App::$strings["Syncing locations"] = "Sincronizando ubicaciones";
-App::$strings["No locations found."] = "No encontrada ninguna dirección.";
-App::$strings["Manage Channel Locations"] = "Gestionar las direcciones del canal";
-App::$strings["Primary"] = "Primario";
-App::$strings["Drop"] = "Eliminar";
-App::$strings["Sync Now"] = "Sincronizar ahora";
-App::$strings["Please wait several minutes between consecutive operations."] = "Por favor, espere algunos minutos entre operaciones consecutivas.";
-App::$strings["When possible, drop a location by logging into that website/hub and removing your channel."] = "Cuando sea posible, elimine una ubicación iniciando sesión en el sitio web o \"hub\" y borrando su canal.";
-App::$strings["Use this form to drop the location if the hub is no longer operating."] = "Utilice este formulario para eliminar la dirección si el \"hub\" no está funcionando desde hace tiempo.";
-App::$strings["Hub not found."] = "Servidor no encontrado";
-App::$strings["webpage"] = "página web";
-App::$strings["block"] = "bloque";
-App::$strings["layout"] = "plantilla";
-App::$strings["menu"] = "menú";
-App::$strings["%s element installed"] = "%s elemento instalado";
-App::$strings["%s element installation failed"] = "Elemento con instalación fallida: %s";
-App::$strings["Calendar entries imported."] = "Entradas de calendario importadas.";
-App::$strings["No calendar entries found."] = "No se han encontrado entradas de calendario.";
-App::$strings["Event can not end before it has started."] = "Un evento no puede terminar antes de que haya comenzado.";
-App::$strings["Unable to generate preview."] = "No se puede crear la vista previa.";
-App::$strings["Event title and start time are required."] = "Se requieren el título del evento y su hora de inicio.";
-App::$strings["Event not found."] = "Evento no encontrado.";
-App::$strings["Edit event title"] = "Editar el título del evento";
-App::$strings["Event title"] = "Título del evento";
-App::$strings["Categories (comma-separated list)"] = "Temas (lista separada por comas)";
-App::$strings["Edit Category"] = "Modificar el tema";
-App::$strings["Category"] = "Tema";
-App::$strings["Edit start date and time"] = "Modificar la fecha y hora de comienzo";
-App::$strings["Start date and time"] = "Fecha y hora de comienzo";
-App::$strings["Finish date and time are not known or not relevant"] = "La fecha y hora de terminación no se conocen o no son relevantes";
-App::$strings["Edit finish date and time"] = "Modificar la fecha y hora de terminación";
-App::$strings["Finish date and time"] = "Fecha y hora de terminación";
-App::$strings["Adjust for viewer timezone"] = "Ajustar para obtener el visor de los husos horarios";
-App::$strings["Important for events that happen in a particular place. Not practical for global holidays."] = "Importante para los eventos que suceden en un lugar determinado. No es práctico para los globales.";
-App::$strings["Edit Description"] = "Editar la descripción";
-App::$strings["Edit Location"] = "Modificar la dirección";
-App::$strings["Share this event"] = "Compartir este evento";
-App::$strings["Preview"] = "Previsualizar";
-App::$strings["Permission settings"] = "Configuración de permisos";
-App::$strings["Advanced Options"] = "Opciones avanzadas";
-App::$strings["l, F j"] = "l j F";
-App::$strings["Edit event"] = "Editar evento";
-App::$strings["Delete event"] = "Borrar evento";
-App::$strings["Link to Source"] = "Enlazar con la entrada en su ubicación original";
-App::$strings["calendar"] = "calendario";
-App::$strings["Edit Event"] = "Editar el evento";
-App::$strings["Create Event"] = "Crear un evento";
-App::$strings["Previous"] = "Anterior";
-App::$strings["Next"] = "Siguiente";
-App::$strings["Export"] = "Exportar";
-App::$strings["View"] = "Ver";
-App::$strings["Month"] = "Mes";
-App::$strings["Week"] = "Semana";
-App::$strings["Day"] = "Día";
-App::$strings["Today"] = "Hoy";
-App::$strings["Event removed"] = "Evento borrado";
-App::$strings["Failed to remove event"] = "Error al eliminar el evento";
-App::$strings["You have created %1$.0f of %2$.0f allowed channels."] = "Ha creado %1$.0f de %2$.0f canales permitidos.";
-App::$strings["Create a new channel"] = "Crear un nuevo canal";
-App::$strings["Channel Manager"] = "Administración de canales";
-App::$strings["Current Channel"] = "Canal actual";
-App::$strings["Switch to one of your channels by selecting it."] = "Cambiar a uno de sus canales seleccionándolo.";
-App::$strings["Default Channel"] = "Canal principal";
-App::$strings["Make Default"] = "Convertir en predeterminado";
-App::$strings["%d new messages"] = "%d mensajes nuevos";
-App::$strings["%d new introductions"] = "%d nuevas isolicitudes de conexión";
-App::$strings["Delegated Channel"] = "Canal delegado";
-App::$strings["No valid account found."] = "No se ha encontrado una cuenta válida.";
-App::$strings["Password reset request issued. Check your email."] = "Se ha recibido una solicitud de restablecimiento de contraseña. Consulte su correo electrónico.";
-App::$strings["Site Member (%s)"] = "Usuario del sitio (%s)";
-App::$strings["Password reset requested at %s"] = "Se ha solicitado restablecer la contraseña en %s";
-App::$strings["Request could not be verified. (You may have previously submitted it.) Password reset failed."] = "La solicitud no ha podido ser verificada. (Puede que la haya enviado con anterioridad) El restablecimiento de la contraseña ha fallado.";
-App::$strings["Password Reset"] = "Restablecer la contraseña";
-App::$strings["Your password has been reset as requested."] = "Su contraseña ha sido restablecida según lo solicitó.";
-App::$strings["Your new password is"] = "Su nueva contraseña es";
-App::$strings["Save or copy your new password - and then"] = "Guarde o copie su nueva contraseña - y después";
-App::$strings["click here to login"] = "pulse aquí para conectarse";
-App::$strings["Your password may be changed from the <em>Settings</em> page after successful login."] = "Puede cambiar la contraseña en la página <em>Ajustes</em> una vez iniciada la sesión.";
-App::$strings["Your password has changed at %s"] = "Su contraseña en %s ha sido cambiada";
-App::$strings["Forgot your Password?"] = "¿Ha olvidado su contraseña?";
-App::$strings["Enter your email address and submit to have your password reset. Then check your email for further instructions."] = "Introduzca y envíe su dirección de correo electrónico para el restablecimiento de su contraseña. Luego revise su correo para obtener más instrucciones.";
-App::$strings["Email Address"] = "Dirección de correo electrónico";
-App::$strings["Reset"] = "Reiniciar";
-App::$strings["__ctx:mood__ %1\$s is %2\$s"] = "%1\$s está %2\$s";
-App::$strings["Mood"] = "Estado de ánimo";
-App::$strings["Set your current mood and tell your friends"] = "Describir su estado de ánimo para comunicárselo a sus amigos";
-App::$strings["Unable to update menu."] = "No se puede actualizar el menú.";
-App::$strings["Unable to create menu."] = "No se puede crear el menú.";
-App::$strings["Menu Name"] = "Nombre del menú";
-App::$strings["Unique name (not visible on webpage) - required"] = "Nombre único (no será visible en la página web) - requerido";
-App::$strings["Menu Title"] = "Título del menú";
-App::$strings["Visible on webpage - leave empty for no title"] = "Visible en la página web - no ponga nada si no desea un título";
-App::$strings["Allow Bookmarks"] = "Permitir marcadores";
-App::$strings["Menu may be used to store saved bookmarks"] = "El menú se puede usar para guardar marcadores";
-App::$strings["Submit and proceed"] = "Enviar y proceder";
-App::$strings["Menus"] = "Menús";
-App::$strings["Created"] = "Creado";
-App::$strings["Edited"] = "Editado";
-App::$strings["Bookmarks allowed"] = "Marcadores permitidos";
-App::$strings["Delete this menu"] = "Borrar este menú";
-App::$strings["Edit menu contents"] = "Editar los contenidos del menú";
-App::$strings["Edit this menu"] = "Modificar este menú";
-App::$strings["Menu could not be deleted."] = "El menú no puede ser eliminado.";
-App::$strings["Edit Menu"] = "Modificar el menú";
-App::$strings["Add or remove entries to this menu"] = "Añadir o quitar entradas en este menú";
-App::$strings["Menu name"] = "Nombre del menú";
-App::$strings["Must be unique, only seen by you"] = "Debe ser único, solo será visible para usted";
-App::$strings["Menu title"] = "Título del menú";
-App::$strings["Menu title as seen by others"] = "El título del menú tal como será visto por los demás";
-App::$strings["Allow bookmarks"] = "Permitir marcadores";
-App::$strings["No more system notifications."] = "No hay más notificaciones del sistema";
-App::$strings["System Notifications"] = "Notificaciones del sistema";
-App::$strings["Profile Match"] = "Perfil compatible";
-App::$strings["No keywords to match. Please add keywords to your default profile."] = "No hay palabras clave en el perfil principal para poder encontrar perfiles compatibles. Por favor, añada palabras clave a su perfil principal.";
-App::$strings["is interested in:"] = "está interesado en:";
-App::$strings["No matches"] = "No se han encontrado perfiles compatibles";
-App::$strings["Fetching URL returns error: %1\$s"] = "Al intentar obtener la dirección, retorna el error: %1\$s";
App::$strings["\$Projectname Server - Setup"] = "Servidor \$Projectname - Instalación";
App::$strings["Could not connect to database."] = "No se ha podido conectar a la base de datos.";
App::$strings["Could not connect to specified site URL. Possible SSL certificate or DNS issue."] = "No se puede conectar con la dirección del sitio indicada. Podría tratarse de un problema de SSL o DNS.";
@@ -687,6 +817,7 @@ App::$strings["Your site database has been installed."] = "La base de datos del
App::$strings["You may need to import the file \"install/schema_xxx.sql\" manually using a database client."] = "Podría tener que importar manualmente el fichero \"install/schema_xxx.sql\" usando un cliente de base de datos.";
App::$strings["Please see the file \"install/INSTALL.txt\"."] = "Por favor, lea el fichero \"install/INSTALL.txt\".";
App::$strings["System check"] = "Verificación del sistema";
+App::$strings["Next"] = "Siguiente";
App::$strings["Check again"] = "Verificar de nuevo";
App::$strings["Database connection"] = "Conexión a la base de datos";
App::$strings["In order to install \$Projectname we need to know how to connect to your database."] = "Para instalar \$Projectname es necesario saber cómo conectar con su base de datos.";
@@ -706,8 +837,6 @@ App::$strings["Website URL"] = "Dirección del sitio web";
App::$strings["Please use SSL (https) URL if available."] = "Por favor, use SSL (https) si está disponible.";
App::$strings["Please select a default timezone for your website"] = "Por favor, selecciones el huso horario por defecto de su sitio web";
App::$strings["Site settings"] = "Ajustes del sitio";
-App::$strings["Enable \$Projectname <strong>advanced</strong> features?"] = "¿Habilitar las funcionalidades <strong>avanzadas</strong> de \$Projectname ?";
-App::$strings["Some advanced features, while useful - may be best suited for technically proficient audiences"] = "Algunas funcionalidades avanzadas, si bien son útiles, pueden ser más adecuadas para un público técnicamente competente";
App::$strings["PHP version 5.5 or greater is required."] = "Se requiere la versión 5.5, o superior, de PHP.";
App::$strings["PHP version"] = "Versión de PHP";
App::$strings["Could not find a command line version of PHP in the web server PATH."] = "No se puede encontrar una versión en línea de comandos de PHP en la ruta del servidor web.";
@@ -766,250 +895,116 @@ App::$strings["The database configuration file \".htconfig.php\" could not be wr
App::$strings["Errors encountered creating database tables."] = "Se han encontrado errores al crear las tablas de la base de datos.";
App::$strings["<h1>What next</h1>"] = "<h1>Siguiente paso</h1>";
App::$strings["IMPORTANT: You will need to [manually] setup a scheduled task for the poller."] = "IMPORTANTE: Debe crear [manualmente] una tarea programada para el \"poller\".";
-App::$strings["Theme settings updated."] = "Ajustes del tema actualizados.";
-App::$strings["# Accounts"] = "# Cuentas";
-App::$strings["# blocked accounts"] = "# cuentas bloqueadas";
-App::$strings["# expired accounts"] = "# cuentas caducadas";
-App::$strings["# expiring accounts"] = "# cuentas que caducan";
-App::$strings["# Channels"] = "# Canales";
-App::$strings["# primary"] = "# primario";
-App::$strings["# clones"] = "# clones";
-App::$strings["Message queues"] = "Mensajes en cola";
-App::$strings["Your software should be updated"] = "Debe actualizar su software";
-App::$strings["Administration"] = "Administración";
-App::$strings["Summary"] = "Sumario";
-App::$strings["Registered accounts"] = "Cuentas registradas";
-App::$strings["Pending registrations"] = "Registros pendientes";
-App::$strings["Registered channels"] = "Canales registrados";
-App::$strings["Active plugins"] = "Extensiones (plugins) activas";
-App::$strings["Version"] = "Versión";
-App::$strings["Repository version (master)"] = "Versión del repositorio (master)";
-App::$strings["Repository version (dev)"] = "Versión del repositorio (dev)";
-App::$strings["Site settings updated."] = "Ajustes del sitio actualizados.";
-App::$strings["Default"] = "Predeterminado";
-App::$strings["mobile"] = "móvil";
-App::$strings["experimental"] = "experimental";
-App::$strings["unsupported"] = "no soportado";
-App::$strings["Yes - with approval"] = "Sí - con aprobación";
-App::$strings["My site is not a public server"] = "Mi sitio no es un servidor público";
-App::$strings["My site has paid access only"] = "Mi sitio es un servicio de pago";
-App::$strings["My site has free access only"] = "Mi sitio es un servicio gratuito";
-App::$strings["My site offers free accounts with optional paid upgrades"] = "Mi sitio ofrece cuentas gratuitas con opciones extra de pago";
-App::$strings["Site"] = "Sitio";
-App::$strings["Registration"] = "Registro";
-App::$strings["File upload"] = "Subir fichero";
-App::$strings["Policies"] = "Políticas";
-App::$strings["Advanced"] = "Avanzado";
-App::$strings["Site name"] = "Nombre del sitio";
-App::$strings["Banner/Logo"] = "Banner/Logo";
-App::$strings["Administrator Information"] = "Información del Administrador";
-App::$strings["Contact information for site administrators. Displayed on siteinfo page. BBCode can be used here"] = "Información de contacto de los administradores del sitio. Visible en la página \"siteinfo\". Se puede usar BBCode";
-App::$strings["System language"] = "Idioma del sistema";
-App::$strings["System theme"] = "Tema gráfico del sistema";
-App::$strings["Default system theme - may be over-ridden by user profiles - <a href='#' id='cnftheme'>change theme settings</a>"] = "Tema del sistema por defecto - se puede cambiar por cada perfil de usuario - <a href='#' id='cnftheme'>modificar los ajustes del tema</a>";
-App::$strings["Mobile system theme"] = "Tema del sistema para móviles";
-App::$strings["Theme for mobile devices"] = "Tema para dispositivos móviles";
-App::$strings["Allow Feeds as Connections"] = "Permitir contenidos RSS como conexiones";
-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["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["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["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: 'public' to show public stream, 'page/sys/home' to show a system webpage called 'home' or 'include:home.html' to include a file."] = "ejemplo: 'public' para mostrar contenido público, 'page/sys/home' para mostrar la página web definida como \"home\" o 'include:home.html' para mostrar el contenido de un fichero.";
-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["Allowed email domains"] = "Se aceptan dominios de correo electrónico";
-App::$strings["Comma separated list of domains which are allowed in email addresses for registrations to this site. Wildcards are accepted. Empty to allow any domains"] = "Lista separada por comas de los dominios de los que se acepta una dirección de correo electrónico para registros en este sitio. Se permiten comodines. Dejar en claro para aceptar cualquier dominio. ";
-App::$strings["Not allowed email domains"] = "No se permiten dominios de correo electrónico";
-App::$strings["Comma separated list of domains which are not allowed in email addresses for registrations to this site. Wildcards are accepted. Empty to allow any domains, unless allowed domains have been defined."] = "Lista separada por comas de los dominios de los que no se acepta una dirección de correo electrónico para registros en este sitio. Se permiten comodines. Dejar en claro para no aceptar cualquier dominio, excepto los que se hayan autorizado.";
-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";
-App::$strings["Import and allow access to public content pulled from other sites. Warning: this content is unmoderated."] = "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.";
-App::$strings["Login on Homepage"] = "Iniciar sesión en la página personal";
-App::$strings["Present a login box to visitors on the home page if no other content has been configured."] = "Presentar a los visitantes una casilla de identificación en la página de inicio, si no se ha configurado otro tipo de contenido.";
-App::$strings["Enable context help"] = "Habilitar la ayuda contextual";
-App::$strings["Display contextual help for the current page when the help button is pressed."] = "Ver la ayuda contextual para la página actual cuando se pulse el botón de Ayuda.";
-App::$strings["Directory Server URL"] = "URL del servidor de directorio";
-App::$strings["Default directory server"] = "Servidor de directorio predeterminado";
-App::$strings["Proxy user"] = "Usuario del proxy";
-App::$strings["Proxy URL"] = "Dirección del proxy";
-App::$strings["Network timeout"] = "Tiempo de espera de la red";
-App::$strings["Value is in seconds. Set to 0 for unlimited (not recommended)."] = "Valor en segundos. Poner a 0 para que no haya tiempo límite (no recomendado)";
-App::$strings["Delivery interval"] = "Intervalo de entrega";
-App::$strings["Delay background delivery processes by this many seconds to reduce system load. Recommend: 4-5 for shared hosts, 2-3 for virtual private servers. 0-1 for large dedicated servers."] = "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.";
-App::$strings["Deliveries per process"] = "Intentos de envío por proceso";
-App::$strings["Number of deliveries to attempt in a single operating system process. Adjust if necessary to tune system performance. Recommend: 1-5."] = "Numero de envíos a intentar en un único proceso del sistema operativo. Ajustar si es necesario mejorar el rendimiento. Se recomienda: 1-5.";
-App::$strings["Poll interval"] = "Intervalo máximo de tiempo entre dos mensajes sucesivos";
-App::$strings["Delay background polling processes by this many seconds to reduce system load. If 0, use delivery interval."] = "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.";
-App::$strings["Maximum Load Average"] = "Carga media máxima";
-App::$strings["Maximum system load before delivery and poll processes are deferred - default 50."] = "Carga máxima del sistema antes de que los procesos de entrega y envío se hayan retardado - por defecto, 50.";
-App::$strings["Expiration period in days for imported (grid/network) content"] = "Caducidad del contenido importado de otros sitios (en días)";
-App::$strings["0 for no expiration of imported content"] = "0 para que no caduque el contenido importado";
-App::$strings["Off"] = "Desactivado";
-App::$strings["On"] = "Activado";
-App::$strings["Lock feature %s"] = "Bloquear la funcionalidad %s";
-App::$strings["Manage Additional Features"] = "Gestionar las funcionalidades";
-App::$strings["No server found"] = "Servidor no encontrado";
-App::$strings["ID"] = "ID";
-App::$strings["for channel"] = "por canal";
-App::$strings["on server"] = "en el servidor";
-App::$strings["Server"] = "Servidor";
-App::$strings["By default, unfiltered HTML is allowed in embedded media. This is inherently insecure."] = "De forma predeterminada, el HTML sin filtrar está permitido en el contenido multimedia incorporado en una publicación. Esto es siempre inseguro.";
-App::$strings["The recommended setting is to only allow unfiltered HTML from the following sites:"] = "La configuración recomendada es que sólo se permita HTML sin filtrar desde los siguientes sitios: ";
-App::$strings["https://youtube.com/<br />https://www.youtube.com/<br />https://youtu.be/<br />https://vimeo.com/<br />https://soundcloud.com/<br />"] = "https://youtube.com/<br />https://www.youtube.com/<br />https://youtu.be/<br />https://vimeo.com/<br />https://soundcloud.com/<br />";
-App::$strings["All other embedded content will be filtered, <strong>unless</strong> embedded content from that site is explicitly blocked."] = "El resto del contenido incrustado se filtrará, <strong>excepto</ strong> si el contenido incorporado desde ese sitio está bloqueado de forma explícita.";
-App::$strings["Security"] = "Seguridad";
-App::$strings["Block public"] = "Bloquear páginas públicas";
-App::$strings["Check to block public access to all otherwise public personal pages on this site unless you are currently authenticated."] = "Habilitar para impedir ver las páginas personales de este sitio a quien no esté actualmente autenticado.";
-App::$strings["Set \"Transport Security\" HTTP header"] = "Habilitar \"Seguridad de transporte\" (\"Transport Security\") en la cabecera HTTP";
-App::$strings["Set \"Content Security Policy\" HTTP header"] = "Habilitar la \"Política de seguridad del contenido\" (\"Content Security Policy\") en la cabecera HTTP";
-App::$strings["Allow communications only from these sites"] = "Permitir la comunicación solo desde estos sitios";
-App::$strings["One site per line. Leave empty to allow communication from anywhere by default"] = "Un sitio por línea. Dejar en blanco para permitir por defecto la comunicación desde cualquiera";
-App::$strings["Block communications from these sites"] = "Bloquear la comunicación desde estos sitios";
-App::$strings["Allow communications only from these channels"] = "Permitir la comunicación solo desde estos canales";
-App::$strings["One channel (hash) per line. Leave empty to allow from any channel by default"] = "Un canal (hash) por línea. Dejar en blanco para permitir por defecto la comunicación desde cualquiera";
-App::$strings["Block communications from these channels"] = "Bloquear la comunicación desde estos canales";
-App::$strings["Only allow embeds from secure (SSL) websites and links."] = "Sólo se permite contenido multimedia incorporado desde sitios y enlaces seguros (SSL).";
-App::$strings["Allow unfiltered embedded HTML content only from these domains"] = "Permitir contenido HTML sin filtrar sólo desde estos dominios ";
-App::$strings["One site per line. By default embedded content is filtered."] = "Un sitio por línea. El contenido incorporado se filtra de forma predeterminada.";
-App::$strings["Block embedded HTML from these domains"] = "Bloquear contenido con HTML incorporado desde estos dominios";
-App::$strings["Update has been marked successful"] = "La actualización ha sido marcada como exitosa";
-App::$strings["Executing %s failed. Check system logs."] = "La ejecución de %s ha fallado. Mirar en los informes del sistema.";
-App::$strings["Update %s was successfully applied."] = "La actualización de %s se ha realizado exitosamente.";
-App::$strings["Update %s did not return a status. Unknown if it succeeded."] = "La actualización de %s no ha devuelto ningún estado. No se sabe si ha tenido éxito.";
-App::$strings["Update function %s could not be found."] = "No se encuentra la función de actualización de %s.";
-App::$strings["No failed updates."] = "No ha fallado ninguna actualización.";
-App::$strings["Failed Updates"] = "Han fallado las actualizaciones";
-App::$strings["Mark success (if update was manually applied)"] = "Marcar como exitosa (si la actualización se ha hecho manualmente)";
-App::$strings["Attempt to execute this update step automatically"] = "Intentar ejecutar este paso de actualización automáticamente";
-App::$strings["Queue Statistics"] = "Estadísticas de la cola";
-App::$strings["Total Entries"] = "Total de entradas";
-App::$strings["Priority"] = "Prioridad";
-App::$strings["Destination URL"] = "Dirección de destino";
-App::$strings["Mark hub permanently offline"] = "Marcar el servidor como permanentemente fuera de línea";
-App::$strings["Empty queue for this hub"] = "Vaciar la cola para este servidor";
-App::$strings["Last known contact"] = "Último contacto conocido";
-App::$strings["%s account blocked/unblocked"] = array(
- 0 => "%s cuenta bloqueada/desbloqueada",
- 1 => "%s cuenta bloqueada/desbloqueada",
-);
-App::$strings["%s account deleted"] = array(
- 0 => "%s cuentas eliminadas",
- 1 => "%s cuentas eliminadas",
-);
-App::$strings["Account not found"] = "Cuenta no encontrada";
-App::$strings["Account '%s' deleted"] = "La cuenta '%s' ha sido eliminada";
-App::$strings["Account '%s' blocked"] = "La cuenta '%s' ha sido bloqueada";
-App::$strings["Account '%s' unblocked"] = "La cuenta '%s' ha sido desbloqueada";
-App::$strings["Accounts"] = "Cuentas";
-App::$strings["select all"] = "seleccionar todo";
-App::$strings["Registrations waiting for confirm"] = "Inscripciones en espera de confirmación";
-App::$strings["Request date"] = "Fecha de solicitud";
-App::$strings["Email"] = "Correo electrónico";
-App::$strings["No registrations."] = "Sin registros.";
-App::$strings["Deny"] = "Rechazar";
-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["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["%s channel censored/uncensored"] = array(
- 0 => "%s canales censurados/no censurados",
- 1 => "%s canales censurados/no censurados",
-);
-App::$strings["%s channel code allowed/disallowed"] = array(
- 0 => "%s código permitido/no permitido al canal",
- 1 => "%s código permitido/no permitido al canal",
+App::$strings["No valid account found."] = "No se ha encontrado una cuenta válida.";
+App::$strings["Password reset request issued. Check your email."] = "Se ha recibido una solicitud de restablecimiento de contraseña. Consulte su correo electrónico.";
+App::$strings["Site Member (%s)"] = "Usuario del sitio (%s)";
+App::$strings["Password reset requested at %s"] = "Se ha solicitado restablecer la contraseña en %s";
+App::$strings["Request could not be verified. (You may have previously submitted it.) Password reset failed."] = "La solicitud no ha podido ser verificada. (Puede que la haya enviado con anterioridad) El restablecimiento de la contraseña ha fallado.";
+App::$strings["Password Reset"] = "Restablecer la contraseña";
+App::$strings["Your password has been reset as requested."] = "Su contraseña ha sido restablecida según lo solicitó.";
+App::$strings["Your new password is"] = "Su nueva contraseña es";
+App::$strings["Save or copy your new password - and then"] = "Guarde o copie su nueva contraseña - y después";
+App::$strings["click here to login"] = "pulse aquí para conectarse";
+App::$strings["Your password may be changed from the <em>Settings</em> page after successful login."] = "Puede cambiar la contraseña en la página <em>Ajustes</em> una vez iniciada la sesión.";
+App::$strings["Your password has changed at %s"] = "Su contraseña en %s ha sido cambiada";
+App::$strings["Forgot your Password?"] = "¿Ha olvidado su contraseña?";
+App::$strings["Enter your email address and submit to have your password reset. Then check your email for further instructions."] = "Introduzca y envíe su dirección de correo electrónico para el restablecimiento de su contraseña. Luego revise su correo para obtener más instrucciones.";
+App::$strings["Email Address"] = "Dirección de correo electrónico";
+App::$strings["Reset"] = "Reiniciar";
+App::$strings["__ctx:mood__ %1\$s is %2\$s"] = "%1\$s está %2\$s";
+App::$strings["Mood"] = "Estado de ánimo";
+App::$strings["Set your current mood and tell your friends"] = "Describir su estado de ánimo para comunicárselo a sus amigos";
+App::$strings["Channel removals are not allowed within 48 hours of changing the account password."] = "La eliminación de canales no está permitida hasta pasadas 48 horas desde el último cambio de contraseña.";
+App::$strings["Remove This Channel"] = "Eliminar este canal";
+App::$strings["WARNING: "] = "ATENCIÓN:";
+App::$strings["This channel will be completely removed from the network. "] = "Este canal va a ser completamente eliminado de la red. ";
+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 this channel and all its clones from the network"] = "Eliminar este canal y todos sus clones de la red";
+App::$strings["By default only the instance of the channel located on this hub will be removed from the network"] = "Por defecto, solo la instancia del canal alojado en este servidor será eliminado de la red";
+App::$strings["Remove Channel"] = "Eliminar el canal";
+App::$strings["No more system notifications."] = "No hay más notificaciones del sistema";
+App::$strings["System Notifications"] = "Notificaciones del sistema";
+App::$strings["Profile Match"] = "Perfil compatible";
+App::$strings["No keywords to match. Please add keywords to your default profile."] = "No hay palabras clave en el perfil principal para poder encontrar perfiles compatibles. Por favor, añada palabras clave a su perfil principal.";
+App::$strings["is interested in:"] = "está interesado en:";
+App::$strings["Connect"] = "Conectar";
+App::$strings["No matches"] = "No se han encontrado perfiles compatibles";
+App::$strings["This site is not a directory server"] = "Este sitio no es un servidor de directorio";
+App::$strings["This directory server requires an access token"] = "El servidor de este directorio necesita un \"token\" de acceso";
+App::$strings["Hub not found."] = "Servidor no encontrado";
+App::$strings["Page owner information could not be retrieved."] = "La información del propietario de la página no pudo ser recuperada.";
+App::$strings["Profile Photos"] = "Fotos del perfil";
+App::$strings["Album not found."] = "Álbum no encontrado.";
+App::$strings["Delete Album"] = "Borrar álbum";
+App::$strings["Multiple storage folders exist with this album name, but within different directories. Please remove the desired folder or folders using the Files manager"] = "Hay varias carpetas con este nombre de álbum, pero dentro de diferentes directorios. Por favor, elimine la carpeta o carpetas que desee utilizando el administrador de ficheros";
+App::$strings["Delete Photo"] = "Borrar foto";
+App::$strings["Public access denied."] = "Acceso público denegado.";
+App::$strings["No photos selected"] = "No hay fotos seleccionadas";
+App::$strings["Access to this item is restricted."] = "El acceso a este elemento está restringido.";
+App::$strings["%1$.2f MB of %2$.2f MB photo storage used."] = "%1$.2f MB de %2$.2f MB de almacenamiento de fotos utilizado.";
+App::$strings["%1$.2f MB photo storage used."] = "%1$.2f MB de almacenamiento de fotos utilizado.";
+App::$strings["Upload Photos"] = "Subir fotos";
+App::$strings["Enter an album name"] = "Introducir un nombre de álbum";
+App::$strings["or select an existing album (doubleclick)"] = "o seleccionar uno existente (doble click)";
+App::$strings["Create a status post for this upload"] = "Crear un mensaje de estado para esta subida";
+App::$strings["Caption (optional):"] = "Título (opcional):";
+App::$strings["Description (optional):"] = "Descripción (opcional):";
+App::$strings["Album name could not be decoded"] = "El nombre del álbum no ha podido ser descifrado";
+App::$strings["Contact Photos"] = "Fotos de contacto";
+App::$strings["Show Newest First"] = "Mostrar lo más reciente primero";
+App::$strings["Show Oldest First"] = "Mostrar lo más antiguo primero";
+App::$strings["View Photo"] = "Ver foto";
+App::$strings["Edit Album"] = "Editar álbum";
+App::$strings["Permission denied. Access to this item may be restricted."] = "Permiso denegado. El acceso a este elemento puede estar restringido.";
+App::$strings["Photo not available"] = "Foto no disponible";
+App::$strings["Use as profile photo"] = "Usar como foto del perfil";
+App::$strings["Use as cover photo"] = "Usar como imagen de portada del perfil";
+App::$strings["Private Photo"] = "Foto privada";
+App::$strings["Previous"] = "Anterior";
+App::$strings["View Full Size"] = "Ver tamaño completo";
+App::$strings["Edit photo"] = "Editar foto";
+App::$strings["Rotate CW (right)"] = "Girar CW (a la derecha)";
+App::$strings["Rotate CCW (left)"] = "Girar CCW (a la izquierda)";
+App::$strings["Move photo to album"] = "Mover la foto a un álbum";
+App::$strings["Enter a new album name"] = "Introducir un nuevo nombre de álbum";
+App::$strings["or select an existing one (doubleclick)"] = "o seleccionar uno (doble click) existente";
+App::$strings["Caption"] = "Título";
+App::$strings["Add a Tag"] = "Añadir una etiqueta";
+App::$strings["Example: @bob, @Barbara_Jensen, @jim@example.com"] = "Ejemplos: @eva, @Carmen_Osuna, @jaime@ejemplo.com";
+App::$strings["Flag as adult in album view"] = "Marcar como \"solo para adultos\" en el álbum";
+App::$strings["I like this (toggle)"] = "Me gusta (cambiar)";
+App::$strings["I don't like this (toggle)"] = "No me gusta esto (cambiar)";
+App::$strings["Share"] = "Compartir";
+App::$strings["Please wait"] = "Espere por favor";
+App::$strings["This is you"] = "Este es usted";
+App::$strings["Comment"] = "Comentar";
+App::$strings["Preview"] = "Previsualizar";
+App::$strings["__ctx:title__ Likes"] = "Me gusta";
+App::$strings["__ctx:title__ Dislikes"] = "No me gusta";
+App::$strings["__ctx:title__ Agree"] = "De acuerdo";
+App::$strings["__ctx:title__ Disagree"] = "En desacuerdo";
+App::$strings["__ctx:title__ Abstain"] = "Abstención";
+App::$strings["__ctx:title__ Attending"] = "Participaré";
+App::$strings["__ctx:title__ Not attending"] = "No participaré";
+App::$strings["__ctx:title__ Might attend"] = "Quizá participe";
+App::$strings["View all"] = "Ver todo";
+App::$strings["__ctx:noun__ Like"] = array(
+ 0 => "Me gusta",
+ 1 => "Me gusta",
);
-App::$strings["%s channel deleted"] = array(
- 0 => "%s canales eliminados",
- 1 => "%s canales eliminados",
+App::$strings["__ctx:noun__ Dislike"] = array(
+ 0 => "No me gusta",
+ 1 => "No me gusta",
);
-App::$strings["Channel not found"] = "Canal no encontrado";
-App::$strings["Channel '%s' deleted"] = "Canal '%s' eliminado";
-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["Channels"] = "Canales";
-App::$strings["Censor"] = "Censurar";
-App::$strings["Uncensor"] = "No censurar";
-App::$strings["Allow Code"] = "Permitir código";
-App::$strings["Disallow Code"] = "No permitir código";
-App::$strings["Channel"] = "Canal";
-App::$strings["UID"] = "UID";
-App::$strings["Selected channels will be deleted!\\n\\nEverything that was posted in these channels on this site will be permanently deleted!\\n\\nAre you sure?"] = "Los canales seleccionados se eliminarán!\\n\\nTodo lo publicado por estos canales en este sitio se borrarán definitivamente!\\n\\n¿Está seguro de querer hacerlo?";
-App::$strings["The channel {0} will be deleted!\\n\\nEverything that was posted in this channel on this site will be permanently deleted!\\n\\nAre you sure?"] = "El canal {0} va a ser eliminado!\\n\\nTodo lo publicado por el canal en este sitio se borrará definitivamente!\\n\\n¿Está seguro de querer hacerlo?";
-App::$strings["Plugin %s disabled."] = "Extensión %s desactivada.";
-App::$strings["Plugin %s enabled."] = "Extensión %s activada.";
-App::$strings["Disable"] = "Desactivar";
-App::$strings["Enable"] = "Activar";
-App::$strings["Plugins"] = "Extensiones (plugins)";
-App::$strings["Toggle"] = "Cambiar";
-App::$strings["Settings"] = "Ajustes";
-App::$strings["Author: "] = "Autor:";
-App::$strings["Maintainer: "] = "Mantenedor:";
-App::$strings["Minimum project version: "] = "Versión mínima del proyecto:";
-App::$strings["Maximum project version: "] = "Versión máxima del proyecto:";
-App::$strings["Minimum PHP version: "] = "Versión mínima de PHP:";
-App::$strings["Requires: "] = "Se requiere:";
-App::$strings["Disabled - version incompatibility"] = "Deshabilitado - versiones incompatibles";
-App::$strings["Enter the public git repository URL of the plugin repo."] = "Escriba la URL pública del repositorio git del plugin.";
-App::$strings["Plugin repo git URL"] = "URL del repositorio git del plugin";
-App::$strings["Custom repo name"] = "Nombre personalizado del repositorio";
-App::$strings["(optional)"] = "(opcional)";
-App::$strings["Download Plugin Repo"] = "Descargar el repositorio";
-App::$strings["Install new repo"] = "Instalar un nuevo repositorio";
-App::$strings["Install"] = "Instalar";
-App::$strings["Manage Repos"] = "Gestionar los repositorios";
-App::$strings["Installed Plugin Repositories"] = "Repositorios de los plugins instalados";
-App::$strings["Install a New Plugin Repository"] = "Instalar un nuevo repositorio de plugins";
-App::$strings["Update"] = "Actualizar";
-App::$strings["Switch branch"] = "Cambiar la rama";
-App::$strings["Remove"] = "Eliminar";
-App::$strings["No themes found."] = "No se han encontrado temas.";
-App::$strings["Screenshot"] = "Instantánea de pantalla";
-App::$strings["Themes"] = "Temas";
-App::$strings["[Experimental]"] = "[Experimental]";
-App::$strings["[Unsupported]"] = "[No soportado]";
-App::$strings["Log settings updated."] = "Actualizado el informe de configuraciones.";
-App::$strings["Logs"] = "Informes";
-App::$strings["Clear"] = "Vaciar";
-App::$strings["Debugging"] = "Depuración";
-App::$strings["Log file"] = "Fichero de informe";
-App::$strings["Must be writable by web server. Relative to your top-level webserver directory."] = "Debe tener permisos de escritura por el servidor web. La ruta es relativa al directorio web principal.";
-App::$strings["Log level"] = "Nivel de depuración";
-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";
-App::$strings["Input type"] = "Tipo de entrada";
-App::$strings["Field Name"] = "Nombre del campo";
-App::$strings["Label on profile pages"] = "Etiqueta a mostrar en la página del perfil";
-App::$strings["Help text"] = "Texto de ayuda";
-App::$strings["Additional info (optional)"] = "Información adicional (opcional)";
-App::$strings["Field definition not found"] = "Definición del campo no encontrada";
-App::$strings["Edit Profile Field"] = "Modificar el campo del perfil";
-App::$strings["Profile Fields"] = "Campos del perfil";
-App::$strings["Basic Profile Fields"] = "Campos básicos del perfil";
-App::$strings["Advanced Profile Fields"] = "Campos avanzados del perfil";
-App::$strings["(In addition to basic fields)"] = "(Además de los campos básicos)";
-App::$strings["All available fields"] = "Todos los campos disponibles";
-App::$strings["Custom Fields"] = "Campos personalizados";
-App::$strings["Create Custom Field"] = "Crear un campo personalizado";
+App::$strings["Photo Tools"] = "Gestión de las fotos";
+App::$strings["In This Photo:"] = "En esta foto:";
+App::$strings["Map"] = "Mapa";
+App::$strings["__ctx:noun__ Likes"] = "Me gusta";
+App::$strings["__ctx:noun__ Dislikes"] = "No me gusta";
+App::$strings["Close"] = "Cerrar";
+App::$strings["View Album"] = "Ver álbum";
+App::$strings["Recent Photos"] = "Fotos recientes";
App::$strings["Name or caption"] = "Nombre o descripción";
App::$strings["Examples: \"Bob Jameson\", \"Lisa and her Horses\", \"Soccer\", \"Aviation Group\""] = "Ejemplos: \"Juan García\", \"Luisa y sus caballos\", \"Fútbol\", \"Grupo de aviación\"";
App::$strings["Choose a short nickname"] = "Elija un alias corto";
@@ -1035,6 +1030,7 @@ App::$strings["Poke, prod or do other things to somebody"] = "Dar un toque, inci
App::$strings["Recipient"] = "Destinatario";
App::$strings["Choose what you wish to do to recipient"] = "Elegir qué desea enviar al destinatario";
App::$strings["Make this post private"] = "Convertir en privado este envío";
+App::$strings["Apps"] = "Aplicaciones (apps)";
App::$strings["Unable to find your hub."] = "No se puede encontrar su servidor.";
App::$strings["Post successful."] = "Enviado con éxito.";
App::$strings["Invalid profile identifier."] = "Identificador del perfil no válido";
@@ -1045,10 +1041,6 @@ App::$strings["Visible To"] = "Visible para";
App::$strings["This setting requires special processing and editing has been blocked."] = "Este ajuste necesita de un proceso especial y la edición ha sido bloqueada.";
App::$strings["Configuration Editor"] = "Editor de configuración";
App::$strings["Warning: Changing some settings could render your channel inoperable. Please leave this page unless you are comfortable with and knowledgeable about how to correctly use this feature."] = "Atención: El cambio de algunos ajustes puede volver inutilizable su canal. Por favor, abandone la página excepto que esté seguro y sepa cómo usar correctamente esta característica.";
-App::$strings["Authorize application connection"] = "Autorizar una conexión de aplicación";
-App::$strings["Return to your app and insert this Security Code:"] = "Volver a su aplicación e introducir este código de seguridad:";
-App::$strings["Please login to continue."] = "Por favor inicie sesión para continuar.";
-App::$strings["Do you want to authorize this application to access your posts and contacts, and/or create new posts for you?"] = "¿Desea autorizar a esta aplicación a acceder a sus publicaciones y contactos, y/o crear nuevas publicaciones por usted?";
App::$strings["Version %s"] = "Versión %s";
App::$strings["Installed plugins/addons/apps:"] = "Extensiones (plugins), complementos o aplicaciones (apps) instaladas:";
App::$strings["No installed plugins/addons/apps"] = "No hay instalada ninguna extensión (plugin), complemento o aplicación (app)";
@@ -1064,150 +1056,88 @@ App::$strings["Suggestions, praise, etc. - please email \"redmatrix\" at libreli
App::$strings["Site Administrators"] = "Administradores del sitio";
App::$strings["Blocks"] = "Bloques";
App::$strings["Block Title"] = "Título del bloque";
-App::$strings["Share"] = "Compartir";
App::$strings["Layouts"] = "Plantillas";
+App::$strings["Help"] = "Ayuda";
App::$strings["Comanche page description language help"] = "Página de ayuda del lenguaje de descripción de páginas (PDL) Comanche";
App::$strings["Layout Description"] = "Descripción de la plantilla";
App::$strings["Download PDL file"] = "Descargar el fichero PDL";
-App::$strings["Public Hubs"] = "Servidores públicos";
-App::$strings["The listed hubs allow public registration for the \$Projectname network. All hubs in the network are interlinked so membership on any of them conveys membership in the network as a whole. Some hubs may require subscription or provide tiered service plans. The hub itself <strong>may</strong> provide additional details."] = "Los sitios listados permiten el registro público en la red \$Projectname. Todos los sitios de la red están vinculados entre sí, por lo que sus miembros, en ninguno de ellos, indican la pertenencia a la red en su conjunto. Algunos sitios pueden requerir suscripción o proporcionar planes de servicio por niveles. Los mismos hubs <strong>pueden</strong> proporcionar detalles adicionales.";
-App::$strings["Hub URL"] = "Dirección del hub";
-App::$strings["Access Type"] = "Tipo de acceso";
-App::$strings["Registration Policy"] = "Normas de registro";
-App::$strings["Stats"] = "Estadísticas";
-App::$strings["Software"] = "Software";
-App::$strings["Ratings"] = "Valoraciones";
-App::$strings["Rate"] = "Valorar";
-App::$strings["Profile Photos"] = "Fotos del perfil";
+App::$strings["# Accounts"] = "# Cuentas";
+App::$strings["# blocked accounts"] = "# cuentas bloqueadas";
+App::$strings["# expired accounts"] = "# cuentas caducadas";
+App::$strings["# expiring accounts"] = "# cuentas que caducan";
+App::$strings["# Channels"] = "# Canales";
+App::$strings["# primary"] = "# primario";
+App::$strings["# clones"] = "# clones";
+App::$strings["Message queues"] = "Mensajes en cola";
+App::$strings["Your software should be updated"] = "Debe actualizar su software";
+App::$strings["Summary"] = "Sumario";
+App::$strings["Registered accounts"] = "Cuentas registradas";
+App::$strings["Pending registrations"] = "Registros pendientes";
+App::$strings["Registered channels"] = "Canales registrados";
+App::$strings["Active plugins"] = "Extensiones (plugins) activas";
+App::$strings["Version"] = "Versión";
+App::$strings["Repository version (master)"] = "Versión del repositorio (master)";
+App::$strings["Repository version (dev)"] = "Versión del repositorio (dev)";
App::$strings["Shift-reload the page or clear browser cache if the new photo does not display immediately."] = "Recargue la página o limpie el caché del navegador si la nueva foto no se muestra inmediatamente.";
App::$strings["Upload Profile Photo"] = "Subir foto de perfil";
App::$strings["Permissions denied."] = "Permisos denegados.";
+App::$strings["l, F j"] = "l j F";
+App::$strings["Link to Source"] = "Enlazar con la entrada en su ubicación original";
+App::$strings["Edit Event"] = "Editar el evento";
+App::$strings["Create Event"] = "Crear un evento";
+App::$strings["Export"] = "Exportar";
App::$strings["Import"] = "Importar";
+App::$strings["Today"] = "Hoy";
App::$strings["No channel."] = "Ningún canal.";
App::$strings["Common connections"] = "Conexiones comunes";
App::$strings["No connections in common."] = "Ninguna conexión en común.";
-App::$strings["Authentication failed."] = "Falló la autenticación.";
-App::$strings["Remote Authentication"] = "Acceso desde su servidor";
-App::$strings["Enter your channel address (e.g. channel@example.com)"] = "Introduzca la dirección del canal (p.ej. canal@ejemplo.com)";
-App::$strings["Authenticate"] = "Acceder";
App::$strings["No ratings"] = "Ninguna valoración";
App::$strings["Rating: "] = "Valoración:";
App::$strings["Website: "] = "Sitio web:";
App::$strings["Description: "] = "Descripción:";
-App::$strings["Apps"] = "Aplicaciones (apps)";
-App::$strings["No such group"] = "No se encuentra el grupo";
-App::$strings["No such channel"] = "No se encuentra el canal";
-App::$strings["forum"] = "foro";
-App::$strings["Search Results For:"] = "Buscar resultados para:";
-App::$strings["Privacy group is empty"] = "El grupo de canales está vacío";
-App::$strings["Privacy group: "] = "Grupo de canales: ";
-App::$strings["Invalid connection."] = "Conexión no válida.";
-App::$strings["Continue"] = "Continuar";
-App::$strings["Premium Channel Setup"] = "Configuración del canal premium";
-App::$strings["Enable premium channel connection restrictions"] = "Habilitar restricciones de conexión del canal premium";
-App::$strings["Please enter your restrictions or conditions, such as paypal receipt, usage guidelines, etc."] = "Por favor introduzca sus restricciones o condiciones, como recibo de paypal, normas de uso, etc.";
-App::$strings["This channel may require additional steps or acknowledgement of the following conditions prior to connecting:"] = "Este canal puede requerir antes de conectar unos pasos adicionales o el conocimiento de las siguientes condiciones:";
-App::$strings["Potential connections will then see the following text before proceeding:"] = "Las posibles conexiones verán, por tanto, el siguiente texto antes de proceder:";
-App::$strings["By continuing, I certify that I have complied with any instructions provided on this page."] = "Al continuar, certifico que he cumplido con todas las instrucciones proporcionadas en esta página.";
-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["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. 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["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["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["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 13 years of age and accept the %s for this website"] = "Tengo más de 13 años de edad y acepto los %s de este sitio";
+App::$strings["Your email address"] = "Su dirección de correo electrónico";
+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["no"] = "no";
+App::$strings["yes"] = "sí";
+App::$strings["Membership on this site is by invitation only."] = "Para registrarse en este sitio es necesaria una invitación.";
+App::$strings["Register"] = "Registrarse";
+App::$strings["This site may require email verification after submitting this form. If you are returned to a login page, please check your email for instructions."] = "Este sitio puede requerir una verificación de correo electrónico después de enviar este formulario. Si es devuelto a una página de inicio de sesión, compruebe su email para recibir y leer las instrucciones.";
+App::$strings["Documentation Search"] = "Búsqueda de Documentación";
+App::$strings["\$Projectname Documentation"] = "Documentación de \$Projectname";
App::$strings["Select a bookmark folder"] = "Seleccionar una carpeta de marcadores";
App::$strings["Save Bookmark"] = "Guardar marcador";
App::$strings["URL of bookmark"] = "Dirección del marcador";
App::$strings["Or enter new bookmark folder name"] = "O introduzca un nuevo nombre para la carpeta de marcadores";
-App::$strings["Page owner information could not be retrieved."] = "La información del propietario de la página no pudo ser recuperada.";
-App::$strings["Album not found."] = "Álbum no encontrado.";
-App::$strings["Delete Album"] = "Borrar álbum";
-App::$strings["Multiple storage folders exist with this album name, but within different directories. Please remove the desired folder or folders using the Files manager"] = "Hay varias carpetas con este nombre de álbum, pero dentro de diferentes directorios. Por favor, elimine la carpeta o carpetas que desee utilizando el administrador de ficheros";
-App::$strings["Delete Photo"] = "Borrar foto";
-App::$strings["No photos selected"] = "No hay fotos seleccionadas";
-App::$strings["Access to this item is restricted."] = "El acceso a este elemento está restringido.";
-App::$strings["%1$.2f MB of %2$.2f MB photo storage used."] = "%1$.2f MB de %2$.2f MB de almacenamiento de fotos utilizado.";
-App::$strings["%1$.2f MB photo storage used."] = "%1$.2f MB de almacenamiento de fotos utilizado.";
-App::$strings["Upload Photos"] = "Subir fotos";
-App::$strings["Enter an album name"] = "Introducir un nombre de álbum";
-App::$strings["or select an existing album (doubleclick)"] = "o seleccionar uno existente (doble click)";
-App::$strings["Create a status post for this upload"] = "Crear un mensaje de estado para esta subida";
-App::$strings["Caption (optional):"] = "Título (opcional):";
-App::$strings["Description (optional):"] = "Descripción (opcional):";
-App::$strings["Album name could not be decoded"] = "El nombre del álbum no ha podido ser descifrado";
-App::$strings["Contact Photos"] = "Fotos de contacto";
-App::$strings["Show Newest First"] = "Mostrar lo más reciente primero";
-App::$strings["Show Oldest First"] = "Mostrar lo más antiguo primero";
-App::$strings["View Photo"] = "Ver foto";
-App::$strings["Edit Album"] = "Editar álbum";
-App::$strings["Permission denied. Access to this item may be restricted."] = "Permiso denegado. El acceso a este elemento puede estar restringido.";
-App::$strings["Photo not available"] = "Foto no disponible";
-App::$strings["Use as profile photo"] = "Usar como foto del perfil";
-App::$strings["Use as cover photo"] = "Usar como imagen de portada del perfil";
-App::$strings["Private Photo"] = "Foto privada";
-App::$strings["View Full Size"] = "Ver tamaño completo";
-App::$strings["Edit photo"] = "Editar foto";
-App::$strings["Rotate CW (right)"] = "Girar CW (a la derecha)";
-App::$strings["Rotate CCW (left)"] = "Girar CCW (a la izquierda)";
-App::$strings["Enter a new album name"] = "Introducir un nuevo nombre de álbum";
-App::$strings["or select an existing one (doubleclick)"] = "o seleccionar uno (doble click) existente";
-App::$strings["Caption"] = "Título";
-App::$strings["Add a Tag"] = "Añadir una etiqueta";
-App::$strings["Example: @bob, @Barbara_Jensen, @jim@example.com"] = "Ejemplos: @eva, @Carmen_Osuna, @jaime@ejemplo.com";
-App::$strings["Flag as adult in album view"] = "Marcar como \"solo para adultos\" en el álbum";
-App::$strings["I like this (toggle)"] = "Me gusta (cambiar)";
-App::$strings["I don't like this (toggle)"] = "No me gusta esto (cambiar)";
-App::$strings["Please wait"] = "Espere por favor";
-App::$strings["This is you"] = "Este es usted";
-App::$strings["Comment"] = "Comentar";
-App::$strings["__ctx:title__ Likes"] = "Me gusta";
-App::$strings["__ctx:title__ Dislikes"] = "No me gusta";
-App::$strings["__ctx:title__ Agree"] = "De acuerdo";
-App::$strings["__ctx:title__ Disagree"] = "En desacuerdo";
-App::$strings["__ctx:title__ Abstain"] = "Abstención";
-App::$strings["__ctx:title__ Attending"] = "Participaré";
-App::$strings["__ctx:title__ Not attending"] = "No participaré";
-App::$strings["__ctx:title__ Might attend"] = "Quizá participe";
-App::$strings["View all"] = "Ver todo";
-App::$strings["__ctx:noun__ Like"] = array(
- 0 => "Me gusta",
- 1 => "Me gusta",
-);
-App::$strings["__ctx:noun__ Dislike"] = array(
- 0 => "No me gusta",
- 1 => "No me gusta",
-);
-App::$strings["Photo Tools"] = "Gestión de las fotos";
-App::$strings["In This Photo:"] = "En esta foto:";
-App::$strings["Map"] = "Mapa";
-App::$strings["__ctx:noun__ Likes"] = "Me gusta";
-App::$strings["__ctx:noun__ Dislikes"] = "No me gusta";
-App::$strings["Close"] = "Cerrar";
-App::$strings["View Album"] = "Ver álbum";
-App::$strings["Recent Photos"] = "Fotos recientes";
+App::$strings["Authentication failed."] = "Falló la autenticación.";
+App::$strings["Remote Authentication"] = "Acceso desde su servidor";
+App::$strings["Enter your channel address (e.g. channel@example.com)"] = "Introduzca la dirección del canal (p.ej. canal@ejemplo.com)";
+App::$strings["Authenticate"] = "Acceder";
App::$strings["Please login."] = "Por favor, inicie sesión.";
App::$strings["Account removals are not allowed within 48 hours of changing the account password."] = "La eliminación de cuentas no está permitida hasta después de que hayan transcurrido 48 horas desde el último cambio de contraseña.";
App::$strings["Remove This Account"] = "Eliminar esta cuenta";
-App::$strings["WARNING: "] = "ATENCIÓN:";
App::$strings["This account and all its channels will be completely removed from the network. "] = "Esta cuenta y todos sus canales van a ser eliminados de la red.";
-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 this account, all its channels and all its channel clones from the network"] = "Remover esta cuenta, todos sus canales y clones de la red";
App::$strings["By default only the instances of the channels located on this hub will be removed from the network"] = "Por defecto, solo las instancias de los canales ubicados en este servidor serán eliminados de la red";
App::$strings["Remove Account"] = "Eliminar cuenta";
-App::$strings["Channel removals are not allowed within 48 hours of changing the account password."] = "La eliminación de canales no está permitida hasta pasadas 48 horas desde el último cambio de contraseña.";
-App::$strings["Remove This Channel"] = "Eliminar este canal";
-App::$strings["This channel will be completely removed from the network. "] = "Este canal va a ser completamente eliminado de la red.";
-App::$strings["Remove this channel and all its clones from the network"] = "Eliminar este canal y todos sus clones de la red";
-App::$strings["By default only the instance of the channel located on this hub will be removed from the network"] = "Por defecto, solo la instancia del canal alojado en este servidor será eliminado de la red";
-App::$strings["Remove Channel"] = "Eliminar el canal";
-App::$strings["Export Channel"] = "Exportar el canal";
-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."] = "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.";
-App::$strings["Export Content"] = "Exportar contenidos";
-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."] = "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.";
-App::$strings["Export your posts from a given year."] = "Exporta sus publicaciones de un año dado.";
-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."] = "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.";
-App::$strings["To select all posts for a given year, such as this year, visit <a href=\"%1\$s\">%2\$s</a>"] = "Para seleccionar todos los mensajes de un año determinado, como este año, visite <a href=\"%1\$s\">%2\$s</a>";
-App::$strings["To select all posts for a given month, such as January of this year, visit <a href=\"%1\$s\">%2\$s</a>"] = "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>";
-App::$strings["These content files may be imported or restored by visiting <a href=\"%1\$s\">%2\$s</a> on any site containing your channel. For best results please import or restore these in date order (oldest first)."] = "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).";
App::$strings["Import Webpage Elements"] = "Importar elementos de una página web";
App::$strings["Import selected"] = "Importar elementos seleccionados";
+App::$strings["Export Webpage Elements"] = "Exportar elementos de una página web";
+App::$strings["Export selected"] = "Exportar elementos seleccionados";
App::$strings["Webpages"] = "Páginas web";
App::$strings["Actions"] = "Acciones";
App::$strings["Page Link"] = "Vínculo de la página";
@@ -1217,38 +1147,94 @@ App::$strings["Error opening zip file"] = "Error al abrir el fichero comprimido
App::$strings["Invalid folder path."] = "La ruta de la carpeta no es válida.";
App::$strings["No webpage elements detected."] = "No se han detectado elementos de ninguna página web.";
App::$strings["Import complete."] = "Importación completada.";
+App::$strings["Export Channel"] = "Exportar el canal";
+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."] = "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.";
+App::$strings["Export Content"] = "Exportar contenidos";
+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."] = "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.";
+App::$strings["Export your posts from a given year."] = "Exporta sus publicaciones de un año dado.";
+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."] = "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.";
+App::$strings["To select all posts for a given year, such as this year, visit <a href=\"%1\$s\">%2\$s</a>"] = "Para seleccionar todos los mensajes de un año determinado, como este año, visite <a href=\"%1\$s\">%2\$s</a>";
+App::$strings["To select all posts for a given month, such as January of this year, visit <a href=\"%1\$s\">%2\$s</a>"] = "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>";
+App::$strings["These content files may be imported or restored by visiting <a href=\"%1\$s\">%2\$s</a> on any site containing your channel. For best results please import or restore these in date order (oldest first)."] = "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).";
+App::$strings["Item is not editable"] = "El elemento no es editable";
App::$strings["Items tagged with: %s"] = "elementos etiquetados con: %s";
App::$strings["Search results for: %s"] = "Resultados de la búsqueda para: %s";
+App::$strings["Calendar entries imported."] = "Entradas de calendario importadas.";
+App::$strings["No calendar entries found."] = "No se han encontrado entradas de calendario.";
+App::$strings["Event can not end before it has started."] = "Un evento no puede terminar antes de que haya comenzado.";
+App::$strings["Unable to generate preview."] = "No se puede crear la vista previa.";
+App::$strings["Event title and start time are required."] = "Se requieren el título del evento y su hora de inicio.";
+App::$strings["Event not found."] = "Evento no encontrado.";
+App::$strings["Edit event title"] = "Editar el título del evento";
+App::$strings["Event title"] = "Título del evento";
+App::$strings["Categories (comma-separated list)"] = "Temas (lista separada por comas)";
+App::$strings["Edit Category"] = "Modificar el tema";
+App::$strings["Category"] = "Tema";
+App::$strings["Edit start date and time"] = "Modificar la fecha y hora de comienzo";
+App::$strings["Start date and time"] = "Fecha y hora de comienzo";
+App::$strings["Finish date and time are not known or not relevant"] = "La fecha y hora de terminación no se conocen o no son relevantes";
+App::$strings["Edit finish date and time"] = "Modificar la fecha y hora de terminación";
+App::$strings["Finish date and time"] = "Fecha y hora de terminación";
+App::$strings["Adjust for viewer timezone"] = "Ajustar para obtener el visor de los husos horarios";
+App::$strings["Important for events that happen in a particular place. Not practical for global holidays."] = "Importante para los eventos que suceden en un lugar determinado. No es práctico para los globales.";
+App::$strings["Edit Description"] = "Editar la descripción";
+App::$strings["Edit Location"] = "Modificar la dirección";
+App::$strings["Share this event"] = "Compartir este evento";
+App::$strings["Permission settings"] = "Configuración de permisos";
+App::$strings["Advanced Options"] = "Opciones avanzadas";
+App::$strings["Edit event"] = "Editar evento";
+App::$strings["Delete event"] = "Borrar evento";
+App::$strings["calendar"] = "calendario";
+App::$strings["Month"] = "Mes";
+App::$strings["Week"] = "Semana";
+App::$strings["Day"] = "Día";
+App::$strings["Event removed"] = "Evento borrado";
+App::$strings["Failed to remove event"] = "Error al eliminar el evento";
App::$strings["No service class restrictions found."] = "No se han encontrado restricciones sobre esta clase de servicio.";
-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. 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["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["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["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 13 years of age and accept the %s for this website"] = "Tengo más de 13 años de edad y acepto los %s de este sitio";
-App::$strings["Your email address"] = "Su dirección de correo electrónico";
-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["no"] = "no";
-App::$strings["yes"] = "sí";
-App::$strings["Membership on this site is by invitation only."] = "Para registrarse en este sitio es necesaria una invitación.";
-App::$strings["Register"] = "Registrarse";
-App::$strings["This site may require email verification after submitting this form. If you are returned to a login page, please check your email for instructions."] = "Este sitio puede requerir una verificación de correo electrónico después de enviar este formulario. Si es devuelto a una página de inicio de sesión, compruebe su email para recibir y leer las instrucciones.";
-App::$strings["Edit post"] = "Editar la entrada";
+App::$strings["Thing updated"] = "Elemento actualizado.";
+App::$strings["Object store: failed"] = "Guardar objeto: ha fallado";
+App::$strings["Thing added"] = "Elemento añadido";
+App::$strings["OBJ: %1\$s %2\$s %3\$s"] = "OBJ: %1\$s %2\$s %3\$s";
+App::$strings["Show Thing"] = "Mostrar elemento";
+App::$strings["item not found."] = "elemento no encontrado.";
+App::$strings["Edit Thing"] = "Editar elemento";
+App::$strings["Select a profile"] = "Seleccionar un perfil";
+App::$strings["Post an activity"] = "Publicar una actividad";
+App::$strings["Only sends to viewers of the applicable profile"] = "Sólo enviar a espectadores del perfil pertinente.";
+App::$strings["Name of thing e.g. something"] = "Nombre del elemento, p. ej.:. \"algo\"";
+App::$strings["URL of thing (optional)"] = "Dirección del elemento (opcional)";
+App::$strings["URL for photo of thing (optional)"] = "Dirección para la foto o elemento (opcional)";
+App::$strings["Add Thing to your Profile"] = "Añadir alguna cosa a su perfil";
+App::$strings["Unable to locate original post."] = "No ha sido posible encontrar la entrada original.";
+App::$strings["Empty post discarded."] = "La entrada vacía ha sido desechada.";
+App::$strings["Executable content type not permitted to this channel."] = "Contenido de tipo ejecutable no permitido en este canal.";
+App::$strings["Duplicate post suppressed."] = "Se ha suprimido la entrada duplicada.";
+App::$strings["System error. Post not saved."] = "Error del sistema. La entrada no se ha podido salvar.";
+App::$strings["Unable to obtain post information from database."] = "No ha sido posible obtener información de la entrada en la base de datos.";
+App::$strings["You have reached your limit of %1$.0f top level posts."] = "Ha alcanzado su límite de %1$.0f entradas en la página principal.";
+App::$strings["You have reached your limit of %1$.0f webpages."] = "Ha alcanzado su límite de %1$.0f páginas web.";
App::$strings["Files: shared with me"] = "Ficheros: compartidos conmigo";
App::$strings["NEW"] = "NUEVO";
App::$strings["Remove all files"] = "Eliminar todos los ficheros";
App::$strings["Remove this file"] = "Eliminar este fichero";
-App::$strings["network"] = "red";
-App::$strings["RSS"] = "RSS";
+App::$strings["Not found"] = "No encontrado";
+App::$strings["Wiki"] = "Wiki";
+App::$strings["Sandbox"] = "Entorno de edición";
+App::$strings["\"# Wiki Sandbox\\n\\nContent you **edit** and **preview** here *will not be saved*.\""] = "\"# Entorno de edición del Wiki\\n\\nEl contenido que se **edite** y **previsualizce** aquí *no se guardará*.\"";
+App::$strings["Revision Comparison"] = "Comparación de revisiones";
+App::$strings["Revert"] = "Revertir";
+App::$strings["Enter the name of your new wiki:"] = "Nombre de su nuevo wiki:";
+App::$strings["Enter the name of the new page:"] = "Nombre de la nueva página:";
+App::$strings["Enter the new name:"] = "Nuevo nombre:";
+App::$strings["Embed image from photo albums"] = "Incluir una imagen de los álbumes de fotos";
+App::$strings["Embed an image from your albums"] = "Incluir una imagen de sus álbumes";
+App::$strings["OK"] = "OK";
+App::$strings["Choose images to embed"] = "Elegir imágenes para incluir";
+App::$strings["Choose an album"] = "Elegir un álbum";
+App::$strings["Choose a different album..."] = "Elegir un álbum diferente...";
+App::$strings["Error getting album list"] = "Error al obtener la lista de álbumes";
+App::$strings["Error getting photo link"] = "Error al obtener el enlace de la foto";
+App::$strings["Error getting album"] = "Error al obtener el álbum";
App::$strings["Failed to create source. No channel selected."] = "No se ha podido crear el origen de los contenidos. No ha sido seleccionado ningún canal.";
App::$strings["Source created."] = "Fuente creada.";
App::$strings["Source updated."] = "Fuente actualizada.";
@@ -1271,97 +1257,79 @@ App::$strings["%1\$s is following %2\$s's %3\$s"] = "%1\$s está siguiendo %3\$s
App::$strings["%1\$s stopped following %2\$s's %3\$s"] = "%1\$s ha dejado de seguir %3\$s de %2\$s";
App::$strings["No suggestions available. If this is a new site, please try again in 24 hours."] = "No hay sugerencias disponibles. Si es un sitio nuevo, espere 24 horas y pruebe de nuevo.";
App::$strings["Ignore/Hide"] = "Ignorar/Ocultar";
+App::$strings["Channel Suggestions"] = "Sugerencias de canales";
App::$strings["post"] = "la entrada";
App::$strings["comment"] = "el comentario";
App::$strings["%1\$s tagged %2\$s's %3\$s with %4\$s"] = "%1\$s ha etiquetado %3\$s de %2\$s con %4\$s";
App::$strings["Tag removed"] = "Etiqueta eliminada.";
App::$strings["Remove Item Tag"] = "Eliminar etiqueta del elemento.";
App::$strings["Select a tag to remove: "] = "Seleccionar una etiqueta para eliminar:";
-App::$strings["Invalid message"] = "Mensaje no válido";
-App::$strings["no results"] = "sin resultados";
-App::$strings["channel sync processed"] = "se ha realizado la sincronización del canal";
-App::$strings["queued"] = "encolado";
-App::$strings["posted"] = "enviado";
-App::$strings["accepted for delivery"] = "aceptado para el envío";
-App::$strings["updated"] = "actualizado";
-App::$strings["update ignored"] = "actualización ignorada";
-App::$strings["permission denied"] = "permiso denegado";
-App::$strings["recipient not found"] = "destinatario no encontrado";
-App::$strings["mail recalled"] = "mensaje de correo revocado";
-App::$strings["duplicate mail received"] = "se ha recibido mensaje duplicado";
-App::$strings["mail delivered"] = "correo enviado";
-App::$strings["Delivery report for %1\$s"] = "Informe de entrega para %1\$s";
-App::$strings["Options"] = "Opciones";
-App::$strings["Redeliver"] = "Volver a enviar";
-App::$strings["Name is required"] = "El nombre es obligatorio";
-App::$strings["Key and Secret are required"] = "\"Key\" y \"Secret\" son obligatorios";
-App::$strings["This channel is limited to %d tokens"] = "Este canal tiene un límite de %d tokens";
-App::$strings["Name and Password are required."] = "Se requiere el nombre y la contraseña.";
-App::$strings["Token saved."] = "Token salvado.";
+App::$strings["Channel added."] = "Canal añadido.";
+App::$strings["No connections."] = "Sin conexiones.";
+App::$strings["Visit %s's profile [%s]"] = "Visitar el perfil de %s [%s]";
+App::$strings["View Connections"] = "Ver conexiones";
+App::$strings["Source of Item"] = "Origen del elemento";
+App::$strings["Room not found"] = "Sala no encontrada";
+App::$strings["Leave Room"] = "Abandonar la sala";
+App::$strings["Delete Room"] = "Eliminar esta sala";
+App::$strings["I am away right now"] = "Estoy ausente momentáneamente";
+App::$strings["I am online"] = "Estoy conectado/a";
+App::$strings["Bookmark this room"] = "Añadir esta sala a Marcadores";
+App::$strings["New Chatroom"] = "Nueva sala de chat";
+App::$strings["Chatroom name"] = "Nombre de la sala de chat";
+App::$strings["Expiration of chats (minutes)"] = "Caducidad de los mensajes en los chats (en minutos)";
+App::$strings["%1\$s's Chatrooms"] = "Salas de chat de %1\$s";
+App::$strings["No chatrooms available"] = "No hay salas de chat disponibles";
+App::$strings["Expiration"] = "Caducidad";
+App::$strings["min"] = "min";
+App::$strings["Xchan Lookup"] = "Búsqueda de canales";
+App::$strings["Lookup xchan beginning with (or webbie): "] = "Buscar un canal (o un \"webbie\") que comience por:";
+App::$strings["%d rating"] = array(
+ 0 => "%d valoración",
+ 1 => "%d valoraciones",
+);
+App::$strings["Gender: "] = "Género:";
+App::$strings["Status: "] = "Estado:";
+App::$strings["Homepage: "] = "Página personal:";
+App::$strings["Age:"] = "Edad:";
+App::$strings["Location:"] = "Ubicación:";
+App::$strings["Description:"] = "Descripción:";
+App::$strings["Hometown:"] = "Lugar de nacimiento:";
+App::$strings["About:"] = "Sobre mí:";
+App::$strings["Public Forum:"] = "Foro público:";
+App::$strings["Keywords: "] = "Palabras clave:";
+App::$strings["Don't suggest"] = "No sugerir:";
+App::$strings["Common connections:"] = "Conexiones comunes:";
+App::$strings["Global Directory"] = "Directorio global:";
+App::$strings["Local Directory"] = "Directorio local:";
+App::$strings["Finding:"] = "Encontrar:";
+App::$strings["next page"] = "siguiente página";
+App::$strings["previous page"] = "página anterior";
+App::$strings["Sort options"] = "Ordenar opciones";
+App::$strings["Alphabetic"] = "Alfabético";
+App::$strings["Reverse Alphabetic"] = "Alfabético inverso";
+App::$strings["Newest to Oldest"] = "De más nuevo a más antiguo";
+App::$strings["Oldest to Newest"] = "De más antiguo a más nuevo";
+App::$strings["No entries (some entries may be hidden)."] = "Sin entradas (algunas entradas pueden estar ocultas).";
App::$strings["Not valid email."] = "Correo electrónico no válido.";
App::$strings["Protected email address. Cannot change to that email."] = "Dirección de correo electrónico protegida. No se puede cambiar a ella.";
App::$strings["System failure storing new email. Please try again."] = "Fallo de sistema al guardar el nuevo correo electrónico. Por favor, inténtelo de nuevo.";
+App::$strings["Technical skill level updated"] = "Nivel de habilidad técnica actualizado";
App::$strings["Password verification failed."] = "La comprobación de la contraseña ha fallado.";
App::$strings["Passwords do not match. Password unchanged."] = "Las contraseñas no coinciden. La contraseña no se ha cambiado.";
App::$strings["Empty passwords are not allowed. Password unchanged."] = "No se permiten contraseñas vacías. La contraseña no se ha cambiado.";
App::$strings["Password changed."] = "Contraseña cambiada.";
App::$strings["Password update failed. Please try again."] = "La actualización de la contraseña ha fallado. Por favor, inténtalo de nuevo.";
-App::$strings["Settings updated."] = "Ajustes actualizados.";
-App::$strings["Add application"] = "Añadir aplicación";
-App::$strings["Name of application"] = "Nombre de la aplicación";
-App::$strings["Consumer Key"] = "Consumer Key";
-App::$strings["Automatically generated - change if desired. Max length 20"] = "Generado automáticamente - si lo desea, cámbielo. Longitud máxima: 20";
-App::$strings["Consumer Secret"] = "Consumer Secret";
-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["Application not found."] = "Aplicación no encontrada.";
-App::$strings["Connected Apps"] = "Aplicaciones (apps) conectadas";
-App::$strings["Client key starts with"] = "La \"client key\" empieza por";
-App::$strings["No name"] = "Sin nombre";
-App::$strings["Remove authorization"] = "Eliminar autorización";
-App::$strings["No feature settings configured"] = "No se ha establecido la configuración de los complementos";
-App::$strings["Feature/Addon Settings"] = "Ajustes de los complementos";
App::$strings["Account Settings"] = "Configuración de la cuenta";
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["Your technical skill level"] = "Su nivel de habilidad técnica";
+App::$strings["Used to provide a member experience matched to your comfort level"] = "Se utiliza para proporcionar la experiencia de los miembros adaptada a su nivel de comodidad";
App::$strings["Email Address:"] = "Dirección de correo electrónico:";
App::$strings["Remove this account including all its channels"] = "Eliminar esta cuenta incluyendo todos sus canales";
-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."] = "Utilice este formulario para crear identificadores de acceso temporal para compartir cosas con los no miembros de Hubzilla. Estas identidades se pueden usar en las Listas de control de acceso (ACL) y así los visitantes pueden iniciar sesión, utilizando estas credenciales, para acceder a su contenido privado.";
-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:"] = "También puede proporcionar, con el estilo <em>dropbox</em>, enlaces de acceso a sus amigos y asociados añadiendo la contraseña de inicio de sesión a cualquier dirección URL, como se muestra. Ejemplos: ";
-App::$strings["Guest Access Tokens"] = "Tokens de acceso para invitados";
-App::$strings["Login Name"] = "Nombre de inicio de sesión";
-App::$strings["Login Password"] = "Contraseña de inicio de sesión";
-App::$strings["Expires (yyyy-mm-dd)"] = "Expira (aaaa-mm-dd)";
-App::$strings["Additional Features"] = "Funcionalidades";
-App::$strings["Connector Settings"] = "Configuración del conector";
-App::$strings["No special theme for mobile devices"] = "Sin tema especial para dispositivos móviles";
-App::$strings["%s - (Experimental)"] = "%s - (Experimental)";
-App::$strings["Display Settings"] = "Ajustes de visualización";
-App::$strings["Theme Settings"] = "Ajustes del tema";
-App::$strings["Custom Theme Settings"] = "Ajustes personalizados del tema";
-App::$strings["Content Settings"] = "Ajustes del contenido";
-App::$strings["Display Theme:"] = "Tema gráfico del perfil:";
-App::$strings["Select scheme"] = "Elegir un esquema";
-App::$strings["Mobile Theme:"] = "Tema para el móvil:";
-App::$strings["Preload images before rendering the page"] = "Carga previa de las imágenes antes de generar la página";
-App::$strings["The subjective page load time will be longer but the page will be ready when displayed"] = "El tiempo subjetivo de carga de la página será más largo, pero la página estará lista cuando se muestre.";
-App::$strings["Enable user zoom on mobile devices"] = "Habilitar zoom de usuario en dispositivos móviles";
-App::$strings["Update browser every xx seconds"] = "Actualizar navegador cada xx segundos";
-App::$strings["Minimum of 10 seconds, no maximum"] = "Mínimo de 10 segundos, sin máximo";
-App::$strings["Maximum number of conversations to load at any time:"] = "Máximo número de conversaciones a cargar en cualquier momento:";
-App::$strings["Maximum of 100 items"] = "Máximo de 100 elementos";
-App::$strings["Show emoticons (smilies) as images"] = "Mostrar emoticonos (smilies) como imágenes";
-App::$strings["Link post titles to source"] = "Enlazar título de la publicación a la fuente original";
-App::$strings["System Page Layout Editor - (advanced)"] = "Editor de plantilla de página del sistema - (avanzado)";
-App::$strings["Use blog/list mode on channel page"] = "Usar modo blog/lista en la página de inicio del canal";
-App::$strings["(comments displayed separately)"] = "(comentarios mostrados de forma separada)";
-App::$strings["Use blog/list mode on grid page"] = "Mostrar mi red en modo blog";
-App::$strings["Channel page max height of content (in pixels)"] = "Altura máxima del contenido de la página del canal (en píxeles)";
-App::$strings["click to expand content exceeding this height"] = "Pulsar para expandir el contenido que exceda de esta altura";
-App::$strings["Grid page max height of content (in pixels)"] = "Altura máxima del contenido de mi red (en píxeles)";
+App::$strings["Settings updated."] = "Ajustes actualizados.";
App::$strings["Nobody except yourself"] = "Nadie excepto usted";
App::$strings["Only those you specifically allow"] = "Solo aquellos a los que usted permita explícitamente";
App::$strings["Approved connections"] = "Conexiones aprobadas";
@@ -1393,7 +1361,7 @@ App::$strings["Private - <em>default private, never open or public</em>"] = "Pri
App::$strings["Blocked - <em>default blocked to/from everybody</em>"] = "Bloqueado - <em>por defecto, bloqueado/a para cualquiera</em>";
App::$strings["Allow others to tag your posts"] = "Permitir a otros etiquetar sus publicaciones";
App::$strings["Often used by the community to retro-actively flag inappropriate content"] = "A menudo usado por la comunidad para marcar contenido inapropiado de forma retroactiva.";
-App::$strings["Advanced Privacy Settings"] = "Configuración de privacidad avanzada";
+App::$strings["Channel Permission Limits"] = "Límites de los permisos del canal";
App::$strings["Expire other channel content after this many days"] = "Caducar contenido de otros canales después de este número de días";
App::$strings["0 or blank to use the website limit."] = "0 o en blanco para usar el límite del sitio web.";
App::$strings["This website expires after %d days."] = "Este sitio web caduca después de %d días.";
@@ -1401,7 +1369,7 @@ App::$strings["This website does not expire imported content."] = "Este sitio we
App::$strings["The website limit takes precedence if lower than your limit."] = "El límite del sitio web tiene prioridad si es inferior a su propio límite.";
App::$strings["Maximum Friend Requests/Day:"] = "Máximo de solicitudes de amistad por día:";
App::$strings["May reduce spam activity"] = "Podría reducir la actividad de spam";
-App::$strings["Default Post and Publish Permissions"] = "Permisos predeterminados de entradas y publicaciones";
+App::$strings["Default Access Control List (ACL)"] = "Lista de control de acceso (ACL) por defecto";
App::$strings["Use my default audience setting for the type of object published"] = "Usar los ajustes de mi audiencia predeterminada para el tipo de publicación";
App::$strings["Channel permissions category:"] = "Categoría de los permisos del canal:";
App::$strings["Maximum private messages per day from unknown people:"] = "Máximo de mensajes privados por día de gente desconocida:";
@@ -1439,7 +1407,6 @@ App::$strings["Notify me of events this many days in advance"] = "Avisarme de lo
App::$strings["Must be greater than 0"] = "Debe ser mayor que 0";
App::$strings["Advanced Account/Page Type Settings"] = "Ajustes avanzados de la cuenta y de los tipos de página";
App::$strings["Change the behaviour of this account for special situations"] = "Cambiar el comportamiento de esta cuenta en situaciones especiales";
-App::$strings["Please enable expert mode (in <a href=\"settings/features\">Settings > Additional features</a>) to adjust!"] = "¡Activar el modo de experto (en <a href=\"settings/features\">Ajustes > Funcionalidades</a>) para realizar cambios!.";
App::$strings["Miscellaneous Settings"] = "Ajustes diversos";
App::$strings["Default photo upload folder"] = "Carpeta por defecto de las fotos subidas";
App::$strings["%Y - current year, %m - current month"] = "%Y - año en curso, %m - mes actual";
@@ -1448,13 +1415,58 @@ App::$strings["Personal menu to display in your channel pages"] = "Menú persona
App::$strings["Remove this channel."] = "Eliminar este canal.";
App::$strings["Firefox Share \$Projectname provider"] = "Servicio de compartición de Firefox: proveedor \$Projectname";
App::$strings["Start calendar week on monday"] = "Comenzar el calendario semanal por el lunes";
-App::$strings["No connections."] = "Sin conexiones.";
-App::$strings["Visit %s's profile [%s]"] = "Visitar el perfil de %s [%s]";
-App::$strings["View Connections"] = "Ver conexiones";
-App::$strings["Source of Item"] = "Origen del elemento";
-App::$strings["Item is not editable"] = "El elemento no es editable";
-App::$strings["Xchan Lookup"] = "Búsqueda de canales";
-App::$strings["Lookup xchan beginning with (or webbie): "] = "Buscar un canal (o un \"webbie\") que comience por:";
+App::$strings["No special theme for mobile devices"] = "Sin tema especial para dispositivos móviles";
+App::$strings["%s - (Experimental)"] = "%s - (Experimental)";
+App::$strings["Display Settings"] = "Ajustes de visualización";
+App::$strings["Theme Settings"] = "Ajustes del tema";
+App::$strings["Custom Theme Settings"] = "Ajustes personalizados del tema";
+App::$strings["Content Settings"] = "Ajustes del contenido";
+App::$strings["Display Theme:"] = "Tema gráfico del perfil:";
+App::$strings["Select scheme"] = "Elegir un esquema";
+App::$strings["Mobile Theme:"] = "Tema para el móvil:";
+App::$strings["Preload images before rendering the page"] = "Carga previa de las imágenes antes de generar la página";
+App::$strings["The subjective page load time will be longer but the page will be ready when displayed"] = "El tiempo subjetivo de carga de la página será más largo, pero la página estará lista cuando se muestre.";
+App::$strings["Enable user zoom on mobile devices"] = "Habilitar zoom de usuario en dispositivos móviles";
+App::$strings["Update browser every xx seconds"] = "Actualizar navegador cada xx segundos";
+App::$strings["Minimum of 10 seconds, no maximum"] = "Mínimo de 10 segundos, sin máximo";
+App::$strings["Maximum number of conversations to load at any time:"] = "Máximo número de conversaciones a cargar en cualquier momento:";
+App::$strings["Maximum of 100 items"] = "Máximo de 100 elementos";
+App::$strings["Show emoticons (smilies) as images"] = "Mostrar emoticonos (smilies) como imágenes";
+App::$strings["Link post titles to source"] = "Enlazar título de la publicación a la fuente original";
+App::$strings["System Page Layout Editor - (advanced)"] = "Editor de plantilla de página del sistema - (avanzado)";
+App::$strings["Use blog/list mode on channel page"] = "Usar modo blog/lista en la página de inicio del canal";
+App::$strings["(comments displayed separately)"] = "(comentarios mostrados de forma separada)";
+App::$strings["Use blog/list mode on grid page"] = "Mostrar mi red en modo blog";
+App::$strings["Channel page max height of content (in pixels)"] = "Altura máxima del contenido de la página del canal (en píxeles)";
+App::$strings["click to expand content exceeding this height"] = "Pulsar para expandir el contenido que exceda de esta altura";
+App::$strings["Grid page max height of content (in pixels)"] = "Altura máxima del contenido de mi red (en píxeles)";
+App::$strings["No feature settings configured"] = "No se ha establecido la configuración de los complementos";
+App::$strings["Feature/Addon Settings"] = "Ajustes de los complementos";
+App::$strings["Additional Features"] = "Funcionalidades";
+App::$strings["Name is required"] = "El nombre es obligatorio";
+App::$strings["Key and Secret are required"] = "\"Key\" y \"Secret\" son obligatorios";
+App::$strings["Add application"] = "Añadir aplicación";
+App::$strings["Name of application"] = "Nombre de la aplicación";
+App::$strings["Consumer Key"] = "Consumer Key";
+App::$strings["Automatically generated - change if desired. Max length 20"] = "Generado automáticamente - si lo desea, cámbielo. Longitud máxima: 20";
+App::$strings["Consumer Secret"] = "Consumer Secret";
+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["Application not found."] = "Aplicación no encontrada.";
+App::$strings["Connected Apps"] = "Aplicaciones (apps) conectadas";
+App::$strings["Client key starts with"] = "La \"client key\" empieza por";
+App::$strings["No name"] = "Sin nombre";
+App::$strings["Remove authorization"] = "Eliminar autorización";
+App::$strings["This channel is limited to %d tokens"] = "Este canal tiene un límite de %d tokens";
+App::$strings["Name and Password are required."] = "Se requiere el nombre y la contraseña.";
+App::$strings["Token saved."] = "Token salvado.";
+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."] = "Utilice este formulario para crear identificadores de acceso temporal para compartir cosas con los no miembros de Hubzilla. Estas identidades se pueden usar en las Listas de control de acceso (ACL) y así los visitantes pueden iniciar sesión, utilizando estas credenciales, para acceder a su contenido privado.";
+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:"] = "También puede proporcionar, con el estilo <em>dropbox</em>, enlaces de acceso a sus amigos y asociados añadiendo la contraseña de inicio de sesión a cualquier dirección URL, como se muestra. Ejemplos: ";
+App::$strings["Guest Access Tokens"] = "Tokens de acceso para invitados";
+App::$strings["Login Name"] = "Nombre de inicio de sesión";
+App::$strings["Login Password"] = "Contraseña de inicio de sesión";
+App::$strings["Expires (yyyy-mm-dd)"] = "Expira (aaaa-mm-dd)";
App::$strings["Missing room name"] = "Sala de chat sin nombre";
App::$strings["Duplicate room name"] = "Nombre de sala duplicado.";
App::$strings["Invalid room specifier."] = "Especificador de sala no válido.";
@@ -1465,7 +1477,7 @@ App::$strings["\$projectname"] = "\$projectname";
App::$strings["Thank You,"] = "Gracias,";
App::$strings["%s Administrator"] = "%s Administrador";
App::$strings["%s <!item_type!>"] = "%s <!item_type!>";
-App::$strings["[Hubzilla:Notify] New mail received at %s"] = "[Hubzilla:Aviso] Nuevo mensaje en %s";
+App::$strings["[\$Projectname:Notify] New mail received at %s"] = "[\$Projectname:Aviso] Nuevo correo recibido en %s";
App::$strings["%1\$s, %2\$s sent you a new private message at %3\$s."] = "%1\$s, %2\$s le ha enviado un nuevo mensaje privado en %3\$s.";
App::$strings["%1\$s sent you %2\$s."] = "%1\$s le ha enviado %2\$s.";
App::$strings["a private message"] = "un mensaje privado";
@@ -1473,72 +1485,35 @@ App::$strings["Please visit %s to view and/or reply to your private messages."]
App::$strings["%1\$s, %2\$s commented on [zrl=%3\$s]a %4\$s[/zrl]"] = "%1\$s, %2\$s ha comentado [zrl=%3\$s]%4\$s[/zrl]";
App::$strings["%1\$s, %2\$s commented on [zrl=%3\$s]%4\$s's %5\$s[/zrl]"] = "%1\$s, %2\$s ha comentado [zrl=%3\$s]%5\$s de %4\$s[/zrl] ";
App::$strings["%1\$s, %2\$s commented on [zrl=%3\$s]your %4\$s[/zrl]"] = "%1\$s, %2\$s ha comentado [zrl=%3\$s]%4\$s creado por usted[/zrl]";
-App::$strings["[Hubzilla:Notify] Comment to conversation #%1\$d by %2\$s"] = "[Hubzilla:Aviso] Nuevo comentario de %2\$s a la conversación #%1\$d";
+App::$strings["[\$Projectname:Notify] Comment to conversation #%1\$d by %2\$s"] = "[\$Projectname:Aviso] Nuevo comentario de %2\$s en la conversación #%1\$d";
App::$strings["%1\$s, %2\$s commented on an item/conversation you have been following."] = "%1\$s, %2\$s ha comentado un elemento/conversación que ha estado siguiendo.";
App::$strings["Please visit %s to view and/or reply to the conversation."] = "Para ver o comentar la conversación, visite %s";
-App::$strings["[Hubzilla:Notify] %s posted to your profile wall"] = "[Hubzilla:Aviso] %s ha publicado una entrada en su página de inicio del perfil (\"muro\")";
+App::$strings["[\$Projectname:Notify] %s posted to your profile wall"] = "[\$Projectname:Aviso] %s ha publicado una entrada en su página de inicio del perfil (\"muro\")";
App::$strings["%1\$s, %2\$s posted to your profile wall at %3\$s"] = "%1\$s, %2\$s ha publicado en su página del perfil en %3\$s";
App::$strings["%1\$s, %2\$s posted to [zrl=%3\$s]your wall[/zrl]"] = "%1\$s, %2\$s ha publicado en [zrl=%3\$s]su página del perfil[/zrl]";
-App::$strings["[Hubzilla:Notify] %s tagged you"] = "[Hubzilla:Aviso] %s le ha etiquetado";
+App::$strings["[\$Projectname:Notify] %s tagged you"] = "[\$Projectname:Aviso] %s le ha etiquetado";
App::$strings["%1\$s, %2\$s tagged you at %3\$s"] = "%1\$s, %2\$s le ha etiquetado en %3\$s";
App::$strings["%1\$s, %2\$s [zrl=%3\$s]tagged you[/zrl]."] = "%1\$s, %2\$s [zrl=%3\$s]le etiquetó[/zrl].";
-App::$strings["[Hubzilla:Notify] %1\$s poked you"] = "[Hubzilla:Aviso] %1\$s le ha dado un toque";
+App::$strings["[\$Projectname:Notify] %1\$s poked you"] = "[\$Projectname:Aviso] %1\$s le ha dado un toque";
App::$strings["%1\$s, %2\$s poked you at %3\$s"] = "%1\$s, %2\$s le ha dado un toque en %3\$s";
App::$strings["%1\$s, %2\$s [zrl=%2\$s]poked you[/zrl]."] = "%1\$s, %2\$s [zrl=%2\$s]le ha dado un toque[/zrl].";
-App::$strings["[Hubzilla:Notify] %s tagged your post"] = "[Hubzilla:Aviso] %s ha etiquetado su publicación";
+App::$strings["[\$Projectname:Notify] %s tagged your post"] = "[\$Projectname:Aviso] %s ha etiquetado su entrada";
App::$strings["%1\$s, %2\$s tagged your post at %3\$s"] = "%1\$s, %2\$s ha etiquetado su publicación en %3\$s";
App::$strings["%1\$s, %2\$s tagged [zrl=%3\$s]your post[/zrl]"] = "%1\$s, %2\$s ha etiquetado [zrl=%3\$s]su publicación[/zrl]";
-App::$strings["[Hubzilla:Notify] Introduction received"] = "[Hubzilla:Aviso] Ha recibido una solicitud de conexión";
+App::$strings["[\$Projectname:Notify] Introduction received"] = "[\$Projectname:Aviso] Ha recibido una solicitud de conexión";
App::$strings["%1\$s, you've received an new connection request from '%2\$s' at %3\$s"] = "%1\$s, ha recibido una nueva solicitud de conexión de '%2\$s' en %3\$s";
App::$strings["%1\$s, you've received [zrl=%2\$s]a new connection request[/zrl] from %3\$s."] = "%1\$s, ha recibido [zrl=%2\$s]una nueva solicitud de conexión[/zrl] de %3\$s.";
App::$strings["You may visit their profile at %s"] = "Puede visitar su perfil en %s";
App::$strings["Please visit %s to approve or reject the connection request."] = "Por favor, visite %s para permitir o rechazar la solicitad de conexión.";
-App::$strings["[Hubzilla:Notify] Friend suggestion received"] = "[Hubzilla:Aviso] Ha recibido una sugerencia de amistad";
+App::$strings["[\$Projectname:Notify] Friend suggestion received"] = "[\$Projectname:Aviso] Ha recibido una sugerencia de conexión";
App::$strings["%1\$s, you've received a friend suggestion from '%2\$s' at %3\$s"] = "%1\$s, ha recibido una sugerencia de conexión de '%2\$s' en %3\$s";
App::$strings["%1\$s, you've received [zrl=%2\$s]a friend suggestion[/zrl] for %3\$s from %4\$s."] = "%1\$s, ha recibido [zrl=%2\$s]una sugerencia de conexión[/zrl] para %3\$s de %4\$s.";
App::$strings["Name:"] = "Nombre:";
App::$strings["Photo:"] = "Foto:";
App::$strings["Please visit %s to approve or reject the suggestion."] = "Por favor, visite %s para aprobar o rechazar la sugerencia.";
-App::$strings["[Hubzilla:Notify]"] = "[Hubzilla:Aviso]";
+App::$strings["[\$Projectname:Notify]"] = "[\$Projectname:Aviso]";
App::$strings["created a new post"] = "ha creado una nueva entrada";
App::$strings["commented on %s's post"] = "ha comentado la entrada de %s";
-App::$strings["Site Admin"] = "Administrador del sitio";
-App::$strings["Bug Report"] = "Informe de errores";
-App::$strings["View Bookmarks"] = "Ver los marcadores";
-App::$strings["My Chatrooms"] = "Mis salas de chat";
-App::$strings["Firefox Share"] = "Servicio de compartición de Firefox";
-App::$strings["Remote Diagnostics"] = "Diagnóstico remoto";
-App::$strings["Suggest Channels"] = "Sugerir canales";
-App::$strings["Login"] = "Iniciar sesión";
-App::$strings["Grid"] = "Red";
-App::$strings["Channel Home"] = "Mi canal";
-App::$strings["Events"] = "Eventos";
-App::$strings["Directory"] = "Directorio";
-App::$strings["Mail"] = "Correo";
-App::$strings["Chat"] = "Chat";
-App::$strings["Probe"] = "Probar";
-App::$strings["Suggest"] = "Sugerir";
-App::$strings["Random Channel"] = "Canal aleatorio";
-App::$strings["Invite"] = "Invitar";
-App::$strings["Features"] = "Funcionalidades";
-App::$strings["Language"] = "Idioma";
-App::$strings["Post"] = "Publicación";
-App::$strings["Profile Photo"] = "Foto del perfil";
-App::$strings["Purchase"] = "Comprar";
-App::$strings["Visible to your default audience"] = "Visible para su público predeterminado.";
-App::$strings["Only me"] = "Sólo yo";
-App::$strings["Public"] = "Público";
-App::$strings["Anybody in the \$Projectname network"] = "Cualquiera en la red \$Projectname";
-App::$strings["Any account on %s"] = "Cualquier cuenta en %s";
-App::$strings["Any of my connections"] = "Cualquiera de mis conexiones";
-App::$strings["Only connections I specifically allow"] = "Sólo las conexiones que yo permita de forma explícita";
-App::$strings["Anybody authenticated (could include visitors from other networks)"] = "Cualquiera que esté autenticado (podría incluir a los visitantes de otras redes)";
-App::$strings["Any connections including those who haven't yet been approved"] = "Cualquier conexión incluyendo aquellas que aún no han sido aprobadas";
-App::$strings["This is your default setting for the audience of your normal stream, and posts."] = "Esta es la configuración predeterminada para su flujo (stream) habitual de publicaciones.";
-App::$strings["This is your default setting for who can view your default channel profile"] = "Esta es su configuración por defecto para establecer quién puede ver su perfil del canal predeterminado";
-App::$strings["This is your default setting for who can view your connections"] = "Este es su ajuste predeterminado para establecer quién puede ver sus conexiones";
-App::$strings["This is your default setting for who can view your file storage and photos"] = "Este es su ajuste predeterminado para establecer quién puede ver su repositorio de ficheros y sus fotos";
-App::$strings["This is your default setting for the audience of your webpages"] = "Este es el ajuste predeterminado para establecer la audiencia de sus páginas web";
App::$strings["Private Message"] = "Mensaje Privado";
App::$strings["Select"] = "Seleccionar";
App::$strings["Save to Folder"] = "Guardar en carpeta";
@@ -1584,123 +1559,67 @@ App::$strings["Code"] = "Código";
App::$strings["Image"] = "Imagen";
App::$strings["Insert Link"] = "Insertar enlace";
App::$strings["Video"] = "Vídeo";
+App::$strings["Visible to your default audience"] = "Visible para su público predeterminado.";
+App::$strings["Only me"] = "Sólo yo";
+App::$strings["Public"] = "Público";
+App::$strings["Anybody in the \$Projectname network"] = "Cualquiera en la red \$Projectname";
+App::$strings["Any account on %s"] = "Cualquier cuenta en %s";
+App::$strings["Any of my connections"] = "Cualquiera de mis conexiones";
+App::$strings["Only connections I specifically allow"] = "Sólo las conexiones que yo permita de forma explícita";
+App::$strings["Anybody authenticated (could include visitors from other networks)"] = "Cualquiera que esté autenticado (podría incluir a los visitantes de otras redes)";
+App::$strings["Any connections including those who haven't yet been approved"] = "Cualquier conexión incluyendo aquellas que aún no han sido aprobadas";
+App::$strings["This is your default setting for the audience of your normal stream, and posts."] = "Esta es la configuración predeterminada para su flujo (stream) habitual de publicaciones.";
+App::$strings["This is your default setting for who can view your default channel profile"] = "Esta es su configuración por defecto para establecer quién puede ver su perfil del canal predeterminado";
+App::$strings["This is your default setting for who can view your connections"] = "Este es su ajuste predeterminado para establecer quién puede ver sus conexiones";
+App::$strings["This is your default setting for who can view your file storage and photos"] = "Este es su ajuste predeterminado para establecer quién puede ver su repositorio de ficheros y sus fotos";
+App::$strings["This is your default setting for the audience of your webpages"] = "Este es el ajuste predeterminado para establecer la audiencia de sus páginas web";
+App::$strings["Site Admin"] = "Administrador del sitio";
+App::$strings["Bug Report"] = "Informe de errores";
+App::$strings["View Bookmarks"] = "Ver los marcadores";
+App::$strings["My Chatrooms"] = "Mis salas de chat";
+App::$strings["Firefox Share"] = "Servicio de compartición de Firefox";
+App::$strings["Remote Diagnostics"] = "Diagnóstico remoto";
+App::$strings["Suggest Channels"] = "Sugerir canales";
+App::$strings["Login"] = "Iniciar sesión";
+App::$strings["Grid"] = "Red";
+App::$strings["Channel Home"] = "Mi canal";
+App::$strings["Events"] = "Eventos";
+App::$strings["Directory"] = "Directorio";
+App::$strings["Mail"] = "Correo";
+App::$strings["Chat"] = "Chat";
+App::$strings["Probe"] = "Probar";
+App::$strings["Suggest"] = "Sugerir";
+App::$strings["Random Channel"] = "Canal aleatorio";
+App::$strings["Invite"] = "Invitar";
+App::$strings["Features"] = "Funcionalidades";
+App::$strings["Language"] = "Idioma";
+App::$strings["Post"] = "Publicación";
+App::$strings["Profile Photo"] = "Foto del perfil";
+App::$strings["Purchase"] = "Comprar";
App::$strings["No username found in import file."] = "No se ha encontrado el nombre de usuario en el fichero importado.";
App::$strings["Unable to create a unique channel address. Import failed."] = "No se ha podido crear una dirección de canal única. Ha fallado la importación.";
App::$strings["Cannot locate DNS info for database server '%s'"] = "No se ha podido localizar información de DNS para el servidor de base de datos “%s”";
-App::$strings["Logged out."] = "Desconectado/a.";
-App::$strings["Failed authentication"] = "Autenticación fallida.";
-App::$strings["Login failed."] = "El acceso ha fallado.";
-App::$strings["Image/photo"] = "Imagen/foto";
-App::$strings["Encrypted content"] = "Contenido cifrado";
-App::$strings["Install %s element: "] = "Instalar el elemento %s:";
-App::$strings["This post contains an installable %s element, however you lack permissions to install it on this site."] = "Esta entrada contiene el elemento instalable %s, sin embargo le faltan permisos para instalarlo en este sitio.";
-App::$strings["%1\$s wrote the following %2\$s %3\$s"] = "%1\$s escribió %2\$s siguiente %3\$s";
-App::$strings["Click to open/close"] = "Pulsar para abrir/cerrar";
-App::$strings["spoiler"] = "spoiler";
-App::$strings["Different viewers will see this text differently"] = "Visitantes diferentes verán este texto de forma distinta";
-App::$strings["$1 wrote:"] = "$1 escribió:";
-App::$strings["Channel is blocked on this site."] = "El canal está bloqueado en este sitio.";
-App::$strings["Channel location missing."] = "Falta la dirección del canal.";
-App::$strings["Response from remote channel was incomplete."] = "Respuesta incompleta del canal.";
-App::$strings["Channel was deleted and no longer exists."] = "El canal ha sido eliminado y ya no existe.";
-App::$strings["Protocol disabled."] = "Protocolo deshabilitado.";
-App::$strings["Channel discovery failed."] = "El intento de acceder al canal ha fallado.";
-App::$strings["Cannot connect to yourself."] = "No puede conectarse consigo mismo.";
-App::$strings["Public Timeline"] = "Cronología pública";
-App::$strings["%1\$s is now connected with %2\$s"] = "%1\$s ahora está conectado/a con %2\$s";
-App::$strings["%1\$s poked %2\$s"] = "%1\$s ha dado un toque a %2\$s";
-App::$strings["poked"] = "ha dado un toque a";
-App::$strings["View %s's profile @ %s"] = "Ver el perfil @ %s de %s";
-App::$strings["Categories:"] = "Temas:";
-App::$strings["Filed under:"] = "Archivado bajo:";
-App::$strings["View in context"] = "Mostrar en su contexto";
-App::$strings["remove"] = "eliminar";
-App::$strings["Loading..."] = "Cargando...";
-App::$strings["Delete Selected Items"] = "Eliminar elementos seleccionados";
-App::$strings["View Source"] = "Ver el código fuente de la entrada";
-App::$strings["Follow Thread"] = "Seguir este hilo";
-App::$strings["Unfollow Thread"] = "Dejar de seguir este hilo";
-App::$strings["Activity/Posts"] = "Actividad y publicaciones";
-App::$strings["Edit Connection"] = "Editar conexión";
-App::$strings["Message"] = "Mensaje";
-App::$strings["%s likes this."] = "A %s le gusta esto.";
-App::$strings["%s doesn't like this."] = "A %s no le gusta esto.";
-App::$strings["<span %1\$s>%2\$d people</span> like this."] = array(
- 0 => "a <span %1\$s>%2\$d personas</span> le gusta esto.",
- 1 => "A <span %1\$s>%2\$d personas</span> les gusta esto.",
-);
-App::$strings["<span %1\$s>%2\$d people</span> don't like this."] = array(
- 0 => "a <span %1\$s>%2\$d personas</span> no les gusta esto.",
- 1 => "A <span %1\$s>%2\$d personas</span> no les gusta esto.",
-);
-App::$strings["and"] = "y";
-App::$strings[", and %d other people"] = array(
- 0 => ", y %d persona más",
- 1 => ", y %d personas más",
-);
-App::$strings["%s like this."] = "A %s le gusta esto.";
-App::$strings["%s don't like this."] = "A %s no le gusta esto.";
-App::$strings["Set your location"] = "Establecer su ubicación";
-App::$strings["Clear browser location"] = "Eliminar los datos de localización geográfica del navegador";
-App::$strings["Tag term:"] = "Término de la etiqueta:";
-App::$strings["Where are you right now?"] = "¿Donde está ahora?";
-App::$strings["Comments enabled"] = "Comentarios habilitados";
-App::$strings["Comments disabled"] = "Comentarios deshabilitados";
-App::$strings["Page link name"] = "Nombre del enlace de la página";
-App::$strings["Post as"] = "Publicar como";
-App::$strings["Toggle voting"] = "Cambiar votación";
-App::$strings["Disable comments"] = "Dehabilitar los comentarios";
-App::$strings["Toggle comments"] = "Cambiar el estado de los comentarios";
-App::$strings["Categories (optional, comma-separated list)"] = "Temas (opcional, lista separada por comas)";
-App::$strings["Set publish date"] = "Establecer la fecha de publicación";
-App::$strings["Discover"] = "Descubrir";
-App::$strings["Imported public streams"] = "Contenidos públicos importados";
-App::$strings["Commented Order"] = "Comentarios recientes";
-App::$strings["Sort by Comment Date"] = "Ordenar por fecha de comentario";
-App::$strings["Posted Order"] = "Publicaciones recientes";
-App::$strings["Sort by Post Date"] = "Ordenar por fecha de publicación";
-App::$strings["Posts that mention or involve you"] = "Publicaciones que le mencionan o involucran";
-App::$strings["Activity Stream - by date"] = "Contenido - por fecha";
-App::$strings["Starred"] = "Preferidas";
-App::$strings["Favourite Posts"] = "Publicaciones favoritas";
-App::$strings["Spam"] = "Correo basura";
-App::$strings["Posts flagged as SPAM"] = "Publicaciones marcadas como basura";
-App::$strings["Status Messages and Posts"] = "Mensajes de estado y publicaciones";
-App::$strings["About"] = "Mi perfil";
-App::$strings["Profile Details"] = "Detalles del perfil";
+App::$strings["Can view my normal stream and posts"] = "Pueden verse mi actividad y publicaciones normales";
+App::$strings["Can view my webpages"] = "Pueden verse mis páginas web";
+App::$strings["Can post on my channel page (\"wall\")"] = "Pueden crearse entradas en mi página de inicio del canal (“muro”)";
+App::$strings["Can like/dislike stuff"] = "Puede marcarse contenido como me gusta/no me gusta";
+App::$strings["Profiles and things other than posts/comments"] = "Perfiles y otras cosas aparte de publicaciones/comentarios";
+App::$strings["Can forward to all my channel contacts via post @mentions"] = "Puede enviarse una entrada a todos mis contactos del canal mediante una @mención";
+App::$strings["Advanced - useful for creating group forum channels"] = "Avanzado - útil para crear canales de foros de discusión o grupos";
+App::$strings["Can chat with me (when available)"] = "Se puede charlar conmigo (cuando esté disponible)";
+App::$strings["Can write to my file storage and photos"] = "Puede escribirse en mi repositorio de ficheros y fotos";
+App::$strings["Can edit my webpages"] = "Pueden editarse mis páginas web";
+App::$strings["Somewhat advanced - very useful in open communities"] = "Algo avanzado - muy útil en comunidades abiertas";
+App::$strings["Can administer my channel resources"] = "Pueden administrarse mis recursos del canal";
+App::$strings["Extremely advanced. Leave this alone unless you know what you are doing"] = "Muy avanzado. Déjelo a no ser que sepa bien lo que está haciendo.";
+App::$strings["Image exceeds website size limit of %lu bytes"] = "La imagen excede el límite de %lu bytes del sitio";
+App::$strings["Image file is empty."] = "El fichero de imagen está vacío. ";
+App::$strings["Photo storage failed."] = "La foto no ha podido ser guardada.";
+App::$strings["a new photo"] = "una nueva foto";
+App::$strings["__ctx:photo_upload__ %1\$s posted %2\$s to %3\$s"] = "%1\$s ha publicado %2\$s en %3\$s";
App::$strings["Photo Albums"] = "Álbumes de fotos";
-App::$strings["Files and Storage"] = "Ficheros y repositorio";
-App::$strings["Chatrooms"] = "Salas de chat";
-App::$strings["Bookmarks"] = "Marcadores";
-App::$strings["Saved Bookmarks"] = "Marcadores guardados";
-App::$strings["Manage Webpages"] = "Administrar páginas web";
-App::$strings["__ctx:noun__ Attending"] = array(
- 0 => "Participaré",
- 1 => "Participaré",
-);
-App::$strings["__ctx:noun__ Not Attending"] = array(
- 0 => "No participaré",
- 1 => "No participaré",
-);
-App::$strings["__ctx:noun__ Undecided"] = array(
- 0 => "Indeciso/a",
- 1 => "Indecisos/as",
-);
-App::$strings["__ctx:noun__ Agree"] = array(
- 0 => "De acuerdo",
- 1 => "De acuerdo",
-);
-App::$strings["__ctx:noun__ Disagree"] = array(
- 0 => "En desacuerdo",
- 1 => "En desacuerdo",
-);
-App::$strings["__ctx:noun__ Abstain"] = array(
- 0 => "se abstiene",
- 1 => "Se abstienen",
-);
+App::$strings["Upload New Photos"] = "Subir nuevas fotos";
App::$strings["General Features"] = "Funcionalidades básicas";
-App::$strings["Content Expiration"] = "Caducidad del contenido";
-App::$strings["Remove posts/comments and/or private messages at a future time"] = "Eliminar publicaciones/comentarios y/o mensajes privados más adelante";
App::$strings["Multiple Profiles"] = "Múltiples perfiles";
App::$strings["Ability to create multiple profiles"] = "Capacidad de crear múltiples perfiles";
App::$strings["Advanced Profiles"] = "Perfiles avanzados";
@@ -1710,8 +1629,6 @@ App::$strings["Save and load profile details across sites/channels"] = "Guardar
App::$strings["Web Pages"] = "Páginas web";
App::$strings["Provide managed web pages on your channel"] = "Proveer páginas web gestionadas en su canal";
App::$strings["Provide a wiki for your channel"] = "Proporcionar un wiki para su canal";
-App::$strings["Hide Rating"] = "Ocultar las valoraciones";
-App::$strings["Hide the rating buttons on your channel and profile pages. Note: People can still rate you somewhere else."] = "Ocultar los botones de valoración en su canal y página de perfil. Tenga en cuenta, sin embargo, que la gente podrá expresar su valoración en otros lugares.";
App::$strings["Private Notes"] = "Notas privadas";
App::$strings["Enables a tool to store notes and reminders (note: not encrypted)"] = "Habilita una herramienta para guardar notas y recordatorios (advertencia: las notas no estarán cifradas)";
App::$strings["Navigation Channel Select"] = "Navegación por el selector de canales";
@@ -1722,10 +1639,10 @@ App::$strings["Access Controlled Chatrooms"] = "Salas de chat moderadas";
App::$strings["Provide chatrooms and chat services with access control."] = "Proporcionar salas y servicios de chat moderados.";
App::$strings["Smart Birthdays"] = "Cumpleaños inteligentes";
App::$strings["Make birthday events timezone aware in case your friends are scattered across the planet."] = "Enlazar los eventos de cumpleaños con el huso horario en el caso de que sus amigos estén dispersos por el mundo.";
-App::$strings["Expert Mode"] = "Modo de experto";
-App::$strings["Enable Expert Mode to provide advanced configuration options"] = "Habilitar el modo de experto para acceder a opciones avanzadas de configuración";
-App::$strings["Premium Channel"] = "Canal premium";
-App::$strings["Allows you to set restrictions and terms on those that connect with your channel"] = "Le permite configurar restricciones y normas de uso a aquellos que conectan con su canal";
+App::$strings["Advanced Directory Search"] = "Búsqueda avanzada en el directorio";
+App::$strings["Allows creation of complex directory search queries"] = "Permitir la creación de consultas complejas en las búsquedas en el directorio";
+App::$strings["Advanced Theme and Layout Settings"] = "Ajustes avanzados de temas y esquemas";
+App::$strings["Allows fine tuning of themes and page layouts"] = "Permitir el ajuste fino de temas y esquemas de páginas";
App::$strings["Post Composition Features"] = "Opciones para la redacción de entradas";
App::$strings["Large Photos"] = "Fotos de gran tamaño";
App::$strings["Include large (1024px) photo thumbnails in posts. If not enabled, use small (640px) photo thumbnails"] = "Incluir miniaturas de fotos grandes (1024px) en publicaciones. Si no está habilitado, usar miniaturas pequeñas (640px)";
@@ -1738,6 +1655,8 @@ App::$strings["Disable Comments"] = "Deshabilitar comentarios";
App::$strings["Provide the option to disable comments for a post"] = "Proporcionar la opción de desactivar los comentarios de una publicación";
App::$strings["Delayed Posting"] = "Publicación aplazada";
App::$strings["Allow posts to be published at a later date"] = "Permitir mensajes que se publicarán en una fecha posterior";
+App::$strings["Content Expiration"] = "Caducidad del contenido";
+App::$strings["Remove posts/comments and/or private messages at a future time"] = "Eliminar publicaciones/comentarios y/o mensajes privados más adelante";
App::$strings["Suppress Duplicate Posts/Comments"] = "Prevenir entradas o comentarios duplicados";
App::$strings["Prevent posts with identical content to be published with less than two minutes in between submissions."] = "Prevenir que entradas con contenido idéntico se publiquen con menos de dos minutos de intervalo.";
App::$strings["Network and Stream Filtering"] = "Filtrado del contenido";
@@ -1753,9 +1672,9 @@ App::$strings["Network New Tab"] = "Contenido nuevo";
App::$strings["Enable tab to display all new Network activity"] = "Habilitar una pestaña en la que se muestre solo el contenido nuevo";
App::$strings["Affinity Tool"] = "Herramienta de afinidad";
App::$strings["Filter stream activity by depth of relationships"] = "Filtrar el contenido según la profundidad de las relaciones";
+App::$strings["Show friend and connection suggestions"] = "Mostrar sugerencias de amigos y conexiones";
App::$strings["Connection Filtering"] = "Filtrado de conexiones";
App::$strings["Filter incoming posts from connections based on keywords/content"] = "Filtrar publicaciones entrantes de conexiones por palabras clave o contenido";
-App::$strings["Show channel suggestions"] = "Mostrar sugerencias de canales";
App::$strings["Post/Comment Tools"] = "Gestión de entradas y comentarios";
App::$strings["Community Tagging"] = "Etiquetas de la comunidad";
App::$strings["Ability to tag existing posts"] = "Capacidad de etiquetar entradas existentes";
@@ -1771,48 +1690,123 @@ App::$strings["Star Posts"] = "Entradas destacadas";
App::$strings["Ability to mark special posts with a star indicator"] = "Capacidad de marcar entradas destacadas con un indicador de estrella";
App::$strings["Tag Cloud"] = "Nube de etiquetas";
App::$strings["Provide a personal tag cloud on your channel page"] = "Proveer nube de etiquetas personal en su página de canal";
-App::$strings["Birthday"] = "Cumpleaños";
-App::$strings["Age: "] = "Edad:";
-App::$strings["YYYY-MM-DD or MM-DD"] = "AAAA-MM-DD o MM-DD";
-App::$strings["never"] = "nunca";
-App::$strings["less than a second ago"] = "hace un instante";
-App::$strings["__ctx:e.g. 22 hours ago, 1 minute ago__ %1\$d %2\$s ago"] = "hace %1\$d %2\$s";
-App::$strings["__ctx:relative_date__ year"] = array(
- 0 => "año",
- 1 => "años",
-);
-App::$strings["__ctx:relative_date__ month"] = array(
- 0 => "mes",
- 1 => "meses",
-);
-App::$strings["__ctx:relative_date__ week"] = array(
- 0 => "semana",
- 1 => "semanas",
-);
-App::$strings["__ctx:relative_date__ day"] = array(
- 0 => "día",
- 1 => "días",
-);
-App::$strings["__ctx:relative_date__ hour"] = array(
- 0 => "hora",
- 1 => "horas",
-);
-App::$strings["__ctx:relative_date__ minute"] = array(
- 0 => "minuto",
- 1 => "minutos",
-);
-App::$strings["__ctx:relative_date__ second"] = array(
- 0 => "segundo",
- 1 => "segundos",
-);
-App::$strings["%1\$s's birthday"] = "Cumpleaños de %1\$s";
-App::$strings["Happy Birthday %1\$s"] = "Feliz cumpleaños %1\$s";
-App::$strings["Image exceeds website size limit of %lu bytes"] = "La imagen excede el límite de %lu bytes del sitio";
-App::$strings["Image file is empty."] = "El fichero de imagen está vacío. ";
-App::$strings["Photo storage failed."] = "La foto no ha podido ser guardada.";
-App::$strings["a new photo"] = "una nueva foto";
-App::$strings["__ctx:photo_upload__ %1\$s posted %2\$s to %3\$s"] = "%1\$s ha publicado %2\$s en %3\$s";
-App::$strings["Upload New Photos"] = "Subir nuevas fotos";
+App::$strings["Premium Channel"] = "Canal premium";
+App::$strings["Allows you to set restrictions and terms on those that connect with your channel"] = "Le permite configurar restricciones y normas de uso a aquellos que conectan con su canal";
+App::$strings["Help:"] = "Ayuda:";
+App::$strings["guest:"] = "invitado: ";
+App::$strings["The form security token was not correct. This probably happened because the form has been opened for too long (>3 hours) before submitting it."] = "El \"token\" de seguridad del formulario no es correcto. Esto ha ocurrido probablemente porque el formulario ha estado abierto demasiado tiempo (>3 horas) antes de ser enviado";
+App::$strings["prev"] = "anterior";
+App::$strings["first"] = "primera";
+App::$strings["last"] = "última";
+App::$strings["next"] = "próxima";
+App::$strings["older"] = "más antiguas";
+App::$strings["newer"] = "más recientes";
+App::$strings["No connections"] = "Sin conexiones";
+App::$strings["View all %s connections"] = "Ver todas las %s conexiones";
+App::$strings["poke"] = "un toque";
+App::$strings["poked"] = "ha dado un toque a";
+App::$strings["ping"] = "un \"ping\"";
+App::$strings["pinged"] = "ha enviado un \"ping\" a";
+App::$strings["prod"] = "una incitación ";
+App::$strings["prodded"] = "ha incitado a ";
+App::$strings["slap"] = "una bofetada ";
+App::$strings["slapped"] = "ha abofeteado a ";
+App::$strings["finger"] = "un \"finger\" ";
+App::$strings["fingered"] = "envió un \"finger\" a";
+App::$strings["rebuff"] = "un reproche";
+App::$strings["rebuffed"] = "ha hecho un reproche a ";
+App::$strings["happy"] = "feliz ";
+App::$strings["sad"] = "triste ";
+App::$strings["mellow"] = "tranquilo/a";
+App::$strings["tired"] = "cansado/a ";
+App::$strings["perky"] = "vivaz";
+App::$strings["angry"] = "enfadado/a";
+App::$strings["stupefied"] = "asombrado/a";
+App::$strings["puzzled"] = "perplejo/a";
+App::$strings["interested"] = "interesado/a";
+App::$strings["bitter"] = "amargado/a";
+App::$strings["cheerful"] = "alegre";
+App::$strings["alive"] = "animado/a";
+App::$strings["annoyed"] = "molesto/a";
+App::$strings["anxious"] = "ansioso/a";
+App::$strings["cranky"] = "de mal humor";
+App::$strings["disturbed"] = "perturbado/a";
+App::$strings["frustrated"] = "frustrado/a";
+App::$strings["depressed"] = "deprimido/a";
+App::$strings["motivated"] = "motivado/a";
+App::$strings["relaxed"] = "relajado/a";
+App::$strings["surprised"] = "sorprendido/a";
+App::$strings["Monday"] = "lunes";
+App::$strings["Tuesday"] = "martes";
+App::$strings["Wednesday"] = "miércoles";
+App::$strings["Thursday"] = "jueves";
+App::$strings["Friday"] = "viernes";
+App::$strings["Saturday"] = "sábado";
+App::$strings["Sunday"] = "domingo";
+App::$strings["January"] = "enero";
+App::$strings["February"] = "febrero";
+App::$strings["March"] = "marzo";
+App::$strings["April"] = "abril";
+App::$strings["May"] = "mayo";
+App::$strings["June"] = "junio";
+App::$strings["July"] = "julio";
+App::$strings["August"] = "agosto";
+App::$strings["September"] = "septiembre";
+App::$strings["October"] = "octubre";
+App::$strings["November"] = "noviembre";
+App::$strings["December"] = "diciembre";
+App::$strings["Unknown Attachment"] = "Adjunto no reconocido";
+App::$strings["unknown"] = "desconocido";
+App::$strings["remove category"] = "eliminar el tema";
+App::$strings["remove from file"] = "eliminar del fichero";
+App::$strings["default"] = "por defecto";
+App::$strings["Page layout"] = "Plantilla de la página";
+App::$strings["You can create your own with the layouts tool"] = "Puede crear su propia disposición gráfica con la herramienta de plantillas";
+App::$strings["Page content type"] = "Tipo de contenido de la página";
+App::$strings["Select an alternate language"] = "Seleccionar un idioma alternativo";
+App::$strings["activity"] = "la actividad";
+App::$strings["Design Tools"] = "Herramientas de diseño web";
+App::$strings["Pages"] = "Páginas";
+App::$strings["Import website..."] = "Importar un sitio web...";
+App::$strings["Select folder to import"] = "Seleccionar la carpeta que se va a importar";
+App::$strings["Import from a zipped folder:"] = "Importar desde una carpeta comprimida: ";
+App::$strings["Import from cloud files:"] = "Importar desde los ficheros en la nube: ";
+App::$strings["/cloud/channel/path/to/folder"] = "/cloud/canal/ruta/a la/carpeta";
+App::$strings["Enter path to website files"] = "Ruta a los ficheros del sitio web";
+App::$strings["Select folder"] = "Seleccionar la carpeta";
+App::$strings["Export website..."] = "Exportar un sitio web...";
+App::$strings["Export to a zip file"] = "Exportar a un fichero comprimido .zip";
+App::$strings["website.zip"] = "sitio_web.zip";
+App::$strings["Enter a name for the zip file."] = "Escribir un nombre para el fichero .zip.";
+App::$strings["Export to cloud files"] = "Exportar a los ficheros en la nube";
+App::$strings["/path/to/export/folder"] = "/ruta/para/exportar/carpeta";
+App::$strings["Enter a path to a cloud files destination."] = "Escribir una ruta de destino para los ficheros en la nube";
+App::$strings["Specify folder"] = "Especificar una carpeta";
+App::$strings["Invalid data packet"] = "Paquete de datos no válido";
+App::$strings["Unable to verify channel signature"] = "No ha sido posible de verificar la firma del canal";
+App::$strings["Unable to verify site signature for %s"] = "No ha sido posible de verificar la firma del sitio para %s";
+App::$strings["invalid target signature"] = "La firma recibida no es válida";
+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["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.";
+App::$strings["Failed to store account information."] = "La información de la cuenta no se ha podido guardar.";
+App::$strings["Registration confirmation for %s"] = "Confirmación de registro para %s";
+App::$strings["Registration request at %s"] = "Solicitud de registro en %s";
+App::$strings["Administrator"] = "Administrador";
+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["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["No recipient provided."] = "No se ha especificado ningún destinatario.";
+App::$strings["[no subject]"] = "[sin asunto]";
+App::$strings["Unable to determine sender."] = "No ha sido posible determinar el remitente. ";
+App::$strings["Stored post could not be verified."] = "No se han podido verificar las publicaciones guardadas.";
App::$strings["Frequently"] = "Frecuentemente";
App::$strings["Hourly"] = "Cada hora";
App::$strings["Twice daily"] = "Dos veces al día";
@@ -1875,21 +1869,51 @@ App::$strings["Uncertain"] = "Indeterminado";
App::$strings["It's complicated"] = "Es complicado";
App::$strings["Don't care"] = "No me importa";
App::$strings["Ask me"] = "Pregúnteme";
-App::$strings["Can view my normal stream and posts"] = "Pueden verse mi actividad y publicaciones normales";
-App::$strings["Can view my webpages"] = "Pueden verse mis páginas web";
-App::$strings["Can post on my channel page (\"wall\")"] = "Pueden crearse entradas en mi página de inicio del canal (“muro”)";
-App::$strings["Can like/dislike stuff"] = "Puede marcarse contenido como me gusta/no me gusta";
-App::$strings["Profiles and things other than posts/comments"] = "Perfiles y otras cosas aparte de publicaciones/comentarios";
-App::$strings["Can forward to all my channel contacts via post @mentions"] = "Puede enviarse una entrada a todos mis contactos del canal mediante una @mención";
-App::$strings["Advanced - useful for creating group forum channels"] = "Avanzado - útil para crear canales de foros de discusión o grupos";
-App::$strings["Can chat with me (when available)"] = "Se puede charlar conmigo (cuando esté disponible)";
-App::$strings["Can write to my file storage and photos"] = "Puede escribirse en mi repositorio de ficheros y fotos";
-App::$strings["Can edit my webpages"] = "Pueden editarse mis páginas web";
-App::$strings["Somewhat advanced - very useful in open communities"] = "Algo avanzado - muy útil en comunidades abiertas";
-App::$strings["Can administer my channel resources"] = "Pueden administrarse mis recursos del canal";
-App::$strings["Extremely advanced. Leave this alone unless you know what you are doing"] = "Muy avanzado. Déjelo a no ser que sepa bien lo que está haciendo.";
-App::$strings["guest:"] = "invitado: ";
-App::$strings["The form security token was not correct. This probably happened because the form has been opened for too long (>3 hours) before submitting it."] = "El \"token\" de seguridad del formulario no es correcto. Esto ha ocurrido probablemente porque el formulario ha estado abierto demasiado tiempo (>3 horas) antes de ser enviado";
+App::$strings["Unable to obtain identity information from database"] = "No ha sido posible obtener información sobre la identidad desde la base de datos";
+App::$strings["Empty name"] = "Nombre vacío";
+App::$strings["Name too long"] = "Nombre demasiado largo";
+App::$strings["No account identifier"] = "Ningún identificador de la cuenta";
+App::$strings["Nickname is required."] = "Se requiere un sobrenombre (alias).";
+App::$strings["Reserved nickname. Please choose another."] = "Sobrenombre en uso. Por favor, elija otro.";
+App::$strings["Nickname has unsupported characters or is already being used on this site."] = "El alias contiene caracteres no admitidos o está ya en uso por otros miembros de este sitio.";
+App::$strings["Unable to retrieve created identity"] = "No ha sido posible recuperar la identidad creada";
+App::$strings["Default Profile"] = "Perfil principal";
+App::$strings["Requested channel is not available."] = "El canal solicitado no está disponible.";
+App::$strings["Create New Profile"] = "Crear un nuevo perfil";
+App::$strings["Edit Profile"] = "Editar el perfil";
+App::$strings["Visible to everybody"] = "Visible para todos";
+App::$strings["Gender:"] = "Género:";
+App::$strings["Status:"] = "Estado:";
+App::$strings["Homepage:"] = "Página personal:";
+App::$strings["Online Now"] = "Ahora en línea";
+App::$strings["Like this channel"] = "Me gusta este canal";
+App::$strings["j F, Y"] = "j F Y";
+App::$strings["j F"] = "j F";
+App::$strings["Birthday:"] = "Cumpleaños:";
+App::$strings["for %1\$d %2\$s"] = "por %1\$d %2\$s";
+App::$strings["Sexual Preference:"] = "Orientación sexual:";
+App::$strings["Tags:"] = "Etiquetas:";
+App::$strings["Political Views:"] = "Posición política:";
+App::$strings["Religion:"] = "Religión:";
+App::$strings["Hobbies/Interests:"] = "Aficciones o intereses:";
+App::$strings["Likes:"] = "Me gusta:";
+App::$strings["Dislikes:"] = "No me gusta:";
+App::$strings["Contact information and Social Networks:"] = "Información de contacto y redes sociales:";
+App::$strings["My other channels:"] = "Mis otros canales:";
+App::$strings["Musical interests:"] = "Preferencias musicales:";
+App::$strings["Books, literature:"] = "Libros, literatura:";
+App::$strings["Television:"] = "Televisión:";
+App::$strings["Film/dance/culture/entertainment:"] = "Cine, danza, cultura, entretenimiento:";
+App::$strings["Love/Romance:"] = "Vida sentimental o amorosa:";
+App::$strings["Work/employment:"] = "Trabajo:";
+App::$strings["School/education:"] = "Estudios:";
+App::$strings["Like this thing"] = "Me gusta esto";
+App::$strings["Who can see this?"] = "¿Quién puede ver esto?";
+App::$strings["Custom selection"] = "Selección personalizada";
+App::$strings["Select \"Show\" to allow viewing. \"Don't show\" lets you override and limit the scope of \"Show\"."] = "Seleccione \"Mostrar\" para permitir la visualización. La opción \"No mostrar\" le permite anular y limitar el alcance de \"Mostrar\".";
+App::$strings["Show"] = "Mostrar";
+App::$strings["Don't show"] = "No mostrar";
+App::$strings["Post permissions %s cannot be changed %s after a post is shared.</br />These permissions set who is allowed to view the post."] = "Los permisos de la entrada %s no se pueden cambiar %s una vez que se ha compartido.</br /> Estos permisos establecen quién está autorizado para ver el mensaje.";
App::$strings["%1\$s's bookmarks"] = "Marcadores de %1\$s";
App::$strings["A deleted group with this name was revived. Existing item permissions <strong>may</strong> apply to this group and any future members. If this is not what you intended, please create another group with a different name."] = "Un grupo suprimido con este nombre ha sido restablecido. <strong>Es posible</strong> que los permisos existentes sean aplicados a este grupo y sus futuros miembros. Si no quiere esto, por favor cree otro grupo con un nombre diferente.";
App::$strings["Add new connections to this privacy group"] = "Añadir conexiones nuevas a este grupo de canales";
@@ -1898,67 +1922,59 @@ App::$strings["Edit group"] = "Editar grupo";
App::$strings["Add privacy group"] = "Añadir un grupo de canales";
App::$strings["Channels not in any privacy group"] = "Sin canales en ningún grupo";
App::$strings["add"] = "añadir";
+App::$strings["New window"] = "Nueva ventana";
+App::$strings["Open the selected location in a different window or browser tab"] = "Abrir la dirección seleccionada en una ventana o pestaña aparte";
+App::$strings["User '%s' deleted"] = "El usuario '%s' ha sido eliminado";
App::$strings["New Page"] = "Nueva página";
App::$strings["Title"] = "Título";
-App::$strings["Categories"] = "Temas";
-App::$strings["System"] = "Sistema";
-App::$strings["New App"] = "Nueva aplicación (app)";
-App::$strings["Suggestions"] = "Sugerencias";
-App::$strings["See more..."] = "Ver más...";
-App::$strings["You have %1$.0f of %2$.0f allowed connections."] = "Tiene %1$.0f de %2$.0f conexiones permitidas.";
-App::$strings["Add New Connection"] = "Añadir nueva conexión";
-App::$strings["Enter channel address"] = "Dirección del canal";
-App::$strings["Examples: bob@example.com, https://example.com/barbara"] = "Ejemplos: manuel@ejemplo.com, https://ejemplo.com/carmen";
-App::$strings["Notes"] = "Notas";
-App::$strings["Remove term"] = "Eliminar término";
-App::$strings["Everything"] = "Todo";
-App::$strings["Archives"] = "Hemeroteca";
-App::$strings["Refresh"] = "Recargar";
-App::$strings["Account settings"] = "Configuración de la cuenta";
-App::$strings["Channel settings"] = "Configuración del canal";
-App::$strings["Additional features"] = "Funcionalidades";
-App::$strings["Feature/Addon settings"] = "Complementos";
-App::$strings["Display settings"] = "Ajustes de visualización";
-App::$strings["Manage locations"] = "Gestión de ubicaciones (clones) del canal";
-App::$strings["Export channel"] = "Exportar canal";
-App::$strings["Connected apps"] = "Aplicaciones (apps) conectadas";
-App::$strings["Premium Channel Settings"] = "Configuración del canal premium";
-App::$strings["Private Mail Menu"] = "Menú de correo privado";
-App::$strings["Combined View"] = "Vista combinada";
+App::$strings["Different viewers will see this text differently"] = "Visitantes diferentes verán este texto de forma distinta";
+App::$strings["Logout"] = "Finalizar sesión";
+App::$strings["End this session"] = "Finalizar esta sesión";
+App::$strings["Home"] = "Inicio";
+App::$strings["Your posts and conversations"] = "Sus publicaciones y conversaciones";
+App::$strings["Your profile page"] = "Su página del perfil";
+App::$strings["Manage/Edit profiles"] = "Administrar/editar perfiles";
+App::$strings["Edit your profile"] = "Editar su perfil";
+App::$strings["Your photos"] = "Sus fotos";
+App::$strings["Your files"] = "Sus ficheros";
+App::$strings["Your chatrooms"] = "Sus salas de chat";
+App::$strings["Bookmarks"] = "Marcadores";
+App::$strings["Your bookmarks"] = "Sus marcadores";
+App::$strings["Your webpages"] = "Sus páginas web";
+App::$strings["Your wiki"] = "Su wiki";
+App::$strings["Sign in"] = "Acceder";
+App::$strings["%s - click to logout"] = "%s - pulsar para finalizar sesión";
+App::$strings["Remote authentication"] = "Acceder desde su servidor";
+App::$strings["Click to authenticate to your home hub"] = "Pulsar para identificarse en su servidor de inicio";
+App::$strings["Home Page"] = "Página de inicio";
+App::$strings["Create an account"] = "Crear una cuenta";
+App::$strings["Help and documentation"] = "Ayuda y documentación";
+App::$strings["Applications, utilities, links, games"] = "Aplicaciones, utilidades, enlaces, juegos";
+App::$strings["Search site @name, #tag, ?docs, content"] = "Buscar en el sitio por @nombre, #etiqueta, ?ayuda o contenido";
+App::$strings["Channel Directory"] = "Directorio de canales";
+App::$strings["Your grid"] = "Mi red";
+App::$strings["Mark all grid notifications seen"] = "Marcar todas las notificaciones de la red como vistas";
+App::$strings["Channel home"] = "Mi canal";
+App::$strings["Mark all channel notifications seen"] = "Marcar todas las notificaciones del canal como leídas";
+App::$strings["Notices"] = "Avisos";
+App::$strings["Notifications"] = "Notificaciones";
+App::$strings["See all notifications"] = "Ver todas las notificaciones";
+App::$strings["Private mail"] = "Correo privado";
+App::$strings["See all private messages"] = "Ver todas los mensajes privados";
+App::$strings["Mark all private messages seen"] = "Marcar todos los mensajes privados como leídos";
App::$strings["Inbox"] = "Bandeja de entrada";
App::$strings["Outbox"] = "Bandeja de salida";
App::$strings["New Message"] = "Nuevo mensaje";
-App::$strings["Conversations"] = "Conversaciones";
-App::$strings["Received Messages"] = "Mensajes recibidos";
-App::$strings["Sent Messages"] = "Enviar mensajes";
-App::$strings["No messages."] = "Sin mensajes.";
-App::$strings["Delete conversation"] = "Eliminar conversación";
-App::$strings["Events Tools"] = "Gestión de eventos";
-App::$strings["Export Calendar"] = "Exportar el calendario";
-App::$strings["Import Calendar"] = "Importar un calendario";
-App::$strings["Overview"] = "Resumen";
-App::$strings["Chat Members"] = "Miembros del chat";
-App::$strings["Wiki List"] = "Lista de wikis";
-App::$strings["Wiki Pages"] = "Páginas del wiki";
-App::$strings["Bookmarked Chatrooms"] = "Salas de chat preferidas";
-App::$strings["Suggested Chatrooms"] = "Salas de chat sugeridas";
-App::$strings["photo/image"] = "foto/imagen";
-App::$strings["Click to show more"] = "Hacer clic para ver más";
-App::$strings["Rating Tools"] = "Valoraciones";
-App::$strings["Rate Me"] = "Valorar este canal";
-App::$strings["View Ratings"] = "Mostrar las valoraciones";
-App::$strings["Forums"] = "Foros";
-App::$strings["Tasks"] = "Tareas";
-App::$strings["Documentation"] = "Documentación";
-App::$strings["Project/Site Information"] = "Información sobre el proyecto o sitio";
-App::$strings["For Members"] = "Para los miembros";
-App::$strings["For Administrators"] = "Para los administradores";
-App::$strings["For Developers"] = "Para los desarrolladores";
-App::$strings["Member registrations waiting for confirmation"] = "Inscripciones de nuevos miembros pendientes de aprobación";
-App::$strings["Inspect queue"] = "Examinar la cola";
-App::$strings["DB updates"] = "Actualizaciones de la base de datos";
+App::$strings["Event Calendar"] = "Calendario de eventos";
+App::$strings["See all events"] = "Ver todos los eventos";
+App::$strings["Mark all events seen"] = "Marcar todos los eventos como leidos";
+App::$strings["Manage Your Channels"] = "Gestionar sus canales";
+App::$strings["Account/Channel Settings"] = "Ajustes de cuenta/canales";
App::$strings["Admin"] = "Administrador";
-App::$strings["Plugin Features"] = "Extensiones";
+App::$strings["Site Setup and Configuration"] = "Ajustes y configuración del sitio";
+App::$strings["Loading..."] = "Cargando...";
+App::$strings["@name, #tag, ?doc, content"] = "@nombre, #etiqueta, ?ayuda, contenido";
+App::$strings["Please wait..."] = "Espere por favor…";
App::$strings["Attachments:"] = "Ficheros adjuntos:";
App::$strings["l F d, Y \\@ g:i A"] = "l d de F, Y \\@ G:i";
App::$strings["\$Projectname event notification:"] = "Notificación de eventos de \$Projectname:";
@@ -1997,18 +2013,7 @@ App::$strings["about a year"] = "alrededor de un año";
App::$strings["%d years"] = "%d años";
App::$strings[" "] = " ";
App::$strings["timeago.numbers"] = "timeago.numbers";
-App::$strings["January"] = "enero";
-App::$strings["February"] = "febrero";
-App::$strings["March"] = "marzo";
-App::$strings["April"] = "abril";
App::$strings["__ctx:long__ May"] = "mayo";
-App::$strings["June"] = "junio";
-App::$strings["July"] = "julio";
-App::$strings["August"] = "agosto";
-App::$strings["September"] = "septiembre";
-App::$strings["October"] = "octubre";
-App::$strings["November"] = "noviembre";
-App::$strings["December"] = "diciembre";
App::$strings["Jan"] = "ene";
App::$strings["Feb"] = "feb";
App::$strings["Mar"] = "mar";
@@ -2021,13 +2026,6 @@ App::$strings["Sep"] = "sep";
App::$strings["Oct"] = "oct";
App::$strings["Nov"] = "nov";
App::$strings["Dec"] = "dic";
-App::$strings["Sunday"] = "domingo";
-App::$strings["Monday"] = "lunes";
-App::$strings["Tuesday"] = "martes";
-App::$strings["Wednesday"] = "miércoles";
-App::$strings["Thursday"] = "jueves";
-App::$strings["Friday"] = "viernes";
-App::$strings["Saturday"] = "sábado";
App::$strings["Sun"] = "dom";
App::$strings["Mon"] = "lun";
App::$strings["Tue"] = "mar";
@@ -2040,50 +2038,167 @@ App::$strings["__ctx:calendar__ month"] = "mes";
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["Logout"] = "Finalizar sesión";
-App::$strings["End this session"] = "Finalizar esta sesión";
-App::$strings["Home"] = "Inicio";
-App::$strings["Your posts and conversations"] = "Sus publicaciones y conversaciones";
-App::$strings["Your profile page"] = "Su página del perfil";
-App::$strings["Manage/Edit profiles"] = "Administrar/editar perfiles";
-App::$strings["Edit Profile"] = "Editar el perfil";
-App::$strings["Edit your profile"] = "Editar su perfil";
-App::$strings["Your photos"] = "Sus fotos";
-App::$strings["Your files"] = "Sus ficheros";
-App::$strings["Your chatrooms"] = "Sus salas de chat";
-App::$strings["Your bookmarks"] = "Sus marcadores";
-App::$strings["Your webpages"] = "Sus páginas web";
-App::$strings["Your wiki"] = "Su wiki";
-App::$strings["Sign in"] = "Acceder";
-App::$strings["%s - click to logout"] = "%s - pulsar para finalizar sesión";
-App::$strings["Remote authentication"] = "Acceder desde su servidor";
-App::$strings["Click to authenticate to your home hub"] = "Pulsar para identificarse en su servidor de inicio";
-App::$strings["Home Page"] = "Página de inicio";
-App::$strings["Create an account"] = "Crear una cuenta";
-App::$strings["Help and documentation"] = "Ayuda y documentación";
-App::$strings["Applications, utilities, links, games"] = "Aplicaciones, utilidades, enlaces, juegos";
-App::$strings["Search site @name, #tag, ?docs, content"] = "Buscar en el sitio por @nombre, #etiqueta, ?ayuda o contenido";
-App::$strings["Channel Directory"] = "Directorio de canales";
-App::$strings["Your grid"] = "Mi red";
-App::$strings["Mark all grid notifications seen"] = "Marcar todas las notificaciones de la red como vistas";
-App::$strings["Channel home"] = "Mi canal";
-App::$strings["Mark all channel notifications seen"] = "Marcar todas las notificaciones del canal como leídas";
-App::$strings["Notices"] = "Avisos";
-App::$strings["Notifications"] = "Notificaciones";
-App::$strings["See all notifications"] = "Ver todas las notificaciones";
-App::$strings["Private mail"] = "Correo privado";
-App::$strings["See all private messages"] = "Ver todas los mensajes privados";
-App::$strings["Mark all private messages seen"] = "Marcar todos los mensajes privados como leídos";
-App::$strings["Event Calendar"] = "Calendario de eventos";
-App::$strings["See all events"] = "Ver todos los eventos";
-App::$strings["Mark all events seen"] = "Marcar todos los eventos como leidos";
-App::$strings["Manage Your Channels"] = "Gestionar sus canales";
-App::$strings["Account/Channel Settings"] = "Ajustes de cuenta/canales";
-App::$strings["Site Setup and Configuration"] = "Ajustes y configuración del sitio";
-App::$strings["@name, #tag, ?doc, content"] = "@nombre, #etiqueta, ?ayuda, contenido";
-App::$strings["Please wait..."] = "Espere por favor…";
+App::$strings["Channel is blocked on this site."] = "El canal está bloqueado en este sitio.";
+App::$strings["Channel location missing."] = "Falta la dirección del canal.";
+App::$strings["Response from remote channel was incomplete."] = "Respuesta incompleta del canal.";
+App::$strings["Channel was deleted and no longer exists."] = "El canal ha sido eliminado y ya no existe.";
+App::$strings["Protocol disabled."] = "Protocolo deshabilitado.";
+App::$strings["Channel discovery failed."] = "El intento de acceder al canal ha fallado.";
+App::$strings["Cannot connect to yourself."] = "No puede conectarse consigo mismo.";
+App::$strings["Image/photo"] = "Imagen/foto";
+App::$strings["Encrypted content"] = "Contenido cifrado";
+App::$strings["Install %s element: "] = "Instalar el elemento %s:";
+App::$strings["This post contains an installable %s element, however you lack permissions to install it on this site."] = "Esta entrada contiene el elemento instalable %s, sin embargo le faltan permisos para instalarlo en este sitio.";
+App::$strings["%1\$s wrote the following %2\$s %3\$s"] = "%1\$s escribió %2\$s siguiente %3\$s";
+App::$strings["Click to open/close"] = "Pulsar para abrir/cerrar";
+App::$strings["spoiler"] = "spoiler";
+App::$strings["$1 wrote:"] = "$1 escribió:";
+App::$strings["%1\$s is now connected with %2\$s"] = "%1\$s ahora está conectado/a con %2\$s";
+App::$strings["%1\$s poked %2\$s"] = "%1\$s ha dado un toque a %2\$s";
+App::$strings["View %s's profile @ %s"] = "Ver el perfil @ %s de %s";
+App::$strings["Categories:"] = "Temas:";
+App::$strings["Filed under:"] = "Archivado bajo:";
+App::$strings["View in context"] = "Mostrar en su contexto";
+App::$strings["remove"] = "eliminar";
+App::$strings["Delete Selected Items"] = "Eliminar elementos seleccionados";
+App::$strings["View Source"] = "Ver el código fuente de la entrada";
+App::$strings["Follow Thread"] = "Seguir este hilo";
+App::$strings["Unfollow Thread"] = "Dejar de seguir este hilo";
+App::$strings["Activity/Posts"] = "Actividad y publicaciones";
+App::$strings["Edit Connection"] = "Editar conexión";
+App::$strings["Message"] = "Mensaje";
+App::$strings["%s likes this."] = "A %s le gusta esto.";
+App::$strings["%s doesn't like this."] = "A %s no le gusta esto.";
+App::$strings["<span %1\$s>%2\$d people</span> like this."] = array(
+ 0 => "a <span %1\$s>%2\$d personas</span> le gusta esto.",
+ 1 => "A <span %1\$s>%2\$d personas</span> les gusta esto.",
+);
+App::$strings["<span %1\$s>%2\$d people</span> don't like this."] = array(
+ 0 => "a <span %1\$s>%2\$d personas</span> no les gusta esto.",
+ 1 => "A <span %1\$s>%2\$d personas</span> no les gusta esto.",
+);
+App::$strings["and"] = "y";
+App::$strings[", and %d other people"] = array(
+ 0 => ", y %d persona más",
+ 1 => ", y %d personas más",
+);
+App::$strings["%s like this."] = "A %s le gusta esto.";
+App::$strings["%s don't like this."] = "A %s no le gusta esto.";
+App::$strings["Set your location"] = "Establecer su ubicación";
+App::$strings["Clear browser location"] = "Eliminar los datos de localización geográfica del navegador";
+App::$strings["Tag term:"] = "Término de la etiqueta:";
+App::$strings["Where are you right now?"] = "¿Donde está ahora?";
+App::$strings["Comments enabled"] = "Comentarios habilitados";
+App::$strings["Comments disabled"] = "Comentarios deshabilitados";
+App::$strings["Page link name"] = "Nombre del enlace de la página";
+App::$strings["Post as"] = "Publicar como";
+App::$strings["Toggle voting"] = "Cambiar votación";
+App::$strings["Disable comments"] = "Dehabilitar los comentarios";
+App::$strings["Toggle comments"] = "Activar o desactivar los comentarios";
+App::$strings["Categories (optional, comma-separated list)"] = "Temas (opcional, lista separada por comas)";
+App::$strings["Other networks and post services"] = "Otras redes y servicios de publicación";
+App::$strings["Set publish date"] = "Establecer la fecha de publicación";
+App::$strings["Discover"] = "Descubrir";
+App::$strings["Imported public streams"] = "Contenidos públicos importados";
+App::$strings["Commented Order"] = "Comentarios recientes";
+App::$strings["Sort by Comment Date"] = "Ordenar por fecha de comentario";
+App::$strings["Posted Order"] = "Publicaciones recientes";
+App::$strings["Sort by Post Date"] = "Ordenar por fecha de publicación";
+App::$strings["Posts that mention or involve you"] = "Publicaciones que le mencionan o involucran";
+App::$strings["Activity Stream - by date"] = "Contenido - por fecha";
+App::$strings["Starred"] = "Preferidas";
+App::$strings["Favourite Posts"] = "Publicaciones favoritas";
+App::$strings["Spam"] = "Correo basura";
+App::$strings["Posts flagged as SPAM"] = "Publicaciones marcadas como basura";
+App::$strings["Status Messages and Posts"] = "Mensajes de estado y publicaciones";
+App::$strings["About"] = "Mi perfil";
+App::$strings["Profile Details"] = "Detalles del perfil";
+App::$strings["Files and Storage"] = "Ficheros y repositorio";
+App::$strings["Chatrooms"] = "Salas de chat";
+App::$strings["Saved Bookmarks"] = "Marcadores guardados";
+App::$strings["Manage Webpages"] = "Administrar páginas web";
+App::$strings["__ctx:noun__ Attending"] = array(
+ 0 => "Participaré",
+ 1 => "Participaré",
+);
+App::$strings["__ctx:noun__ Not Attending"] = array(
+ 0 => "No participaré",
+ 1 => "No participaré",
+);
+App::$strings["__ctx:noun__ Undecided"] = array(
+ 0 => "Indeciso/a",
+ 1 => "Indecisos/as",
+);
+App::$strings["__ctx:noun__ Agree"] = array(
+ 0 => "De acuerdo",
+ 1 => "De acuerdo",
+);
+App::$strings["__ctx:noun__ Disagree"] = array(
+ 0 => "En desacuerdo",
+ 1 => "En desacuerdo",
+);
+App::$strings["__ctx:noun__ Abstain"] = array(
+ 0 => "se abstiene",
+ 1 => "Se abstienen",
+);
+App::$strings["Birthday"] = "Cumpleaños";
+App::$strings["Age: "] = "Edad:";
+App::$strings["YYYY-MM-DD or MM-DD"] = "AAAA-MM-DD o MM-DD";
+App::$strings["never"] = "nunca";
+App::$strings["less than a second ago"] = "hace un instante";
+App::$strings["__ctx:e.g. 22 hours ago, 1 minute ago__ %1\$d %2\$s ago"] = "hace %1\$d %2\$s";
+App::$strings["__ctx:relative_date__ year"] = array(
+ 0 => "año",
+ 1 => "años",
+);
+App::$strings["__ctx:relative_date__ month"] = array(
+ 0 => "mes",
+ 1 => "meses",
+);
+App::$strings["__ctx:relative_date__ week"] = array(
+ 0 => "semana",
+ 1 => "semanas",
+);
+App::$strings["__ctx:relative_date__ day"] = array(
+ 0 => "día",
+ 1 => "días",
+);
+App::$strings["__ctx:relative_date__ hour"] = array(
+ 0 => "hora",
+ 1 => "horas",
+);
+App::$strings["__ctx:relative_date__ minute"] = array(
+ 0 => "minuto",
+ 1 => "minutos",
+);
+App::$strings["__ctx:relative_date__ second"] = array(
+ 0 => "segundo",
+ 1 => "segundos",
+);
+App::$strings["%1\$s's birthday"] = "Cumpleaños de %1\$s";
+App::$strings["Happy Birthday %1\$s"] = "Feliz cumpleaños %1\$s";
+App::$strings["Directory Options"] = "Opciones del directorio";
+App::$strings["Safe Mode"] = "Modo seguro";
+App::$strings["Public Forums Only"] = "Solo foros públicos";
+App::$strings["This Website Only"] = "Solo este sitio web";
+App::$strings["This event has been added to your calendar."] = "Este evento ha sido añadido a su calendario.";
+App::$strings["Not specified"] = "Sin especificar";
+App::$strings["Needs Action"] = "Necesita de una intervención";
+App::$strings["Completed"] = "Completado/a";
+App::$strings["In Process"] = "En proceso";
+App::$strings["Cancelled"] = "Cancelado/a";
+App::$strings["Cannot create a duplicate channel identifier on this system. Import failed."] = "No se ha podido crear un canal con un identificador que ya existe en este sistema. La importación ha fallado.";
+App::$strings["Channel clone failed. Import failed."] = "La clonación del canal no ha salido bien. La importación ha fallado.";
+App::$strings["Unable to import element \""] = "No se puede importar un elemento \"";
+App::$strings["Logged out."] = "Desconectado/a.";
+App::$strings["Failed authentication"] = "Autenticación fallida.";
+App::$strings["Login failed."] = "El acceso ha fallado.";
+App::$strings[" and "] = " y ";
+App::$strings["public profile"] = "el perfil público";
+App::$strings["%1\$s changed %2\$s to &ldquo;%3\$s&rdquo;"] = "%1\$s ha cambiado %2\$s a &ldquo;%3\$s&rdquo;";
+App::$strings["Visit %1\$s's %2\$s"] = "Visitar %2\$s de %1\$s";
+App::$strings["%1\$s has an updated %2\$s, changing %3\$s."] = "%1\$s ha actualizado %2\$s, cambiando %3\$s.";
App::$strings["view full size"] = "Ver en el tamaño original";
-App::$strings["Administrator"] = "Administrador";
App::$strings["No Subject"] = "Sin asunto";
App::$strings["Friendica"] = "Friendica";
App::$strings["OStatus"] = "OStatus";
@@ -2095,8 +2210,90 @@ App::$strings["Zot"] = "Zot";
App::$strings["LinkedIn"] = "LinkedIn";
App::$strings["XMPP/IM"] = "XMPP/IM";
App::$strings["MySpace"] = "MySpace";
-App::$strings["Cannot create a duplicate channel identifier on this system. Import failed."] = "No se ha podido crear un canal con un identificador que ya existe en este sistema. La importación ha fallado.";
-App::$strings["Channel clone failed. Import failed."] = "La clonación del canal no ha salido bien. La importación ha fallado.";
+App::$strings["Categories"] = "Temas";
+App::$strings["Tags"] = "Etiquetas";
+App::$strings["Keywords"] = "Palabras clave";
+App::$strings["have"] = "tener";
+App::$strings["has"] = "tiene";
+App::$strings["want"] = "quiero";
+App::$strings["wants"] = "quiere";
+App::$strings["likes"] = "gusta de";
+App::$strings["dislikes"] = "no gusta de";
+App::$strings["%d invitation available"] = array(
+ 0 => "%d invitación pendiente",
+ 1 => "%d invitaciones disponibles",
+);
+App::$strings["Find Channels"] = "Encontrar canales";
+App::$strings["Enter name or interest"] = "Introducir nombre o interés";
+App::$strings["Connect/Follow"] = "Conectar/Seguir";
+App::$strings["Examples: Robert Morgenstein, Fishing"] = "Ejemplos: José Fernández, Pesca";
+App::$strings["Random Profile"] = "Perfil aleatorio";
+App::$strings["Invite Friends"] = "Invitar a amigos";
+App::$strings["Advanced example: name=fred and country=iceland"] = "Ejemplo avanzado: nombre=juan y país=españa";
+App::$strings["Everything"] = "Todo";
+App::$strings["%d connection in common"] = array(
+ 0 => "%d conexión en común",
+ 1 => "%d conexiones en común",
+);
+App::$strings["show more"] = "mostrar más";
+App::$strings["System"] = "Sistema";
+App::$strings["New App"] = "Nueva aplicación (app)";
+App::$strings["Suggestions"] = "Sugerencias";
+App::$strings["See more..."] = "Ver más...";
+App::$strings["You have %1$.0f of %2$.0f allowed connections."] = "Tiene %1$.0f de %2$.0f conexiones permitidas.";
+App::$strings["Add New Connection"] = "Añadir nueva conexión";
+App::$strings["Enter channel address"] = "Dirección del canal";
+App::$strings["Examples: bob@example.com, https://example.com/barbara"] = "Ejemplos: manuel@ejemplo.com, https://ejemplo.com/carmen";
+App::$strings["Notes"] = "Notas";
+App::$strings["Remove term"] = "Eliminar término";
+App::$strings["Archives"] = "Hemeroteca";
+App::$strings["Refresh"] = "Recargar";
+App::$strings["Account settings"] = "Configuración de la cuenta";
+App::$strings["Channel settings"] = "Configuración del canal";
+App::$strings["Additional features"] = "Funcionalidades";
+App::$strings["Feature/Addon settings"] = "Complementos";
+App::$strings["Display settings"] = "Ajustes de visualización";
+App::$strings["Manage locations"] = "Gestión de ubicaciones (clones) del canal";
+App::$strings["Export channel"] = "Exportar canal";
+App::$strings["Connected apps"] = "Aplicaciones (apps) conectadas";
+App::$strings["Premium Channel Settings"] = "Configuración del canal premium";
+App::$strings["Private Mail Menu"] = "Menú de correo privado";
+App::$strings["Combined View"] = "Vista combinada";
+App::$strings["Inbox"] = "Bandeja de entrada";
+App::$strings["Outbox"] = "Bandeja de salida";
+App::$strings["New Message"] = "Nuevo mensaje";
+App::$strings["Conversations"] = "Conversaciones";
+App::$strings["Received Messages"] = "Mensajes recibidos";
+App::$strings["Sent Messages"] = "Enviar mensajes";
+App::$strings["No messages."] = "Sin mensajes.";
+App::$strings["Delete conversation"] = "Eliminar conversación";
+App::$strings["Events Tools"] = "Gestión de eventos";
+App::$strings["Export Calendar"] = "Exportar el calendario";
+App::$strings["Import Calendar"] = "Importar un calendario";
+App::$strings["Overview"] = "Resumen";
+App::$strings["Chat Members"] = "Miembros del chat";
+App::$strings["Wiki List"] = "Lista de wikis";
+App::$strings["Wiki Pages"] = "Páginas del wiki";
+App::$strings["Bookmarked Chatrooms"] = "Salas de chat preferidas";
+App::$strings["Suggested Chatrooms"] = "Salas de chat sugeridas";
+App::$strings["photo/image"] = "foto/imagen";
+App::$strings["Click to show more"] = "Hacer clic para ver más";
+App::$strings["Rating Tools"] = "Valoraciones";
+App::$strings["Rate Me"] = "Valorar este canal";
+App::$strings["View Ratings"] = "Mostrar las valoraciones";
+App::$strings["Forums"] = "Foros";
+App::$strings["Tasks"] = "Tareas";
+App::$strings["Documentation"] = "Documentación";
+App::$strings["Member registrations waiting for confirmation"] = "Inscripciones de nuevos miembros pendientes de aprobación";
+App::$strings["Inspect queue"] = "Examinar la cola";
+App::$strings["DB updates"] = "Actualizaciones de la base de datos";
+App::$strings["Admin"] = "Administrador";
+App::$strings["Plugin Features"] = "Extensiones";
+App::$strings["Public Timeline"] = "Cronología pública";
+App::$strings[" by "] = "por";
+App::$strings[" on "] = "en";
+App::$strings["Embedded content"] = "Contenido incorporado";
+App::$strings["Embedding disabled"] = "Incrustación deshabilitada";
App::$strings["(Unknown)"] = "(Desconocido)";
App::$strings["Visible to anybody on the internet."] = "Visible para cualquiera en internet.";
App::$strings["Visible to you only."] = "Visible sólo para usted.";
@@ -2110,80 +2307,6 @@ App::$strings["Privacy group is empty."] = "El grupo de canales está vacío.";
App::$strings["Privacy group: %s"] = "Grupo de canales: %s";
App::$strings["Connection not found."] = "Conexión no encontrada";
App::$strings["profile photo"] = "foto del perfil";
-App::$strings["prev"] = "anterior";
-App::$strings["first"] = "primera";
-App::$strings["last"] = "última";
-App::$strings["next"] = "próxima";
-App::$strings["older"] = "más antiguas";
-App::$strings["newer"] = "más recientes";
-App::$strings["No connections"] = "Sin conexiones";
-App::$strings["View all %s connections"] = "Ver todas las %s conexiones";
-App::$strings["poke"] = "un toque";
-App::$strings["ping"] = "un \"ping\"";
-App::$strings["pinged"] = "ha enviado un \"ping\" a";
-App::$strings["prod"] = "una incitación ";
-App::$strings["prodded"] = "ha incitado a ";
-App::$strings["slap"] = "una bofetada ";
-App::$strings["slapped"] = "ha abofeteado a ";
-App::$strings["finger"] = "un \"finger\" ";
-App::$strings["fingered"] = "envió un \"finger\" a";
-App::$strings["rebuff"] = "un reproche";
-App::$strings["rebuffed"] = "ha hecho un reproche a ";
-App::$strings["happy"] = "feliz ";
-App::$strings["sad"] = "triste ";
-App::$strings["mellow"] = "tranquilo/a";
-App::$strings["tired"] = "cansado/a ";
-App::$strings["perky"] = "vivaz";
-App::$strings["angry"] = "enfadado/a";
-App::$strings["stupefied"] = "asombrado/a";
-App::$strings["puzzled"] = "perplejo/a";
-App::$strings["interested"] = "interesado/a";
-App::$strings["bitter"] = "amargado/a";
-App::$strings["cheerful"] = "alegre";
-App::$strings["alive"] = "animado/a";
-App::$strings["annoyed"] = "molesto/a";
-App::$strings["anxious"] = "ansioso/a";
-App::$strings["cranky"] = "de mal humor";
-App::$strings["disturbed"] = "perturbado/a";
-App::$strings["frustrated"] = "frustrado/a";
-App::$strings["depressed"] = "deprimido/a";
-App::$strings["motivated"] = "motivado/a";
-App::$strings["relaxed"] = "relajado/a";
-App::$strings["surprised"] = "sorprendido/a";
-App::$strings["May"] = "mayo";
-App::$strings["Unknown Attachment"] = "Adjunto no reconocido";
-App::$strings["unknown"] = "desconocido";
-App::$strings["remove category"] = "eliminar el tema";
-App::$strings["remove from file"] = "eliminar del fichero";
-App::$strings["default"] = "por defecto";
-App::$strings["Page layout"] = "Plantilla de la página";
-App::$strings["You can create your own with the layouts tool"] = "Puede crear su propia disposición gráfica con la herramienta de plantillas";
-App::$strings["Page content type"] = "Tipo de contenido de la página";
-App::$strings["Select an alternate language"] = "Seleccionar un idioma alternativo";
-App::$strings["activity"] = "la actividad";
-App::$strings["Design Tools"] = "Herramientas de diseño web";
-App::$strings["Pages"] = "Páginas";
-App::$strings["Import website..."] = "Importar un sitio web...";
-App::$strings["Select folder to import"] = "Seleccionar la carpeta que se va a importar";
-App::$strings["Import from a zipped folder:"] = "Importar desde una carpeta comprimida: ";
-App::$strings["Import from cloud files:"] = "Importar desde los ficheros en la nube: ";
-App::$strings["/cloud/channel/path/to/folder"] = "/cloud/canal/ruta/a la/carpeta";
-App::$strings["Enter path to website files"] = "Ruta a los ficheros del sitio web";
-App::$strings["Select folder"] = "Seleccionar la carpeta";
-App::$strings["Who can see this?"] = "¿Quién puede ver esto?";
-App::$strings["Custom selection"] = "Selección personalizada";
-App::$strings["Select \"Show\" to allow viewing. \"Don't show\" lets you override and limit the scope of \"Show\"."] = "Seleccione \"Mostrar\" para permitir la visualización. La opción \"No mostrar\" le permite anular y limitar el alcance de \"Mostrar\".";
-App::$strings["Show"] = "Mostrar";
-App::$strings["Don't show"] = "No mostrar";
-App::$strings["Other networks and post services"] = "Otras redes y servicios de publicación";
-App::$strings["Post permissions %s cannot be changed %s after a post is shared.</br />These permissions set who is allowed to view the post."] = "Los permisos de la entrada %s no se pueden cambiar %s una vez que se ha compartido.</br /> Estos permisos establecen quién está autorizado para ver el mensaje.";
-App::$strings["Embedded content"] = "Contenido incorporado";
-App::$strings["Embedding disabled"] = "Incrustación deshabilitada";
-App::$strings[" and "] = " y ";
-App::$strings["public profile"] = "el perfil público";
-App::$strings["%1\$s changed %2\$s to &ldquo;%3\$s&rdquo;"] = "%1\$s ha cambiado %2\$s a &ldquo;%3\$s&rdquo;";
-App::$strings["Visit %1\$s's %2\$s"] = "Visitar %2\$s de %1\$s";
-App::$strings["%1\$s has an updated %2\$s, changing %3\$s."] = "%1\$s ha actualizado %2\$s, cambiando %3\$s.";
App::$strings["Item was not found."] = "Elemento no encontrado.";
App::$strings["No source file."] = "Ningún fichero de origen";
App::$strings["Cannot locate file to replace"] = "No se puede localizar el fichero que va a ser sustituido.";
@@ -2199,105 +2322,6 @@ App::$strings["Path not found."] = "Ruta no encontrada";
App::$strings["mkdir failed."] = "mkdir ha fallado.";
App::$strings["database storage failed."] = "el almacenamiento en la base de datos ha fallado.";
App::$strings["Empty path"] = "Ruta vacía";
-App::$strings["Tags"] = "Etiquetas";
-App::$strings["Keywords"] = "Palabras clave";
-App::$strings["have"] = "tener";
-App::$strings["has"] = "tiene";
-App::$strings["want"] = "quiero";
-App::$strings["wants"] = "quiere";
-App::$strings["likes"] = "gusta de";
-App::$strings["dislikes"] = "no gusta de";
-App::$strings["Invalid data packet"] = "Paquete de datos no válido";
-App::$strings["Unable to verify channel signature"] = "No ha sido posible de verificar la firma del canal";
-App::$strings["Unable to verify site signature for %s"] = "No ha sido posible de verificar la firma del sitio para %s";
-App::$strings["invalid target signature"] = "La firma recibida no es válida";
-App::$strings["Unable to obtain identity information from database"] = "No ha sido posible obtener información sobre la identidad desde la base de datos";
-App::$strings["Empty name"] = "Nombre vacío";
-App::$strings["Name too long"] = "Nombre demasiado largo";
-App::$strings["No account identifier"] = "Ningún identificador de la cuenta";
-App::$strings["Nickname is required."] = "Se requiere un sobrenombre (alias).";
-App::$strings["Reserved nickname. Please choose another."] = "Sobrenombre en uso. Por favor, elija otro.";
-App::$strings["Nickname has unsupported characters or is already being used on this site."] = "El alias contiene caracteres no admitidos o está ya en uso por otros miembros de este sitio.";
-App::$strings["Unable to retrieve created identity"] = "No ha sido posible recuperar la identidad creada";
-App::$strings["Default Profile"] = "Perfil principal";
-App::$strings["Requested channel is not available."] = "El canal solicitado no está disponible.";
-App::$strings["Create New Profile"] = "Crear un nuevo perfil";
-App::$strings["Visible to everybody"] = "Visible para todos";
-App::$strings["Gender:"] = "Género:";
-App::$strings["Status:"] = "Estado:";
-App::$strings["Homepage:"] = "Página personal:";
-App::$strings["Online Now"] = "Ahora en línea";
-App::$strings["Like this channel"] = "Me gusta este canal";
-App::$strings["j F, Y"] = "j F Y";
-App::$strings["j F"] = "j F";
-App::$strings["Birthday:"] = "Cumpleaños:";
-App::$strings["for %1\$d %2\$s"] = "por %1\$d %2\$s";
-App::$strings["Sexual Preference:"] = "Orientación sexual:";
-App::$strings["Tags:"] = "Etiquetas:";
-App::$strings["Political Views:"] = "Posición política:";
-App::$strings["Religion:"] = "Religión:";
-App::$strings["Hobbies/Interests:"] = "Aficciones o intereses:";
-App::$strings["Likes:"] = "Me gusta:";
-App::$strings["Dislikes:"] = "No me gusta:";
-App::$strings["Contact information and Social Networks:"] = "Información de contacto y redes sociales:";
-App::$strings["My other channels:"] = "Mis otros canales:";
-App::$strings["Musical interests:"] = "Preferencias musicales:";
-App::$strings["Books, literature:"] = "Libros, literatura:";
-App::$strings["Television:"] = "Televisión:";
-App::$strings["Film/dance/culture/entertainment:"] = "Cine, danza, cultura, entretenimiento:";
-App::$strings["Love/Romance:"] = "Vida sentimental o amorosa:";
-App::$strings["Work/employment:"] = "Trabajo:";
-App::$strings["School/education:"] = "Estudios:";
-App::$strings["Like this thing"] = "Me gusta esto";
-App::$strings["New window"] = "Nueva ventana";
-App::$strings["Open the selected location in a different window or browser tab"] = "Abrir la dirección seleccionada en una ventana o pestaña aparte";
-App::$strings["User '%s' deleted"] = "El usuario '%s' ha sido eliminado";
-App::$strings["This event has been added to your calendar."] = "Este evento ha sido añadido a su calendario.";
-App::$strings["Not specified"] = "Sin especificar";
-App::$strings["Needs Action"] = "Necesita de una intervención";
-App::$strings["Completed"] = "Completado/a";
-App::$strings["In Process"] = "En proceso";
-App::$strings["Cancelled"] = "Cancelado/a";
-App::$strings["%d invitation available"] = array(
- 0 => "%d invitación pendiente",
- 1 => "%d invitaciones disponibles",
-);
-App::$strings["Find Channels"] = "Encontrar canales";
-App::$strings["Enter name or interest"] = "Introducir nombre o interés";
-App::$strings["Connect/Follow"] = "Conectar/Seguir";
-App::$strings["Examples: Robert Morgenstein, Fishing"] = "Ejemplos: José Fernández, Pesca";
-App::$strings["Random Profile"] = "Perfil aleatorio";
-App::$strings["Invite Friends"] = "Invitar a amigos";
-App::$strings["Advanced example: name=fred and country=iceland"] = "Ejemplo avanzado: nombre=juan y país=españa";
-App::$strings["%d connection in common"] = array(
- 0 => "%d conexión en común",
- 1 => "%d conexiones en común",
-);
-App::$strings["show more"] = "mostrar más";
-App::$strings["Directory Options"] = "Opciones del directorio";
-App::$strings["Safe Mode"] = "Modo seguro";
-App::$strings["Public Forums Only"] = "Solo foros públicos";
-App::$strings["This Website Only"] = "Solo este sitio web";
-App::$strings["No recipient provided."] = "No se ha especificado ningún destinatario.";
-App::$strings["[no subject]"] = "[sin asunto]";
-App::$strings["Unable to determine sender."] = "No ha sido posible determinar el remitente. ";
-App::$strings["Stored post could not be verified."] = "No se han podido verificar las publicaciones guardadas.";
-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["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.";
-App::$strings["Failed to store account information."] = "La información de la cuenta no se ha podido guardar.";
-App::$strings["Registration confirmation for %s"] = "Confirmación de registro para %s";
-App::$strings["Registration request at %s"] = "Solicitud de registro en %s";
-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["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["Focus (Hubzilla default)"] = "Focus (predefinido)";
App::$strings["Theme settings"] = "Ajustes del tema";
App::$strings["Narrow navbar"] = "Estrechar la barra de navegación";
diff --git a/view/it/hmessages.po b/view/it/hmessages.po
index dc7e240e1..c09bc1536 100644
--- a/view/it/hmessages.po
+++ b/view/it/hmessages.po
@@ -10,8 +10,8 @@ msgid ""
msgstr ""
"Project-Id-Version: Redmatrix\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2016-07-22 00:02-0700\n"
-"PO-Revision-Date: 2016-07-26 07:33+0000\n"
+"POT-Creation-Date: 2016-09-30 00:02-0700\n"
+"PO-Revision-Date: 2016-10-02 12:23+0000\n"
"Last-Translator: Paolo Wave <pynolo@tarine.net>\n"
"Language-Team: Italian (http://www.transifex.com/Friendica/red-matrix/language/it/)\n"
"MIME-Version: 1.0\n"
@@ -21,83 +21,87 @@ msgstr ""
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#: ../../Zotlabs/Access/PermissionRoles.php:182
-#: ../../include/permissions.php:904
+#: ../../include/permissions.php:945
msgid "Social Networking"
msgstr "Social network"
#: ../../Zotlabs/Access/PermissionRoles.php:183
-#: ../../include/permissions.php:904
+#: ../../include/permissions.php:945
msgid "Social - Mostly Public"
msgstr "Social - Prevalentemente pubblico"
#: ../../Zotlabs/Access/PermissionRoles.php:184
-#: ../../include/permissions.php:904
+#: ../../include/permissions.php:945
msgid "Social - Restricted"
msgstr "Social - Con restrizioni"
#: ../../Zotlabs/Access/PermissionRoles.php:185
-#: ../../include/permissions.php:904
+#: ../../include/permissions.php:945
msgid "Social - Private"
msgstr "Social - Privato"
#: ../../Zotlabs/Access/PermissionRoles.php:188
-#: ../../include/permissions.php:905
+#: ../../include/permissions.php:946
msgid "Community Forum"
msgstr "Forum di discussione"
#: ../../Zotlabs/Access/PermissionRoles.php:189
-#: ../../include/permissions.php:905
+#: ../../include/permissions.php:946
msgid "Forum - Mostly Public"
msgstr "Social - Prevalentemente pubblico"
#: ../../Zotlabs/Access/PermissionRoles.php:190
-#: ../../include/permissions.php:905
+#: ../../include/permissions.php:946
msgid "Forum - Restricted"
msgstr "Forum - Con restrizioni"
#: ../../Zotlabs/Access/PermissionRoles.php:191
-#: ../../include/permissions.php:905
+#: ../../include/permissions.php:946
msgid "Forum - Private"
msgstr "Forum - Privato"
#: ../../Zotlabs/Access/PermissionRoles.php:194
-#: ../../include/permissions.php:906
+#: ../../include/permissions.php:947
msgid "Feed Republish"
msgstr "Aggregatore di feed esterni"
#: ../../Zotlabs/Access/PermissionRoles.php:195
-#: ../../include/permissions.php:906
+#: ../../include/permissions.php:947
msgid "Feed - Mostly Public"
msgstr "Feed - Prevalentemente pubblico"
#: ../../Zotlabs/Access/PermissionRoles.php:196
-#: ../../include/permissions.php:906
+#: ../../include/permissions.php:947
msgid "Feed - Restricted"
msgstr "Feed - Con restrizioni"
#: ../../Zotlabs/Access/PermissionRoles.php:199
-#: ../../include/permissions.php:907
+#: ../../include/permissions.php:948
msgid "Special Purpose"
msgstr "Per finalità speciali"
#: ../../Zotlabs/Access/PermissionRoles.php:200
-#: ../../include/permissions.php:907
+#: ../../include/permissions.php:948
msgid "Special - Celebrity/Soapbox"
msgstr "Speciale - Pagina per fan"
#: ../../Zotlabs/Access/PermissionRoles.php:201
-#: ../../include/permissions.php:907
+#: ../../include/permissions.php:948
msgid "Special - Group Repository"
msgstr "Speciale - Repository di gruppo"
-#: ../../Zotlabs/Access/PermissionRoles.php:204 ../../include/selectors.php:49
+#: ../../Zotlabs/Access/PermissionRoles.php:204
+#: ../../Zotlabs/Module/New_channel.php:132
+#: ../../Zotlabs/Module/Register.php:213
+#: ../../Zotlabs/Module/Settings/Channel.php:442
+#: ../../include/permissions.php:949 ../../include/selectors.php:49
#: ../../include/selectors.php:66 ../../include/selectors.php:104
-#: ../../include/selectors.php:140 ../../include/permissions.php:908
+#: ../../include/selectors.php:140
msgid "Other"
msgstr "Altro"
#: ../../Zotlabs/Access/PermissionRoles.php:205
-#: ../../include/permissions.php:908
+#: ../../include/permissions.php:949
msgid "Custom/Expert Mode"
msgstr "Personalizzazione per esperti"
@@ -105,19 +109,19 @@ msgstr "Personalizzazione per esperti"
msgid "Can view my channel stream and posts"
msgstr "Può vedere i post e i contenuti del mio canale"
-#: ../../Zotlabs/Access/Permissions.php:31 ../../include/permissions.php:33
+#: ../../Zotlabs/Access/Permissions.php:31 ../../include/permissions.php:42
msgid "Can send me their channel stream and posts"
msgstr "È tra i canali che seguo"
-#: ../../Zotlabs/Access/Permissions.php:32 ../../include/permissions.php:27
+#: ../../Zotlabs/Access/Permissions.php:32 ../../include/permissions.php:36
msgid "Can view my default channel profile"
msgstr "Può vedere il profilo predefinito del canale"
-#: ../../Zotlabs/Access/Permissions.php:33 ../../include/permissions.php:28
+#: ../../Zotlabs/Access/Permissions.php:33 ../../include/permissions.php:37
msgid "Can view my connections"
msgstr "Può vedere i miei contatti"
-#: ../../Zotlabs/Access/Permissions.php:34 ../../include/permissions.php:29
+#: ../../Zotlabs/Access/Permissions.php:34 ../../include/permissions.php:38
msgid "Can view my file storage and photos"
msgstr "Può vedere il mio archivio file e foto"
@@ -137,11 +141,11 @@ msgstr "Può creare o modificare le pagine web del mio canale"
msgid "Can post on my channel (wall) page"
msgstr "Può postare sulla mia bacheca"
-#: ../../Zotlabs/Access/Permissions.php:39 ../../include/permissions.php:35
+#: ../../Zotlabs/Access/Permissions.php:39 ../../include/permissions.php:44
msgid "Can comment on or like my posts"
msgstr "Può commentare o aggiungere \"mi piace\" ai miei post"
-#: ../../Zotlabs/Access/Permissions.php:40 ../../include/permissions.php:36
+#: ../../Zotlabs/Access/Permissions.php:40 ../../include/permissions.php:45
msgid "Can send me private mail messages"
msgstr "Può inviarmi messaggi privati"
@@ -157,7 +161,7 @@ msgstr "Può inoltrare post a tutti i miei contatti con una menzione @+"
msgid "Can chat with me"
msgstr "Può aprire una chat con me"
-#: ../../Zotlabs/Access/Permissions.php:44 ../../include/permissions.php:44
+#: ../../Zotlabs/Access/Permissions.php:44 ../../include/permissions.php:53
msgid "Can source my public posts in derived channels"
msgstr "Può usare i miei post pubblici per creare canali derivati"
@@ -165,11 +169,11 @@ msgstr "Può usare i miei post pubblici per creare canali derivati"
msgid "Can administer my channel"
msgstr "Può amministrare il mio canale"
-#: ../../Zotlabs/Storage/Browser.php:107 ../../Zotlabs/Storage/Browser.php:239
+#: ../../Zotlabs/Storage/Browser.php:107 ../../Zotlabs/Storage/Browser.php:238
msgid "parent"
msgstr "cartella superiore"
-#: ../../Zotlabs/Storage/Browser.php:131 ../../include/text.php:2605
+#: ../../Zotlabs/Storage/Browser.php:131 ../../include/text.php:2711
msgid "Collection"
msgstr "Cartella"
@@ -193,214 +197,224 @@ msgstr "Appuntamenti ricevuti"
msgid "Schedule Outbox"
msgstr "Appuntamenti inviati"
-#: ../../Zotlabs/Storage/Browser.php:164 ../../Zotlabs/Module/Photos.php:796
-#: ../../Zotlabs/Module/Photos.php:1241
+#: ../../Zotlabs/Storage/Browser.php:164 ../../Zotlabs/Module/Photos.php:789
+#: ../../Zotlabs/Module/Photos.php:1249
#: ../../Zotlabs/Module/Embedphotos.php:147 ../../Zotlabs/Lib/Apps.php:490
-#: ../../Zotlabs/Lib/Apps.php:565 ../../include/conversation.php:1035
-#: ../../include/widgets.php:1599
+#: ../../Zotlabs/Lib/Apps.php:565 ../../include/conversation.php:1031
+#: ../../include/widgets.php:1683
msgid "Unknown"
msgstr "Sconosciuto"
-#: ../../Zotlabs/Storage/Browser.php:226 ../../Zotlabs/Module/Fbrowser.php:85
-#: ../../Zotlabs/Lib/Apps.php:217 ../../include/nav.php:93
-#: ../../include/conversation.php:1654
+#: ../../Zotlabs/Storage/Browser.php:225 ../../Zotlabs/Module/Fbrowser.php:85
+#: ../../Zotlabs/Lib/Apps.php:217 ../../include/nav.php:96
+#: ../../include/conversation.php:1679
msgid "Files"
msgstr "Archivio file"
-#: ../../Zotlabs/Storage/Browser.php:227
+#: ../../Zotlabs/Storage/Browser.php:226
msgid "Total"
msgstr "Totale"
-#: ../../Zotlabs/Storage/Browser.php:229
+#: ../../Zotlabs/Storage/Browser.php:228
msgid "Shared"
msgstr "Condiviso"
-#: ../../Zotlabs/Storage/Browser.php:230 ../../Zotlabs/Storage/Browser.php:306
-#: ../../Zotlabs/Module/Layouts.php:184 ../../Zotlabs/Module/Menu.php:118
-#: ../../Zotlabs/Module/New_channel.php:142
-#: ../../Zotlabs/Module/Blocks.php:159 ../../Zotlabs/Module/Webpages.php:193
+#: ../../Zotlabs/Storage/Browser.php:229 ../../Zotlabs/Storage/Browser.php:321
+#: ../../Zotlabs/Module/Menu.php:118 ../../Zotlabs/Module/New_channel.php:147
+#: ../../Zotlabs/Module/Blocks.php:159 ../../Zotlabs/Module/Layouts.php:184
+#: ../../Zotlabs/Module/Webpages.php:239
msgid "Create"
msgstr "Crea"
-#: ../../Zotlabs/Storage/Browser.php:231 ../../Zotlabs/Storage/Browser.php:308
+#: ../../Zotlabs/Storage/Browser.php:230 ../../Zotlabs/Storage/Browser.php:323
#: ../../Zotlabs/Module/Cover_photo.php:357
-#: ../../Zotlabs/Module/Photos.php:823 ../../Zotlabs/Module/Photos.php:1362
+#: ../../Zotlabs/Module/Photos.php:816 ../../Zotlabs/Module/Photos.php:1370
#: ../../Zotlabs/Module/Profile_photo.php:390
-#: ../../Zotlabs/Module/Embedphotos.php:159 ../../include/widgets.php:1612
+#: ../../Zotlabs/Module/Embedphotos.php:159 ../../include/widgets.php:1696
msgid "Upload"
msgstr "Carica"
-#: ../../Zotlabs/Storage/Browser.php:235 ../../Zotlabs/Module/Chat.php:247
-#: ../../Zotlabs/Module/Admin.php:1223 ../../Zotlabs/Module/Settings.php:646
-#: ../../Zotlabs/Module/Settings.php:672
-#: ../../Zotlabs/Module/Sharedwithme.php:99
+#: ../../Zotlabs/Storage/Browser.php:234
+#: ../../Zotlabs/Module/Admin/Channels.php:163
+#: ../../Zotlabs/Module/Sharedwithme.php:99 ../../Zotlabs/Module/Chat.php:250
+#: ../../Zotlabs/Module/Settings/Oauth.php:89
+#: ../../Zotlabs/Module/Settings/Oauth.php:115
msgid "Name"
msgstr "Nome"
-#: ../../Zotlabs/Storage/Browser.php:236
+#: ../../Zotlabs/Storage/Browser.php:235
msgid "Type"
msgstr "Tipo"
-#: ../../Zotlabs/Storage/Browser.php:237
-#: ../../Zotlabs/Module/Sharedwithme.php:101 ../../include/text.php:1324
+#: ../../Zotlabs/Storage/Browser.php:236
+#: ../../Zotlabs/Module/Sharedwithme.php:101 ../../include/text.php:1372
msgid "Size"
msgstr "Dimensione"
-#: ../../Zotlabs/Storage/Browser.php:238
+#: ../../Zotlabs/Storage/Browser.php:237
#: ../../Zotlabs/Module/Sharedwithme.php:102
msgid "Last Modified"
msgstr "Ultima modifica"
-#: ../../Zotlabs/Storage/Browser.php:240 ../../Zotlabs/Module/Editpost.php:84
+#: ../../Zotlabs/Storage/Browser.php:239
+#: ../../Zotlabs/Module/Admin/Profs.php:154
#: ../../Zotlabs/Module/Connections.php:290
#: ../../Zotlabs/Module/Connections.php:310
-#: ../../Zotlabs/Module/Editlayout.php:114
-#: ../../Zotlabs/Module/Editwebpage.php:145
-#: ../../Zotlabs/Module/Layouts.php:192 ../../Zotlabs/Module/Menu.php:112
-#: ../../Zotlabs/Module/Admin.php:2113 ../../Zotlabs/Module/Blocks.php:160
#: ../../Zotlabs/Module/Editblock.php:109
-#: ../../Zotlabs/Module/Settings.php:706 ../../Zotlabs/Module/Thing.php:260
-#: ../../Zotlabs/Module/Webpages.php:194 ../../Zotlabs/Lib/Apps.php:341
-#: ../../Zotlabs/Lib/ThreadItem.php:106 ../../include/page_widgets.php:9
-#: ../../include/page_widgets.php:39 ../../include/channel.php:976
-#: ../../include/channel.php:980 ../../include/menu.php:108
+#: ../../Zotlabs/Module/Editlayout.php:114
+#: ../../Zotlabs/Module/Editwebpage.php:145 ../../Zotlabs/Module/Menu.php:112
+#: ../../Zotlabs/Module/Blocks.php:160 ../../Zotlabs/Module/Layouts.php:192
+#: ../../Zotlabs/Module/Webpages.php:240 ../../Zotlabs/Module/Editpost.php:84
+#: ../../Zotlabs/Module/Thing.php:260
+#: ../../Zotlabs/Module/Settings/Oauth.php:149
+#: ../../Zotlabs/Lib/ThreadItem.php:106 ../../Zotlabs/Lib/Apps.php:341
+#: ../../include/channel.php:959 ../../include/channel.php:963
+#: ../../include/page_widgets.php:9 ../../include/page_widgets.php:39
+#: ../../include/menu.php:113
msgid "Edit"
msgstr "Modifica"
-#: ../../Zotlabs/Storage/Browser.php:241 ../../Zotlabs/Module/Connedit.php:602
+#: ../../Zotlabs/Storage/Browser.php:240
+#: ../../Zotlabs/Module/Admin/Accounts.php:174
+#: ../../Zotlabs/Module/Admin/Channels.php:153
+#: ../../Zotlabs/Module/Admin/Profs.php:155
#: ../../Zotlabs/Module/Connections.php:263
+#: ../../Zotlabs/Module/Connedit.php:607
+#: ../../Zotlabs/Module/Editblock.php:134
#: ../../Zotlabs/Module/Editlayout.php:137
-#: ../../Zotlabs/Module/Editwebpage.php:169 ../../Zotlabs/Module/Group.php:177
-#: ../../Zotlabs/Module/Photos.php:1171 ../../Zotlabs/Module/Admin.php:1039
-#: ../../Zotlabs/Module/Admin.php:1213 ../../Zotlabs/Module/Admin.php:2114
-#: ../../Zotlabs/Module/Blocks.php:162 ../../Zotlabs/Module/Editblock.php:134
-#: ../../Zotlabs/Module/Settings.php:707 ../../Zotlabs/Module/Thing.php:261
-#: ../../Zotlabs/Module/Webpages.php:196 ../../Zotlabs/Lib/Apps.php:342
-#: ../../Zotlabs/Lib/ThreadItem.php:126 ../../include/conversation.php:660
+#: ../../Zotlabs/Module/Editwebpage.php:170 ../../Zotlabs/Module/Group.php:177
+#: ../../Zotlabs/Module/Photos.php:1179 ../../Zotlabs/Module/Blocks.php:162
+#: ../../Zotlabs/Module/Webpages.php:242 ../../Zotlabs/Module/Thing.php:261
+#: ../../Zotlabs/Module/Settings/Oauth.php:150
+#: ../../Zotlabs/Lib/ThreadItem.php:126 ../../Zotlabs/Lib/Apps.php:342
+#: ../../include/conversation.php:660
msgid "Delete"
msgstr "Elimina"
-#: ../../Zotlabs/Storage/Browser.php:285
+#: ../../Zotlabs/Storage/Browser.php:299
#, php-format
msgid "You are using %1$s of your available file storage."
msgstr "Stai usando %1$s dello spazio disponibile per i tuoi file."
-#: ../../Zotlabs/Storage/Browser.php:290
+#: ../../Zotlabs/Storage/Browser.php:304
#, php-format
msgid "You are using %1$s of %2$s available file storage. (%3$s&#37;)"
msgstr "Stai usando %1$s di %2$s che hai a disposizione per i file. (%3$s&#37;)"
-#: ../../Zotlabs/Storage/Browser.php:302
+#: ../../Zotlabs/Storage/Browser.php:315
msgid "WARNING:"
msgstr "ATTENZIONE:"
-#: ../../Zotlabs/Storage/Browser.php:305
+#: ../../Zotlabs/Storage/Browser.php:320
msgid "Create new folder"
msgstr "Nuova cartella"
-#: ../../Zotlabs/Storage/Browser.php:307
+#: ../../Zotlabs/Storage/Browser.php:322
msgid "Upload file"
msgstr "Carica un file"
-#: ../../Zotlabs/Web/WebServer.php:127 ../../Zotlabs/Module/Dreport.php:10
-#: ../../Zotlabs/Module/Dreport.php:66 ../../Zotlabs/Module/Group.php:72
-#: ../../Zotlabs/Module/Like.php:283 ../../Zotlabs/Module/Import_items.php:114
-#: ../../Zotlabs/Module/Profperm.php:28 ../../Zotlabs/Module/Subthread.php:62
-#: ../../include/items.php:384
-msgid "Permission denied"
-msgstr "Permesso negato"
+#: ../../Zotlabs/Storage/Browser.php:335
+msgid "Drop files here to immediately upload"
+msgstr "Trascina i file qui per caricarli al volo"
-#: ../../Zotlabs/Web/WebServer.php:128 ../../Zotlabs/Web/Router.php:65
+#: ../../Zotlabs/Web/Router.php:65 ../../Zotlabs/Web/WebServer.php:128
#: ../../Zotlabs/Module/Achievements.php:34
-#: ../../Zotlabs/Module/Connedit.php:390 ../../Zotlabs/Module/Id.php:76
-#: ../../Zotlabs/Module/Authtest.php:16 ../../Zotlabs/Module/Events.php:264
-#: ../../Zotlabs/Module/Bookmarks.php:61 ../../Zotlabs/Module/Editpost.php:17
+#: ../../Zotlabs/Module/Network.php:15 ../../Zotlabs/Module/Channel.php:104
+#: ../../Zotlabs/Module/Channel.php:229 ../../Zotlabs/Module/Channel.php:270
+#: ../../Zotlabs/Module/Authtest.php:16 ../../Zotlabs/Module/Bookmarks.php:61
#: ../../Zotlabs/Module/Page.php:35 ../../Zotlabs/Module/Page.php:91
-#: ../../Zotlabs/Module/Connections.php:33
+#: ../../Zotlabs/Module/Mail.php:121 ../../Zotlabs/Module/Connections.php:33
#: ../../Zotlabs/Module/Cover_photo.php:277
-#: ../../Zotlabs/Module/Cover_photo.php:290 ../../Zotlabs/Module/Chat.php:100
-#: ../../Zotlabs/Module/Chat.php:105 ../../Zotlabs/Module/Editlayout.php:67
+#: ../../Zotlabs/Module/Cover_photo.php:290
+#: ../../Zotlabs/Module/Connedit.php:395 ../../Zotlabs/Module/Editblock.php:67
+#: ../../Zotlabs/Module/Editlayout.php:67
#: ../../Zotlabs/Module/Editlayout.php:90
#: ../../Zotlabs/Module/Editwebpage.php:68
#: ../../Zotlabs/Module/Editwebpage.php:89
#: ../../Zotlabs/Module/Editwebpage.php:104
-#: ../../Zotlabs/Module/Editwebpage.php:126 ../../Zotlabs/Module/Group.php:13
-#: ../../Zotlabs/Module/Appman.php:75 ../../Zotlabs/Module/Pdledit.php:26
-#: ../../Zotlabs/Module/Filestorage.php:23
+#: ../../Zotlabs/Module/Editwebpage.php:126 ../../Zotlabs/Module/Menu.php:78
+#: ../../Zotlabs/Module/Appman.php:75 ../../Zotlabs/Module/Api.php:12
+#: ../../Zotlabs/Module/Pdledit.php:29 ../../Zotlabs/Module/Filestorage.php:23
#: ../../Zotlabs/Module/Filestorage.php:78
#: ../../Zotlabs/Module/Filestorage.php:93
-#: ../../Zotlabs/Module/Filestorage.php:120
-#: ../../Zotlabs/Module/Layouts.php:71 ../../Zotlabs/Module/Layouts.php:78
-#: ../../Zotlabs/Module/Layouts.php:89 ../../Zotlabs/Module/Like.php:181
+#: ../../Zotlabs/Module/Filestorage.php:120 ../../Zotlabs/Module/Manage.php:10
+#: ../../Zotlabs/Module/Group.php:13 ../../Zotlabs/Module/Block.php:26
+#: ../../Zotlabs/Module/Block.php:76 ../../Zotlabs/Module/Invite.php:17
+#: ../../Zotlabs/Module/Invite.php:91 ../../Zotlabs/Module/Locs.php:87
+#: ../../Zotlabs/Module/Rate.php:113 ../../Zotlabs/Module/Like.php:181
#: ../../Zotlabs/Module/Profiles.php:203 ../../Zotlabs/Module/Profiles.php:601
-#: ../../Zotlabs/Module/Item.php:213 ../../Zotlabs/Module/Item.php:221
-#: ../../Zotlabs/Module/Item.php:1071 ../../Zotlabs/Module/Photos.php:73
-#: ../../Zotlabs/Module/Invite.php:17 ../../Zotlabs/Module/Invite.php:91
-#: ../../Zotlabs/Module/Locs.php:87 ../../Zotlabs/Module/Mail.php:121
-#: ../../Zotlabs/Module/Manage.php:10 ../../Zotlabs/Module/Menu.php:78
-#: ../../Zotlabs/Module/Message.php:18 ../../Zotlabs/Module/Mood.php:116
-#: ../../Zotlabs/Module/Network.php:15 ../../Zotlabs/Module/Channel.php:104
-#: ../../Zotlabs/Module/Channel.php:225 ../../Zotlabs/Module/Channel.php:266
-#: ../../Zotlabs/Module/Mitem.php:115 ../../Zotlabs/Module/New_channel.php:77
+#: ../../Zotlabs/Module/Mitem.php:115 ../../Zotlabs/Module/Message.php:18
+#: ../../Zotlabs/Module/Setup.php:220 ../../Zotlabs/Module/Mood.php:116
+#: ../../Zotlabs/Module/Photos.php:73 ../../Zotlabs/Module/New_channel.php:77
#: ../../Zotlabs/Module/New_channel.php:104
#: ../../Zotlabs/Module/Notifications.php:70 ../../Zotlabs/Module/Poke.php:137
#: ../../Zotlabs/Module/Profile.php:68 ../../Zotlabs/Module/Profile.php:76
-#: ../../Zotlabs/Module/Block.php:26 ../../Zotlabs/Module/Block.php:76
+#: ../../Zotlabs/Module/Blocks.php:73 ../../Zotlabs/Module/Blocks.php:80
+#: ../../Zotlabs/Module/Layouts.php:71 ../../Zotlabs/Module/Layouts.php:78
+#: ../../Zotlabs/Module/Layouts.php:89
#: ../../Zotlabs/Module/Profile_photo.php:265
#: ../../Zotlabs/Module/Profile_photo.php:278
-#: ../../Zotlabs/Module/Blocks.php:73 ../../Zotlabs/Module/Blocks.php:80
-#: ../../Zotlabs/Module/Rate.php:113 ../../Zotlabs/Module/Editblock.php:67
-#: ../../Zotlabs/Module/Common.php:39 ../../Zotlabs/Module/Register.php:77
-#: ../../Zotlabs/Module/Regmod.php:21
+#: ../../Zotlabs/Module/Common.php:39 ../../Zotlabs/Module/Settings.php:59
+#: ../../Zotlabs/Module/Register.php:77 ../../Zotlabs/Module/Regmod.php:21
+#: ../../Zotlabs/Module/Webpages.php:116 ../../Zotlabs/Module/Editpost.php:17
+#: ../../Zotlabs/Module/Events.php:264
#: ../../Zotlabs/Module/Service_limits.php:11
-#: ../../Zotlabs/Module/Settings.php:626 ../../Zotlabs/Module/Setup.php:215
-#: ../../Zotlabs/Module/Sharedwithme.php:11 ../../Zotlabs/Module/Thing.php:274
-#: ../../Zotlabs/Module/Thing.php:294 ../../Zotlabs/Module/Thing.php:331
+#: ../../Zotlabs/Module/Thing.php:274 ../../Zotlabs/Module/Thing.php:294
+#: ../../Zotlabs/Module/Thing.php:335 ../../Zotlabs/Module/Item.php:214
+#: ../../Zotlabs/Module/Item.php:222 ../../Zotlabs/Module/Item.php:1068
+#: ../../Zotlabs/Module/Sharedwithme.php:11
#: ../../Zotlabs/Module/Sources.php:74 ../../Zotlabs/Module/Suggest.php:30
-#: ../../Zotlabs/Module/Webpages.php:73
#: ../../Zotlabs/Module/Viewconnections.php:28
#: ../../Zotlabs/Module/Viewconnections.php:33
-#: ../../Zotlabs/Module/Viewsrc.php:18 ../../Zotlabs/Module/Api.php:13
-#: ../../Zotlabs/Module/Api.php:18 ../../Zotlabs/Lib/Chatroom.php:137
-#: ../../include/photos.php:27 ../../include/attach.php:141
-#: ../../include/attach.php:189 ../../include/attach.php:252
-#: ../../include/attach.php:266 ../../include/attach.php:273
-#: ../../include/attach.php:338 ../../include/attach.php:352
-#: ../../include/attach.php:359 ../../include/attach.php:439
-#: ../../include/attach.php:901 ../../include/attach.php:972
-#: ../../include/attach.php:1124 ../../include/items.php:3448
+#: ../../Zotlabs/Module/Viewsrc.php:18 ../../Zotlabs/Module/Chat.php:100
+#: ../../Zotlabs/Module/Chat.php:105 ../../Zotlabs/Lib/Chatroom.php:137
+#: ../../include/photos.php:27 ../../include/items.php:3506
+#: ../../include/attach.php:142 ../../include/attach.php:190
+#: ../../include/attach.php:253 ../../include/attach.php:267
+#: ../../include/attach.php:274 ../../include/attach.php:339
+#: ../../include/attach.php:353 ../../include/attach.php:360
+#: ../../include/attach.php:440 ../../include/attach.php:909
+#: ../../include/attach.php:980 ../../include/attach.php:1132
msgid "Permission denied."
msgstr "Permesso negato."
-#: ../../Zotlabs/Web/Router.php:146 ../../Zotlabs/Module/Help.php:94
+#: ../../Zotlabs/Web/Router.php:146 ../../include/help.php:56
msgid "Not Found"
msgstr "Non disponibile"
-#: ../../Zotlabs/Web/Router.php:149 ../../Zotlabs/Module/Display.php:118
-#: ../../Zotlabs/Module/Page.php:94 ../../Zotlabs/Module/Help.php:97
-#: ../../Zotlabs/Module/Block.php:79
+#: ../../Zotlabs/Web/Router.php:149 ../../Zotlabs/Module/Page.php:94
+#: ../../Zotlabs/Module/Block.php:79 ../../Zotlabs/Module/Display.php:120
+#: ../../include/help.php:59
msgid "Page not found."
msgstr "Pagina non trovata."
+#: ../../Zotlabs/Web/WebServer.php:127 ../../Zotlabs/Module/Group.php:72
+#: ../../Zotlabs/Module/Dreport.php:10 ../../Zotlabs/Module/Dreport.php:66
+#: ../../Zotlabs/Module/Import_items.php:114 ../../Zotlabs/Module/Like.php:283
+#: ../../Zotlabs/Module/Profperm.php:28 ../../Zotlabs/Module/Subthread.php:62
+#: ../../include/items.php:403
+msgid "Permission denied"
+msgstr "Permesso negato"
+
#: ../../Zotlabs/Zot/Auth.php:138
msgid ""
"Remote authentication blocked. You are logged into this site locally. Please"
" logout and retry."
msgstr "L'autenticazione tramite il tuo hub non è disponibile. Puoi provare a disconnetterti per tentare di nuovo."
-#: ../../Zotlabs/Zot/Auth.php:246 ../../Zotlabs/Module/Openid.php:76
-#: ../../Zotlabs/Module/Openid.php:183
+#: ../../Zotlabs/Zot/Auth.php:246
#, php-format
msgid "Welcome %s. Remote authentication successful."
msgstr "Ciao %s. L'accesso tramite il tuo hub è avvenuto con successo."
#: ../../Zotlabs/Module/Achievements.php:15
-#: ../../Zotlabs/Module/Connect.php:17 ../../Zotlabs/Module/Editlayout.php:31
-#: ../../Zotlabs/Module/Editwebpage.php:32 ../../Zotlabs/Module/Hcard.php:12
-#: ../../Zotlabs/Module/Filestorage.php:59 ../../Zotlabs/Module/Layouts.php:31
-#: ../../Zotlabs/Module/Profile.php:20 ../../Zotlabs/Module/Blocks.php:33
-#: ../../Zotlabs/Module/Editblock.php:31 ../../Zotlabs/Module/Webpages.php:33
-#: ../../include/channel.php:876
+#: ../../Zotlabs/Module/Editblock.php:31
+#: ../../Zotlabs/Module/Editlayout.php:31
+#: ../../Zotlabs/Module/Editwebpage.php:32
+#: ../../Zotlabs/Module/Filestorage.php:59 ../../Zotlabs/Module/Connect.php:17
+#: ../../Zotlabs/Module/Hcard.php:12 ../../Zotlabs/Module/Profile.php:20
+#: ../../Zotlabs/Module/Blocks.php:33 ../../Zotlabs/Module/Layouts.php:31
+#: ../../Zotlabs/Module/Webpages.php:33 ../../include/channel.php:859
msgid "Requested profile is not available."
msgstr "Il profilo richiesto non è disponibile."
@@ -416,897 +430,1336 @@ msgstr "Assente"
msgid "Online"
msgstr "Online"
-#: ../../Zotlabs/Module/Connedit.php:80
-msgid "Could not access contact record."
-msgstr "Non è possibile accedere alle informazioni sul contatto."
+#: ../../Zotlabs/Module/Network.php:95
+msgid "No such group"
+msgstr "Impossibile trovare il gruppo di canali"
-#: ../../Zotlabs/Module/Connedit.php:104
-msgid "Could not locate selected profile."
-msgstr "Non riesco a trovare il profilo selezionato."
+#: ../../Zotlabs/Module/Network.php:135
+msgid "No such channel"
+msgstr "Canale sconosciuto"
-#: ../../Zotlabs/Module/Connedit.php:248
-msgid "Connection updated."
-msgstr "Contatto aggiornato."
+#: ../../Zotlabs/Module/Network.php:140
+msgid "forum"
+msgstr "forum"
-#: ../../Zotlabs/Module/Connedit.php:250
-msgid "Failed to update connection record."
-msgstr "Impossibile aggiornare le informazioni del contatto."
+#: ../../Zotlabs/Module/Network.php:152
+msgid "Search Results For:"
+msgstr "Cerca risultati con:"
-#: ../../Zotlabs/Module/Connedit.php:300
-msgid "is now connected to"
-msgstr "ha come nuovo contatto"
+#: ../../Zotlabs/Module/Network.php:218
+msgid "Privacy group is empty"
+msgstr "Il gruppo di canali è vuoto"
-#: ../../Zotlabs/Module/Connedit.php:403 ../../Zotlabs/Module/Connedit.php:685
-#: ../../Zotlabs/Module/Events.php:458 ../../Zotlabs/Module/Events.php:459
-#: ../../Zotlabs/Module/Events.php:468
-#: ../../Zotlabs/Module/Filestorage.php:156
-#: ../../Zotlabs/Module/Filestorage.php:164
-#: ../../Zotlabs/Module/Profiles.php:647 ../../Zotlabs/Module/Photos.php:664
-#: ../../Zotlabs/Module/Menu.php:100 ../../Zotlabs/Module/Menu.php:157
-#: ../../Zotlabs/Module/Mitem.php:158 ../../Zotlabs/Module/Mitem.php:159
-#: ../../Zotlabs/Module/Mitem.php:232 ../../Zotlabs/Module/Mitem.php:233
-#: ../../Zotlabs/Module/Admin.php:459 ../../Zotlabs/Module/Removeme.php:63
-#: ../../Zotlabs/Module/Settings.php:635 ../../Zotlabs/Module/Api.php:89
-#: ../../include/dir_fns.php:143 ../../include/dir_fns.php:144
-#: ../../include/dir_fns.php:145 ../../view/theme/redbasic/php/config.php:105
-#: ../../view/theme/redbasic/php/config.php:130 ../../boot.php:1708
-msgid "No"
-msgstr "No"
+#: ../../Zotlabs/Module/Network.php:227
+msgid "Privacy group: "
+msgstr "Gruppo di canali:"
-#: ../../Zotlabs/Module/Connedit.php:403 ../../Zotlabs/Module/Events.php:458
-#: ../../Zotlabs/Module/Events.php:459 ../../Zotlabs/Module/Events.php:468
-#: ../../Zotlabs/Module/Filestorage.php:156
-#: ../../Zotlabs/Module/Filestorage.php:164
-#: ../../Zotlabs/Module/Profiles.php:647 ../../Zotlabs/Module/Photos.php:664
-#: ../../Zotlabs/Module/Menu.php:100 ../../Zotlabs/Module/Menu.php:157
-#: ../../Zotlabs/Module/Mitem.php:158 ../../Zotlabs/Module/Mitem.php:159
-#: ../../Zotlabs/Module/Mitem.php:232 ../../Zotlabs/Module/Mitem.php:233
-#: ../../Zotlabs/Module/Admin.php:461 ../../Zotlabs/Module/Removeme.php:63
-#: ../../Zotlabs/Module/Settings.php:635 ../../Zotlabs/Module/Api.php:88
-#: ../../include/dir_fns.php:143 ../../include/dir_fns.php:144
-#: ../../include/dir_fns.php:145 ../../view/theme/redbasic/php/config.php:105
-#: ../../view/theme/redbasic/php/config.php:130 ../../boot.php:1708
-msgid "Yes"
-msgstr "Sì"
+#: ../../Zotlabs/Module/Network.php:253
+msgid "Invalid connection."
+msgstr "Contatto non valido."
-#: ../../Zotlabs/Module/Connedit.php:435
-msgid "Could not access address book record."
-msgstr "Impossibile accedere alle informazioni della rubrica."
+#: ../../Zotlabs/Module/Probe.php:28 ../../Zotlabs/Module/Probe.php:32
+#, php-format
+msgid "Fetching URL returns error: %1$s"
+msgstr "La chiamata all'URL restituisce questo errore: %1$s"
-#: ../../Zotlabs/Module/Connedit.php:455
-msgid "Refresh failed - channel is currently unavailable."
-msgstr "Il canale non è disponibile - impossibile aggiornare."
+#: ../../Zotlabs/Module/Acl.php:313
+msgid "network"
+msgstr "rete"
-#: ../../Zotlabs/Module/Connedit.php:470 ../../Zotlabs/Module/Connedit.php:479
-#: ../../Zotlabs/Module/Connedit.php:488 ../../Zotlabs/Module/Connedit.php:497
-#: ../../Zotlabs/Module/Connedit.php:510
-msgid "Unable to set address book parameters."
-msgstr "Impossibile impostare i parametri della rubrica."
+#: ../../Zotlabs/Module/Acl.php:323
+msgid "RSS"
+msgstr "RSS"
-#: ../../Zotlabs/Module/Connedit.php:533
-msgid "Connection has been removed."
-msgstr "Il contatto è stato rimosso."
+#: ../../Zotlabs/Module/Channel.php:28 ../../Zotlabs/Module/Wiki.php:20
+#: ../../Zotlabs/Module/Chat.php:25
+msgid "You must be logged in to see this page."
+msgstr "Devi aver effettuato l'accesso per vedere questa pagina."
-#: ../../Zotlabs/Module/Connedit.php:549 ../../Zotlabs/Lib/Apps.php:221
-#: ../../include/nav.php:86 ../../include/conversation.php:957
-msgid "View Profile"
-msgstr "Profilo"
+#: ../../Zotlabs/Module/Channel.php:40
+msgid "Posts and comments"
+msgstr "Post e commenti"
-#: ../../Zotlabs/Module/Connedit.php:552
+#: ../../Zotlabs/Module/Channel.php:41
+msgid "Only posts"
+msgstr "Solo post"
+
+#: ../../Zotlabs/Module/Channel.php:101
+msgid "Insufficient permissions. Request redirected to profile page."
+msgstr "Permessi insufficienti. Sarà visualizzata la pagina del profilo."
+
+#: ../../Zotlabs/Module/Import.php:33
#, php-format
-msgid "View %s's profile"
-msgstr "Guarda il profilo di %s"
+msgid "Your service plan only allows %d channels."
+msgstr "Il tuo account permette di creare al massimo %d canali."
-#: ../../Zotlabs/Module/Connedit.php:556
-msgid "Refresh Permissions"
-msgstr "Modifica i permessi"
+#: ../../Zotlabs/Module/Import.php:71 ../../Zotlabs/Module/Import_items.php:42
+msgid "Nothing to import."
+msgstr "Non c'è niente da importare."
-#: ../../Zotlabs/Module/Connedit.php:559
-msgid "Fetch updated permissions"
-msgstr "Guarda e modifica i permessi assegnati"
+#: ../../Zotlabs/Module/Import.php:95 ../../Zotlabs/Module/Import_items.php:66
+msgid "Unable to download data from old server"
+msgstr "Impossibile importare i dati dal vecchio hub"
-#: ../../Zotlabs/Module/Connedit.php:563
-msgid "Recent Activity"
-msgstr "Attività recenti"
+#: ../../Zotlabs/Module/Import.php:101
+#: ../../Zotlabs/Module/Import_items.php:72
+msgid "Imported file is empty."
+msgstr "Il file da importare è vuoto."
-#: ../../Zotlabs/Module/Connedit.php:566
-msgid "View recent posts and comments"
-msgstr "Leggi i post recenti e i commenti"
+#: ../../Zotlabs/Module/Import.php:123
+#: ../../Zotlabs/Module/Import_items.php:88
+#, php-format
+msgid "Warning: Database versions differ by %1$d updates."
+msgstr "Attenzione: le versioni di database differiscono di %1$d aggiornamenti."
-#: ../../Zotlabs/Module/Connedit.php:570 ../../Zotlabs/Module/Admin.php:1041
-msgid "Unblock"
-msgstr "Sblocca"
+#: ../../Zotlabs/Module/Import.php:153 ../../include/import.php:107
+msgid "Cloned channel not found. Import failed."
+msgstr "Impossibile trovare il canale clonato. L'importazione è fallita."
-#: ../../Zotlabs/Module/Connedit.php:570 ../../Zotlabs/Module/Admin.php:1040
-msgid "Block"
-msgstr "Blocca"
+#: ../../Zotlabs/Module/Import.php:163
+msgid "No channel. Import failed."
+msgstr "Nessun canale. Import fallito."
-#: ../../Zotlabs/Module/Connedit.php:573
-msgid "Block (or Unblock) all communications with this connection"
-msgstr "Blocca ogni interazione con questo contatto (abilita/disabilita)"
+#: ../../Zotlabs/Module/Import.php:520
+#: ../../include/Import/import_diaspora.php:142
+msgid "Import completed."
+msgstr "L'importazione è terminata con successo."
-#: ../../Zotlabs/Module/Connedit.php:574
-msgid "This connection is blocked!"
-msgstr "Questa connessione è tra quelle bloccate!"
+#: ../../Zotlabs/Module/Import.php:542
+msgid "You must be logged in to use this feature."
+msgstr "Per questa funzionalità devi aver effettuato l'accesso."
-#: ../../Zotlabs/Module/Connedit.php:578
-msgid "Unignore"
-msgstr "Non ignorare"
+#: ../../Zotlabs/Module/Import.php:547
+msgid "Import Channel"
+msgstr "Importa un canale"
-#: ../../Zotlabs/Module/Connedit.php:578
-#: ../../Zotlabs/Module/Connections.php:277
-#: ../../Zotlabs/Module/Notifications.php:55
-msgid "Ignore"
-msgstr "Ignora"
+#: ../../Zotlabs/Module/Import.php:548
+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 "Usa questo modulo per importare un tuo canale da un altro hub. Puoi ottenere i dati identificativi del canale direttamente dall'altro hub oppure tramite un file esportato in precedenza."
-#: ../../Zotlabs/Module/Connedit.php:581
-msgid "Ignore (or Unignore) all inbound communications from this connection"
-msgstr "Ignora tutte le comunicazioni in arrivo da questo contatto (abilita/disabilita)"
+#: ../../Zotlabs/Module/Import.php:549
+#: ../../Zotlabs/Module/Import_items.php:121
+msgid "File to Upload"
+msgstr "File da caricare"
-#: ../../Zotlabs/Module/Connedit.php:582
-msgid "This connection is ignored!"
-msgstr "Questa connessione è tra quelle ignorate!"
+#: ../../Zotlabs/Module/Import.php:550
+msgid "Or provide the old server/hub details"
+msgstr "Oppure fornisci i dettagli del vecchio hub"
-#: ../../Zotlabs/Module/Connedit.php:586
-msgid "Unarchive"
-msgstr "Non archiviare"
+#: ../../Zotlabs/Module/Import.php:551
+msgid "Your old identity address (xyz@example.com)"
+msgstr "Il tuo vecchio identificativo (per esempio pippo@esempio.com)"
-#: ../../Zotlabs/Module/Connedit.php:586
-msgid "Archive"
-msgstr "Archivia"
+#: ../../Zotlabs/Module/Import.php:552
+msgid "Your old login email address"
+msgstr "L'email che usavi per accedere sul vecchio hub"
-#: ../../Zotlabs/Module/Connedit.php:589
+#: ../../Zotlabs/Module/Import.php:553
+msgid "Your old login password"
+msgstr "La password per il vecchio hub"
+
+#: ../../Zotlabs/Module/Import.php:554
msgid ""
-"Archive (or Unarchive) this connection - mark channel dead but keep content"
-msgstr "Archivia questo contatto (abilita/disabilita) - segna il canale come non più attivo ma ne conserva i contenuti"
+"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 "Scegli se vuoi spostare il tuo indirizzo primario su questo hub, oppure se preferisci che quello vecchio resti tale. Potrai pubblicare da entrambi i hub, ma solamente uno sarà indicato come la posizione su cui risiedono i tuoi file, foto, ecc."
-#: ../../Zotlabs/Module/Connedit.php:590
-msgid "This connection is archived!"
-msgstr "Questa connessione è tra quelle archiviate!"
+#: ../../Zotlabs/Module/Import.php:555
+msgid "Make this hub my primary location"
+msgstr "Rendi questo hub il mio indirizzo primario"
-#: ../../Zotlabs/Module/Connedit.php:594
-msgid "Unhide"
-msgstr "Non nascondere"
+#: ../../Zotlabs/Module/Import.php:556
+msgid ""
+"Import existing posts if possible (experimental - limited by available "
+"memory"
+msgstr "Importa i contenuti pubblicati, se possibile (sperimentale)"
-#: ../../Zotlabs/Module/Connedit.php:594
-msgid "Hide"
-msgstr "Nascondi"
+#: ../../Zotlabs/Module/Import.php:557
+msgid ""
+"This process may take several minutes to complete. Please submit the form "
+"only once and leave this page open until finished."
+msgstr "Questa funzione potrebbe impiegare molto tempo a terminare. Per favore lanciala *una volta sola* e resta su questa pagina finché non avrà finito."
-#: ../../Zotlabs/Module/Connedit.php:597
-msgid "Hide or Unhide this connection from your other connections"
-msgstr "Nascondi questo contatto a tutti gli altri (abilita/disabilita)"
+#: ../../Zotlabs/Module/Import.php:560
+#: ../../Zotlabs/Module/Admin/Accounts.php:167
+#: ../../Zotlabs/Module/Admin/Channels.php:151
+#: ../../Zotlabs/Module/Admin/Features.php:66
+#: ../../Zotlabs/Module/Admin/Logs.php:84
+#: ../../Zotlabs/Module/Admin/Plugins.php:429
+#: ../../Zotlabs/Module/Admin/Profs.php:157
+#: ../../Zotlabs/Module/Admin/Security.php:104
+#: ../../Zotlabs/Module/Admin/Site.php:267
+#: ../../Zotlabs/Module/Admin/Themes.php:156 ../../Zotlabs/Module/Mail.php:370
+#: ../../Zotlabs/Module/Connedit.php:779 ../../Zotlabs/Module/Appman.php:126
+#: ../../Zotlabs/Module/Pdledit.php:74
+#: ../../Zotlabs/Module/Filestorage.php:165
+#: ../../Zotlabs/Module/Connect.php:98 ../../Zotlabs/Module/Group.php:85
+#: ../../Zotlabs/Module/Import_items.php:122
+#: ../../Zotlabs/Module/Invite.php:146 ../../Zotlabs/Module/Locs.php:121
+#: ../../Zotlabs/Module/Rate.php:166 ../../Zotlabs/Module/Profiles.php:687
+#: ../../Zotlabs/Module/Mitem.php:243 ../../Zotlabs/Module/Setup.php:317
+#: ../../Zotlabs/Module/Setup.php:365 ../../Zotlabs/Module/Mood.php:139
+#: ../../Zotlabs/Module/Photos.php:668 ../../Zotlabs/Module/Photos.php:1058
+#: ../../Zotlabs/Module/Photos.php:1098 ../../Zotlabs/Module/Photos.php:1216
+#: ../../Zotlabs/Module/Poke.php:186 ../../Zotlabs/Module/Pconfig.php:107
+#: ../../Zotlabs/Module/Cal.php:338 ../../Zotlabs/Module/Events.php:484
+#: ../../Zotlabs/Module/Thing.php:320 ../../Zotlabs/Module/Thing.php:370
+#: ../../Zotlabs/Module/Sources.php:114 ../../Zotlabs/Module/Sources.php:149
+#: ../../Zotlabs/Module/Chat.php:196 ../../Zotlabs/Module/Chat.php:241
+#: ../../Zotlabs/Module/Xchan.php:15
+#: ../../Zotlabs/Module/Settings/Account.php:126
+#: ../../Zotlabs/Module/Settings/Channel.php:452
+#: ../../Zotlabs/Module/Settings/Display.php:194
+#: ../../Zotlabs/Module/Settings/Features.php:47
+#: ../../Zotlabs/Module/Settings/Oauth.php:87
+#: ../../Zotlabs/Module/Settings/Tokens.php:167
+#: ../../Zotlabs/Lib/ThreadItem.php:725 ../../include/js_strings.php:22
+#: ../../include/widgets.php:796 ../../view/theme/redbasic/php/config.php:106
+msgid "Submit"
+msgstr "Salva"
-#: ../../Zotlabs/Module/Connedit.php:598
-msgid "This connection is hidden!"
-msgstr "Questa connessione è tra quelle nascoste!"
+#: ../../Zotlabs/Module/Bookmarks.php:53
+msgid "Bookmark added"
+msgstr "Segnalibro aggiunto"
-#: ../../Zotlabs/Module/Connedit.php:605
-msgid "Delete this connection"
-msgstr "Elimina questo contatto"
+#: ../../Zotlabs/Module/Bookmarks.php:75
+msgid "My Bookmarks"
+msgstr "I miei segnalibri"
-#: ../../Zotlabs/Module/Connedit.php:620 ../../include/widgets.php:493
-msgid "Me"
-msgstr "Me"
+#: ../../Zotlabs/Module/Bookmarks.php:86
+msgid "My Connections Bookmarks"
+msgstr "I segnalibri dei miei contatti"
-#: ../../Zotlabs/Module/Connedit.php:621 ../../include/widgets.php:494
-msgid "Family"
-msgstr "Famiglia"
+#: ../../Zotlabs/Module/Admin/Accounts.php:36
+#, php-format
+msgid "%s account blocked/unblocked"
+msgid_plural "%s account blocked/unblocked"
+msgstr[0] "Modificato il blocco su %s account"
+msgstr[1] "Modificato il blocco verso %s"
-#: ../../Zotlabs/Module/Connedit.php:622 ../../Zotlabs/Module/Settings.php:391
-#: ../../Zotlabs/Module/Settings.php:395 ../../Zotlabs/Module/Settings.php:396
-#: ../../Zotlabs/Module/Settings.php:399 ../../Zotlabs/Module/Settings.php:410
-#: ../../include/channel.php:402 ../../include/channel.php:403
-#: ../../include/channel.php:410 ../../include/selectors.php:123
-#: ../../include/widgets.php:495
-msgid "Friends"
-msgstr "Amici"
+#: ../../Zotlabs/Module/Admin/Accounts.php:43
+#, php-format
+msgid "%s account deleted"
+msgid_plural "%s accounts deleted"
+msgstr[0] "%s account eliminato"
+msgstr[1] "%s account eliminati"
-#: ../../Zotlabs/Module/Connedit.php:623 ../../include/widgets.php:496
-msgid "Acquaintances"
-msgstr "Conoscenti"
+#: ../../Zotlabs/Module/Admin/Accounts.php:79
+msgid "Account not found"
+msgstr "Account non trovato"
-#: ../../Zotlabs/Module/Connedit.php:624
-#: ../../Zotlabs/Module/Connections.php:92
-#: ../../Zotlabs/Module/Connections.php:107 ../../include/widgets.php:497
-msgid "All"
-msgstr "Tutti"
+#: ../../Zotlabs/Module/Admin/Accounts.php:90
+#, php-format
+msgid "Account '%s' deleted"
+msgstr "Account '%s' eliminato"
-#: ../../Zotlabs/Module/Connedit.php:685
-msgid "Approve this connection"
-msgstr "Approva questo contatto"
+#: ../../Zotlabs/Module/Admin/Accounts.php:98
+#, php-format
+msgid "Account '%s' blocked"
+msgstr "Aggiunto un blocco verso '%s'"
-#: ../../Zotlabs/Module/Connedit.php:685
-msgid "Accept connection to allow communication"
-msgstr "Entra in contatto per poter comunicare"
+#: ../../Zotlabs/Module/Admin/Accounts.php:106
+#, php-format
+msgid "Account '%s' unblocked"
+msgstr "Rimosso il blocco verso '%s'"
-#: ../../Zotlabs/Module/Connedit.php:690
-msgid "Set Affinity"
-msgstr "Scegli l'affinità"
+#: ../../Zotlabs/Module/Admin/Accounts.php:165
+#: ../../Zotlabs/Module/Admin/Channels.php:149
+#: ../../Zotlabs/Module/Admin/Logs.php:82
+#: ../../Zotlabs/Module/Admin/Plugins.php:336
+#: ../../Zotlabs/Module/Admin/Plugins.php:427
+#: ../../Zotlabs/Module/Admin/Security.php:86
+#: ../../Zotlabs/Module/Admin/Site.php:265
+#: ../../Zotlabs/Module/Admin/Themes.php:120
+#: ../../Zotlabs/Module/Admin/Themes.php:154
+#: ../../Zotlabs/Module/Admin.php:141
+msgid "Administration"
+msgstr "Amministrazione"
-#: ../../Zotlabs/Module/Connedit.php:693
-msgid "Set Profile"
-msgstr "Scegli il profilo da mostrare"
+#: ../../Zotlabs/Module/Admin/Accounts.php:166
+#: ../../Zotlabs/Module/Admin/Accounts.php:179 ../../include/widgets.php:1561
+msgid "Accounts"
+msgstr "Account"
-#: ../../Zotlabs/Module/Connedit.php:696
-msgid "Set Affinity & Profile"
-msgstr "Affinità e profilo"
+#: ../../Zotlabs/Module/Admin/Accounts.php:168
+#: ../../Zotlabs/Module/Admin/Channels.php:152
+msgid "select all"
+msgstr "seleziona tutti"
-#: ../../Zotlabs/Module/Connedit.php:745
-msgid "none"
-msgstr "--"
+#: ../../Zotlabs/Module/Admin/Accounts.php:169
+msgid "Registrations waiting for confirm"
+msgstr "Registrazioni in attesa di conferma"
-#: ../../Zotlabs/Module/Connedit.php:749 ../../include/widgets.php:623
-msgid "Connection Default Permissions"
-msgstr "Permessi predefiniti dei nuovi contatti"
+#: ../../Zotlabs/Module/Admin/Accounts.php:170
+msgid "Request date"
+msgstr "Data richiesta"
-#: ../../Zotlabs/Module/Connedit.php:749 ../../include/items.php:3935
-#, php-format
-msgid "Connection: %s"
-msgstr "Contatto: %s"
+#: ../../Zotlabs/Module/Admin/Accounts.php:170
+#: ../../Zotlabs/Module/Admin/Accounts.php:182 ../../include/network.php:2212
+msgid "Email"
+msgstr "Email"
-#: ../../Zotlabs/Module/Connedit.php:750
-msgid "Apply these permissions automatically"
-msgstr "Applica automaticamente questi permessi"
+#: ../../Zotlabs/Module/Admin/Accounts.php:171
+msgid "No registrations."
+msgstr "Nessuna registrazione."
-#: ../../Zotlabs/Module/Connedit.php:750
-msgid "Connection requests will be approved without your interaction"
-msgstr "Le richieste di entrare in contatto saranno approvate in automatico"
+#: ../../Zotlabs/Module/Admin/Accounts.php:172
+#: ../../Zotlabs/Module/Connections.php:275
+msgid "Approve"
+msgstr "Approva"
-#: ../../Zotlabs/Module/Connedit.php:752
-msgid "This connection's primary address is"
-msgstr "Indirizzo primario di questo canale"
+#: ../../Zotlabs/Module/Admin/Accounts.php:173
+msgid "Deny"
+msgstr "Nega"
-#: ../../Zotlabs/Module/Connedit.php:753
-msgid "Available locations:"
-msgstr "Indirizzi disponibili"
+#: ../../Zotlabs/Module/Admin/Accounts.php:175
+#: ../../Zotlabs/Module/Connedit.php:575
+msgid "Block"
+msgstr "Blocca"
-#: ../../Zotlabs/Module/Connedit.php:757
-msgid ""
-"The permissions indicated on this page will be applied to all new "
-"connections."
-msgstr "I permessi indicati su questa pagina saranno applicati a tutti i nuovi contatti da ora in poi."
+#: ../../Zotlabs/Module/Admin/Accounts.php:176
+#: ../../Zotlabs/Module/Connedit.php:575
+msgid "Unblock"
+msgstr "Sblocca"
-#: ../../Zotlabs/Module/Connedit.php:758
-msgid "Connection Tools"
-msgstr "Gestione dei contatti"
+#: ../../Zotlabs/Module/Admin/Accounts.php:181
+msgid "ID"
+msgstr "ID"
-#: ../../Zotlabs/Module/Connedit.php:760
-msgid "Slide to adjust your degree of friendship"
-msgstr "Trascina per restringere il grado di amicizia da mostrare"
+#: ../../Zotlabs/Module/Admin/Accounts.php:183 ../../include/group.php:267
+msgid "All Channels"
+msgstr "Tutti i canali"
-#: ../../Zotlabs/Module/Connedit.php:761 ../../Zotlabs/Module/Rate.php:159
-#: ../../include/js_strings.php:20
-msgid "Rating"
-msgstr "Valutazioni"
+#: ../../Zotlabs/Module/Admin/Accounts.php:184
+msgid "Register date"
+msgstr "Data registrazione"
-#: ../../Zotlabs/Module/Connedit.php:762
-msgid "Slide to adjust your rating"
-msgstr "Trascina per cambiare la tua valutazione"
+#: ../../Zotlabs/Module/Admin/Accounts.php:185
+msgid "Last login"
+msgstr "Ultimo accesso"
-#: ../../Zotlabs/Module/Connedit.php:763 ../../Zotlabs/Module/Connedit.php:768
-msgid "Optionally explain your rating"
-msgstr "Commento facoltativo"
+#: ../../Zotlabs/Module/Admin/Accounts.php:186
+msgid "Expires"
+msgstr "Con scadenza"
-#: ../../Zotlabs/Module/Connedit.php:765
-msgid "Custom Filter"
-msgstr "Filtro personalizzato"
+#: ../../Zotlabs/Module/Admin/Accounts.php:187
+msgid "Service Class"
+msgstr "Classe dell'account"
-#: ../../Zotlabs/Module/Connedit.php:766
-msgid "Only import posts with this text"
-msgstr "Importa solo i post che contengono queste parole chiave"
+#: ../../Zotlabs/Module/Admin/Accounts.php:189
+msgid ""
+"Selected accounts will be deleted!\\n\\nEverything these accounts had posted"
+" on this site will be permanently deleted!\\n\\nAre you sure?"
+msgstr "Gli account selezionati saranno eliminati!\\n\\nTutto ciò che hanno caricato o pubblicato su questo sito sarà eliminato definitivamente!\\n\\nVuoi confermare?"
-#: ../../Zotlabs/Module/Connedit.php:766 ../../Zotlabs/Module/Connedit.php:767
+#: ../../Zotlabs/Module/Admin/Accounts.php:190
msgid ""
-"words one per line or #tags or /patterns/ or lang=xx, leave blank to import "
-"all posts"
-msgstr "per ogni riga: parole, #tag, /pattern/ o lang=xx , lascia vuoto per importare tutto"
+"The account {0} will be deleted!\\n\\nEverything this account has posted on "
+"this site will be permanently deleted!\\n\\nAre you sure?"
+msgstr "L'account {0} sarà eliminato!\\n\\nTutto ciò che ha caricato o pubblicato su questo sito sarà eliminato definitivamente!\\n\\nVuoi confermare?"
-#: ../../Zotlabs/Module/Connedit.php:767
-msgid "Do not import posts with this text"
-msgstr "Non importare i post con queste parole chiave"
+#: ../../Zotlabs/Module/Admin/Channels.php:30
+#, php-format
+msgid "%s channel censored/uncensored"
+msgid_plural "%s channels censored/uncensored"
+msgstr[0] "Censura modificata per %s canale"
+msgstr[1] "Censura modificata per %s canali"
-#: ../../Zotlabs/Module/Connedit.php:769
-msgid "This information is public!"
-msgstr "Questa informazione è pubblica!"
+#: ../../Zotlabs/Module/Admin/Channels.php:39
+#, php-format
+msgid "%s channel code allowed/disallowed"
+msgid_plural "%s channels code allowed/disallowed"
+msgstr[0] "%s canale permette/non permette codice nei contenuti"
+msgstr[1] "%s canali permettono/non permettono codice nei contenuti"
-#: ../../Zotlabs/Module/Connedit.php:774
-msgid "Connection Pending Approval"
-msgstr "Contatti in attesa di approvazione"
+#: ../../Zotlabs/Module/Admin/Channels.php:45
+#, php-format
+msgid "%s channel deleted"
+msgid_plural "%s channels deleted"
+msgstr[0] "%s canale è stato rimosso"
+msgstr[1] "%s canali sono stati rimossi"
-#: ../../Zotlabs/Module/Connedit.php:777
-msgid "inherited"
-msgstr "derivato"
+#: ../../Zotlabs/Module/Admin/Channels.php:66
+msgid "Channel not found"
+msgstr "Canale non trovato"
-#: ../../Zotlabs/Module/Connedit.php:778 ../../Zotlabs/Module/Connect.php:98
-#: ../../Zotlabs/Module/Events.php:474 ../../Zotlabs/Module/Cal.php:338
-#: ../../Zotlabs/Module/Chat.php:196 ../../Zotlabs/Module/Chat.php:238
-#: ../../Zotlabs/Module/Group.php:85 ../../Zotlabs/Module/Appman.php:126
-#: ../../Zotlabs/Module/Pdledit.php:66
-#: ../../Zotlabs/Module/Filestorage.php:161
-#: ../../Zotlabs/Module/Profiles.php:687 ../../Zotlabs/Module/Import.php:560
-#: ../../Zotlabs/Module/Photos.php:675 ../../Zotlabs/Module/Photos.php:1050
-#: ../../Zotlabs/Module/Photos.php:1090 ../../Zotlabs/Module/Photos.php:1208
-#: ../../Zotlabs/Module/Import_items.php:122
-#: ../../Zotlabs/Module/Invite.php:146 ../../Zotlabs/Module/Locs.php:121
-#: ../../Zotlabs/Module/Mail.php:370 ../../Zotlabs/Module/Mood.php:139
-#: ../../Zotlabs/Module/Mitem.php:235 ../../Zotlabs/Module/Admin.php:492
-#: ../../Zotlabs/Module/Admin.php:688 ../../Zotlabs/Module/Admin.php:771
-#: ../../Zotlabs/Module/Admin.php:1032 ../../Zotlabs/Module/Admin.php:1211
-#: ../../Zotlabs/Module/Admin.php:1421 ../../Zotlabs/Module/Admin.php:1648
-#: ../../Zotlabs/Module/Admin.php:1733 ../../Zotlabs/Module/Admin.php:2116
-#: ../../Zotlabs/Module/Poke.php:186 ../../Zotlabs/Module/Pconfig.php:107
-#: ../../Zotlabs/Module/Rate.php:170 ../../Zotlabs/Module/Settings.php:644
-#: ../../Zotlabs/Module/Settings.php:757 ../../Zotlabs/Module/Settings.php:806
-#: ../../Zotlabs/Module/Settings.php:832 ../../Zotlabs/Module/Settings.php:855
-#: ../../Zotlabs/Module/Settings.php:943
-#: ../../Zotlabs/Module/Settings.php:1129 ../../Zotlabs/Module/Setup.php:312
-#: ../../Zotlabs/Module/Setup.php:353 ../../Zotlabs/Module/Thing.php:316
-#: ../../Zotlabs/Module/Thing.php:362 ../../Zotlabs/Module/Sources.php:114
-#: ../../Zotlabs/Module/Sources.php:149 ../../Zotlabs/Module/Xchan.php:15
-#: ../../Zotlabs/Lib/ThreadItem.php:710 ../../include/widgets.php:763
-#: ../../include/js_strings.php:22 ../../view/theme/redbasic/php/config.php:99
-msgid "Submit"
-msgstr "Salva"
+#: ../../Zotlabs/Module/Admin/Channels.php:76
+#, php-format
+msgid "Channel '%s' deleted"
+msgstr "Il canale '%s' è stato rimosso"
-#: ../../Zotlabs/Module/Connedit.php:779
+#: ../../Zotlabs/Module/Admin/Channels.php:88
#, php-format
-msgid ""
-"Please choose the profile you would like to display to %s when viewing your "
-"profile securely."
-msgstr "Seleziona il profilo che vuoi mostrare a %s dopo che ha effettuato l'accesso."
+msgid "Channel '%s' censored"
+msgstr "Applicata una censura al canale '%s'"
-#: ../../Zotlabs/Module/Connedit.php:781
-msgid "Their Settings"
-msgstr "Permessi concessi a te"
+#: ../../Zotlabs/Module/Admin/Channels.php:88
+#, php-format
+msgid "Channel '%s' uncensored"
+msgstr "Rimossa la censura dal canale '%s'"
-#: ../../Zotlabs/Module/Connedit.php:782
-msgid "My Settings"
-msgstr "Permessi che concedo"
+#: ../../Zotlabs/Module/Admin/Channels.php:99
+#, php-format
+msgid "Channel '%s' code allowed"
+msgstr "Il canale '%s' permette codice nei contenuti"
-#: ../../Zotlabs/Module/Connedit.php:784
-msgid "Individual Permissions"
-msgstr "Permessi individuali"
+#: ../../Zotlabs/Module/Admin/Channels.php:99
+#, php-format
+msgid "Channel '%s' code disallowed"
+msgstr "Il canale '%s' non permette codice nei contenuti"
-#: ../../Zotlabs/Module/Connedit.php:785
+#: ../../Zotlabs/Module/Admin/Channels.php:150 ../../include/widgets.php:1562
+msgid "Channels"
+msgstr "Canali"
+
+#: ../../Zotlabs/Module/Admin/Channels.php:154
+msgid "Censor"
+msgstr "Applica censura"
+
+#: ../../Zotlabs/Module/Admin/Channels.php:155
+msgid "Uncensor"
+msgstr "Rimuovi censura"
+
+#: ../../Zotlabs/Module/Admin/Channels.php:156
+msgid "Allow Code"
+msgstr "Permetti codice"
+
+#: ../../Zotlabs/Module/Admin/Channels.php:157
+msgid "Disallow Code"
+msgstr "Non permettere codice"
+
+#: ../../Zotlabs/Module/Admin/Channels.php:158
+#: ../../include/conversation.php:1651
+msgid "Channel"
+msgstr "Canale"
+
+#: ../../Zotlabs/Module/Admin/Channels.php:162
+msgid "UID"
+msgstr "UID"
+
+#: ../../Zotlabs/Module/Admin/Channels.php:164
+#: ../../Zotlabs/Module/Locs.php:118 ../../Zotlabs/Module/Profiles.php:470
+msgid "Address"
+msgstr "Indirizzo"
+
+#: ../../Zotlabs/Module/Admin/Channels.php:166
msgid ""
-"Some permissions may be inherited from your channel's <a "
-"href=\"settings\"><strong>privacy settings</strong></a>, which have higher "
-"priority than individual settings. You can <strong>not</strong> change those"
-" settings here."
-msgstr "Alcuni permessi derivano dalle <a href=\"settings\"><strong>impostazioni di privacy</strong></a> del tuo canale, che hanno priorità assoluta su qualsiasi altra impostazione scelta per i singoli contatti. Da questa pagina <strong>non</strong> puoi cambiarle."
+"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 "I canali selezionati saranno rimossi!\\n\\nTutto ciò che è stato pubblicato su questo server tramite questi canali sarà irreversibilmente eliminato!\\n\\nVuoi confermare?"
-#: ../../Zotlabs/Module/Connedit.php:786
+#: ../../Zotlabs/Module/Admin/Channels.php:167
msgid ""
-"Some permissions may be inherited from your channel's <a "
-"href=\"settings\"><strong>privacy settings</strong></a>, which have higher "
-"priority than individual settings. You can change those settings here but "
-"they wont have any impact unless the inherited setting changes."
-msgstr "Alcuni permessi derivano dalle <a href=\"settings\"><strong>impostazioni di privacy</strong></a> del tuo canale, che hanno priorità assoluta su qualsiasi altra impostazione scelta per i singoli contatti. Le personalizzazioni che effettuerai qui potrebbero non essere effettive a meno che tu non cambi le impostazioni generali."
+"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 "Il canale {0} sarà rimosso!\\n\\nTutto ciò che è stato pubblicato su questo server tramite questo canale sarà irreversibilmente eliminato!\\n\\nVuoi confermare?"
-#: ../../Zotlabs/Module/Connedit.php:787
-msgid "Last update:"
-msgstr "Ultimo aggiornamento:"
+#: ../../Zotlabs/Module/Admin/Dbsync.php:19
+msgid "Update has been marked successful"
+msgstr "L'aggiornamento è stato marcato come eseguito."
-#: ../../Zotlabs/Module/Display.php:17 ../../Zotlabs/Module/Directory.php:63
-#: ../../Zotlabs/Module/Photos.php:520 ../../Zotlabs/Module/Ratings.php:86
-#: ../../Zotlabs/Module/Search.php:17
-#: ../../Zotlabs/Module/Viewconnections.php:23
-msgid "Public access denied."
-msgstr "Accesso pubblico negato."
+#: ../../Zotlabs/Module/Admin/Dbsync.php:29
+#, php-format
+msgid "Executing %s failed. Check system logs."
+msgstr "Fallita l'esecuzione di %s. Maggiori informazioni sui log di sistema."
+
+#: ../../Zotlabs/Module/Admin/Dbsync.php:32
+#, php-format
+msgid "Update %s was successfully applied."
+msgstr "L'aggiornamento %s è terminato correttamente."
-#: ../../Zotlabs/Module/Display.php:40 ../../Zotlabs/Module/Filestorage.php:32
-#: ../../Zotlabs/Module/Admin.php:164 ../../Zotlabs/Module/Admin.php:1255
-#: ../../Zotlabs/Module/Admin.php:1561 ../../Zotlabs/Module/Thing.php:89
-#: ../../Zotlabs/Module/Viewsrc.php:24 ../../include/items.php:3369
+#: ../../Zotlabs/Module/Admin/Dbsync.php:36
+#, php-format
+msgid "Update %s did not return a status. Unknown if it succeeded."
+msgstr "L'aggiornamento %s non ha dato risposta. Impossibile determinare se è terminato correttamente."
+
+#: ../../Zotlabs/Module/Admin/Dbsync.php:39
+#, php-format
+msgid "Update function %s could not be found."
+msgstr "Impossibile trovare la funzione di aggiornamento %s"
+
+#: ../../Zotlabs/Module/Admin/Dbsync.php:55
+msgid "No failed updates."
+msgstr "Nessun aggiornamento fallito."
+
+#: ../../Zotlabs/Module/Admin/Dbsync.php:59
+msgid "Failed Updates"
+msgstr "Aggiornamenti falliti."
+
+#: ../../Zotlabs/Module/Admin/Dbsync.php:61
+msgid "Mark success (if update was manually applied)"
+msgstr "Marca come eseguito (se applicato manualmente)."
+
+#: ../../Zotlabs/Module/Admin/Dbsync.php:62
+msgid "Attempt to execute this update step automatically"
+msgstr "Tenta di eseguire in automatico questo passaggio dell'aggiornamento."
+
+#: ../../Zotlabs/Module/Admin/Features.php:55
+#: ../../Zotlabs/Module/Admin/Features.php:56
+#: ../../Zotlabs/Module/Settings/Features.php:38
+msgid "Off"
+msgstr "Off"
+
+#: ../../Zotlabs/Module/Admin/Features.php:55
+#: ../../Zotlabs/Module/Admin/Features.php:56
+#: ../../Zotlabs/Module/Settings/Features.php:38
+msgid "On"
+msgstr "On"
+
+#: ../../Zotlabs/Module/Admin/Features.php:56
+#, php-format
+msgid "Lock feature %s"
+msgstr "Rendi non modificabile %s"
+
+#: ../../Zotlabs/Module/Admin/Features.php:64
+msgid "Manage Additional Features"
+msgstr "Funzionalità opzionali"
+
+#: ../../Zotlabs/Module/Admin/Logs.php:28
+msgid "Log settings updated."
+msgstr "Impostazioni di log aggiornate."
+
+#: ../../Zotlabs/Module/Admin/Logs.php:83 ../../include/widgets.php:1587
+#: ../../include/widgets.php:1597
+msgid "Logs"
+msgstr "Log"
+
+#: ../../Zotlabs/Module/Admin/Logs.php:85
+msgid "Clear"
+msgstr "Pulisci"
+
+#: ../../Zotlabs/Module/Admin/Logs.php:91
+msgid "Debugging"
+msgstr "Debugging"
+
+#: ../../Zotlabs/Module/Admin/Logs.php:92
+msgid "Log file"
+msgstr "File di log"
+
+#: ../../Zotlabs/Module/Admin/Logs.php:92
+msgid ""
+"Must be writable by web server. Relative to your top-level webserver "
+"directory."
+msgstr "Relativo alla directory base del server web. Deve essere scrivibile."
+
+#: ../../Zotlabs/Module/Admin/Logs.php:93
+msgid "Log level"
+msgstr "Livello di log"
+
+#: ../../Zotlabs/Module/Admin/Plugins.php:254
+#: ../../Zotlabs/Module/Admin/Themes.php:69
+#: ../../Zotlabs/Module/Filestorage.php:32 ../../Zotlabs/Module/Display.php:40
+#: ../../Zotlabs/Module/Admin.php:62 ../../Zotlabs/Module/Thing.php:89
+#: ../../Zotlabs/Module/Viewsrc.php:24 ../../include/items.php:3427
msgid "Item not found."
msgstr "Elemento non trovato."
-#: ../../Zotlabs/Module/Id.php:13
-msgid "First Name"
-msgstr "Nome"
+#: ../../Zotlabs/Module/Admin/Plugins.php:284
+#, php-format
+msgid "Plugin %s disabled."
+msgstr "Plugin %s non attivo."
+
+#: ../../Zotlabs/Module/Admin/Plugins.php:289
+#, php-format
+msgid "Plugin %s enabled."
+msgstr "Plugin %s attivo."
+
+#: ../../Zotlabs/Module/Admin/Plugins.php:305
+#: ../../Zotlabs/Module/Admin/Themes.php:93
+msgid "Disable"
+msgstr "Disattiva"
-#: ../../Zotlabs/Module/Id.php:14
-msgid "Last Name"
-msgstr "Cognome"
+#: ../../Zotlabs/Module/Admin/Plugins.php:308
+#: ../../Zotlabs/Module/Admin/Themes.php:95
+msgid "Enable"
+msgstr "Attiva"
-#: ../../Zotlabs/Module/Id.php:15
-msgid "Nickname"
-msgstr "Nick"
+#: ../../Zotlabs/Module/Admin/Plugins.php:337
+#: ../../Zotlabs/Module/Admin/Plugins.php:428 ../../include/widgets.php:1565
+msgid "Plugins"
+msgstr "Plugin"
-#: ../../Zotlabs/Module/Id.php:16
-msgid "Full Name"
-msgstr "Nome e cognome"
+#: ../../Zotlabs/Module/Admin/Plugins.php:338
+#: ../../Zotlabs/Module/Admin/Themes.php:122
+msgid "Toggle"
+msgstr "Attiva/disattiva"
-#: ../../Zotlabs/Module/Id.php:17 ../../Zotlabs/Module/Id.php:18
-#: ../../Zotlabs/Module/Admin.php:1035 ../../Zotlabs/Module/Admin.php:1047
-#: ../../include/network.php:2203
-msgid "Email"
-msgstr "Email"
+#: ../../Zotlabs/Module/Admin/Plugins.php:339
+#: ../../Zotlabs/Module/Admin/Themes.php:123 ../../Zotlabs/Lib/Apps.php:216
+#: ../../include/nav.php:213 ../../include/widgets.php:680
+msgid "Settings"
+msgstr "Impostazioni"
-#: ../../Zotlabs/Module/Id.php:19 ../../Zotlabs/Module/Id.php:20
-#: ../../Zotlabs/Module/Id.php:21 ../../Zotlabs/Lib/Apps.php:238
-msgid "Profile Photo"
-msgstr "Foto del profilo"
+#: ../../Zotlabs/Module/Admin/Plugins.php:346
+#: ../../Zotlabs/Module/Admin/Themes.php:132
+msgid "Author: "
+msgstr "Autore:"
+
+#: ../../Zotlabs/Module/Admin/Plugins.php:347
+#: ../../Zotlabs/Module/Admin/Themes.php:133
+msgid "Maintainer: "
+msgstr "Gestore:"
-#: ../../Zotlabs/Module/Id.php:22
-msgid "Profile Photo 16px"
-msgstr "Foto del profilo 16px"
+#: ../../Zotlabs/Module/Admin/Plugins.php:348
+msgid "Minimum project version: "
+msgstr "Minima versione hubzilla"
-#: ../../Zotlabs/Module/Id.php:23
-msgid "Profile Photo 32px"
-msgstr "Foto del profilo 32px"
+#: ../../Zotlabs/Module/Admin/Plugins.php:349
+msgid "Maximum project version: "
+msgstr "Massima versione hubzilla"
-#: ../../Zotlabs/Module/Id.php:24
-msgid "Profile Photo 48px"
-msgstr "Foto del profilo 48px"
+#: ../../Zotlabs/Module/Admin/Plugins.php:350
+msgid "Minimum PHP version: "
+msgstr "Minima versione PHP:"
-#: ../../Zotlabs/Module/Id.php:25
-msgid "Profile Photo 64px"
-msgstr "Foto del profilo 64px"
+#: ../../Zotlabs/Module/Admin/Plugins.php:351
+msgid "Compatible Server Roles: "
+msgstr "Ruoli previsti per questo server"
-#: ../../Zotlabs/Module/Id.php:26
-msgid "Profile Photo 80px"
-msgstr "Foto del profilo 80px"
+#: ../../Zotlabs/Module/Admin/Plugins.php:352
+msgid "Requires: "
+msgstr "Necessita di:"
-#: ../../Zotlabs/Module/Id.php:27
-msgid "Profile Photo 128px"
-msgstr "Foto del profilo 128px"
+#: ../../Zotlabs/Module/Admin/Plugins.php:353
+#: ../../Zotlabs/Module/Admin/Plugins.php:433
+msgid "Disabled - version incompatibility"
+msgstr "Disabilitato - incompatibilità di versione"
-#: ../../Zotlabs/Module/Id.php:28
-msgid "Timezone"
-msgstr "Fuso orario"
+#: ../../Zotlabs/Module/Admin/Plugins.php:402
+msgid "Enter the public git repository URL of the plugin repo."
+msgstr "Inserisci lo URL del repository git dei plugin."
-#: ../../Zotlabs/Module/Id.php:29 ../../Zotlabs/Module/Profiles.php:731
-msgid "Homepage URL"
-msgstr "Indirizzo home page"
+#: ../../Zotlabs/Module/Admin/Plugins.php:403
+msgid "Plugin repo git URL"
+msgstr "URL git del repository del plugin"
-#: ../../Zotlabs/Module/Id.php:30 ../../Zotlabs/Lib/Apps.php:236
-msgid "Language"
-msgstr "Lingua"
+#: ../../Zotlabs/Module/Admin/Plugins.php:404
+msgid "Custom repo name"
+msgstr "Nome repository personalizzato"
-#: ../../Zotlabs/Module/Id.php:31
-msgid "Birth Year"
-msgstr "Anno di nascita"
+#: ../../Zotlabs/Module/Admin/Plugins.php:404
+msgid "(optional)"
+msgstr "(facoltativo)"
-#: ../../Zotlabs/Module/Id.php:32
-msgid "Birth Month"
-msgstr "Mese di nascita"
+#: ../../Zotlabs/Module/Admin/Plugins.php:405
+msgid "Download Plugin Repo"
+msgstr "Scarica il repository del plugin"
-#: ../../Zotlabs/Module/Id.php:33
-msgid "Birth Day"
-msgstr "Giorno di nascita"
+#: ../../Zotlabs/Module/Admin/Plugins.php:412
+msgid "Install new repo"
+msgstr "Installa un nuovo repository"
-#: ../../Zotlabs/Module/Id.php:34
-msgid "Birthdate"
-msgstr "Data di nascita"
+#: ../../Zotlabs/Module/Admin/Plugins.php:413 ../../Zotlabs/Lib/Apps.php:334
+msgid "Install"
+msgstr "Installa"
-#: ../../Zotlabs/Module/Id.php:35 ../../Zotlabs/Module/Profiles.php:454
-msgid "Gender"
-msgstr "Sesso"
+#: ../../Zotlabs/Module/Admin/Plugins.php:414
+#: ../../Zotlabs/Module/Fbrowser.php:66 ../../Zotlabs/Module/Fbrowser.php:88
+#: ../../Zotlabs/Module/Wiki.php:171 ../../Zotlabs/Module/Wiki.php:211
+#: ../../Zotlabs/Module/Tagrm.php:15 ../../Zotlabs/Module/Tagrm.php:138
+#: ../../Zotlabs/Module/Settings/Oauth.php:88
+#: ../../Zotlabs/Module/Settings/Oauth.php:114
+#: ../../include/conversation.php:1248 ../../include/conversation.php:1297
+msgid "Cancel"
+msgstr "Annulla"
-#: ../../Zotlabs/Module/Id.php:108 ../../include/selectors.php:49
-#: ../../include/selectors.php:66
-msgid "Male"
-msgstr "Maschio"
+#: ../../Zotlabs/Module/Admin/Plugins.php:435
+msgid "Manage Repos"
+msgstr "Gestisci i repository"
-#: ../../Zotlabs/Module/Id.php:110 ../../include/selectors.php:49
-#: ../../include/selectors.php:66
-msgid "Female"
-msgstr "Femmina"
+#: ../../Zotlabs/Module/Admin/Plugins.php:436
+msgid "Installed Plugin Repositories"
+msgstr "Repository per i plugin installati"
-#: ../../Zotlabs/Module/Follow.php:34
-msgid "Channel added."
-msgstr "Canale aggiunto."
+#: ../../Zotlabs/Module/Admin/Plugins.php:437
+msgid "Install a New Plugin Repository"
+msgstr "Installa un nuovo repository per i plugin"
-#: ../../Zotlabs/Module/Directory.php:243
-#, php-format
-msgid "%d rating"
-msgid_plural "%d ratings"
-msgstr[0] "%d valutazione"
-msgstr[1] "%d valutazioni"
+#: ../../Zotlabs/Module/Admin/Plugins.php:443
+#: ../../Zotlabs/Module/Settings/Oauth.php:42
+#: ../../Zotlabs/Module/Settings/Oauth.php:113 ../../Zotlabs/Lib/Apps.php:334
+msgid "Update"
+msgstr "Aggiorna"
-#: ../../Zotlabs/Module/Directory.php:254
-msgid "Gender: "
-msgstr "Sesso:"
+#: ../../Zotlabs/Module/Admin/Plugins.php:444
+msgid "Switch branch"
+msgstr "Cambia branch"
-#: ../../Zotlabs/Module/Directory.php:256
-msgid "Status: "
-msgstr "Stato:"
+#: ../../Zotlabs/Module/Admin/Plugins.php:445
+#: ../../Zotlabs/Module/Photos.php:989 ../../Zotlabs/Module/Tagrm.php:137
+msgid "Remove"
+msgstr "Rimuovi"
-#: ../../Zotlabs/Module/Directory.php:258
-msgid "Homepage: "
-msgstr "Homepage:"
+#: ../../Zotlabs/Module/Admin/Profs.php:69
+msgid "New Profile Field"
+msgstr "Nuovo campo del profilo"
-#: ../../Zotlabs/Module/Directory.php:306 ../../include/channel.php:1223
-msgid "Age:"
-msgstr "Età:"
+#: ../../Zotlabs/Module/Admin/Profs.php:70
+#: ../../Zotlabs/Module/Admin/Profs.php:90
+msgid "Field nickname"
+msgstr "Nome breve del campo"
-#: ../../Zotlabs/Module/Directory.php:311 ../../include/channel.php:1066
-#: ../../include/event.php:52 ../../include/event.php:84
-#: ../../include/bb2diaspora.php:507
-msgid "Location:"
-msgstr "Luogo:"
+#: ../../Zotlabs/Module/Admin/Profs.php:70
+#: ../../Zotlabs/Module/Admin/Profs.php:90
+msgid "System name of field"
+msgstr "Nome di sistema del campo"
-#: ../../Zotlabs/Module/Directory.php:317
-msgid "Description:"
-msgstr "Descrizione:"
+#: ../../Zotlabs/Module/Admin/Profs.php:71
+#: ../../Zotlabs/Module/Admin/Profs.php:91
+msgid "Input type"
+msgstr "Tipo di dati"
-#: ../../Zotlabs/Module/Directory.php:322 ../../include/channel.php:1239
-msgid "Hometown:"
-msgstr "Città dove vivo:"
+#: ../../Zotlabs/Module/Admin/Profs.php:72
+#: ../../Zotlabs/Module/Admin/Profs.php:92
+msgid "Field Name"
+msgstr "Nome del campo"
-#: ../../Zotlabs/Module/Directory.php:324 ../../include/channel.php:1247
-msgid "About:"
-msgstr "Informazioni:"
+#: ../../Zotlabs/Module/Admin/Profs.php:72
+#: ../../Zotlabs/Module/Admin/Profs.php:92
+msgid "Label on profile pages"
+msgstr "Etichetta da mostrare sulla pagina del profilo"
-#: ../../Zotlabs/Module/Directory.php:325 ../../Zotlabs/Module/Match.php:68
-#: ../../Zotlabs/Module/Suggest.php:56 ../../include/channel.php:1051
-#: ../../include/connections.php:78 ../../include/conversation.php:959
-#: ../../include/widgets.php:147 ../../include/widgets.php:184
-msgid "Connect"
-msgstr "Aggiungi"
+#: ../../Zotlabs/Module/Admin/Profs.php:73
+#: ../../Zotlabs/Module/Admin/Profs.php:93
+msgid "Help text"
+msgstr "Testo di aiuto"
-#: ../../Zotlabs/Module/Directory.php:326
-msgid "Public Forum:"
-msgstr "Forum pubblico:"
+#: ../../Zotlabs/Module/Admin/Profs.php:73
+#: ../../Zotlabs/Module/Admin/Profs.php:93
+msgid "Additional info (optional)"
+msgstr "Informazioni aggiuntive (facoltative)"
-#: ../../Zotlabs/Module/Directory.php:329
-msgid "Keywords: "
-msgstr "Parole chiave:"
+#: ../../Zotlabs/Module/Admin/Profs.php:74
+#: ../../Zotlabs/Module/Admin/Profs.php:94 ../../Zotlabs/Module/Filer.php:53
+#: ../../Zotlabs/Module/Rbmark.php:32 ../../Zotlabs/Module/Rbmark.php:104
+#: ../../include/text.php:972 ../../include/text.php:984
+#: ../../include/widgets.php:201
+msgid "Save"
+msgstr "Salva"
-#: ../../Zotlabs/Module/Directory.php:332
-msgid "Don't suggest"
-msgstr "Non fornire suggerimenti"
+#: ../../Zotlabs/Module/Admin/Profs.php:83
+msgid "Field definition not found"
+msgstr "Impossibile trovare la definizione del campo"
-#: ../../Zotlabs/Module/Directory.php:334
-msgid "Common connections:"
-msgstr "Contatti in comune:"
+#: ../../Zotlabs/Module/Admin/Profs.php:89
+msgid "Edit Profile Field"
+msgstr "Modifica campo del profilo"
-#: ../../Zotlabs/Module/Directory.php:383
-msgid "Global Directory"
-msgstr "Elenchi pubblici globali"
+#: ../../Zotlabs/Module/Admin/Profs.php:147 ../../include/widgets.php:1568
+msgid "Profile Fields"
+msgstr "Campi del profilo"
-#: ../../Zotlabs/Module/Directory.php:383
-msgid "Local Directory"
-msgstr "Elenco canali su questo hub"
+#: ../../Zotlabs/Module/Admin/Profs.php:148
+msgid "Basic Profile Fields"
+msgstr "Campi base del profilo"
-#: ../../Zotlabs/Module/Directory.php:388
-#: ../../Zotlabs/Module/Directory.php:393
-#: ../../Zotlabs/Module/Connections.php:309
-#: ../../include/contact_widgets.php:23
-msgid "Find"
-msgstr "Cerca"
+#: ../../Zotlabs/Module/Admin/Profs.php:149
+msgid "Advanced Profile Fields"
+msgstr "Campi avanzati del profilo"
-#: ../../Zotlabs/Module/Directory.php:389
-msgid "Finding:"
-msgstr "Ricerca:"
+#: ../../Zotlabs/Module/Admin/Profs.php:149
+msgid "(In addition to basic fields)"
+msgstr "(In aggiunta ai campi di base)"
-#: ../../Zotlabs/Module/Directory.php:392 ../../Zotlabs/Module/Suggest.php:64
-#: ../../include/contact_widgets.php:24
-msgid "Channel Suggestions"
-msgstr "Canali suggeriti"
+#: ../../Zotlabs/Module/Admin/Profs.php:151
+msgid "All available fields"
+msgstr "Tutti i campi disponibili"
-#: ../../Zotlabs/Module/Directory.php:394
-msgid "next page"
-msgstr "pagina successiva"
+#: ../../Zotlabs/Module/Admin/Profs.php:152
+msgid "Custom Fields"
+msgstr "Campi personalizzati"
-#: ../../Zotlabs/Module/Directory.php:394
-msgid "previous page"
-msgstr "pagina precedente"
+#: ../../Zotlabs/Module/Admin/Profs.php:156
+msgid "Create Custom Field"
+msgstr "Aggiungi campo personalizzato"
-#: ../../Zotlabs/Module/Directory.php:395
-msgid "Sort options"
-msgstr "Opzioni di ordinamento"
+#: ../../Zotlabs/Module/Admin/Queue.php:36
+msgid "Queue Statistics"
+msgstr "Statistiche della coda"
-#: ../../Zotlabs/Module/Directory.php:396
-msgid "Alphabetic"
-msgstr "Alfabetico"
+#: ../../Zotlabs/Module/Admin/Queue.php:37
+msgid "Total Entries"
+msgstr "Totale"
-#: ../../Zotlabs/Module/Directory.php:397
-msgid "Reverse Alphabetic"
-msgstr "Alfabetico inverso"
+#: ../../Zotlabs/Module/Admin/Queue.php:38
+msgid "Priority"
+msgstr "Priorità"
-#: ../../Zotlabs/Module/Directory.php:398
-msgid "Newest to Oldest"
-msgstr "Prima i più recenti"
+#: ../../Zotlabs/Module/Admin/Queue.php:39
+msgid "Destination URL"
+msgstr "URL di destinazione"
-#: ../../Zotlabs/Module/Directory.php:399
-msgid "Oldest to Newest"
-msgstr "Prima i più vecchi"
+#: ../../Zotlabs/Module/Admin/Queue.php:40
+msgid "Mark hub permanently offline"
+msgstr "Questo hub è definitivamente offline"
-#: ../../Zotlabs/Module/Directory.php:416
-msgid "No entries (some entries may be hidden)."
-msgstr "Nessun risultato (qualche elemento potrebbe essere nascosto)."
+#: ../../Zotlabs/Module/Admin/Queue.php:41
+msgid "Empty queue for this hub"
+msgstr "Svuota la coda per questo hub"
-#: ../../Zotlabs/Module/Connect.php:61 ../../Zotlabs/Module/Connect.php:109
-msgid "Continue"
-msgstr "Continua"
+#: ../../Zotlabs/Module/Admin/Queue.php:42
+msgid "Last known contact"
+msgstr "Ultimo scambio dati"
-#: ../../Zotlabs/Module/Connect.php:90
-msgid "Premium Channel Setup"
-msgstr "Canale premium - configurazione"
+#: ../../Zotlabs/Module/Admin/Security.php:77
+msgid ""
+"By default, unfiltered HTML is allowed in embedded media. This is inherently"
+" insecure."
+msgstr "Il codice HTML degli oggetti multimediali incorporati nei post è consentito. Questo tipo di impostazione è insicura."
-#: ../../Zotlabs/Module/Connect.php:92
-msgid "Enable premium channel connection restrictions"
-msgstr "Abilita le restrizioni del canale premium"
+#: ../../Zotlabs/Module/Admin/Security.php:80
+msgid ""
+"The recommended setting is to only allow unfiltered HTML from the following "
+"sites:"
+msgstr "L'impostazione consigliata è di permettere HTML non filtrato solo dai seguenti siti:"
-#: ../../Zotlabs/Module/Connect.php:93
+#: ../../Zotlabs/Module/Admin/Security.php:81
msgid ""
-"Please enter your restrictions or conditions, such as paypal receipt, usage "
-"guidelines, etc."
-msgstr "Scrivi le condizioni d'uso e le restrizioni di questo canale, come per esempio le linee guida, il sistema di pagamento, ecc."
+"https://youtube.com/<br />https://www.youtube.com/<br />https://youtu.be/<br"
+" />https://vimeo.com/<br />https://soundcloud.com/<br />"
+msgstr "https://youtube.com/<br />https://www.youtube.com/<br />https://youtu.be/<br />https://vimeo.com/<br />https://soundcloud.com/<br />"
-#: ../../Zotlabs/Module/Connect.php:95 ../../Zotlabs/Module/Connect.php:115
+#: ../../Zotlabs/Module/Admin/Security.php:82
msgid ""
-"This channel may require additional steps or acknowledgement of the "
-"following conditions prior to connecting:"
-msgstr "Prima di connetterti a questo canale è necessario che tu accetti le seguenti condizioni:"
+"All other embedded content will be filtered, <strong>unless</strong> "
+"embedded content from that site is explicitly blocked."
+msgstr "Tutti gli altri contenuti incorporati saranno filtrati <strong>a meno che</strong> il contenuto incorporato di quel sito non sia esplicitamente bloccato."
-#: ../../Zotlabs/Module/Connect.php:96
+#: ../../Zotlabs/Module/Admin/Security.php:87 ../../include/widgets.php:1563
+msgid "Security"
+msgstr "Sicurezza"
+
+#: ../../Zotlabs/Module/Admin/Security.php:89
+msgid "Block public"
+msgstr "Blocca pagine pubbliche"
+
+#: ../../Zotlabs/Module/Admin/Security.php:89
msgid ""
-"Potential connections will then see the following text before proceeding:"
-msgstr "Il testo seguente comparirà a chi vorrà seguire il canale:"
+"Check to block public access to all otherwise public personal pages on this "
+"site unless you are currently authenticated."
+msgstr "Seleziona per impedire di vedere le pagine personali di questo sito a chi non ha effettuato l'accesso."
-#: ../../Zotlabs/Module/Connect.php:97 ../../Zotlabs/Module/Connect.php:118
+#: ../../Zotlabs/Module/Admin/Security.php:90
+msgid "Set \"Transport Security\" HTTP header"
+msgstr "Imposta il \"Transport Security\" HTTP header"
+
+#: ../../Zotlabs/Module/Admin/Security.php:91
+msgid "Set \"Content Security Policy\" HTTP header"
+msgstr "Imposta il \"Content Security Policy\" HTTP header"
+
+#: ../../Zotlabs/Module/Admin/Security.php:92
+msgid "Allowed email domains"
+msgstr "Domini email consentiti"
+
+#: ../../Zotlabs/Module/Admin/Security.php:92
msgid ""
-"By continuing, I certify that I have complied with any instructions provided"
-" on this page."
-msgstr "Continuando dichiaro di aver seguito tutte le indicazioni e le istruzioni fornite in questa pagina."
+"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 "Elenco separato da virgola dei domini permessi come indirizzi email in fase di registrazione. Sono accettati caratteri jolly. Lascia vuoto per accettare qualsiasi dominio email"
-#: ../../Zotlabs/Module/Connect.php:106
-msgid "(No specific instructions have been provided by the channel owner.)"
-msgstr "(Il gestore del canale non ha fornito istruzioni specifiche)"
+#: ../../Zotlabs/Module/Admin/Security.php:93
+msgid "Not allowed email domains"
+msgstr "Domini email non consentiti"
-#: ../../Zotlabs/Module/Connect.php:114
-msgid "Restricted or Premium Channel"
-msgstr "Canale premium - con restrizioni"
+#: ../../Zotlabs/Module/Admin/Security.php:93
+msgid ""
+"Comma separated list of domains which are not allowed in email addresses for"
+" registrations to this site. Wildcards are accepted. Empty to allow any "
+"domains, unless allowed domains have been defined."
+msgstr "Elenco separato da virgola dei domini permessi come indirizzi email in fase di registrazione a questo sito. Sono accettati caratteri jolly. Lascalo vuoto per accettare qualsiasi dominio."
-#: ../../Zotlabs/Module/Events.php:25
-msgid "Calendar entries imported."
-msgstr "Le voci del calendario sono state importate."
+#: ../../Zotlabs/Module/Admin/Security.php:94
+msgid "Allow communications only from these sites"
+msgstr "Permetti la comunicazione solo da questi siti"
-#: ../../Zotlabs/Module/Events.php:27
-msgid "No calendar entries found."
-msgstr "Non sono state trovate voci del calendario."
+#: ../../Zotlabs/Module/Admin/Security.php:94
+msgid ""
+"One site per line. Leave empty to allow communication from anywhere by "
+"default"
+msgstr "Un sito per riga. Lascia vuoto per permettere la comunicazione con tutti"
-#: ../../Zotlabs/Module/Events.php:104
-msgid "Event can not end before it has started."
-msgstr "Un evento non può terminare prima del suo inizio."
+#: ../../Zotlabs/Module/Admin/Security.php:95
+msgid "Block communications from these sites"
+msgstr "Blocca la comunicazione da questi siti"
-#: ../../Zotlabs/Module/Events.php:106 ../../Zotlabs/Module/Events.php:115
-#: ../../Zotlabs/Module/Events.php:135
-msgid "Unable to generate preview."
-msgstr "Impossibile creare un'anteprima."
+#: ../../Zotlabs/Module/Admin/Security.php:96
+msgid "Allow communications only from these channels"
+msgstr "Permetti la comunicazione solo da questi canali"
-#: ../../Zotlabs/Module/Events.php:113
-msgid "Event title and start time are required."
-msgstr "Sono necessari il titolo e l'ora d'inizio dell'evento."
+#: ../../Zotlabs/Module/Admin/Security.php:96
+msgid ""
+"One channel (hash) per line. Leave empty to allow from any channel by "
+"default"
+msgstr "Un canale (hash) per riga. Lascia vuoto per comunicare con tutti i canali"
-#: ../../Zotlabs/Module/Events.php:133 ../../Zotlabs/Module/Events.php:258
-msgid "Event not found."
-msgstr "Evento non trovato."
+#: ../../Zotlabs/Module/Admin/Security.php:97
+msgid "Block communications from these channels"
+msgstr "Blocca la comunicazione da questi canali"
-#: ../../Zotlabs/Module/Events.php:253 ../../Zotlabs/Module/Like.php:372
-#: ../../Zotlabs/Module/Tagger.php:51 ../../include/conversation.php:123
-#: ../../include/text.php:1924 ../../include/event.php:951
-msgid "event"
-msgstr "l'evento"
+#: ../../Zotlabs/Module/Admin/Security.php:98
+msgid "Only allow embeds from secure (SSL) websites and links."
+msgstr "Permetti di incorporare contenuti solamente da siti sicuri (SSL)."
-#: ../../Zotlabs/Module/Events.php:448
-msgid "Edit event title"
-msgstr "Modifica il titolo dell'evento"
+#: ../../Zotlabs/Module/Admin/Security.php:99
+msgid "Allow unfiltered embedded HTML content only from these domains"
+msgstr "Incorpora i contenuti HTML non filtrati solo da questi domini"
-#: ../../Zotlabs/Module/Events.php:448
-msgid "Event title"
-msgstr "Titolo dell'evento"
+#: ../../Zotlabs/Module/Admin/Security.php:99
+msgid "One site per line. By default embedded content is filtered."
+msgstr "Un sito per riga. Normalmente i contenuti incorporati sono filtrati."
-#: ../../Zotlabs/Module/Events.php:448 ../../Zotlabs/Module/Events.php:453
-#: ../../Zotlabs/Module/Appman.php:115 ../../Zotlabs/Module/Appman.php:116
-#: ../../Zotlabs/Module/Profiles.php:709 ../../Zotlabs/Module/Profiles.php:713
-#: ../../include/datetime.php:245
-msgid "Required"
-msgstr "Obbligatorio"
+#: ../../Zotlabs/Module/Admin/Security.php:100
+msgid "Block embedded HTML from these domains"
+msgstr "Blocca i contenuti incorporati HTML da questi domini"
-#: ../../Zotlabs/Module/Events.php:450
-msgid "Categories (comma-separated list)"
-msgstr "Categorie (separate da virgola)"
+#: ../../Zotlabs/Module/Admin/Site.php:135
+msgid "Site settings updated."
+msgstr "Impostazioni del sito salvate correttamente."
-#: ../../Zotlabs/Module/Events.php:451
-msgid "Edit Category"
-msgstr "Modifica la categoria"
+#: ../../Zotlabs/Module/Admin/Site.php:162 ../../include/text.php:2942
+msgid "Default"
+msgstr "Predefinito"
-#: ../../Zotlabs/Module/Events.php:451
-msgid "Category"
-msgstr "Categoria"
+#: ../../Zotlabs/Module/Admin/Site.php:172
+#: ../../Zotlabs/Module/Settings/Display.php:141
+msgid "mobile"
+msgstr "mobile"
-#: ../../Zotlabs/Module/Events.php:454
-msgid "Edit start date and time"
-msgstr "Modifica data/ora di inizio"
+#: ../../Zotlabs/Module/Admin/Site.php:174
+msgid "experimental"
+msgstr "sperimentale"
-#: ../../Zotlabs/Module/Events.php:454
-msgid "Start date and time"
-msgstr "Data e ora di inizio"
+#: ../../Zotlabs/Module/Admin/Site.php:176
+msgid "unsupported"
+msgstr "non supportato"
-#: ../../Zotlabs/Module/Events.php:455 ../../Zotlabs/Module/Events.php:458
-msgid "Finish date and time are not known or not relevant"
-msgstr "La data e l'ora di fine non sono necessarie"
+#: ../../Zotlabs/Module/Admin/Site.php:221
+#: ../../Zotlabs/Module/Connedit.php:408 ../../Zotlabs/Module/Connedit.php:686
+#: ../../Zotlabs/Module/Menu.php:100 ../../Zotlabs/Module/Menu.php:157
+#: ../../Zotlabs/Module/Api.php:85 ../../Zotlabs/Module/Filestorage.php:160
+#: ../../Zotlabs/Module/Filestorage.php:168
+#: ../../Zotlabs/Module/Profiles.php:647 ../../Zotlabs/Module/Mitem.php:162
+#: ../../Zotlabs/Module/Mitem.php:163 ../../Zotlabs/Module/Mitem.php:240
+#: ../../Zotlabs/Module/Mitem.php:241 ../../Zotlabs/Module/Removeme.php:63
+#: ../../Zotlabs/Module/Photos.php:653 ../../Zotlabs/Module/Events.php:462
+#: ../../Zotlabs/Module/Events.php:463 ../../Zotlabs/Module/Events.php:472
+#: ../../Zotlabs/Module/Settings/Channel.php:289
+#: ../../Zotlabs/Module/Settings/Display.php:101 ../../include/dir_fns.php:143
+#: ../../include/dir_fns.php:144 ../../include/dir_fns.php:145
+#: ../../view/theme/redbasic/php/config.php:111
+#: ../../view/theme/redbasic/php/config.php:136 ../../boot.php:1743
+msgid "No"
+msgstr "No"
-#: ../../Zotlabs/Module/Events.php:457
-msgid "Edit finish date and time"
-msgstr "Modifica data/ora di fine"
+#: ../../Zotlabs/Module/Admin/Site.php:222
+msgid "Yes - with approval"
+msgstr "Sì - con approvazione"
-#: ../../Zotlabs/Module/Events.php:457
-msgid "Finish date and time"
-msgstr "Data e ora di fine"
+#: ../../Zotlabs/Module/Admin/Site.php:223
+#: ../../Zotlabs/Module/Connedit.php:408 ../../Zotlabs/Module/Menu.php:100
+#: ../../Zotlabs/Module/Menu.php:157 ../../Zotlabs/Module/Api.php:84
+#: ../../Zotlabs/Module/Filestorage.php:160
+#: ../../Zotlabs/Module/Filestorage.php:168
+#: ../../Zotlabs/Module/Profiles.php:647 ../../Zotlabs/Module/Mitem.php:162
+#: ../../Zotlabs/Module/Mitem.php:163 ../../Zotlabs/Module/Mitem.php:240
+#: ../../Zotlabs/Module/Mitem.php:241 ../../Zotlabs/Module/Removeme.php:63
+#: ../../Zotlabs/Module/Photos.php:653 ../../Zotlabs/Module/Events.php:462
+#: ../../Zotlabs/Module/Events.php:463 ../../Zotlabs/Module/Events.php:472
+#: ../../Zotlabs/Module/Settings/Channel.php:289
+#: ../../Zotlabs/Module/Settings/Display.php:101 ../../include/dir_fns.php:143
+#: ../../include/dir_fns.php:144 ../../include/dir_fns.php:145
+#: ../../view/theme/redbasic/php/config.php:111
+#: ../../view/theme/redbasic/php/config.php:136 ../../boot.php:1743
+msgid "Yes"
+msgstr "Sì"
-#: ../../Zotlabs/Module/Events.php:459 ../../Zotlabs/Module/Events.php:460
-msgid "Adjust for viewer timezone"
-msgstr "Adatta al fuso orario di chi legge"
+#: ../../Zotlabs/Module/Admin/Site.php:228
+msgid "My site is not a public server"
+msgstr "Non è un server pubblico"
+
+#: ../../Zotlabs/Module/Admin/Site.php:229
+msgid "My site has paid access only"
+msgstr "È un servizio a pagamento"
+
+#: ../../Zotlabs/Module/Admin/Site.php:230
+msgid "My site has free access only"
+msgstr "È un servizio gratuito"
+
+#: ../../Zotlabs/Module/Admin/Site.php:231
+msgid "My site offers free accounts with optional paid upgrades"
+msgstr "È un servizio gratuito con opzioni aggiuntive a pagamento"
+
+#: ../../Zotlabs/Module/Admin/Site.php:242 ../../Zotlabs/Module/Setup.php:336
+msgid "Basic/Minimal Social Networking"
+msgstr "Social network minimale"
+
+#: ../../Zotlabs/Module/Admin/Site.php:243 ../../Zotlabs/Module/Setup.php:337
+msgid "Standard Configuration (default)"
+msgstr "Configurazione standard (predefinita)"
+
+#: ../../Zotlabs/Module/Admin/Site.php:244 ../../Zotlabs/Module/Setup.php:338
+msgid "Professional"
+msgstr "Professionale"
+
+#: ../../Zotlabs/Module/Admin/Site.php:249
+#: ../../Zotlabs/Module/Settings/Account.php:105
+msgid "Beginner/Basic"
+msgstr "Principiante"
+
+#: ../../Zotlabs/Module/Admin/Site.php:250
+#: ../../Zotlabs/Module/Settings/Account.php:106
+msgid "Novice - not skilled but willing to learn"
+msgstr "Novizio - disposto a imparare"
+
+#: ../../Zotlabs/Module/Admin/Site.php:251
+#: ../../Zotlabs/Module/Settings/Account.php:107
+msgid "Intermediate - somewhat comfortable"
+msgstr "Intermedio - con alcune conoscenze tecniche"
+
+#: ../../Zotlabs/Module/Admin/Site.php:252
+#: ../../Zotlabs/Module/Settings/Account.php:108
+msgid "Advanced - very comfortable"
+msgstr "Avanzato - a mio agio con gli aspetti tecnici"
+
+#: ../../Zotlabs/Module/Admin/Site.php:253
+#: ../../Zotlabs/Module/Settings/Account.php:109
+msgid "Expert - I can write computer code"
+msgstr "Esperto - posso scrivere codice"
+
+#: ../../Zotlabs/Module/Admin/Site.php:254
+#: ../../Zotlabs/Module/Settings/Account.php:110
+msgid "Wizard - I probably know more than you do"
+msgstr "Genio - probabilmente ne so più di te!"
+
+#: ../../Zotlabs/Module/Admin/Site.php:266 ../../include/widgets.php:1560
+msgid "Site"
+msgstr "Sito"
+
+#: ../../Zotlabs/Module/Admin/Site.php:268
+#: ../../Zotlabs/Module/Register.php:253
+msgid "Registration"
+msgstr "Registrazione"
+
+#: ../../Zotlabs/Module/Admin/Site.php:269
+msgid "File upload"
+msgstr "Caricamento file"
+
+#: ../../Zotlabs/Module/Admin/Site.php:270
+msgid "Policies"
+msgstr "Politiche"
+
+#: ../../Zotlabs/Module/Admin/Site.php:271
+#: ../../include/contact_widgets.php:16
+msgid "Advanced"
+msgstr "Avanzate"
+
+#: ../../Zotlabs/Module/Admin/Site.php:275
+msgid "Site name"
+msgstr "Nome del sito"
+
+#: ../../Zotlabs/Module/Admin/Site.php:277 ../../Zotlabs/Module/Setup.php:359
+msgid "Server Configuration/Role"
+msgstr "Configurazione del server"
-#: ../../Zotlabs/Module/Events.php:459
+#: ../../Zotlabs/Module/Admin/Site.php:279
+msgid "Site default technical skill level"
+msgstr "Livello tecnico predefinito per gli utenti del sito"
+
+#: ../../Zotlabs/Module/Admin/Site.php:279
+msgid "Used to provide a member experience matched to technical comfort level"
+msgstr "Utile a fornire agli utenti un livello tecnico del sito che rispetti le loro conoscenze"
+
+#: ../../Zotlabs/Module/Admin/Site.php:281
+msgid "Lock the technical skill level setting"
+msgstr "Il livello tecnico non potrà essere modificato"
+
+#: ../../Zotlabs/Module/Admin/Site.php:281
+msgid "Members can set their own technical comfort level by default"
+msgstr "Gli utenti possono scegliere il livello tecnico preferito"
+
+#: ../../Zotlabs/Module/Admin/Site.php:284
+msgid "Banner/Logo"
+msgstr "Banner o logo"
+
+#: ../../Zotlabs/Module/Admin/Site.php:285
+msgid "Administrator Information"
+msgstr "Informazioni sull'amministratore"
+
+#: ../../Zotlabs/Module/Admin/Site.php:285
msgid ""
-"Important for events that happen in a particular place. Not practical for "
-"global holidays."
-msgstr "Importante per eventi che avvengono online ma con un certo fuso orario."
+"Contact information for site administrators. Displayed on siteinfo page. "
+"BBCode can be used here"
+msgstr "Informazioni per contattare gli amministratori del sito. Saranno mostrate sulla pagina di informazioni. È consentito il BBcode"
-#: ../../Zotlabs/Module/Events.php:461
-msgid "Edit Description"
-msgstr "Modifica la descrizione"
+#: ../../Zotlabs/Module/Admin/Site.php:286
+msgid "System language"
+msgstr "Lingua di sistema"
-#: ../../Zotlabs/Module/Events.php:461 ../../Zotlabs/Module/Appman.php:117
-#: ../../Zotlabs/Module/Rbmark.php:101
-msgid "Description"
-msgstr "Descrizione"
+#: ../../Zotlabs/Module/Admin/Site.php:287
+msgid "System theme"
+msgstr "Tema di sistema"
-#: ../../Zotlabs/Module/Events.php:463
-msgid "Edit Location"
-msgstr "Modifica il luogo"
+#: ../../Zotlabs/Module/Admin/Site.php:287
+msgid ""
+"Default system theme - may be over-ridden by user profiles - <a href='#' "
+"id='cnftheme'>change theme settings</a>"
+msgstr "Il tema di sistema può essere cambiato dai profili dei singoli utenti - <a href='#' id='cnftheme'>Cambia le impostazioni del tema</a>"
-#: ../../Zotlabs/Module/Events.php:463 ../../Zotlabs/Module/Profiles.php:477
-#: ../../Zotlabs/Module/Profiles.php:698 ../../Zotlabs/Module/Locs.php:117
-#: ../../Zotlabs/Module/Pubsites.php:41 ../../include/js_strings.php:25
-msgid "Location"
-msgstr "Posizione geografica"
+#: ../../Zotlabs/Module/Admin/Site.php:288
+msgid "Mobile system theme"
+msgstr "Tema di sistema per dispositivi mobili"
-#: ../../Zotlabs/Module/Events.php:466 ../../Zotlabs/Module/Events.php:468
-msgid "Share this event"
-msgstr "Condividi questo evento"
+#: ../../Zotlabs/Module/Admin/Site.php:288
+msgid "Theme for mobile devices"
+msgstr "Tema per i dispositivi mobili"
-#: ../../Zotlabs/Module/Events.php:469 ../../Zotlabs/Module/Photos.php:1091
-#: ../../Zotlabs/Module/Webpages.php:201 ../../Zotlabs/Lib/ThreadItem.php:719
-#: ../../include/page_widgets.php:43 ../../include/conversation.php:1198
-msgid "Preview"
-msgstr "Anteprima"
+#: ../../Zotlabs/Module/Admin/Site.php:290
+msgid "Allow Feeds as Connections"
+msgstr "Permetti di aggiungere i feed come contatti"
-#: ../../Zotlabs/Module/Events.php:470 ../../include/conversation.php:1247
-msgid "Permission settings"
-msgstr "Permessi dei tuoi contatti"
+#: ../../Zotlabs/Module/Admin/Site.php:290
+msgid "(Heavy system resource usage)"
+msgstr "(Uso intenso delle risorse di sistema!)"
-#: ../../Zotlabs/Module/Events.php:475
-msgid "Advanced Options"
-msgstr "Opzioni avanzate"
+#: ../../Zotlabs/Module/Admin/Site.php:291
+msgid "Maximum image size"
+msgstr "Dimensione massima immagini"
-#: ../../Zotlabs/Module/Events.php:587 ../../Zotlabs/Module/Cal.php:259
-msgid "l, F j"
-msgstr "l j F"
+#: ../../Zotlabs/Module/Admin/Site.php:291
+msgid ""
+"Maximum size in bytes of uploaded images. Default is 0, which means no "
+"limits."
+msgstr "Massima dimensione in byte delle immagini caricate. Il default è 0, cioè nessun limite."
-#: ../../Zotlabs/Module/Events.php:609
-msgid "Edit event"
-msgstr "Modifica l'evento"
+#: ../../Zotlabs/Module/Admin/Site.php:292
+msgid "Does this site allow new member registration?"
+msgstr "Questo sito permette a nuovi utenti di registrarsi?"
-#: ../../Zotlabs/Module/Events.php:611
-msgid "Delete event"
-msgstr "Elimina l'evento"
+#: ../../Zotlabs/Module/Admin/Site.php:293
+msgid "Invitation only"
+msgstr "Solo con invito"
-#: ../../Zotlabs/Module/Events.php:636 ../../Zotlabs/Module/Cal.php:308
-#: ../../include/text.php:1712
-msgid "Link to Source"
-msgstr "Link al sito d'origine"
+#: ../../Zotlabs/Module/Admin/Site.php:293
+msgid ""
+"Only allow new member registrations with an invitation code. Above register "
+"policy must be set to Yes."
+msgstr "La registrazione è permessa solo a chi possiede un codice di invito. Funziona solo se la possibilità di registrarsi è impostata a 'Sì'."
-#: ../../Zotlabs/Module/Events.php:645
-msgid "calendar"
-msgstr "calendario"
+#: ../../Zotlabs/Module/Admin/Site.php:294
+msgid "Which best describes the types of account offered by this hub?"
+msgstr "Come descriveresti il tipo di servizio proposto da questo server?"
-#: ../../Zotlabs/Module/Events.php:664 ../../Zotlabs/Module/Cal.php:331
-msgid "Edit Event"
-msgstr "Modifica l'evento"
+#: ../../Zotlabs/Module/Admin/Site.php:295
+msgid "Register text"
+msgstr "Testo di registrazione"
-#: ../../Zotlabs/Module/Events.php:664 ../../Zotlabs/Module/Cal.php:331
-msgid "Create Event"
-msgstr "Crea un evento"
+#: ../../Zotlabs/Module/Admin/Site.php:295
+msgid "Will be displayed prominently on the registration page."
+msgstr "Sarà mostrato ben visibile nella pagina di registrazione."
-#: ../../Zotlabs/Module/Events.php:665 ../../Zotlabs/Module/Events.php:674
-#: ../../Zotlabs/Module/Cal.php:332 ../../Zotlabs/Module/Cal.php:339
-#: ../../Zotlabs/Module/Photos.php:947
-msgid "Previous"
-msgstr "Precendente"
+#: ../../Zotlabs/Module/Admin/Site.php:296
+msgid "Site homepage to show visitors (default: login box)"
+msgstr "Homepage del sito da mostrare ai navigatori (predefinito: modulo di login)"
-#: ../../Zotlabs/Module/Events.php:666 ../../Zotlabs/Module/Events.php:675
-#: ../../Zotlabs/Module/Cal.php:333 ../../Zotlabs/Module/Cal.php:340
-#: ../../Zotlabs/Module/Photos.php:956 ../../Zotlabs/Module/Setup.php:267
-msgid "Next"
-msgstr "Successivo"
+#: ../../Zotlabs/Module/Admin/Site.php:296
+msgid ""
+"example: 'public' to show public stream, 'page/sys/home' to show a system "
+"webpage called 'home' or 'include:home.html' to include a file."
+msgstr "esempio: 'public' per mostrare i contenuti pubblici degli utenti, 'page/sys/home' per mostrare la pagina web definita come 'home' oppure 'include:home.html' per mostrare il contenuto di un file."
-#: ../../Zotlabs/Module/Events.php:667 ../../Zotlabs/Module/Cal.php:334
-msgid "Export"
-msgstr "Esporta"
+#: ../../Zotlabs/Module/Admin/Site.php:297
+msgid "Preserve site homepage URL"
+msgstr "Conserva l'URL della homepage"
-#: ../../Zotlabs/Module/Events.php:670 ../../Zotlabs/Module/Layouts.php:197
-#: ../../Zotlabs/Module/Pubsites.php:47 ../../Zotlabs/Module/Blocks.php:166
-#: ../../Zotlabs/Module/Webpages.php:200 ../../include/page_widgets.php:42
-msgid "View"
-msgstr "Guarda"
+#: ../../Zotlabs/Module/Admin/Site.php:297
+msgid ""
+"Present the site homepage in a frame at the original location instead of "
+"redirecting"
+msgstr "Presenta la homepage del sito in un frame all'indirizzo attuale invece di un redirect."
-#: ../../Zotlabs/Module/Events.php:671
-msgid "Month"
-msgstr "Mese"
+#: ../../Zotlabs/Module/Admin/Site.php:298
+msgid "Accounts abandoned after x days"
+msgstr "Account abbandonati dopo X giorni"
-#: ../../Zotlabs/Module/Events.php:672
-msgid "Week"
-msgstr "Settimana"
+#: ../../Zotlabs/Module/Admin/Site.php:298
+msgid ""
+"Will not waste system resources polling external sites for abandonded "
+"accounts. Enter 0 for no time limit."
+msgstr "Eviterà di sprecare risorse di sistema controllando se i siti esterni hanno account abbandonati. Immettere 0 per non imporre nessun limite di tempo."
-#: ../../Zotlabs/Module/Events.php:673
-msgid "Day"
-msgstr "Giorno"
+#: ../../Zotlabs/Module/Admin/Site.php:299
+msgid "Allowed friend domains"
+msgstr "Domini fidati e consentiti"
-#: ../../Zotlabs/Module/Events.php:676 ../../Zotlabs/Module/Cal.php:341
-msgid "Today"
-msgstr "Oggi"
+#: ../../Zotlabs/Module/Admin/Site.php:299
+msgid ""
+"Comma separated list of domains which are allowed to establish friendships "
+"with this site. Wildcards are accepted. Empty to allow any domains"
+msgstr "Elenco separato da virgola dei domini che possono stabilire amicizie con questo sito. Sono accettati caratteri jolly. Lascia vuoto per accettare connessioni da qualsiasi dominio."
-#: ../../Zotlabs/Module/Events.php:707
-msgid "Event removed"
-msgstr "Evento eliminato"
+#: ../../Zotlabs/Module/Admin/Site.php:300
+msgid "Verify Email Addresses"
+msgstr "Verifica l'indirizzo email"
-#: ../../Zotlabs/Module/Events.php:710
-msgid "Failed to remove event"
-msgstr "Impossibile eliminare l'evento"
+#: ../../Zotlabs/Module/Admin/Site.php:300
+msgid ""
+"Check to verify email addresses used in account registration (recommended)."
+msgstr "Attiva per richiedere la verifica degli indirizzi email dei nuovi utenti (consigliato)."
-#: ../../Zotlabs/Module/Bookmarks.php:53
-msgid "Bookmark added"
-msgstr "Segnalibro aggiunto"
+#: ../../Zotlabs/Module/Admin/Site.php:301
+msgid "Force publish"
+msgstr "Forza la publicazione del profilo"
-#: ../../Zotlabs/Module/Bookmarks.php:75
-msgid "My Bookmarks"
-msgstr "I miei segnalibri"
+#: ../../Zotlabs/Module/Admin/Site.php:301
+msgid ""
+"Check to force all profiles on this site to be listed in the site directory."
+msgstr "Seleziona per pubblicare sui directory server <strong>tutti</strong> i profili registrati su questo sito."
-#: ../../Zotlabs/Module/Bookmarks.php:86
-msgid "My Connections Bookmarks"
-msgstr "I segnalibri dei miei contatti"
+#: ../../Zotlabs/Module/Admin/Site.php:302
+msgid "Import Public Streams"
+msgstr "Suggerisci contenuti pubblici della rete Hubzilla"
-#: ../../Zotlabs/Module/Editpost.php:24 ../../Zotlabs/Module/Editlayout.php:79
-#: ../../Zotlabs/Module/Editwebpage.php:80
-#: ../../Zotlabs/Module/Editblock.php:79 ../../Zotlabs/Module/Editblock.php:95
-msgid "Item not found"
-msgstr "Elemento non trovato"
+#: ../../Zotlabs/Module/Admin/Site.php:302
+msgid ""
+"Import and allow access to public content pulled from other sites. Warning: "
+"this content is unmoderated."
+msgstr "Suggerisci e visualizza i post pubblici presenti su altri siti Hubzilla. Attenzione: i contenuti potrebbero essere inappropriati perché non sottoposti a moderazione."
-#: ../../Zotlabs/Module/Editpost.php:35
-msgid "Item is not editable"
-msgstr "L'elemento non è modificabile"
+#: ../../Zotlabs/Module/Admin/Site.php:303
+msgid "Login on Homepage"
+msgstr "Login sulla homepage"
-#: ../../Zotlabs/Module/Editpost.php:106 ../../Zotlabs/Module/Rpost.php:134
-msgid "Edit post"
-msgstr "Modifica post"
+#: ../../Zotlabs/Module/Admin/Site.php:303
+msgid ""
+"Present a login box to visitors on the home page if no other content has "
+"been configured."
+msgstr "Presenta il modulo di login ai visitatori sulla homepage in mancanza di altri contenuti."
+
+#: ../../Zotlabs/Module/Admin/Site.php:304
+msgid "Enable context help"
+msgstr "Abilita la guida contestuale"
+
+#: ../../Zotlabs/Module/Admin/Site.php:304
+msgid ""
+"Display contextual help for the current page when the help button is "
+"pressed."
+msgstr "Quando è premuto, il bottone della guida mostra quella relativa alla pagina corrente"
+
+#: ../../Zotlabs/Module/Admin/Site.php:306
+msgid "Directory Server URL"
+msgstr "URL del directory server"
+
+#: ../../Zotlabs/Module/Admin/Site.php:306
+msgid "Default directory server"
+msgstr "Directory server predefinito"
+
+#: ../../Zotlabs/Module/Admin/Site.php:308
+msgid "Proxy user"
+msgstr "Utente proxy"
+
+#: ../../Zotlabs/Module/Admin/Site.php:309
+msgid "Proxy URL"
+msgstr "URL proxy"
+
+#: ../../Zotlabs/Module/Admin/Site.php:310
+msgid "Network timeout"
+msgstr "Timeout rete"
+
+#: ../../Zotlabs/Module/Admin/Site.php:310
+msgid "Value is in seconds. Set to 0 for unlimited (not recommended)."
+msgstr "Valore in secondi. Imposta a 0 per illimitato (sconsigliato)."
+
+#: ../../Zotlabs/Module/Admin/Site.php:311
+msgid "Delivery interval"
+msgstr "Recapito ritardato"
+
+#: ../../Zotlabs/Module/Admin/Site.php:311
+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 "Numero di secondi di cui può essere ritardato il recapito, per ridurre il carico di sistema. Consigliati: 4-5 secondi per hosting condiviso, 2-3 per i VPS, 0-1 per grandi server dedicati."
+
+#: ../../Zotlabs/Module/Admin/Site.php:312
+msgid "Deliveries per process"
+msgstr "Tentativi di recapito per processo"
+
+#: ../../Zotlabs/Module/Admin/Site.php:312
+msgid ""
+"Number of deliveries to attempt in a single operating system process. Adjust"
+" if necessary to tune system performance. Recommend: 1-5."
+msgstr "Numero di tentativi di recapito da tentare per ciascun processo. Può essere modificato per migliorare le performance di sistema. Raccomandato: 1-5"
+
+#: ../../Zotlabs/Module/Admin/Site.php:313
+msgid "Poll interval"
+msgstr "Intervallo di polling"
+
+#: ../../Zotlabs/Module/Admin/Site.php:313
+msgid ""
+"Delay background polling processes by this many seconds to reduce system "
+"load. If 0, use delivery interval."
+msgstr "Numero di secondi di cui può essere ritardato il polling in background, per ridurre il carico del sistema. Se 0, verrà usato lo stesso valore del 'Recapito ritardato'."
+
+#: ../../Zotlabs/Module/Admin/Site.php:314
+msgid "Maximum Load Average"
+msgstr "Carico massimo medio"
+
+#: ../../Zotlabs/Module/Admin/Site.php:314
+msgid ""
+"Maximum system load before delivery and poll processes are deferred - "
+"default 50."
+msgstr "Carico di sistema massimo perché i processi di recapito e polling siano ritardati - il valore predefinito è 50."
+
+#: ../../Zotlabs/Module/Admin/Site.php:315
+msgid "Expiration period in days for imported (grid/network) content"
+msgstr "Scadenza dei contenuti importati da altri siti (in giorni)"
+
+#: ../../Zotlabs/Module/Admin/Site.php:315
+msgid "0 for no expiration of imported content"
+msgstr "0 per non avere scadenza"
+
+#: ../../Zotlabs/Module/Admin/Themes.php:18
+msgid "Theme settings updated."
+msgstr "Le impostazioni del tema sono state aggiornate."
+
+#: ../../Zotlabs/Module/Admin/Themes.php:58
+msgid "No themes found."
+msgstr "Nessun tema trovato."
+
+#: ../../Zotlabs/Module/Admin/Themes.php:114
+msgid "Screenshot"
+msgstr "Istantanea dello schermo"
+
+#: ../../Zotlabs/Module/Admin/Themes.php:121
+#: ../../Zotlabs/Module/Admin/Themes.php:155 ../../include/widgets.php:1566
+msgid "Themes"
+msgstr "Temi"
+
+#: ../../Zotlabs/Module/Admin/Themes.php:160
+msgid "[Experimental]"
+msgstr "[Sperimentale]"
+
+#: ../../Zotlabs/Module/Admin/Themes.php:161
+msgid "[Unsupported]"
+msgstr "[Non supportato]"
#: ../../Zotlabs/Module/Fbrowser.php:29 ../../Zotlabs/Lib/Apps.php:222
-#: ../../include/nav.php:92 ../../include/conversation.php:1647
+#: ../../include/nav.php:95 ../../include/conversation.php:1672
msgid "Photos"
msgstr "Foto"
-#: ../../Zotlabs/Module/Fbrowser.php:66 ../../Zotlabs/Module/Fbrowser.php:88
-#: ../../Zotlabs/Module/Admin.php:1406 ../../Zotlabs/Module/Settings.php:645
-#: ../../Zotlabs/Module/Settings.php:671 ../../Zotlabs/Module/Tagrm.php:15
-#: ../../Zotlabs/Module/Tagrm.php:138 ../../Zotlabs/Module/Wiki.php:166
-#: ../../Zotlabs/Module/Wiki.php:202 ../../include/conversation.php:1235
-#: ../../include/conversation.php:1274
-msgid "Cancel"
-msgstr "Annulla"
-
#: ../../Zotlabs/Module/Page.php:40 ../../Zotlabs/Module/Block.php:31
msgid "Invalid item."
msgstr "Elemento non valido."
-#: ../../Zotlabs/Module/Page.php:56 ../../Zotlabs/Module/Cal.php:62
-#: ../../Zotlabs/Module/Block.php:43 ../../Zotlabs/Module/Wall_upload.php:33
+#: ../../Zotlabs/Module/Page.php:56 ../../Zotlabs/Module/Block.php:43
+#: ../../Zotlabs/Module/Cal.php:62 ../../Zotlabs/Module/Wall_upload.php:33
msgid "Channel not found."
msgstr "Canale non trovato."
@@ -1328,12 +1781,124 @@ msgstr "Salva nella cartella:"
msgid "- select -"
msgstr "- scegli -"
-#: ../../Zotlabs/Module/Filer.php:53 ../../Zotlabs/Module/Admin.php:2033
-#: ../../Zotlabs/Module/Admin.php:2053 ../../Zotlabs/Module/Rbmark.php:32
-#: ../../Zotlabs/Module/Rbmark.php:104 ../../include/text.php:926
-#: ../../include/text.php:938 ../../include/widgets.php:201
-msgid "Save"
-msgstr "Salva"
+#: ../../Zotlabs/Module/Mail.php:38
+msgid "Unable to lookup recipient."
+msgstr "Impossibile associare un destinatario."
+
+#: ../../Zotlabs/Module/Mail.php:45
+msgid "Unable to communicate with requested channel."
+msgstr "Impossibile comunicare con il canale richiesto."
+
+#: ../../Zotlabs/Module/Mail.php:52
+msgid "Cannot verify requested channel."
+msgstr "Impossibile verificare il canale richiesto."
+
+#: ../../Zotlabs/Module/Mail.php:70
+msgid "Selected channel has private message restrictions. Send failed."
+msgstr "Il canale ha delle regole restrittive per la ricezione dei messaggi privati. Invio fallito."
+
+#: ../../Zotlabs/Module/Mail.php:135
+msgid "Messages"
+msgstr "Messaggi"
+
+#: ../../Zotlabs/Module/Mail.php:170
+msgid "Message recalled."
+msgstr "Messaggio revocato."
+
+#: ../../Zotlabs/Module/Mail.php:183
+msgid "Conversation removed."
+msgstr "Conversazione rimossa."
+
+#: ../../Zotlabs/Module/Mail.php:197 ../../Zotlabs/Module/Mail.php:306
+#: ../../Zotlabs/Module/Chat.php:205 ../../include/conversation.php:1184
+msgid "Please enter a link URL:"
+msgstr "Inserisci l'indirizzo del link:"
+
+#: ../../Zotlabs/Module/Mail.php:198 ../../Zotlabs/Module/Mail.php:307
+msgid "Expires YYYY-MM-DD HH:MM"
+msgstr "Scade il YYYY-MM-DD HH:MM"
+
+#: ../../Zotlabs/Module/Mail.php:226
+msgid "Requested channel is not in this network"
+msgstr "Il canale cercato non è in questa rete"
+
+#: ../../Zotlabs/Module/Mail.php:234
+msgid "Send Private Message"
+msgstr "Invia un messaggio privato"
+
+#: ../../Zotlabs/Module/Mail.php:235 ../../Zotlabs/Module/Mail.php:360
+msgid "To:"
+msgstr "A:"
+
+#: ../../Zotlabs/Module/Mail.php:238 ../../Zotlabs/Module/Mail.php:362
+msgid "Subject:"
+msgstr "Oggetto:"
+
+#: ../../Zotlabs/Module/Mail.php:241 ../../Zotlabs/Module/Invite.php:135
+msgid "Your message:"
+msgstr "Il tuo messaggio:"
+
+#: ../../Zotlabs/Module/Mail.php:243 ../../Zotlabs/Module/Mail.php:368
+#: ../../include/conversation.php:1244
+msgid "Attach file"
+msgstr "Allega file"
+
+#: ../../Zotlabs/Module/Mail.php:244 ../../Zotlabs/Module/Mail.php:369
+#: ../../Zotlabs/Module/Editblock.php:111
+#: ../../Zotlabs/Module/Editwebpage.php:146 ../../Zotlabs/Module/Chat.php:207
+#: ../../include/conversation.php:1149
+msgid "Insert web link"
+msgstr "Inserisci un indirizzo web"
+
+#: ../../Zotlabs/Module/Mail.php:245
+msgid "Send"
+msgstr "Invia"
+
+#: ../../Zotlabs/Module/Mail.php:248 ../../Zotlabs/Module/Mail.php:373
+#: ../../include/conversation.php:1289
+msgid "Set expiration date"
+msgstr "Data di scadenza"
+
+#: ../../Zotlabs/Module/Mail.php:250 ../../Zotlabs/Module/Mail.php:375
+#: ../../Zotlabs/Module/Chat.php:206 ../../Zotlabs/Lib/ThreadItem.php:737
+#: ../../include/conversation.php:1294
+msgid "Encrypt text"
+msgstr "Cifratura del messaggio"
+
+#: ../../Zotlabs/Module/Mail.php:332
+msgid "Delete message"
+msgstr "Elimina il messaggio"
+
+#: ../../Zotlabs/Module/Mail.php:333
+msgid "Delivery report"
+msgstr "Rapporto di trasmissione"
+
+#: ../../Zotlabs/Module/Mail.php:334
+msgid "Recall message"
+msgstr "Revoca il messaggio"
+
+#: ../../Zotlabs/Module/Mail.php:336
+msgid "Message has been recalled."
+msgstr "Il messaggio è stato revocato."
+
+#: ../../Zotlabs/Module/Mail.php:353
+msgid "Delete Conversation"
+msgstr "Elimina la conversazione"
+
+#: ../../Zotlabs/Module/Mail.php:355
+msgid ""
+"No secure communications available. You <strong>may</strong> be able to "
+"respond from the sender's profile page."
+msgstr "Non è disponibile alcun modo sicuro di comunicare con questo canale. <strong>Se possibile</strong>, prova a rispondere direttamente dalla pagina del profilo del mittente."
+
+#: ../../Zotlabs/Module/Mail.php:359
+msgid "Send Reply"
+msgstr "Invia la risposta"
+
+#: ../../Zotlabs/Module/Mail.php:364
+#, php-format
+msgid "Your message for %s (%s):"
+msgstr "Il tuo messaggio per %s (%s):"
#: ../../Zotlabs/Module/Connections.php:56
#: ../../Zotlabs/Module/Connections.php:161
@@ -1361,10 +1926,16 @@ msgstr "Archiviati"
#: ../../Zotlabs/Module/Connections.php:76
#: ../../Zotlabs/Module/Connections.php:86 ../../Zotlabs/Module/Menu.php:116
-#: ../../include/conversation.php:1550
+#: ../../include/conversation.php:1573
msgid "New"
msgstr "Novità"
+#: ../../Zotlabs/Module/Connections.php:92
+#: ../../Zotlabs/Module/Connections.php:107
+#: ../../Zotlabs/Module/Connedit.php:629 ../../include/widgets.php:533
+msgid "All"
+msgstr "Tutti"
+
#: ../../Zotlabs/Module/Connections.php:138
msgid "New Connections"
msgstr "Nuovi contatti"
@@ -1423,7 +1994,7 @@ msgstr "Indirizzo del canale"
msgid "Network"
msgstr "Network"
-#: ../../Zotlabs/Module/Connections.php:270 ../../Zotlabs/Module/Admin.php:710
+#: ../../Zotlabs/Module/Connections.php:270
msgid "Status"
msgstr "Stato"
@@ -1435,28 +2006,29 @@ msgstr "In contatto"
msgid "Approve connection"
msgstr "Approva questo contatto"
-#: ../../Zotlabs/Module/Connections.php:275
-#: ../../Zotlabs/Module/Admin.php:1037
-msgid "Approve"
-msgstr "Approva"
-
#: ../../Zotlabs/Module/Connections.php:276
msgid "Ignore connection"
msgstr "Ignora il contatto"
+#: ../../Zotlabs/Module/Connections.php:277
+#: ../../Zotlabs/Module/Connedit.php:583
+#: ../../Zotlabs/Module/Notifications.php:55
+msgid "Ignore"
+msgstr "Ignora"
+
#: ../../Zotlabs/Module/Connections.php:278
msgid "Recent activity"
msgstr "Attività recenti"
#: ../../Zotlabs/Module/Connections.php:302 ../../Zotlabs/Lib/Apps.php:209
-#: ../../include/nav.php:188 ../../include/text.php:855
+#: ../../include/text.php:901 ../../include/nav.php:191
msgid "Connections"
msgstr "Contatti"
#: ../../Zotlabs/Module/Connections.php:306 ../../Zotlabs/Module/Search.php:44
-#: ../../Zotlabs/Lib/Apps.php:230 ../../include/nav.php:167
-#: ../../include/text.php:925 ../../include/text.php:937
-#: ../../include/acl_selectors.php:274
+#: ../../Zotlabs/Lib/Apps.php:230 ../../include/text.php:971
+#: ../../include/text.php:983 ../../include/acl_selectors.php:174
+#: ../../include/nav.php:170 ../../include/widgets.php:315
msgid "Search"
msgstr "Cerca"
@@ -1468,6 +2040,12 @@ msgstr "Cerca tra i contatti"
msgid "Connections search"
msgstr "Ricerca tra i contatti"
+#: ../../Zotlabs/Module/Connections.php:309
+#: ../../Zotlabs/Module/Directory.php:388
+#: ../../Zotlabs/Module/Directory.php:393 ../../include/contact_widgets.php:23
+msgid "Find"
+msgstr "Cerca"
+
#: ../../Zotlabs/Module/Cover_photo.php:58
#: ../../Zotlabs/Module/Profile_photo.php:61
msgid "Image uploaded but image cropping failed."
@@ -1498,30 +2076,30 @@ msgstr "Il caricamento dell'immagine è fallito."
msgid "Unable to process image."
msgstr "Impossibile elaborare l'immagine."
-#: ../../Zotlabs/Module/Cover_photo.php:233 ../../include/items.php:4283
+#: ../../Zotlabs/Module/Cover_photo.php:233 ../../include/items.php:4341
msgid "female"
msgstr "femmina"
-#: ../../Zotlabs/Module/Cover_photo.php:234 ../../include/items.php:4284
+#: ../../Zotlabs/Module/Cover_photo.php:234 ../../include/items.php:4342
#, php-format
msgid "%1$s updated her %2$s"
msgstr "Aggiornamento: %2$s di %1$s"
-#: ../../Zotlabs/Module/Cover_photo.php:235 ../../include/items.php:4285
+#: ../../Zotlabs/Module/Cover_photo.php:235 ../../include/items.php:4343
msgid "male"
msgstr "maschio"
-#: ../../Zotlabs/Module/Cover_photo.php:236 ../../include/items.php:4286
+#: ../../Zotlabs/Module/Cover_photo.php:236 ../../include/items.php:4344
#, php-format
msgid "%1$s updated his %2$s"
msgstr "Aggiornamento: %2$s di %1$s"
-#: ../../Zotlabs/Module/Cover_photo.php:238 ../../include/items.php:4288
+#: ../../Zotlabs/Module/Cover_photo.php:238 ../../include/items.php:4346
#, php-format
msgid "%1$s updated their %2$s"
msgstr "Aggiornamento: %2$s di %1$s"
-#: ../../Zotlabs/Module/Cover_photo.php:240 ../../include/channel.php:1726
+#: ../../Zotlabs/Module/Cover_photo.php:240 ../../include/channel.php:1731
msgid "cover photo"
msgstr "Copertina del canale"
@@ -1548,7 +2126,7 @@ msgstr "Carica una copertina"
#: ../../Zotlabs/Module/Cover_photo.php:361
#: ../../Zotlabs/Module/Profile_photo.php:396
-#: ../../Zotlabs/Module/Settings.php:1080
+#: ../../Zotlabs/Module/Settings/Channel.php:399
msgid "or"
msgstr "o"
@@ -1577,203 +2155,324 @@ msgstr "Ritaglia l'immagine per migliorarne la visualizzazione."
msgid "Done Editing"
msgstr "Modifica terminata"
-#: ../../Zotlabs/Module/Impel.php:41 ../../include/bbcode.php:192
-msgid "webpage"
-msgstr "pagina web"
+#: ../../Zotlabs/Module/Rpost.php:138 ../../Zotlabs/Module/Editpost.php:106
+msgid "Edit post"
+msgstr "Modifica post"
-#: ../../Zotlabs/Module/Impel.php:46 ../../include/bbcode.php:198
-msgid "block"
-msgstr "block"
+#: ../../Zotlabs/Module/Connedit.php:80
+msgid "Could not access contact record."
+msgstr "Non è possibile accedere alle informazioni sul contatto."
-#: ../../Zotlabs/Module/Impel.php:51 ../../include/bbcode.php:195
-msgid "layout"
-msgstr "layout"
+#: ../../Zotlabs/Module/Connedit.php:104
+msgid "Could not locate selected profile."
+msgstr "Non riesco a trovare il profilo selezionato."
-#: ../../Zotlabs/Module/Impel.php:58 ../../include/bbcode.php:201
-msgid "menu"
-msgstr "menu"
+#: ../../Zotlabs/Module/Connedit.php:256
+msgid "Connection updated."
+msgstr "Contatto aggiornato."
-#: ../../Zotlabs/Module/Impel.php:187
-#, php-format
-msgid "%s element installed"
-msgstr "%s elemento installato"
+#: ../../Zotlabs/Module/Connedit.php:258
+msgid "Failed to update connection record."
+msgstr "Impossibile aggiornare le informazioni del contatto."
+
+#: ../../Zotlabs/Module/Connedit.php:308
+msgid "is now connected to"
+msgstr "ha come nuovo contatto"
-#: ../../Zotlabs/Module/Impel.php:190
+#: ../../Zotlabs/Module/Connedit.php:440
+msgid "Could not access address book record."
+msgstr "Impossibile accedere alle informazioni della rubrica."
+
+#: ../../Zotlabs/Module/Connedit.php:460
+msgid "Refresh failed - channel is currently unavailable."
+msgstr "Il canale non è disponibile - impossibile aggiornare."
+
+#: ../../Zotlabs/Module/Connedit.php:475 ../../Zotlabs/Module/Connedit.php:484
+#: ../../Zotlabs/Module/Connedit.php:493 ../../Zotlabs/Module/Connedit.php:502
+#: ../../Zotlabs/Module/Connedit.php:515
+msgid "Unable to set address book parameters."
+msgstr "Impossibile impostare i parametri della rubrica."
+
+#: ../../Zotlabs/Module/Connedit.php:538
+msgid "Connection has been removed."
+msgstr "Il contatto è stato rimosso."
+
+#: ../../Zotlabs/Module/Connedit.php:554 ../../Zotlabs/Lib/Apps.php:221
+#: ../../include/nav.php:89 ../../include/conversation.php:953
+msgid "View Profile"
+msgstr "Profilo"
+
+#: ../../Zotlabs/Module/Connedit.php:557
#, php-format
-msgid "%s element installation failed"
-msgstr "Elementi con installazione fallita: %s"
+msgid "View %s's profile"
+msgstr "Guarda il profilo di %s"
-#: ../../Zotlabs/Module/Cal.php:69
-msgid "Permissions denied."
-msgstr "Permesso negato."
+#: ../../Zotlabs/Module/Connedit.php:561
+msgid "Refresh Permissions"
+msgstr "Modifica i permessi"
-#: ../../Zotlabs/Module/Cal.php:337
-msgid "Import"
-msgstr "Importa"
+#: ../../Zotlabs/Module/Connedit.php:564
+msgid "Fetch updated permissions"
+msgstr "Guarda e modifica i permessi assegnati"
-#: ../../Zotlabs/Module/Dirsearch.php:25 ../../Zotlabs/Module/Regdir.php:49
-msgid "This site is not a directory server"
-msgstr "Questo non è un directory server"
+#: ../../Zotlabs/Module/Connedit.php:568
+msgid "Recent Activity"
+msgstr "Attività recenti"
-#: ../../Zotlabs/Module/Dirsearch.php:33
-msgid "This directory server requires an access token"
-msgstr "Questo directory server necessita di un token di autenticazione"
+#: ../../Zotlabs/Module/Connedit.php:571
+msgid "View recent posts and comments"
+msgstr "Leggi i post recenti e i commenti"
-#: ../../Zotlabs/Module/Chat.php:25 ../../Zotlabs/Module/Channel.php:28
-#: ../../Zotlabs/Module/Wiki.php:20
-msgid "You must be logged in to see this page."
-msgstr "Devi aver effettuato l'accesso per vedere questa pagina."
+#: ../../Zotlabs/Module/Connedit.php:578
+msgid "Block (or Unblock) all communications with this connection"
+msgstr "Blocca ogni interazione con questo contatto (abilita/disabilita)"
-#: ../../Zotlabs/Module/Chat.php:181
-msgid "Room not found"
-msgstr "Chat non trovata"
+#: ../../Zotlabs/Module/Connedit.php:579
+msgid "This connection is blocked!"
+msgstr "Questa connessione è tra quelle bloccate!"
-#: ../../Zotlabs/Module/Chat.php:197
-msgid "Leave Room"
-msgstr "Lascia la chat"
+#: ../../Zotlabs/Module/Connedit.php:583
+msgid "Unignore"
+msgstr "Non ignorare"
-#: ../../Zotlabs/Module/Chat.php:198
-msgid "Delete Room"
-msgstr "Elimina questa chat"
+#: ../../Zotlabs/Module/Connedit.php:586
+msgid "Ignore (or Unignore) all inbound communications from this connection"
+msgstr "Ignora tutte le comunicazioni in arrivo da questo contatto (abilita/disabilita)"
-#: ../../Zotlabs/Module/Chat.php:199
-msgid "I am away right now"
-msgstr "Non sono presente"
+#: ../../Zotlabs/Module/Connedit.php:587
+msgid "This connection is ignored!"
+msgstr "Questa connessione è tra quelle ignorate!"
-#: ../../Zotlabs/Module/Chat.php:200
-msgid "I am online"
-msgstr "Sono online"
+#: ../../Zotlabs/Module/Connedit.php:591
+msgid "Unarchive"
+msgstr "Non archiviare"
-#: ../../Zotlabs/Module/Chat.php:202
-msgid "Bookmark this room"
-msgstr "Aggiungi questa chat ai segnalibri"
+#: ../../Zotlabs/Module/Connedit.php:591
+msgid "Archive"
+msgstr "Archivia"
-#: ../../Zotlabs/Module/Chat.php:205 ../../Zotlabs/Module/Mail.php:197
-#: ../../Zotlabs/Module/Mail.php:306 ../../include/conversation.php:1181
-msgid "Please enter a link URL:"
-msgstr "Inserisci l'indirizzo del link:"
+#: ../../Zotlabs/Module/Connedit.php:594
+msgid ""
+"Archive (or Unarchive) this connection - mark channel dead but keep content"
+msgstr "Archivia questo contatto (abilita/disabilita) - segna il canale come non più attivo ma ne conserva i contenuti"
-#: ../../Zotlabs/Module/Chat.php:206 ../../Zotlabs/Module/Mail.php:250
-#: ../../Zotlabs/Module/Mail.php:375 ../../Zotlabs/Lib/ThreadItem.php:722
-#: ../../include/conversation.php:1271
-msgid "Encrypt text"
-msgstr "Cifratura del messaggio"
+#: ../../Zotlabs/Module/Connedit.php:595
+msgid "This connection is archived!"
+msgstr "Questa connessione è tra quelle archiviate!"
-#: ../../Zotlabs/Module/Chat.php:207 ../../Zotlabs/Module/Editwebpage.php:146
-#: ../../Zotlabs/Module/Mail.php:244 ../../Zotlabs/Module/Mail.php:369
-#: ../../Zotlabs/Module/Editblock.php:111 ../../include/conversation.php:1146
-msgid "Insert web link"
-msgstr "Inserisci un indirizzo web"
+#: ../../Zotlabs/Module/Connedit.php:599
+msgid "Unhide"
+msgstr "Non nascondere"
-#: ../../Zotlabs/Module/Chat.php:218
-msgid "Feature disabled."
-msgstr "Funzionalità disattivata."
+#: ../../Zotlabs/Module/Connedit.php:599
+msgid "Hide"
+msgstr "Nascondi"
-#: ../../Zotlabs/Module/Chat.php:232
-msgid "New Chatroom"
-msgstr "Nuova chat"
+#: ../../Zotlabs/Module/Connedit.php:602
+msgid "Hide or Unhide this connection from your other connections"
+msgstr "Nascondi questo contatto a tutti gli altri (abilita/disabilita)"
-#: ../../Zotlabs/Module/Chat.php:233
-msgid "Chatroom name"
-msgstr "Nome chat"
+#: ../../Zotlabs/Module/Connedit.php:603
+msgid "This connection is hidden!"
+msgstr "Questa connessione è tra quelle nascoste!"
-#: ../../Zotlabs/Module/Chat.php:234
-msgid "Expiration of chats (minutes)"
-msgstr "Scadenza dei messaggi della chat (minuti)"
+#: ../../Zotlabs/Module/Connedit.php:610
+msgid "Delete this connection"
+msgstr "Elimina questo contatto"
-#: ../../Zotlabs/Module/Chat.php:235 ../../Zotlabs/Module/Filestorage.php:152
-#: ../../Zotlabs/Module/Photos.php:669 ../../Zotlabs/Module/Photos.php:1043
-#: ../../Zotlabs/Module/Thing.php:313 ../../Zotlabs/Module/Thing.php:359
-#: ../../include/acl_selectors.php:281
-msgid "Permissions"
-msgstr "Permessi"
+#: ../../Zotlabs/Module/Connedit.php:625 ../../include/widgets.php:529
+msgid "Me"
+msgstr "Me"
+
+#: ../../Zotlabs/Module/Connedit.php:626 ../../include/widgets.php:530
+msgid "Family"
+msgstr "Famiglia"
+
+#: ../../Zotlabs/Module/Connedit.php:627
+#: ../../Zotlabs/Module/Settings/Channel.php:61
+#: ../../Zotlabs/Module/Settings/Channel.php:65
+#: ../../Zotlabs/Module/Settings/Channel.php:66
+#: ../../Zotlabs/Module/Settings/Channel.php:69
+#: ../../Zotlabs/Module/Settings/Channel.php:80
+#: ../../include/selectors.php:123 ../../include/channel.php:402
+#: ../../include/channel.php:403 ../../include/channel.php:410
+#: ../../include/widgets.php:531
+msgid "Friends"
+msgstr "Amici"
+
+#: ../../Zotlabs/Module/Connedit.php:628 ../../include/widgets.php:532
+msgid "Acquaintances"
+msgstr "Conoscenti"
+
+#: ../../Zotlabs/Module/Connedit.php:686
+msgid "Approve this connection"
+msgstr "Approva questo contatto"
+
+#: ../../Zotlabs/Module/Connedit.php:686
+msgid "Accept connection to allow communication"
+msgstr "Entra in contatto per poter comunicare"
+
+#: ../../Zotlabs/Module/Connedit.php:691
+msgid "Set Affinity"
+msgstr "Scegli l'affinità"
+
+#: ../../Zotlabs/Module/Connedit.php:694
+msgid "Set Profile"
+msgstr "Scegli il profilo da mostrare"
+
+#: ../../Zotlabs/Module/Connedit.php:697
+msgid "Set Affinity & Profile"
+msgstr "Affinità e profilo"
+
+#: ../../Zotlabs/Module/Connedit.php:746
+msgid "none"
+msgstr "--"
-#: ../../Zotlabs/Module/Chat.php:246
+#: ../../Zotlabs/Module/Connedit.php:750 ../../include/widgets.php:656
+msgid "Connection Default Permissions"
+msgstr "Permessi predefiniti dei nuovi contatti"
+
+#: ../../Zotlabs/Module/Connedit.php:750 ../../include/items.php:3993
#, php-format
-msgid "%1$s's Chatrooms"
-msgstr "Le chat di %1$s"
+msgid "Connection: %s"
+msgstr "Contatto: %s"
-#: ../../Zotlabs/Module/Chat.php:251
-msgid "No chatrooms available"
-msgstr "Nessuna chat disponibile"
+#: ../../Zotlabs/Module/Connedit.php:751
+msgid "Apply these permissions automatically"
+msgstr "Applica automaticamente questi permessi"
-#: ../../Zotlabs/Module/Chat.php:252 ../../Zotlabs/Module/Profiles.php:778
-#: ../../Zotlabs/Module/Manage.php:143
-msgid "Create New"
-msgstr "Crea nuova"
+#: ../../Zotlabs/Module/Connedit.php:751
+msgid "Connection requests will be approved without your interaction"
+msgstr "Le richieste di entrare in contatto saranno approvate in automatico"
-#: ../../Zotlabs/Module/Chat.php:255
-msgid "Expiration"
-msgstr "Scadenza"
+#: ../../Zotlabs/Module/Connedit.php:753
+msgid "This connection's primary address is"
+msgstr "Indirizzo primario di questo canale"
-#: ../../Zotlabs/Module/Chat.php:256
-msgid "min"
-msgstr "min"
+#: ../../Zotlabs/Module/Connedit.php:754
+msgid "Available locations:"
+msgstr "Indirizzi disponibili"
-#: ../../Zotlabs/Module/Dreport.php:44
-msgid "Invalid message"
-msgstr "Messaggio non valido"
+#: ../../Zotlabs/Module/Connedit.php:758
+msgid ""
+"The permissions indicated on this page will be applied to all new "
+"connections."
+msgstr "I permessi indicati su questa pagina saranno applicati a tutti i nuovi contatti da ora in poi."
-#: ../../Zotlabs/Module/Dreport.php:76
-msgid "no results"
-msgstr "nessun risultato"
+#: ../../Zotlabs/Module/Connedit.php:759
+msgid "Connection Tools"
+msgstr "Gestione dei contatti"
-#: ../../Zotlabs/Module/Dreport.php:91
-msgid "channel sync processed"
-msgstr "sincronizzazione del canale effettuata"
+#: ../../Zotlabs/Module/Connedit.php:761
+msgid "Slide to adjust your degree of friendship"
+msgstr "Trascina per restringere il grado di amicizia da mostrare"
-#: ../../Zotlabs/Module/Dreport.php:95
-msgid "queued"
-msgstr "in coda"
+#: ../../Zotlabs/Module/Connedit.php:762 ../../Zotlabs/Module/Rate.php:155
+#: ../../include/js_strings.php:20
+msgid "Rating"
+msgstr "Valutazioni"
-#: ../../Zotlabs/Module/Dreport.php:99
-msgid "posted"
-msgstr "inviato"
+#: ../../Zotlabs/Module/Connedit.php:763
+msgid "Slide to adjust your rating"
+msgstr "Trascina per cambiare la tua valutazione"
-#: ../../Zotlabs/Module/Dreport.php:103
-msgid "accepted for delivery"
-msgstr "accettato per la spedizione"
+#: ../../Zotlabs/Module/Connedit.php:764 ../../Zotlabs/Module/Connedit.php:769
+msgid "Optionally explain your rating"
+msgstr "Commento facoltativo"
-#: ../../Zotlabs/Module/Dreport.php:107
-msgid "updated"
-msgstr "aggiornato"
+#: ../../Zotlabs/Module/Connedit.php:766
+msgid "Custom Filter"
+msgstr "Filtro personalizzato"
-#: ../../Zotlabs/Module/Dreport.php:110
-msgid "update ignored"
-msgstr "aggiornamento ignorato"
+#: ../../Zotlabs/Module/Connedit.php:767
+msgid "Only import posts with this text"
+msgstr "Importa solo i post che contengono queste parole chiave"
-#: ../../Zotlabs/Module/Dreport.php:113
-msgid "permission denied"
-msgstr "permessi non sufficienti"
+#: ../../Zotlabs/Module/Connedit.php:767 ../../Zotlabs/Module/Connedit.php:768
+msgid ""
+"words one per line or #tags or /patterns/ or lang=xx, leave blank to import "
+"all posts"
+msgstr "per ogni riga: parole, #tag, /pattern/ o lang=xx , lascia vuoto per importare tutto"
-#: ../../Zotlabs/Module/Dreport.php:117
-msgid "recipient not found"
-msgstr "Destinatario non trovato"
+#: ../../Zotlabs/Module/Connedit.php:768
+msgid "Do not import posts with this text"
+msgstr "Non importare i post con queste parole chiave"
-#: ../../Zotlabs/Module/Dreport.php:120
-msgid "mail recalled"
-msgstr "messaggio richiamato dal mittente"
+#: ../../Zotlabs/Module/Connedit.php:770
+msgid "This information is public!"
+msgstr "Questa informazione è pubblica!"
-#: ../../Zotlabs/Module/Dreport.php:123
-msgid "duplicate mail received"
-msgstr "ricevuto messaggio duplicato"
+#: ../../Zotlabs/Module/Connedit.php:775
+msgid "Connection Pending Approval"
+msgstr "Contatti in attesa di approvazione"
-#: ../../Zotlabs/Module/Dreport.php:126
-msgid "mail delivered"
-msgstr "messaggio recapitato"
+#: ../../Zotlabs/Module/Connedit.php:778
+#: ../../Zotlabs/Module/Settings/Tokens.php:163
+msgid "inherited"
+msgstr "derivato"
-#: ../../Zotlabs/Module/Dreport.php:146
+#: ../../Zotlabs/Module/Connedit.php:780
#, php-format
-msgid "Delivery report for %1$s"
-msgstr "Rapporto di consegna - %1$s"
+msgid ""
+"Please choose the profile you would like to display to %s when viewing your "
+"profile securely."
+msgstr "Seleziona il profilo che vuoi mostrare a %s dopo che ha effettuato l'accesso."
-#: ../../Zotlabs/Module/Dreport.php:149
-msgid "Options"
-msgstr "Opzioni"
+#: ../../Zotlabs/Module/Connedit.php:782
+#: ../../Zotlabs/Module/Settings/Tokens.php:160
+msgid "Their Settings"
+msgstr "Permessi concessi a te"
-#: ../../Zotlabs/Module/Dreport.php:150
-msgid "Redeliver"
-msgstr "Reinvia"
+#: ../../Zotlabs/Module/Connedit.php:783
+#: ../../Zotlabs/Module/Settings/Tokens.php:161
+msgid "My Settings"
+msgstr "Permessi che concedo"
+
+#: ../../Zotlabs/Module/Connedit.php:785
+#: ../../Zotlabs/Module/Settings/Tokens.php:165
+msgid "Individual Permissions"
+msgstr "Permessi individuali"
+
+#: ../../Zotlabs/Module/Connedit.php:786
+#: ../../Zotlabs/Module/Settings/Tokens.php:166
+msgid ""
+"Some permissions may be inherited from your channel's <a "
+"href=\"settings\"><strong>privacy settings</strong></a>, which have higher "
+"priority than individual settings. You can <strong>not</strong> change those"
+" settings here."
+msgstr "Alcuni permessi derivano dalle <a href=\"settings\"><strong>impostazioni di privacy</strong></a> del tuo canale, che hanno priorità assoluta su qualsiasi altra impostazione scelta per i singoli contatti. Da questa pagina <strong>non</strong> puoi cambiarle."
+
+#: ../../Zotlabs/Module/Connedit.php:787
+msgid ""
+"Some permissions may be inherited from your channel's <a "
+"href=\"settings\"><strong>privacy settings</strong></a>, which have higher "
+"priority than individual settings. You can change those settings here but "
+"they wont have any impact unless the inherited setting changes."
+msgstr "Alcuni permessi derivano dalle <a href=\"settings\"><strong>impostazioni di privacy</strong></a> del tuo canale, che hanno priorità assoluta su qualsiasi altra impostazione scelta per i singoli contatti. Le personalizzazioni che effettuerai qui potrebbero non essere effettive a meno che tu non cambi le impostazioni generali."
+
+#: ../../Zotlabs/Module/Connedit.php:788
+msgid "Last update:"
+msgstr "Ultimo aggiornamento:"
+
+#: ../../Zotlabs/Module/Editblock.php:79 ../../Zotlabs/Module/Editblock.php:95
+#: ../../Zotlabs/Module/Editlayout.php:79
+#: ../../Zotlabs/Module/Editwebpage.php:80
+#: ../../Zotlabs/Module/Editpost.php:24
+msgid "Item not found"
+msgstr "Elemento non trovato"
+
+#: ../../Zotlabs/Module/Editblock.php:108 ../../Zotlabs/Module/Blocks.php:97
+#: ../../Zotlabs/Module/Blocks.php:155
+msgid "Block Name"
+msgstr "Nome del block"
+
+#: ../../Zotlabs/Module/Editblock.php:124 ../../include/conversation.php:1260
+msgid "Title (optional)"
+msgstr "Titolo (facoltativo)"
+
+#: ../../Zotlabs/Module/Editblock.php:133
+msgid "Edit Block"
+msgstr "Modifica il block"
#: ../../Zotlabs/Module/Editlayout.php:127
#: ../../Zotlabs/Module/Layouts.php:128 ../../Zotlabs/Module/Layouts.php:188
@@ -1793,62 +2492,122 @@ msgstr "Modifica il layout"
msgid "Page link"
msgstr "Link alla pagina"
-#: ../../Zotlabs/Module/Editwebpage.php:168
+#: ../../Zotlabs/Module/Editwebpage.php:169
msgid "Edit Webpage"
msgstr "Modifica la pagina web"
-#: ../../Zotlabs/Module/Group.php:24
-msgid "Privacy group created."
-msgstr "Gruppo di canali creato."
+#: ../../Zotlabs/Module/Menu.php:49
+msgid "Unable to update menu."
+msgstr "Impossibile aggiornare il menù."
-#: ../../Zotlabs/Module/Group.php:30
-msgid "Could not create privacy group."
-msgstr "Impossibile creare il gruppo di canali."
+#: ../../Zotlabs/Module/Menu.php:60
+msgid "Unable to create menu."
+msgstr "Impossibile creare il menù."
-#: ../../Zotlabs/Module/Group.php:42 ../../Zotlabs/Module/Group.php:141
-#: ../../include/items.php:3902
-msgid "Privacy group not found."
-msgstr "Gruppo di canali non trovato."
+#: ../../Zotlabs/Module/Menu.php:98 ../../Zotlabs/Module/Menu.php:110
+msgid "Menu Name"
+msgstr "Nome del menu"
-#: ../../Zotlabs/Module/Group.php:58
-msgid "Privacy group updated."
-msgstr "Gruppo di canali aggiornato."
+#: ../../Zotlabs/Module/Menu.php:98
+msgid "Unique name (not visible on webpage) - required"
+msgstr "Nome unico (non visibile sulla pagina) - obbligatorio"
-#: ../../Zotlabs/Module/Group.php:90
-msgid "Create a group of channels."
-msgstr "Crea un gruppo di canali."
+#: ../../Zotlabs/Module/Menu.php:99 ../../Zotlabs/Module/Menu.php:111
+msgid "Menu Title"
+msgstr "Titolo del menu"
-#: ../../Zotlabs/Module/Group.php:91 ../../Zotlabs/Module/Group.php:184
-msgid "Privacy group name: "
-msgstr "Nome del gruppo di canali:"
+#: ../../Zotlabs/Module/Menu.php:99
+msgid "Visible on webpage - leave empty for no title"
+msgstr "Visibile sulla pagina - lascia vuoto per non avere un titolo"
-#: ../../Zotlabs/Module/Group.php:93 ../../Zotlabs/Module/Group.php:187
-msgid "Members are visible to other channels"
-msgstr "I membri potranno vedere gli altri canali del gruppo"
+#: ../../Zotlabs/Module/Menu.php:100
+msgid "Allow Bookmarks"
+msgstr "Permetti i segnalibri"
-#: ../../Zotlabs/Module/Group.php:111
-msgid "Privacy group removed."
-msgstr "Gruppo di canali rimosso."
+#: ../../Zotlabs/Module/Menu.php:100 ../../Zotlabs/Module/Menu.php:157
+msgid "Menu may be used to store saved bookmarks"
+msgstr "Puoi salvare i segnalibri nei menù"
-#: ../../Zotlabs/Module/Group.php:113
-msgid "Unable to remove privacy group."
-msgstr "Impossibile rimuovere il gruppo di canali."
+#: ../../Zotlabs/Module/Menu.php:101 ../../Zotlabs/Module/Menu.php:159
+msgid "Submit and proceed"
+msgstr "Salva e procedi"
-#: ../../Zotlabs/Module/Group.php:183
-msgid "Privacy group editor"
-msgstr "Editor dei gruppi di canali"
+#: ../../Zotlabs/Module/Menu.php:107 ../../include/text.php:2309
+msgid "Menus"
+msgstr "Menù"
-#: ../../Zotlabs/Module/Group.php:197
-msgid "Members"
-msgstr "Membri"
+#: ../../Zotlabs/Module/Menu.php:113 ../../Zotlabs/Module/Locs.php:120
+msgid "Drop"
+msgstr "Elimina"
-#: ../../Zotlabs/Module/Group.php:199
-msgid "All Connected Channels"
-msgstr "Tutti i canali connessi"
+#: ../../Zotlabs/Module/Menu.php:114 ../../Zotlabs/Module/Blocks.php:157
+#: ../../Zotlabs/Module/Layouts.php:190 ../../Zotlabs/Module/Webpages.php:251
+#: ../../include/page_widgets.php:47
+msgid "Created"
+msgstr "Creato"
-#: ../../Zotlabs/Module/Group.php:231
-msgid "Click on a channel to add or remove."
-msgstr "Clicca su un canale per aggiungerlo o rimuoverlo."
+#: ../../Zotlabs/Module/Menu.php:115 ../../Zotlabs/Module/Blocks.php:158
+#: ../../Zotlabs/Module/Layouts.php:191 ../../Zotlabs/Module/Webpages.php:252
+#: ../../include/page_widgets.php:48
+msgid "Edited"
+msgstr "Modificato"
+
+#: ../../Zotlabs/Module/Menu.php:117
+msgid "Bookmarks allowed"
+msgstr "Permetti segnalibri"
+
+#: ../../Zotlabs/Module/Menu.php:119
+msgid "Delete this menu"
+msgstr "Elimina questo menù"
+
+#: ../../Zotlabs/Module/Menu.php:120 ../../Zotlabs/Module/Menu.php:154
+msgid "Edit menu contents"
+msgstr "Modifica i contenuti del menù"
+
+#: ../../Zotlabs/Module/Menu.php:121
+msgid "Edit this menu"
+msgstr "Modifica questo menù"
+
+#: ../../Zotlabs/Module/Menu.php:136
+msgid "Menu could not be deleted."
+msgstr "Il menù non può essere eliminato."
+
+#: ../../Zotlabs/Module/Menu.php:144 ../../Zotlabs/Module/Mitem.php:28
+msgid "Menu not found."
+msgstr "Menù non trovato."
+
+#: ../../Zotlabs/Module/Menu.php:149
+msgid "Edit Menu"
+msgstr "Modifica menù"
+
+#: ../../Zotlabs/Module/Menu.php:153
+msgid "Add or remove entries to this menu"
+msgstr "Aggiungi o rimuovi elementi di questo menù"
+
+#: ../../Zotlabs/Module/Menu.php:155
+msgid "Menu name"
+msgstr "Nome del menù"
+
+#: ../../Zotlabs/Module/Menu.php:155
+msgid "Must be unique, only seen by you"
+msgstr "Deve essere unico, lo vedrai solo tu"
+
+#: ../../Zotlabs/Module/Menu.php:156
+msgid "Menu title"
+msgstr "Titolo del menù"
+
+#: ../../Zotlabs/Module/Menu.php:156
+msgid "Menu title as seen by others"
+msgstr "Titolo del menù come comparirà a tutti"
+
+#: ../../Zotlabs/Module/Menu.php:157
+msgid "Allow bookmarks"
+msgstr "Permetti l'invio di segnalibri"
+
+#: ../../Zotlabs/Module/Menu.php:166 ../../Zotlabs/Module/Mitem.php:120
+#: ../../Zotlabs/Module/Xchan.php:41
+msgid "Not found."
+msgstr "Non trovato."
#: ../../Zotlabs/Module/Appman.php:37 ../../Zotlabs/Module/Appman.php:53
msgid "App installed."
@@ -1874,10 +2633,22 @@ msgstr "Crea una app"
msgid "Name of app"
msgstr "Nome app"
+#: ../../Zotlabs/Module/Appman.php:115 ../../Zotlabs/Module/Appman.php:116
+#: ../../Zotlabs/Module/Profiles.php:709 ../../Zotlabs/Module/Profiles.php:713
+#: ../../Zotlabs/Module/Events.php:452 ../../Zotlabs/Module/Events.php:457
+#: ../../include/datetime.php:257
+msgid "Required"
+msgstr "Obbligatorio"
+
#: ../../Zotlabs/Module/Appman.php:116
msgid "Location (URL) of app"
msgstr "Indirizzo (URL) della app"
+#: ../../Zotlabs/Module/Appman.php:117 ../../Zotlabs/Module/Rbmark.php:101
+#: ../../Zotlabs/Module/Events.php:465
+msgid "Description"
+msgstr "Descrizione"
+
#: ../../Zotlabs/Module/Appman.php:118
msgid "Photo icon URL"
msgstr "URL icona"
@@ -1902,64 +2673,131 @@ msgstr "Prezzo app"
msgid "Location (URL) to purchase app"
msgstr "Indirizzo (URL) per acquistare la app"
-#: ../../Zotlabs/Module/Help.php:26
-msgid "Documentation Search"
-msgstr "Ricerca nella guida"
+#: ../../Zotlabs/Module/Pubsites.php:24 ../../include/widgets.php:1392
+msgid "Public Hubs"
+msgstr "Hub pubblici"
-#: ../../Zotlabs/Module/Help.php:67 ../../Zotlabs/Module/Help.php:73
-#: ../../Zotlabs/Module/Help.php:79
-msgid "Help:"
-msgstr "Guida:"
+#: ../../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."
+msgstr "I siti elencati permettono la registrazione libera sulla rete $Projectname. Tutti questi hub sono interconnessi, quindi essere iscritti su uno equivale a una registrazione su tutta la rete. Alcuni siti potrebbero fornire alcune funzionalità o l'intero servizio a pagamento. Per maggiori dettagli visita gli indirizzi nell'elenco."
-#: ../../Zotlabs/Module/Help.php:85 ../../Zotlabs/Module/Help.php:90
-#: ../../Zotlabs/Module/Layouts.php:185 ../../Zotlabs/Lib/Apps.php:225
-#: ../../include/nav.php:161
-msgid "Help"
-msgstr "Guida"
+#: ../../Zotlabs/Module/Pubsites.php:33
+msgid "Hub URL"
+msgstr "URL del hub"
-#: ../../Zotlabs/Module/Help.php:120
-msgid "$Projectname Documentation"
-msgstr "Guida di $Projectname"
+#: ../../Zotlabs/Module/Pubsites.php:33
+msgid "Access Type"
+msgstr "Tipo di accesso"
+
+#: ../../Zotlabs/Module/Pubsites.php:33
+msgid "Registration Policy"
+msgstr "Politica di registrazione"
+
+#: ../../Zotlabs/Module/Pubsites.php:33
+msgid "Stats"
+msgstr "Statistiche"
+
+#: ../../Zotlabs/Module/Pubsites.php:33
+msgid "Software"
+msgstr "Software"
+
+#: ../../Zotlabs/Module/Pubsites.php:35 ../../Zotlabs/Module/Ratings.php:97
+#: ../../include/conversation.php:958
+msgid "Ratings"
+msgstr "Valutazioni"
+
+#: ../../Zotlabs/Module/Pubsites.php:48
+msgid "Rate"
+msgstr "Valuta"
+
+#: ../../Zotlabs/Module/Pubsites.php:51 ../../Zotlabs/Module/Locs.php:117
+#: ../../Zotlabs/Module/Profiles.php:477 ../../Zotlabs/Module/Profiles.php:698
+#: ../../Zotlabs/Module/Events.php:467 ../../include/js_strings.php:25
+msgid "Location"
+msgstr "Posizione geografica"
+
+#: ../../Zotlabs/Module/Pubsites.php:59 ../../Zotlabs/Module/Blocks.php:166
+#: ../../Zotlabs/Module/Layouts.php:197 ../../Zotlabs/Module/Webpages.php:246
+#: ../../Zotlabs/Module/Events.php:680 ../../include/page_widgets.php:42
+msgid "View"
+msgstr "Guarda"
#: ../../Zotlabs/Module/Attach.php:13
msgid "Item not available."
msgstr "Elemento non disponibile."
-#: ../../Zotlabs/Module/Pdledit.php:18
+#: ../../Zotlabs/Module/Api.php:60 ../../Zotlabs/Module/Api.php:81
+msgid "Authorize application connection"
+msgstr "Autorizza la app"
+
+#: ../../Zotlabs/Module/Api.php:61
+msgid "Return to your app and insert this Security Code:"
+msgstr "Ritorna alla tua app e inserisci questo Security Code:"
+
+#: ../../Zotlabs/Module/Api.php:71
+msgid "Please login to continue."
+msgstr "Accedi al sito per continuare."
+
+#: ../../Zotlabs/Module/Api.php:83
+msgid ""
+"Do you want to authorize this application to access your posts and contacts,"
+" and/or create new posts for you?"
+msgstr "Vuoi autorizzare questa app ad accedere ai messaggi e ai contatti o creare nuovi messaggi per te?"
+
+#: ../../Zotlabs/Module/Ffsapi.php:12
+msgid "Share content from Firefox to $Projectname"
+msgstr "Condividi i contenuti su $Projectname da Firefox"
+
+#: ../../Zotlabs/Module/Ffsapi.php:15
+msgid "Activate the Firefox $Projectname provider"
+msgstr "Attiva Firefox Share per $Projectname"
+
+#: ../../Zotlabs/Module/Pdledit.php:21
msgid "Layout updated."
msgstr "Layout aggiornato."
-#: ../../Zotlabs/Module/Pdledit.php:34 ../../Zotlabs/Module/Pdledit.php:61
+#: ../../Zotlabs/Module/Pdledit.php:34 ../../Zotlabs/Module/Chat.php:218
+msgid "Feature disabled."
+msgstr "Funzionalità disattivata."
+
+#: ../../Zotlabs/Module/Pdledit.php:42 ../../Zotlabs/Module/Pdledit.php:69
msgid "Edit System Page Description"
msgstr "Modifica i layout di sistema"
-#: ../../Zotlabs/Module/Pdledit.php:56
+#: ../../Zotlabs/Module/Pdledit.php:64
msgid "Layout not found."
msgstr "Layout non trovato."
-#: ../../Zotlabs/Module/Pdledit.php:62
+#: ../../Zotlabs/Module/Pdledit.php:70
msgid "Module Name:"
msgstr "Nome del modulo:"
-#: ../../Zotlabs/Module/Pdledit.php:63
+#: ../../Zotlabs/Module/Pdledit.php:71
msgid "Layout Help"
msgstr "Guida al layout"
-#: ../../Zotlabs/Module/Ffsapi.php:12
-msgid "Share content from Firefox to $Projectname"
-msgstr "Condividi i contenuti su $Projectname da Firefox"
+#: ../../Zotlabs/Module/Home.php:74 ../../Zotlabs/Module/Home.php:82
+#: ../../Zotlabs/Module/Siteinfo.php:48
+msgid "$Projectname"
+msgstr "$Projectname"
-#: ../../Zotlabs/Module/Ffsapi.php:15
-msgid "Activate the Firefox $Projectname provider"
-msgstr "Attiva Firefox Share per $Projectname"
+#: ../../Zotlabs/Module/Home.php:92
+#, php-format
+msgid "Welcome to %s"
+msgstr "%s ti dà il benvenuto"
-#: ../../Zotlabs/Module/Acl.php:312
-msgid "network"
-msgstr "rete"
+#: ../../Zotlabs/Module/Lockview.php:75
+msgid "Remote privacy information not available."
+msgstr "Le informazioni remote sulla privacy non sono disponibili."
-#: ../../Zotlabs/Module/Acl.php:322
-msgid "RSS"
-msgstr "RSS"
+#: ../../Zotlabs/Module/Lockview.php:96
+msgid "Visible to:"
+msgstr "Visibile a:"
#: ../../Zotlabs/Module/Filestorage.php:87
msgid "Permission Denied."
@@ -1973,71 +2811,425 @@ msgstr "File non trovato."
msgid "Edit file permissions"
msgstr "Modifica i permessi del file"
-#: ../../Zotlabs/Module/Filestorage.php:155
+#: ../../Zotlabs/Module/Filestorage.php:152
+#: ../../Zotlabs/Module/Photos.php:658 ../../Zotlabs/Module/Photos.php:1047
+#: ../../Zotlabs/Module/Thing.php:313 ../../Zotlabs/Module/Thing.php:363
+#: ../../Zotlabs/Module/Chat.php:234 ../../include/acl_selectors.php:179
+msgid "Permissions"
+msgstr "Permessi"
+
+#: ../../Zotlabs/Module/Filestorage.php:159
msgid "Set/edit permissions"
msgstr "Modifica i permessi"
-#: ../../Zotlabs/Module/Filestorage.php:156
+#: ../../Zotlabs/Module/Filestorage.php:160
msgid "Include all files and sub folders"
msgstr "Includi tutti i file e le sottocartelle"
-#: ../../Zotlabs/Module/Filestorage.php:157
+#: ../../Zotlabs/Module/Filestorage.php:161
msgid "Return to file list"
msgstr "Torna all'elenco dei file"
-#: ../../Zotlabs/Module/Filestorage.php:159
+#: ../../Zotlabs/Module/Filestorage.php:163
msgid "Copy/paste this code to attach file to a post"
msgstr "Copia/incolla questo codice per far comparire il file in un post"
-#: ../../Zotlabs/Module/Filestorage.php:160
+#: ../../Zotlabs/Module/Filestorage.php:164
msgid "Copy/paste this URL to link file from a web page"
msgstr "Copia/incolla questo indirizzo in una pagina web per avere un link al file"
-#: ../../Zotlabs/Module/Filestorage.php:162
+#: ../../Zotlabs/Module/Filestorage.php:166
msgid "Share this file"
msgstr "Condividi questo file"
-#: ../../Zotlabs/Module/Filestorage.php:163
+#: ../../Zotlabs/Module/Filestorage.php:167
msgid "Show URL to this file"
msgstr "Mostra l'URL del file"
-#: ../../Zotlabs/Module/Filestorage.php:164
+#: ../../Zotlabs/Module/Filestorage.php:168
msgid "Notify your contacts about this file"
msgstr "Notifica ai contatti che hai caricato questo file"
-#: ../../Zotlabs/Module/Layouts.php:183 ../../include/text.php:2240
-msgid "Layouts"
-msgstr "Layout"
+#: ../../Zotlabs/Module/Connect.php:61 ../../Zotlabs/Module/Connect.php:109
+msgid "Continue"
+msgstr "Continua"
-#: ../../Zotlabs/Module/Layouts.php:185
-msgid "Comanche page description language help"
-msgstr "Guida di Comanche Page Description Language"
+#: ../../Zotlabs/Module/Connect.php:90
+msgid "Premium Channel Setup"
+msgstr "Canale premium - configurazione"
-#: ../../Zotlabs/Module/Layouts.php:189
-msgid "Layout Description"
-msgstr "Descrizione del layout"
+#: ../../Zotlabs/Module/Connect.php:92
+msgid "Enable premium channel connection restrictions"
+msgstr "Abilita le restrizioni del canale premium"
-#: ../../Zotlabs/Module/Layouts.php:190 ../../Zotlabs/Module/Menu.php:114
-#: ../../Zotlabs/Module/Blocks.php:157 ../../Zotlabs/Module/Webpages.php:205
-#: ../../include/page_widgets.php:47
-msgid "Created"
-msgstr "Creato"
+#: ../../Zotlabs/Module/Connect.php:93
+msgid ""
+"Please enter your restrictions or conditions, such as paypal receipt, usage "
+"guidelines, etc."
+msgstr "Scrivi le condizioni d'uso e le restrizioni di questo canale, come per esempio le linee guida, il sistema di pagamento, ecc."
-#: ../../Zotlabs/Module/Layouts.php:191 ../../Zotlabs/Module/Menu.php:115
-#: ../../Zotlabs/Module/Blocks.php:158 ../../Zotlabs/Module/Webpages.php:206
-#: ../../include/page_widgets.php:48
-msgid "Edited"
-msgstr "Modificato"
+#: ../../Zotlabs/Module/Connect.php:95 ../../Zotlabs/Module/Connect.php:115
+msgid ""
+"This channel may require additional steps or acknowledgement of the "
+"following conditions prior to connecting:"
+msgstr "Prima di connetterti a questo canale è necessario che tu accetti le seguenti condizioni:"
-#: ../../Zotlabs/Module/Layouts.php:193 ../../Zotlabs/Module/Photos.php:1070
-#: ../../Zotlabs/Module/Blocks.php:161 ../../Zotlabs/Module/Webpages.php:195
-#: ../../include/conversation.php:1219
-msgid "Share"
-msgstr "Condividi"
+#: ../../Zotlabs/Module/Connect.php:96
+msgid ""
+"Potential connections will then see the following text before proceeding:"
+msgstr "Il testo seguente comparirà a chi vorrà seguire il canale:"
-#: ../../Zotlabs/Module/Layouts.php:194
-msgid "Download PDL file"
-msgstr "Scarica il file PDL"
+#: ../../Zotlabs/Module/Connect.php:97 ../../Zotlabs/Module/Connect.php:118
+msgid ""
+"By continuing, I certify that I have complied with any instructions provided"
+" on this page."
+msgstr "Continuando dichiaro di aver seguito tutte le indicazioni e le istruzioni fornite in questa pagina."
+
+#: ../../Zotlabs/Module/Connect.php:106
+msgid "(No specific instructions have been provided by the channel owner.)"
+msgstr "(Il gestore del canale non ha fornito istruzioni specifiche)"
+
+#: ../../Zotlabs/Module/Connect.php:114
+msgid "Restricted or Premium Channel"
+msgstr "Canale premium - con restrizioni"
+
+#: ../../Zotlabs/Module/Manage.php:136
+#: ../../Zotlabs/Module/New_channel.php:121
+#, php-format
+msgid "You have created %1$.0f of %2$.0f allowed channels."
+msgstr "Hai creato %1$.0f dei %2$.0f canali permessi."
+
+#: ../../Zotlabs/Module/Manage.php:143
+msgid "Create a new channel"
+msgstr "Crea un nuovo canale"
+
+#: ../../Zotlabs/Module/Manage.php:143 ../../Zotlabs/Module/Profiles.php:778
+#: ../../Zotlabs/Module/Chat.php:255
+msgid "Create New"
+msgstr "Crea nuova"
+
+#: ../../Zotlabs/Module/Manage.php:164 ../../Zotlabs/Lib/Apps.php:214
+#: ../../include/nav.php:211
+msgid "Channel Manager"
+msgstr "Gestione canali"
+
+#: ../../Zotlabs/Module/Manage.php:165
+msgid "Current Channel"
+msgstr "Canale attuale"
+
+#: ../../Zotlabs/Module/Manage.php:167
+msgid "Switch to one of your channels by selecting it."
+msgstr "Seleziona l'altro canale a cui vuoi passare."
+
+#: ../../Zotlabs/Module/Manage.php:168
+msgid "Default Channel"
+msgstr "Canale predefinito"
+
+#: ../../Zotlabs/Module/Manage.php:169
+msgid "Make Default"
+msgstr "Rendi predefinito"
+
+#: ../../Zotlabs/Module/Manage.php:172
+#, php-format
+msgid "%d new messages"
+msgstr "%d nuovi messaggi"
+
+#: ../../Zotlabs/Module/Manage.php:173
+#, php-format
+msgid "%d new introductions"
+msgstr "%d nuove richieste di entrare in contatto"
+
+#: ../../Zotlabs/Module/Manage.php:175
+msgid "Delegated Channel"
+msgstr "Canale delegato"
+
+#: ../../Zotlabs/Module/Group.php:24
+msgid "Privacy group created."
+msgstr "Gruppo di canali creato."
+
+#: ../../Zotlabs/Module/Group.php:30
+msgid "Could not create privacy group."
+msgstr "Impossibile creare il gruppo di canali."
+
+#: ../../Zotlabs/Module/Group.php:42 ../../Zotlabs/Module/Group.php:141
+#: ../../include/items.php:3960
+msgid "Privacy group not found."
+msgstr "Gruppo di canali non trovato."
+
+#: ../../Zotlabs/Module/Group.php:58
+msgid "Privacy group updated."
+msgstr "Gruppo di canali aggiornato."
+
+#: ../../Zotlabs/Module/Group.php:90
+msgid "Create a group of channels."
+msgstr "Crea un gruppo di canali."
+
+#: ../../Zotlabs/Module/Group.php:91 ../../Zotlabs/Module/Group.php:184
+msgid "Privacy group name: "
+msgstr "Nome del gruppo di canali:"
+
+#: ../../Zotlabs/Module/Group.php:93 ../../Zotlabs/Module/Group.php:187
+msgid "Members are visible to other channels"
+msgstr "I membri potranno vedere gli altri canali del gruppo"
+
+#: ../../Zotlabs/Module/Group.php:111
+msgid "Privacy group removed."
+msgstr "Gruppo di canali rimosso."
+
+#: ../../Zotlabs/Module/Group.php:113
+msgid "Unable to remove privacy group."
+msgstr "Impossibile rimuovere il gruppo di canali."
+
+#: ../../Zotlabs/Module/Group.php:183
+msgid "Privacy group editor"
+msgstr "Editor dei gruppi di canali"
+
+#: ../../Zotlabs/Module/Group.php:197
+msgid "Members"
+msgstr "Membri"
+
+#: ../../Zotlabs/Module/Group.php:199
+msgid "All Connected Channels"
+msgstr "Tutti i canali connessi"
+
+#: ../../Zotlabs/Module/Group.php:231
+msgid "Click on a channel to add or remove."
+msgstr "Clicca su un canale per aggiungerlo o rimuoverlo."
+
+#: ../../Zotlabs/Module/Dreport.php:44
+msgid "Invalid message"
+msgstr "Messaggio non valido"
+
+#: ../../Zotlabs/Module/Dreport.php:76
+msgid "no results"
+msgstr "nessun risultato"
+
+#: ../../Zotlabs/Module/Dreport.php:91
+msgid "channel sync processed"
+msgstr "sincronizzazione del canale effettuata"
+
+#: ../../Zotlabs/Module/Dreport.php:95
+msgid "queued"
+msgstr "in coda"
+
+#: ../../Zotlabs/Module/Dreport.php:99
+msgid "posted"
+msgstr "inviato"
+
+#: ../../Zotlabs/Module/Dreport.php:103
+msgid "accepted for delivery"
+msgstr "accettato per la spedizione"
+
+#: ../../Zotlabs/Module/Dreport.php:107
+msgid "updated"
+msgstr "aggiornato"
+
+#: ../../Zotlabs/Module/Dreport.php:110
+msgid "update ignored"
+msgstr "aggiornamento ignorato"
+
+#: ../../Zotlabs/Module/Dreport.php:113
+msgid "permission denied"
+msgstr "permessi non sufficienti"
+
+#: ../../Zotlabs/Module/Dreport.php:117
+msgid "recipient not found"
+msgstr "Destinatario non trovato"
+
+#: ../../Zotlabs/Module/Dreport.php:120
+msgid "mail recalled"
+msgstr "messaggio richiamato dal mittente"
+
+#: ../../Zotlabs/Module/Dreport.php:123
+msgid "duplicate mail received"
+msgstr "ricevuto messaggio duplicato"
+
+#: ../../Zotlabs/Module/Dreport.php:126
+msgid "mail delivered"
+msgstr "messaggio recapitato"
+
+#: ../../Zotlabs/Module/Dreport.php:146
+#, php-format
+msgid "Delivery report for %1$s"
+msgstr "Rapporto di consegna - %1$s"
+
+#: ../../Zotlabs/Module/Dreport.php:149
+msgid "Options"
+msgstr "Opzioni"
+
+#: ../../Zotlabs/Module/Dreport.php:150
+msgid "Redeliver"
+msgstr "Reinvia"
+
+#: ../../Zotlabs/Module/Impel.php:41 ../../include/bbcode.php:192
+msgid "webpage"
+msgstr "pagina web"
+
+#: ../../Zotlabs/Module/Impel.php:46 ../../include/bbcode.php:198
+msgid "block"
+msgstr "block"
+
+#: ../../Zotlabs/Module/Impel.php:51 ../../include/bbcode.php:195
+msgid "layout"
+msgstr "layout"
+
+#: ../../Zotlabs/Module/Impel.php:58 ../../include/bbcode.php:201
+msgid "menu"
+msgstr "menu"
+
+#: ../../Zotlabs/Module/Impel.php:191
+#, php-format
+msgid "%s element installed"
+msgstr "%s elemento installato"
+
+#: ../../Zotlabs/Module/Impel.php:194
+#, php-format
+msgid "%s element installation failed"
+msgstr "Elementi con installazione fallita: %s"
+
+#: ../../Zotlabs/Module/Import_items.php:104
+msgid "Import completed"
+msgstr "Importazione completata"
+
+#: ../../Zotlabs/Module/Import_items.php:119
+msgid "Import Items"
+msgstr "Importa i contenuti"
+
+#: ../../Zotlabs/Module/Import_items.php:120
+msgid ""
+"Use this form to import existing posts and content from an export file."
+msgstr "Usa questa funzionalità per importare i vecchi contenuti e i post da un file esportato in precedenza."
+
+#: ../../Zotlabs/Module/Invite.php:29
+msgid "Total invitation limit exceeded."
+msgstr "Hai superato il numero massimo di inviti."
+
+#: ../../Zotlabs/Module/Invite.php:53
+#, php-format
+msgid "%s : Not a valid email address."
+msgstr "%s: non è un indirizzo email valido."
+
+#: ../../Zotlabs/Module/Invite.php:63
+msgid "Please join us on $Projectname"
+msgstr "Unisciti a noi su $Projectname"
+
+#: ../../Zotlabs/Module/Invite.php:74
+msgid "Invitation limit exceeded. Please contact your site administrator."
+msgstr "Hai superato il numero massimo di inviti. Contatta l'amministratore se necessario."
+
+#: ../../Zotlabs/Module/Invite.php:79
+#, php-format
+msgid "%s : Message delivery failed."
+msgstr "%s: la consegna del messaggio è fallita."
+
+#: ../../Zotlabs/Module/Invite.php:83
+#, php-format
+msgid "%d message sent."
+msgid_plural "%d messages sent."
+msgstr[0] "%d messaggio inviato."
+msgstr[1] "%d messaggi inviati."
+
+#: ../../Zotlabs/Module/Invite.php:102
+msgid "You have no more invitations available"
+msgstr "Non hai altri inviti disponibili"
+
+#: ../../Zotlabs/Module/Invite.php:133
+msgid "Send invitations"
+msgstr "Spedisci inviti"
+
+#: ../../Zotlabs/Module/Invite.php:134
+msgid "Enter email addresses, one per line:"
+msgstr "Inserisci gli indirizzi email, uno per riga:"
+
+#: ../../Zotlabs/Module/Invite.php:136
+msgid "Please join my community on $Projectname."
+msgstr "Entra nella mia comunità su $Projectname."
+
+#: ../../Zotlabs/Module/Invite.php:138
+msgid "You will need to supply this invitation code:"
+msgstr "Dovrai fornire questo codice invito:"
+
+#: ../../Zotlabs/Module/Invite.php:139
+msgid ""
+"1. Register at any $Projectname location (they are all inter-connected)"
+msgstr "1. Registrati su qualsiasi server $Projectname (sono tutti interconnessi)"
+
+#: ../../Zotlabs/Module/Invite.php:141
+msgid "2. Enter my $Projectname network address into the site searchbar."
+msgstr "2. Inserisci il mio indirizzo $Projectname nel riquadro di ricerca del sito."
+
+#: ../../Zotlabs/Module/Invite.php:142
+msgid "or visit"
+msgstr "oppure visita"
+
+#: ../../Zotlabs/Module/Invite.php:144
+msgid "3. Click [Connect]"
+msgstr "3. Clicca su [Aggiungi]"
+
+#: ../../Zotlabs/Module/Locs.php:25 ../../Zotlabs/Module/Locs.php:54
+msgid "Location not found."
+msgstr "Indirizzo non trovato."
+
+#: ../../Zotlabs/Module/Locs.php:62
+msgid "Location lookup failed."
+msgstr "La ricerca dell'indirizzo è fallita."
+
+#: ../../Zotlabs/Module/Locs.php:66
+msgid ""
+"Please select another location to become primary before removing the primary"
+" location."
+msgstr "Prima di rimuovere il tuo canale primario assicurati di avere scelto una sua copia (clone) come primaria."
+
+#: ../../Zotlabs/Module/Locs.php:95
+msgid "Syncing locations"
+msgstr "Sincronizzazione tra hub"
+
+#: ../../Zotlabs/Module/Locs.php:105
+msgid "No locations found."
+msgstr "Nessun indirizzo trovato."
+
+#: ../../Zotlabs/Module/Locs.php:116
+msgid "Manage Channel Locations"
+msgstr "Modifica gli indirizzi del canale"
+
+#: ../../Zotlabs/Module/Locs.php:119
+msgid "Primary"
+msgstr "Primario"
+
+#: ../../Zotlabs/Module/Locs.php:122
+msgid "Sync Now"
+msgstr "Sincronizza ora"
+
+#: ../../Zotlabs/Module/Locs.php:123
+msgid "Please wait several minutes between consecutive operations."
+msgstr "Si raccomanda di attendere alcuni minuti prima di effettuare una nuova sincronizzazione."
+
+#: ../../Zotlabs/Module/Locs.php:124
+msgid ""
+"When possible, drop a location by logging into that website/hub and removing"
+" your channel."
+msgstr "Quando possibile, riduci il numero di cloni del tuo canale effettuando il login sul relativo hub e rimuovendoli."
+
+#: ../../Zotlabs/Module/Locs.php:125
+msgid "Use this form to drop the location if the hub is no longer operating."
+msgstr "Usa questo modulo per abbandonare un canale su un hub che non è più funzionante."
+
+#: ../../Zotlabs/Module/Rate.php:156
+msgid "Website:"
+msgstr "Sito web:"
+
+#: ../../Zotlabs/Module/Rate.php:159
+#, php-format
+msgid "Remote Channel [%s] (not yet known on this site)"
+msgstr "Canale remoto [%s] (non ancora conosciuto da questo sito)"
+
+#: ../../Zotlabs/Module/Rate.php:160
+msgid "Rating (this information is public)"
+msgstr "Valutazione (visibile a tutti)"
+
+#: ../../Zotlabs/Module/Rate.php:161
+msgid "Optionally explain your rating (this information is public)"
+msgstr "Commento alla valutazione (facoltativo, visibile a tutti)"
#: ../../Zotlabs/Module/Like.php:19
msgid "Like/Dislike"
@@ -2075,16 +3267,22 @@ msgid "Previous action reversed."
msgstr "Il comando precedente è stato annullato."
#: ../../Zotlabs/Module/Like.php:370 ../../Zotlabs/Module/Subthread.php:87
-#: ../../Zotlabs/Module/Tagger.php:47 ../../include/conversation.php:120
-#: ../../include/text.php:1921
+#: ../../Zotlabs/Module/Tagger.php:47 ../../include/text.php:1991
+#: ../../include/conversation.php:120
msgid "photo"
msgstr "la foto"
#: ../../Zotlabs/Module/Like.php:370 ../../Zotlabs/Module/Subthread.php:87
-#: ../../include/conversation.php:148 ../../include/text.php:1927
+#: ../../include/text.php:1997 ../../include/conversation.php:148
msgid "status"
msgstr "il messaggio di stato"
+#: ../../Zotlabs/Module/Like.php:372 ../../Zotlabs/Module/Events.php:253
+#: ../../Zotlabs/Module/Tagger.php:51 ../../include/text.php:1994
+#: ../../include/conversation.php:123 ../../include/event.php:961
+msgid "event"
+msgstr "l'evento"
+
#: ../../Zotlabs/Module/Like.php:419 ../../include/conversation.php:164
#, php-format
msgid "%1$s likes %2$s's %3$s"
@@ -2125,11 +3323,11 @@ msgstr "%3$s di %2$s: %1$s non partecipa"
msgid "%1$s may attend %2$s's %3$s"
msgstr "%3$s di %2$s: %1$s forse partecipa"
-#: ../../Zotlabs/Module/Like.php:536
+#: ../../Zotlabs/Module/Like.php:538
msgid "Action completed."
msgstr "Comando completato."
-#: ../../Zotlabs/Module/Like.php:537
+#: ../../Zotlabs/Module/Like.php:539
msgid "Thank you."
msgstr "Grazie."
@@ -2190,6 +3388,10 @@ msgstr "Religione"
msgid "Political Views"
msgstr "Orientamento politico"
+#: ../../Zotlabs/Module/Profiles.php:454
+msgid "Gender"
+msgstr "Sesso"
+
#: ../../Zotlabs/Module/Profiles.php:458
msgid "Sexual Preference"
msgstr "Preferenze sessuali"
@@ -2202,11 +3404,6 @@ msgstr "Home page"
msgid "Interests"
msgstr "Interessi"
-#: ../../Zotlabs/Module/Profiles.php:470 ../../Zotlabs/Module/Locs.php:118
-#: ../../Zotlabs/Module/Admin.php:1224
-msgid "Address"
-msgstr "Indirizzo"
-
#: ../../Zotlabs/Module/Profiles.php:560
msgid "Profile updated."
msgstr "Profilo aggiornato."
@@ -2224,7 +3421,7 @@ msgid "View this profile"
msgstr "Guarda questo profilo"
#: ../../Zotlabs/Module/Profiles.php:689 ../../Zotlabs/Module/Profiles.php:771
-#: ../../include/channel.php:998
+#: ../../include/channel.php:981
msgid "Edit visibility"
msgstr "Cambia la visibilità"
@@ -2236,7 +3433,7 @@ msgstr "Gestione del profilo"
msgid "Change cover photo"
msgstr "Cambia la copertina del canale"
-#: ../../Zotlabs/Module/Profiles.php:692 ../../include/channel.php:969
+#: ../../Zotlabs/Module/Profiles.php:692 ../../include/channel.php:952
msgid "Change profile photo"
msgstr "Cambia la foto del profilo"
@@ -2256,7 +3453,7 @@ msgstr "Elimina questo profilo"
msgid "Add profile things"
msgstr "Aggiungi oggetti al profilo"
-#: ../../Zotlabs/Module/Profiles.php:697 ../../include/conversation.php:1541
+#: ../../Zotlabs/Module/Profiles.php:697 ../../include/conversation.php:1564
#: ../../include/widgets.php:105
msgid "Personal"
msgstr "Personali"
@@ -2265,7 +3462,7 @@ msgstr "Personali"
msgid "Relation"
msgstr "Relazione"
-#: ../../Zotlabs/Module/Profiles.php:700 ../../include/datetime.php:48
+#: ../../Zotlabs/Module/Profiles.php:700 ../../include/datetime.php:55
msgid "Miscellaneous"
msgstr "Altro"
@@ -2341,6 +3538,10 @@ msgstr "dal (data)"
msgid "Tell us about yourself"
msgstr "Raccontaci di te..."
+#: ../../Zotlabs/Module/Profiles.php:731
+msgid "Homepage URL"
+msgstr "Indirizzo home page"
+
#: ../../Zotlabs/Module/Profiles.php:732
msgid "Hometown"
msgstr "Città dove vivo"
@@ -2397,827 +3598,555 @@ msgstr "Contatti e social network"
msgid "My other channels"
msgstr "I miei altri canali"
-#: ../../Zotlabs/Module/Profiles.php:767 ../../include/channel.php:994
+#: ../../Zotlabs/Module/Profiles.php:767 ../../include/channel.php:977
msgid "Profile Image"
msgstr "Immagine del profilo"
-#: ../../Zotlabs/Module/Profiles.php:777 ../../include/nav.php:88
-#: ../../include/channel.php:976
+#: ../../Zotlabs/Module/Profiles.php:777 ../../include/channel.php:959
+#: ../../include/nav.php:91
msgid "Edit Profiles"
msgstr "Modifica i tuoi profili"
-#: ../../Zotlabs/Module/Import.php:33
-#, php-format
-msgid "Your service plan only allows %d channels."
-msgstr "Il tuo account permette di creare al massimo %d canali."
-
-#: ../../Zotlabs/Module/Import.php:71 ../../Zotlabs/Module/Import_items.php:42
-msgid "Nothing to import."
-msgstr "Non c'è niente da importare."
-
-#: ../../Zotlabs/Module/Import.php:95 ../../Zotlabs/Module/Import_items.php:66
-msgid "Unable to download data from old server"
-msgstr "Impossibile importare i dati dal vecchio hub"
-
-#: ../../Zotlabs/Module/Import.php:101
-#: ../../Zotlabs/Module/Import_items.php:72
-msgid "Imported file is empty."
-msgstr "Il file da importare è vuoto."
+#: ../../Zotlabs/Module/Mitem.php:52
+msgid "Unable to create element."
+msgstr "Impossibile creare l'elemento."
-#: ../../Zotlabs/Module/Import.php:123
-#: ../../Zotlabs/Module/Import_items.php:88
-#, php-format
-msgid "Warning: Database versions differ by %1$d updates."
-msgstr "Attenzione: le versioni di database differiscono di %1$d aggiornamenti."
+#: ../../Zotlabs/Module/Mitem.php:76
+msgid "Unable to update menu element."
+msgstr "Non è possibile aggiornare l'elemento del menù."
-#: ../../Zotlabs/Module/Import.php:153 ../../include/import.php:107
-msgid "Cloned channel not found. Import failed."
-msgstr "Impossibile trovare il canale clonato. L'importazione è fallita."
+#: ../../Zotlabs/Module/Mitem.php:92
+msgid "Unable to add menu element."
+msgstr "Impossibile aggiungere l'elemento al menù."
-#: ../../Zotlabs/Module/Import.php:163
-msgid "No channel. Import failed."
-msgstr "Nessun canale. Import fallito."
+#: ../../Zotlabs/Module/Mitem.php:153 ../../Zotlabs/Module/Mitem.php:230
+msgid "Menu Item Permissions"
+msgstr "Permessi del menu"
-#: ../../Zotlabs/Module/Import.php:520
-#: ../../include/Import/import_diaspora.php:142
-msgid "Import completed."
-msgstr "L'importazione è terminata con successo."
+#: ../../Zotlabs/Module/Mitem.php:154 ../../Zotlabs/Module/Mitem.php:231
+#: ../../Zotlabs/Module/Settings/Channel.php:486
+msgid "(click to open/close)"
+msgstr "(clicca per aprire/chiudere)"
-#: ../../Zotlabs/Module/Import.php:542
-msgid "You must be logged in to use this feature."
-msgstr "Per questa funzionalità devi aver effettuato l'accesso."
+#: ../../Zotlabs/Module/Mitem.php:160 ../../Zotlabs/Module/Mitem.php:176
+msgid "Link Name"
+msgstr "Nome link"
-#: ../../Zotlabs/Module/Import.php:547
-msgid "Import Channel"
-msgstr "Importa un canale"
+#: ../../Zotlabs/Module/Mitem.php:161 ../../Zotlabs/Module/Mitem.php:239
+msgid "Link or Submenu Target"
+msgstr "Azione del link o del sottomenu"
-#: ../../Zotlabs/Module/Import.php:548
-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 "Usa questo modulo per importare un tuo canale da un altro hub. Puoi ottenere i dati identificativi del canale direttamente dall'altro hub oppure tramite un file esportato in precedenza."
+#: ../../Zotlabs/Module/Mitem.php:161
+msgid "Enter URL of the link or select a menu name to create a submenu"
+msgstr "Inserisci l'indirizzo del link o scegli il nome di un sottomenu"
-#: ../../Zotlabs/Module/Import.php:549
-#: ../../Zotlabs/Module/Import_items.php:121
-msgid "File to Upload"
-msgstr "File da caricare"
+#: ../../Zotlabs/Module/Mitem.php:162 ../../Zotlabs/Module/Mitem.php:240
+msgid "Use magic-auth if available"
+msgstr "Usa l'autenticazione tramite il tuo hub, se disponibile"
-#: ../../Zotlabs/Module/Import.php:550
-msgid "Or provide the old server/hub details"
-msgstr "Oppure fornisci i dettagli del vecchio hub"
+#: ../../Zotlabs/Module/Mitem.php:163 ../../Zotlabs/Module/Mitem.php:241
+msgid "Open link in new window"
+msgstr "Apri il link in una nuova finestra"
-#: ../../Zotlabs/Module/Import.php:551
-msgid "Your old identity address (xyz@example.com)"
-msgstr "Il tuo vecchio identificativo (per esempio pippo@esempio.com)"
+#: ../../Zotlabs/Module/Mitem.php:164 ../../Zotlabs/Module/Mitem.php:242
+msgid "Order in list"
+msgstr "Ordine dell'elenco"
-#: ../../Zotlabs/Module/Import.php:552
-msgid "Your old login email address"
-msgstr "L'email che usavi per accedere sul vecchio hub"
+#: ../../Zotlabs/Module/Mitem.php:164 ../../Zotlabs/Module/Mitem.php:242
+msgid "Higher numbers will sink to bottom of listing"
+msgstr "I numeri più alti andranno in fondo all'elenco"
-#: ../../Zotlabs/Module/Import.php:553
-msgid "Your old login password"
-msgstr "La password per il vecchio hub"
+#: ../../Zotlabs/Module/Mitem.php:165
+msgid "Submit and finish"
+msgstr "Salva e termina"
-#: ../../Zotlabs/Module/Import.php:554
-msgid ""
-"For either option, please choose whether to make this hub your new primary "
-"address, or whether your old location should continue this role. You will be"
-" able to post from either location, but only one can be marked as the "
-"primary location for files, photos, and media."
-msgstr "Scegli se vuoi spostare il tuo indirizzo primario su questo hub, oppure se preferisci che quello vecchio resti tale. Potrai pubblicare da entrambi i hub, ma solamente uno sarà indicato come la posizione su cui risiedono i tuoi file, foto, ecc."
+#: ../../Zotlabs/Module/Mitem.php:166
+msgid "Submit and continue"
+msgstr "Salva e continua"
-#: ../../Zotlabs/Module/Import.php:555
-msgid "Make this hub my primary location"
-msgstr "Rendi questo hub il mio indirizzo primario"
+#: ../../Zotlabs/Module/Mitem.php:174
+msgid "Menu:"
+msgstr "Menu:"
-#: ../../Zotlabs/Module/Import.php:556
-msgid ""
-"Import existing posts if possible (experimental - limited by available "
-"memory"
-msgstr "Importa i contenuti pubblicati, se possibile (sperimentale)"
+#: ../../Zotlabs/Module/Mitem.php:177
+msgid "Link Target"
+msgstr "Destinazione link"
-#: ../../Zotlabs/Module/Import.php:557
-msgid ""
-"This process may take several minutes to complete. Please submit the form "
-"only once and leave this page open until finished."
-msgstr "Questa funzione potrebbe impiegare molto tempo a terminare. Per favore lanciala *una volta sola* e resta su questa pagina finché non avrà finito."
+#: ../../Zotlabs/Module/Mitem.php:180
+msgid "Edit menu"
+msgstr "Modifica il menù"
-#: ../../Zotlabs/Module/Home.php:74 ../../Zotlabs/Module/Home.php:82
-#: ../../Zotlabs/Module/Siteinfo.php:48
-msgid "$Projectname"
-msgstr "$Projectname"
+#: ../../Zotlabs/Module/Mitem.php:183
+msgid "Edit element"
+msgstr "Modifica l'elemento"
-#: ../../Zotlabs/Module/Home.php:92
-#, php-format
-msgid "Welcome to %s"
-msgstr "%s ti dà il benvenuto"
+#: ../../Zotlabs/Module/Mitem.php:184
+msgid "Drop element"
+msgstr "Elimina l'elemento"
-#: ../../Zotlabs/Module/Item.php:179
-msgid "Unable to locate original post."
-msgstr "Impossibile trovare il messaggio originale."
+#: ../../Zotlabs/Module/Mitem.php:185
+msgid "New element"
+msgstr "Nuovo elemento"
-#: ../../Zotlabs/Module/Item.php:432
-msgid "Empty post discarded."
-msgstr "Il post vuoto è stato ignorato."
+#: ../../Zotlabs/Module/Mitem.php:186
+msgid "Edit this menu container"
+msgstr "Modifica il contenitore del menù"
-#: ../../Zotlabs/Module/Item.php:472
-msgid "Executable content type not permitted to this channel."
-msgstr "I contenuti eseguibili non sono permessi su questo canale."
+#: ../../Zotlabs/Module/Mitem.php:187
+msgid "Add menu element"
+msgstr "Aggiungi un elemento al menù"
-#: ../../Zotlabs/Module/Item.php:856
-msgid "Duplicate post suppressed."
-msgstr "I post duplicati sono scartati."
+#: ../../Zotlabs/Module/Mitem.php:188
+msgid "Delete this menu item"
+msgstr "Elimina questo elemento del menù"
-#: ../../Zotlabs/Module/Item.php:989
-msgid "System error. Post not saved."
-msgstr "Errore di sistema. Post non salvato."
+#: ../../Zotlabs/Module/Mitem.php:189
+msgid "Edit this menu item"
+msgstr "Modifica questo elemento del menù"
-#: ../../Zotlabs/Module/Item.php:1242
-msgid "Unable to obtain post information from database."
-msgstr "Impossibile caricare il post dal database."
+#: ../../Zotlabs/Module/Mitem.php:206
+msgid "Menu item not found."
+msgstr "L'elemento del menù non è stato trovato."
-#: ../../Zotlabs/Module/Item.php:1249
-#, php-format
-msgid "You have reached your limit of %1$.0f top level posts."
-msgstr "Hai raggiunto il limite massimo di %1$.0f post sulla pagina principale."
+#: ../../Zotlabs/Module/Mitem.php:219
+msgid "Menu item deleted."
+msgstr "L'elemento del menù è stato eliminato."
-#: ../../Zotlabs/Module/Item.php:1256
-#, php-format
-msgid "You have reached your limit of %1$.0f webpages."
-msgstr "Hai raggiunto il limite massimo di %1$.0f pagine web."
+#: ../../Zotlabs/Module/Mitem.php:221
+msgid "Menu item could not be deleted."
+msgstr "L'elemento del menù non può essere eliminato."
-#: ../../Zotlabs/Module/Photos.php:82
-msgid "Page owner information could not be retrieved."
-msgstr "Impossibile ottenere informazioni sul proprietario della pagina."
+#: ../../Zotlabs/Module/Mitem.php:228
+msgid "Edit Menu Element"
+msgstr "Modifica l'elemento del menù"
-#: ../../Zotlabs/Module/Photos.php:97 ../../Zotlabs/Module/Photos.php:741
-#: ../../Zotlabs/Module/Profile_photo.php:115
-#: ../../Zotlabs/Module/Profile_photo.php:212
-#: ../../Zotlabs/Module/Profile_photo.php:311
-#: ../../include/photo/photo_driver.php:718
-msgid "Profile Photos"
-msgstr "Foto del profilo"
+#: ../../Zotlabs/Module/Mitem.php:238
+msgid "Link text"
+msgstr "Testo del link"
-#: ../../Zotlabs/Module/Photos.php:103 ../../Zotlabs/Module/Photos.php:147
-msgid "Album not found."
-msgstr "Album non trovato."
+#: ../../Zotlabs/Module/Setup.php:184
+msgid "$Projectname Server - Setup"
+msgstr "Server $Projectname - Installazione"
-#: ../../Zotlabs/Module/Photos.php:130
-msgid "Delete Album"
-msgstr "Elimina album"
+#: ../../Zotlabs/Module/Setup.php:188
+msgid "Could not connect to database."
+msgstr " Impossibile connettersi al database."
-#: ../../Zotlabs/Module/Photos.php:151
+#: ../../Zotlabs/Module/Setup.php:192
msgid ""
-"Multiple storage folders exist with this album name, but within different "
-"directories. Please remove the desired folder or folders using the Files "
-"manager"
-msgstr "Esistono più archivi con il nome di quest'album, ma dentro cartelle diverse. Per favore effettua la rimozione dall'Archivio file "
-
-#: ../../Zotlabs/Module/Photos.php:208 ../../Zotlabs/Module/Photos.php:1051
-msgid "Delete Photo"
-msgstr "Elimina foto"
-
-#: ../../Zotlabs/Module/Photos.php:531
-msgid "No photos selected"
-msgstr "Nessuna foto selezionata"
-
-#: ../../Zotlabs/Module/Photos.php:580
-msgid "Access to this item is restricted."
-msgstr "Questo elemento non è visibile a tutti."
-
-#: ../../Zotlabs/Module/Photos.php:619
-#, php-format
-msgid "%1$.2f MB of %2$.2f MB photo storage used."
-msgstr "Hai usato %1$.2f Mb dei %2$.2f Mb di spazio disponibile."
-
-#: ../../Zotlabs/Module/Photos.php:622
-#, php-format
-msgid "%1$.2f MB photo storage used."
-msgstr "Hai usato %1$.2f Mb del tuo spazio disponibile."
-
-#: ../../Zotlabs/Module/Photos.php:658
-msgid "Upload Photos"
-msgstr "Carica foto"
-
-#: ../../Zotlabs/Module/Photos.php:662
-msgid "Enter an album name"
-msgstr "Scegli il nome dell'album"
-
-#: ../../Zotlabs/Module/Photos.php:663
-msgid "or select an existing album (doubleclick)"
-msgstr "o seleziona un album esistente (doppio click)"
-
-#: ../../Zotlabs/Module/Photos.php:664
-msgid "Create a status post for this upload"
-msgstr "Pubblica sulla bacheca"
-
-#: ../../Zotlabs/Module/Photos.php:665
-msgid "Caption (optional):"
-msgstr "Titolo (facoltativo):"
-
-#: ../../Zotlabs/Module/Photos.php:666
-msgid "Description (optional):"
-msgstr "Descrizione (facoltativa):"
-
-#: ../../Zotlabs/Module/Photos.php:693
-msgid "Album name could not be decoded"
-msgstr "Non è stato possibile leggere il nome dell'album"
-
-#: ../../Zotlabs/Module/Photos.php:741
-msgid "Contact Photos"
-msgstr "Foto dei contatti"
-
-#: ../../Zotlabs/Module/Photos.php:764
-msgid "Show Newest First"
-msgstr "Prima i più recenti"
-
-#: ../../Zotlabs/Module/Photos.php:766
-msgid "Show Oldest First"
-msgstr "Prima i più vecchi"
-
-#: ../../Zotlabs/Module/Photos.php:790 ../../Zotlabs/Module/Photos.php:1329
-#: ../../Zotlabs/Module/Embedphotos.php:141 ../../include/widgets.php:1593
-msgid "View Photo"
-msgstr "Guarda la foto"
-
-#: ../../Zotlabs/Module/Photos.php:821
-#: ../../Zotlabs/Module/Embedphotos.php:157 ../../include/widgets.php:1610
-msgid "Edit Album"
-msgstr "Modifica album"
-
-#: ../../Zotlabs/Module/Photos.php:868
-msgid "Permission denied. Access to this item may be restricted."
-msgstr "Permesso negato. L'accesso a questo elemento può essere stato limitato."
-
-#: ../../Zotlabs/Module/Photos.php:870
-msgid "Photo not available"
-msgstr "Foto non disponibile"
-
-#: ../../Zotlabs/Module/Photos.php:928
-msgid "Use as profile photo"
-msgstr "Usa come foto del profilo"
-
-#: ../../Zotlabs/Module/Photos.php:929
-msgid "Use as cover photo"
-msgstr "Usa come copertina del canale"
-
-#: ../../Zotlabs/Module/Photos.php:936
-msgid "Private Photo"
-msgstr "Foto privata"
-
-#: ../../Zotlabs/Module/Photos.php:951
-msgid "View Full Size"
-msgstr "Vedi nelle dimensioni originali"
-
-#: ../../Zotlabs/Module/Photos.php:996 ../../Zotlabs/Module/Admin.php:1437
-#: ../../Zotlabs/Module/Tagrm.php:137
-msgid "Remove"
-msgstr "Rimuovi"
-
-#: ../../Zotlabs/Module/Photos.php:1030
-msgid "Edit photo"
-msgstr "Modifica la foto"
-
-#: ../../Zotlabs/Module/Photos.php:1032
-msgid "Rotate CW (right)"
-msgstr "Ruota (senso orario)"
-
-#: ../../Zotlabs/Module/Photos.php:1033
-msgid "Rotate CCW (left)"
-msgstr "Ruota (senso antiorario)"
-
-#: ../../Zotlabs/Module/Photos.php:1036
-msgid "Enter a new album name"
-msgstr "Inserisci il nome del nuovo album"
-
-#: ../../Zotlabs/Module/Photos.php:1037
-msgid "or select an existing one (doubleclick)"
-msgstr "o seleziona uno esistente (doppio click)"
-
-#: ../../Zotlabs/Module/Photos.php:1040
-msgid "Caption"
-msgstr "Didascalia"
-
-#: ../../Zotlabs/Module/Photos.php:1042
-msgid "Add a Tag"
-msgstr "Aggiungi tag"
+"Could not connect to specified site URL. Possible SSL certificate or DNS "
+"issue."
+msgstr "Non è possibile raggiungere l'indirizzo del sito specificato. Potrebbe essere un problema di SSL o DNS."
-#: ../../Zotlabs/Module/Photos.php:1046
-msgid "Example: @bob, @Barbara_Jensen, @jim@example.com"
-msgstr "Esempio: @bob, @Barbara_Jensen, @jim@example.com"
+#: ../../Zotlabs/Module/Setup.php:199
+msgid "Could not create table."
+msgstr "Impossibile creare le tabelle."
-#: ../../Zotlabs/Module/Photos.php:1049
-msgid "Flag as adult in album view"
-msgstr "Marca come 'per adulti'"
+#: ../../Zotlabs/Module/Setup.php:204
+msgid "Your site database has been installed."
+msgstr "Il database del sito è stato installato."
-#: ../../Zotlabs/Module/Photos.php:1068 ../../Zotlabs/Lib/ThreadItem.php:261
-msgid "I like this (toggle)"
-msgstr "Attiva/disattiva Mi piace"
+#: ../../Zotlabs/Module/Setup.php:208
+msgid ""
+"You may need to import the file \"install/schema_xxx.sql\" manually using a "
+"database client."
+msgstr "Potresti dover importare il file 'install/schema_xxx.sql' manualmente usando un client per collegarti al db."
-#: ../../Zotlabs/Module/Photos.php:1069 ../../Zotlabs/Lib/ThreadItem.php:262
-msgid "I don't like this (toggle)"
-msgstr "Attiva/disattiva Non mi piace"
+#: ../../Zotlabs/Module/Setup.php:209 ../../Zotlabs/Module/Setup.php:271
+#: ../../Zotlabs/Module/Setup.php:734
+msgid "Please see the file \"install/INSTALL.txt\"."
+msgstr "Leggi il file 'install/INSTALL.txt'."
-#: ../../Zotlabs/Module/Photos.php:1071 ../../Zotlabs/Lib/ThreadItem.php:397
-#: ../../include/conversation.php:743
-msgid "Please wait"
-msgstr "Attendere"
+#: ../../Zotlabs/Module/Setup.php:268
+msgid "System check"
+msgstr "Verifica del sistema"
-#: ../../Zotlabs/Module/Photos.php:1087 ../../Zotlabs/Module/Photos.php:1205
-#: ../../Zotlabs/Lib/ThreadItem.php:707
-msgid "This is you"
-msgstr "Questo sei tu"
+#: ../../Zotlabs/Module/Setup.php:272 ../../Zotlabs/Module/Photos.php:949
+#: ../../Zotlabs/Module/Cal.php:333 ../../Zotlabs/Module/Cal.php:340
+#: ../../Zotlabs/Module/Events.php:676 ../../Zotlabs/Module/Events.php:685
+msgid "Next"
+msgstr "Successivo"
-#: ../../Zotlabs/Module/Photos.php:1089 ../../Zotlabs/Module/Photos.php:1207
-#: ../../Zotlabs/Lib/ThreadItem.php:709 ../../include/js_strings.php:6
-msgid "Comment"
-msgstr "Commento"
+#: ../../Zotlabs/Module/Setup.php:273
+msgid "Check again"
+msgstr "Verifica di nuovo"
-#: ../../Zotlabs/Module/Photos.php:1105 ../../include/conversation.php:577
-msgctxt "title"
-msgid "Likes"
-msgstr "Mi piace"
+#: ../../Zotlabs/Module/Setup.php:295
+msgid "Database connection"
+msgstr "Connessione al database"
-#: ../../Zotlabs/Module/Photos.php:1105 ../../include/conversation.php:577
-msgctxt "title"
-msgid "Dislikes"
-msgstr "Non mi piace"
+#: ../../Zotlabs/Module/Setup.php:296
+msgid ""
+"In order to install $Projectname we need to know how to connect to your "
+"database."
+msgstr "Per poter installare $Projectname è necessario fornire i parametri di connessione al tuo database."
-#: ../../Zotlabs/Module/Photos.php:1106 ../../include/conversation.php:578
-msgctxt "title"
-msgid "Agree"
-msgstr "D'accordo"
+#: ../../Zotlabs/Module/Setup.php:297
+msgid ""
+"Please contact your hosting provider or site administrator if you have "
+"questions about these settings."
+msgstr "Contatta il tuo fornitore di hosting o l'amministratore del sito se hai domande su queste impostazioni."
-#: ../../Zotlabs/Module/Photos.php:1106 ../../include/conversation.php:578
-msgctxt "title"
-msgid "Disagree"
-msgstr "Non d'accordo"
+#: ../../Zotlabs/Module/Setup.php:298
+msgid ""
+"The database you specify below should already exist. If it does not, please "
+"create it before continuing."
+msgstr "Il database deve già esistere. Se non esiste, crealo prima di continuare."
-#: ../../Zotlabs/Module/Photos.php:1106 ../../include/conversation.php:578
-msgctxt "title"
-msgid "Abstain"
-msgstr "Astenuti"
+#: ../../Zotlabs/Module/Setup.php:302
+msgid "Database Server Name"
+msgstr "Server del database"
-#: ../../Zotlabs/Module/Photos.php:1107 ../../include/conversation.php:579
-msgctxt "title"
-msgid "Attending"
-msgstr "Partecipano"
+#: ../../Zotlabs/Module/Setup.php:302
+msgid "Default is 127.0.0.1"
+msgstr "Il valore predefinito è 127.0.0.1"
-#: ../../Zotlabs/Module/Photos.php:1107 ../../include/conversation.php:579
-msgctxt "title"
-msgid "Not attending"
-msgstr "Non partecipano"
+#: ../../Zotlabs/Module/Setup.php:303
+msgid "Database Port"
+msgstr "Port del database"
-#: ../../Zotlabs/Module/Photos.php:1107 ../../include/conversation.php:579
-msgctxt "title"
-msgid "Might attend"
-msgstr "Forse partecipano"
+#: ../../Zotlabs/Module/Setup.php:303
+msgid "Communication port number - use 0 for default"
+msgstr "Scrivi 0 per usare il valore standard"
-#: ../../Zotlabs/Module/Photos.php:1124 ../../Zotlabs/Module/Photos.php:1136
-#: ../../Zotlabs/Lib/ThreadItem.php:181 ../../Zotlabs/Lib/ThreadItem.php:193
-#: ../../include/conversation.php:1738
-msgid "View all"
-msgstr "Vedi tutto"
+#: ../../Zotlabs/Module/Setup.php:304
+msgid "Database Login Name"
+msgstr "Utente database"
-#: ../../Zotlabs/Module/Photos.php:1128 ../../Zotlabs/Lib/ThreadItem.php:185
-#: ../../include/taxonomy.php:403 ../../include/channel.php:1198
-#: ../../include/conversation.php:1762
-msgctxt "noun"
-msgid "Like"
-msgid_plural "Likes"
-msgstr[0] "Mi piace"
-msgstr[1] "Mi piace"
+#: ../../Zotlabs/Module/Setup.php:305
+msgid "Database Login Password"
+msgstr "Password database"
-#: ../../Zotlabs/Module/Photos.php:1133 ../../Zotlabs/Lib/ThreadItem.php:190
-#: ../../include/conversation.php:1765
-msgctxt "noun"
-msgid "Dislike"
-msgid_plural "Dislikes"
-msgstr[0] "Non mi piace"
-msgstr[1] "Non mi piace"
+#: ../../Zotlabs/Module/Setup.php:306
+msgid "Database Name"
+msgstr "Nome database"
-#: ../../Zotlabs/Module/Photos.php:1233
-msgid "Photo Tools"
-msgstr "Gestione foto"
+#: ../../Zotlabs/Module/Setup.php:307
+msgid "Database Type"
+msgstr "Tipo database"
-#: ../../Zotlabs/Module/Photos.php:1242
-msgid "In This Photo:"
-msgstr "In questa foto:"
+#: ../../Zotlabs/Module/Setup.php:309 ../../Zotlabs/Module/Setup.php:355
+msgid "Site administrator email address"
+msgstr "Indirizzo email dell'amministratore del hub"
-#: ../../Zotlabs/Module/Photos.php:1247
-msgid "Map"
-msgstr "Mappa"
+#: ../../Zotlabs/Module/Setup.php:309 ../../Zotlabs/Module/Setup.php:355
+msgid ""
+"Your account email address must match this in order to use the web admin "
+"panel."
+msgstr "Il tuo indirizzo email deve corrispondere a questo per poter usare il pannello di amministrazione di Hubzilla."
-#: ../../Zotlabs/Module/Photos.php:1255 ../../Zotlabs/Lib/ThreadItem.php:386
-msgctxt "noun"
-msgid "Likes"
-msgstr "Mi piace"
+#: ../../Zotlabs/Module/Setup.php:310 ../../Zotlabs/Module/Setup.php:357
+msgid "Website URL"
+msgstr "URL completo del sito"
-#: ../../Zotlabs/Module/Photos.php:1256 ../../Zotlabs/Lib/ThreadItem.php:387
-msgctxt "noun"
-msgid "Dislikes"
-msgstr "Non mi piace"
+#: ../../Zotlabs/Module/Setup.php:310 ../../Zotlabs/Module/Setup.php:357
+msgid "Please use SSL (https) URL if available."
+msgstr "Se disponibile, usa l'indirizzo SSL (https)."
-#: ../../Zotlabs/Module/Photos.php:1261 ../../Zotlabs/Lib/ThreadItem.php:392
-#: ../../include/acl_selectors.php:283
-msgid "Close"
-msgstr "Chiudi"
+#: ../../Zotlabs/Module/Setup.php:311 ../../Zotlabs/Module/Setup.php:361
+msgid "Please select a default timezone for your website"
+msgstr "Seleziona il fuso orario predefinito per il tuo hub"
-#: ../../Zotlabs/Module/Photos.php:1335
-msgid "View Album"
-msgstr "Guarda l'album"
+#: ../../Zotlabs/Module/Setup.php:344
+msgid "Site settings"
+msgstr "Impostazioni del hub"
-#: ../../Zotlabs/Module/Photos.php:1346 ../../Zotlabs/Module/Photos.php:1359
-#: ../../Zotlabs/Module/Photos.php:1360
-msgid "Recent Photos"
-msgstr "Foto recenti"
+#: ../../Zotlabs/Module/Setup.php:400
+msgid "PHP version 5.5 or greater is required."
+msgstr "E' necessario PHP versione 5.5 o superiore."
-#: ../../Zotlabs/Module/Lockview.php:75
-msgid "Remote privacy information not available."
-msgstr "Le informazioni remote sulla privacy non sono disponibili."
+#: ../../Zotlabs/Module/Setup.php:401
+msgid "PHP version"
+msgstr "Versione PHP"
-#: ../../Zotlabs/Module/Lockview.php:96
-msgid "Visible to:"
-msgstr "Visibile a:"
+#: ../../Zotlabs/Module/Setup.php:416
+msgid "Could not find a command line version of PHP in the web server PATH."
+msgstr "Non è possibile trovare la versione di PHP da riga di comando nel PATH del server web"
-#: ../../Zotlabs/Module/Import_items.php:104
-msgid "Import completed"
-msgstr "Importazione completata"
+#: ../../Zotlabs/Module/Setup.php:417
+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 "Se non hai installata la versione di PHP da riga di comando non potrai attivare il polling in background tramite cron."
-#: ../../Zotlabs/Module/Import_items.php:119
-msgid "Import Items"
-msgstr "Importa i contenuti"
+#: ../../Zotlabs/Module/Setup.php:421
+msgid "PHP executable path"
+msgstr "Path del comando PHP"
-#: ../../Zotlabs/Module/Import_items.php:120
+#: ../../Zotlabs/Module/Setup.php:421
msgid ""
-"Use this form to import existing posts and content from an export file."
-msgstr "Usa questa funzionalità per importare i vecchi contenuti e i post da un file esportato in precedenza."
-
-#: ../../Zotlabs/Module/Invite.php:29
-msgid "Total invitation limit exceeded."
-msgstr "Hai superato il numero massimo di inviti."
+"Enter full path to php executable. You can leave this blank to continue the "
+"installation."
+msgstr "Inserisci il percorso dell'eseguibile PHP. Puoi lasciarlo vuoto per continuare l'installazione."
-#: ../../Zotlabs/Module/Invite.php:53
-#, php-format
-msgid "%s : Not a valid email address."
-msgstr "%s: non è un indirizzo email valido."
+#: ../../Zotlabs/Module/Setup.php:426
+msgid "Command line PHP"
+msgstr "PHP da riga di comando"
-#: ../../Zotlabs/Module/Invite.php:63
-msgid "Please join us on $Projectname"
-msgstr "Unisciti a noi su $Projectname"
+#: ../../Zotlabs/Module/Setup.php:435
+msgid ""
+"The command line version of PHP on your system does not have "
+"\"register_argc_argv\" enabled."
+msgstr "La versione da riga di comando di PHP nel sistema non ha abilitato \"register_argc_argv\"."
-#: ../../Zotlabs/Module/Invite.php:74
-msgid "Invitation limit exceeded. Please contact your site administrator."
-msgstr "Hai superato il numero massimo di inviti. Contatta l'amministratore se necessario."
+#: ../../Zotlabs/Module/Setup.php:436
+msgid "This is required for message delivery to work."
+msgstr "E' necessario perché funzioni la consegna dei messaggi."
-#: ../../Zotlabs/Module/Invite.php:79
-#, php-format
-msgid "%s : Message delivery failed."
-msgstr "%s: la consegna del messaggio è fallita."
+#: ../../Zotlabs/Module/Setup.php:439
+msgid "PHP register_argc_argv"
+msgstr "PHP register_argc_argv"
-#: ../../Zotlabs/Module/Invite.php:83
+#: ../../Zotlabs/Module/Setup.php:457
#, php-format
-msgid "%d message sent."
-msgid_plural "%d messages sent."
-msgstr[0] "%d messaggio inviato."
-msgstr[1] "%d messaggi inviati."
-
-#: ../../Zotlabs/Module/Invite.php:102
-msgid "You have no more invitations available"
-msgstr "Non hai altri inviti disponibili"
-
-#: ../../Zotlabs/Module/Invite.php:133
-msgid "Send invitations"
-msgstr "Spedisci inviti"
-
-#: ../../Zotlabs/Module/Invite.php:134
-msgid "Enter email addresses, one per line:"
-msgstr "Inserisci gli indirizzi email, uno per riga:"
-
-#: ../../Zotlabs/Module/Invite.php:135 ../../Zotlabs/Module/Mail.php:241
-msgid "Your message:"
-msgstr "Il tuo messaggio:"
-
-#: ../../Zotlabs/Module/Invite.php:136
-msgid "Please join my community on $Projectname."
-msgstr "Entra nella mia comunità su $Projectname."
-
-#: ../../Zotlabs/Module/Invite.php:138
-msgid "You will need to supply this invitation code:"
-msgstr "Dovrai fornire questo codice invito:"
-
-#: ../../Zotlabs/Module/Invite.php:139
msgid ""
-"1. Register at any $Projectname location (they are all inter-connected)"
-msgstr "1. Registrati su qualsiasi server $Projectname (sono tutti interconnessi)"
-
-#: ../../Zotlabs/Module/Invite.php:141
-msgid "2. Enter my $Projectname network address into the site searchbar."
-msgstr "2. Inserisci il mio indirizzo $Projectname nel riquadro di ricerca del sito."
-
-#: ../../Zotlabs/Module/Invite.php:142
-msgid "or visit"
-msgstr "oppure visita"
-
-#: ../../Zotlabs/Module/Invite.php:144
-msgid "3. Click [Connect]"
-msgstr "3. Clicca su [Aggiungi]"
+"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 dimensione massima di un caricamento è impostata a %s. Il singolo file non può superare %s. Ti è permesso caricare max %d file per volta."
-#: ../../Zotlabs/Module/Locs.php:25 ../../Zotlabs/Module/Locs.php:54
-msgid "Location not found."
-msgstr "Indirizzo non trovato."
+#: ../../Zotlabs/Module/Setup.php:462
+msgid "You can adjust these settings in the servers php.ini."
+msgstr "Puoi regolare queste impostazioni sul server in php.ini"
-#: ../../Zotlabs/Module/Locs.php:62
-msgid "Location lookup failed."
-msgstr "La ricerca dell'indirizzo è fallita."
+#: ../../Zotlabs/Module/Setup.php:464
+msgid "PHP upload limits"
+msgstr "Limiti PHP in upload"
-#: ../../Zotlabs/Module/Locs.php:66
+#: ../../Zotlabs/Module/Setup.php:487
msgid ""
-"Please select another location to become primary before removing the primary"
-" location."
-msgstr "Prima di rimuovere il tuo canale primario assicurati di avere scelto una sua copia (clone) come primaria."
-
-#: ../../Zotlabs/Module/Locs.php:95
-msgid "Syncing locations"
-msgstr "Sincronizzazione tra hub"
-
-#: ../../Zotlabs/Module/Locs.php:105
-msgid "No locations found."
-msgstr "Nessun indirizzo trovato."
-
-#: ../../Zotlabs/Module/Locs.php:116
-msgid "Manage Channel Locations"
-msgstr "Modifica gli indirizzi del canale"
-
-#: ../../Zotlabs/Module/Locs.php:119
-msgid "Primary"
-msgstr "Primario"
-
-#: ../../Zotlabs/Module/Locs.php:120 ../../Zotlabs/Module/Menu.php:113
-msgid "Drop"
-msgstr "Elimina"
-
-#: ../../Zotlabs/Module/Locs.php:122
-msgid "Sync Now"
-msgstr "Sincronizza ora"
-
-#: ../../Zotlabs/Module/Locs.php:123
-msgid "Please wait several minutes between consecutive operations."
-msgstr "Si raccomanda di attendere alcuni minuti prima di effettuare una nuova sincronizzazione."
+"Error: the \"openssl_pkey_new\" function on this system is not able to "
+"generate encryption keys"
+msgstr "Errore: la funzione \"openssl_pkey_new\" su questo sistema non è in grado di generare le chiavi di cifratura"
-#: ../../Zotlabs/Module/Locs.php:124
+#: ../../Zotlabs/Module/Setup.php:488
msgid ""
-"When possible, drop a location by logging into that website/hub and removing"
-" your channel."
-msgstr "Quando possibile, riduci il numero di cloni del tuo canale effettuando il login sul relativo hub e rimuovendoli."
-
-#: ../../Zotlabs/Module/Locs.php:125
-msgid "Use this form to drop the location if the hub is no longer operating."
-msgstr "Usa questo modulo per abbandonare un canale su un hub che non è più funzionante."
-
-#: ../../Zotlabs/Module/Magic.php:71
-msgid "Hub not found."
-msgstr "Hub non trovato."
+"If running under Windows, please see "
+"\"http://www.php.net/manual/en/openssl.installation.php\"."
+msgstr "Se stai usando un server windows, guarda \"http://www.php.net/manual/en/openssl.installation.php\"."
-#: ../../Zotlabs/Module/Mail.php:38
-msgid "Unable to lookup recipient."
-msgstr "Impossibile associare un destinatario."
+#: ../../Zotlabs/Module/Setup.php:491
+msgid "Generate encryption keys"
+msgstr "Genera chiavi di cifratura"
-#: ../../Zotlabs/Module/Mail.php:45
-msgid "Unable to communicate with requested channel."
-msgstr "Impossibile comunicare con il canale richiesto."
+#: ../../Zotlabs/Module/Setup.php:503
+msgid "libCurl PHP module"
+msgstr "modulo PHP libCurl"
-#: ../../Zotlabs/Module/Mail.php:52
-msgid "Cannot verify requested channel."
-msgstr "Impossibile verificare il canale richiesto."
+#: ../../Zotlabs/Module/Setup.php:504
+msgid "GD graphics PHP module"
+msgstr "modulo PHP GD graphics"
-#: ../../Zotlabs/Module/Mail.php:70
-msgid "Selected channel has private message restrictions. Send failed."
-msgstr "Il canale ha delle regole restrittive per la ricezione dei messaggi privati. Invio fallito."
+#: ../../Zotlabs/Module/Setup.php:505
+msgid "OpenSSL PHP module"
+msgstr "modulo PHP OpenSSL"
-#: ../../Zotlabs/Module/Mail.php:135
-msgid "Messages"
-msgstr "Messaggi"
+#: ../../Zotlabs/Module/Setup.php:506
+msgid "mysqli or postgres PHP module"
+msgstr "modulo PHP per mysqli oppure prostgres"
-#: ../../Zotlabs/Module/Mail.php:170
-msgid "Message recalled."
-msgstr "Messaggio revocato."
+#: ../../Zotlabs/Module/Setup.php:507
+msgid "mb_string PHP module"
+msgstr "modulo PHP mb_string"
-#: ../../Zotlabs/Module/Mail.php:183
-msgid "Conversation removed."
-msgstr "Conversazione rimossa."
+#: ../../Zotlabs/Module/Setup.php:508
+msgid "xml PHP module"
+msgstr "modulo xml PHP"
-#: ../../Zotlabs/Module/Mail.php:198 ../../Zotlabs/Module/Mail.php:307
-msgid "Expires YYYY-MM-DD HH:MM"
-msgstr "Scade il YYYY-MM-DD HH:MM"
+#: ../../Zotlabs/Module/Setup.php:512 ../../Zotlabs/Module/Setup.php:514
+msgid "Apache mod_rewrite module"
+msgstr "modulo Apache mod_rewrite"
-#: ../../Zotlabs/Module/Mail.php:226
-msgid "Requested channel is not in this network"
-msgstr "Il canale cercato non è in questa rete"
+#: ../../Zotlabs/Module/Setup.php:512
+msgid ""
+"Error: Apache webserver mod-rewrite module is required but not installed."
+msgstr "Errore: il modulo mod-rewrite di Apache è richiesto ma non installato"
-#: ../../Zotlabs/Module/Mail.php:234
-msgid "Send Private Message"
-msgstr "Invia un messaggio privato"
+#: ../../Zotlabs/Module/Setup.php:518 ../../Zotlabs/Module/Setup.php:521
+msgid "proc_open"
+msgstr "proc_open"
-#: ../../Zotlabs/Module/Mail.php:235 ../../Zotlabs/Module/Mail.php:360
-msgid "To:"
-msgstr "A:"
+#: ../../Zotlabs/Module/Setup.php:518
+msgid ""
+"Error: proc_open is required but is either not installed or has been "
+"disabled in php.ini"
+msgstr "Errore: proc_open è richiesto ma non è installato o è disabilitato in php.ini"
-#: ../../Zotlabs/Module/Mail.php:238 ../../Zotlabs/Module/Mail.php:362
-msgid "Subject:"
-msgstr "Oggetto:"
+#: ../../Zotlabs/Module/Setup.php:526
+msgid "Error: libCURL PHP module required but not installed."
+msgstr "Errore: il modulo libCURL di PHP è richiesto ma non installato."
-#: ../../Zotlabs/Module/Mail.php:243 ../../Zotlabs/Module/Mail.php:368
-#: ../../include/conversation.php:1231
-msgid "Attach file"
-msgstr "Allega file"
+#: ../../Zotlabs/Module/Setup.php:530
+msgid ""
+"Error: GD graphics PHP module with JPEG support required but not installed."
+msgstr "Errore: Il modulo GD graphics di PHP con supporto a JPEG è richiesto ma non installato."
-#: ../../Zotlabs/Module/Mail.php:245
-msgid "Send"
-msgstr "Invia"
+#: ../../Zotlabs/Module/Setup.php:534
+msgid "Error: openssl PHP module required but not installed."
+msgstr "Errore: il modulo openssl di PHP è richiesto ma non installato."
-#: ../../Zotlabs/Module/Mail.php:248 ../../Zotlabs/Module/Mail.php:373
-#: ../../include/conversation.php:1266
-msgid "Set expiration date"
-msgstr "Data di scadenza"
+#: ../../Zotlabs/Module/Setup.php:538
+msgid ""
+"Error: mysqli or postgres PHP module required but neither are installed."
+msgstr "Errore: il modulo PHP per mysqli o postgres è richiesto ma non installato"
-#: ../../Zotlabs/Module/Mail.php:332
-msgid "Delete message"
-msgstr "Elimina il messaggio"
+#: ../../Zotlabs/Module/Setup.php:542
+msgid "Error: mb_string PHP module required but not installed."
+msgstr "Errore: il modulo PHP mb_string è richiesto ma non installato."
-#: ../../Zotlabs/Module/Mail.php:333
-msgid "Delivery report"
-msgstr "Rapporto di trasmissione"
+#: ../../Zotlabs/Module/Setup.php:546
+msgid "Error: xml PHP module required for DAV but not installed."
+msgstr "Errore: il modulo xml PHP è richiesto per DAV ma non è installato."
-#: ../../Zotlabs/Module/Mail.php:334
-msgid "Recall message"
-msgstr "Revoca il messaggio"
+#: ../../Zotlabs/Module/Setup.php:564
+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 "L'installazione web deve poter creare un file chiamato \".htconfig.php\" nella cartella di Hubzilla ma non è in grado di farlo."
-#: ../../Zotlabs/Module/Mail.php:336
-msgid "Message has been recalled."
-msgstr "Il messaggio è stato revocato."
+#: ../../Zotlabs/Module/Setup.php:565
+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 "Spesso ciò è dovuto ai permessi di accesso al disco: il web server potrebbe non aver diritto di scrivere il file nella cartella, anche se tu puoi."
-#: ../../Zotlabs/Module/Mail.php:353
-msgid "Delete Conversation"
-msgstr "Elimina la conversazione"
+#: ../../Zotlabs/Module/Setup.php:566
+msgid ""
+"At the end of this procedure, we will give you a text to save in a file "
+"named .htconfig.php in your Red top folder."
+msgstr "Alla fine di questa procedura ti sarà dato il testo da salvare in un file di nome .htconfig.php dentro la cartella principale di Hubzilla."
-#: ../../Zotlabs/Module/Mail.php:355
+#: ../../Zotlabs/Module/Setup.php:567
msgid ""
-"No secure communications available. You <strong>may</strong> be able to "
-"respond from the sender's profile page."
-msgstr "Non è disponibile alcun modo sicuro di comunicare con questo canale. <strong>Se possibile</strong>, prova a rispondere direttamente dalla pagina del profilo del mittente."
+"You can alternatively skip this procedure and perform a manual installation."
+" Please see the file \"install/INSTALL.txt\" for instructions."
+msgstr "Puoi anche saltare questa procedura ed effettuare un'installazione manuale. Guarda il file 'install/INSTALL.txt' per le istruzioni."
-#: ../../Zotlabs/Module/Mail.php:359
-msgid "Send Reply"
-msgstr "Invia la risposta"
+#: ../../Zotlabs/Module/Setup.php:570
+msgid ".htconfig.php is writable"
+msgstr ".htconfig.php è scrivibile"
-#: ../../Zotlabs/Module/Mail.php:364
-#, php-format
-msgid "Your message for %s (%s):"
-msgstr "Il tuo messaggio per %s (%s):"
+#: ../../Zotlabs/Module/Setup.php:584
+msgid ""
+"Red uses the Smarty3 template engine to render its web views. Smarty3 "
+"compiles templates to PHP to speed up rendering."
+msgstr "Hubzilla usa il sistema Smarty3 per costruire i suoi template grafici. Smarty3 è molto veloce perché compila i template delle pagine direttamente in PHP."
-#: ../../Zotlabs/Module/Manage.php:136
-#: ../../Zotlabs/Module/New_channel.php:121
+#: ../../Zotlabs/Module/Setup.php:585
#, php-format
-msgid "You have created %1$.0f of %2$.0f allowed channels."
-msgstr "Hai creato %1$.0f dei %2$.0f canali permessi."
-
-#: ../../Zotlabs/Module/Manage.php:143
-msgid "Create a new channel"
-msgstr "Crea un nuovo canale"
-
-#: ../../Zotlabs/Module/Manage.php:164 ../../Zotlabs/Lib/Apps.php:214
-#: ../../include/nav.php:208
-msgid "Channel Manager"
-msgstr "Gestione canali"
-
-#: ../../Zotlabs/Module/Manage.php:165
-msgid "Current Channel"
-msgstr "Canale attuale"
-
-#: ../../Zotlabs/Module/Manage.php:167
-msgid "Switch to one of your channels by selecting it."
-msgstr "Seleziona l'altro canale a cui vuoi passare."
-
-#: ../../Zotlabs/Module/Manage.php:168
-msgid "Default Channel"
-msgstr "Canale predefinito"
+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 "Per poter memorizzare questi template, il server web deve avere i diritti di scrittura sulla directory %s"
-#: ../../Zotlabs/Module/Manage.php:169
-msgid "Make Default"
-msgstr "Rendi predefinito"
+#: ../../Zotlabs/Module/Setup.php:586 ../../Zotlabs/Module/Setup.php:607
+msgid ""
+"Please ensure that the user that your web server runs as (e.g. www-data) has"
+" write access to this folder."
+msgstr "Assicurati che il tuo web server sia in esecuzione con un utente che ha diritto di scrittura su quella cartella (ad esempio www-data)."
-#: ../../Zotlabs/Module/Manage.php:172
+#: ../../Zotlabs/Module/Setup.php:587
#, php-format
-msgid "%d new messages"
-msgstr "%d nuovi messaggi"
+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 bene: come precauzione, dovresti dare i diritti di scrittura solamente su %s e non sui file template (.tpl) che contiene."
-#: ../../Zotlabs/Module/Manage.php:173
+#: ../../Zotlabs/Module/Setup.php:590
#, php-format
-msgid "%d new introductions"
-msgstr "%d nuove richieste di entrare in contatto"
-
-#: ../../Zotlabs/Module/Manage.php:175
-msgid "Delegated Channel"
-msgstr "Canale delegato"
-
-#: ../../Zotlabs/Module/Menu.php:49
-msgid "Unable to update menu."
-msgstr "Impossibile aggiornare il menù."
-
-#: ../../Zotlabs/Module/Menu.php:60
-msgid "Unable to create menu."
-msgstr "Impossibile creare il menù."
-
-#: ../../Zotlabs/Module/Menu.php:98 ../../Zotlabs/Module/Menu.php:110
-msgid "Menu Name"
-msgstr "Nome del menu"
-
-#: ../../Zotlabs/Module/Menu.php:98
-msgid "Unique name (not visible on webpage) - required"
-msgstr "Nome unico (non visibile sulla pagina) - obbligatorio"
-
-#: ../../Zotlabs/Module/Menu.php:99 ../../Zotlabs/Module/Menu.php:111
-msgid "Menu Title"
-msgstr "Titolo del menu"
-
-#: ../../Zotlabs/Module/Menu.php:99
-msgid "Visible on webpage - leave empty for no title"
-msgstr "Visibile sulla pagina - lascia vuoto per non avere un titolo"
-
-#: ../../Zotlabs/Module/Menu.php:100
-msgid "Allow Bookmarks"
-msgstr "Permetti i segnalibri"
-
-#: ../../Zotlabs/Module/Menu.php:100 ../../Zotlabs/Module/Menu.php:157
-msgid "Menu may be used to store saved bookmarks"
-msgstr "Puoi salvare i segnalibri nei menù"
+msgid "%s is writable"
+msgstr "%s è scrivibile"
-#: ../../Zotlabs/Module/Menu.php:101 ../../Zotlabs/Module/Menu.php:159
-msgid "Submit and proceed"
-msgstr "Salva e procedi"
+#: ../../Zotlabs/Module/Setup.php:606
+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 Red top "
+"level folder"
+msgstr "Questo software usa la cartella store per salvare i file caricati. Il server web deve avere i diritti di scrittura sulla cartella perché l'operazione avvenga con successo"
-#: ../../Zotlabs/Module/Menu.php:107 ../../include/text.php:2239
-msgid "Menus"
-msgstr "Menù"
+#: ../../Zotlabs/Module/Setup.php:610
+msgid "store is writable"
+msgstr "l'archivio è scrivibile"
-#: ../../Zotlabs/Module/Menu.php:117
-msgid "Bookmarks allowed"
-msgstr "Permetti segnalibri"
+#: ../../Zotlabs/Module/Setup.php:643
+msgid ""
+"SSL certificate cannot be validated. Fix certificate or disable https access"
+" to this site."
+msgstr "Il certificato SSL non può essere validato. Correggi l'errore o disabilita l'accesso https al sito."
-#: ../../Zotlabs/Module/Menu.php:119
-msgid "Delete this menu"
-msgstr "Elimina questo menù"
+#: ../../Zotlabs/Module/Setup.php:644
+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 "Se abiliti https per il tuo sito o permetti connessioni TCP su port 443 (quella di https), DEVI usare un certificato riconosciuto dai browser internet. NON DEVI usare certificati self-signed generati da te!"
-#: ../../Zotlabs/Module/Menu.php:120 ../../Zotlabs/Module/Menu.php:154
-msgid "Edit menu contents"
-msgstr "Modifica i contenuti del menù"
+#: ../../Zotlabs/Module/Setup.php:645
+msgid ""
+"This restriction is incorporated because public posts from you may for "
+"example contain references to images on your own hub."
+msgstr "Questa restrizione è necessaria perché i tuoi post pubblici potrebbero contenere riferimenti a immagini sul tuo server."
-#: ../../Zotlabs/Module/Menu.php:121
-msgid "Edit this menu"
-msgstr "Modifica questo menù"
+#: ../../Zotlabs/Module/Setup.php:646
+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 "Se il tuo certificato non è riconosciuto, gli utenti che ti seguono da altri siti (che avranno certificati validi) riceveranno gravi avvisi di sicurezza dal browser."
-#: ../../Zotlabs/Module/Menu.php:136
-msgid "Menu could not be deleted."
-msgstr "Il menù non può essere eliminato."
+#: ../../Zotlabs/Module/Setup.php:647
+msgid ""
+"This can cause usability issues elsewhere (not just on your own site) so we "
+"must insist on this requirement."
+msgstr "Ciò può creare seri problemi di usabilità (non solo sul tuo sito), quindi dobbiamo insistere su questo punto."
-#: ../../Zotlabs/Module/Menu.php:144 ../../Zotlabs/Module/Mitem.php:28
-msgid "Menu not found."
-msgstr "Menù non trovato."
+#: ../../Zotlabs/Module/Setup.php:648
+msgid ""
+"Providers are available that issue free certificates which are browser-"
+"valid."
+msgstr "Eventualmente, considera che esistono provider che rilasciano certificati gratuiti riconosciuti dai browser."
-#: ../../Zotlabs/Module/Menu.php:149
-msgid "Edit Menu"
-msgstr "Modifica menù"
+#: ../../Zotlabs/Module/Setup.php:650
+msgid ""
+"If you are confident that the certificate is valid and signed by a trusted "
+"authority, check to see if you have failed to install an intermediate cert. "
+"These are not normally required by browsers, but are required for server-to-"
+"server communications."
+msgstr "Se credi che il certificato sia valido e firmato da una authority, verifica se hai sbagliato a installare i certificati intermedi. Normalmente non sono richiesti dai browser, ma sono necessari per la comunicazione server-to-server."
-#: ../../Zotlabs/Module/Menu.php:153
-msgid "Add or remove entries to this menu"
-msgstr "Aggiungi o rimuovi elementi di questo menù"
+#: ../../Zotlabs/Module/Setup.php:653
+msgid "SSL certificate validation"
+msgstr "Validazione del certificato SSL"
-#: ../../Zotlabs/Module/Menu.php:155
-msgid "Menu name"
-msgstr "Nome del menù"
+#: ../../Zotlabs/Module/Setup.php:659
+msgid ""
+"Url rewrite in .htaccess is not working. Check your server "
+"configuration.Test: "
+msgstr "In .htaccess la funzionalità url rewrite non funziona. Controlla la configurazione del server. Test:"
-#: ../../Zotlabs/Module/Menu.php:155
-msgid "Must be unique, only seen by you"
-msgstr "Deve essere unico, lo vedrai solo tu"
+#: ../../Zotlabs/Module/Setup.php:662
+msgid "Url rewrite is working"
+msgstr "Url rewrite funziona correttamente"
-#: ../../Zotlabs/Module/Menu.php:156
-msgid "Menu title"
-msgstr "Titolo del menù"
+#: ../../Zotlabs/Module/Setup.php:671
+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 "Il file di configurazione del database \".htconfig.php\" non puo' essere scritto. Usa il testo qui di seguito per creare questo file di configurazione nella cartella principale del tuo sito."
-#: ../../Zotlabs/Module/Menu.php:156
-msgid "Menu title as seen by others"
-msgstr "Titolo del menù come comparirà a tutti"
+#: ../../Zotlabs/Module/Setup.php:695
+msgid "Errors encountered creating database tables."
+msgstr "La creazione delle tabelle del database ha generato errori."
-#: ../../Zotlabs/Module/Menu.php:157
-msgid "Allow bookmarks"
-msgstr "Permetti l'invio di segnalibri"
+#: ../../Zotlabs/Module/Setup.php:732
+msgid "<h1>What next</h1>"
+msgstr "<h1>I prossimi passi</h1>"
-#: ../../Zotlabs/Module/Menu.php:166 ../../Zotlabs/Module/Mitem.php:120
-#: ../../Zotlabs/Module/Xchan.php:41
-msgid "Not found."
-msgstr "Non trovato."
+#: ../../Zotlabs/Module/Setup.php:733
+msgid ""
+"IMPORTANT: You will need to [manually] setup a scheduled task for the "
+"poller."
+msgstr "IMPORTANTE: Devi creare [manualmente] la pianificazione del polling."
#: ../../Zotlabs/Module/Lostpass.php:19
msgid "No valid account found."
@@ -3243,7 +4172,7 @@ msgid ""
"Password reset failed."
msgstr "La richiesta non può essere verificata (potresti averla già usata precedentemente). La password non sarà reimpostata."
-#: ../../Zotlabs/Module/Lostpass.php:90 ../../boot.php:1712
+#: ../../Zotlabs/Module/Lostpass.php:90 ../../boot.php:1747
msgid "Password Reset"
msgstr "Reimposta la password"
@@ -3306,33 +4235,49 @@ msgstr "Umore"
msgid "Set your current mood and tell your friends"
msgstr "Scegli il tuo umore attuale per mostrarlo agli amici"
-#: ../../Zotlabs/Module/Network.php:94
-msgid "No such group"
-msgstr "Impossibile trovare il gruppo di canali"
+#: ../../Zotlabs/Module/Removeme.php:35
+msgid ""
+"Channel removals are not allowed within 48 hours of changing the account "
+"password."
+msgstr "Non è possibile eliminare un canale prima di 48 ore dall'ultimo cambio password."
-#: ../../Zotlabs/Module/Network.php:134
-msgid "No such channel"
-msgstr "Canale sconosciuto"
+#: ../../Zotlabs/Module/Removeme.php:60
+msgid "Remove This Channel"
+msgstr "Elimina questo canale"
-#: ../../Zotlabs/Module/Network.php:139
-msgid "forum"
-msgstr "forum"
+#: ../../Zotlabs/Module/Removeme.php:61
+#: ../../Zotlabs/Module/Removeaccount.php:58
+msgid "WARNING: "
+msgstr "ATTENZIONE:"
-#: ../../Zotlabs/Module/Network.php:151
-msgid "Search Results For:"
-msgstr "Cerca risultati con:"
+#: ../../Zotlabs/Module/Removeme.php:61
+msgid "This channel will be completely removed from the network. "
+msgstr "Questo canale sarà completamente eliminato dalla rete."
-#: ../../Zotlabs/Module/Network.php:215
-msgid "Privacy group is empty"
-msgstr "Il gruppo di canali è vuoto"
+#: ../../Zotlabs/Module/Removeme.php:61
+#: ../../Zotlabs/Module/Removeaccount.php:58
+msgid "This action is permanent and can not be undone!"
+msgstr "Questo comando è definitivo e non può essere annullato!"
-#: ../../Zotlabs/Module/Network.php:224
-msgid "Privacy group: "
-msgstr "Gruppo di canali:"
+#: ../../Zotlabs/Module/Removeme.php:62
+#: ../../Zotlabs/Module/Removeaccount.php:59
+msgid "Please enter your password for verification:"
+msgstr "Inserisci la tua password per verifica:"
-#: ../../Zotlabs/Module/Network.php:250
-msgid "Invalid connection."
-msgstr "Contatto non valido."
+#: ../../Zotlabs/Module/Removeme.php:63
+msgid "Remove this channel and all its clones from the network"
+msgstr "Elimina questo canale e tutti i suoi cloni dalla rete"
+
+#: ../../Zotlabs/Module/Removeme.php:63
+msgid ""
+"By default only the instance of the channel located on this hub will be "
+"removed from the network"
+msgstr "L'impostazione predefinita è che sia eliminata solo l'istanza del canale presente su questo hub, non gli eventuali cloni"
+
+#: ../../Zotlabs/Module/Removeme.php:64
+#: ../../Zotlabs/Module/Settings/Channel.php:544
+msgid "Remove Channel"
+msgstr "Elimina questo canale"
#: ../../Zotlabs/Module/Notify.php:57
#: ../../Zotlabs/Module/Notifications.php:98
@@ -3356,1204 +4301,389 @@ msgstr "Non hai scritto parole chiave. Aggiungi parole chiave al tuo profilo pre
msgid "is interested in:"
msgstr "interessi personali:"
+#: ../../Zotlabs/Module/Match.php:68 ../../Zotlabs/Module/Suggest.php:56
+#: ../../Zotlabs/Module/Directory.php:325 ../../include/channel.php:1034
+#: ../../include/connections.php:78 ../../include/conversation.php:955
+#: ../../include/widgets.php:147 ../../include/widgets.php:184
+msgid "Connect"
+msgstr "Aggiungi"
+
#: ../../Zotlabs/Module/Match.php:74
msgid "No matches"
msgstr "Nessun risultato"
-#: ../../Zotlabs/Module/Channel.php:40
-msgid "Posts and comments"
-msgstr "Post e commenti"
-
-#: ../../Zotlabs/Module/Channel.php:41
-msgid "Only posts"
-msgstr "Solo post"
-
-#: ../../Zotlabs/Module/Channel.php:101
-msgid "Insufficient permissions. Request redirected to profile page."
-msgstr "Permessi insufficienti. Sarà visualizzata la pagina del profilo."
-
-#: ../../Zotlabs/Module/Mitem.php:52
-msgid "Unable to create element."
-msgstr "Impossibile creare l'elemento."
-
-#: ../../Zotlabs/Module/Mitem.php:76
-msgid "Unable to update menu element."
-msgstr "Non è possibile aggiornare l'elemento del menù."
-
-#: ../../Zotlabs/Module/Mitem.php:92
-msgid "Unable to add menu element."
-msgstr "Impossibile aggiungere l'elemento al menù."
-
-#: ../../Zotlabs/Module/Mitem.php:153 ../../Zotlabs/Module/Mitem.php:226
-msgid "Menu Item Permissions"
-msgstr "Permessi del menu"
-
-#: ../../Zotlabs/Module/Mitem.php:154 ../../Zotlabs/Module/Mitem.php:227
-#: ../../Zotlabs/Module/Settings.php:1163
-msgid "(click to open/close)"
-msgstr "(clicca per aprire/chiudere)"
-
-#: ../../Zotlabs/Module/Mitem.php:156 ../../Zotlabs/Module/Mitem.php:172
-msgid "Link Name"
-msgstr "Nome link"
-
-#: ../../Zotlabs/Module/Mitem.php:157 ../../Zotlabs/Module/Mitem.php:231
-msgid "Link or Submenu Target"
-msgstr "Azione del link o del sottomenu"
-
-#: ../../Zotlabs/Module/Mitem.php:157
-msgid "Enter URL of the link or select a menu name to create a submenu"
-msgstr "Inserisci l'indirizzo del link o scegli il nome di un sottomenu"
-
-#: ../../Zotlabs/Module/Mitem.php:158 ../../Zotlabs/Module/Mitem.php:232
-msgid "Use magic-auth if available"
-msgstr "Usa l'autenticazione tramite il tuo hub, se disponibile"
-
-#: ../../Zotlabs/Module/Mitem.php:159 ../../Zotlabs/Module/Mitem.php:233
-msgid "Open link in new window"
-msgstr "Apri il link in una nuova finestra"
-
-#: ../../Zotlabs/Module/Mitem.php:160 ../../Zotlabs/Module/Mitem.php:234
-msgid "Order in list"
-msgstr "Ordine dell'elenco"
-
-#: ../../Zotlabs/Module/Mitem.php:160 ../../Zotlabs/Module/Mitem.php:234
-msgid "Higher numbers will sink to bottom of listing"
-msgstr "I numeri più alti andranno in fondo all'elenco"
-
-#: ../../Zotlabs/Module/Mitem.php:161
-msgid "Submit and finish"
-msgstr "Salva e termina"
-
-#: ../../Zotlabs/Module/Mitem.php:162
-msgid "Submit and continue"
-msgstr "Salva e continua"
-
-#: ../../Zotlabs/Module/Mitem.php:170
-msgid "Menu:"
-msgstr "Menu:"
-
-#: ../../Zotlabs/Module/Mitem.php:173
-msgid "Link Target"
-msgstr "Destinazione link"
-
-#: ../../Zotlabs/Module/Mitem.php:176
-msgid "Edit menu"
-msgstr "Modifica il menù"
-
-#: ../../Zotlabs/Module/Mitem.php:179
-msgid "Edit element"
-msgstr "Modifica l'elemento"
-
-#: ../../Zotlabs/Module/Mitem.php:180
-msgid "Drop element"
-msgstr "Elimina l'elemento"
-
-#: ../../Zotlabs/Module/Mitem.php:181
-msgid "New element"
-msgstr "Nuovo elemento"
-
-#: ../../Zotlabs/Module/Mitem.php:182
-msgid "Edit this menu container"
-msgstr "Modifica il contenitore del menù"
-
-#: ../../Zotlabs/Module/Mitem.php:183
-msgid "Add menu element"
-msgstr "Aggiungi un elemento al menù"
-
-#: ../../Zotlabs/Module/Mitem.php:184
-msgid "Delete this menu item"
-msgstr "Elimina questo elemento del menù"
-
-#: ../../Zotlabs/Module/Mitem.php:185
-msgid "Edit this menu item"
-msgstr "Modifica questo elemento del menù"
-
-#: ../../Zotlabs/Module/Mitem.php:202
-msgid "Menu item not found."
-msgstr "L'elemento del menù non è stato trovato."
-
-#: ../../Zotlabs/Module/Mitem.php:215
-msgid "Menu item deleted."
-msgstr "L'elemento del menù è stato eliminato."
-
-#: ../../Zotlabs/Module/Mitem.php:217
-msgid "Menu item could not be deleted."
-msgstr "L'elemento del menù non può essere eliminato."
-
-#: ../../Zotlabs/Module/Mitem.php:224
-msgid "Edit Menu Element"
-msgstr "Modifica l'elemento del menù"
-
-#: ../../Zotlabs/Module/Mitem.php:230
-msgid "Link text"
-msgstr "Testo del link"
-
-#: ../../Zotlabs/Module/Admin.php:77
-msgid "Theme settings updated."
-msgstr "Le impostazioni del tema sono state aggiornate."
-
-#: ../../Zotlabs/Module/Admin.php:197
-msgid "# Accounts"
-msgstr "# account"
-
-#: ../../Zotlabs/Module/Admin.php:198
-msgid "# blocked accounts"
-msgstr "# account bloccati"
-
-#: ../../Zotlabs/Module/Admin.php:199
-msgid "# expired accounts"
-msgstr "# account scaduti"
-
-#: ../../Zotlabs/Module/Admin.php:200
-msgid "# expiring accounts"
-msgstr "# account in scadenza"
-
-#: ../../Zotlabs/Module/Admin.php:211
-msgid "# Channels"
-msgstr "# canali"
-
-#: ../../Zotlabs/Module/Admin.php:212
-msgid "# primary"
-msgstr "# primari"
-
-#: ../../Zotlabs/Module/Admin.php:213
-msgid "# clones"
-msgstr "# cloni"
-
-#: ../../Zotlabs/Module/Admin.php:219
-msgid "Message queues"
-msgstr "Coda messaggi in uscita"
-
-#: ../../Zotlabs/Module/Admin.php:236
-msgid "Your software should be updated"
-msgstr "Il tuo software necessita di un aggiornamento"
-
-#: ../../Zotlabs/Module/Admin.php:241 ../../Zotlabs/Module/Admin.php:490
-#: ../../Zotlabs/Module/Admin.php:711 ../../Zotlabs/Module/Admin.php:755
-#: ../../Zotlabs/Module/Admin.php:1030 ../../Zotlabs/Module/Admin.php:1209
-#: ../../Zotlabs/Module/Admin.php:1329 ../../Zotlabs/Module/Admin.php:1419
-#: ../../Zotlabs/Module/Admin.php:1612 ../../Zotlabs/Module/Admin.php:1646
-#: ../../Zotlabs/Module/Admin.php:1731
-msgid "Administration"
-msgstr "Amministrazione"
-
-#: ../../Zotlabs/Module/Admin.php:242
-msgid "Summary"
-msgstr "Riepilogo"
-
-#: ../../Zotlabs/Module/Admin.php:245
-msgid "Registered accounts"
-msgstr "Account creati"
-
-#: ../../Zotlabs/Module/Admin.php:246 ../../Zotlabs/Module/Admin.php:715
-msgid "Pending registrations"
-msgstr "Registrazioni da approvare"
-
-#: ../../Zotlabs/Module/Admin.php:247
-msgid "Registered channels"
-msgstr "Canali creati"
-
-#: ../../Zotlabs/Module/Admin.php:248 ../../Zotlabs/Module/Admin.php:716
-msgid "Active plugins"
-msgstr "Plugin attivi"
-
-#: ../../Zotlabs/Module/Admin.php:249
-msgid "Version"
-msgstr "Versione"
-
-#: ../../Zotlabs/Module/Admin.php:250
-msgid "Repository version (master)"
-msgstr "Versione del repository (master)"
-
-#: ../../Zotlabs/Module/Admin.php:251
-msgid "Repository version (dev)"
-msgstr "Versione del repository (dev)"
-
-#: ../../Zotlabs/Module/Admin.php:373
-msgid "Site settings updated."
-msgstr "Impostazioni del sito salvate correttamente."
-
-#: ../../Zotlabs/Module/Admin.php:400 ../../include/text.php:2829
-msgid "Default"
-msgstr "Predefinito"
-
-#: ../../Zotlabs/Module/Admin.php:410 ../../Zotlabs/Module/Settings.php:899
-msgid "mobile"
-msgstr "mobile"
-
-#: ../../Zotlabs/Module/Admin.php:412
-msgid "experimental"
-msgstr "sperimentale"
-
-#: ../../Zotlabs/Module/Admin.php:414
-msgid "unsupported"
-msgstr "non supportato"
-
-#: ../../Zotlabs/Module/Admin.php:460
-msgid "Yes - with approval"
-msgstr "Sì - con approvazione"
-
-#: ../../Zotlabs/Module/Admin.php:466
-msgid "My site is not a public server"
-msgstr "Non è un server pubblico"
-
-#: ../../Zotlabs/Module/Admin.php:467
-msgid "My site has paid access only"
-msgstr "È un servizio a pagamento"
-
-#: ../../Zotlabs/Module/Admin.php:468
-msgid "My site has free access only"
-msgstr "È un servizio gratuito"
-
-#: ../../Zotlabs/Module/Admin.php:469
-msgid "My site offers free accounts with optional paid upgrades"
-msgstr "È un servizio gratuito con opzioni aggiuntive a pagamento"
-
-#: ../../Zotlabs/Module/Admin.php:491 ../../include/widgets.php:1476
-msgid "Site"
-msgstr "Sito"
-
-#: ../../Zotlabs/Module/Admin.php:493 ../../Zotlabs/Module/Register.php:245
-msgid "Registration"
-msgstr "Registrazione"
-
-#: ../../Zotlabs/Module/Admin.php:494
-msgid "File upload"
-msgstr "Caricamento file"
-
-#: ../../Zotlabs/Module/Admin.php:495
-msgid "Policies"
-msgstr "Politiche"
-
-#: ../../Zotlabs/Module/Admin.php:496 ../../include/contact_widgets.php:16
-msgid "Advanced"
-msgstr "Avanzate"
-
-#: ../../Zotlabs/Module/Admin.php:500
-msgid "Site name"
-msgstr "Nome del sito"
-
-#: ../../Zotlabs/Module/Admin.php:501
-msgid "Banner/Logo"
-msgstr "Banner o logo"
-
-#: ../../Zotlabs/Module/Admin.php:502
-msgid "Administrator Information"
-msgstr "Informazioni sull'amministratore"
-
-#: ../../Zotlabs/Module/Admin.php:502
-msgid ""
-"Contact information for site administrators. Displayed on siteinfo page. "
-"BBCode can be used here"
-msgstr "Informazioni per contattare gli amministratori del sito. Saranno mostrate sulla pagina di informazioni. È consentito il BBcode"
-
-#: ../../Zotlabs/Module/Admin.php:503
-msgid "System language"
-msgstr "Lingua di sistema"
-
-#: ../../Zotlabs/Module/Admin.php:504
-msgid "System theme"
-msgstr "Tema di sistema"
-
-#: ../../Zotlabs/Module/Admin.php:504
-msgid ""
-"Default system theme - may be over-ridden by user profiles - <a href='#' "
-"id='cnftheme'>change theme settings</a>"
-msgstr "Il tema di sistema può essere cambiato dai profili dei singoli utenti - <a href='#' id='cnftheme'>Cambia le impostazioni del tema</a>"
-
-#: ../../Zotlabs/Module/Admin.php:505
-msgid "Mobile system theme"
-msgstr "Tema di sistema per dispositivi mobili"
-
-#: ../../Zotlabs/Module/Admin.php:505
-msgid "Theme for mobile devices"
-msgstr "Tema per i dispositivi mobili"
-
-#: ../../Zotlabs/Module/Admin.php:507
-msgid "Allow Feeds as Connections"
-msgstr "Permetti di aggiungere i feed come contatti"
-
-#: ../../Zotlabs/Module/Admin.php:507
-msgid "(Heavy system resource usage)"
-msgstr "(Uso intenso delle risorse di sistema!)"
-
-#: ../../Zotlabs/Module/Admin.php:508
-msgid "Maximum image size"
-msgstr "Dimensione massima immagini"
-
-#: ../../Zotlabs/Module/Admin.php:508
-msgid ""
-"Maximum size in bytes of uploaded images. Default is 0, which means no "
-"limits."
-msgstr "Massima dimensione in byte delle immagini caricate. Il default è 0, cioè nessun limite."
-
-#: ../../Zotlabs/Module/Admin.php:509
-msgid "Does this site allow new member registration?"
-msgstr "Questo sito permette a nuovi utenti di registrarsi?"
-
-#: ../../Zotlabs/Module/Admin.php:510
-msgid "Invitation only"
-msgstr "Solo con invito"
-
-#: ../../Zotlabs/Module/Admin.php:510
-msgid ""
-"Only allow new member registrations with an invitation code. Above register "
-"policy must be set to Yes."
-msgstr "La registrazione è permessa solo a chi possiede un codice di invito. Funziona solo se la possibilità di registrarsi è impostata a 'Sì'."
-
-#: ../../Zotlabs/Module/Admin.php:511
-msgid "Which best describes the types of account offered by this hub?"
-msgstr "Come descriveresti il tipo di servizio proposto da questo server?"
-
-#: ../../Zotlabs/Module/Admin.php:512
-msgid "Register text"
-msgstr "Testo di registrazione"
-
-#: ../../Zotlabs/Module/Admin.php:512
-msgid "Will be displayed prominently on the registration page."
-msgstr "Sarà mostrato ben visibile nella pagina di registrazione."
-
-#: ../../Zotlabs/Module/Admin.php:513
-msgid "Site homepage to show visitors (default: login box)"
-msgstr "Homepage del sito da mostrare ai navigatori (predefinito: modulo di login)"
-
-#: ../../Zotlabs/Module/Admin.php:513
-msgid ""
-"example: 'public' to show public stream, 'page/sys/home' to show a system "
-"webpage called 'home' or 'include:home.html' to include a file."
-msgstr "esempio: 'public' per mostrare i contenuti pubblici degli utenti, 'page/sys/home' per mostrare la pagina web definita come 'home' oppure 'include:home.html' per mostrare il contenuto di un file."
-
-#: ../../Zotlabs/Module/Admin.php:514
-msgid "Preserve site homepage URL"
-msgstr "Conserva l'URL della homepage"
-
-#: ../../Zotlabs/Module/Admin.php:514
-msgid ""
-"Present the site homepage in a frame at the original location instead of "
-"redirecting"
-msgstr "Presenta la homepage del sito in un frame all'indirizzo attuale invece di un redirect."
-
-#: ../../Zotlabs/Module/Admin.php:515
-msgid "Accounts abandoned after x days"
-msgstr "Account abbandonati dopo X giorni"
-
-#: ../../Zotlabs/Module/Admin.php:515
-msgid ""
-"Will not waste system resources polling external sites for abandonded "
-"accounts. Enter 0 for no time limit."
-msgstr "Eviterà di sprecare risorse di sistema controllando se i siti esterni hanno account abbandonati. Immettere 0 per non imporre nessun limite di tempo."
-
-#: ../../Zotlabs/Module/Admin.php:516
-msgid "Allowed friend domains"
-msgstr "Domini fidati e consentiti"
-
-#: ../../Zotlabs/Module/Admin.php:516
-msgid ""
-"Comma separated list of domains which are allowed to establish friendships "
-"with this site. Wildcards are accepted. Empty to allow any domains"
-msgstr "Elenco separato da virgola dei domini che possono stabilire amicizie con questo sito. Sono accettati caratteri jolly. Lascia vuoto per accettare connessioni da qualsiasi dominio."
-
-#: ../../Zotlabs/Module/Admin.php:517
-msgid "Allowed email domains"
-msgstr "Domini email consentiti"
-
-#: ../../Zotlabs/Module/Admin.php:517
-msgid ""
-"Comma separated list of domains which are allowed in email addresses for "
-"registrations to this site. Wildcards are accepted. Empty to allow any "
-"domains"
-msgstr "Elenco separato da virgola dei domini permessi come indirizzi email in fase di registrazione. Sono accettati caratteri jolly. Lascia vuoto per accettare qualsiasi dominio email"
-
-#: ../../Zotlabs/Module/Admin.php:518
-msgid "Not allowed email domains"
-msgstr "Domini email non consentiti"
-
-#: ../../Zotlabs/Module/Admin.php:518
-msgid ""
-"Comma separated list of domains which are not allowed in email addresses for"
-" registrations to this site. Wildcards are accepted. Empty to allow any "
-"domains, unless allowed domains have been defined."
-msgstr "Elenco separato da virgola dei domini permessi come indirizzi email in fase di registrazione a questo sito. Sono accettati caratteri jolly. Lascalo vuoto per accettare qualsiasi dominio."
-
-#: ../../Zotlabs/Module/Admin.php:519
-msgid "Verify Email Addresses"
-msgstr "Verifica l'indirizzo email"
-
-#: ../../Zotlabs/Module/Admin.php:519
-msgid ""
-"Check to verify email addresses used in account registration (recommended)."
-msgstr "Attiva per richiedere la verifica degli indirizzi email dei nuovi utenti (consigliato)."
-
-#: ../../Zotlabs/Module/Admin.php:520
-msgid "Force publish"
-msgstr "Forza la publicazione del profilo"
-
-#: ../../Zotlabs/Module/Admin.php:520
-msgid ""
-"Check to force all profiles on this site to be listed in the site directory."
-msgstr "Seleziona per pubblicare sui directory server <strong>tutti</strong> i profili registrati su questo sito."
-
-#: ../../Zotlabs/Module/Admin.php:521
-msgid "Import Public Streams"
-msgstr "Suggerisci contenuti pubblici della rete Hubzilla"
-
-#: ../../Zotlabs/Module/Admin.php:521
-msgid ""
-"Import and allow access to public content pulled from other sites. Warning: "
-"this content is unmoderated."
-msgstr "Suggerisci e visualizza i post pubblici presenti su altri siti Hubzilla. Attenzione: i contenuti potrebbero essere inappropriati perché non sottoposti a moderazione."
-
-#: ../../Zotlabs/Module/Admin.php:522
-msgid "Login on Homepage"
-msgstr "Login sulla homepage"
-
-#: ../../Zotlabs/Module/Admin.php:522
-msgid ""
-"Present a login box to visitors on the home page if no other content has "
-"been configured."
-msgstr "Presenta il modulo di login ai visitatori sulla homepage in mancanza di altri contenuti."
-
-#: ../../Zotlabs/Module/Admin.php:523
-msgid "Enable context help"
-msgstr "Abilita la guida contestuale"
-
-#: ../../Zotlabs/Module/Admin.php:523
-msgid ""
-"Display contextual help for the current page when the help button is "
-"pressed."
-msgstr "Quando è premuto, il bottone della guida mostra quella relativa alla pagina corrente"
-
-#: ../../Zotlabs/Module/Admin.php:525
-msgid "Directory Server URL"
-msgstr "URL del directory server"
-
-#: ../../Zotlabs/Module/Admin.php:525
-msgid "Default directory server"
-msgstr "Directory server predefinito"
-
-#: ../../Zotlabs/Module/Admin.php:527
-msgid "Proxy user"
-msgstr "Utente proxy"
-
-#: ../../Zotlabs/Module/Admin.php:528
-msgid "Proxy URL"
-msgstr "URL proxy"
-
-#: ../../Zotlabs/Module/Admin.php:529
-msgid "Network timeout"
-msgstr "Timeout rete"
-
-#: ../../Zotlabs/Module/Admin.php:529
-msgid "Value is in seconds. Set to 0 for unlimited (not recommended)."
-msgstr "Valore in secondi. Imposta a 0 per illimitato (sconsigliato)."
-
-#: ../../Zotlabs/Module/Admin.php:530
-msgid "Delivery interval"
-msgstr "Recapito ritardato"
-
-#: ../../Zotlabs/Module/Admin.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 "Numero di secondi di cui può essere ritardato il recapito, per ridurre il carico di sistema. Consigliati: 4-5 secondi per hosting condiviso, 2-3 per i VPS, 0-1 per grandi server dedicati."
-
-#: ../../Zotlabs/Module/Admin.php:531
-msgid "Deliveries per process"
-msgstr "Tentativi di recapito per processo"
-
-#: ../../Zotlabs/Module/Admin.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 di tentativi di recapito da tentare per ciascun processo. Può essere modificato per migliorare le performance di sistema. Raccomandato: 1-5"
-
-#: ../../Zotlabs/Module/Admin.php:532
-msgid "Poll interval"
-msgstr "Intervallo di polling"
-
-#: ../../Zotlabs/Module/Admin.php:532
-msgid ""
-"Delay background polling processes by this many seconds to reduce system "
-"load. If 0, use delivery interval."
-msgstr "Numero di secondi di cui può essere ritardato il polling in background, per ridurre il carico del sistema. Se 0, verrà usato lo stesso valore del 'Recapito ritardato'."
-
-#: ../../Zotlabs/Module/Admin.php:533
-msgid "Maximum Load Average"
-msgstr "Carico massimo medio"
-
-#: ../../Zotlabs/Module/Admin.php:533
-msgid ""
-"Maximum system load before delivery and poll processes are deferred - "
-"default 50."
-msgstr "Carico di sistema massimo perché i processi di recapito e polling siano ritardati - il valore predefinito è 50."
-
-#: ../../Zotlabs/Module/Admin.php:534
-msgid "Expiration period in days for imported (grid/network) content"
-msgstr "Scadenza dei contenuti importati da altri siti (in giorni)"
-
-#: ../../Zotlabs/Module/Admin.php:534
-msgid "0 for no expiration of imported content"
-msgstr "0 per non avere scadenza"
-
-#: ../../Zotlabs/Module/Admin.php:677 ../../Zotlabs/Module/Admin.php:678
-#: ../../Zotlabs/Module/Settings.php:823
-msgid "Off"
-msgstr "Off"
-
-#: ../../Zotlabs/Module/Admin.php:677 ../../Zotlabs/Module/Admin.php:678
-#: ../../Zotlabs/Module/Settings.php:823
-msgid "On"
-msgstr "On"
-
-#: ../../Zotlabs/Module/Admin.php:678
-#, php-format
-msgid "Lock feature %s"
-msgstr "Rendi non modificabile %s"
-
-#: ../../Zotlabs/Module/Admin.php:686
-msgid "Manage Additional Features"
-msgstr "Funzionalità opzionali"
-
-#: ../../Zotlabs/Module/Admin.php:703
-msgid "No server found"
-msgstr "Server non trovato"
-
-#: ../../Zotlabs/Module/Admin.php:710 ../../Zotlabs/Module/Admin.php:1046
-msgid "ID"
-msgstr "ID"
-
-#: ../../Zotlabs/Module/Admin.php:710
-msgid "for channel"
-msgstr "per il canale"
-
-#: ../../Zotlabs/Module/Admin.php:710
-msgid "on server"
-msgstr "sul server"
-
-#: ../../Zotlabs/Module/Admin.php:712
-msgid "Server"
-msgstr "Server"
-
-#: ../../Zotlabs/Module/Admin.php:746
-msgid ""
-"By default, unfiltered HTML is allowed in embedded media. This is inherently"
-" insecure."
-msgstr "Il codice HTML degli oggetti multimediali incorporati nei post è consentito. Questo tipo di impostazione è insicura."
-
-#: ../../Zotlabs/Module/Admin.php:749
-msgid ""
-"The recommended setting is to only allow unfiltered HTML from the following "
-"sites:"
-msgstr "L'impostazione consigliata è di permettere HTML non filtrato solo dai seguenti siti:"
-
-#: ../../Zotlabs/Module/Admin.php:750
-msgid ""
-"https://youtube.com/<br />https://www.youtube.com/<br />https://youtu.be/<br"
-" />https://vimeo.com/<br />https://soundcloud.com/<br />"
-msgstr "https://youtube.com/<br />https://www.youtube.com/<br />https://youtu.be/<br />https://vimeo.com/<br />https://soundcloud.com/<br />"
-
-#: ../../Zotlabs/Module/Admin.php:751
-msgid ""
-"All other embedded content will be filtered, <strong>unless</strong> "
-"embedded content from that site is explicitly blocked."
-msgstr "Tutti gli altri contenuti incorporati saranno filtrati <strong>a meno che</strong> il contenuto incorporato di quel sito non sia esplicitamente bloccato."
-
-#: ../../Zotlabs/Module/Admin.php:756 ../../include/widgets.php:1479
-msgid "Security"
-msgstr "Sicurezza"
-
-#: ../../Zotlabs/Module/Admin.php:758
-msgid "Block public"
-msgstr "Blocca pagine pubbliche"
-
-#: ../../Zotlabs/Module/Admin.php:758
-msgid ""
-"Check to block public access to all otherwise public personal pages on this "
-"site unless you are currently authenticated."
-msgstr "Seleziona per impedire di vedere le pagine personali di questo sito a chi non ha effettuato l'accesso."
-
-#: ../../Zotlabs/Module/Admin.php:759
-msgid "Set \"Transport Security\" HTTP header"
-msgstr "Imposta il \"Transport Security\" HTTP header"
-
-#: ../../Zotlabs/Module/Admin.php:760
-msgid "Set \"Content Security Policy\" HTTP header"
-msgstr "Imposta il \"Content Security Policy\" HTTP header"
-
-#: ../../Zotlabs/Module/Admin.php:761
-msgid "Allow communications only from these sites"
-msgstr "Permetti la comunicazione solo da questi siti"
-
-#: ../../Zotlabs/Module/Admin.php:761
-msgid ""
-"One site per line. Leave empty to allow communication from anywhere by "
-"default"
-msgstr "Un sito per riga. Lascia vuoto per permettere la comunicazione con tutti"
-
-#: ../../Zotlabs/Module/Admin.php:762
-msgid "Block communications from these sites"
-msgstr "Blocca la comunicazione da questi siti"
-
-#: ../../Zotlabs/Module/Admin.php:763
-msgid "Allow communications only from these channels"
-msgstr "Permetti la comunicazione solo da questi canali"
-
-#: ../../Zotlabs/Module/Admin.php:763
-msgid ""
-"One channel (hash) per line. Leave empty to allow from any channel by "
-"default"
-msgstr "Un canale (hash) per riga. Lascia vuoto per comunicare con tutti i canali"
-
-#: ../../Zotlabs/Module/Admin.php:764
-msgid "Block communications from these channels"
-msgstr "Blocca la comunicazione da questi canali"
-
-#: ../../Zotlabs/Module/Admin.php:765
-msgid "Only allow embeds from secure (SSL) websites and links."
-msgstr "Permetti di incorporare contenuti solamente da siti sicuri (SSL)."
-
-#: ../../Zotlabs/Module/Admin.php:766
-msgid "Allow unfiltered embedded HTML content only from these domains"
-msgstr "Incorpora i contenuti HTML non filtrati solo da questi domini"
-
-#: ../../Zotlabs/Module/Admin.php:766
-msgid "One site per line. By default embedded content is filtered."
-msgstr "Un sito per riga. Normalmente i contenuti incorporati sono filtrati."
-
-#: ../../Zotlabs/Module/Admin.php:767
-msgid "Block embedded HTML from these domains"
-msgstr "Blocca i contenuti incorporati HTML da questi domini"
-
-#: ../../Zotlabs/Module/Admin.php:785
-msgid "Update has been marked successful"
-msgstr "L'aggiornamento è stato marcato come eseguito."
-
-#: ../../Zotlabs/Module/Admin.php:795
-#, php-format
-msgid "Executing %s failed. Check system logs."
-msgstr "Fallita l'esecuzione di %s. Maggiori informazioni sui log di sistema."
-
-#: ../../Zotlabs/Module/Admin.php:798
-#, php-format
-msgid "Update %s was successfully applied."
-msgstr "L'aggiornamento %s è terminato correttamente."
-
-#: ../../Zotlabs/Module/Admin.php:802
-#, php-format
-msgid "Update %s did not return a status. Unknown if it succeeded."
-msgstr "L'aggiornamento %s non ha dato risposta. Impossibile determinare se è terminato correttamente."
-
-#: ../../Zotlabs/Module/Admin.php:805
-#, php-format
-msgid "Update function %s could not be found."
-msgstr "Impossibile trovare la funzione di aggiornamento %s"
-
-#: ../../Zotlabs/Module/Admin.php:821
-msgid "No failed updates."
-msgstr "Nessun aggiornamento fallito."
-
-#: ../../Zotlabs/Module/Admin.php:825
-msgid "Failed Updates"
-msgstr "Aggiornamenti falliti."
-
-#: ../../Zotlabs/Module/Admin.php:827
-msgid "Mark success (if update was manually applied)"
-msgstr "Marca come eseguito (se applicato manualmente)."
-
-#: ../../Zotlabs/Module/Admin.php:828
-msgid "Attempt to execute this update step automatically"
-msgstr "Tenta di eseguire in automatico questo passaggio dell'aggiornamento."
-
-#: ../../Zotlabs/Module/Admin.php:859
-msgid "Queue Statistics"
-msgstr "Statistiche della coda"
-
-#: ../../Zotlabs/Module/Admin.php:860
-msgid "Total Entries"
-msgstr "Totale"
-
-#: ../../Zotlabs/Module/Admin.php:861
-msgid "Priority"
-msgstr "Priorità"
-
-#: ../../Zotlabs/Module/Admin.php:862
-msgid "Destination URL"
-msgstr "URL di destinazione"
-
-#: ../../Zotlabs/Module/Admin.php:863
-msgid "Mark hub permanently offline"
-msgstr "Questo hub è definitivamente offline"
-
-#: ../../Zotlabs/Module/Admin.php:864
-msgid "Empty queue for this hub"
-msgstr "Svuota la coda per questo hub"
-
-#: ../../Zotlabs/Module/Admin.php:865
-msgid "Last known contact"
-msgstr "Ultimo scambio dati"
-
-#: ../../Zotlabs/Module/Admin.php:901
-#, php-format
-msgid "%s account blocked/unblocked"
-msgid_plural "%s account blocked/unblocked"
-msgstr[0] "Modificato il blocco su %s account"
-msgstr[1] "Modificato il blocco verso %s"
-
-#: ../../Zotlabs/Module/Admin.php:908
-#, php-format
-msgid "%s account deleted"
-msgid_plural "%s accounts deleted"
-msgstr[0] "%s account eliminato"
-msgstr[1] "%s account eliminati"
-
-#: ../../Zotlabs/Module/Admin.php:944
-msgid "Account not found"
-msgstr "Account non trovato"
-
-#: ../../Zotlabs/Module/Admin.php:955
-#, php-format
-msgid "Account '%s' deleted"
-msgstr "Account '%s' eliminato"
-
-#: ../../Zotlabs/Module/Admin.php:963
-#, php-format
-msgid "Account '%s' blocked"
-msgstr "Aggiunto un blocco verso '%s'"
-
-#: ../../Zotlabs/Module/Admin.php:971
-#, php-format
-msgid "Account '%s' unblocked"
-msgstr "Rimosso il blocco verso '%s'"
-
-#: ../../Zotlabs/Module/Admin.php:1031 ../../Zotlabs/Module/Admin.php:1044
-#: ../../include/widgets.php:1477
-msgid "Accounts"
-msgstr "Account"
-
-#: ../../Zotlabs/Module/Admin.php:1033 ../../Zotlabs/Module/Admin.php:1212
-msgid "select all"
-msgstr "seleziona tutti"
-
-#: ../../Zotlabs/Module/Admin.php:1034
-msgid "Registrations waiting for confirm"
-msgstr "Registrazioni in attesa di conferma"
-
-#: ../../Zotlabs/Module/Admin.php:1035
-msgid "Request date"
-msgstr "Data richiesta"
-
-#: ../../Zotlabs/Module/Admin.php:1036
-msgid "No registrations."
-msgstr "Nessuna registrazione."
-
-#: ../../Zotlabs/Module/Admin.php:1038
-msgid "Deny"
-msgstr "Nega"
+#: ../../Zotlabs/Module/Dirsearch.php:25 ../../Zotlabs/Module/Regdir.php:49
+msgid "This site is not a directory server"
+msgstr "Questo non è un directory server"
-#: ../../Zotlabs/Module/Admin.php:1048 ../../include/group.php:267
-msgid "All Channels"
-msgstr "Tutti i canali"
+#: ../../Zotlabs/Module/Dirsearch.php:33
+msgid "This directory server requires an access token"
+msgstr "Questo directory server necessita di un token di autenticazione"
-#: ../../Zotlabs/Module/Admin.php:1049
-msgid "Register date"
-msgstr "Data registrazione"
+#: ../../Zotlabs/Module/Magic.php:71
+msgid "Hub not found."
+msgstr "Hub non trovato."
-#: ../../Zotlabs/Module/Admin.php:1050
-msgid "Last login"
-msgstr "Ultimo accesso"
+#: ../../Zotlabs/Module/Photos.php:82
+msgid "Page owner information could not be retrieved."
+msgstr "Impossibile ottenere informazioni sul proprietario della pagina."
-#: ../../Zotlabs/Module/Admin.php:1051
-msgid "Expires"
-msgstr "Con scadenza"
+#: ../../Zotlabs/Module/Photos.php:97 ../../Zotlabs/Module/Photos.php:734
+#: ../../Zotlabs/Module/Profile_photo.php:115
+#: ../../Zotlabs/Module/Profile_photo.php:212
+#: ../../Zotlabs/Module/Profile_photo.php:311
+#: ../../include/photo/photo_driver.php:728
+msgid "Profile Photos"
+msgstr "Foto del profilo"
-#: ../../Zotlabs/Module/Admin.php:1052
-msgid "Service Class"
-msgstr "Classe dell'account"
+#: ../../Zotlabs/Module/Photos.php:103 ../../Zotlabs/Module/Photos.php:129
+msgid "Album not found."
+msgstr "Album non trovato."
-#: ../../Zotlabs/Module/Admin.php:1054
-msgid ""
-"Selected accounts will be deleted!\\n\\nEverything these accounts had posted"
-" on this site will be permanently deleted!\\n\\nAre you sure?"
-msgstr "Gli account selezionati saranno eliminati!\\n\\nTutto ciò che hanno caricato o pubblicato su questo sito sarà eliminato definitivamente!\\n\\nVuoi confermare?"
+#: ../../Zotlabs/Module/Photos.php:112
+msgid "Delete Album"
+msgstr "Elimina album"
-#: ../../Zotlabs/Module/Admin.php:1055
+#: ../../Zotlabs/Module/Photos.php:133
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 "L'account {0} sarà eliminato!\\n\\nTutto ciò che ha caricato o pubblicato su questo sito sarà eliminato definitivamente!\\n\\nVuoi confermare?"
-
-#: ../../Zotlabs/Module/Admin.php:1091
-#, php-format
-msgid "%s channel censored/uncensored"
-msgid_plural "%s channels censored/uncensored"
-msgstr[0] "Censura modificata per %s canale"
-msgstr[1] "Censura modificata per %s canali"
-
-#: ../../Zotlabs/Module/Admin.php:1100
-#, php-format
-msgid "%s channel code allowed/disallowed"
-msgid_plural "%s channels code allowed/disallowed"
-msgstr[0] "%s canale permette/non permette codice nei contenuti"
-msgstr[1] "%s canali permettono/non permettono codice nei contenuti"
-
-#: ../../Zotlabs/Module/Admin.php:1106
-#, php-format
-msgid "%s channel deleted"
-msgid_plural "%s channels deleted"
-msgstr[0] "%s canale è stato rimosso"
-msgstr[1] "%s canali sono stati rimossi"
+"Multiple storage folders exist with this album name, but within different "
+"directories. Please remove the desired folder or folders using the Files "
+"manager"
+msgstr "Esistono più archivi con il nome di quest'album, ma dentro cartelle diverse. Per favore effettua la rimozione andando nell'Archivio file "
-#: ../../Zotlabs/Module/Admin.php:1126
-msgid "Channel not found"
-msgstr "Canale non trovato"
+#: ../../Zotlabs/Module/Photos.php:190 ../../Zotlabs/Module/Photos.php:1059
+msgid "Delete Photo"
+msgstr "Elimina foto"
-#: ../../Zotlabs/Module/Admin.php:1136
-#, php-format
-msgid "Channel '%s' deleted"
-msgstr "Il canale '%s' è stato rimosso"
+#: ../../Zotlabs/Module/Photos.php:509 ../../Zotlabs/Module/Display.php:17
+#: ../../Zotlabs/Module/Ratings.php:83 ../../Zotlabs/Module/Search.php:17
+#: ../../Zotlabs/Module/Viewconnections.php:23
+#: ../../Zotlabs/Module/Directory.php:63
+msgid "Public access denied."
+msgstr "Accesso pubblico negato."
-#: ../../Zotlabs/Module/Admin.php:1148
-#, php-format
-msgid "Channel '%s' censored"
-msgstr "Applicata una censura al canale '%s'"
+#: ../../Zotlabs/Module/Photos.php:520
+msgid "No photos selected"
+msgstr "Nessuna foto selezionata"
-#: ../../Zotlabs/Module/Admin.php:1148
-#, php-format
-msgid "Channel '%s' uncensored"
-msgstr "Rimossa la censura dal canale '%s'"
+#: ../../Zotlabs/Module/Photos.php:569
+msgid "Access to this item is restricted."
+msgstr "Questo elemento non è visibile a tutti."
-#: ../../Zotlabs/Module/Admin.php:1159
+#: ../../Zotlabs/Module/Photos.php:608
#, php-format
-msgid "Channel '%s' code allowed"
-msgstr "Il canale '%s' permette codice nei contenuti"
+msgid "%1$.2f MB of %2$.2f MB photo storage used."
+msgstr "Hai usato %1$.2f Mb dei %2$.2f Mb di spazio disponibile."
-#: ../../Zotlabs/Module/Admin.php:1159
+#: ../../Zotlabs/Module/Photos.php:611
#, php-format
-msgid "Channel '%s' code disallowed"
-msgstr "Il canale '%s' non permette codice nei contenuti"
-
-#: ../../Zotlabs/Module/Admin.php:1210 ../../include/widgets.php:1478
-msgid "Channels"
-msgstr "Canali"
-
-#: ../../Zotlabs/Module/Admin.php:1214
-msgid "Censor"
-msgstr "Applica censura"
-
-#: ../../Zotlabs/Module/Admin.php:1215
-msgid "Uncensor"
-msgstr "Rimuovi censura"
-
-#: ../../Zotlabs/Module/Admin.php:1216
-msgid "Allow Code"
-msgstr "Permetti codice"
-
-#: ../../Zotlabs/Module/Admin.php:1217
-msgid "Disallow Code"
-msgstr "Non permettere codice"
-
-#: ../../Zotlabs/Module/Admin.php:1218 ../../include/conversation.php:1626
-msgid "Channel"
-msgstr "Canale"
-
-#: ../../Zotlabs/Module/Admin.php:1222
-msgid "UID"
-msgstr "UID"
-
-#: ../../Zotlabs/Module/Admin.php:1226
-msgid ""
-"Selected channels will be deleted!\\n\\nEverything that was posted in these "
-"channels on this site will be permanently deleted!\\n\\nAre you sure?"
-msgstr "I canali selezionati saranno rimossi!\\n\\nTutto ciò che è stato pubblicato su questo server tramite questi canali sarà irreversibilmente eliminato!\\n\\nVuoi confermare?"
-
-#: ../../Zotlabs/Module/Admin.php:1227
-msgid ""
-"The channel {0} will be deleted!\\n\\nEverything that was posted in this "
-"channel on this site will be permanently deleted!\\n\\nAre you sure?"
-msgstr "Il canale {0} sarà rimosso!\\n\\nTutto ciò che è stato pubblicato su questo server tramite questo canale sarà irreversibilmente eliminato!\\n\\nVuoi confermare?"
+msgid "%1$.2f MB photo storage used."
+msgstr "Hai usato %1$.2f Mb del tuo spazio disponibile."
-#: ../../Zotlabs/Module/Admin.php:1284
-#, php-format
-msgid "Plugin %s disabled."
-msgstr "Plugin %s non attivo."
+#: ../../Zotlabs/Module/Photos.php:647
+msgid "Upload Photos"
+msgstr "Carica foto"
-#: ../../Zotlabs/Module/Admin.php:1288
-#, php-format
-msgid "Plugin %s enabled."
-msgstr "Plugin %s attivo."
+#: ../../Zotlabs/Module/Photos.php:651
+msgid "Enter an album name"
+msgstr "Scegli il nome dell'album"
-#: ../../Zotlabs/Module/Admin.php:1298 ../../Zotlabs/Module/Admin.php:1585
-msgid "Disable"
-msgstr "Disattiva"
+#: ../../Zotlabs/Module/Photos.php:652
+msgid "or select an existing album (doubleclick)"
+msgstr "o seleziona un album esistente (doppio click)"
-#: ../../Zotlabs/Module/Admin.php:1301 ../../Zotlabs/Module/Admin.php:1587
-msgid "Enable"
-msgstr "Attiva"
+#: ../../Zotlabs/Module/Photos.php:653
+msgid "Create a status post for this upload"
+msgstr "Pubblica sulla bacheca"
-#: ../../Zotlabs/Module/Admin.php:1330 ../../Zotlabs/Module/Admin.php:1420
-#: ../../include/widgets.php:1481
-msgid "Plugins"
-msgstr "Plugin"
+#: ../../Zotlabs/Module/Photos.php:654
+msgid "Caption (optional):"
+msgstr "Titolo (facoltativo):"
-#: ../../Zotlabs/Module/Admin.php:1331 ../../Zotlabs/Module/Admin.php:1614
-msgid "Toggle"
-msgstr "Attiva/disattiva"
+#: ../../Zotlabs/Module/Photos.php:655
+msgid "Description (optional):"
+msgstr "Descrizione (facoltativa):"
-#: ../../Zotlabs/Module/Admin.php:1332 ../../Zotlabs/Module/Admin.php:1615
-#: ../../Zotlabs/Lib/Apps.php:216 ../../include/nav.php:210
-#: ../../include/widgets.php:647
-msgid "Settings"
-msgstr "Impostazioni"
+#: ../../Zotlabs/Module/Photos.php:686
+msgid "Album name could not be decoded"
+msgstr "Non è stato possibile leggere il nome dell'album"
-#: ../../Zotlabs/Module/Admin.php:1339 ../../Zotlabs/Module/Admin.php:1624
-msgid "Author: "
-msgstr "Autore:"
+#: ../../Zotlabs/Module/Photos.php:734
+msgid "Contact Photos"
+msgstr "Foto dei contatti"
-#: ../../Zotlabs/Module/Admin.php:1340 ../../Zotlabs/Module/Admin.php:1625
-msgid "Maintainer: "
-msgstr "Gestore:"
+#: ../../Zotlabs/Module/Photos.php:757
+msgid "Show Newest First"
+msgstr "Prima i più recenti"
-#: ../../Zotlabs/Module/Admin.php:1341
-msgid "Minimum project version: "
-msgstr "Minima versione hubzilla"
+#: ../../Zotlabs/Module/Photos.php:759
+msgid "Show Oldest First"
+msgstr "Prima i più vecchi"
-#: ../../Zotlabs/Module/Admin.php:1342
-msgid "Maximum project version: "
-msgstr "Massima versione hubzilla"
+#: ../../Zotlabs/Module/Photos.php:783 ../../Zotlabs/Module/Photos.php:1337
+#: ../../Zotlabs/Module/Embedphotos.php:141 ../../include/widgets.php:1677
+msgid "View Photo"
+msgstr "Guarda la foto"
-#: ../../Zotlabs/Module/Admin.php:1343
-msgid "Minimum PHP version: "
-msgstr "Minima versione PHP:"
+#: ../../Zotlabs/Module/Photos.php:814
+#: ../../Zotlabs/Module/Embedphotos.php:157 ../../include/widgets.php:1694
+msgid "Edit Album"
+msgstr "Modifica album"
-#: ../../Zotlabs/Module/Admin.php:1344
-msgid "Requires: "
-msgstr "Necessita di:"
+#: ../../Zotlabs/Module/Photos.php:861
+msgid "Permission denied. Access to this item may be restricted."
+msgstr "Permesso negato. L'accesso a questo elemento può essere stato limitato."
-#: ../../Zotlabs/Module/Admin.php:1345 ../../Zotlabs/Module/Admin.php:1425
-msgid "Disabled - version incompatibility"
-msgstr "Disabilitato - incompatibilità di versione"
+#: ../../Zotlabs/Module/Photos.php:863
+msgid "Photo not available"
+msgstr "Foto non disponibile"
-#: ../../Zotlabs/Module/Admin.php:1394
-msgid "Enter the public git repository URL of the plugin repo."
-msgstr "Inserisci lo URL del repository git dei plugin."
+#: ../../Zotlabs/Module/Photos.php:921
+msgid "Use as profile photo"
+msgstr "Usa come foto del profilo"
-#: ../../Zotlabs/Module/Admin.php:1395
-msgid "Plugin repo git URL"
-msgstr "URL git del repository del plugin"
+#: ../../Zotlabs/Module/Photos.php:922
+msgid "Use as cover photo"
+msgstr "Usa come copertina del canale"
-#: ../../Zotlabs/Module/Admin.php:1396
-msgid "Custom repo name"
-msgstr "Nome repository personalizzato"
+#: ../../Zotlabs/Module/Photos.php:929
+msgid "Private Photo"
+msgstr "Foto privata"
-#: ../../Zotlabs/Module/Admin.php:1396
-msgid "(optional)"
-msgstr "(facoltativo)"
+#: ../../Zotlabs/Module/Photos.php:940 ../../Zotlabs/Module/Cal.php:332
+#: ../../Zotlabs/Module/Cal.php:339 ../../Zotlabs/Module/Events.php:675
+#: ../../Zotlabs/Module/Events.php:684
+msgid "Previous"
+msgstr "Precendente"
-#: ../../Zotlabs/Module/Admin.php:1397
-msgid "Download Plugin Repo"
-msgstr "Scarica il repository del plugin"
+#: ../../Zotlabs/Module/Photos.php:944
+msgid "View Full Size"
+msgstr "Vedi nelle dimensioni originali"
-#: ../../Zotlabs/Module/Admin.php:1404
-msgid "Install new repo"
-msgstr "Installa un nuovo repository"
+#: ../../Zotlabs/Module/Photos.php:1033
+msgid "Edit photo"
+msgstr "Modifica la foto"
-#: ../../Zotlabs/Module/Admin.php:1405 ../../Zotlabs/Lib/Apps.php:334
-msgid "Install"
-msgstr "Installa"
+#: ../../Zotlabs/Module/Photos.php:1035
+msgid "Rotate CW (right)"
+msgstr "Ruota (senso orario)"
-#: ../../Zotlabs/Module/Admin.php:1427
-msgid "Manage Repos"
-msgstr "Gestisci i repository"
+#: ../../Zotlabs/Module/Photos.php:1036
+msgid "Rotate CCW (left)"
+msgstr "Ruota (senso antiorario)"
-#: ../../Zotlabs/Module/Admin.php:1428
-msgid "Installed Plugin Repositories"
-msgstr "Repository per i plugin installati"
+#: ../../Zotlabs/Module/Photos.php:1039
+msgid "Move photo to album"
+msgstr "Sposta la foto in un album"
-#: ../../Zotlabs/Module/Admin.php:1429
-msgid "Install a New Plugin Repository"
-msgstr "Installa un nuovo repository per i plugin"
+#: ../../Zotlabs/Module/Photos.php:1040
+msgid "Enter a new album name"
+msgstr "Inserisci il nome del nuovo album"
-#: ../../Zotlabs/Module/Admin.php:1435 ../../Zotlabs/Module/Settings.php:72
-#: ../../Zotlabs/Module/Settings.php:670 ../../Zotlabs/Lib/Apps.php:334
-msgid "Update"
-msgstr "Aggiorna"
+#: ../../Zotlabs/Module/Photos.php:1041
+msgid "or select an existing one (doubleclick)"
+msgstr "o seleziona uno esistente (doppio click)"
-#: ../../Zotlabs/Module/Admin.php:1436
-msgid "Switch branch"
-msgstr "Cambia branch"
+#: ../../Zotlabs/Module/Photos.php:1044
+msgid "Caption"
+msgstr "Didascalia"
-#: ../../Zotlabs/Module/Admin.php:1550
-msgid "No themes found."
-msgstr "Nessun tema trovato."
+#: ../../Zotlabs/Module/Photos.php:1046
+msgid "Add a Tag"
+msgstr "Aggiungi tag"
-#: ../../Zotlabs/Module/Admin.php:1606
-msgid "Screenshot"
-msgstr "Istantanea dello schermo"
+#: ../../Zotlabs/Module/Photos.php:1054
+msgid "Example: @bob, @Barbara_Jensen, @jim@example.com"
+msgstr "Esempio: @bob, @Barbara_Jensen, @jim@example.com"
-#: ../../Zotlabs/Module/Admin.php:1613 ../../Zotlabs/Module/Admin.php:1647
-#: ../../include/widgets.php:1482
-msgid "Themes"
-msgstr "Temi"
+#: ../../Zotlabs/Module/Photos.php:1057
+msgid "Flag as adult in album view"
+msgstr "Marca come 'per adulti'"
-#: ../../Zotlabs/Module/Admin.php:1652
-msgid "[Experimental]"
-msgstr "[Sperimentale]"
+#: ../../Zotlabs/Module/Photos.php:1076 ../../Zotlabs/Lib/ThreadItem.php:268
+msgid "I like this (toggle)"
+msgstr "Attiva/disattiva Mi piace"
-#: ../../Zotlabs/Module/Admin.php:1653
-msgid "[Unsupported]"
-msgstr "[Non supportato]"
+#: ../../Zotlabs/Module/Photos.php:1077 ../../Zotlabs/Lib/ThreadItem.php:269
+msgid "I don't like this (toggle)"
+msgstr "Attiva/disattiva Non mi piace"
-#: ../../Zotlabs/Module/Admin.php:1677
-msgid "Log settings updated."
-msgstr "Impostazioni di log aggiornate."
+#: ../../Zotlabs/Module/Photos.php:1078 ../../Zotlabs/Module/Blocks.php:161
+#: ../../Zotlabs/Module/Layouts.php:193 ../../Zotlabs/Module/Webpages.php:241
+#: ../../include/conversation.php:1232
+msgid "Share"
+msgstr "Condividi"
-#: ../../Zotlabs/Module/Admin.php:1732 ../../include/widgets.php:1503
-#: ../../include/widgets.php:1513
-msgid "Logs"
-msgstr "Log"
+#: ../../Zotlabs/Module/Photos.php:1079 ../../Zotlabs/Lib/ThreadItem.php:405
+#: ../../include/conversation.php:741
+msgid "Please wait"
+msgstr "Attendere"
-#: ../../Zotlabs/Module/Admin.php:1734
-msgid "Clear"
-msgstr "Pulisci"
+#: ../../Zotlabs/Module/Photos.php:1095 ../../Zotlabs/Module/Photos.php:1213
+#: ../../Zotlabs/Lib/ThreadItem.php:722
+msgid "This is you"
+msgstr "Questo sei tu"
-#: ../../Zotlabs/Module/Admin.php:1740
-msgid "Debugging"
-msgstr "Debugging"
+#: ../../Zotlabs/Module/Photos.php:1097 ../../Zotlabs/Module/Photos.php:1215
+#: ../../Zotlabs/Lib/ThreadItem.php:724 ../../include/js_strings.php:6
+msgid "Comment"
+msgstr "Commento"
-#: ../../Zotlabs/Module/Admin.php:1741
-msgid "Log file"
-msgstr "File di log"
+#: ../../Zotlabs/Module/Photos.php:1099 ../../Zotlabs/Module/Webpages.php:247
+#: ../../Zotlabs/Module/Events.php:473 ../../Zotlabs/Lib/ThreadItem.php:734
+#: ../../include/page_widgets.php:43 ../../include/conversation.php:1201
+msgid "Preview"
+msgstr "Anteprima"
-#: ../../Zotlabs/Module/Admin.php:1741
-msgid ""
-"Must be writable by web server. Relative to your top-level webserver "
-"directory."
-msgstr "Relativo alla directory base del server web. Deve essere scrivibile."
+#: ../../Zotlabs/Module/Photos.php:1113 ../../include/conversation.php:577
+msgctxt "title"
+msgid "Likes"
+msgstr "Mi piace"
-#: ../../Zotlabs/Module/Admin.php:1742
-msgid "Log level"
-msgstr "Livello di log"
+#: ../../Zotlabs/Module/Photos.php:1113 ../../include/conversation.php:577
+msgctxt "title"
+msgid "Dislikes"
+msgstr "Non mi piace"
-#: ../../Zotlabs/Module/Admin.php:2028
-msgid "New Profile Field"
-msgstr "Nuovo campo del profilo"
+#: ../../Zotlabs/Module/Photos.php:1114 ../../include/conversation.php:578
+msgctxt "title"
+msgid "Agree"
+msgstr "D'accordo"
-#: ../../Zotlabs/Module/Admin.php:2029 ../../Zotlabs/Module/Admin.php:2049
-msgid "Field nickname"
-msgstr "Nome breve del campo"
+#: ../../Zotlabs/Module/Photos.php:1114 ../../include/conversation.php:578
+msgctxt "title"
+msgid "Disagree"
+msgstr "Non d'accordo"
-#: ../../Zotlabs/Module/Admin.php:2029 ../../Zotlabs/Module/Admin.php:2049
-msgid "System name of field"
-msgstr "Nome di sistema del campo"
+#: ../../Zotlabs/Module/Photos.php:1114 ../../include/conversation.php:578
+msgctxt "title"
+msgid "Abstain"
+msgstr "Astenuti"
-#: ../../Zotlabs/Module/Admin.php:2030 ../../Zotlabs/Module/Admin.php:2050
-msgid "Input type"
-msgstr "Tipo di dati"
+#: ../../Zotlabs/Module/Photos.php:1115 ../../include/conversation.php:579
+msgctxt "title"
+msgid "Attending"
+msgstr "Partecipano"
-#: ../../Zotlabs/Module/Admin.php:2031 ../../Zotlabs/Module/Admin.php:2051
-msgid "Field Name"
-msgstr "Nome del campo"
+#: ../../Zotlabs/Module/Photos.php:1115 ../../include/conversation.php:579
+msgctxt "title"
+msgid "Not attending"
+msgstr "Non partecipano"
-#: ../../Zotlabs/Module/Admin.php:2031 ../../Zotlabs/Module/Admin.php:2051
-msgid "Label on profile pages"
-msgstr "Etichetta da mostrare sulla pagina del profilo"
+#: ../../Zotlabs/Module/Photos.php:1115 ../../include/conversation.php:579
+msgctxt "title"
+msgid "Might attend"
+msgstr "Forse partecipano"
-#: ../../Zotlabs/Module/Admin.php:2032 ../../Zotlabs/Module/Admin.php:2052
-msgid "Help text"
-msgstr "Testo di aiuto"
+#: ../../Zotlabs/Module/Photos.php:1132 ../../Zotlabs/Module/Photos.php:1144
+#: ../../Zotlabs/Lib/ThreadItem.php:186 ../../Zotlabs/Lib/ThreadItem.php:198
+#: ../../include/conversation.php:1763
+msgid "View all"
+msgstr "Vedi tutto"
-#: ../../Zotlabs/Module/Admin.php:2032 ../../Zotlabs/Module/Admin.php:2052
-msgid "Additional info (optional)"
-msgstr "Informazioni aggiuntive (facoltative)"
+#: ../../Zotlabs/Module/Photos.php:1136 ../../Zotlabs/Lib/ThreadItem.php:190
+#: ../../include/channel.php:1182 ../../include/conversation.php:1787
+#: ../../include/taxonomy.php:403
+msgctxt "noun"
+msgid "Like"
+msgid_plural "Likes"
+msgstr[0] "Mi piace"
+msgstr[1] "Mi piace"
-#: ../../Zotlabs/Module/Admin.php:2042
-msgid "Field definition not found"
-msgstr "Impossibile trovare la definizione del campo"
+#: ../../Zotlabs/Module/Photos.php:1141 ../../Zotlabs/Lib/ThreadItem.php:195
+#: ../../include/conversation.php:1790
+msgctxt "noun"
+msgid "Dislike"
+msgid_plural "Dislikes"
+msgstr[0] "Non mi piace"
+msgstr[1] "Non mi piace"
-#: ../../Zotlabs/Module/Admin.php:2048
-msgid "Edit Profile Field"
-msgstr "Modifica campo del profilo"
+#: ../../Zotlabs/Module/Photos.php:1241
+msgid "Photo Tools"
+msgstr "Gestione foto"
-#: ../../Zotlabs/Module/Admin.php:2106 ../../include/widgets.php:1484
-msgid "Profile Fields"
-msgstr "Campi del profilo"
+#: ../../Zotlabs/Module/Photos.php:1250
+msgid "In This Photo:"
+msgstr "In questa foto:"
-#: ../../Zotlabs/Module/Admin.php:2107
-msgid "Basic Profile Fields"
-msgstr "Campi base del profilo"
+#: ../../Zotlabs/Module/Photos.php:1255
+msgid "Map"
+msgstr "Mappa"
-#: ../../Zotlabs/Module/Admin.php:2108
-msgid "Advanced Profile Fields"
-msgstr "Campi avanzati del profilo"
+#: ../../Zotlabs/Module/Photos.php:1263 ../../Zotlabs/Lib/ThreadItem.php:394
+msgctxt "noun"
+msgid "Likes"
+msgstr "Mi piace"
-#: ../../Zotlabs/Module/Admin.php:2108
-msgid "(In addition to basic fields)"
-msgstr "(In aggiunta ai campi di base)"
+#: ../../Zotlabs/Module/Photos.php:1264 ../../Zotlabs/Lib/ThreadItem.php:395
+msgctxt "noun"
+msgid "Dislikes"
+msgstr "Non mi piace"
-#: ../../Zotlabs/Module/Admin.php:2110
-msgid "All available fields"
-msgstr "Tutti i campi disponibili"
+#: ../../Zotlabs/Module/Photos.php:1269 ../../Zotlabs/Lib/ThreadItem.php:400
+#: ../../include/acl_selectors.php:181
+msgid "Close"
+msgstr "Chiudi"
-#: ../../Zotlabs/Module/Admin.php:2111
-msgid "Custom Fields"
-msgstr "Campi personalizzati"
+#: ../../Zotlabs/Module/Photos.php:1343
+msgid "View Album"
+msgstr "Guarda l'album"
-#: ../../Zotlabs/Module/Admin.php:2115
-msgid "Create Custom Field"
-msgstr "Aggiungi campo personalizzato"
+#: ../../Zotlabs/Module/Photos.php:1354 ../../Zotlabs/Module/Photos.php:1367
+#: ../../Zotlabs/Module/Photos.php:1368
+msgid "Recent Photos"
+msgstr "Foto recenti"
-#: ../../Zotlabs/Module/New_channel.php:128
-#: ../../Zotlabs/Module/Register.php:231
+#: ../../Zotlabs/Module/New_channel.php:134
+#: ../../Zotlabs/Module/Register.php:237
msgid "Name or caption"
msgstr "Nome o titolo"
-#: ../../Zotlabs/Module/New_channel.php:128
-#: ../../Zotlabs/Module/Register.php:231
+#: ../../Zotlabs/Module/New_channel.php:134
+#: ../../Zotlabs/Module/Register.php:237
msgid "Examples: \"Bob Jameson\", \"Lisa and her Horses\", \"Soccer\", \"Aviation Group\""
msgstr "Per esempio: \"Mario Rossi\", \"Lisa e le sue ricette\", \"Il campionato\", \"Il gruppo di escursionismo\""
-#: ../../Zotlabs/Module/New_channel.php:130
-#: ../../Zotlabs/Module/Register.php:233
+#: ../../Zotlabs/Module/New_channel.php:136
+#: ../../Zotlabs/Module/Register.php:239
msgid "Choose a short nickname"
msgstr "Scegli un nome breve"
-#: ../../Zotlabs/Module/New_channel.php:130
-#: ../../Zotlabs/Module/Register.php:233
+#: ../../Zotlabs/Module/New_channel.php:136
+#: ../../Zotlabs/Module/Register.php:239
#, php-format
msgid ""
"Your nickname will be used to create an easy to remember channel address "
"e.g. nickname%s"
msgstr "Il nome breve sarà usato per creare un indirizzo facile da ricordare per il tuo canale, per esempio nickname%s"
-#: ../../Zotlabs/Module/New_channel.php:132
-#: ../../Zotlabs/Module/Register.php:235
+#: ../../Zotlabs/Module/New_channel.php:137
+#: ../../Zotlabs/Module/Register.php:240
msgid "Channel role and privacy"
msgstr "Tipo di canale e privacy"
-#: ../../Zotlabs/Module/New_channel.php:132
-#: ../../Zotlabs/Module/Register.php:235
+#: ../../Zotlabs/Module/New_channel.php:137
+#: ../../Zotlabs/Module/Register.php:240
msgid "Select a channel role with your privacy requirements."
msgstr "Scegli il tipo di canale che vuoi e la privacy da applicare."
-#: ../../Zotlabs/Module/New_channel.php:132
-#: ../../Zotlabs/Module/Register.php:235
+#: ../../Zotlabs/Module/New_channel.php:137
+#: ../../Zotlabs/Module/Register.php:240
msgid "Read more about roles"
msgstr "Maggiori informazioni sui ruoli"
-#: ../../Zotlabs/Module/New_channel.php:135
+#: ../../Zotlabs/Module/New_channel.php:140
msgid "Create Channel"
msgstr "Crea un canale"
-#: ../../Zotlabs/Module/New_channel.php:136
+#: ../../Zotlabs/Module/New_channel.php:141
msgid ""
"A channel is your identity on this network. It can represent a person, a "
"blog, or a forum to name a few. Channels can make connections with other "
"channels to share information with highly detailed permissions."
msgstr "Un canale è la tua identità su questa rete. Può rappresentare una persona, un blog o un forum, per esempio. Il tuo canale può essere in contatto con altri canali per condividere contenuti con permessi anche molto dettagliati."
-#: ../../Zotlabs/Module/New_channel.php:137
+#: ../../Zotlabs/Module/New_channel.php:142
msgid ""
"or <a href=\"import\">import an existing channel</a> from another location."
msgstr "oppure <a href=\"import\">importa un canale esistente</a> da un altro server/hub."
@@ -4586,12 +4716,12 @@ msgstr "L'identificativo della richiesta non è valido."
msgid "Discard"
msgstr "Rifiuta"
-#: ../../Zotlabs/Module/Notifications.php:103 ../../include/nav.php:193
+#: ../../Zotlabs/Module/Notifications.php:103 ../../include/nav.php:196
msgid "Mark all system notifications seen"
msgstr "Segna come lette le notifiche di sistema"
#: ../../Zotlabs/Module/Poke.php:168 ../../Zotlabs/Lib/Apps.php:228
-#: ../../include/conversation.php:963
+#: ../../include/conversation.php:959
msgid "Poke"
msgstr "Poke"
@@ -4619,6 +4749,11 @@ msgstr "Scegli cosa vuoi inviare al destinatario"
msgid "Make this post private"
msgstr "Rendi privato questo post"
+#: ../../Zotlabs/Module/Apps.php:46 ../../include/nav.php:168
+#: ../../include/widgets.php:102
+msgid "Apps"
+msgstr "App"
+
#: ../../Zotlabs/Module/Oexchange.php:27
msgid "Unable to find your hub."
msgstr "Impossibile raggiungere il tuo hub."
@@ -4627,14 +4762,6 @@ msgstr "Impossibile raggiungere il tuo hub."
msgid "Post successful."
msgstr "Inviato!"
-#: ../../Zotlabs/Module/Openid.php:30
-msgid "OpenID protocol error. No ID returned."
-msgstr "Errore del protocollo OpenID. Nessun ID ricevuto in risposta."
-
-#: ../../Zotlabs/Module/Openid.php:193 ../../include/auth.php:285
-msgid "Login failed."
-msgstr "Accesso fallito."
-
#: ../../Zotlabs/Module/Profperm.php:34 ../../Zotlabs/Module/Profperm.php:63
msgid "Invalid profile identifier."
msgstr "Indentificativo del profilo non valido."
@@ -4643,7 +4770,7 @@ msgstr "Indentificativo del profilo non valido."
msgid "Profile Visibility Editor"
msgstr "Modifica la visibilità del profilo"
-#: ../../Zotlabs/Module/Profperm.php:117 ../../include/channel.php:1290
+#: ../../Zotlabs/Module/Profperm.php:117 ../../include/channel.php:1274
msgid "Profile"
msgstr "Profilo"
@@ -4670,11 +4797,6 @@ msgid ""
" to correctly use this feature."
msgstr "Attenzione: alcune delle impostazioni, se cambiate, potrebbero rendere questo canale non funzionante. Lascia questa pagina a meno che tu non sappia con assoluta certezza quali modifiche effettuare."
-#: ../../Zotlabs/Module/Probe.php:28 ../../Zotlabs/Module/Probe.php:32
-#, php-format
-msgid "Fetching URL returns error: %1$s"
-msgstr "La chiamata all'URL restituisce questo errore: %1$s"
-
#: ../../Zotlabs/Module/Siteinfo.php:19
#, php-format
msgid "Version %s"
@@ -4734,73 +4856,103 @@ msgstr "Per consigli, ringraziamenti, ecc. - scrivi a \"redmatrix\" at librelist
msgid "Site Administrators"
msgstr "Amministratori del sito"
-#: ../../Zotlabs/Module/Rmagic.php:44
-msgid ""
-"We encountered a problem while logging in with the OpenID you provided. "
-"Please check the correct spelling of the ID."
-msgstr "Non è possibile effettuare login con l'OpenID che hai fornito. Per favore controlla che sia scritto correttamente."
+#: ../../Zotlabs/Module/Blocks.php:154 ../../include/text.php:2308
+msgid "Blocks"
+msgstr "Block"
-#: ../../Zotlabs/Module/Rmagic.php:44
-msgid "The error message was:"
-msgstr "Messaggio di errore ricevuto:"
+#: ../../Zotlabs/Module/Blocks.php:156
+msgid "Block Title"
+msgstr "Titolo del block"
-#: ../../Zotlabs/Module/Rmagic.php:48
-msgid "Authentication failed."
-msgstr "Autenticazione fallita."
+#: ../../Zotlabs/Module/Layouts.php:183 ../../include/text.php:2310
+msgid "Layouts"
+msgstr "Layout"
-#: ../../Zotlabs/Module/Rmagic.php:88
-msgid "Remote Authentication"
-msgstr "Accedi tramite il tuo hub"
+#: ../../Zotlabs/Module/Layouts.php:185 ../../Zotlabs/Lib/Apps.php:225
+#: ../../include/help.php:47 ../../include/help.php:52
+#: ../../include/nav.php:164
+msgid "Help"
+msgstr "Guida"
-#: ../../Zotlabs/Module/Rmagic.php:89
-msgid "Enter your channel address (e.g. channel@example.com)"
-msgstr "Inserisci l'indirizzo del tuo canale (ad esempio lucia@esempio.com)"
+#: ../../Zotlabs/Module/Layouts.php:185
+msgid "Comanche page description language help"
+msgstr "Guida di Comanche Page Description Language"
-#: ../../Zotlabs/Module/Rmagic.php:90
-msgid "Authenticate"
-msgstr "Accedi"
+#: ../../Zotlabs/Module/Layouts.php:189
+msgid "Layout Description"
+msgstr "Descrizione del layout"
-#: ../../Zotlabs/Module/Pubsites.php:22 ../../include/widgets.php:1337
-msgid "Public Hubs"
-msgstr "Hub pubblici"
+#: ../../Zotlabs/Module/Layouts.php:194
+msgid "Download PDL file"
+msgstr "Scarica il file PDL"
-#: ../../Zotlabs/Module/Pubsites.php:25
-msgid ""
-"The listed hubs allow public registration for the $Projectname network. All "
-"hubs in the network are interlinked so membership on any of them conveys "
-"membership in the network as a whole. Some hubs may require subscription or "
-"provide tiered service plans. The hub itself <strong>may</strong> provide "
-"additional details."
-msgstr "I siti elencati permettono la registrazione libera sulla rete $Projectname. Tutti questi hub sono interconnessi, quindi essere iscritti su uno equivale a una registrazione su tutta la rete. Alcuni siti potrebbero richiedere un abbonamento o dei servizi a pagamento. Per maggiori dettagli visita gli indirizzi nell'elenco."
+#: ../../Zotlabs/Module/Admin.php:97
+msgid "# Accounts"
+msgstr "# account"
-#: ../../Zotlabs/Module/Pubsites.php:31
-msgid "Hub URL"
-msgstr "URL del hub"
+#: ../../Zotlabs/Module/Admin.php:98
+msgid "# blocked accounts"
+msgstr "# account bloccati"
-#: ../../Zotlabs/Module/Pubsites.php:31
-msgid "Access Type"
-msgstr "Tipo di accesso"
+#: ../../Zotlabs/Module/Admin.php:99
+msgid "# expired accounts"
+msgstr "# account scaduti"
-#: ../../Zotlabs/Module/Pubsites.php:31
-msgid "Registration Policy"
-msgstr "Politica di registrazione"
+#: ../../Zotlabs/Module/Admin.php:100
+msgid "# expiring accounts"
+msgstr "# account in scadenza"
-#: ../../Zotlabs/Module/Pubsites.php:31
-msgid "Stats"
-msgstr "Statistiche"
+#: ../../Zotlabs/Module/Admin.php:111
+msgid "# Channels"
+msgstr "# canali"
-#: ../../Zotlabs/Module/Pubsites.php:31
-msgid "Software"
-msgstr "Software"
+#: ../../Zotlabs/Module/Admin.php:112
+msgid "# primary"
+msgstr "# primari"
-#: ../../Zotlabs/Module/Pubsites.php:31 ../../Zotlabs/Module/Ratings.php:103
-#: ../../include/conversation.php:962
-msgid "Ratings"
-msgstr "Valutazioni"
+#: ../../Zotlabs/Module/Admin.php:113
+msgid "# clones"
+msgstr "# cloni"
-#: ../../Zotlabs/Module/Pubsites.php:38
-msgid "Rate"
-msgstr "Valuta"
+#: ../../Zotlabs/Module/Admin.php:119
+msgid "Message queues"
+msgstr "Coda messaggi in uscita"
+
+#: ../../Zotlabs/Module/Admin.php:136
+msgid "Your software should be updated"
+msgstr "Il tuo software necessita di un aggiornamento"
+
+#: ../../Zotlabs/Module/Admin.php:142
+msgid "Summary"
+msgstr "Riepilogo"
+
+#: ../../Zotlabs/Module/Admin.php:145
+msgid "Registered accounts"
+msgstr "Account creati"
+
+#: ../../Zotlabs/Module/Admin.php:146
+msgid "Pending registrations"
+msgstr "Registrazioni da approvare"
+
+#: ../../Zotlabs/Module/Admin.php:147
+msgid "Registered channels"
+msgstr "Canali creati"
+
+#: ../../Zotlabs/Module/Admin.php:148
+msgid "Active plugins"
+msgstr "Plugin attivi"
+
+#: ../../Zotlabs/Module/Admin.php:149
+msgid "Version"
+msgstr "Versione"
+
+#: ../../Zotlabs/Module/Admin.php:150
+msgid "Repository version (master)"
+msgstr "Versione del repository (master)"
+
+#: ../../Zotlabs/Module/Admin.php:151
+msgid "Repository version (dev)"
+msgstr "Versione del repository (dev)"
#: ../../Zotlabs/Module/Profile_photo.php:186
msgid ""
@@ -4812,64 +4964,38 @@ msgstr "Forza l'aggiornamento della pagina o cancella la cache del browser se la
msgid "Upload Profile Photo"
msgstr "Carica la foto del profilo"
-#: ../../Zotlabs/Module/Blocks.php:97 ../../Zotlabs/Module/Blocks.php:155
-#: ../../Zotlabs/Module/Editblock.php:108
-msgid "Block Name"
-msgstr "Nome del block"
-
-#: ../../Zotlabs/Module/Blocks.php:154 ../../include/text.php:2238
-msgid "Blocks"
-msgstr "Block"
-
-#: ../../Zotlabs/Module/Blocks.php:156
-msgid "Block Title"
-msgstr "Titolo del block"
-
-#: ../../Zotlabs/Module/Rate.php:160
-msgid "Website:"
-msgstr "Sito web:"
-
-#: ../../Zotlabs/Module/Rate.php:163
-#, php-format
-msgid "Remote Channel [%s] (not yet known on this site)"
-msgstr "Canale remoto [%s] (non ancora conosciuto da questo sito)"
-
-#: ../../Zotlabs/Module/Rate.php:164
-msgid "Rating (this information is public)"
-msgstr "Valutazione (visibile a tutti)"
-
-#: ../../Zotlabs/Module/Rate.php:165
-msgid "Optionally explain your rating (this information is public)"
-msgstr "Commento alla valutazione (facoltativo, visibile a tutti)"
+#: ../../Zotlabs/Module/Cal.php:69
+msgid "Permissions denied."
+msgstr "Permesso negato."
-#: ../../Zotlabs/Module/Ratings.php:73
-msgid "No ratings"
-msgstr "Nessuna valutazione"
+#: ../../Zotlabs/Module/Cal.php:259 ../../Zotlabs/Module/Events.php:597
+msgid "l, F j"
+msgstr "l j F"
-#: ../../Zotlabs/Module/Ratings.php:104
-msgid "Rating: "
-msgstr "Valutazione:"
+#: ../../Zotlabs/Module/Cal.php:308 ../../Zotlabs/Module/Events.php:646
+#: ../../include/text.php:1762
+msgid "Link to Source"
+msgstr "Link al sito d'origine"
-#: ../../Zotlabs/Module/Ratings.php:105
-msgid "Website: "
-msgstr "Sito web:"
+#: ../../Zotlabs/Module/Cal.php:331 ../../Zotlabs/Module/Events.php:674
+msgid "Edit Event"
+msgstr "Modifica l'evento"
-#: ../../Zotlabs/Module/Ratings.php:107
-msgid "Description: "
-msgstr "Descrizione:"
+#: ../../Zotlabs/Module/Cal.php:331 ../../Zotlabs/Module/Events.php:674
+msgid "Create Event"
+msgstr "Crea un evento"
-#: ../../Zotlabs/Module/Apps.php:47 ../../include/nav.php:165
-#: ../../include/widgets.php:102
-msgid "Apps"
-msgstr "App"
+#: ../../Zotlabs/Module/Cal.php:334 ../../Zotlabs/Module/Events.php:677
+msgid "Export"
+msgstr "Esporta"
-#: ../../Zotlabs/Module/Editblock.php:124 ../../include/conversation.php:1243
-msgid "Title (optional)"
-msgstr "Titolo (facoltativo)"
+#: ../../Zotlabs/Module/Cal.php:337 ../../include/text.php:2332
+msgid "Import"
+msgstr "Importa"
-#: ../../Zotlabs/Module/Editblock.php:133
-msgid "Edit Block"
-msgstr "Modifica il block"
+#: ../../Zotlabs/Module/Cal.php:341 ../../Zotlabs/Module/Events.php:686
+msgid "Today"
+msgstr "Oggi"
#: ../../Zotlabs/Module/Common.php:14
msgid "No channel."
@@ -4883,21 +5009,21 @@ msgstr "Contatti in comune"
msgid "No connections in common."
msgstr "Nessun contatto in comune."
-#: ../../Zotlabs/Module/Rbmark.php:94
-msgid "Select a bookmark folder"
-msgstr "Scegli una cartella di segnalibri"
+#: ../../Zotlabs/Module/Ratings.php:70
+msgid "No ratings"
+msgstr "Nessuna valutazione"
-#: ../../Zotlabs/Module/Rbmark.php:99
-msgid "Save Bookmark"
-msgstr "Salva segnalibro"
+#: ../../Zotlabs/Module/Ratings.php:98
+msgid "Rating: "
+msgstr "Valutazione:"
-#: ../../Zotlabs/Module/Rbmark.php:100
-msgid "URL of bookmark"
-msgstr "URL del segnalibro"
+#: ../../Zotlabs/Module/Ratings.php:99
+msgid "Website: "
+msgstr "Sito web:"
-#: ../../Zotlabs/Module/Rbmark.php:105
-msgid "Or enter new bookmark folder name"
-msgstr "O inserisci il nome di una nuova cartella di segnalibri"
+#: ../../Zotlabs/Module/Ratings.php:101
+msgid "Description: "
+msgstr "Descrizione:"
#: ../../Zotlabs/Module/Register.php:49
msgid "Maximum daily site registrations exceeded. Please try again tomorrow."
@@ -4944,58 +5070,98 @@ msgid ""
"Please try again tomorrow."
msgstr "Questo hub ha superato il numero di registrazioni giornaliere consentite. Prova di nuovo domani."
-#: ../../Zotlabs/Module/Register.php:215
+#: ../../Zotlabs/Module/Register.php:221
msgid "Terms of Service"
msgstr "Condizioni d'Uso"
-#: ../../Zotlabs/Module/Register.php:221
+#: ../../Zotlabs/Module/Register.php:227
#, php-format
msgid "I accept the %s for this website"
msgstr "Accetto le %s di questo sito"
-#: ../../Zotlabs/Module/Register.php:223
+#: ../../Zotlabs/Module/Register.php:229
#, php-format
msgid "I am over 13 years of age and accept the %s for this website"
msgstr "Ho più di 13 anni e accetto le %s di questo sito"
-#: ../../Zotlabs/Module/Register.php:227
+#: ../../Zotlabs/Module/Register.php:233
msgid "Your email address"
msgstr "Il tuo indirizzo email"
-#: ../../Zotlabs/Module/Register.php:228
+#: ../../Zotlabs/Module/Register.php:234
msgid "Choose a password"
msgstr "Scegli una password"
-#: ../../Zotlabs/Module/Register.php:229
+#: ../../Zotlabs/Module/Register.php:235
msgid "Please re-enter your password"
msgstr "Ripeti la password per verifica"
-#: ../../Zotlabs/Module/Register.php:230
+#: ../../Zotlabs/Module/Register.php:236
msgid "Please enter your invitation code"
msgstr "Inserisci il codice dell'invito"
-#: ../../Zotlabs/Module/Register.php:236
+#: ../../Zotlabs/Module/Register.php:241
msgid "no"
msgstr "no"
-#: ../../Zotlabs/Module/Register.php:236
+#: ../../Zotlabs/Module/Register.php:241
msgid "yes"
msgstr "sì"
-#: ../../Zotlabs/Module/Register.php:250
+#: ../../Zotlabs/Module/Register.php:258
msgid "Membership on this site is by invitation only."
msgstr "Per registrarsi su questo hub è necessario un invito."
-#: ../../Zotlabs/Module/Register.php:262 ../../include/nav.php:149
-#: ../../boot.php:1686
+#: ../../Zotlabs/Module/Register.php:270 ../../include/nav.php:152
+#: ../../boot.php:1721
msgid "Register"
msgstr "Registrati"
-#: ../../Zotlabs/Module/Register.php:263
+#: ../../Zotlabs/Module/Register.php:271
msgid ""
"This site may require email verification after submitting this form. If you "
"are returned to a login page, please check your email for instructions."
-msgstr "Dopo aver inviato questo modulo, potrebbe esserti richiesta una verifica via email. Se ti sarà mostrata la pagina di login, segui le istruzioni sull'email per continuare."
+msgstr "Dopo aver inviato questo modulo, potrebbe esserti richiesta una verifica via email. Se comparirà la pagina di login, segui le istruzioni sull'email per continuare."
+
+#: ../../Zotlabs/Module/Help.php:27
+msgid "Documentation Search"
+msgstr "Ricerca nella guida"
+
+#: ../../Zotlabs/Module/Help.php:57
+msgid "$Projectname Documentation"
+msgstr "Guida di $Projectname"
+
+#: ../../Zotlabs/Module/Rbmark.php:94
+msgid "Select a bookmark folder"
+msgstr "Scegli una cartella di segnalibri"
+
+#: ../../Zotlabs/Module/Rbmark.php:99
+msgid "Save Bookmark"
+msgstr "Salva segnalibro"
+
+#: ../../Zotlabs/Module/Rbmark.php:100
+msgid "URL of bookmark"
+msgstr "URL del segnalibro"
+
+#: ../../Zotlabs/Module/Rbmark.php:105
+msgid "Or enter new bookmark folder name"
+msgstr "O inserisci il nome di una nuova cartella di segnalibri"
+
+#: ../../Zotlabs/Module/Rmagic.php:35
+msgid "Authentication failed."
+msgstr "Autenticazione fallita."
+
+#: ../../Zotlabs/Module/Rmagic.php:75
+msgid "Remote Authentication"
+msgstr "Accedi tramite il tuo hub"
+
+#: ../../Zotlabs/Module/Rmagic.php:76
+msgid "Enter your channel address (e.g. channel@example.com)"
+msgstr "Inserisci l'indirizzo del tuo canale (ad esempio lucia@esempio.com)"
+
+#: ../../Zotlabs/Module/Rmagic.php:77
+msgid "Authenticate"
+msgstr "Accedi"
#: ../../Zotlabs/Module/Regmod.php:15
msgid "Please login."
@@ -5012,26 +5178,11 @@ msgid "Remove This Account"
msgstr "Elimina questo account"
#: ../../Zotlabs/Module/Removeaccount.php:58
-#: ../../Zotlabs/Module/Removeme.php:61
-msgid "WARNING: "
-msgstr "ATTENZIONE:"
-
-#: ../../Zotlabs/Module/Removeaccount.php:58
msgid ""
"This account and all its channels will be completely removed from the "
"network. "
msgstr "Questo account e tutti i suoi canali saranno completamente eliminati dalla rete."
-#: ../../Zotlabs/Module/Removeaccount.php:58
-#: ../../Zotlabs/Module/Removeme.php:61
-msgid "This action is permanent and can not be undone!"
-msgstr "Questo comando è definitivo e non può essere annullato!"
-
-#: ../../Zotlabs/Module/Removeaccount.php:59
-#: ../../Zotlabs/Module/Removeme.php:62
-msgid "Please enter your password for verification:"
-msgstr "Inserisci la tua password per verifica:"
-
#: ../../Zotlabs/Module/Removeaccount.php:60
msgid ""
"Remove this account, all its channels and all its channel clones from the "
@@ -5045,37 +5196,62 @@ msgid ""
msgstr "A meno che tu non lo richieda espressamente, solo i canali presenti su questo hub saranno rimossi dalla rete."
#: ../../Zotlabs/Module/Removeaccount.php:61
-#: ../../Zotlabs/Module/Settings.php:759
+#: ../../Zotlabs/Module/Settings/Account.php:128
msgid "Remove Account"
msgstr "Elimina l'account"
-#: ../../Zotlabs/Module/Removeme.php:35
-msgid ""
-"Channel removals are not allowed within 48 hours of changing the account "
-"password."
-msgstr "Non è possibile eliminare un canale prima di 48 ore dall'ultimo cambio password."
+#: ../../Zotlabs/Module/Webpages.php:52
+msgid "Import Webpage Elements"
+msgstr "Importa gli elementi della pagina web"
-#: ../../Zotlabs/Module/Removeme.php:60
-msgid "Remove This Channel"
-msgstr "Elimina questo canale"
+#: ../../Zotlabs/Module/Webpages.php:53
+msgid "Import selected"
+msgstr "Importa i selezionati"
-#: ../../Zotlabs/Module/Removeme.php:61
-msgid "This channel will be completely removed from the network. "
-msgstr "Questo canale sarà completamente eliminato dalla rete."
+#: ../../Zotlabs/Module/Webpages.php:76
+msgid "Export Webpage Elements"
+msgstr "Esporta gli elementi della pagina web"
-#: ../../Zotlabs/Module/Removeme.php:63
-msgid "Remove this channel and all its clones from the network"
-msgstr "Elimina questo canale e tutti i suoi cloni dalla rete"
+#: ../../Zotlabs/Module/Webpages.php:77
+msgid "Export selected"
+msgstr "Esporta i selezionati"
-#: ../../Zotlabs/Module/Removeme.php:63
-msgid ""
-"By default only the instance of the channel located on this hub will be "
-"removed from the network"
-msgstr "L'impostazione predefinita è che sia eliminata solo l'istanza del canale presente su questo hub, non gli eventuali cloni"
+#: ../../Zotlabs/Module/Webpages.php:237 ../../Zotlabs/Lib/Apps.php:218
+#: ../../include/nav.php:109 ../../include/conversation.php:1725
+msgid "Webpages"
+msgstr "Pagine web"
-#: ../../Zotlabs/Module/Removeme.php:64 ../../Zotlabs/Module/Settings.php:1219
-msgid "Remove Channel"
-msgstr "Elimina questo canale"
+#: ../../Zotlabs/Module/Webpages.php:248 ../../include/page_widgets.php:44
+msgid "Actions"
+msgstr "Azioni"
+
+#: ../../Zotlabs/Module/Webpages.php:249 ../../include/page_widgets.php:45
+msgid "Page Link"
+msgstr "Link alla pagina"
+
+#: ../../Zotlabs/Module/Webpages.php:250
+msgid "Page Title"
+msgstr "Titolo della pagina"
+
+#: ../../Zotlabs/Module/Webpages.php:280
+msgid "Invalid file type."
+msgstr "Tipo di file non valido."
+
+#: ../../Zotlabs/Module/Webpages.php:292
+msgid "Error opening zip file"
+msgstr "Errore nell'apertura del file zip"
+
+#: ../../Zotlabs/Module/Webpages.php:303
+msgid "Invalid folder path."
+msgstr "La cartella indicata non è valida."
+
+#: ../../Zotlabs/Module/Webpages.php:330
+msgid "No webpage elements detected."
+msgstr "Nella pagina web non sono presenti elementi."
+
+#: ../../Zotlabs/Module/Webpages.php:405
+msgid "Import complete."
+msgstr "Importazione completata."
#: ../../Zotlabs/Module/Uexport.php:55 ../../Zotlabs/Module/Uexport.php:56
msgid "Export Channel"
@@ -5135,6 +5311,10 @@ msgid ""
" please import or restore these in date order (oldest first)."
msgstr "Questi contenuti potranno essere importati o ripristinati visitando <a href=\"%1$s\">%2$s</a> su qualsiasi sito/hub dove è presente il tuo canale. Per mantenere l'ordinamento originale fai attenzione ad importare i file secondo la data (prima il più vecchio)"
+#: ../../Zotlabs/Module/Editpost.php:35
+msgid "Item is not editable"
+msgstr "L'elemento non è modificabile"
+
#: ../../Zotlabs/Module/Search.php:216
#, php-format
msgid "Items tagged with: %s"
@@ -5145,1415 +5325,1291 @@ msgstr "Elementi taggati con: %s"
msgid "Search results for: %s"
msgstr "Risultati ricerca: %s"
+#: ../../Zotlabs/Module/Events.php:25
+msgid "Calendar entries imported."
+msgstr "Le voci del calendario sono state importate."
+
+#: ../../Zotlabs/Module/Events.php:27
+msgid "No calendar entries found."
+msgstr "Non sono state trovate voci del calendario."
+
+#: ../../Zotlabs/Module/Events.php:104
+msgid "Event can not end before it has started."
+msgstr "Un evento non può terminare prima del suo inizio."
+
+#: ../../Zotlabs/Module/Events.php:106 ../../Zotlabs/Module/Events.php:115
+#: ../../Zotlabs/Module/Events.php:135
+msgid "Unable to generate preview."
+msgstr "Impossibile creare un'anteprima."
+
+#: ../../Zotlabs/Module/Events.php:113
+msgid "Event title and start time are required."
+msgstr "Sono necessari il titolo e l'ora d'inizio dell'evento."
+
+#: ../../Zotlabs/Module/Events.php:133 ../../Zotlabs/Module/Events.php:258
+msgid "Event not found."
+msgstr "Evento non trovato."
+
+#: ../../Zotlabs/Module/Events.php:452
+msgid "Edit event title"
+msgstr "Modifica il titolo dell'evento"
+
+#: ../../Zotlabs/Module/Events.php:452
+msgid "Event title"
+msgstr "Titolo dell'evento"
+
+#: ../../Zotlabs/Module/Events.php:454
+msgid "Categories (comma-separated list)"
+msgstr "Categorie (separate da virgola)"
+
+#: ../../Zotlabs/Module/Events.php:455
+msgid "Edit Category"
+msgstr "Modifica la categoria"
+
+#: ../../Zotlabs/Module/Events.php:455
+msgid "Category"
+msgstr "Categoria"
+
+#: ../../Zotlabs/Module/Events.php:458
+msgid "Edit start date and time"
+msgstr "Modifica data/ora di inizio"
+
+#: ../../Zotlabs/Module/Events.php:458
+msgid "Start date and time"
+msgstr "Data e ora di inizio"
+
+#: ../../Zotlabs/Module/Events.php:459 ../../Zotlabs/Module/Events.php:462
+msgid "Finish date and time are not known or not relevant"
+msgstr "La data e l'ora di fine non sono necessarie"
+
+#: ../../Zotlabs/Module/Events.php:461
+msgid "Edit finish date and time"
+msgstr "Modifica data/ora di fine"
+
+#: ../../Zotlabs/Module/Events.php:461
+msgid "Finish date and time"
+msgstr "Data e ora di fine"
+
+#: ../../Zotlabs/Module/Events.php:463 ../../Zotlabs/Module/Events.php:464
+msgid "Adjust for viewer timezone"
+msgstr "Adatta al fuso orario di chi legge"
+
+#: ../../Zotlabs/Module/Events.php:463
+msgid ""
+"Important for events that happen in a particular place. Not practical for "
+"global holidays."
+msgstr "Importante per eventi che avvengono online ma con un certo fuso orario."
+
+#: ../../Zotlabs/Module/Events.php:465
+msgid "Edit Description"
+msgstr "Modifica la descrizione"
+
+#: ../../Zotlabs/Module/Events.php:467
+msgid "Edit Location"
+msgstr "Modifica il luogo"
+
+#: ../../Zotlabs/Module/Events.php:470 ../../Zotlabs/Module/Events.php:472
+msgid "Share this event"
+msgstr "Condividi questo evento"
+
+#: ../../Zotlabs/Module/Events.php:474 ../../include/conversation.php:1264
+msgid "Permission settings"
+msgstr "Permessi dei tuoi contatti"
+
+#: ../../Zotlabs/Module/Events.php:485
+msgid "Advanced Options"
+msgstr "Opzioni avanzate"
+
+#: ../../Zotlabs/Module/Events.php:619
+msgid "Edit event"
+msgstr "Modifica l'evento"
+
+#: ../../Zotlabs/Module/Events.php:621
+msgid "Delete event"
+msgstr "Elimina l'evento"
+
+#: ../../Zotlabs/Module/Events.php:655
+msgid "calendar"
+msgstr "calendario"
+
+#: ../../Zotlabs/Module/Events.php:681
+msgid "Month"
+msgstr "Mese"
+
+#: ../../Zotlabs/Module/Events.php:682
+msgid "Week"
+msgstr "Settimana"
+
+#: ../../Zotlabs/Module/Events.php:683
+msgid "Day"
+msgstr "Giorno"
+
+#: ../../Zotlabs/Module/Events.php:717
+msgid "Event removed"
+msgstr "Evento eliminato"
+
+#: ../../Zotlabs/Module/Events.php:720
+msgid "Failed to remove event"
+msgstr "Impossibile eliminare l'evento"
+
#: ../../Zotlabs/Module/Service_limits.php:23
msgid "No service class restrictions found."
msgstr "Non esistono restrizioni su questa classe di account."
-#: ../../Zotlabs/Module/Settings.php:64
-msgid "Name is required"
-msgstr "Il nome è obbligatorio"
+#: ../../Zotlabs/Module/Thing.php:114
+msgid "Thing updated"
+msgstr "L'oggetto è stato aggiornato"
-#: ../../Zotlabs/Module/Settings.php:68
-msgid "Key and Secret are required"
-msgstr "Key e Secret sono richiesti"
+#: ../../Zotlabs/Module/Thing.php:166
+msgid "Object store: failed"
+msgstr "Impossibile memorizzare l'oggetto."
-#: ../../Zotlabs/Module/Settings.php:138
+#: ../../Zotlabs/Module/Thing.php:170
+msgid "Thing added"
+msgstr "L'Oggetto è stato aggiunto"
+
+#: ../../Zotlabs/Module/Thing.php:196
#, php-format
-msgid "This channel is limited to %d tokens"
-msgstr "Questo canale è limitato a %d token"
+msgid "OBJ: %1$s %2$s %3$s"
+msgstr "OBJ: %1$s %2$s %3$s"
-#: ../../Zotlabs/Module/Settings.php:144
-msgid "Name and Password are required."
-msgstr "Nome e password sono obbligatori."
+#: ../../Zotlabs/Module/Thing.php:259
+msgid "Show Thing"
+msgstr "Mostra l'oggetto"
-#: ../../Zotlabs/Module/Settings.php:168
-msgid "Token saved."
-msgstr "Token salvato."
+#: ../../Zotlabs/Module/Thing.php:266
+msgid "item not found."
+msgstr "non trovato."
-#: ../../Zotlabs/Module/Settings.php:274
-msgid "Not valid email."
-msgstr "Email non valida."
+#: ../../Zotlabs/Module/Thing.php:299
+msgid "Edit Thing"
+msgstr "Modifica l'oggetto"
-#: ../../Zotlabs/Module/Settings.php:277
-msgid "Protected email address. Cannot change to that email."
-msgstr "È un indirizzo email riservato. Non puoi sceglierlo."
+#: ../../Zotlabs/Module/Thing.php:301 ../../Zotlabs/Module/Thing.php:355
+msgid "Select a profile"
+msgstr "Scegli un profilo"
-#: ../../Zotlabs/Module/Settings.php:286
-msgid "System failure storing new email. Please try again."
-msgstr "Errore di sistema. Non è stato possibile memorizzare il tuo messaggio, riprova per favore."
+#: ../../Zotlabs/Module/Thing.php:305 ../../Zotlabs/Module/Thing.php:358
+msgid "Post an activity"
+msgstr "Pubblica un'attività"
-#: ../../Zotlabs/Module/Settings.php:303
-msgid "Password verification failed."
-msgstr "Verifica della password fallita."
+#: ../../Zotlabs/Module/Thing.php:305 ../../Zotlabs/Module/Thing.php:358
+msgid "Only sends to viewers of the applicable profile"
+msgstr "Invia solo a chi può vedere il profilo scelto"
-#: ../../Zotlabs/Module/Settings.php:310
-msgid "Passwords do not match. Password unchanged."
-msgstr "Le password non corrispondono. Password non cambiata."
+#: ../../Zotlabs/Module/Thing.php:307 ../../Zotlabs/Module/Thing.php:360
+msgid "Name of thing e.g. something"
+msgstr "Nome dell'oggetto"
-#: ../../Zotlabs/Module/Settings.php:314
-msgid "Empty passwords are not allowed. Password unchanged."
-msgstr "Le password non possono essere vuote. Password non cambiata."
+#: ../../Zotlabs/Module/Thing.php:309 ../../Zotlabs/Module/Thing.php:361
+msgid "URL of thing (optional)"
+msgstr "Indirizzo web dell'oggetto (facoltativo)"
-#: ../../Zotlabs/Module/Settings.php:328
-msgid "Password changed."
-msgstr "Password cambiata."
+#: ../../Zotlabs/Module/Thing.php:311 ../../Zotlabs/Module/Thing.php:362
+msgid "URL for photo of thing (optional)"
+msgstr "Indirizzo di un'immagine dell'oggetto (facoltativo)"
-#: ../../Zotlabs/Module/Settings.php:330
-msgid "Password update failed. Please try again."
-msgstr "Modifica password fallita. Prova ancora."
+#: ../../Zotlabs/Module/Thing.php:353
+msgid "Add Thing to your Profile"
+msgstr "Aggiungi l'oggetto al tuo profilo"
-#: ../../Zotlabs/Module/Settings.php:579
-msgid "Settings updated."
-msgstr "Impostazioni aggiornate."
+#: ../../Zotlabs/Module/Item.php:180
+msgid "Unable to locate original post."
+msgstr "Impossibile trovare il messaggio originale."
-#: ../../Zotlabs/Module/Settings.php:643 ../../Zotlabs/Module/Settings.php:669
-#: ../../Zotlabs/Module/Settings.php:705
-msgid "Add application"
-msgstr "Aggiungi una app"
+#: ../../Zotlabs/Module/Item.php:433
+msgid "Empty post discarded."
+msgstr "Il post vuoto è stato ignorato."
-#: ../../Zotlabs/Module/Settings.php:646
-msgid "Name of application"
-msgstr "Nome dell'applicazione"
+#: ../../Zotlabs/Module/Item.php:473
+msgid "Executable content type not permitted to this channel."
+msgstr "I contenuti eseguibili non sono permessi su questo canale."
-#: ../../Zotlabs/Module/Settings.php:647 ../../Zotlabs/Module/Settings.php:673
-msgid "Consumer Key"
-msgstr "Consumer Key"
+#: ../../Zotlabs/Module/Item.php:851
+msgid "Duplicate post suppressed."
+msgstr "I post duplicati sono scartati."
-#: ../../Zotlabs/Module/Settings.php:647 ../../Zotlabs/Module/Settings.php:648
-msgid "Automatically generated - change if desired. Max length 20"
-msgstr "Generato automaticamente - è possibile cambiarlo. Lunghezza massima 20"
+#: ../../Zotlabs/Module/Item.php:986
+msgid "System error. Post not saved."
+msgstr "Errore di sistema. Post non salvato."
-#: ../../Zotlabs/Module/Settings.php:648 ../../Zotlabs/Module/Settings.php:674
-msgid "Consumer Secret"
-msgstr "Consumer Secret"
+#: ../../Zotlabs/Module/Item.php:1107
+msgid "Unable to obtain post information from database."
+msgstr "Impossibile caricare il post dal database."
-#: ../../Zotlabs/Module/Settings.php:649 ../../Zotlabs/Module/Settings.php:675
-msgid "Redirect"
-msgstr "Redirect"
+#: ../../Zotlabs/Module/Item.php:1114
+#, php-format
+msgid "You have reached your limit of %1$.0f top level posts."
+msgstr "Hai raggiunto il limite massimo di %1$.0f post sulla pagina principale."
+
+#: ../../Zotlabs/Module/Item.php:1121
+#, php-format
+msgid "You have reached your limit of %1$.0f webpages."
+msgstr "Hai raggiunto il limite massimo di %1$.0f pagine web."
+
+#: ../../Zotlabs/Module/Sharedwithme.php:98
+msgid "Files: shared with me"
+msgstr "File: condivisi con me"
+
+#: ../../Zotlabs/Module/Sharedwithme.php:100
+msgid "NEW"
+msgstr "NOVITÀ"
+
+#: ../../Zotlabs/Module/Sharedwithme.php:103
+msgid "Remove all files"
+msgstr "Elimina tutti i file"
-#: ../../Zotlabs/Module/Settings.php:649
+#: ../../Zotlabs/Module/Sharedwithme.php:104
+msgid "Remove this file"
+msgstr "Elimina questo file"
+
+#: ../../Zotlabs/Module/Wiki.php:34
+msgid "Not found"
+msgstr "Non trovato"
+
+#: ../../Zotlabs/Module/Wiki.php:97 ../../Zotlabs/Lib/Apps.php:219
+#: ../../include/features.php:99 ../../include/nav.php:111
+#: ../../include/conversation.php:1735 ../../include/conversation.php:1738
+msgid "Wiki"
+msgstr "Wiki"
+
+#: ../../Zotlabs/Module/Wiki.php:98
+msgid "Sandbox"
+msgstr "Sandbox"
+
+#: ../../Zotlabs/Module/Wiki.php:100
msgid ""
-"Redirect URI - leave blank unless your application specifically requires "
-"this"
-msgstr "URI di riderezione - lasciare vuoto se non richiesto specificamente dall'applicazione"
+"\"# Wiki Sandbox\\n\\nContent you **edit** and **preview** here *will not be"
+" saved*.\""
+msgstr "\"# Wiki Sandbox\\n\\nI contenuti che **modifichi** e che vedi in **anteprima** qui *non saranno salvati*.\""
-#: ../../Zotlabs/Module/Settings.php:650 ../../Zotlabs/Module/Settings.php:676
-msgid "Icon url"
-msgstr "Url icona"
+#: ../../Zotlabs/Module/Wiki.php:169
+msgid "Revision Comparison"
+msgstr "Confronto tra revisioni"
-#: ../../Zotlabs/Module/Settings.php:650 ../../Zotlabs/Module/Sources.php:112
-#: ../../Zotlabs/Module/Sources.php:147
-msgid "Optional"
-msgstr "Facoltativo"
+#: ../../Zotlabs/Module/Wiki.php:170
+msgid "Revert"
+msgstr "Ripristina"
-#: ../../Zotlabs/Module/Settings.php:661
-msgid "Application not found."
-msgstr "Applicazione non trovata."
+#: ../../Zotlabs/Module/Wiki.php:201
+msgid "Enter the name of your new wiki:"
+msgstr "Nome della tua nuova pagina wiki:"
-#: ../../Zotlabs/Module/Settings.php:704
-msgid "Connected Apps"
-msgstr "App connesse"
+#: ../../Zotlabs/Module/Wiki.php:202
+msgid "Enter the name of the new page:"
+msgstr "Nome della tua nuova pagina:"
-#: ../../Zotlabs/Module/Settings.php:708
-msgid "Client key starts with"
-msgstr "La client key inizia con"
+#: ../../Zotlabs/Module/Wiki.php:203
+msgid "Enter the new name:"
+msgstr "Nuovo nome:"
-#: ../../Zotlabs/Module/Settings.php:709
-msgid "No name"
-msgstr "Nessun nome"
+#: ../../Zotlabs/Module/Wiki.php:209 ../../include/conversation.php:1153
+msgid "Embed image from photo albums"
+msgstr "Inserisci un'immagine dall'album foto"
-#: ../../Zotlabs/Module/Settings.php:710
-msgid "Remove authorization"
-msgstr "Revoca l'autorizzazione"
+#: ../../Zotlabs/Module/Wiki.php:210 ../../include/conversation.php:1247
+msgid "Embed an image from your albums"
+msgstr "Inserisci un'immagine dai tuoi album"
-#: ../../Zotlabs/Module/Settings.php:723
-msgid "No feature settings configured"
-msgstr "Non hai componenti aggiuntivi da personalizzare"
+#: ../../Zotlabs/Module/Wiki.php:212 ../../include/conversation.php:1249
+#: ../../include/conversation.php:1296
+msgid "OK"
+msgstr "OK"
-#: ../../Zotlabs/Module/Settings.php:730
-msgid "Feature/Addon Settings"
-msgstr "Impostazioni dei componenti aggiuntivi"
+#: ../../Zotlabs/Module/Wiki.php:213 ../../include/conversation.php:1189
+msgid "Choose images to embed"
+msgstr "Scegli le immagini da inserire"
-#: ../../Zotlabs/Module/Settings.php:753
-msgid "Account Settings"
-msgstr "Il tuo account"
+#: ../../Zotlabs/Module/Wiki.php:214 ../../include/conversation.php:1190
+msgid "Choose an album"
+msgstr "Scegli un album"
-#: ../../Zotlabs/Module/Settings.php:754
-msgid "Current Password"
-msgstr "Password attuale"
+#: ../../Zotlabs/Module/Wiki.php:215 ../../include/conversation.php:1191
+msgid "Choose a different album..."
+msgstr "Scegli un altro album..."
-#: ../../Zotlabs/Module/Settings.php:755
-msgid "Enter New Password"
-msgstr "Nuova password"
+#: ../../Zotlabs/Module/Wiki.php:216 ../../include/conversation.php:1192
+msgid "Error getting album list"
+msgstr "Errore nell'ottenere l'elenco degli album"
-#: ../../Zotlabs/Module/Settings.php:756
-msgid "Confirm New Password"
-msgstr "Conferma la nuova password"
+#: ../../Zotlabs/Module/Wiki.php:217 ../../include/conversation.php:1193
+msgid "Error getting photo link"
+msgstr "Errore nell'ottenere il link alla foto"
-#: ../../Zotlabs/Module/Settings.php:756
-msgid "Leave password fields blank unless changing"
-msgstr "Lascia vuoti questi campi per non cambiare la password"
+#: ../../Zotlabs/Module/Wiki.php:218 ../../include/conversation.php:1194
+msgid "Error getting album"
+msgstr "Errore nell'ottenere l'album"
-#: ../../Zotlabs/Module/Settings.php:758
-#: ../../Zotlabs/Module/Settings.php:1136
-msgid "Email Address:"
-msgstr "Indirizzo email:"
+#: ../../Zotlabs/Module/Sources.php:37
+msgid "Failed to create source. No channel selected."
+msgstr "Impossibile creare la sorgente. Nessun canale selezionato."
-#: ../../Zotlabs/Module/Settings.php:760
-msgid "Remove this account including all its channels"
-msgstr "Elimina questo account e tutti i suoi canali"
+#: ../../Zotlabs/Module/Sources.php:51
+msgid "Source created."
+msgstr "Sorgente creata."
-#: ../../Zotlabs/Module/Settings.php:789
+#: ../../Zotlabs/Module/Sources.php:64
+msgid "Source updated."
+msgstr "Sorgente aggiornata."
+
+#: ../../Zotlabs/Module/Sources.php:90
+msgid "*"
+msgstr "*"
+
+#: ../../Zotlabs/Module/Sources.php:96 ../../include/features.php:195
+#: ../../include/widgets.php:672
+msgid "Channel Sources"
+msgstr "Sorgenti del canale"
+
+#: ../../Zotlabs/Module/Sources.php:97
+msgid "Manage remote sources of content for your channel."
+msgstr "Gestisci le sorgenti dei contenuti del tuo canale."
+
+#: ../../Zotlabs/Module/Sources.php:98 ../../Zotlabs/Module/Sources.php:108
+msgid "New Source"
+msgstr "Nuova sorgente"
+
+#: ../../Zotlabs/Module/Sources.php:109 ../../Zotlabs/Module/Sources.php:143
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 the private content."
-msgstr "Usa questo modulo per creare credenziali di accesso temporanee per condividere oggetti con chi non è utente. Queste identità possono essere gestite nelle Access Control List e i visitatori possono usare le credenziali per accedere ai contenuti privati."
+"Import all or selected content from the following channel into this channel "
+"and distribute it according to your channel settings."
+msgstr "Importa nel tuo canale tutti o una parte dei contenuti dal canale seguente."
-#: ../../Zotlabs/Module/Settings.php:791
+#: ../../Zotlabs/Module/Sources.php:110 ../../Zotlabs/Module/Sources.php:144
+msgid "Only import content with these words (one per line)"
+msgstr "Importa solo i contenuti che hanno queste parole (una per riga)"
+
+#: ../../Zotlabs/Module/Sources.php:110 ../../Zotlabs/Module/Sources.php:144
+msgid "Leave blank to import all public content"
+msgstr "Lascia vuoto per importare tutti i contenuti pubblici"
+
+#: ../../Zotlabs/Module/Sources.php:111 ../../Zotlabs/Module/Sources.php:148
+msgid "Channel Name"
+msgstr "Nome del canale"
+
+#: ../../Zotlabs/Module/Sources.php:112 ../../Zotlabs/Module/Sources.php:147
msgid ""
-"You may also provide <em>dropbox</em> style access links to friends and "
-"associates by adding the Login Password to any specific site URL as shown. "
-"Examples:"
-msgstr "Puoi anche fornire un accesso simile a <em>dropbox</em> agli amici o ai colleghi aggiungendo la password all'url che vuoi comunicare, come mostrato sotto. Esempi:"
+"Add the following categories to posts imported from this source (comma "
+"separated)"
+msgstr "Aggiungi le seguenti categorie ai post importati da questa sorgente (separate da virgola)"
-#: ../../Zotlabs/Module/Settings.php:796 ../../include/widgets.php:614
-msgid "Guest Access Tokens"
-msgstr "Token di accesso ospite"
+#: ../../Zotlabs/Module/Sources.php:112 ../../Zotlabs/Module/Sources.php:147
+#: ../../Zotlabs/Module/Settings/Oauth.php:93
+msgid "Optional"
+msgstr "Facoltativo"
-#: ../../Zotlabs/Module/Settings.php:803
-msgid "Login Name"
-msgstr "Nome utente"
+#: ../../Zotlabs/Module/Sources.php:133 ../../Zotlabs/Module/Sources.php:161
+msgid "Source not found."
+msgstr "Sorgente non trovata."
-#: ../../Zotlabs/Module/Settings.php:804
-msgid "Login Password"
-msgstr "Password"
+#: ../../Zotlabs/Module/Sources.php:140
+msgid "Edit Source"
+msgstr "Modifica la sorgente"
-#: ../../Zotlabs/Module/Settings.php:805
-msgid "Expires (yyyy-mm-dd)"
-msgstr "Con scadenza (aaaa-mm-gg)"
+#: ../../Zotlabs/Module/Sources.php:141
+msgid "Delete Source"
+msgstr "Elimina la sorgente"
-#: ../../Zotlabs/Module/Settings.php:830
-msgid "Additional Features"
-msgstr "Funzionalità opzionali"
+#: ../../Zotlabs/Module/Sources.php:169
+msgid "Source removed"
+msgstr "Sorgente eliminata"
-#: ../../Zotlabs/Module/Settings.php:854
-msgid "Connector Settings"
-msgstr "Impostazioni del connettore"
+#: ../../Zotlabs/Module/Sources.php:171
+msgid "Unable to remove source."
+msgstr "Impossibile rimuovere la sorgente."
-#: ../../Zotlabs/Module/Settings.php:893
-msgid "No special theme for mobile devices"
-msgstr "Nessun tema per dispositivi mobili"
+#: ../../Zotlabs/Module/Subthread.php:118
+#, php-format
+msgid "%1$s is following %2$s's %3$s"
+msgstr "%1$s sta seguendo %3$s di %2$s"
-#: ../../Zotlabs/Module/Settings.php:896
+#: ../../Zotlabs/Module/Subthread.php:120
#, php-format
-msgid "%s - (Experimental)"
-msgstr "%s - (Sperimentale)"
+msgid "%1$s stopped following %2$s's %3$s"
+msgstr "%1$s non segue più %3$s di %2$s"
-#: ../../Zotlabs/Module/Settings.php:938
-msgid "Display Settings"
-msgstr "Aspetto"
+#: ../../Zotlabs/Module/Suggest.php:39
+msgid ""
+"No suggestions available. If this is a new site, please try again in 24 "
+"hours."
+msgstr "Nessun suggerimento disponibile. Se questo sito è nuovo, riprova tra 24 ore."
-#: ../../Zotlabs/Module/Settings.php:939
-msgid "Theme Settings"
-msgstr "Impostazioni del tema"
+#: ../../Zotlabs/Module/Suggest.php:58 ../../include/widgets.php:149
+msgid "Ignore/Hide"
+msgstr "Ignora/nascondi"
-#: ../../Zotlabs/Module/Settings.php:940
-msgid "Custom Theme Settings"
-msgstr "Personalizzazione del tema"
+#: ../../Zotlabs/Module/Suggest.php:64 ../../Zotlabs/Module/Directory.php:392
+#: ../../include/contact_widgets.php:24
+msgid "Channel Suggestions"
+msgstr "Canali suggeriti"
-#: ../../Zotlabs/Module/Settings.php:941
-msgid "Content Settings"
-msgstr "Impostazioni dei contenuti"
+#: ../../Zotlabs/Module/Tagger.php:55 ../../include/bbcode.php:263
+msgid "post"
+msgstr "il post"
-#: ../../Zotlabs/Module/Settings.php:947
-msgid "Display Theme:"
-msgstr "Tema per schermi medio grandi:"
+#: ../../Zotlabs/Module/Tagger.php:57 ../../include/text.php:1999
+#: ../../include/conversation.php:150
+msgid "comment"
+msgstr "il commento"
-#: ../../Zotlabs/Module/Settings.php:948
-msgid "Mobile Theme:"
-msgstr "Tema per dispositivi mobili:"
+#: ../../Zotlabs/Module/Tagger.php:100
+#, php-format
+msgid "%1$s tagged %2$s's %3$s with %4$s"
+msgstr "%1$s ha taggato %3$s di %2$s con %4$s"
-#: ../../Zotlabs/Module/Settings.php:949
-msgid "Preload images before rendering the page"
-msgstr "Anticipa il caricamento delle immagini prima del rendering della pagina"
+#: ../../Zotlabs/Module/Tagrm.php:48 ../../Zotlabs/Module/Tagrm.php:98
+msgid "Tag removed"
+msgstr "Tag rimosso"
-#: ../../Zotlabs/Module/Settings.php:949
-msgid ""
-"The subjective page load time will be longer but the page will be ready when"
-" displayed"
-msgstr "Il tempo di caricamento della pagina sarà più lungo ma sarà mostrato il rendering completo"
+#: ../../Zotlabs/Module/Tagrm.php:123
+msgid "Remove Item Tag"
+msgstr "Rimuovi il tag"
-#: ../../Zotlabs/Module/Settings.php:950
-msgid "Enable user zoom on mobile devices"
-msgstr "Attiva la possibilità di fare zoom sui dispositivi mobili"
+#: ../../Zotlabs/Module/Tagrm.php:125
+msgid "Select a tag to remove: "
+msgstr "Seleziona un tag da rimuovere: "
-#: ../../Zotlabs/Module/Settings.php:951
-msgid "Update browser every xx seconds"
-msgstr "Aggiorna il browser ogni x secondi"
+#: ../../Zotlabs/Module/Follow.php:34
+msgid "Channel added."
+msgstr "Canale aggiunto."
-#: ../../Zotlabs/Module/Settings.php:951
-msgid "Minimum of 10 seconds, no maximum"
-msgstr "Minimo 10 secondi, nessun limite massimo"
+#: ../../Zotlabs/Module/Viewconnections.php:65
+msgid "No connections."
+msgstr "Nessun contatto."
-#: ../../Zotlabs/Module/Settings.php:952
-msgid "Maximum number of conversations to load at any time:"
-msgstr "Massimo numero di conversazioni da mostrare ogni volta:"
+#: ../../Zotlabs/Module/Viewconnections.php:78
+#, php-format
+msgid "Visit %s's profile [%s]"
+msgstr "Visita il profilo di %s [%s]"
-#: ../../Zotlabs/Module/Settings.php:952
-msgid "Maximum of 100 items"
-msgstr "Massimo 100"
+#: ../../Zotlabs/Module/Viewconnections.php:107
+msgid "View Connections"
+msgstr "Elenco contatti"
-#: ../../Zotlabs/Module/Settings.php:953
-msgid "Show emoticons (smilies) as images"
-msgstr "Mostra le faccine (smilies) come immagini"
+#: ../../Zotlabs/Module/Viewsrc.php:44
+msgid "Source of Item"
+msgstr "Sorgente"
-#: ../../Zotlabs/Module/Settings.php:954
-msgid "Link post titles to source"
-msgstr "Il link del titolo di un post porta al sito originale"
+#: ../../Zotlabs/Module/Chat.php:181
+msgid "Room not found"
+msgstr "Chat non trovata"
-#: ../../Zotlabs/Module/Settings.php:955
-msgid "System Page Layout Editor - (advanced)"
-msgstr "Modifica i layout di sistema (avanzato)"
+#: ../../Zotlabs/Module/Chat.php:197
+msgid "Leave Room"
+msgstr "Lascia la chat"
-#: ../../Zotlabs/Module/Settings.php:958
-msgid "Use blog/list mode on channel page"
-msgstr "Mostra il canale nella modalità blog"
+#: ../../Zotlabs/Module/Chat.php:198
+msgid "Delete Room"
+msgstr "Elimina questa chat"
-#: ../../Zotlabs/Module/Settings.php:958 ../../Zotlabs/Module/Settings.php:959
-msgid "(comments displayed separately)"
-msgstr "(i commenti sono mostrati separatamente)"
+#: ../../Zotlabs/Module/Chat.php:199
+msgid "I am away right now"
+msgstr "Non sono presente"
-#: ../../Zotlabs/Module/Settings.php:959
-msgid "Use blog/list mode on grid page"
-msgstr "Mostra la tua rete in modalità blog"
+#: ../../Zotlabs/Module/Chat.php:200
+msgid "I am online"
+msgstr "Sono online"
-#: ../../Zotlabs/Module/Settings.php:960
-msgid "Channel page max height of content (in pixels)"
-msgstr "Altezza massima dei contenuti del canale (in pixel)"
+#: ../../Zotlabs/Module/Chat.php:202
+msgid "Bookmark this room"
+msgstr "Aggiungi questa chat ai segnalibri"
-#: ../../Zotlabs/Module/Settings.php:960 ../../Zotlabs/Module/Settings.php:961
-msgid "click to expand content exceeding this height"
-msgstr "dovrai cliccare sul post per mostrare i contenuti di dimensioni maggiori"
+#: ../../Zotlabs/Module/Chat.php:231
+msgid "New Chatroom"
+msgstr "Nuova chat"
-#: ../../Zotlabs/Module/Settings.php:961
-msgid "Grid page max height of content (in pixels)"
-msgstr "Altezza massima dei contenuti della tua rete (in pixel)"
+#: ../../Zotlabs/Module/Chat.php:232
+msgid "Chatroom name"
+msgstr "Nome chat"
+
+#: ../../Zotlabs/Module/Chat.php:233
+msgid "Expiration of chats (minutes)"
+msgstr "Scadenza dei messaggi della chat (minuti)"
+
+#: ../../Zotlabs/Module/Chat.php:249
+#, php-format
+msgid "%1$s's Chatrooms"
+msgstr "Le chat di %1$s"
+
+#: ../../Zotlabs/Module/Chat.php:254
+msgid "No chatrooms available"
+msgstr "Nessuna chat disponibile"
+
+#: ../../Zotlabs/Module/Chat.php:258
+msgid "Expiration"
+msgstr "Scadenza"
+
+#: ../../Zotlabs/Module/Chat.php:259
+msgid "min"
+msgstr "min"
+
+#: ../../Zotlabs/Module/Xchan.php:10
+msgid "Xchan Lookup"
+msgstr "Ricerca canale"
+
+#: ../../Zotlabs/Module/Xchan.php:13
+msgid "Lookup xchan beginning with (or webbie): "
+msgstr "Cerca un canale (o un webbie) che inizia per:"
+
+#: ../../Zotlabs/Module/Directory.php:243
+#, php-format
+msgid "%d rating"
+msgid_plural "%d ratings"
+msgstr[0] "%d valutazione"
+msgstr[1] "%d valutazioni"
+
+#: ../../Zotlabs/Module/Directory.php:254
+msgid "Gender: "
+msgstr "Sesso:"
+
+#: ../../Zotlabs/Module/Directory.php:256
+msgid "Status: "
+msgstr "Stato:"
+
+#: ../../Zotlabs/Module/Directory.php:258
+msgid "Homepage: "
+msgstr "Homepage:"
+
+#: ../../Zotlabs/Module/Directory.php:306 ../../include/channel.php:1207
+msgid "Age:"
+msgstr "Età:"
+
+#: ../../Zotlabs/Module/Directory.php:311 ../../include/channel.php:1049
+#: ../../include/bb2diaspora.php:507 ../../include/event.php:52
+#: ../../include/event.php:84
+msgid "Location:"
+msgstr "Luogo:"
+
+#: ../../Zotlabs/Module/Directory.php:317
+msgid "Description:"
+msgstr "Descrizione:"
+
+#: ../../Zotlabs/Module/Directory.php:322 ../../include/channel.php:1223
+msgid "Hometown:"
+msgstr "Città dove vivo:"
+
+#: ../../Zotlabs/Module/Directory.php:324 ../../include/channel.php:1231
+msgid "About:"
+msgstr "Informazioni:"
+
+#: ../../Zotlabs/Module/Directory.php:326
+msgid "Public Forum:"
+msgstr "Forum pubblico:"
+
+#: ../../Zotlabs/Module/Directory.php:329
+msgid "Keywords: "
+msgstr "Parole chiave:"
+
+#: ../../Zotlabs/Module/Directory.php:332
+msgid "Don't suggest"
+msgstr "Non fornire suggerimenti"
+
+#: ../../Zotlabs/Module/Directory.php:334
+msgid "Common connections:"
+msgstr "Contatti in comune:"
+
+#: ../../Zotlabs/Module/Directory.php:383
+msgid "Global Directory"
+msgstr "Elenchi pubblici globali"
+
+#: ../../Zotlabs/Module/Directory.php:383
+msgid "Local Directory"
+msgstr "Elenco canali su questo hub"
+
+#: ../../Zotlabs/Module/Directory.php:389
+msgid "Finding:"
+msgstr "Ricerca:"
+
+#: ../../Zotlabs/Module/Directory.php:394
+msgid "next page"
+msgstr "pagina successiva"
+
+#: ../../Zotlabs/Module/Directory.php:394
+msgid "previous page"
+msgstr "pagina precedente"
+
+#: ../../Zotlabs/Module/Directory.php:395
+msgid "Sort options"
+msgstr "Opzioni di ordinamento"
+
+#: ../../Zotlabs/Module/Directory.php:396
+msgid "Alphabetic"
+msgstr "Alfabetico"
+
+#: ../../Zotlabs/Module/Directory.php:397
+msgid "Reverse Alphabetic"
+msgstr "Alfabetico inverso"
+
+#: ../../Zotlabs/Module/Directory.php:398
+msgid "Newest to Oldest"
+msgstr "Prima i più recenti"
+
+#: ../../Zotlabs/Module/Directory.php:399
+msgid "Oldest to Newest"
+msgstr "Prima i più vecchi"
+
+#: ../../Zotlabs/Module/Directory.php:416
+msgid "No entries (some entries may be hidden)."
+msgstr "Nessun risultato (qualche elemento potrebbe essere nascosto)."
+
+#: ../../Zotlabs/Module/Settings/Account.php:20
+msgid "Not valid email."
+msgstr "Email non valida."
+
+#: ../../Zotlabs/Module/Settings/Account.php:23
+msgid "Protected email address. Cannot change to that email."
+msgstr "È un indirizzo email riservato. Non puoi sceglierlo."
+
+#: ../../Zotlabs/Module/Settings/Account.php:32
+msgid "System failure storing new email. Please try again."
+msgstr "Errore di sistema. Non è stato possibile memorizzare il tuo messaggio, riprova per favore."
+
+#: ../../Zotlabs/Module/Settings/Account.php:40
+msgid "Technical skill level updated"
+msgstr "Livello tecnico aggiornato"
+
+#: ../../Zotlabs/Module/Settings/Account.php:56
+msgid "Password verification failed."
+msgstr "Verifica della password fallita."
+
+#: ../../Zotlabs/Module/Settings/Account.php:63
+msgid "Passwords do not match. Password unchanged."
+msgstr "Le password non corrispondono. Password non cambiata."
+
+#: ../../Zotlabs/Module/Settings/Account.php:67
+msgid "Empty passwords are not allowed. Password unchanged."
+msgstr "Le password non possono essere vuote. Password non cambiata."
+
+#: ../../Zotlabs/Module/Settings/Account.php:81
+msgid "Password changed."
+msgstr "Password cambiata."
+
+#: ../../Zotlabs/Module/Settings/Account.php:83
+msgid "Password update failed. Please try again."
+msgstr "Modifica password fallita. Prova ancora."
+
+#: ../../Zotlabs/Module/Settings/Account.php:120
+msgid "Account Settings"
+msgstr "Il tuo account"
+
+#: ../../Zotlabs/Module/Settings/Account.php:121
+msgid "Current Password"
+msgstr "Password attuale"
+
+#: ../../Zotlabs/Module/Settings/Account.php:122
+msgid "Enter New Password"
+msgstr "Nuova password"
+
+#: ../../Zotlabs/Module/Settings/Account.php:123
+msgid "Confirm New Password"
+msgstr "Conferma la nuova password"
+
+#: ../../Zotlabs/Module/Settings/Account.php:123
+msgid "Leave password fields blank unless changing"
+msgstr "Lascia vuoti questi campi per non cambiare la password"
+
+#: ../../Zotlabs/Module/Settings/Account.php:124
+msgid "Your technical skill level"
+msgstr "Il tuo livello tecnico"
+
+#: ../../Zotlabs/Module/Settings/Account.php:124
+msgid "Used to provide a member experience matched to your comfort level"
+msgstr "Serve a vedere solo gli aspetti tecnici adeguati alle tue conoscenze"
+
+#: ../../Zotlabs/Module/Settings/Account.php:127
+#: ../../Zotlabs/Module/Settings/Channel.php:459
+msgid "Email Address:"
+msgstr "Indirizzo email:"
-#: ../../Zotlabs/Module/Settings.php:990
+#: ../../Zotlabs/Module/Settings/Account.php:129
+msgid "Remove this account including all its channels"
+msgstr "Elimina questo account e tutti i suoi canali"
+
+#: ../../Zotlabs/Module/Settings/Channel.php:246
+msgid "Settings updated."
+msgstr "Impostazioni aggiornate."
+
+#: ../../Zotlabs/Module/Settings/Channel.php:307
msgid "Nobody except yourself"
msgstr "Nessuno tranne te"
-#: ../../Zotlabs/Module/Settings.php:991
+#: ../../Zotlabs/Module/Settings/Channel.php:308
msgid "Only those you specifically allow"
msgstr "Solo chi riceve il mio permesso"
-#: ../../Zotlabs/Module/Settings.php:992
+#: ../../Zotlabs/Module/Settings/Channel.php:309
msgid "Approved connections"
msgstr "Contatti approvati"
-#: ../../Zotlabs/Module/Settings.php:993
+#: ../../Zotlabs/Module/Settings/Channel.php:310
msgid "Any connections"
msgstr "Tutti i contatti"
-#: ../../Zotlabs/Module/Settings.php:994
+#: ../../Zotlabs/Module/Settings/Channel.php:311
msgid "Anybody on this website"
msgstr "Chiunque su questo hub"
-#: ../../Zotlabs/Module/Settings.php:995
+#: ../../Zotlabs/Module/Settings/Channel.php:312
msgid "Anybody in this network"
msgstr "Chiunque su questa rete"
-#: ../../Zotlabs/Module/Settings.php:996
+#: ../../Zotlabs/Module/Settings/Channel.php:313
msgid "Anybody authenticated"
msgstr "Chiunque abbia effettuato l'accesso"
-#: ../../Zotlabs/Module/Settings.php:997
+#: ../../Zotlabs/Module/Settings/Channel.php:314
msgid "Anybody on the internet"
msgstr "Chiunque su internet"
-#: ../../Zotlabs/Module/Settings.php:1071
+#: ../../Zotlabs/Module/Settings/Channel.php:390
msgid "Publish your default profile in the network directory"
msgstr "Mostra il mio profilo predefinito negli elenchi pubblici dei canali"
-#: ../../Zotlabs/Module/Settings.php:1076
+#: ../../Zotlabs/Module/Settings/Channel.php:395
msgid "Allow us to suggest you as a potential friend to new members?"
msgstr "Vuoi essere suggerito come amico ai nuovi membri?"
-#: ../../Zotlabs/Module/Settings.php:1085
+#: ../../Zotlabs/Module/Settings/Channel.php:404
msgid "Your channel address is"
msgstr "L'indirizzo del tuo canale è"
-#: ../../Zotlabs/Module/Settings.php:1127
+#: ../../Zotlabs/Module/Settings/Channel.php:450
msgid "Channel Settings"
msgstr "Impostazioni del canale"
-#: ../../Zotlabs/Module/Settings.php:1134
+#: ../../Zotlabs/Module/Settings/Channel.php:457
msgid "Basic Settings"
msgstr "Impostazioni di base"
-#: ../../Zotlabs/Module/Settings.php:1135 ../../include/channel.php:1180
+#: ../../Zotlabs/Module/Settings/Channel.php:458
+#: ../../include/channel.php:1164
msgid "Full Name:"
msgstr "Nome completo:"
-#: ../../Zotlabs/Module/Settings.php:1137
+#: ../../Zotlabs/Module/Settings/Channel.php:460
msgid "Your Timezone:"
msgstr "Il tuo fuso orario:"
-#: ../../Zotlabs/Module/Settings.php:1138
+#: ../../Zotlabs/Module/Settings/Channel.php:461
msgid "Default Post Location:"
msgstr "Località predefinita:"
-#: ../../Zotlabs/Module/Settings.php:1138
+#: ../../Zotlabs/Module/Settings/Channel.php:461
msgid "Geographical location to display on your posts"
msgstr "La posizione geografica da mostrare sui tuoi post"
-#: ../../Zotlabs/Module/Settings.php:1139
+#: ../../Zotlabs/Module/Settings/Channel.php:462
msgid "Use Browser Location:"
msgstr "Usa la località rilevata dal browser:"
-#: ../../Zotlabs/Module/Settings.php:1141
+#: ../../Zotlabs/Module/Settings/Channel.php:464
msgid "Adult Content"
msgstr "Contenuto per adulti"
-#: ../../Zotlabs/Module/Settings.php:1141
+#: ../../Zotlabs/Module/Settings/Channel.php:464
msgid ""
"This channel frequently or regularly publishes adult content. (Please tag "
"any adult material and/or nudity with #NSFW)"
msgstr "Questo canale pubblica frequentemente contenuto per adulti. (I contenuti per adulti vanno taggati #NSFW - Not Safe For Work)"
-#: ../../Zotlabs/Module/Settings.php:1143
+#: ../../Zotlabs/Module/Settings/Channel.php:466
msgid "Security and Privacy Settings"
msgstr "Impostazioni di sicurezza e privacy"
-#: ../../Zotlabs/Module/Settings.php:1146
+#: ../../Zotlabs/Module/Settings/Channel.php:469
msgid "Your permissions are already configured. Click to view/adjust"
msgstr "I tuoi permessi sono già stati configurati. Clicca per vederli o modificarli"
-#: ../../Zotlabs/Module/Settings.php:1148
+#: ../../Zotlabs/Module/Settings/Channel.php:471
msgid "Hide my online presence"
msgstr "Nascondi la mia presenza online"
-#: ../../Zotlabs/Module/Settings.php:1148
+#: ../../Zotlabs/Module/Settings/Channel.php:471
msgid "Prevents displaying in your profile that you are online"
msgstr "Non mostrare sul tuo profilo quando sei online"
-#: ../../Zotlabs/Module/Settings.php:1150
+#: ../../Zotlabs/Module/Settings/Channel.php:473
msgid "Simple Privacy Settings:"
msgstr "Impostazioni di privacy semplificate"
-#: ../../Zotlabs/Module/Settings.php:1151
+#: ../../Zotlabs/Module/Settings/Channel.php:474
msgid ""
"Very Public - <em>extremely permissive (should be used with caution)</em>"
msgstr "Tutto pubblico - <em>estremamente permissivo (da usare con cautela)</em>"
-#: ../../Zotlabs/Module/Settings.php:1152
+#: ../../Zotlabs/Module/Settings/Channel.php:475
msgid ""
"Typical - <em>default public, privacy when desired (similar to social "
"network permissions but with improved privacy)</em>"
msgstr "Standard - <em>contenuti normalmente pubblici, ma anche privati se necessario (simile ai social network ma con privacy migliorata)</em>"
-#: ../../Zotlabs/Module/Settings.php:1153
+#: ../../Zotlabs/Module/Settings/Channel.php:476
msgid "Private - <em>default private, never open or public</em>"
msgstr "Privato - <em>contenuti normalmente privati, nulla è aperto o pubblico</em>"
-#: ../../Zotlabs/Module/Settings.php:1154
+#: ../../Zotlabs/Module/Settings/Channel.php:477
msgid "Blocked - <em>default blocked to/from everybody</em>"
msgstr "Bloccato - <em>bloccato in invio e ricezione dei contenuti</em>"
-#: ../../Zotlabs/Module/Settings.php:1156
+#: ../../Zotlabs/Module/Settings/Channel.php:479
msgid "Allow others to tag your posts"
msgstr "Permetti ad altri di taggare i tuoi post"
-#: ../../Zotlabs/Module/Settings.php:1156
+#: ../../Zotlabs/Module/Settings/Channel.php:479
msgid ""
"Often used by the community to retro-actively flag inappropriate content"
msgstr "Usato spesso dalla comunità per marcare contenuti inappropriati già esistenti"
-#: ../../Zotlabs/Module/Settings.php:1158
-msgid "Advanced Privacy Settings"
-msgstr "Impostazioni di privacy avanzate"
+#: ../../Zotlabs/Module/Settings/Channel.php:481
+msgid "Channel Permission Limits"
+msgstr "Limiti sui permessi del canale"
-#: ../../Zotlabs/Module/Settings.php:1160
+#: ../../Zotlabs/Module/Settings/Channel.php:483
msgid "Expire other channel content after this many days"
msgstr "Giorni dopo cui mettere in scadenza gli altri contenuti del canale"
-#: ../../Zotlabs/Module/Settings.php:1160
+#: ../../Zotlabs/Module/Settings/Channel.php:483
msgid "0 or blank to use the website limit."
msgstr "0 o vuoto per usare i valori predefiniti."
-#: ../../Zotlabs/Module/Settings.php:1160
+#: ../../Zotlabs/Module/Settings/Channel.php:483
#, php-format
msgid "This website expires after %d days."
msgstr "Per questo sito la scadenza è %d giorni. "
-#: ../../Zotlabs/Module/Settings.php:1160
+#: ../../Zotlabs/Module/Settings/Channel.php:483
msgid "This website does not expire imported content."
msgstr "I contenuti di questo sito non hanno scadenza."
-#: ../../Zotlabs/Module/Settings.php:1160
+#: ../../Zotlabs/Module/Settings/Channel.php:483
msgid "The website limit takes precedence if lower than your limit."
-msgstr "Il limite del webserver ha la precedenza, se minore di quello impostato da te."
+msgstr "Il limite del server ha la precedenza, se minore di quello impostato da te."
-#: ../../Zotlabs/Module/Settings.php:1161
+#: ../../Zotlabs/Module/Settings/Channel.php:484
msgid "Maximum Friend Requests/Day:"
msgstr "Numero massimo giornaliero di richieste di amicizia:"
-#: ../../Zotlabs/Module/Settings.php:1161
+#: ../../Zotlabs/Module/Settings/Channel.php:484
msgid "May reduce spam activity"
msgstr "Serve a ridurre lo spam"
-#: ../../Zotlabs/Module/Settings.php:1162
-msgid "Default Post and Publish Permissions"
-msgstr "Permessi predefiniti per postare e pubblicare"
+#: ../../Zotlabs/Module/Settings/Channel.php:485
+msgid "Default Access Control List (ACL)"
+msgstr "Lista di accesso ai contenuti (ACL)"
-#: ../../Zotlabs/Module/Settings.php:1164
+#: ../../Zotlabs/Module/Settings/Channel.php:487
msgid "Use my default audience setting for the type of object published"
msgstr "Mostra ai contatti secondo le impostazioni standard per questo tipo di contenuto"
-#: ../../Zotlabs/Module/Settings.php:1167
+#: ../../Zotlabs/Module/Settings/Channel.php:494
msgid "Channel permissions category:"
msgstr "Categorie di permessi dei canali:"
-#: ../../Zotlabs/Module/Settings.php:1173
+#: ../../Zotlabs/Module/Settings/Channel.php:500
msgid "Maximum private messages per day from unknown people:"
msgstr "Numero massimo giornaliero di messaggi privati da utenti sconosciuti:"
-#: ../../Zotlabs/Module/Settings.php:1173
+#: ../../Zotlabs/Module/Settings/Channel.php:500
msgid "Useful to reduce spamming"
msgstr "Serve e ridurre lo spam"
-#: ../../Zotlabs/Module/Settings.php:1176
+#: ../../Zotlabs/Module/Settings/Channel.php:503
msgid "Notification Settings"
msgstr "Impostazioni di notifica"
-#: ../../Zotlabs/Module/Settings.php:1177
+#: ../../Zotlabs/Module/Settings/Channel.php:504
msgid "By default post a status message when:"
msgstr "Pubblica un messaggio di stato quando:"
-#: ../../Zotlabs/Module/Settings.php:1178
+#: ../../Zotlabs/Module/Settings/Channel.php:505
msgid "accepting a friend request"
msgstr "accetto una nuova amicizia"
-#: ../../Zotlabs/Module/Settings.php:1179
+#: ../../Zotlabs/Module/Settings/Channel.php:506
msgid "joining a forum/community"
msgstr "entro a far parte di un forum"
-#: ../../Zotlabs/Module/Settings.php:1180
+#: ../../Zotlabs/Module/Settings/Channel.php:507
msgid "making an <em>interesting</em> profile change"
msgstr "faccio un cambiamento <em>interessante</em> al mio profilo"
-#: ../../Zotlabs/Module/Settings.php:1181
+#: ../../Zotlabs/Module/Settings/Channel.php:508
msgid "Send a notification email when:"
msgstr "Invia una email di notifica quando:"
-#: ../../Zotlabs/Module/Settings.php:1182
+#: ../../Zotlabs/Module/Settings/Channel.php:509
msgid "You receive a connection request"
msgstr "Ricevi una richiesta di entrare in contatto"
-#: ../../Zotlabs/Module/Settings.php:1183
+#: ../../Zotlabs/Module/Settings/Channel.php:510
msgid "Your connections are confirmed"
msgstr "I tuoi contatti sono confermati"
-#: ../../Zotlabs/Module/Settings.php:1184
+#: ../../Zotlabs/Module/Settings/Channel.php:511
msgid "Someone writes on your profile wall"
msgstr "Qualcuno scrive sulla tua bacheca"
-#: ../../Zotlabs/Module/Settings.php:1185
+#: ../../Zotlabs/Module/Settings/Channel.php:512
msgid "Someone writes a followup comment"
msgstr "Qualcuno scrive un commento dopo di te"
-#: ../../Zotlabs/Module/Settings.php:1186
+#: ../../Zotlabs/Module/Settings/Channel.php:513
msgid "You receive a private message"
msgstr "Ricevi un messaggio privato"
-#: ../../Zotlabs/Module/Settings.php:1187
+#: ../../Zotlabs/Module/Settings/Channel.php:514
msgid "You receive a friend suggestion"
msgstr "Ti viene suggerito un amico"
-#: ../../Zotlabs/Module/Settings.php:1188
+#: ../../Zotlabs/Module/Settings/Channel.php:515
msgid "You are tagged in a post"
msgstr "Sei taggato in un post"
-#: ../../Zotlabs/Module/Settings.php:1189
+#: ../../Zotlabs/Module/Settings/Channel.php:516
msgid "You are poked/prodded/etc. in a post"
msgstr "Ricevi un poke in un post"
-#: ../../Zotlabs/Module/Settings.php:1192
+#: ../../Zotlabs/Module/Settings/Channel.php:519
msgid "Show visual notifications including:"
msgstr "Mostra queste notifiche a schermo:"
-#: ../../Zotlabs/Module/Settings.php:1194
+#: ../../Zotlabs/Module/Settings/Channel.php:521
msgid "Unseen grid activity"
msgstr "Nuove attività nella rete"
-#: ../../Zotlabs/Module/Settings.php:1195
+#: ../../Zotlabs/Module/Settings/Channel.php:522
msgid "Unseen channel activity"
msgstr "Novità nei canali"
-#: ../../Zotlabs/Module/Settings.php:1196
+#: ../../Zotlabs/Module/Settings/Channel.php:523
msgid "Unseen private messages"
msgstr "Nuovi messaggi privati"
-#: ../../Zotlabs/Module/Settings.php:1196
-#: ../../Zotlabs/Module/Settings.php:1201
-#: ../../Zotlabs/Module/Settings.php:1202
-#: ../../Zotlabs/Module/Settings.php:1203
+#: ../../Zotlabs/Module/Settings/Channel.php:523
+#: ../../Zotlabs/Module/Settings/Channel.php:528
+#: ../../Zotlabs/Module/Settings/Channel.php:529
+#: ../../Zotlabs/Module/Settings/Channel.php:530
msgid "Recommended"
msgstr "Consigliato"
-#: ../../Zotlabs/Module/Settings.php:1197
+#: ../../Zotlabs/Module/Settings/Channel.php:524
msgid "Upcoming events"
msgstr "Prossimi eventi"
-#: ../../Zotlabs/Module/Settings.php:1198
+#: ../../Zotlabs/Module/Settings/Channel.php:525
msgid "Events today"
msgstr "Eventi di oggi"
-#: ../../Zotlabs/Module/Settings.php:1199
+#: ../../Zotlabs/Module/Settings/Channel.php:526
msgid "Upcoming birthdays"
msgstr "Prossimi compleanni"
-#: ../../Zotlabs/Module/Settings.php:1199
+#: ../../Zotlabs/Module/Settings/Channel.php:526
msgid "Not available in all themes"
msgstr "Non disponibile in tutti i temi"
-#: ../../Zotlabs/Module/Settings.php:1200
+#: ../../Zotlabs/Module/Settings/Channel.php:527
msgid "System (personal) notifications"
msgstr "Notifiche personali dal sistema"
-#: ../../Zotlabs/Module/Settings.php:1201
+#: ../../Zotlabs/Module/Settings/Channel.php:528
msgid "System info messages"
msgstr "Notifiche di sistema"
-#: ../../Zotlabs/Module/Settings.php:1202
+#: ../../Zotlabs/Module/Settings/Channel.php:529
msgid "System critical alerts"
msgstr "Avvisi critici di sistema"
-#: ../../Zotlabs/Module/Settings.php:1203
+#: ../../Zotlabs/Module/Settings/Channel.php:530
msgid "New connections"
msgstr "Nuovi contatti"
-#: ../../Zotlabs/Module/Settings.php:1204
+#: ../../Zotlabs/Module/Settings/Channel.php:531
msgid "System Registrations"
msgstr "Registrazioni"
-#: ../../Zotlabs/Module/Settings.php:1205
+#: ../../Zotlabs/Module/Settings/Channel.php:532
msgid ""
"Also show new wall posts, private messages and connections under Notices"
msgstr "Mostra negli avvisi anche i nuovi post, i messaggi privati e i nuovi contatti"
-#: ../../Zotlabs/Module/Settings.php:1207
+#: ../../Zotlabs/Module/Settings/Channel.php:534
msgid "Notify me of events this many days in advance"
msgstr "Giorni di anticipo per notificare gli eventi"
-#: ../../Zotlabs/Module/Settings.php:1207
+#: ../../Zotlabs/Module/Settings/Channel.php:534
msgid "Must be greater than 0"
msgstr "Maggiore di 0"
-#: ../../Zotlabs/Module/Settings.php:1209
+#: ../../Zotlabs/Module/Settings/Channel.php:536
msgid "Advanced Account/Page Type Settings"
msgstr "Impostazioni avanzate"
-#: ../../Zotlabs/Module/Settings.php:1210
+#: ../../Zotlabs/Module/Settings/Channel.php:537
msgid "Change the behaviour of this account for special situations"
msgstr "Cambia il funzionamento di questo account per necessità particolari"
-#: ../../Zotlabs/Module/Settings.php:1213
-msgid ""
-"Please enable expert mode (in <a href=\"settings/features\">Settings > "
-"Additional features</a>) to adjust!"
-msgstr "Abilita la modalità esperto per fare cambiamenti! (in <a href=\"settings/features\">Impostazioni > Funzionalità opzionali</a>)"
-
-#: ../../Zotlabs/Module/Settings.php:1214
+#: ../../Zotlabs/Module/Settings/Channel.php:539
msgid "Miscellaneous Settings"
msgstr "Impostazioni varie"
-#: ../../Zotlabs/Module/Settings.php:1215
+#: ../../Zotlabs/Module/Settings/Channel.php:540
msgid "Default photo upload folder"
msgstr "Cartella predefinita per le foto caricate"
-#: ../../Zotlabs/Module/Settings.php:1215
-#: ../../Zotlabs/Module/Settings.php:1216
+#: ../../Zotlabs/Module/Settings/Channel.php:540
+#: ../../Zotlabs/Module/Settings/Channel.php:541
msgid "%Y - current year, %m - current month"
msgstr "%Y - anno corrente, %m - mese corrente"
-#: ../../Zotlabs/Module/Settings.php:1216
+#: ../../Zotlabs/Module/Settings/Channel.php:541
msgid "Default file upload folder"
msgstr "Cartella predefinita per i file caricati"
-#: ../../Zotlabs/Module/Settings.php:1218
+#: ../../Zotlabs/Module/Settings/Channel.php:543
msgid "Personal menu to display in your channel pages"
msgstr "Menu personale da mostrare sulle pagine del tuo canale"
-#: ../../Zotlabs/Module/Settings.php:1220
+#: ../../Zotlabs/Module/Settings/Channel.php:545
msgid "Remove this channel."
msgstr "Elimina questo canale."
-#: ../../Zotlabs/Module/Settings.php:1221
+#: ../../Zotlabs/Module/Settings/Channel.php:546
msgid "Firefox Share $Projectname provider"
msgstr "Attiva Firefox Share per $Projectname"
-#: ../../Zotlabs/Module/Settings.php:1222
+#: ../../Zotlabs/Module/Settings/Channel.php:547
msgid "Start calendar week on monday"
msgstr "La settimana inizia il lunedì"
-#: ../../Zotlabs/Module/Setup.php:179
-msgid "$Projectname Server - Setup"
-msgstr "Server $Projectname - Installazione"
-
-#: ../../Zotlabs/Module/Setup.php:183
-msgid "Could not connect to database."
-msgstr " Impossibile connettersi al database."
-
-#: ../../Zotlabs/Module/Setup.php:187
-msgid ""
-"Could not connect to specified site URL. Possible SSL certificate or DNS "
-"issue."
-msgstr "Non è possibile raggiungere l'indirizzo del sito specificato. Potrebbe essere un problema di SSL o DNS."
-
-#: ../../Zotlabs/Module/Setup.php:194
-msgid "Could not create table."
-msgstr "Impossibile creare le tabelle."
-
-#: ../../Zotlabs/Module/Setup.php:199
-msgid "Your site database has been installed."
-msgstr "Il database del sito è stato installato."
-
-#: ../../Zotlabs/Module/Setup.php:203
-msgid ""
-"You may need to import the file \"install/schema_xxx.sql\" manually using a "
-"database client."
-msgstr "Potresti dover importare il file 'install/schema_xxx.sql' manualmente usando un client per collegarti al db."
-
-#: ../../Zotlabs/Module/Setup.php:204 ../../Zotlabs/Module/Setup.php:266
-#: ../../Zotlabs/Module/Setup.php:722
-msgid "Please see the file \"install/INSTALL.txt\"."
-msgstr "Leggi il file 'install/INSTALL.txt'."
-
-#: ../../Zotlabs/Module/Setup.php:263
-msgid "System check"
-msgstr "Verifica del sistema"
-
-#: ../../Zotlabs/Module/Setup.php:268
-msgid "Check again"
-msgstr "Verifica di nuovo"
-
-#: ../../Zotlabs/Module/Setup.php:290
-msgid "Database connection"
-msgstr "Connessione al database"
-
-#: ../../Zotlabs/Module/Setup.php:291
-msgid ""
-"In order to install $Projectname we need to know how to connect to your "
-"database."
-msgstr "Per poter installare $Projectname è necessario fornire i parametri di connessione al tuo database."
-
-#: ../../Zotlabs/Module/Setup.php:292
-msgid ""
-"Please contact your hosting provider or site administrator if you have "
-"questions about these settings."
-msgstr "Contatta il tuo fornitore di hosting o l'amministratore del sito se hai domande su queste impostazioni."
-
-#: ../../Zotlabs/Module/Setup.php:293
-msgid ""
-"The database you specify below should already exist. If it does not, please "
-"create it before continuing."
-msgstr "Il database deve già esistere. Se non esiste, crealo prima di continuare."
-
-#: ../../Zotlabs/Module/Setup.php:297
-msgid "Database Server Name"
-msgstr "Server del database"
-
-#: ../../Zotlabs/Module/Setup.php:297
-msgid "Default is 127.0.0.1"
-msgstr "Il valore predefinito è 127.0.0.1"
-
-#: ../../Zotlabs/Module/Setup.php:298
-msgid "Database Port"
-msgstr "Port del database"
-
-#: ../../Zotlabs/Module/Setup.php:298
-msgid "Communication port number - use 0 for default"
-msgstr "Scrivi 0 per usare il valore standard"
-
-#: ../../Zotlabs/Module/Setup.php:299
-msgid "Database Login Name"
-msgstr "Utente database"
-
-#: ../../Zotlabs/Module/Setup.php:300
-msgid "Database Login Password"
-msgstr "Password database"
-
-#: ../../Zotlabs/Module/Setup.php:301
-msgid "Database Name"
-msgstr "Nome database"
-
-#: ../../Zotlabs/Module/Setup.php:302
-msgid "Database Type"
-msgstr "Tipo database"
-
-#: ../../Zotlabs/Module/Setup.php:304 ../../Zotlabs/Module/Setup.php:344
-msgid "Site administrator email address"
-msgstr "Indirizzo email dell'amministratore del hub"
-
-#: ../../Zotlabs/Module/Setup.php:304 ../../Zotlabs/Module/Setup.php:344
-msgid ""
-"Your account email address must match this in order to use the web admin "
-"panel."
-msgstr "Il tuo indirizzo email deve corrispondere a questo per poter usare il pannello di amministrazione di Hubzilla."
-
-#: ../../Zotlabs/Module/Setup.php:305 ../../Zotlabs/Module/Setup.php:346
-msgid "Website URL"
-msgstr "URL completo del sito"
-
-#: ../../Zotlabs/Module/Setup.php:305 ../../Zotlabs/Module/Setup.php:346
-msgid "Please use SSL (https) URL if available."
-msgstr "Se disponibile, usa l'indirizzo SSL (https)."
-
-#: ../../Zotlabs/Module/Setup.php:306 ../../Zotlabs/Module/Setup.php:349
-msgid "Please select a default timezone for your website"
-msgstr "Seleziona il fuso orario predefinito per il tuo hub"
-
-#: ../../Zotlabs/Module/Setup.php:333
-msgid "Site settings"
-msgstr "Impostazioni del hub"
-
-#: ../../Zotlabs/Module/Setup.php:347
-msgid "Enable $Projectname <strong>advanced</strong> features?"
-msgstr "Vuoi attivare le funzionalità <strong>avanzate</strong> di $Projectname?"
-
-#: ../../Zotlabs/Module/Setup.php:347
-msgid ""
-"Some advanced features, while useful - may be best suited for technically "
-"proficient audiences"
-msgstr "Alcune funzionalità avanzate, per quanto utili, potrebbero essere adatte solo a un pubblico tecnicamente preparato."
-
-#: ../../Zotlabs/Module/Setup.php:388
-msgid "PHP version 5.5 or greater is required."
-msgstr "E' necessario PHP in versione 5.5 o superiore."
-
-#: ../../Zotlabs/Module/Setup.php:389
-msgid "PHP version"
-msgstr "Versione PHP"
-
-#: ../../Zotlabs/Module/Setup.php:404
-msgid "Could not find a command line version of PHP in the web server PATH."
-msgstr "Non è possibile trovare la versione di PHP da riga di comando nel PATH del server web"
-
-#: ../../Zotlabs/Module/Setup.php:405
-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 "Se non hai installata la versione di PHP da riga di comando non potrai attivare il polling in background tramite cron."
-
-#: ../../Zotlabs/Module/Setup.php:409
-msgid "PHP executable path"
-msgstr "Path del comando PHP"
-
-#: ../../Zotlabs/Module/Setup.php:409
-msgid ""
-"Enter full path to php executable. You can leave this blank to continue the "
-"installation."
-msgstr "Inserisci il percorso dell'eseguibile PHP. Puoi lasciarlo vuoto per continuare l'installazione."
-
-#: ../../Zotlabs/Module/Setup.php:414
-msgid "Command line PHP"
-msgstr "PHP da riga di comando"
-
-#: ../../Zotlabs/Module/Setup.php:423
-msgid ""
-"The command line version of PHP on your system does not have "
-"\"register_argc_argv\" enabled."
-msgstr "La versione da riga di comando di PHP nel sistema non ha abilitato \"register_argc_argv\"."
-
-#: ../../Zotlabs/Module/Setup.php:424
-msgid "This is required for message delivery to work."
-msgstr "E' necessario perché funzioni la consegna dei messaggi."
-
-#: ../../Zotlabs/Module/Setup.php:427
-msgid "PHP register_argc_argv"
-msgstr "PHP register_argc_argv"
+#: ../../Zotlabs/Module/Settings/Display.php:135
+msgid "No special theme for mobile devices"
+msgstr "Nessun tema per dispositivi mobili"
-#: ../../Zotlabs/Module/Setup.php:445
+#: ../../Zotlabs/Module/Settings/Display.php:138
#, 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 dimensione massima di un caricamento è impostata a %s. Il singolo file non può superare %s. Ti è permesso caricare max %d file per volta."
-
-#: ../../Zotlabs/Module/Setup.php:450
-msgid "You can adjust these settings in the servers php.ini."
-msgstr "Puoi regolare queste impostazioni sul server in php.ini"
-
-#: ../../Zotlabs/Module/Setup.php:452
-msgid "PHP upload limits"
-msgstr "Limiti PHP in upload"
-
-#: ../../Zotlabs/Module/Setup.php:475
-msgid ""
-"Error: the \"openssl_pkey_new\" function on this system is not able to "
-"generate encryption keys"
-msgstr "Errore: la funzione \"openssl_pkey_new\" su questo sistema non è in grado di generare le chiavi di cifratura"
-
-#: ../../Zotlabs/Module/Setup.php:476
-msgid ""
-"If running under Windows, please see "
-"\"http://www.php.net/manual/en/openssl.installation.php\"."
-msgstr "Se stai usando un server windows, guarda \"http://www.php.net/manual/en/openssl.installation.php\"."
-
-#: ../../Zotlabs/Module/Setup.php:479
-msgid "Generate encryption keys"
-msgstr "Genera chiavi di cifratura"
-
-#: ../../Zotlabs/Module/Setup.php:491
-msgid "libCurl PHP module"
-msgstr "modulo PHP libCurl"
-
-#: ../../Zotlabs/Module/Setup.php:492
-msgid "GD graphics PHP module"
-msgstr "modulo PHP GD graphics"
-
-#: ../../Zotlabs/Module/Setup.php:493
-msgid "OpenSSL PHP module"
-msgstr "modulo PHP OpenSSL"
-
-#: ../../Zotlabs/Module/Setup.php:494
-msgid "mysqli or postgres PHP module"
-msgstr "modulo PHP per mysqli oppure prostgres"
-
-#: ../../Zotlabs/Module/Setup.php:495
-msgid "mb_string PHP module"
-msgstr "modulo PHP mb_string"
+msgid "%s - (Experimental)"
+msgstr "%s - (Sperimentale)"
-#: ../../Zotlabs/Module/Setup.php:496
-msgid "xml PHP module"
-msgstr "modulo xml PHP"
+#: ../../Zotlabs/Module/Settings/Display.php:189
+msgid "Display Settings"
+msgstr "Aspetto"
-#: ../../Zotlabs/Module/Setup.php:500 ../../Zotlabs/Module/Setup.php:502
-msgid "Apache mod_rewrite module"
-msgstr "modulo Apache mod_rewrite"
+#: ../../Zotlabs/Module/Settings/Display.php:190
+msgid "Theme Settings"
+msgstr "Impostazioni del tema"
-#: ../../Zotlabs/Module/Setup.php:500
-msgid ""
-"Error: Apache webserver mod-rewrite module is required but not installed."
-msgstr "Errore: il modulo mod-rewrite di Apache è richiesto ma non installato"
+#: ../../Zotlabs/Module/Settings/Display.php:191
+msgid "Custom Theme Settings"
+msgstr "Personalizzazione del tema"
-#: ../../Zotlabs/Module/Setup.php:506 ../../Zotlabs/Module/Setup.php:509
-msgid "proc_open"
-msgstr "proc_open"
+#: ../../Zotlabs/Module/Settings/Display.php:192
+msgid "Content Settings"
+msgstr "Impostazioni dei contenuti"
-#: ../../Zotlabs/Module/Setup.php:506
-msgid ""
-"Error: proc_open is required but is either not installed or has been "
-"disabled in php.ini"
-msgstr "Errore: proc_open è richiesto ma non è installato o è disabilitato in php.ini"
+#: ../../Zotlabs/Module/Settings/Display.php:198
+msgid "Display Theme:"
+msgstr "Tema per schermi medio grandi:"
-#: ../../Zotlabs/Module/Setup.php:514
-msgid "Error: libCURL PHP module required but not installed."
-msgstr "Errore: il modulo libCURL di PHP è richiesto ma non installato."
+#: ../../Zotlabs/Module/Settings/Display.php:199
+msgid "Select scheme"
+msgstr "Scegli uno schema"
-#: ../../Zotlabs/Module/Setup.php:518
-msgid ""
-"Error: GD graphics PHP module with JPEG support required but not installed."
-msgstr "Errore: Il modulo GD graphics di PHP con supporto a JPEG è richiesto ma non installato."
+#: ../../Zotlabs/Module/Settings/Display.php:201
+msgid "Mobile Theme:"
+msgstr "Tema per dispositivi mobili:"
-#: ../../Zotlabs/Module/Setup.php:522
-msgid "Error: openssl PHP module required but not installed."
-msgstr "Errore: il modulo openssl di PHP è richiesto ma non installato."
+#: ../../Zotlabs/Module/Settings/Display.php:202
+msgid "Preload images before rendering the page"
+msgstr "Carica le immagini prima del rendering della pagina"
-#: ../../Zotlabs/Module/Setup.php:526
+#: ../../Zotlabs/Module/Settings/Display.php:202
msgid ""
-"Error: mysqli or postgres PHP module required but neither are installed."
-msgstr "Errore: il modulo PHP per mysqli o postgres è richiesto ma non installato"
-
-#: ../../Zotlabs/Module/Setup.php:530
-msgid "Error: mb_string PHP module required but not installed."
-msgstr "Errore: il modulo PHP mb_string è richiesto ma non installato."
-
-#: ../../Zotlabs/Module/Setup.php:534
-msgid "Error: xml PHP module required for DAV but not installed."
-msgstr "Errore: il modulo xml PHP è richiesto per DAV ma non è installato."
+"The subjective page load time will be longer but the page will be ready when"
+" displayed"
+msgstr "Il tempo di caricamento della pagina sarà più lungo ma sarà mostrato il rendering completo"
-#: ../../Zotlabs/Module/Setup.php:552
-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 "L'installazione web deve poter creare un file chiamato \".htconfig.php\" nella cartella di Hubzilla ma non è in grado di farlo."
+#: ../../Zotlabs/Module/Settings/Display.php:203
+msgid "Enable user zoom on mobile devices"
+msgstr "Attiva la possibilità di fare zoom sui dispositivi mobili"
-#: ../../Zotlabs/Module/Setup.php:553
-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 "Spesso ciò è dovuto ai permessi di accesso al disco: il web server potrebbe non aver diritto di scrivere il file nella cartella, anche se tu puoi."
+#: ../../Zotlabs/Module/Settings/Display.php:204
+msgid "Update browser every xx seconds"
+msgstr "Aggiorna il browser ogni x secondi"
-#: ../../Zotlabs/Module/Setup.php:554
-msgid ""
-"At the end of this procedure, we will give you a text to save in a file "
-"named .htconfig.php in your Red top folder."
-msgstr "Alla fine di questa procedura ti sarà dato il testo da salvare in un file di nome .htconfig.php dentro la cartella principale di Hubzilla."
+#: ../../Zotlabs/Module/Settings/Display.php:204
+msgid "Minimum of 10 seconds, no maximum"
+msgstr "Minimo 10 secondi, nessun limite massimo"
-#: ../../Zotlabs/Module/Setup.php:555
-msgid ""
-"You can alternatively skip this procedure and perform a manual installation."
-" Please see the file \"install/INSTALL.txt\" for instructions."
-msgstr "Puoi anche saltare questa procedura ed effettuare un'installazione manuale. Guarda il file 'install/INSTALL.txt' per le istruzioni."
+#: ../../Zotlabs/Module/Settings/Display.php:205
+msgid "Maximum number of conversations to load at any time:"
+msgstr "Massimo numero di conversazioni da mostrare ogni volta:"
-#: ../../Zotlabs/Module/Setup.php:558
-msgid ".htconfig.php is writable"
-msgstr ".htconfig.php è scrivibile"
+#: ../../Zotlabs/Module/Settings/Display.php:205
+msgid "Maximum of 100 items"
+msgstr "Massimo 100"
-#: ../../Zotlabs/Module/Setup.php:572
-msgid ""
-"Red uses the Smarty3 template engine to render its web views. Smarty3 "
-"compiles templates to PHP to speed up rendering."
-msgstr "Hubzilla usa il sistema Smarty3 per costruire i suoi template grafici. Smarty3 è molto veloce perché compila i template delle pagine direttamente in PHP."
+#: ../../Zotlabs/Module/Settings/Display.php:206
+msgid "Show emoticons (smilies) as images"
+msgstr "Mostra le faccine (smilies) come immagini"
-#: ../../Zotlabs/Module/Setup.php:573
-#, 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 "Per poter memorizzare questi template, il server web deve avere i diritti di scrittura sulla directory %s"
+#: ../../Zotlabs/Module/Settings/Display.php:207
+msgid "Link post titles to source"
+msgstr "Il link del titolo di un post porta al sito originale"
-#: ../../Zotlabs/Module/Setup.php:574 ../../Zotlabs/Module/Setup.php:595
-msgid ""
-"Please ensure that the user that your web server runs as (e.g. www-data) has"
-" write access to this folder."
-msgstr "Assicurati che il tuo web server sia in esecuzione con un utente che ha diritto di scrittura su quella cartella (ad esempio www-data)."
+#: ../../Zotlabs/Module/Settings/Display.php:208
+msgid "System Page Layout Editor - (advanced)"
+msgstr "Modifica i layout di sistema (avanzato)"
-#: ../../Zotlabs/Module/Setup.php:575
-#, 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 bene: come precauzione, dovresti dare i diritti di scrittura solamente su %s e non sui file template (.tpl) che contiene."
+#: ../../Zotlabs/Module/Settings/Display.php:211
+msgid "Use blog/list mode on channel page"
+msgstr "Mostra il canale nella modalità blog"
-#: ../../Zotlabs/Module/Setup.php:578
-#, php-format
-msgid "%s is writable"
-msgstr "%s è scrivibile"
+#: ../../Zotlabs/Module/Settings/Display.php:211
+#: ../../Zotlabs/Module/Settings/Display.php:212
+msgid "(comments displayed separately)"
+msgstr "(i commenti sono mostrati separatamente)"
-#: ../../Zotlabs/Module/Setup.php:594
-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 Red top "
-"level folder"
-msgstr "Questo software usa la cartella store per salvare i file caricati. Il server web deve avere i diritti di scrittura sulla cartella perché l'operazione avvenga con successo"
+#: ../../Zotlabs/Module/Settings/Display.php:212
+msgid "Use blog/list mode on grid page"
+msgstr "Mostra la tua rete in modalità blog"
-#: ../../Zotlabs/Module/Setup.php:598
-msgid "store is writable"
-msgstr "l'archivio è scrivibile"
+#: ../../Zotlabs/Module/Settings/Display.php:213
+msgid "Channel page max height of content (in pixels)"
+msgstr "Altezza massima dei contenuti del canale (in pixel)"
-#: ../../Zotlabs/Module/Setup.php:631
-msgid ""
-"SSL certificate cannot be validated. Fix certificate or disable https access"
-" to this site."
-msgstr "Il certificato SSL non può essere validato. Correggi l'errore o disabilita l'accesso https al sito."
+#: ../../Zotlabs/Module/Settings/Display.php:213
+#: ../../Zotlabs/Module/Settings/Display.php:214
+msgid "click to expand content exceeding this height"
+msgstr "dovrai cliccare sul post per mostrare i contenuti di dimensioni maggiori"
-#: ../../Zotlabs/Module/Setup.php:632
-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 "Se abiliti https per il tuo sito o permetti connessioni TCP su port 443 (quella di https), DEVI usare un certificato riconosciuto dai browser internet. NON DEVI usare certificati self-signed generati da te!"
+#: ../../Zotlabs/Module/Settings/Display.php:214
+msgid "Grid page max height of content (in pixels)"
+msgstr "Altezza massima dei contenuti della tua rete (in pixel)"
-#: ../../Zotlabs/Module/Setup.php:633
-msgid ""
-"This restriction is incorporated because public posts from you may for "
-"example contain references to images on your own hub."
-msgstr "Questa restrizione è necessaria perché i tuoi post pubblici potrebbero contenere riferimenti a immagini sul tuo server."
+#: ../../Zotlabs/Module/Settings/Featured.php:24
+msgid "No feature settings configured"
+msgstr "Non hai componenti aggiuntivi da personalizzare"
-#: ../../Zotlabs/Module/Setup.php:634
-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 "Se il tuo certificato non è riconosciuto, gli utenti che ti seguono da altri siti (che avranno certificati validi) riceveranno gravi avvisi di sicurezza dal browser."
+#: ../../Zotlabs/Module/Settings/Featured.php:31
+msgid "Feature/Addon Settings"
+msgstr "Impostazioni dei componenti aggiuntivi"
-#: ../../Zotlabs/Module/Setup.php:635
-msgid ""
-"This can cause usability issues elsewhere (not just on your own site) so we "
-"must insist on this requirement."
-msgstr "Ciò può creare seri problemi di usabilità (non solo sul tuo sito), quindi dobbiamo insistere su questo punto."
+#: ../../Zotlabs/Module/Settings/Features.php:45
+msgid "Additional Features"
+msgstr "Funzionalità opzionali"
-#: ../../Zotlabs/Module/Setup.php:636
-msgid ""
-"Providers are available that issue free certificates which are browser-"
-"valid."
-msgstr "Eventualmente, considera che esistono provider che rilasciano certificati gratuiti riconosciuti dai browser."
+#: ../../Zotlabs/Module/Settings/Oauth.php:34
+msgid "Name is required"
+msgstr "Il nome è obbligatorio"
-#: ../../Zotlabs/Module/Setup.php:638
-msgid ""
-"If you are confident that the certificate is valid and signed by a trusted "
-"authority, check to see if you have failed to install an intermediate cert. "
-"These are not normally required by browsers, but are required for server-to-"
-"server communications."
-msgstr "Se credi che il certificato sia valido e firmato da una authority, verifica se hai sbagliato a installare i certificati intermedi. Normalmente non sono richiesti dai browser, ma sono necessari per la comunicazione server-to-server."
+#: ../../Zotlabs/Module/Settings/Oauth.php:38
+msgid "Key and Secret are required"
+msgstr "Key e Secret sono richiesti"
-#: ../../Zotlabs/Module/Setup.php:641
-msgid "SSL certificate validation"
-msgstr "Validazione del certificato SSL"
+#: ../../Zotlabs/Module/Settings/Oauth.php:86
+#: ../../Zotlabs/Module/Settings/Oauth.php:112
+#: ../../Zotlabs/Module/Settings/Oauth.php:148
+msgid "Add application"
+msgstr "Aggiungi una app"
-#: ../../Zotlabs/Module/Setup.php:647
-msgid ""
-"Url rewrite in .htaccess is not working. Check your server "
-"configuration.Test: "
-msgstr "In .htaccess la funzionalità url rewrite non funziona. Controlla la configurazione del server. Test:"
+#: ../../Zotlabs/Module/Settings/Oauth.php:89
+msgid "Name of application"
+msgstr "Nome dell'applicazione"
-#: ../../Zotlabs/Module/Setup.php:650
-msgid "Url rewrite is working"
-msgstr "Url rewrite funziona correttamente"
+#: ../../Zotlabs/Module/Settings/Oauth.php:90
+#: ../../Zotlabs/Module/Settings/Oauth.php:116
+msgid "Consumer Key"
+msgstr "Consumer Key"
-#: ../../Zotlabs/Module/Setup.php:659
-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 "Il file di configurazione del database \".htconfig.php\" non puo' essere scritto. Usa il testo qui di seguito per creare questo file di configurazione nella cartella principale del tuo sito."
+#: ../../Zotlabs/Module/Settings/Oauth.php:90
+#: ../../Zotlabs/Module/Settings/Oauth.php:91
+msgid "Automatically generated - change if desired. Max length 20"
+msgstr "Generato automaticamente - è possibile cambiarlo. Lunghezza massima 20"
-#: ../../Zotlabs/Module/Setup.php:683
-msgid "Errors encountered creating database tables."
-msgstr "La creazione delle tabelle del database ha generato errori."
+#: ../../Zotlabs/Module/Settings/Oauth.php:91
+#: ../../Zotlabs/Module/Settings/Oauth.php:117
+msgid "Consumer Secret"
+msgstr "Consumer Secret"
-#: ../../Zotlabs/Module/Setup.php:720
-msgid "<h1>What next</h1>"
-msgstr "<h1>I prossimi passi</h1>"
+#: ../../Zotlabs/Module/Settings/Oauth.php:92
+#: ../../Zotlabs/Module/Settings/Oauth.php:118
+msgid "Redirect"
+msgstr "Redirect"
-#: ../../Zotlabs/Module/Setup.php:721
+#: ../../Zotlabs/Module/Settings/Oauth.php:92
msgid ""
-"IMPORTANT: You will need to [manually] setup a scheduled task for the "
-"poller."
-msgstr "IMPORTANTE: Devi creare [manualmente] la pianificazione del polling."
-
-#: ../../Zotlabs/Module/Sharedwithme.php:98
-msgid "Files: shared with me"
-msgstr "File: condivisi con me"
+"Redirect URI - leave blank unless your application specifically requires "
+"this"
+msgstr "URI di riderezione - lasciare vuoto se non richiesto specificamente dall'applicazione"
-#: ../../Zotlabs/Module/Sharedwithme.php:100
-msgid "NEW"
-msgstr "NOVITÀ"
+#: ../../Zotlabs/Module/Settings/Oauth.php:93
+#: ../../Zotlabs/Module/Settings/Oauth.php:119
+msgid "Icon url"
+msgstr "Url icona"
-#: ../../Zotlabs/Module/Sharedwithme.php:103
-msgid "Remove all files"
-msgstr "Elimina tutti i file"
+#: ../../Zotlabs/Module/Settings/Oauth.php:104
+msgid "Application not found."
+msgstr "Applicazione non trovata."
-#: ../../Zotlabs/Module/Sharedwithme.php:104
-msgid "Remove this file"
-msgstr "Elimina questo file"
+#: ../../Zotlabs/Module/Settings/Oauth.php:147
+msgid "Connected Apps"
+msgstr "App connesse"
-#: ../../Zotlabs/Module/Thing.php:114
-msgid "Thing updated"
-msgstr "L'oggetto è stato aggiornato"
+#: ../../Zotlabs/Module/Settings/Oauth.php:151
+msgid "Client key starts with"
+msgstr "La client key inizia con"
-#: ../../Zotlabs/Module/Thing.php:166
-msgid "Object store: failed"
-msgstr "Impossibile memorizzare l'oggetto."
+#: ../../Zotlabs/Module/Settings/Oauth.php:152
+msgid "No name"
+msgstr "Nessun nome"
-#: ../../Zotlabs/Module/Thing.php:170
-msgid "Thing added"
-msgstr "L'Oggetto è stato aggiunto"
+#: ../../Zotlabs/Module/Settings/Oauth.php:153
+msgid "Remove authorization"
+msgstr "Revoca l'autorizzazione"
-#: ../../Zotlabs/Module/Thing.php:196
+#: ../../Zotlabs/Module/Settings/Tokens.php:31
#, php-format
-msgid "OBJ: %1$s %2$s %3$s"
-msgstr "OBJ: %1$s %2$s %3$s"
-
-#: ../../Zotlabs/Module/Thing.php:259
-msgid "Show Thing"
-msgstr "Mostra l'oggetto"
-
-#: ../../Zotlabs/Module/Thing.php:266
-msgid "item not found."
-msgstr "non trovato."
-
-#: ../../Zotlabs/Module/Thing.php:299
-msgid "Edit Thing"
-msgstr "Modifica l'oggetto"
-
-#: ../../Zotlabs/Module/Thing.php:301 ../../Zotlabs/Module/Thing.php:351
-msgid "Select a profile"
-msgstr "Scegli un profilo"
-
-#: ../../Zotlabs/Module/Thing.php:305 ../../Zotlabs/Module/Thing.php:354
-msgid "Post an activity"
-msgstr "Pubblica un'attività"
-
-#: ../../Zotlabs/Module/Thing.php:305 ../../Zotlabs/Module/Thing.php:354
-msgid "Only sends to viewers of the applicable profile"
-msgstr "Invia solo a chi può vedere il profilo scelto"
-
-#: ../../Zotlabs/Module/Thing.php:307 ../../Zotlabs/Module/Thing.php:356
-msgid "Name of thing e.g. something"
-msgstr "Nome dell'oggetto"
-
-#: ../../Zotlabs/Module/Thing.php:309 ../../Zotlabs/Module/Thing.php:357
-msgid "URL of thing (optional)"
-msgstr "Indirizzo web dell'oggetto (facoltativo)"
-
-#: ../../Zotlabs/Module/Thing.php:311 ../../Zotlabs/Module/Thing.php:358
-msgid "URL for photo of thing (optional)"
-msgstr "Indirizzo di un'immagine dell'oggetto (facoltativo)"
-
-#: ../../Zotlabs/Module/Thing.php:349
-msgid "Add Thing to your Profile"
-msgstr "Aggiungi l'oggetto al tuo profilo"
-
-#: ../../Zotlabs/Module/Sources.php:37
-msgid "Failed to create source. No channel selected."
-msgstr "Impossibile creare la sorgente. Nessun canale selezionato."
-
-#: ../../Zotlabs/Module/Sources.php:51
-msgid "Source created."
-msgstr "Sorgente creata."
-
-#: ../../Zotlabs/Module/Sources.php:64
-msgid "Source updated."
-msgstr "Sorgente aggiornata."
-
-#: ../../Zotlabs/Module/Sources.php:90
-msgid "*"
-msgstr "*"
-
-#: ../../Zotlabs/Module/Sources.php:96 ../../include/features.php:72
-#: ../../include/widgets.php:639
-msgid "Channel Sources"
-msgstr "Sorgenti del canale"
-
-#: ../../Zotlabs/Module/Sources.php:97
-msgid "Manage remote sources of content for your channel."
-msgstr "Gestisci le sorgenti dei contenuti del tuo canale."
-
-#: ../../Zotlabs/Module/Sources.php:98 ../../Zotlabs/Module/Sources.php:108
-msgid "New Source"
-msgstr "Nuova sorgente"
-
-#: ../../Zotlabs/Module/Sources.php:109 ../../Zotlabs/Module/Sources.php:143
-msgid ""
-"Import all or selected content from the following channel into this channel "
-"and distribute it according to your channel settings."
-msgstr "Importa nel tuo canale tutti o una parte dei contenuti dal canale seguente."
-
-#: ../../Zotlabs/Module/Sources.php:110 ../../Zotlabs/Module/Sources.php:144
-msgid "Only import content with these words (one per line)"
-msgstr "Importa solo i contenuti che hanno queste parole (una per riga)"
-
-#: ../../Zotlabs/Module/Sources.php:110 ../../Zotlabs/Module/Sources.php:144
-msgid "Leave blank to import all public content"
-msgstr "Lascia vuoto per importare tutti i contenuti pubblici"
-
-#: ../../Zotlabs/Module/Sources.php:111 ../../Zotlabs/Module/Sources.php:148
-msgid "Channel Name"
-msgstr "Nome del canale"
-
-#: ../../Zotlabs/Module/Sources.php:112 ../../Zotlabs/Module/Sources.php:147
-msgid ""
-"Add the following categories to posts imported from this source (comma "
-"separated)"
-msgstr "Aggiungi le seguenti categorie ai post importati da questa sorgente (separate da virgola)"
-
-#: ../../Zotlabs/Module/Sources.php:133 ../../Zotlabs/Module/Sources.php:161
-msgid "Source not found."
-msgstr "Sorgente non trovata."
-
-#: ../../Zotlabs/Module/Sources.php:140
-msgid "Edit Source"
-msgstr "Modifica la sorgente"
-
-#: ../../Zotlabs/Module/Sources.php:141
-msgid "Delete Source"
-msgstr "Elimina la sorgente"
-
-#: ../../Zotlabs/Module/Sources.php:169
-msgid "Source removed"
-msgstr "Sorgente eliminata"
-
-#: ../../Zotlabs/Module/Sources.php:171
-msgid "Unable to remove source."
-msgstr "Impossibile rimuovere la sorgente."
+msgid "This channel is limited to %d tokens"
+msgstr "Questo canale è limitato a %d token"
-#: ../../Zotlabs/Module/Subthread.php:118
-#, php-format
-msgid "%1$s is following %2$s's %3$s"
-msgstr "%1$s sta seguendo %3$s di %2$s"
+#: ../../Zotlabs/Module/Settings/Tokens.php:37
+msgid "Name and Password are required."
+msgstr "Nome e password sono obbligatori."
-#: ../../Zotlabs/Module/Subthread.php:120
-#, php-format
-msgid "%1$s stopped following %2$s's %3$s"
-msgstr "%1$s non segue più %3$s di %2$s"
+#: ../../Zotlabs/Module/Settings/Tokens.php:77
+msgid "Token saved."
+msgstr "Token salvato."
-#: ../../Zotlabs/Module/Suggest.php:39
+#: ../../Zotlabs/Module/Settings/Tokens.php:113
msgid ""
-"No suggestions available. If this is a new site, please try again in 24 "
-"hours."
-msgstr "Nessun suggerimento disponibile. Se questo sito è nuovo, riprova tra 24 ore."
-
-#: ../../Zotlabs/Module/Suggest.php:58 ../../include/widgets.php:149
-msgid "Ignore/Hide"
-msgstr "Ignora/nascondi"
-
-#: ../../Zotlabs/Module/Tagger.php:55 ../../include/bbcode.php:263
-msgid "post"
-msgstr "il post"
-
-#: ../../Zotlabs/Module/Tagger.php:57 ../../include/conversation.php:150
-#: ../../include/text.php:1929
-msgid "comment"
-msgstr "il commento"
-
-#: ../../Zotlabs/Module/Tagger.php:100
-#, php-format
-msgid "%1$s tagged %2$s's %3$s with %4$s"
-msgstr "%1$s ha taggato %3$s di %2$s con %4$s"
-
-#: ../../Zotlabs/Module/Tagrm.php:48 ../../Zotlabs/Module/Tagrm.php:98
-msgid "Tag removed"
-msgstr "Tag rimosso"
-
-#: ../../Zotlabs/Module/Tagrm.php:123
-msgid "Remove Item Tag"
-msgstr "Rimuovi il tag"
-
-#: ../../Zotlabs/Module/Tagrm.php:125
-msgid "Select a tag to remove: "
-msgstr "Seleziona un tag da rimuovere: "
-
-#: ../../Zotlabs/Module/Webpages.php:191 ../../Zotlabs/Lib/Apps.php:218
-#: ../../include/nav.php:106 ../../include/conversation.php:1700
-msgid "Webpages"
-msgstr "Pagine web"
-
-#: ../../Zotlabs/Module/Webpages.php:202 ../../include/page_widgets.php:44
-msgid "Actions"
-msgstr "Azioni"
-
-#: ../../Zotlabs/Module/Webpages.php:203 ../../include/page_widgets.php:45
-msgid "Page Link"
-msgstr "Link alla pagina"
-
-#: ../../Zotlabs/Module/Webpages.php:204
-msgid "Page Title"
-msgstr "Titolo della pagina"
-
-#: ../../Zotlabs/Module/Wiki.php:34
-msgid "Not found"
-msgstr "Non trovato"
-
-#: ../../Zotlabs/Module/Wiki.php:92 ../../Zotlabs/Lib/Apps.php:219
-#: ../../include/nav.php:108 ../../include/conversation.php:1710
-#: ../../include/conversation.php:1713 ../../include/features.php:55
-msgid "Wiki"
-msgstr "Wiki"
-
-#: ../../Zotlabs/Module/Wiki.php:93
-msgid "Sandbox"
-msgstr "Sandbox"
+"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 "Usa questo modulo per creare credenziali temporanee per condividere qualcosa con i non iscritti. A queste credenziali potrai dare o togliere diritti come a tutti gli altri utenti e i visitatori potranno usarle per accedere a contenuti privati."
-#: ../../Zotlabs/Module/Wiki.php:95
+#: ../../Zotlabs/Module/Settings/Tokens.php:115
msgid ""
-"\"# Wiki Sandbox\\n\\nContent you **edit** and **preview** here *will not be"
-" saved*.\""
-msgstr "\"# Wiki Sandbox\\n\\nI contenuti che **modifichi** e che vedi in **anteprima** qui *non saranno salvati*.\""
-
-#: ../../Zotlabs/Module/Wiki.php:164
-msgid "Revision Comparison"
-msgstr "Confronto tra revisioni"
-
-#: ../../Zotlabs/Module/Wiki.php:165
-msgid "Revert"
-msgstr "Ripristina"
-
-#: ../../Zotlabs/Module/Wiki.php:192
-msgid "Enter the name of your new wiki:"
-msgstr "Nome della tua nuova pagina wiki:"
-
-#: ../../Zotlabs/Module/Wiki.php:193
-msgid "Enter the name of the new page:"
-msgstr "Nome della tua nuova pagina:"
-
-#: ../../Zotlabs/Module/Wiki.php:194
-msgid "Enter the new name:"
-msgstr "Nuovo nome:"
-
-#: ../../Zotlabs/Module/Wiki.php:200 ../../include/conversation.php:1150
-msgid "Embed image from photo albums"
-msgstr "Inserisci un'immagine dall'album foto"
-
-#: ../../Zotlabs/Module/Wiki.php:201 ../../include/conversation.php:1234
-msgid "Embed an image from your albums"
-msgstr "Inserisci un'immagine dai tuoi album"
-
-#: ../../Zotlabs/Module/Wiki.php:203 ../../include/conversation.php:1236
-#: ../../include/conversation.php:1273
-msgid "OK"
-msgstr "OK"
-
-#: ../../Zotlabs/Module/Wiki.php:204 ../../include/conversation.php:1186
-msgid "Choose images to embed"
-msgstr "Scegli le immagini da inserire"
-
-#: ../../Zotlabs/Module/Wiki.php:205 ../../include/conversation.php:1187
-msgid "Choose an album"
-msgstr "Scegli un album"
-
-#: ../../Zotlabs/Module/Wiki.php:206 ../../include/conversation.php:1188
-msgid "Choose a different album..."
-msgstr "Scegli un altro album..."
-
-#: ../../Zotlabs/Module/Wiki.php:207 ../../include/conversation.php:1189
-msgid "Error getting album list"
-msgstr "Errore nell'ottenere l'elenco degli album"
-
-#: ../../Zotlabs/Module/Wiki.php:208 ../../include/conversation.php:1190
-msgid "Error getting photo link"
-msgstr "Errore nell'ottenere il link alla foto"
-
-#: ../../Zotlabs/Module/Wiki.php:209 ../../include/conversation.php:1191
-msgid "Error getting album"
-msgstr "Errore nell'ottenere l'album"
-
-#: ../../Zotlabs/Module/Viewconnections.php:65
-msgid "No connections."
-msgstr "Nessun contatto."
-
-#: ../../Zotlabs/Module/Viewconnections.php:78
-#, php-format
-msgid "Visit %s's profile [%s]"
-msgstr "Visita il profilo di %s [%s]"
-
-#: ../../Zotlabs/Module/Viewconnections.php:107
-msgid "View Connections"
-msgstr "Elenco contatti"
-
-#: ../../Zotlabs/Module/Viewsrc.php:44
-msgid "Source of Item"
-msgstr "Sorgente"
-
-#: ../../Zotlabs/Module/Api.php:61 ../../Zotlabs/Module/Api.php:85
-msgid "Authorize application connection"
-msgstr "Autorizza la app"
-
-#: ../../Zotlabs/Module/Api.php:62
-msgid "Return to your app and insert this Securty Code:"
-msgstr "Torna alla app e inserisci questo codice di sicurezza:"
+"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 "Puoi anche fornire un accesso simile a <em>dropbox</em> agli amici o ai colleghi aggiungendo la password all'url che vuoi comunicare, come mostrato sotto. Esempi:"
-#: ../../Zotlabs/Module/Api.php:72
-msgid "Please login to continue."
-msgstr "Accedi al sito per continuare."
+#: ../../Zotlabs/Module/Settings/Tokens.php:150 ../../include/widgets.php:647
+msgid "Guest Access Tokens"
+msgstr "Token di accesso ospite"
-#: ../../Zotlabs/Module/Api.php:87
-msgid ""
-"Do you want to authorize this application to access your posts and contacts,"
-" and/or create new posts for you?"
-msgstr "Vuoi autorizzare questa app ad accedere ai messaggi e ai contatti o creare nuovi messaggi per te?"
+#: ../../Zotlabs/Module/Settings/Tokens.php:157
+msgid "Login Name"
+msgstr "Nome utente"
-#: ../../Zotlabs/Module/Xchan.php:10
-msgid "Xchan Lookup"
-msgstr "Ricerca canale"
+#: ../../Zotlabs/Module/Settings/Tokens.php:158
+msgid "Login Password"
+msgstr "Password"
-#: ../../Zotlabs/Module/Xchan.php:13
-msgid "Lookup xchan beginning with (or webbie): "
-msgstr "Cerca un canale (o un webbie) che inizia per:"
+#: ../../Zotlabs/Module/Settings/Tokens.php:159
+msgid "Expires (yyyy-mm-dd)"
+msgstr "Con scadenza (aaaa-mm-gg)"
#: ../../Zotlabs/Lib/Chatroom.php:27
msgid "Missing room name"
@@ -6575,297 +6631,211 @@ msgstr "Chat non trovata."
msgid "Room is full"
msgstr "La chat è al completo"
-#: ../../Zotlabs/Lib/Enotify.php:60 ../../include/network.php:1882
+#: ../../Zotlabs/Lib/Enotify.php:60 ../../include/network.php:1889
msgid "$Projectname Notification"
msgstr "Notifica $Projectname"
-#: ../../Zotlabs/Lib/Enotify.php:61 ../../include/network.php:1883
+#: ../../Zotlabs/Lib/Enotify.php:61 ../../include/network.php:1890
msgid "$projectname"
msgstr "$projectname"
-#: ../../Zotlabs/Lib/Enotify.php:63 ../../include/network.php:1885
+#: ../../Zotlabs/Lib/Enotify.php:63 ../../include/network.php:1892
msgid "Thank You,"
msgstr "Grazie,"
-#: ../../Zotlabs/Lib/Enotify.php:65 ../../include/network.php:1887
+#: ../../Zotlabs/Lib/Enotify.php:65 ../../include/network.php:1894
#, php-format
msgid "%s Administrator"
msgstr "L'amministratore di %s"
-#: ../../Zotlabs/Lib/Enotify.php:100
+#: ../../Zotlabs/Lib/Enotify.php:103
#, php-format
msgid "%s <!item_type!>"
msgstr "%s <!item_type!>"
-#: ../../Zotlabs/Lib/Enotify.php:104
+#: ../../Zotlabs/Lib/Enotify.php:107
#, php-format
-msgid "[Hubzilla:Notify] New mail received at %s"
-msgstr "[Hubzilla] Nuovo messaggio su %s"
+msgid "[$Projectname:Notify] New mail received at %s"
+msgstr "[$Projectname:Notifica] Nuovo messaggio su %s"
-#: ../../Zotlabs/Lib/Enotify.php:106
+#: ../../Zotlabs/Lib/Enotify.php:109
#, php-format
msgid "%1$s, %2$s sent you a new private message at %3$s."
msgstr "%1$s, %2$s ti ha mandato un messaggio privato su %3$s."
-#: ../../Zotlabs/Lib/Enotify.php:107
+#: ../../Zotlabs/Lib/Enotify.php:110
#, php-format
msgid "%1$s sent you %2$s."
msgstr "%1$s ti ha mandato %2$s."
-#: ../../Zotlabs/Lib/Enotify.php:107
+#: ../../Zotlabs/Lib/Enotify.php:110
msgid "a private message"
msgstr "un messaggio privato"
-#: ../../Zotlabs/Lib/Enotify.php:108
+#: ../../Zotlabs/Lib/Enotify.php:111
#, php-format
msgid "Please visit %s to view and/or reply to your private messages."
msgstr "Visita %s per leggere i tuoi messaggi privati e rispondere."
-#: ../../Zotlabs/Lib/Enotify.php:164
+#: ../../Zotlabs/Lib/Enotify.php:170
#, php-format
msgid "%1$s, %2$s commented on [zrl=%3$s]a %4$s[/zrl]"
msgstr "%1$s, %2$s ha commentato [zrl=%3$s]%4$s[/zrl]"
-#: ../../Zotlabs/Lib/Enotify.php:172
+#: ../../Zotlabs/Lib/Enotify.php:178
#, php-format
msgid "%1$s, %2$s commented on [zrl=%3$s]%4$s's %5$s[/zrl]"
msgstr "%1$s, %2$s ha commentato [zrl=%3$s]%5$s di %4$s[/zrl]"
-#: ../../Zotlabs/Lib/Enotify.php:181
+#: ../../Zotlabs/Lib/Enotify.php:187
#, php-format
msgid "%1$s, %2$s commented on [zrl=%3$s]your %4$s[/zrl]"
msgstr "%1$s, %2$s ha commentato [zrl=%3$s]%4$s che hai creato[/zrl]"
-#: ../../Zotlabs/Lib/Enotify.php:192
+#: ../../Zotlabs/Lib/Enotify.php:198
#, php-format
-msgid "[Hubzilla:Notify] Comment to conversation #%1$d by %2$s"
-msgstr "[Hubzilla] Nuovo commento di %2$s alla conversazione #%1$d"
+msgid "[$Projectname:Notify] Comment to conversation #%1$d by %2$s"
+msgstr "[$Projectname:Notifica] Nuovo commento di %2$s alla conversazione #%1$d"
-#: ../../Zotlabs/Lib/Enotify.php:193
+#: ../../Zotlabs/Lib/Enotify.php:199
#, php-format
msgid "%1$s, %2$s commented on an item/conversation you have been following."
msgstr "%1$s, %2$s ha commentato un elemento che stavi seguendo."
-#: ../../Zotlabs/Lib/Enotify.php:196 ../../Zotlabs/Lib/Enotify.php:211
-#: ../../Zotlabs/Lib/Enotify.php:237 ../../Zotlabs/Lib/Enotify.php:255
-#: ../../Zotlabs/Lib/Enotify.php:269
+#: ../../Zotlabs/Lib/Enotify.php:202 ../../Zotlabs/Lib/Enotify.php:217
+#: ../../Zotlabs/Lib/Enotify.php:243 ../../Zotlabs/Lib/Enotify.php:261
+#: ../../Zotlabs/Lib/Enotify.php:275
#, php-format
msgid "Please visit %s to view and/or reply to the conversation."
msgstr "Visita %s per leggere o commentare la conversazione."
-#: ../../Zotlabs/Lib/Enotify.php:202
+#: ../../Zotlabs/Lib/Enotify.php:208
#, php-format
-msgid "[Hubzilla:Notify] %s posted to your profile wall"
-msgstr "[Hubzilla] %s ha scritto sulla tua bacheca"
+msgid "[$Projectname:Notify] %s posted to your profile wall"
+msgstr "[$Projectname:Notifica] %s ha scritto sulla tua bacheca"
-#: ../../Zotlabs/Lib/Enotify.php:204
+#: ../../Zotlabs/Lib/Enotify.php:210
#, php-format
msgid "%1$s, %2$s posted to your profile wall at %3$s"
msgstr "%1$s, %2$s ha scritto sulla bacheca del tuo profilo su %3$s"
-#: ../../Zotlabs/Lib/Enotify.php:206
+#: ../../Zotlabs/Lib/Enotify.php:212
#, php-format
msgid "%1$s, %2$s posted to [zrl=%3$s]your wall[/zrl]"
msgstr "%1$s, %2$s ha scritto sulla [zrl=%3$s]tua bacheca[/zrl]"
-#: ../../Zotlabs/Lib/Enotify.php:230
+#: ../../Zotlabs/Lib/Enotify.php:236
#, php-format
-msgid "[Hubzilla:Notify] %s tagged you"
-msgstr "[Hubzilla] %s ti ha taggato"
+msgid "[$Projectname:Notify] %s tagged you"
+msgstr "[$Projectname:Notifica] %s ti ha taggato"
-#: ../../Zotlabs/Lib/Enotify.php:231
+#: ../../Zotlabs/Lib/Enotify.php:237
#, php-format
msgid "%1$s, %2$s tagged you at %3$s"
msgstr "%1$s, %2$s ti ha taggato su %3$s"
-#: ../../Zotlabs/Lib/Enotify.php:232
+#: ../../Zotlabs/Lib/Enotify.php:238
#, php-format
msgid "%1$s, %2$s [zrl=%3$s]tagged you[/zrl]."
msgstr "%1$s, %2$s [zrl=%3$s]ti ha taggato[/zrl]."
-#: ../../Zotlabs/Lib/Enotify.php:244
+#: ../../Zotlabs/Lib/Enotify.php:250
#, php-format
-msgid "[Hubzilla:Notify] %1$s poked you"
-msgstr "[Hubzilla] %1$s ti ha mandato un poke"
+msgid "[$Projectname:Notify] %1$s poked you"
+msgstr "[$Projectname:Notifica] %1$s ti ha mandato un poke"
-#: ../../Zotlabs/Lib/Enotify.php:245
+#: ../../Zotlabs/Lib/Enotify.php:251
#, php-format
msgid "%1$s, %2$s poked you at %3$s"
msgstr "%1$s, %2$s ti ha mandato un poke su %3$s"
-#: ../../Zotlabs/Lib/Enotify.php:246
+#: ../../Zotlabs/Lib/Enotify.php:252
#, php-format
msgid "%1$s, %2$s [zrl=%2$s]poked you[/zrl]."
msgstr "%1$s, %2$s [zrl=%2$s]ti ha mandato un poke[/zrl]."
-#: ../../Zotlabs/Lib/Enotify.php:262
+#: ../../Zotlabs/Lib/Enotify.php:268
#, php-format
-msgid "[Hubzilla:Notify] %s tagged your post"
-msgstr "[Hubzilla] %s ha taggato il tuo post"
+msgid "[$Projectname:Notify] %s tagged your post"
+msgstr "[$Projectname:Notifica] %s ha taggato il tuo post"
-#: ../../Zotlabs/Lib/Enotify.php:263
+#: ../../Zotlabs/Lib/Enotify.php:269
#, php-format
msgid "%1$s, %2$s tagged your post at %3$s"
msgstr "%1$s, %2$s ha taggato il tuo post su %3$s"
-#: ../../Zotlabs/Lib/Enotify.php:264
+#: ../../Zotlabs/Lib/Enotify.php:270
#, php-format
msgid "%1$s, %2$s tagged [zrl=%3$s]your post[/zrl]"
msgstr "%1$s, %2$s ha taggato [zrl=%3$s]il tuo post[/zrl]"
-#: ../../Zotlabs/Lib/Enotify.php:276
-msgid "[Hubzilla:Notify] Introduction received"
-msgstr "[Hubzilla] Hai una richiesta di amicizia"
+#: ../../Zotlabs/Lib/Enotify.php:282
+msgid "[$Projectname:Notify] Introduction received"
+msgstr "[$Projectname:Notifica] Hai una richiesta di amicizia"
-#: ../../Zotlabs/Lib/Enotify.php:277
+#: ../../Zotlabs/Lib/Enotify.php:283
#, php-format
msgid "%1$s, you've received an new connection request from '%2$s' at %3$s"
msgstr "%1$s, hai ricevuto una richiesta di entrare in contatto da '%2$s' su %3$s"
-#: ../../Zotlabs/Lib/Enotify.php:278
+#: ../../Zotlabs/Lib/Enotify.php:284
#, php-format
msgid ""
"%1$s, you've received [zrl=%2$s]a new connection request[/zrl] from %3$s."
msgstr "%1$s, hai ricevuto una [zrl=%2$s]richiesta di entrare in contatto[/zrl] da %3$s."
-#: ../../Zotlabs/Lib/Enotify.php:282 ../../Zotlabs/Lib/Enotify.php:301
+#: ../../Zotlabs/Lib/Enotify.php:288 ../../Zotlabs/Lib/Enotify.php:307
#, php-format
msgid "You may visit their profile at %s"
msgstr "Puoi visitare il suo profilo su %s"
-#: ../../Zotlabs/Lib/Enotify.php:284
+#: ../../Zotlabs/Lib/Enotify.php:290
#, php-format
msgid "Please visit %s to approve or reject the connection request."
msgstr "Visita %s per approvare o rifiutare la richiesta di entrare in contatto."
-#: ../../Zotlabs/Lib/Enotify.php:291
-msgid "[Hubzilla:Notify] Friend suggestion received"
-msgstr "[Hubzilla] Ti è stato suggerito un amico"
+#: ../../Zotlabs/Lib/Enotify.php:297
+msgid "[$Projectname:Notify] Friend suggestion received"
+msgstr "[$Projectname:Notifica] Ti è stato suggerito un amico"
-#: ../../Zotlabs/Lib/Enotify.php:292
+#: ../../Zotlabs/Lib/Enotify.php:298
#, php-format
msgid "%1$s, you've received a friend suggestion from '%2$s' at %3$s"
msgstr "%1$s, ti è stato suggerito un amico da '%2$s' su %3$s"
-#: ../../Zotlabs/Lib/Enotify.php:293
+#: ../../Zotlabs/Lib/Enotify.php:299
#, php-format
msgid ""
"%1$s, you've received [zrl=%2$s]a friend suggestion[/zrl] for %3$s from "
"%4$s."
msgstr "%1$s, %4$s ti [zrl=%2$s]ha suggerito %3$s[/zrl] come amico."
-#: ../../Zotlabs/Lib/Enotify.php:299
+#: ../../Zotlabs/Lib/Enotify.php:305
msgid "Name:"
msgstr "Nome:"
-#: ../../Zotlabs/Lib/Enotify.php:300
+#: ../../Zotlabs/Lib/Enotify.php:306
msgid "Photo:"
msgstr "Foto:"
-#: ../../Zotlabs/Lib/Enotify.php:303
+#: ../../Zotlabs/Lib/Enotify.php:309
#, php-format
msgid "Please visit %s to approve or reject the suggestion."
msgstr "Visita %s per approvare o rifiutare il suggerimento."
-#: ../../Zotlabs/Lib/Enotify.php:518
-msgid "[Hubzilla:Notify]"
-msgstr "[Hubzilla]"
+#: ../../Zotlabs/Lib/Enotify.php:527
+msgid "[$Projectname:Notify]"
+msgstr "[$Projectname:Notifica]"
-#: ../../Zotlabs/Lib/Enotify.php:667
+#: ../../Zotlabs/Lib/Enotify.php:687
msgid "created a new post"
msgstr "Ha creato un nuovo post"
-#: ../../Zotlabs/Lib/Enotify.php:668
+#: ../../Zotlabs/Lib/Enotify.php:688
#, php-format
msgid "commented on %s's post"
msgstr "ha commentato il post di %s"
-#: ../../Zotlabs/Lib/Apps.php:205
-msgid "Site Admin"
-msgstr "Amministrazione sito"
-
-#: ../../Zotlabs/Lib/Apps.php:206
-msgid "Bug Report"
-msgstr "Bug Report"
-
-#: ../../Zotlabs/Lib/Apps.php:207
-msgid "View Bookmarks"
-msgstr "Vedi i segnalibri"
-
-#: ../../Zotlabs/Lib/Apps.php:208
-msgid "My Chatrooms"
-msgstr "Le mie aree chat"
-
-#: ../../Zotlabs/Lib/Apps.php:210
-msgid "Firefox Share"
-msgstr "Firefox Share"
-
-#: ../../Zotlabs/Lib/Apps.php:211
-msgid "Remote Diagnostics"
-msgstr "Diagnostica remota"
-
-#: ../../Zotlabs/Lib/Apps.php:212 ../../include/features.php:90
-msgid "Suggest Channels"
-msgstr "Suggerisci canali"
-
-#: ../../Zotlabs/Lib/Apps.php:213 ../../include/nav.php:112
-#: ../../boot.php:1704
-msgid "Login"
-msgstr "Accedi"
-
-#: ../../Zotlabs/Lib/Apps.php:215 ../../include/nav.php:181
-msgid "Grid"
-msgstr "Rete"
-
-#: ../../Zotlabs/Lib/Apps.php:220 ../../include/nav.php:184
-msgid "Channel Home"
-msgstr "Bacheca del canale"
-
-#: ../../Zotlabs/Lib/Apps.php:223 ../../include/nav.php:203
-#: ../../include/conversation.php:1664 ../../include/conversation.php:1667
-msgid "Events"
-msgstr "Eventi"
-
-#: ../../Zotlabs/Lib/Apps.php:224 ../../include/nav.php:169
-msgid "Directory"
-msgstr "Elenchi pubblici dei canali"
-
-#: ../../Zotlabs/Lib/Apps.php:226 ../../include/nav.php:195
-msgid "Mail"
-msgstr "Messaggi"
-
-#: ../../Zotlabs/Lib/Apps.php:229 ../../include/nav.php:96
-msgid "Chat"
-msgstr "Chat"
-
-#: ../../Zotlabs/Lib/Apps.php:231
-msgid "Probe"
-msgstr "Diagnostica"
-
-#: ../../Zotlabs/Lib/Apps.php:232
-msgid "Suggest"
-msgstr "Suggerisci"
-
-#: ../../Zotlabs/Lib/Apps.php:233
-msgid "Random Channel"
-msgstr "Canale casuale"
-
-#: ../../Zotlabs/Lib/Apps.php:234
-msgid "Invite"
-msgstr "Invita"
-
-#: ../../Zotlabs/Lib/Apps.php:235 ../../include/widgets.php:1480
-msgid "Features"
-msgstr "Funzionalità"
-
-#: ../../Zotlabs/Lib/Apps.php:237
-msgid "Post"
-msgstr "Post"
-
-#: ../../Zotlabs/Lib/Apps.php:339
-msgid "Purchase"
-msgstr "Acquista"
-
#: ../../Zotlabs/Lib/ThreadItem.php:95 ../../include/conversation.php:667
msgid "Private Message"
msgstr "Messaggio privato"
@@ -6902,153 +6872,153 @@ msgstr "Non sono d'accordo"
msgid "I abstain"
msgstr "Mi astengo"
-#: ../../Zotlabs/Lib/ThreadItem.php:218
+#: ../../Zotlabs/Lib/ThreadItem.php:223
msgid "Add Star"
msgstr "Aggiungi ai preferiti"
-#: ../../Zotlabs/Lib/ThreadItem.php:219
+#: ../../Zotlabs/Lib/ThreadItem.php:224
msgid "Remove Star"
msgstr "Rimuovi dai preferiti"
-#: ../../Zotlabs/Lib/ThreadItem.php:220
+#: ../../Zotlabs/Lib/ThreadItem.php:225
msgid "Toggle Star Status"
msgstr "Attiva/disattiva preferito"
-#: ../../Zotlabs/Lib/ThreadItem.php:224
+#: ../../Zotlabs/Lib/ThreadItem.php:229
msgid "starred"
msgstr "preferito"
-#: ../../Zotlabs/Lib/ThreadItem.php:234 ../../include/conversation.php:674
+#: ../../Zotlabs/Lib/ThreadItem.php:239 ../../include/conversation.php:674
msgid "Message signature validated"
msgstr "Messaggio con firma verificata"
-#: ../../Zotlabs/Lib/ThreadItem.php:235 ../../include/conversation.php:675
+#: ../../Zotlabs/Lib/ThreadItem.php:240 ../../include/conversation.php:675
msgid "Message signature incorrect"
msgstr "Massaggio con firma non corretta"
-#: ../../Zotlabs/Lib/ThreadItem.php:243
+#: ../../Zotlabs/Lib/ThreadItem.php:248
msgid "Add Tag"
msgstr "Aggiungi un tag"
-#: ../../Zotlabs/Lib/ThreadItem.php:261 ../../include/taxonomy.php:316
+#: ../../Zotlabs/Lib/ThreadItem.php:268 ../../include/taxonomy.php:316
msgid "like"
msgstr "mi piace"
-#: ../../Zotlabs/Lib/ThreadItem.php:262 ../../include/taxonomy.php:317
+#: ../../Zotlabs/Lib/ThreadItem.php:269 ../../include/taxonomy.php:317
msgid "dislike"
msgstr "non mi piace"
-#: ../../Zotlabs/Lib/ThreadItem.php:266
+#: ../../Zotlabs/Lib/ThreadItem.php:273
msgid "Share This"
msgstr "Condividi"
-#: ../../Zotlabs/Lib/ThreadItem.php:266
+#: ../../Zotlabs/Lib/ThreadItem.php:273
msgid "share"
msgstr "condividi"
-#: ../../Zotlabs/Lib/ThreadItem.php:275
+#: ../../Zotlabs/Lib/ThreadItem.php:282
msgid "Delivery Report"
msgstr "Rapporto di trasmissione"
-#: ../../Zotlabs/Lib/ThreadItem.php:293
+#: ../../Zotlabs/Lib/ThreadItem.php:300
#, php-format
msgid "%d comment"
msgid_plural "%d comments"
msgstr[0] "%d commento"
msgstr[1] "%d commenti"
-#: ../../Zotlabs/Lib/ThreadItem.php:322 ../../Zotlabs/Lib/ThreadItem.php:323
+#: ../../Zotlabs/Lib/ThreadItem.php:329 ../../Zotlabs/Lib/ThreadItem.php:330
#, php-format
msgid "View %s's profile - %s"
msgstr "Guarda il profilo di %s - %s"
-#: ../../Zotlabs/Lib/ThreadItem.php:326
+#: ../../Zotlabs/Lib/ThreadItem.php:333
msgid "to"
msgstr "a"
-#: ../../Zotlabs/Lib/ThreadItem.php:327
+#: ../../Zotlabs/Lib/ThreadItem.php:334
msgid "via"
msgstr "via"
-#: ../../Zotlabs/Lib/ThreadItem.php:328
+#: ../../Zotlabs/Lib/ThreadItem.php:335
msgid "Wall-to-Wall"
msgstr "Da bacheca a bacheca"
-#: ../../Zotlabs/Lib/ThreadItem.php:329
+#: ../../Zotlabs/Lib/ThreadItem.php:336
msgid "via Wall-To-Wall:"
msgstr "da bacheca a bacheca:"
-#: ../../Zotlabs/Lib/ThreadItem.php:341 ../../include/conversation.php:722
+#: ../../Zotlabs/Lib/ThreadItem.php:348 ../../include/conversation.php:720
#, php-format
msgid "from %s"
msgstr "da %s"
-#: ../../Zotlabs/Lib/ThreadItem.php:344 ../../include/conversation.php:725
+#: ../../Zotlabs/Lib/ThreadItem.php:351 ../../include/conversation.php:723
#, php-format
msgid "last edited: %s"
msgstr "ultima modifica: %s"
-#: ../../Zotlabs/Lib/ThreadItem.php:345 ../../include/conversation.php:726
+#: ../../Zotlabs/Lib/ThreadItem.php:352 ../../include/conversation.php:724
#, php-format
msgid "Expires: %s"
msgstr "Scadenza: %s"
-#: ../../Zotlabs/Lib/ThreadItem.php:370
+#: ../../Zotlabs/Lib/ThreadItem.php:377
msgid "Save Bookmarks"
msgstr "Salva segnalibro"
-#: ../../Zotlabs/Lib/ThreadItem.php:371
+#: ../../Zotlabs/Lib/ThreadItem.php:378
msgid "Add to Calendar"
msgstr "Aggiungi al calendario"
-#: ../../Zotlabs/Lib/ThreadItem.php:380
+#: ../../Zotlabs/Lib/ThreadItem.php:387
msgid "Mark all seen"
msgstr "Marca tutto come letto"
-#: ../../Zotlabs/Lib/ThreadItem.php:421 ../../include/js_strings.php:7
+#: ../../Zotlabs/Lib/ThreadItem.php:436 ../../include/js_strings.php:7
#, php-format
msgid "%s show all"
msgstr "%s mostra tutto"
-#: ../../Zotlabs/Lib/ThreadItem.php:711 ../../include/conversation.php:1226
+#: ../../Zotlabs/Lib/ThreadItem.php:726 ../../include/conversation.php:1239
msgid "Bold"
msgstr "Grassetto"
-#: ../../Zotlabs/Lib/ThreadItem.php:712 ../../include/conversation.php:1227
+#: ../../Zotlabs/Lib/ThreadItem.php:727 ../../include/conversation.php:1240
msgid "Italic"
msgstr "Corsivo"
-#: ../../Zotlabs/Lib/ThreadItem.php:713 ../../include/conversation.php:1228
+#: ../../Zotlabs/Lib/ThreadItem.php:728 ../../include/conversation.php:1241
msgid "Underline"
msgstr "Sottolineato"
-#: ../../Zotlabs/Lib/ThreadItem.php:714 ../../include/conversation.php:1229
+#: ../../Zotlabs/Lib/ThreadItem.php:729 ../../include/conversation.php:1242
msgid "Quote"
msgstr "Citazione"
-#: ../../Zotlabs/Lib/ThreadItem.php:715 ../../include/conversation.php:1230
+#: ../../Zotlabs/Lib/ThreadItem.php:730 ../../include/conversation.php:1243
msgid "Code"
msgstr "Codice"
-#: ../../Zotlabs/Lib/ThreadItem.php:716
+#: ../../Zotlabs/Lib/ThreadItem.php:731
msgid "Image"
msgstr "Immagine"
-#: ../../Zotlabs/Lib/ThreadItem.php:717
+#: ../../Zotlabs/Lib/ThreadItem.php:732
msgid "Insert Link"
msgstr "Collegamento"
-#: ../../Zotlabs/Lib/ThreadItem.php:718
+#: ../../Zotlabs/Lib/ThreadItem.php:733
msgid "Video"
msgstr "Video"
#: ../../Zotlabs/Lib/PermissionDescription.php:31
-#: ../../include/acl_selectors.php:230
+#: ../../include/acl_selectors.php:124
msgid "Visible to your default audience"
msgstr "Visibile secondo le impostazioni predefinite"
#: ../../Zotlabs/Lib/PermissionDescription.php:106
-#: ../../include/acl_selectors.php:266
+#: ../../include/acl_selectors.php:165
msgid "Only me"
msgstr "Solo io"
@@ -7105,6 +7075,100 @@ msgstr "Impostazione predefinita di chi può vedere le foto e il tuo archivio fi
msgid "This is your default setting for the audience of your webpages"
msgstr "Impostazione predefinita di chi può vedere le tue pagine web"
+#: ../../Zotlabs/Lib/Apps.php:205
+msgid "Site Admin"
+msgstr "Amministrazione sito"
+
+#: ../../Zotlabs/Lib/Apps.php:206
+msgid "Bug Report"
+msgstr "Bug Report"
+
+#: ../../Zotlabs/Lib/Apps.php:207
+msgid "View Bookmarks"
+msgstr "Vedi i segnalibri"
+
+#: ../../Zotlabs/Lib/Apps.php:208
+msgid "My Chatrooms"
+msgstr "Le mie aree chat"
+
+#: ../../Zotlabs/Lib/Apps.php:210
+msgid "Firefox Share"
+msgstr "Firefox Share"
+
+#: ../../Zotlabs/Lib/Apps.php:211
+msgid "Remote Diagnostics"
+msgstr "Diagnostica remota"
+
+#: ../../Zotlabs/Lib/Apps.php:212 ../../include/features.php:319
+msgid "Suggest Channels"
+msgstr "Suggerisci canali"
+
+#: ../../Zotlabs/Lib/Apps.php:213 ../../include/nav.php:115
+#: ../../boot.php:1739
+msgid "Login"
+msgstr "Accedi"
+
+#: ../../Zotlabs/Lib/Apps.php:215 ../../include/nav.php:184
+msgid "Grid"
+msgstr "Rete"
+
+#: ../../Zotlabs/Lib/Apps.php:220 ../../include/nav.php:187
+msgid "Channel Home"
+msgstr "Bacheca del canale"
+
+#: ../../Zotlabs/Lib/Apps.php:223 ../../include/nav.php:206
+#: ../../include/conversation.php:1689 ../../include/conversation.php:1692
+msgid "Events"
+msgstr "Eventi"
+
+#: ../../Zotlabs/Lib/Apps.php:224 ../../include/nav.php:172
+msgid "Directory"
+msgstr "Elenchi pubblici dei canali"
+
+#: ../../Zotlabs/Lib/Apps.php:226 ../../include/nav.php:198
+msgid "Mail"
+msgstr "Messaggi"
+
+#: ../../Zotlabs/Lib/Apps.php:229 ../../include/nav.php:99
+msgid "Chat"
+msgstr "Chat"
+
+#: ../../Zotlabs/Lib/Apps.php:231
+msgid "Probe"
+msgstr "Diagnostica"
+
+#: ../../Zotlabs/Lib/Apps.php:232
+msgid "Suggest"
+msgstr "Suggerisci"
+
+#: ../../Zotlabs/Lib/Apps.php:233
+msgid "Random Channel"
+msgstr "Canale casuale"
+
+#: ../../Zotlabs/Lib/Apps.php:234
+msgid "Invite"
+msgstr "Invita"
+
+#: ../../Zotlabs/Lib/Apps.php:235 ../../include/widgets.php:1564
+msgid "Features"
+msgstr "Funzionalità"
+
+#: ../../Zotlabs/Lib/Apps.php:236
+msgid "Language"
+msgstr "Lingua"
+
+#: ../../Zotlabs/Lib/Apps.php:237
+msgid "Post"
+msgstr "Post"
+
+#: ../../Zotlabs/Lib/Apps.php:238
+msgid "Profile Photo"
+msgstr "Foto del profilo"
+
+#: ../../Zotlabs/Lib/Apps.php:339
+msgid "Purchase"
+msgstr "Acquista"
+
#: ../../include/Import/import_diaspora.php:16
msgid "No username found in import file."
msgstr "Impossibile trovare il nome utente nel file da importare."
@@ -7113,11 +7177,64 @@ msgstr "Impossibile trovare il nome utente nel file da importare."
msgid "Unable to create a unique channel address. Import failed."
msgstr "Impossibile creare un indirizzo univoco per il canale. L'import è fallito."
-#: ../../include/dba/dba_driver.php:171
+#: ../../include/dba/dba_driver.php:173
#, php-format
msgid "Cannot locate DNS info for database server '%s'"
msgstr "Non trovo le informazioni DNS per il database server '%s'"
+#: ../../include/permissions.php:35
+msgid "Can view my normal stream and posts"
+msgstr "Può vedere i miei contenuti e i post normali"
+
+#: ../../include/permissions.php:39
+msgid "Can view my webpages"
+msgstr "Può vedere le mie pagine web"
+
+#: ../../include/permissions.php:43
+msgid "Can post on my channel page (\"wall\")"
+msgstr "Può scrivere sulla bacheca del mio canale"
+
+#: ../../include/permissions.php:46
+msgid "Can like/dislike stuff"
+msgstr "Può aggiungere \"mi piace\" a tutto il resto"
+
+#: ../../include/permissions.php:46
+msgid "Profiles and things other than posts/comments"
+msgstr "Può aggiungere \"mi piace\" a tutto ciò che non riguarda i post, come per esempio il profilo"
+
+#: ../../include/permissions.php:48
+msgid "Can forward to all my channel contacts via post @mentions"
+msgstr "Può inoltrare post a tutti i contatti del canale tramite una @menzione"
+
+#: ../../include/permissions.php:48
+msgid "Advanced - useful for creating group forum channels"
+msgstr "Impostazione avanzata - utile per creare un canale-forum di discussione"
+
+#: ../../include/permissions.php:49
+msgid "Can chat with me (when available)"
+msgstr "Può aprire una chat con me (se disponibile)"
+
+#: ../../include/permissions.php:50
+msgid "Can write to my file storage and photos"
+msgstr "Può modificare il mio archivio file e foto"
+
+#: ../../include/permissions.php:51
+msgid "Can edit my webpages"
+msgstr "Può modificare le mie pagine web"
+
+#: ../../include/permissions.php:53
+msgid "Somewhat advanced - very useful in open communities"
+msgstr "Piuttosto avanzato - molto utile nelle comunità aperte"
+
+#: ../../include/permissions.php:55
+msgid "Can administer my channel resources"
+msgstr "Può amministrare i contenuti del mio canale"
+
+#: ../../include/permissions.php:55
+msgid ""
+"Extremely advanced. Leave this alone unless you know what you are doing"
+msgstr "Impostazione pericolosa - lasciare il valore predefinito se non si è assolutamente sicuri"
+
#: ../../include/photos.php:114
#, php-format
msgid "Image exceeds website size limit of %lu bytes"
@@ -7141,7 +7258,7 @@ msgctxt "photo_upload"
msgid "%1$s posted %2$s to %3$s"
msgstr "%1$s ha pubblicato %2$s su %3$s"
-#: ../../include/photos.php:506 ../../include/conversation.php:1650
+#: ../../include/photos.php:506 ../../include/conversation.php:1675
msgid "Photo Albums"
msgstr "Album foto"
@@ -7149,737 +7266,777 @@ msgstr "Album foto"
msgid "Upload New Photos"
msgstr "Carica nuove foto"
-#: ../../include/nav.php:82 ../../include/nav.php:115 ../../boot.php:1703
-msgid "Logout"
-msgstr "Esci"
+#: ../../include/features.php:58
+msgid "General Features"
+msgstr "Funzionalità di base"
-#: ../../include/nav.php:82 ../../include/nav.php:115
-msgid "End this session"
-msgstr "Chiudi questa sessione"
+#: ../../include/features.php:63
+msgid "Multiple Profiles"
+msgstr "Profili multipli"
-#: ../../include/nav.php:85 ../../include/nav.php:146
-msgid "Home"
-msgstr "Bacheca"
+#: ../../include/features.php:64
+msgid "Ability to create multiple profiles"
+msgstr "Abilitazione a creare profili multipli"
-#: ../../include/nav.php:85
-msgid "Your posts and conversations"
-msgstr "I tuoi post e conversazioni"
+#: ../../include/features.php:72
+msgid "Advanced Profiles"
+msgstr "Profili avanzati"
-#: ../../include/nav.php:86
-msgid "Your profile page"
-msgstr "Il tuo profilo"
+#: ../../include/features.php:73
+msgid "Additional profile sections and selections"
+msgstr "Informazioni aggiuntive del profilo"
-#: ../../include/nav.php:88
-msgid "Manage/Edit profiles"
-msgstr "Gestisci i tuoi profili"
+#: ../../include/features.php:81
+msgid "Profile Import/Export"
+msgstr "Importa/esporta il profilo"
-#: ../../include/nav.php:90 ../../include/channel.php:980
-msgid "Edit Profile"
-msgstr "Modifica il profilo"
+#: ../../include/features.php:82
+msgid "Save and load profile details across sites/channels"
+msgstr "Salva o ripristina le informazioni del profilo su siti diversi"
-#: ../../include/nav.php:90
-msgid "Edit your profile"
-msgstr "Modifica il tuo profilo"
+#: ../../include/features.php:90
+msgid "Web Pages"
+msgstr "Pagine web"
-#: ../../include/nav.php:92
-msgid "Your photos"
-msgstr "Le tue foto"
+#: ../../include/features.php:91
+msgid "Provide managed web pages on your channel"
+msgstr "Attiva la creazione di pagine web sul tuo canale"
-#: ../../include/nav.php:93
-msgid "Your files"
-msgstr "I tuoi file"
+#: ../../include/features.php:100
+msgid "Provide a wiki for your channel"
+msgstr "Fornisce una wiki per il tuo canale"
-#: ../../include/nav.php:96
-msgid "Your chatrooms"
-msgstr "Le tue chat"
+#: ../../include/features.php:117
+msgid "Private Notes"
+msgstr "Note private"
-#: ../../include/nav.php:102 ../../include/conversation.php:1690
-msgid "Bookmarks"
-msgstr "Segnalibri"
+#: ../../include/features.php:118
+msgid "Enables a tool to store notes and reminders (note: not encrypted)"
+msgstr "Abilita il riquadro per scrivere annotazioni (in chiaro)"
-#: ../../include/nav.php:102
-msgid "Your bookmarks"
-msgstr "I tuoi segnalibri"
+#: ../../include/features.php:126
+msgid "Navigation Channel Select"
+msgstr "Scegli il canale attivo dal menu"
-#: ../../include/nav.php:106
-msgid "Your webpages"
-msgstr "Le tue pagine web"
+#: ../../include/features.php:127
+msgid "Change channels directly from within the navigation dropdown menu"
+msgstr "Scegli il canale attivo direttamente dal menu di navigazione"
-#: ../../include/nav.php:108
-msgid "Your wiki"
-msgstr "La tua wiki"
+#: ../../include/features.php:135
+msgid "Photo Location"
+msgstr "Posizione geografica"
-#: ../../include/nav.php:112
-msgid "Sign in"
-msgstr "Accedi"
+#: ../../include/features.php:136
+msgid "If location data is available on uploaded photos, link this to a map."
+msgstr "Collega la foto a una mappa quando contiene indicazioni geografiche."
-#: ../../include/nav.php:129
-#, php-format
-msgid "%s - click to logout"
-msgstr "%s - clicca per uscire"
+#: ../../include/features.php:144
+msgid "Access Controlled Chatrooms"
+msgstr "Chat ad accesso riservato"
-#: ../../include/nav.php:132
-msgid "Remote authentication"
-msgstr "Accedi dal tuo hub"
+#: ../../include/features.php:145
+msgid "Provide chatrooms and chat services with access control."
+msgstr "Il servizio di chat con accesso riservato."
-#: ../../include/nav.php:132
-msgid "Click to authenticate to your home hub"
-msgstr "Clicca per farti riconoscere dal tuo hub principale"
+#: ../../include/features.php:153
+msgid "Smart Birthdays"
+msgstr "Compleanni intelligenti"
-#: ../../include/nav.php:146
-msgid "Home Page"
-msgstr "Bacheca"
+#: ../../include/features.php:154
+msgid ""
+"Make birthday events timezone aware in case your friends are scattered "
+"across the planet."
+msgstr "I compleanni saranno segnalati in base al fuso orario, utile se hai amici sparsi per il mondo."
-#: ../../include/nav.php:149
-msgid "Create an account"
-msgstr "Crea un account"
+#: ../../include/features.php:162
+msgid "Advanced Directory Search"
+msgstr "Ricerca avanzata sugli elenchi pubblici"
-#: ../../include/nav.php:161
-msgid "Help and documentation"
-msgstr "Guida e documentazione"
+#: ../../include/features.php:163
+msgid "Allows creation of complex directory search queries"
+msgstr "Permette la creazione di ricerche complesse negli elenchi"
-#: ../../include/nav.php:165
-msgid "Applications, utilities, links, games"
-msgstr "Applicazioni, utilità, link, giochi"
+#: ../../include/features.php:171
+msgid "Advanced Theme and Layout Settings"
+msgstr "Impostazioni avanzate del tema e dei layout"
-#: ../../include/nav.php:167
-msgid "Search site @name, #tag, ?docs, content"
-msgstr "Cerca nel sito per @nome, #tag, ?guida o per contenuto"
+#: ../../include/features.php:172
+msgid "Allows fine tuning of themes and page layouts"
+msgstr "Permette una personalizzazione accurata del tema e dei layout"
-#: ../../include/nav.php:169
-msgid "Channel Directory"
-msgstr "Elenchi pubblici dei canali"
+#: ../../include/features.php:182
+msgid "Post Composition Features"
+msgstr "Modalità di scrittura post"
-#: ../../include/nav.php:181
-msgid "Your grid"
-msgstr "La tua rete"
+#: ../../include/features.php:186
+msgid "Large Photos"
+msgstr "Foto grandi"
-#: ../../include/nav.php:182
-msgid "Mark all grid notifications seen"
-msgstr "Segna come lette le notifiche della tua rete"
+#: ../../include/features.php:187
+msgid ""
+"Include large (1024px) photo thumbnails in posts. If not enabled, use small "
+"(640px) photo thumbnails"
+msgstr "Includi anteprime grandi per le foto dei tuoi post (1024px). Altrimenti saranno mostrate anteprime più piccole (640px)"
-#: ../../include/nav.php:184
-msgid "Channel home"
-msgstr "Bacheca del canale"
+#: ../../include/features.php:196
+msgid "Automatically import channel content from other channels or feeds"
+msgstr "Importa automaticamente il contenuto del canale da altri canali o feed"
-#: ../../include/nav.php:185
-msgid "Mark all channel notifications seen"
-msgstr "Segna come lette le notifiche del canale"
+#: ../../include/features.php:204
+msgid "Even More Encryption"
+msgstr "Cifratura addizionale"
-#: ../../include/nav.php:191
-msgid "Notices"
-msgstr "Avvisi"
+#: ../../include/features.php:205
+msgid ""
+"Allow optional encryption of content end-to-end with a shared secret key"
+msgstr "Rendi possibile la crifratura aggiuntiva tra mittente e destinatario usando una parola chiave conosciuta a entrambi"
-#: ../../include/nav.php:191
-msgid "Notifications"
-msgstr "Notifiche"
+#: ../../include/features.php:213
+msgid "Enable Voting Tools"
+msgstr "Permetti i post con votazione"
-#: ../../include/nav.php:192
-msgid "See all notifications"
-msgstr "Vedi tutte le notifiche"
+#: ../../include/features.php:214
+msgid "Provide a class of post which others can vote on"
+msgstr "Rende possibile la creazione di post in cui sarà possibile votare"
-#: ../../include/nav.php:195
-msgid "Private mail"
-msgstr "Messaggi privati"
+#: ../../include/features.php:222
+msgid "Disable Comments"
+msgstr "Disabilita i commenti"
-#: ../../include/nav.php:196
-msgid "See all private messages"
-msgstr "Guarda tutti i messaggi privati"
+#: ../../include/features.php:223
+msgid "Provide the option to disable comments for a post"
+msgstr "Permetti di disabilitare i commenti"
-#: ../../include/nav.php:197
-msgid "Mark all private messages seen"
-msgstr "Segna come letti tutti i messaggi privati"
+#: ../../include/features.php:231
+msgid "Delayed Posting"
+msgstr "Pubblicazione ritardata"
-#: ../../include/nav.php:198 ../../include/widgets.php:667
-msgid "Inbox"
-msgstr "In arrivo"
+#: ../../include/features.php:232
+msgid "Allow posts to be published at a later date"
+msgstr "Per scegliere una data e un'ora a cui far uscire i post"
-#: ../../include/nav.php:199 ../../include/widgets.php:672
-msgid "Outbox"
-msgstr "Inviati"
+#: ../../include/features.php:240
+msgid "Content Expiration"
+msgstr "Scadenza"
-#: ../../include/nav.php:200 ../../include/widgets.php:677
-msgid "New Message"
-msgstr "Nuovo messaggio"
+#: ../../include/features.php:241
+msgid "Remove posts/comments and/or private messages at a future time"
+msgstr "Elimina i post, i commenti o i messaggi privati dopo un lasso di tempo"
-#: ../../include/nav.php:203
-msgid "Event Calendar"
-msgstr "Calendario"
+#: ../../include/features.php:249
+msgid "Suppress Duplicate Posts/Comments"
+msgstr "Impedisci post e commenti duplicati"
-#: ../../include/nav.php:204
-msgid "See all events"
-msgstr "Guarda tutti gli eventi"
+#: ../../include/features.php:250
+msgid ""
+"Prevent posts with identical content to be published with less than two "
+"minutes in between submissions."
+msgstr "Scarta post e commenti se sono identici ad altri inviati meno di due minuti prima."
-#: ../../include/nav.php:205
-msgid "Mark all events seen"
-msgstr "Marca come letti tutti gli eventi"
+#: ../../include/features.php:261
+msgid "Network and Stream Filtering"
+msgstr "Filtraggio dei contenuti"
-#: ../../include/nav.php:208
-msgid "Manage Your Channels"
-msgstr "Gestisci i tuoi canali"
+#: ../../include/features.php:265
+msgid "Search by Date"
+msgstr "Ricerca per data"
-#: ../../include/nav.php:210
-msgid "Account/Channel Settings"
-msgstr "Impostazioni dell'account e del canale"
+#: ../../include/features.php:266
+msgid "Ability to select posts by date ranges"
+msgstr "Per selezionare i post in un intervallo tra date"
-#: ../../include/nav.php:218 ../../include/widgets.php:1510
-msgid "Admin"
-msgstr "Amministrazione"
+#: ../../include/features.php:274 ../../include/group.php:311
+msgid "Privacy Groups"
+msgstr "Gruppi di canali"
-#: ../../include/nav.php:218
-msgid "Site Setup and Configuration"
-msgstr "Installazione e configurazione del sito"
+#: ../../include/features.php:275
+msgid "Enable management and selection of privacy groups"
+msgstr "Abilita i gruppi di canali"
-#: ../../include/nav.php:249 ../../include/conversation.php:854
-msgid "Loading..."
-msgstr "Caricamento in corso..."
+#: ../../include/features.php:283 ../../include/widgets.php:283
+msgid "Saved Searches"
+msgstr "Ricerche salvate"
-#: ../../include/nav.php:254
-msgid "@name, #tag, ?doc, content"
-msgstr "@nome, #tag, ?guida, contenuto"
+#: ../../include/features.php:284
+msgid "Save search terms for re-use"
+msgstr "Salva i termini delle ricerche per poterle ripetere"
-#: ../../include/nav.php:255
-msgid "Please wait..."
-msgstr "Attendere..."
+#: ../../include/features.php:292
+msgid "Network Personal Tab"
+msgstr "Attività personale"
-#: ../../include/network.php:704
-msgid "view full size"
-msgstr "guarda nelle dimensioni reali"
+#: ../../include/features.php:293
+msgid "Enable tab to display only Network posts that you've interacted on"
+msgstr "Abilita il link per mostrare solamente i contenuti con cui hai interagito"
-#: ../../include/network.php:1930 ../../include/account.php:317
-#: ../../include/account.php:344 ../../include/account.php:404
-msgid "Administrator"
-msgstr "Amministratore"
+#: ../../include/features.php:301
+msgid "Network New Tab"
+msgstr "Contenuti nuovi"
-#: ../../include/network.php:1944
-msgid "No Subject"
-msgstr "Nessun titolo"
+#: ../../include/features.php:302
+msgid "Enable tab to display all new Network activity"
+msgstr "Abilita il link per visualizzare solo i nuovi contenuti"
-#: ../../include/network.php:2198 ../../include/network.php:2199
-msgid "Friendica"
-msgstr "Friendica"
+#: ../../include/features.php:310
+msgid "Affinity Tool"
+msgstr "Filtro per affinità"
-#: ../../include/network.php:2200
-msgid "OStatus"
-msgstr "OStatus"
+#: ../../include/features.php:311
+msgid "Filter stream activity by depth of relationships"
+msgstr "Permette di selezionare i contenuti in base al livello di amicizia"
-#: ../../include/network.php:2201
-msgid "GNU-Social"
-msgstr "GNU-Social"
+#: ../../include/features.php:320
+msgid "Show friend and connection suggestions"
+msgstr "Mostra suggerimenti di contatti e amici"
-#: ../../include/network.php:2202
-msgid "RSS/Atom"
-msgstr "RSS/Atom"
+#: ../../include/features.php:328
+msgid "Connection Filtering"
+msgstr "Filtro sui contatti"
-#: ../../include/network.php:2204
-msgid "Diaspora"
-msgstr "Diaspora"
+#: ../../include/features.php:329
+msgid "Filter incoming posts from connections based on keywords/content"
+msgstr "Filtra i post che ricevi con parole chiave"
-#: ../../include/network.php:2205
-msgid "Facebook"
-msgstr "Facebook"
+#: ../../include/features.php:341
+msgid "Post/Comment Tools"
+msgstr "Gestione post e commenti"
-#: ../../include/network.php:2206
-msgid "Zot"
-msgstr "Zot"
+#: ../../include/features.php:345
+msgid "Community Tagging"
+msgstr "Tag della comunità"
-#: ../../include/network.php:2207
-msgid "LinkedIn"
-msgstr "LinkedIn"
+#: ../../include/features.php:346
+msgid "Ability to tag existing posts"
+msgstr "Permetti l'aggiunta di tag su post già esistenti"
-#: ../../include/network.php:2208
-msgid "XMPP/IM"
-msgstr "XMPP/IM"
+#: ../../include/features.php:354
+msgid "Post Categories"
+msgstr "Categorie dei post"
-#: ../../include/network.php:2209
-msgid "MySpace"
-msgstr "MySpace"
+#: ../../include/features.php:355
+msgid "Add categories to your posts"
+msgstr "Abilita le categorie per i tuoi post"
-#: ../../include/page_widgets.php:7
-msgid "New Page"
-msgstr "Nuova pagina web"
+#: ../../include/features.php:363
+msgid "Emoji Reactions"
+msgstr "Risposte emoji"
-#: ../../include/page_widgets.php:46
-msgid "Title"
-msgstr "Titolo"
+#: ../../include/features.php:364
+msgid "Add emoji reaction ability to posts"
+msgstr "Permetti di rispondere ai post con degli emoji"
-#: ../../include/taxonomy.php:188 ../../include/taxonomy.php:270
-#: ../../include/widgets.php:46 ../../include/widgets.php:429
-#: ../../include/contact_widgets.php:91
-msgid "Categories"
-msgstr "Categorie"
+#: ../../include/features.php:372 ../../include/contact_widgets.php:53
+#: ../../include/widgets.php:346
+msgid "Saved Folders"
+msgstr "Cartelle salvate"
-#: ../../include/taxonomy.php:228 ../../include/taxonomy.php:249
-msgid "Tags"
-msgstr "Tag"
+#: ../../include/features.php:373
+msgid "Ability to file posts under folders"
+msgstr "Abilita la raccolta dei tuoi articoli in cartelle"
-#: ../../include/taxonomy.php:293
-msgid "Keywords"
-msgstr "Parole chiave"
+#: ../../include/features.php:381
+msgid "Dislike Posts"
+msgstr "Non mi piace"
-#: ../../include/taxonomy.php:314
-msgid "have"
-msgstr "ho"
+#: ../../include/features.php:382
+msgid "Ability to dislike posts/comments"
+msgstr "Abilità la funzionalità \"non mi piace\" per i tuoi post"
-#: ../../include/taxonomy.php:314
-msgid "has"
-msgstr "ha"
+#: ../../include/features.php:390
+msgid "Star Posts"
+msgstr "Post con stella"
-#: ../../include/taxonomy.php:315
-msgid "want"
-msgstr "voglio"
+#: ../../include/features.php:391
+msgid "Ability to mark special posts with a star indicator"
+msgstr "Mostra la stella per segnare i post preferiti"
-#: ../../include/taxonomy.php:315
-msgid "wants"
-msgstr "vuole"
+#: ../../include/features.php:399
+msgid "Tag Cloud"
+msgstr "Nuvola di tag"
-#: ../../include/taxonomy.php:316
-msgid "likes"
-msgstr "gli piace"
+#: ../../include/features.php:400
+msgid "Provide a personal tag cloud on your channel page"
+msgstr "Mostra la nuvola dei tag che usi di più sulla pagina del tuo canale"
-#: ../../include/taxonomy.php:317
-msgid "dislikes"
-msgstr "non gli piace"
+#: ../../include/features.php:412
+msgid "Premium Channel"
+msgstr "Canale premium"
-#: ../../include/channel.php:33
-msgid "Unable to obtain identity information from database"
-msgstr "Impossibile ottenere le informazioni di identificazione dal database"
+#: ../../include/features.php:413
+msgid ""
+"Allows you to set restrictions and terms on those that connect with your "
+"channel"
+msgstr "Ti permette di impostare restrizioni e termini d'uso per il canale"
-#: ../../include/channel.php:67
-msgid "Empty name"
-msgstr "Nome vuoto"
+#: ../../include/help.php:25
+msgid "Help:"
+msgstr "Guida:"
-#: ../../include/channel.php:70
-msgid "Name too long"
-msgstr "Nome troppo lungo"
+#: ../../include/security.php:109
+msgid "guest:"
+msgstr "ospite:"
-#: ../../include/channel.php:181
-msgid "No account identifier"
-msgstr "Account senza identificativo"
+#: ../../include/security.php:527
+msgid ""
+"The form security token was not correct. This probably happened because the "
+"form has been opened for too long (>3 hours) before submitting it."
+msgstr "I controlli di sicurezza sono falliti. Probabilmente è accaduto perché la pagina è stata tenuta aperta troppo a lungo (ore?) prima di inviare il contenuto."
-#: ../../include/channel.php:193
-msgid "Nickname is required."
-msgstr "Il nome dell'account è obbligatorio."
+#: ../../include/text.php:450
+msgid "prev"
+msgstr "prec"
-#: ../../include/channel.php:207
-msgid "Reserved nickname. Please choose another."
-msgstr "Nome utente riservato. Per favore scegline un altro."
+#: ../../include/text.php:452
+msgid "first"
+msgstr "inizio"
-#: ../../include/channel.php:212
-msgid ""
-"Nickname has unsupported characters or is already being used on this site."
-msgstr "Il nome dell'account è già in uso oppure ha dei caratteri non supportati."
+#: ../../include/text.php:481
+msgid "last"
+msgstr "fine"
-#: ../../include/channel.php:272
-msgid "Unable to retrieve created identity"
-msgstr "Impossibile caricare l'identità creata"
+#: ../../include/text.php:484
+msgid "next"
+msgstr "succ"
-#: ../../include/channel.php:341
-msgid "Default Profile"
-msgstr "Profilo predefinito"
+#: ../../include/text.php:494
+msgid "older"
+msgstr "più recenti"
-#: ../../include/channel.php:830
-msgid "Requested channel is not available."
-msgstr "Il canale che cerchi non è disponibile."
+#: ../../include/text.php:496
+msgid "newer"
+msgstr "più nuovi"
-#: ../../include/channel.php:977
-msgid "Create New Profile"
-msgstr "Crea un nuovo profilo"
+#: ../../include/text.php:889
+msgid "No connections"
+msgstr "Nessun contatto"
-#: ../../include/channel.php:997
-msgid "Visible to everybody"
-msgstr "Visibile a tutti"
+#: ../../include/text.php:914
+#, php-format
+msgid "View all %s connections"
+msgstr "Mostra tutti i %s contatti"
-#: ../../include/channel.php:1070 ../../include/channel.php:1182
-msgid "Gender:"
-msgstr "Sesso:"
+#: ../../include/text.php:1059 ../../include/text.php:1064
+msgid "poke"
+msgstr "poke"
-#: ../../include/channel.php:1071 ../../include/channel.php:1226
-msgid "Status:"
-msgstr "Stato:"
+#: ../../include/text.php:1059 ../../include/text.php:1064
+#: ../../include/conversation.php:243
+msgid "poked"
+msgstr "ha mandato un poke"
-#: ../../include/channel.php:1072 ../../include/channel.php:1237
-msgid "Homepage:"
-msgstr "Home page:"
+#: ../../include/text.php:1065
+msgid "ping"
+msgstr "ping"
-#: ../../include/channel.php:1073
-msgid "Online Now"
-msgstr "Online adesso"
+#: ../../include/text.php:1065
+msgid "pinged"
+msgstr "ha effettuato un ping"
-#: ../../include/channel.php:1187
-msgid "Like this channel"
-msgstr "Mi piace questo canale"
+#: ../../include/text.php:1066
+msgid "prod"
+msgstr "spintone"
-#: ../../include/channel.php:1211
-msgid "j F, Y"
-msgstr "j F Y"
+#: ../../include/text.php:1066
+msgid "prodded"
+msgstr "ha ricevuto uno spintone"
-#: ../../include/channel.php:1212
-msgid "j F"
-msgstr "j F"
+#: ../../include/text.php:1067
+msgid "slap"
+msgstr "schiaffo"
-#: ../../include/channel.php:1219
-msgid "Birthday:"
-msgstr "Compleanno:"
+#: ../../include/text.php:1067
+msgid "slapped"
+msgstr "ha ricevuto uno schiaffo"
-#: ../../include/channel.php:1232
-#, php-format
-msgid "for %1$d %2$s"
-msgstr "per %1$d %2$s"
+#: ../../include/text.php:1068
+msgid "finger"
+msgstr "finger"
-#: ../../include/channel.php:1235
-msgid "Sexual Preference:"
-msgstr "Preferenze sessuali:"
+#: ../../include/text.php:1068
+msgid "fingered"
+msgstr "ha ricevuto un finger"
-#: ../../include/channel.php:1241
-msgid "Tags:"
-msgstr "Tag:"
+#: ../../include/text.php:1069
+msgid "rebuff"
+msgstr "rifiuto"
-#: ../../include/channel.php:1243
-msgid "Political Views:"
-msgstr "Orientamento politico:"
+#: ../../include/text.php:1069
+msgid "rebuffed"
+msgstr "ha ricevuto un rifiuto"
-#: ../../include/channel.php:1245
-msgid "Religion:"
-msgstr "Religione:"
+#: ../../include/text.php:1081
+msgid "happy"
+msgstr "felice"
-#: ../../include/channel.php:1249
-msgid "Hobbies/Interests:"
-msgstr "Interessi e hobby:"
+#: ../../include/text.php:1082
+msgid "sad"
+msgstr "triste"
-#: ../../include/channel.php:1251
-msgid "Likes:"
-msgstr "Mi piace:"
+#: ../../include/text.php:1083
+msgid "mellow"
+msgstr "calmo"
-#: ../../include/channel.php:1253
-msgid "Dislikes:"
-msgstr "Non mi piace:"
+#: ../../include/text.php:1084
+msgid "tired"
+msgstr "stanco"
-#: ../../include/channel.php:1255
-msgid "Contact information and Social Networks:"
-msgstr "Contatti e social network:"
+#: ../../include/text.php:1085
+msgid "perky"
+msgstr "vivace"
-#: ../../include/channel.php:1257
-msgid "My other channels:"
-msgstr "I miei altri canali:"
+#: ../../include/text.php:1086
+msgid "angry"
+msgstr "arrabbiato"
-#: ../../include/channel.php:1259
-msgid "Musical interests:"
-msgstr "Gusti musicali:"
+#: ../../include/text.php:1087
+msgid "stupefied"
+msgstr "stupito"
-#: ../../include/channel.php:1261
-msgid "Books, literature:"
-msgstr "Libri, letteratura:"
+#: ../../include/text.php:1088
+msgid "puzzled"
+msgstr "confuso"
-#: ../../include/channel.php:1263
-msgid "Television:"
-msgstr "Televisione:"
+#: ../../include/text.php:1089
+msgid "interested"
+msgstr "attento"
-#: ../../include/channel.php:1265
-msgid "Film/dance/culture/entertainment:"
-msgstr "Film, danza, cultura, intrattenimento:"
+#: ../../include/text.php:1090
+msgid "bitter"
+msgstr "amaro"
-#: ../../include/channel.php:1267
-msgid "Love/Romance:"
-msgstr "Amore:"
+#: ../../include/text.php:1091
+msgid "cheerful"
+msgstr "allegro"
-#: ../../include/channel.php:1269
-msgid "Work/employment:"
-msgstr "Lavoro:"
+#: ../../include/text.php:1092
+msgid "alive"
+msgstr "vivace"
-#: ../../include/channel.php:1271
-msgid "School/education:"
-msgstr "Scuola:"
+#: ../../include/text.php:1093
+msgid "annoyed"
+msgstr "seccato"
-#: ../../include/channel.php:1292
-msgid "Like this thing"
-msgstr "Mi piace"
+#: ../../include/text.php:1094
+msgid "anxious"
+msgstr "ansioso"
-#: ../../include/connections.php:95
-msgid "New window"
-msgstr "Nuova finestra"
+#: ../../include/text.php:1095
+msgid "cranky"
+msgstr "irritabile"
-#: ../../include/connections.php:96
-msgid "Open the selected location in a different window or browser tab"
-msgstr "Apri l'indirizzo selezionato in una nuova scheda o finestra"
+#: ../../include/text.php:1096
+msgid "disturbed"
+msgstr "turbato"
-#: ../../include/connections.php:214
-#, php-format
-msgid "User '%s' deleted"
-msgstr "Utente '%s' eliminato"
+#: ../../include/text.php:1097
+msgid "frustrated"
+msgstr "frustrato"
-#: ../../include/conversation.php:204
-#, php-format
-msgid "%1$s is now connected with %2$s"
-msgstr "%1$s adesso è connesso con %2$s"
+#: ../../include/text.php:1098
+msgid "depressed"
+msgstr "in depressione"
-#: ../../include/conversation.php:239
-#, php-format
-msgid "%1$s poked %2$s"
-msgstr "%1$s ha mandato un poke a %2$s"
+#: ../../include/text.php:1099
+msgid "motivated"
+msgstr "motivato"
-#: ../../include/conversation.php:243 ../../include/text.php:1013
-#: ../../include/text.php:1018
-msgid "poked"
-msgstr "ha mandato un poke"
+#: ../../include/text.php:1100
+msgid "relaxed"
+msgstr "rilassato"
-#: ../../include/conversation.php:694
-#, php-format
-msgid "View %s's profile @ %s"
-msgstr "Vedi il profilo di %s @ %s"
+#: ../../include/text.php:1101
+msgid "surprised"
+msgstr "sorpreso"
-#: ../../include/conversation.php:713
-msgid "Categories:"
-msgstr "Categorie:"
+#: ../../include/text.php:1285 ../../include/js_strings.php:70
+msgid "Monday"
+msgstr "lunedì"
-#: ../../include/conversation.php:714
-msgid "Filed under:"
-msgstr "Classificato come:"
+#: ../../include/text.php:1285 ../../include/js_strings.php:71
+msgid "Tuesday"
+msgstr "martedì"
-#: ../../include/conversation.php:741
-msgid "View in context"
-msgstr "Vedi nel contesto"
+#: ../../include/text.php:1285 ../../include/js_strings.php:72
+msgid "Wednesday"
+msgstr "mercoledì"
-#: ../../include/conversation.php:850
-msgid "remove"
-msgstr "rimuovi"
+#: ../../include/text.php:1285 ../../include/js_strings.php:73
+msgid "Thursday"
+msgstr "giovedì"
-#: ../../include/conversation.php:855
-msgid "Delete Selected Items"
-msgstr "Elimina gli oggetti selezionati"
+#: ../../include/text.php:1285 ../../include/js_strings.php:74
+msgid "Friday"
+msgstr "venerdì"
-#: ../../include/conversation.php:951
-msgid "View Source"
-msgstr "Vedi il sorgente"
+#: ../../include/text.php:1285 ../../include/js_strings.php:75
+msgid "Saturday"
+msgstr "sabato"
-#: ../../include/conversation.php:952
-msgid "Follow Thread"
-msgstr "Segui la discussione"
+#: ../../include/text.php:1285 ../../include/js_strings.php:69
+msgid "Sunday"
+msgstr "domenica"
-#: ../../include/conversation.php:953
-msgid "Unfollow Thread"
-msgstr "Non seguire la discussione"
+#: ../../include/text.php:1289 ../../include/js_strings.php:45
+msgid "January"
+msgstr "gennaio"
-#: ../../include/conversation.php:958
-msgid "Activity/Posts"
-msgstr "Attività e Post"
+#: ../../include/text.php:1289 ../../include/js_strings.php:46
+msgid "February"
+msgstr "febbraio"
-#: ../../include/conversation.php:960
-msgid "Edit Connection"
-msgstr "Modifica il contatto"
+#: ../../include/text.php:1289 ../../include/js_strings.php:47
+msgid "March"
+msgstr "marzo"
-#: ../../include/conversation.php:961
-msgid "Message"
-msgstr "Messaggio"
+#: ../../include/text.php:1289 ../../include/js_strings.php:48
+msgid "April"
+msgstr "aprile"
-#: ../../include/conversation.php:1078
-#, php-format
-msgid "%s likes this."
-msgstr "Piace a %s."
+#: ../../include/text.php:1289
+msgid "May"
+msgstr "Mag"
-#: ../../include/conversation.php:1078
-#, php-format
-msgid "%s doesn't like this."
-msgstr "Non piace a %s."
+#: ../../include/text.php:1289 ../../include/js_strings.php:50
+msgid "June"
+msgstr "giugno"
-#: ../../include/conversation.php:1082
-#, 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] "Piace a <span %1$s>%2$d persone</span>."
+#: ../../include/text.php:1289 ../../include/js_strings.php:51
+msgid "July"
+msgstr "luglio"
-#: ../../include/conversation.php:1084
-#, 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] "Non piace a <span %1$s>%2$d persone</span>."
+#: ../../include/text.php:1289 ../../include/js_strings.php:52
+msgid "August"
+msgstr "agosto"
-#: ../../include/conversation.php:1090
-msgid "and"
-msgstr "e"
+#: ../../include/text.php:1289 ../../include/js_strings.php:53
+msgid "September"
+msgstr "settembre"
-#: ../../include/conversation.php:1093
-#, php-format
-msgid ", and %d other people"
-msgid_plural ", and %d other people"
-msgstr[0] ""
-msgstr[1] "e altre %d persone"
+#: ../../include/text.php:1289 ../../include/js_strings.php:54
+msgid "October"
+msgstr "ottobre"
-#: ../../include/conversation.php:1094
-#, php-format
-msgid "%s like this."
-msgstr "Piace a %s."
+#: ../../include/text.php:1289 ../../include/js_strings.php:55
+msgid "November"
+msgstr "novembre"
-#: ../../include/conversation.php:1094
-#, php-format
-msgid "%s don't like this."
-msgstr "Non piace a %s."
+#: ../../include/text.php:1289 ../../include/js_strings.php:56
+msgid "December"
+msgstr "dicembre"
-#: ../../include/conversation.php:1133
-msgid "Set your location"
-msgstr "La tua località"
+#: ../../include/text.php:1366 ../../include/text.php:1370
+msgid "Unknown Attachment"
+msgstr "Allegato non riconoscuto"
-#: ../../include/conversation.php:1134
-msgid "Clear browser location"
-msgstr "Rimuovi la località data dal browser"
+#: ../../include/text.php:1372
+msgid "unknown"
+msgstr "sconosciuta"
-#: ../../include/conversation.php:1182
-msgid "Tag term:"
-msgstr "Tag:"
+#: ../../include/text.php:1408
+msgid "remove category"
+msgstr "rimuovi la categoria"
-#: ../../include/conversation.php:1183
-msgid "Where are you right now?"
-msgstr "Dove sei ora?"
+#: ../../include/text.php:1485
+msgid "remove from file"
+msgstr "rimuovi dal file"
-#: ../../include/conversation.php:1221
-msgid "Page link name"
-msgstr "Nome del link alla pagina"
+#: ../../include/text.php:1784 ../../include/text.php:1855
+msgid "default"
+msgstr "predefinito"
-#: ../../include/conversation.php:1224
-msgid "Post as"
-msgstr "Pubblica come "
+#: ../../include/text.php:1792
+msgid "Page layout"
+msgstr "Layout della pagina"
-#: ../../include/conversation.php:1238
-msgid "Toggle voting"
-msgstr "Abilita/disabilita il voto"
+#: ../../include/text.php:1792
+msgid "You can create your own with the layouts tool"
+msgstr "Puoi creare un tuo layout dalla configurazione delle pagine web"
-#: ../../include/conversation.php:1246
-msgid "Categories (optional, comma-separated list)"
-msgstr "Categorie (facoltative, lista separata da virgole)"
+#: ../../include/text.php:1834
+msgid "Page content type"
+msgstr "Tipo di contenuto della pagina"
-#: ../../include/conversation.php:1269
-msgid "Set publish date"
-msgstr "Data di uscita programmata"
+#: ../../include/text.php:1867
+msgid "Select an alternate language"
+msgstr "Seleziona una lingua diversa"
-#: ../../include/conversation.php:1518
-msgid "Discover"
-msgstr "Scopri"
+#: ../../include/text.php:2004
+msgid "activity"
+msgstr "l'attività"
-#: ../../include/conversation.php:1521
-msgid "Imported public streams"
-msgstr "Contenuti pubblici importati"
+#: ../../include/text.php:2305
+msgid "Design Tools"
+msgstr "Strumenti di design"
-#: ../../include/conversation.php:1526
-msgid "Commented Order"
-msgstr "Commenti recenti"
+#: ../../include/text.php:2311
+msgid "Pages"
+msgstr "Pagine"
-#: ../../include/conversation.php:1529
-msgid "Sort by Comment Date"
-msgstr "Per data del commento"
+#: ../../include/text.php:2333
+msgid "Import website..."
+msgstr "Importazione sito web..."
-#: ../../include/conversation.php:1533
-msgid "Posted Order"
-msgstr "Post recenti"
+#: ../../include/text.php:2334
+msgid "Select folder to import"
+msgstr "Scegli la cartella da importare"
-#: ../../include/conversation.php:1536
-msgid "Sort by Post Date"
-msgstr "Per data di creazione"
+#: ../../include/text.php:2335
+msgid "Import from a zipped folder:"
+msgstr "Importa da un file zip:"
-#: ../../include/conversation.php:1544
-msgid "Posts that mention or involve you"
-msgstr "Post che ti riguardano"
+#: ../../include/text.php:2336
+msgid "Import from cloud files:"
+msgstr "Importa da un file su cloud:"
-#: ../../include/conversation.php:1553
-msgid "Activity Stream - by date"
-msgstr "Elenco attività - per data"
+#: ../../include/text.php:2337
+msgid "/cloud/channel/path/to/folder"
+msgstr "/cloud/channel/posizione/della/cartella"
-#: ../../include/conversation.php:1559
-msgid "Starred"
-msgstr "Preferiti"
+#: ../../include/text.php:2338
+msgid "Enter path to website files"
+msgstr "Inserisci la posizione dei file del sito web"
-#: ../../include/conversation.php:1562
-msgid "Favourite Posts"
-msgstr "Post preferiti"
+#: ../../include/text.php:2339
+msgid "Select folder"
+msgstr "Scegli la cartella"
-#: ../../include/conversation.php:1569
-msgid "Spam"
-msgstr "Spam"
+#: ../../include/text.php:2340
+msgid "Export website..."
+msgstr "Esporta il sito web..."
-#: ../../include/conversation.php:1572
-msgid "Posts flagged as SPAM"
-msgstr "Post marcati come spam"
+#: ../../include/text.php:2341
+msgid "Export to a zip file"
+msgstr "Esporta come file zip"
-#: ../../include/conversation.php:1629
-msgid "Status Messages and Posts"
-msgstr "Post e messaggi di stato"
+#: ../../include/text.php:2342
+msgid "website.zip"
+msgstr "sitoweb.zip"
-#: ../../include/conversation.php:1638
-msgid "About"
-msgstr "Informazioni"
+#: ../../include/text.php:2343
+msgid "Enter a name for the zip file."
+msgstr "Scegli il nome del file zip."
-#: ../../include/conversation.php:1641
-msgid "Profile Details"
-msgstr "Dettagli del profilo"
+#: ../../include/text.php:2344
+msgid "Export to cloud files"
+msgstr "Esporta nell'archivio cloud"
-#: ../../include/conversation.php:1657
-msgid "Files and Storage"
-msgstr "Archivio file"
+#: ../../include/text.php:2345
+msgid "/path/to/export/folder"
+msgstr "/percorso/alla/cartella"
-#: ../../include/conversation.php:1677 ../../include/conversation.php:1680
-#: ../../include/widgets.php:836
-msgid "Chatrooms"
-msgstr "Chat"
+#: ../../include/text.php:2346
+msgid "Enter a path to a cloud files destination."
+msgstr "Scegli la posizione su una cartella cloud."
-#: ../../include/conversation.php:1693
-msgid "Saved Bookmarks"
-msgstr "Segnalibri salvati"
+#: ../../include/text.php:2347
+msgid "Specify folder"
+msgstr "Scegli la cartella"
-#: ../../include/conversation.php:1703
-msgid "Manage Webpages"
-msgstr "Gestisci le pagine web"
+#: ../../include/zot.php:700
+msgid "Invalid data packet"
+msgstr "Dati ricevuti non validi"
-#: ../../include/conversation.php:1768
-msgctxt "noun"
-msgid "Attending"
-msgid_plural "Attending"
-msgstr[0] "Partecipa"
-msgstr[1] "Partecipano"
+#: ../../include/zot.php:716
+msgid "Unable to verify channel signature"
+msgstr "Impossibile verificare la firma elettronica del canale"
-#: ../../include/conversation.php:1771
-msgctxt "noun"
-msgid "Not Attending"
-msgid_plural "Not Attending"
-msgstr[0] "Non partecipa"
-msgstr[1] "Non partecipano"
+#: ../../include/zot.php:2329
+#, php-format
+msgid "Unable to verify site signature for %s"
+msgstr "Impossibile verificare la firma elettronica del sito %s"
-#: ../../include/conversation.php:1774
-msgctxt "noun"
-msgid "Undecided"
-msgid_plural "Undecided"
-msgstr[0] "Indeciso"
-msgstr[1] "Indecisi"
+#: ../../include/zot.php:3713
+msgid "invalid target signature"
+msgstr "la firma ricevuta non è valida"
-#: ../../include/conversation.php:1777
-msgctxt "noun"
-msgid "Agree"
-msgid_plural "Agrees"
-msgstr[0] "D'accordo"
-msgstr[1] "D'accordo"
+#: ../../include/account.php:35
+msgid "Not a valid email address"
+msgstr "Email non valida"
-#: ../../include/conversation.php:1780
-msgctxt "noun"
-msgid "Disagree"
-msgid_plural "Disagrees"
-msgstr[0] "Non d'accordo"
-msgstr[1] "Non d'accordo"
+#: ../../include/account.php:37
+msgid "Your email domain is not among those allowed on this site"
+msgstr "Il dominio della tua email attualmente non è permesso su questo sito"
-#: ../../include/conversation.php:1783
-msgctxt "noun"
-msgid "Abstain"
-msgid_plural "Abstains"
-msgstr[0] "Astenuto"
-msgstr[1] "Astenuti"
+#: ../../include/account.php:43
+msgid "Your email address is already registered at this site."
+msgstr "La tua email è già registrata su questo sito."
-#: ../../include/import.php:30
-msgid ""
-"Cannot create a duplicate channel identifier on this system. Import failed."
-msgstr "Non posso creare un canale con un identificativo che già esiste su questo sistema. L'importazione è fallita."
+#: ../../include/account.php:75
+msgid "An invitation is required."
+msgstr "È necessario un invito."
-#: ../../include/import.php:97
-msgid "Channel clone failed. Import failed."
-msgstr "Impossibile clonare il canale. L'importazione è fallita."
+#: ../../include/account.php:79
+msgid "Invitation could not be verified."
+msgstr "L'invito non può essere verificato."
+
+#: ../../include/account.php:130
+msgid "Please enter the required information."
+msgstr "Inserisci le informazioni richieste."
+
+#: ../../include/account.php:198
+msgid "Failed to store account information."
+msgstr "Non è stato possibile salvare le informazioni del tuo account."
+
+#: ../../include/account.php:258
+#, php-format
+msgid "Registration confirmation for %s"
+msgstr "Registrazione di %s confermata"
+
+#: ../../include/account.php:324
+#, php-format
+msgid "Registration request at %s"
+msgstr "Richiesta di registrazione su %s"
+
+#: ../../include/account.php:326 ../../include/account.php:353
+#: ../../include/account.php:413 ../../include/network.php:1937
+msgid "Administrator"
+msgstr "Amministratore"
+
+#: ../../include/account.php:348
+msgid "your registration password"
+msgstr "la password di registrazione"
+
+#: ../../include/account.php:351 ../../include/account.php:411
+#, php-format
+msgid "Registration details for %s"
+msgstr "Dettagli della registrazione di %s"
+
+#: ../../include/account.php:423
+msgid "Account approved."
+msgstr "Account approvato."
+
+#: ../../include/account.php:463
+#, php-format
+msgid "Registration revoked for %s"
+msgstr "Registrazione revocata per %s"
+
+#: ../../include/account.php:748 ../../include/account.php:750
+msgid "Click here to upgrade."
+msgstr "Clicca qui per aggiornare."
+
+#: ../../include/account.php:756
+msgid "This action exceeds the limits set by your subscription plan."
+msgstr "Questa operazione supera i limiti del tuo abbonamento."
+
+#: ../../include/account.php:761
+msgid "This action is not available under your subscription plan."
+msgstr "Questa operazione non è prevista dal tuo abbonamento."
+
+#: ../../include/message.php:20
+msgid "No recipient provided."
+msgstr "Devi scegliere un destinatario."
+
+#: ../../include/message.php:25
+msgid "[no subject]"
+msgstr "[nessun titolo]"
+
+#: ../../include/message.php:45
+msgid "Unable to determine sender."
+msgstr "Impossibile determinare il mittente."
+
+#: ../../include/message.php:222
+msgid "Stored post could not be verified."
+msgstr "Non è stato possibile verificare il post."
#: ../../include/selectors.php:30
msgid "Frequently"
@@ -7905,6 +8062,14 @@ msgstr "Ogni settimana"
msgid "Monthly"
msgstr "Ogni mese"
+#: ../../include/selectors.php:49 ../../include/selectors.php:66
+msgid "Male"
+msgstr "Maschio"
+
+#: ../../include/selectors.php:49 ../../include/selectors.php:66
+msgid "Female"
+msgstr "Femmina"
+
#: ../../include/selectors.php:49
msgid "Currently Male"
msgstr "Al momento maschio"
@@ -8121,662 +8286,197 @@ msgstr "Chi se ne frega"
msgid "Ask me"
msgstr "Chiedimelo"
-#: ../../include/bookmarks.php:35
-#, php-format
-msgid "%1$s's bookmarks"
-msgstr "I segnalibri di %1$s"
-
-#: ../../include/security.php:109
-msgid "guest:"
-msgstr "ospite:"
-
-#: ../../include/security.php:427
-msgid ""
-"The form security token was not correct. This probably happened because the "
-"form has been opened for too long (>3 hours) before submitting it."
-msgstr "I controlli di sicurezza sono falliti. Probabilmente è accaduto perché la pagina è stata tenuta aperta troppo a lungo (ore?) prima di inviare il contenuto."
-
-#: ../../include/text.php:404
-msgid "prev"
-msgstr "prec"
-
-#: ../../include/text.php:406
-msgid "first"
-msgstr "inizio"
-
-#: ../../include/text.php:435
-msgid "last"
-msgstr "fine"
-
-#: ../../include/text.php:438
-msgid "next"
-msgstr "succ"
-
-#: ../../include/text.php:448
-msgid "older"
-msgstr "più recenti"
-
-#: ../../include/text.php:450
-msgid "newer"
-msgstr "più nuovi"
-
-#: ../../include/text.php:843
-msgid "No connections"
-msgstr "Nessun contatto"
-
-#: ../../include/text.php:868
-#, php-format
-msgid "View all %s connections"
-msgstr "Mostra tutti i %s contatti"
-
-#: ../../include/text.php:1013 ../../include/text.php:1018
-msgid "poke"
-msgstr "poke"
-
-#: ../../include/text.php:1019
-msgid "ping"
-msgstr "ping"
-
-#: ../../include/text.php:1019
-msgid "pinged"
-msgstr "ha effettuato un ping"
-
-#: ../../include/text.php:1020
-msgid "prod"
-msgstr "spintone"
-
-#: ../../include/text.php:1020
-msgid "prodded"
-msgstr "ha ricevuto uno spintone"
-
-#: ../../include/text.php:1021
-msgid "slap"
-msgstr "schiaffo"
-
-#: ../../include/text.php:1021
-msgid "slapped"
-msgstr "ha ricevuto uno schiaffo"
-
-#: ../../include/text.php:1022
-msgid "finger"
-msgstr "finger"
-
-#: ../../include/text.php:1022
-msgid "fingered"
-msgstr "ha ricevuto un finger"
-
-#: ../../include/text.php:1023
-msgid "rebuff"
-msgstr "rifiuto"
-
-#: ../../include/text.php:1023
-msgid "rebuffed"
-msgstr "ha ricevuto un rifiuto"
-
-#: ../../include/text.php:1035
-msgid "happy"
-msgstr "felice"
-
-#: ../../include/text.php:1036
-msgid "sad"
-msgstr "triste"
-
-#: ../../include/text.php:1037
-msgid "mellow"
-msgstr "calmo"
-
-#: ../../include/text.php:1038
-msgid "tired"
-msgstr "stanco"
-
-#: ../../include/text.php:1039
-msgid "perky"
-msgstr "vivace"
-
-#: ../../include/text.php:1040
-msgid "angry"
-msgstr "arrabbiato"
-
-#: ../../include/text.php:1041
-msgid "stupefied"
-msgstr "stupito"
-
-#: ../../include/text.php:1042
-msgid "puzzled"
-msgstr "confuso"
-
-#: ../../include/text.php:1043
-msgid "interested"
-msgstr "attento"
-
-#: ../../include/text.php:1044
-msgid "bitter"
-msgstr "amaro"
-
-#: ../../include/text.php:1045
-msgid "cheerful"
-msgstr "allegro"
-
-#: ../../include/text.php:1046
-msgid "alive"
-msgstr "vivace"
-
-#: ../../include/text.php:1047
-msgid "annoyed"
-msgstr "seccato"
-
-#: ../../include/text.php:1048
-msgid "anxious"
-msgstr "ansioso"
-
-#: ../../include/text.php:1049
-msgid "cranky"
-msgstr "irritabile"
-
-#: ../../include/text.php:1050
-msgid "disturbed"
-msgstr "turbato"
-
-#: ../../include/text.php:1051
-msgid "frustrated"
-msgstr "frustrato"
-
-#: ../../include/text.php:1052
-msgid "depressed"
-msgstr "in depressione"
-
-#: ../../include/text.php:1053
-msgid "motivated"
-msgstr "motivato"
-
-#: ../../include/text.php:1054
-msgid "relaxed"
-msgstr "rilassato"
-
-#: ../../include/text.php:1055
-msgid "surprised"
-msgstr "sorpreso"
-
-#: ../../include/text.php:1237 ../../include/js_strings.php:70
-msgid "Monday"
-msgstr "lunedì"
-
-#: ../../include/text.php:1237 ../../include/js_strings.php:71
-msgid "Tuesday"
-msgstr "martedì"
-
-#: ../../include/text.php:1237 ../../include/js_strings.php:72
-msgid "Wednesday"
-msgstr "mercoledì"
-
-#: ../../include/text.php:1237 ../../include/js_strings.php:73
-msgid "Thursday"
-msgstr "giovedì"
-
-#: ../../include/text.php:1237 ../../include/js_strings.php:74
-msgid "Friday"
-msgstr "venerdì"
-
-#: ../../include/text.php:1237 ../../include/js_strings.php:75
-msgid "Saturday"
-msgstr "sabato"
-
-#: ../../include/text.php:1237 ../../include/js_strings.php:69
-msgid "Sunday"
-msgstr "domenica"
-
-#: ../../include/text.php:1241 ../../include/js_strings.php:45
-msgid "January"
-msgstr "gennaio"
-
-#: ../../include/text.php:1241 ../../include/js_strings.php:46
-msgid "February"
-msgstr "febbraio"
-
-#: ../../include/text.php:1241 ../../include/js_strings.php:47
-msgid "March"
-msgstr "marzo"
-
-#: ../../include/text.php:1241 ../../include/js_strings.php:48
-msgid "April"
-msgstr "aprile"
-
-#: ../../include/text.php:1241
-msgid "May"
-msgstr "Mag"
-
-#: ../../include/text.php:1241 ../../include/js_strings.php:50
-msgid "June"
-msgstr "giugno"
-
-#: ../../include/text.php:1241 ../../include/js_strings.php:51
-msgid "July"
-msgstr "luglio"
-
-#: ../../include/text.php:1241 ../../include/js_strings.php:52
-msgid "August"
-msgstr "agosto"
-
-#: ../../include/text.php:1241 ../../include/js_strings.php:53
-msgid "September"
-msgstr "settembre"
-
-#: ../../include/text.php:1241 ../../include/js_strings.php:54
-msgid "October"
-msgstr "ottobre"
-
-#: ../../include/text.php:1241 ../../include/js_strings.php:55
-msgid "November"
-msgstr "novembre"
-
-#: ../../include/text.php:1241 ../../include/js_strings.php:56
-msgid "December"
-msgstr "dicembre"
-
-#: ../../include/text.php:1318 ../../include/text.php:1322
-msgid "Unknown Attachment"
-msgstr "Allegato non riconoscuto"
-
-#: ../../include/text.php:1324
-msgid "unknown"
-msgstr "sconosciuta"
-
-#: ../../include/text.php:1360
-msgid "remove category"
-msgstr "rimuovi la categoria"
-
-#: ../../include/text.php:1437
-msgid "remove from file"
-msgstr "rimuovi dal file"
-
-#: ../../include/text.php:1734 ../../include/text.php:1805
-msgid "default"
-msgstr "predefinito"
-
-#: ../../include/text.php:1742
-msgid "Page layout"
-msgstr "Layout della pagina"
-
-#: ../../include/text.php:1742
-msgid "You can create your own with the layouts tool"
-msgstr "Puoi creare un tuo layout dalla configurazione delle pagine web"
-
-#: ../../include/text.php:1784
-msgid "Page content type"
-msgstr "Tipo di contenuto della pagina"
-
-#: ../../include/text.php:1817
-msgid "Select an alternate language"
-msgstr "Seleziona una lingua diversa"
-
-#: ../../include/text.php:1934
-msgid "activity"
-msgstr "l'attività"
-
-#: ../../include/text.php:2235
-msgid "Design Tools"
-msgstr "Strumenti di design"
-
-#: ../../include/text.php:2241
-msgid "Pages"
-msgstr "Pagine"
-
-#: ../../include/auth.php:147
-msgid "Logged out."
-msgstr "Uscita effettuata."
-
-#: ../../include/auth.php:274
-msgid "Failed authentication"
-msgstr "Autenticazione fallita"
-
-#: ../../include/permissions.php:26
-msgid "Can view my normal stream and posts"
-msgstr "Può vedere i miei contenuti e i post normali"
-
-#: ../../include/permissions.php:30
-msgid "Can view my webpages"
-msgstr "Può vedere le mie pagine web"
-
-#: ../../include/permissions.php:34
-msgid "Can post on my channel page (\"wall\")"
-msgstr "Può scrivere sulla bacheca del mio canale"
-
-#: ../../include/permissions.php:37
-msgid "Can like/dislike stuff"
-msgstr "Può aggiungere \"mi piace\" a tutto il resto"
-
-#: ../../include/permissions.php:37
-msgid "Profiles and things other than posts/comments"
-msgstr "Può aggiungere \"mi piace\" a tutto ciò che non riguarda i post, come per esempio il profilo"
-
-#: ../../include/permissions.php:39
-msgid "Can forward to all my channel contacts via post @mentions"
-msgstr "Può inoltrare post a tutti i contatti del canale tramite una @menzione"
-
-#: ../../include/permissions.php:39
-msgid "Advanced - useful for creating group forum channels"
-msgstr "Impostazione avanzata - utile per creare un canale-forum di discussione"
+#: ../../include/channel.php:33
+msgid "Unable to obtain identity information from database"
+msgstr "Impossibile ottenere le informazioni di identificazione dal database"
-#: ../../include/permissions.php:40
-msgid "Can chat with me (when available)"
-msgstr "Può aprire una chat con me (se disponibile)"
+#: ../../include/channel.php:67
+msgid "Empty name"
+msgstr "Nome vuoto"
-#: ../../include/permissions.php:41
-msgid "Can write to my file storage and photos"
-msgstr "Può modificare il mio archivio file e foto"
+#: ../../include/channel.php:70
+msgid "Name too long"
+msgstr "Nome troppo lungo"
-#: ../../include/permissions.php:42
-msgid "Can edit my webpages"
-msgstr "Può modificare le mie pagine web"
+#: ../../include/channel.php:181
+msgid "No account identifier"
+msgstr "Account senza identificativo"
-#: ../../include/permissions.php:44
-msgid "Somewhat advanced - very useful in open communities"
-msgstr "Piuttosto avanzato - molto utile nelle comunità aperte"
+#: ../../include/channel.php:193
+msgid "Nickname is required."
+msgstr "Il nome dell'account è obbligatorio."
-#: ../../include/permissions.php:46
-msgid "Can administer my channel resources"
-msgstr "Può amministrare i contenuti del mio canale"
+#: ../../include/channel.php:207
+msgid "Reserved nickname. Please choose another."
+msgstr "Nome utente riservato. Per favore scegline un altro."
-#: ../../include/permissions.php:46
+#: ../../include/channel.php:212
msgid ""
-"Extremely advanced. Leave this alone unless you know what you are doing"
-msgstr "Impostazione pericolosa - lasciare il valore predefinito se non si è assolutamente sicuri"
-
-#: ../../include/features.php:48
-msgid "General Features"
-msgstr "Funzionalità di base"
-
-#: ../../include/features.php:50
-msgid "Content Expiration"
-msgstr "Scadenza"
-
-#: ../../include/features.php:50
-msgid "Remove posts/comments and/or private messages at a future time"
-msgstr "Elimina i post, i commenti o i messaggi privati dopo un lasso di tempo"
-
-#: ../../include/features.php:51
-msgid "Multiple Profiles"
-msgstr "Profili multipli"
-
-#: ../../include/features.php:51
-msgid "Ability to create multiple profiles"
-msgstr "Abilitazione a creare profili multipli"
+"Nickname has unsupported characters or is already being used on this site."
+msgstr "Il nome dell'account è già in uso oppure ha dei caratteri non supportati."
-#: ../../include/features.php:52
-msgid "Advanced Profiles"
-msgstr "Profili avanzati"
+#: ../../include/channel.php:272
+msgid "Unable to retrieve created identity"
+msgstr "Impossibile caricare l'identità creata"
-#: ../../include/features.php:52
-msgid "Additional profile sections and selections"
-msgstr "Informazioni aggiuntive del profilo"
+#: ../../include/channel.php:341
+msgid "Default Profile"
+msgstr "Profilo predefinito"
-#: ../../include/features.php:53
-msgid "Profile Import/Export"
-msgstr "Importa/esporta il profilo"
+#: ../../include/channel.php:813
+msgid "Requested channel is not available."
+msgstr "Il canale che cerchi non è disponibile."
-#: ../../include/features.php:53
-msgid "Save and load profile details across sites/channels"
-msgstr "Salva o ripristina le informazioni del profilo su siti diversi"
+#: ../../include/channel.php:960
+msgid "Create New Profile"
+msgstr "Crea un nuovo profilo"
-#: ../../include/features.php:54
-msgid "Web Pages"
-msgstr "Pagine web"
+#: ../../include/channel.php:963 ../../include/nav.php:93
+msgid "Edit Profile"
+msgstr "Modifica il profilo"
-#: ../../include/features.php:54
-msgid "Provide managed web pages on your channel"
-msgstr "Attiva la creazione di pagine web sul tuo canale"
+#: ../../include/channel.php:980
+msgid "Visible to everybody"
+msgstr "Visibile a tutti"
-#: ../../include/features.php:55
-msgid "Provide a wiki for your channel"
-msgstr "Fornisce una wiki per il tuo canale"
+#: ../../include/channel.php:1053 ../../include/channel.php:1166
+msgid "Gender:"
+msgstr "Sesso:"
-#: ../../include/features.php:56
-msgid "Hide Rating"
-msgstr "Nascondi le valutazioni"
+#: ../../include/channel.php:1054 ../../include/channel.php:1210
+msgid "Status:"
+msgstr "Stato:"
-#: ../../include/features.php:56
-msgid ""
-"Hide the rating buttons on your channel and profile pages. Note: People can "
-"still rate you somewhere else."
-msgstr "Nascondi i bottoni delle valutazioni sul tuo canale e sul profilo. Nota: le persone potranno comunque esprimere una valutazione altrove."
+#: ../../include/channel.php:1055 ../../include/channel.php:1221
+msgid "Homepage:"
+msgstr "Home page:"
-#: ../../include/features.php:57
-msgid "Private Notes"
-msgstr "Note private"
+#: ../../include/channel.php:1056
+msgid "Online Now"
+msgstr "Online adesso"
-#: ../../include/features.php:57
-msgid "Enables a tool to store notes and reminders (note: not encrypted)"
-msgstr "Abilita il riquadro per scrivere annotazioni (in chiaro)"
+#: ../../include/channel.php:1171
+msgid "Like this channel"
+msgstr "Mi piace questo canale"
-#: ../../include/features.php:58
-msgid "Navigation Channel Select"
-msgstr "Scegli il canale attivo dal menu"
+#: ../../include/channel.php:1195
+msgid "j F, Y"
+msgstr "j F Y"
-#: ../../include/features.php:58
-msgid "Change channels directly from within the navigation dropdown menu"
-msgstr "Scegli il canale attivo direttamente dal menu di navigazione"
+#: ../../include/channel.php:1196
+msgid "j F"
+msgstr "j F"
-#: ../../include/features.php:59
-msgid "Photo Location"
-msgstr "Posizione geografica"
+#: ../../include/channel.php:1203
+msgid "Birthday:"
+msgstr "Compleanno:"
-#: ../../include/features.php:59
-msgid "If location data is available on uploaded photos, link this to a map."
-msgstr "Collega la foto a una mappa quando contiene indicazioni geografiche."
+#: ../../include/channel.php:1216
+#, php-format
+msgid "for %1$d %2$s"
+msgstr "per %1$d %2$s"
-#: ../../include/features.php:60
-msgid "Access Controlled Chatrooms"
-msgstr "Chat ad accesso riservato"
+#: ../../include/channel.php:1219
+msgid "Sexual Preference:"
+msgstr "Preferenze sessuali:"
-#: ../../include/features.php:60
-msgid "Provide chatrooms and chat services with access control."
-msgstr "Il servizio di chat con accesso riservato"
+#: ../../include/channel.php:1225
+msgid "Tags:"
+msgstr "Tag:"
-#: ../../include/features.php:61
-msgid "Smart Birthdays"
-msgstr "Compleanni intelligenti"
+#: ../../include/channel.php:1227
+msgid "Political Views:"
+msgstr "Orientamento politico:"
-#: ../../include/features.php:61
-msgid ""
-"Make birthday events timezone aware in case your friends are scattered "
-"across the planet."
-msgstr "I compleanni saranno segnalati in base al fuso orario, utile se hai amici sparsi per il mondo."
+#: ../../include/channel.php:1229
+msgid "Religion:"
+msgstr "Religione:"
-#: ../../include/features.php:62
-msgid "Expert Mode"
-msgstr "Modalità esperto"
+#: ../../include/channel.php:1233
+msgid "Hobbies/Interests:"
+msgstr "Interessi e hobby:"
-#: ../../include/features.php:62
-msgid "Enable Expert Mode to provide advanced configuration options"
-msgstr "Abilita la modalità esperto per vedere le opzioni di configurazione avanzate"
+#: ../../include/channel.php:1235
+msgid "Likes:"
+msgstr "Mi piace:"
-#: ../../include/features.php:63
-msgid "Premium Channel"
-msgstr "Canale premium"
+#: ../../include/channel.php:1237
+msgid "Dislikes:"
+msgstr "Non mi piace:"
-#: ../../include/features.php:63
-msgid ""
-"Allows you to set restrictions and terms on those that connect with your "
-"channel"
-msgstr "Ti permette di impostare restrizioni e termini d'uso per il canale"
+#: ../../include/channel.php:1239
+msgid "Contact information and Social Networks:"
+msgstr "Contatti e social network:"
-#: ../../include/features.php:68
-msgid "Post Composition Features"
-msgstr "Modalità di scrittura post"
+#: ../../include/channel.php:1241
+msgid "My other channels:"
+msgstr "I miei altri canali:"
-#: ../../include/features.php:71
-msgid "Large Photos"
-msgstr "Foto grandi"
+#: ../../include/channel.php:1243
+msgid "Musical interests:"
+msgstr "Gusti musicali:"
-#: ../../include/features.php:71
-msgid ""
-"Include large (1024px) photo thumbnails in posts. If not enabled, use small "
-"(640px) photo thumbnails"
-msgstr "Includi anteprime grandi per le foto dei tuoi post (1024px). Altrimenti saranno mostrate anteprime più piccole (640px)"
+#: ../../include/channel.php:1245
+msgid "Books, literature:"
+msgstr "Libri, letteratura:"
-#: ../../include/features.php:72
-msgid "Automatically import channel content from other channels or feeds"
-msgstr "Importa automaticamente il contenuto del canale da altri canali o feed"
+#: ../../include/channel.php:1247
+msgid "Television:"
+msgstr "Televisione:"
-#: ../../include/features.php:73
-msgid "Even More Encryption"
-msgstr "Cifratura addizionale"
+#: ../../include/channel.php:1249
+msgid "Film/dance/culture/entertainment:"
+msgstr "Film, danza, cultura, intrattenimento:"
-#: ../../include/features.php:73
-msgid ""
-"Allow optional encryption of content end-to-end with a shared secret key"
-msgstr "Rendi possibile la crifratura aggiuntiva tra mittente e destinatario usando una parola chiave conosciuta a entrambi"
+#: ../../include/channel.php:1251
+msgid "Love/Romance:"
+msgstr "Amore:"
-#: ../../include/features.php:74
-msgid "Enable Voting Tools"
-msgstr "Permetti i post con votazione"
+#: ../../include/channel.php:1253
+msgid "Work/employment:"
+msgstr "Lavoro:"
-#: ../../include/features.php:74
-msgid "Provide a class of post which others can vote on"
-msgstr "Rende possibile la creazione di post in cui sarà possibile votare"
+#: ../../include/channel.php:1255
+msgid "School/education:"
+msgstr "Scuola:"
-#: ../../include/features.php:75
-msgid "Delayed Posting"
-msgstr "Pubblicazione ritardata"
+#: ../../include/channel.php:1276
+msgid "Like this thing"
+msgstr "Mi piace"
-#: ../../include/features.php:75
-msgid "Allow posts to be published at a later date"
-msgstr "Per scegliere una data e un'ora a cui far uscire i post"
+#: ../../include/acl_selectors.php:169
+msgid "Who can see this?"
+msgstr "Chi può vederlo?"
-#: ../../include/features.php:76
-msgid "Suppress Duplicate Posts/Comments"
-msgstr "Impedisci post e commenti duplicati"
+#: ../../include/acl_selectors.php:170
+msgid "Custom selection"
+msgstr "Selezione personalizzata"
-#: ../../include/features.php:76
+#: ../../include/acl_selectors.php:171
msgid ""
-"Prevent posts with identical content to be published with less than two "
-"minutes in between submissions."
-msgstr "Scarta post e commenti se sono identici ad altri inviati meno di due minuti prima."
-
-#: ../../include/features.php:82
-msgid "Network and Stream Filtering"
-msgstr "Filtraggio dei contenuti"
-
-#: ../../include/features.php:83
-msgid "Search by Date"
-msgstr "Ricerca per data"
-
-#: ../../include/features.php:83
-msgid "Ability to select posts by date ranges"
-msgstr "Per selezionare i post in un intervallo tra date"
-
-#: ../../include/features.php:84 ../../include/group.php:311
-msgid "Privacy Groups"
-msgstr "Gruppi di canali"
-
-#: ../../include/features.php:84
-msgid "Enable management and selection of privacy groups"
-msgstr "Abilita i gruppi di canali"
-
-#: ../../include/features.php:85 ../../include/widgets.php:281
-msgid "Saved Searches"
-msgstr "Ricerche salvate"
-
-#: ../../include/features.php:85
-msgid "Save search terms for re-use"
-msgstr "Salva i termini delle ricerche per poterle ripetere"
-
-#: ../../include/features.php:86
-msgid "Network Personal Tab"
-msgstr "Attività personale"
-
-#: ../../include/features.php:86
-msgid "Enable tab to display only Network posts that you've interacted on"
-msgstr "Abilita il link per mostrare solamente i contenuti con cui hai interagito"
-
-#: ../../include/features.php:87
-msgid "Network New Tab"
-msgstr "Contenuti nuovi"
-
-#: ../../include/features.php:87
-msgid "Enable tab to display all new Network activity"
-msgstr "Abilita il link per visualizzare solo i nuovi contenuti"
-
-#: ../../include/features.php:88
-msgid "Affinity Tool"
-msgstr "Filtro per affinità"
-
-#: ../../include/features.php:88
-msgid "Filter stream activity by depth of relationships"
-msgstr "Permette di selezionare i contenuti in base al livello di amicizia"
-
-#: ../../include/features.php:89
-msgid "Connection Filtering"
-msgstr "Filtro sui contatti"
-
-#: ../../include/features.php:89
-msgid "Filter incoming posts from connections based on keywords/content"
-msgstr "Filtra i post che ricevi con parole chiave"
-
-#: ../../include/features.php:90
-msgid "Show channel suggestions"
-msgstr "Mostra alcuni canali che potrebbero interessarti"
-
-#: ../../include/features.php:95
-msgid "Post/Comment Tools"
-msgstr "Gestione post e commenti"
-
-#: ../../include/features.php:96
-msgid "Community Tagging"
-msgstr "Tag della comunità"
-
-#: ../../include/features.php:96
-msgid "Ability to tag existing posts"
-msgstr "Permetti l'aggiunta di tag su post già esistenti"
-
-#: ../../include/features.php:97
-msgid "Post Categories"
-msgstr "Categorie dei post"
-
-#: ../../include/features.php:97
-msgid "Add categories to your posts"
-msgstr "Abilita le categorie per i tuoi post"
-
-#: ../../include/features.php:98
-msgid "Emoji Reactions"
-msgstr "Reazioni emoji"
-
-#: ../../include/features.php:98
-msgid "Add emoji reaction ability to posts"
-msgstr "Permetti le reazioni emoji ai post"
-
-#: ../../include/features.php:99 ../../include/widgets.php:310
-#: ../../include/contact_widgets.php:53
-msgid "Saved Folders"
-msgstr "Cartelle salvate"
-
-#: ../../include/features.php:99
-msgid "Ability to file posts under folders"
-msgstr "Abilita la raccolta dei tuoi articoli in cartelle"
-
-#: ../../include/features.php:100
-msgid "Dislike Posts"
-msgstr "Non mi piace"
-
-#: ../../include/features.php:100
-msgid "Ability to dislike posts/comments"
-msgstr "Abilità la funzionalità \"non mi piace\" per i tuoi post"
+"Select \"Show\" to allow viewing. \"Don't show\" lets you override and limit"
+" the scope of \"Show\"."
+msgstr "Scegli \"Mostra\" per permettere la visione. \"Non mostrare\" ha la precedenza e limita l'effetto di \"Mostra\"."
-#: ../../include/features.php:101
-msgid "Star Posts"
-msgstr "Post con stella"
+#: ../../include/acl_selectors.php:172
+msgid "Show"
+msgstr "Mostra"
-#: ../../include/features.php:101
-msgid "Ability to mark special posts with a star indicator"
-msgstr "Mostra la stella per segnare i post preferiti"
+#: ../../include/acl_selectors.php:173
+msgid "Don't show"
+msgstr "Non mostrare"
-#: ../../include/features.php:102
-msgid "Tag Cloud"
-msgstr "Nuvola di tag"
+#: ../../include/acl_selectors.php:207
+#, php-format
+msgid ""
+"Post permissions %s cannot be changed %s after a post is shared.</br />These"
+" permissions set who is allowed to view the post."
+msgstr "I permessi del post %s non possono essere cambiati %s dopo che un post è stato condiviso.</br />Questi permessi definiscono chi ha diritto di vedere il post."
-#: ../../include/features.php:102
-msgid "Provide a personal tag cloud on your channel page"
-msgstr "Mostra la nuvola dei tag che usi di più sulla pagina del tuo canale"
+#: ../../include/bookmarks.php:35
+#, php-format
+msgid "%1$s's bookmarks"
+msgstr "I segnalibri di %1$s"
#: ../../include/group.php:26
msgid ""
@@ -8805,565 +8505,247 @@ msgstr "Crea un gruppo di canali"
msgid "Channels not in any privacy group"
msgstr "Canali che non sono in nessun gruppo"
-#: ../../include/group.php:316 ../../include/widgets.php:282
+#: ../../include/group.php:316 ../../include/widgets.php:284
msgid "add"
msgstr "aggiungi"
-#: ../../include/event.php:22 ../../include/event.php:69
-#: ../../include/bb2diaspora.php:485
-msgid "l F d, Y \\@ g:i A"
-msgstr "l d F Y \\@ G:i"
-
-#: ../../include/event.php:30 ../../include/event.php:73
-#: ../../include/bb2diaspora.php:491
-msgid "Starts:"
-msgstr "Inizio:"
-
-#: ../../include/event.php:40 ../../include/event.php:77
-#: ../../include/bb2diaspora.php:499
-msgid "Finishes:"
-msgstr "Fine:"
-
-#: ../../include/event.php:814
-msgid "This event has been added to your calendar."
-msgstr "Questo evento è stato aggiunto al tuo calendario"
-
-#: ../../include/event.php:1014
-msgid "Not specified"
-msgstr "Non specificato"
-
-#: ../../include/event.php:1015
-msgid "Needs Action"
-msgstr "Necessita di un intervento"
-
-#: ../../include/event.php:1016
-msgid "Completed"
-msgstr "Completato"
-
-#: ../../include/event.php:1017
-msgid "In Process"
-msgstr "In corso"
-
-#: ../../include/event.php:1018
-msgid "Cancelled"
-msgstr "Annullato"
-
-#: ../../include/account.php:28
-msgid "Not a valid email address"
-msgstr "Email non valida"
-
-#: ../../include/account.php:30
-msgid "Your email domain is not among those allowed on this site"
-msgstr "Il dominio della tua email attualmente non è permesso su questo sito"
-
-#: ../../include/account.php:36
-msgid "Your email address is already registered at this site."
-msgstr "La tua email è già registrata su questo sito."
-
-#: ../../include/account.php:68
-msgid "An invitation is required."
-msgstr "È necessario un invito."
-
-#: ../../include/account.php:72
-msgid "Invitation could not be verified."
-msgstr "L'invito non può essere verificato."
-
-#: ../../include/account.php:122
-msgid "Please enter the required information."
-msgstr "Inserisci le informazioni richieste."
-
-#: ../../include/account.php:189
-msgid "Failed to store account information."
-msgstr "Non è stato possibile salvare le informazioni del tuo account."
-
-#: ../../include/account.php:249
-#, php-format
-msgid "Registration confirmation for %s"
-msgstr "Registrazione di %s confermata"
-
-#: ../../include/account.php:315
-#, php-format
-msgid "Registration request at %s"
-msgstr "Richiesta di registrazione su %s"
-
-#: ../../include/account.php:339
-msgid "your registration password"
-msgstr "la password di registrazione"
-
-#: ../../include/account.php:342 ../../include/account.php:402
-#, php-format
-msgid "Registration details for %s"
-msgstr "Dettagli della registrazione di %s"
-
-#: ../../include/account.php:414
-msgid "Account approved."
-msgstr "Account approvato."
-
-#: ../../include/account.php:454
-#, php-format
-msgid "Registration revoked for %s"
-msgstr "Registrazione revocata per %s"
-
-#: ../../include/account.php:739 ../../include/account.php:741
-msgid "Click here to upgrade."
-msgstr "Clicca qui per aggiornare."
-
-#: ../../include/account.php:747
-msgid "This action exceeds the limits set by your subscription plan."
-msgstr "Questa operazione supera i limiti del tuo abbonamento."
-
-#: ../../include/account.php:752
-msgid "This action is not available under your subscription plan."
-msgstr "Questa operazione non è prevista dal tuo abbonamento."
-
-#: ../../include/follow.php:27
-msgid "Channel is blocked on this site."
-msgstr "Il canale è bloccato per questo sito."
-
-#: ../../include/follow.php:32
-msgid "Channel location missing."
-msgstr "Manca l'indirizzo del canale."
-
-#: ../../include/follow.php:80
-msgid "Response from remote channel was incomplete."
-msgstr "La risposta dal canale non è completa."
-
-#: ../../include/follow.php:97
-msgid "Channel was deleted and no longer exists."
-msgstr "Il canale è stato rimosso e non esiste più."
-
-#: ../../include/follow.php:147 ../../include/follow.php:183
-msgid "Protocol disabled."
-msgstr "Protocollo disabilitato."
-
-#: ../../include/follow.php:171
-msgid "Channel discovery failed."
-msgstr "La ricerca del canale non ha avuto successo."
-
-#: ../../include/follow.php:210
-msgid "Cannot connect to yourself."
-msgstr "Non puoi connetterti a te stesso."
-
-#: ../../include/attach.php:247 ../../include/attach.php:333
-msgid "Item was not found."
-msgstr "Elemento non trovato."
-
-#: ../../include/attach.php:499
-msgid "No source file."
-msgstr "Nessun file di origine."
-
-#: ../../include/attach.php:521
-msgid "Cannot locate file to replace"
-msgstr "Il file da sostituire non è stato trovato"
-
-#: ../../include/attach.php:539
-msgid "Cannot locate file to revise/update"
-msgstr "Il file da aggiornare non è stato trovato"
-
-#: ../../include/attach.php:674
-#, php-format
-msgid "File exceeds size limit of %d"
-msgstr "Il file supera la dimensione massima di %d"
-
-#: ../../include/attach.php:688
-#, php-format
-msgid "You have reached your limit of %1$.0f Mbytes attachment storage."
-msgstr "Hai raggiunto il limite complessivo di %1$.0f Mbytes per gli allegati."
-
-#: ../../include/attach.php:846
-msgid "File upload failed. Possible system limit or action terminated."
-msgstr "Caricamento file fallito, potrebbe essere stato interrotto o potrebbe aver superato lo spazio assegnato."
-
-#: ../../include/attach.php:859
-msgid "Stored file could not be verified. Upload failed."
-msgstr "Il file non può essere verificato. Caricamento fallito."
-
-#: ../../include/attach.php:915 ../../include/attach.php:931
-msgid "Path not available."
-msgstr "Percorso non disponibile."
-
-#: ../../include/attach.php:977 ../../include/attach.php:1129
-msgid "Empty pathname"
-msgstr "Il percorso del file è vuoto"
-
-#: ../../include/attach.php:1003
-msgid "duplicate filename or path"
-msgstr "il file o il percorso del file è duplicato"
-
-#: ../../include/attach.php:1025
-msgid "Path not found."
-msgstr "Percorso del file non trovato."
-
-#: ../../include/attach.php:1083
-msgid "mkdir failed."
-msgstr "mkdir fallito."
-
-#: ../../include/attach.php:1087
-msgid "database storage failed."
-msgstr "scrittura su database fallita."
-
-#: ../../include/attach.php:1135
-msgid "Empty path"
-msgstr "La posizione è vuota"
-
-#: ../../include/bbcode.php:123 ../../include/bbcode.php:878
-#: ../../include/bbcode.php:881 ../../include/bbcode.php:886
-#: ../../include/bbcode.php:889 ../../include/bbcode.php:892
-#: ../../include/bbcode.php:895 ../../include/bbcode.php:900
-#: ../../include/bbcode.php:903 ../../include/bbcode.php:908
-#: ../../include/bbcode.php:911 ../../include/bbcode.php:914
-#: ../../include/bbcode.php:917
-msgid "Image/photo"
-msgstr "Immagine"
-
-#: ../../include/bbcode.php:162 ../../include/bbcode.php:928
-msgid "Encrypted content"
-msgstr "Contenuto cifrato"
-
-#: ../../include/bbcode.php:178
-#, php-format
-msgid "Install %s element: "
-msgstr "Installa l'elemento %s:"
+#: ../../include/connections.php:95
+msgid "New window"
+msgstr "Nuova finestra"
-#: ../../include/bbcode.php:182
-#, php-format
-msgid ""
-"This post contains an installable %s element, however you lack permissions "
-"to install it on this site."
-msgstr "Questo post contiene un elemento %s installabile, tuttavia non hai i permessi necessari per l'installazione."
+#: ../../include/connections.php:96
+msgid "Open the selected location in a different window or browser tab"
+msgstr "Apri l'indirizzo selezionato in una nuova scheda o finestra"
-#: ../../include/bbcode.php:261
+#: ../../include/connections.php:214
#, php-format
-msgid "%1$s wrote the following %2$s %3$s"
-msgstr "%1$s ha scritto %2$s %3$s"
+msgid "User '%s' deleted"
+msgstr "Utente '%s' eliminato"
-#: ../../include/bbcode.php:338 ../../include/bbcode.php:346
-msgid "Click to open/close"
-msgstr "Clicca per aprire/chiudere"
+#: ../../include/page_widgets.php:7
+msgid "New Page"
+msgstr "Nuova pagina web"
-#: ../../include/bbcode.php:346
-msgid "spoiler"
-msgstr "spoiler"
+#: ../../include/page_widgets.php:46
+msgid "Title"
+msgstr "Titolo"
-#: ../../include/bbcode.php:619
+#: ../../include/wiki.php:525 ../../include/bbcode.php:619
msgid "Different viewers will see this text differently"
msgstr "Ad altri questo testo potrebbe apparire in modo differente"
-#: ../../include/bbcode.php:866
-msgid "$1 wrote:"
-msgstr "$1 ha scritto:"
-
-#: ../../include/items.php:897 ../../include/items.php:942
-msgid "(Unknown)"
-msgstr "(Sconosciuto)"
-
-#: ../../include/items.php:1141
-msgid "Visible to anybody on the internet."
-msgstr "Visibile a chiunque su internet."
-
-#: ../../include/items.php:1143
-msgid "Visible to you only."
-msgstr "Visibile solo a te."
-
-#: ../../include/items.php:1145
-msgid "Visible to anybody in this network."
-msgstr "Visibile a tutti su questa rete."
-
-#: ../../include/items.php:1147
-msgid "Visible to anybody authenticated."
-msgstr "Visibile a chiunque sia autenticato."
+#: ../../include/nav.php:85 ../../include/nav.php:118 ../../boot.php:1738
+msgid "Logout"
+msgstr "Esci"
-#: ../../include/items.php:1149
-#, php-format
-msgid "Visible to anybody on %s."
-msgstr "Visibile a tutti su %s."
+#: ../../include/nav.php:85 ../../include/nav.php:118
+msgid "End this session"
+msgstr "Chiudi questa sessione"
-#: ../../include/items.php:1151
-msgid "Visible to all connections."
-msgstr "Visibile a tutti coloro che ti seguono."
+#: ../../include/nav.php:88 ../../include/nav.php:149
+msgid "Home"
+msgstr "Bacheca"
-#: ../../include/items.php:1153
-msgid "Visible to approved connections."
-msgstr "Visibile ai contatti approvati."
+#: ../../include/nav.php:88
+msgid "Your posts and conversations"
+msgstr "I tuoi post e conversazioni"
-#: ../../include/items.php:1155
-msgid "Visible to specific connections."
-msgstr "Visibile ad alcuni contatti scelti."
+#: ../../include/nav.php:89
+msgid "Your profile page"
+msgstr "Il tuo profilo"
-#: ../../include/items.php:3918
-msgid "Privacy group is empty."
-msgstr "Gruppo di canali vuoto."
+#: ../../include/nav.php:91
+msgid "Manage/Edit profiles"
+msgstr "Gestisci i tuoi profili"
-#: ../../include/items.php:3925
-#, php-format
-msgid "Privacy group: %s"
-msgstr "Gruppo di canali: %s"
+#: ../../include/nav.php:93
+msgid "Edit your profile"
+msgstr "Modifica il tuo profilo"
-#: ../../include/items.php:3937
-msgid "Connection not found."
-msgstr "Contatto non trovato."
+#: ../../include/nav.php:95
+msgid "Your photos"
+msgstr "Le tue foto"
-#: ../../include/items.php:4290
-msgid "profile photo"
-msgstr "foto del profilo"
+#: ../../include/nav.php:96
+msgid "Your files"
+msgstr "I tuoi file"
-#: ../../include/oembed.php:336
-msgid "Embedded content"
-msgstr "Contenuti incorporati"
+#: ../../include/nav.php:99
+msgid "Your chatrooms"
+msgstr "Le tue chat"
-#: ../../include/oembed.php:345
-msgid "Embedding disabled"
-msgstr "Disabilita la creazione di contenuti incorporati"
+#: ../../include/nav.php:105 ../../include/conversation.php:1715
+msgid "Bookmarks"
+msgstr "Segnalibri"
-#: ../../include/widgets.php:103
-msgid "System"
-msgstr "Sistema"
+#: ../../include/nav.php:105
+msgid "Your bookmarks"
+msgstr "I tuoi segnalibri"
-#: ../../include/widgets.php:106
-msgid "New App"
-msgstr "Nuova app"
+#: ../../include/nav.php:109
+msgid "Your webpages"
+msgstr "Le tue pagine web"
-#: ../../include/widgets.php:154
-msgid "Suggestions"
-msgstr "Suggerimenti"
+#: ../../include/nav.php:111
+msgid "Your wiki"
+msgstr "La tua wiki"
-#: ../../include/widgets.php:155
-msgid "See more..."
-msgstr "Altro..."
+#: ../../include/nav.php:115
+msgid "Sign in"
+msgstr "Accedi"
-#: ../../include/widgets.php:175
+#: ../../include/nav.php:132
#, php-format
-msgid "You have %1$.0f of %2$.0f allowed connections."
-msgstr "Hai attivato %1$.0f delle %2$.0f connessioni permesse."
-
-#: ../../include/widgets.php:181
-msgid "Add New Connection"
-msgstr "Aggiungi un contatto"
-
-#: ../../include/widgets.php:182
-msgid "Enter channel address"
-msgstr "Indirizzo del canale"
+msgid "%s - click to logout"
+msgstr "%s - clicca per uscire"
-#: ../../include/widgets.php:183
-msgid "Examples: bob@example.com, https://example.com/barbara"
-msgstr "Per esempio: bob@example.com, https://example.com/barbara"
+#: ../../include/nav.php:135
+msgid "Remote authentication"
+msgstr "Accedi dal tuo hub"
-#: ../../include/widgets.php:199
-msgid "Notes"
-msgstr "Note"
+#: ../../include/nav.php:135
+msgid "Click to authenticate to your home hub"
+msgstr "Clicca per farti riconoscere dal tuo hub principale"
-#: ../../include/widgets.php:273
-msgid "Remove term"
-msgstr "Rimuovi termine"
+#: ../../include/nav.php:149
+msgid "Home Page"
+msgstr "Bacheca"
-#: ../../include/widgets.php:313 ../../include/widgets.php:432
-#: ../../include/contact_widgets.php:56 ../../include/contact_widgets.php:94
-msgid "Everything"
-msgstr "Tutto"
+#: ../../include/nav.php:152
+msgid "Create an account"
+msgstr "Crea un account"
-#: ../../include/widgets.php:354
-msgid "Archives"
-msgstr "Archivi"
+#: ../../include/nav.php:164
+msgid "Help and documentation"
+msgstr "Guida e documentazione"
-#: ../../include/widgets.php:516
-msgid "Refresh"
-msgstr "Aggiorna"
+#: ../../include/nav.php:168
+msgid "Applications, utilities, links, games"
+msgstr "Applicazioni, utilità, link, giochi"
-#: ../../include/widgets.php:556
-msgid "Account settings"
-msgstr "Il tuo account"
+#: ../../include/nav.php:170
+msgid "Search site @name, #tag, ?docs, content"
+msgstr "Cerca nel sito per @nome, #tag, ?guida o per contenuto"
-#: ../../include/widgets.php:562
-msgid "Channel settings"
-msgstr "Impostazioni del canale"
+#: ../../include/nav.php:172
+msgid "Channel Directory"
+msgstr "Elenchi pubblici dei canali"
-#: ../../include/widgets.php:571
-msgid "Additional features"
-msgstr "Funzionalità opzionali"
+#: ../../include/nav.php:184
+msgid "Your grid"
+msgstr "La tua rete"
-#: ../../include/widgets.php:578
-msgid "Feature/Addon settings"
-msgstr "Componenti aggiuntivi"
+#: ../../include/nav.php:185
+msgid "Mark all grid notifications seen"
+msgstr "Segna come lette le notifiche della tua rete"
-#: ../../include/widgets.php:584
-msgid "Display settings"
-msgstr "Aspetto"
+#: ../../include/nav.php:187
+msgid "Channel home"
+msgstr "Bacheca del canale"
-#: ../../include/widgets.php:591
-msgid "Manage locations"
-msgstr "Gestione repliche"
+#: ../../include/nav.php:188
+msgid "Mark all channel notifications seen"
+msgstr "Segna come lette le notifiche del canale"
-#: ../../include/widgets.php:600
-msgid "Export channel"
-msgstr "Esporta il canale"
+#: ../../include/nav.php:194
+msgid "Notices"
+msgstr "Avvisi"
-#: ../../include/widgets.php:607
-msgid "Connected apps"
-msgstr "App connesse"
+#: ../../include/nav.php:194
+msgid "Notifications"
+msgstr "Notifiche"
-#: ../../include/widgets.php:631
-msgid "Premium Channel Settings"
-msgstr "Canale premium - impostazioni"
+#: ../../include/nav.php:195
+msgid "See all notifications"
+msgstr "Vedi tutte le notifiche"
-#: ../../include/widgets.php:660
-msgid "Private Mail Menu"
-msgstr "Menu messaggi privati"
+#: ../../include/nav.php:198
+msgid "Private mail"
+msgstr "Messaggi privati"
-#: ../../include/widgets.php:662
-msgid "Combined View"
-msgstr "Vista combinata"
+#: ../../include/nav.php:199
+msgid "See all private messages"
+msgstr "Guarda tutti i messaggi privati"
-#: ../../include/widgets.php:694 ../../include/widgets.php:706
-msgid "Conversations"
-msgstr "Conversazioni"
+#: ../../include/nav.php:200
+msgid "Mark all private messages seen"
+msgstr "Segna come letti tutti i messaggi privati"
-#: ../../include/widgets.php:698
-msgid "Received Messages"
-msgstr "Ricevuti"
+#: ../../include/nav.php:201 ../../include/widgets.php:700
+msgid "Inbox"
+msgstr "In arrivo"
-#: ../../include/widgets.php:702
-msgid "Sent Messages"
+#: ../../include/nav.php:202 ../../include/widgets.php:705
+msgid "Outbox"
msgstr "Inviati"
-#: ../../include/widgets.php:716
-msgid "No messages."
-msgstr "Nessun messaggio."
-
-#: ../../include/widgets.php:734
-msgid "Delete conversation"
-msgstr "Elimina la conversazione"
-
-#: ../../include/widgets.php:760
-msgid "Events Tools"
-msgstr "Gestione eventi"
-
-#: ../../include/widgets.php:761
-msgid "Export Calendar"
-msgstr "Esporta calendario"
-
-#: ../../include/widgets.php:762
-msgid "Import Calendar"
-msgstr "Importa calendario"
-
-#: ../../include/widgets.php:840
-msgid "Overview"
-msgstr "Riepilogo"
-
-#: ../../include/widgets.php:847
-msgid "Chat Members"
-msgstr "Partecipanti"
-
-#: ../../include/widgets.php:869
-msgid "Wiki List"
-msgstr "Elenco wiki"
-
-#: ../../include/widgets.php:907
-msgid "Wiki Pages"
-msgstr "Pagine wiki"
-
-#: ../../include/widgets.php:942
-msgid "Bookmarked Chatrooms"
-msgstr "Chat nei segnalibri"
-
-#: ../../include/widgets.php:965
-msgid "Suggested Chatrooms"
-msgstr "Chat suggerite"
-
-#: ../../include/widgets.php:1111 ../../include/widgets.php:1223
-msgid "photo/image"
-msgstr "foto/immagine"
-
-#: ../../include/widgets.php:1166
-msgid "Click to show more"
-msgstr "Clicca per mostrare tutto"
-
-#: ../../include/widgets.php:1317
-msgid "Rating Tools"
-msgstr "Valutazione"
-
-#: ../../include/widgets.php:1321 ../../include/widgets.php:1323
-msgid "Rate Me"
-msgstr "Valutami"
-
-#: ../../include/widgets.php:1326
-msgid "View Ratings"
-msgstr "Vedi le valutazioni ricevute"
-
-#: ../../include/widgets.php:1410
-msgid "Forums"
-msgstr "Forum"
-
-#: ../../include/widgets.php:1439
-msgid "Tasks"
-msgstr "Attività"
-
-#: ../../include/widgets.php:1448
-msgid "Documentation"
-msgstr "Guida"
-
-#: ../../include/widgets.php:1450
-msgid "Project/Site Information"
-msgstr "Informazioni sul sito/progetto"
-
-#: ../../include/widgets.php:1451
-msgid "For Members"
-msgstr "Per gli utenti"
-
-#: ../../include/widgets.php:1452
-msgid "For Administrators"
-msgstr "Per gli amministratori"
+#: ../../include/nav.php:203 ../../include/widgets.php:710
+msgid "New Message"
+msgstr "Nuovo messaggio"
-#: ../../include/widgets.php:1453
-msgid "For Developers"
-msgstr "Per sviluppatori"
+#: ../../include/nav.php:206
+msgid "Event Calendar"
+msgstr "Calendario"
-#: ../../include/widgets.php:1477 ../../include/widgets.php:1515
-msgid "Member registrations waiting for confirmation"
-msgstr "Richieste in attesa di conferma"
+#: ../../include/nav.php:207
+msgid "See all events"
+msgstr "Guarda tutti gli eventi"
-#: ../../include/widgets.php:1483
-msgid "Inspect queue"
-msgstr "Coda di attesa"
+#: ../../include/nav.php:208
+msgid "Mark all events seen"
+msgstr "Marca come letti tutti gli eventi"
-#: ../../include/widgets.php:1485
-msgid "DB updates"
-msgstr "Aggiornamenti al DB"
+#: ../../include/nav.php:211
+msgid "Manage Your Channels"
+msgstr "Gestisci i tuoi canali"
-#: ../../include/widgets.php:1511
-msgid "Plugin Features"
-msgstr "Plugin"
+#: ../../include/nav.php:213
+msgid "Account/Channel Settings"
+msgstr "Impostazioni dell'account e del canale"
-#: ../../include/activities.php:41
-msgid " and "
-msgstr "e"
+#: ../../include/nav.php:221 ../../include/widgets.php:1594
+msgid "Admin"
+msgstr "Amministrazione"
-#: ../../include/activities.php:49
-msgid "public profile"
-msgstr "profilo pubblico"
+#: ../../include/nav.php:221
+msgid "Site Setup and Configuration"
+msgstr "Installazione e configurazione del sito"
-#: ../../include/activities.php:58
-#, php-format
-msgid "%1$s changed %2$s to &ldquo;%3$s&rdquo;"
-msgstr "%1$s ha cambiato %2$s in &ldquo;%3$s&rdquo;"
+#: ../../include/nav.php:252 ../../include/conversation.php:853
+msgid "Loading..."
+msgstr "Caricamento in corso..."
-#: ../../include/activities.php:59
-#, php-format
-msgid "Visit %1$s's %2$s"
-msgstr "Guarda %2$s di %1$s "
+#: ../../include/nav.php:257
+msgid "@name, #tag, ?doc, content"
+msgstr "@nome, #tag, ?guida, contenuto"
-#: ../../include/activities.php:62
-#, php-format
-msgid "%1$s has an updated %2$s, changing %3$s."
-msgstr "%1$s ha aggiornato %2$s cambiando %3$s."
+#: ../../include/nav.php:258
+msgid "Please wait..."
+msgstr "Attendere..."
#: ../../include/bb2diaspora.php:398
msgid "Attachments:"
msgstr "Allegati:"
+#: ../../include/bb2diaspora.php:485 ../../include/event.php:22
+#: ../../include/event.php:69
+msgid "l F d, Y \\@ g:i A"
+msgstr "l d F Y \\@ G:i"
+
#: ../../include/bb2diaspora.php:487
msgid "$Projectname event notification:"
msgstr "Notifica evento $Projectname:"
+#: ../../include/bb2diaspora.php:491 ../../include/event.php:30
+#: ../../include/event.php:73
+msgid "Starts:"
+msgstr "Inizio:"
+
+#: ../../include/bb2diaspora.php:499 ../../include/event.php:40
+#: ../../include/event.php:77
+msgid "Finishes:"
+msgstr "Fine:"
+
#: ../../include/js_strings.php:5
msgid "Delete this item?"
msgstr "Eliminare questo elemento?"
@@ -9611,419 +8993,1191 @@ msgctxt "calendar"
msgid "All day"
msgstr "Tutto il giorno"
-#: ../../include/contact_widgets.php:11
+#: ../../include/follow.php:27
+msgid "Channel is blocked on this site."
+msgstr "Il canale è bloccato per questo sito."
+
+#: ../../include/follow.php:32
+msgid "Channel location missing."
+msgstr "Manca l'indirizzo del canale."
+
+#: ../../include/follow.php:80
+msgid "Response from remote channel was incomplete."
+msgstr "La risposta dal canale non è completa."
+
+#: ../../include/follow.php:97
+msgid "Channel was deleted and no longer exists."
+msgstr "Il canale è stato rimosso e non esiste più."
+
+#: ../../include/follow.php:147 ../../include/follow.php:183
+msgid "Protocol disabled."
+msgstr "Protocollo disabilitato."
+
+#: ../../include/follow.php:171
+msgid "Channel discovery failed."
+msgstr "La ricerca del canale non ha avuto successo."
+
+#: ../../include/follow.php:210
+msgid "Cannot connect to yourself."
+msgstr "Non puoi connetterti a te stesso."
+
+#: ../../include/bbcode.php:123 ../../include/bbcode.php:881
+#: ../../include/bbcode.php:884 ../../include/bbcode.php:889
+#: ../../include/bbcode.php:892 ../../include/bbcode.php:895
+#: ../../include/bbcode.php:898 ../../include/bbcode.php:903
+#: ../../include/bbcode.php:906 ../../include/bbcode.php:911
+#: ../../include/bbcode.php:914 ../../include/bbcode.php:917
+#: ../../include/bbcode.php:920
+msgid "Image/photo"
+msgstr "Immagine"
+
+#: ../../include/bbcode.php:162 ../../include/bbcode.php:931
+msgid "Encrypted content"
+msgstr "Contenuto cifrato"
+
+#: ../../include/bbcode.php:178
#, php-format
-msgid "%d invitation available"
-msgid_plural "%d invitations available"
-msgstr[0] "%d invito disponibile"
-msgstr[1] "%d inviti disponibili"
+msgid "Install %s element: "
+msgstr "Installa l'elemento %s:"
-#: ../../include/contact_widgets.php:19
-msgid "Find Channels"
-msgstr "Ricerca canali"
+#: ../../include/bbcode.php:182
+#, php-format
+msgid ""
+"This post contains an installable %s element, however you lack permissions "
+"to install it on this site."
+msgstr "Questo post contiene un elemento %s installabile, tuttavia non hai i permessi necessari per l'installazione."
-#: ../../include/contact_widgets.php:20
-msgid "Enter name or interest"
-msgstr "Scrivi un nome o un interesse"
+#: ../../include/bbcode.php:261
+#, php-format
+msgid "%1$s wrote the following %2$s %3$s"
+msgstr "%1$s ha scritto %2$s %3$s"
-#: ../../include/contact_widgets.php:21
-msgid "Connect/Follow"
-msgstr "Aggiungi"
+#: ../../include/bbcode.php:338 ../../include/bbcode.php:346
+msgid "Click to open/close"
+msgstr "Clicca per aprire/chiudere"
-#: ../../include/contact_widgets.php:22
-msgid "Examples: Robert Morgenstein, Fishing"
-msgstr "Per esempio: Mario Rossi, Pesca"
+#: ../../include/bbcode.php:346
+msgid "spoiler"
+msgstr "spoiler"
-#: ../../include/contact_widgets.php:26
-msgid "Random Profile"
-msgstr "Profilo casuale"
+#: ../../include/bbcode.php:869
+msgid "$1 wrote:"
+msgstr "$1 ha scritto:"
-#: ../../include/contact_widgets.php:27
-msgid "Invite Friends"
-msgstr "Invita amici"
+#: ../../include/conversation.php:204
+#, php-format
+msgid "%1$s is now connected with %2$s"
+msgstr "%1$s adesso è connesso con %2$s"
-#: ../../include/contact_widgets.php:29
-msgid "Advanced example: name=fred and country=iceland"
-msgstr "Per esempio: name=mario e country=italy"
+#: ../../include/conversation.php:239
+#, php-format
+msgid "%1$s poked %2$s"
+msgstr "%1$s ha mandato un poke a %2$s"
-#: ../../include/contact_widgets.php:122
+#: ../../include/conversation.php:694
#, php-format
-msgid "%d connection in common"
-msgid_plural "%d connections in common"
-msgstr[0] "%d contatto in comune"
-msgstr[1] "%d contatti in comune"
+msgid "View %s's profile @ %s"
+msgstr "Vedi il profilo di %s @ %s"
-#: ../../include/contact_widgets.php:127
-msgid "show more"
-msgstr "mostra tutto"
+#: ../../include/conversation.php:713
+msgid "Categories:"
+msgstr "Categorie:"
-#: ../../include/dir_fns.php:141
-msgid "Directory Options"
-msgstr "Visibilità negli elenchi pubblici"
+#: ../../include/conversation.php:714
+msgid "Filed under:"
+msgstr "Classificato come:"
-#: ../../include/dir_fns.php:143
-msgid "Safe Mode"
-msgstr "Modalità SafeSearch"
+#: ../../include/conversation.php:739
+msgid "View in context"
+msgstr "Vedi nel contesto"
-#: ../../include/dir_fns.php:144
-msgid "Public Forums Only"
-msgstr "Solo forum pubblici"
+#: ../../include/conversation.php:849
+msgid "remove"
+msgstr "rimuovi"
-#: ../../include/dir_fns.php:145
-msgid "This Website Only"
-msgstr "Solo in questo sito"
+#: ../../include/conversation.php:854
+msgid "Delete Selected Items"
+msgstr "Elimina gli oggetti selezionati"
-#: ../../include/message.php:20
-msgid "No recipient provided."
-msgstr "Devi scegliere un destinatario."
+#: ../../include/conversation.php:947
+msgid "View Source"
+msgstr "Vedi il sorgente"
-#: ../../include/message.php:25
-msgid "[no subject]"
-msgstr "[nessun titolo]"
+#: ../../include/conversation.php:948
+msgid "Follow Thread"
+msgstr "Segui la discussione"
-#: ../../include/message.php:45
-msgid "Unable to determine sender."
-msgstr "Impossibile determinare il mittente."
+#: ../../include/conversation.php:949
+msgid "Unfollow Thread"
+msgstr "Non seguire la discussione"
-#: ../../include/message.php:222
-msgid "Stored post could not be verified."
-msgstr "Non è stato possibile verificare il post."
+#: ../../include/conversation.php:954
+msgid "Activity/Posts"
+msgstr "Attività e Post"
-#: ../../include/acl_selectors.php:269
-msgid "Who can see this?"
-msgstr "Chi può vederlo?"
+#: ../../include/conversation.php:956
+msgid "Edit Connection"
+msgstr "Modifica il contatto"
-#: ../../include/acl_selectors.php:270
-msgid "Custom selection"
-msgstr "Selezione personalizzata"
+#: ../../include/conversation.php:957
+msgid "Message"
+msgstr "Messaggio"
-#: ../../include/acl_selectors.php:271
-msgid ""
-"Select \"Show\" to allow viewing. \"Don't show\" lets you override and limit"
-" the scope of \"Show\"."
-msgstr "Scegli \"Mostra\" per permettere la visione. \"Non mostrare\" ha la precedenza e limita l'effetto di \"Mostra\"."
+#: ../../include/conversation.php:1077
+#, php-format
+msgid "%s likes this."
+msgstr "Piace a %s."
-#: ../../include/acl_selectors.php:272
-msgid "Show"
-msgstr "Mostra"
+#: ../../include/conversation.php:1077
+#, php-format
+msgid "%s doesn't like this."
+msgstr "Non piace a %s."
-#: ../../include/acl_selectors.php:273
-msgid "Don't show"
-msgstr "Non mostrare"
+#: ../../include/conversation.php:1081
+#, 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] "Piace a <span %1$s>%2$d persone</span>."
+
+#: ../../include/conversation.php:1083
+#, 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] "Non piace a <span %1$s>%2$d persone</span>."
+
+#: ../../include/conversation.php:1089
+msgid "and"
+msgstr "e"
+
+#: ../../include/conversation.php:1092
+#, php-format
+msgid ", and %d other people"
+msgid_plural ", and %d other people"
+msgstr[0] ""
+msgstr[1] "e altre %d persone"
+
+#: ../../include/conversation.php:1093
+#, php-format
+msgid "%s like this."
+msgstr "Piace a %s."
-#: ../../include/acl_selectors.php:279
+#: ../../include/conversation.php:1093
+#, php-format
+msgid "%s don't like this."
+msgstr "Non piace a %s."
+
+#: ../../include/conversation.php:1136
+msgid "Set your location"
+msgstr "La tua località"
+
+#: ../../include/conversation.php:1137
+msgid "Clear browser location"
+msgstr "Rimuovi la località data dal browser"
+
+#: ../../include/conversation.php:1185
+msgid "Tag term:"
+msgstr "Tag:"
+
+#: ../../include/conversation.php:1186
+msgid "Where are you right now?"
+msgstr "Dove sei ora?"
+
+#: ../../include/conversation.php:1195
+msgid "Comments enabled"
+msgstr "Commenti abilitati"
+
+#: ../../include/conversation.php:1196
+msgid "Comments disabled"
+msgstr "Commenti disabilitati"
+
+#: ../../include/conversation.php:1234
+msgid "Page link name"
+msgstr "Nome del link alla pagina"
+
+#: ../../include/conversation.php:1237
+msgid "Post as"
+msgstr "Pubblica come "
+
+#: ../../include/conversation.php:1251
+msgid "Toggle voting"
+msgstr "Abilita/disabilita il voto"
+
+#: ../../include/conversation.php:1254
+msgid "Disable comments"
+msgstr "Disabilita i commenti"
+
+#: ../../include/conversation.php:1255
+msgid "Toggle comments"
+msgstr "Abilita/disabilita i commenti"
+
+#: ../../include/conversation.php:1263
+msgid "Categories (optional, comma-separated list)"
+msgstr "Categorie (facoltative, lista separata da virgole)"
+
+#: ../../include/conversation.php:1286
msgid "Other networks and post services"
msgstr "Invio ad altre reti o a siti esterni"
-#: ../../include/acl_selectors.php:309
-#, php-format
-msgid ""
-"Post permissions %s cannot be changed %s after a post is shared.</br />These"
-" permissions set who is allowed to view the post."
-msgstr "I permessi del post %s non possono essere cambiati %s dopo che un post è stato condiviso.</br />Questi permessi definiscono chi ha diritto di vedere il post."
+#: ../../include/conversation.php:1292
+msgid "Set publish date"
+msgstr "Data di uscita programmata"
+
+#: ../../include/conversation.php:1541
+msgid "Discover"
+msgstr "Scopri"
+
+#: ../../include/conversation.php:1544
+msgid "Imported public streams"
+msgstr "Contenuti pubblici importati"
+
+#: ../../include/conversation.php:1549
+msgid "Commented Order"
+msgstr "Commenti recenti"
+
+#: ../../include/conversation.php:1552
+msgid "Sort by Comment Date"
+msgstr "Per data del commento"
+
+#: ../../include/conversation.php:1556
+msgid "Posted Order"
+msgstr "Post recenti"
+
+#: ../../include/conversation.php:1559
+msgid "Sort by Post Date"
+msgstr "Per data di creazione"
+
+#: ../../include/conversation.php:1567
+msgid "Posts that mention or involve you"
+msgstr "Post che ti riguardano"
+
+#: ../../include/conversation.php:1576
+msgid "Activity Stream - by date"
+msgstr "Elenco attività - per data"
+
+#: ../../include/conversation.php:1582
+msgid "Starred"
+msgstr "Preferiti"
+
+#: ../../include/conversation.php:1585
+msgid "Favourite Posts"
+msgstr "Post preferiti"
+
+#: ../../include/conversation.php:1592
+msgid "Spam"
+msgstr "Spam"
+
+#: ../../include/conversation.php:1595
+msgid "Posts flagged as SPAM"
+msgstr "Post marcati come spam"
+
+#: ../../include/conversation.php:1654
+msgid "Status Messages and Posts"
+msgstr "Post e messaggi di stato"
+
+#: ../../include/conversation.php:1663
+msgid "About"
+msgstr "Informazioni"
-#: ../../include/datetime.php:135
+#: ../../include/conversation.php:1666
+msgid "Profile Details"
+msgstr "Dettagli del profilo"
+
+#: ../../include/conversation.php:1682
+msgid "Files and Storage"
+msgstr "Archivio file"
+
+#: ../../include/conversation.php:1702 ../../include/conversation.php:1705
+#: ../../include/widgets.php:883
+msgid "Chatrooms"
+msgstr "Chat"
+
+#: ../../include/conversation.php:1718
+msgid "Saved Bookmarks"
+msgstr "Segnalibri salvati"
+
+#: ../../include/conversation.php:1728
+msgid "Manage Webpages"
+msgstr "Gestisci le pagine web"
+
+#: ../../include/conversation.php:1793
+msgctxt "noun"
+msgid "Attending"
+msgid_plural "Attending"
+msgstr[0] "Partecipa"
+msgstr[1] "Partecipano"
+
+#: ../../include/conversation.php:1796
+msgctxt "noun"
+msgid "Not Attending"
+msgid_plural "Not Attending"
+msgstr[0] "Non partecipa"
+msgstr[1] "Non partecipano"
+
+#: ../../include/conversation.php:1799
+msgctxt "noun"
+msgid "Undecided"
+msgid_plural "Undecided"
+msgstr[0] "Indeciso"
+msgstr[1] "Indecisi"
+
+#: ../../include/conversation.php:1802
+msgctxt "noun"
+msgid "Agree"
+msgid_plural "Agrees"
+msgstr[0] "D'accordo"
+msgstr[1] "D'accordo"
+
+#: ../../include/conversation.php:1805
+msgctxt "noun"
+msgid "Disagree"
+msgid_plural "Disagrees"
+msgstr[0] "Non d'accordo"
+msgstr[1] "Non d'accordo"
+
+#: ../../include/conversation.php:1808
+msgctxt "noun"
+msgid "Abstain"
+msgid_plural "Abstains"
+msgstr[0] "Astenuto"
+msgstr[1] "Astenuti"
+
+#: ../../include/datetime.php:147
msgid "Birthday"
msgstr "Compleanno"
-#: ../../include/datetime.php:137
+#: ../../include/datetime.php:149
msgid "Age: "
msgstr "Età:"
-#: ../../include/datetime.php:139
+#: ../../include/datetime.php:151
msgid "YYYY-MM-DD or MM-DD"
msgstr "AAAA-MM-GG oppure MM-GG"
-#: ../../include/datetime.php:272 ../../boot.php:2479
+#: ../../include/datetime.php:284 ../../boot.php:2578
msgid "never"
msgstr "mai"
-#: ../../include/datetime.php:278
+#: ../../include/datetime.php:290
msgid "less than a second ago"
msgstr "meno di un secondo fa"
-#: ../../include/datetime.php:296
+#: ../../include/datetime.php:308
#, php-format
msgctxt "e.g. 22 hours ago, 1 minute ago"
msgid "%1$d %2$s ago"
msgstr "%1$d %2$s fa"
-#: ../../include/datetime.php:307
+#: ../../include/datetime.php:319
msgctxt "relative_date"
msgid "year"
msgid_plural "years"
msgstr[0] "anno"
msgstr[1] "anni"
-#: ../../include/datetime.php:310
+#: ../../include/datetime.php:322
msgctxt "relative_date"
msgid "month"
msgid_plural "months"
msgstr[0] "mese"
msgstr[1] "mesi"
-#: ../../include/datetime.php:313
+#: ../../include/datetime.php:325
msgctxt "relative_date"
msgid "week"
msgid_plural "weeks"
msgstr[0] "settimana"
msgstr[1] "settimane"
-#: ../../include/datetime.php:316
+#: ../../include/datetime.php:328
msgctxt "relative_date"
msgid "day"
msgid_plural "days"
msgstr[0] "giorno"
msgstr[1] "giorni"
-#: ../../include/datetime.php:319
+#: ../../include/datetime.php:331
msgctxt "relative_date"
msgid "hour"
msgid_plural "hours"
msgstr[0] "ora"
msgstr[1] "ore"
-#: ../../include/datetime.php:322
+#: ../../include/datetime.php:334
msgctxt "relative_date"
msgid "minute"
msgid_plural "minutes"
msgstr[0] "minuto"
msgstr[1] "minuti"
-#: ../../include/datetime.php:325
+#: ../../include/datetime.php:337
msgctxt "relative_date"
msgid "second"
msgid_plural "seconds"
msgstr[0] "secondo"
msgstr[1] "secondi"
-#: ../../include/datetime.php:562
+#: ../../include/datetime.php:574
#, php-format
msgid "%1$s's birthday"
msgstr "Compleanno di %1$s"
-#: ../../include/datetime.php:563
+#: ../../include/datetime.php:575
#, php-format
msgid "Happy Birthday %1$s"
msgstr "Buon compleanno %1$s"
-#: ../../include/api.php:1327
+#: ../../include/dir_fns.php:141
+msgid "Directory Options"
+msgstr "Visibilità negli elenchi pubblici"
+
+#: ../../include/dir_fns.php:143
+msgid "Safe Mode"
+msgstr "Modalità SafeSearch"
+
+#: ../../include/dir_fns.php:144
+msgid "Public Forums Only"
+msgstr "Solo forum pubblici"
+
+#: ../../include/dir_fns.php:145
+msgid "This Website Only"
+msgstr "Solo in questo sito"
+
+#: ../../include/event.php:824
+msgid "This event has been added to your calendar."
+msgstr "Questo evento è stato aggiunto al tuo calendario"
+
+#: ../../include/event.php:1024
+msgid "Not specified"
+msgstr "Non specificato"
+
+#: ../../include/event.php:1025
+msgid "Needs Action"
+msgstr "Necessita di un intervento"
+
+#: ../../include/event.php:1026
+msgid "Completed"
+msgstr "Completato"
+
+#: ../../include/event.php:1027
+msgid "In Process"
+msgstr "In corso"
+
+#: ../../include/event.php:1028
+msgid "Cancelled"
+msgstr "Annullato"
+
+#: ../../include/import.php:30
+msgid ""
+"Cannot create a duplicate channel identifier on this system. Import failed."
+msgstr "Non posso creare un canale con un identificativo che già esiste su questo sistema. L'importazione è fallita."
+
+#: ../../include/import.php:97
+msgid "Channel clone failed. Import failed."
+msgstr "Impossibile clonare il canale. L'importazione è fallita."
+
+#: ../../include/import.php:1447
+msgid "Unable to import element \""
+msgstr "Impossibile importare l'elemento \""
+
+#: ../../include/auth.php:148
+msgid "Logged out."
+msgstr "Uscita effettuata."
+
+#: ../../include/auth.php:275
+msgid "Failed authentication"
+msgstr "Autenticazione fallita"
+
+#: ../../include/auth.php:286
+msgid "Login failed."
+msgstr "Accesso fallito."
+
+#: ../../include/activities.php:41
+msgid " and "
+msgstr "e"
+
+#: ../../include/activities.php:49
+msgid "public profile"
+msgstr "profilo pubblico"
+
+#: ../../include/activities.php:58
+#, php-format
+msgid "%1$s changed %2$s to &ldquo;%3$s&rdquo;"
+msgstr "%1$s ha cambiato %2$s in &ldquo;%3$s&rdquo;"
+
+#: ../../include/activities.php:59
+#, php-format
+msgid "Visit %1$s's %2$s"
+msgstr "Guarda %2$s di %1$s "
+
+#: ../../include/activities.php:62
+#, php-format
+msgid "%1$s has an updated %2$s, changing %3$s."
+msgstr "%1$s ha aggiornato %2$s cambiando %3$s."
+
+#: ../../include/network.php:704
+msgid "view full size"
+msgstr "guarda nelle dimensioni reali"
+
+#: ../../include/network.php:1953
+msgid "No Subject"
+msgstr "Nessun titolo"
+
+#: ../../include/network.php:2207 ../../include/network.php:2208
+msgid "Friendica"
+msgstr "Friendica"
+
+#: ../../include/network.php:2209
+msgid "OStatus"
+msgstr "OStatus"
+
+#: ../../include/network.php:2210
+msgid "GNU-Social"
+msgstr "GNU-Social"
+
+#: ../../include/network.php:2211
+msgid "RSS/Atom"
+msgstr "RSS/Atom"
+
+#: ../../include/network.php:2213
+msgid "Diaspora"
+msgstr "Diaspora"
+
+#: ../../include/network.php:2214
+msgid "Facebook"
+msgstr "Facebook"
+
+#: ../../include/network.php:2215
+msgid "Zot"
+msgstr "Zot"
+
+#: ../../include/network.php:2216
+msgid "LinkedIn"
+msgstr "LinkedIn"
+
+#: ../../include/network.php:2217
+msgid "XMPP/IM"
+msgstr "XMPP/IM"
+
+#: ../../include/network.php:2218
+msgid "MySpace"
+msgstr "MySpace"
+
+#: ../../include/taxonomy.php:188 ../../include/taxonomy.php:270
+#: ../../include/contact_widgets.php:91 ../../include/widgets.php:46
+#: ../../include/widgets.php:465
+msgid "Categories"
+msgstr "Categorie"
+
+#: ../../include/taxonomy.php:228 ../../include/taxonomy.php:249
+msgid "Tags"
+msgstr "Tag"
+
+#: ../../include/taxonomy.php:293
+msgid "Keywords"
+msgstr "Parole chiave"
+
+#: ../../include/taxonomy.php:314
+msgid "have"
+msgstr "ho"
+
+#: ../../include/taxonomy.php:314
+msgid "has"
+msgstr "ha"
+
+#: ../../include/taxonomy.php:315
+msgid "want"
+msgstr "voglio"
+
+#: ../../include/taxonomy.php:315
+msgid "wants"
+msgstr "vuole"
+
+#: ../../include/taxonomy.php:316
+msgid "likes"
+msgstr "gli piace"
+
+#: ../../include/taxonomy.php:317
+msgid "dislikes"
+msgstr "non gli piace"
+
+#: ../../include/contact_widgets.php:11
+#, php-format
+msgid "%d invitation available"
+msgid_plural "%d invitations available"
+msgstr[0] "%d invito disponibile"
+msgstr[1] "%d inviti disponibili"
+
+#: ../../include/contact_widgets.php:19
+msgid "Find Channels"
+msgstr "Ricerca canali"
+
+#: ../../include/contact_widgets.php:20
+msgid "Enter name or interest"
+msgstr "Scrivi un nome o un interesse"
+
+#: ../../include/contact_widgets.php:21
+msgid "Connect/Follow"
+msgstr "Aggiungi"
+
+#: ../../include/contact_widgets.php:22
+msgid "Examples: Robert Morgenstein, Fishing"
+msgstr "Per esempio: Mario Rossi, Pesca"
+
+#: ../../include/contact_widgets.php:26
+msgid "Random Profile"
+msgstr "Profilo casuale"
+
+#: ../../include/contact_widgets.php:27
+msgid "Invite Friends"
+msgstr "Invita amici"
+
+#: ../../include/contact_widgets.php:29
+msgid "Advanced example: name=fred and country=iceland"
+msgstr "Per esempio: name=mario e country=italy"
+
+#: ../../include/contact_widgets.php:56 ../../include/contact_widgets.php:94
+#: ../../include/widgets.php:349 ../../include/widgets.php:468
+msgid "Everything"
+msgstr "Tutto"
+
+#: ../../include/contact_widgets.php:122
+#, php-format
+msgid "%d connection in common"
+msgid_plural "%d connections in common"
+msgstr[0] "%d contatto in comune"
+msgstr[1] "%d contatti in comune"
+
+#: ../../include/contact_widgets.php:127
+msgid "show more"
+msgstr "mostra tutto"
+
+#: ../../include/widgets.php:103
+msgid "System"
+msgstr "Sistema"
+
+#: ../../include/widgets.php:106
+msgid "New App"
+msgstr "Nuova app"
+
+#: ../../include/widgets.php:154
+msgid "Suggestions"
+msgstr "Suggerimenti"
+
+#: ../../include/widgets.php:155
+msgid "See more..."
+msgstr "Altro..."
+
+#: ../../include/widgets.php:175
+#, php-format
+msgid "You have %1$.0f of %2$.0f allowed connections."
+msgstr "Hai attivato %1$.0f delle %2$.0f connessioni permesse."
+
+#: ../../include/widgets.php:181
+msgid "Add New Connection"
+msgstr "Aggiungi un contatto"
+
+#: ../../include/widgets.php:182
+msgid "Enter channel address"
+msgstr "Indirizzo del canale"
+
+#: ../../include/widgets.php:183
+msgid "Examples: bob@example.com, https://example.com/barbara"
+msgstr "Per esempio: bob@example.com, https://example.com/barbara"
+
+#: ../../include/widgets.php:199
+msgid "Notes"
+msgstr "Note"
+
+#: ../../include/widgets.php:275
+msgid "Remove term"
+msgstr "Rimuovi termine"
+
+#: ../../include/widgets.php:390
+msgid "Archives"
+msgstr "Archivi"
+
+#: ../../include/widgets.php:552
+msgid "Refresh"
+msgstr "Aggiorna"
+
+#: ../../include/widgets.php:592
+msgid "Account settings"
+msgstr "Il tuo account"
+
+#: ../../include/widgets.php:598
+msgid "Channel settings"
+msgstr "Impostazioni del canale"
+
+#: ../../include/widgets.php:607
+msgid "Additional features"
+msgstr "Funzionalità opzionali"
+
+#: ../../include/widgets.php:614
+msgid "Feature/Addon settings"
+msgstr "Componenti aggiuntivi"
+
+#: ../../include/widgets.php:620
+msgid "Display settings"
+msgstr "Aspetto"
+
+#: ../../include/widgets.php:627
+msgid "Manage locations"
+msgstr "Gestione cloni del tuo canale"
+
+#: ../../include/widgets.php:634
+msgid "Export channel"
+msgstr "Esporta il canale"
+
+#: ../../include/widgets.php:640
+msgid "Connected apps"
+msgstr "App connesse"
+
+#: ../../include/widgets.php:664
+msgid "Premium Channel Settings"
+msgstr "Canale premium - impostazioni"
+
+#: ../../include/widgets.php:693
+msgid "Private Mail Menu"
+msgstr "Menu messaggi privati"
+
+#: ../../include/widgets.php:695
+msgid "Combined View"
+msgstr "Vista combinata"
+
+#: ../../include/widgets.php:727 ../../include/widgets.php:739
+msgid "Conversations"
+msgstr "Conversazioni"
+
+#: ../../include/widgets.php:731
+msgid "Received Messages"
+msgstr "Ricevuti"
+
+#: ../../include/widgets.php:735
+msgid "Sent Messages"
+msgstr "Inviati"
+
+#: ../../include/widgets.php:749
+msgid "No messages."
+msgstr "Nessun messaggio."
+
+#: ../../include/widgets.php:767
+msgid "Delete conversation"
+msgstr "Elimina la conversazione"
+
+#: ../../include/widgets.php:793
+msgid "Events Tools"
+msgstr "Gestione eventi"
+
+#: ../../include/widgets.php:794
+msgid "Export Calendar"
+msgstr "Esporta calendario"
+
+#: ../../include/widgets.php:795
+msgid "Import Calendar"
+msgstr "Importa calendario"
+
+#: ../../include/widgets.php:887
+msgid "Overview"
+msgstr "Riepilogo"
+
+#: ../../include/widgets.php:894
+msgid "Chat Members"
+msgstr "Partecipanti"
+
+#: ../../include/widgets.php:916
+msgid "Wiki List"
+msgstr "Elenco wiki"
+
+#: ../../include/widgets.php:954
+msgid "Wiki Pages"
+msgstr "Pagine wiki"
+
+#: ../../include/widgets.php:989
+msgid "Bookmarked Chatrooms"
+msgstr "Chat nei segnalibri"
+
+#: ../../include/widgets.php:1020
+msgid "Suggested Chatrooms"
+msgstr "Chat suggerite"
+
+#: ../../include/widgets.php:1166 ../../include/widgets.php:1278
+msgid "photo/image"
+msgstr "foto/immagine"
+
+#: ../../include/widgets.php:1221
+msgid "Click to show more"
+msgstr "Clicca per mostrare tutto"
+
+#: ../../include/widgets.php:1372
+msgid "Rating Tools"
+msgstr "Valutazione"
+
+#: ../../include/widgets.php:1376 ../../include/widgets.php:1378
+msgid "Rate Me"
+msgstr "Valutami"
+
+#: ../../include/widgets.php:1381
+msgid "View Ratings"
+msgstr "Vedi le valutazioni ricevute"
+
+#: ../../include/widgets.php:1465
+msgid "Forums"
+msgstr "Forum"
+
+#: ../../include/widgets.php:1494
+msgid "Tasks"
+msgstr "Attività"
+
+#: ../../include/widgets.php:1505
+msgid "Documentation"
+msgstr "Guida"
+
+#: ../../include/widgets.php:1561 ../../include/widgets.php:1599
+msgid "Member registrations waiting for confirmation"
+msgstr "Richieste in attesa di conferma"
+
+#: ../../include/widgets.php:1567
+msgid "Inspect queue"
+msgstr "Coda di attesa"
+
+#: ../../include/widgets.php:1569
+msgid "DB updates"
+msgstr "Aggiornamenti al DB"
+
+#: ../../include/widgets.php:1595
+msgid "Plugin Features"
+msgstr "Plugin"
+
+#: ../../include/api.php:1330
msgid "Public Timeline"
msgstr "Diario pubblico"
-#: ../../include/zot.php:697
-msgid "Invalid data packet"
-msgstr "Dati ricevuti non validi"
+#: ../../include/oembed.php:322
+msgid " by "
+msgstr "di"
-#: ../../include/zot.php:713
-msgid "Unable to verify channel signature"
-msgstr "Impossibile verificare la firma elettronica del canale"
+#: ../../include/oembed.php:323
+msgid " on "
+msgstr "su"
+
+#: ../../include/oembed.php:352
+msgid "Embedded content"
+msgstr "Contenuti incorporati"
+
+#: ../../include/oembed.php:361
+msgid "Embedding disabled"
+msgstr "Disabilita la creazione di contenuti incorporati"
+
+#: ../../include/items.php:918 ../../include/items.php:963
+msgid "(Unknown)"
+msgstr "(Sconosciuto)"
+
+#: ../../include/items.php:1162
+msgid "Visible to anybody on the internet."
+msgstr "Visibile a chiunque su internet."
-#: ../../include/zot.php:2326
+#: ../../include/items.php:1164
+msgid "Visible to you only."
+msgstr "Visibile solo a te."
+
+#: ../../include/items.php:1166
+msgid "Visible to anybody in this network."
+msgstr "Visibile a tutti su questa rete."
+
+#: ../../include/items.php:1168
+msgid "Visible to anybody authenticated."
+msgstr "Visibile a chiunque sia autenticato."
+
+#: ../../include/items.php:1170
#, php-format
-msgid "Unable to verify site signature for %s"
-msgstr "Impossibile verificare la firma elettronica del sito %s"
+msgid "Visible to anybody on %s."
+msgstr "Visibile a tutti su %s."
-#: ../../include/zot.php:3703
-msgid "invalid target signature"
-msgstr "la firma ricevuta non è valida"
+#: ../../include/items.php:1172
+msgid "Visible to all connections."
+msgstr "Visibile a tutti coloro che ti seguono."
-#: ../../view/theme/redbasic/php/config.php:82
+#: ../../include/items.php:1174
+msgid "Visible to approved connections."
+msgstr "Visibile ai contatti approvati."
+
+#: ../../include/items.php:1176
+msgid "Visible to specific connections."
+msgstr "Visibile ad alcuni contatti scelti."
+
+#: ../../include/items.php:3976
+msgid "Privacy group is empty."
+msgstr "Gruppo di canali vuoto."
+
+#: ../../include/items.php:3983
+#, php-format
+msgid "Privacy group: %s"
+msgstr "Gruppo di canali: %s"
+
+#: ../../include/items.php:3995
+msgid "Connection not found."
+msgstr "Contatto non trovato."
+
+#: ../../include/items.php:4348
+msgid "profile photo"
+msgstr "foto del profilo"
+
+#: ../../include/attach.php:248 ../../include/attach.php:334
+msgid "Item was not found."
+msgstr "Elemento non trovato."
+
+#: ../../include/attach.php:500
+msgid "No source file."
+msgstr "Nessun file di origine."
+
+#: ../../include/attach.php:522
+msgid "Cannot locate file to replace"
+msgstr "Il file da sostituire non è stato trovato"
+
+#: ../../include/attach.php:540
+msgid "Cannot locate file to revise/update"
+msgstr "Il file da aggiornare non è stato trovato"
+
+#: ../../include/attach.php:675
+#, php-format
+msgid "File exceeds size limit of %d"
+msgstr "Il file supera la dimensione massima di %d"
+
+#: ../../include/attach.php:689
+#, php-format
+msgid "You have reached your limit of %1$.0f Mbytes attachment storage."
+msgstr "Hai raggiunto il limite complessivo di %1$.0f Mbytes per gli allegati."
+
+#: ../../include/attach.php:854
+msgid "File upload failed. Possible system limit or action terminated."
+msgstr "Caricamento file fallito, potrebbe essere stato interrotto o potrebbe aver superato lo spazio assegnato."
+
+#: ../../include/attach.php:867
+msgid "Stored file could not be verified. Upload failed."
+msgstr "Il file non può essere verificato. Caricamento fallito."
+
+#: ../../include/attach.php:923 ../../include/attach.php:939
+msgid "Path not available."
+msgstr "Percorso non disponibile."
+
+#: ../../include/attach.php:985 ../../include/attach.php:1137
+msgid "Empty pathname"
+msgstr "Il percorso del file è vuoto"
+
+#: ../../include/attach.php:1011
+msgid "duplicate filename or path"
+msgstr "il file o il percorso del file è duplicato"
+
+#: ../../include/attach.php:1033
+msgid "Path not found."
+msgstr "Percorso del file non trovato."
+
+#: ../../include/attach.php:1091
+msgid "mkdir failed."
+msgstr "mkdir fallito."
+
+#: ../../include/attach.php:1095
+msgid "database storage failed."
+msgstr "scrittura su database fallita."
+
+#: ../../include/attach.php:1143
+msgid "Empty path"
+msgstr "La posizione è vuota"
+
+#: ../../view/theme/redbasic/php/config.php:9
msgid "Focus (Hubzilla default)"
msgstr "Focus (predefinito)"
-#: ../../view/theme/redbasic/php/config.php:103
+#: ../../view/theme/redbasic/php/config.php:110
msgid "Theme settings"
msgstr "Impostazioni del tema"
-#: ../../view/theme/redbasic/php/config.php:104
-msgid "Select scheme"
-msgstr "Scegli uno schema"
-
-#: ../../view/theme/redbasic/php/config.php:105
+#: ../../view/theme/redbasic/php/config.php:111
msgid "Narrow navbar"
msgstr "Barra di navigazione ristretta"
-#: ../../view/theme/redbasic/php/config.php:106
+#: ../../view/theme/redbasic/php/config.php:112
msgid "Navigation bar background color"
msgstr "Barra di navigazione: Colore di sfondo"
-#: ../../view/theme/redbasic/php/config.php:107
+#: ../../view/theme/redbasic/php/config.php:113
msgid "Navigation bar gradient top color"
msgstr "Barra di navigazione: Gradiente superiore"
-#: ../../view/theme/redbasic/php/config.php:108
+#: ../../view/theme/redbasic/php/config.php:114
msgid "Navigation bar gradient bottom color"
msgstr "Barra di navigazione: Gradiente inferiore"
-#: ../../view/theme/redbasic/php/config.php:109
+#: ../../view/theme/redbasic/php/config.php:115
msgid "Navigation active button gradient top color"
msgstr "Bottone di navigazione attivo: Gradiente superiore"
-#: ../../view/theme/redbasic/php/config.php:110
+#: ../../view/theme/redbasic/php/config.php:116
msgid "Navigation active button gradient bottom color"
msgstr "Bottone di navigazione attivo: Gradiente inferiore"
-#: ../../view/theme/redbasic/php/config.php:111
+#: ../../view/theme/redbasic/php/config.php:117
msgid "Navigation bar border color "
msgstr "Barra di navigazione: Colore del bordo"
-#: ../../view/theme/redbasic/php/config.php:112
+#: ../../view/theme/redbasic/php/config.php:118
msgid "Navigation bar icon color "
msgstr "Barra di navigazione: Colore delle icone"
-#: ../../view/theme/redbasic/php/config.php:113
+#: ../../view/theme/redbasic/php/config.php:119
msgid "Navigation bar active icon color "
msgstr "Barra di navigazione: Colore dell'icona attiva"
-#: ../../view/theme/redbasic/php/config.php:114
+#: ../../view/theme/redbasic/php/config.php:120
msgid "link color"
msgstr "colore del link"
-#: ../../view/theme/redbasic/php/config.php:115
+#: ../../view/theme/redbasic/php/config.php:121
msgid "Set font-color for banner"
msgstr "Colore del font del banner"
-#: ../../view/theme/redbasic/php/config.php:116
+#: ../../view/theme/redbasic/php/config.php:122
msgid "Set the background color"
msgstr "Colore di sfondo"
-#: ../../view/theme/redbasic/php/config.php:117
+#: ../../view/theme/redbasic/php/config.php:123
msgid "Set the background image"
msgstr "Immagine di sfondo"
-#: ../../view/theme/redbasic/php/config.php:118
+#: ../../view/theme/redbasic/php/config.php:124
msgid "Set the background color of items"
msgstr "Colore di sfondo degli oggetti"
-#: ../../view/theme/redbasic/php/config.php:119
+#: ../../view/theme/redbasic/php/config.php:125
msgid "Set the background color of comments"
msgstr "Colore di sfondo dei commenti"
-#: ../../view/theme/redbasic/php/config.php:120
+#: ../../view/theme/redbasic/php/config.php:126
msgid "Set the border color of comments"
msgstr "Colore del bordo dei commenti"
-#: ../../view/theme/redbasic/php/config.php:121
+#: ../../view/theme/redbasic/php/config.php:127
msgid "Set the indent for comments"
msgstr "Spostamento a destra dei commenti"
-#: ../../view/theme/redbasic/php/config.php:122
+#: ../../view/theme/redbasic/php/config.php:128
msgid "Set the basic color for item icons"
msgstr "Colore di base per le icone"
-#: ../../view/theme/redbasic/php/config.php:123
+#: ../../view/theme/redbasic/php/config.php:129
msgid "Set the hover color for item icons"
msgstr "Colore per le icone in mouse-over"
-#: ../../view/theme/redbasic/php/config.php:124
+#: ../../view/theme/redbasic/php/config.php:130
msgid "Set font-size for the entire application"
msgstr "Dimensione font per tutto il sito"
-#: ../../view/theme/redbasic/php/config.php:124
+#: ../../view/theme/redbasic/php/config.php:130
msgid "Example: 14px"
msgstr "Esempio: 14px"
-#: ../../view/theme/redbasic/php/config.php:125
+#: ../../view/theme/redbasic/php/config.php:131
msgid "Set font-size for posts and comments"
msgstr "Dimensioni del carattere per post e commenti"
-#: ../../view/theme/redbasic/php/config.php:126
+#: ../../view/theme/redbasic/php/config.php:132
msgid "Set font-color for posts and comments"
msgstr "Colore del carattere per post e commenti"
-#: ../../view/theme/redbasic/php/config.php:127
+#: ../../view/theme/redbasic/php/config.php:133
msgid "Set radius of corners"
msgstr "Raggio degli angoli stondati"
-#: ../../view/theme/redbasic/php/config.php:128
+#: ../../view/theme/redbasic/php/config.php:134
msgid "Set shadow depth of photos"
msgstr "Profondità dell'ombra delle foto"
-#: ../../view/theme/redbasic/php/config.php:129
+#: ../../view/theme/redbasic/php/config.php:135
msgid "Set maximum width of content region in pixel"
msgstr "Larghezza massima dell'area dei contenuti in pixel"
-#: ../../view/theme/redbasic/php/config.php:129
+#: ../../view/theme/redbasic/php/config.php:135
msgid "Leave empty for default width"
msgstr "Lascia vuoto per usare il valore predefinito"
-#: ../../view/theme/redbasic/php/config.php:130
+#: ../../view/theme/redbasic/php/config.php:136
msgid "Left align page content"
msgstr "Allinea a sinistra il contenuto della pagina"
-#: ../../view/theme/redbasic/php/config.php:131
+#: ../../view/theme/redbasic/php/config.php:137
msgid "Set minimum opacity of nav bar - to hide it"
msgstr "Opacità minima della barra di navigazione - per nasconderla"
-#: ../../view/theme/redbasic/php/config.php:132
+#: ../../view/theme/redbasic/php/config.php:138
msgid "Set size of conversation author photo"
msgstr "Dimensione foto dell'autore della conversazione"
-#: ../../view/theme/redbasic/php/config.php:133
+#: ../../view/theme/redbasic/php/config.php:139
msgid "Set size of followup author photos"
msgstr "Dimensione foto dei partecipanti alla conversazione"
-#: ../../boot.php:1163
+#: ../../boot.php:1195
#, php-format
msgctxt "opensearch"
msgid "Search %1$s (%2$s)"
msgstr "Cerca %1$s (%2$s)"
-#: ../../boot.php:1163
+#: ../../boot.php:1195
msgctxt "opensearch"
msgid "$Projectname"
msgstr "$Projectname"
-#: ../../boot.php:1481
+#: ../../boot.php:1513
#, php-format
msgid "Update %s failed. See error logs."
msgstr "%s: aggiornamento fallito. Controlla i log di errore."
-#: ../../boot.php:1484
+#: ../../boot.php:1516
#, php-format
msgid "Update Error at %s"
msgstr "Errore di aggiornamento su %s"
-#: ../../boot.php:1685
+#: ../../boot.php:1720
msgid ""
"Create an account to access services and applications within the Hubzilla"
msgstr "Registrati per accedere ai servizi e alle applicazioni di Hubzilla"
-#: ../../boot.php:1706
+#: ../../boot.php:1741
msgid "Login/Email"
msgstr "Login/Email"
-#: ../../boot.php:1707
+#: ../../boot.php:1742
msgid "Password"
msgstr "Password"
-#: ../../boot.php:1708
+#: ../../boot.php:1743
msgid "Remember me"
msgstr "Resta connesso"
-#: ../../boot.php:1711
+#: ../../boot.php:1746
msgid "Forgot your password?"
msgstr "Hai dimenticato la password?"
-#: ../../boot.php:2277
+#: ../../boot.php:2315
msgid "toggle mobile"
msgstr "attiva/disattiva versione mobile"
-#: ../../boot.php:2432
+#: ../../boot.php:2470
msgid "Website SSL certificate is not valid. Please correct."
msgstr "Il certificato SSL del sito non è valido. Si prega di intervenire."
-#: ../../boot.php:2435
+#: ../../boot.php:2473
#, php-format
msgid "[hubzilla] Website SSL error for %s"
msgstr "[hubzilla] Errore SSL su %s"
-#: ../../boot.php:2478
+#: ../../boot.php:2577
msgid "Cron/Scheduled tasks not running."
msgstr "Processi cron non avviati."
-#: ../../boot.php:2482
+#: ../../boot.php:2581
#, php-format
msgid "[hubzilla] Cron tasks not running on %s"
msgstr "[hubzilla] Cron non è stato eseguito %s"
diff --git a/view/it/hstrings.php b/view/it/hstrings.php
index 21e413144..9eb419735 100644
--- a/view/it/hstrings.php
+++ b/view/it/hstrings.php
@@ -1,6 +1,5 @@
<?php
-
if(! function_exists("string_plural_select_it")) {
function string_plural_select_it($n){
return ($n != 1);;
@@ -62,23 +61,394 @@ App::$strings["You are using %1\$s of %2\$s available file storage. (%3\$s&#37;)
App::$strings["WARNING:"] = "ATTENZIONE:";
App::$strings["Create new folder"] = "Nuova cartella";
App::$strings["Upload file"] = "Carica un file";
-App::$strings["Permission denied"] = "Permesso negato";
+App::$strings["Drop files here to immediately upload"] = "Trascina i file qui per caricarli al volo";
App::$strings["Permission denied."] = "Permesso negato.";
App::$strings["Not Found"] = "Non disponibile";
App::$strings["Page not found."] = "Pagina non trovata.";
+App::$strings["Permission denied"] = "Permesso negato";
App::$strings["Remote authentication blocked. You are logged into this site locally. Please logout and retry."] = "L'autenticazione tramite il tuo hub non è disponibile. Puoi provare a disconnetterti per tentare di nuovo.";
App::$strings["Welcome %s. Remote authentication successful."] = "Ciao %s. L'accesso tramite il tuo hub è avvenuto con successo.";
App::$strings["Requested profile is not available."] = "Il profilo richiesto non è disponibile.";
App::$strings["Some blurb about what to do when you're new here"] = "Qualche suggerimento per i nuovi utenti su cosa fare";
App::$strings["Away"] = "Assente";
App::$strings["Online"] = "Online";
+App::$strings["No such group"] = "Impossibile trovare il gruppo di canali";
+App::$strings["No such channel"] = "Canale sconosciuto";
+App::$strings["forum"] = "forum";
+App::$strings["Search Results For:"] = "Cerca risultati con:";
+App::$strings["Privacy group is empty"] = "Il gruppo di canali è vuoto";
+App::$strings["Privacy group: "] = "Gruppo di canali:";
+App::$strings["Invalid connection."] = "Contatto non valido.";
+App::$strings["Fetching URL returns error: %1\$s"] = "La chiamata all'URL restituisce questo errore: %1\$s";
+App::$strings["network"] = "rete";
+App::$strings["RSS"] = "RSS";
+App::$strings["You must be logged in to see this page."] = "Devi aver effettuato l'accesso per vedere questa pagina.";
+App::$strings["Posts and comments"] = "Post e commenti";
+App::$strings["Only posts"] = "Solo post";
+App::$strings["Insufficient permissions. Request redirected to profile page."] = "Permessi insufficienti. Sarà visualizzata la pagina del profilo.";
+App::$strings["Your service plan only allows %d channels."] = "Il tuo account permette di creare al massimo %d canali.";
+App::$strings["Nothing to import."] = "Non c'è niente da importare.";
+App::$strings["Unable to download data from old server"] = "Impossibile importare i dati dal vecchio hub";
+App::$strings["Imported file is empty."] = "Il file da importare è vuoto.";
+App::$strings["Warning: Database versions differ by %1\$d updates."] = "Attenzione: le versioni di database differiscono di %1\$d aggiornamenti.";
+App::$strings["Cloned channel not found. Import failed."] = "Impossibile trovare il canale clonato. L'importazione è fallita.";
+App::$strings["No channel. Import failed."] = "Nessun canale. Import fallito.";
+App::$strings["Import completed."] = "L'importazione è terminata con successo.";
+App::$strings["You must be logged in to use this feature."] = "Per questa funzionalità devi aver effettuato l'accesso.";
+App::$strings["Import Channel"] = "Importa un canale";
+App::$strings["Use this form to import an existing channel from a different server/hub. You may retrieve the channel identity from the old server/hub via the network or provide an export file."] = "Usa questo modulo per importare un tuo canale da un altro hub. Puoi ottenere i dati identificativi del canale direttamente dall'altro hub oppure tramite un file esportato in precedenza.";
+App::$strings["File to Upload"] = "File da caricare";
+App::$strings["Or provide the old server/hub details"] = "Oppure fornisci i dettagli del vecchio hub";
+App::$strings["Your old identity address (xyz@example.com)"] = "Il tuo vecchio identificativo (per esempio pippo@esempio.com)";
+App::$strings["Your old login email address"] = "L'email che usavi per accedere sul vecchio hub";
+App::$strings["Your old login password"] = "La password per il vecchio hub";
+App::$strings["For either option, please choose whether to make this hub your new primary address, or whether your old location should continue this role. You will be able to post from either location, but only one can be marked as the primary location for files, photos, and media."] = "Scegli se vuoi spostare il tuo indirizzo primario su questo hub, oppure se preferisci che quello vecchio resti tale. Potrai pubblicare da entrambi i hub, ma solamente uno sarà indicato come la posizione su cui risiedono i tuoi file, foto, ecc.";
+App::$strings["Make this hub my primary location"] = "Rendi questo hub il mio indirizzo primario";
+App::$strings["Import existing posts if possible (experimental - limited by available memory"] = "Importa i contenuti pubblicati, se possibile (sperimentale)";
+App::$strings["This process may take several minutes to complete. Please submit the form only once and leave this page open until finished."] = "Questa funzione potrebbe impiegare molto tempo a terminare. Per favore lanciala *una volta sola* e resta su questa pagina finché non avrà finito.";
+App::$strings["Submit"] = "Salva";
+App::$strings["Bookmark added"] = "Segnalibro aggiunto";
+App::$strings["My Bookmarks"] = "I miei segnalibri";
+App::$strings["My Connections Bookmarks"] = "I segnalibri dei miei contatti";
+App::$strings["%s account blocked/unblocked"] = array(
+ 0 => "Modificato il blocco su %s account",
+ 1 => "Modificato il blocco verso %s",
+);
+App::$strings["%s account deleted"] = array(
+ 0 => "%s account eliminato",
+ 1 => "%s account eliminati",
+);
+App::$strings["Account not found"] = "Account non trovato";
+App::$strings["Account '%s' deleted"] = "Account '%s' eliminato";
+App::$strings["Account '%s' blocked"] = "Aggiunto un blocco verso '%s'";
+App::$strings["Account '%s' unblocked"] = "Rimosso il blocco verso '%s'";
+App::$strings["Administration"] = "Amministrazione";
+App::$strings["Accounts"] = "Account";
+App::$strings["select all"] = "seleziona tutti";
+App::$strings["Registrations waiting for confirm"] = "Registrazioni in attesa di conferma";
+App::$strings["Request date"] = "Data richiesta";
+App::$strings["Email"] = "Email";
+App::$strings["No registrations."] = "Nessuna registrazione.";
+App::$strings["Approve"] = "Approva";
+App::$strings["Deny"] = "Nega";
+App::$strings["Block"] = "Blocca";
+App::$strings["Unblock"] = "Sblocca";
+App::$strings["ID"] = "ID";
+App::$strings["All Channels"] = "Tutti i canali";
+App::$strings["Register date"] = "Data registrazione";
+App::$strings["Last login"] = "Ultimo accesso";
+App::$strings["Expires"] = "Con scadenza";
+App::$strings["Service Class"] = "Classe dell'account";
+App::$strings["Selected accounts will be deleted!\\n\\nEverything these accounts had posted on this site will be permanently deleted!\\n\\nAre you sure?"] = "Gli account selezionati saranno eliminati!\\n\\nTutto ciò che hanno caricato o pubblicato su questo sito sarà eliminato definitivamente!\\n\\nVuoi confermare?";
+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?"] = "L'account {0} sarà eliminato!\\n\\nTutto ciò che ha caricato o pubblicato su questo sito sarà eliminato definitivamente!\\n\\nVuoi confermare?";
+App::$strings["%s channel censored/uncensored"] = array(
+ 0 => "Censura modificata per %s canale",
+ 1 => "Censura modificata per %s canali",
+);
+App::$strings["%s channel code allowed/disallowed"] = array(
+ 0 => "%s canale permette/non permette codice nei contenuti",
+ 1 => "%s canali permettono/non permettono codice nei contenuti",
+);
+App::$strings["%s channel deleted"] = array(
+ 0 => "%s canale è stato rimosso",
+ 1 => "%s canali sono stati rimossi",
+);
+App::$strings["Channel not found"] = "Canale non trovato";
+App::$strings["Channel '%s' deleted"] = "Il canale '%s' è stato rimosso";
+App::$strings["Channel '%s' censored"] = "Applicata una censura al canale '%s'";
+App::$strings["Channel '%s' uncensored"] = "Rimossa la censura dal canale '%s'";
+App::$strings["Channel '%s' code allowed"] = "Il canale '%s' permette codice nei contenuti";
+App::$strings["Channel '%s' code disallowed"] = "Il canale '%s' non permette codice nei contenuti";
+App::$strings["Channels"] = "Canali";
+App::$strings["Censor"] = "Applica censura";
+App::$strings["Uncensor"] = "Rimuovi censura";
+App::$strings["Allow Code"] = "Permetti codice";
+App::$strings["Disallow Code"] = "Non permettere codice";
+App::$strings["Channel"] = "Canale";
+App::$strings["UID"] = "UID";
+App::$strings["Address"] = "Indirizzo";
+App::$strings["Selected channels will be deleted!\\n\\nEverything that was posted in these channels on this site will be permanently deleted!\\n\\nAre you sure?"] = "I canali selezionati saranno rimossi!\\n\\nTutto ciò che è stato pubblicato su questo server tramite questi canali sarà irreversibilmente eliminato!\\n\\nVuoi confermare?";
+App::$strings["The channel {0} will be deleted!\\n\\nEverything that was posted in this channel on this site will be permanently deleted!\\n\\nAre you sure?"] = "Il canale {0} sarà rimosso!\\n\\nTutto ciò che è stato pubblicato su questo server tramite questo canale sarà irreversibilmente eliminato!\\n\\nVuoi confermare?";
+App::$strings["Update has been marked successful"] = "L'aggiornamento è stato marcato come eseguito.";
+App::$strings["Executing %s failed. Check system logs."] = "Fallita l'esecuzione di %s. Maggiori informazioni sui log di sistema.";
+App::$strings["Update %s was successfully applied."] = "L'aggiornamento %s è terminato correttamente.";
+App::$strings["Update %s did not return a status. Unknown if it succeeded."] = "L'aggiornamento %s non ha dato risposta. Impossibile determinare se è terminato correttamente.";
+App::$strings["Update function %s could not be found."] = "Impossibile trovare la funzione di aggiornamento %s";
+App::$strings["No failed updates."] = "Nessun aggiornamento fallito.";
+App::$strings["Failed Updates"] = "Aggiornamenti falliti.";
+App::$strings["Mark success (if update was manually applied)"] = "Marca come eseguito (se applicato manualmente).";
+App::$strings["Attempt to execute this update step automatically"] = "Tenta di eseguire in automatico questo passaggio dell'aggiornamento.";
+App::$strings["Off"] = "Off";
+App::$strings["On"] = "On";
+App::$strings["Lock feature %s"] = "Rendi non modificabile %s";
+App::$strings["Manage Additional Features"] = "Funzionalità opzionali";
+App::$strings["Log settings updated."] = "Impostazioni di log aggiornate.";
+App::$strings["Logs"] = "Log";
+App::$strings["Clear"] = "Pulisci";
+App::$strings["Debugging"] = "Debugging";
+App::$strings["Log file"] = "File di log";
+App::$strings["Must be writable by web server. Relative to your top-level webserver directory."] = "Relativo alla directory base del server web. Deve essere scrivibile.";
+App::$strings["Log level"] = "Livello di log";
+App::$strings["Item not found."] = "Elemento non trovato.";
+App::$strings["Plugin %s disabled."] = "Plugin %s non attivo.";
+App::$strings["Plugin %s enabled."] = "Plugin %s attivo.";
+App::$strings["Disable"] = "Disattiva";
+App::$strings["Enable"] = "Attiva";
+App::$strings["Plugins"] = "Plugin";
+App::$strings["Toggle"] = "Attiva/disattiva";
+App::$strings["Settings"] = "Impostazioni";
+App::$strings["Author: "] = "Autore:";
+App::$strings["Maintainer: "] = "Gestore:";
+App::$strings["Minimum project version: "] = "Minima versione hubzilla";
+App::$strings["Maximum project version: "] = "Massima versione hubzilla";
+App::$strings["Minimum PHP version: "] = "Minima versione PHP:";
+App::$strings["Compatible Server Roles: "] = "Ruoli previsti per questo server";
+App::$strings["Requires: "] = "Necessita di:";
+App::$strings["Disabled - version incompatibility"] = "Disabilitato - incompatibilità di versione";
+App::$strings["Enter the public git repository URL of the plugin repo."] = "Inserisci lo URL del repository git dei plugin.";
+App::$strings["Plugin repo git URL"] = "URL git del repository del plugin";
+App::$strings["Custom repo name"] = "Nome repository personalizzato";
+App::$strings["(optional)"] = "(facoltativo)";
+App::$strings["Download Plugin Repo"] = "Scarica il repository del plugin";
+App::$strings["Install new repo"] = "Installa un nuovo repository";
+App::$strings["Install"] = "Installa";
+App::$strings["Cancel"] = "Annulla";
+App::$strings["Manage Repos"] = "Gestisci i repository";
+App::$strings["Installed Plugin Repositories"] = "Repository per i plugin installati";
+App::$strings["Install a New Plugin Repository"] = "Installa un nuovo repository per i plugin";
+App::$strings["Update"] = "Aggiorna";
+App::$strings["Switch branch"] = "Cambia branch";
+App::$strings["Remove"] = "Rimuovi";
+App::$strings["New Profile Field"] = "Nuovo campo del profilo";
+App::$strings["Field nickname"] = "Nome breve del campo";
+App::$strings["System name of field"] = "Nome di sistema del campo";
+App::$strings["Input type"] = "Tipo di dati";
+App::$strings["Field Name"] = "Nome del campo";
+App::$strings["Label on profile pages"] = "Etichetta da mostrare sulla pagina del profilo";
+App::$strings["Help text"] = "Testo di aiuto";
+App::$strings["Additional info (optional)"] = "Informazioni aggiuntive (facoltative)";
+App::$strings["Save"] = "Salva";
+App::$strings["Field definition not found"] = "Impossibile trovare la definizione del campo";
+App::$strings["Edit Profile Field"] = "Modifica campo del profilo";
+App::$strings["Profile Fields"] = "Campi del profilo";
+App::$strings["Basic Profile Fields"] = "Campi base del profilo";
+App::$strings["Advanced Profile Fields"] = "Campi avanzati del profilo";
+App::$strings["(In addition to basic fields)"] = "(In aggiunta ai campi di base)";
+App::$strings["All available fields"] = "Tutti i campi disponibili";
+App::$strings["Custom Fields"] = "Campi personalizzati";
+App::$strings["Create Custom Field"] = "Aggiungi campo personalizzato";
+App::$strings["Queue Statistics"] = "Statistiche della coda";
+App::$strings["Total Entries"] = "Totale";
+App::$strings["Priority"] = "Priorità";
+App::$strings["Destination URL"] = "URL di destinazione";
+App::$strings["Mark hub permanently offline"] = "Questo hub è definitivamente offline";
+App::$strings["Empty queue for this hub"] = "Svuota la coda per questo hub";
+App::$strings["Last known contact"] = "Ultimo scambio dati";
+App::$strings["By default, unfiltered HTML is allowed in embedded media. This is inherently insecure."] = "Il codice HTML degli oggetti multimediali incorporati nei post è consentito. Questo tipo di impostazione è insicura.";
+App::$strings["The recommended setting is to only allow unfiltered HTML from the following sites:"] = "L'impostazione consigliata è di permettere HTML non filtrato solo dai seguenti siti:";
+App::$strings["https://youtube.com/<br />https://www.youtube.com/<br />https://youtu.be/<br />https://vimeo.com/<br />https://soundcloud.com/<br />"] = "https://youtube.com/<br />https://www.youtube.com/<br />https://youtu.be/<br />https://vimeo.com/<br />https://soundcloud.com/<br />";
+App::$strings["All other embedded content will be filtered, <strong>unless</strong> embedded content from that site is explicitly blocked."] = "Tutti gli altri contenuti incorporati saranno filtrati <strong>a meno che</strong> il contenuto incorporato di quel sito non sia esplicitamente bloccato.";
+App::$strings["Security"] = "Sicurezza";
+App::$strings["Block public"] = "Blocca pagine pubbliche";
+App::$strings["Check to block public access to all otherwise public personal pages on this site unless you are currently authenticated."] = "Seleziona per impedire di vedere le pagine personali di questo sito a chi non ha effettuato l'accesso.";
+App::$strings["Set \"Transport Security\" HTTP header"] = "Imposta il \"Transport Security\" HTTP header";
+App::$strings["Set \"Content Security Policy\" HTTP header"] = "Imposta il \"Content Security Policy\" HTTP header";
+App::$strings["Allowed email domains"] = "Domini email consentiti";
+App::$strings["Comma separated list of domains which are allowed in email addresses for registrations to this site. Wildcards are accepted. Empty to allow any domains"] = "Elenco separato da virgola dei domini permessi come indirizzi email in fase di registrazione. Sono accettati caratteri jolly. Lascia vuoto per accettare qualsiasi dominio email";
+App::$strings["Not allowed email domains"] = "Domini email non consentiti";
+App::$strings["Comma separated list of domains which are not allowed in email addresses for registrations to this site. Wildcards are accepted. Empty to allow any domains, unless allowed domains have been defined."] = "Elenco separato da virgola dei domini permessi come indirizzi email in fase di registrazione a questo sito. Sono accettati caratteri jolly. Lascalo vuoto per accettare qualsiasi dominio.";
+App::$strings["Allow communications only from these sites"] = "Permetti la comunicazione solo da questi siti";
+App::$strings["One site per line. Leave empty to allow communication from anywhere by default"] = "Un sito per riga. Lascia vuoto per permettere la comunicazione con tutti";
+App::$strings["Block communications from these sites"] = "Blocca la comunicazione da questi siti";
+App::$strings["Allow communications only from these channels"] = "Permetti la comunicazione solo da questi canali";
+App::$strings["One channel (hash) per line. Leave empty to allow from any channel by default"] = "Un canale (hash) per riga. Lascia vuoto per comunicare con tutti i canali";
+App::$strings["Block communications from these channels"] = "Blocca la comunicazione da questi canali";
+App::$strings["Only allow embeds from secure (SSL) websites and links."] = "Permetti di incorporare contenuti solamente da siti sicuri (SSL).";
+App::$strings["Allow unfiltered embedded HTML content only from these domains"] = "Incorpora i contenuti HTML non filtrati solo da questi domini";
+App::$strings["One site per line. By default embedded content is filtered."] = "Un sito per riga. Normalmente i contenuti incorporati sono filtrati.";
+App::$strings["Block embedded HTML from these domains"] = "Blocca i contenuti incorporati HTML da questi domini";
+App::$strings["Site settings updated."] = "Impostazioni del sito salvate correttamente.";
+App::$strings["Default"] = "Predefinito";
+App::$strings["mobile"] = "mobile";
+App::$strings["experimental"] = "sperimentale";
+App::$strings["unsupported"] = "non supportato";
+App::$strings["No"] = "No";
+App::$strings["Yes - with approval"] = "Sì - con approvazione";
+App::$strings["Yes"] = "Sì";
+App::$strings["My site is not a public server"] = "Non è un server pubblico";
+App::$strings["My site has paid access only"] = "È un servizio a pagamento";
+App::$strings["My site has free access only"] = "È un servizio gratuito";
+App::$strings["My site offers free accounts with optional paid upgrades"] = "È un servizio gratuito con opzioni aggiuntive a pagamento";
+App::$strings["Basic/Minimal Social Networking"] = "Social network minimale";
+App::$strings["Standard Configuration (default)"] = "Configurazione standard (predefinita)";
+App::$strings["Professional"] = "Professionale";
+App::$strings["Beginner/Basic"] = "Principiante";
+App::$strings["Novice - not skilled but willing to learn"] = "Novizio - disposto a imparare";
+App::$strings["Intermediate - somewhat comfortable"] = "Intermedio - con alcune conoscenze tecniche";
+App::$strings["Advanced - very comfortable"] = "Avanzato - a mio agio con gli aspetti tecnici";
+App::$strings["Expert - I can write computer code"] = "Esperto - posso scrivere codice";
+App::$strings["Wizard - I probably know more than you do"] = "Genio - probabilmente ne so più di te!";
+App::$strings["Site"] = "Sito";
+App::$strings["Registration"] = "Registrazione";
+App::$strings["File upload"] = "Caricamento file";
+App::$strings["Policies"] = "Politiche";
+App::$strings["Advanced"] = "Avanzate";
+App::$strings["Site name"] = "Nome del sito";
+App::$strings["Server Configuration/Role"] = "Configurazione del server";
+App::$strings["Site default technical skill level"] = "Livello tecnico predefinito per gli utenti del sito";
+App::$strings["Used to provide a member experience matched to technical comfort level"] = "Utile a fornire agli utenti un livello tecnico del sito che rispetti le loro conoscenze";
+App::$strings["Lock the technical skill level setting"] = "Il livello tecnico non potrà essere modificato";
+App::$strings["Members can set their own technical comfort level by default"] = "Gli utenti possono scegliere il livello tecnico preferito";
+App::$strings["Banner/Logo"] = "Banner o logo";
+App::$strings["Administrator Information"] = "Informazioni sull'amministratore";
+App::$strings["Contact information for site administrators. Displayed on siteinfo page. BBCode can be used here"] = "Informazioni per contattare gli amministratori del sito. Saranno mostrate sulla pagina di informazioni. È consentito il BBcode";
+App::$strings["System language"] = "Lingua di sistema";
+App::$strings["System theme"] = "Tema di sistema";
+App::$strings["Default system theme - may be over-ridden by user profiles - <a href='#' id='cnftheme'>change theme settings</a>"] = "Il tema di sistema può essere cambiato dai profili dei singoli utenti - <a href='#' id='cnftheme'>Cambia le impostazioni del tema</a>";
+App::$strings["Mobile system theme"] = "Tema di sistema per dispositivi mobili";
+App::$strings["Theme for mobile devices"] = "Tema per i dispositivi mobili";
+App::$strings["Allow Feeds as Connections"] = "Permetti di aggiungere i feed come contatti";
+App::$strings["(Heavy system resource usage)"] = "(Uso intenso delle risorse di sistema!)";
+App::$strings["Maximum image size"] = "Dimensione massima immagini";
+App::$strings["Maximum size in bytes of uploaded images. Default is 0, which means no limits."] = "Massima dimensione in byte delle immagini caricate. Il default è 0, cioè nessun limite.";
+App::$strings["Does this site allow new member registration?"] = "Questo sito permette a nuovi utenti di registrarsi?";
+App::$strings["Invitation only"] = "Solo con invito";
+App::$strings["Only allow new member registrations with an invitation code. Above register policy must be set to Yes."] = "La registrazione è permessa solo a chi possiede un codice di invito. Funziona solo se la possibilità di registrarsi è impostata a 'Sì'.";
+App::$strings["Which best describes the types of account offered by this hub?"] = "Come descriveresti il tipo di servizio proposto da questo server?";
+App::$strings["Register text"] = "Testo di registrazione";
+App::$strings["Will be displayed prominently on the registration page."] = "Sarà mostrato ben visibile nella pagina di registrazione.";
+App::$strings["Site homepage to show visitors (default: login box)"] = "Homepage del sito da mostrare ai navigatori (predefinito: modulo di login)";
+App::$strings["example: 'public' to show public stream, 'page/sys/home' to show a system webpage called 'home' or 'include:home.html' to include a file."] = "esempio: 'public' per mostrare i contenuti pubblici degli utenti, 'page/sys/home' per mostrare la pagina web definita come 'home' oppure 'include:home.html' per mostrare il contenuto di un file.";
+App::$strings["Preserve site homepage URL"] = "Conserva l'URL della homepage";
+App::$strings["Present the site homepage in a frame at the original location instead of redirecting"] = "Presenta la homepage del sito in un frame all'indirizzo attuale invece di un redirect.";
+App::$strings["Accounts abandoned after x days"] = "Account abbandonati dopo X giorni";
+App::$strings["Will not waste system resources polling external sites for abandonded accounts. Enter 0 for no time limit."] = "Eviterà di sprecare risorse di sistema controllando se i siti esterni hanno account abbandonati. Immettere 0 per non imporre nessun limite di tempo.";
+App::$strings["Allowed friend domains"] = "Domini fidati e consentiti";
+App::$strings["Comma separated list of domains which are allowed to establish friendships with this site. Wildcards are accepted. Empty to allow any domains"] = "Elenco separato da virgola dei domini che possono stabilire amicizie con questo sito. Sono accettati caratteri jolly. Lascia vuoto per accettare connessioni da qualsiasi dominio.";
+App::$strings["Verify Email Addresses"] = "Verifica l'indirizzo email";
+App::$strings["Check to verify email addresses used in account registration (recommended)."] = "Attiva per richiedere la verifica degli indirizzi email dei nuovi utenti (consigliato).";
+App::$strings["Force publish"] = "Forza la publicazione del profilo";
+App::$strings["Check to force all profiles on this site to be listed in the site directory."] = "Seleziona per pubblicare sui directory server <strong>tutti</strong> i profili registrati su questo sito.";
+App::$strings["Import Public Streams"] = "Suggerisci contenuti pubblici della rete Hubzilla";
+App::$strings["Import and allow access to public content pulled from other sites. Warning: this content is unmoderated."] = "Suggerisci e visualizza i post pubblici presenti su altri siti Hubzilla. Attenzione: i contenuti potrebbero essere inappropriati perché non sottoposti a moderazione.";
+App::$strings["Login on Homepage"] = "Login sulla homepage";
+App::$strings["Present a login box to visitors on the home page if no other content has been configured."] = "Presenta il modulo di login ai visitatori sulla homepage in mancanza di altri contenuti.";
+App::$strings["Enable context help"] = "Abilita la guida contestuale";
+App::$strings["Display contextual help for the current page when the help button is pressed."] = "Quando è premuto, il bottone della guida mostra quella relativa alla pagina corrente";
+App::$strings["Directory Server URL"] = "URL del directory server";
+App::$strings["Default directory server"] = "Directory server predefinito";
+App::$strings["Proxy user"] = "Utente proxy";
+App::$strings["Proxy URL"] = "URL proxy";
+App::$strings["Network timeout"] = "Timeout rete";
+App::$strings["Value is in seconds. Set to 0 for unlimited (not recommended)."] = "Valore in secondi. Imposta a 0 per illimitato (sconsigliato).";
+App::$strings["Delivery interval"] = "Recapito ritardato";
+App::$strings["Delay background delivery processes by this many seconds to reduce system load. Recommend: 4-5 for shared hosts, 2-3 for virtual private servers. 0-1 for large dedicated servers."] = "Numero di secondi di cui può essere ritardato il recapito, per ridurre il carico di sistema. Consigliati: 4-5 secondi per hosting condiviso, 2-3 per i VPS, 0-1 per grandi server dedicati.";
+App::$strings["Deliveries per process"] = "Tentativi di recapito per processo";
+App::$strings["Number of deliveries to attempt in a single operating system process. Adjust if necessary to tune system performance. Recommend: 1-5."] = "Numero di tentativi di recapito da tentare per ciascun processo. Può essere modificato per migliorare le performance di sistema. Raccomandato: 1-5";
+App::$strings["Poll interval"] = "Intervallo di polling";
+App::$strings["Delay background polling processes by this many seconds to reduce system load. If 0, use delivery interval."] = "Numero di secondi di cui può essere ritardato il polling in background, per ridurre il carico del sistema. Se 0, verrà usato lo stesso valore del 'Recapito ritardato'.";
+App::$strings["Maximum Load Average"] = "Carico massimo medio";
+App::$strings["Maximum system load before delivery and poll processes are deferred - default 50."] = "Carico di sistema massimo perché i processi di recapito e polling siano ritardati - il valore predefinito è 50.";
+App::$strings["Expiration period in days for imported (grid/network) content"] = "Scadenza dei contenuti importati da altri siti (in giorni)";
+App::$strings["0 for no expiration of imported content"] = "0 per non avere scadenza";
+App::$strings["Theme settings updated."] = "Le impostazioni del tema sono state aggiornate.";
+App::$strings["No themes found."] = "Nessun tema trovato.";
+App::$strings["Screenshot"] = "Istantanea dello schermo";
+App::$strings["Themes"] = "Temi";
+App::$strings["[Experimental]"] = "[Sperimentale]";
+App::$strings["[Unsupported]"] = "[Non supportato]";
+App::$strings["Photos"] = "Foto";
+App::$strings["Invalid item."] = "Elemento non valido.";
+App::$strings["Channel not found."] = "Canale non trovato.";
+App::$strings["Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum."] = "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.";
+App::$strings["Save to Folder:"] = "Salva nella cartella:";
+App::$strings["- select -"] = "- scegli -";
+App::$strings["Unable to lookup recipient."] = "Impossibile associare un destinatario.";
+App::$strings["Unable to communicate with requested channel."] = "Impossibile comunicare con il canale richiesto.";
+App::$strings["Cannot verify requested channel."] = "Impossibile verificare il canale richiesto.";
+App::$strings["Selected channel has private message restrictions. Send failed."] = "Il canale ha delle regole restrittive per la ricezione dei messaggi privati. Invio fallito.";
+App::$strings["Messages"] = "Messaggi";
+App::$strings["Message recalled."] = "Messaggio revocato.";
+App::$strings["Conversation removed."] = "Conversazione rimossa.";
+App::$strings["Please enter a link URL:"] = "Inserisci l'indirizzo del link:";
+App::$strings["Expires YYYY-MM-DD HH:MM"] = "Scade il YYYY-MM-DD HH:MM";
+App::$strings["Requested channel is not in this network"] = "Il canale cercato non è in questa rete";
+App::$strings["Send Private Message"] = "Invia un messaggio privato";
+App::$strings["To:"] = "A:";
+App::$strings["Subject:"] = "Oggetto:";
+App::$strings["Your message:"] = "Il tuo messaggio:";
+App::$strings["Attach file"] = "Allega file";
+App::$strings["Insert web link"] = "Inserisci un indirizzo web";
+App::$strings["Send"] = "Invia";
+App::$strings["Set expiration date"] = "Data di scadenza";
+App::$strings["Encrypt text"] = "Cifratura del messaggio";
+App::$strings["Delete message"] = "Elimina il messaggio";
+App::$strings["Delivery report"] = "Rapporto di trasmissione";
+App::$strings["Recall message"] = "Revoca il messaggio";
+App::$strings["Message has been recalled."] = "Il messaggio è stato revocato.";
+App::$strings["Delete Conversation"] = "Elimina la conversazione";
+App::$strings["No secure communications available. You <strong>may</strong> be able to respond from the sender's profile page."] = "Non è disponibile alcun modo sicuro di comunicare con questo canale. <strong>Se possibile</strong>, prova a rispondere direttamente dalla pagina del profilo del mittente.";
+App::$strings["Send Reply"] = "Invia la risposta";
+App::$strings["Your message for %s (%s):"] = "Il tuo messaggio per %s (%s):";
+App::$strings["Blocked"] = "Bloccati";
+App::$strings["Ignored"] = "Ignorati";
+App::$strings["Hidden"] = "Nascosti";
+App::$strings["Archived"] = "Archiviati";
+App::$strings["New"] = "Novità";
+App::$strings["All"] = "Tutti";
+App::$strings["New Connections"] = "Nuovi contatti";
+App::$strings["Show pending (new) connections"] = "Richieste di contatto in attesa";
+App::$strings["All Connections"] = "Tutti i contatti";
+App::$strings["Show all connections"] = "Mostra tutti i contatti";
+App::$strings["Only show blocked connections"] = "Mostra solo i contatti bloccati";
+App::$strings["Only show ignored connections"] = "Mostra solo i contatti ignorati";
+App::$strings["Only show archived connections"] = "Mostra solo i contatti archiviati";
+App::$strings["Only show hidden connections"] = "Mostra solo i contatti nascosti";
+App::$strings["Pending approval"] = "In attesa di conferma";
+App::$strings["%1\$s [%2\$s]"] = "%1\$s [%2\$s]";
+App::$strings["Edit connection"] = "Modifica il contatto";
+App::$strings["Delete connection"] = "Elimina il contatto";
+App::$strings["Channel address"] = "Indirizzo del canale";
+App::$strings["Network"] = "Network";
+App::$strings["Status"] = "Stato";
+App::$strings["Connected"] = "In contatto";
+App::$strings["Approve connection"] = "Approva questo contatto";
+App::$strings["Ignore connection"] = "Ignora il contatto";
+App::$strings["Ignore"] = "Ignora";
+App::$strings["Recent activity"] = "Attività recenti";
+App::$strings["Connections"] = "Contatti";
+App::$strings["Search"] = "Cerca";
+App::$strings["Search your connections"] = "Cerca tra i contatti";
+App::$strings["Connections search"] = "Ricerca tra i contatti";
+App::$strings["Find"] = "Cerca";
+App::$strings["Image uploaded but image cropping failed."] = "L'immagine è stata caricata, ma il non è stato possibile ritagliarla.";
+App::$strings["Cover Photos"] = "Copertine del canale";
+App::$strings["Image resize failed."] = "Il ridimensionamento dell'immagine è fallito.";
+App::$strings["Unable to process image"] = "Impossibile elaborare l'immagine";
+App::$strings["Image upload failed."] = "Il caricamento dell'immagine è fallito.";
+App::$strings["Unable to process image."] = "Impossibile elaborare l'immagine.";
+App::$strings["female"] = "femmina";
+App::$strings["%1\$s updated her %2\$s"] = "Aggiornamento: %2\$s di %1\$s";
+App::$strings["male"] = "maschio";
+App::$strings["%1\$s updated his %2\$s"] = "Aggiornamento: %2\$s di %1\$s";
+App::$strings["%1\$s updated their %2\$s"] = "Aggiornamento: %2\$s di %1\$s";
+App::$strings["cover photo"] = "Copertina del canale";
+App::$strings["Photo not available."] = "Foto non disponibile.";
+App::$strings["Upload File:"] = "Carica un file:";
+App::$strings["Select a profile:"] = "Seleziona un profilo:";
+App::$strings["Upload Cover Photo"] = "Carica una copertina";
+App::$strings["or"] = "o";
+App::$strings["skip this step"] = "salta questo passaggio";
+App::$strings["select a photo from your photo albums"] = "seleziona una foto dai tuoi album";
+App::$strings["Crop Image"] = "Ritaglia immagine";
+App::$strings["Please adjust the image cropping for optimum viewing."] = "Ritaglia l'immagine per migliorarne la visualizzazione.";
+App::$strings["Done Editing"] = "Modifica terminata";
+App::$strings["Edit post"] = "Modifica post";
App::$strings["Could not access contact record."] = "Non è possibile accedere alle informazioni sul contatto.";
App::$strings["Could not locate selected profile."] = "Non riesco a trovare il profilo selezionato.";
App::$strings["Connection updated."] = "Contatto aggiornato.";
App::$strings["Failed to update connection record."] = "Impossibile aggiornare le informazioni del contatto.";
App::$strings["is now connected to"] = "ha come nuovo contatto";
-App::$strings["No"] = "No";
-App::$strings["Yes"] = "Sì";
App::$strings["Could not access address book record."] = "Impossibile accedere alle informazioni della rubrica.";
App::$strings["Refresh failed - channel is currently unavailable."] = "Il canale non è disponibile - impossibile aggiornare.";
App::$strings["Unable to set address book parameters."] = "Impossibile impostare i parametri della rubrica.";
@@ -89,12 +459,9 @@ App::$strings["Refresh Permissions"] = "Modifica i permessi";
App::$strings["Fetch updated permissions"] = "Guarda e modifica i permessi assegnati";
App::$strings["Recent Activity"] = "Attività recenti";
App::$strings["View recent posts and comments"] = "Leggi i post recenti e i commenti";
-App::$strings["Unblock"] = "Sblocca";
-App::$strings["Block"] = "Blocca";
App::$strings["Block (or Unblock) all communications with this connection"] = "Blocca ogni interazione con questo contatto (abilita/disabilita)";
App::$strings["This connection is blocked!"] = "Questa connessione è tra quelle bloccate!";
App::$strings["Unignore"] = "Non ignorare";
-App::$strings["Ignore"] = "Ignora";
App::$strings["Ignore (or Unignore) all inbound communications from this connection"] = "Ignora tutte le comunicazioni in arrivo da questo contatto (abilita/disabilita)";
App::$strings["This connection is ignored!"] = "Questa connessione è tra quelle ignorate!";
App::$strings["Unarchive"] = "Non archiviare";
@@ -110,7 +477,6 @@ App::$strings["Me"] = "Me";
App::$strings["Family"] = "Famiglia";
App::$strings["Friends"] = "Amici";
App::$strings["Acquaintances"] = "Conoscenti";
-App::$strings["All"] = "Tutti";
App::$strings["Approve this connection"] = "Approva questo contatto";
App::$strings["Accept connection to allow communication"] = "Entra in contatto per poter comunicare";
App::$strings["Set Affinity"] = "Scegli l'affinità";
@@ -136,7 +502,6 @@ App::$strings["Do not import posts with this text"] = "Non importare i post con
App::$strings["This information is public!"] = "Questa informazione è pubblica!";
App::$strings["Connection Pending Approval"] = "Contatti in attesa di approvazione";
App::$strings["inherited"] = "derivato";
-App::$strings["Submit"] = "Salva";
App::$strings["Please choose the profile you would like to display to %s when viewing your profile securely."] = "Seleziona il profilo che vuoi mostrare a %s dopo che ha effettuato l'accesso.";
App::$strings["Their Settings"] = "Permessi concessi a te";
App::$strings["My Settings"] = "Permessi che concedo";
@@ -144,274 +509,89 @@ App::$strings["Individual Permissions"] = "Permessi individuali";
App::$strings["Some permissions may be inherited from your channel's <a href=\"settings\"><strong>privacy settings</strong></a>, which have higher priority than individual settings. You can <strong>not</strong> change those settings here."] = "Alcuni permessi derivano dalle <a href=\"settings\"><strong>impostazioni di privacy</strong></a> del tuo canale, che hanno priorità assoluta su qualsiasi altra impostazione scelta per i singoli contatti. Da questa pagina <strong>non</strong> puoi cambiarle.";
App::$strings["Some permissions may be inherited from your channel's <a href=\"settings\"><strong>privacy settings</strong></a>, which have higher priority than individual settings. You can change those settings here but they wont have any impact unless the inherited setting changes."] = "Alcuni permessi derivano dalle <a href=\"settings\"><strong>impostazioni di privacy</strong></a> del tuo canale, che hanno priorità assoluta su qualsiasi altra impostazione scelta per i singoli contatti. Le personalizzazioni che effettuerai qui potrebbero non essere effettive a meno che tu non cambi le impostazioni generali.";
App::$strings["Last update:"] = "Ultimo aggiornamento:";
-App::$strings["Public access denied."] = "Accesso pubblico negato.";
-App::$strings["Item not found."] = "Elemento non trovato.";
-App::$strings["First Name"] = "Nome";
-App::$strings["Last Name"] = "Cognome";
-App::$strings["Nickname"] = "Nick";
-App::$strings["Full Name"] = "Nome e cognome";
-App::$strings["Email"] = "Email";
-App::$strings["Profile Photo"] = "Foto del profilo";
-App::$strings["Profile Photo 16px"] = "Foto del profilo 16px";
-App::$strings["Profile Photo 32px"] = "Foto del profilo 32px";
-App::$strings["Profile Photo 48px"] = "Foto del profilo 48px";
-App::$strings["Profile Photo 64px"] = "Foto del profilo 64px";
-App::$strings["Profile Photo 80px"] = "Foto del profilo 80px";
-App::$strings["Profile Photo 128px"] = "Foto del profilo 128px";
-App::$strings["Timezone"] = "Fuso orario";
-App::$strings["Homepage URL"] = "Indirizzo home page";
-App::$strings["Language"] = "Lingua";
-App::$strings["Birth Year"] = "Anno di nascita";
-App::$strings["Birth Month"] = "Mese di nascita";
-App::$strings["Birth Day"] = "Giorno di nascita";
-App::$strings["Birthdate"] = "Data di nascita";
-App::$strings["Gender"] = "Sesso";
-App::$strings["Male"] = "Maschio";
-App::$strings["Female"] = "Femmina";
-App::$strings["Channel added."] = "Canale aggiunto.";
-App::$strings["%d rating"] = array(
- 0 => "%d valutazione",
- 1 => "%d valutazioni",
-);
-App::$strings["Gender: "] = "Sesso:";
-App::$strings["Status: "] = "Stato:";
-App::$strings["Homepage: "] = "Homepage:";
-App::$strings["Age:"] = "Età:";
-App::$strings["Location:"] = "Luogo:";
-App::$strings["Description:"] = "Descrizione:";
-App::$strings["Hometown:"] = "Città dove vivo:";
-App::$strings["About:"] = "Informazioni:";
-App::$strings["Connect"] = "Aggiungi";
-App::$strings["Public Forum:"] = "Forum pubblico:";
-App::$strings["Keywords: "] = "Parole chiave:";
-App::$strings["Don't suggest"] = "Non fornire suggerimenti";
-App::$strings["Common connections:"] = "Contatti in comune:";
-App::$strings["Global Directory"] = "Elenchi pubblici globali";
-App::$strings["Local Directory"] = "Elenco canali su questo hub";
-App::$strings["Find"] = "Cerca";
-App::$strings["Finding:"] = "Ricerca:";
-App::$strings["Channel Suggestions"] = "Canali suggeriti";
-App::$strings["next page"] = "pagina successiva";
-App::$strings["previous page"] = "pagina precedente";
-App::$strings["Sort options"] = "Opzioni di ordinamento";
-App::$strings["Alphabetic"] = "Alfabetico";
-App::$strings["Reverse Alphabetic"] = "Alfabetico inverso";
-App::$strings["Newest to Oldest"] = "Prima i più recenti";
-App::$strings["Oldest to Newest"] = "Prima i più vecchi";
-App::$strings["No entries (some entries may be hidden)."] = "Nessun risultato (qualche elemento potrebbe essere nascosto).";
-App::$strings["Continue"] = "Continua";
-App::$strings["Premium Channel Setup"] = "Canale premium - configurazione";
-App::$strings["Enable premium channel connection restrictions"] = "Abilita le restrizioni del canale premium";
-App::$strings["Please enter your restrictions or conditions, such as paypal receipt, usage guidelines, etc."] = "Scrivi le condizioni d'uso e le restrizioni di questo canale, come per esempio le linee guida, il sistema di pagamento, ecc.";
-App::$strings["This channel may require additional steps or acknowledgement of the following conditions prior to connecting:"] = "Prima di connetterti a questo canale è necessario che tu accetti le seguenti condizioni:";
-App::$strings["Potential connections will then see the following text before proceeding:"] = "Il testo seguente comparirà a chi vorrà seguire il canale:";
-App::$strings["By continuing, I certify that I have complied with any instructions provided on this page."] = "Continuando dichiaro di aver seguito tutte le indicazioni e le istruzioni fornite in questa pagina.";
-App::$strings["(No specific instructions have been provided by the channel owner.)"] = "(Il gestore del canale non ha fornito istruzioni specifiche)";
-App::$strings["Restricted or Premium Channel"] = "Canale premium - con restrizioni";
-App::$strings["Calendar entries imported."] = "Le voci del calendario sono state importate.";
-App::$strings["No calendar entries found."] = "Non sono state trovate voci del calendario.";
-App::$strings["Event can not end before it has started."] = "Un evento non può terminare prima del suo inizio.";
-App::$strings["Unable to generate preview."] = "Impossibile creare un'anteprima.";
-App::$strings["Event title and start time are required."] = "Sono necessari il titolo e l'ora d'inizio dell'evento.";
-App::$strings["Event not found."] = "Evento non trovato.";
-App::$strings["event"] = "l'evento";
-App::$strings["Edit event title"] = "Modifica il titolo dell'evento";
-App::$strings["Event title"] = "Titolo dell'evento";
-App::$strings["Required"] = "Obbligatorio";
-App::$strings["Categories (comma-separated list)"] = "Categorie (separate da virgola)";
-App::$strings["Edit Category"] = "Modifica la categoria";
-App::$strings["Category"] = "Categoria";
-App::$strings["Edit start date and time"] = "Modifica data/ora di inizio";
-App::$strings["Start date and time"] = "Data e ora di inizio";
-App::$strings["Finish date and time are not known or not relevant"] = "La data e l'ora di fine non sono necessarie";
-App::$strings["Edit finish date and time"] = "Modifica data/ora di fine";
-App::$strings["Finish date and time"] = "Data e ora di fine";
-App::$strings["Adjust for viewer timezone"] = "Adatta al fuso orario di chi legge";
-App::$strings["Important for events that happen in a particular place. Not practical for global holidays."] = "Importante per eventi che avvengono online ma con un certo fuso orario.";
-App::$strings["Edit Description"] = "Modifica la descrizione";
-App::$strings["Description"] = "Descrizione";
-App::$strings["Edit Location"] = "Modifica il luogo";
-App::$strings["Location"] = "Posizione geografica";
-App::$strings["Share this event"] = "Condividi questo evento";
-App::$strings["Preview"] = "Anteprima";
-App::$strings["Permission settings"] = "Permessi dei tuoi contatti";
-App::$strings["Advanced Options"] = "Opzioni avanzate";
-App::$strings["l, F j"] = "l j F";
-App::$strings["Edit event"] = "Modifica l'evento";
-App::$strings["Delete event"] = "Elimina l'evento";
-App::$strings["Link to Source"] = "Link al sito d'origine";
-App::$strings["calendar"] = "calendario";
-App::$strings["Edit Event"] = "Modifica l'evento";
-App::$strings["Create Event"] = "Crea un evento";
-App::$strings["Previous"] = "Precendente";
-App::$strings["Next"] = "Successivo";
-App::$strings["Export"] = "Esporta";
-App::$strings["View"] = "Guarda";
-App::$strings["Month"] = "Mese";
-App::$strings["Week"] = "Settimana";
-App::$strings["Day"] = "Giorno";
-App::$strings["Today"] = "Oggi";
-App::$strings["Event removed"] = "Evento eliminato";
-App::$strings["Failed to remove event"] = "Impossibile eliminare l'evento";
-App::$strings["Bookmark added"] = "Segnalibro aggiunto";
-App::$strings["My Bookmarks"] = "I miei segnalibri";
-App::$strings["My Connections Bookmarks"] = "I segnalibri dei miei contatti";
App::$strings["Item not found"] = "Elemento non trovato";
-App::$strings["Item is not editable"] = "L'elemento non è modificabile";
-App::$strings["Edit post"] = "Modifica post";
-App::$strings["Photos"] = "Foto";
-App::$strings["Cancel"] = "Annulla";
-App::$strings["Invalid item."] = "Elemento non valido.";
-App::$strings["Channel not found."] = "Canale non trovato.";
-App::$strings["Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum."] = "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.";
-App::$strings["Save to Folder:"] = "Salva nella cartella:";
-App::$strings["- select -"] = "- scegli -";
-App::$strings["Save"] = "Salva";
-App::$strings["Blocked"] = "Bloccati";
-App::$strings["Ignored"] = "Ignorati";
-App::$strings["Hidden"] = "Nascosti";
-App::$strings["Archived"] = "Archiviati";
-App::$strings["New"] = "Novità";
-App::$strings["New Connections"] = "Nuovi contatti";
-App::$strings["Show pending (new) connections"] = "Richieste di contatto in attesa";
-App::$strings["All Connections"] = "Tutti i contatti";
-App::$strings["Show all connections"] = "Mostra tutti i contatti";
-App::$strings["Only show blocked connections"] = "Mostra solo i contatti bloccati";
-App::$strings["Only show ignored connections"] = "Mostra solo i contatti ignorati";
-App::$strings["Only show archived connections"] = "Mostra solo i contatti archiviati";
-App::$strings["Only show hidden connections"] = "Mostra solo i contatti nascosti";
-App::$strings["Pending approval"] = "In attesa di conferma";
-App::$strings["%1\$s [%2\$s]"] = "%1\$s [%2\$s]";
-App::$strings["Edit connection"] = "Modifica il contatto";
-App::$strings["Delete connection"] = "Elimina il contatto";
-App::$strings["Channel address"] = "Indirizzo del canale";
-App::$strings["Network"] = "Network";
-App::$strings["Status"] = "Stato";
-App::$strings["Connected"] = "In contatto";
-App::$strings["Approve connection"] = "Approva questo contatto";
-App::$strings["Approve"] = "Approva";
-App::$strings["Ignore connection"] = "Ignora il contatto";
-App::$strings["Recent activity"] = "Attività recenti";
-App::$strings["Connections"] = "Contatti";
-App::$strings["Search"] = "Cerca";
-App::$strings["Search your connections"] = "Cerca tra i contatti";
-App::$strings["Connections search"] = "Ricerca tra i contatti";
-App::$strings["Image uploaded but image cropping failed."] = "L'immagine è stata caricata, ma il non è stato possibile ritagliarla.";
-App::$strings["Cover Photos"] = "Copertine del canale";
-App::$strings["Image resize failed."] = "Il ridimensionamento dell'immagine è fallito.";
-App::$strings["Unable to process image"] = "Impossibile elaborare l'immagine";
-App::$strings["Image upload failed."] = "Il caricamento dell'immagine è fallito.";
-App::$strings["Unable to process image."] = "Impossibile elaborare l'immagine.";
-App::$strings["female"] = "femmina";
-App::$strings["%1\$s updated her %2\$s"] = "Aggiornamento: %2\$s di %1\$s";
-App::$strings["male"] = "maschio";
-App::$strings["%1\$s updated his %2\$s"] = "Aggiornamento: %2\$s di %1\$s";
-App::$strings["%1\$s updated their %2\$s"] = "Aggiornamento: %2\$s di %1\$s";
-App::$strings["cover photo"] = "Copertina del canale";
-App::$strings["Photo not available."] = "Foto non disponibile.";
-App::$strings["Upload File:"] = "Carica un file:";
-App::$strings["Select a profile:"] = "Seleziona un profilo:";
-App::$strings["Upload Cover Photo"] = "Carica una copertina";
-App::$strings["or"] = "o";
-App::$strings["skip this step"] = "salta questo passaggio";
-App::$strings["select a photo from your photo albums"] = "seleziona una foto dai tuoi album";
-App::$strings["Crop Image"] = "Ritaglia immagine";
-App::$strings["Please adjust the image cropping for optimum viewing."] = "Ritaglia l'immagine per migliorarne la visualizzazione.";
-App::$strings["Done Editing"] = "Modifica terminata";
-App::$strings["webpage"] = "pagina web";
-App::$strings["block"] = "block";
-App::$strings["layout"] = "layout";
-App::$strings["menu"] = "menu";
-App::$strings["%s element installed"] = "%s elemento installato";
-App::$strings["%s element installation failed"] = "Elementi con installazione fallita: %s";
-App::$strings["Permissions denied."] = "Permesso negato.";
-App::$strings["Import"] = "Importa";
-App::$strings["This site is not a directory server"] = "Questo non è un directory server";
-App::$strings["This directory server requires an access token"] = "Questo directory server necessita di un token di autenticazione";
-App::$strings["You must be logged in to see this page."] = "Devi aver effettuato l'accesso per vedere questa pagina.";
-App::$strings["Room not found"] = "Chat non trovata";
-App::$strings["Leave Room"] = "Lascia la chat";
-App::$strings["Delete Room"] = "Elimina questa chat";
-App::$strings["I am away right now"] = "Non sono presente";
-App::$strings["I am online"] = "Sono online";
-App::$strings["Bookmark this room"] = "Aggiungi questa chat ai segnalibri";
-App::$strings["Please enter a link URL:"] = "Inserisci l'indirizzo del link:";
-App::$strings["Encrypt text"] = "Cifratura del messaggio";
-App::$strings["Insert web link"] = "Inserisci un indirizzo web";
-App::$strings["Feature disabled."] = "Funzionalità disattivata.";
-App::$strings["New Chatroom"] = "Nuova chat";
-App::$strings["Chatroom name"] = "Nome chat";
-App::$strings["Expiration of chats (minutes)"] = "Scadenza dei messaggi della chat (minuti)";
-App::$strings["Permissions"] = "Permessi";
-App::$strings["%1\$s's Chatrooms"] = "Le chat di %1\$s";
-App::$strings["No chatrooms available"] = "Nessuna chat disponibile";
-App::$strings["Create New"] = "Crea nuova";
-App::$strings["Expiration"] = "Scadenza";
-App::$strings["min"] = "min";
-App::$strings["Invalid message"] = "Messaggio non valido";
-App::$strings["no results"] = "nessun risultato";
-App::$strings["channel sync processed"] = "sincronizzazione del canale effettuata";
-App::$strings["queued"] = "in coda";
-App::$strings["posted"] = "inviato";
-App::$strings["accepted for delivery"] = "accettato per la spedizione";
-App::$strings["updated"] = "aggiornato";
-App::$strings["update ignored"] = "aggiornamento ignorato";
-App::$strings["permission denied"] = "permessi non sufficienti";
-App::$strings["recipient not found"] = "Destinatario non trovato";
-App::$strings["mail recalled"] = "messaggio richiamato dal mittente";
-App::$strings["duplicate mail received"] = "ricevuto messaggio duplicato";
-App::$strings["mail delivered"] = "messaggio recapitato";
-App::$strings["Delivery report for %1\$s"] = "Rapporto di consegna - %1\$s";
-App::$strings["Options"] = "Opzioni";
-App::$strings["Redeliver"] = "Reinvia";
+App::$strings["Block Name"] = "Nome del block";
+App::$strings["Title (optional)"] = "Titolo (facoltativo)";
+App::$strings["Edit Block"] = "Modifica il block";
App::$strings["Layout Name"] = "Nome layout";
App::$strings["Layout Description (Optional)"] = "Descrizione del layout (facoltativa)";
App::$strings["Edit Layout"] = "Modifica il layout";
App::$strings["Page link"] = "Link alla pagina";
App::$strings["Edit Webpage"] = "Modifica la pagina web";
-App::$strings["Privacy group created."] = "Gruppo di canali creato.";
-App::$strings["Could not create privacy group."] = "Impossibile creare il gruppo di canali.";
-App::$strings["Privacy group not found."] = "Gruppo di canali non trovato.";
-App::$strings["Privacy group updated."] = "Gruppo di canali aggiornato.";
-App::$strings["Create a group of channels."] = "Crea un gruppo di canali.";
-App::$strings["Privacy group name: "] = "Nome del gruppo di canali:";
-App::$strings["Members are visible to other channels"] = "I membri potranno vedere gli altri canali del gruppo";
-App::$strings["Privacy group removed."] = "Gruppo di canali rimosso.";
-App::$strings["Unable to remove privacy group."] = "Impossibile rimuovere il gruppo di canali.";
-App::$strings["Privacy group editor"] = "Editor dei gruppi di canali";
-App::$strings["Members"] = "Membri";
-App::$strings["All Connected Channels"] = "Tutti i canali connessi";
-App::$strings["Click on a channel to add or remove."] = "Clicca su un canale per aggiungerlo o rimuoverlo.";
+App::$strings["Unable to update menu."] = "Impossibile aggiornare il menù.";
+App::$strings["Unable to create menu."] = "Impossibile creare il menù.";
+App::$strings["Menu Name"] = "Nome del menu";
+App::$strings["Unique name (not visible on webpage) - required"] = "Nome unico (non visibile sulla pagina) - obbligatorio";
+App::$strings["Menu Title"] = "Titolo del menu";
+App::$strings["Visible on webpage - leave empty for no title"] = "Visibile sulla pagina - lascia vuoto per non avere un titolo";
+App::$strings["Allow Bookmarks"] = "Permetti i segnalibri";
+App::$strings["Menu may be used to store saved bookmarks"] = "Puoi salvare i segnalibri nei menù";
+App::$strings["Submit and proceed"] = "Salva e procedi";
+App::$strings["Menus"] = "Menù";
+App::$strings["Drop"] = "Elimina";
+App::$strings["Created"] = "Creato";
+App::$strings["Edited"] = "Modificato";
+App::$strings["Bookmarks allowed"] = "Permetti segnalibri";
+App::$strings["Delete this menu"] = "Elimina questo menù";
+App::$strings["Edit menu contents"] = "Modifica i contenuti del menù";
+App::$strings["Edit this menu"] = "Modifica questo menù";
+App::$strings["Menu could not be deleted."] = "Il menù non può essere eliminato.";
+App::$strings["Menu not found."] = "Menù non trovato.";
+App::$strings["Edit Menu"] = "Modifica menù";
+App::$strings["Add or remove entries to this menu"] = "Aggiungi o rimuovi elementi di questo menù";
+App::$strings["Menu name"] = "Nome del menù";
+App::$strings["Must be unique, only seen by you"] = "Deve essere unico, lo vedrai solo tu";
+App::$strings["Menu title"] = "Titolo del menù";
+App::$strings["Menu title as seen by others"] = "Titolo del menù come comparirà a tutti";
+App::$strings["Allow bookmarks"] = "Permetti l'invio di segnalibri";
+App::$strings["Not found."] = "Non trovato.";
App::$strings["App installed."] = "App installata";
App::$strings["Malformed app."] = "L'app contiene errori";
App::$strings["Embed code"] = "Inserisci il codice";
App::$strings["Edit App"] = "Modifica app";
App::$strings["Create App"] = "Crea una app";
App::$strings["Name of app"] = "Nome app";
+App::$strings["Required"] = "Obbligatorio";
App::$strings["Location (URL) of app"] = "Indirizzo (URL) della app";
+App::$strings["Description"] = "Descrizione";
App::$strings["Photo icon URL"] = "URL icona";
App::$strings["80 x 80 pixels - optional"] = "80 x 80 pixel - facoltativa";
App::$strings["Categories (optional, comma separated list)"] = "Categorie (facoltative, lista separata da virgole)";
App::$strings["Version ID"] = "ID versione";
App::$strings["Price of app"] = "Prezzo app";
App::$strings["Location (URL) to purchase app"] = "Indirizzo (URL) per acquistare la app";
-App::$strings["Documentation Search"] = "Ricerca nella guida";
-App::$strings["Help:"] = "Guida:";
-App::$strings["Help"] = "Guida";
-App::$strings["\$Projectname Documentation"] = "Guida di \$Projectname";
+App::$strings["Public Hubs"] = "Hub pubblici";
+App::$strings["The listed hubs allow public registration for the \$Projectname network. All hubs in the network are interlinked so membership on any of them conveys membership in the network as a whole. Some hubs may require subscription or provide tiered service plans. The hub itself <strong>may</strong> provide additional details."] = "I siti elencati permettono la registrazione libera sulla rete \$Projectname. Tutti questi hub sono interconnessi, quindi essere iscritti su uno equivale a una registrazione su tutta la rete. Alcuni siti potrebbero fornire alcune funzionalità o l'intero servizio a pagamento. Per maggiori dettagli visita gli indirizzi nell'elenco.";
+App::$strings["Hub URL"] = "URL del hub";
+App::$strings["Access Type"] = "Tipo di accesso";
+App::$strings["Registration Policy"] = "Politica di registrazione";
+App::$strings["Stats"] = "Statistiche";
+App::$strings["Software"] = "Software";
+App::$strings["Ratings"] = "Valutazioni";
+App::$strings["Rate"] = "Valuta";
+App::$strings["Location"] = "Posizione geografica";
+App::$strings["View"] = "Guarda";
App::$strings["Item not available."] = "Elemento non disponibile.";
+App::$strings["Authorize application connection"] = "Autorizza la app";
+App::$strings["Return to your app and insert this Security Code:"] = "Ritorna alla tua app e inserisci questo Security Code:";
+App::$strings["Please login to continue."] = "Accedi al sito per continuare.";
+App::$strings["Do you want to authorize this application to access your posts and contacts, and/or create new posts for you?"] = "Vuoi autorizzare questa app ad accedere ai messaggi e ai contatti o creare nuovi messaggi per te?";
+App::$strings["Share content from Firefox to \$Projectname"] = "Condividi i contenuti su \$Projectname da Firefox";
+App::$strings["Activate the Firefox \$Projectname provider"] = "Attiva Firefox Share per \$Projectname";
App::$strings["Layout updated."] = "Layout aggiornato.";
+App::$strings["Feature disabled."] = "Funzionalità disattivata.";
App::$strings["Edit System Page Description"] = "Modifica i layout di sistema";
App::$strings["Layout not found."] = "Layout non trovato.";
App::$strings["Module Name:"] = "Nome del modulo:";
App::$strings["Layout Help"] = "Guida al layout";
-App::$strings["Share content from Firefox to \$Projectname"] = "Condividi i contenuti su \$Projectname da Firefox";
-App::$strings["Activate the Firefox \$Projectname provider"] = "Attiva Firefox Share per \$Projectname";
-App::$strings["network"] = "rete";
-App::$strings["RSS"] = "RSS";
+App::$strings["\$Projectname"] = "\$Projectname";
+App::$strings["Welcome to %s"] = "%s ti dà il benvenuto";
+App::$strings["Remote privacy information not available."] = "Le informazioni remote sulla privacy non sono disponibili.";
+App::$strings["Visible to:"] = "Visibile a:";
App::$strings["Permission Denied."] = "Permesso negato.";
App::$strings["File not found."] = "File non trovato.";
App::$strings["Edit file permissions"] = "Modifica i permessi del file";
+App::$strings["Permissions"] = "Permessi";
App::$strings["Set/edit permissions"] = "Modifica i permessi";
App::$strings["Include all files and sub folders"] = "Includi tutti i file e le sottocartelle";
App::$strings["Return to file list"] = "Torna all'elenco dei file";
@@ -420,13 +600,97 @@ App::$strings["Copy/paste this URL to link file from a web page"] = "Copia/incol
App::$strings["Share this file"] = "Condividi questo file";
App::$strings["Show URL to this file"] = "Mostra l'URL del file";
App::$strings["Notify your contacts about this file"] = "Notifica ai contatti che hai caricato questo file";
-App::$strings["Layouts"] = "Layout";
-App::$strings["Comanche page description language help"] = "Guida di Comanche Page Description Language";
-App::$strings["Layout Description"] = "Descrizione del layout";
-App::$strings["Created"] = "Creato";
-App::$strings["Edited"] = "Modificato";
-App::$strings["Share"] = "Condividi";
-App::$strings["Download PDL file"] = "Scarica il file PDL";
+App::$strings["Continue"] = "Continua";
+App::$strings["Premium Channel Setup"] = "Canale premium - configurazione";
+App::$strings["Enable premium channel connection restrictions"] = "Abilita le restrizioni del canale premium";
+App::$strings["Please enter your restrictions or conditions, such as paypal receipt, usage guidelines, etc."] = "Scrivi le condizioni d'uso e le restrizioni di questo canale, come per esempio le linee guida, il sistema di pagamento, ecc.";
+App::$strings["This channel may require additional steps or acknowledgement of the following conditions prior to connecting:"] = "Prima di connetterti a questo canale è necessario che tu accetti le seguenti condizioni:";
+App::$strings["Potential connections will then see the following text before proceeding:"] = "Il testo seguente comparirà a chi vorrà seguire il canale:";
+App::$strings["By continuing, I certify that I have complied with any instructions provided on this page."] = "Continuando dichiaro di aver seguito tutte le indicazioni e le istruzioni fornite in questa pagina.";
+App::$strings["(No specific instructions have been provided by the channel owner.)"] = "(Il gestore del canale non ha fornito istruzioni specifiche)";
+App::$strings["Restricted or Premium Channel"] = "Canale premium - con restrizioni";
+App::$strings["You have created %1$.0f of %2$.0f allowed channels."] = "Hai creato %1$.0f dei %2$.0f canali permessi.";
+App::$strings["Create a new channel"] = "Crea un nuovo canale";
+App::$strings["Create New"] = "Crea nuova";
+App::$strings["Channel Manager"] = "Gestione canali";
+App::$strings["Current Channel"] = "Canale attuale";
+App::$strings["Switch to one of your channels by selecting it."] = "Seleziona l'altro canale a cui vuoi passare.";
+App::$strings["Default Channel"] = "Canale predefinito";
+App::$strings["Make Default"] = "Rendi predefinito";
+App::$strings["%d new messages"] = "%d nuovi messaggi";
+App::$strings["%d new introductions"] = "%d nuove richieste di entrare in contatto";
+App::$strings["Delegated Channel"] = "Canale delegato";
+App::$strings["Privacy group created."] = "Gruppo di canali creato.";
+App::$strings["Could not create privacy group."] = "Impossibile creare il gruppo di canali.";
+App::$strings["Privacy group not found."] = "Gruppo di canali non trovato.";
+App::$strings["Privacy group updated."] = "Gruppo di canali aggiornato.";
+App::$strings["Create a group of channels."] = "Crea un gruppo di canali.";
+App::$strings["Privacy group name: "] = "Nome del gruppo di canali:";
+App::$strings["Members are visible to other channels"] = "I membri potranno vedere gli altri canali del gruppo";
+App::$strings["Privacy group removed."] = "Gruppo di canali rimosso.";
+App::$strings["Unable to remove privacy group."] = "Impossibile rimuovere il gruppo di canali.";
+App::$strings["Privacy group editor"] = "Editor dei gruppi di canali";
+App::$strings["Members"] = "Membri";
+App::$strings["All Connected Channels"] = "Tutti i canali connessi";
+App::$strings["Click on a channel to add or remove."] = "Clicca su un canale per aggiungerlo o rimuoverlo.";
+App::$strings["Invalid message"] = "Messaggio non valido";
+App::$strings["no results"] = "nessun risultato";
+App::$strings["channel sync processed"] = "sincronizzazione del canale effettuata";
+App::$strings["queued"] = "in coda";
+App::$strings["posted"] = "inviato";
+App::$strings["accepted for delivery"] = "accettato per la spedizione";
+App::$strings["updated"] = "aggiornato";
+App::$strings["update ignored"] = "aggiornamento ignorato";
+App::$strings["permission denied"] = "permessi non sufficienti";
+App::$strings["recipient not found"] = "Destinatario non trovato";
+App::$strings["mail recalled"] = "messaggio richiamato dal mittente";
+App::$strings["duplicate mail received"] = "ricevuto messaggio duplicato";
+App::$strings["mail delivered"] = "messaggio recapitato";
+App::$strings["Delivery report for %1\$s"] = "Rapporto di consegna - %1\$s";
+App::$strings["Options"] = "Opzioni";
+App::$strings["Redeliver"] = "Reinvia";
+App::$strings["webpage"] = "pagina web";
+App::$strings["block"] = "block";
+App::$strings["layout"] = "layout";
+App::$strings["menu"] = "menu";
+App::$strings["%s element installed"] = "%s elemento installato";
+App::$strings["%s element installation failed"] = "Elementi con installazione fallita: %s";
+App::$strings["Import completed"] = "Importazione completata";
+App::$strings["Import Items"] = "Importa i contenuti";
+App::$strings["Use this form to import existing posts and content from an export file."] = "Usa questa funzionalità per importare i vecchi contenuti e i post da un file esportato in precedenza.";
+App::$strings["Total invitation limit exceeded."] = "Hai superato il numero massimo di inviti.";
+App::$strings["%s : Not a valid email address."] = "%s: non è un indirizzo email valido.";
+App::$strings["Please join us on \$Projectname"] = "Unisciti a noi su \$Projectname";
+App::$strings["Invitation limit exceeded. Please contact your site administrator."] = "Hai superato il numero massimo di inviti. Contatta l'amministratore se necessario.";
+App::$strings["%s : Message delivery failed."] = "%s: la consegna del messaggio è fallita.";
+App::$strings["%d message sent."] = array(
+ 0 => "%d messaggio inviato.",
+ 1 => "%d messaggi inviati.",
+);
+App::$strings["You have no more invitations available"] = "Non hai altri inviti disponibili";
+App::$strings["Send invitations"] = "Spedisci inviti";
+App::$strings["Enter email addresses, one per line:"] = "Inserisci gli indirizzi email, uno per riga:";
+App::$strings["Please join my community on \$Projectname."] = "Entra nella mia comunità su \$Projectname.";
+App::$strings["You will need to supply this invitation code:"] = "Dovrai fornire questo codice invito:";
+App::$strings["1. Register at any \$Projectname location (they are all inter-connected)"] = "1. Registrati su qualsiasi server \$Projectname (sono tutti interconnessi)";
+App::$strings["2. Enter my \$Projectname network address into the site searchbar."] = "2. Inserisci il mio indirizzo \$Projectname nel riquadro di ricerca del sito.";
+App::$strings["or visit"] = "oppure visita";
+App::$strings["3. Click [Connect]"] = "3. Clicca su [Aggiungi]";
+App::$strings["Location not found."] = "Indirizzo non trovato.";
+App::$strings["Location lookup failed."] = "La ricerca dell'indirizzo è fallita.";
+App::$strings["Please select another location to become primary before removing the primary location."] = "Prima di rimuovere il tuo canale primario assicurati di avere scelto una sua copia (clone) come primaria.";
+App::$strings["Syncing locations"] = "Sincronizzazione tra hub";
+App::$strings["No locations found."] = "Nessun indirizzo trovato.";
+App::$strings["Manage Channel Locations"] = "Modifica gli indirizzi del canale";
+App::$strings["Primary"] = "Primario";
+App::$strings["Sync Now"] = "Sincronizza ora";
+App::$strings["Please wait several minutes between consecutive operations."] = "Si raccomanda di attendere alcuni minuti prima di effettuare una nuova sincronizzazione.";
+App::$strings["When possible, drop a location by logging into that website/hub and removing your channel."] = "Quando possibile, riduci il numero di cloni del tuo canale effettuando il login sul relativo hub e rimuovendoli.";
+App::$strings["Use this form to drop the location if the hub is no longer operating."] = "Usa questo modulo per abbandonare un canale su un hub che non è più funzionante.";
+App::$strings["Website:"] = "Sito web:";
+App::$strings["Remote Channel [%s] (not yet known on this site)"] = "Canale remoto [%s] (non ancora conosciuto da questo sito)";
+App::$strings["Rating (this information is public)"] = "Valutazione (visibile a tutti)";
+App::$strings["Optionally explain your rating (this information is public)"] = "Commento alla valutazione (facoltativo, visibile a tutti)";
App::$strings["Like/Dislike"] = "Mi piace/Non mi piace";
App::$strings["This action is restricted to members."] = "Questa funzionalità è riservata agli iscritti.";
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."] = "Per continuare devi <a href=\"rmagic\">accedere con il tuo identificativo \$Projectname</a> o <a href=\"register\">registrarti come nuovo utente \$Projectname</a>.";
@@ -437,6 +701,7 @@ App::$strings["Channel unavailable."] = "Canale non trovato.";
App::$strings["Previous action reversed."] = "Il comando precedente è stato annullato.";
App::$strings["photo"] = "la foto";
App::$strings["status"] = "il messaggio di stato";
+App::$strings["event"] = "l'evento";
App::$strings["%1\$s likes %2\$s's %3\$s"] = "A %1\$s piace %3\$s di %2\$s";
App::$strings["%1\$s doesn't like %2\$s's %3\$s"] = "A %1\$s non piace %3\$s di %2\$s";
App::$strings["%1\$s agrees with %2\$s's %3\$s"] = "%3\$s di %2\$s: %1\$s è d'accordo";
@@ -461,10 +726,10 @@ App::$strings["Dislikes"] = "Non mi piace";
App::$strings["Work/Employment"] = "Lavoro/impiego";
App::$strings["Religion"] = "Religione";
App::$strings["Political Views"] = "Orientamento politico";
+App::$strings["Gender"] = "Sesso";
App::$strings["Sexual Preference"] = "Preferenze sessuali";
App::$strings["Homepage"] = "Home page";
App::$strings["Interests"] = "Interessi";
-App::$strings["Address"] = "Indirizzo";
App::$strings["Profile updated."] = "Profilo aggiornato.";
App::$strings["Hide your connections list from viewers of this profile"] = "Nascondi la tua lista di contatti ai visitatori di questo profilo";
App::$strings["Edit Profile Details"] = "Modifica i dettagli del profilo";
@@ -498,6 +763,7 @@ App::$strings["Who (if applicable)"] = "Con chi (se possibile)";
App::$strings["Examples: cathy123, Cathy Williams, cathy@example.com"] = "Per esempio: cathy123, Cathy Williams, cathy@example.com";
App::$strings["Since (date)"] = "dal (data)";
App::$strings["Tell us about yourself"] = "Raccontaci di te...";
+App::$strings["Homepage URL"] = "Indirizzo home page";
App::$strings["Hometown"] = "Città dove vivo";
App::$strings["Political views"] = "Orientamento politico";
App::$strings["Religious views"] = "Orientamento religioso";
@@ -514,42 +780,166 @@ App::$strings["Contact information and social networks"] = "Contatti e social ne
App::$strings["My other channels"] = "I miei altri canali";
App::$strings["Profile Image"] = "Immagine del profilo";
App::$strings["Edit Profiles"] = "Modifica i tuoi profili";
-App::$strings["Your service plan only allows %d channels."] = "Il tuo account permette di creare al massimo %d canali.";
-App::$strings["Nothing to import."] = "Non c'è niente da importare.";
-App::$strings["Unable to download data from old server"] = "Impossibile importare i dati dal vecchio hub";
-App::$strings["Imported file is empty."] = "Il file da importare è vuoto.";
-App::$strings["Warning: Database versions differ by %1\$d updates."] = "Attenzione: le versioni di database differiscono di %1\$d aggiornamenti.";
-App::$strings["Cloned channel not found. Import failed."] = "Impossibile trovare il canale clonato. L'importazione è fallita.";
-App::$strings["No channel. Import failed."] = "Nessun canale. Import fallito.";
-App::$strings["Import completed."] = "L'importazione è terminata con successo.";
-App::$strings["You must be logged in to use this feature."] = "Per questa funzionalità devi aver effettuato l'accesso.";
-App::$strings["Import Channel"] = "Importa un canale";
-App::$strings["Use this form to import an existing channel from a different server/hub. You may retrieve the channel identity from the old server/hub via the network or provide an export file."] = "Usa questo modulo per importare un tuo canale da un altro hub. Puoi ottenere i dati identificativi del canale direttamente dall'altro hub oppure tramite un file esportato in precedenza.";
-App::$strings["File to Upload"] = "File da caricare";
-App::$strings["Or provide the old server/hub details"] = "Oppure fornisci i dettagli del vecchio hub";
-App::$strings["Your old identity address (xyz@example.com)"] = "Il tuo vecchio identificativo (per esempio pippo@esempio.com)";
-App::$strings["Your old login email address"] = "L'email che usavi per accedere sul vecchio hub";
-App::$strings["Your old login password"] = "La password per il vecchio hub";
-App::$strings["For either option, please choose whether to make this hub your new primary address, or whether your old location should continue this role. You will be able to post from either location, but only one can be marked as the primary location for files, photos, and media."] = "Scegli se vuoi spostare il tuo indirizzo primario su questo hub, oppure se preferisci che quello vecchio resti tale. Potrai pubblicare da entrambi i hub, ma solamente uno sarà indicato come la posizione su cui risiedono i tuoi file, foto, ecc.";
-App::$strings["Make this hub my primary location"] = "Rendi questo hub il mio indirizzo primario";
-App::$strings["Import existing posts if possible (experimental - limited by available memory"] = "Importa i contenuti pubblicati, se possibile (sperimentale)";
-App::$strings["This process may take several minutes to complete. Please submit the form only once and leave this page open until finished."] = "Questa funzione potrebbe impiegare molto tempo a terminare. Per favore lanciala *una volta sola* e resta su questa pagina finché non avrà finito.";
-App::$strings["\$Projectname"] = "\$Projectname";
-App::$strings["Welcome to %s"] = "%s ti dà il benvenuto";
-App::$strings["Unable to locate original post."] = "Impossibile trovare il messaggio originale.";
-App::$strings["Empty post discarded."] = "Il post vuoto è stato ignorato.";
-App::$strings["Executable content type not permitted to this channel."] = "I contenuti eseguibili non sono permessi su questo canale.";
-App::$strings["Duplicate post suppressed."] = "I post duplicati sono scartati.";
-App::$strings["System error. Post not saved."] = "Errore di sistema. Post non salvato.";
-App::$strings["Unable to obtain post information from database."] = "Impossibile caricare il post dal database.";
-App::$strings["You have reached your limit of %1$.0f top level posts."] = "Hai raggiunto il limite massimo di %1$.0f post sulla pagina principale.";
-App::$strings["You have reached your limit of %1$.0f webpages."] = "Hai raggiunto il limite massimo di %1$.0f pagine web.";
+App::$strings["Unable to create element."] = "Impossibile creare l'elemento.";
+App::$strings["Unable to update menu element."] = "Non è possibile aggiornare l'elemento del menù.";
+App::$strings["Unable to add menu element."] = "Impossibile aggiungere l'elemento al menù.";
+App::$strings["Menu Item Permissions"] = "Permessi del menu";
+App::$strings["(click to open/close)"] = "(clicca per aprire/chiudere)";
+App::$strings["Link Name"] = "Nome link";
+App::$strings["Link or Submenu Target"] = "Azione del link o del sottomenu";
+App::$strings["Enter URL of the link or select a menu name to create a submenu"] = "Inserisci l'indirizzo del link o scegli il nome di un sottomenu";
+App::$strings["Use magic-auth if available"] = "Usa l'autenticazione tramite il tuo hub, se disponibile";
+App::$strings["Open link in new window"] = "Apri il link in una nuova finestra";
+App::$strings["Order in list"] = "Ordine dell'elenco";
+App::$strings["Higher numbers will sink to bottom of listing"] = "I numeri più alti andranno in fondo all'elenco";
+App::$strings["Submit and finish"] = "Salva e termina";
+App::$strings["Submit and continue"] = "Salva e continua";
+App::$strings["Menu:"] = "Menu:";
+App::$strings["Link Target"] = "Destinazione link";
+App::$strings["Edit menu"] = "Modifica il menù";
+App::$strings["Edit element"] = "Modifica l'elemento";
+App::$strings["Drop element"] = "Elimina l'elemento";
+App::$strings["New element"] = "Nuovo elemento";
+App::$strings["Edit this menu container"] = "Modifica il contenitore del menù";
+App::$strings["Add menu element"] = "Aggiungi un elemento al menù";
+App::$strings["Delete this menu item"] = "Elimina questo elemento del menù";
+App::$strings["Edit this menu item"] = "Modifica questo elemento del menù";
+App::$strings["Menu item not found."] = "L'elemento del menù non è stato trovato.";
+App::$strings["Menu item deleted."] = "L'elemento del menù è stato eliminato.";
+App::$strings["Menu item could not be deleted."] = "L'elemento del menù non può essere eliminato.";
+App::$strings["Edit Menu Element"] = "Modifica l'elemento del menù";
+App::$strings["Link text"] = "Testo del link";
+App::$strings["\$Projectname Server - Setup"] = "Server \$Projectname - Installazione";
+App::$strings["Could not connect to database."] = " Impossibile connettersi al database.";
+App::$strings["Could not connect to specified site URL. Possible SSL certificate or DNS issue."] = "Non è possibile raggiungere l'indirizzo del sito specificato. Potrebbe essere un problema di SSL o DNS.";
+App::$strings["Could not create table."] = "Impossibile creare le tabelle.";
+App::$strings["Your site database has been installed."] = "Il database del sito è stato installato.";
+App::$strings["You may need to import the file \"install/schema_xxx.sql\" manually using a database client."] = "Potresti dover importare il file 'install/schema_xxx.sql' manualmente usando un client per collegarti al db.";
+App::$strings["Please see the file \"install/INSTALL.txt\"."] = "Leggi il file 'install/INSTALL.txt'.";
+App::$strings["System check"] = "Verifica del sistema";
+App::$strings["Next"] = "Successivo";
+App::$strings["Check again"] = "Verifica di nuovo";
+App::$strings["Database connection"] = "Connessione al database";
+App::$strings["In order to install \$Projectname we need to know how to connect to your database."] = "Per poter installare \$Projectname è necessario fornire i parametri di connessione al tuo database.";
+App::$strings["Please contact your hosting provider or site administrator if you have questions about these settings."] = "Contatta il tuo fornitore di hosting o l'amministratore del sito se hai domande su queste impostazioni.";
+App::$strings["The database you specify below should already exist. If it does not, please create it before continuing."] = "Il database deve già esistere. Se non esiste, crealo prima di continuare.";
+App::$strings["Database Server Name"] = "Server del database";
+App::$strings["Default is 127.0.0.1"] = "Il valore predefinito è 127.0.0.1";
+App::$strings["Database Port"] = "Port del database";
+App::$strings["Communication port number - use 0 for default"] = "Scrivi 0 per usare il valore standard";
+App::$strings["Database Login Name"] = "Utente database";
+App::$strings["Database Login Password"] = "Password database";
+App::$strings["Database Name"] = "Nome database";
+App::$strings["Database Type"] = "Tipo database";
+App::$strings["Site administrator email address"] = "Indirizzo email dell'amministratore del hub";
+App::$strings["Your account email address must match this in order to use the web admin panel."] = "Il tuo indirizzo email deve corrispondere a questo per poter usare il pannello di amministrazione di Hubzilla.";
+App::$strings["Website URL"] = "URL completo del sito";
+App::$strings["Please use SSL (https) URL if available."] = "Se disponibile, usa l'indirizzo SSL (https).";
+App::$strings["Please select a default timezone for your website"] = "Seleziona il fuso orario predefinito per il tuo hub";
+App::$strings["Site settings"] = "Impostazioni del hub";
+App::$strings["PHP version 5.5 or greater is required."] = "E' necessario PHP versione 5.5 o superiore.";
+App::$strings["PHP version"] = "Versione PHP";
+App::$strings["Could not find a command line version of PHP in the web server PATH."] = "Non è possibile trovare la versione di PHP da riga di comando nel PATH del server web";
+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."] = "Se non hai installata la versione di PHP da riga di comando non potrai attivare il polling in background tramite cron.";
+App::$strings["PHP executable path"] = "Path del comando PHP";
+App::$strings["Enter full path to php executable. You can leave this blank to continue the installation."] = "Inserisci il percorso dell'eseguibile PHP. Puoi lasciarlo vuoto per continuare l'installazione.";
+App::$strings["Command line PHP"] = "PHP da riga di comando";
+App::$strings["The command line version of PHP on your system does not have \"register_argc_argv\" enabled."] = "La versione da riga di comando di PHP nel sistema non ha abilitato \"register_argc_argv\".";
+App::$strings["This is required for message delivery to work."] = "E' necessario perché funzioni la consegna dei messaggi.";
+App::$strings["PHP register_argc_argv"] = "PHP register_argc_argv";
+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."] = "La dimensione massima di un caricamento è impostata a %s. Il singolo file non può superare %s. Ti è permesso caricare max %d file per volta.";
+App::$strings["You can adjust these settings in the servers php.ini."] = "Puoi regolare queste impostazioni sul server in php.ini";
+App::$strings["PHP upload limits"] = "Limiti PHP in upload";
+App::$strings["Error: the \"openssl_pkey_new\" function on this system is not able to generate encryption keys"] = "Errore: la funzione \"openssl_pkey_new\" su questo sistema non è in grado di generare le chiavi di cifratura";
+App::$strings["If running under Windows, please see \"http://www.php.net/manual/en/openssl.installation.php\"."] = "Se stai usando un server windows, guarda \"http://www.php.net/manual/en/openssl.installation.php\".";
+App::$strings["Generate encryption keys"] = "Genera chiavi di cifratura";
+App::$strings["libCurl PHP module"] = "modulo PHP libCurl";
+App::$strings["GD graphics PHP module"] = "modulo PHP GD graphics";
+App::$strings["OpenSSL PHP module"] = "modulo PHP OpenSSL";
+App::$strings["mysqli or postgres PHP module"] = "modulo PHP per mysqli oppure prostgres";
+App::$strings["mb_string PHP module"] = "modulo PHP mb_string";
+App::$strings["xml PHP module"] = "modulo xml PHP";
+App::$strings["Apache mod_rewrite module"] = "modulo Apache mod_rewrite";
+App::$strings["Error: Apache webserver mod-rewrite module is required but not installed."] = "Errore: il modulo mod-rewrite di Apache è richiesto ma non installato";
+App::$strings["proc_open"] = "proc_open";
+App::$strings["Error: proc_open is required but is either not installed or has been disabled in php.ini"] = "Errore: proc_open è richiesto ma non è installato o è disabilitato in php.ini";
+App::$strings["Error: libCURL PHP module required but not installed."] = "Errore: il modulo libCURL di PHP è richiesto ma non installato.";
+App::$strings["Error: GD graphics PHP module with JPEG support required but not installed."] = "Errore: Il modulo GD graphics di PHP con supporto a JPEG è richiesto ma non installato.";
+App::$strings["Error: openssl PHP module required but not installed."] = "Errore: il modulo openssl di PHP è richiesto ma non installato.";
+App::$strings["Error: mysqli or postgres PHP module required but neither are installed."] = "Errore: il modulo PHP per mysqli o postgres è richiesto ma non installato";
+App::$strings["Error: mb_string PHP module required but not installed."] = "Errore: il modulo PHP mb_string è richiesto ma non installato.";
+App::$strings["Error: xml PHP module required for DAV but not installed."] = "Errore: il modulo xml PHP è richiesto per DAV ma non è installato.";
+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."] = "L'installazione web deve poter creare un file chiamato \".htconfig.php\" nella cartella di Hubzilla ma non è in grado di farlo.";
+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."] = "Spesso ciò è dovuto ai permessi di accesso al disco: il web server potrebbe non aver diritto di scrivere il file nella cartella, anche se tu puoi.";
+App::$strings["At the end of this procedure, we will give you a text to save in a file named .htconfig.php in your Red top folder."] = "Alla fine di questa procedura ti sarà dato il testo da salvare in un file di nome .htconfig.php dentro la cartella principale di Hubzilla.";
+App::$strings["You can alternatively skip this procedure and perform a manual installation. Please see the file \"install/INSTALL.txt\" for instructions."] = "Puoi anche saltare questa procedura ed effettuare un'installazione manuale. Guarda il file 'install/INSTALL.txt' per le istruzioni.";
+App::$strings[".htconfig.php is writable"] = ".htconfig.php è scrivibile";
+App::$strings["Red uses the Smarty3 template engine to render its web views. Smarty3 compiles templates to PHP to speed up rendering."] = "Hubzilla usa il sistema Smarty3 per costruire i suoi template grafici. Smarty3 è molto veloce perché compila i template delle pagine direttamente in PHP.";
+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."] = "Per poter memorizzare questi template, il server web deve avere i diritti di scrittura sulla directory %s";
+App::$strings["Please ensure that the user that your web server runs as (e.g. www-data) has write access to this folder."] = "Assicurati che il tuo web server sia in esecuzione con un utente che ha diritto di scrittura su quella cartella (ad esempio www-data).";
+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."] = "Nota bene: come precauzione, dovresti dare i diritti di scrittura solamente su %s e non sui file template (.tpl) che contiene.";
+App::$strings["%s is writable"] = "%s è scrivibile";
+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 Red top level folder"] = "Questo software usa la cartella store per salvare i file caricati. Il server web deve avere i diritti di scrittura sulla cartella perché l'operazione avvenga con successo";
+App::$strings["store is writable"] = "l'archivio è scrivibile";
+App::$strings["SSL certificate cannot be validated. Fix certificate or disable https access to this site."] = "Il certificato SSL non può essere validato. Correggi l'errore o disabilita l'accesso https al sito.";
+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!"] = "Se abiliti https per il tuo sito o permetti connessioni TCP su port 443 (quella di https), DEVI usare un certificato riconosciuto dai browser internet. NON DEVI usare certificati self-signed generati da te!";
+App::$strings["This restriction is incorporated because public posts from you may for example contain references to images on your own hub."] = "Questa restrizione è necessaria perché i tuoi post pubblici potrebbero contenere riferimenti a immagini sul tuo server.";
+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."] = "Se il tuo certificato non è riconosciuto, gli utenti che ti seguono da altri siti (che avranno certificati validi) riceveranno gravi avvisi di sicurezza dal browser.";
+App::$strings["This can cause usability issues elsewhere (not just on your own site) so we must insist on this requirement."] = "Ciò può creare seri problemi di usabilità (non solo sul tuo sito), quindi dobbiamo insistere su questo punto.";
+App::$strings["Providers are available that issue free certificates which are browser-valid."] = "Eventualmente, considera che esistono provider che rilasciano certificati gratuiti riconosciuti dai browser.";
+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."] = "Se credi che il certificato sia valido e firmato da una authority, verifica se hai sbagliato a installare i certificati intermedi. Normalmente non sono richiesti dai browser, ma sono necessari per la comunicazione server-to-server.";
+App::$strings["SSL certificate validation"] = "Validazione del certificato SSL";
+App::$strings["Url rewrite in .htaccess is not working. Check your server configuration.Test: "] = "In .htaccess la funzionalità url rewrite non funziona. Controlla la configurazione del server. Test:";
+App::$strings["Url rewrite is working"] = "Url rewrite funziona correttamente";
+App::$strings["The database configuration file \".htconfig.php\" could not be written. Please use the enclosed text to create a configuration file in your web server root."] = "Il file di configurazione del database \".htconfig.php\" non puo' essere scritto. Usa il testo qui di seguito per creare questo file di configurazione nella cartella principale del tuo sito.";
+App::$strings["Errors encountered creating database tables."] = "La creazione delle tabelle del database ha generato errori.";
+App::$strings["<h1>What next</h1>"] = "<h1>I prossimi passi</h1>";
+App::$strings["IMPORTANT: You will need to [manually] setup a scheduled task for the poller."] = "IMPORTANTE: Devi creare [manualmente] la pianificazione del polling.";
+App::$strings["No valid account found."] = "Nessun account valido trovato.";
+App::$strings["Password reset request issued. Check your email."] = "La richiesta per reimpostare la password è stata inviata. Controlla la tua email.";
+App::$strings["Site Member (%s)"] = "Utente del sito (%s)";
+App::$strings["Password reset requested at %s"] = "È stato richiesto di reimpostare password su %s";
+App::$strings["Request could not be verified. (You may have previously submitted it.) Password reset failed."] = "La richiesta non può essere verificata (potresti averla già usata precedentemente). La password non sarà reimpostata.";
+App::$strings["Password Reset"] = "Reimposta la password";
+App::$strings["Your password has been reset as requested."] = "La password è stata reimpostata come richiesto.";
+App::$strings["Your new password is"] = "La tua nuova password è";
+App::$strings["Save or copy your new password - and then"] = "Salva o copia la tua nuova password, quindi";
+App::$strings["click here to login"] = "clicca qui per accedere";
+App::$strings["Your password may be changed from the <em>Settings</em> page after successful login."] = "Puoi cambiare la tua password dalla pagina delle <em>Impostazioni</em> dopo aver effettuato l'accesso.";
+App::$strings["Your password has changed at %s"] = "La tua password su %s è cambiata";
+App::$strings["Forgot your Password?"] = "Hai dimenticato la password?";
+App::$strings["Enter your email address and submit to have your password reset. Then check your email for further instructions."] = "Inserisci il tuo indirizzo email per reimpostare la password. Dopo aver inviato la richiesta, controlla l'email e troverai le istruzioni per continuare.";
+App::$strings["Email Address"] = "Indirizzo email";
+App::$strings["Reset"] = "Reimposta";
+App::$strings["__ctx:mood__ %1\$s is %2\$s"] = "%1\$s è %2\$s";
+App::$strings["Mood"] = "Umore";
+App::$strings["Set your current mood and tell your friends"] = "Scegli il tuo umore attuale per mostrarlo agli amici";
+App::$strings["Channel removals are not allowed within 48 hours of changing the account password."] = "Non è possibile eliminare un canale prima di 48 ore dall'ultimo cambio password.";
+App::$strings["Remove This Channel"] = "Elimina questo canale";
+App::$strings["WARNING: "] = "ATTENZIONE:";
+App::$strings["This channel will be completely removed from the network. "] = "Questo canale sarà completamente eliminato dalla rete.";
+App::$strings["This action is permanent and can not be undone!"] = "Questo comando è definitivo e non può essere annullato!";
+App::$strings["Please enter your password for verification:"] = "Inserisci la tua password per verifica:";
+App::$strings["Remove this channel and all its clones from the network"] = "Elimina questo canale e tutti i suoi cloni dalla rete";
+App::$strings["By default only the instance of the channel located on this hub will be removed from the network"] = "L'impostazione predefinita è che sia eliminata solo l'istanza del canale presente su questo hub, non gli eventuali cloni";
+App::$strings["Remove Channel"] = "Elimina questo canale";
+App::$strings["No more system notifications."] = "Non ci sono nuove notifiche di sistema.";
+App::$strings["System Notifications"] = "Notifiche di sistema";
+App::$strings["Profile Match"] = "Profili corrispondenti";
+App::$strings["No keywords to match. Please add keywords to your default profile."] = "Non hai scritto parole chiave. Aggiungi parole chiave al tuo profilo predefinito per comparire nelle ricerche.";
+App::$strings["is interested in:"] = "interessi personali:";
+App::$strings["Connect"] = "Aggiungi";
+App::$strings["No matches"] = "Nessun risultato";
+App::$strings["This site is not a directory server"] = "Questo non è un directory server";
+App::$strings["This directory server requires an access token"] = "Questo directory server necessita di un token di autenticazione";
+App::$strings["Hub not found."] = "Hub non trovato.";
App::$strings["Page owner information could not be retrieved."] = "Impossibile ottenere informazioni sul proprietario della pagina.";
App::$strings["Profile Photos"] = "Foto del profilo";
App::$strings["Album not found."] = "Album non trovato.";
App::$strings["Delete Album"] = "Elimina album";
-App::$strings["Multiple storage folders exist with this album name, but within different directories. Please remove the desired folder or folders using the Files manager"] = "Esistono più archivi con il nome di quest'album, ma dentro cartelle diverse. Per favore effettua la rimozione dall'Archivio file ";
+App::$strings["Multiple storage folders exist with this album name, but within different directories. Please remove the desired folder or folders using the Files manager"] = "Esistono più archivi con il nome di quest'album, ma dentro cartelle diverse. Per favore effettua la rimozione andando nell'Archivio file ";
App::$strings["Delete Photo"] = "Elimina foto";
+App::$strings["Public access denied."] = "Accesso pubblico negato.";
App::$strings["No photos selected"] = "Nessuna foto selezionata";
App::$strings["Access to this item is restricted."] = "Questo elemento non è visibile a tutti.";
App::$strings["%1$.2f MB of %2$.2f MB photo storage used."] = "Hai usato %1$.2f Mb dei %2$.2f Mb di spazio disponibile.";
@@ -571,11 +961,12 @@ App::$strings["Photo not available"] = "Foto non disponibile";
App::$strings["Use as profile photo"] = "Usa come foto del profilo";
App::$strings["Use as cover photo"] = "Usa come copertina del canale";
App::$strings["Private Photo"] = "Foto privata";
+App::$strings["Previous"] = "Precendente";
App::$strings["View Full Size"] = "Vedi nelle dimensioni originali";
-App::$strings["Remove"] = "Rimuovi";
App::$strings["Edit photo"] = "Modifica la foto";
App::$strings["Rotate CW (right)"] = "Ruota (senso orario)";
App::$strings["Rotate CCW (left)"] = "Ruota (senso antiorario)";
+App::$strings["Move photo to album"] = "Sposta la foto in un album";
App::$strings["Enter a new album name"] = "Inserisci il nome del nuovo album";
App::$strings["or select an existing one (doubleclick)"] = "o seleziona uno esistente (doppio click)";
App::$strings["Caption"] = "Didascalia";
@@ -584,9 +975,11 @@ App::$strings["Example: @bob, @Barbara_Jensen, @jim@example.com"] = "Esempio: @b
App::$strings["Flag as adult in album view"] = "Marca come 'per adulti'";
App::$strings["I like this (toggle)"] = "Attiva/disattiva Mi piace";
App::$strings["I don't like this (toggle)"] = "Attiva/disattiva Non mi piace";
+App::$strings["Share"] = "Condividi";
App::$strings["Please wait"] = "Attendere";
App::$strings["This is you"] = "Questo sei tu";
App::$strings["Comment"] = "Commento";
+App::$strings["Preview"] = "Anteprima";
App::$strings["__ctx:title__ Likes"] = "Mi piace";
App::$strings["__ctx:title__ Dislikes"] = "Non mi piace";
App::$strings["__ctx:title__ Agree"] = "D'accordo";
@@ -612,406 +1005,6 @@ App::$strings["__ctx:noun__ Dislikes"] = "Non mi piace";
App::$strings["Close"] = "Chiudi";
App::$strings["View Album"] = "Guarda l'album";
App::$strings["Recent Photos"] = "Foto recenti";
-App::$strings["Remote privacy information not available."] = "Le informazioni remote sulla privacy non sono disponibili.";
-App::$strings["Visible to:"] = "Visibile a:";
-App::$strings["Import completed"] = "Importazione completata";
-App::$strings["Import Items"] = "Importa i contenuti";
-App::$strings["Use this form to import existing posts and content from an export file."] = "Usa questa funzionalità per importare i vecchi contenuti e i post da un file esportato in precedenza.";
-App::$strings["Total invitation limit exceeded."] = "Hai superato il numero massimo di inviti.";
-App::$strings["%s : Not a valid email address."] = "%s: non è un indirizzo email valido.";
-App::$strings["Please join us on \$Projectname"] = "Unisciti a noi su \$Projectname";
-App::$strings["Invitation limit exceeded. Please contact your site administrator."] = "Hai superato il numero massimo di inviti. Contatta l'amministratore se necessario.";
-App::$strings["%s : Message delivery failed."] = "%s: la consegna del messaggio è fallita.";
-App::$strings["%d message sent."] = array(
- 0 => "%d messaggio inviato.",
- 1 => "%d messaggi inviati.",
-);
-App::$strings["You have no more invitations available"] = "Non hai altri inviti disponibili";
-App::$strings["Send invitations"] = "Spedisci inviti";
-App::$strings["Enter email addresses, one per line:"] = "Inserisci gli indirizzi email, uno per riga:";
-App::$strings["Your message:"] = "Il tuo messaggio:";
-App::$strings["Please join my community on \$Projectname."] = "Entra nella mia comunità su \$Projectname.";
-App::$strings["You will need to supply this invitation code:"] = "Dovrai fornire questo codice invito:";
-App::$strings["1. Register at any \$Projectname location (they are all inter-connected)"] = "1. Registrati su qualsiasi server \$Projectname (sono tutti interconnessi)";
-App::$strings["2. Enter my \$Projectname network address into the site searchbar."] = "2. Inserisci il mio indirizzo \$Projectname nel riquadro di ricerca del sito.";
-App::$strings["or visit"] = "oppure visita";
-App::$strings["3. Click [Connect]"] = "3. Clicca su [Aggiungi]";
-App::$strings["Location not found."] = "Indirizzo non trovato.";
-App::$strings["Location lookup failed."] = "La ricerca dell'indirizzo è fallita.";
-App::$strings["Please select another location to become primary before removing the primary location."] = "Prima di rimuovere il tuo canale primario assicurati di avere scelto una sua copia (clone) come primaria.";
-App::$strings["Syncing locations"] = "Sincronizzazione tra hub";
-App::$strings["No locations found."] = "Nessun indirizzo trovato.";
-App::$strings["Manage Channel Locations"] = "Modifica gli indirizzi del canale";
-App::$strings["Primary"] = "Primario";
-App::$strings["Drop"] = "Elimina";
-App::$strings["Sync Now"] = "Sincronizza ora";
-App::$strings["Please wait several minutes between consecutive operations."] = "Si raccomanda di attendere alcuni minuti prima di effettuare una nuova sincronizzazione.";
-App::$strings["When possible, drop a location by logging into that website/hub and removing your channel."] = "Quando possibile, riduci il numero di cloni del tuo canale effettuando il login sul relativo hub e rimuovendoli.";
-App::$strings["Use this form to drop the location if the hub is no longer operating."] = "Usa questo modulo per abbandonare un canale su un hub che non è più funzionante.";
-App::$strings["Hub not found."] = "Hub non trovato.";
-App::$strings["Unable to lookup recipient."] = "Impossibile associare un destinatario.";
-App::$strings["Unable to communicate with requested channel."] = "Impossibile comunicare con il canale richiesto.";
-App::$strings["Cannot verify requested channel."] = "Impossibile verificare il canale richiesto.";
-App::$strings["Selected channel has private message restrictions. Send failed."] = "Il canale ha delle regole restrittive per la ricezione dei messaggi privati. Invio fallito.";
-App::$strings["Messages"] = "Messaggi";
-App::$strings["Message recalled."] = "Messaggio revocato.";
-App::$strings["Conversation removed."] = "Conversazione rimossa.";
-App::$strings["Expires YYYY-MM-DD HH:MM"] = "Scade il YYYY-MM-DD HH:MM";
-App::$strings["Requested channel is not in this network"] = "Il canale cercato non è in questa rete";
-App::$strings["Send Private Message"] = "Invia un messaggio privato";
-App::$strings["To:"] = "A:";
-App::$strings["Subject:"] = "Oggetto:";
-App::$strings["Attach file"] = "Allega file";
-App::$strings["Send"] = "Invia";
-App::$strings["Set expiration date"] = "Data di scadenza";
-App::$strings["Delete message"] = "Elimina il messaggio";
-App::$strings["Delivery report"] = "Rapporto di trasmissione";
-App::$strings["Recall message"] = "Revoca il messaggio";
-App::$strings["Message has been recalled."] = "Il messaggio è stato revocato.";
-App::$strings["Delete Conversation"] = "Elimina la conversazione";
-App::$strings["No secure communications available. You <strong>may</strong> be able to respond from the sender's profile page."] = "Non è disponibile alcun modo sicuro di comunicare con questo canale. <strong>Se possibile</strong>, prova a rispondere direttamente dalla pagina del profilo del mittente.";
-App::$strings["Send Reply"] = "Invia la risposta";
-App::$strings["Your message for %s (%s):"] = "Il tuo messaggio per %s (%s):";
-App::$strings["You have created %1$.0f of %2$.0f allowed channels."] = "Hai creato %1$.0f dei %2$.0f canali permessi.";
-App::$strings["Create a new channel"] = "Crea un nuovo canale";
-App::$strings["Channel Manager"] = "Gestione canali";
-App::$strings["Current Channel"] = "Canale attuale";
-App::$strings["Switch to one of your channels by selecting it."] = "Seleziona l'altro canale a cui vuoi passare.";
-App::$strings["Default Channel"] = "Canale predefinito";
-App::$strings["Make Default"] = "Rendi predefinito";
-App::$strings["%d new messages"] = "%d nuovi messaggi";
-App::$strings["%d new introductions"] = "%d nuove richieste di entrare in contatto";
-App::$strings["Delegated Channel"] = "Canale delegato";
-App::$strings["Unable to update menu."] = "Impossibile aggiornare il menù.";
-App::$strings["Unable to create menu."] = "Impossibile creare il menù.";
-App::$strings["Menu Name"] = "Nome del menu";
-App::$strings["Unique name (not visible on webpage) - required"] = "Nome unico (non visibile sulla pagina) - obbligatorio";
-App::$strings["Menu Title"] = "Titolo del menu";
-App::$strings["Visible on webpage - leave empty for no title"] = "Visibile sulla pagina - lascia vuoto per non avere un titolo";
-App::$strings["Allow Bookmarks"] = "Permetti i segnalibri";
-App::$strings["Menu may be used to store saved bookmarks"] = "Puoi salvare i segnalibri nei menù";
-App::$strings["Submit and proceed"] = "Salva e procedi";
-App::$strings["Menus"] = "Menù";
-App::$strings["Bookmarks allowed"] = "Permetti segnalibri";
-App::$strings["Delete this menu"] = "Elimina questo menù";
-App::$strings["Edit menu contents"] = "Modifica i contenuti del menù";
-App::$strings["Edit this menu"] = "Modifica questo menù";
-App::$strings["Menu could not be deleted."] = "Il menù non può essere eliminato.";
-App::$strings["Menu not found."] = "Menù non trovato.";
-App::$strings["Edit Menu"] = "Modifica menù";
-App::$strings["Add or remove entries to this menu"] = "Aggiungi o rimuovi elementi di questo menù";
-App::$strings["Menu name"] = "Nome del menù";
-App::$strings["Must be unique, only seen by you"] = "Deve essere unico, lo vedrai solo tu";
-App::$strings["Menu title"] = "Titolo del menù";
-App::$strings["Menu title as seen by others"] = "Titolo del menù come comparirà a tutti";
-App::$strings["Allow bookmarks"] = "Permetti l'invio di segnalibri";
-App::$strings["Not found."] = "Non trovato.";
-App::$strings["No valid account found."] = "Nessun account valido trovato.";
-App::$strings["Password reset request issued. Check your email."] = "La richiesta per reimpostare la password è stata inviata. Controlla la tua email.";
-App::$strings["Site Member (%s)"] = "Utente del sito (%s)";
-App::$strings["Password reset requested at %s"] = "È stato richiesto di reimpostare password su %s";
-App::$strings["Request could not be verified. (You may have previously submitted it.) Password reset failed."] = "La richiesta non può essere verificata (potresti averla già usata precedentemente). La password non sarà reimpostata.";
-App::$strings["Password Reset"] = "Reimposta la password";
-App::$strings["Your password has been reset as requested."] = "La password è stata reimpostata come richiesto.";
-App::$strings["Your new password is"] = "La tua nuova password è";
-App::$strings["Save or copy your new password - and then"] = "Salva o copia la tua nuova password, quindi";
-App::$strings["click here to login"] = "clicca qui per accedere";
-App::$strings["Your password may be changed from the <em>Settings</em> page after successful login."] = "Puoi cambiare la tua password dalla pagina delle <em>Impostazioni</em> dopo aver effettuato l'accesso.";
-App::$strings["Your password has changed at %s"] = "La tua password su %s è cambiata";
-App::$strings["Forgot your Password?"] = "Hai dimenticato la password?";
-App::$strings["Enter your email address and submit to have your password reset. Then check your email for further instructions."] = "Inserisci il tuo indirizzo email per reimpostare la password. Dopo aver inviato la richiesta, controlla l'email e troverai le istruzioni per continuare.";
-App::$strings["Email Address"] = "Indirizzo email";
-App::$strings["Reset"] = "Reimposta";
-App::$strings["__ctx:mood__ %1\$s is %2\$s"] = "%1\$s è %2\$s";
-App::$strings["Mood"] = "Umore";
-App::$strings["Set your current mood and tell your friends"] = "Scegli il tuo umore attuale per mostrarlo agli amici";
-App::$strings["No such group"] = "Impossibile trovare il gruppo di canali";
-App::$strings["No such channel"] = "Canale sconosciuto";
-App::$strings["forum"] = "forum";
-App::$strings["Search Results For:"] = "Cerca risultati con:";
-App::$strings["Privacy group is empty"] = "Il gruppo di canali è vuoto";
-App::$strings["Privacy group: "] = "Gruppo di canali:";
-App::$strings["Invalid connection."] = "Contatto non valido.";
-App::$strings["No more system notifications."] = "Non ci sono nuove notifiche di sistema.";
-App::$strings["System Notifications"] = "Notifiche di sistema";
-App::$strings["Profile Match"] = "Profili corrispondenti";
-App::$strings["No keywords to match. Please add keywords to your default profile."] = "Non hai scritto parole chiave. Aggiungi parole chiave al tuo profilo predefinito per comparire nelle ricerche.";
-App::$strings["is interested in:"] = "interessi personali:";
-App::$strings["No matches"] = "Nessun risultato";
-App::$strings["Posts and comments"] = "Post e commenti";
-App::$strings["Only posts"] = "Solo post";
-App::$strings["Insufficient permissions. Request redirected to profile page."] = "Permessi insufficienti. Sarà visualizzata la pagina del profilo.";
-App::$strings["Unable to create element."] = "Impossibile creare l'elemento.";
-App::$strings["Unable to update menu element."] = "Non è possibile aggiornare l'elemento del menù.";
-App::$strings["Unable to add menu element."] = "Impossibile aggiungere l'elemento al menù.";
-App::$strings["Menu Item Permissions"] = "Permessi del menu";
-App::$strings["(click to open/close)"] = "(clicca per aprire/chiudere)";
-App::$strings["Link Name"] = "Nome link";
-App::$strings["Link or Submenu Target"] = "Azione del link o del sottomenu";
-App::$strings["Enter URL of the link or select a menu name to create a submenu"] = "Inserisci l'indirizzo del link o scegli il nome di un sottomenu";
-App::$strings["Use magic-auth if available"] = "Usa l'autenticazione tramite il tuo hub, se disponibile";
-App::$strings["Open link in new window"] = "Apri il link in una nuova finestra";
-App::$strings["Order in list"] = "Ordine dell'elenco";
-App::$strings["Higher numbers will sink to bottom of listing"] = "I numeri più alti andranno in fondo all'elenco";
-App::$strings["Submit and finish"] = "Salva e termina";
-App::$strings["Submit and continue"] = "Salva e continua";
-App::$strings["Menu:"] = "Menu:";
-App::$strings["Link Target"] = "Destinazione link";
-App::$strings["Edit menu"] = "Modifica il menù";
-App::$strings["Edit element"] = "Modifica l'elemento";
-App::$strings["Drop element"] = "Elimina l'elemento";
-App::$strings["New element"] = "Nuovo elemento";
-App::$strings["Edit this menu container"] = "Modifica il contenitore del menù";
-App::$strings["Add menu element"] = "Aggiungi un elemento al menù";
-App::$strings["Delete this menu item"] = "Elimina questo elemento del menù";
-App::$strings["Edit this menu item"] = "Modifica questo elemento del menù";
-App::$strings["Menu item not found."] = "L'elemento del menù non è stato trovato.";
-App::$strings["Menu item deleted."] = "L'elemento del menù è stato eliminato.";
-App::$strings["Menu item could not be deleted."] = "L'elemento del menù non può essere eliminato.";
-App::$strings["Edit Menu Element"] = "Modifica l'elemento del menù";
-App::$strings["Link text"] = "Testo del link";
-App::$strings["Theme settings updated."] = "Le impostazioni del tema sono state aggiornate.";
-App::$strings["# Accounts"] = "# account";
-App::$strings["# blocked accounts"] = "# account bloccati";
-App::$strings["# expired accounts"] = "# account scaduti";
-App::$strings["# expiring accounts"] = "# account in scadenza";
-App::$strings["# Channels"] = "# canali";
-App::$strings["# primary"] = "# primari";
-App::$strings["# clones"] = "# cloni";
-App::$strings["Message queues"] = "Coda messaggi in uscita";
-App::$strings["Your software should be updated"] = "Il tuo software necessita di un aggiornamento";
-App::$strings["Administration"] = "Amministrazione";
-App::$strings["Summary"] = "Riepilogo";
-App::$strings["Registered accounts"] = "Account creati";
-App::$strings["Pending registrations"] = "Registrazioni da approvare";
-App::$strings["Registered channels"] = "Canali creati";
-App::$strings["Active plugins"] = "Plugin attivi";
-App::$strings["Version"] = "Versione";
-App::$strings["Repository version (master)"] = "Versione del repository (master)";
-App::$strings["Repository version (dev)"] = "Versione del repository (dev)";
-App::$strings["Site settings updated."] = "Impostazioni del sito salvate correttamente.";
-App::$strings["Default"] = "Predefinito";
-App::$strings["mobile"] = "mobile";
-App::$strings["experimental"] = "sperimentale";
-App::$strings["unsupported"] = "non supportato";
-App::$strings["Yes - with approval"] = "Sì - con approvazione";
-App::$strings["My site is not a public server"] = "Non è un server pubblico";
-App::$strings["My site has paid access only"] = "È un servizio a pagamento";
-App::$strings["My site has free access only"] = "È un servizio gratuito";
-App::$strings["My site offers free accounts with optional paid upgrades"] = "È un servizio gratuito con opzioni aggiuntive a pagamento";
-App::$strings["Site"] = "Sito";
-App::$strings["Registration"] = "Registrazione";
-App::$strings["File upload"] = "Caricamento file";
-App::$strings["Policies"] = "Politiche";
-App::$strings["Advanced"] = "Avanzate";
-App::$strings["Site name"] = "Nome del sito";
-App::$strings["Banner/Logo"] = "Banner o logo";
-App::$strings["Administrator Information"] = "Informazioni sull'amministratore";
-App::$strings["Contact information for site administrators. Displayed on siteinfo page. BBCode can be used here"] = "Informazioni per contattare gli amministratori del sito. Saranno mostrate sulla pagina di informazioni. È consentito il BBcode";
-App::$strings["System language"] = "Lingua di sistema";
-App::$strings["System theme"] = "Tema di sistema";
-App::$strings["Default system theme - may be over-ridden by user profiles - <a href='#' id='cnftheme'>change theme settings</a>"] = "Il tema di sistema può essere cambiato dai profili dei singoli utenti - <a href='#' id='cnftheme'>Cambia le impostazioni del tema</a>";
-App::$strings["Mobile system theme"] = "Tema di sistema per dispositivi mobili";
-App::$strings["Theme for mobile devices"] = "Tema per i dispositivi mobili";
-App::$strings["Allow Feeds as Connections"] = "Permetti di aggiungere i feed come contatti";
-App::$strings["(Heavy system resource usage)"] = "(Uso intenso delle risorse di sistema!)";
-App::$strings["Maximum image size"] = "Dimensione massima immagini";
-App::$strings["Maximum size in bytes of uploaded images. Default is 0, which means no limits."] = "Massima dimensione in byte delle immagini caricate. Il default è 0, cioè nessun limite.";
-App::$strings["Does this site allow new member registration?"] = "Questo sito permette a nuovi utenti di registrarsi?";
-App::$strings["Invitation only"] = "Solo con invito";
-App::$strings["Only allow new member registrations with an invitation code. Above register policy must be set to Yes."] = "La registrazione è permessa solo a chi possiede un codice di invito. Funziona solo se la possibilità di registrarsi è impostata a 'Sì'.";
-App::$strings["Which best describes the types of account offered by this hub?"] = "Come descriveresti il tipo di servizio proposto da questo server?";
-App::$strings["Register text"] = "Testo di registrazione";
-App::$strings["Will be displayed prominently on the registration page."] = "Sarà mostrato ben visibile nella pagina di registrazione.";
-App::$strings["Site homepage to show visitors (default: login box)"] = "Homepage del sito da mostrare ai navigatori (predefinito: modulo di login)";
-App::$strings["example: 'public' to show public stream, 'page/sys/home' to show a system webpage called 'home' or 'include:home.html' to include a file."] = "esempio: 'public' per mostrare i contenuti pubblici degli utenti, 'page/sys/home' per mostrare la pagina web definita come 'home' oppure 'include:home.html' per mostrare il contenuto di un file.";
-App::$strings["Preserve site homepage URL"] = "Conserva l'URL della homepage";
-App::$strings["Present the site homepage in a frame at the original location instead of redirecting"] = "Presenta la homepage del sito in un frame all'indirizzo attuale invece di un redirect.";
-App::$strings["Accounts abandoned after x days"] = "Account abbandonati dopo X giorni";
-App::$strings["Will not waste system resources polling external sites for abandonded accounts. Enter 0 for no time limit."] = "Eviterà di sprecare risorse di sistema controllando se i siti esterni hanno account abbandonati. Immettere 0 per non imporre nessun limite di tempo.";
-App::$strings["Allowed friend domains"] = "Domini fidati e consentiti";
-App::$strings["Comma separated list of domains which are allowed to establish friendships with this site. Wildcards are accepted. Empty to allow any domains"] = "Elenco separato da virgola dei domini che possono stabilire amicizie con questo sito. Sono accettati caratteri jolly. Lascia vuoto per accettare connessioni da qualsiasi dominio.";
-App::$strings["Allowed email domains"] = "Domini email consentiti";
-App::$strings["Comma separated list of domains which are allowed in email addresses for registrations to this site. Wildcards are accepted. Empty to allow any domains"] = "Elenco separato da virgola dei domini permessi come indirizzi email in fase di registrazione. Sono accettati caratteri jolly. Lascia vuoto per accettare qualsiasi dominio email";
-App::$strings["Not allowed email domains"] = "Domini email non consentiti";
-App::$strings["Comma separated list of domains which are not allowed in email addresses for registrations to this site. Wildcards are accepted. Empty to allow any domains, unless allowed domains have been defined."] = "Elenco separato da virgola dei domini permessi come indirizzi email in fase di registrazione a questo sito. Sono accettati caratteri jolly. Lascalo vuoto per accettare qualsiasi dominio.";
-App::$strings["Verify Email Addresses"] = "Verifica l'indirizzo email";
-App::$strings["Check to verify email addresses used in account registration (recommended)."] = "Attiva per richiedere la verifica degli indirizzi email dei nuovi utenti (consigliato).";
-App::$strings["Force publish"] = "Forza la publicazione del profilo";
-App::$strings["Check to force all profiles on this site to be listed in the site directory."] = "Seleziona per pubblicare sui directory server <strong>tutti</strong> i profili registrati su questo sito.";
-App::$strings["Import Public Streams"] = "Suggerisci contenuti pubblici della rete Hubzilla";
-App::$strings["Import and allow access to public content pulled from other sites. Warning: this content is unmoderated."] = "Suggerisci e visualizza i post pubblici presenti su altri siti Hubzilla. Attenzione: i contenuti potrebbero essere inappropriati perché non sottoposti a moderazione.";
-App::$strings["Login on Homepage"] = "Login sulla homepage";
-App::$strings["Present a login box to visitors on the home page if no other content has been configured."] = "Presenta il modulo di login ai visitatori sulla homepage in mancanza di altri contenuti.";
-App::$strings["Enable context help"] = "Abilita la guida contestuale";
-App::$strings["Display contextual help for the current page when the help button is pressed."] = "Quando è premuto, il bottone della guida mostra quella relativa alla pagina corrente";
-App::$strings["Directory Server URL"] = "URL del directory server";
-App::$strings["Default directory server"] = "Directory server predefinito";
-App::$strings["Proxy user"] = "Utente proxy";
-App::$strings["Proxy URL"] = "URL proxy";
-App::$strings["Network timeout"] = "Timeout rete";
-App::$strings["Value is in seconds. Set to 0 for unlimited (not recommended)."] = "Valore in secondi. Imposta a 0 per illimitato (sconsigliato).";
-App::$strings["Delivery interval"] = "Recapito ritardato";
-App::$strings["Delay background delivery processes by this many seconds to reduce system load. Recommend: 4-5 for shared hosts, 2-3 for virtual private servers. 0-1 for large dedicated servers."] = "Numero di secondi di cui può essere ritardato il recapito, per ridurre il carico di sistema. Consigliati: 4-5 secondi per hosting condiviso, 2-3 per i VPS, 0-1 per grandi server dedicati.";
-App::$strings["Deliveries per process"] = "Tentativi di recapito per processo";
-App::$strings["Number of deliveries to attempt in a single operating system process. Adjust if necessary to tune system performance. Recommend: 1-5."] = "Numero di tentativi di recapito da tentare per ciascun processo. Può essere modificato per migliorare le performance di sistema. Raccomandato: 1-5";
-App::$strings["Poll interval"] = "Intervallo di polling";
-App::$strings["Delay background polling processes by this many seconds to reduce system load. If 0, use delivery interval."] = "Numero di secondi di cui può essere ritardato il polling in background, per ridurre il carico del sistema. Se 0, verrà usato lo stesso valore del 'Recapito ritardato'.";
-App::$strings["Maximum Load Average"] = "Carico massimo medio";
-App::$strings["Maximum system load before delivery and poll processes are deferred - default 50."] = "Carico di sistema massimo perché i processi di recapito e polling siano ritardati - il valore predefinito è 50.";
-App::$strings["Expiration period in days for imported (grid/network) content"] = "Scadenza dei contenuti importati da altri siti (in giorni)";
-App::$strings["0 for no expiration of imported content"] = "0 per non avere scadenza";
-App::$strings["Off"] = "Off";
-App::$strings["On"] = "On";
-App::$strings["Lock feature %s"] = "Rendi non modificabile %s";
-App::$strings["Manage Additional Features"] = "Funzionalità opzionali";
-App::$strings["No server found"] = "Server non trovato";
-App::$strings["ID"] = "ID";
-App::$strings["for channel"] = "per il canale";
-App::$strings["on server"] = "sul server";
-App::$strings["Server"] = "Server";
-App::$strings["By default, unfiltered HTML is allowed in embedded media. This is inherently insecure."] = "Il codice HTML degli oggetti multimediali incorporati nei post è consentito. Questo tipo di impostazione è insicura.";
-App::$strings["The recommended setting is to only allow unfiltered HTML from the following sites:"] = "L'impostazione consigliata è di permettere HTML non filtrato solo dai seguenti siti:";
-App::$strings["https://youtube.com/<br />https://www.youtube.com/<br />https://youtu.be/<br />https://vimeo.com/<br />https://soundcloud.com/<br />"] = "https://youtube.com/<br />https://www.youtube.com/<br />https://youtu.be/<br />https://vimeo.com/<br />https://soundcloud.com/<br />";
-App::$strings["All other embedded content will be filtered, <strong>unless</strong> embedded content from that site is explicitly blocked."] = "Tutti gli altri contenuti incorporati saranno filtrati <strong>a meno che</strong> il contenuto incorporato di quel sito non sia esplicitamente bloccato.";
-App::$strings["Security"] = "Sicurezza";
-App::$strings["Block public"] = "Blocca pagine pubbliche";
-App::$strings["Check to block public access to all otherwise public personal pages on this site unless you are currently authenticated."] = "Seleziona per impedire di vedere le pagine personali di questo sito a chi non ha effettuato l'accesso.";
-App::$strings["Set \"Transport Security\" HTTP header"] = "Imposta il \"Transport Security\" HTTP header";
-App::$strings["Set \"Content Security Policy\" HTTP header"] = "Imposta il \"Content Security Policy\" HTTP header";
-App::$strings["Allow communications only from these sites"] = "Permetti la comunicazione solo da questi siti";
-App::$strings["One site per line. Leave empty to allow communication from anywhere by default"] = "Un sito per riga. Lascia vuoto per permettere la comunicazione con tutti";
-App::$strings["Block communications from these sites"] = "Blocca la comunicazione da questi siti";
-App::$strings["Allow communications only from these channels"] = "Permetti la comunicazione solo da questi canali";
-App::$strings["One channel (hash) per line. Leave empty to allow from any channel by default"] = "Un canale (hash) per riga. Lascia vuoto per comunicare con tutti i canali";
-App::$strings["Block communications from these channels"] = "Blocca la comunicazione da questi canali";
-App::$strings["Only allow embeds from secure (SSL) websites and links."] = "Permetti di incorporare contenuti solamente da siti sicuri (SSL).";
-App::$strings["Allow unfiltered embedded HTML content only from these domains"] = "Incorpora i contenuti HTML non filtrati solo da questi domini";
-App::$strings["One site per line. By default embedded content is filtered."] = "Un sito per riga. Normalmente i contenuti incorporati sono filtrati.";
-App::$strings["Block embedded HTML from these domains"] = "Blocca i contenuti incorporati HTML da questi domini";
-App::$strings["Update has been marked successful"] = "L'aggiornamento è stato marcato come eseguito.";
-App::$strings["Executing %s failed. Check system logs."] = "Fallita l'esecuzione di %s. Maggiori informazioni sui log di sistema.";
-App::$strings["Update %s was successfully applied."] = "L'aggiornamento %s è terminato correttamente.";
-App::$strings["Update %s did not return a status. Unknown if it succeeded."] = "L'aggiornamento %s non ha dato risposta. Impossibile determinare se è terminato correttamente.";
-App::$strings["Update function %s could not be found."] = "Impossibile trovare la funzione di aggiornamento %s";
-App::$strings["No failed updates."] = "Nessun aggiornamento fallito.";
-App::$strings["Failed Updates"] = "Aggiornamenti falliti.";
-App::$strings["Mark success (if update was manually applied)"] = "Marca come eseguito (se applicato manualmente).";
-App::$strings["Attempt to execute this update step automatically"] = "Tenta di eseguire in automatico questo passaggio dell'aggiornamento.";
-App::$strings["Queue Statistics"] = "Statistiche della coda";
-App::$strings["Total Entries"] = "Totale";
-App::$strings["Priority"] = "Priorità";
-App::$strings["Destination URL"] = "URL di destinazione";
-App::$strings["Mark hub permanently offline"] = "Questo hub è definitivamente offline";
-App::$strings["Empty queue for this hub"] = "Svuota la coda per questo hub";
-App::$strings["Last known contact"] = "Ultimo scambio dati";
-App::$strings["%s account blocked/unblocked"] = array(
- 0 => "Modificato il blocco su %s account",
- 1 => "Modificato il blocco verso %s",
-);
-App::$strings["%s account deleted"] = array(
- 0 => "%s account eliminato",
- 1 => "%s account eliminati",
-);
-App::$strings["Account not found"] = "Account non trovato";
-App::$strings["Account '%s' deleted"] = "Account '%s' eliminato";
-App::$strings["Account '%s' blocked"] = "Aggiunto un blocco verso '%s'";
-App::$strings["Account '%s' unblocked"] = "Rimosso il blocco verso '%s'";
-App::$strings["Accounts"] = "Account";
-App::$strings["select all"] = "seleziona tutti";
-App::$strings["Registrations waiting for confirm"] = "Registrazioni in attesa di conferma";
-App::$strings["Request date"] = "Data richiesta";
-App::$strings["No registrations."] = "Nessuna registrazione.";
-App::$strings["Deny"] = "Nega";
-App::$strings["All Channels"] = "Tutti i canali";
-App::$strings["Register date"] = "Data registrazione";
-App::$strings["Last login"] = "Ultimo accesso";
-App::$strings["Expires"] = "Con scadenza";
-App::$strings["Service Class"] = "Classe dell'account";
-App::$strings["Selected accounts will be deleted!\\n\\nEverything these accounts had posted on this site will be permanently deleted!\\n\\nAre you sure?"] = "Gli account selezionati saranno eliminati!\\n\\nTutto ciò che hanno caricato o pubblicato su questo sito sarà eliminato definitivamente!\\n\\nVuoi confermare?";
-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?"] = "L'account {0} sarà eliminato!\\n\\nTutto ciò che ha caricato o pubblicato su questo sito sarà eliminato definitivamente!\\n\\nVuoi confermare?";
-App::$strings["%s channel censored/uncensored"] = array(
- 0 => "Censura modificata per %s canale",
- 1 => "Censura modificata per %s canali",
-);
-App::$strings["%s channel code allowed/disallowed"] = array(
- 0 => "%s canale permette/non permette codice nei contenuti",
- 1 => "%s canali permettono/non permettono codice nei contenuti",
-);
-App::$strings["%s channel deleted"] = array(
- 0 => "%s canale è stato rimosso",
- 1 => "%s canali sono stati rimossi",
-);
-App::$strings["Channel not found"] = "Canale non trovato";
-App::$strings["Channel '%s' deleted"] = "Il canale '%s' è stato rimosso";
-App::$strings["Channel '%s' censored"] = "Applicata una censura al canale '%s'";
-App::$strings["Channel '%s' uncensored"] = "Rimossa la censura dal canale '%s'";
-App::$strings["Channel '%s' code allowed"] = "Il canale '%s' permette codice nei contenuti";
-App::$strings["Channel '%s' code disallowed"] = "Il canale '%s' non permette codice nei contenuti";
-App::$strings["Channels"] = "Canali";
-App::$strings["Censor"] = "Applica censura";
-App::$strings["Uncensor"] = "Rimuovi censura";
-App::$strings["Allow Code"] = "Permetti codice";
-App::$strings["Disallow Code"] = "Non permettere codice";
-App::$strings["Channel"] = "Canale";
-App::$strings["UID"] = "UID";
-App::$strings["Selected channels will be deleted!\\n\\nEverything that was posted in these channels on this site will be permanently deleted!\\n\\nAre you sure?"] = "I canali selezionati saranno rimossi!\\n\\nTutto ciò che è stato pubblicato su questo server tramite questi canali sarà irreversibilmente eliminato!\\n\\nVuoi confermare?";
-App::$strings["The channel {0} will be deleted!\\n\\nEverything that was posted in this channel on this site will be permanently deleted!\\n\\nAre you sure?"] = "Il canale {0} sarà rimosso!\\n\\nTutto ciò che è stato pubblicato su questo server tramite questo canale sarà irreversibilmente eliminato!\\n\\nVuoi confermare?";
-App::$strings["Plugin %s disabled."] = "Plugin %s non attivo.";
-App::$strings["Plugin %s enabled."] = "Plugin %s attivo.";
-App::$strings["Disable"] = "Disattiva";
-App::$strings["Enable"] = "Attiva";
-App::$strings["Plugins"] = "Plugin";
-App::$strings["Toggle"] = "Attiva/disattiva";
-App::$strings["Settings"] = "Impostazioni";
-App::$strings["Author: "] = "Autore:";
-App::$strings["Maintainer: "] = "Gestore:";
-App::$strings["Minimum project version: "] = "Minima versione hubzilla";
-App::$strings["Maximum project version: "] = "Massima versione hubzilla";
-App::$strings["Minimum PHP version: "] = "Minima versione PHP:";
-App::$strings["Requires: "] = "Necessita di:";
-App::$strings["Disabled - version incompatibility"] = "Disabilitato - incompatibilità di versione";
-App::$strings["Enter the public git repository URL of the plugin repo."] = "Inserisci lo URL del repository git dei plugin.";
-App::$strings["Plugin repo git URL"] = "URL git del repository del plugin";
-App::$strings["Custom repo name"] = "Nome repository personalizzato";
-App::$strings["(optional)"] = "(facoltativo)";
-App::$strings["Download Plugin Repo"] = "Scarica il repository del plugin";
-App::$strings["Install new repo"] = "Installa un nuovo repository";
-App::$strings["Install"] = "Installa";
-App::$strings["Manage Repos"] = "Gestisci i repository";
-App::$strings["Installed Plugin Repositories"] = "Repository per i plugin installati";
-App::$strings["Install a New Plugin Repository"] = "Installa un nuovo repository per i plugin";
-App::$strings["Update"] = "Aggiorna";
-App::$strings["Switch branch"] = "Cambia branch";
-App::$strings["No themes found."] = "Nessun tema trovato.";
-App::$strings["Screenshot"] = "Istantanea dello schermo";
-App::$strings["Themes"] = "Temi";
-App::$strings["[Experimental]"] = "[Sperimentale]";
-App::$strings["[Unsupported]"] = "[Non supportato]";
-App::$strings["Log settings updated."] = "Impostazioni di log aggiornate.";
-App::$strings["Logs"] = "Log";
-App::$strings["Clear"] = "Pulisci";
-App::$strings["Debugging"] = "Debugging";
-App::$strings["Log file"] = "File di log";
-App::$strings["Must be writable by web server. Relative to your top-level webserver directory."] = "Relativo alla directory base del server web. Deve essere scrivibile.";
-App::$strings["Log level"] = "Livello di log";
-App::$strings["New Profile Field"] = "Nuovo campo del profilo";
-App::$strings["Field nickname"] = "Nome breve del campo";
-App::$strings["System name of field"] = "Nome di sistema del campo";
-App::$strings["Input type"] = "Tipo di dati";
-App::$strings["Field Name"] = "Nome del campo";
-App::$strings["Label on profile pages"] = "Etichetta da mostrare sulla pagina del profilo";
-App::$strings["Help text"] = "Testo di aiuto";
-App::$strings["Additional info (optional)"] = "Informazioni aggiuntive (facoltative)";
-App::$strings["Field definition not found"] = "Impossibile trovare la definizione del campo";
-App::$strings["Edit Profile Field"] = "Modifica campo del profilo";
-App::$strings["Profile Fields"] = "Campi del profilo";
-App::$strings["Basic Profile Fields"] = "Campi base del profilo";
-App::$strings["Advanced Profile Fields"] = "Campi avanzati del profilo";
-App::$strings["(In addition to basic fields)"] = "(In aggiunta ai campi di base)";
-App::$strings["All available fields"] = "Tutti i campi disponibili";
-App::$strings["Custom Fields"] = "Campi personalizzati";
-App::$strings["Create Custom Field"] = "Aggiungi campo personalizzato";
App::$strings["Name or caption"] = "Nome o titolo";
App::$strings["Examples: \"Bob Jameson\", \"Lisa and her Horses\", \"Soccer\", \"Aviation Group\""] = "Per esempio: \"Mario Rossi\", \"Lisa e le sue ricette\", \"Il campionato\", \"Il gruppo di escursionismo\"";
App::$strings["Choose a short nickname"] = "Scegli un nome breve";
@@ -1037,10 +1030,9 @@ App::$strings["Poke, prod or do other things to somebody"] = "Manda un poke o al
App::$strings["Recipient"] = "Destinatario";
App::$strings["Choose what you wish to do to recipient"] = "Scegli cosa vuoi inviare al destinatario";
App::$strings["Make this post private"] = "Rendi privato questo post";
+App::$strings["Apps"] = "App";
App::$strings["Unable to find your hub."] = "Impossibile raggiungere il tuo hub.";
App::$strings["Post successful."] = "Inviato!";
-App::$strings["OpenID protocol error. No ID returned."] = "Errore del protocollo OpenID. Nessun ID ricevuto in risposta.";
-App::$strings["Login failed."] = "Accesso fallito.";
App::$strings["Invalid profile identifier."] = "Indentificativo del profilo non valido.";
App::$strings["Profile Visibility Editor"] = "Modifica la visibilità del profilo";
App::$strings["Profile"] = "Profilo";
@@ -1049,7 +1041,6 @@ App::$strings["Visible To"] = "Visibile a";
App::$strings["This setting requires special processing and editing has been blocked."] = "Questa impostazione è bloccata, richiede criteri di modifica speciali";
App::$strings["Configuration Editor"] = "Editor di configurazione";
App::$strings["Warning: Changing some settings could render your channel inoperable. Please leave this page unless you are comfortable with and knowledgeable about how to correctly use this feature."] = "Attenzione: alcune delle impostazioni, se cambiate, potrebbero rendere questo canale non funzionante. Lascia questa pagina a meno che tu non sappia con assoluta certezza quali modifiche effettuare.";
-App::$strings["Fetching URL returns error: %1\$s"] = "La chiamata all'URL restituisce questo errore: %1\$s";
App::$strings["Version %s"] = "Versione %s";
App::$strings["Installed plugins/addons/apps:"] = "App e componenti installati:";
App::$strings["No installed plugins/addons/apps"] = "Nessuna app o componente installato";
@@ -1063,44 +1054,47 @@ App::$strings["Bug reports and issues: please visit"] = "Per segnalare bug e pro
App::$strings["\$projectname issues"] = "Problematiche note su \$projectname";
App::$strings["Suggestions, praise, etc. - please email \"redmatrix\" at librelist - dot com"] = "Per consigli, ringraziamenti, ecc. - scrivi a \"redmatrix\" at librelist - dot com";
App::$strings["Site Administrators"] = "Amministratori del sito";
-App::$strings["We encountered a problem while logging in with the OpenID you provided. Please check the correct spelling of the ID."] = "Non è possibile effettuare login con l'OpenID che hai fornito. Per favore controlla che sia scritto correttamente.";
-App::$strings["The error message was:"] = "Messaggio di errore ricevuto:";
-App::$strings["Authentication failed."] = "Autenticazione fallita.";
-App::$strings["Remote Authentication"] = "Accedi tramite il tuo hub";
-App::$strings["Enter your channel address (e.g. channel@example.com)"] = "Inserisci l'indirizzo del tuo canale (ad esempio lucia@esempio.com)";
-App::$strings["Authenticate"] = "Accedi";
-App::$strings["Public Hubs"] = "Hub pubblici";
-App::$strings["The listed hubs allow public registration for the \$Projectname network. All hubs in the network are interlinked so membership on any of them conveys membership in the network as a whole. Some hubs may require subscription or provide tiered service plans. The hub itself <strong>may</strong> provide additional details."] = "I siti elencati permettono la registrazione libera sulla rete \$Projectname. Tutti questi hub sono interconnessi, quindi essere iscritti su uno equivale a una registrazione su tutta la rete. Alcuni siti potrebbero richiedere un abbonamento o dei servizi a pagamento. Per maggiori dettagli visita gli indirizzi nell'elenco.";
-App::$strings["Hub URL"] = "URL del hub";
-App::$strings["Access Type"] = "Tipo di accesso";
-App::$strings["Registration Policy"] = "Politica di registrazione";
-App::$strings["Stats"] = "Statistiche";
-App::$strings["Software"] = "Software";
-App::$strings["Ratings"] = "Valutazioni";
-App::$strings["Rate"] = "Valuta";
-App::$strings["Shift-reload the page or clear browser cache if the new photo does not display immediately."] = "Forza l'aggiornamento della pagina o cancella la cache del browser se la nuova foto non viene visualizzata immediatamente.";
-App::$strings["Upload Profile Photo"] = "Carica la foto del profilo";
-App::$strings["Block Name"] = "Nome del block";
App::$strings["Blocks"] = "Block";
App::$strings["Block Title"] = "Titolo del block";
-App::$strings["Website:"] = "Sito web:";
-App::$strings["Remote Channel [%s] (not yet known on this site)"] = "Canale remoto [%s] (non ancora conosciuto da questo sito)";
-App::$strings["Rating (this information is public)"] = "Valutazione (visibile a tutti)";
-App::$strings["Optionally explain your rating (this information is public)"] = "Commento alla valutazione (facoltativo, visibile a tutti)";
+App::$strings["Layouts"] = "Layout";
+App::$strings["Help"] = "Guida";
+App::$strings["Comanche page description language help"] = "Guida di Comanche Page Description Language";
+App::$strings["Layout Description"] = "Descrizione del layout";
+App::$strings["Download PDL file"] = "Scarica il file PDL";
+App::$strings["# Accounts"] = "# account";
+App::$strings["# blocked accounts"] = "# account bloccati";
+App::$strings["# expired accounts"] = "# account scaduti";
+App::$strings["# expiring accounts"] = "# account in scadenza";
+App::$strings["# Channels"] = "# canali";
+App::$strings["# primary"] = "# primari";
+App::$strings["# clones"] = "# cloni";
+App::$strings["Message queues"] = "Coda messaggi in uscita";
+App::$strings["Your software should be updated"] = "Il tuo software necessita di un aggiornamento";
+App::$strings["Summary"] = "Riepilogo";
+App::$strings["Registered accounts"] = "Account creati";
+App::$strings["Pending registrations"] = "Registrazioni da approvare";
+App::$strings["Registered channels"] = "Canali creati";
+App::$strings["Active plugins"] = "Plugin attivi";
+App::$strings["Version"] = "Versione";
+App::$strings["Repository version (master)"] = "Versione del repository (master)";
+App::$strings["Repository version (dev)"] = "Versione del repository (dev)";
+App::$strings["Shift-reload the page or clear browser cache if the new photo does not display immediately."] = "Forza l'aggiornamento della pagina o cancella la cache del browser se la nuova foto non viene visualizzata immediatamente.";
+App::$strings["Upload Profile Photo"] = "Carica la foto del profilo";
+App::$strings["Permissions denied."] = "Permesso negato.";
+App::$strings["l, F j"] = "l j F";
+App::$strings["Link to Source"] = "Link al sito d'origine";
+App::$strings["Edit Event"] = "Modifica l'evento";
+App::$strings["Create Event"] = "Crea un evento";
+App::$strings["Export"] = "Esporta";
+App::$strings["Import"] = "Importa";
+App::$strings["Today"] = "Oggi";
+App::$strings["No channel."] = "Nessun canale.";
+App::$strings["Common connections"] = "Contatti in comune";
+App::$strings["No connections in common."] = "Nessun contatto in comune.";
App::$strings["No ratings"] = "Nessuna valutazione";
App::$strings["Rating: "] = "Valutazione:";
App::$strings["Website: "] = "Sito web:";
App::$strings["Description: "] = "Descrizione:";
-App::$strings["Apps"] = "App";
-App::$strings["Title (optional)"] = "Titolo (facoltativo)";
-App::$strings["Edit Block"] = "Modifica il block";
-App::$strings["No channel."] = "Nessun canale.";
-App::$strings["Common connections"] = "Contatti in comune";
-App::$strings["No connections in common."] = "Nessun contatto in comune.";
-App::$strings["Select a bookmark folder"] = "Scegli una cartella di segnalibri";
-App::$strings["Save Bookmark"] = "Salva segnalibro";
-App::$strings["URL of bookmark"] = "URL del segnalibro";
-App::$strings["Or enter new bookmark folder name"] = "O inserisci il nome di una nuova cartella di segnalibri";
App::$strings["Maximum daily site registrations exceeded. Please try again tomorrow."] = "È stato superato il numero massimo giornaliero di registrazioni a questo sito. Riprova domani!";
App::$strings["Please indicate acceptance of the Terms of Service. Registration failed."] = "Impossibile proseguire. Devi prima accettare le Condizioni d'Uso del servizio.";
App::$strings["Passwords do not match."] = "Le password non corrispondono.";
@@ -1122,23 +1116,37 @@ App::$strings["no"] = "no";
App::$strings["yes"] = "sì";
App::$strings["Membership on this site is by invitation only."] = "Per registrarsi su questo hub è necessario un invito.";
App::$strings["Register"] = "Registrati";
-App::$strings["This site may require email verification after submitting this form. If you are returned to a login page, please check your email for instructions."] = "Dopo aver inviato questo modulo, potrebbe esserti richiesta una verifica via email. Se ti sarà mostrata la pagina di login, segui le istruzioni sull'email per continuare.";
+App::$strings["This site may require email verification after submitting this form. If you are returned to a login page, please check your email for instructions."] = "Dopo aver inviato questo modulo, potrebbe esserti richiesta una verifica via email. Se comparirà la pagina di login, segui le istruzioni sull'email per continuare.";
+App::$strings["Documentation Search"] = "Ricerca nella guida";
+App::$strings["\$Projectname Documentation"] = "Guida di \$Projectname";
+App::$strings["Select a bookmark folder"] = "Scegli una cartella di segnalibri";
+App::$strings["Save Bookmark"] = "Salva segnalibro";
+App::$strings["URL of bookmark"] = "URL del segnalibro";
+App::$strings["Or enter new bookmark folder name"] = "O inserisci il nome di una nuova cartella di segnalibri";
+App::$strings["Authentication failed."] = "Autenticazione fallita.";
+App::$strings["Remote Authentication"] = "Accedi tramite il tuo hub";
+App::$strings["Enter your channel address (e.g. channel@example.com)"] = "Inserisci l'indirizzo del tuo canale (ad esempio lucia@esempio.com)";
+App::$strings["Authenticate"] = "Accedi";
App::$strings["Please login."] = "Effettua l'accesso.";
App::$strings["Account removals are not allowed within 48 hours of changing the account password."] = "Non è possibile eliminare il tuo account prima di 48 ore dall'ultimo cambio password.";
App::$strings["Remove This Account"] = "Elimina questo account";
-App::$strings["WARNING: "] = "ATTENZIONE:";
App::$strings["This account and all its channels will be completely removed from the network. "] = "Questo account e tutti i suoi canali saranno completamente eliminati dalla rete.";
-App::$strings["This action is permanent and can not be undone!"] = "Questo comando è definitivo e non può essere annullato!";
-App::$strings["Please enter your password for verification:"] = "Inserisci la tua password per verifica:";
App::$strings["Remove this account, all its channels and all its channel clones from the network"] = "Elimina dalla rete questo account, tutti i suoi canali e ANCHE tutti gli eventuali canali clonati.";
App::$strings["By default only the instances of the channels located on this hub will be removed from the network"] = "A meno che tu non lo richieda espressamente, solo i canali presenti su questo hub saranno rimossi dalla rete.";
App::$strings["Remove Account"] = "Elimina l'account";
-App::$strings["Channel removals are not allowed within 48 hours of changing the account password."] = "Non è possibile eliminare un canale prima di 48 ore dall'ultimo cambio password.";
-App::$strings["Remove This Channel"] = "Elimina questo canale";
-App::$strings["This channel will be completely removed from the network. "] = "Questo canale sarà completamente eliminato dalla rete.";
-App::$strings["Remove this channel and all its clones from the network"] = "Elimina questo canale e tutti i suoi cloni dalla rete";
-App::$strings["By default only the instance of the channel located on this hub will be removed from the network"] = "L'impostazione predefinita è che sia eliminata solo l'istanza del canale presente su questo hub, non gli eventuali cloni";
-App::$strings["Remove Channel"] = "Elimina questo canale";
+App::$strings["Import Webpage Elements"] = "Importa gli elementi della pagina web";
+App::$strings["Import selected"] = "Importa i selezionati";
+App::$strings["Export Webpage Elements"] = "Esporta gli elementi della pagina web";
+App::$strings["Export selected"] = "Esporta i selezionati";
+App::$strings["Webpages"] = "Pagine web";
+App::$strings["Actions"] = "Azioni";
+App::$strings["Page Link"] = "Link alla pagina";
+App::$strings["Page Title"] = "Titolo della pagina";
+App::$strings["Invalid file type."] = "Tipo di file non valido.";
+App::$strings["Error opening zip file"] = "Errore nell'apertura del file zip";
+App::$strings["Invalid folder path."] = "La cartella indicata non è valida.";
+App::$strings["No webpage elements detected."] = "Nella pagina web non sono presenti elementi.";
+App::$strings["Import complete."] = "Importazione completata.";
App::$strings["Export Channel"] = "Esporta il canale";
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."] = "Esporta le informazioni di base del canale in un file. In pratica è un salvataggio delle tue connessioni, dei permessi che hai assegnato e del tuo profilo che così potrà essere importato su un altro server/hub. Il file non includerà i tuoi post e altri contenuti che hai creato o caricato.";
App::$strings["Export Content"] = "Esporta i contenuti";
@@ -1148,78 +1156,180 @@ App::$strings["You may also export your posts and conversations for a particular
App::$strings["To select all posts for a given year, such as this year, visit <a href=\"%1\$s\">%2\$s</a>"] = "Per selezionare tutti i post di un anno, come per esempio quello in corso, visita <a href=\"%1\$s\">%2\$s</a> ";
App::$strings["To select all posts for a given month, such as January of this year, visit <a href=\"%1\$s\">%2\$s</a>"] = "Per selezionare tutti post di un dato mese, come per esempio gennaio di quest'anno, visita <a href=\"%1\$s\">%2\$s</a>";
App::$strings["These content files may be imported or restored by visiting <a href=\"%1\$s\">%2\$s</a> on any site containing your channel. For best results please import or restore these in date order (oldest first)."] = "Questi contenuti potranno essere importati o ripristinati visitando <a href=\"%1\$s\">%2\$s</a> su qualsiasi sito/hub dove è presente il tuo canale. Per mantenere l'ordinamento originale fai attenzione ad importare i file secondo la data (prima il più vecchio)";
+App::$strings["Item is not editable"] = "L'elemento non è modificabile";
App::$strings["Items tagged with: %s"] = "Elementi taggati con: %s";
App::$strings["Search results for: %s"] = "Risultati ricerca: %s";
+App::$strings["Calendar entries imported."] = "Le voci del calendario sono state importate.";
+App::$strings["No calendar entries found."] = "Non sono state trovate voci del calendario.";
+App::$strings["Event can not end before it has started."] = "Un evento non può terminare prima del suo inizio.";
+App::$strings["Unable to generate preview."] = "Impossibile creare un'anteprima.";
+App::$strings["Event title and start time are required."] = "Sono necessari il titolo e l'ora d'inizio dell'evento.";
+App::$strings["Event not found."] = "Evento non trovato.";
+App::$strings["Edit event title"] = "Modifica il titolo dell'evento";
+App::$strings["Event title"] = "Titolo dell'evento";
+App::$strings["Categories (comma-separated list)"] = "Categorie (separate da virgola)";
+App::$strings["Edit Category"] = "Modifica la categoria";
+App::$strings["Category"] = "Categoria";
+App::$strings["Edit start date and time"] = "Modifica data/ora di inizio";
+App::$strings["Start date and time"] = "Data e ora di inizio";
+App::$strings["Finish date and time are not known or not relevant"] = "La data e l'ora di fine non sono necessarie";
+App::$strings["Edit finish date and time"] = "Modifica data/ora di fine";
+App::$strings["Finish date and time"] = "Data e ora di fine";
+App::$strings["Adjust for viewer timezone"] = "Adatta al fuso orario di chi legge";
+App::$strings["Important for events that happen in a particular place. Not practical for global holidays."] = "Importante per eventi che avvengono online ma con un certo fuso orario.";
+App::$strings["Edit Description"] = "Modifica la descrizione";
+App::$strings["Edit Location"] = "Modifica il luogo";
+App::$strings["Share this event"] = "Condividi questo evento";
+App::$strings["Permission settings"] = "Permessi dei tuoi contatti";
+App::$strings["Advanced Options"] = "Opzioni avanzate";
+App::$strings["Edit event"] = "Modifica l'evento";
+App::$strings["Delete event"] = "Elimina l'evento";
+App::$strings["calendar"] = "calendario";
+App::$strings["Month"] = "Mese";
+App::$strings["Week"] = "Settimana";
+App::$strings["Day"] = "Giorno";
+App::$strings["Event removed"] = "Evento eliminato";
+App::$strings["Failed to remove event"] = "Impossibile eliminare l'evento";
App::$strings["No service class restrictions found."] = "Non esistono restrizioni su questa classe di account.";
-App::$strings["Name is required"] = "Il nome è obbligatorio";
-App::$strings["Key and Secret are required"] = "Key e Secret sono richiesti";
-App::$strings["This channel is limited to %d tokens"] = "Questo canale è limitato a %d token";
-App::$strings["Name and Password are required."] = "Nome e password sono obbligatori.";
-App::$strings["Token saved."] = "Token salvato.";
+App::$strings["Thing updated"] = "L'oggetto è stato aggiornato";
+App::$strings["Object store: failed"] = "Impossibile memorizzare l'oggetto.";
+App::$strings["Thing added"] = "L'Oggetto è stato aggiunto";
+App::$strings["OBJ: %1\$s %2\$s %3\$s"] = "OBJ: %1\$s %2\$s %3\$s";
+App::$strings["Show Thing"] = "Mostra l'oggetto";
+App::$strings["item not found."] = "non trovato.";
+App::$strings["Edit Thing"] = "Modifica l'oggetto";
+App::$strings["Select a profile"] = "Scegli un profilo";
+App::$strings["Post an activity"] = "Pubblica un'attività";
+App::$strings["Only sends to viewers of the applicable profile"] = "Invia solo a chi può vedere il profilo scelto";
+App::$strings["Name of thing e.g. something"] = "Nome dell'oggetto";
+App::$strings["URL of thing (optional)"] = "Indirizzo web dell'oggetto (facoltativo)";
+App::$strings["URL for photo of thing (optional)"] = "Indirizzo di un'immagine dell'oggetto (facoltativo)";
+App::$strings["Add Thing to your Profile"] = "Aggiungi l'oggetto al tuo profilo";
+App::$strings["Unable to locate original post."] = "Impossibile trovare il messaggio originale.";
+App::$strings["Empty post discarded."] = "Il post vuoto è stato ignorato.";
+App::$strings["Executable content type not permitted to this channel."] = "I contenuti eseguibili non sono permessi su questo canale.";
+App::$strings["Duplicate post suppressed."] = "I post duplicati sono scartati.";
+App::$strings["System error. Post not saved."] = "Errore di sistema. Post non salvato.";
+App::$strings["Unable to obtain post information from database."] = "Impossibile caricare il post dal database.";
+App::$strings["You have reached your limit of %1$.0f top level posts."] = "Hai raggiunto il limite massimo di %1$.0f post sulla pagina principale.";
+App::$strings["You have reached your limit of %1$.0f webpages."] = "Hai raggiunto il limite massimo di %1$.0f pagine web.";
+App::$strings["Files: shared with me"] = "File: condivisi con me";
+App::$strings["NEW"] = "NOVITÀ";
+App::$strings["Remove all files"] = "Elimina tutti i file";
+App::$strings["Remove this file"] = "Elimina questo file";
+App::$strings["Not found"] = "Non trovato";
+App::$strings["Wiki"] = "Wiki";
+App::$strings["Sandbox"] = "Sandbox";
+App::$strings["\"# Wiki Sandbox\\n\\nContent you **edit** and **preview** here *will not be saved*.\""] = "\"# Wiki Sandbox\\n\\nI contenuti che **modifichi** e che vedi in **anteprima** qui *non saranno salvati*.\"";
+App::$strings["Revision Comparison"] = "Confronto tra revisioni";
+App::$strings["Revert"] = "Ripristina";
+App::$strings["Enter the name of your new wiki:"] = "Nome della tua nuova pagina wiki:";
+App::$strings["Enter the name of the new page:"] = "Nome della tua nuova pagina:";
+App::$strings["Enter the new name:"] = "Nuovo nome:";
+App::$strings["Embed image from photo albums"] = "Inserisci un'immagine dall'album foto";
+App::$strings["Embed an image from your albums"] = "Inserisci un'immagine dai tuoi album";
+App::$strings["OK"] = "OK";
+App::$strings["Choose images to embed"] = "Scegli le immagini da inserire";
+App::$strings["Choose an album"] = "Scegli un album";
+App::$strings["Choose a different album..."] = "Scegli un altro album...";
+App::$strings["Error getting album list"] = "Errore nell'ottenere l'elenco degli album";
+App::$strings["Error getting photo link"] = "Errore nell'ottenere il link alla foto";
+App::$strings["Error getting album"] = "Errore nell'ottenere l'album";
+App::$strings["Failed to create source. No channel selected."] = "Impossibile creare la sorgente. Nessun canale selezionato.";
+App::$strings["Source created."] = "Sorgente creata.";
+App::$strings["Source updated."] = "Sorgente aggiornata.";
+App::$strings["*"] = "*";
+App::$strings["Channel Sources"] = "Sorgenti del canale";
+App::$strings["Manage remote sources of content for your channel."] = "Gestisci le sorgenti dei contenuti del tuo canale.";
+App::$strings["New Source"] = "Nuova sorgente";
+App::$strings["Import all or selected content from the following channel into this channel and distribute it according to your channel settings."] = "Importa nel tuo canale tutti o una parte dei contenuti dal canale seguente.";
+App::$strings["Only import content with these words (one per line)"] = "Importa solo i contenuti che hanno queste parole (una per riga)";
+App::$strings["Leave blank to import all public content"] = "Lascia vuoto per importare tutti i contenuti pubblici";
+App::$strings["Channel Name"] = "Nome del canale";
+App::$strings["Add the following categories to posts imported from this source (comma separated)"] = "Aggiungi le seguenti categorie ai post importati da questa sorgente (separate da virgola)";
+App::$strings["Optional"] = "Facoltativo";
+App::$strings["Source not found."] = "Sorgente non trovata.";
+App::$strings["Edit Source"] = "Modifica la sorgente";
+App::$strings["Delete Source"] = "Elimina la sorgente";
+App::$strings["Source removed"] = "Sorgente eliminata";
+App::$strings["Unable to remove source."] = "Impossibile rimuovere la sorgente.";
+App::$strings["%1\$s is following %2\$s's %3\$s"] = "%1\$s sta seguendo %3\$s di %2\$s";
+App::$strings["%1\$s stopped following %2\$s's %3\$s"] = "%1\$s non segue più %3\$s di %2\$s";
+App::$strings["No suggestions available. If this is a new site, please try again in 24 hours."] = "Nessun suggerimento disponibile. Se questo sito è nuovo, riprova tra 24 ore.";
+App::$strings["Ignore/Hide"] = "Ignora/nascondi";
+App::$strings["Channel Suggestions"] = "Canali suggeriti";
+App::$strings["post"] = "il post";
+App::$strings["comment"] = "il commento";
+App::$strings["%1\$s tagged %2\$s's %3\$s with %4\$s"] = "%1\$s ha taggato %3\$s di %2\$s con %4\$s";
+App::$strings["Tag removed"] = "Tag rimosso";
+App::$strings["Remove Item Tag"] = "Rimuovi il tag";
+App::$strings["Select a tag to remove: "] = "Seleziona un tag da rimuovere: ";
+App::$strings["Channel added."] = "Canale aggiunto.";
+App::$strings["No connections."] = "Nessun contatto.";
+App::$strings["Visit %s's profile [%s]"] = "Visita il profilo di %s [%s]";
+App::$strings["View Connections"] = "Elenco contatti";
+App::$strings["Source of Item"] = "Sorgente";
+App::$strings["Room not found"] = "Chat non trovata";
+App::$strings["Leave Room"] = "Lascia la chat";
+App::$strings["Delete Room"] = "Elimina questa chat";
+App::$strings["I am away right now"] = "Non sono presente";
+App::$strings["I am online"] = "Sono online";
+App::$strings["Bookmark this room"] = "Aggiungi questa chat ai segnalibri";
+App::$strings["New Chatroom"] = "Nuova chat";
+App::$strings["Chatroom name"] = "Nome chat";
+App::$strings["Expiration of chats (minutes)"] = "Scadenza dei messaggi della chat (minuti)";
+App::$strings["%1\$s's Chatrooms"] = "Le chat di %1\$s";
+App::$strings["No chatrooms available"] = "Nessuna chat disponibile";
+App::$strings["Expiration"] = "Scadenza";
+App::$strings["min"] = "min";
+App::$strings["Xchan Lookup"] = "Ricerca canale";
+App::$strings["Lookup xchan beginning with (or webbie): "] = "Cerca un canale (o un webbie) che inizia per:";
+App::$strings["%d rating"] = array(
+ 0 => "%d valutazione",
+ 1 => "%d valutazioni",
+);
+App::$strings["Gender: "] = "Sesso:";
+App::$strings["Status: "] = "Stato:";
+App::$strings["Homepage: "] = "Homepage:";
+App::$strings["Age:"] = "Età:";
+App::$strings["Location:"] = "Luogo:";
+App::$strings["Description:"] = "Descrizione:";
+App::$strings["Hometown:"] = "Città dove vivo:";
+App::$strings["About:"] = "Informazioni:";
+App::$strings["Public Forum:"] = "Forum pubblico:";
+App::$strings["Keywords: "] = "Parole chiave:";
+App::$strings["Don't suggest"] = "Non fornire suggerimenti";
+App::$strings["Common connections:"] = "Contatti in comune:";
+App::$strings["Global Directory"] = "Elenchi pubblici globali";
+App::$strings["Local Directory"] = "Elenco canali su questo hub";
+App::$strings["Finding:"] = "Ricerca:";
+App::$strings["next page"] = "pagina successiva";
+App::$strings["previous page"] = "pagina precedente";
+App::$strings["Sort options"] = "Opzioni di ordinamento";
+App::$strings["Alphabetic"] = "Alfabetico";
+App::$strings["Reverse Alphabetic"] = "Alfabetico inverso";
+App::$strings["Newest to Oldest"] = "Prima i più recenti";
+App::$strings["Oldest to Newest"] = "Prima i più vecchi";
+App::$strings["No entries (some entries may be hidden)."] = "Nessun risultato (qualche elemento potrebbe essere nascosto).";
App::$strings["Not valid email."] = "Email non valida.";
App::$strings["Protected email address. Cannot change to that email."] = "È un indirizzo email riservato. Non puoi sceglierlo.";
App::$strings["System failure storing new email. Please try again."] = "Errore di sistema. Non è stato possibile memorizzare il tuo messaggio, riprova per favore.";
+App::$strings["Technical skill level updated"] = "Livello tecnico aggiornato";
App::$strings["Password verification failed."] = "Verifica della password fallita.";
App::$strings["Passwords do not match. Password unchanged."] = "Le password non corrispondono. Password non cambiata.";
App::$strings["Empty passwords are not allowed. Password unchanged."] = "Le password non possono essere vuote. Password non cambiata.";
App::$strings["Password changed."] = "Password cambiata.";
App::$strings["Password update failed. Please try again."] = "Modifica password fallita. Prova ancora.";
-App::$strings["Settings updated."] = "Impostazioni aggiornate.";
-App::$strings["Add application"] = "Aggiungi una app";
-App::$strings["Name of application"] = "Nome dell'applicazione";
-App::$strings["Consumer Key"] = "Consumer Key";
-App::$strings["Automatically generated - change if desired. Max length 20"] = "Generato automaticamente - è possibile cambiarlo. Lunghezza massima 20";
-App::$strings["Consumer Secret"] = "Consumer Secret";
-App::$strings["Redirect"] = "Redirect";
-App::$strings["Redirect URI - leave blank unless your application specifically requires this"] = "URI di riderezione - lasciare vuoto se non richiesto specificamente dall'applicazione";
-App::$strings["Icon url"] = "Url icona";
-App::$strings["Optional"] = "Facoltativo";
-App::$strings["Application not found."] = "Applicazione non trovata.";
-App::$strings["Connected Apps"] = "App connesse";
-App::$strings["Client key starts with"] = "La client key inizia con";
-App::$strings["No name"] = "Nessun nome";
-App::$strings["Remove authorization"] = "Revoca l'autorizzazione";
-App::$strings["No feature settings configured"] = "Non hai componenti aggiuntivi da personalizzare";
-App::$strings["Feature/Addon Settings"] = "Impostazioni dei componenti aggiuntivi";
App::$strings["Account Settings"] = "Il tuo account";
App::$strings["Current Password"] = "Password attuale";
App::$strings["Enter New Password"] = "Nuova password";
App::$strings["Confirm New Password"] = "Conferma la nuova password";
App::$strings["Leave password fields blank unless changing"] = "Lascia vuoti questi campi per non cambiare la password";
+App::$strings["Your technical skill level"] = "Il tuo livello tecnico";
+App::$strings["Used to provide a member experience matched to your comfort level"] = "Serve a vedere solo gli aspetti tecnici adeguati alle tue conoscenze";
App::$strings["Email Address:"] = "Indirizzo email:";
App::$strings["Remove this account including all its channels"] = "Elimina questo account e tutti i suoi canali";
-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 the private content."] = "Usa questo modulo per creare credenziali di accesso temporanee per condividere oggetti con chi non è utente. Queste identità possono essere gestite nelle Access Control List e i visitatori possono usare le credenziali per accedere ai contenuti privati.";
-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:"] = "Puoi anche fornire un accesso simile a <em>dropbox</em> agli amici o ai colleghi aggiungendo la password all'url che vuoi comunicare, come mostrato sotto. Esempi:";
-App::$strings["Guest Access Tokens"] = "Token di accesso ospite";
-App::$strings["Login Name"] = "Nome utente";
-App::$strings["Login Password"] = "Password";
-App::$strings["Expires (yyyy-mm-dd)"] = "Con scadenza (aaaa-mm-gg)";
-App::$strings["Additional Features"] = "Funzionalità opzionali";
-App::$strings["Connector Settings"] = "Impostazioni del connettore";
-App::$strings["No special theme for mobile devices"] = "Nessun tema per dispositivi mobili";
-App::$strings["%s - (Experimental)"] = "%s - (Sperimentale)";
-App::$strings["Display Settings"] = "Aspetto";
-App::$strings["Theme Settings"] = "Impostazioni del tema";
-App::$strings["Custom Theme Settings"] = "Personalizzazione del tema";
-App::$strings["Content Settings"] = "Impostazioni dei contenuti";
-App::$strings["Display Theme:"] = "Tema per schermi medio grandi:";
-App::$strings["Mobile Theme:"] = "Tema per dispositivi mobili:";
-App::$strings["Preload images before rendering the page"] = "Anticipa il caricamento delle immagini prima del rendering della pagina";
-App::$strings["The subjective page load time will be longer but the page will be ready when displayed"] = "Il tempo di caricamento della pagina sarà più lungo ma sarà mostrato il rendering completo";
-App::$strings["Enable user zoom on mobile devices"] = "Attiva la possibilità di fare zoom sui dispositivi mobili";
-App::$strings["Update browser every xx seconds"] = "Aggiorna il browser ogni x secondi";
-App::$strings["Minimum of 10 seconds, no maximum"] = "Minimo 10 secondi, nessun limite massimo";
-App::$strings["Maximum number of conversations to load at any time:"] = "Massimo numero di conversazioni da mostrare ogni volta:";
-App::$strings["Maximum of 100 items"] = "Massimo 100";
-App::$strings["Show emoticons (smilies) as images"] = "Mostra le faccine (smilies) come immagini";
-App::$strings["Link post titles to source"] = "Il link del titolo di un post porta al sito originale";
-App::$strings["System Page Layout Editor - (advanced)"] = "Modifica i layout di sistema (avanzato)";
-App::$strings["Use blog/list mode on channel page"] = "Mostra il canale nella modalità blog";
-App::$strings["(comments displayed separately)"] = "(i commenti sono mostrati separatamente)";
-App::$strings["Use blog/list mode on grid page"] = "Mostra la tua rete in modalità blog";
-App::$strings["Channel page max height of content (in pixels)"] = "Altezza massima dei contenuti del canale (in pixel)";
-App::$strings["click to expand content exceeding this height"] = "dovrai cliccare sul post per mostrare i contenuti di dimensioni maggiori";
-App::$strings["Grid page max height of content (in pixels)"] = "Altezza massima dei contenuti della tua rete (in pixel)";
+App::$strings["Settings updated."] = "Impostazioni aggiornate.";
App::$strings["Nobody except yourself"] = "Nessuno tranne te";
App::$strings["Only those you specifically allow"] = "Solo chi riceve il mio permesso";
App::$strings["Approved connections"] = "Contatti approvati";
@@ -1251,15 +1361,15 @@ App::$strings["Private - <em>default private, never open or public</em>"] = "Pri
App::$strings["Blocked - <em>default blocked to/from everybody</em>"] = "Bloccato - <em>bloccato in invio e ricezione dei contenuti</em>";
App::$strings["Allow others to tag your posts"] = "Permetti ad altri di taggare i tuoi post";
App::$strings["Often used by the community to retro-actively flag inappropriate content"] = "Usato spesso dalla comunità per marcare contenuti inappropriati già esistenti";
-App::$strings["Advanced Privacy Settings"] = "Impostazioni di privacy avanzate";
+App::$strings["Channel Permission Limits"] = "Limiti sui permessi del canale";
App::$strings["Expire other channel content after this many days"] = "Giorni dopo cui mettere in scadenza gli altri contenuti del canale";
App::$strings["0 or blank to use the website limit."] = "0 o vuoto per usare i valori predefiniti.";
App::$strings["This website expires after %d days."] = "Per questo sito la scadenza è %d giorni. ";
App::$strings["This website does not expire imported content."] = "I contenuti di questo sito non hanno scadenza.";
-App::$strings["The website limit takes precedence if lower than your limit."] = "Il limite del webserver ha la precedenza, se minore di quello impostato da te.";
+App::$strings["The website limit takes precedence if lower than your limit."] = "Il limite del server ha la precedenza, se minore di quello impostato da te.";
App::$strings["Maximum Friend Requests/Day:"] = "Numero massimo giornaliero di richieste di amicizia:";
App::$strings["May reduce spam activity"] = "Serve a ridurre lo spam";
-App::$strings["Default Post and Publish Permissions"] = "Permessi predefiniti per postare e pubblicare";
+App::$strings["Default Access Control List (ACL)"] = "Lista di accesso ai contenuti (ACL)";
App::$strings["Use my default audience setting for the type of object published"] = "Mostra ai contatti secondo le impostazioni standard per questo tipo di contenuto";
App::$strings["Channel permissions category:"] = "Categorie di permessi dei canali:";
App::$strings["Maximum private messages per day from unknown people:"] = "Numero massimo giornaliero di messaggi privati da utenti sconosciuti:";
@@ -1297,7 +1407,6 @@ App::$strings["Notify me of events this many days in advance"] = "Giorni di anti
App::$strings["Must be greater than 0"] = "Maggiore di 0";
App::$strings["Advanced Account/Page Type Settings"] = "Impostazioni avanzate";
App::$strings["Change the behaviour of this account for special situations"] = "Cambia il funzionamento di questo account per necessità particolari";
-App::$strings["Please enable expert mode (in <a href=\"settings/features\">Settings > Additional features</a>) to adjust!"] = "Abilita la modalità esperto per fare cambiamenti! (in <a href=\"settings/features\">Impostazioni > Funzionalità opzionali</a>)";
App::$strings["Miscellaneous Settings"] = "Impostazioni varie";
App::$strings["Default photo upload folder"] = "Cartella predefinita per le foto caricate";
App::$strings["%Y - current year, %m - current month"] = "%Y - anno corrente, %m - mese corrente";
@@ -1306,170 +1415,58 @@ App::$strings["Personal menu to display in your channel pages"] = "Menu personal
App::$strings["Remove this channel."] = "Elimina questo canale.";
App::$strings["Firefox Share \$Projectname provider"] = "Attiva Firefox Share per \$Projectname";
App::$strings["Start calendar week on monday"] = "La settimana inizia il lunedì";
-App::$strings["\$Projectname Server - Setup"] = "Server \$Projectname - Installazione";
-App::$strings["Could not connect to database."] = " Impossibile connettersi al database.";
-App::$strings["Could not connect to specified site URL. Possible SSL certificate or DNS issue."] = "Non è possibile raggiungere l'indirizzo del sito specificato. Potrebbe essere un problema di SSL o DNS.";
-App::$strings["Could not create table."] = "Impossibile creare le tabelle.";
-App::$strings["Your site database has been installed."] = "Il database del sito è stato installato.";
-App::$strings["You may need to import the file \"install/schema_xxx.sql\" manually using a database client."] = "Potresti dover importare il file 'install/schema_xxx.sql' manualmente usando un client per collegarti al db.";
-App::$strings["Please see the file \"install/INSTALL.txt\"."] = "Leggi il file 'install/INSTALL.txt'.";
-App::$strings["System check"] = "Verifica del sistema";
-App::$strings["Check again"] = "Verifica di nuovo";
-App::$strings["Database connection"] = "Connessione al database";
-App::$strings["In order to install \$Projectname we need to know how to connect to your database."] = "Per poter installare \$Projectname è necessario fornire i parametri di connessione al tuo database.";
-App::$strings["Please contact your hosting provider or site administrator if you have questions about these settings."] = "Contatta il tuo fornitore di hosting o l'amministratore del sito se hai domande su queste impostazioni.";
-App::$strings["The database you specify below should already exist. If it does not, please create it before continuing."] = "Il database deve già esistere. Se non esiste, crealo prima di continuare.";
-App::$strings["Database Server Name"] = "Server del database";
-App::$strings["Default is 127.0.0.1"] = "Il valore predefinito è 127.0.0.1";
-App::$strings["Database Port"] = "Port del database";
-App::$strings["Communication port number - use 0 for default"] = "Scrivi 0 per usare il valore standard";
-App::$strings["Database Login Name"] = "Utente database";
-App::$strings["Database Login Password"] = "Password database";
-App::$strings["Database Name"] = "Nome database";
-App::$strings["Database Type"] = "Tipo database";
-App::$strings["Site administrator email address"] = "Indirizzo email dell'amministratore del hub";
-App::$strings["Your account email address must match this in order to use the web admin panel."] = "Il tuo indirizzo email deve corrispondere a questo per poter usare il pannello di amministrazione di Hubzilla.";
-App::$strings["Website URL"] = "URL completo del sito";
-App::$strings["Please use SSL (https) URL if available."] = "Se disponibile, usa l'indirizzo SSL (https).";
-App::$strings["Please select a default timezone for your website"] = "Seleziona il fuso orario predefinito per il tuo hub";
-App::$strings["Site settings"] = "Impostazioni del hub";
-App::$strings["Enable \$Projectname <strong>advanced</strong> features?"] = "Vuoi attivare le funzionalità <strong>avanzate</strong> di \$Projectname?";
-App::$strings["Some advanced features, while useful - may be best suited for technically proficient audiences"] = "Alcune funzionalità avanzate, per quanto utili, potrebbero essere adatte solo a un pubblico tecnicamente preparato.";
-App::$strings["PHP version 5.5 or greater is required."] = "E' necessario PHP in versione 5.5 o superiore.";
-App::$strings["PHP version"] = "Versione PHP";
-App::$strings["Could not find a command line version of PHP in the web server PATH."] = "Non è possibile trovare la versione di PHP da riga di comando nel PATH del server web";
-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."] = "Se non hai installata la versione di PHP da riga di comando non potrai attivare il polling in background tramite cron.";
-App::$strings["PHP executable path"] = "Path del comando PHP";
-App::$strings["Enter full path to php executable. You can leave this blank to continue the installation."] = "Inserisci il percorso dell'eseguibile PHP. Puoi lasciarlo vuoto per continuare l'installazione.";
-App::$strings["Command line PHP"] = "PHP da riga di comando";
-App::$strings["The command line version of PHP on your system does not have \"register_argc_argv\" enabled."] = "La versione da riga di comando di PHP nel sistema non ha abilitato \"register_argc_argv\".";
-App::$strings["This is required for message delivery to work."] = "E' necessario perché funzioni la consegna dei messaggi.";
-App::$strings["PHP register_argc_argv"] = "PHP register_argc_argv";
-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."] = "La dimensione massima di un caricamento è impostata a %s. Il singolo file non può superare %s. Ti è permesso caricare max %d file per volta.";
-App::$strings["You can adjust these settings in the servers php.ini."] = "Puoi regolare queste impostazioni sul server in php.ini";
-App::$strings["PHP upload limits"] = "Limiti PHP in upload";
-App::$strings["Error: the \"openssl_pkey_new\" function on this system is not able to generate encryption keys"] = "Errore: la funzione \"openssl_pkey_new\" su questo sistema non è in grado di generare le chiavi di cifratura";
-App::$strings["If running under Windows, please see \"http://www.php.net/manual/en/openssl.installation.php\"."] = "Se stai usando un server windows, guarda \"http://www.php.net/manual/en/openssl.installation.php\".";
-App::$strings["Generate encryption keys"] = "Genera chiavi di cifratura";
-App::$strings["libCurl PHP module"] = "modulo PHP libCurl";
-App::$strings["GD graphics PHP module"] = "modulo PHP GD graphics";
-App::$strings["OpenSSL PHP module"] = "modulo PHP OpenSSL";
-App::$strings["mysqli or postgres PHP module"] = "modulo PHP per mysqli oppure prostgres";
-App::$strings["mb_string PHP module"] = "modulo PHP mb_string";
-App::$strings["xml PHP module"] = "modulo xml PHP";
-App::$strings["Apache mod_rewrite module"] = "modulo Apache mod_rewrite";
-App::$strings["Error: Apache webserver mod-rewrite module is required but not installed."] = "Errore: il modulo mod-rewrite di Apache è richiesto ma non installato";
-App::$strings["proc_open"] = "proc_open";
-App::$strings["Error: proc_open is required but is either not installed or has been disabled in php.ini"] = "Errore: proc_open è richiesto ma non è installato o è disabilitato in php.ini";
-App::$strings["Error: libCURL PHP module required but not installed."] = "Errore: il modulo libCURL di PHP è richiesto ma non installato.";
-App::$strings["Error: GD graphics PHP module with JPEG support required but not installed."] = "Errore: Il modulo GD graphics di PHP con supporto a JPEG è richiesto ma non installato.";
-App::$strings["Error: openssl PHP module required but not installed."] = "Errore: il modulo openssl di PHP è richiesto ma non installato.";
-App::$strings["Error: mysqli or postgres PHP module required but neither are installed."] = "Errore: il modulo PHP per mysqli o postgres è richiesto ma non installato";
-App::$strings["Error: mb_string PHP module required but not installed."] = "Errore: il modulo PHP mb_string è richiesto ma non installato.";
-App::$strings["Error: xml PHP module required for DAV but not installed."] = "Errore: il modulo xml PHP è richiesto per DAV ma non è installato.";
-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."] = "L'installazione web deve poter creare un file chiamato \".htconfig.php\" nella cartella di Hubzilla ma non è in grado di farlo.";
-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."] = "Spesso ciò è dovuto ai permessi di accesso al disco: il web server potrebbe non aver diritto di scrivere il file nella cartella, anche se tu puoi.";
-App::$strings["At the end of this procedure, we will give you a text to save in a file named .htconfig.php in your Red top folder."] = "Alla fine di questa procedura ti sarà dato il testo da salvare in un file di nome .htconfig.php dentro la cartella principale di Hubzilla.";
-App::$strings["You can alternatively skip this procedure and perform a manual installation. Please see the file \"install/INSTALL.txt\" for instructions."] = "Puoi anche saltare questa procedura ed effettuare un'installazione manuale. Guarda il file 'install/INSTALL.txt' per le istruzioni.";
-App::$strings[".htconfig.php is writable"] = ".htconfig.php è scrivibile";
-App::$strings["Red uses the Smarty3 template engine to render its web views. Smarty3 compiles templates to PHP to speed up rendering."] = "Hubzilla usa il sistema Smarty3 per costruire i suoi template grafici. Smarty3 è molto veloce perché compila i template delle pagine direttamente in PHP.";
-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."] = "Per poter memorizzare questi template, il server web deve avere i diritti di scrittura sulla directory %s";
-App::$strings["Please ensure that the user that your web server runs as (e.g. www-data) has write access to this folder."] = "Assicurati che il tuo web server sia in esecuzione con un utente che ha diritto di scrittura su quella cartella (ad esempio www-data).";
-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."] = "Nota bene: come precauzione, dovresti dare i diritti di scrittura solamente su %s e non sui file template (.tpl) che contiene.";
-App::$strings["%s is writable"] = "%s è scrivibile";
-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 Red top level folder"] = "Questo software usa la cartella store per salvare i file caricati. Il server web deve avere i diritti di scrittura sulla cartella perché l'operazione avvenga con successo";
-App::$strings["store is writable"] = "l'archivio è scrivibile";
-App::$strings["SSL certificate cannot be validated. Fix certificate or disable https access to this site."] = "Il certificato SSL non può essere validato. Correggi l'errore o disabilita l'accesso https al sito.";
-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!"] = "Se abiliti https per il tuo sito o permetti connessioni TCP su port 443 (quella di https), DEVI usare un certificato riconosciuto dai browser internet. NON DEVI usare certificati self-signed generati da te!";
-App::$strings["This restriction is incorporated because public posts from you may for example contain references to images on your own hub."] = "Questa restrizione è necessaria perché i tuoi post pubblici potrebbero contenere riferimenti a immagini sul tuo server.";
-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."] = "Se il tuo certificato non è riconosciuto, gli utenti che ti seguono da altri siti (che avranno certificati validi) riceveranno gravi avvisi di sicurezza dal browser.";
-App::$strings["This can cause usability issues elsewhere (not just on your own site) so we must insist on this requirement."] = "Ciò può creare seri problemi di usabilità (non solo sul tuo sito), quindi dobbiamo insistere su questo punto.";
-App::$strings["Providers are available that issue free certificates which are browser-valid."] = "Eventualmente, considera che esistono provider che rilasciano certificati gratuiti riconosciuti dai browser.";
-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."] = "Se credi che il certificato sia valido e firmato da una authority, verifica se hai sbagliato a installare i certificati intermedi. Normalmente non sono richiesti dai browser, ma sono necessari per la comunicazione server-to-server.";
-App::$strings["SSL certificate validation"] = "Validazione del certificato SSL";
-App::$strings["Url rewrite in .htaccess is not working. Check your server configuration.Test: "] = "In .htaccess la funzionalità url rewrite non funziona. Controlla la configurazione del server. Test:";
-App::$strings["Url rewrite is working"] = "Url rewrite funziona correttamente";
-App::$strings["The database configuration file \".htconfig.php\" could not be written. Please use the enclosed text to create a configuration file in your web server root."] = "Il file di configurazione del database \".htconfig.php\" non puo' essere scritto. Usa il testo qui di seguito per creare questo file di configurazione nella cartella principale del tuo sito.";
-App::$strings["Errors encountered creating database tables."] = "La creazione delle tabelle del database ha generato errori.";
-App::$strings["<h1>What next</h1>"] = "<h1>I prossimi passi</h1>";
-App::$strings["IMPORTANT: You will need to [manually] setup a scheduled task for the poller."] = "IMPORTANTE: Devi creare [manualmente] la pianificazione del polling.";
-App::$strings["Files: shared with me"] = "File: condivisi con me";
-App::$strings["NEW"] = "NOVITÀ";
-App::$strings["Remove all files"] = "Elimina tutti i file";
-App::$strings["Remove this file"] = "Elimina questo file";
-App::$strings["Thing updated"] = "L'oggetto è stato aggiornato";
-App::$strings["Object store: failed"] = "Impossibile memorizzare l'oggetto.";
-App::$strings["Thing added"] = "L'Oggetto è stato aggiunto";
-App::$strings["OBJ: %1\$s %2\$s %3\$s"] = "OBJ: %1\$s %2\$s %3\$s";
-App::$strings["Show Thing"] = "Mostra l'oggetto";
-App::$strings["item not found."] = "non trovato.";
-App::$strings["Edit Thing"] = "Modifica l'oggetto";
-App::$strings["Select a profile"] = "Scegli un profilo";
-App::$strings["Post an activity"] = "Pubblica un'attività";
-App::$strings["Only sends to viewers of the applicable profile"] = "Invia solo a chi può vedere il profilo scelto";
-App::$strings["Name of thing e.g. something"] = "Nome dell'oggetto";
-App::$strings["URL of thing (optional)"] = "Indirizzo web dell'oggetto (facoltativo)";
-App::$strings["URL for photo of thing (optional)"] = "Indirizzo di un'immagine dell'oggetto (facoltativo)";
-App::$strings["Add Thing to your Profile"] = "Aggiungi l'oggetto al tuo profilo";
-App::$strings["Failed to create source. No channel selected."] = "Impossibile creare la sorgente. Nessun canale selezionato.";
-App::$strings["Source created."] = "Sorgente creata.";
-App::$strings["Source updated."] = "Sorgente aggiornata.";
-App::$strings["*"] = "*";
-App::$strings["Channel Sources"] = "Sorgenti del canale";
-App::$strings["Manage remote sources of content for your channel."] = "Gestisci le sorgenti dei contenuti del tuo canale.";
-App::$strings["New Source"] = "Nuova sorgente";
-App::$strings["Import all or selected content from the following channel into this channel and distribute it according to your channel settings."] = "Importa nel tuo canale tutti o una parte dei contenuti dal canale seguente.";
-App::$strings["Only import content with these words (one per line)"] = "Importa solo i contenuti che hanno queste parole (una per riga)";
-App::$strings["Leave blank to import all public content"] = "Lascia vuoto per importare tutti i contenuti pubblici";
-App::$strings["Channel Name"] = "Nome del canale";
-App::$strings["Add the following categories to posts imported from this source (comma separated)"] = "Aggiungi le seguenti categorie ai post importati da questa sorgente (separate da virgola)";
-App::$strings["Source not found."] = "Sorgente non trovata.";
-App::$strings["Edit Source"] = "Modifica la sorgente";
-App::$strings["Delete Source"] = "Elimina la sorgente";
-App::$strings["Source removed"] = "Sorgente eliminata";
-App::$strings["Unable to remove source."] = "Impossibile rimuovere la sorgente.";
-App::$strings["%1\$s is following %2\$s's %3\$s"] = "%1\$s sta seguendo %3\$s di %2\$s";
-App::$strings["%1\$s stopped following %2\$s's %3\$s"] = "%1\$s non segue più %3\$s di %2\$s";
-App::$strings["No suggestions available. If this is a new site, please try again in 24 hours."] = "Nessun suggerimento disponibile. Se questo sito è nuovo, riprova tra 24 ore.";
-App::$strings["Ignore/Hide"] = "Ignora/nascondi";
-App::$strings["post"] = "il post";
-App::$strings["comment"] = "il commento";
-App::$strings["%1\$s tagged %2\$s's %3\$s with %4\$s"] = "%1\$s ha taggato %3\$s di %2\$s con %4\$s";
-App::$strings["Tag removed"] = "Tag rimosso";
-App::$strings["Remove Item Tag"] = "Rimuovi il tag";
-App::$strings["Select a tag to remove: "] = "Seleziona un tag da rimuovere: ";
-App::$strings["Webpages"] = "Pagine web";
-App::$strings["Actions"] = "Azioni";
-App::$strings["Page Link"] = "Link alla pagina";
-App::$strings["Page Title"] = "Titolo della pagina";
-App::$strings["Not found"] = "Non trovato";
-App::$strings["Wiki"] = "Wiki";
-App::$strings["Sandbox"] = "Sandbox";
-App::$strings["\"# Wiki Sandbox\\n\\nContent you **edit** and **preview** here *will not be saved*.\""] = "\"# Wiki Sandbox\\n\\nI contenuti che **modifichi** e che vedi in **anteprima** qui *non saranno salvati*.\"";
-App::$strings["Revision Comparison"] = "Confronto tra revisioni";
-App::$strings["Revert"] = "Ripristina";
-App::$strings["Enter the name of your new wiki:"] = "Nome della tua nuova pagina wiki:";
-App::$strings["Enter the name of the new page:"] = "Nome della tua nuova pagina:";
-App::$strings["Enter the new name:"] = "Nuovo nome:";
-App::$strings["Embed image from photo albums"] = "Inserisci un'immagine dall'album foto";
-App::$strings["Embed an image from your albums"] = "Inserisci un'immagine dai tuoi album";
-App::$strings["OK"] = "OK";
-App::$strings["Choose images to embed"] = "Scegli le immagini da inserire";
-App::$strings["Choose an album"] = "Scegli un album";
-App::$strings["Choose a different album..."] = "Scegli un altro album...";
-App::$strings["Error getting album list"] = "Errore nell'ottenere l'elenco degli album";
-App::$strings["Error getting photo link"] = "Errore nell'ottenere il link alla foto";
-App::$strings["Error getting album"] = "Errore nell'ottenere l'album";
-App::$strings["No connections."] = "Nessun contatto.";
-App::$strings["Visit %s's profile [%s]"] = "Visita il profilo di %s [%s]";
-App::$strings["View Connections"] = "Elenco contatti";
-App::$strings["Source of Item"] = "Sorgente";
-App::$strings["Authorize application connection"] = "Autorizza la app";
-App::$strings["Return to your app and insert this Securty Code:"] = "Torna alla app e inserisci questo codice di sicurezza:";
-App::$strings["Please login to continue."] = "Accedi al sito per continuare.";
-App::$strings["Do you want to authorize this application to access your posts and contacts, and/or create new posts for you?"] = "Vuoi autorizzare questa app ad accedere ai messaggi e ai contatti o creare nuovi messaggi per te?";
-App::$strings["Xchan Lookup"] = "Ricerca canale";
-App::$strings["Lookup xchan beginning with (or webbie): "] = "Cerca un canale (o un webbie) che inizia per:";
+App::$strings["No special theme for mobile devices"] = "Nessun tema per dispositivi mobili";
+App::$strings["%s - (Experimental)"] = "%s - (Sperimentale)";
+App::$strings["Display Settings"] = "Aspetto";
+App::$strings["Theme Settings"] = "Impostazioni del tema";
+App::$strings["Custom Theme Settings"] = "Personalizzazione del tema";
+App::$strings["Content Settings"] = "Impostazioni dei contenuti";
+App::$strings["Display Theme:"] = "Tema per schermi medio grandi:";
+App::$strings["Select scheme"] = "Scegli uno schema";
+App::$strings["Mobile Theme:"] = "Tema per dispositivi mobili:";
+App::$strings["Preload images before rendering the page"] = "Carica le immagini prima del rendering della pagina";
+App::$strings["The subjective page load time will be longer but the page will be ready when displayed"] = "Il tempo di caricamento della pagina sarà più lungo ma sarà mostrato il rendering completo";
+App::$strings["Enable user zoom on mobile devices"] = "Attiva la possibilità di fare zoom sui dispositivi mobili";
+App::$strings["Update browser every xx seconds"] = "Aggiorna il browser ogni x secondi";
+App::$strings["Minimum of 10 seconds, no maximum"] = "Minimo 10 secondi, nessun limite massimo";
+App::$strings["Maximum number of conversations to load at any time:"] = "Massimo numero di conversazioni da mostrare ogni volta:";
+App::$strings["Maximum of 100 items"] = "Massimo 100";
+App::$strings["Show emoticons (smilies) as images"] = "Mostra le faccine (smilies) come immagini";
+App::$strings["Link post titles to source"] = "Il link del titolo di un post porta al sito originale";
+App::$strings["System Page Layout Editor - (advanced)"] = "Modifica i layout di sistema (avanzato)";
+App::$strings["Use blog/list mode on channel page"] = "Mostra il canale nella modalità blog";
+App::$strings["(comments displayed separately)"] = "(i commenti sono mostrati separatamente)";
+App::$strings["Use blog/list mode on grid page"] = "Mostra la tua rete in modalità blog";
+App::$strings["Channel page max height of content (in pixels)"] = "Altezza massima dei contenuti del canale (in pixel)";
+App::$strings["click to expand content exceeding this height"] = "dovrai cliccare sul post per mostrare i contenuti di dimensioni maggiori";
+App::$strings["Grid page max height of content (in pixels)"] = "Altezza massima dei contenuti della tua rete (in pixel)";
+App::$strings["No feature settings configured"] = "Non hai componenti aggiuntivi da personalizzare";
+App::$strings["Feature/Addon Settings"] = "Impostazioni dei componenti aggiuntivi";
+App::$strings["Additional Features"] = "Funzionalità opzionali";
+App::$strings["Name is required"] = "Il nome è obbligatorio";
+App::$strings["Key and Secret are required"] = "Key e Secret sono richiesti";
+App::$strings["Add application"] = "Aggiungi una app";
+App::$strings["Name of application"] = "Nome dell'applicazione";
+App::$strings["Consumer Key"] = "Consumer Key";
+App::$strings["Automatically generated - change if desired. Max length 20"] = "Generato automaticamente - è possibile cambiarlo. Lunghezza massima 20";
+App::$strings["Consumer Secret"] = "Consumer Secret";
+App::$strings["Redirect"] = "Redirect";
+App::$strings["Redirect URI - leave blank unless your application specifically requires this"] = "URI di riderezione - lasciare vuoto se non richiesto specificamente dall'applicazione";
+App::$strings["Icon url"] = "Url icona";
+App::$strings["Application not found."] = "Applicazione non trovata.";
+App::$strings["Connected Apps"] = "App connesse";
+App::$strings["Client key starts with"] = "La client key inizia con";
+App::$strings["No name"] = "Nessun nome";
+App::$strings["Remove authorization"] = "Revoca l'autorizzazione";
+App::$strings["This channel is limited to %d tokens"] = "Questo canale è limitato a %d token";
+App::$strings["Name and Password are required."] = "Nome e password sono obbligatori.";
+App::$strings["Token saved."] = "Token salvato.";
+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."] = "Usa questo modulo per creare credenziali temporanee per condividere qualcosa con i non iscritti. A queste credenziali potrai dare o togliere diritti come a tutti gli altri utenti e i visitatori potranno usarle per accedere a contenuti privati.";
+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:"] = "Puoi anche fornire un accesso simile a <em>dropbox</em> agli amici o ai colleghi aggiungendo la password all'url che vuoi comunicare, come mostrato sotto. Esempi:";
+App::$strings["Guest Access Tokens"] = "Token di accesso ospite";
+App::$strings["Login Name"] = "Nome utente";
+App::$strings["Login Password"] = "Password";
+App::$strings["Expires (yyyy-mm-dd)"] = "Con scadenza (aaaa-mm-gg)";
App::$strings["Missing room name"] = "Chat senza nome";
App::$strings["Duplicate room name"] = "Il nome della chat è duplicato";
App::$strings["Invalid room specifier."] = "Il nome della chat non è valido.";
@@ -1480,7 +1477,7 @@ App::$strings["\$projectname"] = "\$projectname";
App::$strings["Thank You,"] = "Grazie,";
App::$strings["%s Administrator"] = "L'amministratore di %s";
App::$strings["%s <!item_type!>"] = "%s <!item_type!>";
-App::$strings["[Hubzilla:Notify] New mail received at %s"] = "[Hubzilla] Nuovo messaggio su %s";
+App::$strings["[\$Projectname:Notify] New mail received at %s"] = "[\$Projectname:Notifica] Nuovo messaggio su %s";
App::$strings["%1\$s, %2\$s sent you a new private message at %3\$s."] = "%1\$s, %2\$s ti ha mandato un messaggio privato su %3\$s.";
App::$strings["%1\$s sent you %2\$s."] = "%1\$s ti ha mandato %2\$s.";
App::$strings["a private message"] = "un messaggio privato";
@@ -1488,56 +1485,35 @@ App::$strings["Please visit %s to view and/or reply to your private messages."]
App::$strings["%1\$s, %2\$s commented on [zrl=%3\$s]a %4\$s[/zrl]"] = "%1\$s, %2\$s ha commentato [zrl=%3\$s]%4\$s[/zrl]";
App::$strings["%1\$s, %2\$s commented on [zrl=%3\$s]%4\$s's %5\$s[/zrl]"] = "%1\$s, %2\$s ha commentato [zrl=%3\$s]%5\$s di %4\$s[/zrl]";
App::$strings["%1\$s, %2\$s commented on [zrl=%3\$s]your %4\$s[/zrl]"] = "%1\$s, %2\$s ha commentato [zrl=%3\$s]%4\$s che hai creato[/zrl]";
-App::$strings["[Hubzilla:Notify] Comment to conversation #%1\$d by %2\$s"] = "[Hubzilla] Nuovo commento di %2\$s alla conversazione #%1\$d";
+App::$strings["[\$Projectname:Notify] Comment to conversation #%1\$d by %2\$s"] = "[\$Projectname:Notifica] Nuovo commento di %2\$s alla conversazione #%1\$d";
App::$strings["%1\$s, %2\$s commented on an item/conversation you have been following."] = "%1\$s, %2\$s ha commentato un elemento che stavi seguendo.";
App::$strings["Please visit %s to view and/or reply to the conversation."] = "Visita %s per leggere o commentare la conversazione.";
-App::$strings["[Hubzilla:Notify] %s posted to your profile wall"] = "[Hubzilla] %s ha scritto sulla tua bacheca";
+App::$strings["[\$Projectname:Notify] %s posted to your profile wall"] = "[\$Projectname:Notifica] %s ha scritto sulla tua bacheca";
App::$strings["%1\$s, %2\$s posted to your profile wall at %3\$s"] = "%1\$s, %2\$s ha scritto sulla bacheca del tuo profilo su %3\$s";
App::$strings["%1\$s, %2\$s posted to [zrl=%3\$s]your wall[/zrl]"] = "%1\$s, %2\$s ha scritto sulla [zrl=%3\$s]tua bacheca[/zrl]";
-App::$strings["[Hubzilla:Notify] %s tagged you"] = "[Hubzilla] %s ti ha taggato";
+App::$strings["[\$Projectname:Notify] %s tagged you"] = "[\$Projectname:Notifica] %s ti ha taggato";
App::$strings["%1\$s, %2\$s tagged you at %3\$s"] = "%1\$s, %2\$s ti ha taggato su %3\$s";
App::$strings["%1\$s, %2\$s [zrl=%3\$s]tagged you[/zrl]."] = "%1\$s, %2\$s [zrl=%3\$s]ti ha taggato[/zrl].";
-App::$strings["[Hubzilla:Notify] %1\$s poked you"] = "[Hubzilla] %1\$s ti ha mandato un poke";
+App::$strings["[\$Projectname:Notify] %1\$s poked you"] = "[\$Projectname:Notifica] %1\$s ti ha mandato un poke";
App::$strings["%1\$s, %2\$s poked you at %3\$s"] = "%1\$s, %2\$s ti ha mandato un poke su %3\$s";
App::$strings["%1\$s, %2\$s [zrl=%2\$s]poked you[/zrl]."] = "%1\$s, %2\$s [zrl=%2\$s]ti ha mandato un poke[/zrl].";
-App::$strings["[Hubzilla:Notify] %s tagged your post"] = "[Hubzilla] %s ha taggato il tuo post";
+App::$strings["[\$Projectname:Notify] %s tagged your post"] = "[\$Projectname:Notifica] %s ha taggato il tuo post";
App::$strings["%1\$s, %2\$s tagged your post at %3\$s"] = "%1\$s, %2\$s ha taggato il tuo post su %3\$s";
App::$strings["%1\$s, %2\$s tagged [zrl=%3\$s]your post[/zrl]"] = "%1\$s, %2\$s ha taggato [zrl=%3\$s]il tuo post[/zrl]";
-App::$strings["[Hubzilla:Notify] Introduction received"] = "[Hubzilla] Hai una richiesta di amicizia";
+App::$strings["[\$Projectname:Notify] Introduction received"] = "[\$Projectname:Notifica] Hai una richiesta di amicizia";
App::$strings["%1\$s, you've received an new connection request from '%2\$s' at %3\$s"] = "%1\$s, hai ricevuto una richiesta di entrare in contatto da '%2\$s' su %3\$s";
App::$strings["%1\$s, you've received [zrl=%2\$s]a new connection request[/zrl] from %3\$s."] = "%1\$s, hai ricevuto una [zrl=%2\$s]richiesta di entrare in contatto[/zrl] da %3\$s.";
App::$strings["You may visit their profile at %s"] = "Puoi visitare il suo profilo su %s";
App::$strings["Please visit %s to approve or reject the connection request."] = "Visita %s per approvare o rifiutare la richiesta di entrare in contatto.";
-App::$strings["[Hubzilla:Notify] Friend suggestion received"] = "[Hubzilla] Ti è stato suggerito un amico";
+App::$strings["[\$Projectname:Notify] Friend suggestion received"] = "[\$Projectname:Notifica] Ti è stato suggerito un amico";
App::$strings["%1\$s, you've received a friend suggestion from '%2\$s' at %3\$s"] = "%1\$s, ti è stato suggerito un amico da '%2\$s' su %3\$s";
App::$strings["%1\$s, you've received [zrl=%2\$s]a friend suggestion[/zrl] for %3\$s from %4\$s."] = "%1\$s, %4\$s ti [zrl=%2\$s]ha suggerito %3\$s[/zrl] come amico.";
App::$strings["Name:"] = "Nome:";
App::$strings["Photo:"] = "Foto:";
App::$strings["Please visit %s to approve or reject the suggestion."] = "Visita %s per approvare o rifiutare il suggerimento.";
-App::$strings["[Hubzilla:Notify]"] = "[Hubzilla]";
+App::$strings["[\$Projectname:Notify]"] = "[\$Projectname:Notifica]";
App::$strings["created a new post"] = "Ha creato un nuovo post";
App::$strings["commented on %s's post"] = "ha commentato il post di %s";
-App::$strings["Site Admin"] = "Amministrazione sito";
-App::$strings["Bug Report"] = "Bug Report";
-App::$strings["View Bookmarks"] = "Vedi i segnalibri";
-App::$strings["My Chatrooms"] = "Le mie aree chat";
-App::$strings["Firefox Share"] = "Firefox Share";
-App::$strings["Remote Diagnostics"] = "Diagnostica remota";
-App::$strings["Suggest Channels"] = "Suggerisci canali";
-App::$strings["Login"] = "Accedi";
-App::$strings["Grid"] = "Rete";
-App::$strings["Channel Home"] = "Bacheca del canale";
-App::$strings["Events"] = "Eventi";
-App::$strings["Directory"] = "Elenchi pubblici dei canali";
-App::$strings["Mail"] = "Messaggi";
-App::$strings["Chat"] = "Chat";
-App::$strings["Probe"] = "Diagnostica";
-App::$strings["Suggest"] = "Suggerisci";
-App::$strings["Random Channel"] = "Canale casuale";
-App::$strings["Invite"] = "Invita";
-App::$strings["Features"] = "Funzionalità";
-App::$strings["Post"] = "Post";
-App::$strings["Purchase"] = "Acquista";
App::$strings["Private Message"] = "Messaggio privato";
App::$strings["Select"] = "Scegli";
App::$strings["Save to Folder"] = "Salva nella cartella";
@@ -1597,9 +1573,45 @@ App::$strings["This is your default setting for who can view your default channe
App::$strings["This is your default setting for who can view your connections"] = "Impostazione predefinita di chi può vedere i tuoi contatti/amici";
App::$strings["This is your default setting for who can view your file storage and photos"] = "Impostazione predefinita di chi può vedere le foto e il tuo archivio file";
App::$strings["This is your default setting for the audience of your webpages"] = "Impostazione predefinita di chi può vedere le tue pagine web";
+App::$strings["Site Admin"] = "Amministrazione sito";
+App::$strings["Bug Report"] = "Bug Report";
+App::$strings["View Bookmarks"] = "Vedi i segnalibri";
+App::$strings["My Chatrooms"] = "Le mie aree chat";
+App::$strings["Firefox Share"] = "Firefox Share";
+App::$strings["Remote Diagnostics"] = "Diagnostica remota";
+App::$strings["Suggest Channels"] = "Suggerisci canali";
+App::$strings["Login"] = "Accedi";
+App::$strings["Grid"] = "Rete";
+App::$strings["Channel Home"] = "Bacheca del canale";
+App::$strings["Events"] = "Eventi";
+App::$strings["Directory"] = "Elenchi pubblici dei canali";
+App::$strings["Mail"] = "Messaggi";
+App::$strings["Chat"] = "Chat";
+App::$strings["Probe"] = "Diagnostica";
+App::$strings["Suggest"] = "Suggerisci";
+App::$strings["Random Channel"] = "Canale casuale";
+App::$strings["Invite"] = "Invita";
+App::$strings["Features"] = "Funzionalità";
+App::$strings["Language"] = "Lingua";
+App::$strings["Post"] = "Post";
+App::$strings["Profile Photo"] = "Foto del profilo";
+App::$strings["Purchase"] = "Acquista";
App::$strings["No username found in import file."] = "Impossibile trovare il nome utente nel file da importare.";
App::$strings["Unable to create a unique channel address. Import failed."] = "Impossibile creare un indirizzo univoco per il canale. L'import è fallito.";
App::$strings["Cannot locate DNS info for database server '%s'"] = "Non trovo le informazioni DNS per il database server '%s'";
+App::$strings["Can view my normal stream and posts"] = "Può vedere i miei contenuti e i post normali";
+App::$strings["Can view my webpages"] = "Può vedere le mie pagine web";
+App::$strings["Can post on my channel page (\"wall\")"] = "Può scrivere sulla bacheca del mio canale";
+App::$strings["Can like/dislike stuff"] = "Può aggiungere \"mi piace\" a tutto il resto";
+App::$strings["Profiles and things other than posts/comments"] = "Può aggiungere \"mi piace\" a tutto ciò che non riguarda i post, come per esempio il profilo";
+App::$strings["Can forward to all my channel contacts via post @mentions"] = "Può inoltrare post a tutti i contatti del canale tramite una @menzione";
+App::$strings["Advanced - useful for creating group forum channels"] = "Impostazione avanzata - utile per creare un canale-forum di discussione";
+App::$strings["Can chat with me (when available)"] = "Può aprire una chat con me (se disponibile)";
+App::$strings["Can write to my file storage and photos"] = "Può modificare il mio archivio file e foto";
+App::$strings["Can edit my webpages"] = "Può modificare le mie pagine web";
+App::$strings["Somewhat advanced - very useful in open communities"] = "Piuttosto avanzato - molto utile nelle comunità aperte";
+App::$strings["Can administer my channel resources"] = "Può amministrare i contenuti del mio canale";
+App::$strings["Extremely advanced. Leave this alone unless you know what you are doing"] = "Impostazione pericolosa - lasciare il valore predefinito se non si è assolutamente sicuri";
App::$strings["Image exceeds website size limit of %lu bytes"] = "L'immagine supera il limite massimo di %lu bytes";
App::$strings["Image file is empty."] = "Il file dell'immagine è vuoto.";
App::$strings["Photo storage failed."] = "Impossibile salvare la foto.";
@@ -1607,266 +1619,80 @@ App::$strings["a new photo"] = "una nuova foto";
App::$strings["__ctx:photo_upload__ %1\$s posted %2\$s to %3\$s"] = "%1\$s ha pubblicato %2\$s su %3\$s";
App::$strings["Photo Albums"] = "Album foto";
App::$strings["Upload New Photos"] = "Carica nuove foto";
-App::$strings["Logout"] = "Esci";
-App::$strings["End this session"] = "Chiudi questa sessione";
-App::$strings["Home"] = "Bacheca";
-App::$strings["Your posts and conversations"] = "I tuoi post e conversazioni";
-App::$strings["Your profile page"] = "Il tuo profilo";
-App::$strings["Manage/Edit profiles"] = "Gestisci i tuoi profili";
-App::$strings["Edit Profile"] = "Modifica il profilo";
-App::$strings["Edit your profile"] = "Modifica il tuo profilo";
-App::$strings["Your photos"] = "Le tue foto";
-App::$strings["Your files"] = "I tuoi file";
-App::$strings["Your chatrooms"] = "Le tue chat";
-App::$strings["Bookmarks"] = "Segnalibri";
-App::$strings["Your bookmarks"] = "I tuoi segnalibri";
-App::$strings["Your webpages"] = "Le tue pagine web";
-App::$strings["Your wiki"] = "La tua wiki";
-App::$strings["Sign in"] = "Accedi";
-App::$strings["%s - click to logout"] = "%s - clicca per uscire";
-App::$strings["Remote authentication"] = "Accedi dal tuo hub";
-App::$strings["Click to authenticate to your home hub"] = "Clicca per farti riconoscere dal tuo hub principale";
-App::$strings["Home Page"] = "Bacheca";
-App::$strings["Create an account"] = "Crea un account";
-App::$strings["Help and documentation"] = "Guida e documentazione";
-App::$strings["Applications, utilities, links, games"] = "Applicazioni, utilità, link, giochi";
-App::$strings["Search site @name, #tag, ?docs, content"] = "Cerca nel sito per @nome, #tag, ?guida o per contenuto";
-App::$strings["Channel Directory"] = "Elenchi pubblici dei canali";
-App::$strings["Your grid"] = "La tua rete";
-App::$strings["Mark all grid notifications seen"] = "Segna come lette le notifiche della tua rete";
-App::$strings["Channel home"] = "Bacheca del canale";
-App::$strings["Mark all channel notifications seen"] = "Segna come lette le notifiche del canale";
-App::$strings["Notices"] = "Avvisi";
-App::$strings["Notifications"] = "Notifiche";
-App::$strings["See all notifications"] = "Vedi tutte le notifiche";
-App::$strings["Private mail"] = "Messaggi privati";
-App::$strings["See all private messages"] = "Guarda tutti i messaggi privati";
-App::$strings["Mark all private messages seen"] = "Segna come letti tutti i messaggi privati";
-App::$strings["Inbox"] = "In arrivo";
-App::$strings["Outbox"] = "Inviati";
-App::$strings["New Message"] = "Nuovo messaggio";
-App::$strings["Event Calendar"] = "Calendario";
-App::$strings["See all events"] = "Guarda tutti gli eventi";
-App::$strings["Mark all events seen"] = "Marca come letti tutti gli eventi";
-App::$strings["Manage Your Channels"] = "Gestisci i tuoi canali";
-App::$strings["Account/Channel Settings"] = "Impostazioni dell'account e del canale";
-App::$strings["Admin"] = "Amministrazione";
-App::$strings["Site Setup and Configuration"] = "Installazione e configurazione del sito";
-App::$strings["Loading..."] = "Caricamento in corso...";
-App::$strings["@name, #tag, ?doc, content"] = "@nome, #tag, ?guida, contenuto";
-App::$strings["Please wait..."] = "Attendere...";
-App::$strings["view full size"] = "guarda nelle dimensioni reali";
-App::$strings["Administrator"] = "Amministratore";
-App::$strings["No Subject"] = "Nessun titolo";
-App::$strings["Friendica"] = "Friendica";
-App::$strings["OStatus"] = "OStatus";
-App::$strings["GNU-Social"] = "GNU-Social";
-App::$strings["RSS/Atom"] = "RSS/Atom";
-App::$strings["Diaspora"] = "Diaspora";
-App::$strings["Facebook"] = "Facebook";
-App::$strings["Zot"] = "Zot";
-App::$strings["LinkedIn"] = "LinkedIn";
-App::$strings["XMPP/IM"] = "XMPP/IM";
-App::$strings["MySpace"] = "MySpace";
-App::$strings["New Page"] = "Nuova pagina web";
-App::$strings["Title"] = "Titolo";
-App::$strings["Categories"] = "Categorie";
-App::$strings["Tags"] = "Tag";
-App::$strings["Keywords"] = "Parole chiave";
-App::$strings["have"] = "ho";
-App::$strings["has"] = "ha";
-App::$strings["want"] = "voglio";
-App::$strings["wants"] = "vuole";
-App::$strings["likes"] = "gli piace";
-App::$strings["dislikes"] = "non gli piace";
-App::$strings["Unable to obtain identity information from database"] = "Impossibile ottenere le informazioni di identificazione dal database";
-App::$strings["Empty name"] = "Nome vuoto";
-App::$strings["Name too long"] = "Nome troppo lungo";
-App::$strings["No account identifier"] = "Account senza identificativo";
-App::$strings["Nickname is required."] = "Il nome dell'account è obbligatorio.";
-App::$strings["Reserved nickname. Please choose another."] = "Nome utente riservato. Per favore scegline un altro.";
-App::$strings["Nickname has unsupported characters or is already being used on this site."] = "Il nome dell'account è già in uso oppure ha dei caratteri non supportati.";
-App::$strings["Unable to retrieve created identity"] = "Impossibile caricare l'identità creata";
-App::$strings["Default Profile"] = "Profilo predefinito";
-App::$strings["Requested channel is not available."] = "Il canale che cerchi non è disponibile.";
-App::$strings["Create New Profile"] = "Crea un nuovo profilo";
-App::$strings["Visible to everybody"] = "Visibile a tutti";
-App::$strings["Gender:"] = "Sesso:";
-App::$strings["Status:"] = "Stato:";
-App::$strings["Homepage:"] = "Home page:";
-App::$strings["Online Now"] = "Online adesso";
-App::$strings["Like this channel"] = "Mi piace questo canale";
-App::$strings["j F, Y"] = "j F Y";
-App::$strings["j F"] = "j F";
-App::$strings["Birthday:"] = "Compleanno:";
-App::$strings["for %1\$d %2\$s"] = "per %1\$d %2\$s";
-App::$strings["Sexual Preference:"] = "Preferenze sessuali:";
-App::$strings["Tags:"] = "Tag:";
-App::$strings["Political Views:"] = "Orientamento politico:";
-App::$strings["Religion:"] = "Religione:";
-App::$strings["Hobbies/Interests:"] = "Interessi e hobby:";
-App::$strings["Likes:"] = "Mi piace:";
-App::$strings["Dislikes:"] = "Non mi piace:";
-App::$strings["Contact information and Social Networks:"] = "Contatti e social network:";
-App::$strings["My other channels:"] = "I miei altri canali:";
-App::$strings["Musical interests:"] = "Gusti musicali:";
-App::$strings["Books, literature:"] = "Libri, letteratura:";
-App::$strings["Television:"] = "Televisione:";
-App::$strings["Film/dance/culture/entertainment:"] = "Film, danza, cultura, intrattenimento:";
-App::$strings["Love/Romance:"] = "Amore:";
-App::$strings["Work/employment:"] = "Lavoro:";
-App::$strings["School/education:"] = "Scuola:";
-App::$strings["Like this thing"] = "Mi piace";
-App::$strings["New window"] = "Nuova finestra";
-App::$strings["Open the selected location in a different window or browser tab"] = "Apri l'indirizzo selezionato in una nuova scheda o finestra";
-App::$strings["User '%s' deleted"] = "Utente '%s' eliminato";
-App::$strings["%1\$s is now connected with %2\$s"] = "%1\$s adesso è connesso con %2\$s";
-App::$strings["%1\$s poked %2\$s"] = "%1\$s ha mandato un poke a %2\$s";
-App::$strings["poked"] = "ha mandato un poke";
-App::$strings["View %s's profile @ %s"] = "Vedi il profilo di %s @ %s";
-App::$strings["Categories:"] = "Categorie:";
-App::$strings["Filed under:"] = "Classificato come:";
-App::$strings["View in context"] = "Vedi nel contesto";
-App::$strings["remove"] = "rimuovi";
-App::$strings["Delete Selected Items"] = "Elimina gli oggetti selezionati";
-App::$strings["View Source"] = "Vedi il sorgente";
-App::$strings["Follow Thread"] = "Segui la discussione";
-App::$strings["Unfollow Thread"] = "Non seguire la discussione";
-App::$strings["Activity/Posts"] = "Attività e Post";
-App::$strings["Edit Connection"] = "Modifica il contatto";
-App::$strings["Message"] = "Messaggio";
-App::$strings["%s likes this."] = "Piace a %s.";
-App::$strings["%s doesn't like this."] = "Non piace a %s.";
-App::$strings["<span %1\$s>%2\$d people</span> like this."] = array(
- 0 => "",
- 1 => "Piace a <span %1\$s>%2\$d persone</span>.",
-);
-App::$strings["<span %1\$s>%2\$d people</span> don't like this."] = array(
- 0 => "",
- 1 => "Non piace a <span %1\$s>%2\$d persone</span>.",
-);
-App::$strings["and"] = "e";
-App::$strings[", and %d other people"] = array(
- 0 => "",
- 1 => "e altre %d persone",
-);
-App::$strings["%s like this."] = "Piace a %s.";
-App::$strings["%s don't like this."] = "Non piace a %s.";
-App::$strings["Set your location"] = "La tua località";
-App::$strings["Clear browser location"] = "Rimuovi la località data dal browser";
-App::$strings["Tag term:"] = "Tag:";
-App::$strings["Where are you right now?"] = "Dove sei ora?";
-App::$strings["Page link name"] = "Nome del link alla pagina";
-App::$strings["Post as"] = "Pubblica come ";
-App::$strings["Toggle voting"] = "Abilita/disabilita il voto";
-App::$strings["Categories (optional, comma-separated list)"] = "Categorie (facoltative, lista separata da virgole)";
-App::$strings["Set publish date"] = "Data di uscita programmata";
-App::$strings["Discover"] = "Scopri";
-App::$strings["Imported public streams"] = "Contenuti pubblici importati";
-App::$strings["Commented Order"] = "Commenti recenti";
-App::$strings["Sort by Comment Date"] = "Per data del commento";
-App::$strings["Posted Order"] = "Post recenti";
-App::$strings["Sort by Post Date"] = "Per data di creazione";
-App::$strings["Posts that mention or involve you"] = "Post che ti riguardano";
-App::$strings["Activity Stream - by date"] = "Elenco attività - per data";
-App::$strings["Starred"] = "Preferiti";
-App::$strings["Favourite Posts"] = "Post preferiti";
-App::$strings["Spam"] = "Spam";
-App::$strings["Posts flagged as SPAM"] = "Post marcati come spam";
-App::$strings["Status Messages and Posts"] = "Post e messaggi di stato";
-App::$strings["About"] = "Informazioni";
-App::$strings["Profile Details"] = "Dettagli del profilo";
-App::$strings["Files and Storage"] = "Archivio file";
-App::$strings["Chatrooms"] = "Chat";
-App::$strings["Saved Bookmarks"] = "Segnalibri salvati";
-App::$strings["Manage Webpages"] = "Gestisci le pagine web";
-App::$strings["__ctx:noun__ Attending"] = array(
- 0 => "Partecipa",
- 1 => "Partecipano",
-);
-App::$strings["__ctx:noun__ Not Attending"] = array(
- 0 => "Non partecipa",
- 1 => "Non partecipano",
-);
-App::$strings["__ctx:noun__ Undecided"] = array(
- 0 => "Indeciso",
- 1 => "Indecisi",
-);
-App::$strings["__ctx:noun__ Agree"] = array(
- 0 => "D'accordo",
- 1 => "D'accordo",
-);
-App::$strings["__ctx:noun__ Disagree"] = array(
- 0 => "Non d'accordo",
- 1 => "Non d'accordo",
-);
-App::$strings["__ctx:noun__ Abstain"] = array(
- 0 => "Astenuto",
- 1 => "Astenuti",
-);
-App::$strings["Cannot create a duplicate channel identifier on this system. Import failed."] = "Non posso creare un canale con un identificativo che già esiste su questo sistema. L'importazione è fallita.";
-App::$strings["Channel clone failed. Import failed."] = "Impossibile clonare il canale. L'importazione è fallita.";
-App::$strings["Frequently"] = "Frequentemente";
-App::$strings["Hourly"] = "Ogni ora";
-App::$strings["Twice daily"] = "Due volte al giorno";
-App::$strings["Daily"] = "Ogni giorno";
-App::$strings["Weekly"] = "Ogni settimana";
-App::$strings["Monthly"] = "Ogni mese";
-App::$strings["Currently Male"] = "Al momento maschio";
-App::$strings["Currently Female"] = "Al momento femmina";
-App::$strings["Mostly Male"] = "Prevalentemente maschio";
-App::$strings["Mostly Female"] = "Prevalentemente femmina";
-App::$strings["Transgender"] = "Transgender";
-App::$strings["Intersex"] = "Intersex";
-App::$strings["Transsexual"] = "Transessuale";
-App::$strings["Hermaphrodite"] = "Ermafrodito";
-App::$strings["Neuter"] = "Neutro";
-App::$strings["Non-specific"] = "Non specificato";
-App::$strings["Undecided"] = "Indeciso";
-App::$strings["Males"] = "Maschi";
-App::$strings["Females"] = "Femmine";
-App::$strings["Gay"] = "Gay";
-App::$strings["Lesbian"] = "Lesbica";
-App::$strings["No Preference"] = "Senza preferenza";
-App::$strings["Bisexual"] = "Bisessuale";
-App::$strings["Autosexual"] = "Autosessuale";
-App::$strings["Abstinent"] = "Astinente";
-App::$strings["Virgin"] = "Vergine";
-App::$strings["Deviant"] = "Deviato";
-App::$strings["Fetish"] = "Feticista";
-App::$strings["Oodles"] = "Un sacco";
-App::$strings["Nonsexual"] = "Asessuato";
-App::$strings["Single"] = "Single";
-App::$strings["Lonely"] = "Da solo";
-App::$strings["Available"] = "Disponibile";
-App::$strings["Unavailable"] = "Non disponibile";
-App::$strings["Has crush"] = "Ha una cotta";
-App::$strings["Infatuated"] = "Infatuato/a";
-App::$strings["Dating"] = "Disponibile a un incontro";
-App::$strings["Unfaithful"] = "Infedele";
-App::$strings["Sex Addict"] = "Sesso-dipendente";
-App::$strings["Friends/Benefits"] = "Amici con qualcosa in più";
-App::$strings["Casual"] = "Casual";
-App::$strings["Engaged"] = "Impegnato";
-App::$strings["Married"] = "Sposato/a";
-App::$strings["Imaginarily married"] = "Con matrimonio immaginario";
-App::$strings["Partners"] = "Partner";
-App::$strings["Cohabiting"] = "Convivente";
-App::$strings["Common law"] = "Matrimonio regolare";
-App::$strings["Happy"] = "Felice";
-App::$strings["Not looking"] = "Non in cerca";
-App::$strings["Swinger"] = "Scambista";
-App::$strings["Betrayed"] = "Tradito/a";
-App::$strings["Separated"] = "Separato/a";
-App::$strings["Unstable"] = "Instabile";
-App::$strings["Divorced"] = "Divorziato/a";
-App::$strings["Imaginarily divorced"] = "Sogna il divorzio";
-App::$strings["Widowed"] = "Vedovo/a";
-App::$strings["Uncertain"] = "Incerto/a";
-App::$strings["It's complicated"] = "Relazione complicata";
-App::$strings["Don't care"] = "Chi se ne frega";
-App::$strings["Ask me"] = "Chiedimelo";
-App::$strings["%1\$s's bookmarks"] = "I segnalibri di %1\$s";
+App::$strings["General Features"] = "Funzionalità di base";
+App::$strings["Multiple Profiles"] = "Profili multipli";
+App::$strings["Ability to create multiple profiles"] = "Abilitazione a creare profili multipli";
+App::$strings["Advanced Profiles"] = "Profili avanzati";
+App::$strings["Additional profile sections and selections"] = "Informazioni aggiuntive del profilo";
+App::$strings["Profile Import/Export"] = "Importa/esporta il profilo";
+App::$strings["Save and load profile details across sites/channels"] = "Salva o ripristina le informazioni del profilo su siti diversi";
+App::$strings["Web Pages"] = "Pagine web";
+App::$strings["Provide managed web pages on your channel"] = "Attiva la creazione di pagine web sul tuo canale";
+App::$strings["Provide a wiki for your channel"] = "Fornisce una wiki per il tuo canale";
+App::$strings["Private Notes"] = "Note private";
+App::$strings["Enables a tool to store notes and reminders (note: not encrypted)"] = "Abilita il riquadro per scrivere annotazioni (in chiaro)";
+App::$strings["Navigation Channel Select"] = "Scegli il canale attivo dal menu";
+App::$strings["Change channels directly from within the navigation dropdown menu"] = "Scegli il canale attivo direttamente dal menu di navigazione";
+App::$strings["Photo Location"] = "Posizione geografica";
+App::$strings["If location data is available on uploaded photos, link this to a map."] = "Collega la foto a una mappa quando contiene indicazioni geografiche.";
+App::$strings["Access Controlled Chatrooms"] = "Chat ad accesso riservato";
+App::$strings["Provide chatrooms and chat services with access control."] = "Il servizio di chat con accesso riservato.";
+App::$strings["Smart Birthdays"] = "Compleanni intelligenti";
+App::$strings["Make birthday events timezone aware in case your friends are scattered across the planet."] = "I compleanni saranno segnalati in base al fuso orario, utile se hai amici sparsi per il mondo.";
+App::$strings["Advanced Directory Search"] = "Ricerca avanzata sugli elenchi pubblici";
+App::$strings["Allows creation of complex directory search queries"] = "Permette la creazione di ricerche complesse negli elenchi";
+App::$strings["Advanced Theme and Layout Settings"] = "Impostazioni avanzate del tema e dei layout";
+App::$strings["Allows fine tuning of themes and page layouts"] = "Permette una personalizzazione accurata del tema e dei layout";
+App::$strings["Post Composition Features"] = "Modalità di scrittura post";
+App::$strings["Large Photos"] = "Foto grandi";
+App::$strings["Include large (1024px) photo thumbnails in posts. If not enabled, use small (640px) photo thumbnails"] = "Includi anteprime grandi per le foto dei tuoi post (1024px). Altrimenti saranno mostrate anteprime più piccole (640px)";
+App::$strings["Automatically import channel content from other channels or feeds"] = "Importa automaticamente il contenuto del canale da altri canali o feed";
+App::$strings["Even More Encryption"] = "Cifratura addizionale";
+App::$strings["Allow optional encryption of content end-to-end with a shared secret key"] = "Rendi possibile la crifratura aggiuntiva tra mittente e destinatario usando una parola chiave conosciuta a entrambi";
+App::$strings["Enable Voting Tools"] = "Permetti i post con votazione";
+App::$strings["Provide a class of post which others can vote on"] = "Rende possibile la creazione di post in cui sarà possibile votare";
+App::$strings["Disable Comments"] = "Disabilita i commenti";
+App::$strings["Provide the option to disable comments for a post"] = "Permetti di disabilitare i commenti";
+App::$strings["Delayed Posting"] = "Pubblicazione ritardata";
+App::$strings["Allow posts to be published at a later date"] = "Per scegliere una data e un'ora a cui far uscire i post";
+App::$strings["Content Expiration"] = "Scadenza";
+App::$strings["Remove posts/comments and/or private messages at a future time"] = "Elimina i post, i commenti o i messaggi privati dopo un lasso di tempo";
+App::$strings["Suppress Duplicate Posts/Comments"] = "Impedisci post e commenti duplicati";
+App::$strings["Prevent posts with identical content to be published with less than two minutes in between submissions."] = "Scarta post e commenti se sono identici ad altri inviati meno di due minuti prima.";
+App::$strings["Network and Stream Filtering"] = "Filtraggio dei contenuti";
+App::$strings["Search by Date"] = "Ricerca per data";
+App::$strings["Ability to select posts by date ranges"] = "Per selezionare i post in un intervallo tra date";
+App::$strings["Privacy Groups"] = "Gruppi di canali";
+App::$strings["Enable management and selection of privacy groups"] = "Abilita i gruppi di canali";
+App::$strings["Saved Searches"] = "Ricerche salvate";
+App::$strings["Save search terms for re-use"] = "Salva i termini delle ricerche per poterle ripetere";
+App::$strings["Network Personal Tab"] = "Attività personale";
+App::$strings["Enable tab to display only Network posts that you've interacted on"] = "Abilita il link per mostrare solamente i contenuti con cui hai interagito";
+App::$strings["Network New Tab"] = "Contenuti nuovi";
+App::$strings["Enable tab to display all new Network activity"] = "Abilita il link per visualizzare solo i nuovi contenuti";
+App::$strings["Affinity Tool"] = "Filtro per affinità";
+App::$strings["Filter stream activity by depth of relationships"] = "Permette di selezionare i contenuti in base al livello di amicizia";
+App::$strings["Show friend and connection suggestions"] = "Mostra suggerimenti di contatti e amici";
+App::$strings["Connection Filtering"] = "Filtro sui contatti";
+App::$strings["Filter incoming posts from connections based on keywords/content"] = "Filtra i post che ricevi con parole chiave";
+App::$strings["Post/Comment Tools"] = "Gestione post e commenti";
+App::$strings["Community Tagging"] = "Tag della comunità";
+App::$strings["Ability to tag existing posts"] = "Permetti l'aggiunta di tag su post già esistenti";
+App::$strings["Post Categories"] = "Categorie dei post";
+App::$strings["Add categories to your posts"] = "Abilita le categorie per i tuoi post";
+App::$strings["Emoji Reactions"] = "Risposte emoji";
+App::$strings["Add emoji reaction ability to posts"] = "Permetti di rispondere ai post con degli emoji";
+App::$strings["Saved Folders"] = "Cartelle salvate";
+App::$strings["Ability to file posts under folders"] = "Abilita la raccolta dei tuoi articoli in cartelle";
+App::$strings["Dislike Posts"] = "Non mi piace";
+App::$strings["Ability to dislike posts/comments"] = "Abilità la funzionalità \"non mi piace\" per i tuoi post";
+App::$strings["Star Posts"] = "Post con stella";
+App::$strings["Ability to mark special posts with a star indicator"] = "Mostra la stella per segnare i post preferiti";
+App::$strings["Tag Cloud"] = "Nuvola di tag";
+App::$strings["Provide a personal tag cloud on your channel page"] = "Mostra la nuvola dei tag che usi di più sulla pagina del tuo canale";
+App::$strings["Premium Channel"] = "Canale premium";
+App::$strings["Allows you to set restrictions and terms on those that connect with your channel"] = "Ti permette di impostare restrizioni e termini d'uso per il canale";
+App::$strings["Help:"] = "Guida:";
App::$strings["guest:"] = "ospite:";
App::$strings["The form security token was not correct. This probably happened because the form has been opened for too long (>3 hours) before submitting it."] = "I controlli di sicurezza sono falliti. Probabilmente è accaduto perché la pagina è stata tenuta aperta troppo a lungo (ore?) prima di inviare il contenuto.";
App::$strings["prev"] = "prec";
@@ -1878,6 +1704,7 @@ App::$strings["newer"] = "più nuovi";
App::$strings["No connections"] = "Nessun contatto";
App::$strings["View all %s connections"] = "Mostra tutti i %s contatti";
App::$strings["poke"] = "poke";
+App::$strings["poked"] = "ha mandato un poke";
App::$strings["ping"] = "ping";
App::$strings["pinged"] = "ha effettuato un ping";
App::$strings["prod"] = "spintone";
@@ -1940,108 +1767,25 @@ App::$strings["Select an alternate language"] = "Seleziona una lingua diversa";
App::$strings["activity"] = "l'attività";
App::$strings["Design Tools"] = "Strumenti di design";
App::$strings["Pages"] = "Pagine";
-App::$strings["Logged out."] = "Uscita effettuata.";
-App::$strings["Failed authentication"] = "Autenticazione fallita";
-App::$strings["Can view my normal stream and posts"] = "Può vedere i miei contenuti e i post normali";
-App::$strings["Can view my webpages"] = "Può vedere le mie pagine web";
-App::$strings["Can post on my channel page (\"wall\")"] = "Può scrivere sulla bacheca del mio canale";
-App::$strings["Can like/dislike stuff"] = "Può aggiungere \"mi piace\" a tutto il resto";
-App::$strings["Profiles and things other than posts/comments"] = "Può aggiungere \"mi piace\" a tutto ciò che non riguarda i post, come per esempio il profilo";
-App::$strings["Can forward to all my channel contacts via post @mentions"] = "Può inoltrare post a tutti i contatti del canale tramite una @menzione";
-App::$strings["Advanced - useful for creating group forum channels"] = "Impostazione avanzata - utile per creare un canale-forum di discussione";
-App::$strings["Can chat with me (when available)"] = "Può aprire una chat con me (se disponibile)";
-App::$strings["Can write to my file storage and photos"] = "Può modificare il mio archivio file e foto";
-App::$strings["Can edit my webpages"] = "Può modificare le mie pagine web";
-App::$strings["Somewhat advanced - very useful in open communities"] = "Piuttosto avanzato - molto utile nelle comunità aperte";
-App::$strings["Can administer my channel resources"] = "Può amministrare i contenuti del mio canale";
-App::$strings["Extremely advanced. Leave this alone unless you know what you are doing"] = "Impostazione pericolosa - lasciare il valore predefinito se non si è assolutamente sicuri";
-App::$strings["General Features"] = "Funzionalità di base";
-App::$strings["Content Expiration"] = "Scadenza";
-App::$strings["Remove posts/comments and/or private messages at a future time"] = "Elimina i post, i commenti o i messaggi privati dopo un lasso di tempo";
-App::$strings["Multiple Profiles"] = "Profili multipli";
-App::$strings["Ability to create multiple profiles"] = "Abilitazione a creare profili multipli";
-App::$strings["Advanced Profiles"] = "Profili avanzati";
-App::$strings["Additional profile sections and selections"] = "Informazioni aggiuntive del profilo";
-App::$strings["Profile Import/Export"] = "Importa/esporta il profilo";
-App::$strings["Save and load profile details across sites/channels"] = "Salva o ripristina le informazioni del profilo su siti diversi";
-App::$strings["Web Pages"] = "Pagine web";
-App::$strings["Provide managed web pages on your channel"] = "Attiva la creazione di pagine web sul tuo canale";
-App::$strings["Provide a wiki for your channel"] = "Fornisce una wiki per il tuo canale";
-App::$strings["Hide Rating"] = "Nascondi le valutazioni";
-App::$strings["Hide the rating buttons on your channel and profile pages. Note: People can still rate you somewhere else."] = "Nascondi i bottoni delle valutazioni sul tuo canale e sul profilo. Nota: le persone potranno comunque esprimere una valutazione altrove.";
-App::$strings["Private Notes"] = "Note private";
-App::$strings["Enables a tool to store notes and reminders (note: not encrypted)"] = "Abilita il riquadro per scrivere annotazioni (in chiaro)";
-App::$strings["Navigation Channel Select"] = "Scegli il canale attivo dal menu";
-App::$strings["Change channels directly from within the navigation dropdown menu"] = "Scegli il canale attivo direttamente dal menu di navigazione";
-App::$strings["Photo Location"] = "Posizione geografica";
-App::$strings["If location data is available on uploaded photos, link this to a map."] = "Collega la foto a una mappa quando contiene indicazioni geografiche.";
-App::$strings["Access Controlled Chatrooms"] = "Chat ad accesso riservato";
-App::$strings["Provide chatrooms and chat services with access control."] = "Il servizio di chat con accesso riservato";
-App::$strings["Smart Birthdays"] = "Compleanni intelligenti";
-App::$strings["Make birthday events timezone aware in case your friends are scattered across the planet."] = "I compleanni saranno segnalati in base al fuso orario, utile se hai amici sparsi per il mondo.";
-App::$strings["Expert Mode"] = "Modalità esperto";
-App::$strings["Enable Expert Mode to provide advanced configuration options"] = "Abilita la modalità esperto per vedere le opzioni di configurazione avanzate";
-App::$strings["Premium Channel"] = "Canale premium";
-App::$strings["Allows you to set restrictions and terms on those that connect with your channel"] = "Ti permette di impostare restrizioni e termini d'uso per il canale";
-App::$strings["Post Composition Features"] = "Modalità di scrittura post";
-App::$strings["Large Photos"] = "Foto grandi";
-App::$strings["Include large (1024px) photo thumbnails in posts. If not enabled, use small (640px) photo thumbnails"] = "Includi anteprime grandi per le foto dei tuoi post (1024px). Altrimenti saranno mostrate anteprime più piccole (640px)";
-App::$strings["Automatically import channel content from other channels or feeds"] = "Importa automaticamente il contenuto del canale da altri canali o feed";
-App::$strings["Even More Encryption"] = "Cifratura addizionale";
-App::$strings["Allow optional encryption of content end-to-end with a shared secret key"] = "Rendi possibile la crifratura aggiuntiva tra mittente e destinatario usando una parola chiave conosciuta a entrambi";
-App::$strings["Enable Voting Tools"] = "Permetti i post con votazione";
-App::$strings["Provide a class of post which others can vote on"] = "Rende possibile la creazione di post in cui sarà possibile votare";
-App::$strings["Delayed Posting"] = "Pubblicazione ritardata";
-App::$strings["Allow posts to be published at a later date"] = "Per scegliere una data e un'ora a cui far uscire i post";
-App::$strings["Suppress Duplicate Posts/Comments"] = "Impedisci post e commenti duplicati";
-App::$strings["Prevent posts with identical content to be published with less than two minutes in between submissions."] = "Scarta post e commenti se sono identici ad altri inviati meno di due minuti prima.";
-App::$strings["Network and Stream Filtering"] = "Filtraggio dei contenuti";
-App::$strings["Search by Date"] = "Ricerca per data";
-App::$strings["Ability to select posts by date ranges"] = "Per selezionare i post in un intervallo tra date";
-App::$strings["Privacy Groups"] = "Gruppi di canali";
-App::$strings["Enable management and selection of privacy groups"] = "Abilita i gruppi di canali";
-App::$strings["Saved Searches"] = "Ricerche salvate";
-App::$strings["Save search terms for re-use"] = "Salva i termini delle ricerche per poterle ripetere";
-App::$strings["Network Personal Tab"] = "Attività personale";
-App::$strings["Enable tab to display only Network posts that you've interacted on"] = "Abilita il link per mostrare solamente i contenuti con cui hai interagito";
-App::$strings["Network New Tab"] = "Contenuti nuovi";
-App::$strings["Enable tab to display all new Network activity"] = "Abilita il link per visualizzare solo i nuovi contenuti";
-App::$strings["Affinity Tool"] = "Filtro per affinità";
-App::$strings["Filter stream activity by depth of relationships"] = "Permette di selezionare i contenuti in base al livello di amicizia";
-App::$strings["Connection Filtering"] = "Filtro sui contatti";
-App::$strings["Filter incoming posts from connections based on keywords/content"] = "Filtra i post che ricevi con parole chiave";
-App::$strings["Show channel suggestions"] = "Mostra alcuni canali che potrebbero interessarti";
-App::$strings["Post/Comment Tools"] = "Gestione post e commenti";
-App::$strings["Community Tagging"] = "Tag della comunità";
-App::$strings["Ability to tag existing posts"] = "Permetti l'aggiunta di tag su post già esistenti";
-App::$strings["Post Categories"] = "Categorie dei post";
-App::$strings["Add categories to your posts"] = "Abilita le categorie per i tuoi post";
-App::$strings["Emoji Reactions"] = "Reazioni emoji";
-App::$strings["Add emoji reaction ability to posts"] = "Permetti le reazioni emoji ai post";
-App::$strings["Saved Folders"] = "Cartelle salvate";
-App::$strings["Ability to file posts under folders"] = "Abilita la raccolta dei tuoi articoli in cartelle";
-App::$strings["Dislike Posts"] = "Non mi piace";
-App::$strings["Ability to dislike posts/comments"] = "Abilità la funzionalità \"non mi piace\" per i tuoi post";
-App::$strings["Star Posts"] = "Post con stella";
-App::$strings["Ability to mark special posts with a star indicator"] = "Mostra la stella per segnare i post preferiti";
-App::$strings["Tag Cloud"] = "Nuvola di tag";
-App::$strings["Provide a personal tag cloud on your channel page"] = "Mostra la nuvola dei tag che usi di più sulla pagina del tuo canale";
-App::$strings["A deleted group with this name was revived. Existing item permissions <strong>may</strong> apply to this group and any future members. If this is not what you intended, please create another group with a different name."] = "Un gruppo di canali con lo stesso nome esisteva in precedenza ed è stato ripristinato. I vecchi permessi saranno applicati ai nuovi canali. Se non vuoi che ciò accada, devi creare un gruppo con un nome diverso.";
-App::$strings["Add new connections to this privacy group"] = "Aggiungi nuovi contatti a questo gruppo di canali";
-App::$strings["edit"] = "modifica";
-App::$strings["Edit group"] = "Modifica il gruppo";
-App::$strings["Add privacy group"] = "Crea un gruppo di canali";
-App::$strings["Channels not in any privacy group"] = "Canali che non sono in nessun gruppo";
-App::$strings["add"] = "aggiungi";
-App::$strings["l F d, Y \\@ g:i A"] = "l d F Y \\@ G:i";
-App::$strings["Starts:"] = "Inizio:";
-App::$strings["Finishes:"] = "Fine:";
-App::$strings["This event has been added to your calendar."] = "Questo evento è stato aggiunto al tuo calendario";
-App::$strings["Not specified"] = "Non specificato";
-App::$strings["Needs Action"] = "Necessita di un intervento";
-App::$strings["Completed"] = "Completato";
-App::$strings["In Process"] = "In corso";
-App::$strings["Cancelled"] = "Annullato";
+App::$strings["Import website..."] = "Importazione sito web...";
+App::$strings["Select folder to import"] = "Scegli la cartella da importare";
+App::$strings["Import from a zipped folder:"] = "Importa da un file zip:";
+App::$strings["Import from cloud files:"] = "Importa da un file su cloud:";
+App::$strings["/cloud/channel/path/to/folder"] = "/cloud/channel/posizione/della/cartella";
+App::$strings["Enter path to website files"] = "Inserisci la posizione dei file del sito web";
+App::$strings["Select folder"] = "Scegli la cartella";
+App::$strings["Export website..."] = "Esporta il sito web...";
+App::$strings["Export to a zip file"] = "Esporta come file zip";
+App::$strings["website.zip"] = "sitoweb.zip";
+App::$strings["Enter a name for the zip file."] = "Scegli il nome del file zip.";
+App::$strings["Export to cloud files"] = "Esporta nell'archivio cloud";
+App::$strings["/path/to/export/folder"] = "/percorso/alla/cartella";
+App::$strings["Enter a path to a cloud files destination."] = "Scegli la posizione su una cartella cloud.";
+App::$strings["Specify folder"] = "Scegli la cartella";
+App::$strings["Invalid data packet"] = "Dati ricevuti non validi";
+App::$strings["Unable to verify channel signature"] = "Impossibile verificare la firma elettronica del canale";
+App::$strings["Unable to verify site signature for %s"] = "Impossibile verificare la firma elettronica del sito %s";
+App::$strings["invalid target signature"] = "la firma ricevuta non è valida";
App::$strings["Not a valid email address"] = "Email non valida";
App::$strings["Your email domain is not among those allowed on this site"] = "Il dominio della tua email attualmente non è permesso su questo sito";
App::$strings["Your email address is already registered at this site."] = "La tua email è già registrata su questo sito.";
@@ -2051,6 +1795,7 @@ App::$strings["Please enter the required information."] = "Inserisci le informaz
App::$strings["Failed to store account information."] = "Non è stato possibile salvare le informazioni del tuo account.";
App::$strings["Registration confirmation for %s"] = "Registrazione di %s confermata";
App::$strings["Registration request at %s"] = "Richiesta di registrazione su %s";
+App::$strings["Administrator"] = "Amministratore";
App::$strings["your registration password"] = "la password di registrazione";
App::$strings["Registration details for %s"] = "Dettagli della registrazione di %s";
App::$strings["Account approved."] = "Account approvato.";
@@ -2058,113 +1803,183 @@ App::$strings["Registration revoked for %s"] = "Registrazione revocata per %s";
App::$strings["Click here to upgrade."] = "Clicca qui per aggiornare.";
App::$strings["This action exceeds the limits set by your subscription plan."] = "Questa operazione supera i limiti del tuo abbonamento.";
App::$strings["This action is not available under your subscription plan."] = "Questa operazione non è prevista dal tuo abbonamento.";
-App::$strings["Channel is blocked on this site."] = "Il canale è bloccato per questo sito.";
-App::$strings["Channel location missing."] = "Manca l'indirizzo del canale.";
-App::$strings["Response from remote channel was incomplete."] = "La risposta dal canale non è completa.";
-App::$strings["Channel was deleted and no longer exists."] = "Il canale è stato rimosso e non esiste più.";
-App::$strings["Protocol disabled."] = "Protocollo disabilitato.";
-App::$strings["Channel discovery failed."] = "La ricerca del canale non ha avuto successo.";
-App::$strings["Cannot connect to yourself."] = "Non puoi connetterti a te stesso.";
-App::$strings["Item was not found."] = "Elemento non trovato.";
-App::$strings["No source file."] = "Nessun file di origine.";
-App::$strings["Cannot locate file to replace"] = "Il file da sostituire non è stato trovato";
-App::$strings["Cannot locate file to revise/update"] = "Il file da aggiornare non è stato trovato";
-App::$strings["File exceeds size limit of %d"] = "Il file supera la dimensione massima di %d";
-App::$strings["You have reached your limit of %1$.0f Mbytes attachment storage."] = "Hai raggiunto il limite complessivo di %1$.0f Mbytes per gli allegati.";
-App::$strings["File upload failed. Possible system limit or action terminated."] = "Caricamento file fallito, potrebbe essere stato interrotto o potrebbe aver superato lo spazio assegnato.";
-App::$strings["Stored file could not be verified. Upload failed."] = "Il file non può essere verificato. Caricamento fallito.";
-App::$strings["Path not available."] = "Percorso non disponibile.";
-App::$strings["Empty pathname"] = "Il percorso del file è vuoto";
-App::$strings["duplicate filename or path"] = "il file o il percorso del file è duplicato";
-App::$strings["Path not found."] = "Percorso del file non trovato.";
-App::$strings["mkdir failed."] = "mkdir fallito.";
-App::$strings["database storage failed."] = "scrittura su database fallita.";
-App::$strings["Empty path"] = "La posizione è vuota";
-App::$strings["Image/photo"] = "Immagine";
-App::$strings["Encrypted content"] = "Contenuto cifrato";
-App::$strings["Install %s element: "] = "Installa l'elemento %s:";
-App::$strings["This post contains an installable %s element, however you lack permissions to install it on this site."] = "Questo post contiene un elemento %s installabile, tuttavia non hai i permessi necessari per l'installazione.";
-App::$strings["%1\$s wrote the following %2\$s %3\$s"] = "%1\$s ha scritto %2\$s %3\$s";
-App::$strings["Click to open/close"] = "Clicca per aprire/chiudere";
-App::$strings["spoiler"] = "spoiler";
+App::$strings["No recipient provided."] = "Devi scegliere un destinatario.";
+App::$strings["[no subject]"] = "[nessun titolo]";
+App::$strings["Unable to determine sender."] = "Impossibile determinare il mittente.";
+App::$strings["Stored post could not be verified."] = "Non è stato possibile verificare il post.";
+App::$strings["Frequently"] = "Frequentemente";
+App::$strings["Hourly"] = "Ogni ora";
+App::$strings["Twice daily"] = "Due volte al giorno";
+App::$strings["Daily"] = "Ogni giorno";
+App::$strings["Weekly"] = "Ogni settimana";
+App::$strings["Monthly"] = "Ogni mese";
+App::$strings["Male"] = "Maschio";
+App::$strings["Female"] = "Femmina";
+App::$strings["Currently Male"] = "Al momento maschio";
+App::$strings["Currently Female"] = "Al momento femmina";
+App::$strings["Mostly Male"] = "Prevalentemente maschio";
+App::$strings["Mostly Female"] = "Prevalentemente femmina";
+App::$strings["Transgender"] = "Transgender";
+App::$strings["Intersex"] = "Intersex";
+App::$strings["Transsexual"] = "Transessuale";
+App::$strings["Hermaphrodite"] = "Ermafrodito";
+App::$strings["Neuter"] = "Neutro";
+App::$strings["Non-specific"] = "Non specificato";
+App::$strings["Undecided"] = "Indeciso";
+App::$strings["Males"] = "Maschi";
+App::$strings["Females"] = "Femmine";
+App::$strings["Gay"] = "Gay";
+App::$strings["Lesbian"] = "Lesbica";
+App::$strings["No Preference"] = "Senza preferenza";
+App::$strings["Bisexual"] = "Bisessuale";
+App::$strings["Autosexual"] = "Autosessuale";
+App::$strings["Abstinent"] = "Astinente";
+App::$strings["Virgin"] = "Vergine";
+App::$strings["Deviant"] = "Deviato";
+App::$strings["Fetish"] = "Feticista";
+App::$strings["Oodles"] = "Un sacco";
+App::$strings["Nonsexual"] = "Asessuato";
+App::$strings["Single"] = "Single";
+App::$strings["Lonely"] = "Da solo";
+App::$strings["Available"] = "Disponibile";
+App::$strings["Unavailable"] = "Non disponibile";
+App::$strings["Has crush"] = "Ha una cotta";
+App::$strings["Infatuated"] = "Infatuato/a";
+App::$strings["Dating"] = "Disponibile a un incontro";
+App::$strings["Unfaithful"] = "Infedele";
+App::$strings["Sex Addict"] = "Sesso-dipendente";
+App::$strings["Friends/Benefits"] = "Amici con qualcosa in più";
+App::$strings["Casual"] = "Casual";
+App::$strings["Engaged"] = "Impegnato";
+App::$strings["Married"] = "Sposato/a";
+App::$strings["Imaginarily married"] = "Con matrimonio immaginario";
+App::$strings["Partners"] = "Partner";
+App::$strings["Cohabiting"] = "Convivente";
+App::$strings["Common law"] = "Matrimonio regolare";
+App::$strings["Happy"] = "Felice";
+App::$strings["Not looking"] = "Non in cerca";
+App::$strings["Swinger"] = "Scambista";
+App::$strings["Betrayed"] = "Tradito/a";
+App::$strings["Separated"] = "Separato/a";
+App::$strings["Unstable"] = "Instabile";
+App::$strings["Divorced"] = "Divorziato/a";
+App::$strings["Imaginarily divorced"] = "Sogna il divorzio";
+App::$strings["Widowed"] = "Vedovo/a";
+App::$strings["Uncertain"] = "Incerto/a";
+App::$strings["It's complicated"] = "Relazione complicata";
+App::$strings["Don't care"] = "Chi se ne frega";
+App::$strings["Ask me"] = "Chiedimelo";
+App::$strings["Unable to obtain identity information from database"] = "Impossibile ottenere le informazioni di identificazione dal database";
+App::$strings["Empty name"] = "Nome vuoto";
+App::$strings["Name too long"] = "Nome troppo lungo";
+App::$strings["No account identifier"] = "Account senza identificativo";
+App::$strings["Nickname is required."] = "Il nome dell'account è obbligatorio.";
+App::$strings["Reserved nickname. Please choose another."] = "Nome utente riservato. Per favore scegline un altro.";
+App::$strings["Nickname has unsupported characters or is already being used on this site."] = "Il nome dell'account è già in uso oppure ha dei caratteri non supportati.";
+App::$strings["Unable to retrieve created identity"] = "Impossibile caricare l'identità creata";
+App::$strings["Default Profile"] = "Profilo predefinito";
+App::$strings["Requested channel is not available."] = "Il canale che cerchi non è disponibile.";
+App::$strings["Create New Profile"] = "Crea un nuovo profilo";
+App::$strings["Edit Profile"] = "Modifica il profilo";
+App::$strings["Visible to everybody"] = "Visibile a tutti";
+App::$strings["Gender:"] = "Sesso:";
+App::$strings["Status:"] = "Stato:";
+App::$strings["Homepage:"] = "Home page:";
+App::$strings["Online Now"] = "Online adesso";
+App::$strings["Like this channel"] = "Mi piace questo canale";
+App::$strings["j F, Y"] = "j F Y";
+App::$strings["j F"] = "j F";
+App::$strings["Birthday:"] = "Compleanno:";
+App::$strings["for %1\$d %2\$s"] = "per %1\$d %2\$s";
+App::$strings["Sexual Preference:"] = "Preferenze sessuali:";
+App::$strings["Tags:"] = "Tag:";
+App::$strings["Political Views:"] = "Orientamento politico:";
+App::$strings["Religion:"] = "Religione:";
+App::$strings["Hobbies/Interests:"] = "Interessi e hobby:";
+App::$strings["Likes:"] = "Mi piace:";
+App::$strings["Dislikes:"] = "Non mi piace:";
+App::$strings["Contact information and Social Networks:"] = "Contatti e social network:";
+App::$strings["My other channels:"] = "I miei altri canali:";
+App::$strings["Musical interests:"] = "Gusti musicali:";
+App::$strings["Books, literature:"] = "Libri, letteratura:";
+App::$strings["Television:"] = "Televisione:";
+App::$strings["Film/dance/culture/entertainment:"] = "Film, danza, cultura, intrattenimento:";
+App::$strings["Love/Romance:"] = "Amore:";
+App::$strings["Work/employment:"] = "Lavoro:";
+App::$strings["School/education:"] = "Scuola:";
+App::$strings["Like this thing"] = "Mi piace";
+App::$strings["Who can see this?"] = "Chi può vederlo?";
+App::$strings["Custom selection"] = "Selezione personalizzata";
+App::$strings["Select \"Show\" to allow viewing. \"Don't show\" lets you override and limit the scope of \"Show\"."] = "Scegli \"Mostra\" per permettere la visione. \"Non mostrare\" ha la precedenza e limita l'effetto di \"Mostra\".";
+App::$strings["Show"] = "Mostra";
+App::$strings["Don't show"] = "Non mostrare";
+App::$strings["Post permissions %s cannot be changed %s after a post is shared.</br />These permissions set who is allowed to view the post."] = "I permessi del post %s non possono essere cambiati %s dopo che un post è stato condiviso.</br />Questi permessi definiscono chi ha diritto di vedere il post.";
+App::$strings["%1\$s's bookmarks"] = "I segnalibri di %1\$s";
+App::$strings["A deleted group with this name was revived. Existing item permissions <strong>may</strong> apply to this group and any future members. If this is not what you intended, please create another group with a different name."] = "Un gruppo di canali con lo stesso nome esisteva in precedenza ed è stato ripristinato. I vecchi permessi saranno applicati ai nuovi canali. Se non vuoi che ciò accada, devi creare un gruppo con un nome diverso.";
+App::$strings["Add new connections to this privacy group"] = "Aggiungi nuovi contatti a questo gruppo di canali";
+App::$strings["edit"] = "modifica";
+App::$strings["Edit group"] = "Modifica il gruppo";
+App::$strings["Add privacy group"] = "Crea un gruppo di canali";
+App::$strings["Channels not in any privacy group"] = "Canali che non sono in nessun gruppo";
+App::$strings["add"] = "aggiungi";
+App::$strings["New window"] = "Nuova finestra";
+App::$strings["Open the selected location in a different window or browser tab"] = "Apri l'indirizzo selezionato in una nuova scheda o finestra";
+App::$strings["User '%s' deleted"] = "Utente '%s' eliminato";
+App::$strings["New Page"] = "Nuova pagina web";
+App::$strings["Title"] = "Titolo";
App::$strings["Different viewers will see this text differently"] = "Ad altri questo testo potrebbe apparire in modo differente";
-App::$strings["$1 wrote:"] = "$1 ha scritto:";
-App::$strings["(Unknown)"] = "(Sconosciuto)";
-App::$strings["Visible to anybody on the internet."] = "Visibile a chiunque su internet.";
-App::$strings["Visible to you only."] = "Visibile solo a te.";
-App::$strings["Visible to anybody in this network."] = "Visibile a tutti su questa rete.";
-App::$strings["Visible to anybody authenticated."] = "Visibile a chiunque sia autenticato.";
-App::$strings["Visible to anybody on %s."] = "Visibile a tutti su %s.";
-App::$strings["Visible to all connections."] = "Visibile a tutti coloro che ti seguono.";
-App::$strings["Visible to approved connections."] = "Visibile ai contatti approvati.";
-App::$strings["Visible to specific connections."] = "Visibile ad alcuni contatti scelti.";
-App::$strings["Privacy group is empty."] = "Gruppo di canali vuoto.";
-App::$strings["Privacy group: %s"] = "Gruppo di canali: %s";
-App::$strings["Connection not found."] = "Contatto non trovato.";
-App::$strings["profile photo"] = "foto del profilo";
-App::$strings["Embedded content"] = "Contenuti incorporati";
-App::$strings["Embedding disabled"] = "Disabilita la creazione di contenuti incorporati";
-App::$strings["System"] = "Sistema";
-App::$strings["New App"] = "Nuova app";
-App::$strings["Suggestions"] = "Suggerimenti";
-App::$strings["See more..."] = "Altro...";
-App::$strings["You have %1$.0f of %2$.0f allowed connections."] = "Hai attivato %1$.0f delle %2$.0f connessioni permesse.";
-App::$strings["Add New Connection"] = "Aggiungi un contatto";
-App::$strings["Enter channel address"] = "Indirizzo del canale";
-App::$strings["Examples: bob@example.com, https://example.com/barbara"] = "Per esempio: bob@example.com, https://example.com/barbara";
-App::$strings["Notes"] = "Note";
-App::$strings["Remove term"] = "Rimuovi termine";
-App::$strings["Everything"] = "Tutto";
-App::$strings["Archives"] = "Archivi";
-App::$strings["Refresh"] = "Aggiorna";
-App::$strings["Account settings"] = "Il tuo account";
-App::$strings["Channel settings"] = "Impostazioni del canale";
-App::$strings["Additional features"] = "Funzionalità opzionali";
-App::$strings["Feature/Addon settings"] = "Componenti aggiuntivi";
-App::$strings["Display settings"] = "Aspetto";
-App::$strings["Manage locations"] = "Gestione repliche";
-App::$strings["Export channel"] = "Esporta il canale";
-App::$strings["Connected apps"] = "App connesse";
-App::$strings["Premium Channel Settings"] = "Canale premium - impostazioni";
-App::$strings["Private Mail Menu"] = "Menu messaggi privati";
-App::$strings["Combined View"] = "Vista combinata";
-App::$strings["Conversations"] = "Conversazioni";
-App::$strings["Received Messages"] = "Ricevuti";
-App::$strings["Sent Messages"] = "Inviati";
-App::$strings["No messages."] = "Nessun messaggio.";
-App::$strings["Delete conversation"] = "Elimina la conversazione";
-App::$strings["Events Tools"] = "Gestione eventi";
-App::$strings["Export Calendar"] = "Esporta calendario";
-App::$strings["Import Calendar"] = "Importa calendario";
-App::$strings["Overview"] = "Riepilogo";
-App::$strings["Chat Members"] = "Partecipanti";
-App::$strings["Wiki List"] = "Elenco wiki";
-App::$strings["Wiki Pages"] = "Pagine wiki";
-App::$strings["Bookmarked Chatrooms"] = "Chat nei segnalibri";
-App::$strings["Suggested Chatrooms"] = "Chat suggerite";
-App::$strings["photo/image"] = "foto/immagine";
-App::$strings["Click to show more"] = "Clicca per mostrare tutto";
-App::$strings["Rating Tools"] = "Valutazione";
-App::$strings["Rate Me"] = "Valutami";
-App::$strings["View Ratings"] = "Vedi le valutazioni ricevute";
-App::$strings["Forums"] = "Forum";
-App::$strings["Tasks"] = "Attività";
-App::$strings["Documentation"] = "Guida";
-App::$strings["Project/Site Information"] = "Informazioni sul sito/progetto";
-App::$strings["For Members"] = "Per gli utenti";
-App::$strings["For Administrators"] = "Per gli amministratori";
-App::$strings["For Developers"] = "Per sviluppatori";
-App::$strings["Member registrations waiting for confirmation"] = "Richieste in attesa di conferma";
-App::$strings["Inspect queue"] = "Coda di attesa";
-App::$strings["DB updates"] = "Aggiornamenti al DB";
-App::$strings["Plugin Features"] = "Plugin";
-App::$strings[" and "] = "e";
-App::$strings["public profile"] = "profilo pubblico";
-App::$strings["%1\$s changed %2\$s to &ldquo;%3\$s&rdquo;"] = "%1\$s ha cambiato %2\$s in &ldquo;%3\$s&rdquo;";
-App::$strings["Visit %1\$s's %2\$s"] = "Guarda %2\$s di %1\$s ";
-App::$strings["%1\$s has an updated %2\$s, changing %3\$s."] = "%1\$s ha aggiornato %2\$s cambiando %3\$s.";
+App::$strings["Logout"] = "Esci";
+App::$strings["End this session"] = "Chiudi questa sessione";
+App::$strings["Home"] = "Bacheca";
+App::$strings["Your posts and conversations"] = "I tuoi post e conversazioni";
+App::$strings["Your profile page"] = "Il tuo profilo";
+App::$strings["Manage/Edit profiles"] = "Gestisci i tuoi profili";
+App::$strings["Edit your profile"] = "Modifica il tuo profilo";
+App::$strings["Your photos"] = "Le tue foto";
+App::$strings["Your files"] = "I tuoi file";
+App::$strings["Your chatrooms"] = "Le tue chat";
+App::$strings["Bookmarks"] = "Segnalibri";
+App::$strings["Your bookmarks"] = "I tuoi segnalibri";
+App::$strings["Your webpages"] = "Le tue pagine web";
+App::$strings["Your wiki"] = "La tua wiki";
+App::$strings["Sign in"] = "Accedi";
+App::$strings["%s - click to logout"] = "%s - clicca per uscire";
+App::$strings["Remote authentication"] = "Accedi dal tuo hub";
+App::$strings["Click to authenticate to your home hub"] = "Clicca per farti riconoscere dal tuo hub principale";
+App::$strings["Home Page"] = "Bacheca";
+App::$strings["Create an account"] = "Crea un account";
+App::$strings["Help and documentation"] = "Guida e documentazione";
+App::$strings["Applications, utilities, links, games"] = "Applicazioni, utilità, link, giochi";
+App::$strings["Search site @name, #tag, ?docs, content"] = "Cerca nel sito per @nome, #tag, ?guida o per contenuto";
+App::$strings["Channel Directory"] = "Elenchi pubblici dei canali";
+App::$strings["Your grid"] = "La tua rete";
+App::$strings["Mark all grid notifications seen"] = "Segna come lette le notifiche della tua rete";
+App::$strings["Channel home"] = "Bacheca del canale";
+App::$strings["Mark all channel notifications seen"] = "Segna come lette le notifiche del canale";
+App::$strings["Notices"] = "Avvisi";
+App::$strings["Notifications"] = "Notifiche";
+App::$strings["See all notifications"] = "Vedi tutte le notifiche";
+App::$strings["Private mail"] = "Messaggi privati";
+App::$strings["See all private messages"] = "Guarda tutti i messaggi privati";
+App::$strings["Mark all private messages seen"] = "Segna come letti tutti i messaggi privati";
+App::$strings["Inbox"] = "In arrivo";
+App::$strings["Outbox"] = "Inviati";
+App::$strings["New Message"] = "Nuovo messaggio";
+App::$strings["Event Calendar"] = "Calendario";
+App::$strings["See all events"] = "Guarda tutti gli eventi";
+App::$strings["Mark all events seen"] = "Marca come letti tutti gli eventi";
+App::$strings["Manage Your Channels"] = "Gestisci i tuoi canali";
+App::$strings["Account/Channel Settings"] = "Impostazioni dell'account e del canale";
+App::$strings["Admin"] = "Amministrazione";
+App::$strings["Site Setup and Configuration"] = "Installazione e configurazione del sito";
+App::$strings["Loading..."] = "Caricamento in corso...";
+App::$strings["@name, #tag, ?doc, content"] = "@nome, #tag, ?guida, contenuto";
+App::$strings["Please wait..."] = "Attendere...";
App::$strings["Attachments:"] = "Allegati:";
+App::$strings["l F d, Y \\@ g:i A"] = "l d F Y \\@ G:i";
App::$strings["\$Projectname event notification:"] = "Notifica evento \$Projectname:";
+App::$strings["Starts:"] = "Inizio:";
+App::$strings["Finishes:"] = "Fine:";
App::$strings["Delete this item?"] = "Eliminare questo elemento?";
App::$strings["%s show less"] = "%s riduci";
App::$strings["%s expand"] = "%s mostra tutto";
@@ -2223,37 +2038,109 @@ App::$strings["__ctx:calendar__ month"] = "mese";
App::$strings["__ctx:calendar__ week"] = "settimana";
App::$strings["__ctx:calendar__ day"] = "giorno";
App::$strings["__ctx:calendar__ All day"] = "Tutto il giorno";
-App::$strings["%d invitation available"] = array(
- 0 => "%d invito disponibile",
- 1 => "%d inviti disponibili",
+App::$strings["Channel is blocked on this site."] = "Il canale è bloccato per questo sito.";
+App::$strings["Channel location missing."] = "Manca l'indirizzo del canale.";
+App::$strings["Response from remote channel was incomplete."] = "La risposta dal canale non è completa.";
+App::$strings["Channel was deleted and no longer exists."] = "Il canale è stato rimosso e non esiste più.";
+App::$strings["Protocol disabled."] = "Protocollo disabilitato.";
+App::$strings["Channel discovery failed."] = "La ricerca del canale non ha avuto successo.";
+App::$strings["Cannot connect to yourself."] = "Non puoi connetterti a te stesso.";
+App::$strings["Image/photo"] = "Immagine";
+App::$strings["Encrypted content"] = "Contenuto cifrato";
+App::$strings["Install %s element: "] = "Installa l'elemento %s:";
+App::$strings["This post contains an installable %s element, however you lack permissions to install it on this site."] = "Questo post contiene un elemento %s installabile, tuttavia non hai i permessi necessari per l'installazione.";
+App::$strings["%1\$s wrote the following %2\$s %3\$s"] = "%1\$s ha scritto %2\$s %3\$s";
+App::$strings["Click to open/close"] = "Clicca per aprire/chiudere";
+App::$strings["spoiler"] = "spoiler";
+App::$strings["$1 wrote:"] = "$1 ha scritto:";
+App::$strings["%1\$s is now connected with %2\$s"] = "%1\$s adesso è connesso con %2\$s";
+App::$strings["%1\$s poked %2\$s"] = "%1\$s ha mandato un poke a %2\$s";
+App::$strings["View %s's profile @ %s"] = "Vedi il profilo di %s @ %s";
+App::$strings["Categories:"] = "Categorie:";
+App::$strings["Filed under:"] = "Classificato come:";
+App::$strings["View in context"] = "Vedi nel contesto";
+App::$strings["remove"] = "rimuovi";
+App::$strings["Delete Selected Items"] = "Elimina gli oggetti selezionati";
+App::$strings["View Source"] = "Vedi il sorgente";
+App::$strings["Follow Thread"] = "Segui la discussione";
+App::$strings["Unfollow Thread"] = "Non seguire la discussione";
+App::$strings["Activity/Posts"] = "Attività e Post";
+App::$strings["Edit Connection"] = "Modifica il contatto";
+App::$strings["Message"] = "Messaggio";
+App::$strings["%s likes this."] = "Piace a %s.";
+App::$strings["%s doesn't like this."] = "Non piace a %s.";
+App::$strings["<span %1\$s>%2\$d people</span> like this."] = array(
+ 0 => "",
+ 1 => "Piace a <span %1\$s>%2\$d persone</span>.",
);
-App::$strings["Find Channels"] = "Ricerca canali";
-App::$strings["Enter name or interest"] = "Scrivi un nome o un interesse";
-App::$strings["Connect/Follow"] = "Aggiungi";
-App::$strings["Examples: Robert Morgenstein, Fishing"] = "Per esempio: Mario Rossi, Pesca";
-App::$strings["Random Profile"] = "Profilo casuale";
-App::$strings["Invite Friends"] = "Invita amici";
-App::$strings["Advanced example: name=fred and country=iceland"] = "Per esempio: name=mario e country=italy";
-App::$strings["%d connection in common"] = array(
- 0 => "%d contatto in comune",
- 1 => "%d contatti in comune",
+App::$strings["<span %1\$s>%2\$d people</span> don't like this."] = array(
+ 0 => "",
+ 1 => "Non piace a <span %1\$s>%2\$d persone</span>.",
);
-App::$strings["show more"] = "mostra tutto";
-App::$strings["Directory Options"] = "Visibilità negli elenchi pubblici";
-App::$strings["Safe Mode"] = "Modalità SafeSearch";
-App::$strings["Public Forums Only"] = "Solo forum pubblici";
-App::$strings["This Website Only"] = "Solo in questo sito";
-App::$strings["No recipient provided."] = "Devi scegliere un destinatario.";
-App::$strings["[no subject]"] = "[nessun titolo]";
-App::$strings["Unable to determine sender."] = "Impossibile determinare il mittente.";
-App::$strings["Stored post could not be verified."] = "Non è stato possibile verificare il post.";
-App::$strings["Who can see this?"] = "Chi può vederlo?";
-App::$strings["Custom selection"] = "Selezione personalizzata";
-App::$strings["Select \"Show\" to allow viewing. \"Don't show\" lets you override and limit the scope of \"Show\"."] = "Scegli \"Mostra\" per permettere la visione. \"Non mostrare\" ha la precedenza e limita l'effetto di \"Mostra\".";
-App::$strings["Show"] = "Mostra";
-App::$strings["Don't show"] = "Non mostrare";
+App::$strings["and"] = "e";
+App::$strings[", and %d other people"] = array(
+ 0 => "",
+ 1 => "e altre %d persone",
+);
+App::$strings["%s like this."] = "Piace a %s.";
+App::$strings["%s don't like this."] = "Non piace a %s.";
+App::$strings["Set your location"] = "La tua località";
+App::$strings["Clear browser location"] = "Rimuovi la località data dal browser";
+App::$strings["Tag term:"] = "Tag:";
+App::$strings["Where are you right now?"] = "Dove sei ora?";
+App::$strings["Comments enabled"] = "Commenti abilitati";
+App::$strings["Comments disabled"] = "Commenti disabilitati";
+App::$strings["Page link name"] = "Nome del link alla pagina";
+App::$strings["Post as"] = "Pubblica come ";
+App::$strings["Toggle voting"] = "Abilita/disabilita il voto";
+App::$strings["Disable comments"] = "Disabilita i commenti";
+App::$strings["Toggle comments"] = "Abilita/disabilita i commenti";
+App::$strings["Categories (optional, comma-separated list)"] = "Categorie (facoltative, lista separata da virgole)";
App::$strings["Other networks and post services"] = "Invio ad altre reti o a siti esterni";
-App::$strings["Post permissions %s cannot be changed %s after a post is shared.</br />These permissions set who is allowed to view the post."] = "I permessi del post %s non possono essere cambiati %s dopo che un post è stato condiviso.</br />Questi permessi definiscono chi ha diritto di vedere il post.";
+App::$strings["Set publish date"] = "Data di uscita programmata";
+App::$strings["Discover"] = "Scopri";
+App::$strings["Imported public streams"] = "Contenuti pubblici importati";
+App::$strings["Commented Order"] = "Commenti recenti";
+App::$strings["Sort by Comment Date"] = "Per data del commento";
+App::$strings["Posted Order"] = "Post recenti";
+App::$strings["Sort by Post Date"] = "Per data di creazione";
+App::$strings["Posts that mention or involve you"] = "Post che ti riguardano";
+App::$strings["Activity Stream - by date"] = "Elenco attività - per data";
+App::$strings["Starred"] = "Preferiti";
+App::$strings["Favourite Posts"] = "Post preferiti";
+App::$strings["Spam"] = "Spam";
+App::$strings["Posts flagged as SPAM"] = "Post marcati come spam";
+App::$strings["Status Messages and Posts"] = "Post e messaggi di stato";
+App::$strings["About"] = "Informazioni";
+App::$strings["Profile Details"] = "Dettagli del profilo";
+App::$strings["Files and Storage"] = "Archivio file";
+App::$strings["Chatrooms"] = "Chat";
+App::$strings["Saved Bookmarks"] = "Segnalibri salvati";
+App::$strings["Manage Webpages"] = "Gestisci le pagine web";
+App::$strings["__ctx:noun__ Attending"] = array(
+ 0 => "Partecipa",
+ 1 => "Partecipano",
+);
+App::$strings["__ctx:noun__ Not Attending"] = array(
+ 0 => "Non partecipa",
+ 1 => "Non partecipano",
+);
+App::$strings["__ctx:noun__ Undecided"] = array(
+ 0 => "Indeciso",
+ 1 => "Indecisi",
+);
+App::$strings["__ctx:noun__ Agree"] = array(
+ 0 => "D'accordo",
+ 1 => "D'accordo",
+);
+App::$strings["__ctx:noun__ Disagree"] = array(
+ 0 => "Non d'accordo",
+ 1 => "Non d'accordo",
+);
+App::$strings["__ctx:noun__ Abstain"] = array(
+ 0 => "Astenuto",
+ 1 => "Astenuti",
+);
App::$strings["Birthday"] = "Compleanno";
App::$strings["Age: "] = "Età:";
App::$strings["YYYY-MM-DD or MM-DD"] = "AAAA-MM-GG oppure MM-GG";
@@ -2290,14 +2177,149 @@ App::$strings["__ctx:relative_date__ second"] = array(
);
App::$strings["%1\$s's birthday"] = "Compleanno di %1\$s";
App::$strings["Happy Birthday %1\$s"] = "Buon compleanno %1\$s";
+App::$strings["Directory Options"] = "Visibilità negli elenchi pubblici";
+App::$strings["Safe Mode"] = "Modalità SafeSearch";
+App::$strings["Public Forums Only"] = "Solo forum pubblici";
+App::$strings["This Website Only"] = "Solo in questo sito";
+App::$strings["This event has been added to your calendar."] = "Questo evento è stato aggiunto al tuo calendario";
+App::$strings["Not specified"] = "Non specificato";
+App::$strings["Needs Action"] = "Necessita di un intervento";
+App::$strings["Completed"] = "Completato";
+App::$strings["In Process"] = "In corso";
+App::$strings["Cancelled"] = "Annullato";
+App::$strings["Cannot create a duplicate channel identifier on this system. Import failed."] = "Non posso creare un canale con un identificativo che già esiste su questo sistema. L'importazione è fallita.";
+App::$strings["Channel clone failed. Import failed."] = "Impossibile clonare il canale. L'importazione è fallita.";
+App::$strings["Unable to import element \""] = "Impossibile importare l'elemento \"";
+App::$strings["Logged out."] = "Uscita effettuata.";
+App::$strings["Failed authentication"] = "Autenticazione fallita";
+App::$strings["Login failed."] = "Accesso fallito.";
+App::$strings[" and "] = "e";
+App::$strings["public profile"] = "profilo pubblico";
+App::$strings["%1\$s changed %2\$s to &ldquo;%3\$s&rdquo;"] = "%1\$s ha cambiato %2\$s in &ldquo;%3\$s&rdquo;";
+App::$strings["Visit %1\$s's %2\$s"] = "Guarda %2\$s di %1\$s ";
+App::$strings["%1\$s has an updated %2\$s, changing %3\$s."] = "%1\$s ha aggiornato %2\$s cambiando %3\$s.";
+App::$strings["view full size"] = "guarda nelle dimensioni reali";
+App::$strings["No Subject"] = "Nessun titolo";
+App::$strings["Friendica"] = "Friendica";
+App::$strings["OStatus"] = "OStatus";
+App::$strings["GNU-Social"] = "GNU-Social";
+App::$strings["RSS/Atom"] = "RSS/Atom";
+App::$strings["Diaspora"] = "Diaspora";
+App::$strings["Facebook"] = "Facebook";
+App::$strings["Zot"] = "Zot";
+App::$strings["LinkedIn"] = "LinkedIn";
+App::$strings["XMPP/IM"] = "XMPP/IM";
+App::$strings["MySpace"] = "MySpace";
+App::$strings["Categories"] = "Categorie";
+App::$strings["Tags"] = "Tag";
+App::$strings["Keywords"] = "Parole chiave";
+App::$strings["have"] = "ho";
+App::$strings["has"] = "ha";
+App::$strings["want"] = "voglio";
+App::$strings["wants"] = "vuole";
+App::$strings["likes"] = "gli piace";
+App::$strings["dislikes"] = "non gli piace";
+App::$strings["%d invitation available"] = array(
+ 0 => "%d invito disponibile",
+ 1 => "%d inviti disponibili",
+);
+App::$strings["Find Channels"] = "Ricerca canali";
+App::$strings["Enter name or interest"] = "Scrivi un nome o un interesse";
+App::$strings["Connect/Follow"] = "Aggiungi";
+App::$strings["Examples: Robert Morgenstein, Fishing"] = "Per esempio: Mario Rossi, Pesca";
+App::$strings["Random Profile"] = "Profilo casuale";
+App::$strings["Invite Friends"] = "Invita amici";
+App::$strings["Advanced example: name=fred and country=iceland"] = "Per esempio: name=mario e country=italy";
+App::$strings["Everything"] = "Tutto";
+App::$strings["%d connection in common"] = array(
+ 0 => "%d contatto in comune",
+ 1 => "%d contatti in comune",
+);
+App::$strings["show more"] = "mostra tutto";
+App::$strings["System"] = "Sistema";
+App::$strings["New App"] = "Nuova app";
+App::$strings["Suggestions"] = "Suggerimenti";
+App::$strings["See more..."] = "Altro...";
+App::$strings["You have %1$.0f of %2$.0f allowed connections."] = "Hai attivato %1$.0f delle %2$.0f connessioni permesse.";
+App::$strings["Add New Connection"] = "Aggiungi un contatto";
+App::$strings["Enter channel address"] = "Indirizzo del canale";
+App::$strings["Examples: bob@example.com, https://example.com/barbara"] = "Per esempio: bob@example.com, https://example.com/barbara";
+App::$strings["Notes"] = "Note";
+App::$strings["Remove term"] = "Rimuovi termine";
+App::$strings["Archives"] = "Archivi";
+App::$strings["Refresh"] = "Aggiorna";
+App::$strings["Account settings"] = "Il tuo account";
+App::$strings["Channel settings"] = "Impostazioni del canale";
+App::$strings["Additional features"] = "Funzionalità opzionali";
+App::$strings["Feature/Addon settings"] = "Componenti aggiuntivi";
+App::$strings["Display settings"] = "Aspetto";
+App::$strings["Manage locations"] = "Gestione cloni del tuo canale";
+App::$strings["Export channel"] = "Esporta il canale";
+App::$strings["Connected apps"] = "App connesse";
+App::$strings["Premium Channel Settings"] = "Canale premium - impostazioni";
+App::$strings["Private Mail Menu"] = "Menu messaggi privati";
+App::$strings["Combined View"] = "Vista combinata";
+App::$strings["Conversations"] = "Conversazioni";
+App::$strings["Received Messages"] = "Ricevuti";
+App::$strings["Sent Messages"] = "Inviati";
+App::$strings["No messages."] = "Nessun messaggio.";
+App::$strings["Delete conversation"] = "Elimina la conversazione";
+App::$strings["Events Tools"] = "Gestione eventi";
+App::$strings["Export Calendar"] = "Esporta calendario";
+App::$strings["Import Calendar"] = "Importa calendario";
+App::$strings["Overview"] = "Riepilogo";
+App::$strings["Chat Members"] = "Partecipanti";
+App::$strings["Wiki List"] = "Elenco wiki";
+App::$strings["Wiki Pages"] = "Pagine wiki";
+App::$strings["Bookmarked Chatrooms"] = "Chat nei segnalibri";
+App::$strings["Suggested Chatrooms"] = "Chat suggerite";
+App::$strings["photo/image"] = "foto/immagine";
+App::$strings["Click to show more"] = "Clicca per mostrare tutto";
+App::$strings["Rating Tools"] = "Valutazione";
+App::$strings["Rate Me"] = "Valutami";
+App::$strings["View Ratings"] = "Vedi le valutazioni ricevute";
+App::$strings["Forums"] = "Forum";
+App::$strings["Tasks"] = "Attività";
+App::$strings["Documentation"] = "Guida";
+App::$strings["Member registrations waiting for confirmation"] = "Richieste in attesa di conferma";
+App::$strings["Inspect queue"] = "Coda di attesa";
+App::$strings["DB updates"] = "Aggiornamenti al DB";
+App::$strings["Plugin Features"] = "Plugin";
App::$strings["Public Timeline"] = "Diario pubblico";
-App::$strings["Invalid data packet"] = "Dati ricevuti non validi";
-App::$strings["Unable to verify channel signature"] = "Impossibile verificare la firma elettronica del canale";
-App::$strings["Unable to verify site signature for %s"] = "Impossibile verificare la firma elettronica del sito %s";
-App::$strings["invalid target signature"] = "la firma ricevuta non è valida";
+App::$strings[" by "] = "di";
+App::$strings[" on "] = "su";
+App::$strings["Embedded content"] = "Contenuti incorporati";
+App::$strings["Embedding disabled"] = "Disabilita la creazione di contenuti incorporati";
+App::$strings["(Unknown)"] = "(Sconosciuto)";
+App::$strings["Visible to anybody on the internet."] = "Visibile a chiunque su internet.";
+App::$strings["Visible to you only."] = "Visibile solo a te.";
+App::$strings["Visible to anybody in this network."] = "Visibile a tutti su questa rete.";
+App::$strings["Visible to anybody authenticated."] = "Visibile a chiunque sia autenticato.";
+App::$strings["Visible to anybody on %s."] = "Visibile a tutti su %s.";
+App::$strings["Visible to all connections."] = "Visibile a tutti coloro che ti seguono.";
+App::$strings["Visible to approved connections."] = "Visibile ai contatti approvati.";
+App::$strings["Visible to specific connections."] = "Visibile ad alcuni contatti scelti.";
+App::$strings["Privacy group is empty."] = "Gruppo di canali vuoto.";
+App::$strings["Privacy group: %s"] = "Gruppo di canali: %s";
+App::$strings["Connection not found."] = "Contatto non trovato.";
+App::$strings["profile photo"] = "foto del profilo";
+App::$strings["Item was not found."] = "Elemento non trovato.";
+App::$strings["No source file."] = "Nessun file di origine.";
+App::$strings["Cannot locate file to replace"] = "Il file da sostituire non è stato trovato";
+App::$strings["Cannot locate file to revise/update"] = "Il file da aggiornare non è stato trovato";
+App::$strings["File exceeds size limit of %d"] = "Il file supera la dimensione massima di %d";
+App::$strings["You have reached your limit of %1$.0f Mbytes attachment storage."] = "Hai raggiunto il limite complessivo di %1$.0f Mbytes per gli allegati.";
+App::$strings["File upload failed. Possible system limit or action terminated."] = "Caricamento file fallito, potrebbe essere stato interrotto o potrebbe aver superato lo spazio assegnato.";
+App::$strings["Stored file could not be verified. Upload failed."] = "Il file non può essere verificato. Caricamento fallito.";
+App::$strings["Path not available."] = "Percorso non disponibile.";
+App::$strings["Empty pathname"] = "Il percorso del file è vuoto";
+App::$strings["duplicate filename or path"] = "il file o il percorso del file è duplicato";
+App::$strings["Path not found."] = "Percorso del file non trovato.";
+App::$strings["mkdir failed."] = "mkdir fallito.";
+App::$strings["database storage failed."] = "scrittura su database fallita.";
+App::$strings["Empty path"] = "La posizione è vuota";
App::$strings["Focus (Hubzilla default)"] = "Focus (predefinito)";
App::$strings["Theme settings"] = "Impostazioni del tema";
-App::$strings["Select scheme"] = "Scegli uno schema";
App::$strings["Narrow navbar"] = "Barra di navigazione ristretta";
App::$strings["Navigation bar background color"] = "Barra di navigazione: Colore di sfondo";
App::$strings["Navigation bar gradient top color"] = "Barra di navigazione: Gradiente superiore";
diff --git a/view/js/acl.js b/view/js/acl.js
index 411190ac9..c11997c43 100644
--- a/view/js/acl.js
+++ b/view/js/acl.js
@@ -13,6 +13,8 @@ function ACL(backend_url) {
that.deny_gid = [];
that.group_uids = [];
+ that.group_ids = [];
+ that.selected_id = '';
that.info = $("#acl-info");
that.list = $("#acl-list");
@@ -20,7 +22,7 @@ function ACL(backend_url) {
that.item_tpl = unescape($(".acl-list-item[rel=acl-template]").html());
that.showall = $("#acl-showall");
that.onlyme = $("#acl-onlyme");
- that.showlimited = $("#acl-showlimited");
+ that.custom = $("#acl-custom");
that.acl_select = $("#acl-select");
// set the initial ACL lists in case the enclosing form gets submitted before the ajax loader completes.
@@ -33,6 +35,10 @@ function ACL(backend_url) {
that.acl_select.change(function(event) {
var option = that.acl_select.val();
+ if(option != 'public' && option != 'onlyme' && option != 'custom') { // limited to one selected group
+ that.on_showgroup(event);
+ }
+
if(option == 'public') { // public
that.on_showall(event);
}
@@ -41,8 +47,8 @@ function ACL(backend_url) {
that.on_onlyme(event);
}
- if(option == 'limited') { // limited to custom selection
- that.on_showlimited(event);
+ if(option == 'custom') { // limited to custom selection
+ that.on_custom(event);
}
});
@@ -62,7 +68,7 @@ function ACL(backend_url) {
}
-ACL.prototype.get_form_data = function(event) {
+ACL.prototype.get_form_data = function(event) {
form_id = $(this).data('form_id');
that.form_id = $('#' + form_id);
@@ -94,13 +100,6 @@ ACL.prototype.on_submit = function() {
$(that.deny_cid).each(function(i,v) {
that.form_id.append("<input class='acl-field' type='hidden' name='contact_deny[]' value='"+v+"'>");
});
-
- var formfields = $('.profile-jot-net input').serializeArray();
-
- $.each(formfields, function(i, field) {
- that.form_id.append("<input class='acl-field' type='hidden' name='"+field.name+"' value='"+field.value+"'>");
- });
-
};
ACL.prototype.search = function() {
@@ -126,7 +125,7 @@ ACL.prototype.on_onlyme = function(event) {
that.deny_gid = [];
- that.update_view(event.target.value);
+ that.update_view();
that.on_submit();
return true; // return true so that state changes from update_view() will be applied
@@ -141,56 +140,44 @@ ACL.prototype.on_showall = function(event) {
that.deny_cid = [];
that.deny_gid = [];
- that.update_view(event.target.value);
+ that.update_view();
that.on_submit();
return true; // return true so that state changes from update_view() will be applied
};
-ACL.prototype.on_showlimited = function(event) {
+ACL.prototype.on_showgroup = function(event) {
+ var xid = that.acl_select.children(":selected").val();
+
// preventDefault() isn't called here as we want state changes from update_view() to be applied to the radiobutton
event.stopPropagation();
- if(that.allow_cid.length === 0 && that.allow_gid.length === 0 && that.deny_cid.length === 0 && that.deny_gid.length === 0) {
- that.allow_cid = [that.self[0]];
- }
-
- that.allow_cid = (that.allow_cid || []);
- that.allow_gid = (that.allow_gid || []);
- that.deny_cid = (that.deny_cid || []);
- that.deny_gid = (that.deny_gid || []);
+ that.allow_cid = [];
+ that.allow_gid = [xid];
+ that.deny_cid = [];
+ that.deny_gid = [];
- that.update_view(event.target.value);
+ that.update_view();
that.on_submit();
return true; // return true so that state changes from update_view() will be applied
-}
-
-ACL.prototype.on_selectall = function(event) {
- event.preventDefault();
- event.stopPropagation();
+};
- /* This function has not yet been completed. */
- /* The goal is to select all ACL "show" entries with one action. */
-
- $('.acl-button-show').each(function(){});
- if (that.showall.hasClass("btn-warning")) {
- return false;
- }
- that.showall.removeClass("btn-default").addClass("btn-warning");
+ACL.prototype.on_custom = function(event) {
+ // preventDefault() isn't called here as we want state changes from update_view() to be applied to the radiobutton
+ event.stopPropagation();
that.allow_cid = [];
that.allow_gid = [];
that.deny_cid = [];
that.deny_gid = [];
- that.update_view();
+ that.update_view('custom');
that.on_submit();
- return false;
-};
-
+ return true; // return true so that state changes from update_view() will be applied
+}
ACL.prototype.on_button_show = function(event) {
event.preventDefault();
@@ -237,7 +224,7 @@ ACL.prototype.set_allow = function(itemid) {
if (that.deny_cid.indexOf(id)>=0) that.deny_cid.remove(id);
break;
}
- that.update_view();
+ that.update_view('custom');
};
ACL.prototype.set_deny = function(itemid) {
@@ -261,16 +248,20 @@ ACL.prototype.set_deny = function(itemid) {
if (that.allow_cid.indexOf(id)>=0) that.allow_cid.remove(id);
break;
}
- that.update_view();
+ that.update_view('custom');
};
ACL.prototype.update_select = function(set) {
+ if(set != 'public' && set != 'onlyme' && set != 'custom') {
+ $('#' + set).prop('selected', true );
+ }
that.showall.prop('selected', set === 'public');
that.onlyme.prop('selected', set === 'onlyme');
- that.showlimited.prop('selected', set === 'limited');
+ that.custom.prop('selected', set === 'custom');
};
ACL.prototype.update_view = function(value) {
+
if(that.form_id) {
that.form_id.data('allow_cid', that.allow_cid);
that.form_id.data('allow_gid', that.allow_gid);
@@ -278,41 +269,64 @@ ACL.prototype.update_view = function(value) {
that.form_id.data('deny_gid', that.deny_gid);
}
- if (that.allow_gid.length === 0 && that.allow_cid.length === 0 && that.deny_gid.length === 0 && that.deny_cid.length === 0) {
+ if (that.allow_gid.length === 0 && that.allow_cid.length === 0 && that.deny_gid.length === 0 && that.deny_cid.length === 0 && value !== 'custom') {
that.list.hide(); //hide acl-list
that.info.show(); //show acl-info
that.update_select('public');
/* jot acl */
- $('#jot-perms-icon, #dialog-perms-icon').removeClass('fa-lock').addClass('fa-unlock');
+ $('#jot-perms-icon, #dialog-perms-icon, #' + that.form_id[0].id + ' .jot-perms-icon').removeClass('fa-lock').addClass('fa-unlock');
+ $('#dbtn-jotnets').show();
$('.profile-jot-net input').attr('disabled', false);
}
+ else if (that.allow_gid.length === 1 && that.allow_cid.length === 0 && that.deny_gid.length === 0 && that.deny_cid.length === 0 && value !== 'custom') {
+ that.list.hide(); //hide acl-list
+ that.info.hide(); //show acl-info
+ that.selected_id = that.group_ids[that.allow_gid[0]];
+ that.update_select(that.selected_id);
+
+ /* jot acl */
+ $('#jot-perms-icon, #dialog-perms-icon, #' + that.form_id[0].id + ' .jot-perms-icon').removeClass('fa-unlock').addClass('fa-lock');
+ $('#dbtn-jotnets').hide();
+ $('.profile-jot-net input').attr('disabled', 'disabled');
+ }
+
// if value != 'onlyme' we should fall through this one
- else if (that.allow_gid.length === 0 && that.allow_cid.length === 1 && that.allow_cid[0] === that.self[0] && that.deny_gid.length === 0 && that.deny_cid.length === 0 && value !== 'limited') {
+ else if (that.allow_gid.length === 0 && that.allow_cid.length === 1 && that.allow_cid[0] === that.self[0] && that.deny_gid.length === 0 && that.deny_cid.length === 0 && value !== 'custom') {
that.list.hide(); //hide acl-list
that.info.hide(); //show acl-info
that.update_select('onlyme');
/* jot acl */
- $('#jot-perms-icon, #dialog-perms-icon').removeClass('fa-unlock').addClass('fa-lock');
+ $('#jot-perms-icon, #dialog-perms-icon, #' + that.form_id[0].id + ' .jot-perms-icon').removeClass('fa-unlock').addClass('fa-lock');
+ $('#dbtn-jotnets').hide();
$('.profile-jot-net input').attr('disabled', 'disabled');
}
else {
that.list.show(); //show acl-list
that.info.hide(); //hide acl-info
- that.update_select('limited');
+ that.update_select('custom');
/* jot acl */
- $('#jot-perms-icon, #dialog-perms-icon').removeClass('fa-unlock').addClass('fa-lock');
- $('.profile-jot-net input').attr('disabled', 'disabled');
-
+ if(that.allow_gid.length === 0 && that.allow_cid.length === 0 && that.deny_gid.length === 0 && that.deny_cid.length === 0 && value === 'custom') {
+ $('#jot-perms-icon, #dialog-perms-icon, #' + that.form_id[0].id + ' .jot-perms-icon').removeClass('fa-lock').addClass('fa-unlock');
+ $('#dbtn-jotnets').show();
+ $('.profile-jot-net input').attr('disabled', false);
+ }
+ else {
+ $('#jot-perms-icon, #dialog-perms-icon, #' + that.form_id[0].id + ' .jot-perms-icon').removeClass('fa-unlock').addClass('fa-lock');
+ $('#dbtn-jotnets').hide();
+ $('.profile-jot-net input').attr('disabled', 'disabled');
+ }
}
+
$("#acl-list-content .acl-list-item").each(function() {
$(this).removeClass("groupshow grouphide");
});
+
$("#acl-list-content .acl-list-item").each(function() {
itemid = $(this).attr('id');
type = itemid[0];
@@ -384,15 +398,19 @@ ACL.prototype.populate = function(data) {
$(data.items).each(function(){
html = "<div class='acl-list-item {4} {7} {5}' title='{6}' id='{2}{3}'>"+that.item_tpl+"</div>";
html = html.format(this.photo, this.name, this.type, this.xid, '', this.self, this.link, this.taggable);
- if (this.uids !== undefined) that.group_uids[this.xid] = this.uids;
- if (this.self === 'abook-self') that.self[0] = this.xid;
- //console.log(html);
+ if (this.uids !== undefined) {
+ that.group_uids[this.xid] = this.uids;
+ that.group_ids[this.xid] = this.id;
+ }
+ if (this.self === 'abook-self') {
+ that.self[0] = this.xid;
+ }
that.list_content.append(html);
});
+
$("#acl-list-content .acl-list-item img[data-src]").each(function(i, el) {
// Replace data-src attribute with src attribute for every image
$(el).attr('src', $(el).data("src"));
$(el).removeAttr("data-src");
});
- //that.update_view();
};
diff --git a/view/js/autocomplete.js b/view/js/autocomplete.js
index 63f1e9a13..62a3b6f06 100644
--- a/view/js/autocomplete.js
+++ b/view/js/autocomplete.js
@@ -102,8 +102,8 @@ function submit_form(e) {
function getWord(text, caretPos) {
var index = text.indexOf(caretPos);
- var postText = text.substring(caretPos, caretPos+8);
- if ((postText.indexOf('[/list]') > 0) || postText.indexOf('[/ul]') > 0 || postText.indexOf('[/ol]') > 0 || postText.indexOf('[/dl]') > 0) {
+ var postText = text.substring(caretPos, caretPos+13);
+ if (postText.indexOf('[/list]') > 0 || postText.indexOf('[/checklist]') > 0 || postText.indexOf('[/ul]') > 0 || postText.indexOf('[/ol]') > 0 || postText.indexOf('[/dl]') > 0) {
return postText;
}
}
@@ -140,10 +140,11 @@ function listNewLineAutocomplete(id) {
var text = document.getElementById(id);
var caretPos = getCaretPosition(text)
var word = getWord(text.value, caretPos);
+
if (word != null) {
var textBefore = text.value.substring(0, caretPos);
var textAfter = text.value.substring(caretPos, text.length);
- var textInsert = (word.indexOf('[/dl]') > 0) ? '\r\n[*=] ' : '\r\n[*] ';
+ var textInsert = (word.indexOf('[/dl]') > 0) ? '\r\n[*=] ' : (word.indexOf('[/checklist]') > 0) ? '\r\n[] ' : '\r\n[*] ';
var caretPositionDiff = (word.indexOf('[/dl]') > 0) ? 3 : 1;
$('#' + id).val(textBefore + textInsert + textAfter);
@@ -268,7 +269,7 @@ function string2bb(element) {
$.fn.bbco_autocomplete = function(type) {
if(type=='bbcode') {
- var open_close_elements = ['bold', 'italic', 'underline', 'overline', 'strike', 'superscript', 'subscript', 'quote', 'code', 'open', 'spoiler', 'map', 'nobb', 'list', 'ul', 'ol', 'dl', 'li', 'table', 'tr', 'th', 'td', 'center', 'color', 'font', 'size', 'zrl', 'zmg', 'rpost', 'qr', 'observer'];
+ var open_close_elements = ['bold', 'italic', 'underline', 'overline', 'strike', 'superscript', 'subscript', 'quote', 'code', 'open', 'spoiler', 'map', 'nobb', 'list', 'checklist', 'ul', 'ol', 'dl', 'li', 'table', 'tr', 'th', 'td', 'center', 'color', 'font', 'size', 'zrl', 'zmg', 'rpost', 'qr', 'observer'];
var open_elements = ['observer.baseurl', 'observer.address', 'observer.photo', 'observer.name', 'observer.webname', 'observer.url', '*', 'hr', ];
var elements = open_close_elements.concat(open_elements);
@@ -300,7 +301,9 @@ function string2bb(element) {
element = string2bb(element);
if(open_elements.indexOf(element) < 0) {
if(element === 'list' || element === 'ol' || element === 'ul') {
- return ['\[' + element + '\]' + '\n\[*\] ', '\n\[/' + element + '\]'];
+ return ['\[' + element + '\]' + '\n\[*\] ', '\n\[/' + element + '\]'];
+ } else if(element === 'checklist') {
+ return ['\[' + element + '\]' + '\n\[\] ', '\n\[/' + element + '\]'];
} else if (element === 'dl') {
return ['\[' + element + '\]' + '\n\[*=Item name\] ', '\n\[/' + element + '\]'];
} else if(element === 'table') {
diff --git a/view/js/main.js b/view/js/main.js
index 21157bdfe..5435dfd87 100644
--- a/view/js/main.js
+++ b/view/js/main.js
@@ -250,6 +250,7 @@ var last_filestorage_id = null;
var mediaPlaying = false;
var contentHeightDiff = 0;
+
$(function() {
$.ajaxSetup({cache: false});
@@ -650,6 +651,19 @@ function updateConvItems(mode,data) {
collapseHeight();
}
+ // auto-scroll to a particular comment in a thread (designated by mid) when in single-thread mode
+ if($('.item_' + bParam_mid.substring(0,32)).length && !$('.item_' + bParam_mid.substring(0,32)).hasClass('toplevel_item') && mode == 'replace') {
+ if($('.collapsed-comments').length) {
+ var scrolltoid = $('.collapsed-comments').attr('id').substring(19);
+ $('#collapsed-comments-' + scrolltoid + ' .autotime').timeago();
+ $('#collapsed-comments-' + scrolltoid).show();
+ $('#hide-comments-' + scrolltoid).html(aStr.showfewer);
+ $('#hide-comments-total-' + scrolltoid).hide();
+ }
+ $('html, body').animate({ scrollTop: $('.item_' + bParam_mid.substring(0,32)).offset().top - $('nav').outerHeight() }, 'slow');
+ $('.item_' + bParam_mid.substring(0,32)).addClass('item-highlight');
+ }
+
}
function collapseHeight() {
@@ -840,6 +854,7 @@ function pageUpdate() {
scroll_next = false;
updatePageItems(update_mode,data);
$("#page-spinner").spin(false);
+ $(".autotime").timeago();
in_progress = false;
});
}
@@ -847,7 +862,7 @@ function pageUpdate() {
function justifyPhotos(id) {
justifiedGalleryActive = true;
$('#' + id).justifiedGallery({
- selector: '> a, > div:not(.spinner, #page-end)',
+ selector: 'a, div:not(.spinner, #page-end)',
margins: 3,
border: 0,
sizeRangeSuffixes: {
@@ -1247,12 +1262,6 @@ Array.prototype.remove = function(item) {
return this.push.apply(this, rest);
};
-function previewTheme(elm) {
- theme = $(elm).val();
- $.getJSON('pretheme?f=&theme=' + theme,function(data) {
- $('#theme-preview').html('<div id="theme-desc">' + data.desc + '</div><div id="theme-version">' + data.version + '</div><div id="theme-credits">' + data.credits + '</div><a href="' + data.img + '"><img src="' + data.img + '" style="max-width:100%; max-height:300px" alt="' + theme + '"></a>');
- });
-}
$(document).ready(function() {
diff --git a/view/js/mod_connections.js b/view/js/mod_connections.js
index 112204a5a..68add4eed 100644
--- a/view/js/mod_connections.js
+++ b/view/js/mod_connections.js
@@ -4,13 +4,13 @@ $(document).ready(function() {
});
$("#contacts-search").keyup(function(event){
- if(event.keyCode == 13){
- $("#contacts-search").click();
- }
+ if(event.keyCode == 13){
+ $("#contacts-search").click();
+ }
});
$(".autocomplete-w1 .selected").keyup(function(event){
- if(event.keyCode == 13){
- $("#contacts-search").click();
- }
+ if(event.keyCode == 13){
+ $("#contacts-search").click();
+ }
});
diff --git a/view/js/mod_network.js b/view/js/mod_network.js
index cbdb82c75..cd36786df 100644
--- a/view/js/mod_network.js
+++ b/view/js/mod_network.js
@@ -1,5 +1,5 @@
$(document).ready(function() {
- $("#search-text").contact_autocomplete(baseurl + '/search_ac');
+ $("#search-text").contact_autocomplete(baseurl + '/search_ac','',true);
$('.jslider-scale ins').addClass('hidden-xs');
});
diff --git a/view/js/mod_settings.js b/view/js/mod_settings.js
index 0f45e0d16..db321ae70 100644
--- a/view/js/mod_settings.js
+++ b/view/js/mod_settings.js
@@ -3,11 +3,13 @@
*/
$(document).ready(function() {
- $('form').areYouSure({'addRemoveFieldsMarksDirty':true, 'message': aStr['leavethispage'] }); // Warn user about unsaved settings
+ $('#settings-form').areYouSure({'addRemoveFieldsMarksDirty':true, 'message': aStr['leavethispage'] }); // Warn user about unsaved settings
$('.token-mirror').html($('#id_token').val());
$('#id_token').keyup( function() { $('.token-mirror').html($('#id_token').val()); });
+ previewTheme($('#id_theme')[0]);
+
$("#id_permissions_role").change(function() {
var role = $("#id_permissions_role").val();
if(role == 'custom')
@@ -15,20 +17,27 @@ $(document).ready(function() {
else
$('#advanced-perm').hide();
});
+});
+
+
+function setTheme(elm) {
+ $('#settings-form').submit();
+}
+
- $('#contact_allow, #contact_deny, #group_allow, #group_deny').change(function() {
- var selstr;
- $('#contact_allow option:selected, #contact_deny option:selected, #group_allow option:selected, #group_deny option:selected').each( function() {
- selstr = $(this).text();
- $('#jot-perms-icon').removeClass('fa-unlock').addClass('fa-lock');
- $('#jot-public').hide();
+function previewTheme(elm) {
+ theme = $(elm).val();
+ $.getJSON('theme_info/' + theme,function(data) {
+ $('#theme-preview').html('<div id="theme-desc">' + data.desc + '</div><div id="theme-version">' + data.version + '</div><div id="theme-credits">' + data.credits + '</div><a href="' + data.img + '"><img src="' + data.img + '" style="max-width:100%; max-height:300px" alt="' + theme + '"></a>');
+ $('#id_schema').empty();
+ $(data.schemas).each(function(index,item) {
+ $('<option/>',{value:item['key'],text:item['val']}).appendTo('#id_schema');
});
- if(selstr === null) {
- $('#jot-perms-icon').removeClass('fa-lock').addClass('fa-unlock');
- $('#jot-public').show();
- }
- }).trigger('change');
-});
+ $('#custom-settings-content .section-content-tools-wrapper').html(data.config);
+ });
+}
+
+
/**
* 0 nobody
diff --git a/view/nl/hmessages.po b/view/nl/hmessages.po
index fa04ee927..212722caa 100644
--- a/view/nl/hmessages.po
+++ b/view/nl/hmessages.po
@@ -8,8 +8,8 @@ msgid ""
msgstr ""
"Project-Id-Version: Redmatrix\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2016-08-19 00:02-0700\n"
-"PO-Revision-Date: 2016-08-22 11:57+0000\n"
+"POT-Creation-Date: 2016-09-30 00:02-0700\n"
+"PO-Revision-Date: 2016-10-05 20:11+0000\n"
"Last-Translator: jeroenpraat <jeroenpraat@xs4all.nl>\n"
"Language-Team: Dutch (http://www.transifex.com/Friendica/red-matrix/language/nl/)\n"
"MIME-Version: 1.0\n"
@@ -19,83 +19,87 @@ msgstr ""
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#: ../../Zotlabs/Access/PermissionRoles.php:182
-#: ../../include/permissions.php:939
+#: ../../include/permissions.php:945
msgid "Social Networking"
msgstr "Sociaal netwerk"
#: ../../Zotlabs/Access/PermissionRoles.php:183
-#: ../../include/permissions.php:939
+#: ../../include/permissions.php:945
msgid "Social - Mostly Public"
msgstr "Sociaal - Vrijwel alles openbaar"
#: ../../Zotlabs/Access/PermissionRoles.php:184
-#: ../../include/permissions.php:939
+#: ../../include/permissions.php:945
msgid "Social - Restricted"
msgstr "Sociaal - Beperkt zichtbaar"
#: ../../Zotlabs/Access/PermissionRoles.php:185
-#: ../../include/permissions.php:939
+#: ../../include/permissions.php:945
msgid "Social - Private"
msgstr "Sociaal - Verborgen kanaal"
#: ../../Zotlabs/Access/PermissionRoles.php:188
-#: ../../include/permissions.php:940
+#: ../../include/permissions.php:946
msgid "Community Forum"
msgstr "Groepsforum"
#: ../../Zotlabs/Access/PermissionRoles.php:189
-#: ../../include/permissions.php:940
+#: ../../include/permissions.php:946
msgid "Forum - Mostly Public"
msgstr "Forum - Vrijwel alles openbaar"
#: ../../Zotlabs/Access/PermissionRoles.php:190
-#: ../../include/permissions.php:940
+#: ../../include/permissions.php:946
msgid "Forum - Restricted"
msgstr "Forum - Beperkt zichtbaar"
#: ../../Zotlabs/Access/PermissionRoles.php:191
-#: ../../include/permissions.php:940
+#: ../../include/permissions.php:946
msgid "Forum - Private"
msgstr "Forum - Verborgen kanaal"
#: ../../Zotlabs/Access/PermissionRoles.php:194
-#: ../../include/permissions.php:941
+#: ../../include/permissions.php:947
msgid "Feed Republish"
msgstr "Feed herpubliceren"
#: ../../Zotlabs/Access/PermissionRoles.php:195
-#: ../../include/permissions.php:941
+#: ../../include/permissions.php:947
msgid "Feed - Mostly Public"
msgstr "Feed - Vrijwel alles openbaar"
#: ../../Zotlabs/Access/PermissionRoles.php:196
-#: ../../include/permissions.php:941
+#: ../../include/permissions.php:947
msgid "Feed - Restricted"
msgstr "Feed - Beperkt zichtbaar"
#: ../../Zotlabs/Access/PermissionRoles.php:199
-#: ../../include/permissions.php:942
+#: ../../include/permissions.php:948
msgid "Special Purpose"
msgstr "Speciaal doel"
#: ../../Zotlabs/Access/PermissionRoles.php:200
-#: ../../include/permissions.php:942
+#: ../../include/permissions.php:948
msgid "Special - Celebrity/Soapbox"
msgstr "Speciaal - Beroemdheid/alleen volgen"
#: ../../Zotlabs/Access/PermissionRoles.php:201
-#: ../../include/permissions.php:942
+#: ../../include/permissions.php:948
msgid "Special - Group Repository"
msgstr "Speciaal - Groepsopslag"
-#: ../../Zotlabs/Access/PermissionRoles.php:204 ../../include/selectors.php:49
+#: ../../Zotlabs/Access/PermissionRoles.php:204
+#: ../../Zotlabs/Module/New_channel.php:132
+#: ../../Zotlabs/Module/Register.php:213
+#: ../../Zotlabs/Module/Settings/Channel.php:442
+#: ../../include/permissions.php:949 ../../include/selectors.php:49
#: ../../include/selectors.php:66 ../../include/selectors.php:104
-#: ../../include/selectors.php:140 ../../include/permissions.php:943
+#: ../../include/selectors.php:140
msgid "Other"
msgstr "Anders"
#: ../../Zotlabs/Access/PermissionRoles.php:205
-#: ../../include/permissions.php:943
+#: ../../include/permissions.php:949
msgid "Custom/Expert Mode"
msgstr "Expertmodus/handmatig aanpassen"
@@ -103,19 +107,19 @@ msgstr "Expertmodus/handmatig aanpassen"
msgid "Can view my channel stream and posts"
msgstr "Kan mijn kanaal en berichten bekijken"
-#: ../../Zotlabs/Access/Permissions.php:31 ../../include/permissions.php:36
+#: ../../Zotlabs/Access/Permissions.php:31 ../../include/permissions.php:42
msgid "Can send me their channel stream and posts"
msgstr "Kan mij de inhoud van hun kanaal en berichten sturen"
-#: ../../Zotlabs/Access/Permissions.php:32 ../../include/permissions.php:30
+#: ../../Zotlabs/Access/Permissions.php:32 ../../include/permissions.php:36
msgid "Can view my default channel profile"
msgstr "Kan mijn standaard kanaalprofiel bekijken"
-#: ../../Zotlabs/Access/Permissions.php:33 ../../include/permissions.php:31
+#: ../../Zotlabs/Access/Permissions.php:33 ../../include/permissions.php:37
msgid "Can view my connections"
msgstr "Kan een lijst met mijn connecties bekijken"
-#: ../../Zotlabs/Access/Permissions.php:34 ../../include/permissions.php:32
+#: ../../Zotlabs/Access/Permissions.php:34 ../../include/permissions.php:38
msgid "Can view my file storage and photos"
msgstr "Kan mijn foto's en andere bestanden bekijken"
@@ -135,11 +139,11 @@ msgstr "Kan wegpagina's van mijn kanaal aanmaken en bewerken"
msgid "Can post on my channel (wall) page"
msgstr "Kan een bericht in mijn kanaal plaatsen"
-#: ../../Zotlabs/Access/Permissions.php:39 ../../include/permissions.php:38
+#: ../../Zotlabs/Access/Permissions.php:39 ../../include/permissions.php:44
msgid "Can comment on or like my posts"
msgstr "Kan op mijn berichten reageren of deze (niet) leuk vinden"
-#: ../../Zotlabs/Access/Permissions.php:40 ../../include/permissions.php:39
+#: ../../Zotlabs/Access/Permissions.php:40 ../../include/permissions.php:45
msgid "Can send me private mail messages"
msgstr "Kan mij privéberichten sturen"
@@ -155,7 +159,7 @@ msgstr "Kan naar al mijn kanaalconnecties berichten doorsturen met behulp van @v
msgid "Can chat with me"
msgstr "Kan met mij chatten"
-#: ../../Zotlabs/Access/Permissions.php:44 ../../include/permissions.php:47
+#: ../../Zotlabs/Access/Permissions.php:44 ../../include/permissions.php:53
msgid "Can source my public posts in derived channels"
msgstr "Kan mijn openbare berichten als bron voor andere kanalen gebruiken"
@@ -163,11 +167,11 @@ msgstr "Kan mijn openbare berichten als bron voor andere kanalen gebruiken"
msgid "Can administer my channel"
msgstr "Kan mijn kanaal beheren"
-#: ../../Zotlabs/Storage/Browser.php:107 ../../Zotlabs/Storage/Browser.php:239
+#: ../../Zotlabs/Storage/Browser.php:107 ../../Zotlabs/Storage/Browser.php:238
msgid "parent"
msgstr "omhoog"
-#: ../../Zotlabs/Storage/Browser.php:131 ../../include/text.php:2657
+#: ../../Zotlabs/Storage/Browser.php:131 ../../include/text.php:2711
msgid "Collection"
msgstr "map"
@@ -191,201 +195,205 @@ msgstr "Planning-postvak IN"
msgid "Schedule Outbox"
msgstr "Planning-postvak UIT"
-#: ../../Zotlabs/Storage/Browser.php:164 ../../Zotlabs/Module/Photos.php:800
+#: ../../Zotlabs/Storage/Browser.php:164 ../../Zotlabs/Module/Photos.php:789
#: ../../Zotlabs/Module/Photos.php:1249
#: ../../Zotlabs/Module/Embedphotos.php:147 ../../Zotlabs/Lib/Apps.php:490
-#: ../../Zotlabs/Lib/Apps.php:565 ../../include/conversation.php:1036
-#: ../../include/widgets.php:1613
+#: ../../Zotlabs/Lib/Apps.php:565 ../../include/conversation.php:1031
+#: ../../include/widgets.php:1683
msgid "Unknown"
msgstr "Onbekend"
-#: ../../Zotlabs/Storage/Browser.php:226 ../../Zotlabs/Module/Fbrowser.php:85
-#: ../../Zotlabs/Lib/Apps.php:217 ../../include/conversation.php:1669
-#: ../../include/nav.php:95
+#: ../../Zotlabs/Storage/Browser.php:225 ../../Zotlabs/Module/Fbrowser.php:85
+#: ../../Zotlabs/Lib/Apps.php:217 ../../include/nav.php:96
+#: ../../include/conversation.php:1679
msgid "Files"
msgstr "Bestanden"
-#: ../../Zotlabs/Storage/Browser.php:227
+#: ../../Zotlabs/Storage/Browser.php:226
msgid "Total"
msgstr "Totaal"
-#: ../../Zotlabs/Storage/Browser.php:229
+#: ../../Zotlabs/Storage/Browser.php:228
msgid "Shared"
msgstr "Gedeeld"
-#: ../../Zotlabs/Storage/Browser.php:230 ../../Zotlabs/Storage/Browser.php:323
-#: ../../Zotlabs/Module/Menu.php:118 ../../Zotlabs/Module/New_channel.php:142
+#: ../../Zotlabs/Storage/Browser.php:229 ../../Zotlabs/Storage/Browser.php:321
+#: ../../Zotlabs/Module/Menu.php:118 ../../Zotlabs/Module/New_channel.php:147
#: ../../Zotlabs/Module/Blocks.php:159 ../../Zotlabs/Module/Layouts.php:184
-#: ../../Zotlabs/Module/Webpages.php:216
+#: ../../Zotlabs/Module/Webpages.php:239
msgid "Create"
msgstr "Aanmaken"
-#: ../../Zotlabs/Storage/Browser.php:231 ../../Zotlabs/Storage/Browser.php:325
+#: ../../Zotlabs/Storage/Browser.php:230 ../../Zotlabs/Storage/Browser.php:323
#: ../../Zotlabs/Module/Cover_photo.php:357
+#: ../../Zotlabs/Module/Photos.php:816 ../../Zotlabs/Module/Photos.php:1370
#: ../../Zotlabs/Module/Profile_photo.php:390
-#: ../../Zotlabs/Module/Photos.php:827 ../../Zotlabs/Module/Photos.php:1370
-#: ../../Zotlabs/Module/Embedphotos.php:159 ../../include/widgets.php:1626
+#: ../../Zotlabs/Module/Embedphotos.php:159 ../../include/widgets.php:1696
msgid "Upload"
msgstr "Uploaden"
-#: ../../Zotlabs/Storage/Browser.php:235 ../../Zotlabs/Module/Chat.php:250
-#: ../../Zotlabs/Module/Admin.php:1223
-#: ../../Zotlabs/Module/Sharedwithme.php:99
-#: ../../Zotlabs/Module/Settings.php:684 ../../Zotlabs/Module/Settings.php:710
+#: ../../Zotlabs/Storage/Browser.php:234
+#: ../../Zotlabs/Module/Admin/Channels.php:163
+#: ../../Zotlabs/Module/Sharedwithme.php:99 ../../Zotlabs/Module/Chat.php:250
+#: ../../Zotlabs/Module/Settings/Oauth.php:89
+#: ../../Zotlabs/Module/Settings/Oauth.php:115
msgid "Name"
msgstr "Naam"
-#: ../../Zotlabs/Storage/Browser.php:236
+#: ../../Zotlabs/Storage/Browser.php:235
msgid "Type"
msgstr "Type"
-#: ../../Zotlabs/Storage/Browser.php:237
-#: ../../Zotlabs/Module/Sharedwithme.php:101 ../../include/text.php:1326
+#: ../../Zotlabs/Storage/Browser.php:236
+#: ../../Zotlabs/Module/Sharedwithme.php:101 ../../include/text.php:1372
msgid "Size"
msgstr "Grootte"
-#: ../../Zotlabs/Storage/Browser.php:238
+#: ../../Zotlabs/Storage/Browser.php:237
#: ../../Zotlabs/Module/Sharedwithme.php:102
msgid "Last Modified"
msgstr "Laatst gewijzigd"
-#: ../../Zotlabs/Storage/Browser.php:240 ../../Zotlabs/Module/Thing.php:260
+#: ../../Zotlabs/Storage/Browser.php:239
+#: ../../Zotlabs/Module/Admin/Profs.php:154
#: ../../Zotlabs/Module/Connections.php:290
#: ../../Zotlabs/Module/Connections.php:310
#: ../../Zotlabs/Module/Editblock.php:109
#: ../../Zotlabs/Module/Editlayout.php:114
#: ../../Zotlabs/Module/Editwebpage.php:145 ../../Zotlabs/Module/Menu.php:112
-#: ../../Zotlabs/Module/Admin.php:2113 ../../Zotlabs/Module/Blocks.php:160
-#: ../../Zotlabs/Module/Layouts.php:192 ../../Zotlabs/Module/Webpages.php:217
-#: ../../Zotlabs/Module/Settings.php:744 ../../Zotlabs/Module/Editpost.php:84
-#: ../../Zotlabs/Lib/Apps.php:341 ../../Zotlabs/Lib/ThreadItem.php:106
+#: ../../Zotlabs/Module/Blocks.php:160 ../../Zotlabs/Module/Layouts.php:192
+#: ../../Zotlabs/Module/Webpages.php:240 ../../Zotlabs/Module/Editpost.php:84
+#: ../../Zotlabs/Module/Thing.php:260
+#: ../../Zotlabs/Module/Settings/Oauth.php:149
+#: ../../Zotlabs/Lib/ThreadItem.php:106 ../../Zotlabs/Lib/Apps.php:341
+#: ../../include/channel.php:959 ../../include/channel.php:963
#: ../../include/page_widgets.php:9 ../../include/page_widgets.php:39
-#: ../../include/menu.php:113 ../../include/channel.php:959
-#: ../../include/channel.php:963
+#: ../../include/menu.php:113
msgid "Edit"
msgstr "Bewerken"
-#: ../../Zotlabs/Storage/Browser.php:241 ../../Zotlabs/Module/Thing.php:261
-#: ../../Zotlabs/Module/Connedit.php:607
+#: ../../Zotlabs/Storage/Browser.php:240
+#: ../../Zotlabs/Module/Admin/Accounts.php:174
+#: ../../Zotlabs/Module/Admin/Channels.php:153
+#: ../../Zotlabs/Module/Admin/Profs.php:155
#: ../../Zotlabs/Module/Connections.php:263
+#: ../../Zotlabs/Module/Connedit.php:607
#: ../../Zotlabs/Module/Editblock.php:134
#: ../../Zotlabs/Module/Editlayout.php:137
#: ../../Zotlabs/Module/Editwebpage.php:170 ../../Zotlabs/Module/Group.php:177
-#: ../../Zotlabs/Module/Admin.php:1039 ../../Zotlabs/Module/Admin.php:1213
-#: ../../Zotlabs/Module/Admin.php:2114 ../../Zotlabs/Module/Blocks.php:162
-#: ../../Zotlabs/Module/Photos.php:1179 ../../Zotlabs/Module/Webpages.php:219
-#: ../../Zotlabs/Module/Settings.php:745 ../../Zotlabs/Lib/Apps.php:342
-#: ../../Zotlabs/Lib/ThreadItem.php:126 ../../include/conversation.php:660
+#: ../../Zotlabs/Module/Photos.php:1179 ../../Zotlabs/Module/Blocks.php:162
+#: ../../Zotlabs/Module/Webpages.php:242 ../../Zotlabs/Module/Thing.php:261
+#: ../../Zotlabs/Module/Settings/Oauth.php:150
+#: ../../Zotlabs/Lib/ThreadItem.php:126 ../../Zotlabs/Lib/Apps.php:342
+#: ../../include/conversation.php:660
msgid "Delete"
msgstr "Verwijderen"
-#: ../../Zotlabs/Storage/Browser.php:301
+#: ../../Zotlabs/Storage/Browser.php:299
#, php-format
msgid "You are using %1$s of your available file storage."
msgstr "Je gebruikt %1$s van de beschikbare bestandsopslag."
-#: ../../Zotlabs/Storage/Browser.php:306
+#: ../../Zotlabs/Storage/Browser.php:304
#, php-format
msgid "You are using %1$s of %2$s available file storage. (%3$s&#37;)"
msgstr "Je gebruikt %1$s van totaal %2$s beschikbare bestandsopslag. (%3$s&#37;)"
-#: ../../Zotlabs/Storage/Browser.php:317
+#: ../../Zotlabs/Storage/Browser.php:315
msgid "WARNING:"
msgstr "WAARSCHUWING:"
-#: ../../Zotlabs/Storage/Browser.php:322
+#: ../../Zotlabs/Storage/Browser.php:320
msgid "Create new folder"
msgstr "Nieuwe map aanmaken"
-#: ../../Zotlabs/Storage/Browser.php:324
+#: ../../Zotlabs/Storage/Browser.php:322
msgid "Upload file"
msgstr "Bestand uploaden"
-#: ../../Zotlabs/Storage/Browser.php:337
+#: ../../Zotlabs/Storage/Browser.php:335
msgid "Drop files here to immediately upload"
msgstr "Sleep bestanden hierheen om ze onmiddelijk te uploaden"
-#: ../../Zotlabs/Web/WebServer.php:127 ../../Zotlabs/Module/Like.php:283
-#: ../../Zotlabs/Module/Group.php:72 ../../Zotlabs/Module/Import_items.php:114
-#: ../../Zotlabs/Module/Profperm.php:28 ../../Zotlabs/Module/Subthread.php:62
-#: ../../Zotlabs/Module/Dreport.php:10 ../../Zotlabs/Module/Dreport.php:66
-#: ../../include/items.php:384
-msgid "Permission denied"
-msgstr "Toegang geweigerd"
-
-#: ../../Zotlabs/Web/WebServer.php:128 ../../Zotlabs/Web/Router.php:65
-#: ../../Zotlabs/Module/Achievements.php:34 ../../Zotlabs/Module/Thing.php:274
-#: ../../Zotlabs/Module/Thing.php:294 ../../Zotlabs/Module/Thing.php:335
-#: ../../Zotlabs/Module/Like.php:181 ../../Zotlabs/Module/Authtest.php:16
-#: ../../Zotlabs/Module/Rate.php:113 ../../Zotlabs/Module/Bookmarks.php:61
-#: ../../Zotlabs/Module/Item.php:214 ../../Zotlabs/Module/Item.php:222
-#: ../../Zotlabs/Module/Item.php:1073 ../../Zotlabs/Module/Page.php:35
-#: ../../Zotlabs/Module/Page.php:91 ../../Zotlabs/Module/Connedit.php:395
-#: ../../Zotlabs/Module/Connections.php:33
+#: ../../Zotlabs/Web/Router.php:65 ../../Zotlabs/Web/WebServer.php:128
+#: ../../Zotlabs/Module/Achievements.php:34
+#: ../../Zotlabs/Module/Network.php:15 ../../Zotlabs/Module/Channel.php:104
+#: ../../Zotlabs/Module/Channel.php:229 ../../Zotlabs/Module/Channel.php:270
+#: ../../Zotlabs/Module/Authtest.php:16 ../../Zotlabs/Module/Bookmarks.php:61
+#: ../../Zotlabs/Module/Page.php:35 ../../Zotlabs/Module/Page.php:91
+#: ../../Zotlabs/Module/Mail.php:121 ../../Zotlabs/Module/Connections.php:33
#: ../../Zotlabs/Module/Cover_photo.php:277
-#: ../../Zotlabs/Module/Cover_photo.php:290 ../../Zotlabs/Module/Mail.php:121
-#: ../../Zotlabs/Module/Editblock.php:67
+#: ../../Zotlabs/Module/Cover_photo.php:290
+#: ../../Zotlabs/Module/Connedit.php:395 ../../Zotlabs/Module/Editblock.php:67
#: ../../Zotlabs/Module/Editlayout.php:67
#: ../../Zotlabs/Module/Editlayout.php:90
#: ../../Zotlabs/Module/Editwebpage.php:68
#: ../../Zotlabs/Module/Editwebpage.php:89
#: ../../Zotlabs/Module/Editwebpage.php:104
-#: ../../Zotlabs/Module/Editwebpage.php:126 ../../Zotlabs/Module/Chat.php:100
-#: ../../Zotlabs/Module/Chat.php:105 ../../Zotlabs/Module/Appman.php:75
-#: ../../Zotlabs/Module/Pdledit.php:26 ../../Zotlabs/Module/Filestorage.php:23
+#: ../../Zotlabs/Module/Editwebpage.php:126 ../../Zotlabs/Module/Menu.php:78
+#: ../../Zotlabs/Module/Appman.php:75 ../../Zotlabs/Module/Api.php:12
+#: ../../Zotlabs/Module/Pdledit.php:29 ../../Zotlabs/Module/Filestorage.php:23
#: ../../Zotlabs/Module/Filestorage.php:78
#: ../../Zotlabs/Module/Filestorage.php:93
-#: ../../Zotlabs/Module/Filestorage.php:120
-#: ../../Zotlabs/Module/Profiles.php:203 ../../Zotlabs/Module/Profiles.php:601
-#: ../../Zotlabs/Module/Channel.php:104 ../../Zotlabs/Module/Channel.php:226
-#: ../../Zotlabs/Module/Channel.php:267 ../../Zotlabs/Module/Group.php:13
-#: ../../Zotlabs/Module/Mitem.php:115 ../../Zotlabs/Module/Block.php:26
+#: ../../Zotlabs/Module/Filestorage.php:120 ../../Zotlabs/Module/Manage.php:10
+#: ../../Zotlabs/Module/Group.php:13 ../../Zotlabs/Module/Block.php:26
#: ../../Zotlabs/Module/Block.php:76 ../../Zotlabs/Module/Invite.php:17
#: ../../Zotlabs/Module/Invite.php:91 ../../Zotlabs/Module/Locs.php:87
-#: ../../Zotlabs/Module/Events.php:264 ../../Zotlabs/Module/Message.php:18
-#: ../../Zotlabs/Module/Manage.php:10 ../../Zotlabs/Module/Mood.php:116
-#: ../../Zotlabs/Module/Menu.php:78 ../../Zotlabs/Module/Setup.php:215
-#: ../../Zotlabs/Module/New_channel.php:77
+#: ../../Zotlabs/Module/Rate.php:113 ../../Zotlabs/Module/Like.php:181
+#: ../../Zotlabs/Module/Profiles.php:203 ../../Zotlabs/Module/Profiles.php:601
+#: ../../Zotlabs/Module/Mitem.php:115 ../../Zotlabs/Module/Message.php:18
+#: ../../Zotlabs/Module/Setup.php:220 ../../Zotlabs/Module/Mood.php:116
+#: ../../Zotlabs/Module/Photos.php:73 ../../Zotlabs/Module/New_channel.php:77
#: ../../Zotlabs/Module/New_channel.php:104
#: ../../Zotlabs/Module/Notifications.php:70 ../../Zotlabs/Module/Poke.php:137
#: ../../Zotlabs/Module/Profile.php:68 ../../Zotlabs/Module/Profile.php:76
-#: ../../Zotlabs/Module/Api.php:12 ../../Zotlabs/Module/Blocks.php:73
-#: ../../Zotlabs/Module/Blocks.php:80 ../../Zotlabs/Module/Layouts.php:71
-#: ../../Zotlabs/Module/Layouts.php:78 ../../Zotlabs/Module/Layouts.php:89
+#: ../../Zotlabs/Module/Blocks.php:73 ../../Zotlabs/Module/Blocks.php:80
+#: ../../Zotlabs/Module/Layouts.php:71 ../../Zotlabs/Module/Layouts.php:78
+#: ../../Zotlabs/Module/Layouts.php:89
#: ../../Zotlabs/Module/Profile_photo.php:265
#: ../../Zotlabs/Module/Profile_photo.php:278
-#: ../../Zotlabs/Module/Common.php:39 ../../Zotlabs/Module/Network.php:15
-#: ../../Zotlabs/Module/Photos.php:73 ../../Zotlabs/Module/Regmod.php:21
-#: ../../Zotlabs/Module/Webpages.php:95
+#: ../../Zotlabs/Module/Common.php:39 ../../Zotlabs/Module/Settings.php:59
+#: ../../Zotlabs/Module/Register.php:77 ../../Zotlabs/Module/Regmod.php:21
+#: ../../Zotlabs/Module/Webpages.php:116 ../../Zotlabs/Module/Editpost.php:17
+#: ../../Zotlabs/Module/Events.php:264
#: ../../Zotlabs/Module/Service_limits.php:11
-#: ../../Zotlabs/Module/Register.php:77
+#: ../../Zotlabs/Module/Thing.php:274 ../../Zotlabs/Module/Thing.php:294
+#: ../../Zotlabs/Module/Thing.php:335 ../../Zotlabs/Module/Item.php:214
+#: ../../Zotlabs/Module/Item.php:222 ../../Zotlabs/Module/Item.php:1068
#: ../../Zotlabs/Module/Sharedwithme.php:11
#: ../../Zotlabs/Module/Sources.php:74 ../../Zotlabs/Module/Suggest.php:30
-#: ../../Zotlabs/Module/Settings.php:664
#: ../../Zotlabs/Module/Viewconnections.php:28
#: ../../Zotlabs/Module/Viewconnections.php:33
-#: ../../Zotlabs/Module/Viewsrc.php:18 ../../Zotlabs/Module/Editpost.php:17
-#: ../../Zotlabs/Lib/Chatroom.php:137 ../../include/photos.php:27
-#: ../../include/items.php:3450 ../../include/attach.php:142
-#: ../../include/attach.php:190 ../../include/attach.php:253
-#: ../../include/attach.php:267 ../../include/attach.php:274
-#: ../../include/attach.php:339 ../../include/attach.php:353
-#: ../../include/attach.php:360 ../../include/attach.php:440
-#: ../../include/attach.php:902 ../../include/attach.php:973
-#: ../../include/attach.php:1125
+#: ../../Zotlabs/Module/Viewsrc.php:18 ../../Zotlabs/Module/Chat.php:100
+#: ../../Zotlabs/Module/Chat.php:105 ../../Zotlabs/Lib/Chatroom.php:137
+#: ../../include/photos.php:27 ../../include/items.php:3506
+#: ../../include/attach.php:142 ../../include/attach.php:190
+#: ../../include/attach.php:253 ../../include/attach.php:267
+#: ../../include/attach.php:274 ../../include/attach.php:339
+#: ../../include/attach.php:353 ../../include/attach.php:360
+#: ../../include/attach.php:440 ../../include/attach.php:909
+#: ../../include/attach.php:980 ../../include/attach.php:1132
msgid "Permission denied."
msgstr "Toegang geweigerd."
-#: ../../Zotlabs/Web/Router.php:146 ../../Zotlabs/Module/Help.php:94
+#: ../../Zotlabs/Web/Router.php:146 ../../include/help.php:56
msgid "Not Found"
msgstr "Niet gevonden"
#: ../../Zotlabs/Web/Router.php:149 ../../Zotlabs/Module/Page.php:94
-#: ../../Zotlabs/Module/Help.php:97 ../../Zotlabs/Module/Block.php:79
-#: ../../Zotlabs/Module/Display.php:119
+#: ../../Zotlabs/Module/Block.php:79 ../../Zotlabs/Module/Display.php:120
+#: ../../include/help.php:59
msgid "Page not found."
msgstr "Pagina niet gevonden."
+#: ../../Zotlabs/Web/WebServer.php:127 ../../Zotlabs/Module/Group.php:72
+#: ../../Zotlabs/Module/Dreport.php:10 ../../Zotlabs/Module/Dreport.php:66
+#: ../../Zotlabs/Module/Import_items.php:114 ../../Zotlabs/Module/Like.php:283
+#: ../../Zotlabs/Module/Profperm.php:28 ../../Zotlabs/Module/Subthread.php:62
+#: ../../include/items.php:403
+msgid "Permission denied"
+msgstr "Toegang geweigerd"
+
#: ../../Zotlabs/Zot/Auth.php:138
msgid ""
"Remote authentication blocked. You are logged into this site locally. Please"
@@ -401,9 +409,9 @@ msgstr "Welkom %s. Authenticatie op afstand geslaagd."
#: ../../Zotlabs/Module/Editblock.php:31
#: ../../Zotlabs/Module/Editlayout.php:31
#: ../../Zotlabs/Module/Editwebpage.php:32
-#: ../../Zotlabs/Module/Filestorage.php:59 ../../Zotlabs/Module/Hcard.php:12
-#: ../../Zotlabs/Module/Profile.php:20 ../../Zotlabs/Module/Blocks.php:33
-#: ../../Zotlabs/Module/Layouts.php:31 ../../Zotlabs/Module/Connect.php:17
+#: ../../Zotlabs/Module/Filestorage.php:59 ../../Zotlabs/Module/Connect.php:17
+#: ../../Zotlabs/Module/Hcard.php:12 ../../Zotlabs/Module/Profile.php:20
+#: ../../Zotlabs/Module/Blocks.php:33 ../../Zotlabs/Module/Layouts.php:31
#: ../../Zotlabs/Module/Webpages.php:33 ../../include/channel.php:859
msgid "Requested profile is not available."
msgstr "Opgevraagd profiel is niet beschikbaar"
@@ -420,869 +428,1477 @@ msgstr "Afwezig"
msgid "Online"
msgstr "Online"
-#: ../../Zotlabs/Module/Thing.php:89 ../../Zotlabs/Module/Filestorage.php:32
-#: ../../Zotlabs/Module/Display.php:40 ../../Zotlabs/Module/Admin.php:164
-#: ../../Zotlabs/Module/Admin.php:1255 ../../Zotlabs/Module/Admin.php:1561
-#: ../../Zotlabs/Module/Viewsrc.php:24 ../../include/items.php:3371
-msgid "Item not found."
-msgstr "Item niet gevonden."
+#: ../../Zotlabs/Module/Network.php:95
+msgid "No such group"
+msgstr "Collectie niet gevonden"
-#: ../../Zotlabs/Module/Thing.php:114
-msgid "Thing updated"
-msgstr "Ding bijgewerkt"
+#: ../../Zotlabs/Module/Network.php:135
+msgid "No such channel"
+msgstr "Niet zo'n kanaal"
-#: ../../Zotlabs/Module/Thing.php:166
-msgid "Object store: failed"
-msgstr "Opslaan van ding mislukt"
+#: ../../Zotlabs/Module/Network.php:140
+msgid "forum"
+msgstr "forum"
-#: ../../Zotlabs/Module/Thing.php:170
-msgid "Thing added"
-msgstr "Ding toegevoegd"
+#: ../../Zotlabs/Module/Network.php:152
+msgid "Search Results For:"
+msgstr "Zoekresultaten voor:"
-#: ../../Zotlabs/Module/Thing.php:196
+#: ../../Zotlabs/Module/Network.php:218
+msgid "Privacy group is empty"
+msgstr "Privacygroep is leeg"
+
+#: ../../Zotlabs/Module/Network.php:227
+msgid "Privacy group: "
+msgstr "Privacygroep: "
+
+#: ../../Zotlabs/Module/Network.php:253
+msgid "Invalid connection."
+msgstr "Ongeldige connectie."
+
+#: ../../Zotlabs/Module/Probe.php:28 ../../Zotlabs/Module/Probe.php:32
#, php-format
-msgid "OBJ: %1$s %2$s %3$s"
-msgstr "OBJ: %1$s %2$s %3$s"
+msgid "Fetching URL returns error: %1$s"
+msgstr "Ophalen URL gaf een foutmelding terug: %1$s"
-#: ../../Zotlabs/Module/Thing.php:259
-msgid "Show Thing"
-msgstr "Ding weergeven"
+#: ../../Zotlabs/Module/Acl.php:313
+msgid "network"
+msgstr "netwerk"
-#: ../../Zotlabs/Module/Thing.php:266
-msgid "item not found."
-msgstr "Item niet gevonden"
+#: ../../Zotlabs/Module/Acl.php:323
+msgid "RSS"
+msgstr "RSS"
-#: ../../Zotlabs/Module/Thing.php:299
-msgid "Edit Thing"
-msgstr "Ding bewerken"
+#: ../../Zotlabs/Module/Channel.php:28 ../../Zotlabs/Module/Wiki.php:20
+#: ../../Zotlabs/Module/Chat.php:25
+msgid "You must be logged in to see this page."
+msgstr "Je moet zijn ingelogd om deze pagina te kunnen bekijken."
-#: ../../Zotlabs/Module/Thing.php:301 ../../Zotlabs/Module/Thing.php:355
-msgid "Select a profile"
-msgstr "Kies een profiel"
+#: ../../Zotlabs/Module/Channel.php:40
+msgid "Posts and comments"
+msgstr "Berichten en reacties"
-#: ../../Zotlabs/Module/Thing.php:305 ../../Zotlabs/Module/Thing.php:358
-msgid "Post an activity"
-msgstr "Plaats een bericht"
+#: ../../Zotlabs/Module/Channel.php:41
+msgid "Only posts"
+msgstr "Alleen berichten"
-#: ../../Zotlabs/Module/Thing.php:305 ../../Zotlabs/Module/Thing.php:358
-msgid "Only sends to viewers of the applicable profile"
-msgstr "Toont dit alleen aan diegene die het gekozen profiel mogen zien."
+#: ../../Zotlabs/Module/Channel.php:101
+msgid "Insufficient permissions. Request redirected to profile page."
+msgstr "Onvoldoende permissies. Doorgestuurd naar profielpagina."
-#: ../../Zotlabs/Module/Thing.php:307 ../../Zotlabs/Module/Thing.php:360
-msgid "Name of thing e.g. something"
-msgstr "Naam van ding"
+#: ../../Zotlabs/Module/Import.php:33
+#, php-format
+msgid "Your service plan only allows %d channels."
+msgstr "Jouw abonnement staat maar %d kanalen toe."
-#: ../../Zotlabs/Module/Thing.php:309 ../../Zotlabs/Module/Thing.php:361
-msgid "URL of thing (optional)"
-msgstr "URL van ding (optioneel)"
+#: ../../Zotlabs/Module/Import.php:71 ../../Zotlabs/Module/Import_items.php:42
+msgid "Nothing to import."
+msgstr "Niets gevonden om te importeren"
-#: ../../Zotlabs/Module/Thing.php:311 ../../Zotlabs/Module/Thing.php:362
-msgid "URL for photo of thing (optional)"
-msgstr "URL voor foto van ding (optioneel)"
+#: ../../Zotlabs/Module/Import.php:95 ../../Zotlabs/Module/Import_items.php:66
+msgid "Unable to download data from old server"
+msgstr "Niet in staat om gegevens van de oude hub te downloaden"
-#: ../../Zotlabs/Module/Thing.php:313 ../../Zotlabs/Module/Thing.php:363
-#: ../../Zotlabs/Module/Chat.php:234 ../../Zotlabs/Module/Filestorage.php:152
-#: ../../Zotlabs/Module/Photos.php:669 ../../Zotlabs/Module/Photos.php:1047
-#: ../../include/acl_selectors.php:186
-msgid "Permissions"
-msgstr "Permissies"
+#: ../../Zotlabs/Module/Import.php:101
+#: ../../Zotlabs/Module/Import_items.php:72
+msgid "Imported file is empty."
+msgstr "Geïmporteerde bestand is leeg"
-#: ../../Zotlabs/Module/Thing.php:320 ../../Zotlabs/Module/Thing.php:370
-#: ../../Zotlabs/Module/Rate.php:170 ../../Zotlabs/Module/Connedit.php:783
-#: ../../Zotlabs/Module/Import.php:560 ../../Zotlabs/Module/Mail.php:370
-#: ../../Zotlabs/Module/Chat.php:196 ../../Zotlabs/Module/Chat.php:241
-#: ../../Zotlabs/Module/Appman.php:126 ../../Zotlabs/Module/Pdledit.php:66
+#: ../../Zotlabs/Module/Import.php:123
+#: ../../Zotlabs/Module/Import_items.php:88
+#, php-format
+msgid "Warning: Database versions differ by %1$d updates."
+msgstr "Waarschuwing: database-versies lopen %1$d updates achter."
+
+#: ../../Zotlabs/Module/Import.php:153 ../../include/import.php:107
+msgid "Cloned channel not found. Import failed."
+msgstr "Gekloond kanaal niet gevonden. Importeren mislukt."
+
+#: ../../Zotlabs/Module/Import.php:163
+msgid "No channel. Import failed."
+msgstr "Geen kanaal. Importeren mislukt."
+
+#: ../../Zotlabs/Module/Import.php:520
+#: ../../include/Import/import_diaspora.php:142
+msgid "Import completed."
+msgstr "Import voltooid."
+
+#: ../../Zotlabs/Module/Import.php:542
+msgid "You must be logged in to use this feature."
+msgstr "Je moet ingelogd zijn om dit onderdeel te kunnen gebruiken."
+
+#: ../../Zotlabs/Module/Import.php:547
+msgid "Import Channel"
+msgstr "Kanaal importeren"
+
+#: ../../Zotlabs/Module/Import.php:548
+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 "Gebruik dit formulier om een bestaand kanaal te importeren van een andere hub. Je kan de kanaal-identiteit van de oude hub via het netwerk ontvangen of een exportbestand verstrekken."
+
+#: ../../Zotlabs/Module/Import.php:549
+#: ../../Zotlabs/Module/Import_items.php:121
+msgid "File to Upload"
+msgstr "Bestand om te uploaden"
+
+#: ../../Zotlabs/Module/Import.php:550
+msgid "Or provide the old server/hub details"
+msgstr "Of vul de gegevens van de oude hub in"
+
+#: ../../Zotlabs/Module/Import.php:551
+msgid "Your old identity address (xyz@example.com)"
+msgstr "Jouw oude kanaaladres (xyz@example.com)"
+
+#: ../../Zotlabs/Module/Import.php:552
+msgid "Your old login email address"
+msgstr "Het e-mailadres van je oude account"
+
+#: ../../Zotlabs/Module/Import.php:553
+msgid "Your old login password"
+msgstr "Wachtwoord van jouw oude account"
+
+#: ../../Zotlabs/Module/Import.php:554
+msgid ""
+"For either option, please choose whether to make this hub your new primary "
+"address, or whether your old location should continue this role. You will be"
+" able to post from either location, but only one can be marked as the "
+"primary location for files, photos, and media."
+msgstr "Voor elke optie geldt dat je moet kiezen of je jouw primaire kanaaladres op deze hub wil instellen of dat jouw oude hub deze rol blijft vervullen."
+
+#: ../../Zotlabs/Module/Import.php:555
+msgid "Make this hub my primary location"
+msgstr "Stel deze hub als mijn primaire locatie in"
+
+#: ../../Zotlabs/Module/Import.php:556
+msgid ""
+"Import existing posts if possible (experimental - limited by available "
+"memory"
+msgstr "Importeer bestaande berichten wanneer mogelijk (experimenteel - afhankelijk van beschikbaar servergeheugen)"
+
+#: ../../Zotlabs/Module/Import.php:557
+msgid ""
+"This process may take several minutes to complete. Please submit the form "
+"only once and leave this page open until finished."
+msgstr "Dit proces kan enkele minuten in beslag nemen. Klik maar één keer op opslaan en verlaat deze pagina niet alvorens het proces is voltooid."
+
+#: ../../Zotlabs/Module/Import.php:560
+#: ../../Zotlabs/Module/Admin/Accounts.php:167
+#: ../../Zotlabs/Module/Admin/Channels.php:151
+#: ../../Zotlabs/Module/Admin/Features.php:66
+#: ../../Zotlabs/Module/Admin/Logs.php:84
+#: ../../Zotlabs/Module/Admin/Plugins.php:429
+#: ../../Zotlabs/Module/Admin/Profs.php:157
+#: ../../Zotlabs/Module/Admin/Security.php:104
+#: ../../Zotlabs/Module/Admin/Site.php:267
+#: ../../Zotlabs/Module/Admin/Themes.php:156 ../../Zotlabs/Module/Mail.php:370
+#: ../../Zotlabs/Module/Connedit.php:779 ../../Zotlabs/Module/Appman.php:126
+#: ../../Zotlabs/Module/Pdledit.php:74
#: ../../Zotlabs/Module/Filestorage.php:165
-#: ../../Zotlabs/Module/Profiles.php:687 ../../Zotlabs/Module/Group.php:85
-#: ../../Zotlabs/Module/Mitem.php:243
+#: ../../Zotlabs/Module/Connect.php:98 ../../Zotlabs/Module/Group.php:85
#: ../../Zotlabs/Module/Import_items.php:122
#: ../../Zotlabs/Module/Invite.php:146 ../../Zotlabs/Module/Locs.php:121
-#: ../../Zotlabs/Module/Events.php:484 ../../Zotlabs/Module/Mood.php:139
-#: ../../Zotlabs/Module/Setup.php:312 ../../Zotlabs/Module/Setup.php:353
-#: ../../Zotlabs/Module/Admin.php:492 ../../Zotlabs/Module/Admin.php:688
-#: ../../Zotlabs/Module/Admin.php:771 ../../Zotlabs/Module/Admin.php:1032
-#: ../../Zotlabs/Module/Admin.php:1211 ../../Zotlabs/Module/Admin.php:1421
-#: ../../Zotlabs/Module/Admin.php:1648 ../../Zotlabs/Module/Admin.php:1733
-#: ../../Zotlabs/Module/Admin.php:2116 ../../Zotlabs/Module/Poke.php:186
-#: ../../Zotlabs/Module/Pconfig.php:107 ../../Zotlabs/Module/Cal.php:338
-#: ../../Zotlabs/Module/Connect.php:98 ../../Zotlabs/Module/Photos.php:679
-#: ../../Zotlabs/Module/Photos.php:1058 ../../Zotlabs/Module/Photos.php:1098
-#: ../../Zotlabs/Module/Photos.php:1216 ../../Zotlabs/Module/Sources.php:114
-#: ../../Zotlabs/Module/Sources.php:149 ../../Zotlabs/Module/Settings.php:682
-#: ../../Zotlabs/Module/Settings.php:795 ../../Zotlabs/Module/Settings.php:886
-#: ../../Zotlabs/Module/Settings.php:912 ../../Zotlabs/Module/Settings.php:935
-#: ../../Zotlabs/Module/Settings.php:1040
-#: ../../Zotlabs/Module/Settings.php:1229 ../../Zotlabs/Module/Xchan.php:15
-#: ../../Zotlabs/Lib/ThreadItem.php:711 ../../include/widgets.php:763
-#: ../../include/js_strings.php:22
-#: ../../view/theme/redbasic/php/config.php:106
+#: ../../Zotlabs/Module/Rate.php:166 ../../Zotlabs/Module/Profiles.php:687
+#: ../../Zotlabs/Module/Mitem.php:243 ../../Zotlabs/Module/Setup.php:317
+#: ../../Zotlabs/Module/Setup.php:365 ../../Zotlabs/Module/Mood.php:139
+#: ../../Zotlabs/Module/Photos.php:668 ../../Zotlabs/Module/Photos.php:1058
+#: ../../Zotlabs/Module/Photos.php:1098 ../../Zotlabs/Module/Photos.php:1216
+#: ../../Zotlabs/Module/Poke.php:186 ../../Zotlabs/Module/Pconfig.php:107
+#: ../../Zotlabs/Module/Cal.php:338 ../../Zotlabs/Module/Events.php:484
+#: ../../Zotlabs/Module/Thing.php:320 ../../Zotlabs/Module/Thing.php:370
+#: ../../Zotlabs/Module/Sources.php:114 ../../Zotlabs/Module/Sources.php:149
+#: ../../Zotlabs/Module/Chat.php:196 ../../Zotlabs/Module/Chat.php:241
+#: ../../Zotlabs/Module/Xchan.php:15
+#: ../../Zotlabs/Module/Settings/Account.php:126
+#: ../../Zotlabs/Module/Settings/Channel.php:452
+#: ../../Zotlabs/Module/Settings/Display.php:194
+#: ../../Zotlabs/Module/Settings/Features.php:47
+#: ../../Zotlabs/Module/Settings/Oauth.php:87
+#: ../../Zotlabs/Module/Settings/Tokens.php:167
+#: ../../Zotlabs/Lib/ThreadItem.php:725 ../../include/js_strings.php:22
+#: ../../include/widgets.php:796 ../../view/theme/redbasic/php/config.php:106
msgid "Submit"
msgstr "Opslaan"
-#: ../../Zotlabs/Module/Thing.php:353
-msgid "Add Thing to your Profile"
-msgstr "Ding aan je profiel toevoegen"
+#: ../../Zotlabs/Module/Wiki.php:100
+msgid ""
+"\"# Wiki Sandbox\\n\\nContent you **edit** and **preview** here *will not be"
+" saved*.\""
+msgstr "\"# Wiki Sandbox\\n\\nWat er hier onder **edit** en **preview** staat *wordt niet opgeslagen*.\""
-#: ../../Zotlabs/Module/Like.php:19
-msgid "Like/Dislike"
-msgstr "Leuk/niet leuk"
+#: ../../Zotlabs/Module/Wiki.php:169
+msgid "Revision Comparison"
+msgstr "Revisies vergelijken"
-#: ../../Zotlabs/Module/Like.php:24
-msgid "This action is restricted to members."
-msgstr "Deze actie kan alleen door $Projectname-leden worden uitgevoerd."
+#: ../../Zotlabs/Module/Wiki.php:170
+msgid "Revert"
+msgstr "Ongedaan maken"
-#: ../../Zotlabs/Module/Like.php:25
-msgid ""
-"Please <a href=\"rmagic\">login with your $Projectname ID</a> or <a "
-"href=\"register\">register as a new $Projectname member</a> to continue."
-msgstr "Je dient <a href=\"rmagic\">in te loggen met je $Projectname-account</a> of <a href=\"register\">een nieuw $Projectname-account aan te maken</a> om verder te kunnen gaan."
+#: ../../Zotlabs/Module/Admin/Accounts.php:36
+#, php-format
+msgid "%s account blocked/unblocked"
+msgid_plural "%s account blocked/unblocked"
+msgstr[0] "%s account geblokkeerd/gedeblokkeerd"
+msgstr[1] "%s accounts geblokkeerd/gedeblokkeerd"
-#: ../../Zotlabs/Module/Like.php:105 ../../Zotlabs/Module/Like.php:131
-#: ../../Zotlabs/Module/Like.php:169
-msgid "Invalid request."
-msgstr "Ongeldig verzoek"
+#: ../../Zotlabs/Module/Admin/Accounts.php:43
+#, php-format
+msgid "%s account deleted"
+msgid_plural "%s accounts deleted"
+msgstr[0] "%s account verwijderd"
+msgstr[1] "%s accounts verwijderd"
-#: ../../Zotlabs/Module/Like.php:117 ../../include/conversation.php:126
-msgid "channel"
-msgstr "kanaal"
+#: ../../Zotlabs/Module/Admin/Accounts.php:79
+msgid "Account not found"
+msgstr "Account niet gevonden"
-#: ../../Zotlabs/Module/Like.php:146
-msgid "thing"
-msgstr "ding"
+#: ../../Zotlabs/Module/Admin/Accounts.php:90
+#, php-format
+msgid "Account '%s' deleted"
+msgstr "Account '%s' verwijderd"
-#: ../../Zotlabs/Module/Like.php:192
-msgid "Channel unavailable."
-msgstr "Kanaal niet beschikbaar."
+#: ../../Zotlabs/Module/Admin/Accounts.php:98
+#, php-format
+msgid "Account '%s' blocked"
+msgstr "Account '%s' geblokkeerd"
-#: ../../Zotlabs/Module/Like.php:240
-msgid "Previous action reversed."
-msgstr "Vorige actie omgedraaid"
+#: ../../Zotlabs/Module/Admin/Accounts.php:106
+#, php-format
+msgid "Account '%s' unblocked"
+msgstr "Account '%s' gedeblokkeerd"
-#: ../../Zotlabs/Module/Like.php:370 ../../Zotlabs/Module/Subthread.php:87
-#: ../../Zotlabs/Module/Tagger.php:47 ../../include/conversation.php:120
-#: ../../include/text.php:1945
-msgid "photo"
-msgstr "foto"
+#: ../../Zotlabs/Module/Admin/Accounts.php:165
+#: ../../Zotlabs/Module/Admin/Channels.php:149
+#: ../../Zotlabs/Module/Admin/Logs.php:82
+#: ../../Zotlabs/Module/Admin/Plugins.php:336
+#: ../../Zotlabs/Module/Admin/Plugins.php:427
+#: ../../Zotlabs/Module/Admin/Security.php:86
+#: ../../Zotlabs/Module/Admin/Site.php:265
+#: ../../Zotlabs/Module/Admin/Themes.php:120
+#: ../../Zotlabs/Module/Admin/Themes.php:154
+#: ../../Zotlabs/Module/Admin.php:141
+msgid "Administration"
+msgstr "Beheer"
-#: ../../Zotlabs/Module/Like.php:370 ../../Zotlabs/Module/Subthread.php:87
-#: ../../include/conversation.php:148 ../../include/text.php:1951
-msgid "status"
-msgstr "bericht"
+#: ../../Zotlabs/Module/Admin/Accounts.php:166
+#: ../../Zotlabs/Module/Admin/Accounts.php:179 ../../include/widgets.php:1561
+msgid "Accounts"
+msgstr "Accounts"
-#: ../../Zotlabs/Module/Like.php:372 ../../Zotlabs/Module/Events.php:253
-#: ../../Zotlabs/Module/Tagger.php:51 ../../include/conversation.php:123
-#: ../../include/text.php:1948 ../../include/event.php:958
-msgid "event"
-msgstr "gebeurtenis"
+#: ../../Zotlabs/Module/Admin/Accounts.php:168
+#: ../../Zotlabs/Module/Admin/Channels.php:152
+msgid "select all"
+msgstr "alles selecteren"
-#: ../../Zotlabs/Module/Like.php:419 ../../include/conversation.php:164
+#: ../../Zotlabs/Module/Admin/Accounts.php:169
+msgid "Registrations waiting for confirm"
+msgstr "Accounts die op goedkeuring wachten"
+
+#: ../../Zotlabs/Module/Admin/Accounts.php:170
+msgid "Request date"
+msgstr "Tijd/datum verzoek"
+
+#: ../../Zotlabs/Module/Admin/Accounts.php:170
+#: ../../Zotlabs/Module/Admin/Accounts.php:182 ../../include/network.php:2212
+msgid "Email"
+msgstr "E-mail"
+
+#: ../../Zotlabs/Module/Admin/Accounts.php:171
+msgid "No registrations."
+msgstr "Geen verzoeken."
+
+#: ../../Zotlabs/Module/Admin/Accounts.php:172
+#: ../../Zotlabs/Module/Connections.php:275
+msgid "Approve"
+msgstr "Goedkeuren"
+
+#: ../../Zotlabs/Module/Admin/Accounts.php:173
+msgid "Deny"
+msgstr "Afkeuren"
+
+#: ../../Zotlabs/Module/Admin/Accounts.php:175
+#: ../../Zotlabs/Module/Connedit.php:575
+msgid "Block"
+msgstr "Blokkeren"
+
+#: ../../Zotlabs/Module/Admin/Accounts.php:176
+#: ../../Zotlabs/Module/Connedit.php:575
+msgid "Unblock"
+msgstr "Deblokkeren"
+
+#: ../../Zotlabs/Module/Admin/Accounts.php:181
+msgid "ID"
+msgstr "ID"
+
+#: ../../Zotlabs/Module/Admin/Accounts.php:183 ../../include/group.php:267
+msgid "All Channels"
+msgstr "Alle kanalen"
+
+#: ../../Zotlabs/Module/Admin/Accounts.php:184
+msgid "Register date"
+msgstr "Geregistreerd"
+
+#: ../../Zotlabs/Module/Admin/Accounts.php:185
+msgid "Last login"
+msgstr "Laatste keer ingelogd"
+
+#: ../../Zotlabs/Module/Admin/Accounts.php:186
+msgid "Expires"
+msgstr "Verloopt"
+
+#: ../../Zotlabs/Module/Admin/Accounts.php:187
+msgid "Service Class"
+msgstr "Abonnementen"
+
+#: ../../Zotlabs/Module/Admin/Accounts.php:189
+msgid ""
+"Selected accounts will be deleted!\\n\\nEverything these accounts had posted"
+" on this site will be permanently deleted!\\n\\nAre you sure?"
+msgstr "Geselecteerde accounts (met bijbehorende kanalen) worden verwijderd!\\n\\nAlles wat deze accounts op deze hub hebben gepubliceerd wordt definitief verwijderd!\\n\\Weet je het zeker?"
+
+#: ../../Zotlabs/Module/Admin/Accounts.php:190
+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 "Account {0} (met bijbehorende kanalen) wordt verwijderd !\\n\\nAlles wat dit account op deze hub heeft gepubliceerd wordt definitief verwijderd!\\n\\nWeet je het zeker?"
+
+#: ../../Zotlabs/Module/Admin/Channels.php:30
#, php-format
-msgid "%1$s likes %2$s's %3$s"
-msgstr "%1$s vindt %3$s van %2$s leuk"
+msgid "%s channel censored/uncensored"
+msgid_plural "%s channels censored/uncensored"
+msgstr[0] "%s kanaal gecensureerd/ongecensureerd"
+msgstr[1] "%s kanalen gecensureerd/ongecensureerd"
-#: ../../Zotlabs/Module/Like.php:421 ../../include/conversation.php:167
+#: ../../Zotlabs/Module/Admin/Channels.php:39
#, php-format
-msgid "%1$s doesn't like %2$s's %3$s"
-msgstr "%1$s vindt %3$s van %2$s niet leuk"
+msgid "%s channel code allowed/disallowed"
+msgid_plural "%s channels code allowed/disallowed"
+msgstr[0] "Scripts toegestaan/niet toegestaan voor %s kanaal"
+msgstr[1] "Scripts toegestaan/niet toegestaan voor %s kanalen"
-#: ../../Zotlabs/Module/Like.php:423
+#: ../../Zotlabs/Module/Admin/Channels.php:45
#, php-format
-msgid "%1$s agrees with %2$s's %3$s"
-msgstr "%1$s is het eens met %2$s's %3$s"
+msgid "%s channel deleted"
+msgid_plural "%s channels deleted"
+msgstr[0] "%s kanaal verwijderd"
+msgstr[1] "%s kanalen verwijderd"
-#: ../../Zotlabs/Module/Like.php:425
+#: ../../Zotlabs/Module/Admin/Channels.php:66
+msgid "Channel not found"
+msgstr "Kanaal niet gevonden"
+
+#: ../../Zotlabs/Module/Admin/Channels.php:76
#, php-format
-msgid "%1$s doesn't agree with %2$s's %3$s"
-msgstr "%1$s is het niet eens met %2$s's %3$s"
+msgid "Channel '%s' deleted"
+msgstr "Kanaal '%s' verwijderd"
-#: ../../Zotlabs/Module/Like.php:427
+#: ../../Zotlabs/Module/Admin/Channels.php:88
#, php-format
-msgid "%1$s abstains from a decision on %2$s's %3$s"
-msgstr "%1$s onthoudt zich van een besluit over %2$s's %3$s"
+msgid "Channel '%s' censored"
+msgstr "Kanaal '%s' gecensureerd"
-#: ../../Zotlabs/Module/Like.php:429
+#: ../../Zotlabs/Module/Admin/Channels.php:88
#, php-format
-msgid "%1$s is attending %2$s's %3$s"
-msgstr "%1$s is aanwezig op %2$s's %3$s"
+msgid "Channel '%s' uncensored"
+msgstr "Kanaal '%s' ongecensureerd"
-#: ../../Zotlabs/Module/Like.php:431
+#: ../../Zotlabs/Module/Admin/Channels.php:99
#, php-format
-msgid "%1$s is not attending %2$s's %3$s"
-msgstr "%1$s is niet aanwezig op %2$s's %3$s"
+msgid "Channel '%s' code allowed"
+msgstr "Scripts toegestaan voor kanaal '%s'"
-#: ../../Zotlabs/Module/Like.php:433
+#: ../../Zotlabs/Module/Admin/Channels.php:99
#, php-format
-msgid "%1$s may attend %2$s's %3$s"
-msgstr "%1$s is mogelijk aanwezig op %2$s's %3$s"
+msgid "Channel '%s' code disallowed"
+msgstr "Scripts niet toegestaan voor kanaal '%s'"
-#: ../../Zotlabs/Module/Like.php:538
-msgid "Action completed."
-msgstr "Actie voltooid"
+#: ../../Zotlabs/Module/Admin/Channels.php:150 ../../include/widgets.php:1562
+msgid "Channels"
+msgstr "Kanalen"
-#: ../../Zotlabs/Module/Like.php:539
-msgid "Thank you."
-msgstr "Bedankt"
+#: ../../Zotlabs/Module/Admin/Channels.php:154
+msgid "Censor"
+msgstr "Censureren"
-#: ../../Zotlabs/Module/Wiki.php:20 ../../Zotlabs/Module/Chat.php:25
-#: ../../Zotlabs/Module/Channel.php:28
-msgid "You must be logged in to see this page."
-msgstr "Je moet zijn ingelogd om deze pagina te kunnen bekijken."
+#: ../../Zotlabs/Module/Admin/Channels.php:155
+msgid "Uncensor"
+msgstr "Niet censureren"
-#: ../../Zotlabs/Module/Wiki.php:34
-msgid "Not found"
-msgstr "Niet gevonden"
+#: ../../Zotlabs/Module/Admin/Channels.php:156
+msgid "Allow Code"
+msgstr "Scripts toestaan"
-#: ../../Zotlabs/Module/Wiki.php:97 ../../Zotlabs/Lib/Apps.php:219
-#: ../../include/conversation.php:1725 ../../include/conversation.php:1728
-#: ../../include/features.php:57 ../../include/nav.php:110
-msgid "Wiki"
-msgstr "Wiki"
+#: ../../Zotlabs/Module/Admin/Channels.php:157
+msgid "Disallow Code"
+msgstr "Scripts niet toestaan"
-#: ../../Zotlabs/Module/Wiki.php:98
-msgid "Sandbox"
-msgstr "Zandbak"
+#: ../../Zotlabs/Module/Admin/Channels.php:158
+#: ../../include/conversation.php:1651
+msgid "Channel"
+msgstr "Kanaal"
-#: ../../Zotlabs/Module/Wiki.php:100
+#: ../../Zotlabs/Module/Admin/Channels.php:162
+msgid "UID"
+msgstr "UID"
+
+#: ../../Zotlabs/Module/Admin/Channels.php:164
+#: ../../Zotlabs/Module/Locs.php:118 ../../Zotlabs/Module/Profiles.php:470
+msgid "Address"
+msgstr "Kanaaladres"
+
+#: ../../Zotlabs/Module/Admin/Channels.php:166
msgid ""
-"\"# Wiki Sandbox\\n\\nContent you **edit** and **preview** here *will not be"
-" saved*.\""
-msgstr "\"# Wiki Sandbox\\n\\nWat er hier onder **edit** en **preview** staat *wordt niet opgeslagen*.\""
+"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 "Geselecteerde kanalen worden verwijderd!\\n\\nAlles wat in deze kanalen op deze hub werd gepubliceerd wordt definitief verwijderd!\\n\\nWeet je het zeker?"
-#: ../../Zotlabs/Module/Wiki.php:169
-msgid "Revision Comparison"
-msgstr "Revisies vergelijken"
+#: ../../Zotlabs/Module/Admin/Channels.php:167
+msgid ""
+"The channel {0} will be deleted!\\n\\nEverything that was posted in this "
+"channel on this site will be permanently deleted!\\n\\nAre you sure?"
+msgstr "Kanaal {0} wordt verwijderd!\\n\\nAlles wat in dit kanaal op deze hub werd gepubliceerd wordt definitief verwijderd!\\n\\nWeet je het zeker?"
-#: ../../Zotlabs/Module/Wiki.php:170
-msgid "Revert"
-msgstr "Ongedaan maken"
+#: ../../Zotlabs/Module/Admin/Dbsync.php:19
+msgid "Update has been marked successful"
+msgstr "Update is als succesvol gemarkeerd"
-#: ../../Zotlabs/Module/Wiki.php:171 ../../Zotlabs/Module/Wiki.php:211
-#: ../../Zotlabs/Module/Fbrowser.php:66 ../../Zotlabs/Module/Fbrowser.php:88
-#: ../../Zotlabs/Module/Admin.php:1406 ../../Zotlabs/Module/Tagrm.php:15
-#: ../../Zotlabs/Module/Tagrm.php:138 ../../Zotlabs/Module/Settings.php:683
-#: ../../Zotlabs/Module/Settings.php:709 ../../include/conversation.php:1242
-#: ../../include/conversation.php:1289
-msgid "Cancel"
-msgstr "Annuleren"
+#: ../../Zotlabs/Module/Admin/Dbsync.php:29
+#, php-format
+msgid "Executing %s failed. Check system logs."
+msgstr "Uitvoeren van %s is mislukt. Controleer systeemlogboek."
-#: ../../Zotlabs/Module/Wiki.php:201
-msgid "Enter the name of your new wiki:"
-msgstr "Vul de naam in van jouw nieuwe wiki:"
+#: ../../Zotlabs/Module/Admin/Dbsync.php:32
+#, php-format
+msgid "Update %s was successfully applied."
+msgstr "Update %s was geslaagd."
-#: ../../Zotlabs/Module/Wiki.php:202
-msgid "Enter the name of the new page:"
-msgstr "Vul de naam in van de nieuwe pagina:"
+#: ../../Zotlabs/Module/Admin/Dbsync.php:36
+#, php-format
+msgid "Update %s did not return a status. Unknown if it succeeded."
+msgstr "Update %s gaf geen melding. Het is daarom niet bekend of deze geslaagd is."
-#: ../../Zotlabs/Module/Wiki.php:203
-msgid "Enter the new name:"
-msgstr "Vul de nieuwe naam in:"
+#: ../../Zotlabs/Module/Admin/Dbsync.php:39
+#, php-format
+msgid "Update function %s could not be found."
+msgstr "Update-functie %s kon niet gevonden worden."
-#: ../../Zotlabs/Module/Wiki.php:209 ../../include/conversation.php:1155
-msgid "Embed image from photo albums"
-msgstr "Afbeelding uit een fotoalbum invoegen"
+#: ../../Zotlabs/Module/Admin/Dbsync.php:55
+msgid "No failed updates."
+msgstr "Geen mislukte updates."
-#: ../../Zotlabs/Module/Wiki.php:210 ../../include/conversation.php:1241
-msgid "Embed an image from your albums"
-msgstr "Afbeelding uit jouw albums invoegen"
+#: ../../Zotlabs/Module/Admin/Dbsync.php:59
+msgid "Failed Updates"
+msgstr "Mislukte updates"
-#: ../../Zotlabs/Module/Wiki.php:212 ../../include/conversation.php:1243
-#: ../../include/conversation.php:1288
-msgid "OK"
-msgstr "OK"
+#: ../../Zotlabs/Module/Admin/Dbsync.php:61
+msgid "Mark success (if update was manually applied)"
+msgstr "Markeer als geslaagd (wanneer de update handmatig was uitgevoerd)"
-#: ../../Zotlabs/Module/Wiki.php:213 ../../include/conversation.php:1191
-msgid "Choose images to embed"
-msgstr "Kies afbeeldingen om in te voegen"
+#: ../../Zotlabs/Module/Admin/Dbsync.php:62
+msgid "Attempt to execute this update step automatically"
+msgstr "Poging om deze stap van de update automatisch uit te voeren."
-#: ../../Zotlabs/Module/Wiki.php:214 ../../include/conversation.php:1192
-msgid "Choose an album"
-msgstr "Kies een album"
+#: ../../Zotlabs/Module/Admin/Features.php:55
+#: ../../Zotlabs/Module/Admin/Features.php:56
+#: ../../Zotlabs/Module/Settings/Features.php:38
+msgid "Off"
+msgstr "Uit"
-#: ../../Zotlabs/Module/Wiki.php:215 ../../include/conversation.php:1193
-msgid "Choose a different album..."
-msgstr "Kies een ander album..."
+#: ../../Zotlabs/Module/Admin/Features.php:55
+#: ../../Zotlabs/Module/Admin/Features.php:56
+#: ../../Zotlabs/Module/Settings/Features.php:38
+msgid "On"
+msgstr "Aan"
-#: ../../Zotlabs/Module/Wiki.php:216 ../../include/conversation.php:1194
-msgid "Error getting album list"
-msgstr "Fout met ophalen albumlijst"
+#: ../../Zotlabs/Module/Admin/Features.php:56
+#, php-format
+msgid "Lock feature %s"
+msgstr " Vergrendel de functie '%s'"
-#: ../../Zotlabs/Module/Wiki.php:217 ../../include/conversation.php:1195
-msgid "Error getting photo link"
-msgstr "Fout met ophalen fotolink"
+#: ../../Zotlabs/Module/Admin/Features.php:64
+msgid "Manage Additional Features"
+msgstr "Beheer - Extra functies"
-#: ../../Zotlabs/Module/Wiki.php:218 ../../include/conversation.php:1196
-msgid "Error getting album"
-msgstr "Fout met ophalen album"
+#: ../../Zotlabs/Module/Admin/Logs.php:28
+msgid "Log settings updated."
+msgstr "Logboek-instellingen bijgewerkt."
-#: ../../Zotlabs/Module/Directory.php:63 ../../Zotlabs/Module/Display.php:17
-#: ../../Zotlabs/Module/Ratings.php:86 ../../Zotlabs/Module/Photos.php:520
-#: ../../Zotlabs/Module/Search.php:17
-#: ../../Zotlabs/Module/Viewconnections.php:23
-msgid "Public access denied."
-msgstr "Openbare toegang geweigerd."
+#: ../../Zotlabs/Module/Admin/Logs.php:83 ../../include/widgets.php:1587
+#: ../../include/widgets.php:1597
+msgid "Logs"
+msgstr "Logboeken"
-#: ../../Zotlabs/Module/Directory.php:243
+#: ../../Zotlabs/Module/Admin/Logs.php:85
+msgid "Clear"
+msgstr "Leegmaken"
+
+#: ../../Zotlabs/Module/Admin/Logs.php:91
+msgid "Debugging"
+msgstr "Debuggen"
+
+#: ../../Zotlabs/Module/Admin/Logs.php:92
+msgid "Log file"
+msgstr "Logbestand"
+
+#: ../../Zotlabs/Module/Admin/Logs.php:92
+msgid ""
+"Must be writable by web server. Relative to your top-level webserver "
+"directory."
+msgstr "Moet door de webserver beschrijfbaar zijn. Relatief ten opzichte van de bovenste map van je $Projectname-installatie."
+
+#: ../../Zotlabs/Module/Admin/Logs.php:93
+msgid "Log level"
+msgstr "Logniveau"
+
+#: ../../Zotlabs/Module/Admin/Plugins.php:254
+#: ../../Zotlabs/Module/Admin/Themes.php:69
+#: ../../Zotlabs/Module/Filestorage.php:32 ../../Zotlabs/Module/Display.php:40
+#: ../../Zotlabs/Module/Admin.php:62 ../../Zotlabs/Module/Thing.php:89
+#: ../../Zotlabs/Module/Viewsrc.php:24 ../../include/items.php:3427
+msgid "Item not found."
+msgstr "Item niet gevonden."
+
+#: ../../Zotlabs/Module/Admin/Plugins.php:284
#, php-format
-msgid "%d rating"
-msgid_plural "%d ratings"
-msgstr[0] "%d beoordeling"
-msgstr[1] "%d beoordelingen"
+msgid "Plugin %s disabled."
+msgstr "Plugin %s uitgeschakeld."
-#: ../../Zotlabs/Module/Directory.php:254
-msgid "Gender: "
-msgstr "Geslacht:"
+#: ../../Zotlabs/Module/Admin/Plugins.php:289
+#, php-format
+msgid "Plugin %s enabled."
+msgstr "Plugin %s ingeschakeld"
-#: ../../Zotlabs/Module/Directory.php:256
-msgid "Status: "
-msgstr "Status: "
+#: ../../Zotlabs/Module/Admin/Plugins.php:305
+#: ../../Zotlabs/Module/Admin/Themes.php:93
+msgid "Disable"
+msgstr "Uitschakelen"
-#: ../../Zotlabs/Module/Directory.php:258
-msgid "Homepage: "
-msgstr "Homepage: "
+#: ../../Zotlabs/Module/Admin/Plugins.php:308
+#: ../../Zotlabs/Module/Admin/Themes.php:95
+msgid "Enable"
+msgstr "Inschakelen"
-#: ../../Zotlabs/Module/Directory.php:306 ../../include/channel.php:1207
-msgid "Age:"
-msgstr "Leeftijd:"
+#: ../../Zotlabs/Module/Admin/Plugins.php:337
+#: ../../Zotlabs/Module/Admin/Plugins.php:428 ../../include/widgets.php:1565
+msgid "Plugins"
+msgstr "Plugins"
-#: ../../Zotlabs/Module/Directory.php:311 ../../include/bb2diaspora.php:507
-#: ../../include/channel.php:1049 ../../include/event.php:52
-#: ../../include/event.php:84
-msgid "Location:"
-msgstr "Plaats:"
+#: ../../Zotlabs/Module/Admin/Plugins.php:338
+#: ../../Zotlabs/Module/Admin/Themes.php:122
+msgid "Toggle"
+msgstr "Omschakelen"
-#: ../../Zotlabs/Module/Directory.php:317
-msgid "Description:"
-msgstr "Omschrijving:"
+#: ../../Zotlabs/Module/Admin/Plugins.php:339
+#: ../../Zotlabs/Module/Admin/Themes.php:123 ../../Zotlabs/Lib/Apps.php:216
+#: ../../include/nav.php:213 ../../include/widgets.php:680
+msgid "Settings"
+msgstr "Instellingen"
-#: ../../Zotlabs/Module/Directory.php:322 ../../include/channel.php:1223
-msgid "Hometown:"
-msgstr "Oorspronkelijk uit:"
+#: ../../Zotlabs/Module/Admin/Plugins.php:346
+#: ../../Zotlabs/Module/Admin/Themes.php:132
+msgid "Author: "
+msgstr "Auteur: "
-#: ../../Zotlabs/Module/Directory.php:324 ../../include/channel.php:1231
-msgid "About:"
-msgstr "Over:"
+#: ../../Zotlabs/Module/Admin/Plugins.php:347
+#: ../../Zotlabs/Module/Admin/Themes.php:133
+msgid "Maintainer: "
+msgstr "Beheerder: "
-#: ../../Zotlabs/Module/Directory.php:325 ../../Zotlabs/Module/Match.php:68
-#: ../../Zotlabs/Module/Suggest.php:56 ../../include/conversation.php:960
-#: ../../include/widgets.php:147 ../../include/widgets.php:184
-#: ../../include/channel.php:1034 ../../include/connections.php:78
-msgid "Connect"
-msgstr "Verbinden"
+#: ../../Zotlabs/Module/Admin/Plugins.php:348
+msgid "Minimum project version: "
+msgstr "Minimum versie Hubzilla: "
-#: ../../Zotlabs/Module/Directory.php:326
-msgid "Public Forum:"
-msgstr "Openbaar forum:"
+#: ../../Zotlabs/Module/Admin/Plugins.php:349
+msgid "Maximum project version: "
+msgstr "Maximum versie Hubzilla:"
-#: ../../Zotlabs/Module/Directory.php:329
-msgid "Keywords: "
-msgstr "Trefwoorden: "
+#: ../../Zotlabs/Module/Admin/Plugins.php:350
+msgid "Minimum PHP version: "
+msgstr "Minimum versie PHP: "
-#: ../../Zotlabs/Module/Directory.php:332
-msgid "Don't suggest"
-msgstr "Niet voorstellen"
+#: ../../Zotlabs/Module/Admin/Plugins.php:351
+msgid "Compatible Server Roles: "
+msgstr "Werkt met configuratietypes: "
-#: ../../Zotlabs/Module/Directory.php:334
-msgid "Common connections:"
-msgstr "Gemeenschappelijke connecties:"
+#: ../../Zotlabs/Module/Admin/Plugins.php:352
+msgid "Requires: "
+msgstr "Vereist: "
-#: ../../Zotlabs/Module/Directory.php:383
-msgid "Global Directory"
-msgstr "Volledige kanalengids"
+#: ../../Zotlabs/Module/Admin/Plugins.php:353
+#: ../../Zotlabs/Module/Admin/Plugins.php:433
+msgid "Disabled - version incompatibility"
+msgstr "Uitgeschakeld - versie is incompatibel"
-#: ../../Zotlabs/Module/Directory.php:383
-msgid "Local Directory"
-msgstr "Lokale kanalengids"
+#: ../../Zotlabs/Module/Admin/Plugins.php:402
+msgid "Enter the public git repository URL of the plugin repo."
+msgstr "Vul de openbare Git-URL in van de plugin-repository."
-#: ../../Zotlabs/Module/Directory.php:388
-#: ../../Zotlabs/Module/Directory.php:393
-#: ../../Zotlabs/Module/Connections.php:309
-#: ../../include/contact_widgets.php:23
-msgid "Find"
-msgstr "Vinden"
+#: ../../Zotlabs/Module/Admin/Plugins.php:403
+msgid "Plugin repo git URL"
+msgstr "Git-URL plugin-repository"
-#: ../../Zotlabs/Module/Directory.php:389
-msgid "Finding:"
-msgstr "Gezocht naar:"
+#: ../../Zotlabs/Module/Admin/Plugins.php:404
+msgid "Custom repo name"
+msgstr "Handmatige repository-naam"
-#: ../../Zotlabs/Module/Directory.php:392 ../../Zotlabs/Module/Suggest.php:64
-#: ../../include/contact_widgets.php:24
-msgid "Channel Suggestions"
-msgstr "Voorgestelde kanalen"
+#: ../../Zotlabs/Module/Admin/Plugins.php:404
+msgid "(optional)"
+msgstr "(optioneel)"
-#: ../../Zotlabs/Module/Directory.php:394
-msgid "next page"
-msgstr "volgende pagina"
+#: ../../Zotlabs/Module/Admin/Plugins.php:405
+msgid "Download Plugin Repo"
+msgstr "Plugin-repository downloaden"
-#: ../../Zotlabs/Module/Directory.php:394
-msgid "previous page"
-msgstr "vorige pagina"
+#: ../../Zotlabs/Module/Admin/Plugins.php:412
+msgid "Install new repo"
+msgstr "Nieuwe repository installeren"
-#: ../../Zotlabs/Module/Directory.php:395
-msgid "Sort options"
-msgstr "Sorteeropties"
+#: ../../Zotlabs/Module/Admin/Plugins.php:413 ../../Zotlabs/Lib/Apps.php:334
+msgid "Install"
+msgstr "Installeren"
-#: ../../Zotlabs/Module/Directory.php:396
-msgid "Alphabetic"
-msgstr "Alfabetisch"
+#: ../../Zotlabs/Module/Admin/Plugins.php:414
+#: ../../Zotlabs/Module/Fbrowser.php:66 ../../Zotlabs/Module/Fbrowser.php:88
+#: ../../Zotlabs/Module/Wiki.php:171 ../../Zotlabs/Module/Wiki.php:211
+#: ../../Zotlabs/Module/Tagrm.php:15 ../../Zotlabs/Module/Tagrm.php:138
+#: ../../Zotlabs/Module/Settings/Oauth.php:88
+#: ../../Zotlabs/Module/Settings/Oauth.php:114
+#: ../../include/conversation.php:1248 ../../include/conversation.php:1297
+msgid "Cancel"
+msgstr "Annuleren"
-#: ../../Zotlabs/Module/Directory.php:397
-msgid "Reverse Alphabetic"
-msgstr "Omgekeerd alfabetisch"
+#: ../../Zotlabs/Module/Admin/Plugins.php:435
+msgid "Manage Repos"
+msgstr "Repositories beheren"
-#: ../../Zotlabs/Module/Directory.php:398
-msgid "Newest to Oldest"
-msgstr "Nieuw naar oud"
+#: ../../Zotlabs/Module/Admin/Plugins.php:436
+msgid "Installed Plugin Repositories"
+msgstr "Toegevoegde plugin-repositories"
-#: ../../Zotlabs/Module/Directory.php:399
-msgid "Oldest to Newest"
-msgstr "Oud naar nieuw"
+#: ../../Zotlabs/Module/Admin/Plugins.php:437
+msgid "Install a New Plugin Repository"
+msgstr "Nieuwe plugin-repository toevoegen"
-#: ../../Zotlabs/Module/Directory.php:416
-msgid "No entries (some entries may be hidden)."
-msgstr "Niets gevonden (sommige kanalen kunnen verborgen zijn)."
+#: ../../Zotlabs/Module/Admin/Plugins.php:443
+#: ../../Zotlabs/Module/Settings/Oauth.php:42
+#: ../../Zotlabs/Module/Settings/Oauth.php:113 ../../Zotlabs/Lib/Apps.php:334
+msgid "Update"
+msgstr "Bijwerken"
-#: ../../Zotlabs/Module/Rate.php:159 ../../Zotlabs/Module/Connedit.php:766
-#: ../../include/js_strings.php:20
-msgid "Rating"
-msgstr "Beoordeling"
+#: ../../Zotlabs/Module/Admin/Plugins.php:444
+msgid "Switch branch"
+msgstr "Branch veranderen"
-#: ../../Zotlabs/Module/Rate.php:160
-msgid "Website:"
-msgstr "Website:"
+#: ../../Zotlabs/Module/Admin/Plugins.php:445
+#: ../../Zotlabs/Module/Photos.php:989 ../../Zotlabs/Module/Tagrm.php:137
+msgid "Remove"
+msgstr "Verwijderen"
-#: ../../Zotlabs/Module/Rate.php:163
-#, php-format
-msgid "Remote Channel [%s] (not yet known on this site)"
-msgstr "Kanaal op afstand [%s] (nog niet op deze hub bekend)"
+#: ../../Zotlabs/Module/Admin/Profs.php:69
+msgid "New Profile Field"
+msgstr "Nieuw profielveld"
-#: ../../Zotlabs/Module/Rate.php:164
-msgid "Rating (this information is public)"
-msgstr "Beoordeling (deze informatie is openbaar)"
+#: ../../Zotlabs/Module/Admin/Profs.php:70
+#: ../../Zotlabs/Module/Admin/Profs.php:90
+msgid "Field nickname"
+msgstr "Bijnaam voor veld"
-#: ../../Zotlabs/Module/Rate.php:165
-msgid "Optionally explain your rating (this information is public)"
-msgstr "Verklaar jouw beoordeling (niet verplicht, deze informatie is openbaar)"
+#: ../../Zotlabs/Module/Admin/Profs.php:70
+#: ../../Zotlabs/Module/Admin/Profs.php:90
+msgid "System name of field"
+msgstr "Systeemnaam voor veld"
-#: ../../Zotlabs/Module/Bookmarks.php:53
-msgid "Bookmark added"
-msgstr "Bladwijzer toegevoegd"
+#: ../../Zotlabs/Module/Admin/Profs.php:71
+#: ../../Zotlabs/Module/Admin/Profs.php:91
+msgid "Input type"
+msgstr "Invoertype"
-#: ../../Zotlabs/Module/Bookmarks.php:75
-msgid "My Bookmarks"
-msgstr "Mijn bladwijzers"
+#: ../../Zotlabs/Module/Admin/Profs.php:72
+#: ../../Zotlabs/Module/Admin/Profs.php:92
+msgid "Field Name"
+msgstr "Veldnaam"
-#: ../../Zotlabs/Module/Bookmarks.php:86
-msgid "My Connections Bookmarks"
-msgstr "Bladwijzers van mijn connecties"
+#: ../../Zotlabs/Module/Admin/Profs.php:72
+#: ../../Zotlabs/Module/Admin/Profs.php:92
+msgid "Label on profile pages"
+msgstr "Tekstlabel voor op profielpagina's"
-#: ../../Zotlabs/Module/Item.php:180
-msgid "Unable to locate original post."
-msgstr "Niet in staat om de originele locatie van het bericht te vinden. "
+#: ../../Zotlabs/Module/Admin/Profs.php:73
+#: ../../Zotlabs/Module/Admin/Profs.php:93
+msgid "Help text"
+msgstr "Helptekst"
-#: ../../Zotlabs/Module/Item.php:433
-msgid "Empty post discarded."
-msgstr "Leeg bericht geannuleerd"
+#: ../../Zotlabs/Module/Admin/Profs.php:73
+#: ../../Zotlabs/Module/Admin/Profs.php:93
+msgid "Additional info (optional)"
+msgstr "Extra informatie (optioneel)"
-#: ../../Zotlabs/Module/Item.php:473
-msgid "Executable content type not permitted to this channel."
-msgstr "Uitvoerbare bestanden zijn niet toegestaan op dit kanaal."
+#: ../../Zotlabs/Module/Admin/Profs.php:74
+#: ../../Zotlabs/Module/Admin/Profs.php:94 ../../Zotlabs/Module/Filer.php:53
+#: ../../Zotlabs/Module/Rbmark.php:32 ../../Zotlabs/Module/Rbmark.php:104
+#: ../../include/text.php:972 ../../include/text.php:984
+#: ../../include/widgets.php:201
+msgid "Save"
+msgstr "Opslaan"
-#: ../../Zotlabs/Module/Item.php:858
-msgid "Duplicate post suppressed."
-msgstr "Dubbel bericht tegengehouden."
+#: ../../Zotlabs/Module/Admin/Profs.php:83
+msgid "Field definition not found"
+msgstr "Velddefinitie niet gevonden"
-#: ../../Zotlabs/Module/Item.php:991
-msgid "System error. Post not saved."
-msgstr "Systeemfout. Bericht niet opgeslagen."
+#: ../../Zotlabs/Module/Admin/Profs.php:89
+msgid "Edit Profile Field"
+msgstr "Profielveld bewerken"
-#: ../../Zotlabs/Module/Item.php:1112
-msgid "Unable to obtain post information from database."
-msgstr "Niet in staat om informatie over dit bericht uit de database te verkrijgen."
+#: ../../Zotlabs/Module/Admin/Profs.php:147 ../../include/widgets.php:1568
+msgid "Profile Fields"
+msgstr "Profielvelden"
-#: ../../Zotlabs/Module/Item.php:1119
-#, php-format
-msgid "You have reached your limit of %1$.0f top level posts."
-msgstr "Je hebt jouw limiet van %1$.0f berichten bereikt."
+#: ../../Zotlabs/Module/Admin/Profs.php:148
+msgid "Basic Profile Fields"
+msgstr "Standaard profielvelden"
-#: ../../Zotlabs/Module/Item.php:1126
-#, php-format
-msgid "You have reached your limit of %1$.0f webpages."
-msgstr "Je hebt jouw limiet van %1$.0f webpagina's bereikt."
+#: ../../Zotlabs/Module/Admin/Profs.php:149
+msgid "Advanced Profile Fields"
+msgstr "Geavanceerde profielvelden"
-#: ../../Zotlabs/Module/Fbrowser.php:29 ../../Zotlabs/Lib/Apps.php:222
-#: ../../include/conversation.php:1662 ../../include/nav.php:94
-msgid "Photos"
-msgstr "Foto's"
+#: ../../Zotlabs/Module/Admin/Profs.php:149
+msgid "(In addition to basic fields)"
+msgstr "(als toevoeging op de standaard velden)"
-#: ../../Zotlabs/Module/Page.php:40 ../../Zotlabs/Module/Block.php:31
-msgid "Invalid item."
-msgstr "Ongeldig item."
+#: ../../Zotlabs/Module/Admin/Profs.php:151
+msgid "All available fields"
+msgstr "Alle beschikbare velden"
-#: ../../Zotlabs/Module/Page.php:56 ../../Zotlabs/Module/Block.php:43
-#: ../../Zotlabs/Module/Cal.php:62 ../../Zotlabs/Module/Wall_upload.php:33
-msgid "Channel not found."
-msgstr "Kanaal niet gevonden."
+#: ../../Zotlabs/Module/Admin/Profs.php:152
+msgid "Custom Fields"
+msgstr "Extra (handmatig toegevoegde) velden"
-#: ../../Zotlabs/Module/Page.php:131
+#: ../../Zotlabs/Module/Admin/Profs.php:156
+msgid "Create Custom Field"
+msgstr "Extra velden aanmaken"
+
+#: ../../Zotlabs/Module/Admin/Queue.php:36
+msgid "Queue Statistics"
+msgstr "Wachtrij-statistieken"
+
+#: ../../Zotlabs/Module/Admin/Queue.php:37
+msgid "Total Entries"
+msgstr "Aantal vermeldingen"
+
+#: ../../Zotlabs/Module/Admin/Queue.php:38
+msgid "Priority"
+msgstr "Prioriteit"
+
+#: ../../Zotlabs/Module/Admin/Queue.php:39
+msgid "Destination URL"
+msgstr "Doel-URL"
+
+#: ../../Zotlabs/Module/Admin/Queue.php:40
+msgid "Mark hub permanently offline"
+msgstr "Hub als permanent offline markeren"
+
+#: ../../Zotlabs/Module/Admin/Queue.php:41
+msgid "Empty queue for this hub"
+msgstr "Berichtenwachtrij voor deze hub legen"
+
+#: ../../Zotlabs/Module/Admin/Queue.php:42
+msgid "Last known contact"
+msgstr "Voor het laatst contact"
+
+#: ../../Zotlabs/Module/Admin/Security.php:77
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."
+"By default, unfiltered HTML is allowed in embedded media. This is inherently"
+" insecure."
+msgstr "Standaard is ongefilterde HTML in ingesloten (embedded) media toegestaan. Dit is inherent onveilig."
-#: ../../Zotlabs/Module/Filer.php:52
-msgid "Save to Folder:"
-msgstr "Bewaar in map: "
+#: ../../Zotlabs/Module/Admin/Security.php:80
+msgid ""
+"The recommended setting is to only allow unfiltered HTML from the following "
+"sites:"
+msgstr "Het wordt aanbevolen om alleen ongefilterde HTML van de volgende websites toe te staan:"
-#: ../../Zotlabs/Module/Filer.php:52
-msgid "- select -"
-msgstr "- kies map -"
+#: ../../Zotlabs/Module/Admin/Security.php:81
+msgid ""
+"https://youtube.com/<br />https://www.youtube.com/<br />https://youtu.be/<br"
+" />https://vimeo.com/<br />https://soundcloud.com/<br />"
+msgstr "https://youtube.com/<br />https://www.youtube.com/<br />https://youtu.be/<br />https://vimeo.com/<br />https://soundcloud.com/<br />"
-#: ../../Zotlabs/Module/Filer.php:53 ../../Zotlabs/Module/Admin.php:2033
-#: ../../Zotlabs/Module/Admin.php:2053 ../../Zotlabs/Module/Rbmark.php:32
-#: ../../Zotlabs/Module/Rbmark.php:104 ../../include/widgets.php:201
-#: ../../include/text.php:926 ../../include/text.php:938
-msgid "Save"
-msgstr "Opslaan"
+#: ../../Zotlabs/Module/Admin/Security.php:82
+msgid ""
+"All other embedded content will be filtered, <strong>unless</strong> "
+"embedded content from that site is explicitly blocked."
+msgstr "Alle andere ingesloten (embedded) inhoud wordt gefilterd, <strong>tenzij</strong> ingesloten (embedded) inhoud van een website expliciet wordt geblokkeerd."
-#: ../../Zotlabs/Module/Connedit.php:80
-msgid "Could not access contact record."
-msgstr "Kon geen toegang krijgen tot de connectie-gegevens."
+#: ../../Zotlabs/Module/Admin/Security.php:87 ../../include/widgets.php:1563
+msgid "Security"
+msgstr "Beveiliging"
-#: ../../Zotlabs/Module/Connedit.php:104
-msgid "Could not locate selected profile."
-msgstr "Kon het gekozen profiel niet vinden."
+#: ../../Zotlabs/Module/Admin/Security.php:89
+msgid "Block public"
+msgstr "Openbare toegang blokkeren"
-#: ../../Zotlabs/Module/Connedit.php:256
-msgid "Connection updated."
-msgstr "Connectie bijgewerkt."
+#: ../../Zotlabs/Module/Admin/Security.php:89
+msgid ""
+"Check to block public access to all otherwise public personal pages on this "
+"site unless you are currently authenticated."
+msgstr "Vink dit aan om alle normaliter openbare persoonlijke pagina's op deze hub alleen toegankelijk te maken voor leden die zich hebben geauthenticeerd."
-#: ../../Zotlabs/Module/Connedit.php:258
-msgid "Failed to update connection record."
-msgstr "Bijwerken van connectie-gegevens mislukt."
+#: ../../Zotlabs/Module/Admin/Security.php:90
+msgid "Set \"Transport Security\" HTTP header"
+msgstr "\"Transport Security\" HTTP-header inschakelen"
-#: ../../Zotlabs/Module/Connedit.php:308
-msgid "is now connected to"
-msgstr "is nu verbonden met"
+#: ../../Zotlabs/Module/Admin/Security.php:91
+msgid "Set \"Content Security Policy\" HTTP header"
+msgstr " \"Content Security Policy\" HTTP-header inschakelen"
-#: ../../Zotlabs/Module/Connedit.php:408 ../../Zotlabs/Module/Connedit.php:690
-#: ../../Zotlabs/Module/Filestorage.php:160
+#: ../../Zotlabs/Module/Admin/Security.php:92
+msgid "Allowed email domains"
+msgstr "Toegestane e-maildomeinen"
+
+#: ../../Zotlabs/Module/Admin/Security.php:92
+msgid ""
+"Comma separated list of domains which are allowed in email addresses for "
+"registrations to this site. Wildcards are accepted. Empty to allow any "
+"domains"
+msgstr "Door komma's gescheiden lijst met e-maildomeinen waarvan e-mailadressen op deze hub mogen registeren. Wildcards zijn toegestaan. Laat leeg om alle domeinen toe te laten."
+
+#: ../../Zotlabs/Module/Admin/Security.php:93
+msgid "Not allowed email domains"
+msgstr "Niet toegestane e-maildomeinen"
+
+#: ../../Zotlabs/Module/Admin/Security.php:93
+msgid ""
+"Comma separated list of domains which are not allowed in email addresses for"
+" registrations to this site. Wildcards are accepted. Empty to allow any "
+"domains, unless allowed domains have been defined."
+msgstr "Door komma's gescheiden lijst met e-maildomeinen waarvan e-mailadressen niet op deze hub mogen registeren. Wildcards zijn toegestaan. Laat leeg om alle domeinen toe te staan, tenzij er toegestane domeinen zijn ingesteld. "
+
+#: ../../Zotlabs/Module/Admin/Security.php:94
+msgid "Allow communications only from these sites"
+msgstr "Alleen communicatie met deze hubs toestaan"
+
+#: ../../Zotlabs/Module/Admin/Security.php:94
+msgid ""
+"One site per line. Leave empty to allow communication from anywhere by "
+"default"
+msgstr "Eén hub per regel. Laat leeg om communicatie standaard met alle hubs toe te staan"
+
+#: ../../Zotlabs/Module/Admin/Security.php:95
+msgid "Block communications from these sites"
+msgstr "Communicatie met deze hubs blokkeren"
+
+#: ../../Zotlabs/Module/Admin/Security.php:96
+msgid "Allow communications only from these channels"
+msgstr "Sta alleen communicatie toe met deze kanalen"
+
+#: ../../Zotlabs/Module/Admin/Security.php:96
+msgid ""
+"One channel (hash) per line. Leave empty to allow from any channel by "
+"default"
+msgstr "Eén kanaal (hash) per regel. Laat leeg om communicatie standaard met alle kanalen toe te staan"
+
+#: ../../Zotlabs/Module/Admin/Security.php:97
+msgid "Block communications from these channels"
+msgstr "Communicatie met deze kanalen blokkeren"
+
+#: ../../Zotlabs/Module/Admin/Security.php:98
+msgid "Only allow embeds from secure (SSL) websites and links."
+msgstr "Alleen ingesloten (embedded) inhoud van veilige (SSL) websites en links toestaan."
+
+#: ../../Zotlabs/Module/Admin/Security.php:99
+msgid "Allow unfiltered embedded HTML content only from these domains"
+msgstr "Alleen ongefilterde ingesloten (embedded) HTML van deze websites toestaan"
+
+#: ../../Zotlabs/Module/Admin/Security.php:99
+msgid "One site per line. By default embedded content is filtered."
+msgstr "Eén website per regel. Standaard wordt ingesloten (embedded) inhoud gefilterd."
+
+#: ../../Zotlabs/Module/Admin/Security.php:100
+msgid "Block embedded HTML from these domains"
+msgstr "Ingesloten (embedded) HTML vanaf deze domeinen blokkeren"
+
+#: ../../Zotlabs/Module/Admin/Site.php:135
+msgid "Site settings updated."
+msgstr "Hub-instellingen bijgewerkt."
+
+#: ../../Zotlabs/Module/Admin/Site.php:162 ../../include/text.php:2942
+msgid "Default"
+msgstr "Standaard"
+
+#: ../../Zotlabs/Module/Admin/Site.php:172
+#: ../../Zotlabs/Module/Settings/Display.php:141
+msgid "mobile"
+msgstr "mobiel"
+
+#: ../../Zotlabs/Module/Admin/Site.php:174
+msgid "experimental"
+msgstr "experimenteel"
+
+#: ../../Zotlabs/Module/Admin/Site.php:176
+msgid "unsupported"
+msgstr "Niet ondersteund"
+
+#: ../../Zotlabs/Module/Admin/Site.php:221
+#: ../../Zotlabs/Module/Connedit.php:408 ../../Zotlabs/Module/Connedit.php:686
+#: ../../Zotlabs/Module/Menu.php:100 ../../Zotlabs/Module/Menu.php:157
+#: ../../Zotlabs/Module/Api.php:85 ../../Zotlabs/Module/Filestorage.php:160
#: ../../Zotlabs/Module/Filestorage.php:168
#: ../../Zotlabs/Module/Profiles.php:647 ../../Zotlabs/Module/Mitem.php:162
#: ../../Zotlabs/Module/Mitem.php:163 ../../Zotlabs/Module/Mitem.php:240
-#: ../../Zotlabs/Module/Mitem.php:241 ../../Zotlabs/Module/Events.php:462
+#: ../../Zotlabs/Module/Mitem.php:241 ../../Zotlabs/Module/Removeme.php:63
+#: ../../Zotlabs/Module/Photos.php:653 ../../Zotlabs/Module/Events.php:462
#: ../../Zotlabs/Module/Events.php:463 ../../Zotlabs/Module/Events.php:472
-#: ../../Zotlabs/Module/Menu.php:100 ../../Zotlabs/Module/Menu.php:157
-#: ../../Zotlabs/Module/Admin.php:459 ../../Zotlabs/Module/Api.php:85
-#: ../../Zotlabs/Module/Photos.php:664 ../../Zotlabs/Module/Removeme.php:63
-#: ../../Zotlabs/Module/Settings.php:673 ../../include/dir_fns.php:143
+#: ../../Zotlabs/Module/Settings/Channel.php:289
+#: ../../Zotlabs/Module/Settings/Display.php:101 ../../include/dir_fns.php:143
#: ../../include/dir_fns.php:144 ../../include/dir_fns.php:145
#: ../../view/theme/redbasic/php/config.php:111
-#: ../../view/theme/redbasic/php/config.php:136 ../../boot.php:1717
+#: ../../view/theme/redbasic/php/config.php:136 ../../boot.php:1743
msgid "No"
msgstr "Nee"
-#: ../../Zotlabs/Module/Connedit.php:408
+#: ../../Zotlabs/Module/Admin/Site.php:222
+msgid "Yes - with approval"
+msgstr "Ja - met goedkeuring"
+
+#: ../../Zotlabs/Module/Admin/Site.php:223
+#: ../../Zotlabs/Module/Connedit.php:408 ../../Zotlabs/Module/Menu.php:100
+#: ../../Zotlabs/Module/Menu.php:157 ../../Zotlabs/Module/Api.php:84
#: ../../Zotlabs/Module/Filestorage.php:160
#: ../../Zotlabs/Module/Filestorage.php:168
#: ../../Zotlabs/Module/Profiles.php:647 ../../Zotlabs/Module/Mitem.php:162
#: ../../Zotlabs/Module/Mitem.php:163 ../../Zotlabs/Module/Mitem.php:240
-#: ../../Zotlabs/Module/Mitem.php:241 ../../Zotlabs/Module/Events.php:462
+#: ../../Zotlabs/Module/Mitem.php:241 ../../Zotlabs/Module/Removeme.php:63
+#: ../../Zotlabs/Module/Photos.php:653 ../../Zotlabs/Module/Events.php:462
#: ../../Zotlabs/Module/Events.php:463 ../../Zotlabs/Module/Events.php:472
-#: ../../Zotlabs/Module/Menu.php:100 ../../Zotlabs/Module/Menu.php:157
-#: ../../Zotlabs/Module/Admin.php:461 ../../Zotlabs/Module/Api.php:84
-#: ../../Zotlabs/Module/Photos.php:664 ../../Zotlabs/Module/Removeme.php:63
-#: ../../Zotlabs/Module/Settings.php:673 ../../include/dir_fns.php:143
+#: ../../Zotlabs/Module/Settings/Channel.php:289
+#: ../../Zotlabs/Module/Settings/Display.php:101 ../../include/dir_fns.php:143
#: ../../include/dir_fns.php:144 ../../include/dir_fns.php:145
#: ../../view/theme/redbasic/php/config.php:111
-#: ../../view/theme/redbasic/php/config.php:136 ../../boot.php:1717
+#: ../../view/theme/redbasic/php/config.php:136 ../../boot.php:1743
msgid "Yes"
msgstr "Ja"
-#: ../../Zotlabs/Module/Connedit.php:440
-msgid "Could not access address book record."
-msgstr "Kon geen toegang krijgen tot de record van de connectie."
+#: ../../Zotlabs/Module/Admin/Site.php:228
+msgid "My site is not a public server"
+msgstr "Mijn $Projectname-hub is niet openbaar"
-#: ../../Zotlabs/Module/Connedit.php:460
-msgid "Refresh failed - channel is currently unavailable."
-msgstr "Vernieuwen mislukt - kanaal is momenteel niet beschikbaar"
+#: ../../Zotlabs/Module/Admin/Site.php:229
+msgid "My site has paid access only"
+msgstr "Mijn $Projectname-hub kent alleen betaalde toegang"
-#: ../../Zotlabs/Module/Connedit.php:475 ../../Zotlabs/Module/Connedit.php:484
-#: ../../Zotlabs/Module/Connedit.php:493 ../../Zotlabs/Module/Connedit.php:502
-#: ../../Zotlabs/Module/Connedit.php:515
-msgid "Unable to set address book parameters."
-msgstr "Niet in staat om de parameters van connecties in te stellen."
+#: ../../Zotlabs/Module/Admin/Site.php:230
+msgid "My site has free access only"
+msgstr "Mijn $Projectname-hub kent alleen gratis toegang"
-#: ../../Zotlabs/Module/Connedit.php:538
-msgid "Connection has been removed."
-msgstr "Connectie is verwijderd"
+#: ../../Zotlabs/Module/Admin/Site.php:231
+msgid "My site offers free accounts with optional paid upgrades"
+msgstr "Mijn $Projectname-hub biedt gratis accounts aan met betaalde uitbreidingen als optie"
-#: ../../Zotlabs/Module/Connedit.php:554 ../../Zotlabs/Lib/Apps.php:221
-#: ../../include/conversation.php:958 ../../include/nav.php:88
-msgid "View Profile"
-msgstr "Profiel weergeven"
+#: ../../Zotlabs/Module/Admin/Site.php:242 ../../Zotlabs/Module/Setup.php:336
+msgid "Basic/Minimal Social Networking"
+msgstr "Basic/eenvoudig sociaal netwerk"
+
+#: ../../Zotlabs/Module/Admin/Site.php:243 ../../Zotlabs/Module/Setup.php:337
+msgid "Standard Configuration (default)"
+msgstr "Standaard (standaard)"
+
+#: ../../Zotlabs/Module/Admin/Site.php:244 ../../Zotlabs/Module/Setup.php:338
+msgid "Professional"
+msgstr "Professioneel "
+
+#: ../../Zotlabs/Module/Admin/Site.php:249
+#: ../../Zotlabs/Module/Settings/Account.php:105
+msgid "Beginner/Basic"
+msgstr "Beginner/basic"
+
+#: ../../Zotlabs/Module/Admin/Site.php:250
+#: ../../Zotlabs/Module/Settings/Account.php:106
+msgid "Novice - not skilled but willing to learn"
+msgstr "Onervaren - niet bekwaam, maar wil graag leren"
+
+#: ../../Zotlabs/Module/Admin/Site.php:251
+#: ../../Zotlabs/Module/Settings/Account.php:107
+msgid "Intermediate - somewhat comfortable"
+msgstr "Ervaren - voelt zich enigszins comfortabel"
+
+#: ../../Zotlabs/Module/Admin/Site.php:252
+#: ../../Zotlabs/Module/Settings/Account.php:108
+msgid "Advanced - very comfortable"
+msgstr "Gevorderd - voelt zich comfortabel"
+
+#: ../../Zotlabs/Module/Admin/Site.php:253
+#: ../../Zotlabs/Module/Settings/Account.php:109
+msgid "Expert - I can write computer code"
+msgstr "Expert - kan programmeren"
+
+#: ../../Zotlabs/Module/Admin/Site.php:254
+#: ../../Zotlabs/Module/Settings/Account.php:110
+msgid "Wizard - I probably know more than you do"
+msgstr "Tovenaar - ik weet waarschijnlijk meer dan jij"
+
+#: ../../Zotlabs/Module/Admin/Site.php:266 ../../include/widgets.php:1560
+msgid "Site"
+msgstr "Hub-instellingen"
-#: ../../Zotlabs/Module/Connedit.php:557
-#, php-format
-msgid "View %s's profile"
-msgstr "Profiel van %s weergeven"
+#: ../../Zotlabs/Module/Admin/Site.php:268
+#: ../../Zotlabs/Module/Register.php:253
+msgid "Registration"
+msgstr "Registratie"
-#: ../../Zotlabs/Module/Connedit.php:561
-msgid "Refresh Permissions"
-msgstr "Permissies vernieuwen"
+#: ../../Zotlabs/Module/Admin/Site.php:269
+msgid "File upload"
+msgstr "Bestand uploaden"
-#: ../../Zotlabs/Module/Connedit.php:564
-msgid "Fetch updated permissions"
-msgstr "Aangepaste permissies ophalen"
+#: ../../Zotlabs/Module/Admin/Site.php:270
+msgid "Policies"
+msgstr "Beleid"
-#: ../../Zotlabs/Module/Connedit.php:568
-msgid "Recent Activity"
-msgstr "Recente activiteit/berichten"
+#: ../../Zotlabs/Module/Admin/Site.php:271
+#: ../../include/contact_widgets.php:16
+msgid "Advanced"
+msgstr "Geavanceerd"
-#: ../../Zotlabs/Module/Connedit.php:571
-msgid "View recent posts and comments"
-msgstr "Recente berichten en reacties weergeven"
+#: ../../Zotlabs/Module/Admin/Site.php:275
+msgid "Site name"
+msgstr "Naam van deze $Projectname-hub"
-#: ../../Zotlabs/Module/Connedit.php:575 ../../Zotlabs/Module/Admin.php:1041
-msgid "Unblock"
-msgstr "Deblokkeren"
+#: ../../Zotlabs/Module/Admin/Site.php:277 ../../Zotlabs/Module/Setup.php:359
+msgid "Server Configuration/Role"
+msgstr "Configuratietype hub"
-#: ../../Zotlabs/Module/Connedit.php:575 ../../Zotlabs/Module/Admin.php:1040
-msgid "Block"
-msgstr "Blokkeren"
+#: ../../Zotlabs/Module/Admin/Site.php:279
+msgid "Site default technical skill level"
+msgstr "Standaard technisch niveau voor deze hub"
-#: ../../Zotlabs/Module/Connedit.php:578
-msgid "Block (or Unblock) all communications with this connection"
-msgstr "Blokkeer (of deblokkeer) alle communicatie met deze connectie"
+#: ../../Zotlabs/Module/Admin/Site.php:279
+msgid "Used to provide a member experience matched to technical comfort level"
+msgstr "Wordt gebruikt om leden een gebruikerservaring te bieden die met hun technisch niveau overeenkomt"
-#: ../../Zotlabs/Module/Connedit.php:579
-msgid "This connection is blocked!"
-msgstr "Deze connectie is geblokkeerd!"
+#: ../../Zotlabs/Module/Admin/Site.php:281
+msgid "Lock the technical skill level setting"
+msgstr "Vergrendel de functie 'Standaard technisch niveau voor deze hub'"
-#: ../../Zotlabs/Module/Connedit.php:583
-msgid "Unignore"
-msgstr "Niet meer negeren"
+#: ../../Zotlabs/Module/Admin/Site.php:281
+msgid "Members can set their own technical comfort level by default"
+msgstr "Leden kunnen hun eigen technisch niveau standaard instellen"
-#: ../../Zotlabs/Module/Connedit.php:583
-#: ../../Zotlabs/Module/Connections.php:277
-#: ../../Zotlabs/Module/Notifications.php:55
-msgid "Ignore"
-msgstr "Negeren"
+#: ../../Zotlabs/Module/Admin/Site.php:284
+msgid "Banner/Logo"
+msgstr "Banner/logo"
-#: ../../Zotlabs/Module/Connedit.php:586
-msgid "Ignore (or Unignore) all inbound communications from this connection"
-msgstr "Negeer (of negeer niet meer) alle inkomende communicatie van deze connectie"
+#: ../../Zotlabs/Module/Admin/Site.php:285
+msgid "Administrator Information"
+msgstr "Informatie over de beheerder"
-#: ../../Zotlabs/Module/Connedit.php:587
-msgid "This connection is ignored!"
-msgstr "Deze connectie wordt genegeerd!"
+#: ../../Zotlabs/Module/Admin/Site.php:285
+msgid ""
+"Contact information for site administrators. Displayed on siteinfo page. "
+"BBCode can be used here"
+msgstr "Contactinformatie voor hub-beheerders. Getoond op pagina met hub-informatie. Er kan hier bbcode gebruikt worden."
-#: ../../Zotlabs/Module/Connedit.php:591
-msgid "Unarchive"
-msgstr "Niet meer archiveren"
+#: ../../Zotlabs/Module/Admin/Site.php:286
+msgid "System language"
+msgstr "Standaardtaal"
-#: ../../Zotlabs/Module/Connedit.php:591
-msgid "Archive"
-msgstr "Archiveren"
+#: ../../Zotlabs/Module/Admin/Site.php:287
+msgid "System theme"
+msgstr "Standaardthema"
-#: ../../Zotlabs/Module/Connedit.php:594
+#: ../../Zotlabs/Module/Admin/Site.php:287
msgid ""
-"Archive (or Unarchive) this connection - mark channel dead but keep content"
-msgstr "Archiveer (of dearchiveer) deze connectie - markeer het kanaal als dood, maar bewaar de inhoud"
+"Default system theme - may be over-ridden by user profiles - <a href='#' "
+"id='cnftheme'>change theme settings</a>"
+msgstr "Standaardthema voor $Projectname-hub (kan door lid veranderd worden) - <a href='#' id='cnftheme'>verander thema-instellingen</a>"
-#: ../../Zotlabs/Module/Connedit.php:595
-msgid "This connection is archived!"
-msgstr "Deze connectie is gearchiveerd!"
+#: ../../Zotlabs/Module/Admin/Site.php:288
+msgid "Mobile system theme"
+msgstr "Standaardthema voor mobiel"
-#: ../../Zotlabs/Module/Connedit.php:599
-msgid "Unhide"
-msgstr "Niet meer verbergen"
+#: ../../Zotlabs/Module/Admin/Site.php:288
+msgid "Theme for mobile devices"
+msgstr "Thema voor mobiele apparaten"
-#: ../../Zotlabs/Module/Connedit.php:599
-msgid "Hide"
-msgstr "Verbergen"
+#: ../../Zotlabs/Module/Admin/Site.php:290
+msgid "Allow Feeds as Connections"
+msgstr "Sta feeds toe als connecties"
-#: ../../Zotlabs/Module/Connedit.php:602
-msgid "Hide or Unhide this connection from your other connections"
-msgstr "Deze connectie verbergen (of niet meer verbergen) voor jouw andere connecties"
+#: ../../Zotlabs/Module/Admin/Site.php:290
+msgid "(Heavy system resource usage)"
+msgstr "(sterk negatieve invloed op systeembronnen hub)"
-#: ../../Zotlabs/Module/Connedit.php:603
-msgid "This connection is hidden!"
-msgstr "Deze connectie is verborgen!"
+#: ../../Zotlabs/Module/Admin/Site.php:291
+msgid "Maximum image size"
+msgstr "Maximale grootte van afbeeldingen"
-#: ../../Zotlabs/Module/Connedit.php:610
-msgid "Delete this connection"
-msgstr "Deze connectie verwijderen"
+#: ../../Zotlabs/Module/Admin/Site.php:291
+msgid ""
+"Maximum size in bytes of uploaded images. Default is 0, which means no "
+"limits."
+msgstr "Maximale grootte in bytes voor afbeeldingen die worden geüpload. Standaard is 0, wat geen limiet betekend."
-#: ../../Zotlabs/Module/Connedit.php:625 ../../include/widgets.php:493
-msgid "Me"
-msgstr "Ik"
+#: ../../Zotlabs/Module/Admin/Site.php:292
+msgid "Does this site allow new member registration?"
+msgstr "Staat deze hub nieuwe accounts toe?"
-#: ../../Zotlabs/Module/Connedit.php:626 ../../include/widgets.php:494
-msgid "Family"
-msgstr "Familie"
+#: ../../Zotlabs/Module/Admin/Site.php:293
+msgid "Invitation only"
+msgstr "Alleen op uitnodiging"
-#: ../../Zotlabs/Module/Connedit.php:627 ../../Zotlabs/Module/Settings.php:429
-#: ../../Zotlabs/Module/Settings.php:433 ../../Zotlabs/Module/Settings.php:434
-#: ../../Zotlabs/Module/Settings.php:437 ../../Zotlabs/Module/Settings.php:448
-#: ../../include/selectors.php:123 ../../include/widgets.php:495
-#: ../../include/channel.php:402 ../../include/channel.php:403
-#: ../../include/channel.php:410
-msgid "Friends"
-msgstr "Vrienden"
+#: ../../Zotlabs/Module/Admin/Site.php:293
+msgid ""
+"Only allow new member registrations with an invitation code. Above register "
+"policy must be set to Yes."
+msgstr "Sta alleen nieuwe registraties toe van mensen die een uitnodigingscode hebben. Bovenstaand accountbeleid moet op Ja staan."
-#: ../../Zotlabs/Module/Connedit.php:628 ../../include/widgets.php:496
-msgid "Acquaintances"
-msgstr "Kennissen"
+#: ../../Zotlabs/Module/Admin/Site.php:294
+msgid "Which best describes the types of account offered by this hub?"
+msgstr "Wat voor soort accounts biedt deze $Projectname-hub aan? Kies wat het meest in de buurt komt."
-#: ../../Zotlabs/Module/Connedit.php:629
-#: ../../Zotlabs/Module/Connections.php:92
-#: ../../Zotlabs/Module/Connections.php:107 ../../include/widgets.php:497
-msgid "All"
-msgstr "Alles"
+#: ../../Zotlabs/Module/Admin/Site.php:295
+msgid "Register text"
+msgstr "Tekst tijdens registratie"
-#: ../../Zotlabs/Module/Connedit.php:690
-msgid "Approve this connection"
-msgstr "Deze connectie accepteren"
+#: ../../Zotlabs/Module/Admin/Site.php:295
+msgid "Will be displayed prominently on the registration page."
+msgstr "Tekst dat op de pagina voor het registreren van nieuwe accounts wordt getoond."
-#: ../../Zotlabs/Module/Connedit.php:690
-msgid "Accept connection to allow communication"
-msgstr "Keur deze connectie goed om communicatie toe te staan"
+#: ../../Zotlabs/Module/Admin/Site.php:296
+msgid "Site homepage to show visitors (default: login box)"
+msgstr "Homepagina van deze hub die aan bezoekers wordt getoond (standaard: inlogformulier)"
-#: ../../Zotlabs/Module/Connedit.php:695
-msgid "Set Affinity"
-msgstr "Verwantschapsfilter instellen"
+#: ../../Zotlabs/Module/Admin/Site.php:296
+msgid ""
+"example: 'public' to show public stream, 'page/sys/home' to show a system "
+"webpage called 'home' or 'include:home.html' to include a file."
+msgstr "voorbeeld: 'public' om de openbare stream te tonen, 'page/sys/home' om de webpagina 'home' van het systeemkanaal te tonen of 'include:home.html' om een gewoon bestand te gebruiken."
-#: ../../Zotlabs/Module/Connedit.php:698
-msgid "Set Profile"
-msgstr "Profiel instellen"
+#: ../../Zotlabs/Module/Admin/Site.php:297
+msgid "Preserve site homepage URL"
+msgstr "Behoudt de URL van de hub (/)"
-#: ../../Zotlabs/Module/Connedit.php:701
-msgid "Set Affinity & Profile"
-msgstr "Verwantschapsfilter en profiel instellen"
+#: ../../Zotlabs/Module/Admin/Site.php:297
+msgid ""
+"Present the site homepage in a frame at the original location instead of "
+"redirecting"
+msgstr "Toon de homepagina van de hub in een frame op de oorspronkelijke locatie (/), i.p.v. een doorverwijzing naar een andere locatie (bv. .../home.html)"
-#: ../../Zotlabs/Module/Connedit.php:750
-msgid "none"
-msgstr "geen"
+#: ../../Zotlabs/Module/Admin/Site.php:298
+msgid "Accounts abandoned after x days"
+msgstr "Accounts als verlaten beschouwen na zoveel aantal dagen:"
-#: ../../Zotlabs/Module/Connedit.php:754 ../../include/widgets.php:623
-msgid "Connection Default Permissions"
-msgstr "Standaard permissies voor connecties"
+#: ../../Zotlabs/Module/Admin/Site.php:298
+msgid ""
+"Will not waste system resources polling external sites for abandonded "
+"accounts. Enter 0 for no time limit."
+msgstr "Zal geen systeembronnen verspillen door polling van externe hubs voor verlaten accounts. Vul 0 in voor geen tijdslimiet."
-#: ../../Zotlabs/Module/Connedit.php:754 ../../include/items.php:3937
-#, php-format
-msgid "Connection: %s"
-msgstr "Connectie: %s"
+#: ../../Zotlabs/Module/Admin/Site.php:299
+msgid "Allowed friend domains"
+msgstr "Toegestane domeinen"
-#: ../../Zotlabs/Module/Connedit.php:755
-msgid "Apply these permissions automatically"
-msgstr "Deze permissies automatisch toepassen"
+#: ../../Zotlabs/Module/Admin/Site.php:299
+msgid ""
+"Comma separated list of domains which are allowed to establish friendships "
+"with this site. Wildcards are accepted. Empty to allow any domains"
+msgstr "Komma-gescheiden lijst van domeinen waarvan kanalen connecties kunnen aangaan met kanalen op deze $Projectname-hub. Wildcards zijn toegestaan.\nLaat leeg om alle domeinen toe te laten."
-#: ../../Zotlabs/Module/Connedit.php:755
-msgid "Connection requests will be approved without your interaction"
-msgstr "Connectieverzoeken zullen automatisch worden geaccepteerd"
+#: ../../Zotlabs/Module/Admin/Site.php:300
+msgid "Verify Email Addresses"
+msgstr "E-mailadres verifieren"
-#: ../../Zotlabs/Module/Connedit.php:757
-msgid "This connection's primary address is"
-msgstr "Het primaire kanaaladres van deze connectie is"
+#: ../../Zotlabs/Module/Admin/Site.php:300
+msgid ""
+"Check to verify email addresses used in account registration (recommended)."
+msgstr "Inschakelen om e-mailadressen te verifiëren die tijdens de accountregistratie worden gebruikt (aanbevolen)."
-#: ../../Zotlabs/Module/Connedit.php:758
-msgid "Available locations:"
-msgstr "Beschikbare locaties:"
+#: ../../Zotlabs/Module/Admin/Site.php:301
+msgid "Force publish"
+msgstr "Dwing kanaalvermelding af"
-#: ../../Zotlabs/Module/Connedit.php:762
+#: ../../Zotlabs/Module/Admin/Site.php:301
msgid ""
-"The permissions indicated on this page will be applied to all new "
-"connections."
-msgstr "Permissies die op deze pagina staan vermeld worden op alle nieuwe connecties toegepast."
+"Check to force all profiles on this site to be listed in the site directory."
+msgstr "Vink dit aan om af te dwingen dat alle kanalen op deze hub in de kanalengids worden vermeld."
-#: ../../Zotlabs/Module/Connedit.php:763
-msgid "Connection Tools"
-msgstr "Hulpmiddelen"
+#: ../../Zotlabs/Module/Admin/Site.php:302
+msgid "Import Public Streams"
+msgstr "Openbare streams importeren"
-#: ../../Zotlabs/Module/Connedit.php:765
-msgid "Slide to adjust your degree of friendship"
-msgstr "Schuif om te bepalen hoe goed je iemand kent en/of mag"
+#: ../../Zotlabs/Module/Admin/Site.php:302
+msgid ""
+"Import and allow access to public content pulled from other sites. Warning: "
+"this content is unmoderated."
+msgstr "Toegang verlenen tot openbare berichten die vanuit andere hubs worden geïmporteerd. Waarschuwing: de inhoud van deze berichten wordt niet gemodereerd."
-#: ../../Zotlabs/Module/Connedit.php:767
-msgid "Slide to adjust your rating"
-msgstr "Gebruik de schuif om je beoordeling te geven"
+#: ../../Zotlabs/Module/Admin/Site.php:303
+msgid "Login on Homepage"
+msgstr "Inlogformulier op de homepagina"
-#: ../../Zotlabs/Module/Connedit.php:768 ../../Zotlabs/Module/Connedit.php:773
-msgid "Optionally explain your rating"
-msgstr "Verklaar jouw beoordeling (niet verplicht)"
+#: ../../Zotlabs/Module/Admin/Site.php:303
+msgid ""
+"Present a login box to visitors on the home page if no other content has "
+"been configured."
+msgstr "Toon een inlogformulier voor bezoekers op de homepagina wanneer geen andere inhoud is geconfigureerd. "
-#: ../../Zotlabs/Module/Connedit.php:770
-msgid "Custom Filter"
-msgstr "Berichtenfilter"
+#: ../../Zotlabs/Module/Admin/Site.php:304
+msgid "Enable context help"
+msgstr "Schakel contextuele hulp in"
-#: ../../Zotlabs/Module/Connedit.php:771
-msgid "Only import posts with this text"
-msgstr "Importeer alleen berichten met deze tekst"
+#: ../../Zotlabs/Module/Admin/Site.php:304
+msgid ""
+"Display contextual help for the current page when the help button is "
+"pressed."
+msgstr "Toon hulp en documentatie voor de op dat moment getoonde pagina, wanneer op de hulp-knop wordt geklikt."
+
+#: ../../Zotlabs/Module/Admin/Site.php:306
+msgid "Directory Server URL"
+msgstr "Server-URL voor de kanalengids"
+
+#: ../../Zotlabs/Module/Admin/Site.php:306
+msgid "Default directory server"
+msgstr "Standaardserver voor de kanalengids"
+
+#: ../../Zotlabs/Module/Admin/Site.php:308
+msgid "Proxy user"
+msgstr "Gebruikersnaam proxy"
+
+#: ../../Zotlabs/Module/Admin/Site.php:309
+msgid "Proxy URL"
+msgstr "Proxy-URL"
+
+#: ../../Zotlabs/Module/Admin/Site.php:310
+msgid "Network timeout"
+msgstr "Netwerktimeout"
+
+#: ../../Zotlabs/Module/Admin/Site.php:310
+msgid "Value is in seconds. Set to 0 for unlimited (not recommended)."
+msgstr "Waarde is in seconden. Zet op 0 voor onbeperkt (niet aanbevolen)"
-#: ../../Zotlabs/Module/Connedit.php:771 ../../Zotlabs/Module/Connedit.php:772
+#: ../../Zotlabs/Module/Admin/Site.php:311
+msgid "Delivery interval"
+msgstr "Afleveringsinterval"
+
+#: ../../Zotlabs/Module/Admin/Site.php:311
msgid ""
-"words one per line or #tags or /patterns/ or lang=xx, leave blank to import "
-"all posts"
-msgstr "woorden (één per regel), #tags, /regex/ of talen (lang=iso639-1) - laat leeg om alle berichten te importeren"
+"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 "Vertraag de achtergrondprocessen voor het afleveren met een aantal seconden om de systeembelasting te verminderen. Aanbevolen: 4-5 voor shared hosts, 2-3 voor virtual private servers (VPS) en 0-1 voor grote dedicated servers."
-#: ../../Zotlabs/Module/Connedit.php:772
-msgid "Do not import posts with this text"
-msgstr "Importeer geen berichten met deze tekst"
+#: ../../Zotlabs/Module/Admin/Site.php:312
+msgid "Deliveries per process"
+msgstr "Leveringen per serverproces"
-#: ../../Zotlabs/Module/Connedit.php:774
-msgid "This information is public!"
-msgstr "Deze informatie is openbaar!"
+#: ../../Zotlabs/Module/Admin/Site.php:312
+msgid ""
+"Number of deliveries to attempt in a single operating system process. Adjust"
+" if necessary to tune system performance. Recommend: 1-5."
+msgstr "Aantal leveringen die aan één serverproces worden meegegeven. Pas dit aan wanneer het nodig is om systeemprestaties te verbeteren. Aangeraden: 1-5"
-#: ../../Zotlabs/Module/Connedit.php:779
-msgid "Connection Pending Approval"
-msgstr "Connectie moet nog geaccepteerd worden"
+#: ../../Zotlabs/Module/Admin/Site.php:313
+msgid "Poll interval"
+msgstr "Poll-interval"
-#: ../../Zotlabs/Module/Connedit.php:782 ../../Zotlabs/Module/Settings.php:882
-msgid "inherited"
-msgstr "geërfd"
+#: ../../Zotlabs/Module/Admin/Site.php:313
+msgid ""
+"Delay background polling processes by this many seconds to reduce system "
+"load. If 0, use delivery interval."
+msgstr "De achtergrondprocessen voor het afleveren met zoveel seconden vertragen om de systeembelasting te verminderen. 0 om de afleveringsinterval te gebruiken."
-#: ../../Zotlabs/Module/Connedit.php:784
-#, php-format
+#: ../../Zotlabs/Module/Admin/Site.php:314
+msgid "Maximum Load Average"
+msgstr "Maximaal gemiddelde systeembelasting"
+
+#: ../../Zotlabs/Module/Admin/Site.php:314
msgid ""
-"Please choose the profile you would like to display to %s when viewing your "
-"profile securely."
-msgstr "Kies het profiel dat je aan %s wil tonen wanneer hij/zij ingelogd jouw profiel wil bekijken."
+"Maximum system load before delivery and poll processes are deferred - "
+"default 50."
+msgstr "Maximale systeembelasting voordat de afleverings- en polllingsprocessen worden uitgesteld. Standaard is 50."
-#: ../../Zotlabs/Module/Connedit.php:786 ../../Zotlabs/Module/Settings.php:879
-msgid "Their Settings"
-msgstr "Hun instellingen"
+#: ../../Zotlabs/Module/Admin/Site.php:315
+msgid "Expiration period in days for imported (grid/network) content"
+msgstr "Aantal dagen waarna geïmporteerde inhoud uit iemands grid/netwerk-pagina wordt verwijderd."
-#: ../../Zotlabs/Module/Connedit.php:787 ../../Zotlabs/Module/Settings.php:880
-msgid "My Settings"
-msgstr "Mijn instellingen"
+#: ../../Zotlabs/Module/Admin/Site.php:315
+msgid "0 for no expiration of imported content"
+msgstr "Dit geldt alleen voor inhoud van andere kanalen, dus niet voor iemands eigen kanaal. 0 voor het niet verwijderen van geïmporteerde inhoud."
-#: ../../Zotlabs/Module/Connedit.php:789 ../../Zotlabs/Module/Settings.php:884
-msgid "Individual Permissions"
-msgstr "Individuele permissies"
+#: ../../Zotlabs/Module/Admin/Themes.php:18
+msgid "Theme settings updated."
+msgstr "Thema-instellingen bijgewerkt."
+
+#: ../../Zotlabs/Module/Admin/Themes.php:58
+msgid "No themes found."
+msgstr "Geen thema's gevonden"
+
+#: ../../Zotlabs/Module/Admin/Themes.php:114
+msgid "Screenshot"
+msgstr "Schermafdruk"
-#: ../../Zotlabs/Module/Connedit.php:790 ../../Zotlabs/Module/Settings.php:885
+#: ../../Zotlabs/Module/Admin/Themes.php:121
+#: ../../Zotlabs/Module/Admin/Themes.php:155 ../../include/widgets.php:1566
+msgid "Themes"
+msgstr "Thema's"
+
+#: ../../Zotlabs/Module/Admin/Themes.php:160
+msgid "[Experimental]"
+msgstr "[Experimenteel]"
+
+#: ../../Zotlabs/Module/Admin/Themes.php:161
+msgid "[Unsupported]"
+msgstr "[Niet ondersteund]"
+
+#: ../../Zotlabs/Module/Fbrowser.php:29 ../../Zotlabs/Lib/Apps.php:222
+#: ../../include/nav.php:95 ../../include/conversation.php:1672
+msgid "Photos"
+msgstr "Foto's"
+
+#: ../../Zotlabs/Module/Page.php:40 ../../Zotlabs/Module/Block.php:31
+msgid "Invalid item."
+msgstr "Ongeldig item."
+
+#: ../../Zotlabs/Module/Page.php:56 ../../Zotlabs/Module/Block.php:43
+#: ../../Zotlabs/Module/Cal.php:62 ../../Zotlabs/Module/Wall_upload.php:33
+msgid "Channel not found."
+msgstr "Kanaal niet gevonden."
+
+#: ../../Zotlabs/Module/Page.php:131
msgid ""
-"Some permissions may be inherited from your channel's <a "
-"href=\"settings\"><strong>privacy settings</strong></a>, which have higher "
-"priority than individual settings. You can <strong>not</strong> change those"
-" settings here."
-msgstr "Sommige permissies worden mogelijk overgeërfd van de <a href=\"settings\">privacy-instellingen</a> van jouw kanaal, die een hogere prioriteit hebben dan deze individuele instellingen. Je kan je deze overgeërfde permissies hier <strong>niet</strong> veranderen."
+"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/Filer.php:52
+msgid "Save to Folder:"
+msgstr "Bewaar in map: "
+
+#: ../../Zotlabs/Module/Filer.php:52
+msgid "- select -"
+msgstr "- kies map -"
+
+#: ../../Zotlabs/Module/Mail.php:38
+msgid "Unable to lookup recipient."
+msgstr "Niet in staat om ontvanger op te zoeken."
-#: ../../Zotlabs/Module/Connedit.php:791
+#: ../../Zotlabs/Module/Mail.php:45
+msgid "Unable to communicate with requested channel."
+msgstr "Niet in staat om met het aangevraagde kanaal te communiceren."
+
+#: ../../Zotlabs/Module/Mail.php:52
+msgid "Cannot verify requested channel."
+msgstr "Kan opgevraagd kanaal niet verifieren"
+
+#: ../../Zotlabs/Module/Mail.php:70
+msgid "Selected channel has private message restrictions. Send failed."
+msgstr "Gekozen kanaal heeft restricties voor privéberichten. Verzenden mislukt."
+
+#: ../../Zotlabs/Module/Mail.php:135
+msgid "Messages"
+msgstr "Berichten"
+
+#: ../../Zotlabs/Module/Mail.php:170
+msgid "Message recalled."
+msgstr "Bericht ingetrokken."
+
+#: ../../Zotlabs/Module/Mail.php:183
+msgid "Conversation removed."
+msgstr "Conversatie verwijderd"
+
+#: ../../Zotlabs/Module/Mail.php:197 ../../Zotlabs/Module/Mail.php:306
+#: ../../Zotlabs/Module/Chat.php:205 ../../include/conversation.php:1184
+msgid "Please enter a link URL:"
+msgstr "Vul een URL in:"
+
+#: ../../Zotlabs/Module/Mail.php:198 ../../Zotlabs/Module/Mail.php:307
+msgid "Expires YYYY-MM-DD HH:MM"
+msgstr "Verloopt op DD-MM-YYYY om HH:MM"
+
+#: ../../Zotlabs/Module/Mail.php:226
+msgid "Requested channel is not in this network"
+msgstr "Opgevraagd kanaal is niet in dit netwerk beschikbaar"
+
+#: ../../Zotlabs/Module/Mail.php:234
+msgid "Send Private Message"
+msgstr "Privébericht versturen"
+
+#: ../../Zotlabs/Module/Mail.php:235 ../../Zotlabs/Module/Mail.php:360
+msgid "To:"
+msgstr "Aan:"
+
+#: ../../Zotlabs/Module/Mail.php:238 ../../Zotlabs/Module/Mail.php:362
+msgid "Subject:"
+msgstr "Onderwerp:"
+
+#: ../../Zotlabs/Module/Mail.php:241 ../../Zotlabs/Module/Invite.php:135
+msgid "Your message:"
+msgstr "Jouw bericht:"
+
+#: ../../Zotlabs/Module/Mail.php:243 ../../Zotlabs/Module/Mail.php:368
+#: ../../include/conversation.php:1244
+msgid "Attach file"
+msgstr "Bestand toevoegen"
+
+#: ../../Zotlabs/Module/Mail.php:244 ../../Zotlabs/Module/Mail.php:369
+#: ../../Zotlabs/Module/Editblock.php:111
+#: ../../Zotlabs/Module/Editwebpage.php:146 ../../Zotlabs/Module/Chat.php:207
+#: ../../include/conversation.php:1149
+msgid "Insert web link"
+msgstr "Weblink invoegen"
+
+#: ../../Zotlabs/Module/Mail.php:245
+msgid "Send"
+msgstr "Verzenden"
+
+#: ../../Zotlabs/Module/Mail.php:248 ../../Zotlabs/Module/Mail.php:373
+#: ../../include/conversation.php:1289
+msgid "Set expiration date"
+msgstr "Verloopdatum instellen"
+
+#: ../../Zotlabs/Module/Mail.php:250 ../../Zotlabs/Module/Mail.php:375
+#: ../../Zotlabs/Module/Chat.php:206 ../../Zotlabs/Lib/ThreadItem.php:737
+#: ../../include/conversation.php:1294
+msgid "Encrypt text"
+msgstr "Tekst versleutelen"
+
+#: ../../Zotlabs/Module/Mail.php:332
+msgid "Delete message"
+msgstr "Bericht verwijderen"
+
+#: ../../Zotlabs/Module/Mail.php:333
+msgid "Delivery report"
+msgstr "Afleveringsrapport"
+
+#: ../../Zotlabs/Module/Mail.php:334
+msgid "Recall message"
+msgstr "Bericht intrekken"
+
+#: ../../Zotlabs/Module/Mail.php:336
+msgid "Message has been recalled."
+msgstr "Bericht is ingetrokken."
+
+#: ../../Zotlabs/Module/Mail.php:353
+msgid "Delete Conversation"
+msgstr "Verwijder conversatie"
+
+#: ../../Zotlabs/Module/Mail.php:355
msgid ""
-"Some permissions may be inherited from your channel's <a "
-"href=\"settings\"><strong>privacy settings</strong></a>, which have higher "
-"priority than individual settings. You can change those settings here but "
-"they wont have any impact unless the inherited setting changes."
-msgstr "Sommige permissies worden mogelijk overgeërfd van de <a href=\"settings\">privacy-instellingen</a> van jouw kanaal, die een hogere prioriteit hebben dan deze individuele permissies. Je kan de permissies hier veranderen, maar die hebben geen effect, tenzij de overgeërfde permissies worden veranderd. "
+"No secure communications available. You <strong>may</strong> be able to "
+"respond from the sender's profile page."
+msgstr "Geen veilige communicatie beschikbaar. <strong>Mogelijk</strong> kan je reageren op de kanaalpagina van de afzender."
-#: ../../Zotlabs/Module/Connedit.php:792
-msgid "Last update:"
-msgstr "Laatste wijziging:"
+#: ../../Zotlabs/Module/Mail.php:359
+msgid "Send Reply"
+msgstr "Antwoord versturen"
+
+#: ../../Zotlabs/Module/Mail.php:364
+#, php-format
+msgid "Your message for %s (%s):"
+msgstr "Jouw privébericht aan %s (%s):"
#: ../../Zotlabs/Module/Connections.php:56
#: ../../Zotlabs/Module/Connections.php:161
@@ -1310,10 +1926,16 @@ msgstr "Gearchiveerd"
#: ../../Zotlabs/Module/Connections.php:76
#: ../../Zotlabs/Module/Connections.php:86 ../../Zotlabs/Module/Menu.php:116
-#: ../../include/conversation.php:1565
+#: ../../include/conversation.php:1573
msgid "New"
msgstr "Nieuw"
+#: ../../Zotlabs/Module/Connections.php:92
+#: ../../Zotlabs/Module/Connections.php:107
+#: ../../Zotlabs/Module/Connedit.php:629 ../../include/widgets.php:533
+msgid "All"
+msgstr "Alles"
+
#: ../../Zotlabs/Module/Connections.php:138
msgid "New Connections"
msgstr "Nieuwe connecties"
@@ -1372,7 +1994,7 @@ msgstr "Kanaaladres"
msgid "Network"
msgstr "Netwerk"
-#: ../../Zotlabs/Module/Connections.php:270 ../../Zotlabs/Module/Admin.php:710
+#: ../../Zotlabs/Module/Connections.php:270
msgid "Status"
msgstr "Status"
@@ -1384,28 +2006,29 @@ msgstr "Verbonden"
msgid "Approve connection"
msgstr "Connectie accepteren"
-#: ../../Zotlabs/Module/Connections.php:275
-#: ../../Zotlabs/Module/Admin.php:1037
-msgid "Approve"
-msgstr "Goedkeuren"
-
#: ../../Zotlabs/Module/Connections.php:276
msgid "Ignore connection"
msgstr "Connectie negeren"
+#: ../../Zotlabs/Module/Connections.php:277
+#: ../../Zotlabs/Module/Connedit.php:583
+#: ../../Zotlabs/Module/Notifications.php:55
+msgid "Ignore"
+msgstr "Negeren"
+
#: ../../Zotlabs/Module/Connections.php:278
msgid "Recent activity"
msgstr "Recente activiteit"
#: ../../Zotlabs/Module/Connections.php:302 ../../Zotlabs/Lib/Apps.php:209
-#: ../../include/nav.php:190 ../../include/text.php:855
+#: ../../include/text.php:901 ../../include/nav.php:191
msgid "Connections"
msgstr "Connecties"
#: ../../Zotlabs/Module/Connections.php:306 ../../Zotlabs/Module/Search.php:44
-#: ../../Zotlabs/Lib/Apps.php:230 ../../include/nav.php:169
-#: ../../include/text.php:925 ../../include/text.php:937
-#: ../../include/acl_selectors.php:179
+#: ../../Zotlabs/Lib/Apps.php:230 ../../include/text.php:971
+#: ../../include/text.php:983 ../../include/acl_selectors.php:174
+#: ../../include/nav.php:170 ../../include/widgets.php:315
msgid "Search"
msgstr "Zoeken"
@@ -1417,6 +2040,12 @@ msgstr "Doorzoek jouw connecties"
msgid "Connections search"
msgstr "Connecties zoeken"
+#: ../../Zotlabs/Module/Connections.php:309
+#: ../../Zotlabs/Module/Directory.php:388
+#: ../../Zotlabs/Module/Directory.php:393 ../../include/contact_widgets.php:23
+msgid "Find"
+msgstr "Vinden"
+
#: ../../Zotlabs/Module/Cover_photo.php:58
#: ../../Zotlabs/Module/Profile_photo.php:61
msgid "Image uploaded but image cropping failed."
@@ -1447,30 +2076,30 @@ msgstr "Uploaden afbeelding mislukt"
msgid "Unable to process image."
msgstr "Niet in staat om afbeelding te verwerken."
-#: ../../Zotlabs/Module/Cover_photo.php:233 ../../include/items.php:4285
+#: ../../Zotlabs/Module/Cover_photo.php:233 ../../include/items.php:4341
msgid "female"
msgstr "vrouw"
-#: ../../Zotlabs/Module/Cover_photo.php:234 ../../include/items.php:4286
+#: ../../Zotlabs/Module/Cover_photo.php:234 ../../include/items.php:4342
#, php-format
msgid "%1$s updated her %2$s"
msgstr "%1$s heeft haar %2$s bijgewerkt"
-#: ../../Zotlabs/Module/Cover_photo.php:235 ../../include/items.php:4287
+#: ../../Zotlabs/Module/Cover_photo.php:235 ../../include/items.php:4343
msgid "male"
msgstr "man"
-#: ../../Zotlabs/Module/Cover_photo.php:236 ../../include/items.php:4288
+#: ../../Zotlabs/Module/Cover_photo.php:236 ../../include/items.php:4344
#, php-format
msgid "%1$s updated his %2$s"
msgstr "%1$s heeft zijn %2$s bijgewerkt"
-#: ../../Zotlabs/Module/Cover_photo.php:238 ../../include/items.php:4290
+#: ../../Zotlabs/Module/Cover_photo.php:238 ../../include/items.php:4346
#, php-format
msgid "%1$s updated their %2$s"
msgstr "De %2$s van %1$s is bijgewerkt"
-#: ../../Zotlabs/Module/Cover_photo.php:240 ../../include/channel.php:1710
+#: ../../Zotlabs/Module/Cover_photo.php:240 ../../include/channel.php:1731
msgid "cover photo"
msgstr "omslagfoto"
@@ -1497,7 +2126,7 @@ msgstr "Omslagfoto uploaden"
#: ../../Zotlabs/Module/Cover_photo.php:361
#: ../../Zotlabs/Module/Profile_photo.php:396
-#: ../../Zotlabs/Module/Settings.php:1180
+#: ../../Zotlabs/Module/Settings/Channel.php:399
msgid "or"
msgstr "of"
@@ -1526,229 +2155,304 @@ msgstr "Snij de afbeelding zo uit dat deze optimaal wordt weergegeven."
msgid "Done Editing"
msgstr "Klaar met bewerken"
-#: ../../Zotlabs/Module/Import.php:33
-#, php-format
-msgid "Your service plan only allows %d channels."
-msgstr "Jouw abonnement staat maar %d kanalen toe."
+#: ../../Zotlabs/Module/Rpost.php:138 ../../Zotlabs/Module/Editpost.php:106
+msgid "Edit post"
+msgstr "Bericht bewerken"
-#: ../../Zotlabs/Module/Import.php:71 ../../Zotlabs/Module/Import_items.php:42
-msgid "Nothing to import."
-msgstr "Niets gevonden om te importeren"
+#: ../../Zotlabs/Module/Connedit.php:80
+msgid "Could not access contact record."
+msgstr "Kon geen toegang krijgen tot de connectie-gegevens."
-#: ../../Zotlabs/Module/Import.php:95 ../../Zotlabs/Module/Import_items.php:66
-msgid "Unable to download data from old server"
-msgstr "Niet in staat om gegevens van de oude hub te downloaden"
+#: ../../Zotlabs/Module/Connedit.php:104
+msgid "Could not locate selected profile."
+msgstr "Kon het gekozen profiel niet vinden."
-#: ../../Zotlabs/Module/Import.php:101
-#: ../../Zotlabs/Module/Import_items.php:72
-msgid "Imported file is empty."
-msgstr "Geïmporteerde bestand is leeg"
+#: ../../Zotlabs/Module/Connedit.php:256
+msgid "Connection updated."
+msgstr "Connectie bijgewerkt."
-#: ../../Zotlabs/Module/Import.php:123
-#: ../../Zotlabs/Module/Import_items.php:88
+#: ../../Zotlabs/Module/Connedit.php:258
+msgid "Failed to update connection record."
+msgstr "Bijwerken van connectie-gegevens mislukt."
+
+#: ../../Zotlabs/Module/Connedit.php:308
+msgid "is now connected to"
+msgstr "is nu verbonden met"
+
+#: ../../Zotlabs/Module/Connedit.php:440
+msgid "Could not access address book record."
+msgstr "Kon geen toegang krijgen tot de record van de connectie."
+
+#: ../../Zotlabs/Module/Connedit.php:460
+msgid "Refresh failed - channel is currently unavailable."
+msgstr "Vernieuwen mislukt - kanaal is momenteel niet beschikbaar"
+
+#: ../../Zotlabs/Module/Connedit.php:475 ../../Zotlabs/Module/Connedit.php:484
+#: ../../Zotlabs/Module/Connedit.php:493 ../../Zotlabs/Module/Connedit.php:502
+#: ../../Zotlabs/Module/Connedit.php:515
+msgid "Unable to set address book parameters."
+msgstr "Niet in staat om de parameters van connecties in te stellen."
+
+#: ../../Zotlabs/Module/Connedit.php:538
+msgid "Connection has been removed."
+msgstr "Connectie is verwijderd"
+
+#: ../../Zotlabs/Module/Connedit.php:554 ../../Zotlabs/Lib/Apps.php:221
+#: ../../include/nav.php:89 ../../include/conversation.php:953
+msgid "View Profile"
+msgstr "Profiel weergeven"
+
+#: ../../Zotlabs/Module/Connedit.php:557
#, php-format
-msgid "Warning: Database versions differ by %1$d updates."
-msgstr "Waarschuwing: database-versies lopen %1$d updates achter."
+msgid "View %s's profile"
+msgstr "Profiel van %s weergeven"
-#: ../../Zotlabs/Module/Import.php:153 ../../include/import.php:107
-msgid "Cloned channel not found. Import failed."
-msgstr "Gekloond kanaal niet gevonden. Importeren mislukt."
+#: ../../Zotlabs/Module/Connedit.php:561
+msgid "Refresh Permissions"
+msgstr "Permissies vernieuwen"
-#: ../../Zotlabs/Module/Import.php:163
-msgid "No channel. Import failed."
-msgstr "Geen kanaal. Importeren mislukt."
+#: ../../Zotlabs/Module/Connedit.php:564
+msgid "Fetch updated permissions"
+msgstr "Aangepaste permissies ophalen"
-#: ../../Zotlabs/Module/Import.php:520
-#: ../../include/Import/import_diaspora.php:142
-msgid "Import completed."
-msgstr "Import voltooid."
+#: ../../Zotlabs/Module/Connedit.php:568
+msgid "Recent Activity"
+msgstr "Recente activiteit/berichten"
-#: ../../Zotlabs/Module/Import.php:542
-msgid "You must be logged in to use this feature."
-msgstr "Je moet ingelogd zijn om dit onderdeel te kunnen gebruiken."
+#: ../../Zotlabs/Module/Connedit.php:571
+msgid "View recent posts and comments"
+msgstr "Recente berichten en reacties weergeven"
-#: ../../Zotlabs/Module/Import.php:547
-msgid "Import Channel"
-msgstr "Kanaal importeren"
+#: ../../Zotlabs/Module/Connedit.php:578
+msgid "Block (or Unblock) all communications with this connection"
+msgstr "Blokkeer (of deblokkeer) alle communicatie met deze connectie"
-#: ../../Zotlabs/Module/Import.php:548
-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 "Gebruik dit formulier om een bestaand kanaal te importeren van een andere hub. Je kan de kanaal-identiteit van de oude hub via het netwerk ontvangen of een exportbestand verstrekken."
+#: ../../Zotlabs/Module/Connedit.php:579
+msgid "This connection is blocked!"
+msgstr "Deze connectie is geblokkeerd!"
-#: ../../Zotlabs/Module/Import.php:549
-#: ../../Zotlabs/Module/Import_items.php:121
-msgid "File to Upload"
-msgstr "Bestand om te uploaden"
+#: ../../Zotlabs/Module/Connedit.php:583
+msgid "Unignore"
+msgstr "Niet meer negeren"
-#: ../../Zotlabs/Module/Import.php:550
-msgid "Or provide the old server/hub details"
-msgstr "Of vul de gegevens van de oude hub in"
+#: ../../Zotlabs/Module/Connedit.php:586
+msgid "Ignore (or Unignore) all inbound communications from this connection"
+msgstr "Negeer (of negeer niet meer) alle inkomende communicatie van deze connectie"
-#: ../../Zotlabs/Module/Import.php:551
-msgid "Your old identity address (xyz@example.com)"
-msgstr "Jouw oude kanaaladres (xyz@example.com)"
+#: ../../Zotlabs/Module/Connedit.php:587
+msgid "This connection is ignored!"
+msgstr "Deze connectie wordt genegeerd!"
-#: ../../Zotlabs/Module/Import.php:552
-msgid "Your old login email address"
-msgstr "Het e-mailadres van je oude account"
+#: ../../Zotlabs/Module/Connedit.php:591
+msgid "Unarchive"
+msgstr "Niet meer archiveren"
-#: ../../Zotlabs/Module/Import.php:553
-msgid "Your old login password"
-msgstr "Wachtwoord van jouw oude account"
+#: ../../Zotlabs/Module/Connedit.php:591
+msgid "Archive"
+msgstr "Archiveren"
-#: ../../Zotlabs/Module/Import.php:554
+#: ../../Zotlabs/Module/Connedit.php:594
msgid ""
-"For either option, please choose whether to make this hub your new primary "
-"address, or whether your old location should continue this role. You will be"
-" able to post from either location, but only one can be marked as the "
-"primary location for files, photos, and media."
-msgstr "Voor elke optie geldt dat je moet kiezen of je jouw primaire kanaaladres op deze hub wil instellen of dat jouw oude hub deze rol blijft vervullen."
+"Archive (or Unarchive) this connection - mark channel dead but keep content"
+msgstr "Archiveer (of dearchiveer) deze connectie - markeer het kanaal als dood, maar bewaar de inhoud"
-#: ../../Zotlabs/Module/Import.php:555
-msgid "Make this hub my primary location"
-msgstr "Stel deze hub als mijn primaire locatie in"
+#: ../../Zotlabs/Module/Connedit.php:595
+msgid "This connection is archived!"
+msgstr "Deze connectie is gearchiveerd!"
-#: ../../Zotlabs/Module/Import.php:556
-msgid ""
-"Import existing posts if possible (experimental - limited by available "
-"memory"
-msgstr "Importeer bestaande berichten wanneer mogelijk (experimenteel - afhankelijk van beschikbaar servergeheugen)"
+#: ../../Zotlabs/Module/Connedit.php:599
+msgid "Unhide"
+msgstr "Niet meer verbergen"
-#: ../../Zotlabs/Module/Import.php:557
-msgid ""
-"This process may take several minutes to complete. Please submit the form "
-"only once and leave this page open until finished."
-msgstr "Dit proces kan enkele minuten in beslag nemen. Klik maar één keer op opslaan en verlaat deze pagina niet alvorens het proces is voltooid."
+#: ../../Zotlabs/Module/Connedit.php:599
+msgid "Hide"
+msgstr "Verbergen"
-#: ../../Zotlabs/Module/Mail.php:38
-msgid "Unable to lookup recipient."
-msgstr "Niet in staat om ontvanger op te zoeken."
+#: ../../Zotlabs/Module/Connedit.php:602
+msgid "Hide or Unhide this connection from your other connections"
+msgstr "Deze connectie verbergen (of niet meer verbergen) voor jouw andere connecties"
-#: ../../Zotlabs/Module/Mail.php:45
-msgid "Unable to communicate with requested channel."
-msgstr "Niet in staat om met het aangevraagde kanaal te communiceren."
+#: ../../Zotlabs/Module/Connedit.php:603
+msgid "This connection is hidden!"
+msgstr "Deze connectie is verborgen!"
-#: ../../Zotlabs/Module/Mail.php:52
-msgid "Cannot verify requested channel."
-msgstr "Kan opgevraagd kanaal niet verifieren"
+#: ../../Zotlabs/Module/Connedit.php:610
+msgid "Delete this connection"
+msgstr "Deze connectie verwijderen"
-#: ../../Zotlabs/Module/Mail.php:70
-msgid "Selected channel has private message restrictions. Send failed."
-msgstr "Gekozen kanaal heeft restricties voor privéberichten. Verzenden mislukt."
+#: ../../Zotlabs/Module/Connedit.php:625 ../../include/widgets.php:529
+msgid "Me"
+msgstr "Ik"
-#: ../../Zotlabs/Module/Mail.php:135
-msgid "Messages"
-msgstr "Berichten"
+#: ../../Zotlabs/Module/Connedit.php:626 ../../include/widgets.php:530
+msgid "Family"
+msgstr "Familie"
-#: ../../Zotlabs/Module/Mail.php:170
-msgid "Message recalled."
-msgstr "Bericht ingetrokken."
+#: ../../Zotlabs/Module/Connedit.php:627
+#: ../../Zotlabs/Module/Settings/Channel.php:61
+#: ../../Zotlabs/Module/Settings/Channel.php:65
+#: ../../Zotlabs/Module/Settings/Channel.php:66
+#: ../../Zotlabs/Module/Settings/Channel.php:69
+#: ../../Zotlabs/Module/Settings/Channel.php:80
+#: ../../include/selectors.php:123 ../../include/channel.php:402
+#: ../../include/channel.php:403 ../../include/channel.php:410
+#: ../../include/widgets.php:531
+msgid "Friends"
+msgstr "Vrienden"
-#: ../../Zotlabs/Module/Mail.php:183
-msgid "Conversation removed."
-msgstr "Conversatie verwijderd"
+#: ../../Zotlabs/Module/Connedit.php:628 ../../include/widgets.php:532
+msgid "Acquaintances"
+msgstr "Kennissen"
-#: ../../Zotlabs/Module/Mail.php:197 ../../Zotlabs/Module/Mail.php:306
-#: ../../Zotlabs/Module/Chat.php:205 ../../include/conversation.php:1186
-msgid "Please enter a link URL:"
-msgstr "Vul een URL in:"
+#: ../../Zotlabs/Module/Connedit.php:686
+msgid "Approve this connection"
+msgstr "Deze connectie accepteren"
-#: ../../Zotlabs/Module/Mail.php:198 ../../Zotlabs/Module/Mail.php:307
-msgid "Expires YYYY-MM-DD HH:MM"
-msgstr "Verloopt op DD-MM-YYYY om HH:MM"
+#: ../../Zotlabs/Module/Connedit.php:686
+msgid "Accept connection to allow communication"
+msgstr "Keur deze connectie goed om communicatie toe te staan"
-#: ../../Zotlabs/Module/Mail.php:226
-msgid "Requested channel is not in this network"
-msgstr "Opgevraagd kanaal is niet in dit netwerk beschikbaar"
+#: ../../Zotlabs/Module/Connedit.php:691
+msgid "Set Affinity"
+msgstr "Verwantschapsfilter instellen"
-#: ../../Zotlabs/Module/Mail.php:234
-msgid "Send Private Message"
-msgstr "Privébericht versturen"
+#: ../../Zotlabs/Module/Connedit.php:694
+msgid "Set Profile"
+msgstr "Profiel instellen"
-#: ../../Zotlabs/Module/Mail.php:235 ../../Zotlabs/Module/Mail.php:360
-msgid "To:"
-msgstr "Aan:"
+#: ../../Zotlabs/Module/Connedit.php:697
+msgid "Set Affinity & Profile"
+msgstr "Verwantschapsfilter en profiel instellen"
-#: ../../Zotlabs/Module/Mail.php:238 ../../Zotlabs/Module/Mail.php:362
-msgid "Subject:"
-msgstr "Onderwerp:"
+#: ../../Zotlabs/Module/Connedit.php:746
+msgid "none"
+msgstr "geen"
-#: ../../Zotlabs/Module/Mail.php:241 ../../Zotlabs/Module/Invite.php:135
-msgid "Your message:"
-msgstr "Jouw bericht:"
+#: ../../Zotlabs/Module/Connedit.php:750 ../../include/widgets.php:656
+msgid "Connection Default Permissions"
+msgstr "Standaard permissies voor connecties"
-#: ../../Zotlabs/Module/Mail.php:243 ../../Zotlabs/Module/Mail.php:368
-#: ../../include/conversation.php:1238
-msgid "Attach file"
-msgstr "Bestand toevoegen"
+#: ../../Zotlabs/Module/Connedit.php:750 ../../include/items.php:3993
+#, php-format
+msgid "Connection: %s"
+msgstr "Connectie: %s"
-#: ../../Zotlabs/Module/Mail.php:244 ../../Zotlabs/Module/Mail.php:369
-#: ../../Zotlabs/Module/Editblock.php:111
-#: ../../Zotlabs/Module/Editwebpage.php:146 ../../Zotlabs/Module/Chat.php:207
-#: ../../include/conversation.php:1151
-msgid "Insert web link"
-msgstr "Weblink invoegen"
+#: ../../Zotlabs/Module/Connedit.php:751
+msgid "Apply these permissions automatically"
+msgstr "Deze permissies automatisch toepassen"
-#: ../../Zotlabs/Module/Mail.php:245
-msgid "Send"
-msgstr "Verzenden"
+#: ../../Zotlabs/Module/Connedit.php:751
+msgid "Connection requests will be approved without your interaction"
+msgstr "Connectieverzoeken zullen automatisch worden geaccepteerd"
-#: ../../Zotlabs/Module/Mail.php:248 ../../Zotlabs/Module/Mail.php:373
-#: ../../include/conversation.php:1281
-msgid "Set expiration date"
-msgstr "Verloopdatum instellen"
+#: ../../Zotlabs/Module/Connedit.php:753
+msgid "This connection's primary address is"
+msgstr "Het primaire kanaaladres van deze connectie is"
-#: ../../Zotlabs/Module/Mail.php:250 ../../Zotlabs/Module/Mail.php:375
-#: ../../Zotlabs/Module/Chat.php:206 ../../Zotlabs/Lib/ThreadItem.php:723
-#: ../../include/conversation.php:1286
-msgid "Encrypt text"
-msgstr "Tekst versleutelen"
+#: ../../Zotlabs/Module/Connedit.php:754
+msgid "Available locations:"
+msgstr "Beschikbare locaties:"
-#: ../../Zotlabs/Module/Mail.php:332
-msgid "Delete message"
-msgstr "Bericht verwijderen"
+#: ../../Zotlabs/Module/Connedit.php:758
+msgid ""
+"The permissions indicated on this page will be applied to all new "
+"connections."
+msgstr "Permissies die op deze pagina staan vermeld worden op alle nieuwe connecties toegepast."
-#: ../../Zotlabs/Module/Mail.php:333
-msgid "Delivery report"
-msgstr "Afleveringsrapport"
+#: ../../Zotlabs/Module/Connedit.php:759
+msgid "Connection Tools"
+msgstr "Hulpmiddelen"
-#: ../../Zotlabs/Module/Mail.php:334
-msgid "Recall message"
-msgstr "Bericht intrekken"
+#: ../../Zotlabs/Module/Connedit.php:761
+msgid "Slide to adjust your degree of friendship"
+msgstr "Schuif om te bepalen hoe goed je iemand kent en/of mag"
-#: ../../Zotlabs/Module/Mail.php:336
-msgid "Message has been recalled."
-msgstr "Bericht is ingetrokken."
+#: ../../Zotlabs/Module/Connedit.php:762 ../../Zotlabs/Module/Rate.php:155
+#: ../../include/js_strings.php:20
+msgid "Rating"
+msgstr "Beoordeling"
-#: ../../Zotlabs/Module/Mail.php:353
-msgid "Delete Conversation"
-msgstr "Verwijder conversatie"
+#: ../../Zotlabs/Module/Connedit.php:763
+msgid "Slide to adjust your rating"
+msgstr "Gebruik de schuif om je beoordeling te geven"
-#: ../../Zotlabs/Module/Mail.php:355
+#: ../../Zotlabs/Module/Connedit.php:764 ../../Zotlabs/Module/Connedit.php:769
+msgid "Optionally explain your rating"
+msgstr "Verklaar jouw beoordeling (niet verplicht)"
+
+#: ../../Zotlabs/Module/Connedit.php:766
+msgid "Custom Filter"
+msgstr "Berichtenfilter"
+
+#: ../../Zotlabs/Module/Connedit.php:767
+msgid "Only import posts with this text"
+msgstr "Importeer alleen berichten met deze tekst"
+
+#: ../../Zotlabs/Module/Connedit.php:767 ../../Zotlabs/Module/Connedit.php:768
msgid ""
-"No secure communications available. You <strong>may</strong> be able to "
-"respond from the sender's profile page."
-msgstr "Geen veilige communicatie beschikbaar. <strong>Mogelijk</strong> kan je reageren op de kanaalpagina van de afzender."
+"words one per line or #tags or /patterns/ or lang=xx, leave blank to import "
+"all posts"
+msgstr "woorden (één per regel), #tags, /regex/ of talen (lang=iso639-1) - laat leeg om alle berichten te importeren"
-#: ../../Zotlabs/Module/Mail.php:359
-msgid "Send Reply"
-msgstr "Antwoord versturen"
+#: ../../Zotlabs/Module/Connedit.php:768
+msgid "Do not import posts with this text"
+msgstr "Importeer geen berichten met deze tekst"
-#: ../../Zotlabs/Module/Mail.php:364
+#: ../../Zotlabs/Module/Connedit.php:770
+msgid "This information is public!"
+msgstr "Deze informatie is openbaar!"
+
+#: ../../Zotlabs/Module/Connedit.php:775
+msgid "Connection Pending Approval"
+msgstr "Connectie moet nog geaccepteerd worden"
+
+#: ../../Zotlabs/Module/Connedit.php:778
+#: ../../Zotlabs/Module/Settings/Tokens.php:163
+msgid "inherited"
+msgstr "geërfd"
+
+#: ../../Zotlabs/Module/Connedit.php:780
#, php-format
-msgid "Your message for %s (%s):"
-msgstr "Jouw privébericht aan %s (%s):"
+msgid ""
+"Please choose the profile you would like to display to %s when viewing your "
+"profile securely."
+msgstr "Kies het profiel dat je aan %s wil tonen wanneer hij/zij ingelogd jouw profiel wil bekijken."
-#: ../../Zotlabs/Module/Dirsearch.php:25 ../../Zotlabs/Module/Regdir.php:49
-msgid "This site is not a directory server"
-msgstr "Deze hub is geen kanalengidshub (directoryserver)"
+#: ../../Zotlabs/Module/Connedit.php:782
+#: ../../Zotlabs/Module/Settings/Tokens.php:160
+msgid "Their Settings"
+msgstr "Hun instellingen"
-#: ../../Zotlabs/Module/Dirsearch.php:33
-msgid "This directory server requires an access token"
-msgstr "Deze kanalengidshub (directoryserver) heeft een toegangs-token nodig"
+#: ../../Zotlabs/Module/Connedit.php:783
+#: ../../Zotlabs/Module/Settings/Tokens.php:161
+msgid "My Settings"
+msgstr "Mijn instellingen"
+
+#: ../../Zotlabs/Module/Connedit.php:785
+#: ../../Zotlabs/Module/Settings/Tokens.php:165
+msgid "Individual Permissions"
+msgstr "Individuele permissies"
+
+#: ../../Zotlabs/Module/Connedit.php:786
+#: ../../Zotlabs/Module/Settings/Tokens.php:166
+msgid ""
+"Some permissions may be inherited from your channel's <a "
+"href=\"settings\"><strong>privacy settings</strong></a>, which have higher "
+"priority than individual settings. You can <strong>not</strong> change those"
+" settings here."
+msgstr "Sommige permissies worden mogelijk overgeërfd van de <a href=\"settings\">privacy-instellingen</a> van jouw kanaal, die een hogere prioriteit hebben dan deze individuele instellingen. Je kan je deze overgeërfde permissies hier <strong>niet</strong> veranderen."
+
+#: ../../Zotlabs/Module/Connedit.php:787
+msgid ""
+"Some permissions may be inherited from your channel's <a "
+"href=\"settings\"><strong>privacy settings</strong></a>, which have higher "
+"priority than individual settings. You can change those settings here but "
+"they wont have any impact unless the inherited setting changes."
+msgstr "Sommige permissies worden mogelijk overgeërfd van de <a href=\"settings\">privacy-instellingen</a> van jouw kanaal, die een hogere prioriteit hebben dan deze individuele permissies. Je kan de permissies hier veranderen, maar die hebben geen effect, tenzij de overgeërfde permissies worden veranderd. "
+
+#: ../../Zotlabs/Module/Connedit.php:788
+msgid "Last update:"
+msgstr "Laatste wijziging:"
#: ../../Zotlabs/Module/Editblock.php:79 ../../Zotlabs/Module/Editblock.php:95
#: ../../Zotlabs/Module/Editlayout.php:79
@@ -1762,7 +2466,7 @@ msgstr "Item niet gevonden"
msgid "Block Name"
msgstr "Bloknaam"
-#: ../../Zotlabs/Module/Editblock.php:124 ../../include/conversation.php:1254
+#: ../../Zotlabs/Module/Editblock.php:124 ../../include/conversation.php:1260
msgid "Title (optional)"
msgstr "Titel (optioneel)"
@@ -1792,67 +2496,114 @@ msgstr "Paginalink"
msgid "Edit Webpage"
msgstr "Webpagina bewerken"
-#: ../../Zotlabs/Module/Chat.php:181
-msgid "Room not found"
-msgstr "Chatkanaal niet gevonden"
+#: ../../Zotlabs/Module/Menu.php:49
+msgid "Unable to update menu."
+msgstr "Niet in staat om menu aan te passen"
-#: ../../Zotlabs/Module/Chat.php:197
-msgid "Leave Room"
-msgstr "Chatkanaal verlaten"
+#: ../../Zotlabs/Module/Menu.php:60
+msgid "Unable to create menu."
+msgstr "Niet in staat om menu aan te maken."
-#: ../../Zotlabs/Module/Chat.php:198
-msgid "Delete Room"
-msgstr "Chatkanaal verwijderen"
+#: ../../Zotlabs/Module/Menu.php:98 ../../Zotlabs/Module/Menu.php:110
+msgid "Menu Name"
+msgstr "Menunaam"
-#: ../../Zotlabs/Module/Chat.php:199
-msgid "I am away right now"
-msgstr "Ik ben momenteel afwezig"
+#: ../../Zotlabs/Module/Menu.php:98
+msgid "Unique name (not visible on webpage) - required"
+msgstr "Unieke naam vereist (niet zichtbaar op webpagina)"
-#: ../../Zotlabs/Module/Chat.php:200
-msgid "I am online"
-msgstr "Ik ben online"
+#: ../../Zotlabs/Module/Menu.php:99 ../../Zotlabs/Module/Menu.php:111
+msgid "Menu Title"
+msgstr "Menutitel"
-#: ../../Zotlabs/Module/Chat.php:202
-msgid "Bookmark this room"
-msgstr "Chatkanaal aan bladwijzers toevoegen"
+#: ../../Zotlabs/Module/Menu.php:99
+msgid "Visible on webpage - leave empty for no title"
+msgstr "Zichtbaar op webpagina (leeg laten voor geen titel)"
-#: ../../Zotlabs/Module/Chat.php:218
-msgid "Feature disabled."
-msgstr "Functie uitgeschakeld."
+#: ../../Zotlabs/Module/Menu.php:100
+msgid "Allow Bookmarks"
+msgstr "Bladwijzers toestaan"
-#: ../../Zotlabs/Module/Chat.php:231
-msgid "New Chatroom"
-msgstr "Nieuw chatkanaal"
+#: ../../Zotlabs/Module/Menu.php:100 ../../Zotlabs/Module/Menu.php:157
+msgid "Menu may be used to store saved bookmarks"
+msgstr "Menu kan gebruikt worden om bladwijzers in op te slaan"
-#: ../../Zotlabs/Module/Chat.php:232
-msgid "Chatroom name"
-msgstr "Naam chatkanaal"
+#: ../../Zotlabs/Module/Menu.php:101 ../../Zotlabs/Module/Menu.php:159
+msgid "Submit and proceed"
+msgstr "Opslaan en doorgaan"
-#: ../../Zotlabs/Module/Chat.php:233
-msgid "Expiration of chats (minutes)"
-msgstr "Aantal minuten voordat chatberichten worden verwijderd"
+#: ../../Zotlabs/Module/Menu.php:107 ../../include/text.php:2309
+msgid "Menus"
+msgstr "Menu's"
-#: ../../Zotlabs/Module/Chat.php:249
-#, php-format
-msgid "%1$s's Chatrooms"
-msgstr "Chatkanalen van %1$s"
+#: ../../Zotlabs/Module/Menu.php:113 ../../Zotlabs/Module/Locs.php:120
+msgid "Drop"
+msgstr "Verwijderen"
-#: ../../Zotlabs/Module/Chat.php:254
-msgid "No chatrooms available"
-msgstr "Geen chatkanalen beschikbaar"
+#: ../../Zotlabs/Module/Menu.php:114 ../../Zotlabs/Module/Blocks.php:157
+#: ../../Zotlabs/Module/Layouts.php:190 ../../Zotlabs/Module/Webpages.php:251
+#: ../../include/page_widgets.php:47
+msgid "Created"
+msgstr "Aangemaakt"
-#: ../../Zotlabs/Module/Chat.php:255 ../../Zotlabs/Module/Profiles.php:778
-#: ../../Zotlabs/Module/Manage.php:143
-msgid "Create New"
-msgstr "Nieuwe aanmaken"
+#: ../../Zotlabs/Module/Menu.php:115 ../../Zotlabs/Module/Blocks.php:158
+#: ../../Zotlabs/Module/Layouts.php:191 ../../Zotlabs/Module/Webpages.php:252
+#: ../../include/page_widgets.php:48
+msgid "Edited"
+msgstr "Bewerkt"
-#: ../../Zotlabs/Module/Chat.php:258
-msgid "Expiration"
-msgstr "Verloopt na"
+#: ../../Zotlabs/Module/Menu.php:117
+msgid "Bookmarks allowed"
+msgstr "Bladwijzers toegestaan"
-#: ../../Zotlabs/Module/Chat.php:259
-msgid "min"
-msgstr "min"
+#: ../../Zotlabs/Module/Menu.php:119
+msgid "Delete this menu"
+msgstr "Menu verwijderen"
+
+#: ../../Zotlabs/Module/Menu.php:120 ../../Zotlabs/Module/Menu.php:154
+msgid "Edit menu contents"
+msgstr "Bewerk de inhoud van het menu"
+
+#: ../../Zotlabs/Module/Menu.php:121
+msgid "Edit this menu"
+msgstr "Dit menu bewerken"
+
+#: ../../Zotlabs/Module/Menu.php:136
+msgid "Menu could not be deleted."
+msgstr "Menu kon niet verwijderd worden."
+
+#: ../../Zotlabs/Module/Menu.php:149
+msgid "Edit Menu"
+msgstr "Menu bewerken"
+
+#: ../../Zotlabs/Module/Menu.php:153
+msgid "Add or remove entries to this menu"
+msgstr "Items aan dit menu toevoegen of verwijder"
+
+#: ../../Zotlabs/Module/Menu.php:155
+msgid "Menu name"
+msgstr "Naam van menu"
+
+#: ../../Zotlabs/Module/Menu.php:155
+msgid "Must be unique, only seen by you"
+msgstr "Moet uniek zijn en is alleen zichtbaar voor jou."
+
+#: ../../Zotlabs/Module/Menu.php:156
+msgid "Menu title"
+msgstr "Titel van menu"
+
+#: ../../Zotlabs/Module/Menu.php:156
+msgid "Menu title as seen by others"
+msgstr "Titel van menu zoals anderen dat zien."
+
+#: ../../Zotlabs/Module/Menu.php:157
+msgid "Allow bookmarks"
+msgstr "Bladwijzers toestaan"
+
+#: ../../Zotlabs/Module/Menu.php:166 ../../Zotlabs/Module/Mitem.php:120
+#: ../../Zotlabs/Module/Xchan.php:41
+msgid "Not found."
+msgstr "Niet gevonden."
#: ../../Zotlabs/Module/Appman.php:37 ../../Zotlabs/Module/Appman.php:53
msgid "App installed."
@@ -1881,7 +2632,7 @@ msgstr "Naam van app"
#: ../../Zotlabs/Module/Appman.php:115 ../../Zotlabs/Module/Appman.php:116
#: ../../Zotlabs/Module/Profiles.php:709 ../../Zotlabs/Module/Profiles.php:713
#: ../../Zotlabs/Module/Events.php:452 ../../Zotlabs/Module/Events.php:457
-#: ../../include/datetime.php:245
+#: ../../include/datetime.php:257
msgid "Required"
msgstr "Vereist"
@@ -1889,8 +2640,8 @@ msgstr "Vereist"
msgid "Location (URL) of app"
msgstr "Locatie (URL) van app"
-#: ../../Zotlabs/Module/Appman.php:117 ../../Zotlabs/Module/Events.php:465
-#: ../../Zotlabs/Module/Rbmark.php:101
+#: ../../Zotlabs/Module/Appman.php:117 ../../Zotlabs/Module/Rbmark.php:101
+#: ../../Zotlabs/Module/Events.php:465
msgid "Description"
msgstr "Omschrijving"
@@ -1918,57 +2669,114 @@ msgstr "Prijs van de app"
msgid "Location (URL) to purchase app"
msgstr "Locatie (URL) om de app aan te schaffen"
-#: ../../Zotlabs/Module/Help.php:26
-msgid "Documentation Search"
-msgstr "Zoek documentatie"
+#: ../../Zotlabs/Module/Pubsites.php:24 ../../include/widgets.php:1392
+msgid "Public Hubs"
+msgstr "Openbare hubs"
-#: ../../Zotlabs/Module/Help.php:67 ../../Zotlabs/Module/Help.php:73
-#: ../../Zotlabs/Module/Help.php:79
-msgid "Help:"
-msgstr "Hulp:"
+#: ../../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."
+msgstr "Op de hier weergegeven hubs kan iedereen zich voor het $Projectname-netwerk aanmelden. Alle hubs in het netwerk zijn met elkaar verbonden, dus maakt het qua lidmaatschap niet uit waar je je aanmeldt. Op sommige hubs heb je eerst goedkeuring nodig en sommige hubs vereisen een financiële tegemoetkoming voor bepaalde uitbreidingen. <strong>Mogelijk</strong> wordt hierover op de hub zelf meer informatie gegeven."
-#: ../../Zotlabs/Module/Help.php:85 ../../Zotlabs/Module/Help.php:90
-#: ../../Zotlabs/Module/Layouts.php:185 ../../Zotlabs/Lib/Apps.php:225
-#: ../../include/nav.php:163
-msgid "Help"
-msgstr "Hulp"
+#: ../../Zotlabs/Module/Pubsites.php:33
+msgid "Hub URL"
+msgstr "Hub-URL"
-#: ../../Zotlabs/Module/Help.php:120
-msgid "$Projectname Documentation"
-msgstr "$Projectname-documentatie"
+#: ../../Zotlabs/Module/Pubsites.php:33
+msgid "Access Type"
+msgstr "Toegangs-<br/>&nbsp;type"
+
+#: ../../Zotlabs/Module/Pubsites.php:33
+msgid "Registration Policy"
+msgstr "Registratie-<br/>&nbsp;beleid"
+
+#: ../../Zotlabs/Module/Pubsites.php:33
+msgid "Stats"
+msgstr "Stats"
+
+#: ../../Zotlabs/Module/Pubsites.php:33
+msgid "Software"
+msgstr "Software"
+
+#: ../../Zotlabs/Module/Pubsites.php:35 ../../Zotlabs/Module/Ratings.php:97
+#: ../../include/conversation.php:958
+msgid "Ratings"
+msgstr "Beoordelingen"
+
+#: ../../Zotlabs/Module/Pubsites.php:48
+msgid "Rate"
+msgstr "Beoordeel"
+
+#: ../../Zotlabs/Module/Pubsites.php:51 ../../Zotlabs/Module/Locs.php:117
+#: ../../Zotlabs/Module/Profiles.php:477 ../../Zotlabs/Module/Profiles.php:698
+#: ../../Zotlabs/Module/Events.php:467 ../../include/js_strings.php:25
+msgid "Location"
+msgstr "Locatie"
+
+#: ../../Zotlabs/Module/Pubsites.php:59 ../../Zotlabs/Module/Blocks.php:166
+#: ../../Zotlabs/Module/Layouts.php:197 ../../Zotlabs/Module/Webpages.php:246
+#: ../../Zotlabs/Module/Events.php:680 ../../include/page_widgets.php:42
+msgid "View"
+msgstr "Weergeven"
#: ../../Zotlabs/Module/Attach.php:13
msgid "Item not available."
msgstr "Item is niet aanwezig."
-#: ../../Zotlabs/Module/Pdledit.php:18
+#: ../../Zotlabs/Module/Api.php:60 ../../Zotlabs/Module/Api.php:81
+msgid "Authorize application connection"
+msgstr "Geef toestemming voor applicatiekoppeling"
+
+#: ../../Zotlabs/Module/Api.php:61
+msgid "Return to your app and insert this Security Code:"
+msgstr "Ga terug naar je app en voeg deze beveiligingscode in:"
+
+#: ../../Zotlabs/Module/Api.php:71
+msgid "Please login to continue."
+msgstr "Inloggen om verder te kunnen gaan."
+
+#: ../../Zotlabs/Module/Api.php:83
+msgid ""
+"Do you want to authorize this application to access your posts and contacts,"
+" and/or create new posts for you?"
+msgstr "Wil je deze applicatie toestemming geven om jouw berichten en connecties te zien, en/of nieuwe berichten voor jou te plaatsen?"
+
+#: ../../Zotlabs/Module/Ffsapi.php:12
+msgid "Share content from Firefox to $Projectname"
+msgstr "Deel webpagina's vanuit Firefox met "
+
+#: ../../Zotlabs/Module/Ffsapi.php:15
+msgid "Activate the Firefox $Projectname provider"
+msgstr "Activeer de $Projectname-service in Firefox"
+
+#: ../../Zotlabs/Module/Pdledit.php:21
msgid "Layout updated."
msgstr "Lay-out bijgewerkt."
-#: ../../Zotlabs/Module/Pdledit.php:34 ../../Zotlabs/Module/Pdledit.php:61
+#: ../../Zotlabs/Module/Pdledit.php:34 ../../Zotlabs/Module/Chat.php:218
+msgid "Feature disabled."
+msgstr "Functie uitgeschakeld."
+
+#: ../../Zotlabs/Module/Pdledit.php:42 ../../Zotlabs/Module/Pdledit.php:69
msgid "Edit System Page Description"
msgstr "Systeempagina's bewerken"
-#: ../../Zotlabs/Module/Pdledit.php:56
+#: ../../Zotlabs/Module/Pdledit.php:64
msgid "Layout not found."
msgstr "Lay-out niet gevonden."
-#: ../../Zotlabs/Module/Pdledit.php:62
+#: ../../Zotlabs/Module/Pdledit.php:70
msgid "Module Name:"
msgstr "Modulenaam:"
-#: ../../Zotlabs/Module/Pdledit.php:63
+#: ../../Zotlabs/Module/Pdledit.php:71
msgid "Layout Help"
msgstr "Lay-out-hulp"
-#: ../../Zotlabs/Module/Ffsapi.php:12
-msgid "Share content from Firefox to $Projectname"
-msgstr "Deel webpagina's vanuit Firefox met "
-
-#: ../../Zotlabs/Module/Ffsapi.php:15
-msgid "Activate the Firefox $Projectname provider"
-msgstr "Activeer de $Projectname-service in Firefox"
-
#: ../../Zotlabs/Module/Home.php:74 ../../Zotlabs/Module/Home.php:82
#: ../../Zotlabs/Module/Siteinfo.php:48
msgid "$Projectname"
@@ -1999,6 +2807,13 @@ msgstr "Bestand niet gevonden."
msgid "Edit file permissions"
msgstr "Bestandsrechten bewerken"
+#: ../../Zotlabs/Module/Filestorage.php:152
+#: ../../Zotlabs/Module/Photos.php:658 ../../Zotlabs/Module/Photos.php:1047
+#: ../../Zotlabs/Module/Thing.php:313 ../../Zotlabs/Module/Thing.php:363
+#: ../../Zotlabs/Module/Chat.php:234 ../../include/acl_selectors.php:179
+msgid "Permissions"
+msgstr "Permissies"
+
#: ../../Zotlabs/Module/Filestorage.php:159
msgid "Set/edit permissions"
msgstr "Rechten instellen/bewerken"
@@ -2031,6 +2846,487 @@ msgstr "Toon URL van dit bestand"
msgid "Notify your contacts about this file"
msgstr "Jouw connecties over dit bestand berichten"
+#: ../../Zotlabs/Module/Connect.php:61 ../../Zotlabs/Module/Connect.php:109
+msgid "Continue"
+msgstr "Ga verder"
+
+#: ../../Zotlabs/Module/Connect.php:90
+msgid "Premium Channel Setup"
+msgstr "Instellen premiumkanaal "
+
+#: ../../Zotlabs/Module/Connect.php:92
+msgid "Enable premium channel connection restrictions"
+msgstr "Restricties voor connecties van premiumkanaal toestaan"
+
+#: ../../Zotlabs/Module/Connect.php:93
+msgid ""
+"Please enter your restrictions or conditions, such as paypal receipt, usage "
+"guidelines, etc."
+msgstr "Vul je restricties of voorwaarden in, zoals een paypal-afschrift, voorschriften voor leden, enz."
+
+#: ../../Zotlabs/Module/Connect.php:95 ../../Zotlabs/Module/Connect.php:115
+msgid ""
+"This channel may require additional steps or acknowledgement of the "
+"following conditions prior to connecting:"
+msgstr "Dit kanaal kan extra stappen of het accepteren van de volgende voorwaarden vereisen, voordat de connectie wordt geaccepteerd:"
+
+#: ../../Zotlabs/Module/Connect.php:96
+msgid ""
+"Potential connections will then see the following text before proceeding:"
+msgstr "Mogelijke connecties zullen dan de volgende tekst zien voordat ze verder kunnen:"
+
+#: ../../Zotlabs/Module/Connect.php:97 ../../Zotlabs/Module/Connect.php:118
+msgid ""
+"By continuing, I certify that I have complied with any instructions provided"
+" on this page."
+msgstr "Door verder te gaan ga ik automatisch akkoord met alle voorwaarden en aanwijzingen op deze pagina."
+
+#: ../../Zotlabs/Module/Connect.php:106
+msgid "(No specific instructions have been provided by the channel owner.)"
+msgstr "(Er zijn geen speciale voorwaarden en aanwijzingen door de kanaal-eigenaar verstrekt) "
+
+#: ../../Zotlabs/Module/Connect.php:114
+msgid "Restricted or Premium Channel"
+msgstr "Beperkt of premiumkanaal"
+
+#: ../../Zotlabs/Module/Manage.php:136
+#: ../../Zotlabs/Module/New_channel.php:121
+#, php-format
+msgid "You have created %1$.0f of %2$.0f allowed channels."
+msgstr "Je hebt %1$.0f van totaal %2$.0f toegestane kanalen aangemaakt."
+
+#: ../../Zotlabs/Module/Manage.php:143
+msgid "Create a new channel"
+msgstr "Nieuw kanaal aanmaken"
+
+#: ../../Zotlabs/Module/Manage.php:143 ../../Zotlabs/Module/Profiles.php:778
+#: ../../Zotlabs/Module/Chat.php:255
+msgid "Create New"
+msgstr "Nieuwe aanmaken"
+
+#: ../../Zotlabs/Module/Manage.php:164 ../../Zotlabs/Lib/Apps.php:214
+#: ../../include/nav.php:211
+msgid "Channel Manager"
+msgstr "Kanaalbeheer"
+
+#: ../../Zotlabs/Module/Manage.php:165
+msgid "Current Channel"
+msgstr "Huidig kanaal"
+
+#: ../../Zotlabs/Module/Manage.php:167
+msgid "Switch to one of your channels by selecting it."
+msgstr "Activeer een van jouw andere kanalen door er op te klikken."
+
+#: ../../Zotlabs/Module/Manage.php:168
+msgid "Default Channel"
+msgstr "Standaardkanaal"
+
+#: ../../Zotlabs/Module/Manage.php:169
+msgid "Make Default"
+msgstr "Als standaard instellen"
+
+#: ../../Zotlabs/Module/Manage.php:172
+#, php-format
+msgid "%d new messages"
+msgstr "%d nieuwe berichten"
+
+#: ../../Zotlabs/Module/Manage.php:173
+#, php-format
+msgid "%d new introductions"
+msgstr "%d nieuwe connectieverzoeken"
+
+#: ../../Zotlabs/Module/Manage.php:175
+msgid "Delegated Channel"
+msgstr "Uitbesteed kanaal"
+
+#: ../../Zotlabs/Module/Group.php:24
+msgid "Privacy group created."
+msgstr "Privacygroep aangemaakt"
+
+#: ../../Zotlabs/Module/Group.php:30
+msgid "Could not create privacy group."
+msgstr "Kon privacygroep niet aanmaken"
+
+#: ../../Zotlabs/Module/Group.php:42 ../../Zotlabs/Module/Group.php:141
+#: ../../include/items.php:3960
+msgid "Privacy group not found."
+msgstr "Privacygroep niet gevonden"
+
+#: ../../Zotlabs/Module/Group.php:58
+msgid "Privacy group updated."
+msgstr "Privacygroep bijgewerkt"
+
+#: ../../Zotlabs/Module/Group.php:90
+msgid "Create a group of channels."
+msgstr "Privacygroep met kanalen aanmaken"
+
+#: ../../Zotlabs/Module/Group.php:91 ../../Zotlabs/Module/Group.php:184
+msgid "Privacy group name: "
+msgstr "Naam privacygroep: "
+
+#: ../../Zotlabs/Module/Group.php:93 ../../Zotlabs/Module/Group.php:187
+msgid "Members are visible to other channels"
+msgstr "Kanalen in deze privacygroep zijn zichtbaar voor andere kanalen"
+
+#: ../../Zotlabs/Module/Group.php:111
+msgid "Privacy group removed."
+msgstr "Privacygroep verwijderd."
+
+#: ../../Zotlabs/Module/Group.php:113
+msgid "Unable to remove privacy group."
+msgstr "Verwijderen privacygroep mislukt"
+
+#: ../../Zotlabs/Module/Group.php:183
+msgid "Privacy group editor"
+msgstr "Privacygroep bewerken"
+
+#: ../../Zotlabs/Module/Group.php:197
+msgid "Members"
+msgstr "Kanalen"
+
+#: ../../Zotlabs/Module/Group.php:199
+msgid "All Connected Channels"
+msgstr "Alle kanaalconnecties"
+
+#: ../../Zotlabs/Module/Group.php:231
+msgid "Click on a channel to add or remove."
+msgstr "Klik op een kanaal om deze toe te voegen of te verwijderen."
+
+#: ../../Zotlabs/Module/Dreport.php:44
+msgid "Invalid message"
+msgstr "Ongeldig bericht"
+
+#: ../../Zotlabs/Module/Dreport.php:76
+msgid "no results"
+msgstr "geen resultaten"
+
+#: ../../Zotlabs/Module/Dreport.php:91
+msgid "channel sync processed"
+msgstr "kanaalsync verwerkt"
+
+#: ../../Zotlabs/Module/Dreport.php:95
+msgid "queued"
+msgstr "in wachtrij"
+
+#: ../../Zotlabs/Module/Dreport.php:99
+msgid "posted"
+msgstr "verstuurd"
+
+#: ../../Zotlabs/Module/Dreport.php:103
+msgid "accepted for delivery"
+msgstr "geaccepteerd om afgeleverd te worden"
+
+#: ../../Zotlabs/Module/Dreport.php:107
+msgid "updated"
+msgstr "geüpdatet"
+
+#: ../../Zotlabs/Module/Dreport.php:110
+msgid "update ignored"
+msgstr "update genegeerd"
+
+#: ../../Zotlabs/Module/Dreport.php:113
+msgid "permission denied"
+msgstr "toegang geweigerd"
+
+#: ../../Zotlabs/Module/Dreport.php:117
+msgid "recipient not found"
+msgstr "ontvanger niet gevonden"
+
+#: ../../Zotlabs/Module/Dreport.php:120
+msgid "mail recalled"
+msgstr "Privébericht ingetrokken"
+
+#: ../../Zotlabs/Module/Dreport.php:123
+msgid "duplicate mail received"
+msgstr "dubbel privébericht ontvangen"
+
+#: ../../Zotlabs/Module/Dreport.php:126
+msgid "mail delivered"
+msgstr "privébericht afgeleverd"
+
+#: ../../Zotlabs/Module/Dreport.php:146
+#, php-format
+msgid "Delivery report for %1$s"
+msgstr "Afleveringsrapport voor %1$s"
+
+#: ../../Zotlabs/Module/Dreport.php:149
+msgid "Options"
+msgstr "Opties"
+
+#: ../../Zotlabs/Module/Dreport.php:150
+msgid "Redeliver"
+msgstr "Opnieuw afleveren"
+
+#: ../../Zotlabs/Module/Impel.php:41 ../../include/bbcode.php:192
+msgid "webpage"
+msgstr "Webpagina"
+
+#: ../../Zotlabs/Module/Impel.php:46 ../../include/bbcode.php:198
+msgid "block"
+msgstr "blok"
+
+#: ../../Zotlabs/Module/Impel.php:51 ../../include/bbcode.php:195
+msgid "layout"
+msgstr "lay-out"
+
+#: ../../Zotlabs/Module/Impel.php:58 ../../include/bbcode.php:201
+msgid "menu"
+msgstr "menu"
+
+#: ../../Zotlabs/Module/Impel.php:191
+#, php-format
+msgid "%s element installed"
+msgstr "%s onderdeel geïnstalleerd"
+
+#: ../../Zotlabs/Module/Impel.php:194
+#, php-format
+msgid "%s element installation failed"
+msgstr "Installatie %s-element mislukt"
+
+#: ../../Zotlabs/Module/Import_items.php:104
+msgid "Import completed"
+msgstr "Importeren voltooid"
+
+#: ../../Zotlabs/Module/Import_items.php:119
+msgid "Import Items"
+msgstr "Importeer items"
+
+#: ../../Zotlabs/Module/Import_items.php:120
+msgid ""
+"Use this form to import existing posts and content from an export file."
+msgstr "Gebruik dit formulier om bestaande berichten en andere inhoud vanuit een exportbestand te importeren."
+
+#: ../../Zotlabs/Module/Invite.php:29
+msgid "Total invitation limit exceeded."
+msgstr "Limiet voor aantal uitnodigingen overschreden."
+
+#: ../../Zotlabs/Module/Invite.php:53
+#, php-format
+msgid "%s : Not a valid email address."
+msgstr "%s : Geen geldig e-mailadres."
+
+#: ../../Zotlabs/Module/Invite.php:63
+msgid "Please join us on $Projectname"
+msgstr "Uitnodiging voor $Projectname"
+
+#: ../../Zotlabs/Module/Invite.php:74
+msgid "Invitation limit exceeded. Please contact your site administrator."
+msgstr "Limiet voor aantal uitnodigingen overschreden. Neem contact op met je hub-beheerder."
+
+#: ../../Zotlabs/Module/Invite.php:79
+#, php-format
+msgid "%s : Message delivery failed."
+msgstr "%s: Aflevering bericht mislukt."
+
+#: ../../Zotlabs/Module/Invite.php:83
+#, php-format
+msgid "%d message sent."
+msgid_plural "%d messages sent."
+msgstr[0] "%d bericht verzonden."
+msgstr[1] "%d berichten verzonden."
+
+#: ../../Zotlabs/Module/Invite.php:102
+msgid "You have no more invitations available"
+msgstr "Je hebt geen uitnodigingen meer beschikbaar"
+
+#: ../../Zotlabs/Module/Invite.php:133
+msgid "Send invitations"
+msgstr "Uitnodigingen verzenden"
+
+#: ../../Zotlabs/Module/Invite.php:134
+msgid "Enter email addresses, one per line:"
+msgstr "Voer e-mailadressen in, één per regel:"
+
+#: ../../Zotlabs/Module/Invite.php:136
+msgid "Please join my community on $Projectname."
+msgstr "Hierbij nodig ik je uit om mij, en andere vrienden en kennissen, op $Projectname te vergezellen. Lees meer over $Projectname op http://hubzilla.org"
+
+#: ../../Zotlabs/Module/Invite.php:138
+msgid "You will need to supply this invitation code:"
+msgstr "Je moet deze uitnodigingscode opgeven:"
+
+#: ../../Zotlabs/Module/Invite.php:139
+msgid ""
+"1. Register at any $Projectname location (they are all inter-connected)"
+msgstr "1. Registreer je op een willekeurige $Projectname-hub (ze zijn allemaal onderling met elkaar verbonden):"
+
+#: ../../Zotlabs/Module/Invite.php:141
+msgid "2. Enter my $Projectname network address into the site searchbar."
+msgstr "2. Nadat je bent ingelogd en een kanaal hebt aangemaakt kan je mijn $Projectname-kanaaladres in het zoekveld invullen:"
+
+#: ../../Zotlabs/Module/Invite.php:142
+msgid "or visit"
+msgstr "of bezoek"
+
+#: ../../Zotlabs/Module/Invite.php:144
+msgid "3. Click [Connect]"
+msgstr "3. Klik op [+ Verbinden]"
+
+#: ../../Zotlabs/Module/Locs.php:25 ../../Zotlabs/Module/Locs.php:54
+msgid "Location not found."
+msgstr "Locatie niet gevonden."
+
+#: ../../Zotlabs/Module/Locs.php:62
+msgid "Location lookup failed."
+msgstr "Opzoeken locatie mislukt"
+
+#: ../../Zotlabs/Module/Locs.php:66
+msgid ""
+"Please select another location to become primary before removing the primary"
+" location."
+msgstr "Kies eerst een andere primaire locatie alvorens de huidige primaire locatie te verwijderen."
+
+#: ../../Zotlabs/Module/Locs.php:95
+msgid "Syncing locations"
+msgstr "Locaties synchronizeren"
+
+#: ../../Zotlabs/Module/Locs.php:105
+msgid "No locations found."
+msgstr "Geen locaties gevonden."
+
+#: ../../Zotlabs/Module/Locs.php:116
+msgid "Manage Channel Locations"
+msgstr "Kanaallocaties beheren"
+
+#: ../../Zotlabs/Module/Locs.php:119
+msgid "Primary"
+msgstr "Primair"
+
+#: ../../Zotlabs/Module/Locs.php:122
+msgid "Sync Now"
+msgstr "Nu synchroniseren"
+
+#: ../../Zotlabs/Module/Locs.php:123
+msgid "Please wait several minutes between consecutive operations."
+msgstr "Wacht enkele minuten tussen opeenvolgende handelingen."
+
+#: ../../Zotlabs/Module/Locs.php:124
+msgid ""
+"When possible, drop a location by logging into that website/hub and removing"
+" your channel."
+msgstr "Wij adviseren, wanneer dit (nog) mogelijk is, de locatie te verwijderen door op de hub van de kloon in te loggen en het kanaal daar te verwijderen."
+
+#: ../../Zotlabs/Module/Locs.php:125
+msgid "Use this form to drop the location if the hub is no longer operating."
+msgstr "Gebruik dit formulier om de locatie te verwijderen wanneer de hub van de kloon niet meer operationeel is."
+
+#: ../../Zotlabs/Module/Rate.php:156
+msgid "Website:"
+msgstr "Website:"
+
+#: ../../Zotlabs/Module/Rate.php:159
+#, php-format
+msgid "Remote Channel [%s] (not yet known on this site)"
+msgstr "Kanaal op afstand [%s] (nog niet op deze hub bekend)"
+
+#: ../../Zotlabs/Module/Rate.php:160
+msgid "Rating (this information is public)"
+msgstr "Beoordeling (deze informatie is openbaar)"
+
+#: ../../Zotlabs/Module/Rate.php:161
+msgid "Optionally explain your rating (this information is public)"
+msgstr "Verklaar jouw beoordeling (niet verplicht, deze informatie is openbaar)"
+
+#: ../../Zotlabs/Module/Like.php:19
+msgid "Like/Dislike"
+msgstr "Leuk/niet leuk"
+
+#: ../../Zotlabs/Module/Like.php:24
+msgid "This action is restricted to members."
+msgstr "Deze actie kan alleen door $Projectname-leden worden uitgevoerd."
+
+#: ../../Zotlabs/Module/Like.php:25
+msgid ""
+"Please <a href=\"rmagic\">login with your $Projectname ID</a> or <a "
+"href=\"register\">register as a new $Projectname member</a> to continue."
+msgstr "Je dient <a href=\"rmagic\">in te loggen met je $Projectname-account</a> of <a href=\"register\">een nieuw $Projectname-account aan te maken</a> om verder te kunnen gaan."
+
+#: ../../Zotlabs/Module/Like.php:105 ../../Zotlabs/Module/Like.php:131
+#: ../../Zotlabs/Module/Like.php:169
+msgid "Invalid request."
+msgstr "Ongeldig verzoek"
+
+#: ../../Zotlabs/Module/Like.php:117 ../../include/conversation.php:126
+msgid "channel"
+msgstr "kanaal"
+
+#: ../../Zotlabs/Module/Like.php:146
+msgid "thing"
+msgstr "ding"
+
+#: ../../Zotlabs/Module/Like.php:192
+msgid "Channel unavailable."
+msgstr "Kanaal niet beschikbaar."
+
+#: ../../Zotlabs/Module/Like.php:240
+msgid "Previous action reversed."
+msgstr "Vorige actie omgedraaid"
+
+#: ../../Zotlabs/Module/Like.php:370 ../../Zotlabs/Module/Subthread.php:87
+#: ../../Zotlabs/Module/Tagger.php:47 ../../include/text.php:1991
+#: ../../include/conversation.php:120
+msgid "photo"
+msgstr "foto"
+
+#: ../../Zotlabs/Module/Like.php:370 ../../Zotlabs/Module/Subthread.php:87
+#: ../../include/text.php:1997 ../../include/conversation.php:148
+msgid "status"
+msgstr "bericht"
+
+#: ../../Zotlabs/Module/Like.php:372 ../../Zotlabs/Module/Events.php:253
+#: ../../Zotlabs/Module/Tagger.php:51 ../../include/text.php:1994
+#: ../../include/conversation.php:123 ../../include/event.php:961
+msgid "event"
+msgstr "gebeurtenis"
+
+#: ../../Zotlabs/Module/Like.php:419 ../../include/conversation.php:164
+#, php-format
+msgid "%1$s likes %2$s's %3$s"
+msgstr "%1$s vindt %3$s van %2$s leuk"
+
+#: ../../Zotlabs/Module/Like.php:421 ../../include/conversation.php:167
+#, php-format
+msgid "%1$s doesn't like %2$s's %3$s"
+msgstr "%1$s vindt %3$s van %2$s niet leuk"
+
+#: ../../Zotlabs/Module/Like.php:423
+#, php-format
+msgid "%1$s agrees with %2$s's %3$s"
+msgstr "%1$s is het eens met %2$s's %3$s"
+
+#: ../../Zotlabs/Module/Like.php:425
+#, php-format
+msgid "%1$s doesn't agree with %2$s's %3$s"
+msgstr "%1$s is het niet eens met %2$s's %3$s"
+
+#: ../../Zotlabs/Module/Like.php:427
+#, php-format
+msgid "%1$s abstains from a decision on %2$s's %3$s"
+msgstr "%1$s onthoudt zich van een besluit over %2$s's %3$s"
+
+#: ../../Zotlabs/Module/Like.php:429
+#, php-format
+msgid "%1$s is attending %2$s's %3$s"
+msgstr "%1$s is aanwezig op %2$s's %3$s"
+
+#: ../../Zotlabs/Module/Like.php:431
+#, php-format
+msgid "%1$s is not attending %2$s's %3$s"
+msgstr "%1$s is niet aanwezig op %2$s's %3$s"
+
+#: ../../Zotlabs/Module/Like.php:433
+#, php-format
+msgid "%1$s may attend %2$s's %3$s"
+msgstr "%1$s is mogelijk aanwezig op %2$s's %3$s"
+
+#: ../../Zotlabs/Module/Like.php:538
+msgid "Action completed."
+msgstr "Actie voltooid"
+
+#: ../../Zotlabs/Module/Like.php:539
+msgid "Thank you."
+msgstr "Bedankt"
+
#: ../../Zotlabs/Module/Profiles.php:24 ../../Zotlabs/Module/Profiles.php:189
#: ../../Zotlabs/Module/Profiles.php:246 ../../Zotlabs/Module/Profiles.php:625
msgid "Profile not found."
@@ -2104,17 +3400,6 @@ msgstr "Homepage"
msgid "Interests"
msgstr "Interesses"
-#: ../../Zotlabs/Module/Profiles.php:470 ../../Zotlabs/Module/Locs.php:118
-#: ../../Zotlabs/Module/Admin.php:1224
-msgid "Address"
-msgstr "Kanaaladres"
-
-#: ../../Zotlabs/Module/Profiles.php:477 ../../Zotlabs/Module/Profiles.php:698
-#: ../../Zotlabs/Module/Locs.php:117 ../../Zotlabs/Module/Events.php:467
-#: ../../Zotlabs/Module/Pubsites.php:41 ../../include/js_strings.php:25
-msgid "Location"
-msgstr "Locatie"
-
#: ../../Zotlabs/Module/Profiles.php:560
msgid "Profile updated."
msgstr "Profiel bijgewerkt"
@@ -2164,7 +3449,7 @@ msgstr "Dit profiel verwijderen"
msgid "Add profile things"
msgstr "Dingen aan je profiel toevoegen"
-#: ../../Zotlabs/Module/Profiles.php:697 ../../include/conversation.php:1556
+#: ../../Zotlabs/Module/Profiles.php:697 ../../include/conversation.php:1564
#: ../../include/widgets.php:105
msgid "Personal"
msgstr "Persoonlijk"
@@ -2173,7 +3458,7 @@ msgstr "Persoonlijk"
msgid "Relation"
msgstr "Relatie"
-#: ../../Zotlabs/Module/Profiles.php:700 ../../include/datetime.php:48
+#: ../../Zotlabs/Module/Profiles.php:700 ../../include/datetime.php:55
msgid "Miscellaneous"
msgstr "Diversen"
@@ -2313,80 +3598,11 @@ msgstr "Mijn andere kanalen"
msgid "Profile Image"
msgstr "Profielfoto"
-#: ../../Zotlabs/Module/Profiles.php:777 ../../include/nav.php:90
-#: ../../include/channel.php:959
+#: ../../Zotlabs/Module/Profiles.php:777 ../../include/channel.php:959
+#: ../../include/nav.php:91
msgid "Edit Profiles"
msgstr "Bewerk profielen"
-#: ../../Zotlabs/Module/Channel.php:40
-msgid "Posts and comments"
-msgstr "Berichten en reacties"
-
-#: ../../Zotlabs/Module/Channel.php:41
-msgid "Only posts"
-msgstr "Alleen berichten"
-
-#: ../../Zotlabs/Module/Channel.php:101
-msgid "Insufficient permissions. Request redirected to profile page."
-msgstr "Onvoldoende permissies. Doorgestuurd naar profielpagina."
-
-#: ../../Zotlabs/Module/Group.php:24
-msgid "Privacy group created."
-msgstr "Privacygroep aangemaakt"
-
-#: ../../Zotlabs/Module/Group.php:30
-msgid "Could not create privacy group."
-msgstr "Kon privacygroep niet aanmaken"
-
-#: ../../Zotlabs/Module/Group.php:42 ../../Zotlabs/Module/Group.php:141
-#: ../../include/items.php:3904
-msgid "Privacy group not found."
-msgstr "Privacygroep niet gevonden"
-
-#: ../../Zotlabs/Module/Group.php:58
-msgid "Privacy group updated."
-msgstr "Privacygroep bijgewerkt"
-
-#: ../../Zotlabs/Module/Group.php:90
-msgid "Create a group of channels."
-msgstr "Privacygroep met kanalen aanmaken"
-
-#: ../../Zotlabs/Module/Group.php:91 ../../Zotlabs/Module/Group.php:184
-msgid "Privacy group name: "
-msgstr "Naam privacygroep: "
-
-#: ../../Zotlabs/Module/Group.php:93 ../../Zotlabs/Module/Group.php:187
-msgid "Members are visible to other channels"
-msgstr "Kanalen in deze privacygroep zijn zichtbaar voor andere kanalen"
-
-#: ../../Zotlabs/Module/Group.php:111
-msgid "Privacy group removed."
-msgstr "Privacygroep verwijderd."
-
-#: ../../Zotlabs/Module/Group.php:113
-msgid "Unable to remove privacy group."
-msgstr "Verwijderen privacygroep mislukt"
-
-#: ../../Zotlabs/Module/Group.php:183
-msgid "Privacy group editor"
-msgstr "Privacygroep bewerken"
-
-#: ../../Zotlabs/Module/Group.php:197
-msgid "Members"
-msgstr "Kanalen"
-
-#: ../../Zotlabs/Module/Group.php:199
-msgid "All Connected Channels"
-msgstr "Alle kanaalconnecties"
-
-#: ../../Zotlabs/Module/Group.php:231
-msgid "Click on a channel to add or remove."
-msgstr "Klik op een kanaal om deze toe te voegen of te verwijderen."
-
-#: ../../Zotlabs/Module/Mitem.php:28 ../../Zotlabs/Module/Menu.php:144
-msgid "Menu not found."
-msgstr "Menu niet gevonden."
-
#: ../../Zotlabs/Module/Mitem.php:52
msgid "Unable to create element."
msgstr "Niet in staat om onderdeel aan te maken."
@@ -2399,17 +3615,12 @@ msgstr "Menu-onderdeel kan niet worden geüpdatet."
msgid "Unable to add menu element."
msgstr "Menu-onderdeel kan niet worden toegevoegd."
-#: ../../Zotlabs/Module/Mitem.php:120 ../../Zotlabs/Module/Menu.php:166
-#: ../../Zotlabs/Module/Xchan.php:41
-msgid "Not found."
-msgstr "Niet gevonden."
-
#: ../../Zotlabs/Module/Mitem.php:153 ../../Zotlabs/Module/Mitem.php:230
msgid "Menu Item Permissions"
msgstr "Permissies menu-item"
#: ../../Zotlabs/Module/Mitem.php:154 ../../Zotlabs/Module/Mitem.php:231
-#: ../../Zotlabs/Module/Settings.php:1263
+#: ../../Zotlabs/Module/Settings/Channel.php:486
msgid "(click to open/close)"
msgstr "(klik om te openen/sluiten)"
@@ -2509,996 +3720,388 @@ msgstr "Menu-element bewerken"
msgid "Link text"
msgstr "Linktekst"
-#: ../../Zotlabs/Module/Follow.php:34
-msgid "Channel added."
-msgstr "Kanaal toegevoegd."
-
-#: ../../Zotlabs/Module/Import_items.php:104
-msgid "Import completed"
-msgstr "Importeren voltooid"
-
-#: ../../Zotlabs/Module/Import_items.php:119
-msgid "Import Items"
-msgstr "Importeer items"
-
-#: ../../Zotlabs/Module/Import_items.php:120
-msgid ""
-"Use this form to import existing posts and content from an export file."
-msgstr "Gebruik dit formulier om bestaande berichten en andere inhoud vanuit een exportbestand te importeren."
-
-#: ../../Zotlabs/Module/Invite.php:29
-msgid "Total invitation limit exceeded."
-msgstr "Limiet voor aantal uitnodigingen overschreden."
-
-#: ../../Zotlabs/Module/Invite.php:53
-#, php-format
-msgid "%s : Not a valid email address."
-msgstr "%s : Geen geldig e-mailadres."
-
-#: ../../Zotlabs/Module/Invite.php:63
-msgid "Please join us on $Projectname"
-msgstr "Uitnodiging voor $Projectname"
-
-#: ../../Zotlabs/Module/Invite.php:74
-msgid "Invitation limit exceeded. Please contact your site administrator."
-msgstr "Limiet voor aantal uitnodigingen overschreden. Neem contact op met je hub-beheerder."
-
-#: ../../Zotlabs/Module/Invite.php:79
-#, php-format
-msgid "%s : Message delivery failed."
-msgstr "%s: Aflevering bericht mislukt."
-
-#: ../../Zotlabs/Module/Invite.php:83
-#, php-format
-msgid "%d message sent."
-msgid_plural "%d messages sent."
-msgstr[0] "%d bericht verzonden."
-msgstr[1] "%d berichten verzonden."
-
-#: ../../Zotlabs/Module/Invite.php:102
-msgid "You have no more invitations available"
-msgstr "Je hebt geen uitnodigingen meer beschikbaar"
-
-#: ../../Zotlabs/Module/Invite.php:133
-msgid "Send invitations"
-msgstr "Uitnodigingen verzenden"
-
-#: ../../Zotlabs/Module/Invite.php:134
-msgid "Enter email addresses, one per line:"
-msgstr "Voer e-mailadressen in, één per regel:"
-
-#: ../../Zotlabs/Module/Invite.php:136
-msgid "Please join my community on $Projectname."
-msgstr "Hierbij nodig ik je uit om mij, en andere vrienden en kennissen, op $Projectname te vergezellen. Lees meer over $Projectname op http://hubzilla.org"
-
-#: ../../Zotlabs/Module/Invite.php:138
-msgid "You will need to supply this invitation code:"
-msgstr "Je moet deze uitnodigingscode opgeven:"
-
-#: ../../Zotlabs/Module/Invite.php:139
-msgid ""
-"1. Register at any $Projectname location (they are all inter-connected)"
-msgstr "1. Registreer je op een willekeurige $Projectname-hub (ze zijn allemaal onderling met elkaar verbonden):"
-
-#: ../../Zotlabs/Module/Invite.php:141
-msgid "2. Enter my $Projectname network address into the site searchbar."
-msgstr "2. Nadat je bent ingelogd en een kanaal hebt aangemaakt kan je mijn $Projectname-kanaaladres in het zoekveld invullen:"
-
-#: ../../Zotlabs/Module/Invite.php:142
-msgid "or visit"
-msgstr "of bezoek"
-
-#: ../../Zotlabs/Module/Invite.php:144
-msgid "3. Click [Connect]"
-msgstr "3. Klik op [+ Verbinden]"
-
-#: ../../Zotlabs/Module/Locs.php:25 ../../Zotlabs/Module/Locs.php:54
-msgid "Location not found."
-msgstr "Locatie niet gevonden."
-
-#: ../../Zotlabs/Module/Locs.php:62
-msgid "Location lookup failed."
-msgstr "Opzoeken locatie mislukt"
-
-#: ../../Zotlabs/Module/Locs.php:66
-msgid ""
-"Please select another location to become primary before removing the primary"
-" location."
-msgstr "Kies eerst een andere primaire locatie alvorens de huidige primaire locatie te verwijderen."
-
-#: ../../Zotlabs/Module/Locs.php:95
-msgid "Syncing locations"
-msgstr "Locaties synchronizeren"
-
-#: ../../Zotlabs/Module/Locs.php:105
-msgid "No locations found."
-msgstr "Geen locaties gevonden."
-
-#: ../../Zotlabs/Module/Locs.php:116
-msgid "Manage Channel Locations"
-msgstr "Kanaallocaties beheren"
-
-#: ../../Zotlabs/Module/Locs.php:119
-msgid "Primary"
-msgstr "Primair"
-
-#: ../../Zotlabs/Module/Locs.php:120 ../../Zotlabs/Module/Menu.php:113
-msgid "Drop"
-msgstr "Verwijderen"
-
-#: ../../Zotlabs/Module/Locs.php:122
-msgid "Sync Now"
-msgstr "Nu synchroniseren"
-
-#: ../../Zotlabs/Module/Locs.php:123
-msgid "Please wait several minutes between consecutive operations."
-msgstr "Wacht enkele minuten tussen opeenvolgende handelingen."
-
-#: ../../Zotlabs/Module/Locs.php:124
-msgid ""
-"When possible, drop a location by logging into that website/hub and removing"
-" your channel."
-msgstr "Wij adviseren, wanneer dit (nog) mogelijk is, de locatie te verwijderen door op de hub van de kloon in te loggen en het kanaal daar te verwijderen."
-
-#: ../../Zotlabs/Module/Locs.php:125
-msgid "Use this form to drop the location if the hub is no longer operating."
-msgstr "Gebruik dit formulier om de locatie te verwijderen wanneer de hub van de kloon niet meer operationeel is."
-
-#: ../../Zotlabs/Module/Magic.php:71
-msgid "Hub not found."
-msgstr "Hub niet gevonden."
-
-#: ../../Zotlabs/Module/Impel.php:41 ../../include/bbcode.php:192
-msgid "webpage"
-msgstr "Webpagina"
-
-#: ../../Zotlabs/Module/Impel.php:46 ../../include/bbcode.php:198
-msgid "block"
-msgstr "blok"
-
-#: ../../Zotlabs/Module/Impel.php:51 ../../include/bbcode.php:195
-msgid "layout"
-msgstr "lay-out"
-
-#: ../../Zotlabs/Module/Impel.php:58 ../../include/bbcode.php:201
-msgid "menu"
-msgstr "menu"
-
-#: ../../Zotlabs/Module/Impel.php:191
-#, php-format
-msgid "%s element installed"
-msgstr "%s onderdeel geïnstalleerd"
-
-#: ../../Zotlabs/Module/Impel.php:194
-#, php-format
-msgid "%s element installation failed"
-msgstr "Installatie %s-element mislukt"
-
-#: ../../Zotlabs/Module/Events.php:25
-msgid "Calendar entries imported."
-msgstr "Agenda-items geïmporteerd."
-
-#: ../../Zotlabs/Module/Events.php:27
-msgid "No calendar entries found."
-msgstr "Geen agenda-items gevonden."
-
-#: ../../Zotlabs/Module/Events.php:104
-msgid "Event can not end before it has started."
-msgstr "Gebeurtenis kan niet eindigen voordat het is begonnen"
-
-#: ../../Zotlabs/Module/Events.php:106 ../../Zotlabs/Module/Events.php:115
-#: ../../Zotlabs/Module/Events.php:135
-msgid "Unable to generate preview."
-msgstr "Niet in staat om voorvertoning te genereren"
-
-#: ../../Zotlabs/Module/Events.php:113
-msgid "Event title and start time are required."
-msgstr "Titel en begintijd van gebeurtenis zijn vereist."
-
-#: ../../Zotlabs/Module/Events.php:133 ../../Zotlabs/Module/Events.php:258
-msgid "Event not found."
-msgstr "Gebeurtenis niet gevonden"
-
-#: ../../Zotlabs/Module/Events.php:452
-msgid "Edit event title"
-msgstr "Titel bewerken"
-
-#: ../../Zotlabs/Module/Events.php:452
-msgid "Event title"
-msgstr "Titel"
-
-#: ../../Zotlabs/Module/Events.php:454
-msgid "Categories (comma-separated list)"
-msgstr "Categorieën (door komma's gescheiden lijst)"
-
-#: ../../Zotlabs/Module/Events.php:455
-msgid "Edit Category"
-msgstr "Categorie"
-
-#: ../../Zotlabs/Module/Events.php:455
-msgid "Category"
-msgstr "Categorie"
-
-#: ../../Zotlabs/Module/Events.php:458
-msgid "Edit start date and time"
-msgstr "Begindatum en -tijd bewerken"
-
-#: ../../Zotlabs/Module/Events.php:458
-msgid "Start date and time"
-msgstr "Begindatum en -tijd"
-
-#: ../../Zotlabs/Module/Events.php:459 ../../Zotlabs/Module/Events.php:462
-msgid "Finish date and time are not known or not relevant"
-msgstr "Einddatum en -tijd zijn niet bekend of niet van toepassing"
-
-#: ../../Zotlabs/Module/Events.php:461
-msgid "Edit finish date and time"
-msgstr "Einddatum en -tijd bewerken"
-
-#: ../../Zotlabs/Module/Events.php:461
-msgid "Finish date and time"
-msgstr "Einddatum en -tijd"
-
-#: ../../Zotlabs/Module/Events.php:463 ../../Zotlabs/Module/Events.php:464
-msgid "Adjust for viewer timezone"
-msgstr "Aanpassen aan de tijdzone van wie deze gebeurtenis bekijkt"
-
-#: ../../Zotlabs/Module/Events.php:463
-msgid ""
-"Important for events that happen in a particular place. Not practical for "
-"global holidays."
-msgstr "Belangrijk voor gebeurtenissen die op een bepaalde locatie plaatsvinden. Niet praktisch voor wereldwijde feestdagen."
-
-#: ../../Zotlabs/Module/Events.php:465
-msgid "Edit Description"
-msgstr "Omschrijving bewerken"
-
-#: ../../Zotlabs/Module/Events.php:467
-msgid "Edit Location"
-msgstr "Locatie bewerken"
-
-#: ../../Zotlabs/Module/Events.php:470 ../../Zotlabs/Module/Events.php:472
-msgid "Share this event"
-msgstr "Deel deze gebeurtenis"
-
-#: ../../Zotlabs/Module/Events.php:473 ../../Zotlabs/Module/Photos.php:1099
-#: ../../Zotlabs/Module/Webpages.php:224 ../../Zotlabs/Lib/ThreadItem.php:720
-#: ../../include/conversation.php:1205 ../../include/page_widgets.php:43
-msgid "Preview"
-msgstr "Voorvertoning"
-
-#: ../../Zotlabs/Module/Events.php:474 ../../include/conversation.php:1258
-msgid "Permission settings"
-msgstr "Permissies"
-
-#: ../../Zotlabs/Module/Events.php:485
-msgid "Advanced Options"
-msgstr "Geavanceerde opties"
-
-#: ../../Zotlabs/Module/Events.php:597 ../../Zotlabs/Module/Cal.php:259
-msgid "l, F j"
-msgstr "l j F"
-
-#: ../../Zotlabs/Module/Events.php:619
-msgid "Edit event"
-msgstr "Gebeurtenis bewerken"
-
-#: ../../Zotlabs/Module/Events.php:621
-msgid "Delete event"
-msgstr "Gebeurtenis verwijderen"
-
-#: ../../Zotlabs/Module/Events.php:646 ../../Zotlabs/Module/Cal.php:308
-#: ../../include/text.php:1716
-msgid "Link to Source"
-msgstr "Originele locatie"
-
-#: ../../Zotlabs/Module/Events.php:655
-msgid "calendar"
-msgstr "agenda"
-
-#: ../../Zotlabs/Module/Events.php:674 ../../Zotlabs/Module/Cal.php:331
-msgid "Edit Event"
-msgstr "Gebeurtenis bewerken"
-
-#: ../../Zotlabs/Module/Events.php:674 ../../Zotlabs/Module/Cal.php:331
-msgid "Create Event"
-msgstr "Gebeurtenis aanmaken"
-
-#: ../../Zotlabs/Module/Events.php:675 ../../Zotlabs/Module/Events.php:684
-#: ../../Zotlabs/Module/Cal.php:332 ../../Zotlabs/Module/Cal.php:339
-#: ../../Zotlabs/Module/Photos.php:951
-msgid "Previous"
-msgstr "Vorige"
-
-#: ../../Zotlabs/Module/Events.php:676 ../../Zotlabs/Module/Events.php:685
-#: ../../Zotlabs/Module/Setup.php:267 ../../Zotlabs/Module/Cal.php:333
-#: ../../Zotlabs/Module/Cal.php:340 ../../Zotlabs/Module/Photos.php:960
-msgid "Next"
-msgstr "Volgende"
-
-#: ../../Zotlabs/Module/Events.php:677 ../../Zotlabs/Module/Cal.php:334
-msgid "Export"
-msgstr "Exporteren"
-
-#: ../../Zotlabs/Module/Events.php:680 ../../Zotlabs/Module/Blocks.php:166
-#: ../../Zotlabs/Module/Layouts.php:197 ../../Zotlabs/Module/Pubsites.php:47
-#: ../../Zotlabs/Module/Webpages.php:223 ../../include/page_widgets.php:42
-msgid "View"
-msgstr "Weergeven"
-
-#: ../../Zotlabs/Module/Events.php:681
-msgid "Month"
-msgstr "Maand"
-
-#: ../../Zotlabs/Module/Events.php:682
-msgid "Week"
-msgstr "Week"
-
-#: ../../Zotlabs/Module/Events.php:683
-msgid "Day"
-msgstr "Dag"
-
-#: ../../Zotlabs/Module/Events.php:686 ../../Zotlabs/Module/Cal.php:341
-msgid "Today"
-msgstr "Vandaag"
-
-#: ../../Zotlabs/Module/Events.php:717
-msgid "Event removed"
-msgstr "Gebeurtenis verwijderd"
-
-#: ../../Zotlabs/Module/Events.php:720
-msgid "Failed to remove event"
-msgstr "Verwijderen gebeurtenis mislukt"
-
-#: ../../Zotlabs/Module/Manage.php:136
-#: ../../Zotlabs/Module/New_channel.php:121
-#, php-format
-msgid "You have created %1$.0f of %2$.0f allowed channels."
-msgstr "Je hebt %1$.0f van totaal %2$.0f toegestane kanalen aangemaakt."
-
-#: ../../Zotlabs/Module/Manage.php:143
-msgid "Create a new channel"
-msgstr "Nieuw kanaal aanmaken"
-
-#: ../../Zotlabs/Module/Manage.php:164 ../../Zotlabs/Lib/Apps.php:214
-#: ../../include/nav.php:210
-msgid "Channel Manager"
-msgstr "Kanaalbeheer"
-
-#: ../../Zotlabs/Module/Manage.php:165
-msgid "Current Channel"
-msgstr "Huidig kanaal"
-
-#: ../../Zotlabs/Module/Manage.php:167
-msgid "Switch to one of your channels by selecting it."
-msgstr "Activeer een van jouw andere kanalen door er op te klikken."
-
-#: ../../Zotlabs/Module/Manage.php:168
-msgid "Default Channel"
-msgstr "Standaardkanaal"
-
-#: ../../Zotlabs/Module/Manage.php:169
-msgid "Make Default"
-msgstr "Als standaard instellen"
-
-#: ../../Zotlabs/Module/Manage.php:172
-#, php-format
-msgid "%d new messages"
-msgstr "%d nieuwe berichten"
-
-#: ../../Zotlabs/Module/Manage.php:173
-#, php-format
-msgid "%d new introductions"
-msgstr "%d nieuwe connectieverzoeken"
-
-#: ../../Zotlabs/Module/Manage.php:175
-msgid "Delegated Channel"
-msgstr "Uitbesteed kanaal"
-
-#: ../../Zotlabs/Module/Lostpass.php:19
-msgid "No valid account found."
-msgstr "Geen geldige account gevonden."
-
-#: ../../Zotlabs/Module/Lostpass.php:33
-msgid "Password reset request issued. Check your email."
-msgstr "Het verzoek om je wachtwoord opnieuw in te stellen is behandeld. Controleer je e-mail."
-
-#: ../../Zotlabs/Module/Lostpass.php:39 ../../Zotlabs/Module/Lostpass.php:107
-#, php-format
-msgid "Site Member (%s)"
-msgstr "Lid van hub (%s)"
-
-#: ../../Zotlabs/Module/Lostpass.php:44
-#, php-format
-msgid "Password reset requested at %s"
-msgstr "Verzoek tot het opnieuw instellen van een wachtwoord op %s is ingediend"
-
-#: ../../Zotlabs/Module/Lostpass.php:67
-msgid ""
-"Request could not be verified. (You may have previously submitted it.) "
-"Password reset failed."
-msgstr "Het verzoek kon niet worden geverifieerd. (Mogelijk heb je al eerder een verzoek ingediend.) Opnieuw instellen van wachtwoord is mislukt."
-
-#: ../../Zotlabs/Module/Lostpass.php:90 ../../boot.php:1721
-msgid "Password Reset"
-msgstr "Wachtwoord vergeten?"
-
-#: ../../Zotlabs/Module/Lostpass.php:91
-msgid "Your password has been reset as requested."
-msgstr "Jouw wachtwoord is opnieuw ingesteld zoals je had verzocht."
-
-#: ../../Zotlabs/Module/Lostpass.php:92
-msgid "Your new password is"
-msgstr "Jouw nieuwe wachtwoord is"
-
-#: ../../Zotlabs/Module/Lostpass.php:93
-msgid "Save or copy your new password - and then"
-msgstr "Kopieer of sla je nieuwe wachtwoord op - en"
-
-#: ../../Zotlabs/Module/Lostpass.php:94
-msgid "click here to login"
-msgstr "klik dan hier om in te loggen"
-
-#: ../../Zotlabs/Module/Lostpass.php:95
-msgid ""
-"Your password may be changed from the <em>Settings</em> page after "
-"successful login."
-msgstr "Jouw wachtwoord kan worden veranderd onder <em>instellingen</em>, nadat je succesvol bent ingelogd."
-
-#: ../../Zotlabs/Module/Lostpass.php:112
-#, php-format
-msgid "Your password has changed at %s"
-msgstr "Jouw wachtwoord op %s is veranderd"
-
-#: ../../Zotlabs/Module/Lostpass.php:127
-msgid "Forgot your Password?"
-msgstr "Wachtwoord vergeten?"
-
-#: ../../Zotlabs/Module/Lostpass.php:128
-msgid ""
-"Enter your email address and submit to have your password reset. Then check "
-"your email for further instructions."
-msgstr "Voer je e-mailadres in en verstuur deze om je wachtwoord opnieuw in te stellen. Controleer hierna hier je e-mail voor verdere instructies."
-
-#: ../../Zotlabs/Module/Lostpass.php:129
-msgid "Email Address"
-msgstr "E-mailadres"
-
-#: ../../Zotlabs/Module/Lostpass.php:130
-msgid "Reset"
-msgstr "Opnieuw instellen"
-
-#: ../../Zotlabs/Module/Mood.php:67 ../../include/conversation.php:260
-#, php-format
-msgctxt "mood"
-msgid "%1$s is %2$s"
-msgstr "%1$s is %2$s"
-
-#: ../../Zotlabs/Module/Mood.php:135 ../../Zotlabs/Lib/Apps.php:227
-msgid "Mood"
-msgstr "Stemming"
-
-#: ../../Zotlabs/Module/Mood.php:136
-msgid "Set your current mood and tell your friends"
-msgstr "Noteer je huidige stemming en toon het aan je connecties"
-
-#: ../../Zotlabs/Module/Menu.php:49
-msgid "Unable to update menu."
-msgstr "Niet in staat om menu aan te passen"
-
-#: ../../Zotlabs/Module/Menu.php:60
-msgid "Unable to create menu."
-msgstr "Niet in staat om menu aan te maken."
-
-#: ../../Zotlabs/Module/Menu.php:98 ../../Zotlabs/Module/Menu.php:110
-msgid "Menu Name"
-msgstr "Menunaam"
-
-#: ../../Zotlabs/Module/Menu.php:98
-msgid "Unique name (not visible on webpage) - required"
-msgstr "Unieke naam vereist (niet zichtbaar op webpagina)"
-
-#: ../../Zotlabs/Module/Menu.php:99 ../../Zotlabs/Module/Menu.php:111
-msgid "Menu Title"
-msgstr "Menutitel"
-
-#: ../../Zotlabs/Module/Menu.php:99
-msgid "Visible on webpage - leave empty for no title"
-msgstr "Zichtbaar op webpagina (leeg laten voor geen titel)"
-
-#: ../../Zotlabs/Module/Menu.php:100
-msgid "Allow Bookmarks"
-msgstr "Bladwijzers toestaan"
-
-#: ../../Zotlabs/Module/Menu.php:100 ../../Zotlabs/Module/Menu.php:157
-msgid "Menu may be used to store saved bookmarks"
-msgstr "Menu kan gebruikt worden om bladwijzers in op te slaan"
-
-#: ../../Zotlabs/Module/Menu.php:101 ../../Zotlabs/Module/Menu.php:159
-msgid "Submit and proceed"
-msgstr "Opslaan en doorgaan"
-
-#: ../../Zotlabs/Module/Menu.php:107 ../../include/text.php:2263
-msgid "Menus"
-msgstr "Menu's"
-
-#: ../../Zotlabs/Module/Menu.php:114 ../../Zotlabs/Module/Blocks.php:157
-#: ../../Zotlabs/Module/Layouts.php:190 ../../Zotlabs/Module/Webpages.php:228
-#: ../../include/page_widgets.php:47
-msgid "Created"
-msgstr "Aangemaakt"
-
-#: ../../Zotlabs/Module/Menu.php:115 ../../Zotlabs/Module/Blocks.php:158
-#: ../../Zotlabs/Module/Layouts.php:191 ../../Zotlabs/Module/Webpages.php:229
-#: ../../include/page_widgets.php:48
-msgid "Edited"
-msgstr "Bewerkt"
-
-#: ../../Zotlabs/Module/Menu.php:117
-msgid "Bookmarks allowed"
-msgstr "Bladwijzers toegestaan"
-
-#: ../../Zotlabs/Module/Menu.php:119
-msgid "Delete this menu"
-msgstr "Menu verwijderen"
-
-#: ../../Zotlabs/Module/Menu.php:120 ../../Zotlabs/Module/Menu.php:154
-msgid "Edit menu contents"
-msgstr "Bewerk de inhoud van het menu"
-
-#: ../../Zotlabs/Module/Menu.php:121
-msgid "Edit this menu"
-msgstr "Dit menu bewerken"
-
-#: ../../Zotlabs/Module/Menu.php:136
-msgid "Menu could not be deleted."
-msgstr "Menu kon niet verwijderd worden."
-
-#: ../../Zotlabs/Module/Menu.php:149
-msgid "Edit Menu"
-msgstr "Menu bewerken"
-
-#: ../../Zotlabs/Module/Menu.php:153
-msgid "Add or remove entries to this menu"
-msgstr "Items aan dit menu toevoegen of verwijder"
-
-#: ../../Zotlabs/Module/Menu.php:155
-msgid "Menu name"
-msgstr "Naam van menu"
-
-#: ../../Zotlabs/Module/Menu.php:155
-msgid "Must be unique, only seen by you"
-msgstr "Moet uniek zijn en is alleen zichtbaar voor jou."
-
-#: ../../Zotlabs/Module/Menu.php:156
-msgid "Menu title"
-msgstr "Titel van menu"
-
-#: ../../Zotlabs/Module/Menu.php:156
-msgid "Menu title as seen by others"
-msgstr "Titel van menu zoals anderen dat zien."
-
-#: ../../Zotlabs/Module/Menu.php:157
-msgid "Allow bookmarks"
-msgstr "Bladwijzers toestaan"
-
-#: ../../Zotlabs/Module/Notify.php:57
-#: ../../Zotlabs/Module/Notifications.php:98
-msgid "No more system notifications."
-msgstr "Geen systeemnotificaties meer."
-
-#: ../../Zotlabs/Module/Notify.php:61
-#: ../../Zotlabs/Module/Notifications.php:102
-msgid "System Notifications"
-msgstr "Systeemnotificaties"
-
-#: ../../Zotlabs/Module/Match.php:26
-msgid "Profile Match"
-msgstr "Profielovereenkomst"
-
-#: ../../Zotlabs/Module/Match.php:35
-msgid "No keywords to match. Please add keywords to your default profile."
-msgstr "Je hebt geen trefwoorden waarmee overeenkomsten gevonden kunnen worden. Voeg enkele trefwoorden aan je standaardprofiel toe."
-
-#: ../../Zotlabs/Module/Match.php:67
-msgid "is interested in:"
-msgstr "is geïnteresseerd in:"
-
-#: ../../Zotlabs/Module/Match.php:74
-msgid "No matches"
-msgstr "Geen overeenkomsten"
-
-#: ../../Zotlabs/Module/Probe.php:28 ../../Zotlabs/Module/Probe.php:32
-#, php-format
-msgid "Fetching URL returns error: %1$s"
-msgstr "Ophalen URL gaf een foutmelding terug: %1$s"
-
-#: ../../Zotlabs/Module/Setup.php:179
+#: ../../Zotlabs/Module/Setup.php:184
msgid "$Projectname Server - Setup"
msgstr "$Projectname Hub - Setup"
-#: ../../Zotlabs/Module/Setup.php:183
+#: ../../Zotlabs/Module/Setup.php:188
msgid "Could not connect to database."
msgstr "Could not connect to database."
-#: ../../Zotlabs/Module/Setup.php:187
+#: ../../Zotlabs/Module/Setup.php:192
msgid ""
"Could not connect to specified site URL. Possible SSL certificate or DNS "
"issue."
msgstr "Could not connect to specified hub URL. Possible SSL certificate or DNS issue."
-#: ../../Zotlabs/Module/Setup.php:194
+#: ../../Zotlabs/Module/Setup.php:199
msgid "Could not create table."
msgstr "Could not create table."
-#: ../../Zotlabs/Module/Setup.php:199
+#: ../../Zotlabs/Module/Setup.php:204
msgid "Your site database has been installed."
msgstr "Your hub database has been installed."
-#: ../../Zotlabs/Module/Setup.php:203
+#: ../../Zotlabs/Module/Setup.php:208
msgid ""
"You may need to import the file \"install/schema_xxx.sql\" manually using a "
"database client."
msgstr "You may need to import the file \"install/schema_xxx.sql\" manually using a database client."
-#: ../../Zotlabs/Module/Setup.php:204 ../../Zotlabs/Module/Setup.php:266
-#: ../../Zotlabs/Module/Setup.php:722
+#: ../../Zotlabs/Module/Setup.php:209 ../../Zotlabs/Module/Setup.php:271
+#: ../../Zotlabs/Module/Setup.php:734
msgid "Please see the file \"install/INSTALL.txt\"."
msgstr "Please see the file \"install/INSTALL.txt\"."
-#: ../../Zotlabs/Module/Setup.php:263
+#: ../../Zotlabs/Module/Setup.php:268
msgid "System check"
msgstr "System check"
-#: ../../Zotlabs/Module/Setup.php:268
+#: ../../Zotlabs/Module/Setup.php:272 ../../Zotlabs/Module/Photos.php:949
+#: ../../Zotlabs/Module/Cal.php:333 ../../Zotlabs/Module/Cal.php:340
+#: ../../Zotlabs/Module/Events.php:676 ../../Zotlabs/Module/Events.php:685
+msgid "Next"
+msgstr "Volgende"
+
+#: ../../Zotlabs/Module/Setup.php:273
msgid "Check again"
msgstr "Check again"
-#: ../../Zotlabs/Module/Setup.php:290
+#: ../../Zotlabs/Module/Setup.php:295
msgid "Database connection"
msgstr "Database connection"
-#: ../../Zotlabs/Module/Setup.php:291
+#: ../../Zotlabs/Module/Setup.php:296
msgid ""
"In order to install $Projectname we need to know how to connect to your "
"database."
msgstr "In order to install $Projectname we need to know how to connect to your database."
-#: ../../Zotlabs/Module/Setup.php:292
+#: ../../Zotlabs/Module/Setup.php:297
msgid ""
"Please contact your hosting provider or site administrator if you have "
"questions about these settings."
msgstr "Please contact your hosting provider or server administrator if you have questions about these settings."
-#: ../../Zotlabs/Module/Setup.php:293
+#: ../../Zotlabs/Module/Setup.php:298
msgid ""
"The database you specify below should already exist. If it does not, please "
"create it before continuing."
msgstr "The database you specify below should already exist. If it does not, please create it before continuing."
-#: ../../Zotlabs/Module/Setup.php:297
+#: ../../Zotlabs/Module/Setup.php:302
msgid "Database Server Name"
msgstr "Database Server Name"
-#: ../../Zotlabs/Module/Setup.php:297
+#: ../../Zotlabs/Module/Setup.php:302
msgid "Default is 127.0.0.1"
msgstr "Default is 127.0.0.1"
-#: ../../Zotlabs/Module/Setup.php:298
+#: ../../Zotlabs/Module/Setup.php:303
msgid "Database Port"
msgstr "Database Port"
-#: ../../Zotlabs/Module/Setup.php:298
+#: ../../Zotlabs/Module/Setup.php:303
msgid "Communication port number - use 0 for default"
msgstr "Communication port number - use 0 for default"
-#: ../../Zotlabs/Module/Setup.php:299
+#: ../../Zotlabs/Module/Setup.php:304
msgid "Database Login Name"
msgstr "Database Login Name"
-#: ../../Zotlabs/Module/Setup.php:300
+#: ../../Zotlabs/Module/Setup.php:305
msgid "Database Login Password"
msgstr "Database Login Password"
-#: ../../Zotlabs/Module/Setup.php:301
+#: ../../Zotlabs/Module/Setup.php:306
msgid "Database Name"
msgstr "Database Name"
-#: ../../Zotlabs/Module/Setup.php:302
+#: ../../Zotlabs/Module/Setup.php:307
msgid "Database Type"
msgstr "Database Type"
-#: ../../Zotlabs/Module/Setup.php:304 ../../Zotlabs/Module/Setup.php:344
+#: ../../Zotlabs/Module/Setup.php:309 ../../Zotlabs/Module/Setup.php:355
msgid "Site administrator email address"
msgstr "Hub administrator email address"
-#: ../../Zotlabs/Module/Setup.php:304 ../../Zotlabs/Module/Setup.php:344
+#: ../../Zotlabs/Module/Setup.php:309 ../../Zotlabs/Module/Setup.php:355
msgid ""
"Your account email address must match this in order to use the web admin "
"panel."
msgstr "Your account email address must match this in order to use the web admin panel."
-#: ../../Zotlabs/Module/Setup.php:305 ../../Zotlabs/Module/Setup.php:346
+#: ../../Zotlabs/Module/Setup.php:310 ../../Zotlabs/Module/Setup.php:357
msgid "Website URL"
msgstr "Hub URL"
-#: ../../Zotlabs/Module/Setup.php:305 ../../Zotlabs/Module/Setup.php:346
+#: ../../Zotlabs/Module/Setup.php:310 ../../Zotlabs/Module/Setup.php:357
msgid "Please use SSL (https) URL if available."
msgstr "Please use SSL (https) URL if available."
-#: ../../Zotlabs/Module/Setup.php:306 ../../Zotlabs/Module/Setup.php:349
+#: ../../Zotlabs/Module/Setup.php:311 ../../Zotlabs/Module/Setup.php:361
msgid "Please select a default timezone for your website"
msgstr "Please select a default timezone for your hub"
-#: ../../Zotlabs/Module/Setup.php:333
+#: ../../Zotlabs/Module/Setup.php:344
msgid "Site settings"
msgstr "Hub settings"
-#: ../../Zotlabs/Module/Setup.php:347
-msgid "Enable $Projectname <strong>advanced</strong> features?"
-msgstr "Enable $Projectname <strong>advanced</strong> features?"
-
-#: ../../Zotlabs/Module/Setup.php:347
-msgid ""
-"Some advanced features, while useful - may be best suited for technically "
-"proficient audiences"
-msgstr "Some advanced features, while useful - may be best suited for technically proficient audiences"
-
-#: ../../Zotlabs/Module/Setup.php:388
+#: ../../Zotlabs/Module/Setup.php:400
msgid "PHP version 5.5 or greater is required."
msgstr "PHP version 5.5 or greater is required."
-#: ../../Zotlabs/Module/Setup.php:389
+#: ../../Zotlabs/Module/Setup.php:401
msgid "PHP version"
msgstr "PHP version"
-#: ../../Zotlabs/Module/Setup.php:404
+#: ../../Zotlabs/Module/Setup.php:416
msgid "Could not find a command line version of PHP in the web server PATH."
msgstr "Could not find a command line version of PHP in the web server PATH."
-#: ../../Zotlabs/Module/Setup.php:405
+#: ../../Zotlabs/Module/Setup.php:417
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 "If you don't have a command line version of PHP installed on server, you will not be able to run background polling via cron."
-#: ../../Zotlabs/Module/Setup.php:409
+#: ../../Zotlabs/Module/Setup.php:421
msgid "PHP executable path"
msgstr "PHP executable path"
-#: ../../Zotlabs/Module/Setup.php:409
+#: ../../Zotlabs/Module/Setup.php:421
msgid ""
"Enter full path to php executable. You can leave this blank to continue the "
"installation."
msgstr "Enter full path to php executable. You can leave this blank to continue the installation."
-#: ../../Zotlabs/Module/Setup.php:414
+#: ../../Zotlabs/Module/Setup.php:426
msgid "Command line PHP"
msgstr "Command line PHP"
-#: ../../Zotlabs/Module/Setup.php:423
+#: ../../Zotlabs/Module/Setup.php:435
msgid ""
"The command line version of PHP on your system does not have "
"\"register_argc_argv\" enabled."
msgstr "The command line version of PHP on your system does not have \"register_argc_argv\" enabled."
-#: ../../Zotlabs/Module/Setup.php:424
+#: ../../Zotlabs/Module/Setup.php:436
msgid "This is required for message delivery to work."
msgstr "This is required for message delivery to work."
-#: ../../Zotlabs/Module/Setup.php:427
+#: ../../Zotlabs/Module/Setup.php:439
msgid "PHP register_argc_argv"
msgstr "PHP register_argc_argv"
-#: ../../Zotlabs/Module/Setup.php:445
+#: ../../Zotlabs/Module/Setup.php:457
#, 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 "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."
-#: ../../Zotlabs/Module/Setup.php:450
+#: ../../Zotlabs/Module/Setup.php:462
msgid "You can adjust these settings in the servers php.ini."
msgstr "You can adjust these settings in the servers php.ini."
-#: ../../Zotlabs/Module/Setup.php:452
+#: ../../Zotlabs/Module/Setup.php:464
msgid "PHP upload limits"
msgstr "PHP upload limits"
-#: ../../Zotlabs/Module/Setup.php:475
+#: ../../Zotlabs/Module/Setup.php:487
msgid ""
"Error: the \"openssl_pkey_new\" function on this system is not able to "
"generate encryption keys"
msgstr "Error: the \"openssl_pkey_new\" function on this system is not able to generate encryption keys"
-#: ../../Zotlabs/Module/Setup.php:476
+#: ../../Zotlabs/Module/Setup.php:488
msgid ""
"If running under Windows, please see "
"\"http://www.php.net/manual/en/openssl.installation.php\"."
msgstr "If running under Windows, please see \"http://www.php.net/manual/en/openssl.installation.php\"."
-#: ../../Zotlabs/Module/Setup.php:479
+#: ../../Zotlabs/Module/Setup.php:491
msgid "Generate encryption keys"
msgstr "Generate encryption keys"
-#: ../../Zotlabs/Module/Setup.php:491
+#: ../../Zotlabs/Module/Setup.php:503
msgid "libCurl PHP module"
msgstr "libCurl PHP module"
-#: ../../Zotlabs/Module/Setup.php:492
+#: ../../Zotlabs/Module/Setup.php:504
msgid "GD graphics PHP module"
msgstr "GD graphics PHP module"
-#: ../../Zotlabs/Module/Setup.php:493
+#: ../../Zotlabs/Module/Setup.php:505
msgid "OpenSSL PHP module"
msgstr "OpenSSL PHP module"
-#: ../../Zotlabs/Module/Setup.php:494
+#: ../../Zotlabs/Module/Setup.php:506
msgid "mysqli or postgres PHP module"
msgstr "mysqli or postgres PHP module"
-#: ../../Zotlabs/Module/Setup.php:495
+#: ../../Zotlabs/Module/Setup.php:507
msgid "mb_string PHP module"
msgstr "mb_string PHP module"
-#: ../../Zotlabs/Module/Setup.php:496
+#: ../../Zotlabs/Module/Setup.php:508
msgid "xml PHP module"
msgstr "xml PHP module"
-#: ../../Zotlabs/Module/Setup.php:500 ../../Zotlabs/Module/Setup.php:502
+#: ../../Zotlabs/Module/Setup.php:512 ../../Zotlabs/Module/Setup.php:514
msgid "Apache mod_rewrite module"
msgstr "Apache mod_rewrite module"
-#: ../../Zotlabs/Module/Setup.php:500
+#: ../../Zotlabs/Module/Setup.php:512
msgid ""
"Error: Apache webserver mod-rewrite module is required but not installed."
msgstr "Error: Apache webserver mod-rewrite module is required but not installed."
-#: ../../Zotlabs/Module/Setup.php:506 ../../Zotlabs/Module/Setup.php:509
+#: ../../Zotlabs/Module/Setup.php:518 ../../Zotlabs/Module/Setup.php:521
msgid "proc_open"
msgstr "proc_open"
-#: ../../Zotlabs/Module/Setup.php:506
+#: ../../Zotlabs/Module/Setup.php:518
msgid ""
"Error: proc_open is required but is either not installed or has been "
"disabled in php.ini"
msgstr "Error: proc_open is required but is either not installed or has been disabled in php.ini"
-#: ../../Zotlabs/Module/Setup.php:514
+#: ../../Zotlabs/Module/Setup.php:526
msgid "Error: libCURL PHP module required but not installed."
msgstr "Error: libCURL PHP module required but not installed."
-#: ../../Zotlabs/Module/Setup.php:518
+#: ../../Zotlabs/Module/Setup.php:530
msgid ""
"Error: GD graphics PHP module with JPEG support required but not installed."
msgstr "Error: GD graphics PHP module with JPEG support required but not installed."
-#: ../../Zotlabs/Module/Setup.php:522
+#: ../../Zotlabs/Module/Setup.php:534
msgid "Error: openssl PHP module required but not installed."
msgstr "Error: openssl PHP module required but not installed."
-#: ../../Zotlabs/Module/Setup.php:526
+#: ../../Zotlabs/Module/Setup.php:538
msgid ""
"Error: mysqli or postgres PHP module required but neither are installed."
msgstr "Error: mysqli or postgres PHP module required but neither are installed."
-#: ../../Zotlabs/Module/Setup.php:530
+#: ../../Zotlabs/Module/Setup.php:542
msgid "Error: mb_string PHP module required but not installed."
msgstr "Error: mb_string PHP module required but not installed."
-#: ../../Zotlabs/Module/Setup.php:534
+#: ../../Zotlabs/Module/Setup.php:546
msgid "Error: xml PHP module required for DAV but not installed."
msgstr "Error: xml PHP module required for DAV but not installed."
-#: ../../Zotlabs/Module/Setup.php:552
+#: ../../Zotlabs/Module/Setup.php:564
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 "The web installer needs to be able to create a file called \".htconfig.php\" in the top folder of your web server and it is unable to do so."
-#: ../../Zotlabs/Module/Setup.php:553
+#: ../../Zotlabs/Module/Setup.php:565
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 "This is most often a permission setting, as the web server may not be able to write files in your folder - even if you can."
-#: ../../Zotlabs/Module/Setup.php:554
+#: ../../Zotlabs/Module/Setup.php:566
msgid ""
"At the end of this procedure, we will give you a text to save in a file "
"named .htconfig.php in your Red top folder."
msgstr "At the end of this procedure, we will give you a text to save in a file named .htconfig.php in your Red top folder."
-#: ../../Zotlabs/Module/Setup.php:555
+#: ../../Zotlabs/Module/Setup.php:567
msgid ""
"You can alternatively skip this procedure and perform a manual installation."
" Please see the file \"install/INSTALL.txt\" for instructions."
msgstr "You can alternatively skip this procedure and perform a manual installation. Please see the file \"install/INSTALL.txt\" for instructions."
-#: ../../Zotlabs/Module/Setup.php:558
+#: ../../Zotlabs/Module/Setup.php:570
msgid ".htconfig.php is writable"
msgstr ".htconfig.php is writable"
-#: ../../Zotlabs/Module/Setup.php:572
+#: ../../Zotlabs/Module/Setup.php:584
msgid ""
"Red uses the Smarty3 template engine to render its web views. Smarty3 "
"compiles templates to PHP to speed up rendering."
msgstr "Red uses the Smarty3 template engine to render its web views. Smarty3 compiles templates to PHP to speed up rendering."
-#: ../../Zotlabs/Module/Setup.php:573
+#: ../../Zotlabs/Module/Setup.php:585
#, 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 "In order to store these compiled templates, the web server needs to have write access to the directory %s under the top level web folder."
-#: ../../Zotlabs/Module/Setup.php:574 ../../Zotlabs/Module/Setup.php:595
+#: ../../Zotlabs/Module/Setup.php:586 ../../Zotlabs/Module/Setup.php:607
msgid ""
"Please ensure that the user that your web server runs as (e.g. www-data) has"
" write access to this folder."
msgstr "Please ensure that the user that your web server runs as (e.g. www-data) has write access to this folder."
-#: ../../Zotlabs/Module/Setup.php:575
+#: ../../Zotlabs/Module/Setup.php:587
#, 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 "Note: as a security measure, you should give the web server write access to %s only--not the template files (.tpl) that it contains."
-#: ../../Zotlabs/Module/Setup.php:578
+#: ../../Zotlabs/Module/Setup.php:590
#, php-format
msgid "%s is writable"
msgstr "%s is writable"
-#: ../../Zotlabs/Module/Setup.php:594
+#: ../../Zotlabs/Module/Setup.php:606
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 Red top "
"level folder"
msgstr "This software uses the store directory to save uploaded files. The web server needs to have write access to the store directory under the Red top level folder"
-#: ../../Zotlabs/Module/Setup.php:598
+#: ../../Zotlabs/Module/Setup.php:610
msgid "store is writable"
msgstr "store is writable"
-#: ../../Zotlabs/Module/Setup.php:631
+#: ../../Zotlabs/Module/Setup.php:643
msgid ""
"SSL certificate cannot be validated. Fix certificate or disable https access"
" to this site."
msgstr "SSL certificate cannot be validated. Fix certificate or disable https access to this hub."
-#: ../../Zotlabs/Module/Setup.php:632
+#: ../../Zotlabs/Module/Setup.php:644
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 "If you have https access to your hub or allow connections to TCP port 443 (the https: port), you MUST use a browser-valid certificate. You MUST NOT use self-signed certificates!"
-#: ../../Zotlabs/Module/Setup.php:633
+#: ../../Zotlabs/Module/Setup.php:645
msgid ""
"This restriction is incorporated because public posts from you may for "
"example contain references to images on your own hub."
msgstr "This restriction is incorporated because public posts from you may for example contain references to images on your own hub."
-#: ../../Zotlabs/Module/Setup.php:634
+#: ../../Zotlabs/Module/Setup.php:646
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 "If your certificate is not recognized, members of other hubs (who may themselves have valid certificates) will get a warning message on their own hub complaining about security issues."
-#: ../../Zotlabs/Module/Setup.php:635
+#: ../../Zotlabs/Module/Setup.php:647
msgid ""
"This can cause usability issues elsewhere (not just on your own site) so we "
"must insist on this requirement."
msgstr "This can cause usability issues elsewhere (not just on your own hub) so we must insist on this requirement."
-#: ../../Zotlabs/Module/Setup.php:636
+#: ../../Zotlabs/Module/Setup.php:648
msgid ""
"Providers are available that issue free certificates which are browser-"
"valid."
msgstr "Providers are available that issue free certificates which are browser-valid."
-#: ../../Zotlabs/Module/Setup.php:638
+#: ../../Zotlabs/Module/Setup.php:650
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. "
@@ -3506,1116 +4109,577 @@ msgid ""
"server communications."
msgstr "If you are confident that the certificate is valid and signed by a trusted authority, check to see if you have failed to install an intermediate cert. These are not normally required by browsers, but are required for server-to-server communications."
-#: ../../Zotlabs/Module/Setup.php:641
+#: ../../Zotlabs/Module/Setup.php:653
msgid "SSL certificate validation"
msgstr "SSL certificate validation"
-#: ../../Zotlabs/Module/Setup.php:647
+#: ../../Zotlabs/Module/Setup.php:659
msgid ""
"Url rewrite in .htaccess is not working. Check your server "
"configuration.Test: "
msgstr "Url rewrite in .htaccess is not working. Check your server configuration.Test: "
-#: ../../Zotlabs/Module/Setup.php:650
+#: ../../Zotlabs/Module/Setup.php:662
msgid "Url rewrite is working"
msgstr "Url rewrite is working"
-#: ../../Zotlabs/Module/Setup.php:659
+#: ../../Zotlabs/Module/Setup.php:671
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 "The database configuration file \".htconfig.php\" could not be written. Please use the enclosed text to create a configuration file in your web server root."
-#: ../../Zotlabs/Module/Setup.php:683
+#: ../../Zotlabs/Module/Setup.php:695
msgid "Errors encountered creating database tables."
msgstr "Errors encountered creating database tables."
-#: ../../Zotlabs/Module/Setup.php:720
+#: ../../Zotlabs/Module/Setup.php:732
msgid "<h1>What next</h1>"
msgstr "<h1>What next</h1>"
-#: ../../Zotlabs/Module/Setup.php:721
+#: ../../Zotlabs/Module/Setup.php:733
msgid ""
"IMPORTANT: You will need to [manually] setup a scheduled task for the "
"poller."
msgstr "IMPORTANT: You will need to [manually] setup a scheduled task for the poller."
-#: ../../Zotlabs/Module/Admin.php:77
-msgid "Theme settings updated."
-msgstr "Thema-instellingen bijgewerkt."
-
-#: ../../Zotlabs/Module/Admin.php:197
-msgid "# Accounts"
-msgstr "# accounts"
-
-#: ../../Zotlabs/Module/Admin.php:198
-msgid "# blocked accounts"
-msgstr "# geblokkeerde accounts"
-
-#: ../../Zotlabs/Module/Admin.php:199
-msgid "# expired accounts"
-msgstr "# verlopen accounts"
-
-#: ../../Zotlabs/Module/Admin.php:200
-msgid "# expiring accounts"
-msgstr "# accounts die nog moeten verlopen"
-
-#: ../../Zotlabs/Module/Admin.php:211
-msgid "# Channels"
-msgstr "# Kanalen"
-
-#: ../../Zotlabs/Module/Admin.php:212
-msgid "# primary"
-msgstr "# primair"
-
-#: ../../Zotlabs/Module/Admin.php:213
-msgid "# clones"
-msgstr "# klonen"
-
-#: ../../Zotlabs/Module/Admin.php:219
-msgid "Message queues"
-msgstr "Berichtenwachtrij"
-
-#: ../../Zotlabs/Module/Admin.php:236
-msgid "Your software should be updated"
-msgstr "Jouw software moet worden bijgewerkt "
-
-#: ../../Zotlabs/Module/Admin.php:241 ../../Zotlabs/Module/Admin.php:490
-#: ../../Zotlabs/Module/Admin.php:711 ../../Zotlabs/Module/Admin.php:755
-#: ../../Zotlabs/Module/Admin.php:1030 ../../Zotlabs/Module/Admin.php:1209
-#: ../../Zotlabs/Module/Admin.php:1329 ../../Zotlabs/Module/Admin.php:1419
-#: ../../Zotlabs/Module/Admin.php:1612 ../../Zotlabs/Module/Admin.php:1646
-#: ../../Zotlabs/Module/Admin.php:1731
-msgid "Administration"
-msgstr "Beheer"
-
-#: ../../Zotlabs/Module/Admin.php:242
-msgid "Summary"
-msgstr "Samenvatting"
-
-#: ../../Zotlabs/Module/Admin.php:245
-msgid "Registered accounts"
-msgstr "Geregistreerde accounts"
-
-#: ../../Zotlabs/Module/Admin.php:246 ../../Zotlabs/Module/Admin.php:715
-msgid "Pending registrations"
-msgstr "Accounts die op goedkeuring wachten"
-
-#: ../../Zotlabs/Module/Admin.php:247
-msgid "Registered channels"
-msgstr "Geregistreerde kanalen"
-
-#: ../../Zotlabs/Module/Admin.php:248 ../../Zotlabs/Module/Admin.php:716
-msgid "Active plugins"
-msgstr "Ingeschakelde plugins"
-
-#: ../../Zotlabs/Module/Admin.php:249
-msgid "Version"
-msgstr "Versie"
-
-#: ../../Zotlabs/Module/Admin.php:250
-msgid "Repository version (master)"
-msgstr "Versie repository (master)"
-
-#: ../../Zotlabs/Module/Admin.php:251
-msgid "Repository version (dev)"
-msgstr "Versie repository (dev)"
-
-#: ../../Zotlabs/Module/Admin.php:373
-msgid "Site settings updated."
-msgstr "Hub-instellingen bijgewerkt."
-
-#: ../../Zotlabs/Module/Admin.php:400 ../../include/text.php:2888
-msgid "Default"
-msgstr "Standaard"
-
-#: ../../Zotlabs/Module/Admin.php:410 ../../Zotlabs/Module/Settings.php:987
-msgid "mobile"
-msgstr "mobiel"
-
-#: ../../Zotlabs/Module/Admin.php:412
-msgid "experimental"
-msgstr "experimenteel"
-
-#: ../../Zotlabs/Module/Admin.php:414
-msgid "unsupported"
-msgstr "Niet ondersteund"
-
-#: ../../Zotlabs/Module/Admin.php:460
-msgid "Yes - with approval"
-msgstr "Ja - met goedkeuring"
-
-#: ../../Zotlabs/Module/Admin.php:466
-msgid "My site is not a public server"
-msgstr "Mijn $Projectname-hub is niet openbaar"
-
-#: ../../Zotlabs/Module/Admin.php:467
-msgid "My site has paid access only"
-msgstr "Mijn $Projectname-hub kent alleen betaalde toegang"
-
-#: ../../Zotlabs/Module/Admin.php:468
-msgid "My site has free access only"
-msgstr "Mijn $Projectname-hub kent alleen gratis toegang"
-
-#: ../../Zotlabs/Module/Admin.php:469
-msgid "My site offers free accounts with optional paid upgrades"
-msgstr "Mijn $Projectname-hub biedt gratis accounts aan met betaalde uitbreidingen als optie"
-
-#: ../../Zotlabs/Module/Admin.php:491 ../../include/widgets.php:1490
-msgid "Site"
-msgstr "Hub-instellingen"
-
-#: ../../Zotlabs/Module/Admin.php:493 ../../Zotlabs/Module/Register.php:248
-msgid "Registration"
-msgstr "Registratie"
-
-#: ../../Zotlabs/Module/Admin.php:494
-msgid "File upload"
-msgstr "Bestand uploaden"
-
-#: ../../Zotlabs/Module/Admin.php:495
-msgid "Policies"
-msgstr "Beleid"
-
-#: ../../Zotlabs/Module/Admin.php:496 ../../include/contact_widgets.php:16
-msgid "Advanced"
-msgstr "Geavanceerd"
-
-#: ../../Zotlabs/Module/Admin.php:500
-msgid "Site name"
-msgstr "Naam van deze $Projectname-hub"
-
-#: ../../Zotlabs/Module/Admin.php:501
-msgid "Banner/Logo"
-msgstr "Banner/logo"
-
-#: ../../Zotlabs/Module/Admin.php:502
-msgid "Administrator Information"
-msgstr "Informatie over de beheerder van deze hub"
-
-#: ../../Zotlabs/Module/Admin.php:502
-msgid ""
-"Contact information for site administrators. Displayed on siteinfo page. "
-"BBCode can be used here"
-msgstr "Contactinformatie voor hub-beheerders. Getoond op pagina met hub-informatie. Er kan hier bbcode gebruikt worden."
-
-#: ../../Zotlabs/Module/Admin.php:503
-msgid "System language"
-msgstr "Standaardtaal"
-
-#: ../../Zotlabs/Module/Admin.php:504
-msgid "System theme"
-msgstr "Standaardthema"
-
-#: ../../Zotlabs/Module/Admin.php:504
-msgid ""
-"Default system theme - may be over-ridden by user profiles - <a href='#' "
-"id='cnftheme'>change theme settings</a>"
-msgstr "Standaardthema voor $Projectname-hub (kan door lid veranderd worden) - <a href='#' id='cnftheme'>verander thema-instellingen</a>"
-
-#: ../../Zotlabs/Module/Admin.php:505
-msgid "Mobile system theme"
-msgstr "Standaardthema voor mobiel"
-
-#: ../../Zotlabs/Module/Admin.php:505
-msgid "Theme for mobile devices"
-msgstr "Thema voor mobiele apparaten"
-
-#: ../../Zotlabs/Module/Admin.php:507
-msgid "Allow Feeds as Connections"
-msgstr "Sta feeds toe als connecties"
-
-#: ../../Zotlabs/Module/Admin.php:507
-msgid "(Heavy system resource usage)"
-msgstr "(sterk negatieve invloed op systeembronnen hub)"
-
-#: ../../Zotlabs/Module/Admin.php:508
-msgid "Maximum image size"
-msgstr "Maximale grootte van afbeeldingen"
-
-#: ../../Zotlabs/Module/Admin.php:508
-msgid ""
-"Maximum size in bytes of uploaded images. Default is 0, which means no "
-"limits."
-msgstr "Maximale grootte in bytes voor afbeeldingen die worden geüpload. Standaard is 0, wat geen limiet betekend."
-
-#: ../../Zotlabs/Module/Admin.php:509
-msgid "Does this site allow new member registration?"
-msgstr "Staat deze hub nieuwe accounts toe?"
-
-#: ../../Zotlabs/Module/Admin.php:510
-msgid "Invitation only"
-msgstr "Alleen op uitnodiging"
-
-#: ../../Zotlabs/Module/Admin.php:510
-msgid ""
-"Only allow new member registrations with an invitation code. Above register "
-"policy must be set to Yes."
-msgstr "Sta alleen nieuwe registraties toe van mensen die een uitnodigingscode hebben. Bovenstaand accountbeleid moet op Ja staan."
-
-#: ../../Zotlabs/Module/Admin.php:511
-msgid "Which best describes the types of account offered by this hub?"
-msgstr "Wat voor soort accounts biedt deze $Projectname-hub aan? Kies wat het meest in de buurt komt."
-
-#: ../../Zotlabs/Module/Admin.php:512
-msgid "Register text"
-msgstr "Tekst tijdens registratie"
-
-#: ../../Zotlabs/Module/Admin.php:512
-msgid "Will be displayed prominently on the registration page."
-msgstr "Tekst dat op de pagina voor het registreren van nieuwe accounts wordt getoond."
-
-#: ../../Zotlabs/Module/Admin.php:513
-msgid "Site homepage to show visitors (default: login box)"
-msgstr "Homepagina van deze hub die aan bezoekers wordt getoond (standaard: inlogformulier)"
-
-#: ../../Zotlabs/Module/Admin.php:513
-msgid ""
-"example: 'public' to show public stream, 'page/sys/home' to show a system "
-"webpage called 'home' or 'include:home.html' to include a file."
-msgstr "voorbeeld: 'public' om de openbare stream te tonen, 'page/sys/home' om de webpagina 'home' van het systeemkanaal te tonen of 'include:home.html' om een gewoon bestand te gebruiken."
-
-#: ../../Zotlabs/Module/Admin.php:514
-msgid "Preserve site homepage URL"
-msgstr "Behoudt de URL van de hub (/)"
-
-#: ../../Zotlabs/Module/Admin.php:514
-msgid ""
-"Present the site homepage in a frame at the original location instead of "
-"redirecting"
-msgstr "Toon de homepagina van de hub in een frame op de oorspronkelijke locatie (/), i.p.v. een doorverwijzing naar een andere locatie (bv. .../home.html)"
-
-#: ../../Zotlabs/Module/Admin.php:515
-msgid "Accounts abandoned after x days"
-msgstr "Accounts als verlaten beschouwen na zoveel aantal dagen:"
-
-#: ../../Zotlabs/Module/Admin.php:515
-msgid ""
-"Will not waste system resources polling external sites for abandonded "
-"accounts. Enter 0 for no time limit."
-msgstr "Zal geen systeembronnen verspillen door polling van externe hubs voor verlaten accounts. Vul 0 in voor geen tijdslimiet."
-
-#: ../../Zotlabs/Module/Admin.php:516
-msgid "Allowed friend domains"
-msgstr "Toegestane domeinen"
-
-#: ../../Zotlabs/Module/Admin.php:516
-msgid ""
-"Comma separated list of domains which are allowed to establish friendships "
-"with this site. Wildcards are accepted. Empty to allow any domains"
-msgstr "Komma-gescheiden lijst van domeinen waarvan kanalen connecties kunnen aangaan met kanalen op deze $Projectname-hub. Wildcards zijn toegestaan.\nLaat leeg om alle domeinen toe te laten."
-
-#: ../../Zotlabs/Module/Admin.php:517
-msgid "Allowed email domains"
-msgstr "Toegestane e-maildomeinen"
-
-#: ../../Zotlabs/Module/Admin.php:517
-msgid ""
-"Comma separated list of domains which are allowed in email addresses for "
-"registrations to this site. Wildcards are accepted. Empty to allow any "
-"domains"
-msgstr "Door komma's gescheiden lijst met e-maildomeinen waarvan e-mailadressen op deze hub mogen registeren. Wildcards zijn toegestaan. Laat leeg om alle domeinen toe te laten."
-
-#: ../../Zotlabs/Module/Admin.php:518
-msgid "Not allowed email domains"
-msgstr "Niet toegestane e-maildomeinen"
-
-#: ../../Zotlabs/Module/Admin.php:518
-msgid ""
-"Comma separated list of domains which are not allowed in email addresses for"
-" registrations to this site. Wildcards are accepted. Empty to allow any "
-"domains, unless allowed domains have been defined."
-msgstr "Door komma's gescheiden lijst met e-maildomeinen waarvan e-mailadressen niet op deze hub mogen registeren. Wildcards zijn toegestaan. Laat leeg om alle domeinen toe te staan, tenzij er toegestane domeinen zijn ingesteld. "
-
-#: ../../Zotlabs/Module/Admin.php:519
-msgid "Verify Email Addresses"
-msgstr "E-mailadres verifieren"
-
-#: ../../Zotlabs/Module/Admin.php:519
-msgid ""
-"Check to verify email addresses used in account registration (recommended)."
-msgstr "Inschakelen om e-mailadressen te verifiëren die tijdens de accountregistratie worden gebruikt (aanbevolen)."
-
-#: ../../Zotlabs/Module/Admin.php:520
-msgid "Force publish"
-msgstr "Dwing kanaalvermelding af"
-
-#: ../../Zotlabs/Module/Admin.php:520
-msgid ""
-"Check to force all profiles on this site to be listed in the site directory."
-msgstr "Vink dit aan om af te dwingen dat alle kanalen op deze hub in de kanalengids worden vermeld."
-
-#: ../../Zotlabs/Module/Admin.php:521
-msgid "Import Public Streams"
-msgstr "Openbare streams importeren"
-
-#: ../../Zotlabs/Module/Admin.php:521
-msgid ""
-"Import and allow access to public content pulled from other sites. Warning: "
-"this content is unmoderated."
-msgstr "Toegang verlenen tot openbare berichten die vanuit andere hubs worden geïmporteerd. Waarschuwing: de inhoud van deze berichten wordt niet gemodereerd."
-
-#: ../../Zotlabs/Module/Admin.php:522
-msgid "Login on Homepage"
-msgstr "Inlogformulier op de homepagina"
-
-#: ../../Zotlabs/Module/Admin.php:522
-msgid ""
-"Present a login box to visitors on the home page if no other content has "
-"been configured."
-msgstr "Toon een inlogformulier voor bezoekers op de homepagina wanneer geen andere inhoud is geconfigureerd. "
-
-#: ../../Zotlabs/Module/Admin.php:523
-msgid "Enable context help"
-msgstr "Schakel contextuele hulp in"
-
-#: ../../Zotlabs/Module/Admin.php:523
-msgid ""
-"Display contextual help for the current page when the help button is "
-"pressed."
-msgstr "Toon hulp en documentatie voor de op dat moment getoonde pagina, wanneer op de hulp-knop wordt geklikt."
-
-#: ../../Zotlabs/Module/Admin.php:525
-msgid "Directory Server URL"
-msgstr "Server-URL voor de kanalengids"
-
-#: ../../Zotlabs/Module/Admin.php:525
-msgid "Default directory server"
-msgstr "Standaardserver voor de kanalengids"
-
-#: ../../Zotlabs/Module/Admin.php:527
-msgid "Proxy user"
-msgstr "Gebruikersnaam proxy"
-
-#: ../../Zotlabs/Module/Admin.php:528
-msgid "Proxy URL"
-msgstr "Proxy-URL"
+#: ../../Zotlabs/Module/Lostpass.php:19
+msgid "No valid account found."
+msgstr "Geen geldige account gevonden."
-#: ../../Zotlabs/Module/Admin.php:529
-msgid "Network timeout"
-msgstr "Netwerktimeout"
+#: ../../Zotlabs/Module/Lostpass.php:33
+msgid "Password reset request issued. Check your email."
+msgstr "Het verzoek om je wachtwoord opnieuw in te stellen is behandeld. Controleer je e-mail."
-#: ../../Zotlabs/Module/Admin.php:529
-msgid "Value is in seconds. Set to 0 for unlimited (not recommended)."
-msgstr "Waarde is in seconden. Zet op 0 voor onbeperkt (niet aanbevolen)"
+#: ../../Zotlabs/Module/Lostpass.php:39 ../../Zotlabs/Module/Lostpass.php:107
+#, php-format
+msgid "Site Member (%s)"
+msgstr "Lid van hub (%s)"
-#: ../../Zotlabs/Module/Admin.php:530
-msgid "Delivery interval"
-msgstr "Afleveringsinterval"
+#: ../../Zotlabs/Module/Lostpass.php:44
+#, php-format
+msgid "Password reset requested at %s"
+msgstr "Verzoek tot het opnieuw instellen van een wachtwoord op %s is ingediend"
-#: ../../Zotlabs/Module/Admin.php:530
+#: ../../Zotlabs/Module/Lostpass.php:67
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 "Vertraag de achtergrondprocessen voor het afleveren met een aantal seconden om de systeembelasting te verminderen. Aanbevolen: 4-5 voor shared hosts, 2-3 voor virtual private servers (VPS) en 0-1 voor grote dedicated servers."
+"Request could not be verified. (You may have previously submitted it.) "
+"Password reset failed."
+msgstr "Het verzoek kon niet worden geverifieerd. (Mogelijk heb je al eerder een verzoek ingediend.) Opnieuw instellen van wachtwoord is mislukt."
-#: ../../Zotlabs/Module/Admin.php:531
-msgid "Deliveries per process"
-msgstr "Leveringen per serverproces"
+#: ../../Zotlabs/Module/Lostpass.php:90 ../../boot.php:1747
+msgid "Password Reset"
+msgstr "Wachtwoord vergeten?"
-#: ../../Zotlabs/Module/Admin.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 "Aantal leveringen die aan één serverproces worden meegegeven. Pas dit aan wanneer het nodig is om systeemprestaties te verbeteren. Aangeraden: 1-5"
+#: ../../Zotlabs/Module/Lostpass.php:91
+msgid "Your password has been reset as requested."
+msgstr "Jouw wachtwoord is opnieuw ingesteld zoals je had verzocht."
-#: ../../Zotlabs/Module/Admin.php:532
-msgid "Poll interval"
-msgstr "Poll-interval"
+#: ../../Zotlabs/Module/Lostpass.php:92
+msgid "Your new password is"
+msgstr "Jouw nieuwe wachtwoord is"
-#: ../../Zotlabs/Module/Admin.php:532
-msgid ""
-"Delay background polling processes by this many seconds to reduce system "
-"load. If 0, use delivery interval."
-msgstr "De achtergrondprocessen voor het afleveren met zoveel seconden vertragen om de systeembelasting te verminderen. 0 om de afleveringsinterval te gebruiken."
+#: ../../Zotlabs/Module/Lostpass.php:93
+msgid "Save or copy your new password - and then"
+msgstr "Kopieer of sla je nieuwe wachtwoord op - en"
-#: ../../Zotlabs/Module/Admin.php:533
-msgid "Maximum Load Average"
-msgstr "Maximaal gemiddelde systeembelasting"
+#: ../../Zotlabs/Module/Lostpass.php:94
+msgid "click here to login"
+msgstr "klik dan hier om in te loggen"
-#: ../../Zotlabs/Module/Admin.php:533
+#: ../../Zotlabs/Module/Lostpass.php:95
msgid ""
-"Maximum system load before delivery and poll processes are deferred - "
-"default 50."
-msgstr "Maximale systeembelasting voordat de afleverings- en polllingsprocessen worden uitgesteld. Standaard is 50."
-
-#: ../../Zotlabs/Module/Admin.php:534
-msgid "Expiration period in days for imported (grid/network) content"
-msgstr "Aantal dagen waarna geïmporteerde inhoud uit iemands grid/netwerk-pagina wordt verwijderd."
-
-#: ../../Zotlabs/Module/Admin.php:534
-msgid "0 for no expiration of imported content"
-msgstr "Dit geldt alleen voor inhoud van andere kanalen, dus niet voor iemands eigen kanaal. 0 voor het niet verwijderen van geïmporteerde inhoud."
-
-#: ../../Zotlabs/Module/Admin.php:677 ../../Zotlabs/Module/Admin.php:678
-#: ../../Zotlabs/Module/Settings.php:903
-msgid "Off"
-msgstr "Uit"
-
-#: ../../Zotlabs/Module/Admin.php:677 ../../Zotlabs/Module/Admin.php:678
-#: ../../Zotlabs/Module/Settings.php:903
-msgid "On"
-msgstr "Aan"
+"Your password may be changed from the <em>Settings</em> page after "
+"successful login."
+msgstr "Jouw wachtwoord kan worden veranderd onder <em>instellingen</em>, nadat je succesvol bent ingelogd."
-#: ../../Zotlabs/Module/Admin.php:678
+#: ../../Zotlabs/Module/Lostpass.php:112
#, php-format
-msgid "Lock feature %s"
-msgstr " Vergrendel de functie '%s'"
-
-#: ../../Zotlabs/Module/Admin.php:686
-msgid "Manage Additional Features"
-msgstr "Beheer - Extra functies"
-
-#: ../../Zotlabs/Module/Admin.php:703
-msgid "No server found"
-msgstr "Geen hub gevonden"
-
-#: ../../Zotlabs/Module/Admin.php:710 ../../Zotlabs/Module/Admin.php:1046
-msgid "ID"
-msgstr "ID"
-
-#: ../../Zotlabs/Module/Admin.php:710
-msgid "for channel"
-msgstr "voor kanaal"
-
-#: ../../Zotlabs/Module/Admin.php:710
-msgid "on server"
-msgstr "op hub"
+msgid "Your password has changed at %s"
+msgstr "Jouw wachtwoord op %s is veranderd"
-#: ../../Zotlabs/Module/Admin.php:712
-msgid "Server"
-msgstr "Hubbeheer"
+#: ../../Zotlabs/Module/Lostpass.php:127
+msgid "Forgot your Password?"
+msgstr "Wachtwoord vergeten?"
-#: ../../Zotlabs/Module/Admin.php:746
+#: ../../Zotlabs/Module/Lostpass.php:128
msgid ""
-"By default, unfiltered HTML is allowed in embedded media. This is inherently"
-" insecure."
-msgstr "Standaard is ongefilterde HTML in ingesloten (embedded) media toegestaan. Dit is inherent onveilig."
+"Enter your email address and submit to have your password reset. Then check "
+"your email for further instructions."
+msgstr "Voer je e-mailadres in en verstuur deze om je wachtwoord opnieuw in te stellen. Controleer hierna hier je e-mail voor verdere instructies."
-#: ../../Zotlabs/Module/Admin.php:749
-msgid ""
-"The recommended setting is to only allow unfiltered HTML from the following "
-"sites:"
-msgstr "Het wordt aanbevolen om alleen ongefilterde HTML van de volgende websites toe te staan:"
+#: ../../Zotlabs/Module/Lostpass.php:129
+msgid "Email Address"
+msgstr "E-mailadres"
-#: ../../Zotlabs/Module/Admin.php:750
-msgid ""
-"https://youtube.com/<br />https://www.youtube.com/<br />https://youtu.be/<br"
-" />https://vimeo.com/<br />https://soundcloud.com/<br />"
-msgstr "https://youtube.com/<br />https://www.youtube.com/<br />https://youtu.be/<br />https://vimeo.com/<br />https://soundcloud.com/<br />"
+#: ../../Zotlabs/Module/Lostpass.php:130
+msgid "Reset"
+msgstr "Opnieuw instellen"
-#: ../../Zotlabs/Module/Admin.php:751
-msgid ""
-"All other embedded content will be filtered, <strong>unless</strong> "
-"embedded content from that site is explicitly blocked."
-msgstr "Alle andere ingesloten (embedded) inhoud wordt gefilterd, <strong>tenzij</strong> ingesloten (embedded) inhoud van een website expliciet wordt geblokkeerd."
+#: ../../Zotlabs/Module/Mood.php:67 ../../include/conversation.php:260
+#, php-format
+msgctxt "mood"
+msgid "%1$s is %2$s"
+msgstr "%1$s is %2$s"
-#: ../../Zotlabs/Module/Admin.php:756 ../../include/widgets.php:1493
-msgid "Security"
-msgstr "Beveiliging"
+#: ../../Zotlabs/Module/Mood.php:135 ../../Zotlabs/Lib/Apps.php:227
+msgid "Mood"
+msgstr "Stemming"
-#: ../../Zotlabs/Module/Admin.php:758
-msgid "Block public"
-msgstr "Openbare toegang blokkeren"
+#: ../../Zotlabs/Module/Mood.php:136
+msgid "Set your current mood and tell your friends"
+msgstr "Noteer je huidige stemming en toon het aan je connecties"
-#: ../../Zotlabs/Module/Admin.php:758
+#: ../../Zotlabs/Module/Removeme.php:35
msgid ""
-"Check to block public access to all otherwise public personal pages on this "
-"site unless you are currently authenticated."
-msgstr "Vink dit aan om alle normaliter openbare persoonlijke pagina's op deze hub alleen toegankelijk te maken voor leden die zich hebben geauthenticeerd."
+"Channel removals are not allowed within 48 hours of changing the account "
+"password."
+msgstr "Het verwijderen van een kanaal is niet toegestaan binnen 48 uur nadat het wachtwoord van het account is veranderd."
-#: ../../Zotlabs/Module/Admin.php:759
-msgid "Set \"Transport Security\" HTTP header"
-msgstr "\"Transport Security\" HTTP-header inschakelen"
+#: ../../Zotlabs/Module/Removeme.php:60
+msgid "Remove This Channel"
+msgstr "Verwijder dit kanaal"
-#: ../../Zotlabs/Module/Admin.php:760
-msgid "Set \"Content Security Policy\" HTTP header"
-msgstr " \"Content Security Policy\" HTTP-header inschakelen"
+#: ../../Zotlabs/Module/Removeme.php:61
+#: ../../Zotlabs/Module/Removeaccount.php:58
+msgid "WARNING: "
+msgstr "WAARSCHUWING: "
-#: ../../Zotlabs/Module/Admin.php:761
-msgid "Allow communications only from these sites"
-msgstr "Alleen communicatie met deze hubs toestaan"
+#: ../../Zotlabs/Module/Removeme.php:61
+msgid "This channel will be completely removed from the network. "
+msgstr "Dit kanaal wordt volledig uit het $Projectname-netwerk verwijderd."
-#: ../../Zotlabs/Module/Admin.php:761
-msgid ""
-"One site per line. Leave empty to allow communication from anywhere by "
-"default"
-msgstr "Eén hub per regel. Laat leeg om communicatie standaard met alle hubs toe te staan"
+#: ../../Zotlabs/Module/Removeme.php:61
+#: ../../Zotlabs/Module/Removeaccount.php:58
+msgid "This action is permanent and can not be undone!"
+msgstr "Deze handeling is van permanente aard en kan niet meer worden teruggedraaid!"
-#: ../../Zotlabs/Module/Admin.php:762
-msgid "Block communications from these sites"
-msgstr "Communicatie met deze hubs blokkeren"
+#: ../../Zotlabs/Module/Removeme.php:62
+#: ../../Zotlabs/Module/Removeaccount.php:59
+msgid "Please enter your password for verification:"
+msgstr "Vul je wachtwoord in ter verificatie:"
-#: ../../Zotlabs/Module/Admin.php:763
-msgid "Allow communications only from these channels"
-msgstr "Sta alleen communicatie toe met deze kanalen"
+#: ../../Zotlabs/Module/Removeme.php:63
+msgid "Remove this channel and all its clones from the network"
+msgstr "Dit kanaal en alle klonen hiervan uit het $Projectname-netwerk verwijderen"
-#: ../../Zotlabs/Module/Admin.php:763
+#: ../../Zotlabs/Module/Removeme.php:63
msgid ""
-"One channel (hash) per line. Leave empty to allow from any channel by "
-"default"
-msgstr "Eén kanaal (hash) per regel. Laat leeg om communicatie standaard met alle kanalen toe te staan"
-
-#: ../../Zotlabs/Module/Admin.php:764
-msgid "Block communications from these channels"
-msgstr "Communicatie met deze kanalen blokkeren"
-
-#: ../../Zotlabs/Module/Admin.php:765
-msgid "Only allow embeds from secure (SSL) websites and links."
-msgstr "Alleen ingesloten (embedded) inhoud van veilige (SSL) websites en links toestaan."
-
-#: ../../Zotlabs/Module/Admin.php:766
-msgid "Allow unfiltered embedded HTML content only from these domains"
-msgstr "Alleen ongefilterde ingesloten (embedded) HTML van deze websites toestaan"
-
-#: ../../Zotlabs/Module/Admin.php:766
-msgid "One site per line. By default embedded content is filtered."
-msgstr "Eén website per regel. Standaard wordt ingesloten (embedded) inhoud gefilterd."
-
-#: ../../Zotlabs/Module/Admin.php:767
-msgid "Block embedded HTML from these domains"
-msgstr "Ingesloten (embedded) HTML vanaf deze domeinen blokkeren"
-
-#: ../../Zotlabs/Module/Admin.php:785
-msgid "Update has been marked successful"
-msgstr "Update is als succesvol gemarkeerd"
-
-#: ../../Zotlabs/Module/Admin.php:795
-#, php-format
-msgid "Executing %s failed. Check system logs."
-msgstr "Uitvoeren van %s is mislukt. Controleer systeemlogboek."
-
-#: ../../Zotlabs/Module/Admin.php:798
-#, php-format
-msgid "Update %s was successfully applied."
-msgstr "Update %s was geslaagd."
-
-#: ../../Zotlabs/Module/Admin.php:802
-#, php-format
-msgid "Update %s did not return a status. Unknown if it succeeded."
-msgstr "Update %s gaf geen melding. Het is daarom niet bekend of deze geslaagd is."
-
-#: ../../Zotlabs/Module/Admin.php:805
-#, php-format
-msgid "Update function %s could not be found."
-msgstr "Update-functie %s kon niet gevonden worden."
-
-#: ../../Zotlabs/Module/Admin.php:821
-msgid "No failed updates."
-msgstr "Geen mislukte updates."
-
-#: ../../Zotlabs/Module/Admin.php:825
-msgid "Failed Updates"
-msgstr "Mislukte updates"
-
-#: ../../Zotlabs/Module/Admin.php:827
-msgid "Mark success (if update was manually applied)"
-msgstr "Markeer als geslaagd (wanneer de update handmatig was uitgevoerd)"
-
-#: ../../Zotlabs/Module/Admin.php:828
-msgid "Attempt to execute this update step automatically"
-msgstr "Poging om deze stap van de update automatisch uit te voeren."
-
-#: ../../Zotlabs/Module/Admin.php:859
-msgid "Queue Statistics"
-msgstr "Wachtrij-statistieken"
-
-#: ../../Zotlabs/Module/Admin.php:860
-msgid "Total Entries"
-msgstr "Aantal vermeldingen"
-
-#: ../../Zotlabs/Module/Admin.php:861
-msgid "Priority"
-msgstr "Prioriteit"
-
-#: ../../Zotlabs/Module/Admin.php:862
-msgid "Destination URL"
-msgstr "Doel-URL"
-
-#: ../../Zotlabs/Module/Admin.php:863
-msgid "Mark hub permanently offline"
-msgstr "Hub als permanent offline markeren"
-
-#: ../../Zotlabs/Module/Admin.php:864
-msgid "Empty queue for this hub"
-msgstr "Berichtenwachtrij voor deze hub legen"
-
-#: ../../Zotlabs/Module/Admin.php:865
-msgid "Last known contact"
-msgstr "Voor het laatst contact"
-
-#: ../../Zotlabs/Module/Admin.php:901
-#, php-format
-msgid "%s account blocked/unblocked"
-msgid_plural "%s account blocked/unblocked"
-msgstr[0] "%s account geblokkeerd/gedeblokkeerd"
-msgstr[1] "%s accounts geblokkeerd/gedeblokkeerd"
-
-#: ../../Zotlabs/Module/Admin.php:908
-#, php-format
-msgid "%s account deleted"
-msgid_plural "%s accounts deleted"
-msgstr[0] "%s account verwijderd"
-msgstr[1] "%s accounts verwijderd"
-
-#: ../../Zotlabs/Module/Admin.php:944
-msgid "Account not found"
-msgstr "Account niet gevonden"
-
-#: ../../Zotlabs/Module/Admin.php:955
-#, php-format
-msgid "Account '%s' deleted"
-msgstr "Account '%s' verwijderd"
+"By default only the instance of the channel located on this hub will be "
+"removed from the network"
+msgstr "Standaard wordt alleen het kanaal dat zich op deze hub bevindt uit het $Projectname-netwerk verwijderd"
-#: ../../Zotlabs/Module/Admin.php:963
-#, php-format
-msgid "Account '%s' blocked"
-msgstr "Account '%s' geblokkeerd"
+#: ../../Zotlabs/Module/Removeme.php:64
+#: ../../Zotlabs/Module/Settings/Channel.php:544
+msgid "Remove Channel"
+msgstr "Kanaal verwijderen"
-#: ../../Zotlabs/Module/Admin.php:971
-#, php-format
-msgid "Account '%s' unblocked"
-msgstr "Account '%s' gedeblokkeerd"
+#: ../../Zotlabs/Module/Notify.php:57
+#: ../../Zotlabs/Module/Notifications.php:98
+msgid "No more system notifications."
+msgstr "Geen systeemnotificaties meer."
-#: ../../Zotlabs/Module/Admin.php:1031 ../../Zotlabs/Module/Admin.php:1044
-#: ../../include/widgets.php:1491
-msgid "Accounts"
-msgstr "Accounts"
+#: ../../Zotlabs/Module/Notify.php:61
+#: ../../Zotlabs/Module/Notifications.php:102
+msgid "System Notifications"
+msgstr "Systeemnotificaties"
-#: ../../Zotlabs/Module/Admin.php:1033 ../../Zotlabs/Module/Admin.php:1212
-msgid "select all"
-msgstr "alles selecteren"
+#: ../../Zotlabs/Module/Match.php:26
+msgid "Profile Match"
+msgstr "Profielovereenkomst"
-#: ../../Zotlabs/Module/Admin.php:1034
-msgid "Registrations waiting for confirm"
-msgstr "Accounts die op goedkeuring wachten"
+#: ../../Zotlabs/Module/Match.php:35
+msgid "No keywords to match. Please add keywords to your default profile."
+msgstr "Je hebt geen trefwoorden waarmee overeenkomsten gevonden kunnen worden. Voeg enkele trefwoorden aan je standaardprofiel toe."
-#: ../../Zotlabs/Module/Admin.php:1035
-msgid "Request date"
-msgstr "Tijd/datum verzoek"
+#: ../../Zotlabs/Module/Match.php:67
+msgid "is interested in:"
+msgstr "is geïnteresseerd in:"
-#: ../../Zotlabs/Module/Admin.php:1035 ../../Zotlabs/Module/Admin.php:1047
-#: ../../include/network.php:2208
-msgid "Email"
-msgstr "E-mail"
+#: ../../Zotlabs/Module/Match.php:68 ../../Zotlabs/Module/Suggest.php:56
+#: ../../Zotlabs/Module/Directory.php:325 ../../include/channel.php:1034
+#: ../../include/connections.php:78 ../../include/conversation.php:955
+#: ../../include/widgets.php:147 ../../include/widgets.php:184
+msgid "Connect"
+msgstr "Verbinden"
-#: ../../Zotlabs/Module/Admin.php:1036
-msgid "No registrations."
-msgstr "Geen verzoeken."
+#: ../../Zotlabs/Module/Match.php:74
+msgid "No matches"
+msgstr "Geen overeenkomsten"
-#: ../../Zotlabs/Module/Admin.php:1038
-msgid "Deny"
-msgstr "Afkeuren"
+#: ../../Zotlabs/Module/Dirsearch.php:25 ../../Zotlabs/Module/Regdir.php:49
+msgid "This site is not a directory server"
+msgstr "Deze hub is geen kanalengidshub (directoryserver)"
-#: ../../Zotlabs/Module/Admin.php:1048 ../../include/group.php:267
-msgid "All Channels"
-msgstr "Alle kanalen"
+#: ../../Zotlabs/Module/Dirsearch.php:33
+msgid "This directory server requires an access token"
+msgstr "Deze kanalengidshub (directoryserver) heeft een toegangs-token nodig"
-#: ../../Zotlabs/Module/Admin.php:1049
-msgid "Register date"
-msgstr "Geregistreerd"
+#: ../../Zotlabs/Module/Magic.php:71
+msgid "Hub not found."
+msgstr "Hub niet gevonden."
-#: ../../Zotlabs/Module/Admin.php:1050
-msgid "Last login"
-msgstr "Laatste keer ingelogd"
+#: ../../Zotlabs/Module/Photos.php:82
+msgid "Page owner information could not be retrieved."
+msgstr "Informatie over de pagina-eigenaar werd niet ontvangen."
-#: ../../Zotlabs/Module/Admin.php:1051
-msgid "Expires"
-msgstr "Verloopt"
+#: ../../Zotlabs/Module/Photos.php:97 ../../Zotlabs/Module/Photos.php:734
+#: ../../Zotlabs/Module/Profile_photo.php:115
+#: ../../Zotlabs/Module/Profile_photo.php:212
+#: ../../Zotlabs/Module/Profile_photo.php:311
+#: ../../include/photo/photo_driver.php:728
+msgid "Profile Photos"
+msgstr "Profielfoto's"
-#: ../../Zotlabs/Module/Admin.php:1052
-msgid "Service Class"
-msgstr "Abonnementen"
+#: ../../Zotlabs/Module/Photos.php:103 ../../Zotlabs/Module/Photos.php:129
+msgid "Album not found."
+msgstr "Album niet gevonden."
-#: ../../Zotlabs/Module/Admin.php:1054
-msgid ""
-"Selected accounts will be deleted!\\n\\nEverything these accounts had posted"
-" on this site will be permanently deleted!\\n\\nAre you sure?"
-msgstr "Geselecteerde accounts (met bijbehorende kanalen) worden verwijderd!\\n\\nAlles wat deze accounts op deze hub hebben gepubliceerd wordt definitief verwijderd!\\n\\Weet je het zeker?"
+#: ../../Zotlabs/Module/Photos.php:112
+msgid "Delete Album"
+msgstr "Verwijder album"
-#: ../../Zotlabs/Module/Admin.php:1055
+#: ../../Zotlabs/Module/Photos.php:133
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 "Account {0} (met bijbehorende kanalen) wordt verwijderd !\\n\\nAlles wat dit account op deze hub heeft gepubliceerd wordt definitief verwijderd!\\n\\nWeet je het zeker?"
-
-#: ../../Zotlabs/Module/Admin.php:1091
-#, php-format
-msgid "%s channel censored/uncensored"
-msgid_plural "%s channels censored/uncensored"
-msgstr[0] "%s kanaal gecensureerd/ongecensureerd"
-msgstr[1] "%s kanalen gecensureerd/ongecensureerd"
-
-#: ../../Zotlabs/Module/Admin.php:1100
-#, php-format
-msgid "%s channel code allowed/disallowed"
-msgid_plural "%s channels code allowed/disallowed"
-msgstr[0] "Scripts toegestaan/niet toegestaan voor %s kanaal"
-msgstr[1] "Scripts toegestaan/niet toegestaan voor %s kanalen"
-
-#: ../../Zotlabs/Module/Admin.php:1106
-#, php-format
-msgid "%s channel deleted"
-msgid_plural "%s channels deleted"
-msgstr[0] "%s kanaal verwijderd"
-msgstr[1] "%s kanalen verwijderd"
-
-#: ../../Zotlabs/Module/Admin.php:1126
-msgid "Channel not found"
-msgstr "Kanaal niet gevonden"
+"Multiple storage folders exist with this album name, but within different "
+"directories. Please remove the desired folder or folders using the Files "
+"manager"
+msgstr "Er bestaan meerdere submappen met deze albumnaam, maar verspreidt over verschillende mappen. Verwijder de gewenste map(pen) met de bestandsbeheerder."
-#: ../../Zotlabs/Module/Admin.php:1136
-#, php-format
-msgid "Channel '%s' deleted"
-msgstr "Kanaal '%s' verwijderd"
+#: ../../Zotlabs/Module/Photos.php:190 ../../Zotlabs/Module/Photos.php:1059
+msgid "Delete Photo"
+msgstr "Verwijder foto"
-#: ../../Zotlabs/Module/Admin.php:1148
-#, php-format
-msgid "Channel '%s' censored"
-msgstr "Kanaal '%s' gecensureerd"
+#: ../../Zotlabs/Module/Photos.php:509 ../../Zotlabs/Module/Display.php:17
+#: ../../Zotlabs/Module/Ratings.php:83 ../../Zotlabs/Module/Search.php:17
+#: ../../Zotlabs/Module/Viewconnections.php:23
+#: ../../Zotlabs/Module/Directory.php:63
+msgid "Public access denied."
+msgstr "Openbare toegang geweigerd."
-#: ../../Zotlabs/Module/Admin.php:1148
-#, php-format
-msgid "Channel '%s' uncensored"
-msgstr "Kanaal '%s' ongecensureerd"
+#: ../../Zotlabs/Module/Photos.php:520
+msgid "No photos selected"
+msgstr "Geen foto's geselecteerd"
-#: ../../Zotlabs/Module/Admin.php:1159
-#, php-format
-msgid "Channel '%s' code allowed"
-msgstr "Scripts toegestaan voor kanaal '%s'"
+#: ../../Zotlabs/Module/Photos.php:569
+msgid "Access to this item is restricted."
+msgstr "Toegang tot dit item is beperkt."
-#: ../../Zotlabs/Module/Admin.php:1159
+#: ../../Zotlabs/Module/Photos.php:608
#, php-format
-msgid "Channel '%s' code disallowed"
-msgstr "Scripts niet toegestaan voor kanaal '%s'"
-
-#: ../../Zotlabs/Module/Admin.php:1210 ../../include/widgets.php:1492
-msgid "Channels"
-msgstr "Kanalen"
-
-#: ../../Zotlabs/Module/Admin.php:1214
-msgid "Censor"
-msgstr "Censureren"
-
-#: ../../Zotlabs/Module/Admin.php:1215
-msgid "Uncensor"
-msgstr "Niet censureren"
-
-#: ../../Zotlabs/Module/Admin.php:1216
-msgid "Allow Code"
-msgstr "Scripts toestaan"
-
-#: ../../Zotlabs/Module/Admin.php:1217
-msgid "Disallow Code"
-msgstr "Scripts niet toestaan"
-
-#: ../../Zotlabs/Module/Admin.php:1218 ../../include/conversation.php:1641
-msgid "Channel"
-msgstr "Kanaal"
-
-#: ../../Zotlabs/Module/Admin.php:1222
-msgid "UID"
-msgstr "UID"
-
-#: ../../Zotlabs/Module/Admin.php:1226
-msgid ""
-"Selected channels will be deleted!\\n\\nEverything that was posted in these "
-"channels on this site will be permanently deleted!\\n\\nAre you sure?"
-msgstr "Geselecteerde kanalen worden verwijderd!\\n\\nAlles wat in deze kanalen op deze hub werd gepubliceerd wordt definitief verwijderd!\\n\\nWeet je het zeker?"
-
-#: ../../Zotlabs/Module/Admin.php:1227
-msgid ""
-"The channel {0} will be deleted!\\n\\nEverything that was posted in this "
-"channel on this site will be permanently deleted!\\n\\nAre you sure?"
-msgstr "Kanaal {0} wordt verwijderd!\\n\\nAlles wat in dit kanaal op deze hub werd gepubliceerd wordt definitief verwijderd!\\n\\nWeet je het zeker?"
+msgid "%1$.2f MB of %2$.2f MB photo storage used."
+msgstr "%1$.2f MB van %2$.2f MB aan foto-opslag gebruikt."
-#: ../../Zotlabs/Module/Admin.php:1284
+#: ../../Zotlabs/Module/Photos.php:611
#, php-format
-msgid "Plugin %s disabled."
-msgstr "Plugin %s uitgeschakeld."
+msgid "%1$.2f MB photo storage used."
+msgstr "%1$.2f MB aan foto-opslag gebruikt."
-#: ../../Zotlabs/Module/Admin.php:1288
-#, php-format
-msgid "Plugin %s enabled."
-msgstr "Plugin %s ingeschakeld"
+#: ../../Zotlabs/Module/Photos.php:647
+msgid "Upload Photos"
+msgstr "Foto's uploaden"
-#: ../../Zotlabs/Module/Admin.php:1298 ../../Zotlabs/Module/Admin.php:1585
-msgid "Disable"
-msgstr "Uitschakelen"
+#: ../../Zotlabs/Module/Photos.php:651
+msgid "Enter an album name"
+msgstr "Vul een albumnaam in"
-#: ../../Zotlabs/Module/Admin.php:1301 ../../Zotlabs/Module/Admin.php:1587
-msgid "Enable"
-msgstr "Inschakelen"
+#: ../../Zotlabs/Module/Photos.php:652
+msgid "or select an existing album (doubleclick)"
+msgstr "of kies een bestaand album (dubbelklikken)"
-#: ../../Zotlabs/Module/Admin.php:1330 ../../Zotlabs/Module/Admin.php:1420
-#: ../../include/widgets.php:1495
-msgid "Plugins"
-msgstr "Plugins"
+#: ../../Zotlabs/Module/Photos.php:653
+msgid "Create a status post for this upload"
+msgstr "Plaats een bericht voor deze upload."
-#: ../../Zotlabs/Module/Admin.php:1331 ../../Zotlabs/Module/Admin.php:1614
-msgid "Toggle"
-msgstr "Omschakelen"
+#: ../../Zotlabs/Module/Photos.php:654
+msgid "Caption (optional):"
+msgstr "Bijschrift (optioneel):"
-#: ../../Zotlabs/Module/Admin.php:1332 ../../Zotlabs/Module/Admin.php:1615
-#: ../../Zotlabs/Lib/Apps.php:216 ../../include/widgets.php:647
-#: ../../include/nav.php:212
-msgid "Settings"
-msgstr "Instellingen"
+#: ../../Zotlabs/Module/Photos.php:655
+msgid "Description (optional):"
+msgstr "Omschrijving (optioneel):"
-#: ../../Zotlabs/Module/Admin.php:1339 ../../Zotlabs/Module/Admin.php:1624
-msgid "Author: "
-msgstr "Auteur: "
+#: ../../Zotlabs/Module/Photos.php:686
+msgid "Album name could not be decoded"
+msgstr "Albumnaam kon niet gedecodeerd worden"
-#: ../../Zotlabs/Module/Admin.php:1340 ../../Zotlabs/Module/Admin.php:1625
-msgid "Maintainer: "
-msgstr "Beheerder: "
+#: ../../Zotlabs/Module/Photos.php:734
+msgid "Contact Photos"
+msgstr "Connectiefoto's"
-#: ../../Zotlabs/Module/Admin.php:1341
-msgid "Minimum project version: "
-msgstr "Minimum versie Hubzilla: "
+#: ../../Zotlabs/Module/Photos.php:757
+msgid "Show Newest First"
+msgstr "Nieuwste eerst weergeven"
-#: ../../Zotlabs/Module/Admin.php:1342
-msgid "Maximum project version: "
-msgstr "Maximum versie Hubzilla:"
+#: ../../Zotlabs/Module/Photos.php:759
+msgid "Show Oldest First"
+msgstr "Oudste eerst weergeven"
-#: ../../Zotlabs/Module/Admin.php:1343
-msgid "Minimum PHP version: "
-msgstr "Minimum versie PHP: "
+#: ../../Zotlabs/Module/Photos.php:783 ../../Zotlabs/Module/Photos.php:1337
+#: ../../Zotlabs/Module/Embedphotos.php:141 ../../include/widgets.php:1677
+msgid "View Photo"
+msgstr "Foto weergeven"
-#: ../../Zotlabs/Module/Admin.php:1344
-msgid "Requires: "
-msgstr "Vereist: "
+#: ../../Zotlabs/Module/Photos.php:814
+#: ../../Zotlabs/Module/Embedphotos.php:157 ../../include/widgets.php:1694
+msgid "Edit Album"
+msgstr "Album bewerken"
-#: ../../Zotlabs/Module/Admin.php:1345 ../../Zotlabs/Module/Admin.php:1425
-msgid "Disabled - version incompatibility"
-msgstr "Uitgeschakeld - versie is incompatibel"
+#: ../../Zotlabs/Module/Photos.php:861
+msgid "Permission denied. Access to this item may be restricted."
+msgstr "Toegang geweigerd. Toegang tot dit item kan zijn beperkt."
-#: ../../Zotlabs/Module/Admin.php:1394
-msgid "Enter the public git repository URL of the plugin repo."
-msgstr "Vul de openbare Git-URL in van de plugin-repository."
+#: ../../Zotlabs/Module/Photos.php:863
+msgid "Photo not available"
+msgstr "Foto niet aanwezig"
-#: ../../Zotlabs/Module/Admin.php:1395
-msgid "Plugin repo git URL"
-msgstr "Git-URL plugin-repository"
+#: ../../Zotlabs/Module/Photos.php:921
+msgid "Use as profile photo"
+msgstr "Als profielfoto gebruiken"
-#: ../../Zotlabs/Module/Admin.php:1396
-msgid "Custom repo name"
-msgstr "Handmatige repository-naam"
+#: ../../Zotlabs/Module/Photos.php:922
+msgid "Use as cover photo"
+msgstr "Als omslagfoto gebruiken"
-#: ../../Zotlabs/Module/Admin.php:1396
-msgid "(optional)"
-msgstr "(optioneel)"
+#: ../../Zotlabs/Module/Photos.php:929
+msgid "Private Photo"
+msgstr "Privéfoto"
-#: ../../Zotlabs/Module/Admin.php:1397
-msgid "Download Plugin Repo"
-msgstr "Plugin-repository downloaden"
+#: ../../Zotlabs/Module/Photos.php:940 ../../Zotlabs/Module/Cal.php:332
+#: ../../Zotlabs/Module/Cal.php:339 ../../Zotlabs/Module/Events.php:675
+#: ../../Zotlabs/Module/Events.php:684
+msgid "Previous"
+msgstr "Vorige"
-#: ../../Zotlabs/Module/Admin.php:1404
-msgid "Install new repo"
-msgstr "Nieuwe repository installeren"
+#: ../../Zotlabs/Module/Photos.php:944
+msgid "View Full Size"
+msgstr "Volledige grootte weergeven"
-#: ../../Zotlabs/Module/Admin.php:1405 ../../Zotlabs/Lib/Apps.php:334
-msgid "Install"
-msgstr "Installeren"
+#: ../../Zotlabs/Module/Photos.php:1033
+msgid "Edit photo"
+msgstr "Foto bewerken"
-#: ../../Zotlabs/Module/Admin.php:1427
-msgid "Manage Repos"
-msgstr "Repositories beheren"
+#: ../../Zotlabs/Module/Photos.php:1035
+msgid "Rotate CW (right)"
+msgstr "Draai met de klok mee (naar rechts)"
-#: ../../Zotlabs/Module/Admin.php:1428
-msgid "Installed Plugin Repositories"
-msgstr "Toegevoegde plugin-repositories"
+#: ../../Zotlabs/Module/Photos.php:1036
+msgid "Rotate CCW (left)"
+msgstr "Draai tegen de klok in (naar links)"
-#: ../../Zotlabs/Module/Admin.php:1429
-msgid "Install a New Plugin Repository"
-msgstr "Nieuwe plugin-repository toevoegen"
+#: ../../Zotlabs/Module/Photos.php:1039
+msgid "Move photo to album"
+msgstr "Verplaatst foto naar album"
-#: ../../Zotlabs/Module/Admin.php:1435 ../../Zotlabs/Module/Settings.php:72
-#: ../../Zotlabs/Module/Settings.php:708 ../../Zotlabs/Lib/Apps.php:334
-msgid "Update"
-msgstr "Bijwerken"
+#: ../../Zotlabs/Module/Photos.php:1040
+msgid "Enter a new album name"
+msgstr "Vul een nieuwe albumnaam in"
-#: ../../Zotlabs/Module/Admin.php:1436
-msgid "Switch branch"
-msgstr "Branch veranderen"
+#: ../../Zotlabs/Module/Photos.php:1041
+msgid "or select an existing one (doubleclick)"
+msgstr "of kies een bestaand album (dubbelklikken)"
-#: ../../Zotlabs/Module/Admin.php:1437 ../../Zotlabs/Module/Photos.php:1000
-#: ../../Zotlabs/Module/Tagrm.php:137
-msgid "Remove"
-msgstr "Verwijderen"
+#: ../../Zotlabs/Module/Photos.php:1044
+msgid "Caption"
+msgstr "Bijschrift"
-#: ../../Zotlabs/Module/Admin.php:1550
-msgid "No themes found."
-msgstr "Geen thema's gevonden"
+#: ../../Zotlabs/Module/Photos.php:1046
+msgid "Add a Tag"
+msgstr "Tag toevoegen"
-#: ../../Zotlabs/Module/Admin.php:1606
-msgid "Screenshot"
-msgstr "Schermafdruk"
+#: ../../Zotlabs/Module/Photos.php:1054
+msgid "Example: @bob, @Barbara_Jensen, @jim@example.com"
+msgstr "Voorbeeld: @bob, @Barbara_Jansen, @jan@voorbeeld.nl"
-#: ../../Zotlabs/Module/Admin.php:1613 ../../Zotlabs/Module/Admin.php:1647
-#: ../../include/widgets.php:1496
-msgid "Themes"
-msgstr "Thema's"
+#: ../../Zotlabs/Module/Photos.php:1057
+msgid "Flag as adult in album view"
+msgstr "Markeer als voor volwassenen in albumweergave"
-#: ../../Zotlabs/Module/Admin.php:1652
-msgid "[Experimental]"
-msgstr "[Experimenteel]"
+#: ../../Zotlabs/Module/Photos.php:1076 ../../Zotlabs/Lib/ThreadItem.php:268
+msgid "I like this (toggle)"
+msgstr "Vind ik leuk"
-#: ../../Zotlabs/Module/Admin.php:1653
-msgid "[Unsupported]"
-msgstr "[Niet ondersteund]"
+#: ../../Zotlabs/Module/Photos.php:1077 ../../Zotlabs/Lib/ThreadItem.php:269
+msgid "I don't like this (toggle)"
+msgstr "Vind ik niet leuk"
-#: ../../Zotlabs/Module/Admin.php:1677
-msgid "Log settings updated."
-msgstr "Logboek-instellingen bijgewerkt."
+#: ../../Zotlabs/Module/Photos.php:1078 ../../Zotlabs/Module/Blocks.php:161
+#: ../../Zotlabs/Module/Layouts.php:193 ../../Zotlabs/Module/Webpages.php:241
+#: ../../include/conversation.php:1232
+msgid "Share"
+msgstr "Delen"
-#: ../../Zotlabs/Module/Admin.php:1732 ../../include/widgets.php:1517
-#: ../../include/widgets.php:1527
-msgid "Logs"
-msgstr "Logboeken"
+#: ../../Zotlabs/Module/Photos.php:1079 ../../Zotlabs/Lib/ThreadItem.php:405
+#: ../../include/conversation.php:741
+msgid "Please wait"
+msgstr "Even wachten"
-#: ../../Zotlabs/Module/Admin.php:1734
-msgid "Clear"
-msgstr "Leegmaken"
+#: ../../Zotlabs/Module/Photos.php:1095 ../../Zotlabs/Module/Photos.php:1213
+#: ../../Zotlabs/Lib/ThreadItem.php:722
+msgid "This is you"
+msgstr "Dit ben jij"
-#: ../../Zotlabs/Module/Admin.php:1740
-msgid "Debugging"
-msgstr "Debuggen"
+#: ../../Zotlabs/Module/Photos.php:1097 ../../Zotlabs/Module/Photos.php:1215
+#: ../../Zotlabs/Lib/ThreadItem.php:724 ../../include/js_strings.php:6
+msgid "Comment"
+msgstr "Reactie"
-#: ../../Zotlabs/Module/Admin.php:1741
-msgid "Log file"
-msgstr "Logbestand"
+#: ../../Zotlabs/Module/Photos.php:1099 ../../Zotlabs/Module/Webpages.php:247
+#: ../../Zotlabs/Module/Events.php:473 ../../Zotlabs/Lib/ThreadItem.php:734
+#: ../../include/page_widgets.php:43 ../../include/conversation.php:1201
+msgid "Preview"
+msgstr "Voorvertoning"
-#: ../../Zotlabs/Module/Admin.php:1741
-msgid ""
-"Must be writable by web server. Relative to your top-level webserver "
-"directory."
-msgstr "Moet door de webserver beschrijfbaar zijn. Relatief ten opzichte van de bovenste map van je $Projectname-installatie."
+#: ../../Zotlabs/Module/Photos.php:1113 ../../include/conversation.php:577
+msgctxt "title"
+msgid "Likes"
+msgstr "vinden dit leuk"
-#: ../../Zotlabs/Module/Admin.php:1742
-msgid "Log level"
-msgstr "Logniveau"
+#: ../../Zotlabs/Module/Photos.php:1113 ../../include/conversation.php:577
+msgctxt "title"
+msgid "Dislikes"
+msgstr "vinden dit niet leuk"
-#: ../../Zotlabs/Module/Admin.php:2028
-msgid "New Profile Field"
-msgstr "Nieuw profielveld"
+#: ../../Zotlabs/Module/Photos.php:1114 ../../include/conversation.php:578
+msgctxt "title"
+msgid "Agree"
+msgstr "eens"
-#: ../../Zotlabs/Module/Admin.php:2029 ../../Zotlabs/Module/Admin.php:2049
-msgid "Field nickname"
-msgstr "Bijnaam voor veld"
+#: ../../Zotlabs/Module/Photos.php:1114 ../../include/conversation.php:578
+msgctxt "title"
+msgid "Disagree"
+msgstr "oneens"
-#: ../../Zotlabs/Module/Admin.php:2029 ../../Zotlabs/Module/Admin.php:2049
-msgid "System name of field"
-msgstr "Systeemnaam voor veld"
+#: ../../Zotlabs/Module/Photos.php:1114 ../../include/conversation.php:578
+msgctxt "title"
+msgid "Abstain"
+msgstr "onthoudingen"
-#: ../../Zotlabs/Module/Admin.php:2030 ../../Zotlabs/Module/Admin.php:2050
-msgid "Input type"
-msgstr "Invoertype"
+#: ../../Zotlabs/Module/Photos.php:1115 ../../include/conversation.php:579
+msgctxt "title"
+msgid "Attending"
+msgstr "aanwezig"
-#: ../../Zotlabs/Module/Admin.php:2031 ../../Zotlabs/Module/Admin.php:2051
-msgid "Field Name"
-msgstr "Veldnaam"
+#: ../../Zotlabs/Module/Photos.php:1115 ../../include/conversation.php:579
+msgctxt "title"
+msgid "Not attending"
+msgstr "niet aanwezig"
-#: ../../Zotlabs/Module/Admin.php:2031 ../../Zotlabs/Module/Admin.php:2051
-msgid "Label on profile pages"
-msgstr "Tekstlabel voor op profielpagina's"
+#: ../../Zotlabs/Module/Photos.php:1115 ../../include/conversation.php:579
+msgctxt "title"
+msgid "Might attend"
+msgstr "mogelijk aanwezig"
-#: ../../Zotlabs/Module/Admin.php:2032 ../../Zotlabs/Module/Admin.php:2052
-msgid "Help text"
-msgstr "Helptekst"
+#: ../../Zotlabs/Module/Photos.php:1132 ../../Zotlabs/Module/Photos.php:1144
+#: ../../Zotlabs/Lib/ThreadItem.php:186 ../../Zotlabs/Lib/ThreadItem.php:198
+#: ../../include/conversation.php:1763
+msgid "View all"
+msgstr "Toon alles"
-#: ../../Zotlabs/Module/Admin.php:2032 ../../Zotlabs/Module/Admin.php:2052
-msgid "Additional info (optional)"
-msgstr "Extra informatie (optioneel)"
+#: ../../Zotlabs/Module/Photos.php:1136 ../../Zotlabs/Lib/ThreadItem.php:190
+#: ../../include/channel.php:1182 ../../include/conversation.php:1787
+#: ../../include/taxonomy.php:403
+msgctxt "noun"
+msgid "Like"
+msgid_plural "Likes"
+msgstr[0] "vindt dit leuk"
+msgstr[1] "vinden dit leuk"
-#: ../../Zotlabs/Module/Admin.php:2042
-msgid "Field definition not found"
-msgstr "Velddefinitie niet gevonden"
+#: ../../Zotlabs/Module/Photos.php:1141 ../../Zotlabs/Lib/ThreadItem.php:195
+#: ../../include/conversation.php:1790
+msgctxt "noun"
+msgid "Dislike"
+msgid_plural "Dislikes"
+msgstr[0] "vindt dit niet leuk"
+msgstr[1] "vinden dit niet leuk"
-#: ../../Zotlabs/Module/Admin.php:2048
-msgid "Edit Profile Field"
-msgstr "Profielveld bewerken"
+#: ../../Zotlabs/Module/Photos.php:1241
+msgid "Photo Tools"
+msgstr "Hulpmiddelen"
-#: ../../Zotlabs/Module/Admin.php:2106 ../../include/widgets.php:1498
-msgid "Profile Fields"
-msgstr "Profielvelden"
+#: ../../Zotlabs/Module/Photos.php:1250
+msgid "In This Photo:"
+msgstr "Op deze foto:"
-#: ../../Zotlabs/Module/Admin.php:2107
-msgid "Basic Profile Fields"
-msgstr "Standaard profielvelden"
+#: ../../Zotlabs/Module/Photos.php:1255
+msgid "Map"
+msgstr "Kaart"
-#: ../../Zotlabs/Module/Admin.php:2108
-msgid "Advanced Profile Fields"
-msgstr "Geavanceerde profielvelden"
+#: ../../Zotlabs/Module/Photos.php:1263 ../../Zotlabs/Lib/ThreadItem.php:394
+msgctxt "noun"
+msgid "Likes"
+msgstr "vinden dit leuk"
-#: ../../Zotlabs/Module/Admin.php:2108
-msgid "(In addition to basic fields)"
-msgstr "(als toevoeging op de standaard velden)"
+#: ../../Zotlabs/Module/Photos.php:1264 ../../Zotlabs/Lib/ThreadItem.php:395
+msgctxt "noun"
+msgid "Dislikes"
+msgstr "vinden dit niet leuk"
-#: ../../Zotlabs/Module/Admin.php:2110
-msgid "All available fields"
-msgstr "Alle beschikbare velden"
+#: ../../Zotlabs/Module/Photos.php:1269 ../../Zotlabs/Lib/ThreadItem.php:400
+#: ../../include/acl_selectors.php:181
+msgid "Close"
+msgstr "Sluiten"
-#: ../../Zotlabs/Module/Admin.php:2111
-msgid "Custom Fields"
-msgstr "Extra (handmatig toegevoegde) velden"
+#: ../../Zotlabs/Module/Photos.php:1343
+msgid "View Album"
+msgstr "Album weergeven"
-#: ../../Zotlabs/Module/Admin.php:2115
-msgid "Create Custom Field"
-msgstr "Extra velden aanmaken"
+#: ../../Zotlabs/Module/Photos.php:1354 ../../Zotlabs/Module/Photos.php:1367
+#: ../../Zotlabs/Module/Photos.php:1368
+msgid "Recent Photos"
+msgstr "Recente foto's"
-#: ../../Zotlabs/Module/New_channel.php:128
-#: ../../Zotlabs/Module/Register.php:231
+#: ../../Zotlabs/Module/New_channel.php:134
+#: ../../Zotlabs/Module/Register.php:237
msgid "Name or caption"
msgstr "Naam"
-#: ../../Zotlabs/Module/New_channel.php:128
-#: ../../Zotlabs/Module/Register.php:231
+#: ../../Zotlabs/Module/New_channel.php:134
+#: ../../Zotlabs/Module/Register.php:237
msgid "Examples: \"Bob Jameson\", \"Lisa and her Horses\", \"Soccer\", \"Aviation Group\""
msgstr "Voorbeelden: \"Jan Pietersen\", \"Willems weblog\", \"Computerforum\""
-#: ../../Zotlabs/Module/New_channel.php:130
-#: ../../Zotlabs/Module/Register.php:233
+#: ../../Zotlabs/Module/New_channel.php:136
+#: ../../Zotlabs/Module/Register.php:239
msgid "Choose a short nickname"
msgstr "Korte bijnaam"
-#: ../../Zotlabs/Module/New_channel.php:130
-#: ../../Zotlabs/Module/Register.php:233
+#: ../../Zotlabs/Module/New_channel.php:136
+#: ../../Zotlabs/Module/Register.php:239
#, php-format
msgid ""
"Your nickname will be used to create an easy to remember channel address "
"e.g. nickname%s"
msgstr "Deze bijnaam wordt gebruikt om een makkelijk te onthouden kanaaladres van jouw kanaal aan te maken, die je dan met anderen kunt delen. Bijvoorbeeld: bijnaam%s"
-#: ../../Zotlabs/Module/New_channel.php:132
-#: ../../Zotlabs/Module/Register.php:235
+#: ../../Zotlabs/Module/New_channel.php:137
+#: ../../Zotlabs/Module/Register.php:240
msgid "Channel role and privacy"
msgstr "Kanaaltype en privacy"
-#: ../../Zotlabs/Module/New_channel.php:132
-#: ../../Zotlabs/Module/Register.php:235
+#: ../../Zotlabs/Module/New_channel.php:137
+#: ../../Zotlabs/Module/Register.php:240
msgid "Select a channel role with your privacy requirements."
msgstr "Kies een kanaaltype met het door jou gewenste privacyniveau."
-#: ../../Zotlabs/Module/New_channel.php:132
-#: ../../Zotlabs/Module/Register.php:235
+#: ../../Zotlabs/Module/New_channel.php:137
+#: ../../Zotlabs/Module/Register.php:240
msgid "Read more about roles"
msgstr "Lees meer over kanaaltypes"
-#: ../../Zotlabs/Module/New_channel.php:135
+#: ../../Zotlabs/Module/New_channel.php:140
msgid "Create Channel"
msgstr "Kanaal aanmaken"
-#: ../../Zotlabs/Module/New_channel.php:136
+#: ../../Zotlabs/Module/New_channel.php:141
msgid ""
"A channel is your identity on this network. It can represent a person, a "
"blog, or a forum to name a few. Channels can make connections with other "
"channels to share information with highly detailed permissions."
msgstr "Een kanaal is jouw identiteit in dit netwerk. Het kan bijvoorbeeld een persoon, een blog of een forum vertegenwoordigen. Door met elkaar te verbinden kunnen kanalen, met behulp van uitgebreide permissies, informatie uitwisselen."
-#: ../../Zotlabs/Module/New_channel.php:137
+#: ../../Zotlabs/Module/New_channel.php:142
msgid ""
"or <a href=\"import\">import an existing channel</a> from another location."
msgstr "Of <a href=\"import\">importeer een bestaand kanaal</a> vanaf een andere locatie"
@@ -4648,12 +4712,12 @@ msgstr "Ongeldige verzoek identificator (request identifier)"
msgid "Discard"
msgstr "Annuleren"
-#: ../../Zotlabs/Module/Notifications.php:103 ../../include/nav.php:195
+#: ../../Zotlabs/Module/Notifications.php:103 ../../include/nav.php:196
msgid "Mark all system notifications seen"
msgstr "Markeer alle systeemnotificaties als bekeken"
#: ../../Zotlabs/Module/Poke.php:168 ../../Zotlabs/Lib/Apps.php:228
-#: ../../include/conversation.php:964
+#: ../../include/conversation.php:959
msgid "Poke"
msgstr "Aanstoten"
@@ -4681,6 +4745,11 @@ msgstr "Kies wat je met de ontvanger wil doen"
msgid "Make this post private"
msgstr "Maak dit bericht privé"
+#: ../../Zotlabs/Module/Apps.php:46 ../../include/nav.php:168
+#: ../../include/widgets.php:102
+msgid "Apps"
+msgstr "Apps"
+
#: ../../Zotlabs/Module/Oexchange.php:27
msgid "Unable to find your hub."
msgstr "Niet in staat om je hub te vinden"
@@ -4724,24 +4793,6 @@ msgid ""
" to correctly use this feature."
msgstr "Waarschuwing: het veranderen van sommige instellingen kunnen jouw kanaal onklaar maken. Verlaat deze pagina, tenzij je weet waar je mee bezig bent en voldoende kennis bezit over hoe je deze functies moet gebruiken. "
-#: ../../Zotlabs/Module/Api.php:60 ../../Zotlabs/Module/Api.php:81
-msgid "Authorize application connection"
-msgstr "Geef toestemming voor applicatiekoppeling"
-
-#: ../../Zotlabs/Module/Api.php:61
-msgid "Return to your app and insert this Security Code:"
-msgstr "Ga terug naar je app en voeg deze beveiligingscode in:"
-
-#: ../../Zotlabs/Module/Api.php:71
-msgid "Please login to continue."
-msgstr "Inloggen om verder te kunnen gaan."
-
-#: ../../Zotlabs/Module/Api.php:83
-msgid ""
-"Do you want to authorize this application to access your posts and contacts,"
-" and/or create new posts for you?"
-msgstr "Wil je deze applicatie toestemming geven om jouw berichten en connecties te zien, en/of nieuwe berichten voor jou te plaatsen?"
-
#: ../../Zotlabs/Module/Siteinfo.php:19
#, php-format
msgid "Version %s"
@@ -4801,7 +4852,7 @@ msgstr "Voorstellen, lofbetuigingen, enz. - e-mail \"redmatrix\" at librelist -
msgid "Site Administrators"
msgstr "Hubbeheerders: "
-#: ../../Zotlabs/Module/Blocks.php:154 ../../include/text.php:2262
+#: ../../Zotlabs/Module/Blocks.php:154 ../../include/text.php:2308
msgid "Blocks"
msgstr "Blokken"
@@ -4809,16 +4860,16 @@ msgstr "Blokken"
msgid "Block Title"
msgstr "Bloktitel"
-#: ../../Zotlabs/Module/Blocks.php:161 ../../Zotlabs/Module/Layouts.php:193
-#: ../../Zotlabs/Module/Photos.php:1078 ../../Zotlabs/Module/Webpages.php:218
-#: ../../include/conversation.php:1226
-msgid "Share"
-msgstr "Delen"
-
-#: ../../Zotlabs/Module/Layouts.php:183 ../../include/text.php:2264
+#: ../../Zotlabs/Module/Layouts.php:183 ../../include/text.php:2310
msgid "Layouts"
msgstr "Lay-outs"
+#: ../../Zotlabs/Module/Layouts.php:185 ../../Zotlabs/Lib/Apps.php:225
+#: ../../include/help.php:47 ../../include/help.php:52
+#: ../../include/nav.php:164
+msgid "Help"
+msgstr "Hulp"
+
#: ../../Zotlabs/Module/Layouts.php:185
msgid "Comanche page description language help"
msgstr "Hulp met de paginabeschrijvingstaal Comanche"
@@ -4831,55 +4882,73 @@ msgstr "Lay-out-omschrijving"
msgid "Download PDL file"
msgstr "Download PDL-bestand"
-#: ../../Zotlabs/Module/Pubsites.php:22 ../../include/widgets.php:1351
-msgid "Public Hubs"
-msgstr "Openbare hubs"
+#: ../../Zotlabs/Module/Admin.php:97
+msgid "# Accounts"
+msgstr "# accounts"
-#: ../../Zotlabs/Module/Pubsites.php:25
-msgid ""
-"The listed hubs allow public registration for the $Projectname network. All "
-"hubs in the network are interlinked so membership on any of them conveys "
-"membership in the network as a whole. Some hubs may require subscription or "
-"provide tiered service plans. The hub itself <strong>may</strong> provide "
-"additional details."
-msgstr "Op de hier weergegeven hubs kan iedereen zich voor het $Projectname-netwerk aanmelden. Alle hubs in het netwerk zijn met elkaar verbonden, dus maakt het qua lidmaatschap niet uit waar je je aanmeldt. Op sommige hubs heb je eerst goedkeuring nodig en sommige hubs vereisen een financiële tegemoetkoming voor bepaalde uitbreidingen. <strong>Mogelijk</strong> wordt hierover op de hub zelf meer informatie gegeven."
+#: ../../Zotlabs/Module/Admin.php:98
+msgid "# blocked accounts"
+msgstr "# geblokkeerde accounts"
-#: ../../Zotlabs/Module/Pubsites.php:31
-msgid "Hub URL"
-msgstr "Hub-URL"
+#: ../../Zotlabs/Module/Admin.php:99
+msgid "# expired accounts"
+msgstr "# verlopen accounts"
-#: ../../Zotlabs/Module/Pubsites.php:31
-msgid "Access Type"
-msgstr "Toegangs-<br/>&nbsp;type"
+#: ../../Zotlabs/Module/Admin.php:100
+msgid "# expiring accounts"
+msgstr "# accounts die nog moeten verlopen"
-#: ../../Zotlabs/Module/Pubsites.php:31
-msgid "Registration Policy"
-msgstr "Registratie-<br/>&nbsp;beleid"
+#: ../../Zotlabs/Module/Admin.php:111
+msgid "# Channels"
+msgstr "# Kanalen"
-#: ../../Zotlabs/Module/Pubsites.php:31
-msgid "Stats"
-msgstr "Stats"
+#: ../../Zotlabs/Module/Admin.php:112
+msgid "# primary"
+msgstr "# primair"
-#: ../../Zotlabs/Module/Pubsites.php:31
-msgid "Software"
-msgstr "Software"
+#: ../../Zotlabs/Module/Admin.php:113
+msgid "# clones"
+msgstr "# klonen"
-#: ../../Zotlabs/Module/Pubsites.php:31 ../../Zotlabs/Module/Ratings.php:103
-#: ../../include/conversation.php:963
-msgid "Ratings"
-msgstr "Beoordelingen"
+#: ../../Zotlabs/Module/Admin.php:119
+msgid "Message queues"
+msgstr "Berichtenwachtrij"
-#: ../../Zotlabs/Module/Pubsites.php:38
-msgid "Rate"
-msgstr "Beoordeel"
+#: ../../Zotlabs/Module/Admin.php:136
+msgid "Your software should be updated"
+msgstr "Jouw software moet worden bijgewerkt "
-#: ../../Zotlabs/Module/Profile_photo.php:115
-#: ../../Zotlabs/Module/Profile_photo.php:212
-#: ../../Zotlabs/Module/Profile_photo.php:311
-#: ../../Zotlabs/Module/Photos.php:97 ../../Zotlabs/Module/Photos.php:745
-#: ../../include/photo/photo_driver.php:718
-msgid "Profile Photos"
-msgstr "Profielfoto's"
+#: ../../Zotlabs/Module/Admin.php:142
+msgid "Summary"
+msgstr "Samenvatting"
+
+#: ../../Zotlabs/Module/Admin.php:145
+msgid "Registered accounts"
+msgstr "Geregistreerde accounts"
+
+#: ../../Zotlabs/Module/Admin.php:146
+msgid "Pending registrations"
+msgstr "Accounts die op goedkeuring wachten"
+
+#: ../../Zotlabs/Module/Admin.php:147
+msgid "Registered channels"
+msgstr "Geregistreerde kanalen"
+
+#: ../../Zotlabs/Module/Admin.php:148
+msgid "Active plugins"
+msgstr "Ingeschakelde plugins"
+
+#: ../../Zotlabs/Module/Admin.php:149
+msgid "Version"
+msgstr "Versie"
+
+#: ../../Zotlabs/Module/Admin.php:150
+msgid "Repository version (master)"
+msgstr "Versie repository (master)"
+
+#: ../../Zotlabs/Module/Admin.php:151
+msgid "Repository version (dev)"
+msgstr "Versie repository (dev)"
#: ../../Zotlabs/Module/Profile_photo.php:186
msgid ""
@@ -4895,10 +4964,35 @@ msgstr "Profielfoto uploaden"
msgid "Permissions denied."
msgstr "Permissies niet toegestaan"
-#: ../../Zotlabs/Module/Cal.php:337 ../../include/text.php:2286
+#: ../../Zotlabs/Module/Cal.php:259 ../../Zotlabs/Module/Events.php:597
+msgid "l, F j"
+msgstr "l j F"
+
+#: ../../Zotlabs/Module/Cal.php:308 ../../Zotlabs/Module/Events.php:646
+#: ../../include/text.php:1762
+msgid "Link to Source"
+msgstr "Originele locatie"
+
+#: ../../Zotlabs/Module/Cal.php:331 ../../Zotlabs/Module/Events.php:674
+msgid "Edit Event"
+msgstr "Gebeurtenis bewerken"
+
+#: ../../Zotlabs/Module/Cal.php:331 ../../Zotlabs/Module/Events.php:674
+msgid "Create Event"
+msgstr "Gebeurtenis aanmaken"
+
+#: ../../Zotlabs/Module/Cal.php:334 ../../Zotlabs/Module/Events.php:677
+msgid "Export"
+msgstr "Exporteren"
+
+#: ../../Zotlabs/Module/Cal.php:337 ../../include/text.php:2332
msgid "Import"
msgstr "Importeren"
+#: ../../Zotlabs/Module/Cal.php:341 ../../Zotlabs/Module/Events.php:686
+msgid "Today"
+msgstr "Vandaag"
+
#: ../../Zotlabs/Module/Common.php:14
msgid "No channel."
msgstr "Geen kanaal."
@@ -4911,113 +5005,127 @@ msgstr "Veel voorkomende connecties"
msgid "No connections in common."
msgstr "Geen gemeenschappelijke connecties."
-#: ../../Zotlabs/Module/Rmagic.php:35
-msgid "Authentication failed."
-msgstr "Authenticatie mislukt."
-
-#: ../../Zotlabs/Module/Rmagic.php:75
-msgid "Remote Authentication"
-msgstr "Authenticatie op afstand"
-
-#: ../../Zotlabs/Module/Rmagic.php:76
-msgid "Enter your channel address (e.g. channel@example.com)"
-msgstr "Vul jouw kanaaladres in (bijv. channel@example.com)"
-
-#: ../../Zotlabs/Module/Rmagic.php:77
-msgid "Authenticate"
-msgstr "Authenticeren"
-
-#: ../../Zotlabs/Module/Ratings.php:73
+#: ../../Zotlabs/Module/Ratings.php:70
msgid "No ratings"
msgstr "Geen beoordelingen"
-#: ../../Zotlabs/Module/Ratings.php:104
+#: ../../Zotlabs/Module/Ratings.php:98
msgid "Rating: "
msgstr "Beoordeling: "
-#: ../../Zotlabs/Module/Ratings.php:105
+#: ../../Zotlabs/Module/Ratings.php:99
msgid "Website: "
msgstr "Website: "
-#: ../../Zotlabs/Module/Ratings.php:107
+#: ../../Zotlabs/Module/Ratings.php:101
msgid "Description: "
msgstr "Omschrijving: "
-#: ../../Zotlabs/Module/Apps.php:47 ../../include/widgets.php:102
-#: ../../include/nav.php:167
-msgid "Apps"
-msgstr "Apps"
+#: ../../Zotlabs/Module/Register.php:49
+msgid "Maximum daily site registrations exceeded. Please try again tomorrow."
+msgstr "Maximum toegestane dagelijkse registraties op deze $Projectname-hub bereikt. Probeer het morgen (UTC) nogmaals."
-#: ../../Zotlabs/Module/Network.php:94
-msgid "No such group"
-msgstr "Collectie niet gevonden"
+#: ../../Zotlabs/Module/Register.php:55
+msgid ""
+"Please indicate acceptance of the Terms of Service. Registration failed."
+msgstr "Registratie mislukt. De gebruiksvoorwaarden dienen wel geaccepteerd te worden."
-#: ../../Zotlabs/Module/Network.php:134
-msgid "No such channel"
-msgstr "Niet zo'n kanaal"
+#: ../../Zotlabs/Module/Register.php:89
+msgid "Passwords do not match."
+msgstr "Wachtwoorden komen niet met elkaar overeen."
-#: ../../Zotlabs/Module/Network.php:139
-msgid "forum"
-msgstr "forum"
+#: ../../Zotlabs/Module/Register.php:131
+msgid ""
+"Registration successful. Please check your email for validation "
+"instructions."
+msgstr "Registratie geslaagd. Controleer je e-mail voor instructies."
-#: ../../Zotlabs/Module/Network.php:151
-msgid "Search Results For:"
-msgstr "Zoekresultaten voor:"
+#: ../../Zotlabs/Module/Register.php:137
+msgid "Your registration is pending approval by the site owner."
+msgstr "Jouw accountregistratie wacht op goedkeuring van de beheerder van deze $Projectname-hub."
-#: ../../Zotlabs/Module/Network.php:216
-msgid "Privacy group is empty"
-msgstr "Privacygroep is leeg"
+#: ../../Zotlabs/Module/Register.php:140
+msgid "Your registration can not be processed."
+msgstr "Jouw registratie kan niet verwerkt worden."
-#: ../../Zotlabs/Module/Network.php:225
-msgid "Privacy group: "
-msgstr "Privacygroep: "
+#: ../../Zotlabs/Module/Register.php:184
+msgid "Registration on this hub is disabled."
+msgstr "Registreren van nieuwe accounts is op deze hub uitgeschakeld."
-#: ../../Zotlabs/Module/Network.php:251
-msgid "Invalid connection."
-msgstr "Ongeldige connectie."
+#: ../../Zotlabs/Module/Register.php:193
+msgid "Registration on this hub is by approval only."
+msgstr "Registraties op deze hub moeten eerst worden goedgekeurd."
-#: ../../Zotlabs/Module/Connect.php:61 ../../Zotlabs/Module/Connect.php:109
-msgid "Continue"
-msgstr "Ga verder"
+#: ../../Zotlabs/Module/Register.php:194
+msgid "<a href=\"pubsites\">Register at another affiliated hub.</a>"
+msgstr "<a href=\"pubsites\">Registreer op een andere hub</a>."
-#: ../../Zotlabs/Module/Connect.php:90
-msgid "Premium Channel Setup"
-msgstr "Instellen premiumkanaal "
+#: ../../Zotlabs/Module/Register.php:204
+msgid ""
+"This site has exceeded the number of allowed daily account registrations. "
+"Please try again tomorrow."
+msgstr "Deze $Projectname-hub heeft het maximum aantal dagelijks toegestane registraties bereikt. Probeer het morgen (UTC) nogmaals."
-#: ../../Zotlabs/Module/Connect.php:92
-msgid "Enable premium channel connection restrictions"
-msgstr "Restricties voor connecties van premiumkanaal toestaan"
+#: ../../Zotlabs/Module/Register.php:221
+msgid "Terms of Service"
+msgstr "Gebruiksvoorwaarden"
-#: ../../Zotlabs/Module/Connect.php:93
-msgid ""
-"Please enter your restrictions or conditions, such as paypal receipt, usage "
-"guidelines, etc."
-msgstr "Vul je restricties of voorwaarden in, zoals een paypal-afschrift, voorschriften voor leden, enz."
+#: ../../Zotlabs/Module/Register.php:227
+#, php-format
+msgid "I accept the %s for this website"
+msgstr "Ik accepteer de %s van deze $Projectname-hub"
-#: ../../Zotlabs/Module/Connect.php:95 ../../Zotlabs/Module/Connect.php:115
-msgid ""
-"This channel may require additional steps or acknowledgement of the "
-"following conditions prior to connecting:"
-msgstr "Dit kanaal kan extra stappen of het accepteren van de volgende voorwaarden vereisen, voordat de connectie wordt geaccepteerd:"
+#: ../../Zotlabs/Module/Register.php:229
+#, php-format
+msgid "I am over 13 years of age and accept the %s for this website"
+msgstr "Ik ben 13 jaar of ouder en accepteer de %s van deze $Projectname-hub"
-#: ../../Zotlabs/Module/Connect.php:96
-msgid ""
-"Potential connections will then see the following text before proceeding:"
-msgstr "Mogelijke connecties zullen dan de volgende tekst zien voordat ze verder kunnen:"
+#: ../../Zotlabs/Module/Register.php:233
+msgid "Your email address"
+msgstr "Jouw e-mailadres"
-#: ../../Zotlabs/Module/Connect.php:97 ../../Zotlabs/Module/Connect.php:118
+#: ../../Zotlabs/Module/Register.php:234
+msgid "Choose a password"
+msgstr "Geef een wachtwoord op"
+
+#: ../../Zotlabs/Module/Register.php:235
+msgid "Please re-enter your password"
+msgstr "Geef het wachtwoord opnieuw op"
+
+#: ../../Zotlabs/Module/Register.php:236
+msgid "Please enter your invitation code"
+msgstr "Vul jouw uitnodigingscode in"
+
+#: ../../Zotlabs/Module/Register.php:241
+msgid "no"
+msgstr "Nee"
+
+#: ../../Zotlabs/Module/Register.php:241
+msgid "yes"
+msgstr "Ja"
+
+#: ../../Zotlabs/Module/Register.php:258
+msgid "Membership on this site is by invitation only."
+msgstr "Registreren op deze $Projectname-hub kan alleen op uitnodiging."
+
+#: ../../Zotlabs/Module/Register.php:270 ../../include/nav.php:152
+#: ../../boot.php:1721
+msgid "Register"
+msgstr "Registreren"
+
+#: ../../Zotlabs/Module/Register.php:271
msgid ""
-"By continuing, I certify that I have complied with any instructions provided"
-" on this page."
-msgstr "Door verder te gaan ga ik automatisch akkoord met alle voorwaarden en aanwijzingen op deze pagina."
+"This site may require email verification after submitting this form. If you "
+"are returned to a login page, please check your email for instructions."
+msgstr "Mogelijk moet op deze hub eerst jouw e-mail geverifieerd worden. Wanneer je na het indienen van dit formulier op de inlogpagina terecht komt, dan dien je jouw e-mail te controleren voor instructies. Controleer eventueel ook jouw spamfolder."
-#: ../../Zotlabs/Module/Connect.php:106
-msgid "(No specific instructions have been provided by the channel owner.)"
-msgstr "(Er zijn geen speciale voorwaarden en aanwijzingen door de kanaal-eigenaar verstrekt) "
+#: ../../Zotlabs/Module/Help.php:27
+msgid "Documentation Search"
+msgstr "Zoek documentatie"
-#: ../../Zotlabs/Module/Connect.php:114
-msgid "Restricted or Premium Channel"
-msgstr "Beperkt of premiumkanaal"
+#: ../../Zotlabs/Module/Help.php:57
+msgid "$Projectname Documentation"
+msgstr "$Projectname-documentatie"
#: ../../Zotlabs/Module/Rbmark.php:94
msgid "Select a bookmark folder"
@@ -5035,278 +5143,21 @@ msgstr "URL van bladwijzer"
msgid "Or enter new bookmark folder name"
msgstr "Of geef de naam op van een nieuwe bladwijzermap"
-#: ../../Zotlabs/Module/Photos.php:82
-msgid "Page owner information could not be retrieved."
-msgstr "Informatie over de pagina-eigenaar werd niet ontvangen."
-
-#: ../../Zotlabs/Module/Photos.php:103 ../../Zotlabs/Module/Photos.php:147
-msgid "Album not found."
-msgstr "Album niet gevonden."
-
-#: ../../Zotlabs/Module/Photos.php:130
-msgid "Delete Album"
-msgstr "Verwijder album"
-
-#: ../../Zotlabs/Module/Photos.php:151
-msgid ""
-"Multiple storage folders exist with this album name, but within different "
-"directories. Please remove the desired folder or folders using the Files "
-"manager"
-msgstr "Er bestaan meerdere submappen met deze albumnaam, maar verspreidt over verschillende mappen. Verwijder de gewenste map(pen) met de bestandsbeheerder."
-
-#: ../../Zotlabs/Module/Photos.php:208 ../../Zotlabs/Module/Photos.php:1059
-msgid "Delete Photo"
-msgstr "Verwijder foto"
-
-#: ../../Zotlabs/Module/Photos.php:531
-msgid "No photos selected"
-msgstr "Geen foto's geselecteerd"
-
-#: ../../Zotlabs/Module/Photos.php:580
-msgid "Access to this item is restricted."
-msgstr "Toegang tot dit item is beperkt."
-
-#: ../../Zotlabs/Module/Photos.php:619
-#, php-format
-msgid "%1$.2f MB of %2$.2f MB photo storage used."
-msgstr "%1$.2f MB van %2$.2f MB aan foto-opslag gebruikt."
-
-#: ../../Zotlabs/Module/Photos.php:622
-#, php-format
-msgid "%1$.2f MB photo storage used."
-msgstr "%1$.2f MB aan foto-opslag gebruikt."
-
-#: ../../Zotlabs/Module/Photos.php:658
-msgid "Upload Photos"
-msgstr "Foto's uploaden"
-
-#: ../../Zotlabs/Module/Photos.php:662
-msgid "Enter an album name"
-msgstr "Vul een albumnaam in"
-
-#: ../../Zotlabs/Module/Photos.php:663
-msgid "or select an existing album (doubleclick)"
-msgstr "of kies een bestaand album (dubbelklikken)"
-
-#: ../../Zotlabs/Module/Photos.php:664
-msgid "Create a status post for this upload"
-msgstr "Plaats een bericht voor deze upload."
-
-#: ../../Zotlabs/Module/Photos.php:665
-msgid "Caption (optional):"
-msgstr "Bijschrift (optioneel):"
-
-#: ../../Zotlabs/Module/Photos.php:666
-msgid "Description (optional):"
-msgstr "Omschrijving (optioneel):"
-
-#: ../../Zotlabs/Module/Photos.php:697
-msgid "Album name could not be decoded"
-msgstr "Albumnaam kon niet gedecodeerd worden"
-
-#: ../../Zotlabs/Module/Photos.php:745
-msgid "Contact Photos"
-msgstr "Connectiefoto's"
-
-#: ../../Zotlabs/Module/Photos.php:768
-msgid "Show Newest First"
-msgstr "Nieuwste eerst weergeven"
-
-#: ../../Zotlabs/Module/Photos.php:770
-msgid "Show Oldest First"
-msgstr "Oudste eerst weergeven"
-
-#: ../../Zotlabs/Module/Photos.php:794 ../../Zotlabs/Module/Photos.php:1337
-#: ../../Zotlabs/Module/Embedphotos.php:141 ../../include/widgets.php:1607
-msgid "View Photo"
-msgstr "Foto weergeven"
-
-#: ../../Zotlabs/Module/Photos.php:825
-#: ../../Zotlabs/Module/Embedphotos.php:157 ../../include/widgets.php:1624
-msgid "Edit Album"
-msgstr "Album bewerken"
-
-#: ../../Zotlabs/Module/Photos.php:872
-msgid "Permission denied. Access to this item may be restricted."
-msgstr "Toegang geweigerd. Toegang tot dit item kan zijn beperkt."
-
-#: ../../Zotlabs/Module/Photos.php:874
-msgid "Photo not available"
-msgstr "Foto niet aanwezig"
-
-#: ../../Zotlabs/Module/Photos.php:932
-msgid "Use as profile photo"
-msgstr "Als profielfoto gebruiken"
-
-#: ../../Zotlabs/Module/Photos.php:933
-msgid "Use as cover photo"
-msgstr "Als omslagfoto gebruiken"
-
-#: ../../Zotlabs/Module/Photos.php:940
-msgid "Private Photo"
-msgstr "Privéfoto"
-
-#: ../../Zotlabs/Module/Photos.php:955
-msgid "View Full Size"
-msgstr "Volledige grootte weergeven"
-
-#: ../../Zotlabs/Module/Photos.php:1034
-msgid "Edit photo"
-msgstr "Foto bewerken"
-
-#: ../../Zotlabs/Module/Photos.php:1036
-msgid "Rotate CW (right)"
-msgstr "Draai met de klok mee (naar rechts)"
-
-#: ../../Zotlabs/Module/Photos.php:1037
-msgid "Rotate CCW (left)"
-msgstr "Draai tegen de klok in (naar links)"
-
-#: ../../Zotlabs/Module/Photos.php:1040
-msgid "Enter a new album name"
-msgstr "Vul een nieuwe albumnaam in"
-
-#: ../../Zotlabs/Module/Photos.php:1041
-msgid "or select an existing one (doubleclick)"
-msgstr "of kies een bestaand album (dubbelklikken)"
-
-#: ../../Zotlabs/Module/Photos.php:1044
-msgid "Caption"
-msgstr "Bijschrift"
-
-#: ../../Zotlabs/Module/Photos.php:1046
-msgid "Add a Tag"
-msgstr "Tag toevoegen"
-
-#: ../../Zotlabs/Module/Photos.php:1054
-msgid "Example: @bob, @Barbara_Jensen, @jim@example.com"
-msgstr "Voorbeeld: @bob, @Barbara_Jansen, @jan@voorbeeld.nl"
-
-#: ../../Zotlabs/Module/Photos.php:1057
-msgid "Flag as adult in album view"
-msgstr "Markeer als voor volwassenen in albumweergave"
-
-#: ../../Zotlabs/Module/Photos.php:1076 ../../Zotlabs/Lib/ThreadItem.php:262
-msgid "I like this (toggle)"
-msgstr "Vind ik leuk"
-
-#: ../../Zotlabs/Module/Photos.php:1077 ../../Zotlabs/Lib/ThreadItem.php:263
-msgid "I don't like this (toggle)"
-msgstr "Vind ik niet leuk"
-
-#: ../../Zotlabs/Module/Photos.php:1079 ../../Zotlabs/Lib/ThreadItem.php:398
-#: ../../include/conversation.php:743
-msgid "Please wait"
-msgstr "Even wachten"
-
-#: ../../Zotlabs/Module/Photos.php:1095 ../../Zotlabs/Module/Photos.php:1213
-#: ../../Zotlabs/Lib/ThreadItem.php:708
-msgid "This is you"
-msgstr "Dit ben jij"
-
-#: ../../Zotlabs/Module/Photos.php:1097 ../../Zotlabs/Module/Photos.php:1215
-#: ../../Zotlabs/Lib/ThreadItem.php:710 ../../include/js_strings.php:6
-msgid "Comment"
-msgstr "Reactie"
-
-#: ../../Zotlabs/Module/Photos.php:1113 ../../include/conversation.php:577
-msgctxt "title"
-msgid "Likes"
-msgstr "vinden dit leuk"
-
-#: ../../Zotlabs/Module/Photos.php:1113 ../../include/conversation.php:577
-msgctxt "title"
-msgid "Dislikes"
-msgstr "vinden dit niet leuk"
-
-#: ../../Zotlabs/Module/Photos.php:1114 ../../include/conversation.php:578
-msgctxt "title"
-msgid "Agree"
-msgstr "eens"
-
-#: ../../Zotlabs/Module/Photos.php:1114 ../../include/conversation.php:578
-msgctxt "title"
-msgid "Disagree"
-msgstr "oneens"
-
-#: ../../Zotlabs/Module/Photos.php:1114 ../../include/conversation.php:578
-msgctxt "title"
-msgid "Abstain"
-msgstr "onthoudingen"
-
-#: ../../Zotlabs/Module/Photos.php:1115 ../../include/conversation.php:579
-msgctxt "title"
-msgid "Attending"
-msgstr "aanwezig"
-
-#: ../../Zotlabs/Module/Photos.php:1115 ../../include/conversation.php:579
-msgctxt "title"
-msgid "Not attending"
-msgstr "niet aanwezig"
-
-#: ../../Zotlabs/Module/Photos.php:1115 ../../include/conversation.php:579
-msgctxt "title"
-msgid "Might attend"
-msgstr "mogelijk aanwezig"
-
-#: ../../Zotlabs/Module/Photos.php:1132 ../../Zotlabs/Module/Photos.php:1144
-#: ../../Zotlabs/Lib/ThreadItem.php:181 ../../Zotlabs/Lib/ThreadItem.php:193
-#: ../../include/conversation.php:1753
-msgid "View all"
-msgstr "Toon alles"
-
-#: ../../Zotlabs/Module/Photos.php:1136 ../../Zotlabs/Lib/ThreadItem.php:185
-#: ../../include/conversation.php:1777 ../../include/taxonomy.php:403
-#: ../../include/channel.php:1182
-msgctxt "noun"
-msgid "Like"
-msgid_plural "Likes"
-msgstr[0] "vindt dit leuk"
-msgstr[1] "vinden dit leuk"
-
-#: ../../Zotlabs/Module/Photos.php:1141 ../../Zotlabs/Lib/ThreadItem.php:190
-#: ../../include/conversation.php:1780
-msgctxt "noun"
-msgid "Dislike"
-msgid_plural "Dislikes"
-msgstr[0] "vindt dit niet leuk"
-msgstr[1] "vinden dit niet leuk"
-
-#: ../../Zotlabs/Module/Photos.php:1241
-msgid "Photo Tools"
-msgstr "Hulpmiddelen"
-
-#: ../../Zotlabs/Module/Photos.php:1250
-msgid "In This Photo:"
-msgstr "Op deze foto:"
-
-#: ../../Zotlabs/Module/Photos.php:1255
-msgid "Map"
-msgstr "Kaart"
-
-#: ../../Zotlabs/Module/Photos.php:1263 ../../Zotlabs/Lib/ThreadItem.php:387
-msgctxt "noun"
-msgid "Likes"
-msgstr "vinden dit leuk"
-
-#: ../../Zotlabs/Module/Photos.php:1264 ../../Zotlabs/Lib/ThreadItem.php:388
-msgctxt "noun"
-msgid "Dislikes"
-msgstr "vinden dit niet leuk"
+#: ../../Zotlabs/Module/Rmagic.php:35
+msgid "Authentication failed."
+msgstr "Authenticatie mislukt."
-#: ../../Zotlabs/Module/Photos.php:1269 ../../Zotlabs/Lib/ThreadItem.php:393
-#: ../../include/acl_selectors.php:188
-msgid "Close"
-msgstr "Sluiten"
+#: ../../Zotlabs/Module/Rmagic.php:75
+msgid "Remote Authentication"
+msgstr "Authenticatie op afstand"
-#: ../../Zotlabs/Module/Photos.php:1343
-msgid "View Album"
-msgstr "Album weergeven"
+#: ../../Zotlabs/Module/Rmagic.php:76
+msgid "Enter your channel address (e.g. channel@example.com)"
+msgstr "Vul jouw kanaaladres in (bijv. channel@example.com)"
-#: ../../Zotlabs/Module/Photos.php:1354 ../../Zotlabs/Module/Photos.php:1367
-#: ../../Zotlabs/Module/Photos.php:1368
-msgid "Recent Photos"
-msgstr "Recente foto's"
+#: ../../Zotlabs/Module/Rmagic.php:77
+msgid "Authenticate"
+msgstr "Authenticeren"
#: ../../Zotlabs/Module/Regmod.php:15
msgid "Please login."
@@ -5323,26 +5174,11 @@ msgid "Remove This Account"
msgstr "Verwijder dit account"
#: ../../Zotlabs/Module/Removeaccount.php:58
-#: ../../Zotlabs/Module/Removeme.php:61
-msgid "WARNING: "
-msgstr "WAARSCHUWING: "
-
-#: ../../Zotlabs/Module/Removeaccount.php:58
msgid ""
"This account and all its channels will be completely removed from the "
"network. "
msgstr "Dit account en al zijn kanalen worden volledig uit het $Projectname-netwerk verwijderd."
-#: ../../Zotlabs/Module/Removeaccount.php:58
-#: ../../Zotlabs/Module/Removeme.php:61
-msgid "This action is permanent and can not be undone!"
-msgstr "Deze handeling is van permanente aard en kan niet meer worden teruggedraaid!"
-
-#: ../../Zotlabs/Module/Removeaccount.php:59
-#: ../../Zotlabs/Module/Removeme.php:62
-msgid "Please enter your password for verification:"
-msgstr "Vul je wachtwoord in ter verificatie:"
-
#: ../../Zotlabs/Module/Removeaccount.php:60
msgid ""
"Remove this account, all its channels and all its channel clones from the "
@@ -5356,37 +5192,62 @@ msgid ""
msgstr "Standaard worden alleen de kanalen die zich op deze hub bevinden uit het $Projectname-netwerk verwijderd"
#: ../../Zotlabs/Module/Removeaccount.php:61
-#: ../../Zotlabs/Module/Settings.php:797
+#: ../../Zotlabs/Module/Settings/Account.php:128
msgid "Remove Account"
msgstr "Account verwijderen"
-#: ../../Zotlabs/Module/Removeme.php:35
-msgid ""
-"Channel removals are not allowed within 48 hours of changing the account "
-"password."
-msgstr "Het verwijderen van een kanaal is niet toegestaan binnen 48 uur nadat het wachtwoord van het account is veranderd."
+#: ../../Zotlabs/Module/Webpages.php:52
+msgid "Import Webpage Elements"
+msgstr "Webpagina-elementen importeren"
-#: ../../Zotlabs/Module/Removeme.php:60
-msgid "Remove This Channel"
-msgstr "Verwijder dit kanaal"
+#: ../../Zotlabs/Module/Webpages.php:53
+msgid "Import selected"
+msgstr "Importbestand geselecteerd"
-#: ../../Zotlabs/Module/Removeme.php:61
-msgid "This channel will be completely removed from the network. "
-msgstr "Dit kanaal wordt volledig uit het $Projectname-netwerk verwijderd."
+#: ../../Zotlabs/Module/Webpages.php:76
+msgid "Export Webpage Elements"
+msgstr "Webpagina-elementen exporteren"
-#: ../../Zotlabs/Module/Removeme.php:63
-msgid "Remove this channel and all its clones from the network"
-msgstr "Dit kanaal en alle klonen hiervan uit het $Projectname-netwerk verwijderen"
+#: ../../Zotlabs/Module/Webpages.php:77
+msgid "Export selected"
+msgstr "Selectie exporteren"
-#: ../../Zotlabs/Module/Removeme.php:63
-msgid ""
-"By default only the instance of the channel located on this hub will be "
-"removed from the network"
-msgstr "Standaard wordt alleen het kanaal dat zich op deze hub bevindt uit het $Projectname-netwerk verwijderd"
+#: ../../Zotlabs/Module/Webpages.php:237 ../../Zotlabs/Lib/Apps.php:218
+#: ../../include/nav.php:109 ../../include/conversation.php:1725
+msgid "Webpages"
+msgstr "Webpagina's"
-#: ../../Zotlabs/Module/Removeme.php:64 ../../Zotlabs/Module/Settings.php:1323
-msgid "Remove Channel"
-msgstr "Kanaal verwijderen"
+#: ../../Zotlabs/Module/Webpages.php:248 ../../include/page_widgets.php:44
+msgid "Actions"
+msgstr "Acties"
+
+#: ../../Zotlabs/Module/Webpages.php:249 ../../include/page_widgets.php:45
+msgid "Page Link"
+msgstr "Paginalink"
+
+#: ../../Zotlabs/Module/Webpages.php:250
+msgid "Page Title"
+msgstr "Paginatitel"
+
+#: ../../Zotlabs/Module/Webpages.php:280
+msgid "Invalid file type."
+msgstr "Ongeldig bestandsformaat"
+
+#: ../../Zotlabs/Module/Webpages.php:292
+msgid "Error opening zip file"
+msgstr "Fout met openen zipbestand"
+
+#: ../../Zotlabs/Module/Webpages.php:303
+msgid "Invalid folder path."
+msgstr "Ongeldige maplocatie"
+
+#: ../../Zotlabs/Module/Webpages.php:330
+msgid "No webpage elements detected."
+msgstr "Geen webpagina-elementen gedecteerd"
+
+#: ../../Zotlabs/Module/Webpages.php:405
+msgid "Import complete."
+msgstr "Importeren voltooid."
#: ../../Zotlabs/Module/Uexport.php:55 ../../Zotlabs/Module/Uexport.php:56
msgid "Export Channel"
@@ -5446,166 +5307,241 @@ msgid ""
" please import or restore these in date order (oldest first)."
msgstr "Deze back-up-bestanden kunnen geïmporteerd of hersteld worden door op jouw hub en met jouw kanaal <a href=\"%1$s\">%2$s</a> te bezoeken. Voor het beste resultaat kan je de bestanden in chronologische volgorde importeren of herstellen."
-#: ../../Zotlabs/Module/Webpages.php:53
-msgid "Import Webpage Elements"
-msgstr "Webpagina-elementen importeren"
+#: ../../Zotlabs/Module/Editpost.php:35
+msgid "Item is not editable"
+msgstr "Item is niet te bewerken"
-#: ../../Zotlabs/Module/Webpages.php:54
-msgid "Import selected"
-msgstr "Importbestand geselecteerd"
+#: ../../Zotlabs/Module/Search.php:216
+#, php-format
+msgid "Items tagged with: %s"
+msgstr "Items getagd met %s"
-#: ../../Zotlabs/Module/Webpages.php:214 ../../Zotlabs/Lib/Apps.php:218
-#: ../../include/conversation.php:1715 ../../include/nav.php:108
-msgid "Webpages"
-msgstr "Webpagina's"
+#: ../../Zotlabs/Module/Search.php:218
+#, php-format
+msgid "Search results for: %s"
+msgstr "Zoekresultaten voor %s"
-#: ../../Zotlabs/Module/Webpages.php:225 ../../include/page_widgets.php:44
-msgid "Actions"
-msgstr "Acties"
+#: ../../Zotlabs/Module/Events.php:25
+msgid "Calendar entries imported."
+msgstr "Agenda-items geïmporteerd."
-#: ../../Zotlabs/Module/Webpages.php:226 ../../include/page_widgets.php:45
-msgid "Page Link"
-msgstr "Paginalink"
+#: ../../Zotlabs/Module/Events.php:27
+msgid "No calendar entries found."
+msgstr "Geen agenda-items gevonden."
-#: ../../Zotlabs/Module/Webpages.php:227
-msgid "Page Title"
-msgstr "Paginatitel"
+#: ../../Zotlabs/Module/Events.php:104
+msgid "Event can not end before it has started."
+msgstr "Gebeurtenis kan niet eindigen voordat het is begonnen"
-#: ../../Zotlabs/Module/Webpages.php:258
-msgid "Invalid file type."
-msgstr "Ongeldig bestandsformaat"
+#: ../../Zotlabs/Module/Events.php:106 ../../Zotlabs/Module/Events.php:115
+#: ../../Zotlabs/Module/Events.php:135
+msgid "Unable to generate preview."
+msgstr "Niet in staat om voorvertoning te genereren"
-#: ../../Zotlabs/Module/Webpages.php:270
-msgid "Error opening zip file"
-msgstr "Fout met openen zipbestand"
+#: ../../Zotlabs/Module/Events.php:113
+msgid "Event title and start time are required."
+msgstr "Titel en begintijd van gebeurtenis zijn vereist."
-#: ../../Zotlabs/Module/Webpages.php:281
-msgid "Invalid folder path."
-msgstr "Ongeldige maplocatie"
+#: ../../Zotlabs/Module/Events.php:133 ../../Zotlabs/Module/Events.php:258
+msgid "Event not found."
+msgstr "Gebeurtenis niet gevonden"
-#: ../../Zotlabs/Module/Webpages.php:308
-msgid "No webpage elements detected."
-msgstr "Geen webpagina-elementen gedecteerd"
+#: ../../Zotlabs/Module/Events.php:452
+msgid "Edit event title"
+msgstr "Titel bewerken"
-#: ../../Zotlabs/Module/Webpages.php:382
-msgid "Import complete."
-msgstr "Importeren voltooid."
+#: ../../Zotlabs/Module/Events.php:452
+msgid "Event title"
+msgstr "Titel"
-#: ../../Zotlabs/Module/Search.php:216
-#, php-format
-msgid "Items tagged with: %s"
-msgstr "Items getagd met %s"
+#: ../../Zotlabs/Module/Events.php:454
+msgid "Categories (comma-separated list)"
+msgstr "Categorieën (door komma's gescheiden lijst)"
-#: ../../Zotlabs/Module/Search.php:218
-#, php-format
-msgid "Search results for: %s"
-msgstr "Zoekresultaten voor %s"
+#: ../../Zotlabs/Module/Events.php:455
+msgid "Edit Category"
+msgstr "Categorie"
-#: ../../Zotlabs/Module/Service_limits.php:23
-msgid "No service class restrictions found."
-msgstr "Geen abonnementsbeperkingen gevonden."
+#: ../../Zotlabs/Module/Events.php:455
+msgid "Category"
+msgstr "Categorie"
-#: ../../Zotlabs/Module/Register.php:49
-msgid "Maximum daily site registrations exceeded. Please try again tomorrow."
-msgstr "Maximum toegestane dagelijkse registraties op deze $Projectname-hub bereikt. Probeer het morgen (UTC) nogmaals."
+#: ../../Zotlabs/Module/Events.php:458
+msgid "Edit start date and time"
+msgstr "Begindatum en -tijd bewerken"
-#: ../../Zotlabs/Module/Register.php:55
-msgid ""
-"Please indicate acceptance of the Terms of Service. Registration failed."
-msgstr "Registratie mislukt. De gebruiksvoorwaarden dienen wel geaccepteerd te worden."
+#: ../../Zotlabs/Module/Events.php:458
+msgid "Start date and time"
+msgstr "Begindatum en -tijd"
-#: ../../Zotlabs/Module/Register.php:89
-msgid "Passwords do not match."
-msgstr "Wachtwoorden komen niet met elkaar overeen."
+#: ../../Zotlabs/Module/Events.php:459 ../../Zotlabs/Module/Events.php:462
+msgid "Finish date and time are not known or not relevant"
+msgstr "Einddatum en -tijd zijn niet bekend of niet van toepassing"
-#: ../../Zotlabs/Module/Register.php:131
+#: ../../Zotlabs/Module/Events.php:461
+msgid "Edit finish date and time"
+msgstr "Einddatum en -tijd bewerken"
+
+#: ../../Zotlabs/Module/Events.php:461
+msgid "Finish date and time"
+msgstr "Einddatum en -tijd"
+
+#: ../../Zotlabs/Module/Events.php:463 ../../Zotlabs/Module/Events.php:464
+msgid "Adjust for viewer timezone"
+msgstr "Aanpassen aan de tijdzone van wie deze gebeurtenis bekijkt"
+
+#: ../../Zotlabs/Module/Events.php:463
msgid ""
-"Registration successful. Please check your email for validation "
-"instructions."
-msgstr "Registratie geslaagd. Controleer je e-mail voor instructies."
+"Important for events that happen in a particular place. Not practical for "
+"global holidays."
+msgstr "Belangrijk voor gebeurtenissen die op een bepaalde locatie plaatsvinden. Niet praktisch voor wereldwijde feestdagen."
-#: ../../Zotlabs/Module/Register.php:137
-msgid "Your registration is pending approval by the site owner."
-msgstr "Jouw accountregistratie wacht op goedkeuring van de beheerder van deze $Projectname-hub."
+#: ../../Zotlabs/Module/Events.php:465
+msgid "Edit Description"
+msgstr "Omschrijving bewerken"
-#: ../../Zotlabs/Module/Register.php:140
-msgid "Your registration can not be processed."
-msgstr "Jouw registratie kan niet verwerkt worden."
+#: ../../Zotlabs/Module/Events.php:467
+msgid "Edit Location"
+msgstr "Locatie bewerken"
-#: ../../Zotlabs/Module/Register.php:184
-msgid "Registration on this hub is disabled."
-msgstr "Registreren van nieuwe accounts is op deze hub uitgeschakeld."
+#: ../../Zotlabs/Module/Events.php:470 ../../Zotlabs/Module/Events.php:472
+msgid "Share this event"
+msgstr "Deel deze gebeurtenis"
-#: ../../Zotlabs/Module/Register.php:193
-msgid "Registration on this hub is by approval only."
-msgstr "Registraties op deze hub moeten eerst worden goedgekeurd."
+#: ../../Zotlabs/Module/Events.php:474 ../../include/conversation.php:1264
+msgid "Permission settings"
+msgstr "Permissies"
-#: ../../Zotlabs/Module/Register.php:194
-msgid "<a href=\"pubsites\">Register at another affiliated hub.</a>"
-msgstr "<a href=\"pubsites\">Registreer op een andere hub</a>."
+#: ../../Zotlabs/Module/Events.php:485
+msgid "Advanced Options"
+msgstr "Geavanceerde opties"
-#: ../../Zotlabs/Module/Register.php:204
-msgid ""
-"This site has exceeded the number of allowed daily account registrations. "
-"Please try again tomorrow."
-msgstr "Deze $Projectname-hub heeft het maximum aantal dagelijks toegestane registraties bereikt. Probeer het morgen (UTC) nogmaals."
+#: ../../Zotlabs/Module/Events.php:619
+msgid "Edit event"
+msgstr "Gebeurtenis bewerken"
-#: ../../Zotlabs/Module/Register.php:215
-msgid "Terms of Service"
-msgstr "Gebruiksvoorwaarden"
+#: ../../Zotlabs/Module/Events.php:621
+msgid "Delete event"
+msgstr "Gebeurtenis verwijderen"
-#: ../../Zotlabs/Module/Register.php:221
-#, php-format
-msgid "I accept the %s for this website"
-msgstr "Ik accepteer de %s van deze $Projectname-hub"
+#: ../../Zotlabs/Module/Events.php:655
+msgid "calendar"
+msgstr "agenda"
+
+#: ../../Zotlabs/Module/Events.php:681
+msgid "Month"
+msgstr "Maand"
+
+#: ../../Zotlabs/Module/Events.php:682
+msgid "Week"
+msgstr "Week"
+
+#: ../../Zotlabs/Module/Events.php:683
+msgid "Day"
+msgstr "Dag"
+
+#: ../../Zotlabs/Module/Events.php:717
+msgid "Event removed"
+msgstr "Gebeurtenis verwijderd"
-#: ../../Zotlabs/Module/Register.php:223
+#: ../../Zotlabs/Module/Events.php:720
+msgid "Failed to remove event"
+msgstr "Verwijderen gebeurtenis mislukt"
+
+#: ../../Zotlabs/Module/Service_limits.php:23
+msgid "No service class restrictions found."
+msgstr "Geen abonnementsbeperkingen gevonden."
+
+#: ../../Zotlabs/Module/Thing.php:114
+msgid "Thing updated"
+msgstr "Ding bijgewerkt"
+
+#: ../../Zotlabs/Module/Thing.php:166
+msgid "Object store: failed"
+msgstr "Opslaan van ding mislukt"
+
+#: ../../Zotlabs/Module/Thing.php:170
+msgid "Thing added"
+msgstr "Ding toegevoegd"
+
+#: ../../Zotlabs/Module/Thing.php:196
#, php-format
-msgid "I am over 13 years of age and accept the %s for this website"
-msgstr "Ik ben 13 jaar of ouder en accepteer de %s van deze $Projectname-hub"
+msgid "OBJ: %1$s %2$s %3$s"
+msgstr "OBJ: %1$s %2$s %3$s"
-#: ../../Zotlabs/Module/Register.php:227
-msgid "Your email address"
-msgstr "Jouw e-mailadres"
+#: ../../Zotlabs/Module/Thing.php:259
+msgid "Show Thing"
+msgstr "Ding weergeven"
-#: ../../Zotlabs/Module/Register.php:228
-msgid "Choose a password"
-msgstr "Geef een wachtwoord op"
+#: ../../Zotlabs/Module/Thing.php:266
+msgid "item not found."
+msgstr "Item niet gevonden"
-#: ../../Zotlabs/Module/Register.php:229
-msgid "Please re-enter your password"
-msgstr "Geef het wachtwoord opnieuw op"
+#: ../../Zotlabs/Module/Thing.php:299
+msgid "Edit Thing"
+msgstr "Ding bewerken"
-#: ../../Zotlabs/Module/Register.php:230
-msgid "Please enter your invitation code"
-msgstr "Vul jouw uitnodigingscode in"
+#: ../../Zotlabs/Module/Thing.php:301 ../../Zotlabs/Module/Thing.php:355
+msgid "Select a profile"
+msgstr "Kies een profiel"
-#: ../../Zotlabs/Module/Register.php:236
-msgid "no"
-msgstr "Nee"
+#: ../../Zotlabs/Module/Thing.php:305 ../../Zotlabs/Module/Thing.php:358
+msgid "Post an activity"
+msgstr "Plaats een bericht"
-#: ../../Zotlabs/Module/Register.php:236
-msgid "yes"
-msgstr "Ja"
+#: ../../Zotlabs/Module/Thing.php:305 ../../Zotlabs/Module/Thing.php:358
+msgid "Only sends to viewers of the applicable profile"
+msgstr "Toont dit alleen aan diegene die het gekozen profiel mogen zien."
-#: ../../Zotlabs/Module/Register.php:253
-msgid "Membership on this site is by invitation only."
-msgstr "Registreren op deze $Projectname-hub kan alleen op uitnodiging."
+#: ../../Zotlabs/Module/Thing.php:307 ../../Zotlabs/Module/Thing.php:360
+msgid "Name of thing e.g. something"
+msgstr "Naam van ding"
-#: ../../Zotlabs/Module/Register.php:265 ../../include/nav.php:151
-#: ../../boot.php:1695
-msgid "Register"
-msgstr "Registreren"
+#: ../../Zotlabs/Module/Thing.php:309 ../../Zotlabs/Module/Thing.php:361
+msgid "URL of thing (optional)"
+msgstr "URL van ding (optioneel)"
-#: ../../Zotlabs/Module/Register.php:266
-msgid ""
-"This site may require email verification after submitting this form. If you "
-"are returned to a login page, please check your email for instructions."
-msgstr "Mogelijk moet op deze hub eerst jouw e-mail geverifieerd worden. Wanneer je na het indienen van dit formulier op de inlogpagina terecht komt, dan dien je jouw e-mail te controleren voor instructies. Controleer eventueel ook jouw spamfolder."
+#: ../../Zotlabs/Module/Thing.php:311 ../../Zotlabs/Module/Thing.php:362
+msgid "URL for photo of thing (optional)"
+msgstr "URL voor foto van ding (optioneel)"
-#: ../../Zotlabs/Module/Rpost.php:135 ../../Zotlabs/Module/Editpost.php:106
-msgid "Edit post"
-msgstr "Bericht bewerken"
+#: ../../Zotlabs/Module/Thing.php:353
+msgid "Add Thing to your Profile"
+msgstr "Ding aan je profiel toevoegen"
+
+#: ../../Zotlabs/Module/Item.php:180
+msgid "Unable to locate original post."
+msgstr "Niet in staat om de originele locatie van het bericht te vinden. "
+
+#: ../../Zotlabs/Module/Item.php:433
+msgid "Empty post discarded."
+msgstr "Leeg bericht geannuleerd"
+
+#: ../../Zotlabs/Module/Item.php:473
+msgid "Executable content type not permitted to this channel."
+msgstr "Uitvoerbare bestanden zijn niet toegestaan op dit kanaal."
+
+#: ../../Zotlabs/Module/Item.php:851
+msgid "Duplicate post suppressed."
+msgstr "Dubbel bericht tegengehouden."
+
+#: ../../Zotlabs/Module/Item.php:986
+msgid "System error. Post not saved."
+msgstr "Systeemfout. Bericht niet opgeslagen."
+
+#: ../../Zotlabs/Module/Item.php:1107
+msgid "Unable to obtain post information from database."
+msgstr "Niet in staat om informatie over dit bericht uit de database te verkrijgen."
+
+#: ../../Zotlabs/Module/Item.php:1114
+#, php-format
+msgid "You have reached your limit of %1$.0f top level posts."
+msgstr "Je hebt jouw limiet van %1$.0f berichten bereikt."
+
+#: ../../Zotlabs/Module/Item.php:1121
+#, php-format
+msgid "You have reached your limit of %1$.0f webpages."
+msgstr "Je hebt jouw limiet van %1$.0f webpagina's bereikt."
#: ../../Zotlabs/Module/Sharedwithme.php:98
msgid "Files: shared with me"
@@ -5623,13 +5559,82 @@ msgstr "Verwijder alle bestanden"
msgid "Remove this file"
msgstr "Verwijder dit bestand"
-#: ../../Zotlabs/Module/Acl.php:312
-msgid "network"
-msgstr "netwerk"
+#: ../../Zotlabs/Module/Wiki.php:34
+msgid "Not found"
+msgstr "Niet gevonden"
-#: ../../Zotlabs/Module/Acl.php:322
-msgid "RSS"
-msgstr "RSS"
+#: ../../Zotlabs/Module/Wiki.php:97 ../../Zotlabs/Lib/Apps.php:219
+#: ../../include/features.php:99 ../../include/nav.php:111
+#: ../../include/conversation.php:1735 ../../include/conversation.php:1738
+msgid "Wiki"
+msgstr "Wiki"
+
+#: ../../Zotlabs/Module/Wiki.php:98
+msgid "Sandbox"
+msgstr "Zandbak"
+
+#: ../../Zotlabs/Module/Wiki.php:100
+msgid ""
+"\"# Wiki Sandbox\\n\\nContent you **edit** and **preview** here *will not be"
+" saved*.\""
+msgstr "\"# Wiki Sandbox\\n\\nWat er hier onder **edit** en **preview** staat *wordt niet opgeslagen*.\""
+
+#: ../../Zotlabs/Module/Wiki.php:169
+msgid "Revision Comparison"
+msgstr "Revisies vergelijken"
+
+#: ../../Zotlabs/Module/Wiki.php:170
+msgid "Revert"
+msgstr "Ongedaan maken"
+
+#: ../../Zotlabs/Module/Wiki.php:201
+msgid "Enter the name of your new wiki:"
+msgstr "Vul de naam in van jouw nieuwe wiki:"
+
+#: ../../Zotlabs/Module/Wiki.php:202
+msgid "Enter the name of the new page:"
+msgstr "Vul de naam in van de nieuwe pagina:"
+
+#: ../../Zotlabs/Module/Wiki.php:203
+msgid "Enter the new name:"
+msgstr "Vul de nieuwe naam in:"
+
+#: ../../Zotlabs/Module/Wiki.php:209 ../../include/conversation.php:1153
+msgid "Embed image from photo albums"
+msgstr "Afbeelding uit een fotoalbum invoegen"
+
+#: ../../Zotlabs/Module/Wiki.php:210 ../../include/conversation.php:1247
+msgid "Embed an image from your albums"
+msgstr "Afbeelding uit jouw albums invoegen"
+
+#: ../../Zotlabs/Module/Wiki.php:212 ../../include/conversation.php:1249
+#: ../../include/conversation.php:1296
+msgid "OK"
+msgstr "OK"
+
+#: ../../Zotlabs/Module/Wiki.php:213 ../../include/conversation.php:1189
+msgid "Choose images to embed"
+msgstr "Kies afbeeldingen om in te voegen"
+
+#: ../../Zotlabs/Module/Wiki.php:214 ../../include/conversation.php:1190
+msgid "Choose an album"
+msgstr "Kies een album"
+
+#: ../../Zotlabs/Module/Wiki.php:215 ../../include/conversation.php:1191
+msgid "Choose a different album..."
+msgstr "Kies een ander album..."
+
+#: ../../Zotlabs/Module/Wiki.php:216 ../../include/conversation.php:1192
+msgid "Error getting album list"
+msgstr "Fout met ophalen albumlijst"
+
+#: ../../Zotlabs/Module/Wiki.php:217 ../../include/conversation.php:1193
+msgid "Error getting photo link"
+msgstr "Fout met ophalen fotolink"
+
+#: ../../Zotlabs/Module/Wiki.php:218 ../../include/conversation.php:1194
+msgid "Error getting album"
+msgstr "Fout met ophalen album"
#: ../../Zotlabs/Module/Sources.php:37
msgid "Failed to create source. No channel selected."
@@ -5647,8 +5652,8 @@ msgstr "Bron aangemaakt."
msgid "*"
msgstr "*"
-#: ../../Zotlabs/Module/Sources.php:96 ../../include/features.php:74
-#: ../../include/widgets.php:639
+#: ../../Zotlabs/Module/Sources.php:96 ../../include/features.php:195
+#: ../../include/widgets.php:672
msgid "Channel Sources"
msgstr "Kanaalbronnen"
@@ -5685,7 +5690,7 @@ msgid ""
msgstr "De volgende categorieën aan berichten toevoegen die uit deze bron zijn geïmporteerd (door komma's gescheiden)"
#: ../../Zotlabs/Module/Sources.php:112 ../../Zotlabs/Module/Sources.php:147
-#: ../../Zotlabs/Module/Settings.php:688
+#: ../../Zotlabs/Module/Settings/Oauth.php:93
msgid "Optional"
msgstr "Optioneel"
@@ -5729,12 +5734,17 @@ msgstr "Geen voorgestelde kanalen gevonden. Wanneer dit een nieuwe hub is, probe
msgid "Ignore/Hide"
msgstr "Negeren/Verbergen"
+#: ../../Zotlabs/Module/Suggest.php:64 ../../Zotlabs/Module/Directory.php:392
+#: ../../include/contact_widgets.php:24
+msgid "Channel Suggestions"
+msgstr "Voorgestelde kanalen"
+
#: ../../Zotlabs/Module/Tagger.php:55 ../../include/bbcode.php:263
msgid "post"
msgstr "bericht"
-#: ../../Zotlabs/Module/Tagger.php:57 ../../include/conversation.php:150
-#: ../../include/text.php:1953
+#: ../../Zotlabs/Module/Tagger.php:57 ../../include/text.php:1999
+#: ../../include/conversation.php:150
msgid "comment"
msgstr "reactie"
@@ -5755,749 +5765,851 @@ msgstr "Verwijder item-tag"
msgid "Select a tag to remove: "
msgstr "Kies een tag om te verwijderen"
-#: ../../Zotlabs/Module/Dreport.php:44
-msgid "Invalid message"
-msgstr "Ongeldig bericht"
+#: ../../Zotlabs/Module/Follow.php:34
+msgid "Channel added."
+msgstr "Kanaal toegevoegd."
-#: ../../Zotlabs/Module/Dreport.php:76
-msgid "no results"
-msgstr "geen resultaten"
+#: ../../Zotlabs/Module/Viewconnections.php:65
+msgid "No connections."
+msgstr "Geen connecties."
-#: ../../Zotlabs/Module/Dreport.php:91
-msgid "channel sync processed"
-msgstr "kanaalsync verwerkt"
+#: ../../Zotlabs/Module/Viewconnections.php:78
+#, php-format
+msgid "Visit %s's profile [%s]"
+msgstr "Bezoek het profiel van %s [%s]"
-#: ../../Zotlabs/Module/Dreport.php:95
-msgid "queued"
-msgstr "in wachtrij"
+#: ../../Zotlabs/Module/Viewconnections.php:107
+msgid "View Connections"
+msgstr "Connecties weergeven"
-#: ../../Zotlabs/Module/Dreport.php:99
-msgid "posted"
-msgstr "verstuurd"
+#: ../../Zotlabs/Module/Viewsrc.php:44
+msgid "Source of Item"
+msgstr "Bron van item"
-#: ../../Zotlabs/Module/Dreport.php:103
-msgid "accepted for delivery"
-msgstr "geaccepteerd om afgeleverd te worden"
+#: ../../Zotlabs/Module/Chat.php:181
+msgid "Room not found"
+msgstr "Chatkanaal niet gevonden"
-#: ../../Zotlabs/Module/Dreport.php:107
-msgid "updated"
-msgstr "geüpdatet"
+#: ../../Zotlabs/Module/Chat.php:197
+msgid "Leave Room"
+msgstr "Chatkanaal verlaten"
-#: ../../Zotlabs/Module/Dreport.php:110
-msgid "update ignored"
-msgstr "update genegeerd"
+#: ../../Zotlabs/Module/Chat.php:198
+msgid "Delete Room"
+msgstr "Chatkanaal verwijderen"
-#: ../../Zotlabs/Module/Dreport.php:113
-msgid "permission denied"
-msgstr "toegang geweigerd"
+#: ../../Zotlabs/Module/Chat.php:199
+msgid "I am away right now"
+msgstr "Ik ben momenteel afwezig"
-#: ../../Zotlabs/Module/Dreport.php:117
-msgid "recipient not found"
-msgstr "ontvanger niet gevonden"
+#: ../../Zotlabs/Module/Chat.php:200
+msgid "I am online"
+msgstr "Ik ben online"
-#: ../../Zotlabs/Module/Dreport.php:120
-msgid "mail recalled"
-msgstr "Privébericht ingetrokken"
+#: ../../Zotlabs/Module/Chat.php:202
+msgid "Bookmark this room"
+msgstr "Chatkanaal aan bladwijzers toevoegen"
-#: ../../Zotlabs/Module/Dreport.php:123
-msgid "duplicate mail received"
-msgstr "dubbel privébericht ontvangen"
+#: ../../Zotlabs/Module/Chat.php:231
+msgid "New Chatroom"
+msgstr "Nieuw chatkanaal"
-#: ../../Zotlabs/Module/Dreport.php:126
-msgid "mail delivered"
-msgstr "privébericht afgeleverd"
+#: ../../Zotlabs/Module/Chat.php:232
+msgid "Chatroom name"
+msgstr "Naam chatkanaal"
-#: ../../Zotlabs/Module/Dreport.php:146
+#: ../../Zotlabs/Module/Chat.php:233
+msgid "Expiration of chats (minutes)"
+msgstr "Aantal minuten voordat chatberichten worden verwijderd"
+
+#: ../../Zotlabs/Module/Chat.php:249
#, php-format
-msgid "Delivery report for %1$s"
-msgstr "Afleveringsrapport voor %1$s"
+msgid "%1$s's Chatrooms"
+msgstr "Chatkanalen van %1$s"
-#: ../../Zotlabs/Module/Dreport.php:149
-msgid "Options"
-msgstr "Opties"
+#: ../../Zotlabs/Module/Chat.php:254
+msgid "No chatrooms available"
+msgstr "Geen chatkanalen beschikbaar"
-#: ../../Zotlabs/Module/Dreport.php:150
-msgid "Redeliver"
-msgstr "Opnieuw afleveren"
+#: ../../Zotlabs/Module/Chat.php:258
+msgid "Expiration"
+msgstr "Verloopt na"
-#: ../../Zotlabs/Module/Settings.php:64
-msgid "Name is required"
-msgstr "Naam is vereist"
+#: ../../Zotlabs/Module/Chat.php:259
+msgid "min"
+msgstr "min"
-#: ../../Zotlabs/Module/Settings.php:68
-msgid "Key and Secret are required"
-msgstr "Key en secret zijn vereist"
+#: ../../Zotlabs/Module/Xchan.php:10
+msgid "Xchan Lookup"
+msgstr "Xchan opzoeken"
-#: ../../Zotlabs/Module/Settings.php:138
+#: ../../Zotlabs/Module/Xchan.php:13
+msgid "Lookup xchan beginning with (or webbie): "
+msgstr "Zoek een xchan (of webbie) die begint met:"
+
+#: ../../Zotlabs/Module/Directory.php:243
#, php-format
-msgid "This channel is limited to %d tokens"
-msgstr "Dit kanaal heeft een limiet van %d tokens"
+msgid "%d rating"
+msgid_plural "%d ratings"
+msgstr[0] "%d beoordeling"
+msgstr[1] "%d beoordelingen"
-#: ../../Zotlabs/Module/Settings.php:144
-msgid "Name and Password are required."
-msgstr "Naam en wachtwoord zijn vereist"
+#: ../../Zotlabs/Module/Directory.php:254
+msgid "Gender: "
+msgstr "Geslacht:"
-#: ../../Zotlabs/Module/Settings.php:184
-msgid "Token saved."
-msgstr "Token opgeslagen."
+#: ../../Zotlabs/Module/Directory.php:256
+msgid "Status: "
+msgstr "Status: "
-#: ../../Zotlabs/Module/Settings.php:312
-msgid "Not valid email."
-msgstr "Geen geldig e-mailadres."
+#: ../../Zotlabs/Module/Directory.php:258
+msgid "Homepage: "
+msgstr "Homepage: "
-#: ../../Zotlabs/Module/Settings.php:315
-msgid "Protected email address. Cannot change to that email."
-msgstr "Beschermd e-mailadres. Kan dat e-mailadres niet gebruiken."
+#: ../../Zotlabs/Module/Directory.php:306 ../../include/channel.php:1207
+msgid "Age:"
+msgstr "Leeftijd:"
-#: ../../Zotlabs/Module/Settings.php:324
-msgid "System failure storing new email. Please try again."
-msgstr "Systeemfout opslaan van nieuwe e-mail. Probeer het nog een keer."
+#: ../../Zotlabs/Module/Directory.php:311 ../../include/channel.php:1049
+#: ../../include/bb2diaspora.php:507 ../../include/event.php:52
+#: ../../include/event.php:84
+msgid "Location:"
+msgstr "Plaats:"
-#: ../../Zotlabs/Module/Settings.php:341
-msgid "Password verification failed."
-msgstr "Wachtwoordverificatie mislukt"
+#: ../../Zotlabs/Module/Directory.php:317
+msgid "Description:"
+msgstr "Omschrijving:"
-#: ../../Zotlabs/Module/Settings.php:348
-msgid "Passwords do not match. Password unchanged."
-msgstr "Wachtwoorden komen niet overeen. Wachtwoord onveranderd."
+#: ../../Zotlabs/Module/Directory.php:322 ../../include/channel.php:1223
+msgid "Hometown:"
+msgstr "Oorspronkelijk uit:"
-#: ../../Zotlabs/Module/Settings.php:352
-msgid "Empty passwords are not allowed. Password unchanged."
-msgstr "Lege wachtwoorden zijn niet toegestaan. Wachtwoord onveranderd."
+#: ../../Zotlabs/Module/Directory.php:324 ../../include/channel.php:1231
+msgid "About:"
+msgstr "Over:"
-#: ../../Zotlabs/Module/Settings.php:366
-msgid "Password changed."
-msgstr "Wachtwoord veranderd."
+#: ../../Zotlabs/Module/Directory.php:326
+msgid "Public Forum:"
+msgstr "Openbaar forum:"
-#: ../../Zotlabs/Module/Settings.php:368
-msgid "Password update failed. Please try again."
-msgstr "Bijwerken wachtwoord mislukt. Probeer opnieuw."
+#: ../../Zotlabs/Module/Directory.php:329
+msgid "Keywords: "
+msgstr "Trefwoorden: "
-#: ../../Zotlabs/Module/Settings.php:617
-msgid "Settings updated."
-msgstr "Instellingen bijgewerkt."
+#: ../../Zotlabs/Module/Directory.php:332
+msgid "Don't suggest"
+msgstr "Niet voorstellen"
-#: ../../Zotlabs/Module/Settings.php:681 ../../Zotlabs/Module/Settings.php:707
-#: ../../Zotlabs/Module/Settings.php:743
-msgid "Add application"
-msgstr "Applicatie toevoegen"
+#: ../../Zotlabs/Module/Directory.php:334
+msgid "Common connections:"
+msgstr "Gemeenschappelijke connecties:"
-#: ../../Zotlabs/Module/Settings.php:684
-msgid "Name of application"
-msgstr "Naam van applicatie"
+#: ../../Zotlabs/Module/Directory.php:383
+msgid "Global Directory"
+msgstr "Volledige kanalengids"
-#: ../../Zotlabs/Module/Settings.php:685 ../../Zotlabs/Module/Settings.php:711
-msgid "Consumer Key"
-msgstr "Consumer key"
+#: ../../Zotlabs/Module/Directory.php:383
+msgid "Local Directory"
+msgstr "Lokale kanalengids"
-#: ../../Zotlabs/Module/Settings.php:685 ../../Zotlabs/Module/Settings.php:686
-msgid "Automatically generated - change if desired. Max length 20"
-msgstr "Automatische gegenereerd - verander wanneer gewenst. Maximale lengte is 20"
+#: ../../Zotlabs/Module/Directory.php:389
+msgid "Finding:"
+msgstr "Gezocht naar:"
-#: ../../Zotlabs/Module/Settings.php:686 ../../Zotlabs/Module/Settings.php:712
-msgid "Consumer Secret"
-msgstr "Consumer secret"
+#: ../../Zotlabs/Module/Directory.php:394
+msgid "next page"
+msgstr "volgende pagina"
-#: ../../Zotlabs/Module/Settings.php:687 ../../Zotlabs/Module/Settings.php:713
-msgid "Redirect"
-msgstr "Redirect/doorverwijzing"
+#: ../../Zotlabs/Module/Directory.php:394
+msgid "previous page"
+msgstr "vorige pagina"
-#: ../../Zotlabs/Module/Settings.php:687
-msgid ""
-"Redirect URI - leave blank unless your application specifically requires "
-"this"
-msgstr "URI voor redirect - laat leeg, behalve wanneer de applicatie dit vereist"
+#: ../../Zotlabs/Module/Directory.php:395
+msgid "Sort options"
+msgstr "Sorteeropties"
-#: ../../Zotlabs/Module/Settings.php:688 ../../Zotlabs/Module/Settings.php:714
-msgid "Icon url"
-msgstr "Pictogram-URL"
+#: ../../Zotlabs/Module/Directory.php:396
+msgid "Alphabetic"
+msgstr "Alfabetisch"
-#: ../../Zotlabs/Module/Settings.php:699
-msgid "Application not found."
-msgstr "Applicatie niet gevonden."
+#: ../../Zotlabs/Module/Directory.php:397
+msgid "Reverse Alphabetic"
+msgstr "Omgekeerd alfabetisch"
-#: ../../Zotlabs/Module/Settings.php:742
-msgid "Connected Apps"
-msgstr "Verbonden applicaties"
+#: ../../Zotlabs/Module/Directory.php:398
+msgid "Newest to Oldest"
+msgstr "Nieuw naar oud"
-#: ../../Zotlabs/Module/Settings.php:746
-msgid "Client key starts with"
-msgstr "Client key begint met"
+#: ../../Zotlabs/Module/Directory.php:399
+msgid "Oldest to Newest"
+msgstr "Oud naar nieuw"
-#: ../../Zotlabs/Module/Settings.php:747
-msgid "No name"
-msgstr "Geen naam"
+#: ../../Zotlabs/Module/Directory.php:416
+msgid "No entries (some entries may be hidden)."
+msgstr "Niets gevonden (sommige kanalen kunnen verborgen zijn)."
-#: ../../Zotlabs/Module/Settings.php:748
-msgid "Remove authorization"
-msgstr "Autorisatie verwijderen"
+#: ../../Zotlabs/Module/Settings/Account.php:20
+msgid "Not valid email."
+msgstr "Geen geldig e-mailadres."
-#: ../../Zotlabs/Module/Settings.php:761
-msgid "No feature settings configured"
-msgstr "Geen plugin-instellingen aanwezig"
+#: ../../Zotlabs/Module/Settings/Account.php:23
+msgid "Protected email address. Cannot change to that email."
+msgstr "Beschermd e-mailadres. Kan dat e-mailadres niet gebruiken."
-#: ../../Zotlabs/Module/Settings.php:768
-msgid "Feature/Addon Settings"
-msgstr "Plugin-instellingen"
+#: ../../Zotlabs/Module/Settings/Account.php:32
+msgid "System failure storing new email. Please try again."
+msgstr "Systeemfout opslaan van nieuwe e-mail. Probeer het nog een keer."
+
+#: ../../Zotlabs/Module/Settings/Account.php:40
+msgid "Technical skill level updated"
+msgstr "Technisch niveau bijgewerkt"
+
+#: ../../Zotlabs/Module/Settings/Account.php:56
+msgid "Password verification failed."
+msgstr "Wachtwoordverificatie mislukt"
-#: ../../Zotlabs/Module/Settings.php:791
+#: ../../Zotlabs/Module/Settings/Account.php:63
+msgid "Passwords do not match. Password unchanged."
+msgstr "Wachtwoorden komen niet overeen. Wachtwoord onveranderd."
+
+#: ../../Zotlabs/Module/Settings/Account.php:67
+msgid "Empty passwords are not allowed. Password unchanged."
+msgstr "Lege wachtwoorden zijn niet toegestaan. Wachtwoord onveranderd."
+
+#: ../../Zotlabs/Module/Settings/Account.php:81
+msgid "Password changed."
+msgstr "Wachtwoord veranderd."
+
+#: ../../Zotlabs/Module/Settings/Account.php:83
+msgid "Password update failed. Please try again."
+msgstr "Bijwerken wachtwoord mislukt. Probeer opnieuw."
+
+#: ../../Zotlabs/Module/Settings/Account.php:120
msgid "Account Settings"
msgstr "Account-instellingen"
-#: ../../Zotlabs/Module/Settings.php:792
+#: ../../Zotlabs/Module/Settings/Account.php:121
msgid "Current Password"
msgstr "Huidig wachtwoord"
-#: ../../Zotlabs/Module/Settings.php:793
+#: ../../Zotlabs/Module/Settings/Account.php:122
msgid "Enter New Password"
msgstr "Nieuw wachtwoord invoeren"
-#: ../../Zotlabs/Module/Settings.php:794
+#: ../../Zotlabs/Module/Settings/Account.php:123
msgid "Confirm New Password"
msgstr "Nieuw wachtwoord bevestigen"
-#: ../../Zotlabs/Module/Settings.php:794
+#: ../../Zotlabs/Module/Settings/Account.php:123
msgid "Leave password fields blank unless changing"
msgstr "Laat de wachtwoordvelden leeg, behalve wanneer je deze wil veranderen"
-#: ../../Zotlabs/Module/Settings.php:796
-#: ../../Zotlabs/Module/Settings.php:1236
+#: ../../Zotlabs/Module/Settings/Account.php:124
+msgid "Your technical skill level"
+msgstr "Jouw technisch niveau"
+
+#: ../../Zotlabs/Module/Settings/Account.php:124
+msgid "Used to provide a member experience matched to your comfort level"
+msgstr "Wordt gebruikt om je een gebruikerservaring te bieden die met jouw technisch niveau overeenkomt"
+
+#: ../../Zotlabs/Module/Settings/Account.php:127
+#: ../../Zotlabs/Module/Settings/Channel.php:459
msgid "Email Address:"
msgstr "E-mailadres:"
-#: ../../Zotlabs/Module/Settings.php:798
+#: ../../Zotlabs/Module/Settings/Account.php:129
msgid "Remove this account including all its channels"
msgstr "Dit account en al zijn kanalen verwijderen"
-#: ../../Zotlabs/Module/Settings.php:832
-msgid ""
-"Use this form to create temporary access identifiers to share things with "
-"non-members. These identities may be used in Access Control Lists and "
-"visitors may login using these credentials to access private content."
-msgstr "Gebruik dit formulier om tijdelijke identiteiten aan te maken, waarmee je bepaalde informatie met niet-leden kan delen. Deze identiteiten kunnen onder Permissies (handmatige selectie) worden gebruikt. Gasten kunnen inloggen met onderstaande gegevens om zo toegang te krijgen tot privéinhoud."
-
-#: ../../Zotlabs/Module/Settings.php:834
-msgid ""
-"You may also provide <em>dropbox</em> style access links to friends and "
-"associates by adding the Login Password to any specific site URL as shown. "
-"Examples:"
-msgstr "Je kan ook <em>dropbox</em>-achtige links aan mensen geven door bovenstaand wachtwoord op onderstaande manier aan een hub-URL toe te voegen. Voorbeelden:"
-
-#: ../../Zotlabs/Module/Settings.php:869 ../../include/widgets.php:614
-msgid "Guest Access Tokens"
-msgstr "Gasttoegang"
-
-#: ../../Zotlabs/Module/Settings.php:876
-msgid "Login Name"
-msgstr "Inlognaam"
-
-#: ../../Zotlabs/Module/Settings.php:877
-msgid "Login Password"
-msgstr "Wachtwoord:"
-
-#: ../../Zotlabs/Module/Settings.php:878
-msgid "Expires (yyyy-mm-dd)"
-msgstr "Geldig t/m (yyyy-mm-dd)"
-
-#: ../../Zotlabs/Module/Settings.php:910
-msgid "Additional Features"
-msgstr "Extra functies"
-
-#: ../../Zotlabs/Module/Settings.php:934
-msgid "Connector Settings"
-msgstr "Instellingen externe koppelingen"
-
-#: ../../Zotlabs/Module/Settings.php:981
-msgid "No special theme for mobile devices"
-msgstr "Geen speciaal thema voor mobiele apparaten"
-
-#: ../../Zotlabs/Module/Settings.php:984
-#, php-format
-msgid "%s - (Experimental)"
-msgstr "%s - (experimenteel)"
-
-#: ../../Zotlabs/Module/Settings.php:1035
-msgid "Display Settings"
-msgstr "Weergave-instellingen"
-
-#: ../../Zotlabs/Module/Settings.php:1036
-msgid "Theme Settings"
-msgstr "Thema-instellingen"
-
-#: ../../Zotlabs/Module/Settings.php:1037
-msgid "Custom Theme Settings"
-msgstr "Handmatige thema-instellingen"
-
-#: ../../Zotlabs/Module/Settings.php:1038
-msgid "Content Settings"
-msgstr "Inhoudsinstellingen"
-
-#: ../../Zotlabs/Module/Settings.php:1044
-msgid "Display Theme:"
-msgstr "Gebruik thema:"
-
-#: ../../Zotlabs/Module/Settings.php:1045
-msgid "Select scheme"
-msgstr "Kies schema van thema"
-
-#: ../../Zotlabs/Module/Settings.php:1047
-msgid "Mobile Theme:"
-msgstr "Mobiel thema:"
-
-#: ../../Zotlabs/Module/Settings.php:1048
-msgid "Preload images before rendering the page"
-msgstr "Afbeeldingen laden voordat de pagina wordt weergegeven"
-
-#: ../../Zotlabs/Module/Settings.php:1048
-msgid ""
-"The subjective page load time will be longer but the page will be ready when"
-" displayed"
-msgstr "De laadtijd van een pagina lijkt langer, maar de pagina is wel meteen helemaal geladen wanneer deze wordt weergeven"
-
-#: ../../Zotlabs/Module/Settings.php:1049
-msgid "Enable user zoom on mobile devices"
-msgstr "Inzoomen op smartphones en tablets toestaan"
-
-#: ../../Zotlabs/Module/Settings.php:1050
-msgid "Update browser every xx seconds"
-msgstr "Ververs de webbrowser om de zoveel seconde"
-
-#: ../../Zotlabs/Module/Settings.php:1050
-msgid "Minimum of 10 seconds, no maximum"
-msgstr "Minimaal 10 seconde, geen maximum"
-
-#: ../../Zotlabs/Module/Settings.php:1051
-msgid "Maximum number of conversations to load at any time:"
-msgstr "Maximaal aantal conversaties die per keer geladen worden:"
-
-#: ../../Zotlabs/Module/Settings.php:1051
-msgid "Maximum of 100 items"
-msgstr "Maximaal 100 conversaties"
-
-#: ../../Zotlabs/Module/Settings.php:1052
-msgid "Show emoticons (smilies) as images"
-msgstr "Toon emoticons (smilies) als afbeeldingen"
-
-#: ../../Zotlabs/Module/Settings.php:1053
-msgid "Link post titles to source"
-msgstr "Berichtkoppen naar originele locatie linken"
-
-#: ../../Zotlabs/Module/Settings.php:1054
-msgid "System Page Layout Editor - (advanced)"
-msgstr "Lay-out bewerken van systeempagina's (geavanceerd)"
-
-#: ../../Zotlabs/Module/Settings.php:1057
-msgid "Use blog/list mode on channel page"
-msgstr "Gebruik blog/lijst-modus op kanaalpagina"
-
-#: ../../Zotlabs/Module/Settings.php:1057
-#: ../../Zotlabs/Module/Settings.php:1058
-msgid "(comments displayed separately)"
-msgstr "(reacties worden afzonderlijk weergeven)"
-
-#: ../../Zotlabs/Module/Settings.php:1058
-msgid "Use blog/list mode on grid page"
-msgstr "Gebruik blog/lijst-modus op gridpagina"
-
-#: ../../Zotlabs/Module/Settings.php:1059
-msgid "Channel page max height of content (in pixels)"
-msgstr "Maximale hoogte berichtinhoud op kanaalpagina (in pixels)"
-
-#: ../../Zotlabs/Module/Settings.php:1059
-#: ../../Zotlabs/Module/Settings.php:1060
-msgid "click to expand content exceeding this height"
-msgstr "klik om inhoud uit te klappen die deze hoogte overschrijdt"
-
-#: ../../Zotlabs/Module/Settings.php:1060
-msgid "Grid page max height of content (in pixels)"
-msgstr "Maximale hoogte berichtinhoud op gridpagina (in pixels)"
+#: ../../Zotlabs/Module/Settings/Channel.php:246
+msgid "Settings updated."
+msgstr "Instellingen bijgewerkt."
-#: ../../Zotlabs/Module/Settings.php:1090
+#: ../../Zotlabs/Module/Settings/Channel.php:307
msgid "Nobody except yourself"
msgstr "Niemand, behalve jezelf"
-#: ../../Zotlabs/Module/Settings.php:1091
+#: ../../Zotlabs/Module/Settings/Channel.php:308
msgid "Only those you specifically allow"
msgstr "Alleen connecties met uitdrukkelijke toestemming"
-#: ../../Zotlabs/Module/Settings.php:1092
+#: ../../Zotlabs/Module/Settings/Channel.php:309
msgid "Approved connections"
msgstr "Geaccepteerde connecties"
-#: ../../Zotlabs/Module/Settings.php:1093
+#: ../../Zotlabs/Module/Settings/Channel.php:310
msgid "Any connections"
msgstr "Alle connecties"
-#: ../../Zotlabs/Module/Settings.php:1094
+#: ../../Zotlabs/Module/Settings/Channel.php:311
msgid "Anybody on this website"
msgstr "Iedereen op deze hub"
-#: ../../Zotlabs/Module/Settings.php:1095
+#: ../../Zotlabs/Module/Settings/Channel.php:312
msgid "Anybody in this network"
msgstr "Iedereen in dit netwerk"
-#: ../../Zotlabs/Module/Settings.php:1096
+#: ../../Zotlabs/Module/Settings/Channel.php:313
msgid "Anybody authenticated"
msgstr "Geauthenticeerd"
-#: ../../Zotlabs/Module/Settings.php:1097
+#: ../../Zotlabs/Module/Settings/Channel.php:314
msgid "Anybody on the internet"
msgstr "Iedereen op het internet"
-#: ../../Zotlabs/Module/Settings.php:1171
+#: ../../Zotlabs/Module/Settings/Channel.php:390
msgid "Publish your default profile in the network directory"
msgstr "Publiceer je standaardprofiel in de kanalengids"
-#: ../../Zotlabs/Module/Settings.php:1176
+#: ../../Zotlabs/Module/Settings/Channel.php:395
msgid "Allow us to suggest you as a potential friend to new members?"
msgstr "Sta ons toe om jouw kanaal als mogelijke connectie voor te stellen aan nieuwe kanalen"
-#: ../../Zotlabs/Module/Settings.php:1185
+#: ../../Zotlabs/Module/Settings/Channel.php:404
msgid "Your channel address is"
msgstr "Jouw kanaaladres is"
-#: ../../Zotlabs/Module/Settings.php:1227
+#: ../../Zotlabs/Module/Settings/Channel.php:450
msgid "Channel Settings"
msgstr "Kanaal-instellingen"
-#: ../../Zotlabs/Module/Settings.php:1234
+#: ../../Zotlabs/Module/Settings/Channel.php:457
msgid "Basic Settings"
msgstr "Basis-instellingen"
-#: ../../Zotlabs/Module/Settings.php:1235 ../../include/channel.php:1164
+#: ../../Zotlabs/Module/Settings/Channel.php:458
+#: ../../include/channel.php:1164
msgid "Full Name:"
msgstr "Volledige naam:"
-#: ../../Zotlabs/Module/Settings.php:1237
+#: ../../Zotlabs/Module/Settings/Channel.php:460
msgid "Your Timezone:"
msgstr "Jouw tijdzone:"
-#: ../../Zotlabs/Module/Settings.php:1238
+#: ../../Zotlabs/Module/Settings/Channel.php:461
msgid "Default Post Location:"
msgstr "Standaardlocatie bericht:"
-#: ../../Zotlabs/Module/Settings.php:1238
+#: ../../Zotlabs/Module/Settings/Channel.php:461
msgid "Geographical location to display on your posts"
msgstr "Geografische locatie die bij het bericht moet worden vermeld"
-#: ../../Zotlabs/Module/Settings.php:1239
+#: ../../Zotlabs/Module/Settings/Channel.php:462
msgid "Use Browser Location:"
msgstr "Locatie van webbrowser gebruiken:"
-#: ../../Zotlabs/Module/Settings.php:1241
+#: ../../Zotlabs/Module/Settings/Channel.php:464
msgid "Adult Content"
msgstr "Inhoud voor volwassenen"
-#: ../../Zotlabs/Module/Settings.php:1241
+#: ../../Zotlabs/Module/Settings/Channel.php:464
msgid ""
-"This channel frequently or regularly publishes adult content. (Please tag "
-"any adult material and/or nudity with #NSFW)"
-msgstr "Dit kanaal publiceert regelmatig of vaak materiaal dat alleen geschikt is voor volwassenen. (Gebruik de tag #NSFW in berichten met een seksueel getinte inhoud of ander voor minderjarigen ongeschikt materiaal)"
+"Channel removals are not allowed within 48 hours of changing the account "
+"password."
+msgstr "Het verwijderen van een kanaal is niet toegestaan binnen 48 uur nadat het wachtwoord van het account is veranderd."
-#: ../../Zotlabs/Module/Settings.php:1243
+#: ../../Zotlabs/Module/Settings/Channel.php:466
msgid "Security and Privacy Settings"
msgstr "Veiligheids- en privacy-instellingen"
-#: ../../Zotlabs/Module/Settings.php:1246
+#: ../../Zotlabs/Module/Settings/Channel.php:469
msgid "Your permissions are already configured. Click to view/adjust"
msgstr "Jouw permissies zijn al ingesteld. Klik om ze te bekijken of aan te passen."
-#: ../../Zotlabs/Module/Settings.php:1248
+#: ../../Zotlabs/Module/Settings/Channel.php:471
msgid "Hide my online presence"
msgstr "Verberg mijn aanwezigheid"
-#: ../../Zotlabs/Module/Settings.php:1248
+#: ../../Zotlabs/Module/Settings/Channel.php:471
msgid "Prevents displaying in your profile that you are online"
msgstr "Voorkomt dat op je kanaalpagina te zien valt dat je momenteel op $Projectname aanwezig bent"
-#: ../../Zotlabs/Module/Settings.php:1250
+#: ../../Zotlabs/Module/Settings/Channel.php:473
msgid "Simple Privacy Settings:"
msgstr "Eenvoudige privacy-instellingen:"
-#: ../../Zotlabs/Module/Settings.php:1251
+#: ../../Zotlabs/Module/Settings/Channel.php:474
msgid ""
"Very Public - <em>extremely permissive (should be used with caution)</em>"
msgstr "Zeer openbaar <em>(kanaal staat volledig open - moet met grote zorgvuldigheid gebruikt worden)</em>"
-#: ../../Zotlabs/Module/Settings.php:1252
+#: ../../Zotlabs/Module/Settings/Channel.php:475
msgid ""
-"Typical - <em>default public, privacy when desired (similar to social "
-"network permissions but with improved privacy)</em>"
-msgstr "Normaal <em>(standaard openbaar, maar privacy wanneer noodzakelijk - vergelijkbaar met die van sociale netwerken, maar met verbeterde privacy)</em>"
+"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 "Exporteer de basisinformatie van jouw kanaal naar een bestand. Dit fungeert als een back-up van jouw connecties, permissies, profiel en basisgegevens, die gebruikt kan worden om op een nieuwe hub jouw gegevens te importeren. Deze back-up bevat echter niet de inhoud van jouw kanaal."
-#: ../../Zotlabs/Module/Settings.php:1253
+#: ../../Zotlabs/Module/Settings/Channel.php:476
msgid "Private - <em>default private, never open or public</em>"
msgstr "Privé <em>(standaard privé en nooit openbaar)</em>"
-#: ../../Zotlabs/Module/Settings.php:1254
+#: ../../Zotlabs/Module/Settings/Channel.php:477
msgid "Blocked - <em>default blocked to/from everybody</em>"
msgstr "Geblokkeerd <em>(standaard geblokkeerd naar/van iedereen)</em>"
-#: ../../Zotlabs/Module/Settings.php:1256
+#: ../../Zotlabs/Module/Settings/Channel.php:479
msgid "Allow others to tag your posts"
msgstr "Anderen toestaan om je berichten te taggen"
-#: ../../Zotlabs/Module/Settings.php:1256
+#: ../../Zotlabs/Module/Settings/Channel.php:479
msgid ""
"Often used by the community to retro-actively flag inappropriate content"
msgstr "Vaak in groepen/forums gebruikt om met terugwerkende kracht ongepast materiaal te markeren"
-#: ../../Zotlabs/Module/Settings.php:1258
-msgid "Advanced Privacy Settings"
-msgstr "Geavanceerde privacy-instellingen"
+#: ../../Zotlabs/Module/Settings/Channel.php:481
+msgid "Channel Permission Limits"
+msgstr "Geavanceerde permissies"
-#: ../../Zotlabs/Module/Settings.php:1260
+#: ../../Zotlabs/Module/Settings/Channel.php:483
msgid "Expire other channel content after this many days"
msgstr "Inhoud van andere kanalen na zoveel aantal dagen laten verlopen:"
-#: ../../Zotlabs/Module/Settings.php:1260
+#: ../../Zotlabs/Module/Settings/Channel.php:483
msgid "0 or blank to use the website limit."
msgstr "0 of leeg om het standaard aantal dagen van deze hub te gebruiken."
-#: ../../Zotlabs/Module/Settings.php:1260
+#: ../../Zotlabs/Module/Settings/Channel.php:483
#, php-format
-msgid "This website expires after %d days."
-msgstr "Deze hub laat de inhoud van andere kanalen na %d dagen verlopen."
+msgid ""
+"These content files may be imported or restored by visiting <a "
+"href=\"%1$s\">%2$s</a> on any site containing your channel. For best results"
+" please import or restore these in date order (oldest first)."
+msgstr "Deze back-up-bestanden kunnen geïmporteerd of hersteld worden door op jouw hub en met jouw kanaal <a href=\"%1$s\">%2$s</a> te bezoeken. Voor het beste resultaat kan je de bestanden in chronologische volgorde importeren of herstellen."
-#: ../../Zotlabs/Module/Settings.php:1260
+#: ../../Zotlabs/Module/Settings/Channel.php:483
msgid "This website does not expire imported content."
msgstr "Deze hub laat de inhoud van andere kanalen niet verlopen."
-#: ../../Zotlabs/Module/Settings.php:1260
+#: ../../Zotlabs/Module/Settings/Channel.php:483
msgid "The website limit takes precedence if lower than your limit."
msgstr "Wanneer de standaard aantal dagen van deze hub lager ligt dan jouw aantal, dan heeft de limiet van deze hub voorrang."
-#: ../../Zotlabs/Module/Settings.php:1261
+#: ../../Zotlabs/Module/Settings/Channel.php:484
msgid "Maximum Friend Requests/Day:"
msgstr "Maximum aantal connectieverzoeken per dag:"
-#: ../../Zotlabs/Module/Settings.php:1261
+#: ../../Zotlabs/Module/Settings/Channel.php:484
msgid "May reduce spam activity"
msgstr "Kan eventuele spam verminderen"
-#: ../../Zotlabs/Module/Settings.php:1262
-msgid "Default Post and Publish Permissions"
-msgstr "Standaard permissies voor nieuwe berichten en publicaties"
+#: ../../Zotlabs/Module/Settings/Channel.php:485
+msgid "Default Access Control List (ACL)"
+msgstr "Standaard permissies voor nieuwe berichten"
-#: ../../Zotlabs/Module/Settings.php:1264
+#: ../../Zotlabs/Module/Settings/Channel.php:487
msgid "Use my default audience setting for the type of object published"
msgstr "Gebruik mijn standaard privacy-instelling voor dit type publicatie"
-#: ../../Zotlabs/Module/Settings.php:1271
+#: ../../Zotlabs/Module/Settings/Channel.php:494
msgid "Channel permissions category:"
msgstr "Kanaaltype en -permissies:"
-#: ../../Zotlabs/Module/Settings.php:1277
+#: ../../Zotlabs/Module/Settings/Channel.php:500
msgid "Maximum private messages per day from unknown people:"
msgstr "Maximum aantal privé-berichten per dag van onbekende personen:"
-#: ../../Zotlabs/Module/Settings.php:1277
+#: ../../Zotlabs/Module/Settings/Channel.php:500
msgid "Useful to reduce spamming"
msgstr "Kan eventuele spam verminderen"
-#: ../../Zotlabs/Module/Settings.php:1280
+#: ../../Zotlabs/Module/Settings/Channel.php:503
msgid "Notification Settings"
msgstr "Notificatie-instellingen"
-#: ../../Zotlabs/Module/Settings.php:1281
+#: ../../Zotlabs/Module/Settings/Channel.php:504
msgid "By default post a status message when:"
msgstr "Plaats automatisch een bericht wanneer:"
-#: ../../Zotlabs/Module/Settings.php:1282
+#: ../../Zotlabs/Module/Settings/Channel.php:505
msgid "accepting a friend request"
msgstr "Een connectieverzoek wordt geaccepteerd"
-#: ../../Zotlabs/Module/Settings.php:1283
+#: ../../Zotlabs/Module/Settings/Channel.php:506
msgid "joining a forum/community"
msgstr "Je lid wordt van een forum/groep"
-#: ../../Zotlabs/Module/Settings.php:1284
+#: ../../Zotlabs/Module/Settings/Channel.php:507
msgid "making an <em>interesting</em> profile change"
msgstr "Er sprake is van een <em>interessante</em> profielwijziging"
-#: ../../Zotlabs/Module/Settings.php:1285
+#: ../../Zotlabs/Module/Settings/Channel.php:508
msgid "Send a notification email when:"
msgstr "Verzend een notificatie per e-mail wanneer:"
-#: ../../Zotlabs/Module/Settings.php:1286
+#: ../../Zotlabs/Module/Settings/Channel.php:509
msgid "You receive a connection request"
msgstr "Je een connectieverzoek ontvangt"
-#: ../../Zotlabs/Module/Settings.php:1287
+#: ../../Zotlabs/Module/Settings/Channel.php:510
msgid "Your connections are confirmed"
msgstr "Jouw connecties zijn bevestigd"
-#: ../../Zotlabs/Module/Settings.php:1288
+#: ../../Zotlabs/Module/Settings/Channel.php:511
msgid "Someone writes on your profile wall"
msgstr "Iemand iets op jouw kanaal heeft geschreven"
-#: ../../Zotlabs/Module/Settings.php:1289
+#: ../../Zotlabs/Module/Settings/Channel.php:512
msgid "Someone writes a followup comment"
msgstr "Iemand een reactie schrijft"
-#: ../../Zotlabs/Module/Settings.php:1290
+#: ../../Zotlabs/Module/Settings/Channel.php:513
msgid "You receive a private message"
msgstr "Je een privé-bericht ontvangt"
-#: ../../Zotlabs/Module/Settings.php:1291
+#: ../../Zotlabs/Module/Settings/Channel.php:514
msgid "You receive a friend suggestion"
msgstr "Je een kanaalvoorstel ontvangt"
-#: ../../Zotlabs/Module/Settings.php:1292
+#: ../../Zotlabs/Module/Settings/Channel.php:515
msgid "You are tagged in a post"
msgstr "Je expliciet in een bericht bent genoemd"
-#: ../../Zotlabs/Module/Settings.php:1293
+#: ../../Zotlabs/Module/Settings/Channel.php:516
msgid "You are poked/prodded/etc. in a post"
msgstr "Je bent in een bericht aangestoten/gepord/etc."
-#: ../../Zotlabs/Module/Settings.php:1296
+#: ../../Zotlabs/Module/Settings/Channel.php:519
msgid "Show visual notifications including:"
msgstr "Toon de volgende zichtbare notificaties:"
-#: ../../Zotlabs/Module/Settings.php:1298
+#: ../../Zotlabs/Module/Settings/Channel.php:521
msgid "Unseen grid activity"
msgstr "Niet bekeken grid-activiteit"
-#: ../../Zotlabs/Module/Settings.php:1299
+#: ../../Zotlabs/Module/Settings/Channel.php:522
msgid "Unseen channel activity"
msgstr "Niet bekeken kanaal-activiteit"
-#: ../../Zotlabs/Module/Settings.php:1300
+#: ../../Zotlabs/Module/Settings/Channel.php:523
msgid "Unseen private messages"
msgstr "Niet bekeken privéberichten"
-#: ../../Zotlabs/Module/Settings.php:1300
-#: ../../Zotlabs/Module/Settings.php:1305
-#: ../../Zotlabs/Module/Settings.php:1306
-#: ../../Zotlabs/Module/Settings.php:1307
+#: ../../Zotlabs/Module/Settings/Channel.php:523
+#: ../../Zotlabs/Module/Settings/Channel.php:528
+#: ../../Zotlabs/Module/Settings/Channel.php:529
+#: ../../Zotlabs/Module/Settings/Channel.php:530
msgid "Recommended"
msgstr "Aanbevolen"
-#: ../../Zotlabs/Module/Settings.php:1301
+#: ../../Zotlabs/Module/Settings/Channel.php:524
msgid "Upcoming events"
msgstr "Aankomende gebeurtenissen"
-#: ../../Zotlabs/Module/Settings.php:1302
+#: ../../Zotlabs/Module/Settings/Channel.php:525
msgid "Events today"
msgstr "Gebeurtenissen van vandaag"
-#: ../../Zotlabs/Module/Settings.php:1303
+#: ../../Zotlabs/Module/Settings/Channel.php:526
msgid "Upcoming birthdays"
msgstr "Aankomende verjaardagen"
-#: ../../Zotlabs/Module/Settings.php:1303
+#: ../../Zotlabs/Module/Settings/Channel.php:526
msgid "Not available in all themes"
msgstr "Niet in alle thema's beschikbaar"
-#: ../../Zotlabs/Module/Settings.php:1304
+#: ../../Zotlabs/Module/Settings/Channel.php:527
msgid "System (personal) notifications"
msgstr "(Persoonlijke) systeemnotificaties"
-#: ../../Zotlabs/Module/Settings.php:1305
+#: ../../Zotlabs/Module/Settings/Channel.php:528
msgid "System info messages"
msgstr "Systeemmededelingen"
-#: ../../Zotlabs/Module/Settings.php:1306
+#: ../../Zotlabs/Module/Settings/Channel.php:529
msgid "System critical alerts"
msgstr "Kritische systeemwaarschuwingen"
-#: ../../Zotlabs/Module/Settings.php:1307
+#: ../../Zotlabs/Module/Settings/Channel.php:530
msgid "New connections"
msgstr "Nieuwe connecties"
-#: ../../Zotlabs/Module/Settings.php:1308
+#: ../../Zotlabs/Module/Settings/Channel.php:531
msgid "System Registrations"
msgstr "Nieuwe accountregistraties op deze hub"
-#: ../../Zotlabs/Module/Settings.php:1309
+#: ../../Zotlabs/Module/Settings/Channel.php:532
msgid ""
"Also show new wall posts, private messages and connections under Notices"
msgstr "Toon tevens nieuwe kanaalberichten, privéberichten en connecties onder Notificaties"
-#: ../../Zotlabs/Module/Settings.php:1311
+#: ../../Zotlabs/Module/Settings/Channel.php:534
msgid "Notify me of events this many days in advance"
msgstr "Herinner mij zoveel dagen van te voren aan gebeurtenissen"
-#: ../../Zotlabs/Module/Settings.php:1311
+#: ../../Zotlabs/Module/Settings/Channel.php:534
msgid "Must be greater than 0"
msgstr "Moet hoger dan 0 zijn"
-#: ../../Zotlabs/Module/Settings.php:1313
+#: ../../Zotlabs/Module/Settings/Channel.php:536
msgid "Advanced Account/Page Type Settings"
msgstr "Instellingen geavanceerd account/paginatype"
-#: ../../Zotlabs/Module/Settings.php:1314
+#: ../../Zotlabs/Module/Settings/Channel.php:537
msgid "Change the behaviour of this account for special situations"
msgstr "Verander het gedrag van dit account voor speciale situaties"
-#: ../../Zotlabs/Module/Settings.php:1317
-msgid ""
-"Please enable expert mode (in <a href=\"settings/features\">Settings > "
-"Additional features</a>) to adjust!"
-msgstr "Schakel de expertmodus in (in <a href=\"settings/features\">Instellingen > Extra functies</a>) om aan te kunnen passen!"
-
-#: ../../Zotlabs/Module/Settings.php:1318
+#: ../../Zotlabs/Module/Settings/Channel.php:539
msgid "Miscellaneous Settings"
msgstr "Diverse instellingen"
-#: ../../Zotlabs/Module/Settings.php:1319
+#: ../../Zotlabs/Module/Settings/Channel.php:540
msgid "Default photo upload folder"
msgstr "Standaard fotoalbum voor uploads"
-#: ../../Zotlabs/Module/Settings.php:1319
-#: ../../Zotlabs/Module/Settings.php:1320
+#: ../../Zotlabs/Module/Settings/Channel.php:540
+#: ../../Zotlabs/Module/Settings/Channel.php:541
msgid "%Y - current year, %m - current month"
msgstr "%Y - dit jaar, %m - deze maand"
-#: ../../Zotlabs/Module/Settings.php:1320
+#: ../../Zotlabs/Module/Settings/Channel.php:541
msgid "Default file upload folder"
msgstr "Standaard bestandsmap voor uploads"
-#: ../../Zotlabs/Module/Settings.php:1322
+#: ../../Zotlabs/Module/Settings/Channel.php:543
msgid "Personal menu to display in your channel pages"
msgstr "Persoonlijk menu om op je kanaalpagina's weer te geven"
-#: ../../Zotlabs/Module/Settings.php:1324
+#: ../../Zotlabs/Module/Settings/Channel.php:545
msgid "Remove this channel."
msgstr "Verwijder dit kanaal."
-#: ../../Zotlabs/Module/Settings.php:1325
+#: ../../Zotlabs/Module/Settings/Channel.php:546
msgid "Firefox Share $Projectname provider"
msgstr "$Projectname-service voor Firefox Share"
-#: ../../Zotlabs/Module/Settings.php:1326
+#: ../../Zotlabs/Module/Settings/Channel.php:547
msgid "Start calendar week on monday"
msgstr "Begin in de agenda de week op maandag"
-#: ../../Zotlabs/Module/Viewconnections.php:65
-msgid "No connections."
-msgstr "Geen connecties."
+#: ../../Zotlabs/Module/Settings/Display.php:135
+msgid "No special theme for mobile devices"
+msgstr "Geen speciaal thema voor mobiele apparaten"
-#: ../../Zotlabs/Module/Viewconnections.php:78
+#: ../../Zotlabs/Module/Settings/Display.php:138
#, php-format
-msgid "Visit %s's profile [%s]"
-msgstr "Bezoek het profiel van %s [%s]"
+msgid "%s - (Experimental)"
+msgstr "%s - (experimenteel)"
-#: ../../Zotlabs/Module/Viewconnections.php:107
-msgid "View Connections"
-msgstr "Connecties weergeven"
+#: ../../Zotlabs/Module/Settings/Display.php:189
+msgid "Display Settings"
+msgstr "Weergave-instellingen"
-#: ../../Zotlabs/Module/Viewsrc.php:44
-msgid "Source of Item"
-msgstr "Bron van item"
+#: ../../Zotlabs/Module/Settings/Display.php:190
+msgid "Theme Settings"
+msgstr "Thema-instellingen"
-#: ../../Zotlabs/Module/Editpost.php:35
-msgid "Item is not editable"
-msgstr "Item is niet te bewerken"
+#: ../../Zotlabs/Module/Settings/Display.php:191
+msgid "Custom Theme Settings"
+msgstr "Handmatige thema-instellingen"
-#: ../../Zotlabs/Module/Xchan.php:10
-msgid "Xchan Lookup"
-msgstr "Xchan opzoeken"
+#: ../../Zotlabs/Module/Settings/Display.php:192
+msgid "Content Settings"
+msgstr "Inhoudsinstellingen"
-#: ../../Zotlabs/Module/Xchan.php:13
-msgid "Lookup xchan beginning with (or webbie): "
-msgstr "Zoek een xchan (of webbie) die begint met:"
+#: ../../Zotlabs/Module/Settings/Display.php:198
+msgid "Display Theme:"
+msgstr "Gebruik thema:"
+
+#: ../../Zotlabs/Module/Settings/Display.php:199
+msgid "Select scheme"
+msgstr "Kies schema van thema"
+
+#: ../../Zotlabs/Module/Settings/Display.php:201
+msgid "Mobile Theme:"
+msgstr "Mobiel thema:"
+
+#: ../../Zotlabs/Module/Settings/Display.php:202
+msgid "Preload images before rendering the page"
+msgstr "Afbeeldingen laden voordat de pagina wordt weergegeven"
+
+#: ../../Zotlabs/Module/Settings/Display.php:202
+msgid ""
+"The subjective page load time will be longer but the page will be ready when"
+" displayed"
+msgstr "De laadtijd van een pagina lijkt langer, maar de pagina is wel meteen helemaal geladen wanneer deze wordt weergeven"
+
+#: ../../Zotlabs/Module/Settings/Display.php:203
+msgid "Enable user zoom on mobile devices"
+msgstr "Inzoomen op smartphones en tablets toestaan"
+
+#: ../../Zotlabs/Module/Settings/Display.php:204
+msgid "Update browser every xx seconds"
+msgstr "Ververs de webbrowser om de zoveel seconde"
+
+#: ../../Zotlabs/Module/Settings/Display.php:204
+msgid "Minimum of 10 seconds, no maximum"
+msgstr "Minimaal 10 seconde, geen maximum"
+
+#: ../../Zotlabs/Module/Settings/Display.php:205
+msgid "Maximum number of conversations to load at any time:"
+msgstr "Maximaal aantal conversaties die per keer geladen worden:"
+
+#: ../../Zotlabs/Module/Settings/Display.php:205
+msgid "Maximum of 100 items"
+msgstr "Maximaal 100 conversaties"
+
+#: ../../Zotlabs/Module/Settings/Display.php:206
+msgid "Show emoticons (smilies) as images"
+msgstr "Toon emoticons (smilies) als afbeeldingen"
+
+#: ../../Zotlabs/Module/Settings/Display.php:207
+msgid "Link post titles to source"
+msgstr "Berichtkoppen naar originele locatie linken"
+
+#: ../../Zotlabs/Module/Settings/Display.php:208
+msgid "System Page Layout Editor - (advanced)"
+msgstr "Lay-out bewerken van systeempagina's (geavanceerd)"
+
+#: ../../Zotlabs/Module/Settings/Display.php:211
+msgid "Use blog/list mode on channel page"
+msgstr "Gebruik blog/lijst-modus op kanaalpagina"
+
+#: ../../Zotlabs/Module/Settings/Display.php:211
+#: ../../Zotlabs/Module/Settings/Display.php:212
+msgid "(comments displayed separately)"
+msgstr "(reacties worden afzonderlijk weergeven)"
+
+#: ../../Zotlabs/Module/Settings/Display.php:212
+msgid "Use blog/list mode on grid page"
+msgstr "Gebruik blog/lijst-modus op gridpagina"
+
+#: ../../Zotlabs/Module/Settings/Display.php:213
+msgid "Channel page max height of content (in pixels)"
+msgstr "Maximale hoogte berichtinhoud op kanaalpagina (in pixels)"
+
+#: ../../Zotlabs/Module/Settings/Display.php:213
+#: ../../Zotlabs/Module/Settings/Display.php:214
+msgid "click to expand content exceeding this height"
+msgstr "klik om inhoud uit te klappen die deze hoogte overschrijdt"
+
+#: ../../Zotlabs/Module/Settings/Display.php:214
+msgid "Grid page max height of content (in pixels)"
+msgstr "Maximale hoogte berichtinhoud op gridpagina (in pixels)"
+
+#: ../../Zotlabs/Module/Settings/Featured.php:24
+msgid "No feature settings configured"
+msgstr "Geen plugin-instellingen aanwezig"
+
+#: ../../Zotlabs/Module/Settings/Featured.php:31
+msgid "Feature/Addon Settings"
+msgstr "Plugin-instellingen"
+
+#: ../../Zotlabs/Module/Settings/Features.php:45
+msgid "Additional Features"
+msgstr "Extra functies"
+
+#: ../../Zotlabs/Module/Settings/Oauth.php:34
+msgid "Name is required"
+msgstr "Naam is vereist"
+
+#: ../../Zotlabs/Module/Settings/Oauth.php:38
+msgid "Key and Secret are required"
+msgstr "Key en secret zijn vereist"
+
+#: ../../Zotlabs/Module/Settings/Oauth.php:86
+#: ../../Zotlabs/Module/Settings/Oauth.php:112
+#: ../../Zotlabs/Module/Settings/Oauth.php:148
+msgid "Add application"
+msgstr "Applicatie toevoegen"
+
+#: ../../Zotlabs/Module/Settings/Oauth.php:89
+msgid "Name of application"
+msgstr "Naam van applicatie"
+
+#: ../../Zotlabs/Module/Settings/Oauth.php:90
+#: ../../Zotlabs/Module/Settings/Oauth.php:116
+msgid "Consumer Key"
+msgstr "Consumer key"
+
+#: ../../Zotlabs/Module/Settings/Oauth.php:90
+#: ../../Zotlabs/Module/Settings/Oauth.php:91
+msgid "Automatically generated - change if desired. Max length 20"
+msgstr "Automatische gegenereerd - verander wanneer gewenst. Maximale lengte is 20"
+
+#: ../../Zotlabs/Module/Settings/Oauth.php:91
+#: ../../Zotlabs/Module/Settings/Oauth.php:117
+msgid "Consumer Secret"
+msgstr "Consumer secret"
+
+#: ../../Zotlabs/Module/Settings/Oauth.php:92
+#: ../../Zotlabs/Module/Settings/Oauth.php:118
+msgid "Redirect"
+msgstr "Redirect/doorverwijzing"
+
+#: ../../Zotlabs/Module/Settings/Oauth.php:92
+msgid ""
+"Redirect URI - leave blank unless your application specifically requires "
+"this"
+msgstr "URI voor redirect - laat leeg, behalve wanneer de applicatie dit vereist"
+
+#: ../../Zotlabs/Module/Settings/Oauth.php:93
+#: ../../Zotlabs/Module/Settings/Oauth.php:119
+msgid "Icon url"
+msgstr "Pictogram-URL"
+
+#: ../../Zotlabs/Module/Settings/Oauth.php:104
+msgid "Application not found."
+msgstr "Applicatie niet gevonden."
+
+#: ../../Zotlabs/Module/Settings/Oauth.php:147
+msgid "Connected Apps"
+msgstr "Verbonden applicaties"
+
+#: ../../Zotlabs/Module/Settings/Oauth.php:151
+msgid "Client key starts with"
+msgstr "Client key begint met"
+
+#: ../../Zotlabs/Module/Settings/Oauth.php:152
+msgid "No name"
+msgstr "Geen naam"
+
+#: ../../Zotlabs/Module/Settings/Oauth.php:153
+msgid "Remove authorization"
+msgstr "Autorisatie verwijderen"
+
+#: ../../Zotlabs/Module/Settings/Tokens.php:31
+#, php-format
+msgid "This channel is limited to %d tokens"
+msgstr "Dit kanaal heeft een limiet van %d tokens"
+
+#: ../../Zotlabs/Module/Settings/Tokens.php:37
+msgid "Name and Password are required."
+msgstr "Naam en wachtwoord zijn vereist"
+
+#: ../../Zotlabs/Module/Settings/Tokens.php:77
+msgid "Token saved."
+msgstr "Token opgeslagen."
+
+#: ../../Zotlabs/Module/Settings/Tokens.php:113
+msgid ""
+"Use this form to create temporary access identifiers to share things with "
+"non-members. These identities may be used in Access Control Lists and "
+"visitors may login using these credentials to access private content."
+msgstr "Gebruik dit formulier om tijdelijke identiteiten aan te maken, waarmee je bepaalde informatie met niet-leden kan delen. Deze identiteiten kunnen onder Permissies (handmatige selectie) worden gebruikt. Gasten kunnen inloggen met onderstaande gegevens om zo toegang te krijgen tot privéinhoud."
+
+#: ../../Zotlabs/Module/Settings/Tokens.php:115
+msgid ""
+"You may also provide <em>dropbox</em> style access links to friends and "
+"associates by adding the Login Password to any specific site URL as shown. "
+"Examples:"
+msgstr "Je kan ook <em>dropbox</em>-achtige links aan mensen geven door bovenstaand wachtwoord op onderstaande manier aan een hub-URL toe te voegen. Voorbeelden:"
+
+#: ../../Zotlabs/Module/Settings/Tokens.php:150 ../../include/widgets.php:647
+msgid "Guest Access Tokens"
+msgstr "Gasttoegang"
+
+#: ../../Zotlabs/Module/Settings/Tokens.php:157
+msgid "Login Name"
+msgstr "Inlognaam"
+
+#: ../../Zotlabs/Module/Settings/Tokens.php:158
+msgid "Login Password"
+msgstr "Wachtwoord:"
+
+#: ../../Zotlabs/Module/Settings/Tokens.php:159
+msgid "Expires (yyyy-mm-dd)"
+msgstr "Geldig t/m (yyyy-mm-dd)"
#: ../../Zotlabs/Lib/Chatroom.php:27
msgid "Missing room name"
@@ -6519,368 +6631,211 @@ msgstr "Chatkanaal niet gevonden"
msgid "Room is full"
msgstr "Chatkanaal is vol"
-#: ../../Zotlabs/Lib/Enotify.php:60 ../../include/network.php:1887
+#: ../../Zotlabs/Lib/Enotify.php:60 ../../include/network.php:1889
msgid "$Projectname Notification"
msgstr "$Projectname-notificatie"
-#: ../../Zotlabs/Lib/Enotify.php:61 ../../include/network.php:1888
+#: ../../Zotlabs/Lib/Enotify.php:61 ../../include/network.php:1890
msgid "$projectname"
msgstr "$projectname"
-#: ../../Zotlabs/Lib/Enotify.php:63 ../../include/network.php:1890
+#: ../../Zotlabs/Lib/Enotify.php:63 ../../include/network.php:1892
msgid "Thank You,"
msgstr "Bedankt,"
-#: ../../Zotlabs/Lib/Enotify.php:65 ../../include/network.php:1892
+#: ../../Zotlabs/Lib/Enotify.php:65 ../../include/network.php:1894
#, php-format
msgid "%s Administrator"
msgstr "Beheerder %s"
-#: ../../Zotlabs/Lib/Enotify.php:100
+#: ../../Zotlabs/Lib/Enotify.php:103
#, php-format
msgid "%s <!item_type!>"
msgstr "%s <!item_type!>"
-#: ../../Zotlabs/Lib/Enotify.php:104
+#: ../../Zotlabs/Lib/Enotify.php:107
#, php-format
-msgid "[Hubzilla:Notify] New mail received at %s"
-msgstr "[Hubzilla:Notificatie] Nieuw privébericht ontvangen op %s"
+msgid "[$Projectname:Notify] New mail received at %s"
+msgstr "[$Projectname:Notificatie] Nieuw privébericht ontvangen op %s"
-#: ../../Zotlabs/Lib/Enotify.php:106
+#: ../../Zotlabs/Lib/Enotify.php:109
#, php-format
msgid "%1$s, %2$s sent you a new private message at %3$s."
msgstr "%1$s, %2$s zond jou een nieuw privébericht om %3$s."
-#: ../../Zotlabs/Lib/Enotify.php:107
+#: ../../Zotlabs/Lib/Enotify.php:110
#, php-format
msgid "%1$s sent you %2$s."
msgstr "%1$s zond jou %2$s."
-#: ../../Zotlabs/Lib/Enotify.php:107
+#: ../../Zotlabs/Lib/Enotify.php:110
msgid "a private message"
msgstr "een privébericht"
-#: ../../Zotlabs/Lib/Enotify.php:108
+#: ../../Zotlabs/Lib/Enotify.php:111
#, php-format
msgid "Please visit %s to view and/or reply to your private messages."
msgstr "Bezoek %s om je privéberichten te bekijken en/of er op te reageren."
-#: ../../Zotlabs/Lib/Enotify.php:164
+#: ../../Zotlabs/Lib/Enotify.php:170
#, php-format
msgid "%1$s, %2$s commented on [zrl=%3$s]a %4$s[/zrl]"
msgstr "%1$s, %2$s gaf een reactie op [zrl=%3$s]een %4$s[/zrl]"
-#: ../../Zotlabs/Lib/Enotify.php:172
+#: ../../Zotlabs/Lib/Enotify.php:178
#, php-format
msgid "%1$s, %2$s commented on [zrl=%3$s]%4$s's %5$s[/zrl]"
msgstr "%1$s, %2$s gaf een reactie op [zrl=%3$s]een %5$s van %4$s[/zrl]"
-#: ../../Zotlabs/Lib/Enotify.php:181
+#: ../../Zotlabs/Lib/Enotify.php:187
#, php-format
msgid "%1$s, %2$s commented on [zrl=%3$s]your %4$s[/zrl]"
msgstr "%1$s, %2$s gaf een reactie op [zrl=%3$s]jouw %4$s[/zrl]"
-#: ../../Zotlabs/Lib/Enotify.php:192
+#: ../../Zotlabs/Lib/Enotify.php:198
#, php-format
-msgid "[Hubzilla:Notify] Comment to conversation #%1$d by %2$s"
-msgstr "[Hubzilla:Notificatie] Reactie op conversatie #%1$d door %2$s"
+msgid "[$Projectname:Notify] Comment to conversation #%1$d by %2$s"
+msgstr "[$Projectname:Notificatie] Reactie op conversatie #%1$d door %2$s"
-#: ../../Zotlabs/Lib/Enotify.php:193
+#: ../../Zotlabs/Lib/Enotify.php:199
#, php-format
msgid "%1$s, %2$s commented on an item/conversation you have been following."
msgstr "%1$s, %2$s gaf een reactie op een bericht/conversatie die jij volgt."
-#: ../../Zotlabs/Lib/Enotify.php:196 ../../Zotlabs/Lib/Enotify.php:211
-#: ../../Zotlabs/Lib/Enotify.php:237 ../../Zotlabs/Lib/Enotify.php:255
-#: ../../Zotlabs/Lib/Enotify.php:269
+#: ../../Zotlabs/Lib/Enotify.php:202 ../../Zotlabs/Lib/Enotify.php:217
+#: ../../Zotlabs/Lib/Enotify.php:243 ../../Zotlabs/Lib/Enotify.php:261
+#: ../../Zotlabs/Lib/Enotify.php:275
#, php-format
msgid "Please visit %s to view and/or reply to the conversation."
msgstr "Bezoek %s om de conversatie te bekijken en/of er op te reageren."
-#: ../../Zotlabs/Lib/Enotify.php:202
+#: ../../Zotlabs/Lib/Enotify.php:208
#, php-format
-msgid "[Hubzilla:Notify] %s posted to your profile wall"
-msgstr "[Hubzilla:Notificatie] %s heeft een bericht op jouw kanaal geplaatst"
+msgid "[$Projectname:Notify] %s posted to your profile wall"
+msgstr "[$Projectname:Notificatie] %s heeft een bericht op jouw kanaal geplaatst"
-#: ../../Zotlabs/Lib/Enotify.php:204
+#: ../../Zotlabs/Lib/Enotify.php:210
#, php-format
msgid "%1$s, %2$s posted to your profile wall at %3$s"
msgstr "%1$s, %2$s heeft om %3$s een bericht op jouw kanaal geplaatst"
-#: ../../Zotlabs/Lib/Enotify.php:206
+#: ../../Zotlabs/Lib/Enotify.php:212
#, php-format
msgid "%1$s, %2$s posted to [zrl=%3$s]your wall[/zrl]"
msgstr "%1$s, %2$s heeft een bericht op [zrl=%3$s]jouw kanaal[/zrl] geplaatst"
-#: ../../Zotlabs/Lib/Enotify.php:230
+#: ../../Zotlabs/Lib/Enotify.php:236
#, php-format
-msgid "[Hubzilla:Notify] %s tagged you"
-msgstr "[Hubzilla:Notificatie] %s heeft je genoemd"
+msgid "[$Projectname:Notify] %s tagged you"
+msgstr "[$Projectname:Notificatie] %s heeft jou genoemd"
-#: ../../Zotlabs/Lib/Enotify.php:231
+#: ../../Zotlabs/Lib/Enotify.php:237
#, php-format
msgid "%1$s, %2$s tagged you at %3$s"
msgstr "%1$s, %2$s noemde jou op %3$s"
-#: ../../Zotlabs/Lib/Enotify.php:232
+#: ../../Zotlabs/Lib/Enotify.php:238
#, php-format
msgid "%1$s, %2$s [zrl=%3$s]tagged you[/zrl]."
msgstr "%1$s, %2$s [zrl=%3$s]noemde jou[/zrl]."
-#: ../../Zotlabs/Lib/Enotify.php:244
+#: ../../Zotlabs/Lib/Enotify.php:250
#, php-format
-msgid "[Hubzilla:Notify] %1$s poked you"
-msgstr "[Hubzilla:Notificatie] %1$s heeft je aangestoten"
+msgid "[$Projectname:Notify] %1$s poked you"
+msgstr "[$Projectname:Notificatie] %1$s heeft jou aangestoten"
-#: ../../Zotlabs/Lib/Enotify.php:245
+#: ../../Zotlabs/Lib/Enotify.php:251
#, php-format
msgid "%1$s, %2$s poked you at %3$s"
msgstr "%1$s, %2$s heeft je aangestoten op %3$s"
-#: ../../Zotlabs/Lib/Enotify.php:246
+#: ../../Zotlabs/Lib/Enotify.php:252
#, php-format
msgid "%1$s, %2$s [zrl=%2$s]poked you[/zrl]."
msgstr "%1$s, %2$s [zrl=%2$s]heeft je aangestoten[/zrl]."
-#: ../../Zotlabs/Lib/Enotify.php:262
+#: ../../Zotlabs/Lib/Enotify.php:268
#, php-format
-msgid "[Hubzilla:Notify] %s tagged your post"
-msgstr "[Hubzilla:Notificatie] %s heeft jouw bericht getagd"
+msgid "[$Projectname:Notify] %s tagged your post"
+msgstr "[$Projectname:Notificatie] %s heeft jouw bericht getagd"
-#: ../../Zotlabs/Lib/Enotify.php:263
+#: ../../Zotlabs/Lib/Enotify.php:269
#, php-format
msgid "%1$s, %2$s tagged your post at %3$s"
msgstr "%1$s, %2$s heeft jouw bericht om %3$s getagd"
-#: ../../Zotlabs/Lib/Enotify.php:264
+#: ../../Zotlabs/Lib/Enotify.php:270
#, php-format
msgid "%1$s, %2$s tagged [zrl=%3$s]your post[/zrl]"
msgstr "%1$s, %2$s heeft [zrl=%3$s]jouw bericht[/zrl] getagd"
-#: ../../Zotlabs/Lib/Enotify.php:276
-msgid "[Hubzilla:Notify] Introduction received"
-msgstr "[Hubzilla:Notificatie] Connectieverzoek ontvangen"
+#: ../../Zotlabs/Lib/Enotify.php:282
+msgid "[$Projectname:Notify] Introduction received"
+msgstr "[$Projectname:Notificatie] Connectieverzoek ontvangen"
-#: ../../Zotlabs/Lib/Enotify.php:277
+#: ../../Zotlabs/Lib/Enotify.php:283
#, php-format
msgid "%1$s, you've received an new connection request from '%2$s' at %3$s"
msgstr "%1$s, je hebt een nieuw connectieverzoek ontvangen van '%2$s' op %3$s"
-#: ../../Zotlabs/Lib/Enotify.php:278
+#: ../../Zotlabs/Lib/Enotify.php:284
#, php-format
msgid ""
"%1$s, you've received [zrl=%2$s]a new connection request[/zrl] from %3$s."
msgstr "%1$s, je hebt een [zrl=%2$s]nieuw connectieverzoek[/zrl] ontvangen van %3$s."
-#: ../../Zotlabs/Lib/Enotify.php:282 ../../Zotlabs/Lib/Enotify.php:301
+#: ../../Zotlabs/Lib/Enotify.php:288 ../../Zotlabs/Lib/Enotify.php:307
#, php-format
msgid "You may visit their profile at %s"
msgstr "Je kan het profiel bekijken op %s"
-#: ../../Zotlabs/Lib/Enotify.php:284
+#: ../../Zotlabs/Lib/Enotify.php:290
#, php-format
msgid "Please visit %s to approve or reject the connection request."
msgstr "Bezoek %s om het connectieverzoek te accepteren of af te wijzen."
-#: ../../Zotlabs/Lib/Enotify.php:291
-msgid "[Hubzilla:Notify] Friend suggestion received"
-msgstr "[Hubzilla:Notificatie] Kanaalvoorstel ontvangen"
+#: ../../Zotlabs/Lib/Enotify.php:297
+msgid "[$Projectname:Notify] Friend suggestion received"
+msgstr "[$Projectname:Notificatie] Kanaalvoorstel ontvangen"
-#: ../../Zotlabs/Lib/Enotify.php:292
+#: ../../Zotlabs/Lib/Enotify.php:298
#, php-format
msgid "%1$s, you've received a friend suggestion from '%2$s' at %3$s"
msgstr "%1$s, je hebt een kanaalvoorstel ontvangen van '%2$s' om %3$s"
-#: ../../Zotlabs/Lib/Enotify.php:293
+#: ../../Zotlabs/Lib/Enotify.php:299
#, php-format
msgid ""
"%1$s, you've received [zrl=%2$s]a friend suggestion[/zrl] for %3$s from "
"%4$s."
msgstr "%1$s, je hebt [zrl=%2$s]een kanaalvoorstel[/zrl] ontvangen voor %3$s van %4$s."
-#: ../../Zotlabs/Lib/Enotify.php:299
+#: ../../Zotlabs/Lib/Enotify.php:305
msgid "Name:"
msgstr "Naam:"
-#: ../../Zotlabs/Lib/Enotify.php:300
+#: ../../Zotlabs/Lib/Enotify.php:306
msgid "Photo:"
msgstr "Foto:"
-#: ../../Zotlabs/Lib/Enotify.php:303
+#: ../../Zotlabs/Lib/Enotify.php:309
#, php-format
msgid "Please visit %s to approve or reject the suggestion."
msgstr "Bezoek %s om het voorstel te accepteren of af te wijzen."
-#: ../../Zotlabs/Lib/Enotify.php:518
-msgid "[Hubzilla:Notify]"
-msgstr "[Hubzilla:Notificatie]"
+#: ../../Zotlabs/Lib/Enotify.php:527
+msgid "[$Projectname:Notify]"
+msgstr "[$Projectname:Notificatie]"
-#: ../../Zotlabs/Lib/Enotify.php:667
+#: ../../Zotlabs/Lib/Enotify.php:687
msgid "created a new post"
msgstr "maakte een nieuw bericht aan"
-#: ../../Zotlabs/Lib/Enotify.php:668
+#: ../../Zotlabs/Lib/Enotify.php:688
#, php-format
msgid "commented on %s's post"
msgstr "gaf een reactie op een bericht van %s"
-#: ../../Zotlabs/Lib/Apps.php:205
-msgid "Site Admin"
-msgstr "Hubbeheerder"
-
-#: ../../Zotlabs/Lib/Apps.php:206
-msgid "Bug Report"
-msgstr "Bugrapport"
-
-#: ../../Zotlabs/Lib/Apps.php:207
-msgid "View Bookmarks"
-msgstr "Bladwijzers bekijken"
-
-#: ../../Zotlabs/Lib/Apps.php:208
-msgid "My Chatrooms"
-msgstr "Mijn chatkanalen"
-
-#: ../../Zotlabs/Lib/Apps.php:210
-msgid "Firefox Share"
-msgstr "Firefox Share"
-
-#: ../../Zotlabs/Lib/Apps.php:211
-msgid "Remote Diagnostics"
-msgstr "Diagnose op afstand"
-
-#: ../../Zotlabs/Lib/Apps.php:212 ../../include/features.php:93
-msgid "Suggest Channels"
-msgstr "Kanalen voorstellen"
-
-#: ../../Zotlabs/Lib/Apps.php:213 ../../include/nav.php:114
-#: ../../boot.php:1713
-msgid "Login"
-msgstr "Inloggen"
-
-#: ../../Zotlabs/Lib/Apps.php:215 ../../include/nav.php:183
-msgid "Grid"
-msgstr "Grid"
-
-#: ../../Zotlabs/Lib/Apps.php:220 ../../include/nav.php:186
-msgid "Channel Home"
-msgstr "Jouw kanaal"
-
-#: ../../Zotlabs/Lib/Apps.php:223 ../../include/conversation.php:1679
-#: ../../include/conversation.php:1682 ../../include/nav.php:205
-msgid "Events"
-msgstr "Agenda"
-
-#: ../../Zotlabs/Lib/Apps.php:224 ../../include/nav.php:171
-msgid "Directory"
-msgstr "Kanalengids"
-
-#: ../../Zotlabs/Lib/Apps.php:226 ../../include/nav.php:197
-msgid "Mail"
-msgstr "Privéberichten"
-
-#: ../../Zotlabs/Lib/Apps.php:229 ../../include/nav.php:98
-msgid "Chat"
-msgstr "Chatten"
-
-#: ../../Zotlabs/Lib/Apps.php:231
-msgid "Probe"
-msgstr "Onderzoeken"
-
-#: ../../Zotlabs/Lib/Apps.php:232
-msgid "Suggest"
-msgstr "Voorstellen"
-
-#: ../../Zotlabs/Lib/Apps.php:233
-msgid "Random Channel"
-msgstr "Willekeurig kanaal"
-
-#: ../../Zotlabs/Lib/Apps.php:234
-msgid "Invite"
-msgstr "Uitnodigen "
-
-#: ../../Zotlabs/Lib/Apps.php:235 ../../include/widgets.php:1494
-msgid "Features"
-msgstr "Extra functies"
-
-#: ../../Zotlabs/Lib/Apps.php:236
-msgid "Language"
-msgstr "Taal"
-
-#: ../../Zotlabs/Lib/Apps.php:237
-msgid "Post"
-msgstr "Bericht"
-
-#: ../../Zotlabs/Lib/Apps.php:238
-msgid "Profile Photo"
-msgstr "Profielfoto"
-
-#: ../../Zotlabs/Lib/Apps.php:339
-msgid "Purchase"
-msgstr "Aanschaffen"
-
-#: ../../Zotlabs/Lib/PermissionDescription.php:31
-#: ../../include/acl_selectors.php:124
-msgid "Visible to your default audience"
-msgstr "Voor iedereen zichtbaar, mits niet anders ingesteld"
-
-#: ../../Zotlabs/Lib/PermissionDescription.php:106
-#: ../../include/acl_selectors.php:170
-msgid "Only me"
-msgstr "Alleen ik"
-
-#: ../../Zotlabs/Lib/PermissionDescription.php:107
-msgid "Public"
-msgstr "Openbaar"
-
-#: ../../Zotlabs/Lib/PermissionDescription.php:108
-msgid "Anybody in the $Projectname network"
-msgstr "Iedereen in het $Projectname-netwerk"
-
-#: ../../Zotlabs/Lib/PermissionDescription.php:109
-#, php-format
-msgid "Any account on %s"
-msgstr "Iedereen op %s"
-
-#: ../../Zotlabs/Lib/PermissionDescription.php:110
-msgid "Any of my connections"
-msgstr "Al mijn geaccepteerde connecties"
-
-#: ../../Zotlabs/Lib/PermissionDescription.php:111
-msgid "Only connections I specifically allow"
-msgstr "Alleen connecties die uitdrukkelijk door jou zijn toegestaan"
-
-#: ../../Zotlabs/Lib/PermissionDescription.php:112
-msgid "Anybody authenticated (could include visitors from other networks)"
-msgstr "Geauthenticeerde leden (kan bezoekers van andere netwerken bevatten)"
-
-#: ../../Zotlabs/Lib/PermissionDescription.php:113
-msgid "Any connections including those who haven't yet been approved"
-msgstr "Al mijn geaccepteerde en nog niet geaccepteerde connecties"
-
-#: ../../Zotlabs/Lib/PermissionDescription.php:152
-msgid ""
-"This is your default setting for the audience of your normal stream, and "
-"posts."
-msgstr "Dit is de standaard privacy-instelling voor wie jouw berichten kan bekijken"
-
-#: ../../Zotlabs/Lib/PermissionDescription.php:153
-msgid ""
-"This is your default setting for who can view your default channel profile"
-msgstr "Dit is de standaard privacy-instelling voor wie jouw standaardprofiel kan bekijken"
-
-#: ../../Zotlabs/Lib/PermissionDescription.php:154
-msgid "This is your default setting for who can view your connections"
-msgstr "Dit is de standaard privacy-instelling voor wie een lijst met jouw connecties kan bekijken"
-
-#: ../../Zotlabs/Lib/PermissionDescription.php:155
-msgid ""
-"This is your default setting for who can view your file storage and photos"
-msgstr "Dit is de standaard privacy-instelling voor wie jouw bestanden en foto's kan bekijken"
-
-#: ../../Zotlabs/Lib/PermissionDescription.php:156
-msgid "This is your default setting for the audience of your webpages"
-msgstr "Dit is de standaard privacy-instelling voor wie jouw webpagina's kan bekijken"
-
#: ../../Zotlabs/Lib/ThreadItem.php:95 ../../include/conversation.php:667
msgid "Private Message"
msgstr "Niet voor iedereen zichtbaar"
@@ -6917,957 +6872,1171 @@ msgstr "Oneens"
msgid "I abstain"
msgstr "Onthouding"
-#: ../../Zotlabs/Lib/ThreadItem.php:218
+#: ../../Zotlabs/Lib/ThreadItem.php:223
msgid "Add Star"
msgstr "Ster toevoegen"
-#: ../../Zotlabs/Lib/ThreadItem.php:219
+#: ../../Zotlabs/Lib/ThreadItem.php:224
msgid "Remove Star"
msgstr "Ster verwijderen"
-#: ../../Zotlabs/Lib/ThreadItem.php:220
+#: ../../Zotlabs/Lib/ThreadItem.php:225
msgid "Toggle Star Status"
msgstr "Ster toevoegen of verwijderen"
-#: ../../Zotlabs/Lib/ThreadItem.php:224
+#: ../../Zotlabs/Lib/ThreadItem.php:229
msgid "starred"
msgstr "met ster"
-#: ../../Zotlabs/Lib/ThreadItem.php:234 ../../include/conversation.php:674
+#: ../../Zotlabs/Lib/ThreadItem.php:239 ../../include/conversation.php:674
msgid "Message signature validated"
msgstr "Berichtkenmerk gevalideerd"
-#: ../../Zotlabs/Lib/ThreadItem.php:235 ../../include/conversation.php:675
+#: ../../Zotlabs/Lib/ThreadItem.php:240 ../../include/conversation.php:675
msgid "Message signature incorrect"
msgstr "Berichtkenmerk onjuist"
-#: ../../Zotlabs/Lib/ThreadItem.php:243
+#: ../../Zotlabs/Lib/ThreadItem.php:248
msgid "Add Tag"
msgstr "Tag toevoegen"
-#: ../../Zotlabs/Lib/ThreadItem.php:262 ../../include/taxonomy.php:316
+#: ../../Zotlabs/Lib/ThreadItem.php:268 ../../include/taxonomy.php:316
msgid "like"
msgstr "vind dit leuk"
-#: ../../Zotlabs/Lib/ThreadItem.php:263 ../../include/taxonomy.php:317
+#: ../../Zotlabs/Lib/ThreadItem.php:269 ../../include/taxonomy.php:317
msgid "dislike"
msgstr "vind dit niet leuk"
-#: ../../Zotlabs/Lib/ThreadItem.php:267
+#: ../../Zotlabs/Lib/ThreadItem.php:273
msgid "Share This"
msgstr "Delen"
-#: ../../Zotlabs/Lib/ThreadItem.php:267
+#: ../../Zotlabs/Lib/ThreadItem.php:273
msgid "share"
msgstr "delen"
-#: ../../Zotlabs/Lib/ThreadItem.php:276
+#: ../../Zotlabs/Lib/ThreadItem.php:282
msgid "Delivery Report"
msgstr "Afleveringsrapport"
-#: ../../Zotlabs/Lib/ThreadItem.php:294
+#: ../../Zotlabs/Lib/ThreadItem.php:300
#, php-format
msgid "%d comment"
msgid_plural "%d comments"
msgstr[0] "%d reactie"
msgstr[1] "%d reacties weergeven"
-#: ../../Zotlabs/Lib/ThreadItem.php:323 ../../Zotlabs/Lib/ThreadItem.php:324
+#: ../../Zotlabs/Lib/ThreadItem.php:329 ../../Zotlabs/Lib/ThreadItem.php:330
#, php-format
msgid "View %s's profile - %s"
msgstr "Profiel van %s bekijken - %s"
-#: ../../Zotlabs/Lib/ThreadItem.php:327
+#: ../../Zotlabs/Lib/ThreadItem.php:333
msgid "to"
msgstr "aan"
-#: ../../Zotlabs/Lib/ThreadItem.php:328
+#: ../../Zotlabs/Lib/ThreadItem.php:334
msgid "via"
msgstr "via"
-#: ../../Zotlabs/Lib/ThreadItem.php:329
+#: ../../Zotlabs/Lib/ThreadItem.php:335
msgid "Wall-to-Wall"
msgstr "Kanaal-naar-kanaal"
-#: ../../Zotlabs/Lib/ThreadItem.php:330
+#: ../../Zotlabs/Lib/ThreadItem.php:336
msgid "via Wall-To-Wall:"
msgstr "via kanaal-naar-kanaal"
-#: ../../Zotlabs/Lib/ThreadItem.php:342 ../../include/conversation.php:722
+#: ../../Zotlabs/Lib/ThreadItem.php:348 ../../include/conversation.php:720
#, php-format
msgid "from %s"
msgstr "van %s"
-#: ../../Zotlabs/Lib/ThreadItem.php:345 ../../include/conversation.php:725
+#: ../../Zotlabs/Lib/ThreadItem.php:351 ../../include/conversation.php:723
#, php-format
msgid "last edited: %s"
msgstr "laatst bewerkt: %s"
-#: ../../Zotlabs/Lib/ThreadItem.php:346 ../../include/conversation.php:726
+#: ../../Zotlabs/Lib/ThreadItem.php:352 ../../include/conversation.php:724
#, php-format
msgid "Expires: %s"
msgstr "Verloopt: %s"
-#: ../../Zotlabs/Lib/ThreadItem.php:371
+#: ../../Zotlabs/Lib/ThreadItem.php:377
msgid "Save Bookmarks"
msgstr "Bladwijzers opslaan"
-#: ../../Zotlabs/Lib/ThreadItem.php:372
+#: ../../Zotlabs/Lib/ThreadItem.php:378
msgid "Add to Calendar"
msgstr "Aan agenda toevoegen"
-#: ../../Zotlabs/Lib/ThreadItem.php:381
+#: ../../Zotlabs/Lib/ThreadItem.php:387
msgid "Mark all seen"
msgstr "Markeer alles als bekeken"
-#: ../../Zotlabs/Lib/ThreadItem.php:422 ../../include/js_strings.php:7
+#: ../../Zotlabs/Lib/ThreadItem.php:436 ../../include/js_strings.php:7
#, php-format
msgid "%s show all"
msgstr "%s alle"
-#: ../../Zotlabs/Lib/ThreadItem.php:712 ../../include/conversation.php:1233
+#: ../../Zotlabs/Lib/ThreadItem.php:726 ../../include/conversation.php:1239
msgid "Bold"
msgstr "Vet"
-#: ../../Zotlabs/Lib/ThreadItem.php:713 ../../include/conversation.php:1234
+#: ../../Zotlabs/Lib/ThreadItem.php:727 ../../include/conversation.php:1240
msgid "Italic"
msgstr "Cursief"
-#: ../../Zotlabs/Lib/ThreadItem.php:714 ../../include/conversation.php:1235
+#: ../../Zotlabs/Lib/ThreadItem.php:728 ../../include/conversation.php:1241
msgid "Underline"
msgstr "Onderstrepen"
-#: ../../Zotlabs/Lib/ThreadItem.php:715 ../../include/conversation.php:1236
+#: ../../Zotlabs/Lib/ThreadItem.php:729 ../../include/conversation.php:1242
msgid "Quote"
msgstr "Citeren"
-#: ../../Zotlabs/Lib/ThreadItem.php:716 ../../include/conversation.php:1237
+#: ../../Zotlabs/Lib/ThreadItem.php:730 ../../include/conversation.php:1243
msgid "Code"
msgstr "Broncode"
-#: ../../Zotlabs/Lib/ThreadItem.php:717
+#: ../../Zotlabs/Lib/ThreadItem.php:731
msgid "Image"
msgstr "Afbeelding"
-#: ../../Zotlabs/Lib/ThreadItem.php:718
+#: ../../Zotlabs/Lib/ThreadItem.php:732
msgid "Insert Link"
msgstr "Link invoegen"
-#: ../../Zotlabs/Lib/ThreadItem.php:719
+#: ../../Zotlabs/Lib/ThreadItem.php:733
msgid "Video"
msgstr "Video"
-#: ../../include/Import/import_diaspora.php:16
-msgid "No username found in import file."
-msgstr "Geen gebruikersnaam in het importbestand gevonden."
-
-#: ../../include/Import/import_diaspora.php:41 ../../include/import.php:51
-msgid "Unable to create a unique channel address. Import failed."
-msgstr "Niet in staat om een uniek kanaaladres aan te maken. Importeren is mislukt."
-
-#: ../../include/dba/dba_driver.php:171
-#, php-format
-msgid "Cannot locate DNS info for database server '%s'"
-msgstr "Kan DNS-informatie voor databaseserver '%s' niet vinden"
-
-#: ../../include/auth.php:148
-msgid "Logged out."
-msgstr "Uitgelogd."
-
-#: ../../include/auth.php:275
-msgid "Failed authentication"
-msgstr "Mislukte authenticatie"
+#: ../../Zotlabs/Lib/PermissionDescription.php:31
+#: ../../include/acl_selectors.php:124
+msgid "Visible to your default audience"
+msgstr "Voor iedereen zichtbaar, mits niet anders ingesteld"
-#: ../../include/auth.php:286
-msgid "Login failed."
-msgstr "Inloggen mislukt."
+#: ../../Zotlabs/Lib/PermissionDescription.php:106
+#: ../../include/acl_selectors.php:165
+msgid "Only me"
+msgstr "Alleen ik"
-#: ../../include/bbcode.php:123 ../../include/bbcode.php:878
-#: ../../include/bbcode.php:881 ../../include/bbcode.php:886
-#: ../../include/bbcode.php:889 ../../include/bbcode.php:892
-#: ../../include/bbcode.php:895 ../../include/bbcode.php:900
-#: ../../include/bbcode.php:903 ../../include/bbcode.php:908
-#: ../../include/bbcode.php:911 ../../include/bbcode.php:914
-#: ../../include/bbcode.php:917
-msgid "Image/photo"
-msgstr "Afbeelding/foto"
+#: ../../Zotlabs/Lib/PermissionDescription.php:107
+msgid "Public"
+msgstr "Openbaar"
-#: ../../include/bbcode.php:162 ../../include/bbcode.php:928
-msgid "Encrypted content"
-msgstr "Versleutelde inhoud"
+#: ../../Zotlabs/Lib/PermissionDescription.php:108
+msgid "Anybody in the $Projectname network"
+msgstr "Iedereen in het $Projectname-netwerk"
-#: ../../include/bbcode.php:178
+#: ../../Zotlabs/Lib/PermissionDescription.php:109
#, php-format
-msgid "Install %s element: "
-msgstr "Installeer %s-element: "
+msgid "Any account on %s"
+msgstr "Iedereen op %s"
-#: ../../include/bbcode.php:182
-#, php-format
-msgid ""
-"This post contains an installable %s element, however you lack permissions "
-"to install it on this site."
-msgstr "Dit bericht heeft een te installeren %s-element, maar je hebt geen permissies om het op deze hub te installeren."
+#: ../../Zotlabs/Lib/PermissionDescription.php:110
+msgid "Any of my connections"
+msgstr "Al mijn geaccepteerde connecties"
-#: ../../include/bbcode.php:261
-#, php-format
-msgid "%1$s wrote the following %2$s %3$s"
-msgstr "%1$s schreef het volgende %2$s %3$s"
+#: ../../Zotlabs/Lib/PermissionDescription.php:111
+msgid "Only connections I specifically allow"
+msgstr "Alleen connecties die uitdrukkelijk door jou zijn toegestaan"
-#: ../../include/bbcode.php:338 ../../include/bbcode.php:346
-msgid "Click to open/close"
-msgstr "Klik om te openen of te sluiten"
+#: ../../Zotlabs/Lib/PermissionDescription.php:112
+msgid "Anybody authenticated (could include visitors from other networks)"
+msgstr "Geauthenticeerde leden (kan bezoekers van andere netwerken bevatten)"
-#: ../../include/bbcode.php:346
-msgid "spoiler"
-msgstr "spoiler"
+#: ../../Zotlabs/Lib/PermissionDescription.php:113
+msgid "Any connections including those who haven't yet been approved"
+msgstr "Al mijn geaccepteerde en nog niet geaccepteerde connecties"
-#: ../../include/bbcode.php:619 ../../include/wiki.php:525
-msgid "Different viewers will see this text differently"
-msgstr "Deze tekst wordt per persoon anders weergeven."
+#: ../../Zotlabs/Lib/PermissionDescription.php:152
+msgid ""
+"This is your default setting for the audience of your normal stream, and "
+"posts."
+msgstr "Dit is de standaard privacy-instelling voor wie jouw berichten kan bekijken"
-#: ../../include/bbcode.php:866
-msgid "$1 wrote:"
-msgstr "$1 schreef:"
+#: ../../Zotlabs/Lib/PermissionDescription.php:153
+msgid ""
+"This is your default setting for who can view your default channel profile"
+msgstr "Dit is de standaard privacy-instelling voor wie jouw standaardprofiel kan bekijken"
-#: ../../include/follow.php:27
-msgid "Channel is blocked on this site."
-msgstr "Kanaal is op deze hub geblokkeerd."
+#: ../../Zotlabs/Lib/PermissionDescription.php:154
+msgid "This is your default setting for who can view your connections"
+msgstr "Dit is de standaard privacy-instelling voor wie een lijst met jouw connecties kan bekijken"
-#: ../../include/follow.php:32
-msgid "Channel location missing."
-msgstr "Ontbrekende kanaallocatie."
+#: ../../Zotlabs/Lib/PermissionDescription.php:155
+msgid ""
+"This is your default setting for who can view your file storage and photos"
+msgstr "Dit is de standaard privacy-instelling voor wie jouw bestanden en foto's kan bekijken"
-#: ../../include/follow.php:80
-msgid "Response from remote channel was incomplete."
-msgstr "Antwoord van het kanaal op afstand was niet volledig."
+#: ../../Zotlabs/Lib/PermissionDescription.php:156
+msgid "This is your default setting for the audience of your webpages"
+msgstr "Dit is de standaard privacy-instelling voor wie jouw webpagina's kan bekijken"
-#: ../../include/follow.php:97
-msgid "Channel was deleted and no longer exists."
-msgstr "Kanaal is verwijderd en bestaat niet meer."
+#: ../../Zotlabs/Lib/Apps.php:205
+msgid "Site Admin"
+msgstr "Hubbeheerder"
-#: ../../include/follow.php:147 ../../include/follow.php:183
-msgid "Protocol disabled."
-msgstr "Protocol uitgeschakeld."
+#: ../../Zotlabs/Lib/Apps.php:206
+msgid "Bug Report"
+msgstr "Bugrapport"
-#: ../../include/follow.php:171
-msgid "Channel discovery failed."
-msgstr "Kanaal ontdekken mislukt."
+#: ../../Zotlabs/Lib/Apps.php:207
+msgid "View Bookmarks"
+msgstr "Bladwijzers bekijken"
-#: ../../include/follow.php:210
-msgid "Cannot connect to yourself."
-msgstr "Kan niet met jezelf verbinden"
+#: ../../Zotlabs/Lib/Apps.php:208
+msgid "My Chatrooms"
+msgstr "Mijn chatkanalen"
-#: ../../include/api.php:1330
-msgid "Public Timeline"
-msgstr "Openbare tijdlijn"
+#: ../../Zotlabs/Lib/Apps.php:210
+msgid "Firefox Share"
+msgstr "Firefox Share"
-#: ../../include/conversation.php:204
-#, php-format
-msgid "%1$s is now connected with %2$s"
-msgstr "%1$s is nu met %2$s verbonden"
+#: ../../Zotlabs/Lib/Apps.php:211
+msgid "Remote Diagnostics"
+msgstr "Diagnose op afstand"
-#: ../../include/conversation.php:239
-#, php-format
-msgid "%1$s poked %2$s"
-msgstr "%1$s heeft %2$s aangestoten"
+#: ../../Zotlabs/Lib/Apps.php:212 ../../include/features.php:319
+msgid "Suggest Channels"
+msgstr "Kanalen voorstellen"
-#: ../../include/conversation.php:243 ../../include/text.php:1013
-#: ../../include/text.php:1018
-msgid "poked"
-msgstr "aangestoten"
+#: ../../Zotlabs/Lib/Apps.php:213 ../../include/nav.php:115
+#: ../../boot.php:1739
+msgid "Login"
+msgstr "Inloggen"
-#: ../../include/conversation.php:694
-#, php-format
-msgid "View %s's profile @ %s"
-msgstr "Bekijk het profiel van %s @ %s"
+#: ../../Zotlabs/Lib/Apps.php:215 ../../include/nav.php:184
+msgid "Grid"
+msgstr "Grid"
-#: ../../include/conversation.php:713
-msgid "Categories:"
-msgstr "Categorieën:"
+#: ../../Zotlabs/Lib/Apps.php:220 ../../include/nav.php:187
+msgid "Channel Home"
+msgstr "Jouw kanaal"
-#: ../../include/conversation.php:714
-msgid "Filed under:"
-msgstr "Bewaard onder:"
+#: ../../Zotlabs/Lib/Apps.php:223 ../../include/nav.php:206
+#: ../../include/conversation.php:1689 ../../include/conversation.php:1692
+msgid "Events"
+msgstr "Agenda"
-#: ../../include/conversation.php:741
-msgid "View in context"
-msgstr "In context bekijken"
+#: ../../Zotlabs/Lib/Apps.php:224 ../../include/nav.php:172
+msgid "Directory"
+msgstr "Kanalengids"
-#: ../../include/conversation.php:851
-msgid "remove"
-msgstr "verwijderen"
+#: ../../Zotlabs/Lib/Apps.php:226 ../../include/nav.php:198
+msgid "Mail"
+msgstr "Privéberichten"
-#: ../../include/conversation.php:855 ../../include/nav.php:251
-msgid "Loading..."
-msgstr "Aan het laden..."
+#: ../../Zotlabs/Lib/Apps.php:229 ../../include/nav.php:99
+msgid "Chat"
+msgstr "Chatten"
-#: ../../include/conversation.php:856
-msgid "Delete Selected Items"
-msgstr "Verwijder de geselecteerde items"
+#: ../../Zotlabs/Lib/Apps.php:231
+msgid "Probe"
+msgstr "Onderzoeken"
-#: ../../include/conversation.php:952
-msgid "View Source"
-msgstr "Bron weergeven"
+#: ../../Zotlabs/Lib/Apps.php:232
+msgid "Suggest"
+msgstr "Voorstellen"
-#: ../../include/conversation.php:953
-msgid "Follow Thread"
-msgstr "Conversatie volgen"
+#: ../../Zotlabs/Lib/Apps.php:233
+msgid "Random Channel"
+msgstr "Willekeurig kanaal"
-#: ../../include/conversation.php:954
-msgid "Unfollow Thread"
-msgstr "Conversatie niet meer volgen"
+#: ../../Zotlabs/Lib/Apps.php:234
+msgid "Invite"
+msgstr "Uitnodigen "
-#: ../../include/conversation.php:959
-msgid "Activity/Posts"
-msgstr "Activiteit/berichten connectie"
+#: ../../Zotlabs/Lib/Apps.php:235 ../../include/widgets.php:1564
+msgid "Features"
+msgstr "Extra functies"
-#: ../../include/conversation.php:961
-msgid "Edit Connection"
-msgstr "Connectie bewerken"
+#: ../../Zotlabs/Lib/Apps.php:236
+msgid "Language"
+msgstr "Taal"
-#: ../../include/conversation.php:962
-msgid "Message"
+#: ../../Zotlabs/Lib/Apps.php:237
+msgid "Post"
msgstr "Bericht"
-#: ../../include/conversation.php:1079
-#, php-format
-msgid "%s likes this."
-msgstr "%s vindt dit leuk."
-
-#: ../../include/conversation.php:1079
-#, php-format
-msgid "%s doesn't like this."
-msgstr "%s vindt dit niet leuk."
-
-#: ../../include/conversation.php:1083
-#, 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 persoon</span> vindt dit leuk."
-msgstr[1] "<span %1$s>%2$d personen</span> vinden dit leuk."
-
-#: ../../include/conversation.php:1085
-#, 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 persoon</span> vindt dit niet leuk."
-msgstr[1] "<span %1$s>%2$d personen</span> vinden dit niet leuk."
+#: ../../Zotlabs/Lib/Apps.php:238
+msgid "Profile Photo"
+msgstr "Profielfoto"
-#: ../../include/conversation.php:1091
-msgid "and"
-msgstr "en"
+#: ../../Zotlabs/Lib/Apps.php:339
+msgid "Purchase"
+msgstr "Aanschaffen"
-#: ../../include/conversation.php:1094
-#, php-format
-msgid ", and %d other people"
-msgid_plural ", and %d other people"
-msgstr[0] ", en %d ander persoon"
-msgstr[1] ", en %d andere personen"
+#: ../../include/Import/import_diaspora.php:16
+msgid "No username found in import file."
+msgstr "Geen gebruikersnaam in het importbestand gevonden."
-#: ../../include/conversation.php:1095
-#, php-format
-msgid "%s like this."
-msgstr "%s vinden dit leuk."
+#: ../../include/Import/import_diaspora.php:41 ../../include/import.php:51
+msgid "Unable to create a unique channel address. Import failed."
+msgstr "Niet in staat om een uniek kanaaladres aan te maken. Importeren is mislukt."
-#: ../../include/conversation.php:1095
+#: ../../include/dba/dba_driver.php:173
#, php-format
-msgid "%s don't like this."
-msgstr "%s vinden dit niet leuk."
-
-#: ../../include/conversation.php:1138
-msgid "Set your location"
-msgstr "Locatie instellen"
-
-#: ../../include/conversation.php:1139
-msgid "Clear browser location"
-msgstr "Locatie van webbrowser wissen"
-
-#: ../../include/conversation.php:1187
-msgid "Tag term:"
-msgstr "Tag:"
-
-#: ../../include/conversation.php:1188
-msgid "Where are you right now?"
-msgstr "Waar bevind je je op dit moment?"
-
-#: ../../include/conversation.php:1197
-msgid "Comments enabled"
-msgstr "Reacties ingeschakeld"
-
-#: ../../include/conversation.php:1198
-msgid "Comments disabled"
-msgstr "Reacties uitgeschakeld"
-
-#: ../../include/conversation.php:1228
-msgid "Page link name"
-msgstr "Linknaam pagina"
-
-#: ../../include/conversation.php:1231
-msgid "Post as"
-msgstr "Bericht plaatsen als"
-
-#: ../../include/conversation.php:1245
-msgid "Toggle voting"
-msgstr "Peiling in- of uitschakelen"
-
-#: ../../include/conversation.php:1248
-msgid "Disable comments"
-msgstr "Reacties uitschakelen"
+msgid "Cannot locate DNS info for database server '%s'"
+msgstr "Kan DNS-informatie voor databaseserver '%s' niet vinden"
-#: ../../include/conversation.php:1249
-msgid "Toggle comments"
-msgstr "Reacties in- of uitschakelen"
+#: ../../include/permissions.php:35
+msgid "Can view my normal stream and posts"
+msgstr "Kan mijn normale kanaalstream en berichten bekijken"
-#: ../../include/conversation.php:1257
-msgid "Categories (optional, comma-separated list)"
-msgstr "Categorieën (optioneel, door komma's gescheiden lijst)"
+#: ../../include/permissions.php:39
+msgid "Can view my webpages"
+msgstr "Kan mijn pagina's bekijken"
-#: ../../include/conversation.php:1284
-msgid "Set publish date"
-msgstr "Publicatiedatum instellen"
+#: ../../include/permissions.php:43
+msgid "Can post on my channel page (\"wall\")"
+msgstr "Kan een bericht in mijn kanaal plaatsen"
-#: ../../include/conversation.php:1533
-msgid "Discover"
-msgstr "Ontdekken"
+#: ../../include/permissions.php:46
+msgid "Can like/dislike stuff"
+msgstr "Kan dingen leuk of niet leuk vinden"
-#: ../../include/conversation.php:1536
-msgid "Imported public streams"
-msgstr "Openbare streams importeren"
+#: ../../include/permissions.php:46
+msgid "Profiles and things other than posts/comments"
+msgstr "Profielen en dingen, buiten berichten en reacties"
-#: ../../include/conversation.php:1541
-msgid "Commented Order"
-msgstr "Nieuwe reacties bovenaan"
+#: ../../include/permissions.php:48
+msgid "Can forward to all my channel contacts via post @mentions"
+msgstr "Kan naar al mijn kanaalconnecties berichten doorsturen met behulp van @vermeldingen+"
-#: ../../include/conversation.php:1544
-msgid "Sort by Comment Date"
-msgstr "Berichten met nieuwe reacties bovenaan"
+#: ../../include/permissions.php:48
+msgid "Advanced - useful for creating group forum channels"
+msgstr "Geavanceerd - nuttig voor groepforums"
-#: ../../include/conversation.php:1548
-msgid "Posted Order"
-msgstr "Nieuwe berichten bovenaan"
+#: ../../include/permissions.php:49
+msgid "Can chat with me (when available)"
+msgstr "Kan met mij chatten (wanneer beschikbaar)"
-#: ../../include/conversation.php:1551
-msgid "Sort by Post Date"
-msgstr "Nieuwe berichten bovenaan"
+#: ../../include/permissions.php:50
+msgid "Can write to my file storage and photos"
+msgstr "Kan foto's en andere bestanden aan mijn bestandsopslag toevoegen"
-#: ../../include/conversation.php:1559
-msgid "Posts that mention or involve you"
-msgstr "Alleen berichten die jou vermelden of waar je op een andere manier bij betrokken bent"
+#: ../../include/permissions.php:51
+msgid "Can edit my webpages"
+msgstr "Kan mijn pagina's bewerken"
-#: ../../include/conversation.php:1568
-msgid "Activity Stream - by date"
-msgstr "Activiteitenstroom - volgens datum"
+#: ../../include/permissions.php:53
+msgid "Somewhat advanced - very useful in open communities"
+msgstr "Enigszins geavanceerd (erg nuttig voor kanalen van forums/groepen)"
-#: ../../include/conversation.php:1574
-msgid "Starred"
-msgstr "Met ster"
+#: ../../include/permissions.php:55
+msgid "Can administer my channel resources"
+msgstr "Kan mijn kanaal beheren"
-#: ../../include/conversation.php:1577
-msgid "Favourite Posts"
-msgstr "Favoriete berichten"
+#: ../../include/permissions.php:55
+msgid ""
+"Extremely advanced. Leave this alone unless you know what you are doing"
+msgstr "Zeer geavanceerd. Laat dit met rust, behalve als je weet wat je doet."
-#: ../../include/conversation.php:1584
-msgid "Spam"
-msgstr "Spam"
+#: ../../include/photos.php:114
+#, php-format
+msgid "Image exceeds website size limit of %lu bytes"
+msgstr "Afbeelding is groter dan op deze hub toegestane limiet van %lu bytes"
-#: ../../include/conversation.php:1587
-msgid "Posts flagged as SPAM"
-msgstr "Berichten gemarkeerd als SPAM"
+#: ../../include/photos.php:121
+msgid "Image file is empty."
+msgstr "Afbeeldingsbestand is leeg"
-#: ../../include/conversation.php:1644
-msgid "Status Messages and Posts"
-msgstr "Berichten in dit kanaal"
+#: ../../include/photos.php:259
+msgid "Photo storage failed."
+msgstr "Foto kan niet worden opgeslagen"
-#: ../../include/conversation.php:1653
-msgid "About"
-msgstr "Over"
+#: ../../include/photos.php:299
+msgid "a new photo"
+msgstr "een nieuwe foto"
-#: ../../include/conversation.php:1656
-msgid "Profile Details"
-msgstr "Profiel"
+#: ../../include/photos.php:303
+#, php-format
+msgctxt "photo_upload"
+msgid "%1$s posted %2$s to %3$s"
+msgstr "%1$s plaatste %2$s op %3$s"
-#: ../../include/conversation.php:1665 ../../include/photos.php:506
+#: ../../include/photos.php:506 ../../include/conversation.php:1675
msgid "Photo Albums"
msgstr "Fotoalbums"
-#: ../../include/conversation.php:1672
-msgid "Files and Storage"
-msgstr "Bestanden en opslagruimte"
-
-#: ../../include/conversation.php:1692 ../../include/conversation.php:1695
-#: ../../include/widgets.php:850
-msgid "Chatrooms"
-msgstr "Chatkanalen"
-
-#: ../../include/conversation.php:1705 ../../include/nav.php:104
-msgid "Bookmarks"
-msgstr "Bladwijzers"
-
-#: ../../include/conversation.php:1708
-msgid "Saved Bookmarks"
-msgstr "Opgeslagen bladwijzers"
-
-#: ../../include/conversation.php:1718
-msgid "Manage Webpages"
-msgstr "Webpagina's beheren"
-
-#: ../../include/conversation.php:1783
-msgctxt "noun"
-msgid "Attending"
-msgid_plural "Attending"
-msgstr[0] "aanwezig"
-msgstr[1] "aanwezig"
-
-#: ../../include/conversation.php:1786
-msgctxt "noun"
-msgid "Not Attending"
-msgid_plural "Not Attending"
-msgstr[0] "niet aanwezig"
-msgstr[1] "niet aanwezig"
-
-#: ../../include/conversation.php:1789
-msgctxt "noun"
-msgid "Undecided"
-msgid_plural "Undecided"
-msgstr[0] "nog niet beslist"
-msgstr[1] "nog niet beslist"
-
-#: ../../include/conversation.php:1792
-msgctxt "noun"
-msgid "Agree"
-msgid_plural "Agrees"
-msgstr[0] "eens"
-msgstr[1] "eens"
-
-#: ../../include/conversation.php:1795
-msgctxt "noun"
-msgid "Disagree"
-msgid_plural "Disagrees"
-msgstr[0] "oneens"
-msgstr[1] "oneens"
-
-#: ../../include/conversation.php:1798
-msgctxt "noun"
-msgid "Abstain"
-msgid_plural "Abstains"
-msgstr[0] "onthouding"
-msgstr[1] "onthoudingen"
+#: ../../include/photos.php:510
+msgid "Upload New Photos"
+msgstr "Nieuwe foto's uploaden"
-#: ../../include/features.php:50
+#: ../../include/features.php:58
msgid "General Features"
msgstr "Algemene functies"
-#: ../../include/features.php:52
-msgid "Content Expiration"
-msgstr "Inhoud laten verlopen"
-
-#: ../../include/features.php:52
-msgid "Remove posts/comments and/or private messages at a future time"
-msgstr "Berichten, reacties en/of privéberichten na een bepaalde tijd verwijderen"
-
-#: ../../include/features.php:53
+#: ../../include/features.php:63
msgid "Multiple Profiles"
msgstr "Meerdere profielen"
-#: ../../include/features.php:53
+#: ../../include/features.php:64
msgid "Ability to create multiple profiles"
msgstr "Mogelijkheid om meerdere profielen aan te maken"
-#: ../../include/features.php:54
+#: ../../include/features.php:72
msgid "Advanced Profiles"
msgstr "Geavanceerde profielen"
-#: ../../include/features.php:54
+#: ../../include/features.php:73
msgid "Additional profile sections and selections"
msgstr "Extra onderdelen en keuzes voor je profiel"
-#: ../../include/features.php:55
+#: ../../include/features.php:81
msgid "Profile Import/Export"
msgstr "Profiel importen/exporteren"
-#: ../../include/features.php:55
+#: ../../include/features.php:82
msgid "Save and load profile details across sites/channels"
msgstr "Profielgegevens opslaan en in andere hubs/kanalen gebruiken."
-#: ../../include/features.php:56
+#: ../../include/features.php:90
msgid "Web Pages"
msgstr "Webpagina's"
-#: ../../include/features.php:56
+#: ../../include/features.php:91
msgid "Provide managed web pages on your channel"
msgstr "Sta beheerde webpagina's op jouw kanaal toe"
-#: ../../include/features.php:57
+#: ../../include/features.php:100
msgid "Provide a wiki for your channel"
msgstr "Voeg een wiki aan jouw kanaal toe"
-#: ../../include/features.php:58
-msgid "Hide Rating"
-msgstr "Beoordelingen verbergen"
-
-#: ../../include/features.php:58
-msgid ""
-"Hide the rating buttons on your channel and profile pages. Note: People can "
-"still rate you somewhere else."
-msgstr "Verbergt de beoordelingsknoppen op jouw kanaal- en profielpagina's. Let op: Mensen kunnen jou nog steeds ergens anders beoordelen. "
-
-#: ../../include/features.php:59
+#: ../../include/features.php:117
msgid "Private Notes"
msgstr "Privé-aantekeningen"
-#: ../../include/features.php:59
+#: ../../include/features.php:118
msgid "Enables a tool to store notes and reminders (note: not encrypted)"
msgstr "Een eenvoudige toepassing om aantekeningen en herinneringen in te bewaren (let op: niet versleuteld)"
-#: ../../include/features.php:60
+#: ../../include/features.php:126
msgid "Navigation Channel Select"
msgstr "Kanaal kiezen in navigatiemenu"
-#: ../../include/features.php:60
+#: ../../include/features.php:127
msgid "Change channels directly from within the navigation dropdown menu"
msgstr "Kies een ander kanaal direct vanuit het dropdown-menu op de navigatiebalk"
-#: ../../include/features.php:61
+#: ../../include/features.php:135
msgid "Photo Location"
msgstr "Fotolocatie"
-#: ../../include/features.php:61
+#: ../../include/features.php:136
msgid "If location data is available on uploaded photos, link this to a map."
msgstr "Wanneer in de geüploade foto's locatiegegevens aanwezig zijn, link dit dan aan een kaart."
-#: ../../include/features.php:62
+#: ../../include/features.php:144
msgid "Access Controlled Chatrooms"
msgstr "Chatkanalen met toegangscontrole "
-#: ../../include/features.php:62
+#: ../../include/features.php:145
msgid "Provide chatrooms and chat services with access control."
msgstr "Chatkanalen en chatdiensten met toegangscontrole aanbieden."
-#: ../../include/features.php:63
+#: ../../include/features.php:153
msgid "Smart Birthdays"
msgstr "Slimme verjaardagen"
-#: ../../include/features.php:63
+#: ../../include/features.php:154
msgid ""
"Make birthday events timezone aware in case your friends are scattered "
"across the planet."
msgstr "Maak verjaardagen bewust van tijdzones. Voor het geval dat jouw vrienden over de hele wereld verspreid zijn."
-#: ../../include/features.php:64
-msgid "Expert Mode"
-msgstr "Expertmodus"
+#: ../../include/features.php:162
+msgid "Advanced Directory Search"
+msgstr "Geavanceerd in de kanalengids zoeken"
-#: ../../include/features.php:64
-msgid "Enable Expert Mode to provide advanced configuration options"
-msgstr "Schakel de expertmodus in voor geavanceerde instellingen"
+#: ../../include/features.php:163
+msgid "Allows creation of complex directory search queries"
+msgstr "Gebruik complexe zoekopdrachten in de kanalengids"
-#: ../../include/features.php:65
-msgid "Premium Channel"
-msgstr "Premiumkanaal"
+#: ../../include/features.php:171
+msgid "Advanced Theme and Layout Settings"
+msgstr "Geavanceerde thema- en lay-out-instellingen"
-#: ../../include/features.php:65
-msgid ""
-"Allows you to set restrictions and terms on those that connect with your "
-"channel"
-msgstr "Stelt je in staat om beperkingen en voorwaarden in te stellen voor jouw kanaal"
+#: ../../include/features.php:172
+msgid "Allows fine tuning of themes and page layouts"
+msgstr "Maakt het mogelijk dat thema's en pagina-lay-outs preciezer ingesteld kunnen worden "
-#: ../../include/features.php:70
+#: ../../include/features.php:182
msgid "Post Composition Features"
msgstr "Functies voor het opstellen van berichten"
-#: ../../include/features.php:73
+#: ../../include/features.php:186
msgid "Large Photos"
msgstr "Grote foto's"
-#: ../../include/features.php:73
+#: ../../include/features.php:187
msgid ""
"Include large (1024px) photo thumbnails in posts. If not enabled, use small "
"(640px) photo thumbnails"
msgstr "Gebruik grotere foto's (1024px) in berichten. Wanneer dit is uitgeschakeld worden er kleinere foto's (640px) gebruikt."
-#: ../../include/features.php:74
+#: ../../include/features.php:196
msgid "Automatically import channel content from other channels or feeds"
msgstr "Automatisch inhoud uit andere kanalen of feeds importeren."
-#: ../../include/features.php:75
+#: ../../include/features.php:204
msgid "Even More Encryption"
msgstr "Extra encryptie"
-#: ../../include/features.php:75
+#: ../../include/features.php:205
msgid ""
"Allow optional encryption of content end-to-end with a shared secret key"
msgstr "Sta toe dat inhoud extra end-to-end wordt versleuteld met een gedeelde geheime sleutel."
-#: ../../include/features.php:76
+#: ../../include/features.php:213
msgid "Enable Voting Tools"
msgstr "Peilingen inschakelen"
-#: ../../include/features.php:76
+#: ../../include/features.php:214
msgid "Provide a class of post which others can vote on"
msgstr "Maakt het mogelijk om een bericht op te stellen, waar mensen op kunnen stemmen."
-#: ../../include/features.php:77
+#: ../../include/features.php:222
msgid "Disable Comments"
msgstr "Reacties uitschakelen"
-#: ../../include/features.php:77
+#: ../../include/features.php:223
msgid "Provide the option to disable comments for a post"
msgstr "Maak het mogelijk dat reacties op een bericht kunnen worden uitgeschakeld"
-#: ../../include/features.php:78
+#: ../../include/features.php:231
msgid "Delayed Posting"
msgstr "Berichten uitstellen"
-#: ../../include/features.php:78
+#: ../../include/features.php:232
msgid "Allow posts to be published at a later date"
msgstr "Maakt het mogelijk dat berichten op een toekomstig moment gepubliceerd kunnen worden."
-#: ../../include/features.php:79
+#: ../../include/features.php:240
+msgid "Content Expiration"
+msgstr "Inhoud laten verlopen"
+
+#: ../../include/features.php:241
+msgid "Remove posts/comments and/or private messages at a future time"
+msgstr "Berichten, reacties en/of privéberichten na een bepaalde tijd verwijderen"
+
+#: ../../include/features.php:249
msgid "Suppress Duplicate Posts/Comments"
msgstr "Dubbele berichten/reacties tegenhouden"
-#: ../../include/features.php:79
+#: ../../include/features.php:250
msgid ""
"Prevent posts with identical content to be published with less than two "
"minutes in between submissions."
msgstr "Voorkomt dat berichten en reacties met identieke inhoud en die binnen twee minuten zijn verstuurd, worden gepubliceerd. "
-#: ../../include/features.php:85
+#: ../../include/features.php:261
msgid "Network and Stream Filtering"
msgstr "Netwerk- en streamfilter"
-#: ../../include/features.php:86
+#: ../../include/features.php:265
msgid "Search by Date"
msgstr "Zoek op datum"
-#: ../../include/features.php:86
+#: ../../include/features.php:266
msgid "Ability to select posts by date ranges"
msgstr "Mogelijkheid om berichten op datum te filteren "
-#: ../../include/features.php:87 ../../include/group.php:311
+#: ../../include/features.php:274 ../../include/group.php:311
msgid "Privacy Groups"
msgstr "Privacygroepen"
-#: ../../include/features.php:87
+#: ../../include/features.php:275
msgid "Enable management and selection of privacy groups"
msgstr "Beheer en selectie van privacygroepen inschakelen"
-#: ../../include/features.php:88 ../../include/widgets.php:281
+#: ../../include/features.php:283 ../../include/widgets.php:283
msgid "Saved Searches"
msgstr "Opgeslagen zoekopdrachten"
-#: ../../include/features.php:88
+#: ../../include/features.php:284
msgid "Save search terms for re-use"
msgstr "Sla zoekopdrachten op voor hergebruik"
-#: ../../include/features.php:89
+#: ../../include/features.php:292
msgid "Network Personal Tab"
msgstr "Persoonlijke netwerktab"
-#: ../../include/features.php:89
+#: ../../include/features.php:293
msgid "Enable tab to display only Network posts that you've interacted on"
msgstr "Sta het toe dat de tab netwerkberichten toont waarmee je interactie had"
-#: ../../include/features.php:90
+#: ../../include/features.php:301
msgid "Network New Tab"
msgstr "Nieuwe netwerktab"
-#: ../../include/features.php:90
+#: ../../include/features.php:302
msgid "Enable tab to display all new Network activity"
msgstr "Laat de tab alle nieuwe netwerkactiviteit tonen"
-#: ../../include/features.php:91
+#: ../../include/features.php:310
msgid "Affinity Tool"
msgstr "Verwantschapsfilter"
-#: ../../include/features.php:91
+#: ../../include/features.php:311
msgid "Filter stream activity by depth of relationships"
msgstr "Filter wat je in jouw grid ziet op hoe goed je iemand kent of mag"
-#: ../../include/features.php:92
+#: ../../include/features.php:320
+msgid "Show friend and connection suggestions"
+msgstr "Toon kanaalvoorstellen"
+
+#: ../../include/features.php:328
msgid "Connection Filtering"
msgstr "Berichtenfilters"
-#: ../../include/features.php:92
+#: ../../include/features.php:329
msgid "Filter incoming posts from connections based on keywords/content"
msgstr "Filter binnenkomende berichten van connecties aan de hand van trefwoorden en taal"
-#: ../../include/features.php:93
-msgid "Show channel suggestions"
-msgstr "Voor jou mogelijk interessante kanalen voorstellen"
-
-#: ../../include/features.php:98
+#: ../../include/features.php:341
msgid "Post/Comment Tools"
msgstr "Bericht- en reactiehulpmiddelen"
-#: ../../include/features.php:99
+#: ../../include/features.php:345
msgid "Community Tagging"
msgstr "Taggen door anderen"
-#: ../../include/features.php:99
+#: ../../include/features.php:346
msgid "Ability to tag existing posts"
msgstr "Geeft andere mensen de mogelijkheid om jouw (bestaande) berichten te taggen"
-#: ../../include/features.php:100
+#: ../../include/features.php:354
msgid "Post Categories"
msgstr "Categorieën berichten"
-#: ../../include/features.php:100
+#: ../../include/features.php:355
msgid "Add categories to your posts"
msgstr "Voeg categorieën toe aan je berichten"
-#: ../../include/features.php:101
+#: ../../include/features.php:363
msgid "Emoji Reactions"
msgstr "Emoji-reacties"
-#: ../../include/features.php:101
+#: ../../include/features.php:364
msgid "Add emoji reaction ability to posts"
msgstr "Emoji-reacties in berichten toestaan"
-#: ../../include/features.php:102 ../../include/widgets.php:310
-#: ../../include/contact_widgets.php:53
+#: ../../include/features.php:372 ../../include/contact_widgets.php:53
+#: ../../include/widgets.php:346
msgid "Saved Folders"
msgstr "Bewaarde mappen"
-#: ../../include/features.php:102
+#: ../../include/features.php:373
msgid "Ability to file posts under folders"
msgstr "Mogelijkheid om berichten in mappen op te slaan"
-#: ../../include/features.php:103
+#: ../../include/features.php:381
msgid "Dislike Posts"
msgstr "Vind berichten niet leuk"
-#: ../../include/features.php:103
+#: ../../include/features.php:382
msgid "Ability to dislike posts/comments"
msgstr "Mogelijkheid om berichten en reacties niet leuk te vinden"
-#: ../../include/features.php:104
+#: ../../include/features.php:390
msgid "Star Posts"
msgstr "Geef berichten een ster"
-#: ../../include/features.php:104
+#: ../../include/features.php:391
msgid "Ability to mark special posts with a star indicator"
msgstr "Mogelijkheid om speciale berichten met een ster te markeren"
-#: ../../include/features.php:105
+#: ../../include/features.php:399
msgid "Tag Cloud"
msgstr "Tagwolk"
-#: ../../include/features.php:105
+#: ../../include/features.php:400
msgid "Provide a personal tag cloud on your channel page"
msgstr "Zorgt voor een persoonlijke wolk met tags op jouw kanaalpagina"
-#: ../../include/datetime.php:135
-msgid "Birthday"
-msgstr "Verjaardag of geboortedatum"
+#: ../../include/features.php:412
+msgid "Premium Channel"
+msgstr "Premiumkanaal"
-#: ../../include/datetime.php:137
-msgid "Age: "
-msgstr "Leeftijd:"
+#: ../../include/features.php:413
+msgid ""
+"Allows you to set restrictions and terms on those that connect with your "
+"channel"
+msgstr "Stelt je in staat om beperkingen en voorwaarden in te stellen voor jouw kanaal"
-#: ../../include/datetime.php:139
-msgid "YYYY-MM-DD or MM-DD"
-msgstr "JJJJ-MM-DD of MM-DD"
+#: ../../include/help.php:25
+msgid "Help:"
+msgstr "Hulp:"
-#: ../../include/datetime.php:272 ../../boot.php:2552
-msgid "never"
-msgstr "nooit"
+#: ../../include/security.php:109
+msgid "guest:"
+msgstr "gast:"
-#: ../../include/datetime.php:278
-msgid "less than a second ago"
-msgstr "minder dan een seconde geleden"
+#: ../../include/security.php:527
+msgid ""
+"The form security token was not correct. This probably happened because the "
+"form has been opened for too long (>3 hours) before submitting it."
+msgstr "De beveiligings-token van het tekstvak was ongeldig. Dit is mogelijk het gevolg van dat er te lang (meer dan 3 uur) gewacht is om de tekst op te slaan. "
-#: ../../include/datetime.php:296
+#: ../../include/text.php:450
+msgid "prev"
+msgstr "vorige"
+
+#: ../../include/text.php:452
+msgid "first"
+msgstr "eerste"
+
+#: ../../include/text.php:481
+msgid "last"
+msgstr "laatste"
+
+#: ../../include/text.php:484
+msgid "next"
+msgstr "volgende"
+
+#: ../../include/text.php:494
+msgid "older"
+msgstr "ouder"
+
+#: ../../include/text.php:496
+msgid "newer"
+msgstr "nieuwer"
+
+#: ../../include/text.php:889
+msgid "No connections"
+msgstr "Geen connecties"
+
+#: ../../include/text.php:914
#, php-format
-msgctxt "e.g. 22 hours ago, 1 minute ago"
-msgid "%1$d %2$s ago"
-msgstr "%1$d %2$s geleden"
+msgid "%1$s is now connected with %2$s"
+msgstr "%1$s is nu met %2$s verbonden"
-#: ../../include/datetime.php:307
-msgctxt "relative_date"
-msgid "year"
-msgid_plural "years"
-msgstr[0] "jaar"
-msgstr[1] "jaren"
+#: ../../include/text.php:1059 ../../include/text.php:1064
+msgid "poke"
+msgstr "aanstoten"
-#: ../../include/datetime.php:310
-msgctxt "relative_date"
-msgid "month"
-msgid_plural "months"
-msgstr[0] "maand"
-msgstr[1] "maanden"
+#: ../../include/text.php:1059 ../../include/text.php:1064
+#: ../../include/conversation.php:243
+msgid "poked"
+msgstr "aangestoten"
-#: ../../include/datetime.php:313
-msgctxt "relative_date"
-msgid "week"
-msgid_plural "weeks"
-msgstr[0] "week"
-msgstr[1] "weken"
+#: ../../include/text.php:1065
+msgid "ping"
+msgstr "ping"
-#: ../../include/datetime.php:316
-msgctxt "relative_date"
-msgid "day"
-msgid_plural "days"
-msgstr[0] "dag"
-msgstr[1] "dagen"
+#: ../../include/text.php:1065
+msgid "pinged"
+msgstr "gepingd"
-#: ../../include/datetime.php:319
-msgctxt "relative_date"
-msgid "hour"
-msgid_plural "hours"
-msgstr[0] "uur"
-msgstr[1] "uren"
+#: ../../include/text.php:1066
+msgid "prod"
+msgstr "por"
-#: ../../include/datetime.php:322
-msgctxt "relative_date"
-msgid "minute"
-msgid_plural "minutes"
-msgstr[0] "minuut"
-msgstr[1] "minuten"
+#: ../../include/text.php:1066
+msgid "prodded"
+msgstr "gepord"
-#: ../../include/datetime.php:325
-msgctxt "relative_date"
-msgid "second"
-msgid_plural "seconds"
-msgstr[0] "seconde"
-msgstr[1] "seconden"
+#: ../../include/text.php:1067
+msgid "slap"
+msgstr "slaan"
+
+#: ../../include/text.php:1067
+msgid "slapped"
+msgstr "sloeg"
+
+#: ../../include/text.php:1068
+msgid "finger"
+msgstr "finger"
+
+#: ../../include/text.php:1068
+msgid "fingered"
+msgstr "gefingerd"
+
+#: ../../include/text.php:1069
+msgid "rebuff"
+msgstr "afpoeieren"
+
+#: ../../include/text.php:1069
+msgid "rebuffed"
+msgstr "afgepoeierd"
+
+#: ../../include/text.php:1081
+msgid "happy"
+msgstr "gelukkig"
+
+#: ../../include/text.php:1082
+msgid "sad"
+msgstr "bedroefd"
+
+#: ../../include/text.php:1083
+msgid "mellow"
+msgstr "mellow"
+
+#: ../../include/text.php:1084
+msgid "tired"
+msgstr "moe"
+
+#: ../../include/text.php:1085
+msgid "perky"
+msgstr "parmantig"
+
+#: ../../include/text.php:1086
+msgid "angry"
+msgstr "boos"
+
+#: ../../include/text.php:1087
+msgid "stupefied"
+msgstr "verbijsterd"
+
+#: ../../include/text.php:1088
+msgid "puzzled"
+msgstr "verward"
+
+#: ../../include/text.php:1089
+msgid "interested"
+msgstr "geïnteresseerd"
+
+#: ../../include/text.php:1090
+msgid "bitter"
+msgstr "verbitterd"
+
+#: ../../include/text.php:1091
+msgid "cheerful"
+msgstr "vrolijk"
+
+#: ../../include/text.php:1092
+msgid "alive"
+msgstr "levendig"
+
+#: ../../include/text.php:1093
+msgid "annoyed"
+msgstr "geërgerd"
+
+#: ../../include/text.php:1094
+msgid "anxious"
+msgstr "bezorgd"
+
+#: ../../include/text.php:1095
+msgid "cranky"
+msgstr "humeurig"
+
+#: ../../include/text.php:1096
+msgid "disturbed"
+msgstr "verontrust"
+
+#: ../../include/text.php:1097
+msgid "frustrated"
+msgstr "gefrustreerd "
+
+#: ../../include/text.php:1098
+msgid "depressed"
+msgstr "gedeprimeerd"
+
+#: ../../include/text.php:1099
+msgid "motivated"
+msgstr "gemotiveerd"
+
+#: ../../include/text.php:1100
+msgid "relaxed"
+msgstr "ontspannen"
+
+#: ../../include/text.php:1101
+msgid "surprised"
+msgstr "verrast"
+
+#: ../../include/text.php:1285 ../../include/js_strings.php:70
+msgid "Monday"
+msgstr "maandag"
+
+#: ../../include/text.php:1285 ../../include/js_strings.php:71
+msgid "Tuesday"
+msgstr "dinsdag"
+
+#: ../../include/text.php:1285 ../../include/js_strings.php:72
+msgid "Wednesday"
+msgstr "woensdag"
+
+#: ../../include/text.php:1285 ../../include/js_strings.php:73
+msgid "Thursday"
+msgstr "donderdag"
+
+#: ../../include/text.php:1285 ../../include/js_strings.php:74
+msgid "Friday"
+msgstr "vrijdag"
+
+#: ../../include/text.php:1285 ../../include/js_strings.php:75
+msgid "Saturday"
+msgstr "zaterdag"
+
+#: ../../include/text.php:1285 ../../include/js_strings.php:69
+msgid "Sunday"
+msgstr "zondag"
+
+#: ../../include/text.php:1289 ../../include/js_strings.php:45
+msgid "January"
+msgstr "januari"
+
+#: ../../include/text.php:1289 ../../include/js_strings.php:46
+msgid "February"
+msgstr "februari"
+
+#: ../../include/text.php:1289 ../../include/js_strings.php:47
+msgid "March"
+msgstr "maart"
+
+#: ../../include/text.php:1289 ../../include/js_strings.php:48
+msgid "April"
+msgstr "april"
+
+#: ../../include/text.php:1289
+msgid "May"
+msgstr "mei"
+
+#: ../../include/text.php:1289 ../../include/js_strings.php:50
+msgid "June"
+msgstr "juni"
+
+#: ../../include/text.php:1289 ../../include/js_strings.php:51
+msgid "July"
+msgstr "juli"
+
+#: ../../include/text.php:1289 ../../include/js_strings.php:52
+msgid "August"
+msgstr "augustus"
+
+#: ../../include/text.php:1289 ../../include/js_strings.php:53
+msgid "September"
+msgstr "september"
+
+#: ../../include/text.php:1289 ../../include/js_strings.php:54
+msgid "October"
+msgstr "oktober"
+
+#: ../../include/text.php:1289 ../../include/js_strings.php:55
+msgid "November"
+msgstr "november"
+
+#: ../../include/text.php:1289 ../../include/js_strings.php:56
+msgid "December"
+msgstr "december"
+
+#: ../../include/text.php:1366 ../../include/text.php:1370
+msgid "Unknown Attachment"
+msgstr "Onbekende bijlage"
+
+#: ../../include/text.php:1372
+msgid "unknown"
+msgstr "onbekend"
+
+#: ../../include/text.php:1408
+msgid "remove category"
+msgstr "categorie verwijderen"
+
+#: ../../include/text.php:1485
+msgid "remove from file"
+msgstr "uit map verwijderen"
+
+#: ../../include/text.php:1784 ../../include/text.php:1855
+msgid "default"
+msgstr "standaard"
+
+#: ../../include/text.php:1792
+msgid "Page layout"
+msgstr "Pagina-lay-out"
+
+#: ../../include/text.php:1792
+msgid "You can create your own with the layouts tool"
+msgstr "Je kan jouw eigen lay-out ontwerpen onder lay-outs"
+
+#: ../../include/text.php:1834
+msgid "Page content type"
+msgstr "Opmaaktype pagina"
+
+#: ../../include/text.php:1867
+msgid "Select an alternate language"
+msgstr "Kies een andere taal"
+
+#: ../../include/text.php:2004
+msgid "activity"
+msgstr "activiteit"
+
+#: ../../include/text.php:2305
+msgid "Design Tools"
+msgstr "Ontwerp-hulpmiddelen"
+
+#: ../../include/text.php:2311
+msgid "Pages"
+msgstr "Pagina's"
+
+#: ../../include/text.php:2333
+msgid "Import website..."
+msgstr "Website importeren..."
-#: ../../include/datetime.php:562
+#: ../../include/text.php:2334
+msgid "Select folder to import"
+msgstr "Kies een map om te importeren"
+
+#: ../../include/text.php:2335
+msgid "Import from a zipped folder:"
+msgstr "Vanuit een zipbestand importeren:"
+
+#: ../../include/text.php:2336
+msgid "Import from cloud files:"
+msgstr "Vanuit de cloud importeren:"
+
+#: ../../include/text.php:2337
+msgid "/cloud/channel/path/to/folder"
+msgstr "/cloud/channel/maplocatie"
+
+#: ../../include/text.php:2338
+msgid "Enter path to website files"
+msgstr "Voer de locatie in van de websitebestanden"
+
+#: ../../include/text.php:2339
+msgid "Select folder"
+msgstr "Kies een map"
+
+#: ../../include/text.php:2340
+msgid "Export website..."
+msgstr "Website exporteren..."
+
+#: ../../include/text.php:2341
+msgid "Export to a zip file"
+msgstr "Naar een zipbestand exporteren"
+
+#: ../../include/text.php:2342
+msgid "website.zip"
+msgstr "website.zip"
+
+#: ../../include/text.php:2343
+msgid "Enter a name for the zip file."
+msgstr "Vul een naam in voor het zipbestand."
+
+#: ../../include/text.php:2344
+msgid "Export to cloud files"
+msgstr "Naar de cloud exporteren"
+
+#: ../../include/text.php:2345
+msgid "/path/to/export/folder"
+msgstr "/locatie/van/export/map"
+
+#: ../../include/text.php:2346
+msgid "Enter a path to a cloud files destination."
+msgstr "Voer de locatie in van de cloudbestemming"
+
+#: ../../include/text.php:2347
+msgid "Specify folder"
+msgstr "Selecteer een map"
+
+#: ../../include/zot.php:700
+msgid "Invalid data packet"
+msgstr "Datapakket ongeldig"
+
+#: ../../include/zot.php:716
+msgid "Unable to verify channel signature"
+msgstr "Kanaalkenmerk kon niet worden geverifieerd. "
+
+#: ../../include/zot.php:2329
#, php-format
-msgid "%1$s's birthday"
-msgstr "Verjaardag van %1$s"
+msgid "Unable to verify site signature for %s"
+msgstr "Hubkenmerk voor %s kon niet worden geverifieerd"
+
+#: ../../include/zot.php:3713
+msgid "invalid target signature"
+msgstr "ongeldig doelkenmerk"
-#: ../../include/datetime.php:563
+#: ../../include/account.php:35
+msgid "Not a valid email address"
+msgstr "Geen geldig e-mailadres"
+
+#: ../../include/account.php:37
+msgid "Your email domain is not among those allowed on this site"
+msgstr "Jouw e-maildomein is op deze hub niet toegestaan"
+
+#: ../../include/account.php:43
+msgid "Your email address is already registered at this site."
+msgstr "Jouw e-mailadres is al op deze hub geregistreerd."
+
+#: ../../include/account.php:75
+msgid "An invitation is required."
+msgstr "Een uitnodiging is vereist"
+
+#: ../../include/account.php:79
+msgid "Invitation could not be verified."
+msgstr "Uitnodiging kon niet geverifieerd worden"
+
+#: ../../include/account.php:130
+msgid "Please enter the required information."
+msgstr "Vul de vereiste informatie in."
+
+#: ../../include/account.php:198
+msgid "Failed to store account information."
+msgstr "Account-informatie kon niet opgeslagen worden."
+
+#: ../../include/account.php:258
#, php-format
-msgid "Happy Birthday %1$s"
-msgstr "Gefeliciteerd met je verjaardag %1$s"
+msgid "Registration confirmation for %s"
+msgstr "Registratiebevestiging voor %s"
-#: ../../include/photos.php:114
+#: ../../include/account.php:324
#, php-format
-msgid "Image exceeds website size limit of %lu bytes"
-msgstr "Afbeelding is groter dan op deze hub toegestane limiet van %lu bytes"
+msgid "Registration request at %s"
+msgstr "Registratiebevestiging voor %s"
-#: ../../include/photos.php:121
-msgid "Image file is empty."
-msgstr "Afbeeldingsbestand is leeg"
+#: ../../include/account.php:326 ../../include/account.php:353
+#: ../../include/account.php:413 ../../include/network.php:1937
+msgid "Administrator"
+msgstr "Beheerder"
-#: ../../include/photos.php:259
-msgid "Photo storage failed."
-msgstr "Foto kan niet worden opgeslagen"
+#: ../../include/account.php:348
+msgid "your registration password"
+msgstr "jouw registratiewachtwoord"
-#: ../../include/photos.php:299
-msgid "a new photo"
-msgstr "een nieuwe foto"
+#: ../../include/account.php:351 ../../include/account.php:411
+#, php-format
+msgid "Registration details for %s"
+msgstr "Registratiegegevens voor %s"
-#: ../../include/photos.php:303
+#: ../../include/account.php:423
+msgid "Account approved."
+msgstr "Account goedgekeurd"
+
+#: ../../include/account.php:463
#, php-format
-msgctxt "photo_upload"
-msgid "%1$s posted %2$s to %3$s"
-msgstr "%1$s plaatste %2$s op %3$s"
+msgid "Registration revoked for %s"
+msgstr "Registratie ingetrokken voor %s"
-#: ../../include/photos.php:510
-msgid "Upload New Photos"
-msgstr "Nieuwe foto's uploaden"
+#: ../../include/account.php:748 ../../include/account.php:750
+msgid "Click here to upgrade."
+msgstr "Klik hier om te upgraden."
+
+#: ../../include/account.php:756
+msgid "This action exceeds the limits set by your subscription plan."
+msgstr "Deze handeling overschrijdt de beperkingen die voor jouw abonnement gelden."
+
+#: ../../include/account.php:761
+msgid "This action is not available under your subscription plan."
+msgstr "Deze handeling is niet mogelijk met jouw abonnement."
+
+#: ../../include/message.php:20
+msgid "No recipient provided."
+msgstr "Geen ontvanger opgegeven."
+
+#: ../../include/message.php:25
+msgid "[no subject]"
+msgstr "[geen onderwerp]"
+
+#: ../../include/message.php:45
+msgid "Unable to determine sender."
+msgstr "Afzender kan niet bepaald worden."
+
+#: ../../include/message.php:222
+msgid "Stored post could not be verified."
+msgstr "Opgeslagen bericht kon niet worden geverifieerd."
#: ../../include/selectors.php:30
msgid "Frequently"
@@ -8117,68 +8286,192 @@ msgstr "Maakt mij niks uit"
msgid "Ask me"
msgstr "Vraag het me"
-#: ../../include/permissions.php:29
-msgid "Can view my normal stream and posts"
-msgstr "Kan mijn normale kanaalstream en berichten bekijken"
+#: ../../include/channel.php:33
+msgid "Unable to obtain identity information from database"
+msgstr "Niet in staat om identiteitsinformatie uit de database te verkrijgen"
-#: ../../include/permissions.php:33
-msgid "Can view my webpages"
-msgstr "Kan mijn pagina's bekijken"
+#: ../../include/channel.php:67
+msgid "Empty name"
+msgstr "Ontbrekende naam"
-#: ../../include/permissions.php:37
-msgid "Can post on my channel page (\"wall\")"
-msgstr "Kan een bericht in mijn kanaal plaatsen"
+#: ../../include/channel.php:70
+msgid "Name too long"
+msgstr "Naam te lang"
-#: ../../include/permissions.php:40
-msgid "Can like/dislike stuff"
-msgstr "Kan dingen leuk of niet leuk vinden"
+#: ../../include/channel.php:181
+msgid "No account identifier"
+msgstr "Geen account-identificator"
-#: ../../include/permissions.php:40
-msgid "Profiles and things other than posts/comments"
-msgstr "Profielen en dingen, buiten berichten en reacties"
+#: ../../include/channel.php:193
+msgid "Nickname is required."
+msgstr "Bijnaam is verplicht"
-#: ../../include/permissions.php:42
-msgid "Can forward to all my channel contacts via post @mentions"
-msgstr "Kan naar al mijn kanaalconnecties berichten doorsturen met behulp van @vermeldingen+"
+#: ../../include/channel.php:207
+msgid "Reserved nickname. Please choose another."
+msgstr "Deze naam is gereserveerd. Kies een andere."
-#: ../../include/permissions.php:42
-msgid "Advanced - useful for creating group forum channels"
-msgstr "Geavanceerd - nuttig voor groepforums"
+#: ../../include/channel.php:212
+msgid ""
+"Nickname has unsupported characters or is already being used on this site."
+msgstr "Deze naam heeft niet ondersteunde karakters of is al op deze hub in gebruik."
-#: ../../include/permissions.php:43
-msgid "Can chat with me (when available)"
-msgstr "Kan met mij chatten (wanneer beschikbaar)"
+#: ../../include/channel.php:272
+msgid "Unable to retrieve created identity"
+msgstr "Niet in staat om aangemaakte identiteit te vinden"
-#: ../../include/permissions.php:44
-msgid "Can write to my file storage and photos"
-msgstr "Kan foto's en andere bestanden aan mijn bestandsopslag toevoegen"
+#: ../../include/channel.php:341
+msgid "Default Profile"
+msgstr "Standaardprofiel"
-#: ../../include/permissions.php:45
-msgid "Can edit my webpages"
-msgstr "Kan mijn pagina's bewerken"
+#: ../../include/channel.php:813
+msgid "Requested channel is not available."
+msgstr "Opgevraagd kanaal is niet beschikbaar."
-#: ../../include/permissions.php:47
-msgid "Somewhat advanced - very useful in open communities"
-msgstr "Enigszins geavanceerd (erg nuttig voor kanalen van forums/groepen)"
+#: ../../include/channel.php:960
+msgid "Create New Profile"
+msgstr "Nieuw profiel aanmaken"
-#: ../../include/permissions.php:49
-msgid "Can administer my channel resources"
-msgstr "Kan mijn kanaal beheren"
+#: ../../include/channel.php:963 ../../include/nav.php:93
+msgid "Edit Profile"
+msgstr "Profiel bewerken"
-#: ../../include/permissions.php:49
+#: ../../include/channel.php:980
+msgid "Visible to everybody"
+msgstr "Voor iedereen zichtbaar"
+
+#: ../../include/channel.php:1053 ../../include/channel.php:1166
+msgid "Gender:"
+msgstr "Geslacht:"
+
+#: ../../include/channel.php:1054 ../../include/channel.php:1210
+msgid "Status:"
+msgstr "Status:"
+
+#: ../../include/channel.php:1055 ../../include/channel.php:1221
+msgid "Homepage:"
+msgstr "Homepagina:"
+
+#: ../../include/channel.php:1056
+msgid "Online Now"
+msgstr "Nu online"
+
+#: ../../include/channel.php:1171
+msgid "Like this channel"
+msgstr "Vind dit kanaal leuk"
+
+#: ../../include/channel.php:1195
+msgid "j F, Y"
+msgstr "F j Y"
+
+#: ../../include/channel.php:1196
+msgid "j F"
+msgstr "F j"
+
+#: ../../include/channel.php:1203
+msgid "Birthday:"
+msgstr "Geboortedatum:"
+
+#: ../../include/channel.php:1216
+#, php-format
+msgid "for %1$d %2$s"
+msgstr "voor %1$d %2$s"
+
+#: ../../include/channel.php:1219
+msgid "Sexual Preference:"
+msgstr "Seksuele voorkeur:"
+
+#: ../../include/channel.php:1225
+msgid "Tags:"
+msgstr "Tags:"
+
+#: ../../include/channel.php:1227
+msgid "Political Views:"
+msgstr "Politieke overtuigingen:"
+
+#: ../../include/channel.php:1229
+msgid "Religion:"
+msgstr "Religie:"
+
+#: ../../include/channel.php:1233
+msgid "Hobbies/Interests:"
+msgstr "Hobby's/interesses:"
+
+#: ../../include/channel.php:1235
+msgid "Likes:"
+msgstr "Houdt van:"
+
+#: ../../include/channel.php:1237
+msgid "Dislikes:"
+msgstr "Houdt niet van:"
+
+#: ../../include/channel.php:1239
+msgid "Contact information and Social Networks:"
+msgstr "Contactinformatie en sociale netwerken:"
+
+#: ../../include/channel.php:1241
+msgid "My other channels:"
+msgstr "Mijn andere kanalen"
+
+#: ../../include/channel.php:1243
+msgid "Musical interests:"
+msgstr "Muzikale interesses:"
+
+#: ../../include/channel.php:1245
+msgid "Books, literature:"
+msgstr "Boeken, literatuur:"
+
+#: ../../include/channel.php:1247
+msgid "Television:"
+msgstr "Televisie:"
+
+#: ../../include/channel.php:1249
+msgid "Film/dance/culture/entertainment:"
+msgstr "Films/dansen/cultuur/vermaak:"
+
+#: ../../include/channel.php:1251
+msgid "Love/Romance:"
+msgstr "Liefde/romantiek:"
+
+#: ../../include/channel.php:1253
+msgid "Work/employment:"
+msgstr "Werk/beroep:"
+
+#: ../../include/channel.php:1255
+msgid "School/education:"
+msgstr "School/opleiding:"
+
+#: ../../include/channel.php:1276
+msgid "Like this thing"
+msgstr "Vind dit ding leuk"
+
+#: ../../include/acl_selectors.php:169
+msgid "Who can see this?"
+msgstr "Wie kan dit zien?"
+
+#: ../../include/acl_selectors.php:170
+msgid "Custom selection"
+msgstr "Handmatige selectie"
+
+#: ../../include/acl_selectors.php:171
msgid ""
-"Extremely advanced. Leave this alone unless you know what you are doing"
-msgstr "Zeer geavanceerd. Laat dit met rust, behalve als je weet wat je doet."
+"Select \"Show\" to allow viewing. \"Don't show\" lets you override and limit"
+" the scope of \"Show\"."
+msgstr "Kies \"Tonen\" om weergave toe te staan. Met \"Niet tonen\" kan je uitzonderingen maken op \"Tonen\"."
-#: ../../include/security.php:109
-msgid "guest:"
-msgstr "gast:"
+#: ../../include/acl_selectors.php:172
+msgid "Show"
+msgstr "Tonen"
-#: ../../include/security.php:527
+#: ../../include/acl_selectors.php:173
+msgid "Don't show"
+msgstr "Niet tonen"
+
+#: ../../include/acl_selectors.php:207
+#, php-format
msgid ""
-"The form security token was not correct. This probably happened because the "
-"form has been opened for too long (>3 hours) before submitting it."
-msgstr "De beveiligings-token van het tekstvak was ongeldig. Dit is mogelijk het gevolg van dat er te lang (meer dan 3 uur) gewacht is om de tekst op te slaan. "
+"Post permissions %s cannot be changed %s after a post is shared.</br />These"
+" permissions set who is allowed to view the post."
+msgstr "Permissies van berichten %s zijn niet meer te veranderen %s nadat een bericht is gedeeld.</br />Met deze permissies bepaal je wie het bericht kan zien."
#: ../../include/bookmarks.php:35
#, php-format
@@ -8212,10 +8505,23 @@ msgstr "Privacygroep toevoegen"
msgid "Channels not in any privacy group"
msgstr "Kanalen die zich in geen enkele privacygroep bevinden"
-#: ../../include/group.php:316 ../../include/widgets.php:282
+#: ../../include/group.php:316 ../../include/widgets.php:284
msgid "add"
msgstr "toevoegen"
+#: ../../include/connections.php:95
+msgid "New window"
+msgstr "Nieuw venster"
+
+#: ../../include/connections.php:96
+msgid "Open the selected location in a different window or browser tab"
+msgstr "Open de geselecteerde locatie in een ander venster of tab"
+
+#: ../../include/connections.php:214
+#, php-format
+msgid "User '%s' deleted"
+msgstr "Account '%s' verwijderd"
+
#: ../../include/page_widgets.php:7
msgid "New Page"
msgstr "Nieuwe pagina"
@@ -8224,245 +8530,198 @@ msgstr "Nieuwe pagina"
msgid "Title"
msgstr "Titel"
-#: ../../include/widgets.php:46 ../../include/widgets.php:429
-#: ../../include/taxonomy.php:188 ../../include/taxonomy.php:270
-#: ../../include/contact_widgets.php:91
-msgid "Categories"
-msgstr "Categorieën"
-
-#: ../../include/widgets.php:103
-msgid "System"
-msgstr "Systeem"
-
-#: ../../include/widgets.php:106
-msgid "New App"
-msgstr "Nieuwe app"
-
-#: ../../include/widgets.php:154
-msgid "Suggestions"
-msgstr "Voorgestelde kanalen"
-
-#: ../../include/widgets.php:155
-msgid "See more..."
-msgstr "Meer..."
-
-#: ../../include/widgets.php:175
-#, php-format
-msgid "You have %1$.0f of %2$.0f allowed connections."
-msgstr "Je hebt %1$.0f van de %2$.0f toegestane connecties."
-
-#: ../../include/widgets.php:181
-msgid "Add New Connection"
-msgstr "Nieuwe connectie toevoegen"
-
-#: ../../include/widgets.php:182
-msgid "Enter channel address"
-msgstr "Vul kanaaladres in"
-
-#: ../../include/widgets.php:183
-msgid "Examples: bob@example.com, https://example.com/barbara"
-msgstr "Voorbeelden: bob@example.com, http://example.com/barbara"
-
-#: ../../include/widgets.php:199
-msgid "Notes"
-msgstr "Aantekeningen"
-
-#: ../../include/widgets.php:273
-msgid "Remove term"
-msgstr "Verwijder zoekterm"
-
-#: ../../include/widgets.php:313 ../../include/widgets.php:432
-#: ../../include/contact_widgets.php:56 ../../include/contact_widgets.php:94
-msgid "Everything"
-msgstr "Alles"
+#: ../../include/wiki.php:525 ../../include/bbcode.php:619
+msgid "Different viewers will see this text differently"
+msgstr "Deze tekst wordt per persoon anders weergeven."
-#: ../../include/widgets.php:354
-msgid "Archives"
-msgstr "Archieven"
+#: ../../include/nav.php:85 ../../include/nav.php:118 ../../boot.php:1738
+msgid "Logout"
+msgstr "Uitloggen"
-#: ../../include/widgets.php:516
-msgid "Refresh"
-msgstr "Vernieuwen"
+#: ../../include/nav.php:85 ../../include/nav.php:118
+msgid "End this session"
+msgstr "Beëindig deze sessie"
-#: ../../include/widgets.php:556
-msgid "Account settings"
-msgstr "Account"
+#: ../../include/nav.php:88 ../../include/nav.php:149
+msgid "Home"
+msgstr "Home"
-#: ../../include/widgets.php:562
-msgid "Channel settings"
-msgstr "Kanaal"
+#: ../../include/nav.php:88
+msgid "Your posts and conversations"
+msgstr "Jouw kanaal"
-#: ../../include/widgets.php:571
-msgid "Additional features"
-msgstr "Extra functies"
+#: ../../include/nav.php:89
+msgid "Your profile page"
+msgstr "Jouw profielpagina"
-#: ../../include/widgets.php:578
-msgid "Feature/Addon settings"
-msgstr "Plugin-instellingen"
+#: ../../include/nav.php:91
+msgid "Manage/Edit profiles"
+msgstr "Beheer/wijzig profielen"
-#: ../../include/widgets.php:584
-msgid "Display settings"
-msgstr "Weergave"
+#: ../../include/nav.php:93
+msgid "Edit your profile"
+msgstr "Jouw profiel bewerken"
-#: ../../include/widgets.php:591
-msgid "Manage locations"
-msgstr "Locaties beheren"
+#: ../../include/nav.php:95
+msgid "Your photos"
+msgstr "Jouw foto's"
-#: ../../include/widgets.php:600
-msgid "Export channel"
-msgstr "Kanaal exporteren"
+#: ../../include/nav.php:96
+msgid "Your files"
+msgstr "Jouw bestanden"
-#: ../../include/widgets.php:607
-msgid "Connected apps"
-msgstr "Verbonden applicaties"
+#: ../../include/nav.php:99
+msgid "Your chatrooms"
+msgstr "Jouw chatkanalen"
-#: ../../include/widgets.php:631
-msgid "Premium Channel Settings"
-msgstr "Instellingen premiumkanaal"
+#: ../../include/nav.php:105 ../../include/conversation.php:1715
+msgid "Bookmarks"
+msgstr "Bladwijzers"
-#: ../../include/widgets.php:660
-msgid "Private Mail Menu"
-msgstr "Privéberichten"
+#: ../../include/nav.php:105
+msgid "Your bookmarks"
+msgstr "Jouw bladwijzers"
-#: ../../include/widgets.php:662
-msgid "Combined View"
-msgstr "Gecombineerd postvak"
+#: ../../include/nav.php:109
+msgid "Your webpages"
+msgstr "Jouw webpagina's"
-#: ../../include/widgets.php:667 ../../include/nav.php:200
-msgid "Inbox"
-msgstr "Postvak IN"
+#: ../../include/nav.php:111
+msgid "Your wiki"
+msgstr "Jouw wiki"
-#: ../../include/widgets.php:672 ../../include/nav.php:201
-msgid "Outbox"
-msgstr "Postvak UIT"
+#: ../../include/nav.php:115
+msgid "Sign in"
+msgstr "Inloggen"
-#: ../../include/widgets.php:677 ../../include/nav.php:202
-msgid "New Message"
-msgstr "Nieuw bericht"
+#: ../../include/nav.php:132
+#, php-format
+msgid "%s - click to logout"
+msgstr "%s - klik om uit te loggen"
-#: ../../include/widgets.php:694 ../../include/widgets.php:706
-msgid "Conversations"
-msgstr "Conversaties"
+#: ../../include/nav.php:135
+msgid "Remote authentication"
+msgstr "Authenticatie op afstand"
-#: ../../include/widgets.php:698
-msgid "Received Messages"
-msgstr "Ontvangen berichten"
+#: ../../include/nav.php:135
+msgid "Click to authenticate to your home hub"
+msgstr "Authenticeer jezelf via (bijvoorbeeld) jouw hub"
-#: ../../include/widgets.php:702
-msgid "Sent Messages"
-msgstr "Verzonden berichten"
+#: ../../include/nav.php:149
+msgid "Home Page"
+msgstr "Homepage"
-#: ../../include/widgets.php:716
-msgid "No messages."
-msgstr "Geen berichten"
+#: ../../include/nav.php:152
+msgid "Create an account"
+msgstr "Maak een account aan"
-#: ../../include/widgets.php:734
-msgid "Delete conversation"
-msgstr "Verwijder conversatie"
+#: ../../include/nav.php:164
+msgid "Help and documentation"
+msgstr "Hulp en documentatie"
-#: ../../include/widgets.php:760
-msgid "Events Tools"
-msgstr "Agenda-hulpmiddelen"
+#: ../../include/nav.php:168
+msgid "Applications, utilities, links, games"
+msgstr "Apps"
-#: ../../include/widgets.php:761
-msgid "Export Calendar"
-msgstr "Exporteren"
+#: ../../include/nav.php:170
+msgid "Search site @name, #tag, ?docs, content"
+msgstr "Zoek een @kanaal, doorzoek inhoud hub met tekst en #tags, of doorzoek ?documentatie "
-#: ../../include/widgets.php:762
-msgid "Import Calendar"
-msgstr "Importeren"
+#: ../../include/nav.php:172
+msgid "Channel Directory"
+msgstr "Kanalengids"
-#: ../../include/widgets.php:854
-msgid "Overview"
-msgstr "Overzicht"
+#: ../../include/nav.php:184
+msgid "Your grid"
+msgstr "Jouw grid"
-#: ../../include/widgets.php:861
-msgid "Chat Members"
-msgstr "Chatleden"
+#: ../../include/nav.php:185
+msgid "Mark all grid notifications seen"
+msgstr "Markeer alle gridnotificaties als bekeken"
-#: ../../include/widgets.php:883
-msgid "Wiki List"
-msgstr "Wiki's"
+#: ../../include/nav.php:187
+msgid "Channel home"
+msgstr "Jouw kanaal"
-#: ../../include/widgets.php:921
-msgid "Wiki Pages"
-msgstr "Wikipagina's"
+#: ../../include/nav.php:188
+msgid "Mark all channel notifications seen"
+msgstr "Alle kanaalnotificaties als gelezen markeren"
-#: ../../include/widgets.php:956
-msgid "Bookmarked Chatrooms"
-msgstr "Bladwijzers van chatkanalen"
+#: ../../include/nav.php:194
+msgid "Notices"
+msgstr "Notificaties"
-#: ../../include/widgets.php:979
-msgid "Suggested Chatrooms"
-msgstr "Voorgestelde chatkanalen"
+#: ../../include/nav.php:194
+msgid "Notifications"
+msgstr "Notificaties"
-#: ../../include/widgets.php:1125 ../../include/widgets.php:1237
-msgid "photo/image"
-msgstr "foto/afbeelding"
+#: ../../include/nav.php:195
+msgid "See all notifications"
+msgstr "Alle notificaties weergeven"
-#: ../../include/widgets.php:1180
-msgid "Click to show more"
-msgstr "Klik voor meer"
+#: ../../include/nav.php:198
+msgid "Private mail"
+msgstr "Privéberichten"
-#: ../../include/widgets.php:1331
-msgid "Rating Tools"
-msgstr "Beoordelingen"
+#: ../../include/nav.php:199
+msgid "See all private messages"
+msgstr "Alle privéberichten weergeven"
-#: ../../include/widgets.php:1335 ../../include/widgets.php:1337
-msgid "Rate Me"
-msgstr "Beoordeel mij"
+#: ../../include/nav.php:200
+msgid "Mark all private messages seen"
+msgstr "Markeer alle privéberichten als bekeken"
-#: ../../include/widgets.php:1340
-msgid "View Ratings"
-msgstr "Bekijk beoordelingen"
+#: ../../include/nav.php:201 ../../include/widgets.php:700
+msgid "Inbox"
+msgstr "Postvak IN"
-#: ../../include/widgets.php:1424
-msgid "Forums"
-msgstr "Forums"
+#: ../../include/nav.php:202 ../../include/widgets.php:705
+msgid "Outbox"
+msgstr "Postvak UIT"
-#: ../../include/widgets.php:1453
-msgid "Tasks"
-msgstr "Taken"
+#: ../../include/nav.php:203 ../../include/widgets.php:710
+msgid "New Message"
+msgstr "Nieuw bericht"
-#: ../../include/widgets.php:1462
-msgid "Documentation"
-msgstr "Documentatie"
+#: ../../include/nav.php:206
+msgid "Event Calendar"
+msgstr "Agenda"
-#: ../../include/widgets.php:1464
-msgid "Project/Site Information"
-msgstr "Project- en hub-informatie"
+#: ../../include/nav.php:207
+msgid "See all events"
+msgstr "Alle gebeurtenissen weergeven"
-#: ../../include/widgets.php:1465
-msgid "For Members"
-msgstr "Voor leden"
+#: ../../include/nav.php:208
+msgid "Mark all events seen"
+msgstr "Markeer alle gebeurtenissen als bekeken"
-#: ../../include/widgets.php:1466
-msgid "For Administrators"
-msgstr "Voor beheerders"
+#: ../../include/nav.php:211
+msgid "Manage Your Channels"
+msgstr "Beheer je kanalen"
-#: ../../include/widgets.php:1467
-msgid "For Developers"
-msgstr "Voor ontwikkelaars"
+#: ../../include/nav.php:213
+msgid "Account/Channel Settings"
+msgstr "Account-/kanaal-instellingen"
-#: ../../include/widgets.php:1491 ../../include/widgets.php:1529
-msgid "Member registrations waiting for confirmation"
-msgstr "Accounts die op goedkeuring wachten"
+#: ../../include/nav.php:221 ../../include/widgets.php:1594
+msgid "Admin"
+msgstr "Beheer"
-#: ../../include/widgets.php:1497
-msgid "Inspect queue"
-msgstr "Inspecteer berichtenwachtrij"
+#: ../../include/nav.php:221
+msgid "Site Setup and Configuration"
+msgstr "Hub instellen en beheren"
-#: ../../include/widgets.php:1499
-msgid "DB updates"
-msgstr "Database-updates"
+#: ../../include/nav.php:252 ../../include/conversation.php:853
+msgid "Loading..."
+msgstr "Aan het laden..."
-#: ../../include/widgets.php:1524 ../../include/nav.php:220
-msgid "Admin"
-msgstr "Beheer"
+#: ../../include/nav.php:257
+msgid "@name, #tag, ?doc, content"
+msgstr "@kanaal, #tag, inhoud, ?hulp"
-#: ../../include/widgets.php:1525
-msgid "Plugin Features"
-msgstr "Plugin-opties"
+#: ../../include/nav.php:258
+msgid "Please wait..."
+msgstr "Wachten aub..."
#: ../../include/bb2diaspora.php:398
msgid "Attachments:"
@@ -8627,55 +8886,11 @@ msgstr " "
msgid "timeago.numbers"
msgstr "timeago.numbers"
-#: ../../include/js_strings.php:45 ../../include/text.php:1243
-msgid "January"
-msgstr "januari"
-
-#: ../../include/js_strings.php:46 ../../include/text.php:1243
-msgid "February"
-msgstr "februari"
-
-#: ../../include/js_strings.php:47 ../../include/text.php:1243
-msgid "March"
-msgstr "maart"
-
-#: ../../include/js_strings.php:48 ../../include/text.php:1243
-msgid "April"
-msgstr "april"
-
#: ../../include/js_strings.php:49
msgctxt "long"
msgid "May"
msgstr "mei"
-#: ../../include/js_strings.php:50 ../../include/text.php:1243
-msgid "June"
-msgstr "juni"
-
-#: ../../include/js_strings.php:51 ../../include/text.php:1243
-msgid "July"
-msgstr "juli"
-
-#: ../../include/js_strings.php:52 ../../include/text.php:1243
-msgid "August"
-msgstr "augustus"
-
-#: ../../include/js_strings.php:53 ../../include/text.php:1243
-msgid "September"
-msgstr "september"
-
-#: ../../include/js_strings.php:54 ../../include/text.php:1243
-msgid "October"
-msgstr "oktober"
-
-#: ../../include/js_strings.php:55 ../../include/text.php:1243
-msgid "November"
-msgstr "november"
-
-#: ../../include/js_strings.php:56 ../../include/text.php:1243
-msgid "December"
-msgstr "december"
-
#: ../../include/js_strings.php:57
msgid "Jan"
msgstr "jan"
@@ -8725,34 +8940,6 @@ msgstr "nov"
msgid "Dec"
msgstr "dec"
-#: ../../include/js_strings.php:69 ../../include/text.php:1239
-msgid "Sunday"
-msgstr "zondag"
-
-#: ../../include/js_strings.php:70 ../../include/text.php:1239
-msgid "Monday"
-msgstr "maandag"
-
-#: ../../include/js_strings.php:71 ../../include/text.php:1239
-msgid "Tuesday"
-msgstr "dinsdag"
-
-#: ../../include/js_strings.php:72 ../../include/text.php:1239
-msgid "Wednesday"
-msgstr "woensdag"
-
-#: ../../include/js_strings.php:73 ../../include/text.php:1239
-msgid "Thursday"
-msgstr "donderdag"
-
-#: ../../include/js_strings.php:74 ../../include/text.php:1239
-msgid "Friday"
-msgstr "vrijdag"
-
-#: ../../include/js_strings.php:75 ../../include/text.php:1239
-msgid "Saturday"
-msgstr "zaterdag"
-
#: ../../include/js_strings.php:76
msgid "Sun"
msgstr "zo"
@@ -8806,572 +8993,505 @@ msgctxt "calendar"
msgid "All day"
msgstr "hele dag"
-#: ../../include/nav.php:84 ../../include/nav.php:117 ../../boot.php:1712
-msgid "Logout"
-msgstr "Uitloggen"
-
-#: ../../include/nav.php:84 ../../include/nav.php:117
-msgid "End this session"
-msgstr "Beëindig deze sessie"
-
-#: ../../include/nav.php:87 ../../include/nav.php:148
-msgid "Home"
-msgstr "Home"
-
-#: ../../include/nav.php:87
-msgid "Your posts and conversations"
-msgstr "Jouw kanaal"
-
-#: ../../include/nav.php:88
-msgid "Your profile page"
-msgstr "Jouw profielpagina"
-
-#: ../../include/nav.php:90
-msgid "Manage/Edit profiles"
-msgstr "Beheer/wijzig profielen"
-
-#: ../../include/nav.php:92 ../../include/channel.php:963
-msgid "Edit Profile"
-msgstr "Profiel bewerken"
+#: ../../include/follow.php:27
+msgid "Channel is blocked on this site."
+msgstr "Kanaal is op deze hub geblokkeerd."
-#: ../../include/nav.php:92
-msgid "Edit your profile"
-msgstr "Jouw profiel bewerken"
+#: ../../include/follow.php:32
+msgid "Channel location missing."
+msgstr "Ontbrekende kanaallocatie."
-#: ../../include/nav.php:94
-msgid "Your photos"
-msgstr "Jouw foto's"
+#: ../../include/follow.php:80
+msgid "Response from remote channel was incomplete."
+msgstr "Antwoord van het kanaal op afstand was niet volledig."
-#: ../../include/nav.php:95
-msgid "Your files"
-msgstr "Jouw bestanden"
+#: ../../include/follow.php:97
+msgid "Channel was deleted and no longer exists."
+msgstr "Kanaal is verwijderd en bestaat niet meer."
-#: ../../include/nav.php:98
-msgid "Your chatrooms"
-msgstr "Jouw chatkanalen"
+#: ../../include/follow.php:147 ../../include/follow.php:183
+msgid "Protocol disabled."
+msgstr "Protocol uitgeschakeld."
-#: ../../include/nav.php:104
-msgid "Your bookmarks"
-msgstr "Jouw bladwijzers"
+#: ../../include/follow.php:171
+msgid "Channel discovery failed."
+msgstr "Kanaal ontdekken mislukt."
-#: ../../include/nav.php:108
-msgid "Your webpages"
-msgstr "Jouw webpagina's"
+#: ../../include/follow.php:210
+msgid "Cannot connect to yourself."
+msgstr "Kan niet met jezelf verbinden"
-#: ../../include/nav.php:110
-msgid "Your wiki"
-msgstr "Jouw wiki"
+#: ../../include/bbcode.php:123 ../../include/bbcode.php:881
+#: ../../include/bbcode.php:884 ../../include/bbcode.php:889
+#: ../../include/bbcode.php:892 ../../include/bbcode.php:895
+#: ../../include/bbcode.php:898 ../../include/bbcode.php:903
+#: ../../include/bbcode.php:906 ../../include/bbcode.php:911
+#: ../../include/bbcode.php:914 ../../include/bbcode.php:917
+#: ../../include/bbcode.php:920
+msgid "Image/photo"
+msgstr "Afbeelding/foto"
-#: ../../include/nav.php:114
-msgid "Sign in"
-msgstr "Inloggen"
+#: ../../include/bbcode.php:162 ../../include/bbcode.php:931
+msgid "Encrypted content"
+msgstr "Versleutelde inhoud"
-#: ../../include/nav.php:131
+#: ../../include/bbcode.php:178
#, php-format
-msgid "%s - click to logout"
-msgstr "%s - klik om uit te loggen"
-
-#: ../../include/nav.php:134
-msgid "Remote authentication"
-msgstr "Authenticatie op afstand"
-
-#: ../../include/nav.php:134
-msgid "Click to authenticate to your home hub"
-msgstr "Authenticeer jezelf via (bijvoorbeeld) jouw hub"
-
-#: ../../include/nav.php:148
-msgid "Home Page"
-msgstr "Homepage"
-
-#: ../../include/nav.php:151
-msgid "Create an account"
-msgstr "Maak een account aan"
-
-#: ../../include/nav.php:163
-msgid "Help and documentation"
-msgstr "Hulp en documentatie"
-
-#: ../../include/nav.php:167
-msgid "Applications, utilities, links, games"
-msgstr "Apps"
-
-#: ../../include/nav.php:169
-msgid "Search site @name, #tag, ?docs, content"
-msgstr "Zoek een @kanaal, doorzoek inhoud hub met tekst en #tags, of doorzoek ?documentatie "
-
-#: ../../include/nav.php:171
-msgid "Channel Directory"
-msgstr "Kanalengids"
-
-#: ../../include/nav.php:183
-msgid "Your grid"
-msgstr "Jouw grid"
-
-#: ../../include/nav.php:184
-msgid "Mark all grid notifications seen"
-msgstr "Markeer alle gridnotificaties als bekeken"
-
-#: ../../include/nav.php:186
-msgid "Channel home"
-msgstr "Jouw kanaal"
-
-#: ../../include/nav.php:187
-msgid "Mark all channel notifications seen"
-msgstr "Alle kanaalnotificaties als gelezen markeren"
-
-#: ../../include/nav.php:193
-msgid "Notices"
-msgstr "Notificaties"
-
-#: ../../include/nav.php:193
-msgid "Notifications"
-msgstr "Notificaties"
-
-#: ../../include/nav.php:194
-msgid "See all notifications"
-msgstr "Alle notificaties weergeven"
-
-#: ../../include/nav.php:197
-msgid "Private mail"
-msgstr "Privéberichten"
-
-#: ../../include/nav.php:198
-msgid "See all private messages"
-msgstr "Alle privéberichten weergeven"
-
-#: ../../include/nav.php:199
-msgid "Mark all private messages seen"
-msgstr "Markeer alle privéberichten als bekeken"
-
-#: ../../include/nav.php:205
-msgid "Event Calendar"
-msgstr "Agenda"
-
-#: ../../include/nav.php:206
-msgid "See all events"
-msgstr "Alle gebeurtenissen weergeven"
-
-#: ../../include/nav.php:207
-msgid "Mark all events seen"
-msgstr "Markeer alle gebeurtenissen als bekeken"
-
-#: ../../include/nav.php:210
-msgid "Manage Your Channels"
-msgstr "Beheer je kanalen"
-
-#: ../../include/nav.php:212
-msgid "Account/Channel Settings"
-msgstr "Account-/kanaal-instellingen"
-
-#: ../../include/nav.php:220
-msgid "Site Setup and Configuration"
-msgstr "Hub instellen en beheren"
-
-#: ../../include/nav.php:256
-msgid "@name, #tag, ?doc, content"
-msgstr "@kanaal, #tag, inhoud, ?hulp"
+msgid "Install %s element: "
+msgstr "Installeer %s-element: "
-#: ../../include/nav.php:257
-msgid "Please wait..."
-msgstr "Wachten aub..."
+#: ../../include/bbcode.php:182
+#, php-format
+msgid ""
+"This post contains an installable %s element, however you lack permissions "
+"to install it on this site."
+msgstr "Dit bericht heeft een te installeren %s-element, maar je hebt geen permissies om het op deze hub te installeren."
-#: ../../include/network.php:704
-msgid "view full size"
-msgstr "volledige grootte tonen"
+#: ../../include/bbcode.php:261
+#, php-format
+msgid "%1$s wrote the following %2$s %3$s"
+msgstr "%1$s schreef het volgende %2$s %3$s"
-#: ../../include/network.php:1935 ../../include/account.php:317
-#: ../../include/account.php:344 ../../include/account.php:404
-msgid "Administrator"
-msgstr "Beheerder"
+#: ../../include/bbcode.php:338 ../../include/bbcode.php:346
+msgid "Click to open/close"
+msgstr "Klik om te openen of te sluiten"
-#: ../../include/network.php:1949
-msgid "No Subject"
-msgstr "Geen onderwerp"
+#: ../../include/bbcode.php:346
+msgid "spoiler"
+msgstr "spoiler"
-#: ../../include/network.php:2203 ../../include/network.php:2204
-msgid "Friendica"
-msgstr "Friendica"
+#: ../../include/bbcode.php:869
+msgid "$1 wrote:"
+msgstr "$1 schreef:"
-#: ../../include/network.php:2205
-msgid "OStatus"
-msgstr "OStatus"
+#: ../../include/conversation.php:204
+#, php-format
+msgid "%1$s is now connected with %2$s"
+msgstr "%1$s is nu met %2$s verbonden"
-#: ../../include/network.php:2206
-msgid "GNU-Social"
-msgstr "GNU social"
+#: ../../include/conversation.php:239
+#, php-format
+msgid "%1$s poked %2$s"
+msgstr "%1$s heeft %2$s aangestoten"
-#: ../../include/network.php:2207
-msgid "RSS/Atom"
-msgstr "RSS/Atom"
+#: ../../include/conversation.php:694
+#, php-format
+msgid "View %s's profile @ %s"
+msgstr "Bekijk het profiel van %s @ %s"
-#: ../../include/network.php:2209
-msgid "Diaspora"
-msgstr "Diaspora"
+#: ../../include/conversation.php:713
+msgid "Categories:"
+msgstr "Categorieën:"
-#: ../../include/network.php:2210
-msgid "Facebook"
-msgstr "Facebook"
+#: ../../include/conversation.php:714
+msgid "Filed under:"
+msgstr "Bewaard onder:"
-#: ../../include/network.php:2211
-msgid "Zot"
-msgstr "Zot"
+#: ../../include/conversation.php:739
+msgid "View in context"
+msgstr "In context bekijken"
-#: ../../include/network.php:2212
-msgid "LinkedIn"
-msgstr "LinkedIn"
+#: ../../include/conversation.php:849
+msgid "remove"
+msgstr "verwijderen"
-#: ../../include/network.php:2213
-msgid "XMPP/IM"
-msgstr "XMPP/IM"
+#: ../../include/conversation.php:854
+msgid "Delete Selected Items"
+msgstr "Verwijder de geselecteerde items"
-#: ../../include/network.php:2214
-msgid "MySpace"
-msgstr "MySpace"
+#: ../../include/conversation.php:947
+msgid "View Source"
+msgstr "Bron weergeven"
-#: ../../include/import.php:30
-msgid ""
-"Cannot create a duplicate channel identifier on this system. Import failed."
-msgstr "Kan geen dubbele kanaal-identificator op deze hub aanmaken. Importeren mislukt."
+#: ../../include/conversation.php:948
+msgid "Follow Thread"
+msgstr "Conversatie volgen"
-#: ../../include/import.php:97
-msgid "Channel clone failed. Import failed."
-msgstr "Het klonen van het kanaal is mislukt. Importeren mislukt."
+#: ../../include/conversation.php:949
+msgid "Unfollow Thread"
+msgstr "Conversatie niet meer volgen"
-#: ../../include/items.php:899 ../../include/items.php:944
-msgid "(Unknown)"
-msgstr "(Onbekend)"
+#: ../../include/conversation.php:954
+msgid "Activity/Posts"
+msgstr "Activiteit/berichten connectie"
-#: ../../include/items.php:1143
-msgid "Visible to anybody on the internet."
-msgstr "Voor iedereen op het internet zichtbaar."
+#: ../../include/conversation.php:956
+msgid "Edit Connection"
+msgstr "Connectie bewerken"
-#: ../../include/items.php:1145
-msgid "Visible to you only."
-msgstr "Alleen voor jou zichtbaar."
+#: ../../include/conversation.php:957
+msgid "Message"
+msgstr "Bericht"
-#: ../../include/items.php:1147
-msgid "Visible to anybody in this network."
-msgstr "Voor iedereen in dit netwerk zichtbaar."
+#: ../../include/conversation.php:1077
+#, php-format
+msgid "%s likes this."
+msgstr "%s vindt dit leuk."
-#: ../../include/items.php:1149
-msgid "Visible to anybody authenticated."
-msgstr "Voor iedereen die geauthenticeerd is zichtbaar."
+#: ../../include/conversation.php:1077
+#, php-format
+msgid "%s doesn't like this."
+msgstr "%s vindt dit niet leuk."
-#: ../../include/items.php:1151
+#: ../../include/conversation.php:1081
#, php-format
-msgid "Visible to anybody on %s."
-msgstr "Voor iedereen op %s zichtbaar."
+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 persoon</span> vindt dit leuk."
+msgstr[1] "<span %1$s>%2$d personen</span> vinden dit leuk."
-#: ../../include/items.php:1153
-msgid "Visible to all connections."
-msgstr "Voor alle connecties zichtbaar."
+#: ../../include/conversation.php:1083
+#, 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 persoon</span> vindt dit niet leuk."
+msgstr[1] "<span %1$s>%2$d personen</span> vinden dit niet leuk."
-#: ../../include/items.php:1155
-msgid "Visible to approved connections."
-msgstr "Voor alle geaccepteerde connecties zichtbaar."
+#: ../../include/conversation.php:1089
+msgid "and"
+msgstr "en"
-#: ../../include/items.php:1157
-msgid "Visible to specific connections."
-msgstr "Voor specifieke connecties zichtbaar."
+#: ../../include/conversation.php:1092
+#, php-format
+msgid ", and %d other people"
+msgid_plural ", and %d other people"
+msgstr[0] ", en %d ander persoon"
+msgstr[1] ", en %d andere personen"
-#: ../../include/items.php:3920
-msgid "Privacy group is empty."
-msgstr "Privacygroep is leeg"
+#: ../../include/conversation.php:1093
+#, php-format
+msgid "%s like this."
+msgstr "%s vinden dit leuk."
-#: ../../include/items.php:3927
+#: ../../include/conversation.php:1093
#, php-format
-msgid "Privacy group: %s"
-msgstr "Privacygroep: %s"
+msgid "%s don't like this."
+msgstr "%s vinden dit niet leuk."
-#: ../../include/items.php:3939
-msgid "Connection not found."
-msgstr "Connectie niet gevonden."
+#: ../../include/conversation.php:1136
+msgid "Set your location"
+msgstr "Locatie instellen"
-#: ../../include/items.php:4292
-msgid "profile photo"
-msgstr "profielfoto"
+#: ../../include/conversation.php:1137
+msgid "Clear browser location"
+msgstr "Locatie van webbrowser wissen"
-#: ../../include/text.php:404
-msgid "prev"
-msgstr "vorige"
+#: ../../include/conversation.php:1185
+msgid "Tag term:"
+msgstr "Tag:"
-#: ../../include/text.php:406
-msgid "first"
-msgstr "eerste"
+#: ../../include/conversation.php:1186
+msgid "Where are you right now?"
+msgstr "Waar bevind je je op dit moment?"
-#: ../../include/text.php:435
-msgid "last"
-msgstr "laatste"
+#: ../../include/conversation.php:1195
+msgid "Comments enabled"
+msgstr "Reacties ingeschakeld"
-#: ../../include/text.php:438
-msgid "next"
-msgstr "volgende"
+#: ../../include/conversation.php:1196
+msgid "Comments disabled"
+msgstr "Reacties uitgeschakeld"
-#: ../../include/text.php:448
-msgid "older"
-msgstr "ouder"
+#: ../../include/conversation.php:1234
+msgid "Page link name"
+msgstr "Linknaam pagina"
-#: ../../include/text.php:450
-msgid "newer"
-msgstr "nieuwer"
+#: ../../include/conversation.php:1237
+msgid "Post as"
+msgstr "Bericht plaatsen als"
-#: ../../include/text.php:843
-msgid "No connections"
-msgstr "Geen connecties"
+#: ../../include/conversation.php:1251
+msgid "Toggle voting"
+msgstr "Peiling in- of uitschakelen"
-#: ../../include/text.php:868
-#, php-format
-msgid "View all %s connections"
-msgstr "Toon alle %s connecties"
+#: ../../include/conversation.php:1254
+msgid "Disable comments"
+msgstr "Reacties uitschakelen"
-#: ../../include/text.php:1013 ../../include/text.php:1018
-msgid "poke"
-msgstr "aanstoten"
+#: ../../include/conversation.php:1255
+msgid "Toggle comments"
+msgstr "Reacties in- of uitschakelen"
-#: ../../include/text.php:1019
-msgid "ping"
-msgstr "ping"
+#: ../../include/conversation.php:1263
+msgid "Categories (optional, comma-separated list)"
+msgstr "Categorieën (optioneel, door komma's gescheiden lijst)"
-#: ../../include/text.php:1019
-msgid "pinged"
-msgstr "gepingd"
+#: ../../include/conversation.php:1286
+msgid "Other networks and post services"
+msgstr "Andere netwerken en diensten"
-#: ../../include/text.php:1020
-msgid "prod"
-msgstr "por"
+#: ../../include/conversation.php:1292
+msgid "Set publish date"
+msgstr "Publicatiedatum instellen"
-#: ../../include/text.php:1020
-msgid "prodded"
-msgstr "gepord"
+#: ../../include/conversation.php:1541
+msgid "Discover"
+msgstr "Ontdekken"
-#: ../../include/text.php:1021
-msgid "slap"
-msgstr "slaan"
+#: ../../include/conversation.php:1544
+msgid "Imported public streams"
+msgstr "Openbare streams importeren"
-#: ../../include/text.php:1021
-msgid "slapped"
-msgstr "sloeg"
+#: ../../include/conversation.php:1549
+msgid "Commented Order"
+msgstr "Nieuwe reacties bovenaan"
-#: ../../include/text.php:1022
-msgid "finger"
-msgstr "finger"
+#: ../../include/conversation.php:1552
+msgid "Sort by Comment Date"
+msgstr "Berichten met nieuwe reacties bovenaan"
-#: ../../include/text.php:1022
-msgid "fingered"
-msgstr "gefingerd"
+#: ../../include/conversation.php:1556
+msgid "Posted Order"
+msgstr "Nieuwe berichten bovenaan"
-#: ../../include/text.php:1023
-msgid "rebuff"
-msgstr "afpoeieren"
+#: ../../include/conversation.php:1559
+msgid "Sort by Post Date"
+msgstr "Nieuwe berichten bovenaan"
-#: ../../include/text.php:1023
-msgid "rebuffed"
-msgstr "afgepoeierd"
+#: ../../include/conversation.php:1567
+msgid "Posts that mention or involve you"
+msgstr "Alleen berichten die jou vermelden of waar je op een andere manier bij betrokken bent"
-#: ../../include/text.php:1035
-msgid "happy"
-msgstr "gelukkig"
+#: ../../include/conversation.php:1576
+msgid "Activity Stream - by date"
+msgstr "Activiteitenstroom - volgens datum"
-#: ../../include/text.php:1036
-msgid "sad"
-msgstr "bedroefd"
+#: ../../include/conversation.php:1582
+msgid "Starred"
+msgstr "Met ster"
-#: ../../include/text.php:1037
-msgid "mellow"
-msgstr "mellow"
+#: ../../include/conversation.php:1585
+msgid "Favourite Posts"
+msgstr "Favoriete berichten"
-#: ../../include/text.php:1038
-msgid "tired"
-msgstr "moe"
+#: ../../include/conversation.php:1592
+msgid "Spam"
+msgstr "Spam"
-#: ../../include/text.php:1039
-msgid "perky"
-msgstr "parmantig"
+#: ../../include/conversation.php:1595
+msgid "Posts flagged as SPAM"
+msgstr "Berichten gemarkeerd als SPAM"
-#: ../../include/text.php:1040
-msgid "angry"
-msgstr "boos"
+#: ../../include/conversation.php:1654
+msgid "Status Messages and Posts"
+msgstr "Berichten in dit kanaal"
-#: ../../include/text.php:1041
-msgid "stupefied"
-msgstr "verbijsterd"
+#: ../../include/conversation.php:1663
+msgid "About"
+msgstr "Over"
-#: ../../include/text.php:1042
-msgid "puzzled"
-msgstr "verward"
+#: ../../include/conversation.php:1666
+msgid "Profile Details"
+msgstr "Profiel"
-#: ../../include/text.php:1043
-msgid "interested"
-msgstr "geïnteresseerd"
+#: ../../include/conversation.php:1682
+msgid "Files and Storage"
+msgstr "Bestanden en opslagruimte"
-#: ../../include/text.php:1044
-msgid "bitter"
-msgstr "verbitterd"
+#: ../../include/conversation.php:1702 ../../include/conversation.php:1705
+#: ../../include/widgets.php:883
+msgid "Chatrooms"
+msgstr "Chatkanalen"
-#: ../../include/text.php:1045
-msgid "cheerful"
-msgstr "vrolijk"
+#: ../../include/conversation.php:1718
+msgid "Saved Bookmarks"
+msgstr "Opgeslagen bladwijzers"
-#: ../../include/text.php:1046
-msgid "alive"
-msgstr "levendig"
+#: ../../include/conversation.php:1728
+msgid "Manage Webpages"
+msgstr "Webpagina's beheren"
-#: ../../include/text.php:1047
-msgid "annoyed"
-msgstr "geërgerd"
+#: ../../include/conversation.php:1793
+msgctxt "noun"
+msgid "Attending"
+msgid_plural "Attending"
+msgstr[0] "aanwezig"
+msgstr[1] "aanwezig"
-#: ../../include/text.php:1048
-msgid "anxious"
-msgstr "bezorgd"
+#: ../../include/conversation.php:1796
+msgctxt "noun"
+msgid "Not Attending"
+msgid_plural "Not Attending"
+msgstr[0] "niet aanwezig"
+msgstr[1] "niet aanwezig"
-#: ../../include/text.php:1049
-msgid "cranky"
-msgstr "humeurig"
+#: ../../include/conversation.php:1799
+msgctxt "noun"
+msgid "Undecided"
+msgid_plural "Undecided"
+msgstr[0] "nog niet beslist"
+msgstr[1] "nog niet beslist"
-#: ../../include/text.php:1050
-msgid "disturbed"
-msgstr "verontrust"
+#: ../../include/conversation.php:1802
+msgctxt "noun"
+msgid "Agree"
+msgid_plural "Agrees"
+msgstr[0] "eens"
+msgstr[1] "eens"
-#: ../../include/text.php:1051
-msgid "frustrated"
-msgstr "gefrustreerd "
+#: ../../include/conversation.php:1805
+msgctxt "noun"
+msgid "Disagree"
+msgid_plural "Disagrees"
+msgstr[0] "oneens"
+msgstr[1] "oneens"
-#: ../../include/text.php:1052
-msgid "depressed"
-msgstr "gedeprimeerd"
+#: ../../include/conversation.php:1808
+msgctxt "noun"
+msgid "Abstain"
+msgid_plural "Abstains"
+msgstr[0] "onthouding"
+msgstr[1] "onthoudingen"
-#: ../../include/text.php:1053
-msgid "motivated"
-msgstr "gemotiveerd"
+#: ../../include/datetime.php:147
+msgid "Birthday"
+msgstr "Verjaardag of geboortedatum"
-#: ../../include/text.php:1054
-msgid "relaxed"
-msgstr "ontspannen"
+#: ../../include/datetime.php:149
+msgid "Age: "
+msgstr "Leeftijd:"
-#: ../../include/text.php:1055
-msgid "surprised"
-msgstr "verrast"
+#: ../../include/datetime.php:151
+msgid "YYYY-MM-DD or MM-DD"
+msgstr "JJJJ-MM-DD of MM-DD"
-#: ../../include/text.php:1243
-msgid "May"
-msgstr "mei"
+#: ../../include/datetime.php:284 ../../boot.php:2578
+msgid "never"
+msgstr "nooit"
-#: ../../include/text.php:1320 ../../include/text.php:1324
-msgid "Unknown Attachment"
-msgstr "Onbekende bijlage"
+#: ../../include/datetime.php:290
+msgid "less than a second ago"
+msgstr "minder dan een seconde geleden"
-#: ../../include/text.php:1326
-msgid "unknown"
-msgstr "onbekend"
+#: ../../include/datetime.php:308
+#, php-format
+msgctxt "e.g. 22 hours ago, 1 minute ago"
+msgid "%1$d %2$s ago"
+msgstr "%1$d %2$s geleden"
-#: ../../include/text.php:1362
-msgid "remove category"
-msgstr "categorie verwijderen"
+#: ../../include/datetime.php:319
+msgctxt "relative_date"
+msgid "year"
+msgid_plural "years"
+msgstr[0] "jaar"
+msgstr[1] "jaren"
-#: ../../include/text.php:1439
-msgid "remove from file"
-msgstr "uit map verwijderen"
+#: ../../include/datetime.php:322
+msgctxt "relative_date"
+msgid "month"
+msgid_plural "months"
+msgstr[0] "maand"
+msgstr[1] "maanden"
-#: ../../include/text.php:1738 ../../include/text.php:1809
-msgid "default"
-msgstr "standaard"
+#: ../../include/datetime.php:325
+msgctxt "relative_date"
+msgid "week"
+msgid_plural "weeks"
+msgstr[0] "week"
+msgstr[1] "weken"
-#: ../../include/text.php:1746
-msgid "Page layout"
-msgstr "Pagina-lay-out"
+#: ../../include/datetime.php:328
+msgctxt "relative_date"
+msgid "day"
+msgid_plural "days"
+msgstr[0] "dag"
+msgstr[1] "dagen"
-#: ../../include/text.php:1746
-msgid "You can create your own with the layouts tool"
-msgstr "Je kan jouw eigen lay-out ontwerpen onder lay-outs"
+#: ../../include/datetime.php:331
+msgctxt "relative_date"
+msgid "hour"
+msgid_plural "hours"
+msgstr[0] "uur"
+msgstr[1] "uren"
-#: ../../include/text.php:1788
-msgid "Page content type"
-msgstr "Opmaaktype pagina"
+#: ../../include/datetime.php:334
+msgctxt "relative_date"
+msgid "minute"
+msgid_plural "minutes"
+msgstr[0] "minuut"
+msgstr[1] "minuten"
-#: ../../include/text.php:1821
-msgid "Select an alternate language"
-msgstr "Kies een andere taal"
+#: ../../include/datetime.php:337
+msgctxt "relative_date"
+msgid "second"
+msgid_plural "seconds"
+msgstr[0] "seconde"
+msgstr[1] "seconden"
-#: ../../include/text.php:1958
-msgid "activity"
-msgstr "activiteit"
+#: ../../include/datetime.php:574
+#, php-format
+msgid "%1$s's birthday"
+msgstr "Verjaardag van %1$s"
-#: ../../include/text.php:2259
-msgid "Design Tools"
-msgstr "Ontwerp-hulpmiddelen"
+#: ../../include/datetime.php:575
+#, php-format
+msgid "Happy Birthday %1$s"
+msgstr "Gefeliciteerd met je verjaardag %1$s"
-#: ../../include/text.php:2265
-msgid "Pages"
-msgstr "Pagina's"
+#: ../../include/dir_fns.php:141
+msgid "Directory Options"
+msgstr "Opties kanalengids"
-#: ../../include/text.php:2287
-msgid "Import website..."
-msgstr "Website importeren..."
+#: ../../include/dir_fns.php:143
+msgid "Safe Mode"
+msgstr "Veilig zoeken"
-#: ../../include/text.php:2288
-msgid "Select folder to import"
-msgstr "Kies een map om te importeren"
+#: ../../include/dir_fns.php:144
+msgid "Public Forums Only"
+msgstr "Alleen openbare forums"
-#: ../../include/text.php:2289
-msgid "Import from a zipped folder:"
-msgstr "Vanuit een zipbestand importeren:"
+#: ../../include/dir_fns.php:145
+msgid "This Website Only"
+msgstr "Alleen deze hub"
-#: ../../include/text.php:2290
-msgid "Import from cloud files:"
-msgstr "Vanuit de cloud importeren:"
+#: ../../include/event.php:824
+msgid "This event has been added to your calendar."
+msgstr "Dit evenement is aan jouw agenda toegevoegd."
-#: ../../include/text.php:2291
-msgid "/cloud/channel/path/to/folder"
-msgstr "/cloud/channel/maplocatie"
+#: ../../include/event.php:1024
+msgid "Not specified"
+msgstr "Niet aangegeven"
-#: ../../include/text.php:2292
-msgid "Enter path to website files"
-msgstr "Voer de locatie in van de websitebestanden"
+#: ../../include/event.php:1025
+msgid "Needs Action"
+msgstr "Actie vereist"
-#: ../../include/text.php:2293
-msgid "Select folder"
-msgstr "Kies een map"
+#: ../../include/event.php:1026
+msgid "Completed"
+msgstr "Voltooid"
-#: ../../include/acl_selectors.php:174
-msgid "Who can see this?"
-msgstr "Wie kan dit zien?"
+#: ../../include/event.php:1027
+msgid "In Process"
+msgstr "In behandeling"
-#: ../../include/acl_selectors.php:175
-msgid "Custom selection"
-msgstr "Handmatige selectie"
+#: ../../include/event.php:1028
+msgid "Cancelled"
+msgstr "Geannuleerd"
-#: ../../include/acl_selectors.php:176
+#: ../../include/import.php:30
msgid ""
-"Select \"Show\" to allow viewing. \"Don't show\" lets you override and limit"
-" the scope of \"Show\"."
-msgstr "Kies \"Tonen\" om weergave toe te staan. Met \"Niet tonen\" kan je uitzonderingen maken op \"Tonen\"."
-
-#: ../../include/acl_selectors.php:177
-msgid "Show"
-msgstr "Tonen"
+"Cannot create a duplicate channel identifier on this system. Import failed."
+msgstr "Kan geen dubbele kanaal-identificator op deze hub aanmaken. Importeren mislukt."
-#: ../../include/acl_selectors.php:178
-msgid "Don't show"
-msgstr "Niet tonen"
+#: ../../include/import.php:97
+msgid "Channel clone failed. Import failed."
+msgstr "Het klonen van het kanaal is mislukt. Importeren mislukt."
-#: ../../include/acl_selectors.php:184
-msgid "Other networks and post services"
-msgstr "Andere netwerken en diensten"
+#: ../../include/import.php:1447
+msgid "Unable to import element \""
+msgstr "Niet in staat om dit element te importeren: \""
-#: ../../include/acl_selectors.php:214
-#, php-format
-msgid ""
-"Post permissions %s cannot be changed %s after a post is shared.</br />These"
-" permissions set who is allowed to view the post."
-msgstr "Permissies van berichten %s zijn niet meer te veranderen %s nadat een bericht is gedeeld.</br />Met deze permissies bepaal je wie het bericht kan zien."
+#: ../../include/auth.php:148
+msgid "Logged out."
+msgstr "Uitgelogd."
-#: ../../include/oembed.php:340
-msgid "Embedded content"
-msgstr "Ingesloten (embedded) inhoud"
+#: ../../include/auth.php:275
+msgid "Failed authentication"
+msgstr "Mislukte authenticatie"
-#: ../../include/oembed.php:349
-msgid "Embedding disabled"
-msgstr "Insluiten (embedding) uitgeschakeld"
+#: ../../include/auth.php:286
+msgid "Login failed."
+msgstr "Inloggen mislukt."
#: ../../include/activities.php:41
msgid " and "
@@ -9396,67 +9516,59 @@ msgstr "Bezoek het %2$s van %1$s"
msgid "%1$s has an updated %2$s, changing %3$s."
msgstr "%1$s heeft een aangepaste %2$s, %3$s veranderd."
-#: ../../include/attach.php:248 ../../include/attach.php:334
-msgid "Item was not found."
-msgstr "Item niet gevonden"
-
-#: ../../include/attach.php:500
-msgid "No source file."
-msgstr "Geen bronbestand."
-
-#: ../../include/attach.php:522
-msgid "Cannot locate file to replace"
-msgstr "Kan het te vervangen bestand niet vinden"
+#: ../../include/network.php:704
+msgid "view full size"
+msgstr "volledige grootte tonen"
-#: ../../include/attach.php:540
-msgid "Cannot locate file to revise/update"
-msgstr "Kan het bestand wat aangepast moet worden niet vinden"
+#: ../../include/network.php:1953
+msgid "No Subject"
+msgstr "Geen onderwerp"
-#: ../../include/attach.php:675
-#, php-format
-msgid "File exceeds size limit of %d"
-msgstr "Bestand is groter dan de toegelaten %d"
+#: ../../include/network.php:2207 ../../include/network.php:2208
+msgid "Friendica"
+msgstr "Friendica"
-#: ../../include/attach.php:689
-#, php-format
-msgid "You have reached your limit of %1$.0f Mbytes attachment storage."
-msgstr "Je hebt jouw limiet van %1$.0f MB opslagruimte voor bijlagen bereikt."
+#: ../../include/network.php:2209
+msgid "OStatus"
+msgstr "OStatus"
-#: ../../include/attach.php:847
-msgid "File upload failed. Possible system limit or action terminated."
-msgstr "Uploaden van bestand mislukt. Mogelijk systeemlimiet bereikt of actie afgebroken."
+#: ../../include/network.php:2210
+msgid "GNU-Social"
+msgstr "GNU social"
-#: ../../include/attach.php:860
-msgid "Stored file could not be verified. Upload failed."
-msgstr "Opgeslagen bestand kon niet worden geverifieerd. Uploaden mislukt."
+#: ../../include/network.php:2211
+msgid "RSS/Atom"
+msgstr "RSS/Atom"
-#: ../../include/attach.php:916 ../../include/attach.php:932
-msgid "Path not available."
-msgstr "Locatie niet beschikbaar."
+#: ../../include/network.php:2213
+msgid "Diaspora"
+msgstr "Diaspora"
-#: ../../include/attach.php:978 ../../include/attach.php:1130
-msgid "Empty pathname"
-msgstr "Ontbrekende locatienaam"
+#: ../../include/network.php:2214
+msgid "Facebook"
+msgstr "Facebook"
-#: ../../include/attach.php:1004
-msgid "duplicate filename or path"
-msgstr "dubbele bestandsnaam of locatie"
+#: ../../include/network.php:2215
+msgid "Zot"
+msgstr "Zot"
-#: ../../include/attach.php:1026
-msgid "Path not found."
-msgstr "Locatie niet gevonden"
+#: ../../include/network.php:2216
+msgid "LinkedIn"
+msgstr "LinkedIn"
-#: ../../include/attach.php:1084
-msgid "mkdir failed."
-msgstr "directory aanmaken (mkdir) mislukt."
+#: ../../include/network.php:2217
+msgid "XMPP/IM"
+msgstr "XMPP/IM"
-#: ../../include/attach.php:1088
-msgid "database storage failed."
-msgstr "opslag in database mislukt."
+#: ../../include/network.php:2218
+msgid "MySpace"
+msgstr "MySpace"
-#: ../../include/attach.php:1136
-msgid "Empty path"
-msgstr "Ontbrekende locatie"
+#: ../../include/taxonomy.php:188 ../../include/taxonomy.php:270
+#: ../../include/contact_widgets.php:91 ../../include/widgets.php:46
+#: ../../include/widgets.php:465
+msgid "Categories"
+msgstr "Categorieën"
#: ../../include/taxonomy.php:228 ../../include/taxonomy.php:249
msgid "Tags"
@@ -9490,361 +9602,391 @@ msgstr "vindt dit leuk"
msgid "dislikes"
msgstr "vindt dit niet leuk"
-#: ../../include/zot.php:700
-msgid "Invalid data packet"
-msgstr "Datapakket ongeldig"
+#: ../../include/contact_widgets.php:11
+#, php-format
+msgid "%d invitation available"
+msgid_plural "%d invitations available"
+msgstr[0] "%d uitnodiging beschikbaar"
+msgstr[1] "%d uitnodigingen beschikbaar"
-#: ../../include/zot.php:716
-msgid "Unable to verify channel signature"
-msgstr "Kanaalkenmerk kon niet worden geverifieerd. "
+#: ../../include/contact_widgets.php:19
+msgid "Find Channels"
+msgstr "Kanalen vinden"
-#: ../../include/zot.php:2329
-#, php-format
-msgid "Unable to verify site signature for %s"
-msgstr "Hubkenmerk voor %s kon niet worden geverifieerd"
+#: ../../include/contact_widgets.php:20
+msgid "Enter name or interest"
+msgstr "Vul naam of interesse in"
-#: ../../include/zot.php:3706
-msgid "invalid target signature"
-msgstr "ongeldig doelkenmerk"
+#: ../../include/contact_widgets.php:21
+msgid "Connect/Follow"
+msgstr "Verbinden/volgen"
-#: ../../include/channel.php:33
-msgid "Unable to obtain identity information from database"
-msgstr "Niet in staat om identiteitsinformatie uit de database te verkrijgen"
+#: ../../include/contact_widgets.php:22
+msgid "Examples: Robert Morgenstein, Fishing"
+msgstr "Voorbeeld: Robert Morgenstein, vissen"
-#: ../../include/channel.php:67
-msgid "Empty name"
-msgstr "Ontbrekende naam"
+#: ../../include/contact_widgets.php:26
+msgid "Random Profile"
+msgstr "Willekeurig profiel"
-#: ../../include/channel.php:70
-msgid "Name too long"
-msgstr "Naam te lang"
+#: ../../include/contact_widgets.php:27
+msgid "Invite Friends"
+msgstr "Vrienden uitnodigen"
-#: ../../include/channel.php:181
-msgid "No account identifier"
-msgstr "Geen account-identificator"
+#: ../../include/contact_widgets.php:29
+msgid "Advanced example: name=fred and country=iceland"
+msgstr "Geavanceerd voorbeeld (Engels): name=jan en country=nederland"
-#: ../../include/channel.php:193
-msgid "Nickname is required."
-msgstr "Bijnaam is verplicht"
+#: ../../include/contact_widgets.php:56 ../../include/contact_widgets.php:94
+#: ../../include/widgets.php:349 ../../include/widgets.php:468
+msgid "Everything"
+msgstr "Alles"
-#: ../../include/channel.php:207
-msgid "Reserved nickname. Please choose another."
-msgstr "Deze naam is gereserveerd. Kies een andere."
+#: ../../include/contact_widgets.php:122
+#, php-format
+msgid "%d connection in common"
+msgid_plural "%d connections in common"
+msgstr[0] "%d gemeenschappelijke connectie"
+msgstr[1] "%d gemeenschappelijke connecties"
-#: ../../include/channel.php:212
-msgid ""
-"Nickname has unsupported characters or is already being used on this site."
-msgstr "Deze naam heeft niet ondersteunde karakters of is al op deze hub in gebruik."
+#: ../../include/contact_widgets.php:127
+msgid "show more"
+msgstr "meer connecties weergeven"
-#: ../../include/channel.php:272
-msgid "Unable to retrieve created identity"
-msgstr "Niet in staat om aangemaakte identiteit te vinden"
+#: ../../include/widgets.php:103
+msgid "System"
+msgstr "Systeem"
-#: ../../include/channel.php:341
-msgid "Default Profile"
-msgstr "Standaardprofiel"
+#: ../../include/widgets.php:106
+msgid "New App"
+msgstr "Nieuwe app"
-#: ../../include/channel.php:813
-msgid "Requested channel is not available."
-msgstr "Opgevraagd kanaal is niet beschikbaar."
+#: ../../include/widgets.php:154
+msgid "Suggestions"
+msgstr "Voorgestelde kanalen"
-#: ../../include/channel.php:960
-msgid "Create New Profile"
-msgstr "Nieuw profiel aanmaken"
+#: ../../include/widgets.php:155
+msgid "See more..."
+msgstr "Meer..."
-#: ../../include/channel.php:980
-msgid "Visible to everybody"
-msgstr "Voor iedereen zichtbaar"
+#: ../../include/widgets.php:175
+#, php-format
+msgid "You have %1$.0f of %2$.0f allowed connections."
+msgstr "Je hebt %1$.0f van de %2$.0f toegestane connecties."
-#: ../../include/channel.php:1053 ../../include/channel.php:1166
-msgid "Gender:"
-msgstr "Geslacht:"
+#: ../../include/widgets.php:181
+msgid "Add New Connection"
+msgstr "Nieuwe connectie toevoegen"
-#: ../../include/channel.php:1054 ../../include/channel.php:1210
-msgid "Status:"
-msgstr "Status:"
+#: ../../include/widgets.php:182
+msgid "Enter channel address"
+msgstr "Vul kanaaladres in"
-#: ../../include/channel.php:1055 ../../include/channel.php:1221
-msgid "Homepage:"
-msgstr "Homepagina:"
+#: ../../include/widgets.php:183
+msgid "Examples: bob@example.com, https://example.com/barbara"
+msgstr "Voorbeelden: bob@example.com, http://example.com/barbara"
-#: ../../include/channel.php:1056
-msgid "Online Now"
-msgstr "Nu online"
+#: ../../include/widgets.php:199
+msgid "Notes"
+msgstr "Aantekeningen"
-#: ../../include/channel.php:1171
-msgid "Like this channel"
-msgstr "Vind dit kanaal leuk"
+#: ../../include/widgets.php:275
+msgid "Remove term"
+msgstr "Verwijder zoekterm"
-#: ../../include/channel.php:1195
-msgid "j F, Y"
-msgstr "F j Y"
+#: ../../include/widgets.php:390
+msgid "Archives"
+msgstr "Archieven"
-#: ../../include/channel.php:1196
-msgid "j F"
-msgstr "F j"
+#: ../../include/widgets.php:552
+msgid "Refresh"
+msgstr "Vernieuwen"
-#: ../../include/channel.php:1203
-msgid "Birthday:"
-msgstr "Geboortedatum:"
+#: ../../include/widgets.php:592
+msgid "Account settings"
+msgstr "Account"
-#: ../../include/channel.php:1216
-#, php-format
-msgid "for %1$d %2$s"
-msgstr "voor %1$d %2$s"
+#: ../../include/widgets.php:598
+msgid "Channel settings"
+msgstr "Kanaal"
-#: ../../include/channel.php:1219
-msgid "Sexual Preference:"
-msgstr "Seksuele voorkeur:"
+#: ../../include/widgets.php:607
+msgid "Additional features"
+msgstr "Extra functies"
-#: ../../include/channel.php:1225
-msgid "Tags:"
-msgstr "Tags:"
+#: ../../include/widgets.php:614
+msgid "Feature/Addon settings"
+msgstr "Plugin-instellingen"
-#: ../../include/channel.php:1227
-msgid "Political Views:"
-msgstr "Politieke overtuigingen:"
+#: ../../include/widgets.php:620
+msgid "Display settings"
+msgstr "Weergave"
-#: ../../include/channel.php:1229
-msgid "Religion:"
-msgstr "Religie:"
+#: ../../include/widgets.php:627
+msgid "Manage locations"
+msgstr "Locaties beheren"
-#: ../../include/channel.php:1233
-msgid "Hobbies/Interests:"
-msgstr "Hobby's/interesses:"
+#: ../../include/widgets.php:634
+msgid "Export channel"
+msgstr "Kanaal exporteren"
-#: ../../include/channel.php:1235
-msgid "Likes:"
-msgstr "Houdt van:"
+#: ../../include/widgets.php:640
+msgid "Connected apps"
+msgstr "Verbonden applicaties"
-#: ../../include/channel.php:1237
-msgid "Dislikes:"
-msgstr "Houdt niet van:"
+#: ../../include/widgets.php:664
+msgid "Premium Channel Settings"
+msgstr "Instellingen premiumkanaal"
-#: ../../include/channel.php:1239
-msgid "Contact information and Social Networks:"
-msgstr "Contactinformatie en sociale netwerken:"
+#: ../../include/widgets.php:693
+msgid "Private Mail Menu"
+msgstr "Privéberichten"
-#: ../../include/channel.php:1241
-msgid "My other channels:"
-msgstr "Mijn andere kanalen"
+#: ../../include/widgets.php:695
+msgid "Combined View"
+msgstr "Gecombineerd postvak"
-#: ../../include/channel.php:1243
-msgid "Musical interests:"
-msgstr "Muzikale interesses:"
+#: ../../include/widgets.php:727 ../../include/widgets.php:739
+msgid "Conversations"
+msgstr "Conversaties"
-#: ../../include/channel.php:1245
-msgid "Books, literature:"
-msgstr "Boeken, literatuur:"
+#: ../../include/widgets.php:731
+msgid "Received Messages"
+msgstr "Ontvangen berichten"
-#: ../../include/channel.php:1247
-msgid "Television:"
-msgstr "Televisie:"
+#: ../../include/widgets.php:735
+msgid "Sent Messages"
+msgstr "Verzonden berichten"
-#: ../../include/channel.php:1249
-msgid "Film/dance/culture/entertainment:"
-msgstr "Films/dansen/cultuur/vermaak:"
+#: ../../include/widgets.php:749
+msgid "No messages."
+msgstr "Geen berichten"
-#: ../../include/channel.php:1251
-msgid "Love/Romance:"
-msgstr "Liefde/romantiek:"
+#: ../../include/widgets.php:767
+msgid "Delete conversation"
+msgstr "Verwijder conversatie"
-#: ../../include/channel.php:1253
-msgid "Work/employment:"
-msgstr "Werk/beroep:"
+#: ../../include/widgets.php:793
+msgid "Events Tools"
+msgstr "Agenda-hulpmiddelen"
-#: ../../include/channel.php:1255
-msgid "School/education:"
-msgstr "School/opleiding:"
+#: ../../include/widgets.php:794
+msgid "Export Calendar"
+msgstr "Exporteren"
-#: ../../include/channel.php:1276
-msgid "Like this thing"
-msgstr "Vind dit ding leuk"
+#: ../../include/widgets.php:795
+msgid "Import Calendar"
+msgstr "Importeren"
-#: ../../include/connections.php:95
-msgid "New window"
-msgstr "Nieuw venster"
+#: ../../include/widgets.php:887
+msgid "Overview"
+msgstr "Overzicht"
-#: ../../include/connections.php:96
-msgid "Open the selected location in a different window or browser tab"
-msgstr "Open de geselecteerde locatie in een ander venster of tab"
+#: ../../include/widgets.php:894
+msgid "Chat Members"
+msgstr "Chatleden"
-#: ../../include/connections.php:214
-#, php-format
-msgid "User '%s' deleted"
-msgstr "Account '%s' verwijderd"
+#: ../../include/widgets.php:916
+msgid "Wiki List"
+msgstr "Wiki's"
-#: ../../include/event.php:821
-msgid "This event has been added to your calendar."
-msgstr "Dit evenement is aan jouw agenda toegevoegd."
+#: ../../include/widgets.php:954
+msgid "Wiki Pages"
+msgstr "Wikipagina's"
-#: ../../include/event.php:1021
-msgid "Not specified"
-msgstr "Niet aangegeven"
+#: ../../include/widgets.php:989
+msgid "Bookmarked Chatrooms"
+msgstr "Bladwijzers van chatkanalen"
-#: ../../include/event.php:1022
-msgid "Needs Action"
-msgstr "Actie vereist"
+#: ../../include/widgets.php:1020
+msgid "Suggested Chatrooms"
+msgstr "Voorgestelde chatkanalen"
-#: ../../include/event.php:1023
-msgid "Completed"
-msgstr "Voltooid"
+#: ../../include/widgets.php:1166 ../../include/widgets.php:1278
+msgid "photo/image"
+msgstr "foto/afbeelding"
-#: ../../include/event.php:1024
-msgid "In Process"
-msgstr "In behandeling"
+#: ../../include/widgets.php:1221
+msgid "Click to show more"
+msgstr "Klik voor meer"
-#: ../../include/event.php:1025
-msgid "Cancelled"
-msgstr "Geannuleerd"
+#: ../../include/widgets.php:1372
+msgid "Rating Tools"
+msgstr "Beoordelingen"
-#: ../../include/contact_widgets.php:11
-#, php-format
-msgid "%d invitation available"
-msgid_plural "%d invitations available"
-msgstr[0] "%d uitnodiging beschikbaar"
-msgstr[1] "%d uitnodigingen beschikbaar"
+#: ../../include/widgets.php:1376 ../../include/widgets.php:1378
+msgid "Rate Me"
+msgstr "Beoordeel mij"
-#: ../../include/contact_widgets.php:19
-msgid "Find Channels"
-msgstr "Kanalen vinden"
+#: ../../include/widgets.php:1381
+msgid "View Ratings"
+msgstr "Bekijk beoordelingen"
-#: ../../include/contact_widgets.php:20
-msgid "Enter name or interest"
-msgstr "Vul naam of interesse in"
+#: ../../include/widgets.php:1465
+msgid "Forums"
+msgstr "Forums"
-#: ../../include/contact_widgets.php:21
-msgid "Connect/Follow"
-msgstr "Verbinden/volgen"
+#: ../../include/widgets.php:1494
+msgid "Tasks"
+msgstr "Taken"
-#: ../../include/contact_widgets.php:22
-msgid "Examples: Robert Morgenstein, Fishing"
-msgstr "Voorbeeld: Robert Morgenstein, vissen"
+#: ../../include/widgets.php:1505
+msgid "Documentation"
+msgstr "Documentatie"
-#: ../../include/contact_widgets.php:26
-msgid "Random Profile"
-msgstr "Willekeurig profiel"
+#: ../../include/widgets.php:1561 ../../include/widgets.php:1599
+msgid "Member registrations waiting for confirmation"
+msgstr "Accounts die op goedkeuring wachten"
-#: ../../include/contact_widgets.php:27
-msgid "Invite Friends"
-msgstr "Vrienden uitnodigen"
+#: ../../include/widgets.php:1567
+msgid "Inspect queue"
+msgstr "Inspecteer berichtenwachtrij"
-#: ../../include/contact_widgets.php:29
-msgid "Advanced example: name=fred and country=iceland"
-msgstr "Geavanceerd voorbeeld (Engels): name=jan en country=nederland"
+#: ../../include/widgets.php:1569
+msgid "DB updates"
+msgstr "Database-updates"
-#: ../../include/contact_widgets.php:122
-#, php-format
-msgid "%d connection in common"
-msgid_plural "%d connections in common"
-msgstr[0] "%d gemeenschappelijke connectie"
-msgstr[1] "%d gemeenschappelijke connecties"
+#: ../../include/widgets.php:1595
+msgid "Plugin Features"
+msgstr "Plugin-opties"
-#: ../../include/contact_widgets.php:127
-msgid "show more"
-msgstr "meer connecties weergeven"
+#: ../../include/api.php:1330
+msgid "Public Timeline"
+msgstr "Openbare tijdlijn"
-#: ../../include/dir_fns.php:141
-msgid "Directory Options"
-msgstr "Opties kanalengids"
+#: ../../include/oembed.php:322
+msgid " by "
+msgstr " door "
-#: ../../include/dir_fns.php:143
-msgid "Safe Mode"
-msgstr "Veilig zoeken"
+#: ../../include/oembed.php:323
+msgid " on "
+msgstr " op "
-#: ../../include/dir_fns.php:144
-msgid "Public Forums Only"
-msgstr "Alleen openbare forums"
+#: ../../include/oembed.php:352
+msgid "Embedded content"
+msgstr "Ingesloten (embedded) inhoud"
-#: ../../include/dir_fns.php:145
-msgid "This Website Only"
-msgstr "Alleen deze hub"
+#: ../../include/oembed.php:361
+msgid "Embedding disabled"
+msgstr "Insluiten (embedding) uitgeschakeld"
-#: ../../include/message.php:20
-msgid "No recipient provided."
-msgstr "Geen ontvanger opgegeven."
+#: ../../include/items.php:918 ../../include/items.php:963
+msgid "(Unknown)"
+msgstr "(Onbekend)"
-#: ../../include/message.php:25
-msgid "[no subject]"
-msgstr "[geen onderwerp]"
+#: ../../include/items.php:1162
+msgid "Visible to anybody on the internet."
+msgstr "Voor iedereen op het internet zichtbaar."
-#: ../../include/message.php:45
-msgid "Unable to determine sender."
-msgstr "Afzender kan niet bepaald worden."
+#: ../../include/items.php:1164
+msgid "Visible to you only."
+msgstr "Alleen voor jou zichtbaar."
-#: ../../include/message.php:222
-msgid "Stored post could not be verified."
-msgstr "Opgeslagen bericht kon niet worden geverifieerd."
+#: ../../include/items.php:1166
+msgid "Visible to anybody in this network."
+msgstr "Voor iedereen in dit netwerk zichtbaar."
-#: ../../include/account.php:28
-msgid "Not a valid email address"
-msgstr "Geen geldig e-mailadres"
+#: ../../include/items.php:1168
+msgid "Visible to anybody authenticated."
+msgstr "Voor iedereen die geauthenticeerd is zichtbaar."
-#: ../../include/account.php:30
-msgid "Your email domain is not among those allowed on this site"
-msgstr "Jouw e-maildomein is op deze hub niet toegestaan"
+#: ../../include/items.php:1170
+#, php-format
+msgid "Visible to anybody on %s."
+msgstr "Voor iedereen op %s zichtbaar."
-#: ../../include/account.php:36
-msgid "Your email address is already registered at this site."
-msgstr "Jouw e-mailadres is al op deze hub geregistreerd."
+#: ../../include/items.php:1172
+msgid "Visible to all connections."
+msgstr "Voor alle connecties zichtbaar."
-#: ../../include/account.php:68
-msgid "An invitation is required."
-msgstr "Een uitnodiging is vereist"
+#: ../../include/items.php:1174
+msgid "Visible to approved connections."
+msgstr "Voor alle geaccepteerde connecties zichtbaar."
-#: ../../include/account.php:72
-msgid "Invitation could not be verified."
-msgstr "Uitnodiging kon niet geverifieerd worden"
+#: ../../include/items.php:1176
+msgid "Visible to specific connections."
+msgstr "Voor specifieke connecties zichtbaar."
-#: ../../include/account.php:122
-msgid "Please enter the required information."
-msgstr "Vul de vereiste informatie in."
+#: ../../include/items.php:3976
+msgid "Privacy group is empty."
+msgstr "Privacygroep is leeg"
-#: ../../include/account.php:189
-msgid "Failed to store account information."
-msgstr "Account-informatie kon niet opgeslagen worden."
+#: ../../include/items.php:3983
+#, php-format
+msgid "Privacy group: %s"
+msgstr "Privacygroep: %s"
+
+#: ../../include/items.php:3995
+msgid "Connection not found."
+msgstr "Connectie niet gevonden."
+
+#: ../../include/items.php:4348
+msgid "profile photo"
+msgstr "profielfoto"
+
+#: ../../include/attach.php:248 ../../include/attach.php:334
+msgid "Item was not found."
+msgstr "Item niet gevonden"
+
+#: ../../include/attach.php:500
+msgid "No source file."
+msgstr "Geen bronbestand."
+
+#: ../../include/attach.php:522
+msgid "Cannot locate file to replace"
+msgstr "Kan het te vervangen bestand niet vinden"
+
+#: ../../include/attach.php:540
+msgid "Cannot locate file to revise/update"
+msgstr "Kan het bestand wat aangepast moet worden niet vinden"
-#: ../../include/account.php:249
+#: ../../include/attach.php:675
#, php-format
-msgid "Registration confirmation for %s"
-msgstr "Registratiebevestiging voor %s"
+msgid "File exceeds size limit of %d"
+msgstr "Bestand is groter dan de toegelaten %d"
-#: ../../include/account.php:315
+#: ../../include/attach.php:689
#, php-format
-msgid "Registration request at %s"
-msgstr "Registratiebevestiging voor %s"
+msgid "You have reached your limit of %1$.0f Mbytes attachment storage."
+msgstr "Je hebt jouw limiet van %1$.0f MB opslagruimte voor bijlagen bereikt."
-#: ../../include/account.php:339
-msgid "your registration password"
-msgstr "jouw registratiewachtwoord"
+#: ../../include/attach.php:854
+msgid "File upload failed. Possible system limit or action terminated."
+msgstr "Uploaden van bestand mislukt. Mogelijk systeemlimiet bereikt of actie afgebroken."
-#: ../../include/account.php:342 ../../include/account.php:402
-#, php-format
-msgid "Registration details for %s"
-msgstr "Registratiegegevens voor %s"
+#: ../../include/attach.php:867
+msgid "Stored file could not be verified. Upload failed."
+msgstr "Opgeslagen bestand kon niet worden geverifieerd. Uploaden mislukt."
-#: ../../include/account.php:414
-msgid "Account approved."
-msgstr "Account goedgekeurd"
+#: ../../include/attach.php:923 ../../include/attach.php:939
+msgid "Path not available."
+msgstr "Locatie niet beschikbaar."
-#: ../../include/account.php:454
-#, php-format
-msgid "Registration revoked for %s"
-msgstr "Registratie ingetrokken voor %s"
+#: ../../include/attach.php:985 ../../include/attach.php:1137
+msgid "Empty pathname"
+msgstr "Ontbrekende locatienaam"
-#: ../../include/account.php:739 ../../include/account.php:741
-msgid "Click here to upgrade."
-msgstr "Klik hier om te upgraden."
+#: ../../include/attach.php:1011
+msgid "duplicate filename or path"
+msgstr "dubbele bestandsnaam of locatie"
-#: ../../include/account.php:747
-msgid "This action exceeds the limits set by your subscription plan."
-msgstr "Deze handeling overschrijdt de beperkingen die voor jouw abonnement gelden."
+#: ../../include/attach.php:1033
+msgid "Path not found."
+msgstr "Locatie niet gevonden"
-#: ../../include/account.php:752
-msgid "This action is not available under your subscription plan."
-msgstr "Deze handeling is niet mogelijk met jouw abonnement."
+#: ../../include/attach.php:1091
+msgid "mkdir failed."
+msgstr "directory aanmaken (mkdir) mislukt."
-#: ../../view/theme/redbasic/php/config.php:6
+#: ../../include/attach.php:1095
+msgid "database storage failed."
+msgstr "opslag in database mislukt."
+
+#: ../../include/attach.php:1143
+msgid "Empty path"
+msgstr "Ontbrekende locatie"
+
+#: ../../view/theme/redbasic/php/config.php:9
msgid "Focus (Hubzilla default)"
msgstr "Focus (Hubzilla-standaard)"
@@ -9976,66 +10118,66 @@ msgstr "Grootte profielfoto's van berichten instellen"
msgid "Set size of followup author photos"
msgstr "Grootte profielfoto's van reacties instellen"
-#: ../../boot.php:1169
+#: ../../boot.php:1195
#, php-format
msgctxt "opensearch"
msgid "Search %1$s (%2$s)"
msgstr "Zoek %1$s (%2$s)"
-#: ../../boot.php:1169
+#: ../../boot.php:1195
msgctxt "opensearch"
msgid "$Projectname"
msgstr "$Projectname"
-#: ../../boot.php:1487
+#: ../../boot.php:1513
#, php-format
msgid "Update %s failed. See error logs."
msgstr "Update %s mislukt. Zie foutenlogboek."
-#: ../../boot.php:1490
+#: ../../boot.php:1516
#, php-format
msgid "Update Error at %s"
msgstr "Update-fout op %s"
-#: ../../boot.php:1694
+#: ../../boot.php:1720
msgid ""
"Create an account to access services and applications within the Hubzilla"
msgstr "Maak een account aan om toegang te krijgen tot diensten en toepassingen van Hubzilla"
-#: ../../boot.php:1715
+#: ../../boot.php:1741
msgid "Login/Email"
msgstr "E-mailadres of inlognaam"
-#: ../../boot.php:1716
+#: ../../boot.php:1742
msgid "Password"
msgstr "Wachtwoord"
-#: ../../boot.php:1717
+#: ../../boot.php:1743
msgid "Remember me"
msgstr "Aangemeld blijven"
-#: ../../boot.php:1720
+#: ../../boot.php:1746
msgid "Forgot your password?"
msgstr "Wachtwoord vergeten?"
-#: ../../boot.php:2289
+#: ../../boot.php:2315
msgid "toggle mobile"
msgstr "mobiele weergave omschakelen"
-#: ../../boot.php:2444
+#: ../../boot.php:2470
msgid "Website SSL certificate is not valid. Please correct."
msgstr "Het SSL-certificaat van deze website is ongeldig. Corrigeer dit a.u.b."
-#: ../../boot.php:2447
+#: ../../boot.php:2473
#, php-format
msgid "[hubzilla] Website SSL error for %s"
msgstr "[hubzilla] Probleem met SSL-certificaat voor %s"
-#: ../../boot.php:2551
+#: ../../boot.php:2577
msgid "Cron/Scheduled tasks not running."
msgstr "Cron is niet actief"
-#: ../../boot.php:2555
+#: ../../boot.php:2581
#, php-format
msgid "[hubzilla] Cron tasks not running on %s"
msgstr "[hubzilla] Cron-taken zijn niet actief op %s"
diff --git a/view/nl/hstrings.php b/view/nl/hstrings.php
index 0e339f701..7d3ced9ff 100644
--- a/view/nl/hstrings.php
+++ b/view/nl/hstrings.php
@@ -62,135 +62,393 @@ App::$strings["WARNING:"] = "WAARSCHUWING:";
App::$strings["Create new folder"] = "Nieuwe map aanmaken";
App::$strings["Upload file"] = "Bestand uploaden";
App::$strings["Drop files here to immediately upload"] = "Sleep bestanden hierheen om ze onmiddelijk te uploaden";
-App::$strings["Permission denied"] = "Toegang geweigerd";
App::$strings["Permission denied."] = "Toegang geweigerd.";
App::$strings["Not Found"] = "Niet gevonden";
App::$strings["Page not found."] = "Pagina niet gevonden.";
+App::$strings["Permission denied"] = "Toegang geweigerd";
App::$strings["Remote authentication blocked. You are logged into this site locally. Please logout and retry."] = "Authenticatie op afstand geblokkeerd. Je bent lokaal op deze hub ingelogd. Uitloggen en opnieuw proberen.";
App::$strings["Welcome %s. Remote authentication successful."] = "Welkom %s. Authenticatie op afstand geslaagd.";
App::$strings["Requested profile is not available."] = "Opgevraagd profiel is niet beschikbaar";
App::$strings["Some blurb about what to do when you're new here"] = "Welkom op \$Projectname. Klik op de tab ontdekken of klik rechtsboven op de <a href=\"directory\">kanalengids</a>, om kanalen te vinden. Rechtsboven vind je ook <a href=\"directory\">apps</a>, waar je vrijwel alle functies van \$Projectname kunt vinden. Voor <a href=\"directory\">hulp</a> met \$Projectname klik je op het vraagteken.";
App::$strings["Away"] = "Afwezig";
App::$strings["Online"] = "Online";
-App::$strings["Item not found."] = "Item niet gevonden.";
-App::$strings["Thing updated"] = "Ding bijgewerkt";
-App::$strings["Object store: failed"] = "Opslaan van ding mislukt";
-App::$strings["Thing added"] = "Ding toegevoegd";
-App::$strings["OBJ: %1\$s %2\$s %3\$s"] = "OBJ: %1\$s %2\$s %3\$s";
-App::$strings["Show Thing"] = "Ding weergeven";
-App::$strings["item not found."] = "Item niet gevonden";
-App::$strings["Edit Thing"] = "Ding bewerken";
-App::$strings["Select a profile"] = "Kies een profiel";
-App::$strings["Post an activity"] = "Plaats een bericht";
-App::$strings["Only sends to viewers of the applicable profile"] = "Toont dit alleen aan diegene die het gekozen profiel mogen zien.";
-App::$strings["Name of thing e.g. something"] = "Naam van ding";
-App::$strings["URL of thing (optional)"] = "URL van ding (optioneel)";
-App::$strings["URL for photo of thing (optional)"] = "URL voor foto van ding (optioneel)";
-App::$strings["Permissions"] = "Permissies";
-App::$strings["Submit"] = "Opslaan";
-App::$strings["Add Thing to your Profile"] = "Ding aan je profiel toevoegen";
-App::$strings["Like/Dislike"] = "Leuk/niet leuk";
-App::$strings["This action is restricted to members."] = "Deze actie kan alleen door \$Projectname-leden worden uitgevoerd.";
-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."] = "Je dient <a href=\"rmagic\">in te loggen met je \$Projectname-account</a> of <a href=\"register\">een nieuw \$Projectname-account aan te maken</a> om verder te kunnen gaan.";
-App::$strings["Invalid request."] = "Ongeldig verzoek";
-App::$strings["channel"] = "kanaal";
-App::$strings["thing"] = "ding";
-App::$strings["Channel unavailable."] = "Kanaal niet beschikbaar.";
-App::$strings["Previous action reversed."] = "Vorige actie omgedraaid";
-App::$strings["photo"] = "foto";
-App::$strings["status"] = "bericht";
-App::$strings["event"] = "gebeurtenis";
-App::$strings["%1\$s likes %2\$s's %3\$s"] = "%1\$s vindt %3\$s van %2\$s leuk";
-App::$strings["%1\$s doesn't like %2\$s's %3\$s"] = "%1\$s vindt %3\$s van %2\$s niet leuk";
-App::$strings["%1\$s agrees with %2\$s's %3\$s"] = "%1\$s is het eens met %2\$s's %3\$s";
-App::$strings["%1\$s doesn't agree with %2\$s's %3\$s"] = "%1\$s is het niet eens met %2\$s's %3\$s";
-App::$strings["%1\$s abstains from a decision on %2\$s's %3\$s"] = "%1\$s onthoudt zich van een besluit over %2\$s's %3\$s";
-App::$strings["%1\$s is attending %2\$s's %3\$s"] = "%1\$s is aanwezig op %2\$s's %3\$s";
-App::$strings["%1\$s is not attending %2\$s's %3\$s"] = "%1\$s is niet aanwezig op %2\$s's %3\$s";
-App::$strings["%1\$s may attend %2\$s's %3\$s"] = "%1\$s is mogelijk aanwezig op %2\$s's %3\$s";
-App::$strings["Action completed."] = "Actie voltooid";
-App::$strings["Thank you."] = "Bedankt";
+App::$strings["No such group"] = "Collectie niet gevonden";
+App::$strings["No such channel"] = "Niet zo'n kanaal";
+App::$strings["forum"] = "forum";
+App::$strings["Search Results For:"] = "Zoekresultaten voor:";
+App::$strings["Privacy group is empty"] = "Privacygroep is leeg";
+App::$strings["Privacy group: "] = "Privacygroep: ";
+App::$strings["Invalid connection."] = "Ongeldige connectie.";
+App::$strings["Fetching URL returns error: %1\$s"] = "Ophalen URL gaf een foutmelding terug: %1\$s";
+App::$strings["network"] = "netwerk";
+App::$strings["RSS"] = "RSS";
App::$strings["You must be logged in to see this page."] = "Je moet zijn ingelogd om deze pagina te kunnen bekijken.";
-App::$strings["Not found"] = "Niet gevonden";
-App::$strings["Wiki"] = "Wiki";
-App::$strings["Sandbox"] = "Zandbak";
-App::$strings["\"# Wiki Sandbox\\n\\nContent you **edit** and **preview** here *will not be saved*.\""] = "\"# Wiki Sandbox\\n\\nWat er hier onder **edit** en **preview** staat *wordt niet opgeslagen*.\"";
-App::$strings["Revision Comparison"] = "Revisies vergelijken";
-App::$strings["Revert"] = "Ongedaan maken";
-App::$strings["Cancel"] = "Annuleren";
-App::$strings["Enter the name of your new wiki:"] = "Vul de naam in van jouw nieuwe wiki:";
-App::$strings["Enter the name of the new page:"] = "Vul de naam in van de nieuwe pagina:";
-App::$strings["Enter the new name:"] = "Vul de nieuwe naam in:";
-App::$strings["Embed image from photo albums"] = "Afbeelding uit een fotoalbum invoegen";
-App::$strings["Embed an image from your albums"] = "Afbeelding uit jouw albums invoegen";
-App::$strings["OK"] = "OK";
-App::$strings["Choose images to embed"] = "Kies afbeeldingen om in te voegen";
-App::$strings["Choose an album"] = "Kies een album";
-App::$strings["Choose a different album..."] = "Kies een ander album...";
-App::$strings["Error getting album list"] = "Fout met ophalen albumlijst";
-App::$strings["Error getting photo link"] = "Fout met ophalen fotolink";
-App::$strings["Error getting album"] = "Fout met ophalen album";
-App::$strings["Public access denied."] = "Openbare toegang geweigerd.";
-App::$strings["%d rating"] = array(
- 0 => "%d beoordeling",
- 1 => "%d beoordelingen",
-);
-App::$strings["Gender: "] = "Geslacht:";
-App::$strings["Status: "] = "Status: ";
-App::$strings["Homepage: "] = "Homepage: ";
-App::$strings["Age:"] = "Leeftijd:";
-App::$strings["Location:"] = "Plaats:";
-App::$strings["Description:"] = "Omschrijving:";
-App::$strings["Hometown:"] = "Oorspronkelijk uit:";
-App::$strings["About:"] = "Over:";
-App::$strings["Connect"] = "Verbinden";
-App::$strings["Public Forum:"] = "Openbaar forum:";
-App::$strings["Keywords: "] = "Trefwoorden: ";
-App::$strings["Don't suggest"] = "Niet voorstellen";
-App::$strings["Common connections:"] = "Gemeenschappelijke connecties:";
-App::$strings["Global Directory"] = "Volledige kanalengids";
-App::$strings["Local Directory"] = "Lokale kanalengids";
-App::$strings["Find"] = "Vinden";
-App::$strings["Finding:"] = "Gezocht naar:";
-App::$strings["Channel Suggestions"] = "Voorgestelde kanalen";
-App::$strings["next page"] = "volgende pagina";
-App::$strings["previous page"] = "vorige pagina";
-App::$strings["Sort options"] = "Sorteeropties";
-App::$strings["Alphabetic"] = "Alfabetisch";
-App::$strings["Reverse Alphabetic"] = "Omgekeerd alfabetisch";
-App::$strings["Newest to Oldest"] = "Nieuw naar oud";
-App::$strings["Oldest to Newest"] = "Oud naar nieuw";
-App::$strings["No entries (some entries may be hidden)."] = "Niets gevonden (sommige kanalen kunnen verborgen zijn).";
-App::$strings["Rating"] = "Beoordeling";
-App::$strings["Website:"] = "Website:";
-App::$strings["Remote Channel [%s] (not yet known on this site)"] = "Kanaal op afstand [%s] (nog niet op deze hub bekend)";
-App::$strings["Rating (this information is public)"] = "Beoordeling (deze informatie is openbaar)";
-App::$strings["Optionally explain your rating (this information is public)"] = "Verklaar jouw beoordeling (niet verplicht, deze informatie is openbaar)";
+App::$strings["Posts and comments"] = "Berichten en reacties";
+App::$strings["Only posts"] = "Alleen berichten";
+App::$strings["Insufficient permissions. Request redirected to profile page."] = "Onvoldoende permissies. Doorgestuurd naar profielpagina.";
+App::$strings["Your service plan only allows %d channels."] = "Jouw abonnement staat maar %d kanalen toe.";
+App::$strings["Nothing to import."] = "Niets gevonden om te importeren";
+App::$strings["Unable to download data from old server"] = "Niet in staat om gegevens van de oude hub te downloaden";
+App::$strings["Imported file is empty."] = "Geïmporteerde bestand is leeg";
+App::$strings["Warning: Database versions differ by %1\$d updates."] = "Waarschuwing: database-versies lopen %1\$d updates achter.";
+App::$strings["Cloned channel not found. Import failed."] = "Gekloond kanaal niet gevonden. Importeren mislukt.";
+App::$strings["No channel. Import failed."] = "Geen kanaal. Importeren mislukt.";
+App::$strings["Import completed."] = "Import voltooid.";
+App::$strings["You must be logged in to use this feature."] = "Je moet ingelogd zijn om dit onderdeel te kunnen gebruiken.";
+App::$strings["Import Channel"] = "Kanaal importeren";
+App::$strings["Use this form to import an existing channel from a different server/hub. You may retrieve the channel identity from the old server/hub via the network or provide an export file."] = "Gebruik dit formulier om een bestaand kanaal te importeren van een andere hub. Je kan de kanaal-identiteit van de oude hub via het netwerk ontvangen of een exportbestand verstrekken.";
+App::$strings["File to Upload"] = "Bestand om te uploaden";
+App::$strings["Or provide the old server/hub details"] = "Of vul de gegevens van de oude hub in";
+App::$strings["Your old identity address (xyz@example.com)"] = "Jouw oude kanaaladres (xyz@example.com)";
+App::$strings["Your old login email address"] = "Het e-mailadres van je oude account";
+App::$strings["Your old login password"] = "Wachtwoord van jouw oude account";
+App::$strings["For either option, please choose whether to make this hub your new primary address, or whether your old location should continue this role. You will be able to post from either location, but only one can be marked as the primary location for files, photos, and media."] = "Voor elke optie geldt dat je moet kiezen of je jouw primaire kanaaladres op deze hub wil instellen of dat jouw oude hub deze rol blijft vervullen.";
+App::$strings["Make this hub my primary location"] = "Stel deze hub als mijn primaire locatie in";
+App::$strings["Import existing posts if possible (experimental - limited by available memory"] = "Importeer bestaande berichten wanneer mogelijk (experimenteel - afhankelijk van beschikbaar servergeheugen)";
+App::$strings["This process may take several minutes to complete. Please submit the form only once and leave this page open until finished."] = "Dit proces kan enkele minuten in beslag nemen. Klik maar één keer op opslaan en verlaat deze pagina niet alvorens het proces is voltooid.";
+App::$strings["Submit"] = "Opslaan";
App::$strings["Bookmark added"] = "Bladwijzer toegevoegd";
App::$strings["My Bookmarks"] = "Mijn bladwijzers";
App::$strings["My Connections Bookmarks"] = "Bladwijzers van mijn connecties";
-App::$strings["Unable to locate original post."] = "Niet in staat om de originele locatie van het bericht te vinden. ";
-App::$strings["Empty post discarded."] = "Leeg bericht geannuleerd";
-App::$strings["Executable content type not permitted to this channel."] = "Uitvoerbare bestanden zijn niet toegestaan op dit kanaal.";
-App::$strings["Duplicate post suppressed."] = "Dubbel bericht tegengehouden.";
-App::$strings["System error. Post not saved."] = "Systeemfout. Bericht niet opgeslagen.";
-App::$strings["Unable to obtain post information from database."] = "Niet in staat om informatie over dit bericht uit de database te verkrijgen.";
-App::$strings["You have reached your limit of %1$.0f top level posts."] = "Je hebt jouw limiet van %1$.0f berichten bereikt.";
-App::$strings["You have reached your limit of %1$.0f webpages."] = "Je hebt jouw limiet van %1$.0f webpagina's bereikt.";
+App::$strings["%s account blocked/unblocked"] = array(
+ 0 => "%s account geblokkeerd/gedeblokkeerd",
+ 1 => "%s accounts geblokkeerd/gedeblokkeerd",
+);
+App::$strings["%s account deleted"] = array(
+ 0 => "%s account verwijderd",
+ 1 => "%s accounts verwijderd",
+);
+App::$strings["Account not found"] = "Account niet gevonden";
+App::$strings["Account '%s' deleted"] = "Account '%s' verwijderd";
+App::$strings["Account '%s' blocked"] = "Account '%s' geblokkeerd";
+App::$strings["Account '%s' unblocked"] = "Account '%s' gedeblokkeerd";
+App::$strings["Administration"] = "Beheer";
+App::$strings["Accounts"] = "Accounts";
+App::$strings["select all"] = "alles selecteren";
+App::$strings["Registrations waiting for confirm"] = "Accounts die op goedkeuring wachten";
+App::$strings["Request date"] = "Tijd/datum verzoek";
+App::$strings["Email"] = "E-mail";
+App::$strings["No registrations."] = "Geen verzoeken.";
+App::$strings["Approve"] = "Goedkeuren";
+App::$strings["Deny"] = "Afkeuren";
+App::$strings["Block"] = "Blokkeren";
+App::$strings["Unblock"] = "Deblokkeren";
+App::$strings["ID"] = "ID";
+App::$strings["All Channels"] = "Alle kanalen";
+App::$strings["Register date"] = "Geregistreerd";
+App::$strings["Last login"] = "Laatste keer ingelogd";
+App::$strings["Expires"] = "Verloopt";
+App::$strings["Service Class"] = "Abonnementen";
+App::$strings["Selected accounts will be deleted!\\n\\nEverything these accounts had posted on this site will be permanently deleted!\\n\\nAre you sure?"] = "Geselecteerde accounts (met bijbehorende kanalen) worden verwijderd!\\n\\nAlles wat deze accounts op deze hub hebben gepubliceerd wordt definitief verwijderd!\\n\\Weet je het zeker?";
+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?"] = "Account {0} (met bijbehorende kanalen) wordt verwijderd !\\n\\nAlles wat dit account op deze hub heeft gepubliceerd wordt definitief verwijderd!\\n\\nWeet je het zeker?";
+App::$strings["%s channel censored/uncensored"] = array(
+ 0 => "%s kanaal gecensureerd/ongecensureerd",
+ 1 => "%s kanalen gecensureerd/ongecensureerd",
+);
+App::$strings["%s channel code allowed/disallowed"] = array(
+ 0 => "Scripts toegestaan/niet toegestaan voor %s kanaal",
+ 1 => "Scripts toegestaan/niet toegestaan voor %s kanalen",
+);
+App::$strings["%s channel deleted"] = array(
+ 0 => "%s kanaal verwijderd",
+ 1 => "%s kanalen verwijderd",
+);
+App::$strings["Channel not found"] = "Kanaal niet gevonden";
+App::$strings["Channel '%s' deleted"] = "Kanaal '%s' verwijderd";
+App::$strings["Channel '%s' censored"] = "Kanaal '%s' gecensureerd";
+App::$strings["Channel '%s' uncensored"] = "Kanaal '%s' ongecensureerd";
+App::$strings["Channel '%s' code allowed"] = "Scripts toegestaan voor kanaal '%s'";
+App::$strings["Channel '%s' code disallowed"] = "Scripts niet toegestaan voor kanaal '%s'";
+App::$strings["Channels"] = "Kanalen";
+App::$strings["Censor"] = "Censureren";
+App::$strings["Uncensor"] = "Niet censureren";
+App::$strings["Allow Code"] = "Scripts toestaan";
+App::$strings["Disallow Code"] = "Scripts niet toestaan";
+App::$strings["Channel"] = "Kanaal";
+App::$strings["UID"] = "UID";
+App::$strings["Address"] = "Kanaaladres";
+App::$strings["Selected channels will be deleted!\\n\\nEverything that was posted in these channels on this site will be permanently deleted!\\n\\nAre you sure?"] = "Geselecteerde kanalen worden verwijderd!\\n\\nAlles wat in deze kanalen op deze hub werd gepubliceerd wordt definitief verwijderd!\\n\\nWeet je het zeker?";
+App::$strings["The channel {0} will be deleted!\\n\\nEverything that was posted in this channel on this site will be permanently deleted!\\n\\nAre you sure?"] = "Kanaal {0} wordt verwijderd!\\n\\nAlles wat in dit kanaal op deze hub werd gepubliceerd wordt definitief verwijderd!\\n\\nWeet je het zeker?";
+App::$strings["Update has been marked successful"] = "Update is als succesvol gemarkeerd";
+App::$strings["Executing %s failed. Check system logs."] = "Uitvoeren van %s is mislukt. Controleer systeemlogboek.";
+App::$strings["Update %s was successfully applied."] = "Update %s was geslaagd.";
+App::$strings["Update %s did not return a status. Unknown if it succeeded."] = "Update %s gaf geen melding. Het is daarom niet bekend of deze geslaagd is.";
+App::$strings["Update function %s could not be found."] = "Update-functie %s kon niet gevonden worden.";
+App::$strings["No failed updates."] = "Geen mislukte updates.";
+App::$strings["Failed Updates"] = "Mislukte updates";
+App::$strings["Mark success (if update was manually applied)"] = "Markeer als geslaagd (wanneer de update handmatig was uitgevoerd)";
+App::$strings["Attempt to execute this update step automatically"] = "Poging om deze stap van de update automatisch uit te voeren.";
+App::$strings["Off"] = "Uit";
+App::$strings["On"] = "Aan";
+App::$strings["Lock feature %s"] = " Vergrendel de functie '%s'";
+App::$strings["Manage Additional Features"] = "Beheer - Extra functies";
+App::$strings["Log settings updated."] = "Logboek-instellingen bijgewerkt.";
+App::$strings["Logs"] = "Logboeken";
+App::$strings["Clear"] = "Leegmaken";
+App::$strings["Debugging"] = "Debuggen";
+App::$strings["Log file"] = "Logbestand";
+App::$strings["Must be writable by web server. Relative to your top-level webserver directory."] = "Moet door de webserver beschrijfbaar zijn. Relatief ten opzichte van de bovenste map van je \$Projectname-installatie.";
+App::$strings["Log level"] = "Logniveau";
+App::$strings["Item not found."] = "Item niet gevonden.";
+App::$strings["Plugin %s disabled."] = "Plugin %s uitgeschakeld.";
+App::$strings["Plugin %s enabled."] = "Plugin %s ingeschakeld";
+App::$strings["Disable"] = "Uitschakelen";
+App::$strings["Enable"] = "Inschakelen";
+App::$strings["Plugins"] = "Plugins";
+App::$strings["Toggle"] = "Omschakelen";
+App::$strings["Settings"] = "Instellingen";
+App::$strings["Author: "] = "Auteur: ";
+App::$strings["Maintainer: "] = "Beheerder: ";
+App::$strings["Minimum project version: "] = "Minimum versie Hubzilla: ";
+App::$strings["Maximum project version: "] = "Maximum versie Hubzilla:";
+App::$strings["Minimum PHP version: "] = "Minimum versie PHP: ";
+App::$strings["Compatible Server Roles: "] = "Werkt met configuratietypes: ";
+App::$strings["Requires: "] = "Vereist: ";
+App::$strings["Disabled - version incompatibility"] = "Uitgeschakeld - versie is incompatibel";
+App::$strings["Enter the public git repository URL of the plugin repo."] = "Vul de openbare Git-URL in van de plugin-repository.";
+App::$strings["Plugin repo git URL"] = "Git-URL plugin-repository";
+App::$strings["Custom repo name"] = "Handmatige repository-naam";
+App::$strings["(optional)"] = "(optioneel)";
+App::$strings["Download Plugin Repo"] = "Plugin-repository downloaden";
+App::$strings["Install new repo"] = "Nieuwe repository installeren";
+App::$strings["Install"] = "Installeren";
+App::$strings["Cancel"] = "Annuleren";
+App::$strings["Manage Repos"] = "Repositories beheren";
+App::$strings["Installed Plugin Repositories"] = "Toegevoegde plugin-repositories";
+App::$strings["Install a New Plugin Repository"] = "Nieuwe plugin-repository toevoegen";
+App::$strings["Update"] = "Bijwerken";
+App::$strings["Switch branch"] = "Branch veranderen";
+App::$strings["Remove"] = "Verwijderen";
+App::$strings["New Profile Field"] = "Nieuw profielveld";
+App::$strings["Field nickname"] = "Bijnaam voor veld";
+App::$strings["System name of field"] = "Systeemnaam voor veld";
+App::$strings["Input type"] = "Invoertype";
+App::$strings["Field Name"] = "Veldnaam";
+App::$strings["Label on profile pages"] = "Tekstlabel voor op profielpagina's";
+App::$strings["Help text"] = "Helptekst";
+App::$strings["Additional info (optional)"] = "Extra informatie (optioneel)";
+App::$strings["Save"] = "Opslaan";
+App::$strings["Field definition not found"] = "Velddefinitie niet gevonden";
+App::$strings["Edit Profile Field"] = "Profielveld bewerken";
+App::$strings["Profile Fields"] = "Profielvelden";
+App::$strings["Basic Profile Fields"] = "Standaard profielvelden";
+App::$strings["Advanced Profile Fields"] = "Geavanceerde profielvelden";
+App::$strings["(In addition to basic fields)"] = "(als toevoeging op de standaard velden)";
+App::$strings["All available fields"] = "Alle beschikbare velden";
+App::$strings["Custom Fields"] = "Extra (handmatig toegevoegde) velden";
+App::$strings["Create Custom Field"] = "Extra velden aanmaken";
+App::$strings["Queue Statistics"] = "Wachtrij-statistieken";
+App::$strings["Total Entries"] = "Aantal vermeldingen";
+App::$strings["Priority"] = "Prioriteit";
+App::$strings["Destination URL"] = "Doel-URL";
+App::$strings["Mark hub permanently offline"] = "Hub als permanent offline markeren";
+App::$strings["Empty queue for this hub"] = "Berichtenwachtrij voor deze hub legen";
+App::$strings["Last known contact"] = "Voor het laatst contact";
+App::$strings["By default, unfiltered HTML is allowed in embedded media. This is inherently insecure."] = "Standaard is ongefilterde HTML in ingesloten (embedded) media toegestaan. Dit is inherent onveilig.";
+App::$strings["The recommended setting is to only allow unfiltered HTML from the following sites:"] = "Het wordt aanbevolen om alleen ongefilterde HTML van de volgende websites toe te staan:";
+App::$strings["https://youtube.com/<br />https://www.youtube.com/<br />https://youtu.be/<br />https://vimeo.com/<br />https://soundcloud.com/<br />"] = "https://youtube.com/<br />https://www.youtube.com/<br />https://youtu.be/<br />https://vimeo.com/<br />https://soundcloud.com/<br />";
+App::$strings["All other embedded content will be filtered, <strong>unless</strong> embedded content from that site is explicitly blocked."] = "Alle andere ingesloten (embedded) inhoud wordt gefilterd, <strong>tenzij</strong> ingesloten (embedded) inhoud van een website expliciet wordt geblokkeerd.";
+App::$strings["Security"] = "Beveiliging";
+App::$strings["Block public"] = "Openbare toegang blokkeren";
+App::$strings["Check to block public access to all otherwise public personal pages on this site unless you are currently authenticated."] = "Vink dit aan om alle normaliter openbare persoonlijke pagina's op deze hub alleen toegankelijk te maken voor leden die zich hebben geauthenticeerd.";
+App::$strings["Set \"Transport Security\" HTTP header"] = "\"Transport Security\" HTTP-header inschakelen";
+App::$strings["Set \"Content Security Policy\" HTTP header"] = " \"Content Security Policy\" HTTP-header inschakelen";
+App::$strings["Allowed email domains"] = "Toegestane e-maildomeinen";
+App::$strings["Comma separated list of domains which are allowed in email addresses for registrations to this site. Wildcards are accepted. Empty to allow any domains"] = "Door komma's gescheiden lijst met e-maildomeinen waarvan e-mailadressen op deze hub mogen registeren. Wildcards zijn toegestaan. Laat leeg om alle domeinen toe te laten.";
+App::$strings["Not allowed email domains"] = "Niet toegestane e-maildomeinen";
+App::$strings["Comma separated list of domains which are not allowed in email addresses for registrations to this site. Wildcards are accepted. Empty to allow any domains, unless allowed domains have been defined."] = "Door komma's gescheiden lijst met e-maildomeinen waarvan e-mailadressen niet op deze hub mogen registeren. Wildcards zijn toegestaan. Laat leeg om alle domeinen toe te staan, tenzij er toegestane domeinen zijn ingesteld. ";
+App::$strings["Allow communications only from these sites"] = "Alleen communicatie met deze hubs toestaan";
+App::$strings["One site per line. Leave empty to allow communication from anywhere by default"] = "Eén hub per regel. Laat leeg om communicatie standaard met alle hubs toe te staan";
+App::$strings["Block communications from these sites"] = "Communicatie met deze hubs blokkeren";
+App::$strings["Allow communications only from these channels"] = "Sta alleen communicatie toe met deze kanalen";
+App::$strings["One channel (hash) per line. Leave empty to allow from any channel by default"] = "Eén kanaal (hash) per regel. Laat leeg om communicatie standaard met alle kanalen toe te staan";
+App::$strings["Block communications from these channels"] = "Communicatie met deze kanalen blokkeren";
+App::$strings["Only allow embeds from secure (SSL) websites and links."] = "Alleen ingesloten (embedded) inhoud van veilige (SSL) websites en links toestaan.";
+App::$strings["Allow unfiltered embedded HTML content only from these domains"] = "Alleen ongefilterde ingesloten (embedded) HTML van deze websites toestaan";
+App::$strings["One site per line. By default embedded content is filtered."] = "Eén website per regel. Standaard wordt ingesloten (embedded) inhoud gefilterd.";
+App::$strings["Block embedded HTML from these domains"] = "Ingesloten (embedded) HTML vanaf deze domeinen blokkeren";
+App::$strings["Site settings updated."] = "Hub-instellingen bijgewerkt.";
+App::$strings["Default"] = "Standaard";
+App::$strings["mobile"] = "mobiel";
+App::$strings["experimental"] = "experimenteel";
+App::$strings["unsupported"] = "Niet ondersteund";
+App::$strings["No"] = "Nee";
+App::$strings["Yes - with approval"] = "Ja - met goedkeuring";
+App::$strings["Yes"] = "Ja";
+App::$strings["My site is not a public server"] = "Mijn \$Projectname-hub is niet openbaar";
+App::$strings["My site has paid access only"] = "Mijn \$Projectname-hub kent alleen betaalde toegang";
+App::$strings["My site has free access only"] = "Mijn \$Projectname-hub kent alleen gratis toegang";
+App::$strings["My site offers free accounts with optional paid upgrades"] = "Mijn \$Projectname-hub biedt gratis accounts aan met betaalde uitbreidingen als optie";
+App::$strings["Basic/Minimal Social Networking"] = "Basic/eenvoudig sociaal netwerk";
+App::$strings["Standard Configuration (default)"] = "Standaard (standaard)";
+App::$strings["Professional"] = "Professioneel ";
+App::$strings["Beginner/Basic"] = "Beginner/basic";
+App::$strings["Novice - not skilled but willing to learn"] = "Onervaren - niet bekwaam, maar wil graag leren";
+App::$strings["Intermediate - somewhat comfortable"] = "Ervaren - voelt zich enigszins comfortabel";
+App::$strings["Advanced - very comfortable"] = "Gevorderd - voelt zich comfortabel";
+App::$strings["Expert - I can write computer code"] = "Expert - kan programmeren";
+App::$strings["Wizard - I probably know more than you do"] = "Tovenaar - ik weet waarschijnlijk meer dan jij";
+App::$strings["Site"] = "Hub-instellingen";
+App::$strings["Registration"] = "Registratie";
+App::$strings["File upload"] = "Bestand uploaden";
+App::$strings["Policies"] = "Beleid";
+App::$strings["Advanced"] = "Geavanceerd";
+App::$strings["Site name"] = "Naam van deze \$Projectname-hub";
+App::$strings["Server Configuration/Role"] = "Configuratietype hub";
+App::$strings["Site default technical skill level"] = "Standaard technisch niveau voor deze hub";
+App::$strings["Used to provide a member experience matched to technical comfort level"] = "Wordt gebruikt om leden een gebruikerservaring te bieden die met hun technisch niveau overeenkomt";
+App::$strings["Lock the technical skill level setting"] = "Vergrendel de functie 'Standaard technisch niveau voor deze hub'";
+App::$strings["Members can set their own technical comfort level by default"] = "Leden kunnen hun eigen technisch niveau standaard instellen";
+App::$strings["Banner/Logo"] = "Banner/logo";
+App::$strings["Administrator Information"] = "Informatie over de beheerder";
+App::$strings["Contact information for site administrators. Displayed on siteinfo page. BBCode can be used here"] = "Contactinformatie voor hub-beheerders. Getoond op pagina met hub-informatie. Er kan hier bbcode gebruikt worden.";
+App::$strings["System language"] = "Standaardtaal";
+App::$strings["System theme"] = "Standaardthema";
+App::$strings["Default system theme - may be over-ridden by user profiles - <a href='#' id='cnftheme'>change theme settings</a>"] = "Standaardthema voor \$Projectname-hub (kan door lid veranderd worden) - <a href='#' id='cnftheme'>verander thema-instellingen</a>";
+App::$strings["Mobile system theme"] = "Standaardthema voor mobiel";
+App::$strings["Theme for mobile devices"] = "Thema voor mobiele apparaten";
+App::$strings["Allow Feeds as Connections"] = "Sta feeds toe als connecties";
+App::$strings["(Heavy system resource usage)"] = "(sterk negatieve invloed op systeembronnen hub)";
+App::$strings["Maximum image size"] = "Maximale grootte van afbeeldingen";
+App::$strings["Maximum size in bytes of uploaded images. Default is 0, which means no limits."] = "Maximale grootte in bytes voor afbeeldingen die worden geüpload. Standaard is 0, wat geen limiet betekend.";
+App::$strings["Does this site allow new member registration?"] = "Staat deze hub nieuwe accounts toe?";
+App::$strings["Invitation only"] = "Alleen op uitnodiging";
+App::$strings["Only allow new member registrations with an invitation code. Above register policy must be set to Yes."] = "Sta alleen nieuwe registraties toe van mensen die een uitnodigingscode hebben. Bovenstaand accountbeleid moet op Ja staan.";
+App::$strings["Which best describes the types of account offered by this hub?"] = "Wat voor soort accounts biedt deze \$Projectname-hub aan? Kies wat het meest in de buurt komt.";
+App::$strings["Register text"] = "Tekst tijdens registratie";
+App::$strings["Will be displayed prominently on the registration page."] = "Tekst dat op de pagina voor het registreren van nieuwe accounts wordt getoond.";
+App::$strings["Site homepage to show visitors (default: login box)"] = "Homepagina van deze hub die aan bezoekers wordt getoond (standaard: inlogformulier)";
+App::$strings["example: 'public' to show public stream, 'page/sys/home' to show a system webpage called 'home' or 'include:home.html' to include a file."] = "voorbeeld: 'public' om de openbare stream te tonen, 'page/sys/home' om de webpagina 'home' van het systeemkanaal te tonen of 'include:home.html' om een gewoon bestand te gebruiken.";
+App::$strings["Preserve site homepage URL"] = "Behoudt de URL van de hub (/)";
+App::$strings["Present the site homepage in a frame at the original location instead of redirecting"] = "Toon de homepagina van de hub in een frame op de oorspronkelijke locatie (/), i.p.v. een doorverwijzing naar een andere locatie (bv. .../home.html)";
+App::$strings["Accounts abandoned after x days"] = "Accounts als verlaten beschouwen na zoveel aantal dagen:";
+App::$strings["Will not waste system resources polling external sites for abandonded accounts. Enter 0 for no time limit."] = "Zal geen systeembronnen verspillen door polling van externe hubs voor verlaten accounts. Vul 0 in voor geen tijdslimiet.";
+App::$strings["Allowed friend domains"] = "Toegestane domeinen";
+App::$strings["Comma separated list of domains which are allowed to establish friendships with this site. Wildcards are accepted. Empty to allow any domains"] = "Komma-gescheiden lijst van domeinen waarvan kanalen connecties kunnen aangaan met kanalen op deze \$Projectname-hub. Wildcards zijn toegestaan.\nLaat leeg om alle domeinen toe te laten.";
+App::$strings["Verify Email Addresses"] = "E-mailadres verifieren";
+App::$strings["Check to verify email addresses used in account registration (recommended)."] = "Inschakelen om e-mailadressen te verifiëren die tijdens de accountregistratie worden gebruikt (aanbevolen).";
+App::$strings["Force publish"] = "Dwing kanaalvermelding af";
+App::$strings["Check to force all profiles on this site to be listed in the site directory."] = "Vink dit aan om af te dwingen dat alle kanalen op deze hub in de kanalengids worden vermeld.";
+App::$strings["Import Public Streams"] = "Openbare streams importeren";
+App::$strings["Import and allow access to public content pulled from other sites. Warning: this content is unmoderated."] = "Toegang verlenen tot openbare berichten die vanuit andere hubs worden geïmporteerd. Waarschuwing: de inhoud van deze berichten wordt niet gemodereerd.";
+App::$strings["Login on Homepage"] = "Inlogformulier op de homepagina";
+App::$strings["Present a login box to visitors on the home page if no other content has been configured."] = "Toon een inlogformulier voor bezoekers op de homepagina wanneer geen andere inhoud is geconfigureerd. ";
+App::$strings["Enable context help"] = "Schakel contextuele hulp in";
+App::$strings["Display contextual help for the current page when the help button is pressed."] = "Toon hulp en documentatie voor de op dat moment getoonde pagina, wanneer op de hulp-knop wordt geklikt.";
+App::$strings["Directory Server URL"] = "Server-URL voor de kanalengids";
+App::$strings["Default directory server"] = "Standaardserver voor de kanalengids";
+App::$strings["Proxy user"] = "Gebruikersnaam proxy";
+App::$strings["Proxy URL"] = "Proxy-URL";
+App::$strings["Network timeout"] = "Netwerktimeout";
+App::$strings["Value is in seconds. Set to 0 for unlimited (not recommended)."] = "Waarde is in seconden. Zet op 0 voor onbeperkt (niet aanbevolen)";
+App::$strings["Delivery interval"] = "Afleveringsinterval";
+App::$strings["Delay background delivery processes by this many seconds to reduce system load. Recommend: 4-5 for shared hosts, 2-3 for virtual private servers. 0-1 for large dedicated servers."] = "Vertraag de achtergrondprocessen voor het afleveren met een aantal seconden om de systeembelasting te verminderen. Aanbevolen: 4-5 voor shared hosts, 2-3 voor virtual private servers (VPS) en 0-1 voor grote dedicated servers.";
+App::$strings["Deliveries per process"] = "Leveringen per serverproces";
+App::$strings["Number of deliveries to attempt in a single operating system process. Adjust if necessary to tune system performance. Recommend: 1-5."] = "Aantal leveringen die aan één serverproces worden meegegeven. Pas dit aan wanneer het nodig is om systeemprestaties te verbeteren. Aangeraden: 1-5";
+App::$strings["Poll interval"] = "Poll-interval";
+App::$strings["Delay background polling processes by this many seconds to reduce system load. If 0, use delivery interval."] = "De achtergrondprocessen voor het afleveren met zoveel seconden vertragen om de systeembelasting te verminderen. 0 om de afleveringsinterval te gebruiken.";
+App::$strings["Maximum Load Average"] = "Maximaal gemiddelde systeembelasting";
+App::$strings["Maximum system load before delivery and poll processes are deferred - default 50."] = "Maximale systeembelasting voordat de afleverings- en polllingsprocessen worden uitgesteld. Standaard is 50.";
+App::$strings["Expiration period in days for imported (grid/network) content"] = "Aantal dagen waarna geïmporteerde inhoud uit iemands grid/netwerk-pagina wordt verwijderd.";
+App::$strings["0 for no expiration of imported content"] = "Dit geldt alleen voor inhoud van andere kanalen, dus niet voor iemands eigen kanaal. 0 voor het niet verwijderen van geïmporteerde inhoud.";
+App::$strings["Theme settings updated."] = "Thema-instellingen bijgewerkt.";
+App::$strings["No themes found."] = "Geen thema's gevonden";
+App::$strings["Screenshot"] = "Schermafdruk";
+App::$strings["Themes"] = "Thema's";
+App::$strings["[Experimental]"] = "[Experimenteel]";
+App::$strings["[Unsupported]"] = "[Niet ondersteund]";
App::$strings["Photos"] = "Foto's";
App::$strings["Invalid item."] = "Ongeldig item.";
App::$strings["Channel not found."] = "Kanaal niet gevonden.";
App::$strings["Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum."] = "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.";
App::$strings["Save to Folder:"] = "Bewaar in map: ";
App::$strings["- select -"] = "- kies map -";
-App::$strings["Save"] = "Opslaan";
+App::$strings["Unable to lookup recipient."] = "Niet in staat om ontvanger op te zoeken.";
+App::$strings["Unable to communicate with requested channel."] = "Niet in staat om met het aangevraagde kanaal te communiceren.";
+App::$strings["Cannot verify requested channel."] = "Kan opgevraagd kanaal niet verifieren";
+App::$strings["Selected channel has private message restrictions. Send failed."] = "Gekozen kanaal heeft restricties voor privéberichten. Verzenden mislukt.";
+App::$strings["Messages"] = "Berichten";
+App::$strings["Message recalled."] = "Bericht ingetrokken.";
+App::$strings["Conversation removed."] = "Conversatie verwijderd";
+App::$strings["Please enter a link URL:"] = "Vul een URL in:";
+App::$strings["Expires YYYY-MM-DD HH:MM"] = "Verloopt op DD-MM-YYYY om HH:MM";
+App::$strings["Requested channel is not in this network"] = "Opgevraagd kanaal is niet in dit netwerk beschikbaar";
+App::$strings["Send Private Message"] = "Privébericht versturen";
+App::$strings["To:"] = "Aan:";
+App::$strings["Subject:"] = "Onderwerp:";
+App::$strings["Your message:"] = "Jouw bericht:";
+App::$strings["Attach file"] = "Bestand toevoegen";
+App::$strings["Insert web link"] = "Weblink invoegen";
+App::$strings["Send"] = "Verzenden";
+App::$strings["Set expiration date"] = "Verloopdatum instellen";
+App::$strings["Encrypt text"] = "Tekst versleutelen";
+App::$strings["Delete message"] = "Bericht verwijderen";
+App::$strings["Delivery report"] = "Afleveringsrapport";
+App::$strings["Recall message"] = "Bericht intrekken";
+App::$strings["Message has been recalled."] = "Bericht is ingetrokken.";
+App::$strings["Delete Conversation"] = "Verwijder conversatie";
+App::$strings["No secure communications available. You <strong>may</strong> be able to respond from the sender's profile page."] = "Geen veilige communicatie beschikbaar. <strong>Mogelijk</strong> kan je reageren op de kanaalpagina van de afzender.";
+App::$strings["Send Reply"] = "Antwoord versturen";
+App::$strings["Your message for %s (%s):"] = "Jouw privébericht aan %s (%s):";
+App::$strings["Blocked"] = "Geblokkeerd";
+App::$strings["Ignored"] = "Genegeerd";
+App::$strings["Hidden"] = "Verborgen";
+App::$strings["Archived"] = "Gearchiveerd";
+App::$strings["New"] = "Nieuw";
+App::$strings["All"] = "Alles";
+App::$strings["New Connections"] = "Nieuwe connecties";
+App::$strings["Show pending (new) connections"] = "Nog te accepteren (nieuwe) connecties weergeven";
+App::$strings["All Connections"] = "Alle connecties";
+App::$strings["Show all connections"] = "Toon alle connecties";
+App::$strings["Only show blocked connections"] = "Toon alleen geblokkeerde connecties";
+App::$strings["Only show ignored connections"] = "Toon alleen genegeerde connecties";
+App::$strings["Only show archived connections"] = "Toon alleen gearchiveerde connecties";
+App::$strings["Only show hidden connections"] = "Toon alleen verborgen connecties";
+App::$strings["Pending approval"] = "Moet nog geaccepteerd worden";
+App::$strings["%1\$s [%2\$s]"] = "%1\$s [%2\$s]";
+App::$strings["Edit connection"] = "Connectie bewerken";
+App::$strings["Delete connection"] = "Connectie verwijderen";
+App::$strings["Channel address"] = "Kanaaladres";
+App::$strings["Network"] = "Netwerk";
+App::$strings["Status"] = "Status";
+App::$strings["Connected"] = "Verbonden";
+App::$strings["Approve connection"] = "Connectie accepteren";
+App::$strings["Ignore connection"] = "Connectie negeren";
+App::$strings["Ignore"] = "Negeren";
+App::$strings["Recent activity"] = "Recente activiteit";
+App::$strings["Connections"] = "Connecties";
+App::$strings["Search"] = "Zoeken";
+App::$strings["Search your connections"] = "Doorzoek jouw connecties";
+App::$strings["Connections search"] = "Connecties zoeken";
+App::$strings["Find"] = "Vinden";
+App::$strings["Image uploaded but image cropping failed."] = "Afbeelding geüpload, maar afbeelding kon niet worden bijgesneden. ";
+App::$strings["Cover Photos"] = "Omslagfoto's";
+App::$strings["Image resize failed."] = "Afbeelding kon niet van grootte veranderd worden.";
+App::$strings["Unable to process image"] = "Afbeelding kan niet verwerkt worden";
+App::$strings["Image upload failed."] = "Uploaden afbeelding mislukt";
+App::$strings["Unable to process image."] = "Niet in staat om afbeelding te verwerken.";
+App::$strings["female"] = "vrouw";
+App::$strings["%1\$s updated her %2\$s"] = "%1\$s heeft haar %2\$s bijgewerkt";
+App::$strings["male"] = "man";
+App::$strings["%1\$s updated his %2\$s"] = "%1\$s heeft zijn %2\$s bijgewerkt";
+App::$strings["%1\$s updated their %2\$s"] = "De %2\$s van %1\$s is bijgewerkt";
+App::$strings["cover photo"] = "omslagfoto";
+App::$strings["Photo not available."] = "Foto niet beschikbaar.";
+App::$strings["Upload File:"] = "Bestand uploaden:";
+App::$strings["Select a profile:"] = "Kies een profiel:";
+App::$strings["Upload Cover Photo"] = "Omslagfoto uploaden";
+App::$strings["or"] = "of";
+App::$strings["skip this step"] = "sla deze stap over";
+App::$strings["select a photo from your photo albums"] = "Kies een foto uit jouw fotoalbums";
+App::$strings["Crop Image"] = "Afbeelding bijsnijden";
+App::$strings["Please adjust the image cropping for optimum viewing."] = "Snij de afbeelding zo uit dat deze optimaal wordt weergegeven.";
+App::$strings["Done Editing"] = "Klaar met bewerken";
+App::$strings["Edit post"] = "Bericht bewerken";
App::$strings["Could not access contact record."] = "Kon geen toegang krijgen tot de connectie-gegevens.";
App::$strings["Could not locate selected profile."] = "Kon het gekozen profiel niet vinden.";
App::$strings["Connection updated."] = "Connectie bijgewerkt.";
App::$strings["Failed to update connection record."] = "Bijwerken van connectie-gegevens mislukt.";
App::$strings["is now connected to"] = "is nu verbonden met";
-App::$strings["No"] = "Nee";
-App::$strings["Yes"] = "Ja";
App::$strings["Could not access address book record."] = "Kon geen toegang krijgen tot de record van de connectie.";
App::$strings["Refresh failed - channel is currently unavailable."] = "Vernieuwen mislukt - kanaal is momenteel niet beschikbaar";
App::$strings["Unable to set address book parameters."] = "Niet in staat om de parameters van connecties in te stellen.";
@@ -201,12 +459,9 @@ App::$strings["Refresh Permissions"] = "Permissies vernieuwen";
App::$strings["Fetch updated permissions"] = "Aangepaste permissies ophalen";
App::$strings["Recent Activity"] = "Recente activiteit/berichten";
App::$strings["View recent posts and comments"] = "Recente berichten en reacties weergeven";
-App::$strings["Unblock"] = "Deblokkeren";
-App::$strings["Block"] = "Blokkeren";
App::$strings["Block (or Unblock) all communications with this connection"] = "Blokkeer (of deblokkeer) alle communicatie met deze connectie";
App::$strings["This connection is blocked!"] = "Deze connectie is geblokkeerd!";
App::$strings["Unignore"] = "Niet meer negeren";
-App::$strings["Ignore"] = "Negeren";
App::$strings["Ignore (or Unignore) all inbound communications from this connection"] = "Negeer (of negeer niet meer) alle inkomende communicatie van deze connectie";
App::$strings["This connection is ignored!"] = "Deze connectie wordt genegeerd!";
App::$strings["Unarchive"] = "Niet meer archiveren";
@@ -222,7 +477,6 @@ App::$strings["Me"] = "Ik";
App::$strings["Family"] = "Familie";
App::$strings["Friends"] = "Vrienden";
App::$strings["Acquaintances"] = "Kennissen";
-App::$strings["All"] = "Alles";
App::$strings["Approve this connection"] = "Deze connectie accepteren";
App::$strings["Accept connection to allow communication"] = "Keur deze connectie goed om communicatie toe te staan";
App::$strings["Set Affinity"] = "Verwantschapsfilter instellen";
@@ -238,6 +492,7 @@ App::$strings["Available locations:"] = "Beschikbare locaties:";
App::$strings["The permissions indicated on this page will be applied to all new connections."] = "Permissies die op deze pagina staan vermeld worden op alle nieuwe connecties toegepast.";
App::$strings["Connection Tools"] = "Hulpmiddelen";
App::$strings["Slide to adjust your degree of friendship"] = "Schuif om te bepalen hoe goed je iemand kent en/of mag";
+App::$strings["Rating"] = "Beoordeling";
App::$strings["Slide to adjust your rating"] = "Gebruik de schuif om je beoordeling te geven";
App::$strings["Optionally explain your rating"] = "Verklaar jouw beoordeling (niet verplicht)";
App::$strings["Custom Filter"] = "Berichtenfilter";
@@ -254,106 +509,6 @@ App::$strings["Individual Permissions"] = "Individuele permissies";
App::$strings["Some permissions may be inherited from your channel's <a href=\"settings\"><strong>privacy settings</strong></a>, which have higher priority than individual settings. You can <strong>not</strong> change those settings here."] = "Sommige permissies worden mogelijk overgeërfd van de <a href=\"settings\">privacy-instellingen</a> van jouw kanaal, die een hogere prioriteit hebben dan deze individuele instellingen. Je kan je deze overgeërfde permissies hier <strong>niet</strong> veranderen.";
App::$strings["Some permissions may be inherited from your channel's <a href=\"settings\"><strong>privacy settings</strong></a>, which have higher priority than individual settings. You can change those settings here but they wont have any impact unless the inherited setting changes."] = "Sommige permissies worden mogelijk overgeërfd van de <a href=\"settings\">privacy-instellingen</a> van jouw kanaal, die een hogere prioriteit hebben dan deze individuele permissies. Je kan de permissies hier veranderen, maar die hebben geen effect, tenzij de overgeërfde permissies worden veranderd. ";
App::$strings["Last update:"] = "Laatste wijziging:";
-App::$strings["Blocked"] = "Geblokkeerd";
-App::$strings["Ignored"] = "Genegeerd";
-App::$strings["Hidden"] = "Verborgen";
-App::$strings["Archived"] = "Gearchiveerd";
-App::$strings["New"] = "Nieuw";
-App::$strings["New Connections"] = "Nieuwe connecties";
-App::$strings["Show pending (new) connections"] = "Nog te accepteren (nieuwe) connecties weergeven";
-App::$strings["All Connections"] = "Alle connecties";
-App::$strings["Show all connections"] = "Toon alle connecties";
-App::$strings["Only show blocked connections"] = "Toon alleen geblokkeerde connecties";
-App::$strings["Only show ignored connections"] = "Toon alleen genegeerde connecties";
-App::$strings["Only show archived connections"] = "Toon alleen gearchiveerde connecties";
-App::$strings["Only show hidden connections"] = "Toon alleen verborgen connecties";
-App::$strings["Pending approval"] = "Moet nog geaccepteerd worden";
-App::$strings["%1\$s [%2\$s]"] = "%1\$s [%2\$s]";
-App::$strings["Edit connection"] = "Connectie bewerken";
-App::$strings["Delete connection"] = "Connectie verwijderen";
-App::$strings["Channel address"] = "Kanaaladres";
-App::$strings["Network"] = "Netwerk";
-App::$strings["Status"] = "Status";
-App::$strings["Connected"] = "Verbonden";
-App::$strings["Approve connection"] = "Connectie accepteren";
-App::$strings["Approve"] = "Goedkeuren";
-App::$strings["Ignore connection"] = "Connectie negeren";
-App::$strings["Recent activity"] = "Recente activiteit";
-App::$strings["Connections"] = "Connecties";
-App::$strings["Search"] = "Zoeken";
-App::$strings["Search your connections"] = "Doorzoek jouw connecties";
-App::$strings["Connections search"] = "Connecties zoeken";
-App::$strings["Image uploaded but image cropping failed."] = "Afbeelding geüpload, maar afbeelding kon niet worden bijgesneden. ";
-App::$strings["Cover Photos"] = "Omslagfoto's";
-App::$strings["Image resize failed."] = "Afbeelding kon niet van grootte veranderd worden.";
-App::$strings["Unable to process image"] = "Afbeelding kan niet verwerkt worden";
-App::$strings["Image upload failed."] = "Uploaden afbeelding mislukt";
-App::$strings["Unable to process image."] = "Niet in staat om afbeelding te verwerken.";
-App::$strings["female"] = "vrouw";
-App::$strings["%1\$s updated her %2\$s"] = "%1\$s heeft haar %2\$s bijgewerkt";
-App::$strings["male"] = "man";
-App::$strings["%1\$s updated his %2\$s"] = "%1\$s heeft zijn %2\$s bijgewerkt";
-App::$strings["%1\$s updated their %2\$s"] = "De %2\$s van %1\$s is bijgewerkt";
-App::$strings["cover photo"] = "omslagfoto";
-App::$strings["Photo not available."] = "Foto niet beschikbaar.";
-App::$strings["Upload File:"] = "Bestand uploaden:";
-App::$strings["Select a profile:"] = "Kies een profiel:";
-App::$strings["Upload Cover Photo"] = "Omslagfoto uploaden";
-App::$strings["or"] = "of";
-App::$strings["skip this step"] = "sla deze stap over";
-App::$strings["select a photo from your photo albums"] = "Kies een foto uit jouw fotoalbums";
-App::$strings["Crop Image"] = "Afbeelding bijsnijden";
-App::$strings["Please adjust the image cropping for optimum viewing."] = "Snij de afbeelding zo uit dat deze optimaal wordt weergegeven.";
-App::$strings["Done Editing"] = "Klaar met bewerken";
-App::$strings["Your service plan only allows %d channels."] = "Jouw abonnement staat maar %d kanalen toe.";
-App::$strings["Nothing to import."] = "Niets gevonden om te importeren";
-App::$strings["Unable to download data from old server"] = "Niet in staat om gegevens van de oude hub te downloaden";
-App::$strings["Imported file is empty."] = "Geïmporteerde bestand is leeg";
-App::$strings["Warning: Database versions differ by %1\$d updates."] = "Waarschuwing: database-versies lopen %1\$d updates achter.";
-App::$strings["Cloned channel not found. Import failed."] = "Gekloond kanaal niet gevonden. Importeren mislukt.";
-App::$strings["No channel. Import failed."] = "Geen kanaal. Importeren mislukt.";
-App::$strings["Import completed."] = "Import voltooid.";
-App::$strings["You must be logged in to use this feature."] = "Je moet ingelogd zijn om dit onderdeel te kunnen gebruiken.";
-App::$strings["Import Channel"] = "Kanaal importeren";
-App::$strings["Use this form to import an existing channel from a different server/hub. You may retrieve the channel identity from the old server/hub via the network or provide an export file."] = "Gebruik dit formulier om een bestaand kanaal te importeren van een andere hub. Je kan de kanaal-identiteit van de oude hub via het netwerk ontvangen of een exportbestand verstrekken.";
-App::$strings["File to Upload"] = "Bestand om te uploaden";
-App::$strings["Or provide the old server/hub details"] = "Of vul de gegevens van de oude hub in";
-App::$strings["Your old identity address (xyz@example.com)"] = "Jouw oude kanaaladres (xyz@example.com)";
-App::$strings["Your old login email address"] = "Het e-mailadres van je oude account";
-App::$strings["Your old login password"] = "Wachtwoord van jouw oude account";
-App::$strings["For either option, please choose whether to make this hub your new primary address, or whether your old location should continue this role. You will be able to post from either location, but only one can be marked as the primary location for files, photos, and media."] = "Voor elke optie geldt dat je moet kiezen of je jouw primaire kanaaladres op deze hub wil instellen of dat jouw oude hub deze rol blijft vervullen.";
-App::$strings["Make this hub my primary location"] = "Stel deze hub als mijn primaire locatie in";
-App::$strings["Import existing posts if possible (experimental - limited by available memory"] = "Importeer bestaande berichten wanneer mogelijk (experimenteel - afhankelijk van beschikbaar servergeheugen)";
-App::$strings["This process may take several minutes to complete. Please submit the form only once and leave this page open until finished."] = "Dit proces kan enkele minuten in beslag nemen. Klik maar één keer op opslaan en verlaat deze pagina niet alvorens het proces is voltooid.";
-App::$strings["Unable to lookup recipient."] = "Niet in staat om ontvanger op te zoeken.";
-App::$strings["Unable to communicate with requested channel."] = "Niet in staat om met het aangevraagde kanaal te communiceren.";
-App::$strings["Cannot verify requested channel."] = "Kan opgevraagd kanaal niet verifieren";
-App::$strings["Selected channel has private message restrictions. Send failed."] = "Gekozen kanaal heeft restricties voor privéberichten. Verzenden mislukt.";
-App::$strings["Messages"] = "Berichten";
-App::$strings["Message recalled."] = "Bericht ingetrokken.";
-App::$strings["Conversation removed."] = "Conversatie verwijderd";
-App::$strings["Please enter a link URL:"] = "Vul een URL in:";
-App::$strings["Expires YYYY-MM-DD HH:MM"] = "Verloopt op DD-MM-YYYY om HH:MM";
-App::$strings["Requested channel is not in this network"] = "Opgevraagd kanaal is niet in dit netwerk beschikbaar";
-App::$strings["Send Private Message"] = "Privébericht versturen";
-App::$strings["To:"] = "Aan:";
-App::$strings["Subject:"] = "Onderwerp:";
-App::$strings["Your message:"] = "Jouw bericht:";
-App::$strings["Attach file"] = "Bestand toevoegen";
-App::$strings["Insert web link"] = "Weblink invoegen";
-App::$strings["Send"] = "Verzenden";
-App::$strings["Set expiration date"] = "Verloopdatum instellen";
-App::$strings["Encrypt text"] = "Tekst versleutelen";
-App::$strings["Delete message"] = "Bericht verwijderen";
-App::$strings["Delivery report"] = "Afleveringsrapport";
-App::$strings["Recall message"] = "Bericht intrekken";
-App::$strings["Message has been recalled."] = "Bericht is ingetrokken.";
-App::$strings["Delete Conversation"] = "Verwijder conversatie";
-App::$strings["No secure communications available. You <strong>may</strong> be able to respond from the sender's profile page."] = "Geen veilige communicatie beschikbaar. <strong>Mogelijk</strong> kan je reageren op de kanaalpagina van de afzender.";
-App::$strings["Send Reply"] = "Antwoord versturen";
-App::$strings["Your message for %s (%s):"] = "Jouw privébericht aan %s (%s):";
-App::$strings["This site is not a directory server"] = "Deze hub is geen kanalengidshub (directoryserver)";
-App::$strings["This directory server requires an access token"] = "Deze kanalengidshub (directoryserver) heeft een toegangs-token nodig";
App::$strings["Item not found"] = "Item niet gevonden";
App::$strings["Block Name"] = "Bloknaam";
App::$strings["Title (optional)"] = "Titel (optioneel)";
@@ -363,21 +518,33 @@ App::$strings["Layout Description (Optional)"] = "Lay-out-omschrijving (optionee
App::$strings["Edit Layout"] = "Lay-out bewerken";
App::$strings["Page link"] = "Paginalink";
App::$strings["Edit Webpage"] = "Webpagina bewerken";
-App::$strings["Room not found"] = "Chatkanaal niet gevonden";
-App::$strings["Leave Room"] = "Chatkanaal verlaten";
-App::$strings["Delete Room"] = "Chatkanaal verwijderen";
-App::$strings["I am away right now"] = "Ik ben momenteel afwezig";
-App::$strings["I am online"] = "Ik ben online";
-App::$strings["Bookmark this room"] = "Chatkanaal aan bladwijzers toevoegen";
-App::$strings["Feature disabled."] = "Functie uitgeschakeld.";
-App::$strings["New Chatroom"] = "Nieuw chatkanaal";
-App::$strings["Chatroom name"] = "Naam chatkanaal";
-App::$strings["Expiration of chats (minutes)"] = "Aantal minuten voordat chatberichten worden verwijderd";
-App::$strings["%1\$s's Chatrooms"] = "Chatkanalen van %1\$s";
-App::$strings["No chatrooms available"] = "Geen chatkanalen beschikbaar";
-App::$strings["Create New"] = "Nieuwe aanmaken";
-App::$strings["Expiration"] = "Verloopt na";
-App::$strings["min"] = "min";
+App::$strings["Unable to update menu."] = "Niet in staat om menu aan te passen";
+App::$strings["Unable to create menu."] = "Niet in staat om menu aan te maken.";
+App::$strings["Menu Name"] = "Menunaam";
+App::$strings["Unique name (not visible on webpage) - required"] = "Unieke naam vereist (niet zichtbaar op webpagina)";
+App::$strings["Menu Title"] = "Menutitel";
+App::$strings["Visible on webpage - leave empty for no title"] = "Zichtbaar op webpagina (leeg laten voor geen titel)";
+App::$strings["Allow Bookmarks"] = "Bladwijzers toestaan";
+App::$strings["Menu may be used to store saved bookmarks"] = "Menu kan gebruikt worden om bladwijzers in op te slaan";
+App::$strings["Submit and proceed"] = "Opslaan en doorgaan";
+App::$strings["Menus"] = "Menu's";
+App::$strings["Drop"] = "Verwijderen";
+App::$strings["Created"] = "Aangemaakt";
+App::$strings["Edited"] = "Bewerkt";
+App::$strings["Bookmarks allowed"] = "Bladwijzers toegestaan";
+App::$strings["Delete this menu"] = "Menu verwijderen";
+App::$strings["Edit menu contents"] = "Bewerk de inhoud van het menu";
+App::$strings["Edit this menu"] = "Dit menu bewerken";
+App::$strings["Menu could not be deleted."] = "Menu kon niet verwijderd worden.";
+App::$strings["Menu not found."] = "Menu niet gevonden.";
+App::$strings["Edit Menu"] = "Menu bewerken";
+App::$strings["Add or remove entries to this menu"] = "Items aan dit menu toevoegen of verwijder";
+App::$strings["Menu name"] = "Naam van menu";
+App::$strings["Must be unique, only seen by you"] = "Moet uniek zijn en is alleen zichtbaar voor jou.";
+App::$strings["Menu title"] = "Titel van menu";
+App::$strings["Menu title as seen by others"] = "Titel van menu zoals anderen dat zien.";
+App::$strings["Allow bookmarks"] = "Bladwijzers toestaan";
+App::$strings["Not found."] = "Niet gevonden.";
App::$strings["App installed."] = "App geïnstalleerd";
App::$strings["Malformed app."] = "Misvormde app.";
App::$strings["Embed code"] = "Insluitcode";
@@ -393,18 +560,30 @@ App::$strings["Categories (optional, comma separated list)"] = "Categorieën (op
App::$strings["Version ID"] = "Versie-ID";
App::$strings["Price of app"] = "Prijs van de app";
App::$strings["Location (URL) to purchase app"] = "Locatie (URL) om de app aan te schaffen";
-App::$strings["Documentation Search"] = "Zoek documentatie";
-App::$strings["Help:"] = "Hulp:";
-App::$strings["Help"] = "Hulp";
-App::$strings["\$Projectname Documentation"] = "\$Projectname-documentatie";
+App::$strings["Public Hubs"] = "Openbare hubs";
+App::$strings["The listed hubs allow public registration for the \$Projectname network. All hubs in the network are interlinked so membership on any of them conveys membership in the network as a whole. Some hubs may require subscription or provide tiered service plans. The hub itself <strong>may</strong> provide additional details."] = "Op de hier weergegeven hubs kan iedereen zich voor het \$Projectname-netwerk aanmelden. Alle hubs in het netwerk zijn met elkaar verbonden, dus maakt het qua lidmaatschap niet uit waar je je aanmeldt. Op sommige hubs heb je eerst goedkeuring nodig en sommige hubs vereisen een financiële tegemoetkoming voor bepaalde uitbreidingen. <strong>Mogelijk</strong> wordt hierover op de hub zelf meer informatie gegeven.";
+App::$strings["Hub URL"] = "Hub-URL";
+App::$strings["Access Type"] = "Toegangs-<br/>&nbsp;type";
+App::$strings["Registration Policy"] = "Registratie-<br/>&nbsp;beleid";
+App::$strings["Stats"] = "Stats";
+App::$strings["Software"] = "Software";
+App::$strings["Ratings"] = "Beoordelingen";
+App::$strings["Rate"] = "Beoordeel";
+App::$strings["Location"] = "Locatie";
+App::$strings["View"] = "Weergeven";
App::$strings["Item not available."] = "Item is niet aanwezig.";
+App::$strings["Authorize application connection"] = "Geef toestemming voor applicatiekoppeling";
+App::$strings["Return to your app and insert this Security Code:"] = "Ga terug naar je app en voeg deze beveiligingscode in:";
+App::$strings["Please login to continue."] = "Inloggen om verder te kunnen gaan.";
+App::$strings["Do you want to authorize this application to access your posts and contacts, and/or create new posts for you?"] = "Wil je deze applicatie toestemming geven om jouw berichten en connecties te zien, en/of nieuwe berichten voor jou te plaatsen?";
+App::$strings["Share content from Firefox to \$Projectname"] = "Deel webpagina's vanuit Firefox met ";
+App::$strings["Activate the Firefox \$Projectname provider"] = "Activeer de \$Projectname-service in Firefox";
App::$strings["Layout updated."] = "Lay-out bijgewerkt.";
+App::$strings["Feature disabled."] = "Functie uitgeschakeld.";
App::$strings["Edit System Page Description"] = "Systeempagina's bewerken";
App::$strings["Layout not found."] = "Lay-out niet gevonden.";
App::$strings["Module Name:"] = "Modulenaam:";
App::$strings["Layout Help"] = "Lay-out-hulp";
-App::$strings["Share content from Firefox to \$Projectname"] = "Deel webpagina's vanuit Firefox met ";
-App::$strings["Activate the Firefox \$Projectname provider"] = "Activeer de \$Projectname-service in Firefox";
App::$strings["\$Projectname"] = "\$Projectname";
App::$strings["Welcome to %s"] = "Welkom op %s";
App::$strings["Remote privacy information not available."] = "Privacy-informatie op afstand niet beschikbaar.";
@@ -412,6 +591,7 @@ App::$strings["Visible to:"] = "Zichtbaar voor:";
App::$strings["Permission Denied."] = "Toegang geweigerd";
App::$strings["File not found."] = "Bestand niet gevonden.";
App::$strings["Edit file permissions"] = "Bestandsrechten bewerken";
+App::$strings["Permissions"] = "Permissies";
App::$strings["Set/edit permissions"] = "Rechten instellen/bewerken";
App::$strings["Include all files and sub folders"] = "Toepassen op alle bestanden en submappen";
App::$strings["Return to file list"] = "Terugkeren naar bestandlijst ";
@@ -420,6 +600,118 @@ App::$strings["Copy/paste this URL to link file from a web page"] = "Kopieer/pla
App::$strings["Share this file"] = "Dit bestand delen";
App::$strings["Show URL to this file"] = "Toon URL van dit bestand";
App::$strings["Notify your contacts about this file"] = "Jouw connecties over dit bestand berichten";
+App::$strings["Continue"] = "Ga verder";
+App::$strings["Premium Channel Setup"] = "Instellen premiumkanaal ";
+App::$strings["Enable premium channel connection restrictions"] = "Restricties voor connecties van premiumkanaal toestaan";
+App::$strings["Please enter your restrictions or conditions, such as paypal receipt, usage guidelines, etc."] = "Vul je restricties of voorwaarden in, zoals een paypal-afschrift, voorschriften voor leden, enz.";
+App::$strings["This channel may require additional steps or acknowledgement of the following conditions prior to connecting:"] = "Dit kanaal kan extra stappen of het accepteren van de volgende voorwaarden vereisen, voordat de connectie wordt geaccepteerd:";
+App::$strings["Potential connections will then see the following text before proceeding:"] = "Mogelijke connecties zullen dan de volgende tekst zien voordat ze verder kunnen:";
+App::$strings["By continuing, I certify that I have complied with any instructions provided on this page."] = "Door verder te gaan ga ik automatisch akkoord met alle voorwaarden en aanwijzingen op deze pagina.";
+App::$strings["(No specific instructions have been provided by the channel owner.)"] = "(Er zijn geen speciale voorwaarden en aanwijzingen door de kanaal-eigenaar verstrekt) ";
+App::$strings["Restricted or Premium Channel"] = "Beperkt of premiumkanaal";
+App::$strings["You have created %1$.0f of %2$.0f allowed channels."] = "Je hebt %1$.0f van totaal %2$.0f toegestane kanalen aangemaakt.";
+App::$strings["Create a new channel"] = "Nieuw kanaal aanmaken";
+App::$strings["Create New"] = "Nieuwe aanmaken";
+App::$strings["Channel Manager"] = "Kanaalbeheer";
+App::$strings["Current Channel"] = "Huidig kanaal";
+App::$strings["Switch to one of your channels by selecting it."] = "Activeer een van jouw andere kanalen door er op te klikken.";
+App::$strings["Default Channel"] = "Standaardkanaal";
+App::$strings["Make Default"] = "Als standaard instellen";
+App::$strings["%d new messages"] = "%d nieuwe berichten";
+App::$strings["%d new introductions"] = "%d nieuwe connectieverzoeken";
+App::$strings["Delegated Channel"] = "Uitbesteed kanaal";
+App::$strings["Privacy group created."] = "Privacygroep aangemaakt";
+App::$strings["Could not create privacy group."] = "Kon privacygroep niet aanmaken";
+App::$strings["Privacy group not found."] = "Privacygroep niet gevonden";
+App::$strings["Privacy group updated."] = "Privacygroep bijgewerkt";
+App::$strings["Create a group of channels."] = "Privacygroep met kanalen aanmaken";
+App::$strings["Privacy group name: "] = "Naam privacygroep: ";
+App::$strings["Members are visible to other channels"] = "Kanalen in deze privacygroep zijn zichtbaar voor andere kanalen";
+App::$strings["Privacy group removed."] = "Privacygroep verwijderd.";
+App::$strings["Unable to remove privacy group."] = "Verwijderen privacygroep mislukt";
+App::$strings["Privacy group editor"] = "Privacygroep bewerken";
+App::$strings["Members"] = "Kanalen";
+App::$strings["All Connected Channels"] = "Alle kanaalconnecties";
+App::$strings["Click on a channel to add or remove."] = "Klik op een kanaal om deze toe te voegen of te verwijderen.";
+App::$strings["Invalid message"] = "Ongeldig bericht";
+App::$strings["no results"] = "geen resultaten";
+App::$strings["channel sync processed"] = "kanaalsync verwerkt";
+App::$strings["queued"] = "in wachtrij";
+App::$strings["posted"] = "verstuurd";
+App::$strings["accepted for delivery"] = "geaccepteerd om afgeleverd te worden";
+App::$strings["updated"] = "geüpdatet";
+App::$strings["update ignored"] = "update genegeerd";
+App::$strings["permission denied"] = "toegang geweigerd";
+App::$strings["recipient not found"] = "ontvanger niet gevonden";
+App::$strings["mail recalled"] = "Privébericht ingetrokken";
+App::$strings["duplicate mail received"] = "dubbel privébericht ontvangen";
+App::$strings["mail delivered"] = "privébericht afgeleverd";
+App::$strings["Delivery report for %1\$s"] = "Afleveringsrapport voor %1\$s";
+App::$strings["Options"] = "Opties";
+App::$strings["Redeliver"] = "Opnieuw afleveren";
+App::$strings["webpage"] = "Webpagina";
+App::$strings["block"] = "blok";
+App::$strings["layout"] = "lay-out";
+App::$strings["menu"] = "menu";
+App::$strings["%s element installed"] = "%s onderdeel geïnstalleerd";
+App::$strings["%s element installation failed"] = "Installatie %s-element mislukt";
+App::$strings["Import completed"] = "Importeren voltooid";
+App::$strings["Import Items"] = "Importeer items";
+App::$strings["Use this form to import existing posts and content from an export file."] = "Gebruik dit formulier om bestaande berichten en andere inhoud vanuit een exportbestand te importeren.";
+App::$strings["Total invitation limit exceeded."] = "Limiet voor aantal uitnodigingen overschreden.";
+App::$strings["%s : Not a valid email address."] = "%s : Geen geldig e-mailadres.";
+App::$strings["Please join us on \$Projectname"] = "Uitnodiging voor \$Projectname";
+App::$strings["Invitation limit exceeded. Please contact your site administrator."] = "Limiet voor aantal uitnodigingen overschreden. Neem contact op met je hub-beheerder.";
+App::$strings["%s : Message delivery failed."] = "%s: Aflevering bericht mislukt.";
+App::$strings["%d message sent."] = array(
+ 0 => "%d bericht verzonden.",
+ 1 => "%d berichten verzonden.",
+);
+App::$strings["You have no more invitations available"] = "Je hebt geen uitnodigingen meer beschikbaar";
+App::$strings["Send invitations"] = "Uitnodigingen verzenden";
+App::$strings["Enter email addresses, one per line:"] = "Voer e-mailadressen in, één per regel:";
+App::$strings["Please join my community on \$Projectname."] = "Hierbij nodig ik je uit om mij, en andere vrienden en kennissen, op \$Projectname te vergezellen. Lees meer over \$Projectname op http://hubzilla.org";
+App::$strings["You will need to supply this invitation code:"] = "Je moet deze uitnodigingscode opgeven:";
+App::$strings["1. Register at any \$Projectname location (they are all inter-connected)"] = "1. Registreer je op een willekeurige \$Projectname-hub (ze zijn allemaal onderling met elkaar verbonden):";
+App::$strings["2. Enter my \$Projectname network address into the site searchbar."] = "2. Nadat je bent ingelogd en een kanaal hebt aangemaakt kan je mijn \$Projectname-kanaaladres in het zoekveld invullen:";
+App::$strings["or visit"] = "of bezoek";
+App::$strings["3. Click [Connect]"] = "3. Klik op [+ Verbinden]";
+App::$strings["Location not found."] = "Locatie niet gevonden.";
+App::$strings["Location lookup failed."] = "Opzoeken locatie mislukt";
+App::$strings["Please select another location to become primary before removing the primary location."] = "Kies eerst een andere primaire locatie alvorens de huidige primaire locatie te verwijderen.";
+App::$strings["Syncing locations"] = "Locaties synchronizeren";
+App::$strings["No locations found."] = "Geen locaties gevonden.";
+App::$strings["Manage Channel Locations"] = "Kanaallocaties beheren";
+App::$strings["Primary"] = "Primair";
+App::$strings["Sync Now"] = "Nu synchroniseren";
+App::$strings["Please wait several minutes between consecutive operations."] = "Wacht enkele minuten tussen opeenvolgende handelingen.";
+App::$strings["When possible, drop a location by logging into that website/hub and removing your channel."] = "Wij adviseren, wanneer dit (nog) mogelijk is, de locatie te verwijderen door op de hub van de kloon in te loggen en het kanaal daar te verwijderen.";
+App::$strings["Use this form to drop the location if the hub is no longer operating."] = "Gebruik dit formulier om de locatie te verwijderen wanneer de hub van de kloon niet meer operationeel is.";
+App::$strings["Website:"] = "Website:";
+App::$strings["Remote Channel [%s] (not yet known on this site)"] = "Kanaal op afstand [%s] (nog niet op deze hub bekend)";
+App::$strings["Rating (this information is public)"] = "Beoordeling (deze informatie is openbaar)";
+App::$strings["Optionally explain your rating (this information is public)"] = "Verklaar jouw beoordeling (niet verplicht, deze informatie is openbaar)";
+App::$strings["Like/Dislike"] = "Leuk/niet leuk";
+App::$strings["This action is restricted to members."] = "Deze actie kan alleen door \$Projectname-leden worden uitgevoerd.";
+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."] = "Je dient <a href=\"rmagic\">in te loggen met je \$Projectname-account</a> of <a href=\"register\">een nieuw \$Projectname-account aan te maken</a> om verder te kunnen gaan.";
+App::$strings["Invalid request."] = "Ongeldig verzoek";
+App::$strings["channel"] = "kanaal";
+App::$strings["thing"] = "ding";
+App::$strings["Channel unavailable."] = "Kanaal niet beschikbaar.";
+App::$strings["Previous action reversed."] = "Vorige actie omgedraaid";
+App::$strings["photo"] = "foto";
+App::$strings["status"] = "bericht";
+App::$strings["event"] = "gebeurtenis";
+App::$strings["%1\$s likes %2\$s's %3\$s"] = "%1\$s vindt %3\$s van %2\$s leuk";
+App::$strings["%1\$s doesn't like %2\$s's %3\$s"] = "%1\$s vindt %3\$s van %2\$s niet leuk";
+App::$strings["%1\$s agrees with %2\$s's %3\$s"] = "%1\$s is het eens met %2\$s's %3\$s";
+App::$strings["%1\$s doesn't agree with %2\$s's %3\$s"] = "%1\$s is het niet eens met %2\$s's %3\$s";
+App::$strings["%1\$s abstains from a decision on %2\$s's %3\$s"] = "%1\$s onthoudt zich van een besluit over %2\$s's %3\$s";
+App::$strings["%1\$s is attending %2\$s's %3\$s"] = "%1\$s is aanwezig op %2\$s's %3\$s";
+App::$strings["%1\$s is not attending %2\$s's %3\$s"] = "%1\$s is niet aanwezig op %2\$s's %3\$s";
+App::$strings["%1\$s may attend %2\$s's %3\$s"] = "%1\$s is mogelijk aanwezig op %2\$s's %3\$s";
+App::$strings["Action completed."] = "Actie voltooid";
+App::$strings["Thank you."] = "Bedankt";
App::$strings["Profile not found."] = "Profiel niet gevonden.";
App::$strings["Profile deleted."] = "Profiel verwijderd.";
App::$strings["Profile-"] = "Profiel-";
@@ -490,27 +782,9 @@ App::$strings["Contact information and social networks"] = "Contactinformatie en
App::$strings["My other channels"] = "Mijn andere kanalen";
App::$strings["Profile Image"] = "Profielfoto";
App::$strings["Edit Profiles"] = "Bewerk profielen";
-App::$strings["Posts and comments"] = "Berichten en reacties";
-App::$strings["Only posts"] = "Alleen berichten";
-App::$strings["Insufficient permissions. Request redirected to profile page."] = "Onvoldoende permissies. Doorgestuurd naar profielpagina.";
-App::$strings["Privacy group created."] = "Privacygroep aangemaakt";
-App::$strings["Could not create privacy group."] = "Kon privacygroep niet aanmaken";
-App::$strings["Privacy group not found."] = "Privacygroep niet gevonden";
-App::$strings["Privacy group updated."] = "Privacygroep bijgewerkt";
-App::$strings["Create a group of channels."] = "Privacygroep met kanalen aanmaken";
-App::$strings["Privacy group name: "] = "Naam privacygroep: ";
-App::$strings["Members are visible to other channels"] = "Kanalen in deze privacygroep zijn zichtbaar voor andere kanalen";
-App::$strings["Privacy group removed."] = "Privacygroep verwijderd.";
-App::$strings["Unable to remove privacy group."] = "Verwijderen privacygroep mislukt";
-App::$strings["Privacy group editor"] = "Privacygroep bewerken";
-App::$strings["Members"] = "Kanalen";
-App::$strings["All Connected Channels"] = "Alle kanaalconnecties";
-App::$strings["Click on a channel to add or remove."] = "Klik op een kanaal om deze toe te voegen of te verwijderen.";
-App::$strings["Menu not found."] = "Menu niet gevonden.";
App::$strings["Unable to create element."] = "Niet in staat om onderdeel aan te maken.";
App::$strings["Unable to update menu element."] = "Menu-onderdeel kan niet worden geüpdatet.";
App::$strings["Unable to add menu element."] = "Menu-onderdeel kan niet worden toegevoegd.";
-App::$strings["Not found."] = "Niet gevonden.";
App::$strings["Menu Item Permissions"] = "Permissies menu-item";
App::$strings["(click to open/close)"] = "(klik om te openen/sluiten)";
App::$strings["Link Name"] = "Linknaam";
@@ -537,148 +811,6 @@ App::$strings["Menu item deleted."] = "Menu-item verwijderd.";
App::$strings["Menu item could not be deleted."] = "Menu-item kon niet worden verwijderd.";
App::$strings["Edit Menu Element"] = "Menu-element bewerken";
App::$strings["Link text"] = "Linktekst";
-App::$strings["Channel added."] = "Kanaal toegevoegd.";
-App::$strings["Import completed"] = "Importeren voltooid";
-App::$strings["Import Items"] = "Importeer items";
-App::$strings["Use this form to import existing posts and content from an export file."] = "Gebruik dit formulier om bestaande berichten en andere inhoud vanuit een exportbestand te importeren.";
-App::$strings["Total invitation limit exceeded."] = "Limiet voor aantal uitnodigingen overschreden.";
-App::$strings["%s : Not a valid email address."] = "%s : Geen geldig e-mailadres.";
-App::$strings["Please join us on \$Projectname"] = "Uitnodiging voor \$Projectname";
-App::$strings["Invitation limit exceeded. Please contact your site administrator."] = "Limiet voor aantal uitnodigingen overschreden. Neem contact op met je hub-beheerder.";
-App::$strings["%s : Message delivery failed."] = "%s: Aflevering bericht mislukt.";
-App::$strings["%d message sent."] = array(
- 0 => "%d bericht verzonden.",
- 1 => "%d berichten verzonden.",
-);
-App::$strings["You have no more invitations available"] = "Je hebt geen uitnodigingen meer beschikbaar";
-App::$strings["Send invitations"] = "Uitnodigingen verzenden";
-App::$strings["Enter email addresses, one per line:"] = "Voer e-mailadressen in, één per regel:";
-App::$strings["Please join my community on \$Projectname."] = "Hierbij nodig ik je uit om mij, en andere vrienden en kennissen, op \$Projectname te vergezellen. Lees meer over \$Projectname op http://hubzilla.org";
-App::$strings["You will need to supply this invitation code:"] = "Je moet deze uitnodigingscode opgeven:";
-App::$strings["1. Register at any \$Projectname location (they are all inter-connected)"] = "1. Registreer je op een willekeurige \$Projectname-hub (ze zijn allemaal onderling met elkaar verbonden):";
-App::$strings["2. Enter my \$Projectname network address into the site searchbar."] = "2. Nadat je bent ingelogd en een kanaal hebt aangemaakt kan je mijn \$Projectname-kanaaladres in het zoekveld invullen:";
-App::$strings["or visit"] = "of bezoek";
-App::$strings["3. Click [Connect]"] = "3. Klik op [+ Verbinden]";
-App::$strings["Location not found."] = "Locatie niet gevonden.";
-App::$strings["Location lookup failed."] = "Opzoeken locatie mislukt";
-App::$strings["Please select another location to become primary before removing the primary location."] = "Kies eerst een andere primaire locatie alvorens de huidige primaire locatie te verwijderen.";
-App::$strings["Syncing locations"] = "Locaties synchronizeren";
-App::$strings["No locations found."] = "Geen locaties gevonden.";
-App::$strings["Manage Channel Locations"] = "Kanaallocaties beheren";
-App::$strings["Primary"] = "Primair";
-App::$strings["Drop"] = "Verwijderen";
-App::$strings["Sync Now"] = "Nu synchroniseren";
-App::$strings["Please wait several minutes between consecutive operations."] = "Wacht enkele minuten tussen opeenvolgende handelingen.";
-App::$strings["When possible, drop a location by logging into that website/hub and removing your channel."] = "Wij adviseren, wanneer dit (nog) mogelijk is, de locatie te verwijderen door op de hub van de kloon in te loggen en het kanaal daar te verwijderen.";
-App::$strings["Use this form to drop the location if the hub is no longer operating."] = "Gebruik dit formulier om de locatie te verwijderen wanneer de hub van de kloon niet meer operationeel is.";
-App::$strings["Hub not found."] = "Hub niet gevonden.";
-App::$strings["webpage"] = "Webpagina";
-App::$strings["block"] = "blok";
-App::$strings["layout"] = "lay-out";
-App::$strings["menu"] = "menu";
-App::$strings["%s element installed"] = "%s onderdeel geïnstalleerd";
-App::$strings["%s element installation failed"] = "Installatie %s-element mislukt";
-App::$strings["Calendar entries imported."] = "Agenda-items geïmporteerd.";
-App::$strings["No calendar entries found."] = "Geen agenda-items gevonden.";
-App::$strings["Event can not end before it has started."] = "Gebeurtenis kan niet eindigen voordat het is begonnen";
-App::$strings["Unable to generate preview."] = "Niet in staat om voorvertoning te genereren";
-App::$strings["Event title and start time are required."] = "Titel en begintijd van gebeurtenis zijn vereist.";
-App::$strings["Event not found."] = "Gebeurtenis niet gevonden";
-App::$strings["Edit event title"] = "Titel bewerken";
-App::$strings["Event title"] = "Titel";
-App::$strings["Categories (comma-separated list)"] = "Categorieën (door komma's gescheiden lijst)";
-App::$strings["Edit Category"] = "Categorie";
-App::$strings["Category"] = "Categorie";
-App::$strings["Edit start date and time"] = "Begindatum en -tijd bewerken";
-App::$strings["Start date and time"] = "Begindatum en -tijd";
-App::$strings["Finish date and time are not known or not relevant"] = "Einddatum en -tijd zijn niet bekend of niet van toepassing";
-App::$strings["Edit finish date and time"] = "Einddatum en -tijd bewerken";
-App::$strings["Finish date and time"] = "Einddatum en -tijd";
-App::$strings["Adjust for viewer timezone"] = "Aanpassen aan de tijdzone van wie deze gebeurtenis bekijkt";
-App::$strings["Important for events that happen in a particular place. Not practical for global holidays."] = "Belangrijk voor gebeurtenissen die op een bepaalde locatie plaatsvinden. Niet praktisch voor wereldwijde feestdagen.";
-App::$strings["Edit Description"] = "Omschrijving bewerken";
-App::$strings["Edit Location"] = "Locatie bewerken";
-App::$strings["Share this event"] = "Deel deze gebeurtenis";
-App::$strings["Preview"] = "Voorvertoning";
-App::$strings["Permission settings"] = "Permissies";
-App::$strings["Advanced Options"] = "Geavanceerde opties";
-App::$strings["l, F j"] = "l j F";
-App::$strings["Edit event"] = "Gebeurtenis bewerken";
-App::$strings["Delete event"] = "Gebeurtenis verwijderen";
-App::$strings["Link to Source"] = "Originele locatie";
-App::$strings["calendar"] = "agenda";
-App::$strings["Edit Event"] = "Gebeurtenis bewerken";
-App::$strings["Create Event"] = "Gebeurtenis aanmaken";
-App::$strings["Previous"] = "Vorige";
-App::$strings["Next"] = "Volgende";
-App::$strings["Export"] = "Exporteren";
-App::$strings["View"] = "Weergeven";
-App::$strings["Month"] = "Maand";
-App::$strings["Week"] = "Week";
-App::$strings["Day"] = "Dag";
-App::$strings["Today"] = "Vandaag";
-App::$strings["Event removed"] = "Gebeurtenis verwijderd";
-App::$strings["Failed to remove event"] = "Verwijderen gebeurtenis mislukt";
-App::$strings["You have created %1$.0f of %2$.0f allowed channels."] = "Je hebt %1$.0f van totaal %2$.0f toegestane kanalen aangemaakt.";
-App::$strings["Create a new channel"] = "Nieuw kanaal aanmaken";
-App::$strings["Channel Manager"] = "Kanaalbeheer";
-App::$strings["Current Channel"] = "Huidig kanaal";
-App::$strings["Switch to one of your channels by selecting it."] = "Activeer een van jouw andere kanalen door er op te klikken.";
-App::$strings["Default Channel"] = "Standaardkanaal";
-App::$strings["Make Default"] = "Als standaard instellen";
-App::$strings["%d new messages"] = "%d nieuwe berichten";
-App::$strings["%d new introductions"] = "%d nieuwe connectieverzoeken";
-App::$strings["Delegated Channel"] = "Uitbesteed kanaal";
-App::$strings["No valid account found."] = "Geen geldige account gevonden.";
-App::$strings["Password reset request issued. Check your email."] = "Het verzoek om je wachtwoord opnieuw in te stellen is behandeld. Controleer je e-mail.";
-App::$strings["Site Member (%s)"] = "Lid van hub (%s)";
-App::$strings["Password reset requested at %s"] = "Verzoek tot het opnieuw instellen van een wachtwoord op %s is ingediend";
-App::$strings["Request could not be verified. (You may have previously submitted it.) Password reset failed."] = "Het verzoek kon niet worden geverifieerd. (Mogelijk heb je al eerder een verzoek ingediend.) Opnieuw instellen van wachtwoord is mislukt.";
-App::$strings["Password Reset"] = "Wachtwoord vergeten?";
-App::$strings["Your password has been reset as requested."] = "Jouw wachtwoord is opnieuw ingesteld zoals je had verzocht.";
-App::$strings["Your new password is"] = "Jouw nieuwe wachtwoord is";
-App::$strings["Save or copy your new password - and then"] = "Kopieer of sla je nieuwe wachtwoord op - en";
-App::$strings["click here to login"] = "klik dan hier om in te loggen";
-App::$strings["Your password may be changed from the <em>Settings</em> page after successful login."] = "Jouw wachtwoord kan worden veranderd onder <em>instellingen</em>, nadat je succesvol bent ingelogd.";
-App::$strings["Your password has changed at %s"] = "Jouw wachtwoord op %s is veranderd";
-App::$strings["Forgot your Password?"] = "Wachtwoord vergeten?";
-App::$strings["Enter your email address and submit to have your password reset. Then check your email for further instructions."] = "Voer je e-mailadres in en verstuur deze om je wachtwoord opnieuw in te stellen. Controleer hierna hier je e-mail voor verdere instructies.";
-App::$strings["Email Address"] = "E-mailadres";
-App::$strings["Reset"] = "Opnieuw instellen";
-App::$strings["__ctx:mood__ %1\$s is %2\$s"] = "%1\$s is %2\$s";
-App::$strings["Mood"] = "Stemming";
-App::$strings["Set your current mood and tell your friends"] = "Noteer je huidige stemming en toon het aan je connecties";
-App::$strings["Unable to update menu."] = "Niet in staat om menu aan te passen";
-App::$strings["Unable to create menu."] = "Niet in staat om menu aan te maken.";
-App::$strings["Menu Name"] = "Menunaam";
-App::$strings["Unique name (not visible on webpage) - required"] = "Unieke naam vereist (niet zichtbaar op webpagina)";
-App::$strings["Menu Title"] = "Menutitel";
-App::$strings["Visible on webpage - leave empty for no title"] = "Zichtbaar op webpagina (leeg laten voor geen titel)";
-App::$strings["Allow Bookmarks"] = "Bladwijzers toestaan";
-App::$strings["Menu may be used to store saved bookmarks"] = "Menu kan gebruikt worden om bladwijzers in op te slaan";
-App::$strings["Submit and proceed"] = "Opslaan en doorgaan";
-App::$strings["Menus"] = "Menu's";
-App::$strings["Created"] = "Aangemaakt";
-App::$strings["Edited"] = "Bewerkt";
-App::$strings["Bookmarks allowed"] = "Bladwijzers toegestaan";
-App::$strings["Delete this menu"] = "Menu verwijderen";
-App::$strings["Edit menu contents"] = "Bewerk de inhoud van het menu";
-App::$strings["Edit this menu"] = "Dit menu bewerken";
-App::$strings["Menu could not be deleted."] = "Menu kon niet verwijderd worden.";
-App::$strings["Edit Menu"] = "Menu bewerken";
-App::$strings["Add or remove entries to this menu"] = "Items aan dit menu toevoegen of verwijder";
-App::$strings["Menu name"] = "Naam van menu";
-App::$strings["Must be unique, only seen by you"] = "Moet uniek zijn en is alleen zichtbaar voor jou.";
-App::$strings["Menu title"] = "Titel van menu";
-App::$strings["Menu title as seen by others"] = "Titel van menu zoals anderen dat zien.";
-App::$strings["Allow bookmarks"] = "Bladwijzers toestaan";
-App::$strings["No more system notifications."] = "Geen systeemnotificaties meer.";
-App::$strings["System Notifications"] = "Systeemnotificaties";
-App::$strings["Profile Match"] = "Profielovereenkomst";
-App::$strings["No keywords to match. Please add keywords to your default profile."] = "Je hebt geen trefwoorden waarmee overeenkomsten gevonden kunnen worden. Voeg enkele trefwoorden aan je standaardprofiel toe.";
-App::$strings["is interested in:"] = "is geïnteresseerd in:";
-App::$strings["No matches"] = "Geen overeenkomsten";
-App::$strings["Fetching URL returns error: %1\$s"] = "Ophalen URL gaf een foutmelding terug: %1\$s";
App::$strings["\$Projectname Server - Setup"] = "\$Projectname Hub - Setup";
App::$strings["Could not connect to database."] = "Could not connect to database.";
App::$strings["Could not connect to specified site URL. Possible SSL certificate or DNS issue."] = "Could not connect to specified hub URL. Possible SSL certificate or DNS issue.";
@@ -687,6 +819,7 @@ App::$strings["Your site database has been installed."] = "Your hub database has
App::$strings["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.";
App::$strings["Please see the file \"install/INSTALL.txt\"."] = "Please see the file \"install/INSTALL.txt\".";
App::$strings["System check"] = "System check";
+App::$strings["Next"] = "Volgende";
App::$strings["Check again"] = "Check again";
App::$strings["Database connection"] = "Database connection";
App::$strings["In order to install \$Projectname we need to know how to connect to your database."] = "In order to install \$Projectname we need to know how to connect to your database.";
@@ -706,8 +839,6 @@ App::$strings["Website URL"] = "Hub URL";
App::$strings["Please use SSL (https) URL if available."] = "Please use SSL (https) URL if available.";
App::$strings["Please select a default timezone for your website"] = "Please select a default timezone for your hub";
App::$strings["Site settings"] = "Hub settings";
-App::$strings["Enable \$Projectname <strong>advanced</strong> features?"] = "Enable \$Projectname <strong>advanced</strong> features?";
-App::$strings["Some advanced features, while useful - may be best suited for technically proficient audiences"] = "Some advanced features, while useful - may be best suited for technically proficient audiences";
App::$strings["PHP version 5.5 or greater is required."] = "PHP version 5.5 or greater is required.";
App::$strings["PHP version"] = "PHP version";
App::$strings["Could not find a command line version of PHP in the web server PATH."] = "Could not find a command line version of PHP in the web server PATH.";
@@ -766,250 +897,116 @@ App::$strings["The database configuration file \".htconfig.php\" could not be wr
App::$strings["Errors encountered creating database tables."] = "Errors encountered creating database tables.";
App::$strings["<h1>What next</h1>"] = "<h1>What next</h1>";
App::$strings["IMPORTANT: You will need to [manually] setup a scheduled task for the poller."] = "IMPORTANT: You will need to [manually] setup a scheduled task for the poller.";
-App::$strings["Theme settings updated."] = "Thema-instellingen bijgewerkt.";
-App::$strings["# Accounts"] = "# accounts";
-App::$strings["# blocked accounts"] = "# geblokkeerde accounts";
-App::$strings["# expired accounts"] = "# verlopen accounts";
-App::$strings["# expiring accounts"] = "# accounts die nog moeten verlopen";
-App::$strings["# Channels"] = "# Kanalen";
-App::$strings["# primary"] = "# primair";
-App::$strings["# clones"] = "# klonen";
-App::$strings["Message queues"] = "Berichtenwachtrij";
-App::$strings["Your software should be updated"] = "Jouw software moet worden bijgewerkt ";
-App::$strings["Administration"] = "Beheer";
-App::$strings["Summary"] = "Samenvatting";
-App::$strings["Registered accounts"] = "Geregistreerde accounts";
-App::$strings["Pending registrations"] = "Accounts die op goedkeuring wachten";
-App::$strings["Registered channels"] = "Geregistreerde kanalen";
-App::$strings["Active plugins"] = "Ingeschakelde plugins";
-App::$strings["Version"] = "Versie";
-App::$strings["Repository version (master)"] = "Versie repository (master)";
-App::$strings["Repository version (dev)"] = "Versie repository (dev)";
-App::$strings["Site settings updated."] = "Hub-instellingen bijgewerkt.";
-App::$strings["Default"] = "Standaard";
-App::$strings["mobile"] = "mobiel";
-App::$strings["experimental"] = "experimenteel";
-App::$strings["unsupported"] = "Niet ondersteund";
-App::$strings["Yes - with approval"] = "Ja - met goedkeuring";
-App::$strings["My site is not a public server"] = "Mijn \$Projectname-hub is niet openbaar";
-App::$strings["My site has paid access only"] = "Mijn \$Projectname-hub kent alleen betaalde toegang";
-App::$strings["My site has free access only"] = "Mijn \$Projectname-hub kent alleen gratis toegang";
-App::$strings["My site offers free accounts with optional paid upgrades"] = "Mijn \$Projectname-hub biedt gratis accounts aan met betaalde uitbreidingen als optie";
-App::$strings["Site"] = "Hub-instellingen";
-App::$strings["Registration"] = "Registratie";
-App::$strings["File upload"] = "Bestand uploaden";
-App::$strings["Policies"] = "Beleid";
-App::$strings["Advanced"] = "Geavanceerd";
-App::$strings["Site name"] = "Naam van deze \$Projectname-hub";
-App::$strings["Banner/Logo"] = "Banner/logo";
-App::$strings["Administrator Information"] = "Informatie over de beheerder van deze hub";
-App::$strings["Contact information for site administrators. Displayed on siteinfo page. BBCode can be used here"] = "Contactinformatie voor hub-beheerders. Getoond op pagina met hub-informatie. Er kan hier bbcode gebruikt worden.";
-App::$strings["System language"] = "Standaardtaal";
-App::$strings["System theme"] = "Standaardthema";
-App::$strings["Default system theme - may be over-ridden by user profiles - <a href='#' id='cnftheme'>change theme settings</a>"] = "Standaardthema voor \$Projectname-hub (kan door lid veranderd worden) - <a href='#' id='cnftheme'>verander thema-instellingen</a>";
-App::$strings["Mobile system theme"] = "Standaardthema voor mobiel";
-App::$strings["Theme for mobile devices"] = "Thema voor mobiele apparaten";
-App::$strings["Allow Feeds as Connections"] = "Sta feeds toe als connecties";
-App::$strings["(Heavy system resource usage)"] = "(sterk negatieve invloed op systeembronnen hub)";
-App::$strings["Maximum image size"] = "Maximale grootte van afbeeldingen";
-App::$strings["Maximum size in bytes of uploaded images. Default is 0, which means no limits."] = "Maximale grootte in bytes voor afbeeldingen die worden geüpload. Standaard is 0, wat geen limiet betekend.";
-App::$strings["Does this site allow new member registration?"] = "Staat deze hub nieuwe accounts toe?";
-App::$strings["Invitation only"] = "Alleen op uitnodiging";
-App::$strings["Only allow new member registrations with an invitation code. Above register policy must be set to Yes."] = "Sta alleen nieuwe registraties toe van mensen die een uitnodigingscode hebben. Bovenstaand accountbeleid moet op Ja staan.";
-App::$strings["Which best describes the types of account offered by this hub?"] = "Wat voor soort accounts biedt deze \$Projectname-hub aan? Kies wat het meest in de buurt komt.";
-App::$strings["Register text"] = "Tekst tijdens registratie";
-App::$strings["Will be displayed prominently on the registration page."] = "Tekst dat op de pagina voor het registreren van nieuwe accounts wordt getoond.";
-App::$strings["Site homepage to show visitors (default: login box)"] = "Homepagina van deze hub die aan bezoekers wordt getoond (standaard: inlogformulier)";
-App::$strings["example: 'public' to show public stream, 'page/sys/home' to show a system webpage called 'home' or 'include:home.html' to include a file."] = "voorbeeld: 'public' om de openbare stream te tonen, 'page/sys/home' om de webpagina 'home' van het systeemkanaal te tonen of 'include:home.html' om een gewoon bestand te gebruiken.";
-App::$strings["Preserve site homepage URL"] = "Behoudt de URL van de hub (/)";
-App::$strings["Present the site homepage in a frame at the original location instead of redirecting"] = "Toon de homepagina van de hub in een frame op de oorspronkelijke locatie (/), i.p.v. een doorverwijzing naar een andere locatie (bv. .../home.html)";
-App::$strings["Accounts abandoned after x days"] = "Accounts als verlaten beschouwen na zoveel aantal dagen:";
-App::$strings["Will not waste system resources polling external sites for abandonded accounts. Enter 0 for no time limit."] = "Zal geen systeembronnen verspillen door polling van externe hubs voor verlaten accounts. Vul 0 in voor geen tijdslimiet.";
-App::$strings["Allowed friend domains"] = "Toegestane domeinen";
-App::$strings["Comma separated list of domains which are allowed to establish friendships with this site. Wildcards are accepted. Empty to allow any domains"] = "Komma-gescheiden lijst van domeinen waarvan kanalen connecties kunnen aangaan met kanalen op deze \$Projectname-hub. Wildcards zijn toegestaan.\nLaat leeg om alle domeinen toe te laten.";
-App::$strings["Allowed email domains"] = "Toegestane e-maildomeinen";
-App::$strings["Comma separated list of domains which are allowed in email addresses for registrations to this site. Wildcards are accepted. Empty to allow any domains"] = "Door komma's gescheiden lijst met e-maildomeinen waarvan e-mailadressen op deze hub mogen registeren. Wildcards zijn toegestaan. Laat leeg om alle domeinen toe te laten.";
-App::$strings["Not allowed email domains"] = "Niet toegestane e-maildomeinen";
-App::$strings["Comma separated list of domains which are not allowed in email addresses for registrations to this site. Wildcards are accepted. Empty to allow any domains, unless allowed domains have been defined."] = "Door komma's gescheiden lijst met e-maildomeinen waarvan e-mailadressen niet op deze hub mogen registeren. Wildcards zijn toegestaan. Laat leeg om alle domeinen toe te staan, tenzij er toegestane domeinen zijn ingesteld. ";
-App::$strings["Verify Email Addresses"] = "E-mailadres verifieren";
-App::$strings["Check to verify email addresses used in account registration (recommended)."] = "Inschakelen om e-mailadressen te verifiëren die tijdens de accountregistratie worden gebruikt (aanbevolen).";
-App::$strings["Force publish"] = "Dwing kanaalvermelding af";
-App::$strings["Check to force all profiles on this site to be listed in the site directory."] = "Vink dit aan om af te dwingen dat alle kanalen op deze hub in de kanalengids worden vermeld.";
-App::$strings["Import Public Streams"] = "Openbare streams importeren";
-App::$strings["Import and allow access to public content pulled from other sites. Warning: this content is unmoderated."] = "Toegang verlenen tot openbare berichten die vanuit andere hubs worden geïmporteerd. Waarschuwing: de inhoud van deze berichten wordt niet gemodereerd.";
-App::$strings["Login on Homepage"] = "Inlogformulier op de homepagina";
-App::$strings["Present a login box to visitors on the home page if no other content has been configured."] = "Toon een inlogformulier voor bezoekers op de homepagina wanneer geen andere inhoud is geconfigureerd. ";
-App::$strings["Enable context help"] = "Schakel contextuele hulp in";
-App::$strings["Display contextual help for the current page when the help button is pressed."] = "Toon hulp en documentatie voor de op dat moment getoonde pagina, wanneer op de hulp-knop wordt geklikt.";
-App::$strings["Directory Server URL"] = "Server-URL voor de kanalengids";
-App::$strings["Default directory server"] = "Standaardserver voor de kanalengids";
-App::$strings["Proxy user"] = "Gebruikersnaam proxy";
-App::$strings["Proxy URL"] = "Proxy-URL";
-App::$strings["Network timeout"] = "Netwerktimeout";
-App::$strings["Value is in seconds. Set to 0 for unlimited (not recommended)."] = "Waarde is in seconden. Zet op 0 voor onbeperkt (niet aanbevolen)";
-App::$strings["Delivery interval"] = "Afleveringsinterval";
-App::$strings["Delay background delivery processes by this many seconds to reduce system load. Recommend: 4-5 for shared hosts, 2-3 for virtual private servers. 0-1 for large dedicated servers."] = "Vertraag de achtergrondprocessen voor het afleveren met een aantal seconden om de systeembelasting te verminderen. Aanbevolen: 4-5 voor shared hosts, 2-3 voor virtual private servers (VPS) en 0-1 voor grote dedicated servers.";
-App::$strings["Deliveries per process"] = "Leveringen per serverproces";
-App::$strings["Number of deliveries to attempt in a single operating system process. Adjust if necessary to tune system performance. Recommend: 1-5."] = "Aantal leveringen die aan één serverproces worden meegegeven. Pas dit aan wanneer het nodig is om systeemprestaties te verbeteren. Aangeraden: 1-5";
-App::$strings["Poll interval"] = "Poll-interval";
-App::$strings["Delay background polling processes by this many seconds to reduce system load. If 0, use delivery interval."] = "De achtergrondprocessen voor het afleveren met zoveel seconden vertragen om de systeembelasting te verminderen. 0 om de afleveringsinterval te gebruiken.";
-App::$strings["Maximum Load Average"] = "Maximaal gemiddelde systeembelasting";
-App::$strings["Maximum system load before delivery and poll processes are deferred - default 50."] = "Maximale systeembelasting voordat de afleverings- en polllingsprocessen worden uitgesteld. Standaard is 50.";
-App::$strings["Expiration period in days for imported (grid/network) content"] = "Aantal dagen waarna geïmporteerde inhoud uit iemands grid/netwerk-pagina wordt verwijderd.";
-App::$strings["0 for no expiration of imported content"] = "Dit geldt alleen voor inhoud van andere kanalen, dus niet voor iemands eigen kanaal. 0 voor het niet verwijderen van geïmporteerde inhoud.";
-App::$strings["Off"] = "Uit";
-App::$strings["On"] = "Aan";
-App::$strings["Lock feature %s"] = " Vergrendel de functie '%s'";
-App::$strings["Manage Additional Features"] = "Beheer - Extra functies";
-App::$strings["No server found"] = "Geen hub gevonden";
-App::$strings["ID"] = "ID";
-App::$strings["for channel"] = "voor kanaal";
-App::$strings["on server"] = "op hub";
-App::$strings["Server"] = "Hubbeheer";
-App::$strings["By default, unfiltered HTML is allowed in embedded media. This is inherently insecure."] = "Standaard is ongefilterde HTML in ingesloten (embedded) media toegestaan. Dit is inherent onveilig.";
-App::$strings["The recommended setting is to only allow unfiltered HTML from the following sites:"] = "Het wordt aanbevolen om alleen ongefilterde HTML van de volgende websites toe te staan:";
-App::$strings["https://youtube.com/<br />https://www.youtube.com/<br />https://youtu.be/<br />https://vimeo.com/<br />https://soundcloud.com/<br />"] = "https://youtube.com/<br />https://www.youtube.com/<br />https://youtu.be/<br />https://vimeo.com/<br />https://soundcloud.com/<br />";
-App::$strings["All other embedded content will be filtered, <strong>unless</strong> embedded content from that site is explicitly blocked."] = "Alle andere ingesloten (embedded) inhoud wordt gefilterd, <strong>tenzij</strong> ingesloten (embedded) inhoud van een website expliciet wordt geblokkeerd.";
-App::$strings["Security"] = "Beveiliging";
-App::$strings["Block public"] = "Openbare toegang blokkeren";
-App::$strings["Check to block public access to all otherwise public personal pages on this site unless you are currently authenticated."] = "Vink dit aan om alle normaliter openbare persoonlijke pagina's op deze hub alleen toegankelijk te maken voor leden die zich hebben geauthenticeerd.";
-App::$strings["Set \"Transport Security\" HTTP header"] = "\"Transport Security\" HTTP-header inschakelen";
-App::$strings["Set \"Content Security Policy\" HTTP header"] = " \"Content Security Policy\" HTTP-header inschakelen";
-App::$strings["Allow communications only from these sites"] = "Alleen communicatie met deze hubs toestaan";
-App::$strings["One site per line. Leave empty to allow communication from anywhere by default"] = "Eén hub per regel. Laat leeg om communicatie standaard met alle hubs toe te staan";
-App::$strings["Block communications from these sites"] = "Communicatie met deze hubs blokkeren";
-App::$strings["Allow communications only from these channels"] = "Sta alleen communicatie toe met deze kanalen";
-App::$strings["One channel (hash) per line. Leave empty to allow from any channel by default"] = "Eén kanaal (hash) per regel. Laat leeg om communicatie standaard met alle kanalen toe te staan";
-App::$strings["Block communications from these channels"] = "Communicatie met deze kanalen blokkeren";
-App::$strings["Only allow embeds from secure (SSL) websites and links."] = "Alleen ingesloten (embedded) inhoud van veilige (SSL) websites en links toestaan.";
-App::$strings["Allow unfiltered embedded HTML content only from these domains"] = "Alleen ongefilterde ingesloten (embedded) HTML van deze websites toestaan";
-App::$strings["One site per line. By default embedded content is filtered."] = "Eén website per regel. Standaard wordt ingesloten (embedded) inhoud gefilterd.";
-App::$strings["Block embedded HTML from these domains"] = "Ingesloten (embedded) HTML vanaf deze domeinen blokkeren";
-App::$strings["Update has been marked successful"] = "Update is als succesvol gemarkeerd";
-App::$strings["Executing %s failed. Check system logs."] = "Uitvoeren van %s is mislukt. Controleer systeemlogboek.";
-App::$strings["Update %s was successfully applied."] = "Update %s was geslaagd.";
-App::$strings["Update %s did not return a status. Unknown if it succeeded."] = "Update %s gaf geen melding. Het is daarom niet bekend of deze geslaagd is.";
-App::$strings["Update function %s could not be found."] = "Update-functie %s kon niet gevonden worden.";
-App::$strings["No failed updates."] = "Geen mislukte updates.";
-App::$strings["Failed Updates"] = "Mislukte updates";
-App::$strings["Mark success (if update was manually applied)"] = "Markeer als geslaagd (wanneer de update handmatig was uitgevoerd)";
-App::$strings["Attempt to execute this update step automatically"] = "Poging om deze stap van de update automatisch uit te voeren.";
-App::$strings["Queue Statistics"] = "Wachtrij-statistieken";
-App::$strings["Total Entries"] = "Aantal vermeldingen";
-App::$strings["Priority"] = "Prioriteit";
-App::$strings["Destination URL"] = "Doel-URL";
-App::$strings["Mark hub permanently offline"] = "Hub als permanent offline markeren";
-App::$strings["Empty queue for this hub"] = "Berichtenwachtrij voor deze hub legen";
-App::$strings["Last known contact"] = "Voor het laatst contact";
-App::$strings["%s account blocked/unblocked"] = array(
- 0 => "%s account geblokkeerd/gedeblokkeerd",
- 1 => "%s accounts geblokkeerd/gedeblokkeerd",
-);
-App::$strings["%s account deleted"] = array(
- 0 => "%s account verwijderd",
- 1 => "%s accounts verwijderd",
-);
-App::$strings["Account not found"] = "Account niet gevonden";
-App::$strings["Account '%s' deleted"] = "Account '%s' verwijderd";
-App::$strings["Account '%s' blocked"] = "Account '%s' geblokkeerd";
-App::$strings["Account '%s' unblocked"] = "Account '%s' gedeblokkeerd";
-App::$strings["Accounts"] = "Accounts";
-App::$strings["select all"] = "alles selecteren";
-App::$strings["Registrations waiting for confirm"] = "Accounts die op goedkeuring wachten";
-App::$strings["Request date"] = "Tijd/datum verzoek";
-App::$strings["Email"] = "E-mail";
-App::$strings["No registrations."] = "Geen verzoeken.";
-App::$strings["Deny"] = "Afkeuren";
-App::$strings["All Channels"] = "Alle kanalen";
-App::$strings["Register date"] = "Geregistreerd";
-App::$strings["Last login"] = "Laatste keer ingelogd";
-App::$strings["Expires"] = "Verloopt";
-App::$strings["Service Class"] = "Abonnementen";
-App::$strings["Selected accounts will be deleted!\\n\\nEverything these accounts had posted on this site will be permanently deleted!\\n\\nAre you sure?"] = "Geselecteerde accounts (met bijbehorende kanalen) worden verwijderd!\\n\\nAlles wat deze accounts op deze hub hebben gepubliceerd wordt definitief verwijderd!\\n\\Weet je het zeker?";
-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?"] = "Account {0} (met bijbehorende kanalen) wordt verwijderd !\\n\\nAlles wat dit account op deze hub heeft gepubliceerd wordt definitief verwijderd!\\n\\nWeet je het zeker?";
-App::$strings["%s channel censored/uncensored"] = array(
- 0 => "%s kanaal gecensureerd/ongecensureerd",
- 1 => "%s kanalen gecensureerd/ongecensureerd",
-);
-App::$strings["%s channel code allowed/disallowed"] = array(
- 0 => "Scripts toegestaan/niet toegestaan voor %s kanaal",
- 1 => "Scripts toegestaan/niet toegestaan voor %s kanalen",
+App::$strings["No valid account found."] = "Geen geldige account gevonden.";
+App::$strings["Password reset request issued. Check your email."] = "Het verzoek om je wachtwoord opnieuw in te stellen is behandeld. Controleer je e-mail.";
+App::$strings["Site Member (%s)"] = "Lid van hub (%s)";
+App::$strings["Password reset requested at %s"] = "Verzoek tot het opnieuw instellen van een wachtwoord op %s is ingediend";
+App::$strings["Request could not be verified. (You may have previously submitted it.) Password reset failed."] = "Het verzoek kon niet worden geverifieerd. (Mogelijk heb je al eerder een verzoek ingediend.) Opnieuw instellen van wachtwoord is mislukt.";
+App::$strings["Password Reset"] = "Wachtwoord vergeten?";
+App::$strings["Your password has been reset as requested."] = "Jouw wachtwoord is opnieuw ingesteld zoals je had verzocht.";
+App::$strings["Your new password is"] = "Jouw nieuwe wachtwoord is";
+App::$strings["Save or copy your new password - and then"] = "Kopieer of sla je nieuwe wachtwoord op - en";
+App::$strings["click here to login"] = "klik dan hier om in te loggen";
+App::$strings["Your password may be changed from the <em>Settings</em> page after successful login."] = "Jouw wachtwoord kan worden veranderd onder <em>instellingen</em>, nadat je succesvol bent ingelogd.";
+App::$strings["Your password has changed at %s"] = "Jouw wachtwoord op %s is veranderd";
+App::$strings["Forgot your Password?"] = "Wachtwoord vergeten?";
+App::$strings["Enter your email address and submit to have your password reset. Then check your email for further instructions."] = "Voer je e-mailadres in en verstuur deze om je wachtwoord opnieuw in te stellen. Controleer hierna hier je e-mail voor verdere instructies.";
+App::$strings["Email Address"] = "E-mailadres";
+App::$strings["Reset"] = "Opnieuw instellen";
+App::$strings["__ctx:mood__ %1\$s is %2\$s"] = "%1\$s is %2\$s";
+App::$strings["Mood"] = "Stemming";
+App::$strings["Set your current mood and tell your friends"] = "Noteer je huidige stemming en toon het aan je connecties";
+App::$strings["Channel removals are not allowed within 48 hours of changing the account password."] = "Het verwijderen van een kanaal is niet toegestaan binnen 48 uur nadat het wachtwoord van het account is veranderd.";
+App::$strings["Remove This Channel"] = "Verwijder dit kanaal";
+App::$strings["WARNING: "] = "WAARSCHUWING: ";
+App::$strings["This channel will be completely removed from the network. "] = "Dit kanaal wordt volledig uit het \$Projectname-netwerk verwijderd.";
+App::$strings["This action is permanent and can not be undone!"] = "Deze handeling is van permanente aard en kan niet meer worden teruggedraaid!";
+App::$strings["Please enter your password for verification:"] = "Vul je wachtwoord in ter verificatie:";
+App::$strings["Remove this channel and all its clones from the network"] = "Dit kanaal en alle klonen hiervan uit het \$Projectname-netwerk verwijderen";
+App::$strings["By default only the instance of the channel located on this hub will be removed from the network"] = "Standaard wordt alleen het kanaal dat zich op deze hub bevindt uit het \$Projectname-netwerk verwijderd";
+App::$strings["Remove Channel"] = "Kanaal verwijderen";
+App::$strings["No more system notifications."] = "Geen systeemnotificaties meer.";
+App::$strings["System Notifications"] = "Systeemnotificaties";
+App::$strings["Profile Match"] = "Profielovereenkomst";
+App::$strings["No keywords to match. Please add keywords to your default profile."] = "Je hebt geen trefwoorden waarmee overeenkomsten gevonden kunnen worden. Voeg enkele trefwoorden aan je standaardprofiel toe.";
+App::$strings["is interested in:"] = "is geïnteresseerd in:";
+App::$strings["Connect"] = "Verbinden";
+App::$strings["No matches"] = "Geen overeenkomsten";
+App::$strings["This site is not a directory server"] = "Deze hub is geen kanalengidshub (directoryserver)";
+App::$strings["This directory server requires an access token"] = "Deze kanalengidshub (directoryserver) heeft een toegangs-token nodig";
+App::$strings["Hub not found."] = "Hub niet gevonden.";
+App::$strings["Page owner information could not be retrieved."] = "Informatie over de pagina-eigenaar werd niet ontvangen.";
+App::$strings["Profile Photos"] = "Profielfoto's";
+App::$strings["Album not found."] = "Album niet gevonden.";
+App::$strings["Delete Album"] = "Verwijder album";
+App::$strings["Multiple storage folders exist with this album name, but within different directories. Please remove the desired folder or folders using the Files manager"] = "Er bestaan meerdere submappen met deze albumnaam, maar verspreidt over verschillende mappen. Verwijder de gewenste map(pen) met de bestandsbeheerder.";
+App::$strings["Delete Photo"] = "Verwijder foto";
+App::$strings["Public access denied."] = "Openbare toegang geweigerd.";
+App::$strings["No photos selected"] = "Geen foto's geselecteerd";
+App::$strings["Access to this item is restricted."] = "Toegang tot dit item is beperkt.";
+App::$strings["%1$.2f MB of %2$.2f MB photo storage used."] = "%1$.2f MB van %2$.2f MB aan foto-opslag gebruikt.";
+App::$strings["%1$.2f MB photo storage used."] = "%1$.2f MB aan foto-opslag gebruikt.";
+App::$strings["Upload Photos"] = "Foto's uploaden";
+App::$strings["Enter an album name"] = "Vul een albumnaam in";
+App::$strings["or select an existing album (doubleclick)"] = "of kies een bestaand album (dubbelklikken)";
+App::$strings["Create a status post for this upload"] = "Plaats een bericht voor deze upload.";
+App::$strings["Caption (optional):"] = "Bijschrift (optioneel):";
+App::$strings["Description (optional):"] = "Omschrijving (optioneel):";
+App::$strings["Album name could not be decoded"] = "Albumnaam kon niet gedecodeerd worden";
+App::$strings["Contact Photos"] = "Connectiefoto's";
+App::$strings["Show Newest First"] = "Nieuwste eerst weergeven";
+App::$strings["Show Oldest First"] = "Oudste eerst weergeven";
+App::$strings["View Photo"] = "Foto weergeven";
+App::$strings["Edit Album"] = "Album bewerken";
+App::$strings["Permission denied. Access to this item may be restricted."] = "Toegang geweigerd. Toegang tot dit item kan zijn beperkt.";
+App::$strings["Photo not available"] = "Foto niet aanwezig";
+App::$strings["Use as profile photo"] = "Als profielfoto gebruiken";
+App::$strings["Use as cover photo"] = "Als omslagfoto gebruiken";
+App::$strings["Private Photo"] = "Privéfoto";
+App::$strings["Previous"] = "Vorige";
+App::$strings["View Full Size"] = "Volledige grootte weergeven";
+App::$strings["Edit photo"] = "Foto bewerken";
+App::$strings["Rotate CW (right)"] = "Draai met de klok mee (naar rechts)";
+App::$strings["Rotate CCW (left)"] = "Draai tegen de klok in (naar links)";
+App::$strings["Move photo to album"] = "Verplaatst foto naar album";
+App::$strings["Enter a new album name"] = "Vul een nieuwe albumnaam in";
+App::$strings["or select an existing one (doubleclick)"] = "of kies een bestaand album (dubbelklikken)";
+App::$strings["Caption"] = "Bijschrift";
+App::$strings["Add a Tag"] = "Tag toevoegen";
+App::$strings["Example: @bob, @Barbara_Jensen, @jim@example.com"] = "Voorbeeld: @bob, @Barbara_Jansen, @jan@voorbeeld.nl";
+App::$strings["Flag as adult in album view"] = "Markeer als voor volwassenen in albumweergave";
+App::$strings["I like this (toggle)"] = "Vind ik leuk";
+App::$strings["I don't like this (toggle)"] = "Vind ik niet leuk";
+App::$strings["Share"] = "Delen";
+App::$strings["Please wait"] = "Even wachten";
+App::$strings["This is you"] = "Dit ben jij";
+App::$strings["Comment"] = "Reactie";
+App::$strings["Preview"] = "Voorvertoning";
+App::$strings["__ctx:title__ Likes"] = "vinden dit leuk";
+App::$strings["__ctx:title__ Dislikes"] = "vinden dit niet leuk";
+App::$strings["__ctx:title__ Agree"] = "eens";
+App::$strings["__ctx:title__ Disagree"] = "oneens";
+App::$strings["__ctx:title__ Abstain"] = "onthoudingen";
+App::$strings["__ctx:title__ Attending"] = "aanwezig";
+App::$strings["__ctx:title__ Not attending"] = "niet aanwezig";
+App::$strings["__ctx:title__ Might attend"] = "mogelijk aanwezig";
+App::$strings["View all"] = "Toon alles";
+App::$strings["__ctx:noun__ Like"] = array(
+ 0 => "vindt dit leuk",
+ 1 => "vinden dit leuk",
);
-App::$strings["%s channel deleted"] = array(
- 0 => "%s kanaal verwijderd",
- 1 => "%s kanalen verwijderd",
+App::$strings["__ctx:noun__ Dislike"] = array(
+ 0 => "vindt dit niet leuk",
+ 1 => "vinden dit niet leuk",
);
-App::$strings["Channel not found"] = "Kanaal niet gevonden";
-App::$strings["Channel '%s' deleted"] = "Kanaal '%s' verwijderd";
-App::$strings["Channel '%s' censored"] = "Kanaal '%s' gecensureerd";
-App::$strings["Channel '%s' uncensored"] = "Kanaal '%s' ongecensureerd";
-App::$strings["Channel '%s' code allowed"] = "Scripts toegestaan voor kanaal '%s'";
-App::$strings["Channel '%s' code disallowed"] = "Scripts niet toegestaan voor kanaal '%s'";
-App::$strings["Channels"] = "Kanalen";
-App::$strings["Censor"] = "Censureren";
-App::$strings["Uncensor"] = "Niet censureren";
-App::$strings["Allow Code"] = "Scripts toestaan";
-App::$strings["Disallow Code"] = "Scripts niet toestaan";
-App::$strings["Channel"] = "Kanaal";
-App::$strings["UID"] = "UID";
-App::$strings["Selected channels will be deleted!\\n\\nEverything that was posted in these channels on this site will be permanently deleted!\\n\\nAre you sure?"] = "Geselecteerde kanalen worden verwijderd!\\n\\nAlles wat in deze kanalen op deze hub werd gepubliceerd wordt definitief verwijderd!\\n\\nWeet je het zeker?";
-App::$strings["The channel {0} will be deleted!\\n\\nEverything that was posted in this channel on this site will be permanently deleted!\\n\\nAre you sure?"] = "Kanaal {0} wordt verwijderd!\\n\\nAlles wat in dit kanaal op deze hub werd gepubliceerd wordt definitief verwijderd!\\n\\nWeet je het zeker?";
-App::$strings["Plugin %s disabled."] = "Plugin %s uitgeschakeld.";
-App::$strings["Plugin %s enabled."] = "Plugin %s ingeschakeld";
-App::$strings["Disable"] = "Uitschakelen";
-App::$strings["Enable"] = "Inschakelen";
-App::$strings["Plugins"] = "Plugins";
-App::$strings["Toggle"] = "Omschakelen";
-App::$strings["Settings"] = "Instellingen";
-App::$strings["Author: "] = "Auteur: ";
-App::$strings["Maintainer: "] = "Beheerder: ";
-App::$strings["Minimum project version: "] = "Minimum versie Hubzilla: ";
-App::$strings["Maximum project version: "] = "Maximum versie Hubzilla:";
-App::$strings["Minimum PHP version: "] = "Minimum versie PHP: ";
-App::$strings["Requires: "] = "Vereist: ";
-App::$strings["Disabled - version incompatibility"] = "Uitgeschakeld - versie is incompatibel";
-App::$strings["Enter the public git repository URL of the plugin repo."] = "Vul de openbare Git-URL in van de plugin-repository.";
-App::$strings["Plugin repo git URL"] = "Git-URL plugin-repository";
-App::$strings["Custom repo name"] = "Handmatige repository-naam";
-App::$strings["(optional)"] = "(optioneel)";
-App::$strings["Download Plugin Repo"] = "Plugin-repository downloaden";
-App::$strings["Install new repo"] = "Nieuwe repository installeren";
-App::$strings["Install"] = "Installeren";
-App::$strings["Manage Repos"] = "Repositories beheren";
-App::$strings["Installed Plugin Repositories"] = "Toegevoegde plugin-repositories";
-App::$strings["Install a New Plugin Repository"] = "Nieuwe plugin-repository toevoegen";
-App::$strings["Update"] = "Bijwerken";
-App::$strings["Switch branch"] = "Branch veranderen";
-App::$strings["Remove"] = "Verwijderen";
-App::$strings["No themes found."] = "Geen thema's gevonden";
-App::$strings["Screenshot"] = "Schermafdruk";
-App::$strings["Themes"] = "Thema's";
-App::$strings["[Experimental]"] = "[Experimenteel]";
-App::$strings["[Unsupported]"] = "[Niet ondersteund]";
-App::$strings["Log settings updated."] = "Logboek-instellingen bijgewerkt.";
-App::$strings["Logs"] = "Logboeken";
-App::$strings["Clear"] = "Leegmaken";
-App::$strings["Debugging"] = "Debuggen";
-App::$strings["Log file"] = "Logbestand";
-App::$strings["Must be writable by web server. Relative to your top-level webserver directory."] = "Moet door de webserver beschrijfbaar zijn. Relatief ten opzichte van de bovenste map van je \$Projectname-installatie.";
-App::$strings["Log level"] = "Logniveau";
-App::$strings["New Profile Field"] = "Nieuw profielveld";
-App::$strings["Field nickname"] = "Bijnaam voor veld";
-App::$strings["System name of field"] = "Systeemnaam voor veld";
-App::$strings["Input type"] = "Invoertype";
-App::$strings["Field Name"] = "Veldnaam";
-App::$strings["Label on profile pages"] = "Tekstlabel voor op profielpagina's";
-App::$strings["Help text"] = "Helptekst";
-App::$strings["Additional info (optional)"] = "Extra informatie (optioneel)";
-App::$strings["Field definition not found"] = "Velddefinitie niet gevonden";
-App::$strings["Edit Profile Field"] = "Profielveld bewerken";
-App::$strings["Profile Fields"] = "Profielvelden";
-App::$strings["Basic Profile Fields"] = "Standaard profielvelden";
-App::$strings["Advanced Profile Fields"] = "Geavanceerde profielvelden";
-App::$strings["(In addition to basic fields)"] = "(als toevoeging op de standaard velden)";
-App::$strings["All available fields"] = "Alle beschikbare velden";
-App::$strings["Custom Fields"] = "Extra (handmatig toegevoegde) velden";
-App::$strings["Create Custom Field"] = "Extra velden aanmaken";
+App::$strings["Photo Tools"] = "Hulpmiddelen";
+App::$strings["In This Photo:"] = "Op deze foto:";
+App::$strings["Map"] = "Kaart";
+App::$strings["__ctx:noun__ Likes"] = "vinden dit leuk";
+App::$strings["__ctx:noun__ Dislikes"] = "vinden dit niet leuk";
+App::$strings["Close"] = "Sluiten";
+App::$strings["View Album"] = "Album weergeven";
+App::$strings["Recent Photos"] = "Recente foto's";
App::$strings["Name or caption"] = "Naam";
App::$strings["Examples: \"Bob Jameson\", \"Lisa and her Horses\", \"Soccer\", \"Aviation Group\""] = "Voorbeelden: \"Jan Pietersen\", \"Willems weblog\", \"Computerforum\"";
App::$strings["Choose a short nickname"] = "Korte bijnaam";
@@ -1035,6 +1032,7 @@ App::$strings["Poke, prod or do other things to somebody"] = "Iemand bijvoorbeel
App::$strings["Recipient"] = "Ontvanger";
App::$strings["Choose what you wish to do to recipient"] = "Kies wat je met de ontvanger wil doen";
App::$strings["Make this post private"] = "Maak dit bericht privé";
+App::$strings["Apps"] = "Apps";
App::$strings["Unable to find your hub."] = "Niet in staat om je hub te vinden";
App::$strings["Post successful."] = "Verzenden bericht geslaagd.";
App::$strings["Invalid profile identifier."] = "Ongeldige profiel-identificator";
@@ -1045,10 +1043,6 @@ App::$strings["Visible To"] = "Zichtbaar voor";
App::$strings["This setting requires special processing and editing has been blocked."] = "Deze instelling vereist een speciaal proces en bewerken is geblokkeerd.";
App::$strings["Configuration Editor"] = "Configuratiebewerker";
App::$strings["Warning: Changing some settings could render your channel inoperable. Please leave this page unless you are comfortable with and knowledgeable about how to correctly use this feature."] = "Waarschuwing: het veranderen van sommige instellingen kunnen jouw kanaal onklaar maken. Verlaat deze pagina, tenzij je weet waar je mee bezig bent en voldoende kennis bezit over hoe je deze functies moet gebruiken. ";
-App::$strings["Authorize application connection"] = "Geef toestemming voor applicatiekoppeling";
-App::$strings["Return to your app and insert this Security Code:"] = "Ga terug naar je app en voeg deze beveiligingscode in:";
-App::$strings["Please login to continue."] = "Inloggen om verder te kunnen gaan.";
-App::$strings["Do you want to authorize this application to access your posts and contacts, and/or create new posts for you?"] = "Wil je deze applicatie toestemming geven om jouw berichten en connecties te zien, en/of nieuwe berichten voor jou te plaatsen?";
App::$strings["Version %s"] = "Versie %s";
App::$strings["Installed plugins/addons/apps:"] = "Ingeschakelde plugins en apps:";
App::$strings["No installed plugins/addons/apps"] = "Geen ingeschakelde plugins en apps";
@@ -1064,150 +1058,88 @@ App::$strings["Suggestions, praise, etc. - please email \"redmatrix\" at libreli
App::$strings["Site Administrators"] = "Hubbeheerders: ";
App::$strings["Blocks"] = "Blokken";
App::$strings["Block Title"] = "Bloktitel";
-App::$strings["Share"] = "Delen";
App::$strings["Layouts"] = "Lay-outs";
+App::$strings["Help"] = "Hulp";
App::$strings["Comanche page description language help"] = "Hulp met de paginabeschrijvingstaal Comanche";
App::$strings["Layout Description"] = "Lay-out-omschrijving";
App::$strings["Download PDL file"] = "Download PDL-bestand";
-App::$strings["Public Hubs"] = "Openbare hubs";
-App::$strings["The listed hubs allow public registration for the \$Projectname network. All hubs in the network are interlinked so membership on any of them conveys membership in the network as a whole. Some hubs may require subscription or provide tiered service plans. The hub itself <strong>may</strong> provide additional details."] = "Op de hier weergegeven hubs kan iedereen zich voor het \$Projectname-netwerk aanmelden. Alle hubs in het netwerk zijn met elkaar verbonden, dus maakt het qua lidmaatschap niet uit waar je je aanmeldt. Op sommige hubs heb je eerst goedkeuring nodig en sommige hubs vereisen een financiële tegemoetkoming voor bepaalde uitbreidingen. <strong>Mogelijk</strong> wordt hierover op de hub zelf meer informatie gegeven.";
-App::$strings["Hub URL"] = "Hub-URL";
-App::$strings["Access Type"] = "Toegangs-<br/>&nbsp;type";
-App::$strings["Registration Policy"] = "Registratie-<br/>&nbsp;beleid";
-App::$strings["Stats"] = "Stats";
-App::$strings["Software"] = "Software";
-App::$strings["Ratings"] = "Beoordelingen";
-App::$strings["Rate"] = "Beoordeel";
-App::$strings["Profile Photos"] = "Profielfoto's";
+App::$strings["# Accounts"] = "# accounts";
+App::$strings["# blocked accounts"] = "# geblokkeerde accounts";
+App::$strings["# expired accounts"] = "# verlopen accounts";
+App::$strings["# expiring accounts"] = "# accounts die nog moeten verlopen";
+App::$strings["# Channels"] = "# Kanalen";
+App::$strings["# primary"] = "# primair";
+App::$strings["# clones"] = "# klonen";
+App::$strings["Message queues"] = "Berichtenwachtrij";
+App::$strings["Your software should be updated"] = "Jouw software moet worden bijgewerkt ";
+App::$strings["Summary"] = "Samenvatting";
+App::$strings["Registered accounts"] = "Geregistreerde accounts";
+App::$strings["Pending registrations"] = "Accounts die op goedkeuring wachten";
+App::$strings["Registered channels"] = "Geregistreerde kanalen";
+App::$strings["Active plugins"] = "Ingeschakelde plugins";
+App::$strings["Version"] = "Versie";
+App::$strings["Repository version (master)"] = "Versie repository (master)";
+App::$strings["Repository version (dev)"] = "Versie repository (dev)";
App::$strings["Shift-reload the page or clear browser cache if the new photo does not display immediately."] = "Vernieuw de pagina met shift+R of shift+F5, of leeg je browserbuffer, wanneer de nieuwe foto niet meteen wordt weergegeven.";
App::$strings["Upload Profile Photo"] = "Profielfoto uploaden";
App::$strings["Permissions denied."] = "Permissies niet toegestaan";
+App::$strings["l, F j"] = "l j F";
+App::$strings["Link to Source"] = "Originele locatie";
+App::$strings["Edit Event"] = "Gebeurtenis bewerken";
+App::$strings["Create Event"] = "Gebeurtenis aanmaken";
+App::$strings["Export"] = "Exporteren";
App::$strings["Import"] = "Importeren";
+App::$strings["Today"] = "Vandaag";
App::$strings["No channel."] = "Geen kanaal.";
App::$strings["Common connections"] = "Veel voorkomende connecties";
App::$strings["No connections in common."] = "Geen gemeenschappelijke connecties.";
-App::$strings["Authentication failed."] = "Authenticatie mislukt.";
-App::$strings["Remote Authentication"] = "Authenticatie op afstand";
-App::$strings["Enter your channel address (e.g. channel@example.com)"] = "Vul jouw kanaaladres in (bijv. channel@example.com)";
-App::$strings["Authenticate"] = "Authenticeren";
App::$strings["No ratings"] = "Geen beoordelingen";
App::$strings["Rating: "] = "Beoordeling: ";
App::$strings["Website: "] = "Website: ";
App::$strings["Description: "] = "Omschrijving: ";
-App::$strings["Apps"] = "Apps";
-App::$strings["No such group"] = "Collectie niet gevonden";
-App::$strings["No such channel"] = "Niet zo'n kanaal";
-App::$strings["forum"] = "forum";
-App::$strings["Search Results For:"] = "Zoekresultaten voor:";
-App::$strings["Privacy group is empty"] = "Privacygroep is leeg";
-App::$strings["Privacy group: "] = "Privacygroep: ";
-App::$strings["Invalid connection."] = "Ongeldige connectie.";
-App::$strings["Continue"] = "Ga verder";
-App::$strings["Premium Channel Setup"] = "Instellen premiumkanaal ";
-App::$strings["Enable premium channel connection restrictions"] = "Restricties voor connecties van premiumkanaal toestaan";
-App::$strings["Please enter your restrictions or conditions, such as paypal receipt, usage guidelines, etc."] = "Vul je restricties of voorwaarden in, zoals een paypal-afschrift, voorschriften voor leden, enz.";
-App::$strings["This channel may require additional steps or acknowledgement of the following conditions prior to connecting:"] = "Dit kanaal kan extra stappen of het accepteren van de volgende voorwaarden vereisen, voordat de connectie wordt geaccepteerd:";
-App::$strings["Potential connections will then see the following text before proceeding:"] = "Mogelijke connecties zullen dan de volgende tekst zien voordat ze verder kunnen:";
-App::$strings["By continuing, I certify that I have complied with any instructions provided on this page."] = "Door verder te gaan ga ik automatisch akkoord met alle voorwaarden en aanwijzingen op deze pagina.";
-App::$strings["(No specific instructions have been provided by the channel owner.)"] = "(Er zijn geen speciale voorwaarden en aanwijzingen door de kanaal-eigenaar verstrekt) ";
-App::$strings["Restricted or Premium Channel"] = "Beperkt of premiumkanaal";
+App::$strings["Maximum daily site registrations exceeded. Please try again tomorrow."] = "Maximum toegestane dagelijkse registraties op deze \$Projectname-hub bereikt. Probeer het morgen (UTC) nogmaals.";
+App::$strings["Please indicate acceptance of the Terms of Service. Registration failed."] = "Registratie mislukt. De gebruiksvoorwaarden dienen wel geaccepteerd te worden.";
+App::$strings["Passwords do not match."] = "Wachtwoorden komen niet met elkaar overeen.";
+App::$strings["Registration successful. Please check your email for validation instructions."] = "Registratie geslaagd. Controleer je e-mail voor instructies.";
+App::$strings["Your registration is pending approval by the site owner."] = "Jouw accountregistratie wacht op goedkeuring van de beheerder van deze \$Projectname-hub.";
+App::$strings["Your registration can not be processed."] = "Jouw registratie kan niet verwerkt worden.";
+App::$strings["Registration on this hub is disabled."] = "Registreren van nieuwe accounts is op deze hub uitgeschakeld.";
+App::$strings["Registration on this hub is by approval only."] = "Registraties op deze hub moeten eerst worden goedgekeurd.";
+App::$strings["<a href=\"pubsites\">Register at another affiliated hub.</a>"] = "<a href=\"pubsites\">Registreer op een andere hub</a>.";
+App::$strings["This site has exceeded the number of allowed daily account registrations. Please try again tomorrow."] = "Deze \$Projectname-hub heeft het maximum aantal dagelijks toegestane registraties bereikt. Probeer het morgen (UTC) nogmaals.";
+App::$strings["Terms of Service"] = "Gebruiksvoorwaarden";
+App::$strings["I accept the %s for this website"] = "Ik accepteer de %s van deze \$Projectname-hub";
+App::$strings["I am over 13 years of age and accept the %s for this website"] = "Ik ben 13 jaar of ouder en accepteer de %s van deze \$Projectname-hub";
+App::$strings["Your email address"] = "Jouw e-mailadres";
+App::$strings["Choose a password"] = "Geef een wachtwoord op";
+App::$strings["Please re-enter your password"] = "Geef het wachtwoord opnieuw op";
+App::$strings["Please enter your invitation code"] = "Vul jouw uitnodigingscode in";
+App::$strings["no"] = "Nee";
+App::$strings["yes"] = "Ja";
+App::$strings["Membership on this site is by invitation only."] = "Registreren op deze \$Projectname-hub kan alleen op uitnodiging.";
+App::$strings["Register"] = "Registreren";
+App::$strings["This site may require email verification after submitting this form. If you are returned to a login page, please check your email for instructions."] = "Mogelijk moet op deze hub eerst jouw e-mail geverifieerd worden. Wanneer je na het indienen van dit formulier op de inlogpagina terecht komt, dan dien je jouw e-mail te controleren voor instructies. Controleer eventueel ook jouw spamfolder.";
+App::$strings["Documentation Search"] = "Zoek documentatie";
+App::$strings["\$Projectname Documentation"] = "\$Projectname-documentatie";
App::$strings["Select a bookmark folder"] = "Kies een bladwijzermap";
App::$strings["Save Bookmark"] = "Bladwijzer opslaan";
App::$strings["URL of bookmark"] = "URL van bladwijzer";
App::$strings["Or enter new bookmark folder name"] = "Of geef de naam op van een nieuwe bladwijzermap";
-App::$strings["Page owner information could not be retrieved."] = "Informatie over de pagina-eigenaar werd niet ontvangen.";
-App::$strings["Album not found."] = "Album niet gevonden.";
-App::$strings["Delete Album"] = "Verwijder album";
-App::$strings["Multiple storage folders exist with this album name, but within different directories. Please remove the desired folder or folders using the Files manager"] = "Er bestaan meerdere submappen met deze albumnaam, maar verspreidt over verschillende mappen. Verwijder de gewenste map(pen) met de bestandsbeheerder.";
-App::$strings["Delete Photo"] = "Verwijder foto";
-App::$strings["No photos selected"] = "Geen foto's geselecteerd";
-App::$strings["Access to this item is restricted."] = "Toegang tot dit item is beperkt.";
-App::$strings["%1$.2f MB of %2$.2f MB photo storage used."] = "%1$.2f MB van %2$.2f MB aan foto-opslag gebruikt.";
-App::$strings["%1$.2f MB photo storage used."] = "%1$.2f MB aan foto-opslag gebruikt.";
-App::$strings["Upload Photos"] = "Foto's uploaden";
-App::$strings["Enter an album name"] = "Vul een albumnaam in";
-App::$strings["or select an existing album (doubleclick)"] = "of kies een bestaand album (dubbelklikken)";
-App::$strings["Create a status post for this upload"] = "Plaats een bericht voor deze upload.";
-App::$strings["Caption (optional):"] = "Bijschrift (optioneel):";
-App::$strings["Description (optional):"] = "Omschrijving (optioneel):";
-App::$strings["Album name could not be decoded"] = "Albumnaam kon niet gedecodeerd worden";
-App::$strings["Contact Photos"] = "Connectiefoto's";
-App::$strings["Show Newest First"] = "Nieuwste eerst weergeven";
-App::$strings["Show Oldest First"] = "Oudste eerst weergeven";
-App::$strings["View Photo"] = "Foto weergeven";
-App::$strings["Edit Album"] = "Album bewerken";
-App::$strings["Permission denied. Access to this item may be restricted."] = "Toegang geweigerd. Toegang tot dit item kan zijn beperkt.";
-App::$strings["Photo not available"] = "Foto niet aanwezig";
-App::$strings["Use as profile photo"] = "Als profielfoto gebruiken";
-App::$strings["Use as cover photo"] = "Als omslagfoto gebruiken";
-App::$strings["Private Photo"] = "Privéfoto";
-App::$strings["View Full Size"] = "Volledige grootte weergeven";
-App::$strings["Edit photo"] = "Foto bewerken";
-App::$strings["Rotate CW (right)"] = "Draai met de klok mee (naar rechts)";
-App::$strings["Rotate CCW (left)"] = "Draai tegen de klok in (naar links)";
-App::$strings["Enter a new album name"] = "Vul een nieuwe albumnaam in";
-App::$strings["or select an existing one (doubleclick)"] = "of kies een bestaand album (dubbelklikken)";
-App::$strings["Caption"] = "Bijschrift";
-App::$strings["Add a Tag"] = "Tag toevoegen";
-App::$strings["Example: @bob, @Barbara_Jensen, @jim@example.com"] = "Voorbeeld: @bob, @Barbara_Jansen, @jan@voorbeeld.nl";
-App::$strings["Flag as adult in album view"] = "Markeer als voor volwassenen in albumweergave";
-App::$strings["I like this (toggle)"] = "Vind ik leuk";
-App::$strings["I don't like this (toggle)"] = "Vind ik niet leuk";
-App::$strings["Please wait"] = "Even wachten";
-App::$strings["This is you"] = "Dit ben jij";
-App::$strings["Comment"] = "Reactie";
-App::$strings["__ctx:title__ Likes"] = "vinden dit leuk";
-App::$strings["__ctx:title__ Dislikes"] = "vinden dit niet leuk";
-App::$strings["__ctx:title__ Agree"] = "eens";
-App::$strings["__ctx:title__ Disagree"] = "oneens";
-App::$strings["__ctx:title__ Abstain"] = "onthoudingen";
-App::$strings["__ctx:title__ Attending"] = "aanwezig";
-App::$strings["__ctx:title__ Not attending"] = "niet aanwezig";
-App::$strings["__ctx:title__ Might attend"] = "mogelijk aanwezig";
-App::$strings["View all"] = "Toon alles";
-App::$strings["__ctx:noun__ Like"] = array(
- 0 => "vindt dit leuk",
- 1 => "vinden dit leuk",
-);
-App::$strings["__ctx:noun__ Dislike"] = array(
- 0 => "vindt dit niet leuk",
- 1 => "vinden dit niet leuk",
-);
-App::$strings["Photo Tools"] = "Hulpmiddelen";
-App::$strings["In This Photo:"] = "Op deze foto:";
-App::$strings["Map"] = "Kaart";
-App::$strings["__ctx:noun__ Likes"] = "vinden dit leuk";
-App::$strings["__ctx:noun__ Dislikes"] = "vinden dit niet leuk";
-App::$strings["Close"] = "Sluiten";
-App::$strings["View Album"] = "Album weergeven";
-App::$strings["Recent Photos"] = "Recente foto's";
+App::$strings["Authentication failed."] = "Authenticatie mislukt.";
+App::$strings["Remote Authentication"] = "Authenticatie op afstand";
+App::$strings["Enter your channel address (e.g. channel@example.com)"] = "Vul jouw kanaaladres in (bijv. channel@example.com)";
+App::$strings["Authenticate"] = "Authenticeren";
App::$strings["Please login."] = "Inloggen.";
App::$strings["Account removals are not allowed within 48 hours of changing the account password."] = "Het verwijderen van een account is niet toegestaan binnen 48 uur nadat het wachtwoord is veranderd.";
App::$strings["Remove This Account"] = "Verwijder dit account";
-App::$strings["WARNING: "] = "WAARSCHUWING: ";
App::$strings["This account and all its channels will be completely removed from the network. "] = "Dit account en al zijn kanalen worden volledig uit het \$Projectname-netwerk verwijderd.";
-App::$strings["This action is permanent and can not be undone!"] = "Deze handeling is van permanente aard en kan niet meer worden teruggedraaid!";
-App::$strings["Please enter your password for verification:"] = "Vul je wachtwoord in ter verificatie:";
App::$strings["Remove this account, all its channels and all its channel clones from the network"] = "Dit account, al zijn kanalen en alle klonen van zijn kanalen uit het \$Projectname-netwerk verwijderen";
App::$strings["By default only the instances of the channels located on this hub will be removed from the network"] = "Standaard worden alleen de kanalen die zich op deze hub bevinden uit het \$Projectname-netwerk verwijderd";
App::$strings["Remove Account"] = "Account verwijderen";
-App::$strings["Channel removals are not allowed within 48 hours of changing the account password."] = "Het verwijderen van een kanaal is niet toegestaan binnen 48 uur nadat het wachtwoord van het account is veranderd.";
-App::$strings["Remove This Channel"] = "Verwijder dit kanaal";
-App::$strings["This channel will be completely removed from the network. "] = "Dit kanaal wordt volledig uit het \$Projectname-netwerk verwijderd.";
-App::$strings["Remove this channel and all its clones from the network"] = "Dit kanaal en alle klonen hiervan uit het \$Projectname-netwerk verwijderen";
-App::$strings["By default only the instance of the channel located on this hub will be removed from the network"] = "Standaard wordt alleen het kanaal dat zich op deze hub bevindt uit het \$Projectname-netwerk verwijderd";
-App::$strings["Remove Channel"] = "Kanaal verwijderen";
-App::$strings["Export Channel"] = "Kanaal exporteren";
-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."] = "Exporteer de basisinformatie van jouw kanaal naar een bestand. Dit fungeert als een back-up van jouw connecties, permissies, profiel en basisgegevens, die gebruikt kan worden om op een nieuwe hub jouw gegevens te importeren. Deze back-up bevat echter niet de inhoud van jouw kanaal.";
-App::$strings["Export Content"] = "Inhoud exporteren";
-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."] = "Exporteer informatie en recente inhoud van jouw kanaal naar een JSON-back-up, wat kan worden gebruikt om jouw kanaal te herstellen of te importeren op een andere hub. Dit slaat al jouw connecties, permissies, profielgegevens en enkele maanden aan inhoud van jouw kanaal op. Dit bestand kan ZEER groot worden. Wees geduldig - het kan enkele minuten duren voordat de download begint.";
-App::$strings["Export your posts from a given year."] = "Exporteer jouw berichten uit een bepaald jaar.";
-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."] = "Je kan ook berichten en conversaties uit een bepaald jaar of van een bepaalde maand exporteren. Verander de datum in de adresbalk van jouw webbrowser om andere jaren en maanden te selecteren. Wanneer het exporteren mislukt (waarschijnlijk door een gebrek aan beschikbaar servergeheugen), probeer het dan nogmaals met een beperkter tijdvak.";
-App::$strings["To select all posts for a given year, such as this year, visit <a href=\"%1\$s\">%2\$s</a>"] = "Bezoek <a href=\"%1\$s\">%2\$s</a> om alle berichten van bijvoorbeeld dit jaar te selecteren. ";
-App::$strings["To select all posts for a given month, such as January of this year, visit <a href=\"%1\$s\">%2\$s</a>"] = "Bezoek <a href=\"%1\$s\">%2\$s</a> om alle berichten van bijvoorbeeld januari dit jaar te selecteren.";
-App::$strings["These content files may be imported or restored by visiting <a href=\"%1\$s\">%2\$s</a> on any site containing your channel. For best results please import or restore these in date order (oldest first)."] = "Deze back-up-bestanden kunnen geïmporteerd of hersteld worden door op jouw hub en met jouw kanaal <a href=\"%1\$s\">%2\$s</a> te bezoeken. Voor het beste resultaat kan je de bestanden in chronologische volgorde importeren of herstellen.";
App::$strings["Import Webpage Elements"] = "Webpagina-elementen importeren";
App::$strings["Import selected"] = "Importbestand geselecteerd";
+App::$strings["Export Webpage Elements"] = "Webpagina-elementen exporteren";
+App::$strings["Export selected"] = "Selectie exporteren";
App::$strings["Webpages"] = "Webpagina's";
App::$strings["Actions"] = "Acties";
App::$strings["Page Link"] = "Paginalink";
@@ -1217,38 +1149,94 @@ App::$strings["Error opening zip file"] = "Fout met openen zipbestand";
App::$strings["Invalid folder path."] = "Ongeldige maplocatie";
App::$strings["No webpage elements detected."] = "Geen webpagina-elementen gedecteerd";
App::$strings["Import complete."] = "Importeren voltooid.";
+App::$strings["Export Channel"] = "Kanaal exporteren";
+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."] = "Exporteer de basisinformatie van jouw kanaal naar een bestand. Dit fungeert als een back-up van jouw connecties, permissies, profiel en basisgegevens, die gebruikt kan worden om op een nieuwe hub jouw gegevens te importeren. Deze back-up bevat echter niet de inhoud van jouw kanaal.";
+App::$strings["Export Content"] = "Inhoud exporteren";
+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."] = "Exporteer informatie en recente inhoud van jouw kanaal naar een JSON-back-up, wat kan worden gebruikt om jouw kanaal te herstellen of te importeren op een andere hub. Dit slaat al jouw connecties, permissies, profielgegevens en enkele maanden aan inhoud van jouw kanaal op. Dit bestand kan ZEER groot worden. Wees geduldig - het kan enkele minuten duren voordat de download begint.";
+App::$strings["Export your posts from a given year."] = "Exporteer jouw berichten uit een bepaald jaar.";
+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."] = "Je kan ook berichten en conversaties uit een bepaald jaar of van een bepaalde maand exporteren. Verander de datum in de adresbalk van jouw webbrowser om andere jaren en maanden te selecteren. Wanneer het exporteren mislukt (waarschijnlijk door een gebrek aan beschikbaar servergeheugen), probeer het dan nogmaals met een beperkter tijdvak.";
+App::$strings["To select all posts for a given year, such as this year, visit <a href=\"%1\$s\">%2\$s</a>"] = "Bezoek <a href=\"%1\$s\">%2\$s</a> om alle berichten van bijvoorbeeld dit jaar te selecteren. ";
+App::$strings["To select all posts for a given month, such as January of this year, visit <a href=\"%1\$s\">%2\$s</a>"] = "Bezoek <a href=\"%1\$s\">%2\$s</a> om alle berichten van bijvoorbeeld januari dit jaar te selecteren.";
+App::$strings["These content files may be imported or restored by visiting <a href=\"%1\$s\">%2\$s</a> on any site containing your channel. For best results please import or restore these in date order (oldest first)."] = "Deze back-up-bestanden kunnen geïmporteerd of hersteld worden door op jouw hub en met jouw kanaal <a href=\"%1\$s\">%2\$s</a> te bezoeken. Voor het beste resultaat kan je de bestanden in chronologische volgorde importeren of herstellen.";
+App::$strings["Item is not editable"] = "Item is niet te bewerken";
App::$strings["Items tagged with: %s"] = "Items getagd met %s";
App::$strings["Search results for: %s"] = "Zoekresultaten voor %s";
+App::$strings["Calendar entries imported."] = "Agenda-items geïmporteerd.";
+App::$strings["No calendar entries found."] = "Geen agenda-items gevonden.";
+App::$strings["Event can not end before it has started."] = "Gebeurtenis kan niet eindigen voordat het is begonnen";
+App::$strings["Unable to generate preview."] = "Niet in staat om voorvertoning te genereren";
+App::$strings["Event title and start time are required."] = "Titel en begintijd van gebeurtenis zijn vereist.";
+App::$strings["Event not found."] = "Gebeurtenis niet gevonden";
+App::$strings["Edit event title"] = "Titel bewerken";
+App::$strings["Event title"] = "Titel";
+App::$strings["Categories (comma-separated list)"] = "Categorieën (door komma's gescheiden lijst)";
+App::$strings["Edit Category"] = "Categorie";
+App::$strings["Category"] = "Categorie";
+App::$strings["Edit start date and time"] = "Begindatum en -tijd bewerken";
+App::$strings["Start date and time"] = "Begindatum en -tijd";
+App::$strings["Finish date and time are not known or not relevant"] = "Einddatum en -tijd zijn niet bekend of niet van toepassing";
+App::$strings["Edit finish date and time"] = "Einddatum en -tijd bewerken";
+App::$strings["Finish date and time"] = "Einddatum en -tijd";
+App::$strings["Adjust for viewer timezone"] = "Aanpassen aan de tijdzone van wie deze gebeurtenis bekijkt";
+App::$strings["Important for events that happen in a particular place. Not practical for global holidays."] = "Belangrijk voor gebeurtenissen die op een bepaalde locatie plaatsvinden. Niet praktisch voor wereldwijde feestdagen.";
+App::$strings["Edit Description"] = "Omschrijving bewerken";
+App::$strings["Edit Location"] = "Locatie bewerken";
+App::$strings["Share this event"] = "Deel deze gebeurtenis";
+App::$strings["Permission settings"] = "Permissies";
+App::$strings["Advanced Options"] = "Geavanceerde opties";
+App::$strings["Edit event"] = "Gebeurtenis bewerken";
+App::$strings["Delete event"] = "Gebeurtenis verwijderen";
+App::$strings["calendar"] = "agenda";
+App::$strings["Month"] = "Maand";
+App::$strings["Week"] = "Week";
+App::$strings["Day"] = "Dag";
+App::$strings["Event removed"] = "Gebeurtenis verwijderd";
+App::$strings["Failed to remove event"] = "Verwijderen gebeurtenis mislukt";
App::$strings["No service class restrictions found."] = "Geen abonnementsbeperkingen gevonden.";
-App::$strings["Maximum daily site registrations exceeded. Please try again tomorrow."] = "Maximum toegestane dagelijkse registraties op deze \$Projectname-hub bereikt. Probeer het morgen (UTC) nogmaals.";
-App::$strings["Please indicate acceptance of the Terms of Service. Registration failed."] = "Registratie mislukt. De gebruiksvoorwaarden dienen wel geaccepteerd te worden.";
-App::$strings["Passwords do not match."] = "Wachtwoorden komen niet met elkaar overeen.";
-App::$strings["Registration successful. Please check your email for validation instructions."] = "Registratie geslaagd. Controleer je e-mail voor instructies.";
-App::$strings["Your registration is pending approval by the site owner."] = "Jouw accountregistratie wacht op goedkeuring van de beheerder van deze \$Projectname-hub.";
-App::$strings["Your registration can not be processed."] = "Jouw registratie kan niet verwerkt worden.";
-App::$strings["Registration on this hub is disabled."] = "Registreren van nieuwe accounts is op deze hub uitgeschakeld.";
-App::$strings["Registration on this hub is by approval only."] = "Registraties op deze hub moeten eerst worden goedgekeurd.";
-App::$strings["<a href=\"pubsites\">Register at another affiliated hub.</a>"] = "<a href=\"pubsites\">Registreer op een andere hub</a>.";
-App::$strings["This site has exceeded the number of allowed daily account registrations. Please try again tomorrow."] = "Deze \$Projectname-hub heeft het maximum aantal dagelijks toegestane registraties bereikt. Probeer het morgen (UTC) nogmaals.";
-App::$strings["Terms of Service"] = "Gebruiksvoorwaarden";
-App::$strings["I accept the %s for this website"] = "Ik accepteer de %s van deze \$Projectname-hub";
-App::$strings["I am over 13 years of age and accept the %s for this website"] = "Ik ben 13 jaar of ouder en accepteer de %s van deze \$Projectname-hub";
-App::$strings["Your email address"] = "Jouw e-mailadres";
-App::$strings["Choose a password"] = "Geef een wachtwoord op";
-App::$strings["Please re-enter your password"] = "Geef het wachtwoord opnieuw op";
-App::$strings["Please enter your invitation code"] = "Vul jouw uitnodigingscode in";
-App::$strings["no"] = "Nee";
-App::$strings["yes"] = "Ja";
-App::$strings["Membership on this site is by invitation only."] = "Registreren op deze \$Projectname-hub kan alleen op uitnodiging.";
-App::$strings["Register"] = "Registreren";
-App::$strings["This site may require email verification after submitting this form. If you are returned to a login page, please check your email for instructions."] = "Mogelijk moet op deze hub eerst jouw e-mail geverifieerd worden. Wanneer je na het indienen van dit formulier op de inlogpagina terecht komt, dan dien je jouw e-mail te controleren voor instructies. Controleer eventueel ook jouw spamfolder.";
-App::$strings["Edit post"] = "Bericht bewerken";
+App::$strings["Thing updated"] = "Ding bijgewerkt";
+App::$strings["Object store: failed"] = "Opslaan van ding mislukt";
+App::$strings["Thing added"] = "Ding toegevoegd";
+App::$strings["OBJ: %1\$s %2\$s %3\$s"] = "OBJ: %1\$s %2\$s %3\$s";
+App::$strings["Show Thing"] = "Ding weergeven";
+App::$strings["item not found."] = "Item niet gevonden";
+App::$strings["Edit Thing"] = "Ding bewerken";
+App::$strings["Select a profile"] = "Kies een profiel";
+App::$strings["Post an activity"] = "Plaats een bericht";
+App::$strings["Only sends to viewers of the applicable profile"] = "Toont dit alleen aan diegene die het gekozen profiel mogen zien.";
+App::$strings["Name of thing e.g. something"] = "Naam van ding";
+App::$strings["URL of thing (optional)"] = "URL van ding (optioneel)";
+App::$strings["URL for photo of thing (optional)"] = "URL voor foto van ding (optioneel)";
+App::$strings["Add Thing to your Profile"] = "Ding aan je profiel toevoegen";
+App::$strings["Unable to locate original post."] = "Niet in staat om de originele locatie van het bericht te vinden. ";
+App::$strings["Empty post discarded."] = "Leeg bericht geannuleerd";
+App::$strings["Executable content type not permitted to this channel."] = "Uitvoerbare bestanden zijn niet toegestaan op dit kanaal.";
+App::$strings["Duplicate post suppressed."] = "Dubbel bericht tegengehouden.";
+App::$strings["System error. Post not saved."] = "Systeemfout. Bericht niet opgeslagen.";
+App::$strings["Unable to obtain post information from database."] = "Niet in staat om informatie over dit bericht uit de database te verkrijgen.";
+App::$strings["You have reached your limit of %1$.0f top level posts."] = "Je hebt jouw limiet van %1$.0f berichten bereikt.";
+App::$strings["You have reached your limit of %1$.0f webpages."] = "Je hebt jouw limiet van %1$.0f webpagina's bereikt.";
App::$strings["Files: shared with me"] = "Bestanden: met mij gedeeld";
App::$strings["NEW"] = "NIEUW";
App::$strings["Remove all files"] = "Verwijder alle bestanden";
App::$strings["Remove this file"] = "Verwijder dit bestand";
-App::$strings["network"] = "netwerk";
-App::$strings["RSS"] = "RSS";
+App::$strings["Not found"] = "Niet gevonden";
+App::$strings["Wiki"] = "Wiki";
+App::$strings["Sandbox"] = "Zandbak";
+App::$strings["\"# Wiki Sandbox\\n\\nContent you **edit** and **preview** here *will not be saved*.\""] = "\"# Wiki Sandbox\\n\\nWat er hier onder **edit** en **preview** staat *wordt niet opgeslagen*.\"";
+App::$strings["Revision Comparison"] = "Revisies vergelijken";
+App::$strings["Revert"] = "Ongedaan maken";
+App::$strings["Enter the name of your new wiki:"] = "Vul de naam in van jouw nieuwe wiki:";
+App::$strings["Enter the name of the new page:"] = "Vul de naam in van de nieuwe pagina:";
+App::$strings["Enter the new name:"] = "Vul de nieuwe naam in:";
+App::$strings["Embed image from photo albums"] = "Afbeelding uit een fotoalbum invoegen";
+App::$strings["Embed an image from your albums"] = "Afbeelding uit jouw albums invoegen";
+App::$strings["OK"] = "OK";
+App::$strings["Choose images to embed"] = "Kies afbeeldingen om in te voegen";
+App::$strings["Choose an album"] = "Kies een album";
+App::$strings["Choose a different album..."] = "Kies een ander album...";
+App::$strings["Error getting album list"] = "Fout met ophalen albumlijst";
+App::$strings["Error getting photo link"] = "Fout met ophalen fotolink";
+App::$strings["Error getting album"] = "Fout met ophalen album";
App::$strings["Failed to create source. No channel selected."] = "Aanmaken bron mislukt. Geen kanaal geselecteerd.";
App::$strings["Source created."] = "Bron aangemaakt.";
App::$strings["Source updated."] = "Bron aangemaakt.";
@@ -1271,97 +1259,79 @@ App::$strings["%1\$s is following %2\$s's %3\$s"] = "%1\$s volgt het %3\$s van %
App::$strings["%1\$s stopped following %2\$s's %3\$s"] = "%1\$s volgt het %3\$s van %2\$s niet meer";
App::$strings["No suggestions available. If this is a new site, please try again in 24 hours."] = "Geen voorgestelde kanalen gevonden. Wanneer dit een nieuwe hub is, probeer het dan over 24 uur weer.";
App::$strings["Ignore/Hide"] = "Negeren/Verbergen";
+App::$strings["Channel Suggestions"] = "Voorgestelde kanalen";
App::$strings["post"] = "bericht";
App::$strings["comment"] = "reactie";
App::$strings["%1\$s tagged %2\$s's %3\$s with %4\$s"] = "%1\$s heeft het %3\$s van %2\$s getagd met %4\$s";
App::$strings["Tag removed"] = "Tag verwijderd";
App::$strings["Remove Item Tag"] = "Verwijder item-tag";
App::$strings["Select a tag to remove: "] = "Kies een tag om te verwijderen";
-App::$strings["Invalid message"] = "Ongeldig bericht";
-App::$strings["no results"] = "geen resultaten";
-App::$strings["channel sync processed"] = "kanaalsync verwerkt";
-App::$strings["queued"] = "in wachtrij";
-App::$strings["posted"] = "verstuurd";
-App::$strings["accepted for delivery"] = "geaccepteerd om afgeleverd te worden";
-App::$strings["updated"] = "geüpdatet";
-App::$strings["update ignored"] = "update genegeerd";
-App::$strings["permission denied"] = "toegang geweigerd";
-App::$strings["recipient not found"] = "ontvanger niet gevonden";
-App::$strings["mail recalled"] = "Privébericht ingetrokken";
-App::$strings["duplicate mail received"] = "dubbel privébericht ontvangen";
-App::$strings["mail delivered"] = "privébericht afgeleverd";
-App::$strings["Delivery report for %1\$s"] = "Afleveringsrapport voor %1\$s";
-App::$strings["Options"] = "Opties";
-App::$strings["Redeliver"] = "Opnieuw afleveren";
-App::$strings["Name is required"] = "Naam is vereist";
-App::$strings["Key and Secret are required"] = "Key en secret zijn vereist";
-App::$strings["This channel is limited to %d tokens"] = "Dit kanaal heeft een limiet van %d tokens";
-App::$strings["Name and Password are required."] = "Naam en wachtwoord zijn vereist";
-App::$strings["Token saved."] = "Token opgeslagen.";
+App::$strings["Channel added."] = "Kanaal toegevoegd.";
+App::$strings["No connections."] = "Geen connecties.";
+App::$strings["Visit %s's profile [%s]"] = "Bezoek het profiel van %s [%s]";
+App::$strings["View Connections"] = "Connecties weergeven";
+App::$strings["Source of Item"] = "Bron van item";
+App::$strings["Room not found"] = "Chatkanaal niet gevonden";
+App::$strings["Leave Room"] = "Chatkanaal verlaten";
+App::$strings["Delete Room"] = "Chatkanaal verwijderen";
+App::$strings["I am away right now"] = "Ik ben momenteel afwezig";
+App::$strings["I am online"] = "Ik ben online";
+App::$strings["Bookmark this room"] = "Chatkanaal aan bladwijzers toevoegen";
+App::$strings["New Chatroom"] = "Nieuw chatkanaal";
+App::$strings["Chatroom name"] = "Naam chatkanaal";
+App::$strings["Expiration of chats (minutes)"] = "Aantal minuten voordat chatberichten worden verwijderd";
+App::$strings["%1\$s's Chatrooms"] = "Chatkanalen van %1\$s";
+App::$strings["No chatrooms available"] = "Geen chatkanalen beschikbaar";
+App::$strings["Expiration"] = "Verloopt na";
+App::$strings["min"] = "min";
+App::$strings["Xchan Lookup"] = "Xchan opzoeken";
+App::$strings["Lookup xchan beginning with (or webbie): "] = "Zoek een xchan (of webbie) die begint met:";
+App::$strings["%d rating"] = array(
+ 0 => "%d beoordeling",
+ 1 => "%d beoordelingen",
+);
+App::$strings["Gender: "] = "Geslacht:";
+App::$strings["Status: "] = "Status: ";
+App::$strings["Homepage: "] = "Homepage: ";
+App::$strings["Age:"] = "Leeftijd:";
+App::$strings["Location:"] = "Plaats:";
+App::$strings["Description:"] = "Omschrijving:";
+App::$strings["Hometown:"] = "Oorspronkelijk uit:";
+App::$strings["About:"] = "Over:";
+App::$strings["Public Forum:"] = "Openbaar forum:";
+App::$strings["Keywords: "] = "Trefwoorden: ";
+App::$strings["Don't suggest"] = "Niet voorstellen";
+App::$strings["Common connections:"] = "Gemeenschappelijke connecties:";
+App::$strings["Global Directory"] = "Volledige kanalengids";
+App::$strings["Local Directory"] = "Lokale kanalengids";
+App::$strings["Finding:"] = "Gezocht naar:";
+App::$strings["next page"] = "volgende pagina";
+App::$strings["previous page"] = "vorige pagina";
+App::$strings["Sort options"] = "Sorteeropties";
+App::$strings["Alphabetic"] = "Alfabetisch";
+App::$strings["Reverse Alphabetic"] = "Omgekeerd alfabetisch";
+App::$strings["Newest to Oldest"] = "Nieuw naar oud";
+App::$strings["Oldest to Newest"] = "Oud naar nieuw";
+App::$strings["No entries (some entries may be hidden)."] = "Niets gevonden (sommige kanalen kunnen verborgen zijn).";
App::$strings["Not valid email."] = "Geen geldig e-mailadres.";
App::$strings["Protected email address. Cannot change to that email."] = "Beschermd e-mailadres. Kan dat e-mailadres niet gebruiken.";
App::$strings["System failure storing new email. Please try again."] = "Systeemfout opslaan van nieuwe e-mail. Probeer het nog een keer.";
+App::$strings["Technical skill level updated"] = "Technisch niveau bijgewerkt";
App::$strings["Password verification failed."] = "Wachtwoordverificatie mislukt";
App::$strings["Passwords do not match. Password unchanged."] = "Wachtwoorden komen niet overeen. Wachtwoord onveranderd.";
App::$strings["Empty passwords are not allowed. Password unchanged."] = "Lege wachtwoorden zijn niet toegestaan. Wachtwoord onveranderd.";
App::$strings["Password changed."] = "Wachtwoord veranderd.";
App::$strings["Password update failed. Please try again."] = "Bijwerken wachtwoord mislukt. Probeer opnieuw.";
-App::$strings["Settings updated."] = "Instellingen bijgewerkt.";
-App::$strings["Add application"] = "Applicatie toevoegen";
-App::$strings["Name of application"] = "Naam van applicatie";
-App::$strings["Consumer Key"] = "Consumer key";
-App::$strings["Automatically generated - change if desired. Max length 20"] = "Automatische gegenereerd - verander wanneer gewenst. Maximale lengte is 20";
-App::$strings["Consumer Secret"] = "Consumer secret";
-App::$strings["Redirect"] = "Redirect/doorverwijzing";
-App::$strings["Redirect URI - leave blank unless your application specifically requires this"] = "URI voor redirect - laat leeg, behalve wanneer de applicatie dit vereist";
-App::$strings["Icon url"] = "Pictogram-URL";
-App::$strings["Application not found."] = "Applicatie niet gevonden.";
-App::$strings["Connected Apps"] = "Verbonden applicaties";
-App::$strings["Client key starts with"] = "Client key begint met";
-App::$strings["No name"] = "Geen naam";
-App::$strings["Remove authorization"] = "Autorisatie verwijderen";
-App::$strings["No feature settings configured"] = "Geen plugin-instellingen aanwezig";
-App::$strings["Feature/Addon Settings"] = "Plugin-instellingen";
App::$strings["Account Settings"] = "Account-instellingen";
App::$strings["Current Password"] = "Huidig wachtwoord";
App::$strings["Enter New Password"] = "Nieuw wachtwoord invoeren";
App::$strings["Confirm New Password"] = "Nieuw wachtwoord bevestigen";
App::$strings["Leave password fields blank unless changing"] = "Laat de wachtwoordvelden leeg, behalve wanneer je deze wil veranderen";
+App::$strings["Your technical skill level"] = "Jouw technisch niveau";
+App::$strings["Used to provide a member experience matched to your comfort level"] = "Wordt gebruikt om je een gebruikerservaring te bieden die met jouw technisch niveau overeenkomt";
App::$strings["Email Address:"] = "E-mailadres:";
App::$strings["Remove this account including all its channels"] = "Dit account en al zijn kanalen verwijderen";
-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."] = "Gebruik dit formulier om tijdelijke identiteiten aan te maken, waarmee je bepaalde informatie met niet-leden kan delen. Deze identiteiten kunnen onder Permissies (handmatige selectie) worden gebruikt. Gasten kunnen inloggen met onderstaande gegevens om zo toegang te krijgen tot privéinhoud.";
-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:"] = "Je kan ook <em>dropbox</em>-achtige links aan mensen geven door bovenstaand wachtwoord op onderstaande manier aan een hub-URL toe te voegen. Voorbeelden:";
-App::$strings["Guest Access Tokens"] = "Gasttoegang";
-App::$strings["Login Name"] = "Inlognaam";
-App::$strings["Login Password"] = "Wachtwoord:";
-App::$strings["Expires (yyyy-mm-dd)"] = "Geldig t/m (yyyy-mm-dd)";
-App::$strings["Additional Features"] = "Extra functies";
-App::$strings["Connector Settings"] = "Instellingen externe koppelingen";
-App::$strings["No special theme for mobile devices"] = "Geen speciaal thema voor mobiele apparaten";
-App::$strings["%s - (Experimental)"] = "%s - (experimenteel)";
-App::$strings["Display Settings"] = "Weergave-instellingen";
-App::$strings["Theme Settings"] = "Thema-instellingen";
-App::$strings["Custom Theme Settings"] = "Handmatige thema-instellingen";
-App::$strings["Content Settings"] = "Inhoudsinstellingen";
-App::$strings["Display Theme:"] = "Gebruik thema:";
-App::$strings["Select scheme"] = "Kies schema van thema";
-App::$strings["Mobile Theme:"] = "Mobiel thema:";
-App::$strings["Preload images before rendering the page"] = "Afbeeldingen laden voordat de pagina wordt weergegeven";
-App::$strings["The subjective page load time will be longer but the page will be ready when displayed"] = "De laadtijd van een pagina lijkt langer, maar de pagina is wel meteen helemaal geladen wanneer deze wordt weergeven";
-App::$strings["Enable user zoom on mobile devices"] = "Inzoomen op smartphones en tablets toestaan";
-App::$strings["Update browser every xx seconds"] = "Ververs de webbrowser om de zoveel seconde";
-App::$strings["Minimum of 10 seconds, no maximum"] = "Minimaal 10 seconde, geen maximum";
-App::$strings["Maximum number of conversations to load at any time:"] = "Maximaal aantal conversaties die per keer geladen worden:";
-App::$strings["Maximum of 100 items"] = "Maximaal 100 conversaties";
-App::$strings["Show emoticons (smilies) as images"] = "Toon emoticons (smilies) als afbeeldingen";
-App::$strings["Link post titles to source"] = "Berichtkoppen naar originele locatie linken";
-App::$strings["System Page Layout Editor - (advanced)"] = "Lay-out bewerken van systeempagina's (geavanceerd)";
-App::$strings["Use blog/list mode on channel page"] = "Gebruik blog/lijst-modus op kanaalpagina";
-App::$strings["(comments displayed separately)"] = "(reacties worden afzonderlijk weergeven)";
-App::$strings["Use blog/list mode on grid page"] = "Gebruik blog/lijst-modus op gridpagina";
-App::$strings["Channel page max height of content (in pixels)"] = "Maximale hoogte berichtinhoud op kanaalpagina (in pixels)";
-App::$strings["click to expand content exceeding this height"] = "klik om inhoud uit te klappen die deze hoogte overschrijdt";
-App::$strings["Grid page max height of content (in pixels)"] = "Maximale hoogte berichtinhoud op gridpagina (in pixels)";
+App::$strings["Settings updated."] = "Instellingen bijgewerkt.";
App::$strings["Nobody except yourself"] = "Niemand, behalve jezelf";
App::$strings["Only those you specifically allow"] = "Alleen connecties met uitdrukkelijke toestemming";
App::$strings["Approved connections"] = "Geaccepteerde connecties";
@@ -1393,7 +1363,7 @@ App::$strings["Private - <em>default private, never open or public</em>"] = "Pri
App::$strings["Blocked - <em>default blocked to/from everybody</em>"] = "Geblokkeerd <em>(standaard geblokkeerd naar/van iedereen)</em>";
App::$strings["Allow others to tag your posts"] = "Anderen toestaan om je berichten te taggen";
App::$strings["Often used by the community to retro-actively flag inappropriate content"] = "Vaak in groepen/forums gebruikt om met terugwerkende kracht ongepast materiaal te markeren";
-App::$strings["Advanced Privacy Settings"] = "Geavanceerde privacy-instellingen";
+App::$strings["Channel Permission Limits"] = "Geavanceerde permissies";
App::$strings["Expire other channel content after this many days"] = "Inhoud van andere kanalen na zoveel aantal dagen laten verlopen:";
App::$strings["0 or blank to use the website limit."] = "0 of leeg om het standaard aantal dagen van deze hub te gebruiken.";
App::$strings["This website expires after %d days."] = "Deze hub laat de inhoud van andere kanalen na %d dagen verlopen.";
@@ -1401,7 +1371,7 @@ App::$strings["This website does not expire imported content."] = "Deze hub laat
App::$strings["The website limit takes precedence if lower than your limit."] = "Wanneer de standaard aantal dagen van deze hub lager ligt dan jouw aantal, dan heeft de limiet van deze hub voorrang.";
App::$strings["Maximum Friend Requests/Day:"] = "Maximum aantal connectieverzoeken per dag:";
App::$strings["May reduce spam activity"] = "Kan eventuele spam verminderen";
-App::$strings["Default Post and Publish Permissions"] = "Standaard permissies voor nieuwe berichten en publicaties";
+App::$strings["Default Access Control List (ACL)"] = "Standaard permissies voor nieuwe berichten";
App::$strings["Use my default audience setting for the type of object published"] = "Gebruik mijn standaard privacy-instelling voor dit type publicatie";
App::$strings["Channel permissions category:"] = "Kanaaltype en -permissies:";
App::$strings["Maximum private messages per day from unknown people:"] = "Maximum aantal privé-berichten per dag van onbekende personen:";
@@ -1439,7 +1409,6 @@ App::$strings["Notify me of events this many days in advance"] = "Herinner mij z
App::$strings["Must be greater than 0"] = "Moet hoger dan 0 zijn";
App::$strings["Advanced Account/Page Type Settings"] = "Instellingen geavanceerd account/paginatype";
App::$strings["Change the behaviour of this account for special situations"] = "Verander het gedrag van dit account voor speciale situaties";
-App::$strings["Please enable expert mode (in <a href=\"settings/features\">Settings > Additional features</a>) to adjust!"] = "Schakel de expertmodus in (in <a href=\"settings/features\">Instellingen > Extra functies</a>) om aan te kunnen passen!";
App::$strings["Miscellaneous Settings"] = "Diverse instellingen";
App::$strings["Default photo upload folder"] = "Standaard fotoalbum voor uploads";
App::$strings["%Y - current year, %m - current month"] = "%Y - dit jaar, %m - deze maand";
@@ -1448,13 +1417,58 @@ App::$strings["Personal menu to display in your channel pages"] = "Persoonlijk m
App::$strings["Remove this channel."] = "Verwijder dit kanaal.";
App::$strings["Firefox Share \$Projectname provider"] = "\$Projectname-service voor Firefox Share";
App::$strings["Start calendar week on monday"] = "Begin in de agenda de week op maandag";
-App::$strings["No connections."] = "Geen connecties.";
-App::$strings["Visit %s's profile [%s]"] = "Bezoek het profiel van %s [%s]";
-App::$strings["View Connections"] = "Connecties weergeven";
-App::$strings["Source of Item"] = "Bron van item";
-App::$strings["Item is not editable"] = "Item is niet te bewerken";
-App::$strings["Xchan Lookup"] = "Xchan opzoeken";
-App::$strings["Lookup xchan beginning with (or webbie): "] = "Zoek een xchan (of webbie) die begint met:";
+App::$strings["No special theme for mobile devices"] = "Geen speciaal thema voor mobiele apparaten";
+App::$strings["%s - (Experimental)"] = "%s - (experimenteel)";
+App::$strings["Display Settings"] = "Weergave-instellingen";
+App::$strings["Theme Settings"] = "Thema-instellingen";
+App::$strings["Custom Theme Settings"] = "Handmatige thema-instellingen";
+App::$strings["Content Settings"] = "Inhoudsinstellingen";
+App::$strings["Display Theme:"] = "Gebruik thema:";
+App::$strings["Select scheme"] = "Kies schema van thema";
+App::$strings["Mobile Theme:"] = "Mobiel thema:";
+App::$strings["Preload images before rendering the page"] = "Afbeeldingen laden voordat de pagina wordt weergegeven";
+App::$strings["The subjective page load time will be longer but the page will be ready when displayed"] = "De laadtijd van een pagina lijkt langer, maar de pagina is wel meteen helemaal geladen wanneer deze wordt weergeven";
+App::$strings["Enable user zoom on mobile devices"] = "Inzoomen op smartphones en tablets toestaan";
+App::$strings["Update browser every xx seconds"] = "Ververs de webbrowser om de zoveel seconde";
+App::$strings["Minimum of 10 seconds, no maximum"] = "Minimaal 10 seconde, geen maximum";
+App::$strings["Maximum number of conversations to load at any time:"] = "Maximaal aantal conversaties die per keer geladen worden:";
+App::$strings["Maximum of 100 items"] = "Maximaal 100 conversaties";
+App::$strings["Show emoticons (smilies) as images"] = "Toon emoticons (smilies) als afbeeldingen";
+App::$strings["Link post titles to source"] = "Berichtkoppen naar originele locatie linken";
+App::$strings["System Page Layout Editor - (advanced)"] = "Lay-out bewerken van systeempagina's (geavanceerd)";
+App::$strings["Use blog/list mode on channel page"] = "Gebruik blog/lijst-modus op kanaalpagina";
+App::$strings["(comments displayed separately)"] = "(reacties worden afzonderlijk weergeven)";
+App::$strings["Use blog/list mode on grid page"] = "Gebruik blog/lijst-modus op gridpagina";
+App::$strings["Channel page max height of content (in pixels)"] = "Maximale hoogte berichtinhoud op kanaalpagina (in pixels)";
+App::$strings["click to expand content exceeding this height"] = "klik om inhoud uit te klappen die deze hoogte overschrijdt";
+App::$strings["Grid page max height of content (in pixels)"] = "Maximale hoogte berichtinhoud op gridpagina (in pixels)";
+App::$strings["No feature settings configured"] = "Geen plugin-instellingen aanwezig";
+App::$strings["Feature/Addon Settings"] = "Plugin-instellingen";
+App::$strings["Additional Features"] = "Extra functies";
+App::$strings["Name is required"] = "Naam is vereist";
+App::$strings["Key and Secret are required"] = "Key en secret zijn vereist";
+App::$strings["Add application"] = "Applicatie toevoegen";
+App::$strings["Name of application"] = "Naam van applicatie";
+App::$strings["Consumer Key"] = "Consumer key";
+App::$strings["Automatically generated - change if desired. Max length 20"] = "Automatische gegenereerd - verander wanneer gewenst. Maximale lengte is 20";
+App::$strings["Consumer Secret"] = "Consumer secret";
+App::$strings["Redirect"] = "Redirect/doorverwijzing";
+App::$strings["Redirect URI - leave blank unless your application specifically requires this"] = "URI voor redirect - laat leeg, behalve wanneer de applicatie dit vereist";
+App::$strings["Icon url"] = "Pictogram-URL";
+App::$strings["Application not found."] = "Applicatie niet gevonden.";
+App::$strings["Connected Apps"] = "Verbonden applicaties";
+App::$strings["Client key starts with"] = "Client key begint met";
+App::$strings["No name"] = "Geen naam";
+App::$strings["Remove authorization"] = "Autorisatie verwijderen";
+App::$strings["This channel is limited to %d tokens"] = "Dit kanaal heeft een limiet van %d tokens";
+App::$strings["Name and Password are required."] = "Naam en wachtwoord zijn vereist";
+App::$strings["Token saved."] = "Token opgeslagen.";
+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."] = "Gebruik dit formulier om tijdelijke identiteiten aan te maken, waarmee je bepaalde informatie met niet-leden kan delen. Deze identiteiten kunnen onder Permissies (handmatige selectie) worden gebruikt. Gasten kunnen inloggen met onderstaande gegevens om zo toegang te krijgen tot privéinhoud.";
+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:"] = "Je kan ook <em>dropbox</em>-achtige links aan mensen geven door bovenstaand wachtwoord op onderstaande manier aan een hub-URL toe te voegen. Voorbeelden:";
+App::$strings["Guest Access Tokens"] = "Gasttoegang";
+App::$strings["Login Name"] = "Inlognaam";
+App::$strings["Login Password"] = "Wachtwoord:";
+App::$strings["Expires (yyyy-mm-dd)"] = "Geldig t/m (yyyy-mm-dd)";
App::$strings["Missing room name"] = "Naam chatkanaal ontbreekt";
App::$strings["Duplicate room name"] = "Naam chatkanaal bestaat al";
App::$strings["Invalid room specifier."] = "Ongeldige omschrijving chatkanaal";
@@ -1465,7 +1479,7 @@ App::$strings["\$projectname"] = "\$projectname";
App::$strings["Thank You,"] = "Bedankt,";
App::$strings["%s Administrator"] = "Beheerder %s";
App::$strings["%s <!item_type!>"] = "%s <!item_type!>";
-App::$strings["[Hubzilla:Notify] New mail received at %s"] = "[Hubzilla:Notificatie] Nieuw privébericht ontvangen op %s";
+App::$strings["[\$Projectname:Notify] New mail received at %s"] = "[\$Projectname:Notificatie] Nieuw privébericht ontvangen op %s";
App::$strings["%1\$s, %2\$s sent you a new private message at %3\$s."] = "%1\$s, %2\$s zond jou een nieuw privébericht om %3\$s.";
App::$strings["%1\$s sent you %2\$s."] = "%1\$s zond jou %2\$s.";
App::$strings["a private message"] = "een privébericht";
@@ -1473,72 +1487,35 @@ App::$strings["Please visit %s to view and/or reply to your private messages."]
App::$strings["%1\$s, %2\$s commented on [zrl=%3\$s]a %4\$s[/zrl]"] = "%1\$s, %2\$s gaf een reactie op [zrl=%3\$s]een %4\$s[/zrl]";
App::$strings["%1\$s, %2\$s commented on [zrl=%3\$s]%4\$s's %5\$s[/zrl]"] = "%1\$s, %2\$s gaf een reactie op [zrl=%3\$s]een %5\$s van %4\$s[/zrl]";
App::$strings["%1\$s, %2\$s commented on [zrl=%3\$s]your %4\$s[/zrl]"] = "%1\$s, %2\$s gaf een reactie op [zrl=%3\$s]jouw %4\$s[/zrl]";
-App::$strings["[Hubzilla:Notify] Comment to conversation #%1\$d by %2\$s"] = "[Hubzilla:Notificatie] Reactie op conversatie #%1\$d door %2\$s";
+App::$strings["[\$Projectname:Notify] Comment to conversation #%1\$d by %2\$s"] = "[\$Projectname:Notificatie] Reactie op conversatie #%1\$d door %2\$s";
App::$strings["%1\$s, %2\$s commented on an item/conversation you have been following."] = "%1\$s, %2\$s gaf een reactie op een bericht/conversatie die jij volgt.";
App::$strings["Please visit %s to view and/or reply to the conversation."] = "Bezoek %s om de conversatie te bekijken en/of er op te reageren.";
-App::$strings["[Hubzilla:Notify] %s posted to your profile wall"] = "[Hubzilla:Notificatie] %s heeft een bericht op jouw kanaal geplaatst";
+App::$strings["[\$Projectname:Notify] %s posted to your profile wall"] = "[\$Projectname:Notificatie] %s heeft een bericht op jouw kanaal geplaatst";
App::$strings["%1\$s, %2\$s posted to your profile wall at %3\$s"] = "%1\$s, %2\$s heeft om %3\$s een bericht op jouw kanaal geplaatst";
App::$strings["%1\$s, %2\$s posted to [zrl=%3\$s]your wall[/zrl]"] = "%1\$s, %2\$s heeft een bericht op [zrl=%3\$s]jouw kanaal[/zrl] geplaatst";
-App::$strings["[Hubzilla:Notify] %s tagged you"] = "[Hubzilla:Notificatie] %s heeft je genoemd";
+App::$strings["[\$Projectname:Notify] %s tagged you"] = "[\$Projectname:Notificatie] %s heeft jou genoemd";
App::$strings["%1\$s, %2\$s tagged you at %3\$s"] = "%1\$s, %2\$s noemde jou op %3\$s";
App::$strings["%1\$s, %2\$s [zrl=%3\$s]tagged you[/zrl]."] = "%1\$s, %2\$s [zrl=%3\$s]noemde jou[/zrl].";
-App::$strings["[Hubzilla:Notify] %1\$s poked you"] = "[Hubzilla:Notificatie] %1\$s heeft je aangestoten";
+App::$strings["[\$Projectname:Notify] %1\$s poked you"] = "[\$Projectname:Notificatie] %1\$s heeft jou aangestoten";
App::$strings["%1\$s, %2\$s poked you at %3\$s"] = "%1\$s, %2\$s heeft je aangestoten op %3\$s";
App::$strings["%1\$s, %2\$s [zrl=%2\$s]poked you[/zrl]."] = "%1\$s, %2\$s [zrl=%2\$s]heeft je aangestoten[/zrl].";
-App::$strings["[Hubzilla:Notify] %s tagged your post"] = "[Hubzilla:Notificatie] %s heeft jouw bericht getagd";
+App::$strings["[\$Projectname:Notify] %s tagged your post"] = "[\$Projectname:Notificatie] %s heeft jouw bericht getagd";
App::$strings["%1\$s, %2\$s tagged your post at %3\$s"] = "%1\$s, %2\$s heeft jouw bericht om %3\$s getagd";
App::$strings["%1\$s, %2\$s tagged [zrl=%3\$s]your post[/zrl]"] = "%1\$s, %2\$s heeft [zrl=%3\$s]jouw bericht[/zrl] getagd";
-App::$strings["[Hubzilla:Notify] Introduction received"] = "[Hubzilla:Notificatie] Connectieverzoek ontvangen";
+App::$strings["[\$Projectname:Notify] Introduction received"] = "[\$Projectname:Notificatie] Connectieverzoek ontvangen";
App::$strings["%1\$s, you've received an new connection request from '%2\$s' at %3\$s"] = "%1\$s, je hebt een nieuw connectieverzoek ontvangen van '%2\$s' op %3\$s";
App::$strings["%1\$s, you've received [zrl=%2\$s]a new connection request[/zrl] from %3\$s."] = "%1\$s, je hebt een [zrl=%2\$s]nieuw connectieverzoek[/zrl] ontvangen van %3\$s.";
App::$strings["You may visit their profile at %s"] = "Je kan het profiel bekijken op %s";
App::$strings["Please visit %s to approve or reject the connection request."] = "Bezoek %s om het connectieverzoek te accepteren of af te wijzen.";
-App::$strings["[Hubzilla:Notify] Friend suggestion received"] = "[Hubzilla:Notificatie] Kanaalvoorstel ontvangen";
+App::$strings["[\$Projectname:Notify] Friend suggestion received"] = "[\$Projectname:Notificatie] Kanaalvoorstel ontvangen";
App::$strings["%1\$s, you've received a friend suggestion from '%2\$s' at %3\$s"] = "%1\$s, je hebt een kanaalvoorstel ontvangen van '%2\$s' om %3\$s";
App::$strings["%1\$s, you've received [zrl=%2\$s]a friend suggestion[/zrl] for %3\$s from %4\$s."] = "%1\$s, je hebt [zrl=%2\$s]een kanaalvoorstel[/zrl] ontvangen voor %3\$s van %4\$s.";
App::$strings["Name:"] = "Naam:";
App::$strings["Photo:"] = "Foto:";
App::$strings["Please visit %s to approve or reject the suggestion."] = "Bezoek %s om het voorstel te accepteren of af te wijzen.";
-App::$strings["[Hubzilla:Notify]"] = "[Hubzilla:Notificatie]";
+App::$strings["[\$Projectname:Notify]"] = "[\$Projectname:Notificatie]";
App::$strings["created a new post"] = "maakte een nieuw bericht aan";
App::$strings["commented on %s's post"] = "gaf een reactie op een bericht van %s";
-App::$strings["Site Admin"] = "Hubbeheerder";
-App::$strings["Bug Report"] = "Bugrapport";
-App::$strings["View Bookmarks"] = "Bladwijzers bekijken";
-App::$strings["My Chatrooms"] = "Mijn chatkanalen";
-App::$strings["Firefox Share"] = "Firefox Share";
-App::$strings["Remote Diagnostics"] = "Diagnose op afstand";
-App::$strings["Suggest Channels"] = "Kanalen voorstellen";
-App::$strings["Login"] = "Inloggen";
-App::$strings["Grid"] = "Grid";
-App::$strings["Channel Home"] = "Jouw kanaal";
-App::$strings["Events"] = "Agenda";
-App::$strings["Directory"] = "Kanalengids";
-App::$strings["Mail"] = "Privéberichten";
-App::$strings["Chat"] = "Chatten";
-App::$strings["Probe"] = "Onderzoeken";
-App::$strings["Suggest"] = "Voorstellen";
-App::$strings["Random Channel"] = "Willekeurig kanaal";
-App::$strings["Invite"] = "Uitnodigen ";
-App::$strings["Features"] = "Extra functies";
-App::$strings["Language"] = "Taal";
-App::$strings["Post"] = "Bericht";
-App::$strings["Profile Photo"] = "Profielfoto";
-App::$strings["Purchase"] = "Aanschaffen";
-App::$strings["Visible to your default audience"] = "Voor iedereen zichtbaar, mits niet anders ingesteld";
-App::$strings["Only me"] = "Alleen ik";
-App::$strings["Public"] = "Openbaar";
-App::$strings["Anybody in the \$Projectname network"] = "Iedereen in het \$Projectname-netwerk";
-App::$strings["Any account on %s"] = "Iedereen op %s";
-App::$strings["Any of my connections"] = "Al mijn geaccepteerde connecties";
-App::$strings["Only connections I specifically allow"] = "Alleen connecties die uitdrukkelijk door jou zijn toegestaan";
-App::$strings["Anybody authenticated (could include visitors from other networks)"] = "Geauthenticeerde leden (kan bezoekers van andere netwerken bevatten)";
-App::$strings["Any connections including those who haven't yet been approved"] = "Al mijn geaccepteerde en nog niet geaccepteerde connecties";
-App::$strings["This is your default setting for the audience of your normal stream, and posts."] = "Dit is de standaard privacy-instelling voor wie jouw berichten kan bekijken";
-App::$strings["This is your default setting for who can view your default channel profile"] = "Dit is de standaard privacy-instelling voor wie jouw standaardprofiel kan bekijken";
-App::$strings["This is your default setting for who can view your connections"] = "Dit is de standaard privacy-instelling voor wie een lijst met jouw connecties kan bekijken";
-App::$strings["This is your default setting for who can view your file storage and photos"] = "Dit is de standaard privacy-instelling voor wie jouw bestanden en foto's kan bekijken";
-App::$strings["This is your default setting for the audience of your webpages"] = "Dit is de standaard privacy-instelling voor wie jouw webpagina's kan bekijken";
App::$strings["Private Message"] = "Niet voor iedereen zichtbaar";
App::$strings["Select"] = "Kies";
App::$strings["Save to Folder"] = "In map opslaan";
@@ -1584,123 +1561,67 @@ App::$strings["Code"] = "Broncode";
App::$strings["Image"] = "Afbeelding";
App::$strings["Insert Link"] = "Link invoegen";
App::$strings["Video"] = "Video";
+App::$strings["Visible to your default audience"] = "Voor iedereen zichtbaar, mits niet anders ingesteld";
+App::$strings["Only me"] = "Alleen ik";
+App::$strings["Public"] = "Openbaar";
+App::$strings["Anybody in the \$Projectname network"] = "Iedereen in het \$Projectname-netwerk";
+App::$strings["Any account on %s"] = "Iedereen op %s";
+App::$strings["Any of my connections"] = "Al mijn geaccepteerde connecties";
+App::$strings["Only connections I specifically allow"] = "Alleen connecties die uitdrukkelijk door jou zijn toegestaan";
+App::$strings["Anybody authenticated (could include visitors from other networks)"] = "Geauthenticeerde leden (kan bezoekers van andere netwerken bevatten)";
+App::$strings["Any connections including those who haven't yet been approved"] = "Al mijn geaccepteerde en nog niet geaccepteerde connecties";
+App::$strings["This is your default setting for the audience of your normal stream, and posts."] = "Dit is de standaard privacy-instelling voor wie jouw berichten kan bekijken";
+App::$strings["This is your default setting for who can view your default channel profile"] = "Dit is de standaard privacy-instelling voor wie jouw standaardprofiel kan bekijken";
+App::$strings["This is your default setting for who can view your connections"] = "Dit is de standaard privacy-instelling voor wie een lijst met jouw connecties kan bekijken";
+App::$strings["This is your default setting for who can view your file storage and photos"] = "Dit is de standaard privacy-instelling voor wie jouw bestanden en foto's kan bekijken";
+App::$strings["This is your default setting for the audience of your webpages"] = "Dit is de standaard privacy-instelling voor wie jouw webpagina's kan bekijken";
+App::$strings["Site Admin"] = "Hubbeheerder";
+App::$strings["Bug Report"] = "Bugrapport";
+App::$strings["View Bookmarks"] = "Bladwijzers bekijken";
+App::$strings["My Chatrooms"] = "Mijn chatkanalen";
+App::$strings["Firefox Share"] = "Firefox Share";
+App::$strings["Remote Diagnostics"] = "Diagnose op afstand";
+App::$strings["Suggest Channels"] = "Kanalen voorstellen";
+App::$strings["Login"] = "Inloggen";
+App::$strings["Grid"] = "Grid";
+App::$strings["Channel Home"] = "Jouw kanaal";
+App::$strings["Events"] = "Agenda";
+App::$strings["Directory"] = "Kanalengids";
+App::$strings["Mail"] = "Privéberichten";
+App::$strings["Chat"] = "Chatten";
+App::$strings["Probe"] = "Onderzoeken";
+App::$strings["Suggest"] = "Voorstellen";
+App::$strings["Random Channel"] = "Willekeurig kanaal";
+App::$strings["Invite"] = "Uitnodigen ";
+App::$strings["Features"] = "Extra functies";
+App::$strings["Language"] = "Taal";
+App::$strings["Post"] = "Bericht";
+App::$strings["Profile Photo"] = "Profielfoto";
+App::$strings["Purchase"] = "Aanschaffen";
App::$strings["No username found in import file."] = "Geen gebruikersnaam in het importbestand gevonden.";
App::$strings["Unable to create a unique channel address. Import failed."] = "Niet in staat om een uniek kanaaladres aan te maken. Importeren is mislukt.";
App::$strings["Cannot locate DNS info for database server '%s'"] = "Kan DNS-informatie voor databaseserver '%s' niet vinden";
-App::$strings["Logged out."] = "Uitgelogd.";
-App::$strings["Failed authentication"] = "Mislukte authenticatie";
-App::$strings["Login failed."] = "Inloggen mislukt.";
-App::$strings["Image/photo"] = "Afbeelding/foto";
-App::$strings["Encrypted content"] = "Versleutelde inhoud";
-App::$strings["Install %s element: "] = "Installeer %s-element: ";
-App::$strings["This post contains an installable %s element, however you lack permissions to install it on this site."] = "Dit bericht heeft een te installeren %s-element, maar je hebt geen permissies om het op deze hub te installeren.";
-App::$strings["%1\$s wrote the following %2\$s %3\$s"] = "%1\$s schreef het volgende %2\$s %3\$s";
-App::$strings["Click to open/close"] = "Klik om te openen of te sluiten";
-App::$strings["spoiler"] = "spoiler";
-App::$strings["Different viewers will see this text differently"] = "Deze tekst wordt per persoon anders weergeven.";
-App::$strings["$1 wrote:"] = "$1 schreef:";
-App::$strings["Channel is blocked on this site."] = "Kanaal is op deze hub geblokkeerd.";
-App::$strings["Channel location missing."] = "Ontbrekende kanaallocatie.";
-App::$strings["Response from remote channel was incomplete."] = "Antwoord van het kanaal op afstand was niet volledig.";
-App::$strings["Channel was deleted and no longer exists."] = "Kanaal is verwijderd en bestaat niet meer.";
-App::$strings["Protocol disabled."] = "Protocol uitgeschakeld.";
-App::$strings["Channel discovery failed."] = "Kanaal ontdekken mislukt.";
-App::$strings["Cannot connect to yourself."] = "Kan niet met jezelf verbinden";
-App::$strings["Public Timeline"] = "Openbare tijdlijn";
-App::$strings["%1\$s is now connected with %2\$s"] = "%1\$s is nu met %2\$s verbonden";
-App::$strings["%1\$s poked %2\$s"] = "%1\$s heeft %2\$s aangestoten";
-App::$strings["poked"] = "aangestoten";
-App::$strings["View %s's profile @ %s"] = "Bekijk het profiel van %s @ %s";
-App::$strings["Categories:"] = "Categorieën:";
-App::$strings["Filed under:"] = "Bewaard onder:";
-App::$strings["View in context"] = "In context bekijken";
-App::$strings["remove"] = "verwijderen";
-App::$strings["Loading..."] = "Aan het laden...";
-App::$strings["Delete Selected Items"] = "Verwijder de geselecteerde items";
-App::$strings["View Source"] = "Bron weergeven";
-App::$strings["Follow Thread"] = "Conversatie volgen";
-App::$strings["Unfollow Thread"] = "Conversatie niet meer volgen";
-App::$strings["Activity/Posts"] = "Activiteit/berichten connectie";
-App::$strings["Edit Connection"] = "Connectie bewerken";
-App::$strings["Message"] = "Bericht";
-App::$strings["%s likes this."] = "%s vindt dit leuk.";
-App::$strings["%s doesn't like this."] = "%s vindt dit niet leuk.";
-App::$strings["<span %1\$s>%2\$d people</span> like this."] = array(
- 0 => "<span %1\$s>%2\$d persoon</span> vindt dit leuk.",
- 1 => "<span %1\$s>%2\$d personen</span> vinden dit leuk.",
-);
-App::$strings["<span %1\$s>%2\$d people</span> don't like this."] = array(
- 0 => "<span %1\$s>%2\$d persoon</span> vindt dit niet leuk.",
- 1 => "<span %1\$s>%2\$d personen</span> vinden dit niet leuk.",
-);
-App::$strings["and"] = "en";
-App::$strings[", and %d other people"] = array(
- 0 => ", en %d ander persoon",
- 1 => ", en %d andere personen",
-);
-App::$strings["%s like this."] = "%s vinden dit leuk.";
-App::$strings["%s don't like this."] = "%s vinden dit niet leuk.";
-App::$strings["Set your location"] = "Locatie instellen";
-App::$strings["Clear browser location"] = "Locatie van webbrowser wissen";
-App::$strings["Tag term:"] = "Tag:";
-App::$strings["Where are you right now?"] = "Waar bevind je je op dit moment?";
-App::$strings["Comments enabled"] = "Reacties ingeschakeld";
-App::$strings["Comments disabled"] = "Reacties uitgeschakeld";
-App::$strings["Page link name"] = "Linknaam pagina";
-App::$strings["Post as"] = "Bericht plaatsen als";
-App::$strings["Toggle voting"] = "Peiling in- of uitschakelen";
-App::$strings["Disable comments"] = "Reacties uitschakelen";
-App::$strings["Toggle comments"] = "Reacties in- of uitschakelen";
-App::$strings["Categories (optional, comma-separated list)"] = "Categorieën (optioneel, door komma's gescheiden lijst)";
-App::$strings["Set publish date"] = "Publicatiedatum instellen";
-App::$strings["Discover"] = "Ontdekken";
-App::$strings["Imported public streams"] = "Openbare streams importeren";
-App::$strings["Commented Order"] = "Nieuwe reacties bovenaan";
-App::$strings["Sort by Comment Date"] = "Berichten met nieuwe reacties bovenaan";
-App::$strings["Posted Order"] = "Nieuwe berichten bovenaan";
-App::$strings["Sort by Post Date"] = "Nieuwe berichten bovenaan";
-App::$strings["Posts that mention or involve you"] = "Alleen berichten die jou vermelden of waar je op een andere manier bij betrokken bent";
-App::$strings["Activity Stream - by date"] = "Activiteitenstroom - volgens datum";
-App::$strings["Starred"] = "Met ster";
-App::$strings["Favourite Posts"] = "Favoriete berichten";
-App::$strings["Spam"] = "Spam";
-App::$strings["Posts flagged as SPAM"] = "Berichten gemarkeerd als SPAM";
-App::$strings["Status Messages and Posts"] = "Berichten in dit kanaal";
-App::$strings["About"] = "Over";
-App::$strings["Profile Details"] = "Profiel";
+App::$strings["Can view my normal stream and posts"] = "Kan mijn normale kanaalstream en berichten bekijken";
+App::$strings["Can view my webpages"] = "Kan mijn pagina's bekijken";
+App::$strings["Can post on my channel page (\"wall\")"] = "Kan een bericht in mijn kanaal plaatsen";
+App::$strings["Can like/dislike stuff"] = "Kan dingen leuk of niet leuk vinden";
+App::$strings["Profiles and things other than posts/comments"] = "Profielen en dingen, buiten berichten en reacties";
+App::$strings["Can forward to all my channel contacts via post @mentions"] = "Kan naar al mijn kanaalconnecties berichten doorsturen met behulp van @vermeldingen+";
+App::$strings["Advanced - useful for creating group forum channels"] = "Geavanceerd - nuttig voor groepforums";
+App::$strings["Can chat with me (when available)"] = "Kan met mij chatten (wanneer beschikbaar)";
+App::$strings["Can write to my file storage and photos"] = "Kan foto's en andere bestanden aan mijn bestandsopslag toevoegen";
+App::$strings["Can edit my webpages"] = "Kan mijn pagina's bewerken";
+App::$strings["Somewhat advanced - very useful in open communities"] = "Enigszins geavanceerd (erg nuttig voor kanalen van forums/groepen)";
+App::$strings["Can administer my channel resources"] = "Kan mijn kanaal beheren";
+App::$strings["Extremely advanced. Leave this alone unless you know what you are doing"] = "Zeer geavanceerd. Laat dit met rust, behalve als je weet wat je doet.";
+App::$strings["Image exceeds website size limit of %lu bytes"] = "Afbeelding is groter dan op deze hub toegestane limiet van %lu bytes";
+App::$strings["Image file is empty."] = "Afbeeldingsbestand is leeg";
+App::$strings["Photo storage failed."] = "Foto kan niet worden opgeslagen";
+App::$strings["a new photo"] = "een nieuwe foto";
+App::$strings["__ctx:photo_upload__ %1\$s posted %2\$s to %3\$s"] = "%1\$s plaatste %2\$s op %3\$s";
App::$strings["Photo Albums"] = "Fotoalbums";
-App::$strings["Files and Storage"] = "Bestanden en opslagruimte";
-App::$strings["Chatrooms"] = "Chatkanalen";
-App::$strings["Bookmarks"] = "Bladwijzers";
-App::$strings["Saved Bookmarks"] = "Opgeslagen bladwijzers";
-App::$strings["Manage Webpages"] = "Webpagina's beheren";
-App::$strings["__ctx:noun__ Attending"] = array(
- 0 => "aanwezig",
- 1 => "aanwezig",
-);
-App::$strings["__ctx:noun__ Not Attending"] = array(
- 0 => "niet aanwezig",
- 1 => "niet aanwezig",
-);
-App::$strings["__ctx:noun__ Undecided"] = array(
- 0 => "nog niet beslist",
- 1 => "nog niet beslist",
-);
-App::$strings["__ctx:noun__ Agree"] = array(
- 0 => "eens",
- 1 => "eens",
-);
-App::$strings["__ctx:noun__ Disagree"] = array(
- 0 => "oneens",
- 1 => "oneens",
-);
-App::$strings["__ctx:noun__ Abstain"] = array(
- 0 => "onthouding",
- 1 => "onthoudingen",
-);
+App::$strings["Upload New Photos"] = "Nieuwe foto's uploaden";
App::$strings["General Features"] = "Algemene functies";
-App::$strings["Content Expiration"] = "Inhoud laten verlopen";
-App::$strings["Remove posts/comments and/or private messages at a future time"] = "Berichten, reacties en/of privéberichten na een bepaalde tijd verwijderen";
App::$strings["Multiple Profiles"] = "Meerdere profielen";
App::$strings["Ability to create multiple profiles"] = "Mogelijkheid om meerdere profielen aan te maken";
App::$strings["Advanced Profiles"] = "Geavanceerde profielen";
@@ -1710,8 +1631,6 @@ App::$strings["Save and load profile details across sites/channels"] = "Profielg
App::$strings["Web Pages"] = "Webpagina's";
App::$strings["Provide managed web pages on your channel"] = "Sta beheerde webpagina's op jouw kanaal toe";
App::$strings["Provide a wiki for your channel"] = "Voeg een wiki aan jouw kanaal toe";
-App::$strings["Hide Rating"] = "Beoordelingen verbergen";
-App::$strings["Hide the rating buttons on your channel and profile pages. Note: People can still rate you somewhere else."] = "Verbergt de beoordelingsknoppen op jouw kanaal- en profielpagina's. Let op: Mensen kunnen jou nog steeds ergens anders beoordelen. ";
App::$strings["Private Notes"] = "Privé-aantekeningen";
App::$strings["Enables a tool to store notes and reminders (note: not encrypted)"] = "Een eenvoudige toepassing om aantekeningen en herinneringen in te bewaren (let op: niet versleuteld)";
App::$strings["Navigation Channel Select"] = "Kanaal kiezen in navigatiemenu";
@@ -1722,10 +1641,10 @@ App::$strings["Access Controlled Chatrooms"] = "Chatkanalen met toegangscontrole
App::$strings["Provide chatrooms and chat services with access control."] = "Chatkanalen en chatdiensten met toegangscontrole aanbieden.";
App::$strings["Smart Birthdays"] = "Slimme verjaardagen";
App::$strings["Make birthday events timezone aware in case your friends are scattered across the planet."] = "Maak verjaardagen bewust van tijdzones. Voor het geval dat jouw vrienden over de hele wereld verspreid zijn.";
-App::$strings["Expert Mode"] = "Expertmodus";
-App::$strings["Enable Expert Mode to provide advanced configuration options"] = "Schakel de expertmodus in voor geavanceerde instellingen";
-App::$strings["Premium Channel"] = "Premiumkanaal";
-App::$strings["Allows you to set restrictions and terms on those that connect with your channel"] = "Stelt je in staat om beperkingen en voorwaarden in te stellen voor jouw kanaal";
+App::$strings["Advanced Directory Search"] = "Geavanceerd in de kanalengids zoeken";
+App::$strings["Allows creation of complex directory search queries"] = "Gebruik complexe zoekopdrachten in de kanalengids";
+App::$strings["Advanced Theme and Layout Settings"] = "Geavanceerde thema- en lay-out-instellingen";
+App::$strings["Allows fine tuning of themes and page layouts"] = "Maakt het mogelijk dat thema's en pagina-lay-outs preciezer ingesteld kunnen worden ";
App::$strings["Post Composition Features"] = "Functies voor het opstellen van berichten";
App::$strings["Large Photos"] = "Grote foto's";
App::$strings["Include large (1024px) photo thumbnails in posts. If not enabled, use small (640px) photo thumbnails"] = "Gebruik grotere foto's (1024px) in berichten. Wanneer dit is uitgeschakeld worden er kleinere foto's (640px) gebruikt.";
@@ -1738,6 +1657,8 @@ App::$strings["Disable Comments"] = "Reacties uitschakelen";
App::$strings["Provide the option to disable comments for a post"] = "Maak het mogelijk dat reacties op een bericht kunnen worden uitgeschakeld";
App::$strings["Delayed Posting"] = "Berichten uitstellen";
App::$strings["Allow posts to be published at a later date"] = "Maakt het mogelijk dat berichten op een toekomstig moment gepubliceerd kunnen worden.";
+App::$strings["Content Expiration"] = "Inhoud laten verlopen";
+App::$strings["Remove posts/comments and/or private messages at a future time"] = "Berichten, reacties en/of privéberichten na een bepaalde tijd verwijderen";
App::$strings["Suppress Duplicate Posts/Comments"] = "Dubbele berichten/reacties tegenhouden";
App::$strings["Prevent posts with identical content to be published with less than two minutes in between submissions."] = "Voorkomt dat berichten en reacties met identieke inhoud en die binnen twee minuten zijn verstuurd, worden gepubliceerd. ";
App::$strings["Network and Stream Filtering"] = "Netwerk- en streamfilter";
@@ -1753,9 +1674,9 @@ App::$strings["Network New Tab"] = "Nieuwe netwerktab";
App::$strings["Enable tab to display all new Network activity"] = "Laat de tab alle nieuwe netwerkactiviteit tonen";
App::$strings["Affinity Tool"] = "Verwantschapsfilter";
App::$strings["Filter stream activity by depth of relationships"] = "Filter wat je in jouw grid ziet op hoe goed je iemand kent of mag";
+App::$strings["Show friend and connection suggestions"] = "Toon kanaalvoorstellen";
App::$strings["Connection Filtering"] = "Berichtenfilters";
App::$strings["Filter incoming posts from connections based on keywords/content"] = "Filter binnenkomende berichten van connecties aan de hand van trefwoorden en taal";
-App::$strings["Show channel suggestions"] = "Voor jou mogelijk interessante kanalen voorstellen";
App::$strings["Post/Comment Tools"] = "Bericht- en reactiehulpmiddelen";
App::$strings["Community Tagging"] = "Taggen door anderen";
App::$strings["Ability to tag existing posts"] = "Geeft andere mensen de mogelijkheid om jouw (bestaande) berichten te taggen";
@@ -1771,48 +1692,123 @@ App::$strings["Star Posts"] = "Geef berichten een ster";
App::$strings["Ability to mark special posts with a star indicator"] = "Mogelijkheid om speciale berichten met een ster te markeren";
App::$strings["Tag Cloud"] = "Tagwolk";
App::$strings["Provide a personal tag cloud on your channel page"] = "Zorgt voor een persoonlijke wolk met tags op jouw kanaalpagina";
-App::$strings["Birthday"] = "Verjaardag of geboortedatum";
-App::$strings["Age: "] = "Leeftijd:";
-App::$strings["YYYY-MM-DD or MM-DD"] = "JJJJ-MM-DD of MM-DD";
-App::$strings["never"] = "nooit";
-App::$strings["less than a second ago"] = "minder dan een seconde geleden";
-App::$strings["__ctx:e.g. 22 hours ago, 1 minute ago__ %1\$d %2\$s ago"] = "%1\$d %2\$s geleden";
-App::$strings["__ctx:relative_date__ year"] = array(
- 0 => "jaar",
- 1 => "jaren",
-);
-App::$strings["__ctx:relative_date__ month"] = array(
- 0 => "maand",
- 1 => "maanden",
-);
-App::$strings["__ctx:relative_date__ week"] = array(
- 0 => "week",
- 1 => "weken",
-);
-App::$strings["__ctx:relative_date__ day"] = array(
- 0 => "dag",
- 1 => "dagen",
-);
-App::$strings["__ctx:relative_date__ hour"] = array(
- 0 => "uur",
- 1 => "uren",
-);
-App::$strings["__ctx:relative_date__ minute"] = array(
- 0 => "minuut",
- 1 => "minuten",
-);
-App::$strings["__ctx:relative_date__ second"] = array(
- 0 => "seconde",
- 1 => "seconden",
-);
-App::$strings["%1\$s's birthday"] = "Verjaardag van %1\$s";
-App::$strings["Happy Birthday %1\$s"] = "Gefeliciteerd met je verjaardag %1\$s";
-App::$strings["Image exceeds website size limit of %lu bytes"] = "Afbeelding is groter dan op deze hub toegestane limiet van %lu bytes";
-App::$strings["Image file is empty."] = "Afbeeldingsbestand is leeg";
-App::$strings["Photo storage failed."] = "Foto kan niet worden opgeslagen";
-App::$strings["a new photo"] = "een nieuwe foto";
-App::$strings["__ctx:photo_upload__ %1\$s posted %2\$s to %3\$s"] = "%1\$s plaatste %2\$s op %3\$s";
-App::$strings["Upload New Photos"] = "Nieuwe foto's uploaden";
+App::$strings["Premium Channel"] = "Premiumkanaal";
+App::$strings["Allows you to set restrictions and terms on those that connect with your channel"] = "Stelt je in staat om beperkingen en voorwaarden in te stellen voor jouw kanaal";
+App::$strings["Help:"] = "Hulp:";
+App::$strings["guest:"] = "gast:";
+App::$strings["The form security token was not correct. This probably happened because the form has been opened for too long (>3 hours) before submitting it."] = "De beveiligings-token van het tekstvak was ongeldig. Dit is mogelijk het gevolg van dat er te lang (meer dan 3 uur) gewacht is om de tekst op te slaan. ";
+App::$strings["prev"] = "vorige";
+App::$strings["first"] = "eerste";
+App::$strings["last"] = "laatste";
+App::$strings["next"] = "volgende";
+App::$strings["older"] = "ouder";
+App::$strings["newer"] = "nieuwer";
+App::$strings["No connections"] = "Geen connecties";
+App::$strings["View all %s connections"] = "Toon alle %s connecties";
+App::$strings["poke"] = "aanstoten";
+App::$strings["poked"] = "aangestoten";
+App::$strings["ping"] = "ping";
+App::$strings["pinged"] = "gepingd";
+App::$strings["prod"] = "por";
+App::$strings["prodded"] = "gepord";
+App::$strings["slap"] = "slaan";
+App::$strings["slapped"] = "sloeg";
+App::$strings["finger"] = "finger";
+App::$strings["fingered"] = "gefingerd";
+App::$strings["rebuff"] = "afpoeieren";
+App::$strings["rebuffed"] = "afgepoeierd";
+App::$strings["happy"] = "gelukkig";
+App::$strings["sad"] = "bedroefd";
+App::$strings["mellow"] = "mellow";
+App::$strings["tired"] = "moe";
+App::$strings["perky"] = "parmantig";
+App::$strings["angry"] = "boos";
+App::$strings["stupefied"] = "verbijsterd";
+App::$strings["puzzled"] = "verward";
+App::$strings["interested"] = "geïnteresseerd";
+App::$strings["bitter"] = "verbitterd";
+App::$strings["cheerful"] = "vrolijk";
+App::$strings["alive"] = "levendig";
+App::$strings["annoyed"] = "geërgerd";
+App::$strings["anxious"] = "bezorgd";
+App::$strings["cranky"] = "humeurig";
+App::$strings["disturbed"] = "verontrust";
+App::$strings["frustrated"] = "gefrustreerd ";
+App::$strings["depressed"] = "gedeprimeerd";
+App::$strings["motivated"] = "gemotiveerd";
+App::$strings["relaxed"] = "ontspannen";
+App::$strings["surprised"] = "verrast";
+App::$strings["Monday"] = "maandag";
+App::$strings["Tuesday"] = "dinsdag";
+App::$strings["Wednesday"] = "woensdag";
+App::$strings["Thursday"] = "donderdag";
+App::$strings["Friday"] = "vrijdag";
+App::$strings["Saturday"] = "zaterdag";
+App::$strings["Sunday"] = "zondag";
+App::$strings["January"] = "januari";
+App::$strings["February"] = "februari";
+App::$strings["March"] = "maart";
+App::$strings["April"] = "april";
+App::$strings["May"] = "mei";
+App::$strings["June"] = "juni";
+App::$strings["July"] = "juli";
+App::$strings["August"] = "augustus";
+App::$strings["September"] = "september";
+App::$strings["October"] = "oktober";
+App::$strings["November"] = "november";
+App::$strings["December"] = "december";
+App::$strings["Unknown Attachment"] = "Onbekende bijlage";
+App::$strings["unknown"] = "onbekend";
+App::$strings["remove category"] = "categorie verwijderen";
+App::$strings["remove from file"] = "uit map verwijderen";
+App::$strings["default"] = "standaard";
+App::$strings["Page layout"] = "Pagina-lay-out";
+App::$strings["You can create your own with the layouts tool"] = "Je kan jouw eigen lay-out ontwerpen onder lay-outs";
+App::$strings["Page content type"] = "Opmaaktype pagina";
+App::$strings["Select an alternate language"] = "Kies een andere taal";
+App::$strings["activity"] = "activiteit";
+App::$strings["Design Tools"] = "Ontwerp-hulpmiddelen";
+App::$strings["Pages"] = "Pagina's";
+App::$strings["Import website..."] = "Website importeren...";
+App::$strings["Select folder to import"] = "Kies een map om te importeren";
+App::$strings["Import from a zipped folder:"] = "Vanuit een zipbestand importeren:";
+App::$strings["Import from cloud files:"] = "Vanuit de cloud importeren:";
+App::$strings["/cloud/channel/path/to/folder"] = "/cloud/channel/maplocatie";
+App::$strings["Enter path to website files"] = "Voer de locatie in van de websitebestanden";
+App::$strings["Select folder"] = "Kies een map";
+App::$strings["Export website..."] = "Website exporteren...";
+App::$strings["Export to a zip file"] = "Naar een zipbestand exporteren";
+App::$strings["website.zip"] = "website.zip";
+App::$strings["Enter a name for the zip file."] = "Vul een naam in voor het zipbestand.";
+App::$strings["Export to cloud files"] = "Naar de cloud exporteren";
+App::$strings["/path/to/export/folder"] = "/locatie/van/export/map";
+App::$strings["Enter a path to a cloud files destination."] = "Voer de locatie in van de cloudbestemming";
+App::$strings["Specify folder"] = "Selecteer een map";
+App::$strings["Invalid data packet"] = "Datapakket ongeldig";
+App::$strings["Unable to verify channel signature"] = "Kanaalkenmerk kon niet worden geverifieerd. ";
+App::$strings["Unable to verify site signature for %s"] = "Hubkenmerk voor %s kon niet worden geverifieerd";
+App::$strings["invalid target signature"] = "ongeldig doelkenmerk";
+App::$strings["Not a valid email address"] = "Geen geldig e-mailadres";
+App::$strings["Your email domain is not among those allowed on this site"] = "Jouw e-maildomein is op deze hub niet toegestaan";
+App::$strings["Your email address is already registered at this site."] = "Jouw e-mailadres is al op deze hub geregistreerd.";
+App::$strings["An invitation is required."] = "Een uitnodiging is vereist";
+App::$strings["Invitation could not be verified."] = "Uitnodiging kon niet geverifieerd worden";
+App::$strings["Please enter the required information."] = "Vul de vereiste informatie in.";
+App::$strings["Failed to store account information."] = "Account-informatie kon niet opgeslagen worden.";
+App::$strings["Registration confirmation for %s"] = "Registratiebevestiging voor %s";
+App::$strings["Registration request at %s"] = "Registratiebevestiging voor %s";
+App::$strings["Administrator"] = "Beheerder";
+App::$strings["your registration password"] = "jouw registratiewachtwoord";
+App::$strings["Registration details for %s"] = "Registratiegegevens voor %s";
+App::$strings["Account approved."] = "Account goedgekeurd";
+App::$strings["Registration revoked for %s"] = "Registratie ingetrokken voor %s";
+App::$strings["Click here to upgrade."] = "Klik hier om te upgraden.";
+App::$strings["This action exceeds the limits set by your subscription plan."] = "Deze handeling overschrijdt de beperkingen die voor jouw abonnement gelden.";
+App::$strings["This action is not available under your subscription plan."] = "Deze handeling is niet mogelijk met jouw abonnement.";
+App::$strings["No recipient provided."] = "Geen ontvanger opgegeven.";
+App::$strings["[no subject]"] = "[geen onderwerp]";
+App::$strings["Unable to determine sender."] = "Afzender kan niet bepaald worden.";
+App::$strings["Stored post could not be verified."] = "Opgeslagen bericht kon niet worden geverifieerd.";
App::$strings["Frequently"] = "Regelmatig";
App::$strings["Hourly"] = "Elk uur";
App::$strings["Twice daily"] = "Twee keer per dag";
@@ -1875,21 +1871,51 @@ App::$strings["Uncertain"] = "Onzeker";
App::$strings["It's complicated"] = "Het is ingewikkeld";
App::$strings["Don't care"] = "Maakt mij niks uit";
App::$strings["Ask me"] = "Vraag het me";
-App::$strings["Can view my normal stream and posts"] = "Kan mijn normale kanaalstream en berichten bekijken";
-App::$strings["Can view my webpages"] = "Kan mijn pagina's bekijken";
-App::$strings["Can post on my channel page (\"wall\")"] = "Kan een bericht in mijn kanaal plaatsen";
-App::$strings["Can like/dislike stuff"] = "Kan dingen leuk of niet leuk vinden";
-App::$strings["Profiles and things other than posts/comments"] = "Profielen en dingen, buiten berichten en reacties";
-App::$strings["Can forward to all my channel contacts via post @mentions"] = "Kan naar al mijn kanaalconnecties berichten doorsturen met behulp van @vermeldingen+";
-App::$strings["Advanced - useful for creating group forum channels"] = "Geavanceerd - nuttig voor groepforums";
-App::$strings["Can chat with me (when available)"] = "Kan met mij chatten (wanneer beschikbaar)";
-App::$strings["Can write to my file storage and photos"] = "Kan foto's en andere bestanden aan mijn bestandsopslag toevoegen";
-App::$strings["Can edit my webpages"] = "Kan mijn pagina's bewerken";
-App::$strings["Somewhat advanced - very useful in open communities"] = "Enigszins geavanceerd (erg nuttig voor kanalen van forums/groepen)";
-App::$strings["Can administer my channel resources"] = "Kan mijn kanaal beheren";
-App::$strings["Extremely advanced. Leave this alone unless you know what you are doing"] = "Zeer geavanceerd. Laat dit met rust, behalve als je weet wat je doet.";
-App::$strings["guest:"] = "gast:";
-App::$strings["The form security token was not correct. This probably happened because the form has been opened for too long (>3 hours) before submitting it."] = "De beveiligings-token van het tekstvak was ongeldig. Dit is mogelijk het gevolg van dat er te lang (meer dan 3 uur) gewacht is om de tekst op te slaan. ";
+App::$strings["Unable to obtain identity information from database"] = "Niet in staat om identiteitsinformatie uit de database te verkrijgen";
+App::$strings["Empty name"] = "Ontbrekende naam";
+App::$strings["Name too long"] = "Naam te lang";
+App::$strings["No account identifier"] = "Geen account-identificator";
+App::$strings["Nickname is required."] = "Bijnaam is verplicht";
+App::$strings["Reserved nickname. Please choose another."] = "Deze naam is gereserveerd. Kies een andere.";
+App::$strings["Nickname has unsupported characters or is already being used on this site."] = "Deze naam heeft niet ondersteunde karakters of is al op deze hub in gebruik.";
+App::$strings["Unable to retrieve created identity"] = "Niet in staat om aangemaakte identiteit te vinden";
+App::$strings["Default Profile"] = "Standaardprofiel";
+App::$strings["Requested channel is not available."] = "Opgevraagd kanaal is niet beschikbaar.";
+App::$strings["Create New Profile"] = "Nieuw profiel aanmaken";
+App::$strings["Edit Profile"] = "Profiel bewerken";
+App::$strings["Visible to everybody"] = "Voor iedereen zichtbaar";
+App::$strings["Gender:"] = "Geslacht:";
+App::$strings["Status:"] = "Status:";
+App::$strings["Homepage:"] = "Homepagina:";
+App::$strings["Online Now"] = "Nu online";
+App::$strings["Like this channel"] = "Vind dit kanaal leuk";
+App::$strings["j F, Y"] = "F j Y";
+App::$strings["j F"] = "F j";
+App::$strings["Birthday:"] = "Geboortedatum:";
+App::$strings["for %1\$d %2\$s"] = "voor %1\$d %2\$s";
+App::$strings["Sexual Preference:"] = "Seksuele voorkeur:";
+App::$strings["Tags:"] = "Tags:";
+App::$strings["Political Views:"] = "Politieke overtuigingen:";
+App::$strings["Religion:"] = "Religie:";
+App::$strings["Hobbies/Interests:"] = "Hobby's/interesses:";
+App::$strings["Likes:"] = "Houdt van:";
+App::$strings["Dislikes:"] = "Houdt niet van:";
+App::$strings["Contact information and Social Networks:"] = "Contactinformatie en sociale netwerken:";
+App::$strings["My other channels:"] = "Mijn andere kanalen";
+App::$strings["Musical interests:"] = "Muzikale interesses:";
+App::$strings["Books, literature:"] = "Boeken, literatuur:";
+App::$strings["Television:"] = "Televisie:";
+App::$strings["Film/dance/culture/entertainment:"] = "Films/dansen/cultuur/vermaak:";
+App::$strings["Love/Romance:"] = "Liefde/romantiek:";
+App::$strings["Work/employment:"] = "Werk/beroep:";
+App::$strings["School/education:"] = "School/opleiding:";
+App::$strings["Like this thing"] = "Vind dit ding leuk";
+App::$strings["Who can see this?"] = "Wie kan dit zien?";
+App::$strings["Custom selection"] = "Handmatige selectie";
+App::$strings["Select \"Show\" to allow viewing. \"Don't show\" lets you override and limit the scope of \"Show\"."] = "Kies \"Tonen\" om weergave toe te staan. Met \"Niet tonen\" kan je uitzonderingen maken op \"Tonen\".";
+App::$strings["Show"] = "Tonen";
+App::$strings["Don't show"] = "Niet tonen";
+App::$strings["Post permissions %s cannot be changed %s after a post is shared.</br />These permissions set who is allowed to view the post."] = "Permissies van berichten %s zijn niet meer te veranderen %s nadat een bericht is gedeeld.</br />Met deze permissies bepaal je wie het bericht kan zien.";
App::$strings["%1\$s's bookmarks"] = "Bladwijzers van %1\$s";
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."] = "Een verwijderde collectie met deze naam is gereactiveerd. Bestaande itemrechten <strong>kunnen</strong> van toepassing zijn op deze collectie en toekomstige leden. Wanneer je dit niet zo bedoeld hebt, moet je een nieuwe collectie met een andere naam aanmaken.";
App::$strings["Add new connections to this privacy group"] = "Voeg nieuwe connecties aan deze privacygroep toe";
@@ -1898,67 +1924,59 @@ App::$strings["Edit group"] = "Privacygroep bewerken";
App::$strings["Add privacy group"] = "Privacygroep toevoegen";
App::$strings["Channels not in any privacy group"] = "Kanalen die zich in geen enkele privacygroep bevinden";
App::$strings["add"] = "toevoegen";
+App::$strings["New window"] = "Nieuw venster";
+App::$strings["Open the selected location in a different window or browser tab"] = "Open de geselecteerde locatie in een ander venster of tab";
+App::$strings["User '%s' deleted"] = "Account '%s' verwijderd";
App::$strings["New Page"] = "Nieuwe pagina";
App::$strings["Title"] = "Titel";
-App::$strings["Categories"] = "Categorieën";
-App::$strings["System"] = "Systeem";
-App::$strings["New App"] = "Nieuwe app";
-App::$strings["Suggestions"] = "Voorgestelde kanalen";
-App::$strings["See more..."] = "Meer...";
-App::$strings["You have %1$.0f of %2$.0f allowed connections."] = "Je hebt %1$.0f van de %2$.0f toegestane connecties.";
-App::$strings["Add New Connection"] = "Nieuwe connectie toevoegen";
-App::$strings["Enter channel address"] = "Vul kanaaladres in";
-App::$strings["Examples: bob@example.com, https://example.com/barbara"] = "Voorbeelden: bob@example.com, http://example.com/barbara";
-App::$strings["Notes"] = "Aantekeningen";
-App::$strings["Remove term"] = "Verwijder zoekterm";
-App::$strings["Everything"] = "Alles";
-App::$strings["Archives"] = "Archieven";
-App::$strings["Refresh"] = "Vernieuwen";
-App::$strings["Account settings"] = "Account";
-App::$strings["Channel settings"] = "Kanaal";
-App::$strings["Additional features"] = "Extra functies";
-App::$strings["Feature/Addon settings"] = "Plugin-instellingen";
-App::$strings["Display settings"] = "Weergave";
-App::$strings["Manage locations"] = "Locaties beheren";
-App::$strings["Export channel"] = "Kanaal exporteren";
-App::$strings["Connected apps"] = "Verbonden applicaties";
-App::$strings["Premium Channel Settings"] = "Instellingen premiumkanaal";
-App::$strings["Private Mail Menu"] = "Privéberichten";
-App::$strings["Combined View"] = "Gecombineerd postvak";
+App::$strings["Different viewers will see this text differently"] = "Deze tekst wordt per persoon anders weergeven.";
+App::$strings["Logout"] = "Uitloggen";
+App::$strings["End this session"] = "Beëindig deze sessie";
+App::$strings["Home"] = "Home";
+App::$strings["Your posts and conversations"] = "Jouw kanaal";
+App::$strings["Your profile page"] = "Jouw profielpagina";
+App::$strings["Manage/Edit profiles"] = "Beheer/wijzig profielen";
+App::$strings["Edit your profile"] = "Jouw profiel bewerken";
+App::$strings["Your photos"] = "Jouw foto's";
+App::$strings["Your files"] = "Jouw bestanden";
+App::$strings["Your chatrooms"] = "Jouw chatkanalen";
+App::$strings["Bookmarks"] = "Bladwijzers";
+App::$strings["Your bookmarks"] = "Jouw bladwijzers";
+App::$strings["Your webpages"] = "Jouw webpagina's";
+App::$strings["Your wiki"] = "Jouw wiki";
+App::$strings["Sign in"] = "Inloggen";
+App::$strings["%s - click to logout"] = "%s - klik om uit te loggen";
+App::$strings["Remote authentication"] = "Authenticatie op afstand";
+App::$strings["Click to authenticate to your home hub"] = "Authenticeer jezelf via (bijvoorbeeld) jouw hub";
+App::$strings["Home Page"] = "Homepage";
+App::$strings["Create an account"] = "Maak een account aan";
+App::$strings["Help and documentation"] = "Hulp en documentatie";
+App::$strings["Applications, utilities, links, games"] = "Apps";
+App::$strings["Search site @name, #tag, ?docs, content"] = "Zoek een @kanaal, doorzoek inhoud hub met tekst en #tags, of doorzoek ?documentatie ";
+App::$strings["Channel Directory"] = "Kanalengids";
+App::$strings["Your grid"] = "Jouw grid";
+App::$strings["Mark all grid notifications seen"] = "Markeer alle gridnotificaties als bekeken";
+App::$strings["Channel home"] = "Jouw kanaal";
+App::$strings["Mark all channel notifications seen"] = "Alle kanaalnotificaties als gelezen markeren";
+App::$strings["Notices"] = "Notificaties";
+App::$strings["Notifications"] = "Notificaties";
+App::$strings["See all notifications"] = "Alle notificaties weergeven";
+App::$strings["Private mail"] = "Privéberichten";
+App::$strings["See all private messages"] = "Alle privéberichten weergeven";
+App::$strings["Mark all private messages seen"] = "Markeer alle privéberichten als bekeken";
App::$strings["Inbox"] = "Postvak IN";
App::$strings["Outbox"] = "Postvak UIT";
App::$strings["New Message"] = "Nieuw bericht";
-App::$strings["Conversations"] = "Conversaties";
-App::$strings["Received Messages"] = "Ontvangen berichten";
-App::$strings["Sent Messages"] = "Verzonden berichten";
-App::$strings["No messages."] = "Geen berichten";
-App::$strings["Delete conversation"] = "Verwijder conversatie";
-App::$strings["Events Tools"] = "Agenda-hulpmiddelen";
-App::$strings["Export Calendar"] = "Exporteren";
-App::$strings["Import Calendar"] = "Importeren";
-App::$strings["Overview"] = "Overzicht";
-App::$strings["Chat Members"] = "Chatleden";
-App::$strings["Wiki List"] = "Wiki's";
-App::$strings["Wiki Pages"] = "Wikipagina's";
-App::$strings["Bookmarked Chatrooms"] = "Bladwijzers van chatkanalen";
-App::$strings["Suggested Chatrooms"] = "Voorgestelde chatkanalen";
-App::$strings["photo/image"] = "foto/afbeelding";
-App::$strings["Click to show more"] = "Klik voor meer";
-App::$strings["Rating Tools"] = "Beoordelingen";
-App::$strings["Rate Me"] = "Beoordeel mij";
-App::$strings["View Ratings"] = "Bekijk beoordelingen";
-App::$strings["Forums"] = "Forums";
-App::$strings["Tasks"] = "Taken";
-App::$strings["Documentation"] = "Documentatie";
-App::$strings["Project/Site Information"] = "Project- en hub-informatie";
-App::$strings["For Members"] = "Voor leden";
-App::$strings["For Administrators"] = "Voor beheerders";
-App::$strings["For Developers"] = "Voor ontwikkelaars";
-App::$strings["Member registrations waiting for confirmation"] = "Accounts die op goedkeuring wachten";
-App::$strings["Inspect queue"] = "Inspecteer berichtenwachtrij";
-App::$strings["DB updates"] = "Database-updates";
+App::$strings["Event Calendar"] = "Agenda";
+App::$strings["See all events"] = "Alle gebeurtenissen weergeven";
+App::$strings["Mark all events seen"] = "Markeer alle gebeurtenissen als bekeken";
+App::$strings["Manage Your Channels"] = "Beheer je kanalen";
+App::$strings["Account/Channel Settings"] = "Account-/kanaal-instellingen";
App::$strings["Admin"] = "Beheer";
-App::$strings["Plugin Features"] = "Plugin-opties";
+App::$strings["Site Setup and Configuration"] = "Hub instellen en beheren";
+App::$strings["Loading..."] = "Aan het laden...";
+App::$strings["@name, #tag, ?doc, content"] = "@kanaal, #tag, inhoud, ?hulp";
+App::$strings["Please wait..."] = "Wachten aub...";
App::$strings["Attachments:"] = "Bijlagen:";
App::$strings["l F d, Y \\@ g:i A"] = "l d F Y \\@ G:i";
App::$strings["\$Projectname event notification:"] = "Notificatie \$Projectname-gebeurtenis:";
@@ -1997,18 +2015,7 @@ App::$strings["about a year"] = "ongeveer een jaar";
App::$strings["%d years"] = "%d jaren";
App::$strings[" "] = " ";
App::$strings["timeago.numbers"] = "timeago.numbers";
-App::$strings["January"] = "januari";
-App::$strings["February"] = "februari";
-App::$strings["March"] = "maart";
-App::$strings["April"] = "april";
App::$strings["__ctx:long__ May"] = "mei";
-App::$strings["June"] = "juni";
-App::$strings["July"] = "juli";
-App::$strings["August"] = "augustus";
-App::$strings["September"] = "september";
-App::$strings["October"] = "oktober";
-App::$strings["November"] = "november";
-App::$strings["December"] = "december";
App::$strings["Jan"] = "jan";
App::$strings["Feb"] = "feb";
App::$strings["Mar"] = "mrt";
@@ -2021,13 +2028,6 @@ App::$strings["Sep"] = "sep";
App::$strings["Oct"] = "okt";
App::$strings["Nov"] = "nov";
App::$strings["Dec"] = "dec";
-App::$strings["Sunday"] = "zondag";
-App::$strings["Monday"] = "maandag";
-App::$strings["Tuesday"] = "dinsdag";
-App::$strings["Wednesday"] = "woensdag";
-App::$strings["Thursday"] = "donderdag";
-App::$strings["Friday"] = "vrijdag";
-App::$strings["Saturday"] = "zaterdag";
App::$strings["Sun"] = "zo";
App::$strings["Mon"] = "ma";
App::$strings["Tue"] = "di";
@@ -2040,48 +2040,168 @@ App::$strings["__ctx:calendar__ month"] = "maand";
App::$strings["__ctx:calendar__ week"] = "week";
App::$strings["__ctx:calendar__ day"] = "dag";
App::$strings["__ctx:calendar__ All day"] = "hele dag";
-App::$strings["Logout"] = "Uitloggen";
-App::$strings["End this session"] = "Beëindig deze sessie";
-App::$strings["Home"] = "Home";
-App::$strings["Your posts and conversations"] = "Jouw kanaal";
-App::$strings["Your profile page"] = "Jouw profielpagina";
-App::$strings["Manage/Edit profiles"] = "Beheer/wijzig profielen";
-App::$strings["Edit Profile"] = "Profiel bewerken";
-App::$strings["Edit your profile"] = "Jouw profiel bewerken";
-App::$strings["Your photos"] = "Jouw foto's";
-App::$strings["Your files"] = "Jouw bestanden";
-App::$strings["Your chatrooms"] = "Jouw chatkanalen";
-App::$strings["Your bookmarks"] = "Jouw bladwijzers";
-App::$strings["Your webpages"] = "Jouw webpagina's";
-App::$strings["Your wiki"] = "Jouw wiki";
-App::$strings["Sign in"] = "Inloggen";
-App::$strings["%s - click to logout"] = "%s - klik om uit te loggen";
-App::$strings["Remote authentication"] = "Authenticatie op afstand";
-App::$strings["Click to authenticate to your home hub"] = "Authenticeer jezelf via (bijvoorbeeld) jouw hub";
-App::$strings["Home Page"] = "Homepage";
-App::$strings["Create an account"] = "Maak een account aan";
-App::$strings["Help and documentation"] = "Hulp en documentatie";
-App::$strings["Applications, utilities, links, games"] = "Apps";
-App::$strings["Search site @name, #tag, ?docs, content"] = "Zoek een @kanaal, doorzoek inhoud hub met tekst en #tags, of doorzoek ?documentatie ";
-App::$strings["Channel Directory"] = "Kanalengids";
-App::$strings["Your grid"] = "Jouw grid";
-App::$strings["Mark all grid notifications seen"] = "Markeer alle gridnotificaties als bekeken";
-App::$strings["Channel home"] = "Jouw kanaal";
-App::$strings["Mark all channel notifications seen"] = "Alle kanaalnotificaties als gelezen markeren";
-App::$strings["Notices"] = "Notificaties";
-App::$strings["Notifications"] = "Notificaties";
-App::$strings["See all notifications"] = "Alle notificaties weergeven";
-App::$strings["Private mail"] = "Privéberichten";
-App::$strings["See all private messages"] = "Alle privéberichten weergeven";
-App::$strings["Mark all private messages seen"] = "Markeer alle privéberichten als bekeken";
-App::$strings["Event Calendar"] = "Agenda";
-App::$strings["See all events"] = "Alle gebeurtenissen weergeven";
-App::$strings["Mark all events seen"] = "Markeer alle gebeurtenissen als bekeken";
-App::$strings["Manage Your Channels"] = "Beheer je kanalen";
-App::$strings["Account/Channel Settings"] = "Account-/kanaal-instellingen";
-App::$strings["Site Setup and Configuration"] = "Hub instellen en beheren";
-App::$strings["@name, #tag, ?doc, content"] = "@kanaal, #tag, inhoud, ?hulp";
-App::$strings["Please wait..."] = "Wachten aub...";
+App::$strings["Channel is blocked on this site."] = "Kanaal is op deze hub geblokkeerd.";
+App::$strings["Channel location missing."] = "Ontbrekende kanaallocatie.";
+App::$strings["Response from remote channel was incomplete."] = "Antwoord van het kanaal op afstand was niet volledig.";
+App::$strings["Channel was deleted and no longer exists."] = "Kanaal is verwijderd en bestaat niet meer.";
+App::$strings["Protocol disabled."] = "Protocol uitgeschakeld.";
+App::$strings["Channel discovery failed."] = "Kanaal ontdekken mislukt.";
+App::$strings["Cannot connect to yourself."] = "Kan niet met jezelf verbinden";
+App::$strings["Image/photo"] = "Afbeelding/foto";
+App::$strings["Encrypted content"] = "Versleutelde inhoud";
+App::$strings["Install %s element: "] = "Installeer %s-element: ";
+App::$strings["This post contains an installable %s element, however you lack permissions to install it on this site."] = "Dit bericht heeft een te installeren %s-element, maar je hebt geen permissies om het op deze hub te installeren.";
+App::$strings["%1\$s wrote the following %2\$s %3\$s"] = "%1\$s schreef het volgende %2\$s %3\$s";
+App::$strings["Click to open/close"] = "Klik om te openen of te sluiten";
+App::$strings["spoiler"] = "spoiler";
+App::$strings["$1 wrote:"] = "$1 schreef:";
+App::$strings["%1\$s is now connected with %2\$s"] = "%1\$s is nu met %2\$s verbonden";
+App::$strings["%1\$s poked %2\$s"] = "%1\$s heeft %2\$s aangestoten";
+App::$strings["poked"] = "aangestoten";
+App::$strings["View %s's profile @ %s"] = "Bekijk het profiel van %s @ %s";
+App::$strings["Categories:"] = "Categorieën:";
+App::$strings["Filed under:"] = "Bewaard onder:";
+App::$strings["View in context"] = "In context bekijken";
+App::$strings["remove"] = "verwijderen";
+App::$strings["Loading..."] = "Aan het laden...";
+App::$strings["Delete Selected Items"] = "Verwijder de geselecteerde items";
+App::$strings["View Source"] = "Bron weergeven";
+App::$strings["Follow Thread"] = "Conversatie volgen";
+App::$strings["Unfollow Thread"] = "Conversatie niet meer volgen";
+App::$strings["Activity/Posts"] = "Activiteit/berichten connectie";
+App::$strings["Edit Connection"] = "Connectie bewerken";
+App::$strings["Message"] = "Bericht";
+App::$strings["%s likes this."] = "%s vindt dit leuk.";
+App::$strings["%s doesn't like this."] = "%s vindt dit niet leuk.";
+App::$strings["<span %1\$s>%2\$d people</span> like this."] = array(
+ 0 => "<span %1\$s>%2\$d persoon</span> vindt dit leuk.",
+ 1 => "<span %1\$s>%2\$d personen</span> vinden dit leuk.",
+);
+App::$strings["<span %1\$s>%2\$d people</span> don't like this."] = array(
+ 0 => "<span %1\$s>%2\$d persoon</span> vindt dit niet leuk.",
+ 1 => "<span %1\$s>%2\$d personen</span> vinden dit niet leuk.",
+);
+App::$strings["and"] = "en";
+App::$strings[", and %d other people"] = array(
+ 0 => ", en %d ander persoon",
+ 1 => ", en %d andere personen",
+);
+App::$strings["%s like this."] = "%s vinden dit leuk.";
+App::$strings["%s don't like this."] = "%s vinden dit niet leuk.";
+App::$strings["Set your location"] = "Locatie instellen";
+App::$strings["Clear browser location"] = "Locatie van webbrowser wissen";
+App::$strings["Tag term:"] = "Tag:";
+App::$strings["Where are you right now?"] = "Waar bevind je je op dit moment?";
+App::$strings["Comments enabled"] = "Reacties ingeschakeld";
+App::$strings["Comments disabled"] = "Reacties uitgeschakeld";
+App::$strings["Page link name"] = "Linknaam pagina";
+App::$strings["Post as"] = "Bericht plaatsen als";
+App::$strings["Toggle voting"] = "Peiling in- of uitschakelen";
+App::$strings["Disable comments"] = "Reacties uitschakelen";
+App::$strings["Toggle comments"] = "Reacties in- of uitschakelen";
+App::$strings["Categories (optional, comma-separated list)"] = "Categorieën (optioneel, door komma's gescheiden lijst)";
+App::$strings["Other networks and post services"] = "Andere netwerken en diensten";
+App::$strings["Set publish date"] = "Publicatiedatum instellen";
+App::$strings["Discover"] = "Ontdekken";
+App::$strings["Imported public streams"] = "Openbare streams importeren";
+App::$strings["Commented Order"] = "Nieuwe reacties bovenaan";
+App::$strings["Sort by Comment Date"] = "Berichten met nieuwe reacties bovenaan";
+App::$strings["Posted Order"] = "Nieuwe berichten bovenaan";
+App::$strings["Sort by Post Date"] = "Nieuwe berichten bovenaan";
+App::$strings["Posts that mention or involve you"] = "Alleen berichten die jou vermelden of waar je op een andere manier bij betrokken bent";
+App::$strings["Activity Stream - by date"] = "Activiteitenstroom - volgens datum";
+App::$strings["Starred"] = "Met ster";
+App::$strings["Favourite Posts"] = "Favoriete berichten";
+App::$strings["Spam"] = "Spam";
+App::$strings["Posts flagged as SPAM"] = "Berichten gemarkeerd als SPAM";
+App::$strings["Status Messages and Posts"] = "Berichten in dit kanaal";
+App::$strings["About"] = "Over";
+App::$strings["Profile Details"] = "Profiel";
+App::$strings["Files and Storage"] = "Bestanden en opslagruimte";
+App::$strings["Chatrooms"] = "Chatkanalen";
+App::$strings["Saved Bookmarks"] = "Opgeslagen bladwijzers";
+App::$strings["Manage Webpages"] = "Webpagina's beheren";
+App::$strings["__ctx:noun__ Attending"] = array(
+ 0 => "aanwezig",
+ 1 => "aanwezig",
+);
+App::$strings["__ctx:noun__ Not Attending"] = array(
+ 0 => "niet aanwezig",
+ 1 => "niet aanwezig",
+);
+App::$strings["__ctx:noun__ Undecided"] = array(
+ 0 => "nog niet beslist",
+ 1 => "nog niet beslist",
+);
+App::$strings["__ctx:noun__ Agree"] = array(
+ 0 => "eens",
+ 1 => "eens",
+);
+App::$strings["__ctx:noun__ Disagree"] = array(
+ 0 => "oneens",
+ 1 => "oneens",
+);
+App::$strings["__ctx:noun__ Abstain"] = array(
+ 0 => "onthouding",
+ 1 => "onthoudingen",
+);
+App::$strings["Birthday"] = "Verjaardag of geboortedatum";
+App::$strings["Age: "] = "Leeftijd:";
+App::$strings["YYYY-MM-DD or MM-DD"] = "JJJJ-MM-DD of MM-DD";
+App::$strings["never"] = "nooit";
+App::$strings["less than a second ago"] = "minder dan een seconde geleden";
+App::$strings["__ctx:e.g. 22 hours ago, 1 minute ago__ %1\$d %2\$s ago"] = "%1\$d %2\$s geleden";
+App::$strings["__ctx:relative_date__ year"] = array(
+ 0 => "jaar",
+ 1 => "jaren",
+);
+App::$strings["__ctx:relative_date__ month"] = array(
+ 0 => "maand",
+ 1 => "maanden",
+);
+App::$strings["__ctx:relative_date__ week"] = array(
+ 0 => "week",
+ 1 => "weken",
+);
+App::$strings["__ctx:relative_date__ day"] = array(
+ 0 => "dag",
+ 1 => "dagen",
+);
+App::$strings["__ctx:relative_date__ hour"] = array(
+ 0 => "uur",
+ 1 => "uren",
+);
+App::$strings["__ctx:relative_date__ minute"] = array(
+ 0 => "minuut",
+ 1 => "minuten",
+);
+App::$strings["__ctx:relative_date__ second"] = array(
+ 0 => "seconde",
+ 1 => "seconden",
+);
+App::$strings["%1\$s's birthday"] = "Verjaardag van %1\$s";
+App::$strings["Happy Birthday %1\$s"] = "Gefeliciteerd met je verjaardag %1\$s";
+App::$strings["Directory Options"] = "Opties kanalengids";
+App::$strings["Safe Mode"] = "Veilig zoeken";
+App::$strings["Public Forums Only"] = "Alleen openbare forums";
+App::$strings["This Website Only"] = "Alleen deze hub";
+App::$strings["This event has been added to your calendar."] = "Dit evenement is aan jouw agenda toegevoegd.";
+App::$strings["Not specified"] = "Niet aangegeven";
+App::$strings["Needs Action"] = "Actie vereist";
+App::$strings["Completed"] = "Voltooid";
+App::$strings["In Process"] = "In behandeling";
+App::$strings["Cancelled"] = "Geannuleerd";
+App::$strings["Cannot create a duplicate channel identifier on this system. Import failed."] = "Kan geen dubbele kanaal-identificator op deze hub aanmaken. Importeren mislukt.";
+App::$strings["Channel clone failed. Import failed."] = "Het klonen van het kanaal is mislukt. Importeren mislukt.";
+App::$strings["Unable to import element \""] = "Niet in staat om dit element te importeren: \"";
+App::$strings["Logged out."] = "Uitgelogd.";
+App::$strings["Failed authentication"] = "Mislukte authenticatie";
+App::$strings["Login failed."] = "Inloggen mislukt.";
+App::$strings[" and "] = " en ";
+App::$strings["public profile"] = "openbaar profiel";
+App::$strings["%1\$s changed %2\$s to &ldquo;%3\$s&rdquo;"] = "%1\$s veranderde %2\$s naar &ldquo;%3\$s&rdquo;";
+App::$strings["Visit %1\$s's %2\$s"] = "Bezoek het %2\$s van %1\$s";
+App::$strings["%1\$s has an updated %2\$s, changing %3\$s."] = "%1\$s heeft een aangepaste %2\$s, %3\$s veranderd.";
App::$strings["view full size"] = "volledige grootte tonen";
App::$strings["Administrator"] = "Beheerder";
App::$strings["No Subject"] = "Geen onderwerp";
@@ -2095,8 +2215,86 @@ App::$strings["Zot"] = "Zot";
App::$strings["LinkedIn"] = "LinkedIn";
App::$strings["XMPP/IM"] = "XMPP/IM";
App::$strings["MySpace"] = "MySpace";
-App::$strings["Cannot create a duplicate channel identifier on this system. Import failed."] = "Kan geen dubbele kanaal-identificator op deze hub aanmaken. Importeren mislukt.";
-App::$strings["Channel clone failed. Import failed."] = "Het klonen van het kanaal is mislukt. Importeren mislukt.";
+App::$strings["Categories"] = "Categorieën";
+App::$strings["Tags"] = "Tags";
+App::$strings["Keywords"] = "Trefwoorden";
+App::$strings["have"] = "heb";
+App::$strings["has"] = "heeft";
+App::$strings["want"] = "wil";
+App::$strings["wants"] = "wil";
+App::$strings["likes"] = "vindt dit leuk";
+App::$strings["dislikes"] = "vindt dit niet leuk";
+App::$strings["%d invitation available"] = array(
+ 0 => "%d uitnodiging beschikbaar",
+ 1 => "%d uitnodigingen beschikbaar",
+);
+App::$strings["Find Channels"] = "Kanalen vinden";
+App::$strings["Enter name or interest"] = "Vul naam of interesse in";
+App::$strings["Connect/Follow"] = "Verbinden/volgen";
+App::$strings["Examples: Robert Morgenstein, Fishing"] = "Voorbeeld: Robert Morgenstein, vissen";
+App::$strings["Random Profile"] = "Willekeurig profiel";
+App::$strings["Invite Friends"] = "Vrienden uitnodigen";
+App::$strings["Advanced example: name=fred and country=iceland"] = "Geavanceerd voorbeeld (Engels): name=jan en country=nederland";
+App::$strings["Everything"] = "Alles";
+App::$strings["%d connection in common"] = array(
+ 0 => "%d gemeenschappelijke connectie",
+ 1 => "%d gemeenschappelijke connecties",
+);
+App::$strings["show more"] = "meer connecties weergeven";
+App::$strings["System"] = "Systeem";
+App::$strings["New App"] = "Nieuwe app";
+App::$strings["Suggestions"] = "Voorgestelde kanalen";
+App::$strings["See more..."] = "Meer...";
+App::$strings["You have %1$.0f of %2$.0f allowed connections."] = "Je hebt %1$.0f van de %2$.0f toegestane connecties.";
+App::$strings["Add New Connection"] = "Nieuwe connectie toevoegen";
+App::$strings["Enter channel address"] = "Vul kanaaladres in";
+App::$strings["Examples: bob@example.com, https://example.com/barbara"] = "Voorbeelden: bob@example.com, http://example.com/barbara";
+App::$strings["Notes"] = "Aantekeningen";
+App::$strings["Remove term"] = "Verwijder zoekterm";
+App::$strings["Archives"] = "Archieven";
+App::$strings["Refresh"] = "Vernieuwen";
+App::$strings["Account settings"] = "Account";
+App::$strings["Channel settings"] = "Kanaal";
+App::$strings["Additional features"] = "Extra functies";
+App::$strings["Feature/Addon settings"] = "Plugin-instellingen";
+App::$strings["Display settings"] = "Weergave";
+App::$strings["Manage locations"] = "Locaties beheren";
+App::$strings["Export channel"] = "Kanaal exporteren";
+App::$strings["Connected apps"] = "Verbonden applicaties";
+App::$strings["Premium Channel Settings"] = "Instellingen premiumkanaal";
+App::$strings["Private Mail Menu"] = "Privéberichten";
+App::$strings["Combined View"] = "Gecombineerd postvak";
+App::$strings["Conversations"] = "Conversaties";
+App::$strings["Received Messages"] = "Ontvangen berichten";
+App::$strings["Sent Messages"] = "Verzonden berichten";
+App::$strings["No messages."] = "Geen berichten";
+App::$strings["Delete conversation"] = "Verwijder conversatie";
+App::$strings["Events Tools"] = "Agenda-hulpmiddelen";
+App::$strings["Export Calendar"] = "Exporteren";
+App::$strings["Import Calendar"] = "Importeren";
+App::$strings["Overview"] = "Overzicht";
+App::$strings["Chat Members"] = "Chatleden";
+App::$strings["Wiki List"] = "Wiki's";
+App::$strings["Wiki Pages"] = "Wikipagina's";
+App::$strings["Bookmarked Chatrooms"] = "Bladwijzers van chatkanalen";
+App::$strings["Suggested Chatrooms"] = "Voorgestelde chatkanalen";
+App::$strings["photo/image"] = "foto/afbeelding";
+App::$strings["Click to show more"] = "Klik voor meer";
+App::$strings["Rating Tools"] = "Beoordelingen";
+App::$strings["Rate Me"] = "Beoordeel mij";
+App::$strings["View Ratings"] = "Bekijk beoordelingen";
+App::$strings["Forums"] = "Forums";
+App::$strings["Tasks"] = "Taken";
+App::$strings["Documentation"] = "Documentatie";
+App::$strings["Member registrations waiting for confirmation"] = "Accounts die op goedkeuring wachten";
+App::$strings["Inspect queue"] = "Inspecteer berichtenwachtrij";
+App::$strings["DB updates"] = "Database-updates";
+App::$strings["Plugin Features"] = "Plugin-opties";
+App::$strings["Public Timeline"] = "Openbare tijdlijn";
+App::$strings[" by "] = " door ";
+App::$strings[" on "] = " op ";
+App::$strings["Embedded content"] = "Ingesloten (embedded) inhoud";
+App::$strings["Embedding disabled"] = "Insluiten (embedding) uitgeschakeld";
App::$strings["(Unknown)"] = "(Onbekend)";
App::$strings["Visible to anybody on the internet."] = "Voor iedereen op het internet zichtbaar.";
App::$strings["Visible to you only."] = "Alleen voor jou zichtbaar.";
@@ -2110,80 +2308,6 @@ App::$strings["Privacy group is empty."] = "Privacygroep is leeg";
App::$strings["Privacy group: %s"] = "Privacygroep: %s";
App::$strings["Connection not found."] = "Connectie niet gevonden.";
App::$strings["profile photo"] = "profielfoto";
-App::$strings["prev"] = "vorige";
-App::$strings["first"] = "eerste";
-App::$strings["last"] = "laatste";
-App::$strings["next"] = "volgende";
-App::$strings["older"] = "ouder";
-App::$strings["newer"] = "nieuwer";
-App::$strings["No connections"] = "Geen connecties";
-App::$strings["View all %s connections"] = "Toon alle %s connecties";
-App::$strings["poke"] = "aanstoten";
-App::$strings["ping"] = "ping";
-App::$strings["pinged"] = "gepingd";
-App::$strings["prod"] = "por";
-App::$strings["prodded"] = "gepord";
-App::$strings["slap"] = "slaan";
-App::$strings["slapped"] = "sloeg";
-App::$strings["finger"] = "finger";
-App::$strings["fingered"] = "gefingerd";
-App::$strings["rebuff"] = "afpoeieren";
-App::$strings["rebuffed"] = "afgepoeierd";
-App::$strings["happy"] = "gelukkig";
-App::$strings["sad"] = "bedroefd";
-App::$strings["mellow"] = "mellow";
-App::$strings["tired"] = "moe";
-App::$strings["perky"] = "parmantig";
-App::$strings["angry"] = "boos";
-App::$strings["stupefied"] = "verbijsterd";
-App::$strings["puzzled"] = "verward";
-App::$strings["interested"] = "geïnteresseerd";
-App::$strings["bitter"] = "verbitterd";
-App::$strings["cheerful"] = "vrolijk";
-App::$strings["alive"] = "levendig";
-App::$strings["annoyed"] = "geërgerd";
-App::$strings["anxious"] = "bezorgd";
-App::$strings["cranky"] = "humeurig";
-App::$strings["disturbed"] = "verontrust";
-App::$strings["frustrated"] = "gefrustreerd ";
-App::$strings["depressed"] = "gedeprimeerd";
-App::$strings["motivated"] = "gemotiveerd";
-App::$strings["relaxed"] = "ontspannen";
-App::$strings["surprised"] = "verrast";
-App::$strings["May"] = "mei";
-App::$strings["Unknown Attachment"] = "Onbekende bijlage";
-App::$strings["unknown"] = "onbekend";
-App::$strings["remove category"] = "categorie verwijderen";
-App::$strings["remove from file"] = "uit map verwijderen";
-App::$strings["default"] = "standaard";
-App::$strings["Page layout"] = "Pagina-lay-out";
-App::$strings["You can create your own with the layouts tool"] = "Je kan jouw eigen lay-out ontwerpen onder lay-outs";
-App::$strings["Page content type"] = "Opmaaktype pagina";
-App::$strings["Select an alternate language"] = "Kies een andere taal";
-App::$strings["activity"] = "activiteit";
-App::$strings["Design Tools"] = "Ontwerp-hulpmiddelen";
-App::$strings["Pages"] = "Pagina's";
-App::$strings["Import website..."] = "Website importeren...";
-App::$strings["Select folder to import"] = "Kies een map om te importeren";
-App::$strings["Import from a zipped folder:"] = "Vanuit een zipbestand importeren:";
-App::$strings["Import from cloud files:"] = "Vanuit de cloud importeren:";
-App::$strings["/cloud/channel/path/to/folder"] = "/cloud/channel/maplocatie";
-App::$strings["Enter path to website files"] = "Voer de locatie in van de websitebestanden";
-App::$strings["Select folder"] = "Kies een map";
-App::$strings["Who can see this?"] = "Wie kan dit zien?";
-App::$strings["Custom selection"] = "Handmatige selectie";
-App::$strings["Select \"Show\" to allow viewing. \"Don't show\" lets you override and limit the scope of \"Show\"."] = "Kies \"Tonen\" om weergave toe te staan. Met \"Niet tonen\" kan je uitzonderingen maken op \"Tonen\".";
-App::$strings["Show"] = "Tonen";
-App::$strings["Don't show"] = "Niet tonen";
-App::$strings["Other networks and post services"] = "Andere netwerken en diensten";
-App::$strings["Post permissions %s cannot be changed %s after a post is shared.</br />These permissions set who is allowed to view the post."] = "Permissies van berichten %s zijn niet meer te veranderen %s nadat een bericht is gedeeld.</br />Met deze permissies bepaal je wie het bericht kan zien.";
-App::$strings["Embedded content"] = "Ingesloten (embedded) inhoud";
-App::$strings["Embedding disabled"] = "Insluiten (embedding) uitgeschakeld";
-App::$strings[" and "] = " en ";
-App::$strings["public profile"] = "openbaar profiel";
-App::$strings["%1\$s changed %2\$s to &ldquo;%3\$s&rdquo;"] = "%1\$s veranderde %2\$s naar &ldquo;%3\$s&rdquo;";
-App::$strings["Visit %1\$s's %2\$s"] = "Bezoek het %2\$s van %1\$s";
-App::$strings["%1\$s has an updated %2\$s, changing %3\$s."] = "%1\$s heeft een aangepaste %2\$s, %3\$s veranderd.";
App::$strings["Item was not found."] = "Item niet gevonden";
App::$strings["No source file."] = "Geen bronbestand.";
App::$strings["Cannot locate file to replace"] = "Kan het te vervangen bestand niet vinden";
@@ -2199,105 +2323,6 @@ App::$strings["Path not found."] = "Locatie niet gevonden";
App::$strings["mkdir failed."] = "directory aanmaken (mkdir) mislukt.";
App::$strings["database storage failed."] = "opslag in database mislukt.";
App::$strings["Empty path"] = "Ontbrekende locatie";
-App::$strings["Tags"] = "Tags";
-App::$strings["Keywords"] = "Trefwoorden";
-App::$strings["have"] = "heb";
-App::$strings["has"] = "heeft";
-App::$strings["want"] = "wil";
-App::$strings["wants"] = "wil";
-App::$strings["likes"] = "vindt dit leuk";
-App::$strings["dislikes"] = "vindt dit niet leuk";
-App::$strings["Invalid data packet"] = "Datapakket ongeldig";
-App::$strings["Unable to verify channel signature"] = "Kanaalkenmerk kon niet worden geverifieerd. ";
-App::$strings["Unable to verify site signature for %s"] = "Hubkenmerk voor %s kon niet worden geverifieerd";
-App::$strings["invalid target signature"] = "ongeldig doelkenmerk";
-App::$strings["Unable to obtain identity information from database"] = "Niet in staat om identiteitsinformatie uit de database te verkrijgen";
-App::$strings["Empty name"] = "Ontbrekende naam";
-App::$strings["Name too long"] = "Naam te lang";
-App::$strings["No account identifier"] = "Geen account-identificator";
-App::$strings["Nickname is required."] = "Bijnaam is verplicht";
-App::$strings["Reserved nickname. Please choose another."] = "Deze naam is gereserveerd. Kies een andere.";
-App::$strings["Nickname has unsupported characters or is already being used on this site."] = "Deze naam heeft niet ondersteunde karakters of is al op deze hub in gebruik.";
-App::$strings["Unable to retrieve created identity"] = "Niet in staat om aangemaakte identiteit te vinden";
-App::$strings["Default Profile"] = "Standaardprofiel";
-App::$strings["Requested channel is not available."] = "Opgevraagd kanaal is niet beschikbaar.";
-App::$strings["Create New Profile"] = "Nieuw profiel aanmaken";
-App::$strings["Visible to everybody"] = "Voor iedereen zichtbaar";
-App::$strings["Gender:"] = "Geslacht:";
-App::$strings["Status:"] = "Status:";
-App::$strings["Homepage:"] = "Homepagina:";
-App::$strings["Online Now"] = "Nu online";
-App::$strings["Like this channel"] = "Vind dit kanaal leuk";
-App::$strings["j F, Y"] = "F j Y";
-App::$strings["j F"] = "F j";
-App::$strings["Birthday:"] = "Geboortedatum:";
-App::$strings["for %1\$d %2\$s"] = "voor %1\$d %2\$s";
-App::$strings["Sexual Preference:"] = "Seksuele voorkeur:";
-App::$strings["Tags:"] = "Tags:";
-App::$strings["Political Views:"] = "Politieke overtuigingen:";
-App::$strings["Religion:"] = "Religie:";
-App::$strings["Hobbies/Interests:"] = "Hobby's/interesses:";
-App::$strings["Likes:"] = "Houdt van:";
-App::$strings["Dislikes:"] = "Houdt niet van:";
-App::$strings["Contact information and Social Networks:"] = "Contactinformatie en sociale netwerken:";
-App::$strings["My other channels:"] = "Mijn andere kanalen";
-App::$strings["Musical interests:"] = "Muzikale interesses:";
-App::$strings["Books, literature:"] = "Boeken, literatuur:";
-App::$strings["Television:"] = "Televisie:";
-App::$strings["Film/dance/culture/entertainment:"] = "Films/dansen/cultuur/vermaak:";
-App::$strings["Love/Romance:"] = "Liefde/romantiek:";
-App::$strings["Work/employment:"] = "Werk/beroep:";
-App::$strings["School/education:"] = "School/opleiding:";
-App::$strings["Like this thing"] = "Vind dit ding leuk";
-App::$strings["New window"] = "Nieuw venster";
-App::$strings["Open the selected location in a different window or browser tab"] = "Open de geselecteerde locatie in een ander venster of tab";
-App::$strings["User '%s' deleted"] = "Account '%s' verwijderd";
-App::$strings["This event has been added to your calendar."] = "Dit evenement is aan jouw agenda toegevoegd.";
-App::$strings["Not specified"] = "Niet aangegeven";
-App::$strings["Needs Action"] = "Actie vereist";
-App::$strings["Completed"] = "Voltooid";
-App::$strings["In Process"] = "In behandeling";
-App::$strings["Cancelled"] = "Geannuleerd";
-App::$strings["%d invitation available"] = array(
- 0 => "%d uitnodiging beschikbaar",
- 1 => "%d uitnodigingen beschikbaar",
-);
-App::$strings["Find Channels"] = "Kanalen vinden";
-App::$strings["Enter name or interest"] = "Vul naam of interesse in";
-App::$strings["Connect/Follow"] = "Verbinden/volgen";
-App::$strings["Examples: Robert Morgenstein, Fishing"] = "Voorbeeld: Robert Morgenstein, vissen";
-App::$strings["Random Profile"] = "Willekeurig profiel";
-App::$strings["Invite Friends"] = "Vrienden uitnodigen";
-App::$strings["Advanced example: name=fred and country=iceland"] = "Geavanceerd voorbeeld (Engels): name=jan en country=nederland";
-App::$strings["%d connection in common"] = array(
- 0 => "%d gemeenschappelijke connectie",
- 1 => "%d gemeenschappelijke connecties",
-);
-App::$strings["show more"] = "meer connecties weergeven";
-App::$strings["Directory Options"] = "Opties kanalengids";
-App::$strings["Safe Mode"] = "Veilig zoeken";
-App::$strings["Public Forums Only"] = "Alleen openbare forums";
-App::$strings["This Website Only"] = "Alleen deze hub";
-App::$strings["No recipient provided."] = "Geen ontvanger opgegeven.";
-App::$strings["[no subject]"] = "[geen onderwerp]";
-App::$strings["Unable to determine sender."] = "Afzender kan niet bepaald worden.";
-App::$strings["Stored post could not be verified."] = "Opgeslagen bericht kon niet worden geverifieerd.";
-App::$strings["Not a valid email address"] = "Geen geldig e-mailadres";
-App::$strings["Your email domain is not among those allowed on this site"] = "Jouw e-maildomein is op deze hub niet toegestaan";
-App::$strings["Your email address is already registered at this site."] = "Jouw e-mailadres is al op deze hub geregistreerd.";
-App::$strings["An invitation is required."] = "Een uitnodiging is vereist";
-App::$strings["Invitation could not be verified."] = "Uitnodiging kon niet geverifieerd worden";
-App::$strings["Please enter the required information."] = "Vul de vereiste informatie in.";
-App::$strings["Failed to store account information."] = "Account-informatie kon niet opgeslagen worden.";
-App::$strings["Registration confirmation for %s"] = "Registratiebevestiging voor %s";
-App::$strings["Registration request at %s"] = "Registratiebevestiging voor %s";
-App::$strings["your registration password"] = "jouw registratiewachtwoord";
-App::$strings["Registration details for %s"] = "Registratiegegevens voor %s";
-App::$strings["Account approved."] = "Account goedgekeurd";
-App::$strings["Registration revoked for %s"] = "Registratie ingetrokken voor %s";
-App::$strings["Click here to upgrade."] = "Klik hier om te upgraden.";
-App::$strings["This action exceeds the limits set by your subscription plan."] = "Deze handeling overschrijdt de beperkingen die voor jouw abonnement gelden.";
-App::$strings["This action is not available under your subscription plan."] = "Deze handeling is niet mogelijk met jouw abonnement.";
App::$strings["Focus (Hubzilla default)"] = "Focus (Hubzilla-standaard)";
App::$strings["Theme settings"] = "Thema-instellingen";
App::$strings["Narrow navbar"] = "Smalle navigatiebalk";
diff --git a/view/pdl/mod_search.pdl b/view/pdl/mod_search.pdl
index 7de4a270f..5096508fa 100644
--- a/view/pdl/mod_search.pdl
+++ b/view/pdl/mod_search.pdl
@@ -1,3 +1,3 @@
[region=aside]
-[widget=savedsearch][/widget]
+[comment][widget=sitesearch][/widget][/comment]
[/region]
diff --git a/view/pdl/mod_webpages.pdl b/view/pdl/mod_webpages.pdl
index b62ec6e7c..9e4d604ba 100644
--- a/view/pdl/mod_webpages.pdl
+++ b/view/pdl/mod_webpages.pdl
@@ -1,4 +1,4 @@
[region=aside]
[widget=design_tools][/widget]
-[widget=website_import_tools][/widget]
+[widget=website_portation_tools][/widget]
[/region] \ No newline at end of file
diff --git a/view/theme/redbasic/css/narrow_navbar.css b/view/theme/redbasic/css/narrow_navbar.css
index faa18dfe5..6b09b031a 100644
--- a/view/theme/redbasic/css/narrow_navbar.css
+++ b/view/theme/redbasic/css/narrow_navbar.css
@@ -18,22 +18,22 @@
}
nav .navbar-header img {
- height: 30px;
- width: 30px;
+ height: 29px;
+ width: 29px;
margin-top: 1px;
border-radius: 4px;
}
.navbar-left {
- height: 30px;
+ height: 29px;
}
.container-fluid {
- min-height:30px;
+ min-height:29px;
}
.collapse .navbar-collapse {
- min-height:30px;
+ min-height:29px;
}
#nav-search-text {
@@ -50,15 +50,11 @@
nav .dropdown-menu,
nav .acpopup {
- top: 31px !important;
+ top: 30px !important;
}
nav .badge {
- position: relative;
- top: -31px;
- float: right;
- font-size: 10px;
- cursor: pointer;
+ top: -29px;
}
#jGrowl.top-right {
@@ -67,6 +63,6 @@
}
.contextual-help-content-open {
- top: 32px;
+ top: 31px;
}
}
diff --git a/view/theme/redbasic/css/style.css b/view/theme/redbasic/css/style.css
index 2b0f3b853..a6d1d2a7e 100644
--- a/view/theme/redbasic/css/style.css
+++ b/view/theme/redbasic/css/style.css
@@ -1267,14 +1267,6 @@ img.mail-conv-sender-photo {
font-size: $body_font_size;
}
-.wall-item-head {
- padding: 10px 10px 0.5em 10px;
-}
-
-.wall-item-content {
- padding: 0.5em 10px;
-}
-
.wall-event-item {
padding: 10px;
color: #fff;
@@ -1289,11 +1281,6 @@ img.mail-conv-sender-photo {
border-top-left-radius: $radiuspx;
}
-.wall-item-tools {
- padding: 0.5em 10px 10px 10px;
-}
-
-
.wall-item-title {
font-size: $font_size;
}
diff --git a/view/theme/redbasic/php/config.php b/view/theme/redbasic/php/config.php
index 04cf4f904..b03e94e46 100644
--- a/view/theme/redbasic/php/config.php
+++ b/view/theme/redbasic/php/config.php
@@ -1,137 +1,151 @@
<?php
-function theme_content(&$a) {
- if(!local_channel()) { return;}
-
- $arr = array();
-
- $arr['schema'] = get_pconfig(local_channel(),'redbasic', 'schema' );
- $arr['narrow_navbar'] = get_pconfig(local_channel(),'redbasic', 'narrow_navbar' );
- $arr['nav_bg'] = get_pconfig(local_channel(),'redbasic', 'nav_bg' );
- $arr['nav_gradient_top'] = get_pconfig(local_channel(),'redbasic', 'nav_gradient_top' );
- $arr['nav_gradient_bottom'] = get_pconfig(local_channel(),'redbasic', 'nav_gradient_bottom' );
- $arr['nav_active_gradient_top'] = get_pconfig(local_channel(),'redbasic', 'nav_active_gradient_top' );
- $arr['nav_active_gradient_bottom'] = get_pconfig(local_channel(),'redbasic', 'nav_active_gradient_bottom' );
- $arr['nav_bd'] = get_pconfig(local_channel(),'redbasic', 'nav_bd' );
- $arr['nav_icon_colour'] = get_pconfig(local_channel(),'redbasic', 'nav_icon_colour' );
- $arr['nav_active_icon_colour'] = get_pconfig(local_channel(),'redbasic', 'nav_active_icon_colour' );
- $arr['link_colour'] = get_pconfig(local_channel(),'redbasic', 'link_colour' );
- $arr['banner_colour'] = get_pconfig(local_channel(),'redbasic', 'banner_colour' );
- $arr['bgcolour'] = get_pconfig(local_channel(),'redbasic', 'background_colour' );
- $arr['background_image'] = get_pconfig(local_channel(),'redbasic', 'background_image' );
- $arr['item_colour'] = get_pconfig(local_channel(),'redbasic', 'item_colour' );
- $arr['comment_item_colour'] = get_pconfig(local_channel(),'redbasic', 'comment_item_colour' );
- $arr['comment_border_colour'] = get_pconfig(local_channel(),'redbasic', 'comment_border_colour' );
- $arr['comment_indent'] = get_pconfig(local_channel(),'redbasic', 'comment_indent' );
- $arr['toolicon_colour'] = get_pconfig(local_channel(),'redbasic','toolicon_colour');
- $arr['toolicon_activecolour'] = get_pconfig(local_channel(),'redbasic','toolicon_activecolour');
- $arr['font_size'] = get_pconfig(local_channel(),'redbasic', 'font_size' );
- $arr['body_font_size'] = get_pconfig(local_channel(),'redbasic', 'body_font_size' );
- $arr['font_colour'] = get_pconfig(local_channel(),'redbasic', 'font_colour' );
- $arr['radius'] = get_pconfig(local_channel(),'redbasic', 'radius' );
- $arr['shadow'] = get_pconfig(local_channel(),'redbasic', 'photo_shadow' );
- $arr['converse_width']=get_pconfig(local_channel(),"redbasic","converse_width");
- $arr['align_left']=get_pconfig(local_channel(),"redbasic","align_left");
- $arr['nav_min_opacity']=get_pconfig(local_channel(),"redbasic","nav_min_opacity");
- $arr['top_photo']=get_pconfig(local_channel(),"redbasic","top_photo");
- $arr['reply_photo']=get_pconfig(local_channel(),"redbasic","reply_photo");
- return redbasic_form($a, $arr);
-}
+namespace Zotlabs\Theme;
+
+class RedbasicConfig {
-function theme_post(&$a) {
- if(!local_channel()) { return;}
-
- if (isset($_POST['redbasic-settings-submit'])) {
- set_pconfig(local_channel(), 'redbasic', 'schema', $_POST['redbasic_schema']);
- set_pconfig(local_channel(), 'redbasic', 'narrow_navbar', $_POST['redbasic_narrow_navbar']);
- set_pconfig(local_channel(), 'redbasic', 'nav_bg', $_POST['redbasic_nav_bg']);
- set_pconfig(local_channel(), 'redbasic', 'nav_gradient_top', $_POST['redbasic_nav_gradient_top']);
- set_pconfig(local_channel(), 'redbasic', 'nav_gradient_bottom', $_POST['redbasic_nav_gradient_bottom']);
- set_pconfig(local_channel(), 'redbasic', 'nav_active_gradient_top', $_POST['redbasic_nav_active_gradient_top']);
- set_pconfig(local_channel(), 'redbasic', 'nav_active_gradient_bottom', $_POST['redbasic_nav_active_gradient_bottom']);
- set_pconfig(local_channel(), 'redbasic', 'nav_bd', $_POST['redbasic_nav_bd']);
- set_pconfig(local_channel(), 'redbasic', 'nav_icon_colour', $_POST['redbasic_nav_icon_colour']);
- set_pconfig(local_channel(), 'redbasic', 'nav_active_icon_colour', $_POST['redbasic_nav_active_icon_colour']);
- set_pconfig(local_channel(), 'redbasic', 'link_colour', $_POST['redbasic_link_colour']);
- set_pconfig(local_channel(), 'redbasic', 'background_colour', $_POST['redbasic_background_colour']);
- set_pconfig(local_channel(), 'redbasic', 'banner_colour', $_POST['redbasic_banner_colour']);
- set_pconfig(local_channel(), 'redbasic', 'background_image', $_POST['redbasic_background_image']);
- set_pconfig(local_channel(), 'redbasic', 'item_colour', $_POST['redbasic_item_colour']);
- set_pconfig(local_channel(), 'redbasic', 'comment_item_colour', $_POST['redbasic_comment_item_colour']);
- set_pconfig(local_channel(), 'redbasic', 'comment_border_colour', $_POST['redbasic_comment_border_colour']);
- set_pconfig(local_channel(), 'redbasic', 'comment_indent', $_POST['redbasic_comment_indent']);
- set_pconfig(local_channel(), 'redbasic', 'toolicon_colour', $_POST['redbasic_toolicon_colour']);
- set_pconfig(local_channel(), 'redbasic', 'toolicon_activecolour', $_POST['redbasic_toolicon_activecolour']);
- set_pconfig(local_channel(), 'redbasic', 'font_size', $_POST['redbasic_font_size']);
- set_pconfig(local_channel(), 'redbasic', 'body_font_size', $_POST['redbasic_body_font_size']);
- set_pconfig(local_channel(), 'redbasic', 'font_colour', $_POST['redbasic_font_colour']);
- set_pconfig(local_channel(), 'redbasic', 'radius', $_POST['redbasic_radius']);
- set_pconfig(local_channel(), 'redbasic', 'photo_shadow', $_POST['redbasic_shadow']);
- set_pconfig(local_channel(), 'redbasic', 'converse_width', $_POST['redbasic_converse_width']);
- set_pconfig(local_channel(), 'redbasic', 'align_left', $_POST['redbasic_align_left']);
- set_pconfig(local_channel(), 'redbasic', 'nav_min_opacity', $_POST['redbasic_nav_min_opacity']);
- set_pconfig(local_channel(), 'redbasic', 'top_photo', $_POST['redbasic_top_photo']);
- set_pconfig(local_channel(), 'redbasic', 'reply_photo', $_POST['redbasic_reply_photo']);
+ function get_schemas() {
+ $scheme_choices = array();
+ $scheme_choices["---"] = t("Focus (Hubzilla default)");
+ $files = glob('view/theme/redbasic/schema/*.php');
+ if($files) {
+ foreach($files as $file) {
+ $f = basename($file, ".php");
+ if($f != 'default') {
+ $scheme_name = $f;
+ $scheme_choices[$f] = $scheme_name;
+ }
+ }
+ }
+ return $scheme_choices;
}
-}
+ function get() {
+ if(! local_channel()) {
+ return;
+ }
+ $arr = array();
+ $arr['narrow_navbar'] = get_pconfig(local_channel(),'redbasic', 'narrow_navbar' );
+ $arr['nav_bg'] = get_pconfig(local_channel(),'redbasic', 'nav_bg' );
+ $arr['nav_gradient_top'] = get_pconfig(local_channel(),'redbasic', 'nav_gradient_top' );
+ $arr['nav_gradient_bottom'] = get_pconfig(local_channel(),'redbasic', 'nav_gradient_bottom' );
+ $arr['nav_active_gradient_top'] = get_pconfig(local_channel(),'redbasic', 'nav_active_gradient_top' );
+ $arr['nav_active_gradient_bottom'] = get_pconfig(local_channel(),'redbasic', 'nav_active_gradient_bottom' );
+ $arr['nav_bd'] = get_pconfig(local_channel(),'redbasic', 'nav_bd' );
+ $arr['nav_icon_colour'] = get_pconfig(local_channel(),'redbasic', 'nav_icon_colour' );
+ $arr['nav_active_icon_colour'] = get_pconfig(local_channel(),'redbasic', 'nav_active_icon_colour' );
+ $arr['link_colour'] = get_pconfig(local_channel(),'redbasic', 'link_colour' );
+ $arr['banner_colour'] = get_pconfig(local_channel(),'redbasic', 'banner_colour' );
+ $arr['bgcolour'] = get_pconfig(local_channel(),'redbasic', 'background_colour' );
+ $arr['background_image'] = get_pconfig(local_channel(),'redbasic', 'background_image' );
+ $arr['item_colour'] = get_pconfig(local_channel(),'redbasic', 'item_colour' );
+ $arr['comment_item_colour'] = get_pconfig(local_channel(),'redbasic', 'comment_item_colour' );
+ $arr['comment_border_colour'] = get_pconfig(local_channel(),'redbasic', 'comment_border_colour' );
+ $arr['comment_indent'] = get_pconfig(local_channel(),'redbasic', 'comment_indent' );
+ $arr['toolicon_colour'] = get_pconfig(local_channel(),'redbasic','toolicon_colour');
+ $arr['toolicon_activecolour'] = get_pconfig(local_channel(),'redbasic','toolicon_activecolour');
+ $arr['font_size'] = get_pconfig(local_channel(),'redbasic', 'font_size' );
+ $arr['body_font_size'] = get_pconfig(local_channel(),'redbasic', 'body_font_size' );
+ $arr['font_colour'] = get_pconfig(local_channel(),'redbasic', 'font_colour' );
+ $arr['radius'] = get_pconfig(local_channel(),'redbasic', 'radius' );
+ $arr['shadow'] = get_pconfig(local_channel(),'redbasic', 'photo_shadow' );
+ $arr['converse_width']=get_pconfig(local_channel(),"redbasic","converse_width");
+ $arr['align_left']=get_pconfig(local_channel(),"redbasic","align_left");
+ $arr['nav_min_opacity']=get_pconfig(local_channel(),"redbasic","nav_min_opacity");
+ $arr['top_photo']=get_pconfig(local_channel(),"redbasic","top_photo");
+ $arr['reply_photo']=get_pconfig(local_channel(),"redbasic","reply_photo");
+ return $this->form($arr);
+ }
-function redbasic_form(&$a, $arr) {
- $scheme_choices = array();
- $scheme_choices["---"] = t("Focus (Hubzilla default)");
- $files = glob('view/theme/redbasic/schema/*.php');
- if($files) {
- foreach($files as $file) {
- $f = basename($file, ".php");
- if($f != 'default') {
- $scheme_name = $f;
- $scheme_choices[$f] = $scheme_name;
- }
+ function post() {
+ if(!local_channel()) {
+ return;
+ }
+
+ if (isset($_POST['redbasic-settings-submit'])) {
+ set_pconfig(local_channel(), 'redbasic', 'narrow_navbar', $_POST['redbasic_narrow_navbar']);
+ set_pconfig(local_channel(), 'redbasic', 'nav_bg', $_POST['redbasic_nav_bg']);
+ set_pconfig(local_channel(), 'redbasic', 'nav_gradient_top', $_POST['redbasic_nav_gradient_top']);
+ set_pconfig(local_channel(), 'redbasic', 'nav_gradient_bottom', $_POST['redbasic_nav_gradient_bottom']);
+ set_pconfig(local_channel(), 'redbasic', 'nav_active_gradient_top', $_POST['redbasic_nav_active_gradient_top']);
+ set_pconfig(local_channel(), 'redbasic', 'nav_active_gradient_bottom', $_POST['redbasic_nav_active_gradient_bottom']);
+ set_pconfig(local_channel(), 'redbasic', 'nav_bd', $_POST['redbasic_nav_bd']);
+ set_pconfig(local_channel(), 'redbasic', 'nav_icon_colour', $_POST['redbasic_nav_icon_colour']);
+ set_pconfig(local_channel(), 'redbasic', 'nav_active_icon_colour', $_POST['redbasic_nav_active_icon_colour']);
+ set_pconfig(local_channel(), 'redbasic', 'link_colour', $_POST['redbasic_link_colour']);
+ set_pconfig(local_channel(), 'redbasic', 'background_colour', $_POST['redbasic_background_colour']);
+ set_pconfig(local_channel(), 'redbasic', 'banner_colour', $_POST['redbasic_banner_colour']);
+ set_pconfig(local_channel(), 'redbasic', 'background_image', $_POST['redbasic_background_image']);
+ set_pconfig(local_channel(), 'redbasic', 'item_colour', $_POST['redbasic_item_colour']);
+ set_pconfig(local_channel(), 'redbasic', 'comment_item_colour', $_POST['redbasic_comment_item_colour']);
+ set_pconfig(local_channel(), 'redbasic', 'comment_border_colour', $_POST['redbasic_comment_border_colour']);
+ set_pconfig(local_channel(), 'redbasic', 'comment_indent', $_POST['redbasic_comment_indent']);
+ set_pconfig(local_channel(), 'redbasic', 'toolicon_colour', $_POST['redbasic_toolicon_colour']);
+ set_pconfig(local_channel(), 'redbasic', 'toolicon_activecolour', $_POST['redbasic_toolicon_activecolour']);
+ set_pconfig(local_channel(), 'redbasic', 'font_size', $_POST['redbasic_font_size']);
+ set_pconfig(local_channel(), 'redbasic', 'body_font_size', $_POST['redbasic_body_font_size']);
+ set_pconfig(local_channel(), 'redbasic', 'font_colour', $_POST['redbasic_font_colour']);
+ set_pconfig(local_channel(), 'redbasic', 'radius', $_POST['redbasic_radius']);
+ set_pconfig(local_channel(), 'redbasic', 'photo_shadow', $_POST['redbasic_shadow']);
+ set_pconfig(local_channel(), 'redbasic', 'converse_width', $_POST['redbasic_converse_width']);
+ set_pconfig(local_channel(), 'redbasic', 'align_left', $_POST['redbasic_align_left']);
+ set_pconfig(local_channel(), 'redbasic', 'nav_min_opacity', $_POST['redbasic_nav_min_opacity']);
+ set_pconfig(local_channel(), 'redbasic', 'top_photo', $_POST['redbasic_top_photo']);
+ set_pconfig(local_channel(), 'redbasic', 'reply_photo', $_POST['redbasic_reply_photo']);
}
}
-if(feature_enabled(local_channel(),'expert'))
- $expert = 1;
+ function form($arr) {
+
+ if(feature_enabled(local_channel(),'advanced_theming'))
+ $expert = 1;
- $t = get_markup_template('theme_settings.tpl');
- $o .= replace_macros($t, array(
- '$submit' => t('Submit'),
- '$baseurl' => z_root(),
- '$theme' => App::$channel['channel_theme'],
- '$expert' => $expert,
- '$title' => t("Theme settings"),
- '$schema' => array('redbasic_schema', t('Select scheme'), $arr['schema'], '', $scheme_choices),
- '$narrow_navbar' => array('redbasic_narrow_navbar',t('Narrow navbar'),$arr['narrow_navbar'], '', array(t('No'),t('Yes'))),
- '$nav_bg' => array('redbasic_nav_bg', t('Navigation bar background color'), $arr['nav_bg']),
- '$nav_gradient_top' => array('redbasic_nav_gradient_top', t('Navigation bar gradient top color'), $arr['nav_gradient_top']),
- '$nav_gradient_bottom' => array('redbasic_nav_gradient_bottom', t('Navigation bar gradient bottom color'), $arr['nav_gradient_bottom']),
- '$nav_active_gradient_top' => array('redbasic_nav_active_gradient_top', t('Navigation active button gradient top color'), $arr['nav_active_gradient_top']),
- '$nav_active_gradient_bottom' => array('redbasic_nav_active_gradient_bottom', t('Navigation active button gradient bottom color'), $arr['nav_active_gradient_bottom']),
- '$nav_bd' => array('redbasic_nav_bd', t('Navigation bar border color '), $arr['nav_bd']),
- '$nav_icon_colour' => array('redbasic_nav_icon_colour', t('Navigation bar icon color '), $arr['nav_icon_colour']),
- '$nav_active_icon_colour' => array('redbasic_nav_active_icon_colour', t('Navigation bar active icon color '), $arr['nav_active_icon_colour']),
- '$link_colour' => array('redbasic_link_colour', t('link color'), $arr['link_colour'], '', $link_colours),
- '$banner_colour' => array('redbasic_banner_colour', t('Set font-color for banner'), $arr['banner_colour']),
- '$bgcolour' => array('redbasic_background_colour', t('Set the background color'), $arr['bgcolour']),
- '$background_image' => array('redbasic_background_image', t('Set the background image'), $arr['background_image']),
- '$item_colour' => array('redbasic_item_colour', t('Set the background color of items'), $arr['item_colour']),
- '$comment_item_colour' => array('redbasic_comment_item_colour', t('Set the background color of comments'), $arr['comment_item_colour']),
- '$comment_border_colour' => array('redbasic_comment_border_colour', t('Set the border color of comments'), $arr['comment_border_colour']),
- '$comment_indent' => array('redbasic_comment_indent', t('Set the indent for comments'), $arr['comment_indent']),
- '$toolicon_colour' => array('redbasic_toolicon_colour',t('Set the basic color for item icons'),$arr['toolicon_colour']),
- '$toolicon_activecolour' => array('redbasic_toolicon_activecolour',t('Set the hover color for item icons'),$arr['toolicon_activecolour']),
- '$body_font_size' => array('redbasic_body_font_size', t('Set font-size for the entire application'), $arr['body_font_size'], t('Example: 14px')),
- '$font_size' => array('redbasic_font_size', t('Set font-size for posts and comments'), $arr['font_size']),
- '$font_colour' => array('redbasic_font_colour', t('Set font-color for posts and comments'), $arr['font_colour']),
- '$radius' => array('redbasic_radius', t('Set radius of corners'), $arr['radius']),
- '$shadow' => array('redbasic_shadow', t('Set shadow depth of photos'), $arr['shadow']),
- '$converse_width' => array('redbasic_converse_width',t('Set maximum width of content region in pixel'),$arr['converse_width'], t('Leave empty for default width')),
- '$align_left' => array('redbasic_align_left',t('Left align page content'),$arr['align_left'], '', array(t('No'),t('Yes'))),
- '$nav_min_opacity' => array('redbasic_nav_min_opacity',t('Set minimum opacity of nav bar - to hide it'),$arr['nav_min_opacity']),
- '$top_photo' => array('redbasic_top_photo', t('Set size of conversation author photo'), $arr['top_photo']),
- '$reply_photo' => array('redbasic_reply_photo', t('Set size of followup author photos'), $arr['reply_photo']),
- ));
-
- return $o;
+
+ $o .= replace_macros(get_markup_template('theme_settings.tpl'), array(
+ '$submit' => t('Submit'),
+ '$baseurl' => z_root(),
+ '$theme' => \App::$channel['channel_theme'],
+ '$expert' => $expert,
+ '$title' => t("Theme settings"),
+ '$narrow_navbar' => array('redbasic_narrow_navbar',t('Narrow navbar'),$arr['narrow_navbar'], '', array(t('No'),t('Yes'))),
+ '$nav_bg' => array('redbasic_nav_bg', t('Navigation bar background color'), $arr['nav_bg']),
+ '$nav_gradient_top' => array('redbasic_nav_gradient_top', t('Navigation bar gradient top color'), $arr['nav_gradient_top']),
+ '$nav_gradient_bottom' => array('redbasic_nav_gradient_bottom', t('Navigation bar gradient bottom color'), $arr['nav_gradient_bottom']),
+ '$nav_active_gradient_top' => array('redbasic_nav_active_gradient_top', t('Navigation active button gradient top color'), $arr['nav_active_gradient_top']),
+ '$nav_active_gradient_bottom' => array('redbasic_nav_active_gradient_bottom', t('Navigation active button gradient bottom color'), $arr['nav_active_gradient_bottom']),
+ '$nav_bd' => array('redbasic_nav_bd', t('Navigation bar border color '), $arr['nav_bd']),
+ '$nav_icon_colour' => array('redbasic_nav_icon_colour', t('Navigation bar icon color '), $arr['nav_icon_colour']),
+ '$nav_active_icon_colour' => array('redbasic_nav_active_icon_colour', t('Navigation bar active icon color '), $arr['nav_active_icon_colour']),
+ '$link_colour' => array('redbasic_link_colour', t('link color'), $arr['link_colour'], '', $link_colours),
+ '$banner_colour' => array('redbasic_banner_colour', t('Set font-color for banner'), $arr['banner_colour']),
+ '$bgcolour' => array('redbasic_background_colour', t('Set the background color'), $arr['bgcolour']),
+ '$background_image' => array('redbasic_background_image', t('Set the background image'), $arr['background_image']),
+ '$item_colour' => array('redbasic_item_colour', t('Set the background color of items'), $arr['item_colour']),
+ '$comment_item_colour' => array('redbasic_comment_item_colour', t('Set the background color of comments'), $arr['comment_item_colour']),
+ '$comment_border_colour' => array('redbasic_comment_border_colour', t('Set the border color of comments'), $arr['comment_border_colour']),
+ '$comment_indent' => array('redbasic_comment_indent', t('Set the indent for comments'), $arr['comment_indent']),
+ '$toolicon_colour' => array('redbasic_toolicon_colour',t('Set the basic color for item icons'),$arr['toolicon_colour']),
+ '$toolicon_activecolour' => array('redbasic_toolicon_activecolour',t('Set the hover color for item icons'),$arr['toolicon_activecolour']),
+ '$body_font_size' => array('redbasic_body_font_size', t('Set font-size for the entire application'), $arr['body_font_size'], t('Example: 14px')),
+ '$font_size' => array('redbasic_font_size', t('Set font-size for posts and comments'), $arr['font_size']),
+ '$font_colour' => array('redbasic_font_colour', t('Set font-color for posts and comments'), $arr['font_colour']),
+ '$radius' => array('redbasic_radius', t('Set radius of corners'), $arr['radius']),
+ '$shadow' => array('redbasic_shadow', t('Set shadow depth of photos'), $arr['shadow']),
+ '$converse_width' => array('redbasic_converse_width',t('Set maximum width of content region in pixel'),$arr['converse_width'], t('Leave empty for default width')),
+ '$align_left' => array('redbasic_align_left',t('Left align page content'),$arr['align_left'], '', array(t('No'),t('Yes'))),
+ '$nav_min_opacity' => array('redbasic_nav_min_opacity',t('Set minimum opacity of nav bar - to hide it'),$arr['nav_min_opacity']),
+ '$top_photo' => array('redbasic_top_photo', t('Set size of conversation author photo'), $arr['top_photo']),
+ '$reply_photo' => array('redbasic_reply_photo', t('Set size of followup author photos'), $arr['reply_photo']),
+ ));
+
+ return $o;
+ }
+
}
+
+
+
+
+
+
diff --git a/view/theme/redbasic/php/theme.php b/view/theme/redbasic/php/theme.php
index f0679a532..997b59750 100644
--- a/view/theme/redbasic/php/theme.php
+++ b/view/theme/redbasic/php/theme.php
@@ -6,8 +6,7 @@
* * Version: 1.0
* * Author: Fabrixxm
* * Maintainer: Mike Macgirvin
- * * Compat: Red [*]
- *
+ * * Maintainer: Mario Vavti
*/
function redbasic_init(&$a) {
diff --git a/view/theme/redbasic/tpl/theme_settings.tpl b/view/theme/redbasic/tpl/theme_settings.tpl
index 0ec6d1741..9672d3d05 100644
--- a/view/theme/redbasic/tpl/theme_settings.tpl
+++ b/view/theme/redbasic/tpl/theme_settings.tpl
@@ -1,6 +1,3 @@
-{{if $theme == redbasic}}
-{{include file="field_select.tpl" field=$schema}}
-{{/if}}
{{include file="field_checkbox.tpl" field=$align_left}}
{{include file="field_checkbox.tpl" field=$narrow_navbar}}
{{include file="field_input.tpl" field=$converse_width}}
diff --git a/view/tpl/acl_selector.tpl b/view/tpl/acl_selector.tpl
index ddeb25a39..dbdbd6a56 100755
--- a/view/tpl/acl_selector.tpl
+++ b/view/tpl/acl_selector.tpl
@@ -16,8 +16,9 @@
<label for="acl-select">{{$select_label}}</label>
<select id="acl-select" name="optionsRadios" class="form-control form-group">
<option id="acl-showall" value="public" selected>{{$showall}}</option>
+ {{$groups}}
<option id="acl-onlyme" value="onlyme">{{$onlyme}}</option>
- <option id="acl-showlimited" value="limited">{{$showlimited}}</option>
+ <option id="acl-custom" value="custom">{{$custom}}</option>
</select>
{{if $showallOrigin}}
@@ -26,16 +27,6 @@
</div>
{{/if}}
- {{if $jotnets}}
- <div class="jotnets-wrapper" role="tab" id="jotnets-wrapper">
- <a data-toggle="collapse" class="btn btn-block btn-default" href="#jotnets-collapse" aria-expanded="false" aria-controls="jotnets-collapse">{{$jnetModalTitle}} <span class="caret"></span></a>
- </div>
- <div id="jotnets-collapse" class="panel-collapse collapse" role="tabpanel" aria-labelledby="acl-select">
- {{$jotnets}}
- <div class="clear"></div>
- </div>
- {{/if}}
-
<div id="acl-wrapper">
<div id="acl-list">
<div id="acl-search-wrapper">
@@ -46,13 +37,14 @@
<div id="acl-list-content"></div>
</div>
</div>
- <span id="acl-fields"></span>
</div>
+
<div class="acl-list-item" rel="acl-template" style="display:none">
<img data-src="{0}"><p>{1}</p>
<button class="acl-button-hide btn btn-xs btn-default"><i class="fa fa-times"></i> {{$hide}}</button>
<button class="acl-button-show btn btn-xs btn-default"><i class="fa fa-check"></i> {{$show}}</button>
</div>
+
</div>
<div class="modal-footer clear">
<button type="button" class="btn btn-default" data-dismiss="modal">{{$aclModalDismiss}}</button>
diff --git a/view/tpl/admin_account_edit.tpl b/view/tpl/admin_account_edit.tpl
new file mode 100644
index 000000000..5e8cb5f47
--- /dev/null
+++ b/view/tpl/admin_account_edit.tpl
@@ -0,0 +1,14 @@
+<h2>{{$title}}</h2>
+
+<h3>{{$account.account_email}}</h3>
+
+
+<form action="admin/account_edit/{{$account.account_id}}" method="post" >
+<input type="hidden" name="aid" value="{{$account.account_id}}" />
+
+{{include file="field_password.tpl" field=$pass1}}
+{{include file="field_password.tpl" field=$pass2}}
+
+<input type="submit" name="submit" value="{{$submit}}" />
+
+</form>
diff --git a/view/tpl/admin_accounts.tpl b/view/tpl/admin_accounts.tpl
index 53f5f1aba..c2a50e3ff 100755
--- a/view/tpl/admin_accounts.tpl
+++ b/view/tpl/admin_accounts.tpl
@@ -62,9 +62,9 @@
<tr>
<td class="account_id">{{$u.account_id}}</td>
<td class="email">{{if $u.blocked}}
- <i>{{$u.account_email}}</i>
+ <a href="admin/account_edit/{{$u.account_id}}"><i>{{$u.account_email}}</i></a>
{{else}}
- <strong>{{$u.account_email}}</strong>
+ <a href="admin/account_edit/{{$u.account_id}}"><strong>{{$u.account_email}}</strong></a>
{{/if}}</td>
<td class="channels">{{$u.channels}}</td>
<td class="register_date">{{$u.account_created}}</td>
diff --git a/view/tpl/admin_plugins_details.tpl b/view/tpl/admin_plugins_details.tpl
index b8cc72a04..309fc9569 100755
--- a/view/tpl/admin_plugins_details.tpl
+++ b/view/tpl/admin_plugins_details.tpl
@@ -24,6 +24,9 @@
{{if $info.minphpversion}}
<p class="versionlimit">{{$str_minphpversion}}{{$info.minphpversion}}</p>
{{/if}}
+ {{if $info.serverroles}}
+ <p class="versionlimit">{{$str_serverroles}}{{$info.serverroles}}</p>
+ {{/if}}
{{if $info.requires}}
<p class="versionlimit">{{$str_requires}}{{$info.requires}}</p>
{{/if}}
diff --git a/view/tpl/admin_security.tpl b/view/tpl/admin_security.tpl
index 721b5f38f..409e9fc7d 100755
--- a/view/tpl/admin_security.tpl
+++ b/view/tpl/admin_security.tpl
@@ -11,6 +11,9 @@
{{include file="field_checkbox.tpl" field=$content_security}}
{{include file="field_checkbox.tpl" field=$embed_sslonly}}
+ {{include file="field_textarea.tpl" field=$allowed_email}}
+ {{include file="field_textarea.tpl" field=$not_allowed_email}}
+
{{include file="field_textarea.tpl" field=$whitelisted_sites}}
{{include file="field_textarea.tpl" field=$blacklisted_sites}}
diff --git a/view/tpl/admin_site.tpl b/view/tpl/admin_site.tpl
index 6b8729ee6..a5b32f08f 100755
--- a/view/tpl/admin_site.tpl
+++ b/view/tpl/admin_site.tpl
@@ -41,6 +41,13 @@
<input type='hidden' name='form_security_token' value='{{$form_security_token}}'>
{{include file="field_input.tpl" field=$sitename}}
+ {{include file="field_select.tpl" field=$server_role}}
+
+ {{if $z_server_role == 'pro'}}
+ {{include file="field_select.tpl" field=$techlevel}}
+ {{include file="field_checkbox.tpl" field=$techlock}}
+ {{/if}}
+
{{include file="field_textarea.tpl" field=$banner}}
{{include file="field_textarea.tpl" field=$admininfo}}
{{include file="field_select.tpl" field=$language}}
@@ -61,8 +68,6 @@
{{include file="field_select.tpl" field=$register_policy}}
{{include file="field_checkbox.tpl" field=$invite_only}}
{{include file="field_select.tpl" field=$access_policy}}
- {{include file="field_textarea.tpl" field=$allowed_email}}
- {{include file="field_textarea.tpl" field=$not_allowed_email}}
<div class="submit"><input type="submit" name="page_site" value="{{$submit}}" /></div>
<h3>{{$upload}}</h3>
diff --git a/view/tpl/cloud_actionspanel.tpl b/view/tpl/cloud_actionspanel.tpl
index b851e391e..36edc3b44 100644
--- a/view/tpl/cloud_actionspanel.tpl
+++ b/view/tpl/cloud_actionspanel.tpl
@@ -1,7 +1,6 @@
<div id="files-mkdir-tools" class="section-content-tools-wrapper">
<label for="files-mkdir">{{$folder_header}}</label>
<form id="mkdir-form" method="post" action="file_upload" class="acl-form" data-form_id="mkdir-form" data-allow_cid='{{$allow_cid}}' data-allow_gid='{{$allow_gid}}' data-deny_cid='{{$deny_cid}}' data-deny_gid='{{$deny_gid}}'>
- <!--input type="hidden" name="sabreAction" value="mkcol"-->
<input type="hidden" name="folder" value="{{$folder}}" />
<input type="hidden" name="channick" value="{{$channick}}" />
<input type="hidden" name="return_url" value="{{$return_url}}" />
diff --git a/view/tpl/comment_item.tpl b/view/tpl/comment_item.tpl
index 5920efafa..a98b9e5eb 100755
--- a/view/tpl/comment_item.tpl
+++ b/view/tpl/comment_item.tpl
@@ -10,7 +10,7 @@
<input type="hidden" name="return" value="{{$return_path}}" />
<input type="hidden" name="jsreload" value="{{$jsreload}}" />
<input type="hidden" name="preview" id="comment-preview-inp-{{$id}}" value="0" />
- <textarea id="comment-edit-text-{{$id}}" class="comment-edit-text-empty" name="body" onFocus="commentOpenUI(this,{{$id}});" onBlur="commentCloseUI(this,{{$id}});" ondragenter="linkdropper(event);" ondragover="linkdropper(event);" ondrop="linkdrop(event);" >{{$comment}}</textarea>
+ <textarea id="comment-edit-text-{{$id}}" class="comment-edit-text-empty" name="body" onFocus="commentOpenUI(this,{{$id}});" onBlur="commentCloseUI(this,{{$id}});" ondragenter="linkdropper(event);" ondragleave="linkdropexit(event);" ondragover="linkdropper(event);" ondrop="linkdrop(event);" >{{$comment}}</textarea>
{{if $qcomment}}
<select id="qcomment-select-{{$id}}" name="qcomment-{{$id}}" class="qcomment" onchange="qCommentInsert(this,{{$id}});" >
<option value=""></option>
diff --git a/view/tpl/conv_item.tpl b/view/tpl/conv_item.tpl
index add80885b..79c22b4c1 100755
--- a/view/tpl/conv_item.tpl
+++ b/view/tpl/conv_item.tpl
@@ -4,8 +4,8 @@
</div>
<div id="collapsed-comments-{{$item.id}}" class="collapsed-comments" style="display: none;">
{{/if}}
- <div id="thread-wrapper-{{$item.id}}" class="thread-wrapper{{if $item.toplevel}} {{$item.toplevel}} generic-content-wrapper h-entry {{else}} u-comment h-cite {{/if}}">
- <a name="{{$item.id}}" ></a>
+ <div id="thread-wrapper-{{$item.id}}" class="thread-wrapper{{if $item.toplevel}} {{$item.toplevel}} generic-content-wrapper h-entry {{else}} u-comment h-cite {{/if}} item_{{$item.submid}}">
+ <a name="item_{{$item.id}}" ></a>
<div class="wall-item-outside-wrapper {{$item.indent}}{{$item.previewing}}" id="wall-item-outside-wrapper-{{$item.id}}" >
<div class="wall-item-content-wrapper {{$item.indent}}" id="wall-item-content-wrapper-{{$item.id}}" style="clear:both;">
{{if $item.photo}}
@@ -94,35 +94,35 @@
<div class="btn-group dropdown">
{{if $item.like}}
<button type="button" title="{{$item.like.0}}" class="btn btn-default btn-sm" onclick="dolike({{$item.id}},'like'); return false;">
- <i class="fa fa-thumbs-o-up" ></i>
+ <i class="fa fa-thumbs-o-up{{if $item.my_responses.like}} ivoted{{/if}}" ></i>
</button>
{{/if}}
{{if $item.dislike}}
<button type="button" title="{{$item.dislike.0}}" class="btn btn-default btn-sm" onclick="dolike({{$item.id}},'dislike'); return false;">
- <i class="fa fa-thumbs-o-down" ></i>
+ <i class="fa fa-thumbs-o-down{{if $item.my_responses.dislike}} ivoted{{/if}}" ></i>
</button>
{{/if}}
{{if $item.isevent}}
<button type="button" title="{{$item.attend.0}}" class="btn btn-default btn-sm" onclick="itemAddToCal({{$item.id}}); dolike({{$item.id}},'attendyes'); return false;">
- <i class="fa fa-check" ></i>
+ <i class="fa fa-check{{if $item.my_responses.attend}} ivoted{{/if}}" ></i>
</button>
<button type="button" title="{{$item.attend.1}}" class="btn btn-default btn-sm" onclick="dolike({{$item.id}},'attendno'); return false;">
- <i class="fa fa-times" ></i>
+ <i class="fa fa-times{{if $item.my_responses.attendno}} ivoted{{/if}}" ></i>
</button>
<button type="button" title="{{$item.attend.2}}" class="btn btn-default btn-sm" onclick="itemAddToCal({{$item.id}}); dolike({{$item.id}},'attendmaybe'); return false;">
- <i class="fa fa-question" ></i>
+ <i class="fa fa-question{{if $item.my_responses.attendmaybe}} ivoted{{/if}}" ></i>
</button>
{{/if}}
{{if $item.canvote}}
<button type="button" title="{{$item.conlabels.0}}" class="btn btn-default btn-sm" onclick="dolike({{$item.id}},'agree'); return false;">
- <i class="fa fa-check" ></i>
+ <i class="fa fa-check{{if $item.my_responses.agree}} ivoted{{/if}}" ></i>
</button>
<button type="button" title="{{$item.conlabels.1}}" class="btn btn-default btn-sm" onclick="dolike({{$item.id}},'disagree'); return false;">
- <i class="fa fa-times" ></i>
+ <i class="fa fa-times{{if $item.my_responses.disagree}} ivoted{{/if}}" ></i>
</button>
<button type="button" title="{{$item.conlabels.2}}" class="btn btn-default btn-sm" onclick="dolike({{$item.id}},'abstain'); return false;">
- <i class="fa fa-question" ></i>
+ <i class="fa fa-question{{if $item.my_responses.abstain}} ivoted{{/if}}" ></i>
</button>
{{/if}}
<button type="button" class="btn btn-default btn-sm dropdown-toggle" data-toggle="dropdown" id="wall-item-menu-{{$item.id}}">
diff --git a/view/tpl/cover_photo_widget.tpl b/view/tpl/cover_photo_widget.tpl
index 4e210a300..2b47270c9 100755
--- a/view/tpl/cover_photo_widget.tpl
+++ b/view/tpl/cover_photo_widget.tpl
@@ -1,22 +1,28 @@
<script>
var aside_padding_top;
var section_padding_top;
+ var coverSlid = false;
$(document).ready(function() {
aside_padding_top = parseInt($('aside').css('padding-top'));
section_padding_top = parseInt($('section').css('padding-top'));
+ $(document).on('click', slideUpCover);
+
if($('#cover-photo').length && $(window).width() > 755) {
- $('.navbar-fixed-top').css('position', 'relative');
- $('main').css('margin-top', - $('nav').outerHeight(true) + 'px');
- $('aside').css('padding-top', aside_padding_top - $('nav').outerHeight() + 'px');
- $('section').css('padding-top', section_padding_top - $('nav').outerHeight() + 'px');
- $('main').css('opacity', 0);
- $('header').hide();
+ if($(window).scrollTop() < $('#cover-photo').height()) {
+ $('main').css('margin-top', - $('nav').outerHeight(true) + 'px');
+ $('aside').css('padding-top', aside_padding_top - $('nav').outerHeight() + 'px');
+ $('section').css('padding-top', section_padding_top - $('nav').outerHeight() + 'px');
+ $('.navbar-fixed-top').css('position', 'relative');
+ $('main').css('opacity', 0);
+ $('header').hide();
+ }
}
else {
$('#cover-photo').remove();
+ coverSlid = true;
}
});
@@ -26,10 +32,26 @@
$('main').css('opacity', 1);
$('aside').css('padding-top', aside_padding_top + 'px');
$('section').css('padding-top', section_padding_top + 'px');
- $(window).scrollTop($(window).scrollTop() - $('#cover-photo').height())
- $('.navbar-fixed-top').css('position', 'fixed');
+ $('.navbar-fixed-top').css('position', '');
$('main').css('margin-top', '');
- $('#cover-photo').remove();
+ coverSlid = true;
+ }
+ else if ($('#cover-photo').length && $(window).width() > 755 && $(window).scrollTop() < $('#cover-photo').height()){
+ if(coverSlid) {
+ $(window).scrollTop(Math.ceil($('#cover-photo').height()));
+ setTimeout(function(){ coverSlid = false; }, 1000);
+ }
+ else {
+ if($(window).scrollTop() < $('#cover-photo').height()) {
+ $('main').css('margin-top', - $('nav').outerHeight(true) + 'px');
+ $('aside').css('padding-top', aside_padding_top - $('nav').outerHeight() + 'px');
+ $('section').css('padding-top', section_padding_top - $('nav').outerHeight() + 'px');
+
+ $('.navbar-fixed-top').css('position', 'relative');
+ $('main').css('opacity', 0);
+ $('header').hide();
+ }
+ }
}
if($('#cover-photo').length) {
$('main').css('opacity', ($(window).scrollTop()/$('#cover-photo').height()).toFixed(1));
@@ -38,21 +60,26 @@
$(window).resize(function () {
if($('#cover-photo').length && $(window).width() < 755) {
+ $('#cover-photo').remove();
$('main').css('opacity', 1);
$('aside').css('padding-top', aside_padding_top + 'px');
$('section').css('padding-top', section_padding_top + 'px');
- $('.navbar-fixed-top').css('position', 'fixed');
- $('#cover-photo').remove();
+ $('.navbar-fixed-top').css('position', '');
+ coverSlid = true;
}
});
function slideUpCover() {
+ if(coverSlid) {
+ return;
+ }
$('html, body').animate({scrollTop: Math.ceil($('#cover-photo').height()) + 'px' });
+ return;
}
</script>
-<div id="cover-photo" onclick="slideUpCover();" title="{{$hovertitle}}">
+<div id="cover-photo" title="{{$hovertitle}}">
{{$photo_html}}
<div id="cover-photo-caption">
<div class="cover-photo-title">
diff --git a/view/tpl/event_head.tpl b/view/tpl/event_head.tpl
index fee4f17a3..646c68564 100755
--- a/view/tpl/event_head.tpl
+++ b/view/tpl/event_head.tpl
@@ -1,7 +1,7 @@
<link rel='stylesheet' type='text/css' href='{{$baseurl}}/library/fullcalendar/fullcalendar.css' />
<script language="javascript" type="text/javascript" src="{{$baseurl}}/library/moment/moment.min.js"></script>
<script language="javascript" type="text/javascript" src="{{$baseurl}}/library/fullcalendar/fullcalendar.min.js"></script>
-<script language="javascript" type="text/javascript" src="{{$baseurl}}/library/fullcalendar/lang-all.js"></script>
+<script language="javascript" type="text/javascript" src="{{$baseurl}}/library/fullcalendar/locale-all.js"></script>
<script>
function showEvent(eventid) {
@@ -154,9 +154,9 @@
});
// ACL
- $('#id_share').change(function() {
+ $('#id_distr').change(function() {
- if ($('#id_share').is(':checked')) {
+ if ($('#id_distr').is(':checked')) {
$('#dbtn-acl').show();
}
else {
@@ -164,18 +164,6 @@
}
}).trigger('change');
- $('#contact_allow, #contact_deny, #group_allow, #group_deny').change(function() {
- var selstr;
- $('#contact_allow option:selected, #contact_deny option:selected, #group_allow option:selected, #group_deny option:selected').each( function() {
- selstr = $(this).text();
- $('#jot-public').hide();
- });
- if(selstr == null) {
- $('#jot-public').show();
- }
-
- }).trigger('change');
-
});
</script>
diff --git a/view/tpl/field_combobox.tpl b/view/tpl/field_combobox.tpl
index 337c60673..523595c0b 100755
--- a/view/tpl/field_combobox.tpl
+++ b/view/tpl/field_combobox.tpl
@@ -1,13 +1,13 @@
- <div class='field combobox'>
+ <div class='field combobox input form-group'>
<label class="mainlabel" for='id_{{$field.0}}' id='id_{{$field.0}}_label'>{{$field.1}}</label>
- {{* html5 don't work on Chrome, Safari and IE9 see https://github.com/thgreasi/datalist-polyfill
+ {{*
<input id="id_{{$field.0}}" type="text" list="data_{{$field.0}}" >
<datalist id="data_{{$field.0}}" >
{{foreach $field.4 as $opt=>$val}}<option value="{{$val}}">{{/foreach}}
- </datalist> *}}
+ </datalist>*}}
- <input id="id_{{$field.0}}" type="text" value="{{$field.2}}">
- <select id="select_{{$field.0}}" onChange="$('#id_{{$field.0}}').val($(this).val())">
+ <input id="id_{{$field.0}}" class="form-control" type="text" value="{{$field.2}}">
+ <select id="select_{{$field.0}}" class="form-control" onChange="$('#id_{{$field.0}}').val($(this).val())">
<option value="">{{$field.5}}</option>
{{foreach $field.4 as $opt=>$val}}<option value="{{$val}}">{{$val}}</option>{{/foreach}}
</select>
diff --git a/view/tpl/field_themeselect.tpl b/view/tpl/field_themeselect.tpl
index 250f9fcf1..7a529774c 100755
--- a/view/tpl/field_themeselect.tpl
+++ b/view/tpl/field_themeselect.tpl
@@ -1,9 +1,13 @@
- {{if $field.5=='preview'}}<script>$(document).ready(function(){ previewTheme($("#id_{{$field.0}}")[0]); });</script>{{/if}}
+ {{if $field.5 == 'preview'}}
+ <script>$(document).ready(function(){ previewTheme($("#id_{{$field.0}}")[0]); });</script>
+ {{/if}}
<div class='form-group field select'>
<label for='id_{{$field.0}}'>{{$field.1}}</label>
- <select class="form-control" name='{{$field.0}}' id='id_{{$field.0}}' {{if $field.5=='preview'}}onchange="previewTheme(this);"{{/if}} >
+ <select class="form-control" name='{{$field.0}}' id='id_{{$field.0}}' {{if $field.5 == 'preview'}}onchange="previewTheme(this);"{{/if}} >
{{foreach $field.4 as $opt=>$val}}<option value="{{$opt}}" {{if $opt==$field.2}}selected="selected"{{/if}}>{{$val}}</option>{{/foreach}}
</select>
<span class='field_help'>{{$field.3}}</span>
- {{if $field.5=='preview'}}<div id="theme-preview"></div>{{/if}}
+ {{if $field.5=='preview'}}
+ <div id="theme-preview"></div>
+ {{/if}}
</div>
diff --git a/view/tpl/filer_dialog.tpl b/view/tpl/filer_dialog.tpl
index ae59ab713..71e075958 100755
--- a/view/tpl/filer_dialog.tpl
+++ b/view/tpl/filer_dialog.tpl
@@ -1,4 +1,6 @@
+<div class="item-filer-dialog">
{{include file="field_combobox.tpl"}}
<div class="settings-submit-wrapper" >
<input id="filer_save" type="button" class="settings-submit" value="{{$submit}}" />
</div>
+</div>
diff --git a/view/tpl/install_settings.tpl b/view/tpl/install_settings.tpl
index 5ecd3243b..f7a0108a8 100755
--- a/view/tpl/install_settings.tpl
+++ b/view/tpl/install_settings.tpl
@@ -19,7 +19,7 @@
{{include file="field_input.tpl" field=$adminmail}}
{{include file="field_input.tpl" field=$siteurl}}
-{{include file="field_checkbox.tpl" field=$advanced}}
+{{include file="field_select.tpl" field=$server_role}}
{{include file="field_select_grouped.tpl" field=$timezone}}
diff --git a/view/tpl/jot-header.tpl b/view/tpl/jot-header.tpl
index 63691f842..ac657e63f 100755
--- a/view/tpl/jot-header.tpl
+++ b/view/tpl/jot-header.tpl
@@ -262,8 +262,30 @@ function enableOnUser(){
function linkdropper(event) {
var linkFound = event.dataTransfer.types.contains("text/uri-list");
- if(linkFound)
+ if(linkFound) {
event.preventDefault();
+ var editwin = '#' + event.target.id;
+ var commentwin = false;
+ if(editwin) {
+ commentwin = ((editwin.indexOf('comment') >= 0) ? true : false);
+ if(commentwin) {
+ var commentid = editwin.substring(editwin.lastIndexOf('-') + 1);
+ $('#comment-edit-text-' + commentid).addClass('hover');
+ }
+ }
+ }
+ }
+
+ function linkdropexit(event) {
+ var editwin = '#' + event.target.id;
+ var commentwin = false;
+ if(editwin) {
+ commentwin = ((editwin.indexOf('comment') >= 0) ? true : false);
+ if(commentwin) {
+ var commentid = editwin.substring(editwin.lastIndexOf('-') + 1);
+ $('#comment-edit-text-' + commentid).removeClass('hover');
+ }
+ }
}
function linkdrop(event) {
@@ -276,6 +298,7 @@ function enableOnUser(){
if(commentwin) {
var commentid = editwin.substring(editwin.lastIndexOf('-') + 1);
commentOpen(document.getElementById(event.target.id),commentid);
+
}
}
@@ -371,6 +394,19 @@ function enableOnUser(){
}
}
+ function toggleNoComment() {
+ if($('#jot-nocomment').val() > 0) {
+ $('#jot-nocomment').val(0);
+ $('#profile-nocomment, #profile-nocomment-sub').removeClass('fa-comments-o').addClass('fa-comments');
+ $('#profile-nocomment-wrapper').attr('title', '{{$nocomment_enabled}}');
+ }
+ else {
+ $('#jot-nocomment').val(1);
+ $('#profile-nocomment, #profile-nocomment-sub').removeClass('fa-comments').addClass('fa-comments-o');
+ $('#profile-nocomment-wrapper').attr('title', '{{$nocomment_disabled}}');
+ }
+ }
+
function jotReact(id,icon) {
if(id && icon) {
$.get('{{$baseurl}}/react?f=&postid=' + id + '&emoji=' + icon);
@@ -503,6 +539,7 @@ function enableOnUser(){
// cancel event and hover styling
DragDropUploadFileHover(e);
+ if (!editor) $("#profile-jot-text").val("");
// fetch FileList object
@@ -527,7 +564,11 @@ function enableOnUser(){
xhr.addEventListener('load', function (e) {
//console.log('xhr upload complete', e);
window.fileUploadsCompleted = window.fileUploadsCompleted + 1;
- addeditortext(xhr.responseText);
+
+ initEditor(function() {
+ addeditortext(xhr.responseText);
+ });
+
$('#jot-media').val($('#jot-media').val() + xhr.responseText);
// When all the uploads have completed, refresh the page
if (window.filesToUpload > 0 && window.fileUploadsCompleted === window.filesToUpload) {
diff --git a/view/tpl/jot.tpl b/view/tpl/jot.tpl
index 692cf129d..a3bfad842 100755
--- a/view/tpl/jot.tpl
+++ b/view/tpl/jot.tpl
@@ -23,6 +23,7 @@
<input type="hidden" name="webpage" value="{{$webpage}}" />
<input type="hidden" name="preview" id="jot-preview" value="0" />
<input type="hidden" id="jot-consensus" name="consensus" value="{{if $consensus}}{{$consensus}}{{else}}0{{/if}}" />
+ <input type="hidden" id="jot-nocomment" name="nocomment" value="{{if $nocomment}}{{$nocomment}}{{else}}0{{/if}}" />
{{if $webpage}}
<div id="jot-pagetitle-wrap" class="jothidden">
@@ -79,10 +80,10 @@
</button>
{{/if}}
{{if $embedPhotos}}
- <button id="embed-photo-wrapper" class="btn btn-default btn-sm" title="{{$embedPhotos}}" onclick="initializeEmbedPhotoDialog();return false;">
- <i id="embed-photo" class="fa fa-file-image-o jot-icons"></i>
- </button>
- {{/if}}
+ <button id="embed-photo-wrapper" class="btn btn-default btn-sm" title="{{$embedPhotos}}" onclick="initializeEmbedPhotoDialog();return false;">
+ <i id="embed-photo" class="fa fa-file-image-o jot-icons"></i>
+ </button>
+ {{/if}}
</div>
<div class="btn-group hidden-xs hidden-sm">
{{if $setloc}}
@@ -118,13 +119,18 @@
<i id="profile-voting" class="fa fa-square-o jot-icons"></i>
</button>
{{/if}}
+ {{if $feature_nocomment}}
+ <button id="profile-nocomment-wrapper" class="btn btn-default btn-sm" title="{{$nocommenttitle}}" onclick="toggleNoComment();return false;">
+ <i id="profile-nocomment" class="fa fa-comments jot-icons"></i>
+ </button>
+ {{/if}}
</div>
{{if $writefiles || $weblink || $setloc || $clearloc || $feature_expire || $feature_encrypt || $feature_voting}}
<div class="btn-group visible-xs visible-sm">
<button type="button" id="more-tools" class="btn btn-default btn-sm dropdown-toggle" data-toggle="dropdown" aria-expanded="false">
<i id="more-tools-icon" class="fa fa-caret-down jot-icons"></i>
</button>
- <ul class="dropdown-menu dropdown-menu" role="menu">
+ <ul class="dropdown-menu" role="menu">
{{if $visitor}}
{{if $writefiles}}
<li><a id="wall-file-upload-sub" href="#" ><i class="fa fa-paperclip"></i>&nbsp;{{$attach}}</a></li>
@@ -151,6 +157,9 @@
{{if $feature_voting}}
<li><a href="#" onclick="toggleVoting(); return false;"><i id="profile-voting-sub" class="fa fa-square-o"></i>&nbsp;{{$voting}}</a></li>
{{/if}}
+ {{if $feature_nocomment}}
+ <li><a href="#" onclick="toggleNoComment(); return false;"><i id="profile-nocomment-sub" class="fa fa-comments"></i>&nbsp;{{$nocommenttitlesub}}</a></li>
+ {{/if}}
</ul>
</div>
{{/if}}
@@ -164,17 +173,42 @@
<i class="fa fa-eye jot-icons" ></i>
</button>
{{/if}}
+ {{if $jotnets}}
+ <button id="dbtn-jotnets" class="btn btn-default btn-sm" data-toggle="modal" data-target="#jotnetsModal" type="button" title="{{$jotnets_label}}" style="{{if $lockstate == 'lock'}}display: none;{{/if}}">
+ <i class="fa fa-share-alt jot-icons"></i>
+ </button>
+ {{/if}}
{{if $showacl}}
- <button id="dbtn-acl" class="acl-select btn btn-default btn-sm" data-toggle="modal" data-target="#aclModal" title="{{$permset}}" type="button" data-form_id="profile-jot-form">
+ <button id="dbtn-acl" class="btn btn-default btn-sm" data-toggle="modal" data-target="#aclModal" title="{{$permset}}" type="button" data-form_id="profile-jot-form">
<i id="jot-perms-icon" class="fa fa-{{$lockstate}} jot-icons"></i>{{if $bang}}&nbsp;<i class="fa fa-exclamation jot-icons"></i>{{/if}}
</button>
{{/if}}
- <button id="dbtn-submit" class="acl-submit btn btn-primary btn-sm" type="submit" tabindex=3 name="button-submit">{{$share}}</button>
+ <button id="dbtn-submit" class="btn btn-primary btn-sm" type="submit" tabindex="3" name="button-submit">{{$share}}</button>
</div>
- <div id="profile-jot-perms-end"></div>
+ <div class="clear"></div>
+ {{if $jotplugins}}
<div id="profile-jot-plugin-wrapper">
{{$jotplugins}}
</div>
+ {{/if}}
+ {{if $jotnets}}
+ <div class="modal" id="jotnetsModal" tabindex="-1" role="dialog" aria-labelledby="jotnetsModalLabel" aria-hidden="true">
+ <div class="modal-dialog">
+ <div class="modal-content">
+ <div class="modal-header">
+ <button type="button" class="close" data-dismiss="modal" aria-hidden="true">&times;</button>
+ <h4 class="modal-title" id="expiryModalLabel">{{$jotnets_label}}</h4>
+ </div>
+ <div class="modal-body">
+ {{$jotnets}}
+ </div>
+ <div class="modal-footer">
+ <button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
+ </div>
+ </div><!-- /.modal-content -->
+ </div><!-- /.modal-dialog -->
+ </div><!-- /.modal -->
+ {{/if}}
</div>
<div id="profile-jot-text-loading"></div>
<div id="profile-jot-end" class="clear"></div>
@@ -188,70 +222,78 @@
{{if $feature_expire}}
<!-- Modal for item expiry-->
<div class="modal" id="expiryModal" tabindex="-1" role="dialog" aria-labelledby="expiryModalLabel" aria-hidden="true">
- <div class="modal-dialog">
- <div class="modal-content">
- <div class="modal-header">
- <button type="button" class="close" data-dismiss="modal" aria-hidden="true">&times;</button>
- <h4 class="modal-title" id="expiryModalLabel">{{$expires}}</h4>
- </div>
- <!-- <div class="modal-body"> -->
- <div class="modal-body form-group" style="width:90%">
- <div class='date'><input type='text' placeholder='yyyy-mm-dd HH:MM' name='start_text' id='expiration-date' class="form-control" /></div><script type='text/javascript'>$(function () {var picker = $('#expiration-date').datetimepicker({format:'Y-m-d H:i', minDate: 0 }); })</script>
- </div>
- <!-- </div> -->
- <div class="modal-footer">
- <button type="button" class="btn btn-default" data-dismiss="modal">{{$expiryModalCANCEL}}</button>
- <button id="expiry-modal-OKButton" type="button" class="btn btn-primary">{{$expiryModalOK}}</button>
- </div>
- </div><!-- /.modal-content -->
- </div><!-- /.modal-dialog -->
+ <div class="modal-dialog">
+ <div class="modal-content">
+ <div class="modal-header">
+ <button type="button" class="close" data-dismiss="modal" aria-hidden="true">&times;</button>
+ <h4 class="modal-title" id="expiryModalLabel">{{$expires}}</h4>
+ </div>
+ <div class="modal-body form-group" style="width:90%">
+ <div class="date">
+ <input type="text" placeholder="yyyy-mm-dd HH:MM" name="start_text" id="expiration-date" class="form-control" />
+ </div>
+ <script>
+ $(function () {
+ var picker = $('#expiration-date').datetimepicker({format:'Y-m-d H:i', minDate: 0 });
+ });
+ </script>
+ </div>
+ <div class="modal-footer">
+ <button type="button" class="btn btn-default" data-dismiss="modal">{{$expiryModalCANCEL}}</button>
+ <button id="expiry-modal-OKButton" type="button" class="btn btn-primary">{{$expiryModalOK}}</button>
+ </div>
+ </div><!-- /.modal-content -->
+ </div><!-- /.modal-dialog -->
</div><!-- /.modal -->
{{/if}}
{{if $feature_future}}
-<!-- Modal for item created-->
<div class="modal" id="createdModal" tabindex="-1" role="dialog" aria-labelledby="createdModalLabel" aria-hidden="true">
- <div class="modal-dialog">
- <div class="modal-content">
- <div class="modal-header">
- <button type="button" class="close" data-dismiss="modal" aria-hidden="true">&times;</button>
- <h4 class="modal-title" id="createdModalLabel">{{$future_txt}}</h4>
- </div>
- <!-- <div class="modal-body"> -->
- <div class="modal-body form-group" style="width:90%">
- <div class='date'><input type='text' placeholder='yyyy-mm-dd HH:MM' name='created_text' id='created-date' class="form-control" /></div><script type='text/javascript'>$(function () {var picker = $('#created-date').datetimepicker({format:'Y-m-d H:i', minDate: 0 }); })</script>
- </div>
- <!-- </div> -->
- <div class="modal-footer">
- <button type="button" class="btn btn-default" data-dismiss="modal">{{$expiryModalCANCEL}}</button>
- <button id="created-modal-OKButton" type="button" class="btn btn-primary">{{$expiryModalOK}}</button>
- </div>
- </div><!-- /.modal-content -->
- </div><!-- /.modal-dialog -->
+ <div class="modal-dialog">
+ <div class="modal-content">
+ <div class="modal-header">
+ <button type="button" class="close" data-dismiss="modal" aria-hidden="true">&times;</button>
+ <h4 class="modal-title" id="createdModalLabel">{{$future_txt}}</h4>
+ </div>
+ <div class="modal-body form-group" style="width:90%">
+ <div class="date">
+ <input type="text" placeholder="yyyy-mm-dd HH:MM" name="created_text" id="created-date" class="form-control" />
+ </div>
+ <script>
+ $(function () {
+ var picker = $('#created-date').datetimepicker({format:'Y-m-d H:i', minDate: 0 });
+ });
+ </script>
+ </div>
+ <div class="modal-footer">
+ <button type="button" class="btn btn-default" data-dismiss="modal">{{$expiryModalCANCEL}}</button>
+ <button id="created-modal-OKButton" type="button" class="btn btn-primary">{{$expiryModalOK}}</button>
+ </div>
+ </div><!-- /.modal-content -->
+ </div><!-- /.modal-dialog -->
</div><!-- /.modal -->
{{/if}}
{{if $embedPhotos}}
<div class="modal" id="embedPhotoModal" tabindex="-1" role="dialog" aria-labelledby="embedPhotoLabel" aria-hidden="true">
- <div class="modal-dialog">
- <div class="modal-content">
- <div class="modal-header">
- <button type="button" class="close" data-dismiss="modal" aria-hidden="true">&times;</button>
- <h4 class="modal-title" id="embedPhotoModalLabel">{{$embedPhotosModalTitle}}</h4>
- </div>
- <div class="modal-body" id="embedPhotoModalBody" >
- <div id="embedPhotoModalBodyAlbumListDialog" class="hide">
- <div id="embedPhotoModalBodyAlbumList"></div>
- </div>
- <div id="embedPhotoModalBodyAlbumDialog" class="hide">
- </div>
- </div>
- <div class="modal-footer">
- <button type="button" class="btn btn-default" data-dismiss="modal">{{$embedPhotosModalCancel}}</button>
- <button id="embed-photo-OKButton" type="button" class="btn btn-primary">{{$embedPhotosModalOK}}</button>
- </div>
- </div><!-- /.modal-content -->
- </div><!-- /.modal-dialog -->
+ <div class="modal-dialog">
+ <div class="modal-content">
+ <div class="modal-header">
+ <button type="button" class="close" data-dismiss="modal" aria-hidden="true">&times;</button>
+ <h4 class="modal-title" id="embedPhotoModalLabel">{{$embedPhotosModalTitle}}</h4>
+ </div>
+ <div class="modal-body" id="embedPhotoModalBody" >
+ <div id="embedPhotoModalBodyAlbumListDialog" class="hide">
+ <div id="embedPhotoModalBodyAlbumList"></div>
+ </div>
+ <div id="embedPhotoModalBodyAlbumDialog" class="hide"></div>
+ </div>
+ <div class="modal-footer">
+ <button type="button" class="btn btn-default" data-dismiss="modal">{{$embedPhotosModalCancel}}</button>
+ <button id="embed-photo-OKButton" type="button" class="btn btn-primary">{{$embedPhotosModalOK}}</button>
+ </div>
+ </div><!-- /.modal-content -->
+ </div><!-- /.modal-dialog -->
</div><!-- /.modal -->
{{/if}}
diff --git a/view/tpl/msg-header.tpl b/view/tpl/msg-header.tpl
index 3407e152c..013e1cfdc 100755
--- a/view/tpl/msg-header.tpl
+++ b/view/tpl/msg-header.tpl
@@ -1,52 +1,9 @@
-<script language="javascript" type="text/javascript" src="{{$baseurl}}/library/tinymce/jscripts/tiny_mce/tiny_mce_src.js"></script>
+<script type="text/javascript" src="view/js/ajaxupload.js" ></script>
<script language="javascript" type="text/javascript">
-var plaintext = '{{$editselect}}';
-
-if(plaintext != 'none') {
- tinyMCE.init({
- theme : "advanced",
- mode : "specific_textareas",
- editor_selector: /(profile-jot-text|prvmail-text)/,
- plugins : "bbcode,paste",
- theme_advanced_buttons1 : "bold,italic,underline,undo,redo,link,unlink,image,forecolor",
- theme_advanced_buttons2 : "",
- theme_advanced_buttons3 : "",
- theme_advanced_toolbar_location : "top",
- theme_advanced_toolbar_align : "center",
- theme_advanced_blockformats : "blockquote,code",
- gecko_spellcheck : true,
- paste_text_sticky : true,
- entity_encoding : "raw",
- add_unload_trigger : false,
- remove_linebreaks : false,
- force_p_newlines : false,
- force_br_newlines : true,
- forced_root_block : '',
- convert_urls: false,
- content_css: "{{$baseurl}}/view/custom_tinymce.css",
- //Character count
- theme_advanced_path : false,
- setup : function(ed) {
- ed.onInit.add(function(ed) {
- ed.pasteAsPlainText = true;
- var editorId = ed.editorId;
- var textarea = $('#'+editorId);
- if (typeof(textarea.attr('tabindex')) != "undefined") {
- $('#'+editorId+'_ifr').attr('tabindex', textarea.attr('tabindex'));
- textarea.attr('tabindex', null);
- }
- });
- }
- });
-}
-else
$("#prvmail-text").editor_autocomplete(baseurl+"/acl");
-</script>
-<script type="text/javascript" src="view/js/ajaxupload.js" ></script>
-<script>
$(document).ready(function() {
var file_uploader = new window.AjaxUpload(
@@ -114,12 +71,8 @@ else
}
function addmailtext(data) {
- if(plaintext == 'none') {
- var currentText = $("#prvmail-text").val();
- $("#prvmail-text").val(currentText + data);
- }
- else
- tinyMCE.execCommand('mceInsertRawHTML',false,data);
+ var currentText = $("#prvmail-text").val();
+ $("#prvmail-text").val(currentText + data);
}
diff --git a/view/tpl/nav.tpl b/view/tpl/nav.tpl
index 5be6d21bd..d08cb29ea 100755
--- a/view/tpl/nav.tpl
+++ b/view/tpl/nav.tpl
@@ -52,24 +52,6 @@
</div>
<div class="collapse navbar-collapse" id="navbar-collapse-1">
<ul class="nav navbar-nav navbar-left">
- {{if $nav.register}}<li class="{{$nav.register.2}}"><a href="{{$nav.register.0}}" title="{{$nav.register.3}}" id="{{$nav.register.4}}">{{$nav.register.1}}</a></li>{{/if}}
- {{if !$userinfo}}
- {{if $nav.loginmenu}}
- <li class="{{$nav.loginmenu.0.2}} hidden-xs">
- <a data-toggle="dropdown" href="{{$nav.loginmenu.0.0}}" title="{{$nav.loginmenu.0.3}}" id="{{$nav.loginmenu.0.4}}">{{$nav.loginmenu.0.1}} <span class="caret" id="loginmenu-caret"></span></a>
- <ul class="dropdown-menu" role="menu">
- {{foreach $nav.loginmenu as $loginmenu}}
- <li role="presentation"><a class="{{$loginmenu.2}}" href="{{$loginmenu.0}}" title="{{$loginmenu.3}}" role="menuitem" id="{{$loginmenu.4}}">{{$loginmenu.1}}</a></li>
- {{/foreach}}
- </ul>
- </li>
- {{foreach $nav.loginmenu as $loginmenu}}
- <li role="presentation"><a class="{{$loginmenu.2}} visible-xs" href="{{$loginmenu.0}}" title="{{$loginmenu.3}}" role="menuitem">{{$loginmenu.1}}</a></li>
- {{/foreach}}
- {{/if}}
- {{/if}}
-
- {{if $nav.alogout}}<li class="{{$nav}}-alogout.2"><a href="{{$nav.alogout.0}}" title="{{$nav.alogout.3}}" id="{{$nav.alogout.4}}">{{$nav.alogout.1}}</a></li>{{/if}}
{{if $nav.network}}
<li class="{{$sel.network}} hidden-xs">
@@ -103,7 +85,6 @@
</li>
{{/if}}
-
{{if $nav.messages}}
<li class="{{$sel.messages}} hidden-xs">
<a class="{{$nav.messages.2}}" href="{{$nav.messages.0}}" title="{{$nav.messages.3}}" id="{{$nav.messages.4}}"><i class="fa fa-envelope"></i></a>
@@ -166,7 +147,30 @@
<span class="notify-update badge" rel="#nav-notify-menu"></span>
</li>
{{/if}}
+
+ {{if $nav.loginmenu && !$userinfo}}
+ <li class="{{$nav.loginmenu.0.2}} hidden-xs">
+ <a data-toggle="dropdown" href="{{$nav.loginmenu.0.0}}" title="{{$nav.loginmenu.0.3}}" id="{{$nav.loginmenu.0.4}}">{{$nav.loginmenu.0.1}} <span class="caret" id="loginmenu-caret"></span></a>
+ <ul class="dropdown-menu" role="menu">
+ {{foreach $nav.loginmenu as $loginmenu}}
+ <li role="presentation"><a class="{{$loginmenu.2}}" href="{{$loginmenu.0}}" title="{{$loginmenu.3}}" role="menuitem" id="{{$loginmenu.4}}">{{$loginmenu.1}}</a></li>
+ {{/foreach}}
+ </ul>
+ </li>
+ {{foreach $nav.loginmenu as $loginmenu}}
+ <li role="presentation"><a class="{{$loginmenu.2}} visible-xs" href="{{$loginmenu.0}}" title="{{$loginmenu.3}}" role="menuitem">{{$loginmenu.1}}</a></li>
+ {{/foreach}}
+ {{/if}}
+
+ {{if $nav.register}}
+ <li class="{{$nav.register.2}}"><a href="{{$nav.register.0}}" title="{{$nav.register.3}}" id="{{$nav.register.4}}">{{$nav.register.1}}</a></li>
+ {{/if}}
+
+ {{if $nav.alogout}}
+ <li class="{{$nav}}-alogout.2"><a href="{{$nav.alogout.0}}" title="{{$nav.alogout.3}}" id="{{$nav.alogout.4}}">{{$nav.alogout.1}}</a></li>
+ {{/if}}
</ul>
+
<ul class="nav navbar-nav navbar-right">
<li class="hidden-xs">
<form method="get" action="search" role="search">
@@ -180,6 +184,7 @@
{{if $powered_by}}
<div id="powered-by">{{$powered_by}}</div>
{{/if}}
+
{{if $nav.directory}}
<li class="{{$sel.directory}}">
<a class="{{$nav.directory.2}}" href="{{$nav.directory.0}}" title="{{$nav.directory.3}}" id="{{$nav.directory.4}}"><i class="fa fa-sitemap"></i></a>
diff --git a/view/tpl/photo_view.tpl b/view/tpl/photo_view.tpl
index ec827d990..db5ffe3f5 100755
--- a/view/tpl/photo_view.tpl
+++ b/view/tpl/photo_view.tpl
@@ -79,6 +79,9 @@
<input name="newtag" id="photo-edit-newtag" class="form-control" title="{{$edit.help_tags}}" type="text" />
</div>
<div class="form-group">
+ {{include file="field_select.tpl" field=$edit.album_select}}
+ </div>
+ <div class="form-group">
<label class="radio-inline" id="photo-edit-rotate-cw-label" for="photo-edit-rotate-cw"><input id="photo-edit-rotate-cw" type="radio" name="rotate" value="1" />{{$edit.rotatecw}}</label>
<label class="radio-inline" id="photo-edit-rotate-ccw-label" for="photo-edit-rotate-ccw"><input id="photo-edit-rotate-ccw" type="radio" name="rotate" value="2" />{{$edit.rotateccw}}</label>
</div>
diff --git a/view/tpl/profed_head.tpl b/view/tpl/profed_head.tpl
index 103960a76..ce774052a 100755
--- a/view/tpl/profed_head.tpl
+++ b/view/tpl/profed_head.tpl
@@ -1,36 +1,2 @@
-<script language="javascript" type="text/javascript"
- src="{{$baseurl}}/library/tinymce/jscripts/tiny_mce/tiny_mce_src.js"></script>
- <script language="javascript" type="text/javascript">
-
-
-tinyMCE.init({
- theme : "advanced",
- mode : "{{$editselect}}",
- plugins : "bbcode,paste",
- theme_advanced_buttons1 : "bold,italic,underline,undo,redo,link,unlink,image,forecolor,formatselect,code",
- theme_advanced_buttons2 : "",
- theme_advanced_buttons3 : "",
- theme_advanced_toolbar_location : "top",
- theme_advanced_toolbar_align : "center",
- theme_advanced_blockformats : "blockquote,code",
- gecko_spellcheck : true,
- paste_text_sticky : true,
- entity_encoding : "raw",
- add_unload_trigger : false,
- remove_linebreaks : false,
- force_p_newlines : false,
- force_br_newlines : true,
- forced_root_block : '',
- content_css: "{{$baseurl}}/view/custom_tinymce.css",
- theme_advanced_path : false,
- setup : function(ed) {
- ed.onInit.add(function(ed) {
- ed.pasteAsPlainText = true;
- });
- }
-
-});
-
-
-</script>
+<script language="javascript" type="text/javascript"></script>
diff --git a/view/tpl/settings_account.tpl b/view/tpl/settings_account.tpl
index 06f47bbe1..8ff846518 100755
--- a/view/tpl/settings_account.tpl
+++ b/view/tpl/settings_account.tpl
@@ -11,6 +11,13 @@
{{include file="field_password.tpl" field=$origpass}}
{{include file="field_password.tpl" field=$password1}}
{{include file="field_password.tpl" field=$password2}}
+
+ {{if $z_server_role == 'pro' && ! $techlock}}
+ {{include file="field_select.tpl" field=$techlevel}}
+ {{else}}
+ <input type="hidden" name="techlevel" value="{{$techlevel.2}}" />
+ {{/if}}
+
<div class="settings-submit-wrapper" >
<button type="submit" name="submit" class="btn btn-primary">{{$submit}}</button>
</div>
diff --git a/view/tpl/settings_display.tpl b/view/tpl/settings_display.tpl
index cf79671fd..2e11fdbaa 100755
--- a/view/tpl/settings_display.tpl
+++ b/view/tpl/settings_display.tpl
@@ -20,6 +20,9 @@
{{if $theme}}
{{include file="field_themeselect.tpl" field=$theme}}
{{/if}}
+ {{if $schema}}
+ {{include file="field_select.tpl" field=$schema}}
+ {{/if}}
{{if $mobile_theme}}
{{include file="field_themeselect.tpl" field=$mobile_theme}}
{{/if}}
diff --git a/view/tpl/sitesearch.tpl b/view/tpl/sitesearch.tpl
new file mode 100644
index 000000000..8dbf8cef5
--- /dev/null
+++ b/view/tpl/sitesearch.tpl
@@ -0,0 +1,5 @@
+<div class="widget saved-search-widget">
+ <h3 id="search">{{$title}}</h3>
+ {{$searchbox}}
+ <div class="clear"></div>
+</div>
diff --git a/view/tpl/webpage_export_list.tpl b/view/tpl/webpage_export_list.tpl
new file mode 100644
index 000000000..1d28f62df
--- /dev/null
+++ b/view/tpl/webpage_export_list.tpl
@@ -0,0 +1,124 @@
+<div class="generic-content-wrapper">
+ <form action="" method="post" autocomplete="on" >
+ <input type="hidden" name="action" value="{{$action}}">
+ <div class="section-title-wrapper">
+ <div class="pull-right">
+ <button class="btn btn-md btn-success" type="submit" name="submit" value="{{$exportbtn}}">{{$exportbtn}}</button>
+ </div>
+ <h2>{{$title}}</h2>
+ <div class="clear"></div>
+ </div>
+ <div id="import-website-content-wrapper" class="section-content-wrapper">
+ <div class="pull-left">
+ <button id="toggle-select-all" class="btn btn-xs btn-primary" onclick="checkedAll(window.isChecked); return false;"><i class="fa fa-check"></i>&nbsp;Toggle Select All</button>
+ </div>
+ <div class="clear"></div>
+ <hr>
+ <!--<h4>Pages</h4>-->
+ <div>
+ <table class="table-striped table-responsive table-hover" style="width: 100%;">
+ <thead>
+ <tr><th></th><th>Page Link</th><th>Page Title</th><th>Type</th></tr>
+ </thead>
+ {{foreach $pages as $page}}
+ <tr>
+ <td width="30px" style="padding-right: 20px;">
+ <div class='squaredThree'>
+ <input type="checkbox" id="page_{{$page.mid}}" name="page[]" value="{{$page.mid}}">
+ <label for="page_{{$page.mid}}"></label>
+ </div>
+ </td>
+ <td width="30%">
+ <div class="desc">
+ {{$page.pagetitle}}<br>
+ </div>
+ </td>
+ <td width="55%">
+ <div class='desc'>
+ {{$page.title}}<br>
+ </div>
+ </td>
+ <td width="15%">
+ <div class='desc'>
+ {{$page.mimetype}}<br>
+ </div>
+ </td>
+ </tr>
+ {{/foreach}}
+ </table>
+ </div>
+ <hr>
+ <div class="clear"></div>
+ <!--<h4>Layouts</h4>-->
+ <div>
+ <table class="table-striped table-responsive table-hover" style="width: 100%;">
+ <thead>
+ <tr><th width="20px"></th><th>Layout Name</th><th>Layout Description</th><th>Type</th></tr>
+ </thead>
+ {{foreach $layouts as $layout}}
+ <tr>
+ <td width="30px" style="padding-right: 20px;">
+ <div class='squaredThree'>
+ <input type="checkbox" id="layout_{{$layout.mid}}" name="layout[]" value="{{$layout.mid}}">
+ <label for="layout_{{$layout.mid}}"></label>
+ </div>
+ </td>
+ <td width="30%">
+ <div class="desc">
+ {{$layout.name}}<br>
+ </div>
+ </td>
+ <td width="55%">
+ <div class='desc'>
+ {{$layout.description}}<br>
+ </div>
+ </td>
+ <td width="15%">
+ <div class='desc'>
+ {{$layout.mimetype}}<br>
+ </div>
+ </td>
+ </tr>
+ {{/foreach}}
+ </table>
+ </div>
+ <hr>
+ <div class="clear"></div>
+ <!--<h4>Blocks</h4>-->
+ <div>
+ <table class="table-striped table-responsive table-hover" style="width: 100%;">
+ <thead>
+ <tr><th width="30px"></th><th>Block Name</th><th>Block Title</th><th>Type</th></tr>
+ </thead>
+ {{foreach $blocks as $block}}
+ <tr>
+ <td width="30px" style="padding-right: 20px;">
+ <div class='squaredThree'>
+ <input type="checkbox" id="block_{{$block.mid}}" name="block[]" value="{{$block.mid}}">
+ <label for="block_{{$block.mid}}"></label>
+ </div>
+ </td>
+ <td width="30%">
+ <div class="desc">
+ {{$block.name}}<br>
+ </div>
+ </td>
+ <td width="55%">
+ <div class='desc'>
+ {{$block.title}}<br>
+ </div>
+ </td>
+ <td width=15%">
+ <div class='desc'>
+ {{$block.mimetype}}<br>
+ </div>
+ </td>
+ </tr>
+ {{/foreach}}
+ </table>
+ </div>
+
+ </div>
+ </form>
+</div>
+
diff --git a/view/tpl/website_import_tools.tpl b/view/tpl/website_import_tools.tpl
deleted file mode 100644
index cb3e6b524..000000000
--- a/view/tpl/website_import_tools.tpl
+++ /dev/null
@@ -1,37 +0,0 @@
-<div id="website-import-tools" class="widget">
- <h3>{{$title}}</h3>
- <ul class="nav nav-pills nav-stacked">
- <li>
- <a href="#" onclick="openClose('import-form');
- return false;"><i class="fa fa-cloud-upload generic-icons"></i> {{$import_label}}</a>
- </li>
- <li>
- <form id="import-form" enctype="multipart/form-data" method="post" action="" style="display: none;" class="sub-menu">
-
- <input type="hidden" name="action" value="scan">
-
- <p style="margin-top: 20px;" class="descriptive-text">{{$file_import_text}}</p>
- <div class="form-group">
- <div class="input-group">
- <input class="widget-input" type="text" name="path" title="{{$hint}}" placeholder="{{$desc}}" />
- <div class="input-group-btn">
- <button class="btn btn-default btn-sm" type="submit" name="cloudsubmit" value="{{$select}}"><i class="fa fa-folder-open generic-icons"></i></button>
- </div>
- </div>
- </div>
-
- <!-- Or upload a zipped file containing the website -->
- <p class="descriptive-text">{{$file_upload_text}}</p>
- <div class="form-group">
-
- <div class="input-group">
- <input class="widget-input" type="file" name="zip_file" />
- <div class="input-group-btn">
- <button class="btn btn-default btn-sm" type="submit" name="w_upload" value="w_upload"><i class="fa fa-file-archive-o generic-icons"></i></button>
- </div>
- </div>
- </div>
- </form>
- </li>
- </ul>
-</div>
diff --git a/view/tpl/website_portation_tools.tpl b/view/tpl/website_portation_tools.tpl
new file mode 100644
index 000000000..10468b64e
--- /dev/null
+++ b/view/tpl/website_portation_tools.tpl
@@ -0,0 +1,72 @@
+<div id="website-portation-tools" class="widget">
+ <ul class="nav nav-pills nav-stacked">
+ <li>
+ <a href="#" onclick="openClose('import-form');
+ return false;"><i class="fa fa-cloud-upload generic-icons"></i> {{$import_label}}</a>
+ </li>
+ <li style="margin-left: 12px;" >
+ <form id="import-form" enctype="multipart/form-data" method="post" action="" style="display: none;" class="sub-menu">
+
+ <input type="hidden" name="action" value="scan">
+
+ <p style="margin-top: 10px;" class="descriptive-text">{{$file_import_text}}</p>
+ <div class="form-group">
+ <div class="input-group">
+ <input class="widget-input" type="text" name="path" title="{{$hint}}" placeholder="{{$desc}}" />
+ <div class="input-group-btn">
+ <button class="btn btn-default btn-sm" type="submit" name="cloudsubmit" value="{{$select}}"><i class="fa fa-folder-open generic-icons"></i></button>
+ </div>
+ </div>
+ </div>
+
+ <!-- Or upload a zipped file containing the website -->
+ <p class="descriptive-text">{{$file_upload_text}}</p>
+ <div class="form-group">
+
+ <div class="input-group">
+ <input class="widget-input" type="file" name="zip_file" />
+ <div class="input-group-btn">
+ <button class="btn btn-default btn-sm" type="submit" name="w_upload" value="w_upload"><i class="fa fa-file-archive-o generic-icons"></i></button>
+ </div>
+ </div>
+ </div>
+ </form>
+ </li>
+ </ul>
+ <ul class="nav nav-pills nav-stacked">
+ <li>
+ <a href="#" onclick="openClose('export-form'); openClose('export-cloud-form');
+ return false;"><i class="fa fa-share-square-o generic-icons"></i> {{$export_label}}</a>
+ </li>
+ <li style="margin-left: 12px;" >
+ <form id="export-form" enctype="multipart/form-data" method="post" action="" style="display: none;" class="sub-menu">
+ <input type="hidden" name="action" value="exportzipfile">
+ <!-- Or download a zipped file containing the website -->
+ <p style="margin-top: 10px;" class="descriptive-text">{{$file_download_text}}</p>
+ <div class="form-group">
+
+ <div class="input-group">
+ <input class="widget-input" type="text" name="zipfilename" title="{{$filename_hint}}" placeholder="{{$filename_desc}}" value="" />
+ <div class="input-group-btn">
+ <button class="btn btn-default btn-sm" type="submit" name="w_download" value="w_download"><i class="fa fa-download generic-icons"></i></button>
+ </div>
+ </div>
+ </div>
+ </form>
+ <form id="export-cloud-form" enctype="multipart/form-data" method="post" action="" style="display: none;" class="sub-menu">
+ <input type="hidden" name="action" value="exportcloud">
+ <!-- Or export the website elements to a cloud files folder -->
+ <p style="margin-top: 10px;" class="descriptive-text">{{$cloud_export_text}}</p>
+ <div class="form-group">
+
+ <div class="input-group">
+ <input class="widget-input" type="text" name="exportcloudpath" title="{{$cloud_export_hint}}" placeholder="{{$cloud_export_desc}}" />
+ <div class="input-group-btn">
+ <button class="btn btn-default btn-sm" type="submit" name="exportcloudsubmit" value="{{$cloud_export_select}}"><i class="fa fa-folder-open generic-icons"></i></button>
+ </div>
+ </div>
+ </div>
+ </form>
+ </li>
+ </ul>
+</div>
diff --git a/view/tpl/zcard_embed.tpl b/view/tpl/zcard_embed.tpl
index 7981e3b0b..5c7a925e3 100644
--- a/view/tpl/zcard_embed.tpl
+++ b/view/tpl/zcard_embed.tpl
@@ -1,8 +1,8 @@
<div class="hz_card {{$size}}">
- <div class="hz_cover_photo" style="max-width: 100;"><img src="{{$cover.href}}" alt="{{$zcard.chan.xchan_name}}" />
+ <div class="hz_cover_photo" style="max-width: 100;"><a href="{{$zcard.chan.xchan_url}}"><img src="{{$cover.href}}" alt="{{$zcard.chan.xchan_name}}" /></a>
<div style="position: relative;top: -40px;left: 120px;color: #fff;font-size: 18px;text-rendering: optimizelegibility;text-shadow: 0 0 3px rgba(0, 0, 0, 0.8);" >{{$zcard.chan.xchan_name}}</div>
<div style="position: relative;top: -40px;left: 120px;color: #fff;font-size: 10px;text-rendering: optimizelegibility;text-shadow: 0 0 3px rgba(0, 0, 0, 0.8);" >{{$zcard.chan.channel_addr}}</div>
</div>
- <div style="position:relative;top: -75px;left: 20px;background-color: white;border: 1px solid #ddd;padding: 3px;width: 80px;height: 80px;"><img src="{{$pphoto.href}}" alt="{{$zcard.chan.xchan_name}}" /></div>
+ <div style="position:relative;top: -75px;left: 20px;background-color: white;border: 1px solid #ddd;padding: 3px;width: 80px;height: 80px;"><a href="{{$zcard.chan.xchan_url}}"><img src="{{$pphoto.href}}" alt="{{$zcard.chan.xchan_name}}" /></a></div>
</div>